From 69fa8971cb3854f4209cd218444b7ee990272491 Mon Sep 17 00:00:00 2001 From: MorrisWu Date: Thu, 30 Nov 2017 17:11:41 +0800 Subject: [PATCH] first commit of posetrack project --- .idea/compiler.xml | 22 + .idea/copyright/profiles_settings.xml | 3 + .idea/misc.xml | 61 + .idea/modules.xml | 10 + .idea/runConfigurations.xml | 12 + HEAD | 1 + app/.gitignore | 1 + app/CMakeLists.txt | 46 + app/build.gradle | 43 + app/proguard-rules.pro | 17 + .../posetrack/ExampleInstrumentedTest.java | 26 + app/src/main/AndroidManifest.xml | 26 + app/src/main/cpp/dssttrack/CMakeLists.txt | 4 + app/src/main/cpp/dssttrack/ffttools.hpp | 258 + app/src/main/cpp/dssttrack/fhog.cpp | 513 + app/src/main/cpp/dssttrack/fhog.hpp | 178 + app/src/main/cpp/dssttrack/kcftracker.cpp | 734 ++ app/src/main/cpp/dssttrack/kcftracker.hpp | 194 + app/src/main/cpp/dssttrack/labdata.hpp | 17 + app/src/main/cpp/dssttrack/recttools.hpp | 165 + app/src/main/cpp/dssttrack/runtracker.cpp | 189 + app/src/main/cpp/dssttrack/tracker.h | 39 + app/src/main/cpp/handdetect/CMakeLists.txt | 4 + app/src/main/cpp/handdetect/fist.xml | 3527 +++++++ app/src/main/cpp/handdetect/gesture.cpp | 206 + app/src/main/cpp/handdetect/gesture.hpp | 108 + app/src/main/cpp/handdetect/rpalm.xml | 5211 +++++++++++ ...b_speechrecognition_SpeechRecognitionJNI.h | 41 + app/src/main/cpp/include/conf/config.hpp | 77 + app/src/main/cpp/include/conf/decode.config | 3 + .../main/cpp/include/conf/fbank.conf.backup | 3 + app/src/main/cpp/include/conf/mfcc.conf | 2 + app/src/main/cpp/include/conf/stdtostring.h | 21 + .../cpp/include/conf/tinyalsa/asoundlib.h | 311 + app/src/main/cpp/include/gflags/gflags.h | 606 ++ .../cpp/include/gflags/gflags_completions.h | 121 + .../main/cpp/include/gflags/gflags_declare.h | 153 + .../main/cpp/include/gflags/gflags_gflags.h | 102 + .../main/cpp/include/google/protobuf/any.h | 107 + .../main/cpp/include/google/protobuf/any.pb.h | 266 + .../cpp/include/google/protobuf/any.proto | 139 + .../main/cpp/include/google/protobuf/api.pb.h | 1019 ++ .../cpp/include/google/protobuf/api.proto | 201 + .../main/cpp/include/google/protobuf/arena.h | 930 ++ .../cpp/include/google/protobuf/arenastring.h | 314 + .../cpp/include/google/protobuf/descriptor.h | 1924 ++++ .../include/google/protobuf/descriptor.pb.h | 8212 +++++++++++++++++ .../include/google/protobuf/descriptor.proto | 804 ++ .../google/protobuf/descriptor_database.h | 369 + .../cpp/include/google/protobuf/duration.pb.h | 197 + .../include/google/protobuf/duration.proto | 104 + .../include/google/protobuf/dynamic_message.h | 152 + .../cpp/include/google/protobuf/empty.pb.h | 155 + .../cpp/include/google/protobuf/empty.proto | 52 + .../include/google/protobuf/extension_set.h | 1318 +++ .../include/google/protobuf/field_mask.pb.h | 214 + .../include/google/protobuf/field_mask.proto | 245 + .../protobuf/generated_enum_reflection.h | 88 + .../google/protobuf/generated_enum_util.h | 46 + .../protobuf/generated_message_reflection.h | 671 ++ .../google/protobuf/generated_message_util.h | 169 + .../cpp/include/google/protobuf/has_bits.h | 72 + .../main/cpp/include/google/protobuf/map.h | 1749 ++++ .../cpp/include/google/protobuf/map_entry.h | 310 + .../include/google/protobuf/map_entry_lite.h | 568 ++ .../cpp/include/google/protobuf/map_field.h | 397 + .../include/google/protobuf/map_field_inl.h | 489 + .../include/google/protobuf/map_field_lite.h | 278 + .../google/protobuf/map_type_handler.h | 743 ++ .../cpp/include/google/protobuf/message.h | 1150 +++ .../include/google/protobuf/message_lite.h | 297 + .../cpp/include/google/protobuf/metadata.h | 159 + .../cpp/include/google/protobuf/reflection.h | 613 ++ .../include/google/protobuf/reflection_ops.h | 81 + .../include/google/protobuf/repeated_field.h | 2504 +++++ .../cpp/include/google/protobuf/service.h | 292 + .../google/protobuf/source_context.pb.h | 198 + .../google/protobuf/source_context.proto | 47 + .../cpp/include/google/protobuf/struct.pb.h | 971 ++ .../cpp/include/google/protobuf/struct.proto | 96 + .../protobuf/stubs/atomic_sequence_num.h | 54 + .../include/google/protobuf/stubs/atomicops.h | 246 + .../stubs/atomicops_internals_arm64_gcc.h | 325 + .../stubs/atomicops_internals_arm_gcc.h | 151 + .../stubs/atomicops_internals_arm_qnx.h | 146 + .../atomicops_internals_atomicword_compat.h | 122 + .../stubs/atomicops_internals_generic_gcc.h | 155 + .../stubs/atomicops_internals_macosx.h | 225 + .../stubs/atomicops_internals_mips_gcc.h | 313 + .../stubs/atomicops_internals_pnacl.h | 231 + .../stubs/atomicops_internals_power.h | 440 + .../stubs/atomicops_internals_ppc_gcc.h | 155 + .../stubs/atomicops_internals_solaris.h | 188 + .../protobuf/stubs/atomicops_internals_tsan.h | 219 + .../stubs/atomicops_internals_x86_gcc.h | 293 + .../stubs/atomicops_internals_x86_msvc.h | 150 + .../google/protobuf/stubs/bytestream.h | 348 + .../include/google/protobuf/stubs/callback.h | 546 ++ .../cpp/include/google/protobuf/stubs/casts.h | 133 + .../include/google/protobuf/stubs/common.h | 225 + .../include/google/protobuf/stubs/fastmem.h | 152 + .../cpp/include/google/protobuf/stubs/hash.h | 438 + .../include/google/protobuf/stubs/logging.h | 237 + .../include/google/protobuf/stubs/macros.h | 168 + .../cpp/include/google/protobuf/stubs/mutex.h | 148 + .../cpp/include/google/protobuf/stubs/once.h | 167 + .../google/protobuf/stubs/platform_macros.h | 125 + .../cpp/include/google/protobuf/stubs/port.h | 448 + .../google/protobuf/stubs/scoped_ptr.h | 236 + .../google/protobuf/stubs/shared_ptr.h | 470 + .../include/google/protobuf/stubs/singleton.h | 68 + .../include/google/protobuf/stubs/status.h | 116 + .../include/google/protobuf/stubs/stl_util.h | 121 + .../google/protobuf/stubs/stringpiece.h | 483 + .../google/protobuf/stubs/template_util.h | 138 + .../google/protobuf/stubs/type_traits.h | 372 + .../cpp/include/google/protobuf/text_format.h | 521 ++ .../include/google/protobuf/timestamp.pb.h | 197 + .../include/google/protobuf/timestamp.proto | 108 + .../cpp/include/google/protobuf/type.pb.h | 2112 +++++ .../cpp/include/google/protobuf/type.proto | 180 + .../google/protobuf/unknown_field_set.h | 354 + .../cpp/include/google/protobuf/wire_format.h | 338 + .../google/protobuf/wire_format_lite.h | 725 ++ .../google/protobuf/wire_format_lite_inl.h | 872 ++ .../cpp/include/google/protobuf/wrappers.pb.h | 1280 +++ .../include/google/protobuf/wrappers.proto | 118 + app/src/main/cpp/include/opencv/cv.h | 73 + app/src/main/cpp/include/opencv/cv.hpp | 60 + app/src/main/cpp/include/opencv/cvaux.h | 57 + app/src/main/cpp/include/opencv/cvaux.hpp | 52 + app/src/main/cpp/include/opencv/cvwimage.h | 46 + app/src/main/cpp/include/opencv/cxcore.h | 52 + app/src/main/cpp/include/opencv/cxcore.hpp | 53 + app/src/main/cpp/include/opencv/cxeigen.hpp | 48 + app/src/main/cpp/include/opencv/cxmisc.h | 8 + app/src/main/cpp/include/opencv/highgui.h | 48 + app/src/main/cpp/include/opencv/ml.h | 47 + app/src/main/cpp/include/opencv2/calib3d.hpp | 2247 +++++ .../cpp/include/opencv2/calib3d/calib3d.hpp | 48 + .../cpp/include/opencv2/calib3d/calib3d_c.h | 427 + app/src/main/cpp/include/opencv2/core.hpp | 3280 +++++++ .../main/cpp/include/opencv2/core/affine.hpp | 528 ++ .../main/cpp/include/opencv2/core/base.hpp | 745 ++ .../cpp/include/opencv2/core/bufferpool.hpp | 40 + .../main/cpp/include/opencv2/core/core.hpp | 48 + .../main/cpp/include/opencv2/core/core_c.h | 3184 +++++++ .../main/cpp/include/opencv2/core/cuda.hpp | 906 ++ .../cpp/include/opencv2/core/cuda.inl.hpp | 631 ++ .../cpp/include/opencv2/core/cuda/block.hpp | 211 + .../opencv2/core/cuda/border_interpolate.hpp | 722 ++ .../cpp/include/opencv2/core/cuda/color.hpp | 309 + .../cpp/include/opencv2/core/cuda/common.hpp | 109 + .../opencv2/core/cuda/datamov_utils.hpp | 113 + .../opencv2/core/cuda/detail/color_detail.hpp | 1980 ++++ .../opencv2/core/cuda/detail/reduce.hpp | 365 + .../core/cuda/detail/reduce_key_val.hpp | 502 + .../core/cuda/detail/transform_detail.hpp | 399 + .../core/cuda/detail/type_traits_detail.hpp | 191 + .../core/cuda/detail/vec_distance_detail.hpp | 121 + .../opencv2/core/cuda/dynamic_smem.hpp | 88 + .../include/opencv2/core/cuda/emulation.hpp | 269 + .../cpp/include/opencv2/core/cuda/filters.hpp | 286 + .../include/opencv2/core/cuda/funcattrib.hpp | 79 + .../include/opencv2/core/cuda/functional.hpp | 797 ++ .../cpp/include/opencv2/core/cuda/limits.hpp | 128 + .../cpp/include/opencv2/core/cuda/reduce.hpp | 209 + .../opencv2/core/cuda/saturate_cast.hpp | 292 + .../cpp/include/opencv2/core/cuda/scan.hpp | 258 + .../opencv2/core/cuda/simd_functions.hpp | 869 ++ .../include/opencv2/core/cuda/transform.hpp | 75 + .../include/opencv2/core/cuda/type_traits.hpp | 90 + .../cpp/include/opencv2/core/cuda/utility.hpp | 230 + .../opencv2/core/cuda/vec_distance.hpp | 232 + .../include/opencv2/core/cuda/vec_math.hpp | 930 ++ .../include/opencv2/core/cuda/vec_traits.hpp | 288 + .../cpp/include/opencv2/core/cuda/warp.hpp | 139 + .../include/opencv2/core/cuda/warp_reduce.hpp | 76 + .../opencv2/core/cuda/warp_shuffle.hpp | 162 + .../opencv2/core/cuda_stream_accessor.hpp | 86 + .../cpp/include/opencv2/core/cuda_types.hpp | 135 + .../include/opencv2/core/cv_cpu_dispatch.h | 228 + .../cpp/include/opencv2/core/cv_cpu_helper.h | 199 + app/src/main/cpp/include/opencv2/core/cvdef.h | 438 + .../main/cpp/include/opencv2/core/cvstd.hpp | 1040 +++ .../cpp/include/opencv2/core/cvstd.inl.hpp | 286 + .../main/cpp/include/opencv2/core/directx.hpp | 184 + .../main/cpp/include/opencv2/core/eigen.hpp | 280 + .../cpp/include/opencv2/core/fast_math.hpp | 271 + .../main/cpp/include/opencv2/core/hal/hal.hpp | 250 + .../cpp/include/opencv2/core/hal/interface.h | 178 + .../cpp/include/opencv2/core/hal/intrin.hpp | 472 + .../include/opencv2/core/hal/intrin_cpp.hpp | 1860 ++++ .../include/opencv2/core/hal/intrin_neon.hpp | 1281 +++ .../include/opencv2/core/hal/intrin_sse.hpp | 1880 ++++ .../include/opencv2/core/hal/intrin_vsx.hpp | 927 ++ .../cpp/include/opencv2/core/ippasync.hpp | 195 + app/src/main/cpp/include/opencv2/core/mat.hpp | 3641 ++++++++ .../main/cpp/include/opencv2/core/mat.inl.hpp | 3925 ++++++++ .../main/cpp/include/opencv2/core/matx.hpp | 1476 +++ .../cpp/include/opencv2/core/neon_utils.hpp | 128 + app/src/main/cpp/include/opencv2/core/ocl.hpp | 778 ++ .../cpp/include/opencv2/core/ocl_genbase.hpp | 69 + .../main/cpp/include/opencv2/core/opengl.hpp | 729 ++ .../cpp/include/opencv2/core/operations.hpp | 532 ++ .../main/cpp/include/opencv2/core/optim.hpp | 302 + app/src/main/cpp/include/opencv2/core/ovx.hpp | 28 + .../cpp/include/opencv2/core/persistence.hpp | 1364 +++ .../main/cpp/include/opencv2/core/ptr.inl.hpp | 379 + .../cpp/include/opencv2/core/saturate.hpp | 150 + .../cpp/include/opencv2/core/softfloat.hpp | 505 + .../cpp/include/opencv2/core/sse_utils.hpp | 652 ++ .../main/cpp/include/opencv2/core/traits.hpp | 397 + .../main/cpp/include/opencv2/core/types.hpp | 2366 +++++ .../main/cpp/include/opencv2/core/types_c.h | 1837 ++++ .../main/cpp/include/opencv2/core/utility.hpp | 1239 +++ .../cpp/include/opencv2/core/utils/logger.hpp | 85 + .../cpp/include/opencv2/core/utils/trace.hpp | 250 + .../cpp/include/opencv2/core/va_intel.hpp | 77 + .../main/cpp/include/opencv2/core/version.hpp | 71 + .../cpp/include/opencv2/core/vsx_utils.hpp | 945 ++ .../main/cpp/include/opencv2/core/wimage.hpp | 603 ++ app/src/main/cpp/include/opencv2/cvconfig.h | 248 + app/src/main/cpp/include/opencv2/dnn.hpp | 64 + .../cpp/include/opencv2/dnn/all_layers.hpp | 590 ++ app/src/main/cpp/include/opencv2/dnn/dict.hpp | 152 + app/src/main/cpp/include/opencv2/dnn/dnn.hpp | 746 ++ .../main/cpp/include/opencv2/dnn/dnn.inl.hpp | 373 + .../cpp/include/opencv2/dnn/layer.details.hpp | 78 + .../main/cpp/include/opencv2/dnn/layer.hpp | 85 + .../cpp/include/opencv2/dnn/shape_utils.hpp | 197 + .../main/cpp/include/opencv2/features2d.hpp | 1414 +++ .../include/opencv2/features2d/features2d.hpp | 48 + app/src/main/cpp/include/opencv2/flann.hpp | 531 ++ .../cpp/include/opencv2/flann/all_indices.h | 155 + .../cpp/include/opencv2/flann/allocator.h | 192 + app/src/main/cpp/include/opencv2/flann/any.h | 330 + .../include/opencv2/flann/autotuned_index.h | 591 ++ .../include/opencv2/flann/composite_index.h | 194 + .../main/cpp/include/opencv2/flann/config.h | 38 + .../main/cpp/include/opencv2/flann/defines.h | 164 + app/src/main/cpp/include/opencv2/flann/dist.h | 905 ++ .../main/cpp/include/opencv2/flann/dummy.h | 16 + .../include/opencv2/flann/dynamic_bitset.h | 159 + .../main/cpp/include/opencv2/flann/flann.hpp | 48 + .../cpp/include/opencv2/flann/flann_base.hpp | 295 + .../main/cpp/include/opencv2/flann/general.h | 50 + .../cpp/include/opencv2/flann/ground_truth.h | 94 + app/src/main/cpp/include/opencv2/flann/hdf5.h | 231 + app/src/main/cpp/include/opencv2/flann/heap.h | 165 + .../flann/hierarchical_clustering_index.h | 848 ++ .../cpp/include/opencv2/flann/index_testing.h | 318 + .../cpp/include/opencv2/flann/kdtree_index.h | 626 ++ .../opencv2/flann/kdtree_single_index.h | 635 ++ .../cpp/include/opencv2/flann/kmeans_index.h | 1171 +++ .../cpp/include/opencv2/flann/linear_index.h | 132 + .../main/cpp/include/opencv2/flann/logger.h | 135 + .../cpp/include/opencv2/flann/lsh_index.h | 392 + .../cpp/include/opencv2/flann/lsh_table.h | 513 + .../main/cpp/include/opencv2/flann/matrix.h | 116 + .../cpp/include/opencv2/flann/miniflann.hpp | 162 + .../main/cpp/include/opencv2/flann/nn_index.h | 177 + .../include/opencv2/flann/object_factory.h | 91 + .../main/cpp/include/opencv2/flann/params.h | 99 + .../main/cpp/include/opencv2/flann/random.h | 155 + .../cpp/include/opencv2/flann/result_set.h | 543 ++ .../main/cpp/include/opencv2/flann/sampling.h | 81 + .../main/cpp/include/opencv2/flann/saving.h | 187 + .../include/opencv2/flann/simplex_downhill.h | 186 + .../main/cpp/include/opencv2/flann/timer.h | 94 + app/src/main/cpp/include/opencv2/highgui.hpp | 834 ++ .../cpp/include/opencv2/highgui/highgui.hpp | 48 + .../cpp/include/opencv2/highgui/highgui_c.h | 257 + .../main/cpp/include/opencv2/imgcodecs.hpp | 281 + .../include/opencv2/imgcodecs/imgcodecs.hpp | 48 + .../include/opencv2/imgcodecs/imgcodecs_c.h | 148 + .../main/cpp/include/opencv2/imgcodecs/ios.h | 57 + app/src/main/cpp/include/opencv2/imgproc.hpp | 4837 ++++++++++ .../imgproc/detail/distortion_model.hpp | 123 + .../cpp/include/opencv2/imgproc/hal/hal.hpp | 229 + .../include/opencv2/imgproc/hal/interface.h | 26 + .../cpp/include/opencv2/imgproc/imgproc.hpp | 48 + .../cpp/include/opencv2/imgproc/imgproc_c.h | 1210 +++ .../cpp/include/opencv2/imgproc/types_c.h | 629 ++ app/src/main/cpp/include/opencv2/ml.hpp | 1845 ++++ app/src/main/cpp/include/opencv2/ml/ml.hpp | 48 + .../main/cpp/include/opencv2/objdetect.hpp | 683 ++ .../objdetect/detection_based_tracker.hpp | 227 + .../include/opencv2/objdetect/objdetect.hpp | 48 + .../include/opencv2/objdetect/objdetect_c.h | 166 + app/src/main/cpp/include/opencv2/opencv.hpp | 136 + .../cpp/include/opencv2/opencv_modules.hpp | 31 + app/src/main/cpp/include/opencv2/photo.hpp | 876 ++ .../main/cpp/include/opencv2/photo/cuda.hpp | 132 + .../main/cpp/include/opencv2/photo/photo.hpp | 48 + .../main/cpp/include/opencv2/photo/photo_c.h | 74 + app/src/main/cpp/include/opencv2/shape.hpp | 57 + .../main/cpp/include/opencv2/shape/emdL1.hpp | 72 + .../cpp/include/opencv2/shape/hist_cost.hpp | 111 + .../main/cpp/include/opencv2/shape/shape.hpp | 48 + .../include/opencv2/shape/shape_distance.hpp | 227 + .../opencv2/shape/shape_transformer.hpp | 132 + .../main/cpp/include/opencv2/stitching.hpp | 320 + .../opencv2/stitching/detail/autocalib.hpp | 86 + .../opencv2/stitching/detail/blenders.hpp | 171 + .../opencv2/stitching/detail/camera.hpp | 78 + .../stitching/detail/exposure_compensate.hpp | 136 + .../opencv2/stitching/detail/matchers.hpp | 355 + .../stitching/detail/motion_estimators.hpp | 359 + .../opencv2/stitching/detail/seam_finders.hpp | 285 + .../opencv2/stitching/detail/timelapsers.hpp | 91 + .../include/opencv2/stitching/detail/util.hpp | 121 + .../opencv2/stitching/detail/util_inl.hpp | 131 + .../opencv2/stitching/detail/warpers.hpp | 616 ++ .../opencv2/stitching/detail/warpers_inl.hpp | 774 ++ .../cpp/include/opencv2/stitching/warpers.hpp | 192 + app/src/main/cpp/include/opencv2/superres.hpp | 207 + .../include/opencv2/superres/optical_flow.hpp | 203 + app/src/main/cpp/include/opencv2/video.hpp | 63 + .../include/opencv2/video/background_segm.hpp | 317 + .../cpp/include/opencv2/video/tracking.hpp | 628 ++ .../cpp/include/opencv2/video/tracking_c.h | 232 + .../main/cpp/include/opencv2/video/video.hpp | 48 + app/src/main/cpp/include/opencv2/videoio.hpp | 952 ++ .../cpp/include/opencv2/videoio/cap_ios.h | 150 + .../cpp/include/opencv2/videoio/videoio.hpp | 48 + .../cpp/include/opencv2/videoio/videoio_c.h | 587 ++ .../main/cpp/include/opencv2/videostab.hpp | 81 + .../include/opencv2/videostab/deblurring.hpp | 116 + .../opencv2/videostab/fast_marching.hpp | 121 + .../opencv2/videostab/fast_marching_inl.hpp | 165 + .../opencv2/videostab/frame_source.hpp | 94 + .../opencv2/videostab/global_motion.hpp | 300 + .../include/opencv2/videostab/inpainting.hpp | 212 + .../cpp/include/opencv2/videostab/log.hpp | 80 + .../include/opencv2/videostab/motion_core.hpp | 129 + .../opencv2/videostab/motion_stabilizing.hpp | 174 + .../opencv2/videostab/optical_flow.hpp | 150 + .../opencv2/videostab/outlier_rejection.hpp | 101 + .../include/opencv2/videostab/ring_buffer.hpp | 72 + .../include/opencv2/videostab/stabilizer.hpp | 200 + .../opencv2/videostab/wobble_suppression.hpp | 140 + app/src/main/cpp/native-lib.cpp | 141 + .../com/openailab/posetrack/MainActivity.java | 192 + .../posetrack/PermissionsDelegate.java | 91 + .../main/jniLibs/arm64-v8a/libopencv_java3.so | Bin 0 -> 18492656 bytes .../jniLibs/armeabi-v7a/libopencv_java3.so | Bin 0 -> 11377812 bytes app/src/main/res/layout/activity_main.xml | 19 + app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3418 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2206 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4842 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7718 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10486 bytes app/src/main/res/values-w820dp/dimens.xml | 6 + app/src/main/res/values/colors.xml | 6 + app/src/main/res/values/dimens.xml | 5 + app/src/main/res/values/strings.xml | 3 + app/src/main/res/values/styles.xml | 11 + .../openailab/posetrack/ExampleUnitTest.java | 17 + build.gradle | 23 + config | 9 + description | 1 + gradle.properties | 17 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53636 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 160 + gradlew.bat | 90 + hooks/applypatch-msg.sample | 15 + hooks/commit-msg.sample | 24 + hooks/post-update.sample | 8 + hooks/pre-applypatch.sample | 14 + hooks/pre-commit.sample | 49 + hooks/pre-push.sample | 53 + hooks/pre-rebase.sample | 169 + hooks/pre-receive.sample | 24 + hooks/prepare-commit-msg.sample | 36 + hooks/update.sample | 128 + import-summary.txt | 244 + info/exclude | 6 + openCVLibrary331/build.gradle | 18 + openCVLibrary331/lint.xml | 9 + openCVLibrary331/src/main/AndroidManifest.xml | 8 + .../opencv/engine/OpenCVEngineInterface.aidl | 33 + .../opencv/android/AsyncServiceHelper.java | 391 + .../opencv/android/BaseLoaderCallback.java | 141 + .../org/opencv/android/Camera2Renderer.java | 302 + .../opencv/android/CameraBridgeViewBase.java | 495 + .../opencv/android/CameraGLRendererBase.java | 440 + .../opencv/android/CameraGLSurfaceView.java | 119 + .../org/opencv/android/CameraRenderer.java | 166 + .../java/org/opencv/android/FpsMeter.java | 66 + .../android/InstallCallbackInterface.java | 34 + .../org/opencv/android/JavaCameraView.java | 379 + .../android/LoaderCallbackInterface.java | 40 + .../java/org/opencv/android/OpenCVLoader.java | 127 + .../java/org/opencv/android/StaticHelper.java | 104 + .../main/java/org/opencv/android/Utils.java | 139 + .../main/java/org/opencv/calib3d/Calib3d.java | 1571 ++++ .../java/org/opencv/calib3d/StereoBM.java | 330 + .../org/opencv/calib3d/StereoMatcher.java | 253 + .../java/org/opencv/calib3d/StereoSGBM.java | 230 + .../main/java/org/opencv/core/Algorithm.java | 79 + .../src/main/java/org/opencv/core/Core.java | 2742 ++++++ .../java/org/opencv/core/CvException.java | 15 + .../src/main/java/org/opencv/core/CvType.java | 136 + .../src/main/java/org/opencv/core/DMatch.java | 58 + .../main/java/org/opencv/core/KeyPoint.java | 83 + .../src/main/java/org/opencv/core/Mat.java | 1316 +++ .../main/java/org/opencv/core/MatOfByte.java | 79 + .../java/org/opencv/core/MatOfDMatch.java | 83 + .../java/org/opencv/core/MatOfDouble.java | 79 + .../main/java/org/opencv/core/MatOfFloat.java | 79 + .../java/org/opencv/core/MatOfFloat4.java | 79 + .../java/org/opencv/core/MatOfFloat6.java | 79 + .../main/java/org/opencv/core/MatOfInt.java | 80 + .../main/java/org/opencv/core/MatOfInt4.java | 80 + .../java/org/opencv/core/MatOfKeyPoint.java | 86 + .../main/java/org/opencv/core/MatOfPoint.java | 78 + .../java/org/opencv/core/MatOfPoint2f.java | 78 + .../java/org/opencv/core/MatOfPoint3.java | 79 + .../java/org/opencv/core/MatOfPoint3f.java | 79 + .../main/java/org/opencv/core/MatOfRect.java | 81 + .../java/org/opencv/core/MatOfRect2d.java | 81 + .../src/main/java/org/opencv/core/Point.java | 68 + .../src/main/java/org/opencv/core/Point3.java | 79 + .../src/main/java/org/opencv/core/Range.java | 82 + .../src/main/java/org/opencv/core/Rect.java | 104 + .../src/main/java/org/opencv/core/Rect2d.java | 104 + .../java/org/opencv/core/RotatedRect.java | 113 + .../src/main/java/org/opencv/core/Scalar.java | 90 + .../src/main/java/org/opencv/core/Size.java | 73 + .../java/org/opencv/core/TermCriteria.java | 92 + .../main/java/org/opencv/core/TickMeter.java | 181 + .../main/java/org/opencv/dnn/DictValue.java | 211 + .../src/main/java/org/opencv/dnn/Dnn.java | 303 + .../main/java/org/opencv/dnn/Importer.java | 43 + .../src/main/java/org/opencv/dnn/Layer.java | 197 + .../src/main/java/org/opencv/dnn/Net.java | 597 ++ .../java/org/opencv/features2d/AKAZE.java | 315 + .../features2d/AgastFeatureDetector.java | 181 + .../java/org/opencv/features2d/BFMatcher.java | 80 + .../features2d/BOWImgDescriptorExtractor.java | 124 + .../opencv/features2d/BOWKMeansTrainer.java | 88 + .../org/opencv/features2d/BOWTrainer.java | 133 + .../java/org/opencv/features2d/BRISK.java | 136 + .../features2d/DescriptorExtractor.java | 196 + .../opencv/features2d/DescriptorMatcher.java | 411 + .../features2d/FastFeatureDetector.java | 181 + .../java/org/opencv/features2d/Feature2D.java | 277 + .../opencv/features2d/FeatureDetector.java | 217 + .../org/opencv/features2d/Features2d.java | 155 + .../opencv/features2d/FlannBasedMatcher.java | 60 + .../org/opencv/features2d/GFTTDetector.java | 301 + .../main/java/org/opencv/features2d/KAZE.java | 281 + .../main/java/org/opencv/features2d/MSER.java | 231 + .../main/java/org/opencv/features2d/ORB.java | 382 + .../java/org/opencv/features2d/Params.java | 671 ++ .../java/org/opencv/imgcodecs/Imgcodecs.java | 217 + .../main/java/org/opencv/imgproc/CLAHE.java | 130 + .../main/java/org/opencv/imgproc/Imgproc.java | 3589 +++++++ .../opencv/imgproc/LineSegmentDetector.java | 99 + .../main/java/org/opencv/imgproc/Moments.java | 244 + .../java/org/opencv/imgproc/Subdiv2D.java | 404 + .../src/main/java/org/opencv/ml/ANN_MLP.java | 467 + .../src/main/java/org/opencv/ml/Boost.java | 179 + .../src/main/java/org/opencv/ml/DTrees.java | 384 + .../src/main/java/org/opencv/ml/EM.java | 366 + .../src/main/java/org/opencv/ml/KNearest.java | 211 + .../org/opencv/ml/LogisticRegression.java | 328 + .../src/main/java/org/opencv/ml/Ml.java | 23 + .../org/opencv/ml/NormalBayesClassifier.java | 98 + .../main/java/org/opencv/ml/ParamGrid.java | 157 + .../src/main/java/org/opencv/ml/RTrees.java | 208 + .../src/main/java/org/opencv/ml/SVM.java | 518 ++ .../src/main/java/org/opencv/ml/SVMSGD.java | 344 + .../main/java/org/opencv/ml/StatModel.java | 190 + .../main/java/org/opencv/ml/TrainData.java | 718 ++ .../objdetect/BaseCascadeClassifier.java | 26 + .../opencv/objdetect/CascadeClassifier.java | 266 + .../org/opencv/objdetect/HOGDescriptor.java | 594 ++ .../java/org/opencv/objdetect/Objdetect.java | 54 + .../java/org/opencv/osgi/OpenCVInterface.java | 8 + .../org/opencv/osgi/OpenCVNativeLoader.java | 18 + .../java/org/opencv/photo/AlignExposures.java | 48 + .../main/java/org/opencv/photo/AlignMTB.java | 219 + .../java/org/opencv/photo/CalibrateCRF.java | 47 + .../org/opencv/photo/CalibrateDebevec.java | 128 + .../org/opencv/photo/CalibrateRobertson.java | 111 + .../java/org/opencv/photo/MergeDebevec.java | 63 + .../java/org/opencv/photo/MergeExposures.java | 47 + .../java/org/opencv/photo/MergeMertens.java | 165 + .../java/org/opencv/photo/MergeRobertson.java | 63 + .../src/main/java/org/opencv/photo/Photo.java | 742 ++ .../main/java/org/opencv/photo/Tonemap.java | 78 + .../java/org/opencv/photo/TonemapDrago.java | 94 + .../java/org/opencv/photo/TonemapDurand.java | 162 + .../java/org/opencv/photo/TonemapMantiuk.java | 94 + .../org/opencv/photo/TonemapReinhard.java | 128 + .../java/org/opencv/utils/Converters.java | 773 ++ .../opencv/video/BackgroundSubtractor.java | 71 + .../opencv/video/BackgroundSubtractorKNN.java | 264 + .../video/BackgroundSubtractorMOG2.java | 461 + .../org/opencv/video/DenseOpticalFlow.java | 61 + .../org/opencv/video/DualTVL1OpticalFlow.java | 461 + .../opencv/video/FarnebackOpticalFlow.java | 325 + .../java/org/opencv/video/KalmanFilter.java | 456 + .../org/opencv/video/SparseOpticalFlow.java | 54 + .../opencv/video/SparsePyrLKOpticalFlow.java | 224 + .../src/main/java/org/opencv/video/Video.java | 289 + .../java/org/opencv/videoio/VideoCapture.java | 294 + .../java/org/opencv/videoio/VideoWriter.java | 257 + .../main/java/org/opencv/videoio/Videoio.java | 678 ++ .../src/main/res/values/attrs.xml | 11 + posetrack user_manual.pdf | Bin 0 -> 2120524 bytes settings.gradle | 2 + 515 files changed, 186880 insertions(+) create mode 100644 .idea/compiler.xml create mode 100644 .idea/copyright/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 HEAD create mode 100644 app/.gitignore create mode 100644 app/CMakeLists.txt create mode 100644 app/build.gradle create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/openailab/posetrack/ExampleInstrumentedTest.java create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/cpp/dssttrack/CMakeLists.txt create mode 100644 app/src/main/cpp/dssttrack/ffttools.hpp create mode 100644 app/src/main/cpp/dssttrack/fhog.cpp create mode 100644 app/src/main/cpp/dssttrack/fhog.hpp create mode 100644 app/src/main/cpp/dssttrack/kcftracker.cpp create mode 100644 app/src/main/cpp/dssttrack/kcftracker.hpp create mode 100644 app/src/main/cpp/dssttrack/labdata.hpp create mode 100644 app/src/main/cpp/dssttrack/recttools.hpp create mode 100644 app/src/main/cpp/dssttrack/runtracker.cpp create mode 100644 app/src/main/cpp/dssttrack/tracker.h create mode 100644 app/src/main/cpp/handdetect/CMakeLists.txt create mode 100644 app/src/main/cpp/handdetect/fist.xml create mode 100644 app/src/main/cpp/handdetect/gesture.cpp create mode 100644 app/src/main/cpp/handdetect/gesture.hpp create mode 100644 app/src/main/cpp/handdetect/rpalm.xml create mode 100644 app/src/main/cpp/include/conf/com_openailab_speechrecognition_SpeechRecognitionJNI.h create mode 100644 app/src/main/cpp/include/conf/config.hpp create mode 100644 app/src/main/cpp/include/conf/decode.config create mode 100644 app/src/main/cpp/include/conf/fbank.conf.backup create mode 100644 app/src/main/cpp/include/conf/mfcc.conf create mode 100644 app/src/main/cpp/include/conf/stdtostring.h create mode 100644 app/src/main/cpp/include/conf/tinyalsa/asoundlib.h create mode 100644 app/src/main/cpp/include/gflags/gflags.h create mode 100644 app/src/main/cpp/include/gflags/gflags_completions.h create mode 100644 app/src/main/cpp/include/gflags/gflags_declare.h create mode 100644 app/src/main/cpp/include/gflags/gflags_gflags.h create mode 100644 app/src/main/cpp/include/google/protobuf/any.h create mode 100644 app/src/main/cpp/include/google/protobuf/any.pb.h create mode 100644 app/src/main/cpp/include/google/protobuf/any.proto create mode 100644 app/src/main/cpp/include/google/protobuf/api.pb.h create mode 100644 app/src/main/cpp/include/google/protobuf/api.proto create mode 100644 app/src/main/cpp/include/google/protobuf/arena.h create mode 100644 app/src/main/cpp/include/google/protobuf/arenastring.h create mode 100644 app/src/main/cpp/include/google/protobuf/descriptor.h create mode 100644 app/src/main/cpp/include/google/protobuf/descriptor.pb.h create mode 100644 app/src/main/cpp/include/google/protobuf/descriptor.proto create mode 100644 app/src/main/cpp/include/google/protobuf/descriptor_database.h create mode 100644 app/src/main/cpp/include/google/protobuf/duration.pb.h create mode 100644 app/src/main/cpp/include/google/protobuf/duration.proto create mode 100644 app/src/main/cpp/include/google/protobuf/dynamic_message.h create mode 100644 app/src/main/cpp/include/google/protobuf/empty.pb.h create mode 100644 app/src/main/cpp/include/google/protobuf/empty.proto create mode 100644 app/src/main/cpp/include/google/protobuf/extension_set.h create mode 100644 app/src/main/cpp/include/google/protobuf/field_mask.pb.h create mode 100644 app/src/main/cpp/include/google/protobuf/field_mask.proto create mode 100644 app/src/main/cpp/include/google/protobuf/generated_enum_reflection.h create mode 100644 app/src/main/cpp/include/google/protobuf/generated_enum_util.h create mode 100644 app/src/main/cpp/include/google/protobuf/generated_message_reflection.h create mode 100644 app/src/main/cpp/include/google/protobuf/generated_message_util.h create mode 100644 app/src/main/cpp/include/google/protobuf/has_bits.h create mode 100644 app/src/main/cpp/include/google/protobuf/map.h create mode 100644 app/src/main/cpp/include/google/protobuf/map_entry.h create mode 100644 app/src/main/cpp/include/google/protobuf/map_entry_lite.h create mode 100644 app/src/main/cpp/include/google/protobuf/map_field.h create mode 100644 app/src/main/cpp/include/google/protobuf/map_field_inl.h create mode 100644 app/src/main/cpp/include/google/protobuf/map_field_lite.h create mode 100644 app/src/main/cpp/include/google/protobuf/map_type_handler.h create mode 100644 app/src/main/cpp/include/google/protobuf/message.h create mode 100644 app/src/main/cpp/include/google/protobuf/message_lite.h create mode 100644 app/src/main/cpp/include/google/protobuf/metadata.h create mode 100644 app/src/main/cpp/include/google/protobuf/reflection.h create mode 100644 app/src/main/cpp/include/google/protobuf/reflection_ops.h create mode 100644 app/src/main/cpp/include/google/protobuf/repeated_field.h create mode 100644 app/src/main/cpp/include/google/protobuf/service.h create mode 100644 app/src/main/cpp/include/google/protobuf/source_context.pb.h create mode 100644 app/src/main/cpp/include/google/protobuf/source_context.proto create mode 100644 app/src/main/cpp/include/google/protobuf/struct.pb.h create mode 100644 app/src/main/cpp/include/google/protobuf/struct.proto create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/atomic_sequence_num.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/atomicops.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_arm_gcc.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_arm_qnx.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_atomicword_compat.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_generic_gcc.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_macosx.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_mips_gcc.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_pnacl.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_power.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_ppc_gcc.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_solaris.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_tsan.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_x86_gcc.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_x86_msvc.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/bytestream.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/callback.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/casts.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/common.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/fastmem.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/hash.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/logging.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/macros.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/mutex.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/once.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/platform_macros.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/port.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/scoped_ptr.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/shared_ptr.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/singleton.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/status.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/stl_util.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/stringpiece.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/template_util.h create mode 100644 app/src/main/cpp/include/google/protobuf/stubs/type_traits.h create mode 100644 app/src/main/cpp/include/google/protobuf/text_format.h create mode 100644 app/src/main/cpp/include/google/protobuf/timestamp.pb.h create mode 100644 app/src/main/cpp/include/google/protobuf/timestamp.proto create mode 100644 app/src/main/cpp/include/google/protobuf/type.pb.h create mode 100644 app/src/main/cpp/include/google/protobuf/type.proto create mode 100644 app/src/main/cpp/include/google/protobuf/unknown_field_set.h create mode 100644 app/src/main/cpp/include/google/protobuf/wire_format.h create mode 100644 app/src/main/cpp/include/google/protobuf/wire_format_lite.h create mode 100644 app/src/main/cpp/include/google/protobuf/wire_format_lite_inl.h create mode 100644 app/src/main/cpp/include/google/protobuf/wrappers.pb.h create mode 100644 app/src/main/cpp/include/google/protobuf/wrappers.proto create mode 100644 app/src/main/cpp/include/opencv/cv.h create mode 100644 app/src/main/cpp/include/opencv/cv.hpp create mode 100644 app/src/main/cpp/include/opencv/cvaux.h create mode 100644 app/src/main/cpp/include/opencv/cvaux.hpp create mode 100644 app/src/main/cpp/include/opencv/cvwimage.h create mode 100644 app/src/main/cpp/include/opencv/cxcore.h create mode 100644 app/src/main/cpp/include/opencv/cxcore.hpp create mode 100644 app/src/main/cpp/include/opencv/cxeigen.hpp create mode 100644 app/src/main/cpp/include/opencv/cxmisc.h create mode 100644 app/src/main/cpp/include/opencv/highgui.h create mode 100644 app/src/main/cpp/include/opencv/ml.h create mode 100644 app/src/main/cpp/include/opencv2/calib3d.hpp create mode 100644 app/src/main/cpp/include/opencv2/calib3d/calib3d.hpp create mode 100644 app/src/main/cpp/include/opencv2/calib3d/calib3d_c.h create mode 100644 app/src/main/cpp/include/opencv2/core.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/affine.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/base.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/bufferpool.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/core.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/core_c.h create mode 100644 app/src/main/cpp/include/opencv2/core/cuda.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda.inl.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/block.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/border_interpolate.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/color.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/common.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/datamov_utils.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/detail/color_detail.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/detail/reduce.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/detail/reduce_key_val.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/detail/transform_detail.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/detail/type_traits_detail.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/detail/vec_distance_detail.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/dynamic_smem.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/emulation.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/filters.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/funcattrib.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/functional.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/limits.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/reduce.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/saturate_cast.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/scan.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/simd_functions.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/transform.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/type_traits.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/utility.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/vec_distance.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/vec_math.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/vec_traits.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/warp.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/warp_reduce.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda/warp_shuffle.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda_stream_accessor.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cuda_types.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cv_cpu_dispatch.h create mode 100644 app/src/main/cpp/include/opencv2/core/cv_cpu_helper.h create mode 100644 app/src/main/cpp/include/opencv2/core/cvdef.h create mode 100644 app/src/main/cpp/include/opencv2/core/cvstd.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/cvstd.inl.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/directx.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/eigen.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/fast_math.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/hal/hal.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/hal/interface.h create mode 100644 app/src/main/cpp/include/opencv2/core/hal/intrin.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/hal/intrin_cpp.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/hal/intrin_neon.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/hal/intrin_sse.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/hal/intrin_vsx.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/ippasync.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/mat.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/mat.inl.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/matx.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/neon_utils.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/ocl.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/ocl_genbase.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/opengl.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/operations.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/optim.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/ovx.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/persistence.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/ptr.inl.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/saturate.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/softfloat.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/sse_utils.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/traits.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/types.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/types_c.h create mode 100644 app/src/main/cpp/include/opencv2/core/utility.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/utils/logger.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/utils/trace.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/va_intel.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/version.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/vsx_utils.hpp create mode 100644 app/src/main/cpp/include/opencv2/core/wimage.hpp create mode 100644 app/src/main/cpp/include/opencv2/cvconfig.h create mode 100644 app/src/main/cpp/include/opencv2/dnn.hpp create mode 100644 app/src/main/cpp/include/opencv2/dnn/all_layers.hpp create mode 100644 app/src/main/cpp/include/opencv2/dnn/dict.hpp create mode 100644 app/src/main/cpp/include/opencv2/dnn/dnn.hpp create mode 100644 app/src/main/cpp/include/opencv2/dnn/dnn.inl.hpp create mode 100644 app/src/main/cpp/include/opencv2/dnn/layer.details.hpp create mode 100644 app/src/main/cpp/include/opencv2/dnn/layer.hpp create mode 100644 app/src/main/cpp/include/opencv2/dnn/shape_utils.hpp create mode 100644 app/src/main/cpp/include/opencv2/features2d.hpp create mode 100644 app/src/main/cpp/include/opencv2/features2d/features2d.hpp create mode 100644 app/src/main/cpp/include/opencv2/flann.hpp create mode 100644 app/src/main/cpp/include/opencv2/flann/all_indices.h create mode 100644 app/src/main/cpp/include/opencv2/flann/allocator.h create mode 100644 app/src/main/cpp/include/opencv2/flann/any.h create mode 100644 app/src/main/cpp/include/opencv2/flann/autotuned_index.h create mode 100644 app/src/main/cpp/include/opencv2/flann/composite_index.h create mode 100644 app/src/main/cpp/include/opencv2/flann/config.h create mode 100644 app/src/main/cpp/include/opencv2/flann/defines.h create mode 100644 app/src/main/cpp/include/opencv2/flann/dist.h create mode 100644 app/src/main/cpp/include/opencv2/flann/dummy.h create mode 100644 app/src/main/cpp/include/opencv2/flann/dynamic_bitset.h create mode 100644 app/src/main/cpp/include/opencv2/flann/flann.hpp create mode 100644 app/src/main/cpp/include/opencv2/flann/flann_base.hpp create mode 100644 app/src/main/cpp/include/opencv2/flann/general.h create mode 100644 app/src/main/cpp/include/opencv2/flann/ground_truth.h create mode 100644 app/src/main/cpp/include/opencv2/flann/hdf5.h create mode 100644 app/src/main/cpp/include/opencv2/flann/heap.h create mode 100644 app/src/main/cpp/include/opencv2/flann/hierarchical_clustering_index.h create mode 100644 app/src/main/cpp/include/opencv2/flann/index_testing.h create mode 100644 app/src/main/cpp/include/opencv2/flann/kdtree_index.h create mode 100644 app/src/main/cpp/include/opencv2/flann/kdtree_single_index.h create mode 100644 app/src/main/cpp/include/opencv2/flann/kmeans_index.h create mode 100644 app/src/main/cpp/include/opencv2/flann/linear_index.h create mode 100644 app/src/main/cpp/include/opencv2/flann/logger.h create mode 100644 app/src/main/cpp/include/opencv2/flann/lsh_index.h create mode 100644 app/src/main/cpp/include/opencv2/flann/lsh_table.h create mode 100644 app/src/main/cpp/include/opencv2/flann/matrix.h create mode 100644 app/src/main/cpp/include/opencv2/flann/miniflann.hpp create mode 100644 app/src/main/cpp/include/opencv2/flann/nn_index.h create mode 100644 app/src/main/cpp/include/opencv2/flann/object_factory.h create mode 100644 app/src/main/cpp/include/opencv2/flann/params.h create mode 100644 app/src/main/cpp/include/opencv2/flann/random.h create mode 100644 app/src/main/cpp/include/opencv2/flann/result_set.h create mode 100644 app/src/main/cpp/include/opencv2/flann/sampling.h create mode 100644 app/src/main/cpp/include/opencv2/flann/saving.h create mode 100644 app/src/main/cpp/include/opencv2/flann/simplex_downhill.h create mode 100644 app/src/main/cpp/include/opencv2/flann/timer.h create mode 100644 app/src/main/cpp/include/opencv2/highgui.hpp create mode 100644 app/src/main/cpp/include/opencv2/highgui/highgui.hpp create mode 100644 app/src/main/cpp/include/opencv2/highgui/highgui_c.h create mode 100644 app/src/main/cpp/include/opencv2/imgcodecs.hpp create mode 100644 app/src/main/cpp/include/opencv2/imgcodecs/imgcodecs.hpp create mode 100644 app/src/main/cpp/include/opencv2/imgcodecs/imgcodecs_c.h create mode 100644 app/src/main/cpp/include/opencv2/imgcodecs/ios.h create mode 100644 app/src/main/cpp/include/opencv2/imgproc.hpp create mode 100644 app/src/main/cpp/include/opencv2/imgproc/detail/distortion_model.hpp create mode 100644 app/src/main/cpp/include/opencv2/imgproc/hal/hal.hpp create mode 100644 app/src/main/cpp/include/opencv2/imgproc/hal/interface.h create mode 100644 app/src/main/cpp/include/opencv2/imgproc/imgproc.hpp create mode 100644 app/src/main/cpp/include/opencv2/imgproc/imgproc_c.h create mode 100644 app/src/main/cpp/include/opencv2/imgproc/types_c.h create mode 100644 app/src/main/cpp/include/opencv2/ml.hpp create mode 100644 app/src/main/cpp/include/opencv2/ml/ml.hpp create mode 100644 app/src/main/cpp/include/opencv2/objdetect.hpp create mode 100644 app/src/main/cpp/include/opencv2/objdetect/detection_based_tracker.hpp create mode 100644 app/src/main/cpp/include/opencv2/objdetect/objdetect.hpp create mode 100644 app/src/main/cpp/include/opencv2/objdetect/objdetect_c.h create mode 100644 app/src/main/cpp/include/opencv2/opencv.hpp create mode 100644 app/src/main/cpp/include/opencv2/opencv_modules.hpp create mode 100644 app/src/main/cpp/include/opencv2/photo.hpp create mode 100644 app/src/main/cpp/include/opencv2/photo/cuda.hpp create mode 100644 app/src/main/cpp/include/opencv2/photo/photo.hpp create mode 100644 app/src/main/cpp/include/opencv2/photo/photo_c.h create mode 100644 app/src/main/cpp/include/opencv2/shape.hpp create mode 100644 app/src/main/cpp/include/opencv2/shape/emdL1.hpp create mode 100644 app/src/main/cpp/include/opencv2/shape/hist_cost.hpp create mode 100644 app/src/main/cpp/include/opencv2/shape/shape.hpp create mode 100644 app/src/main/cpp/include/opencv2/shape/shape_distance.hpp create mode 100644 app/src/main/cpp/include/opencv2/shape/shape_transformer.hpp create mode 100644 app/src/main/cpp/include/opencv2/stitching.hpp create mode 100644 app/src/main/cpp/include/opencv2/stitching/detail/autocalib.hpp create mode 100644 app/src/main/cpp/include/opencv2/stitching/detail/blenders.hpp create mode 100644 app/src/main/cpp/include/opencv2/stitching/detail/camera.hpp create mode 100644 app/src/main/cpp/include/opencv2/stitching/detail/exposure_compensate.hpp create mode 100644 app/src/main/cpp/include/opencv2/stitching/detail/matchers.hpp create mode 100644 app/src/main/cpp/include/opencv2/stitching/detail/motion_estimators.hpp create mode 100644 app/src/main/cpp/include/opencv2/stitching/detail/seam_finders.hpp create mode 100644 app/src/main/cpp/include/opencv2/stitching/detail/timelapsers.hpp create mode 100644 app/src/main/cpp/include/opencv2/stitching/detail/util.hpp create mode 100644 app/src/main/cpp/include/opencv2/stitching/detail/util_inl.hpp create mode 100644 app/src/main/cpp/include/opencv2/stitching/detail/warpers.hpp create mode 100644 app/src/main/cpp/include/opencv2/stitching/detail/warpers_inl.hpp create mode 100644 app/src/main/cpp/include/opencv2/stitching/warpers.hpp create mode 100644 app/src/main/cpp/include/opencv2/superres.hpp create mode 100644 app/src/main/cpp/include/opencv2/superres/optical_flow.hpp create mode 100644 app/src/main/cpp/include/opencv2/video.hpp create mode 100644 app/src/main/cpp/include/opencv2/video/background_segm.hpp create mode 100644 app/src/main/cpp/include/opencv2/video/tracking.hpp create mode 100644 app/src/main/cpp/include/opencv2/video/tracking_c.h create mode 100644 app/src/main/cpp/include/opencv2/video/video.hpp create mode 100644 app/src/main/cpp/include/opencv2/videoio.hpp create mode 100644 app/src/main/cpp/include/opencv2/videoio/cap_ios.h create mode 100644 app/src/main/cpp/include/opencv2/videoio/videoio.hpp create mode 100644 app/src/main/cpp/include/opencv2/videoio/videoio_c.h create mode 100644 app/src/main/cpp/include/opencv2/videostab.hpp create mode 100644 app/src/main/cpp/include/opencv2/videostab/deblurring.hpp create mode 100644 app/src/main/cpp/include/opencv2/videostab/fast_marching.hpp create mode 100644 app/src/main/cpp/include/opencv2/videostab/fast_marching_inl.hpp create mode 100644 app/src/main/cpp/include/opencv2/videostab/frame_source.hpp create mode 100644 app/src/main/cpp/include/opencv2/videostab/global_motion.hpp create mode 100644 app/src/main/cpp/include/opencv2/videostab/inpainting.hpp create mode 100644 app/src/main/cpp/include/opencv2/videostab/log.hpp create mode 100644 app/src/main/cpp/include/opencv2/videostab/motion_core.hpp create mode 100644 app/src/main/cpp/include/opencv2/videostab/motion_stabilizing.hpp create mode 100644 app/src/main/cpp/include/opencv2/videostab/optical_flow.hpp create mode 100644 app/src/main/cpp/include/opencv2/videostab/outlier_rejection.hpp create mode 100644 app/src/main/cpp/include/opencv2/videostab/ring_buffer.hpp create mode 100644 app/src/main/cpp/include/opencv2/videostab/stabilizer.hpp create mode 100644 app/src/main/cpp/include/opencv2/videostab/wobble_suppression.hpp create mode 100644 app/src/main/cpp/native-lib.cpp create mode 100644 app/src/main/java/com/openailab/posetrack/MainActivity.java create mode 100644 app/src/main/java/com/openailab/posetrack/PermissionsDelegate.java create mode 100644 app/src/main/jniLibs/arm64-v8a/libopencv_java3.so create mode 100644 app/src/main/jniLibs/armeabi-v7a/libopencv_java3.so create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/values-w820dp/dimens.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/dimens.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/styles.xml create mode 100644 app/src/test/java/com/openailab/posetrack/ExampleUnitTest.java create mode 100644 build.gradle create mode 100644 config create mode 100644 description create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 hooks/applypatch-msg.sample create mode 100644 hooks/commit-msg.sample create mode 100644 hooks/post-update.sample create mode 100644 hooks/pre-applypatch.sample create mode 100644 hooks/pre-commit.sample create mode 100644 hooks/pre-push.sample create mode 100644 hooks/pre-rebase.sample create mode 100644 hooks/pre-receive.sample create mode 100644 hooks/prepare-commit-msg.sample create mode 100644 hooks/update.sample create mode 100644 import-summary.txt create mode 100644 info/exclude create mode 100644 openCVLibrary331/build.gradle create mode 100644 openCVLibrary331/lint.xml create mode 100644 openCVLibrary331/src/main/AndroidManifest.xml create mode 100644 openCVLibrary331/src/main/aidl/org/opencv/engine/OpenCVEngineInterface.aidl create mode 100644 openCVLibrary331/src/main/java/org/opencv/android/AsyncServiceHelper.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/android/BaseLoaderCallback.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/android/Camera2Renderer.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/android/CameraBridgeViewBase.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/android/CameraGLRendererBase.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/android/CameraGLSurfaceView.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/android/CameraRenderer.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/android/FpsMeter.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/android/InstallCallbackInterface.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/android/JavaCameraView.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/android/LoaderCallbackInterface.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/android/OpenCVLoader.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/android/StaticHelper.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/android/Utils.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/calib3d/Calib3d.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/calib3d/StereoBM.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/calib3d/StereoMatcher.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/calib3d/StereoSGBM.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/Algorithm.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/Core.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/CvException.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/CvType.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/DMatch.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/KeyPoint.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/Mat.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/MatOfByte.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/MatOfDMatch.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/MatOfDouble.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/MatOfFloat.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/MatOfFloat4.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/MatOfFloat6.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/MatOfInt.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/MatOfInt4.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/MatOfKeyPoint.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/MatOfPoint.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/MatOfPoint2f.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/MatOfPoint3.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/MatOfPoint3f.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/MatOfRect.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/MatOfRect2d.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/Point.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/Point3.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/Range.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/Rect.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/Rect2d.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/RotatedRect.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/Scalar.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/Size.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/TermCriteria.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/core/TickMeter.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/dnn/DictValue.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/dnn/Dnn.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/dnn/Importer.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/dnn/Layer.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/dnn/Net.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/AKAZE.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/AgastFeatureDetector.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/BFMatcher.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/BOWImgDescriptorExtractor.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/BOWKMeansTrainer.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/BOWTrainer.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/BRISK.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/DescriptorExtractor.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/DescriptorMatcher.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/FastFeatureDetector.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/Feature2D.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/FeatureDetector.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/Features2d.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/FlannBasedMatcher.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/GFTTDetector.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/KAZE.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/MSER.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/ORB.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/features2d/Params.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/imgcodecs/Imgcodecs.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/imgproc/CLAHE.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/imgproc/Imgproc.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/imgproc/LineSegmentDetector.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/imgproc/Moments.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/imgproc/Subdiv2D.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/ml/ANN_MLP.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/ml/Boost.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/ml/DTrees.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/ml/EM.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/ml/KNearest.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/ml/LogisticRegression.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/ml/Ml.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/ml/NormalBayesClassifier.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/ml/ParamGrid.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/ml/RTrees.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/ml/SVM.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/ml/SVMSGD.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/ml/StatModel.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/ml/TrainData.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/objdetect/BaseCascadeClassifier.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/objdetect/CascadeClassifier.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/objdetect/HOGDescriptor.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/objdetect/Objdetect.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/osgi/OpenCVInterface.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/osgi/OpenCVNativeLoader.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/photo/AlignExposures.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/photo/AlignMTB.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/photo/CalibrateCRF.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/photo/CalibrateDebevec.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/photo/CalibrateRobertson.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/photo/MergeDebevec.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/photo/MergeExposures.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/photo/MergeMertens.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/photo/MergeRobertson.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/photo/Photo.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/photo/Tonemap.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/photo/TonemapDrago.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/photo/TonemapDurand.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/photo/TonemapMantiuk.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/photo/TonemapReinhard.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/utils/Converters.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/video/BackgroundSubtractor.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/video/BackgroundSubtractorKNN.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/video/BackgroundSubtractorMOG2.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/video/DenseOpticalFlow.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/video/DualTVL1OpticalFlow.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/video/FarnebackOpticalFlow.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/video/KalmanFilter.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/video/SparseOpticalFlow.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/video/SparsePyrLKOpticalFlow.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/video/Video.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/videoio/VideoCapture.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/videoio/VideoWriter.java create mode 100644 openCVLibrary331/src/main/java/org/opencv/videoio/Videoio.java create mode 100644 openCVLibrary331/src/main/res/values/attrs.xml create mode 100644 posetrack user_manual.pdf create mode 100644 settings.gradle diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..96cc43e --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..c7d1c5a --- /dev/null +++ b/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..13e6014 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..abf817b --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/HEAD b/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..3543521 --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt new file mode 100644 index 0000000..fd0acb7 --- /dev/null +++ b/app/CMakeLists.txt @@ -0,0 +1,46 @@ +# Sets the minimum version of CMake required to build the native +# library. You should either keep the default value or only pass a +# value of 3.4.0 or lower. + +cmake_minimum_required(VERSION 3.6) + +# Creates and names a library, sets it as either STATIC +set(CMAKE_VERBOSE_MAKEFILE on) +set(libs "${CMAKE_SOURCE_DIR}/src/main/jniLibs") +set(facesrc "${CMAKE_SOURCE_DIR}/src/main/cpp/facecaffe") +include_directories(${CMAKE_SOURCE_DIR}/src/main/cpp/include) +add_library(libopencv_java3 SHARED IMPORTED ) +set_target_properties(libopencv_java3 PROPERTIES + IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libopencv_java3.so") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCPU_ONLY=1 -std=gnu++11 -fexceptions -frtti") +aux_source_directory(${CMAKE_SOURCE_DIR}/src/main/cpp/ DIR_LIB_SRCS) +# or SHARED, and provides the relative paths to its source code. +# You can define multiple libraries, and CMake builds it for you. +# Gradle automatically packages shared libraries with your APK. + +add_library( native-lib SHARED ${DIR_LIB_SRCS}) + + +# Searches for a specified prebuilt library and stores the path as a +# variable. Because system libraries are included in the search path by +# default, you only need to specify the name of the public NDK library +# you want to add. CMake verifies that the library exists before +# completing its build. + +find_library( # Sets the name of the path variable. + log-lib + + # Specifies the name of the NDK library that + # you want CMake to locate. + log ) + +# Specifies libraries CMake should link to your target library. You +# can link multiple libraries, such as libraries you define in the +# build script, prebuilt third-party libraries, or system libraries. +ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/src/main/cpp/dssttrack) +ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/src/main/cpp/handdetect) +target_link_libraries( # Specifies the target library. + native-lib android log + libopencv_java3 dssttrack handdetect + + ${log-lib} ) diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..3d076ea --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,43 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 24 + buildToolsVersion "24.0.3" + defaultConfig { + applicationId "com.openailab.posetrack" + minSdkVersion 23 + targetSdkVersion 24 + versionCode 1 + versionName "1.0" + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + externalNativeBuild { + cmake { + cppFlags "-std=c++11","-frtti", "-fexceptions" + } + } + ndk{ + abiFilters 'arm64-v8a' + } + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + externalNativeBuild { + cmake { + path "CMakeLists.txt" + } + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { + exclude group: 'com.android.support', module: 'support-annotations' + }) + compile 'com.android.support:appcompat-v7:24.1.1' + testCompile 'junit:junit:4.12' + compile project(':openCVLibrary331') +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..85aa057 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in C:\Users\user\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/app/src/androidTest/java/com/openailab/posetrack/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/openailab/posetrack/ExampleInstrumentedTest.java new file mode 100644 index 0000000..c2538e4 --- /dev/null +++ b/app/src/androidTest/java/com/openailab/posetrack/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.openailab.posetrack; + +import android.content.Context; +import android.support.test.InstrumentationRegistry; +import android.support.test.runner.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumentation test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() throws Exception { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getTargetContext(); + + assertEquals("com.openailab.posetrack", appContext.getPackageName()); + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..4ff6940 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,26 @@ + + + + + +   + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/cpp/dssttrack/CMakeLists.txt b/app/src/main/cpp/dssttrack/CMakeLists.txt new file mode 100644 index 0000000..6c63306 --- /dev/null +++ b/app/src/main/cpp/dssttrack/CMakeLists.txt @@ -0,0 +1,4 @@ +find_library( libopencv_java3 log) +aux_source_directory(${CMAKE_SOURCE_DIR}/src/main/cpp/dssttrack DIR_LIB_SRCS) + +add_library (dssttrack STATIC ${DIR_LIB_SRCS}) \ No newline at end of file diff --git a/app/src/main/cpp/dssttrack/ffttools.hpp b/app/src/main/cpp/dssttrack/ffttools.hpp new file mode 100644 index 0000000..f08bba5 --- /dev/null +++ b/app/src/main/cpp/dssttrack/ffttools.hpp @@ -0,0 +1,258 @@ +/* +Author: Christian Bailer +Contact address: Christian.Bailer@dfki.de +Department Augmented Vision DFKI + + License Agreement + For Open Source Computer Vision Library + (3-clause BSD License) + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the names of the copyright holders nor the names of the contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +This software is provided by the copyright holders and contributors "as is" and +any express or implied warranties, including, but not limited to, the implied +warranties of merchantability and fitness for a particular purpose are disclaimed. +In no event shall copyright holders or contributors be liable for any direct, +indirect, incidental, special, exemplary, or consequential damages +(including, but not limited to, procurement of substitute goods or services; +loss of use, data, or profits; or business interruption) however caused +and on any theory of liability, whether in contract, strict liability, +or tort (including negligence or otherwise) arising in any way out of +the use of this software, even if advised of the possibility of such damage. +*/ + +#pragma once + +//#include + +#ifndef _OPENCV_FFTTOOLS_HPP_ +#define _OPENCV_FFTTOOLS_HPP_ +#endif + +//NOTE: FFTW support is still shaky, disabled for now. +/*#ifdef USE_FFTW +#include +#endif*/ + +namespace FFTTools +{ +// Previous declarations, to avoid warnings +cv::Mat fftd(cv::Mat img, bool backwards = false, bool byRow = false); +cv::Mat real(cv::Mat img); +cv::Mat imag(cv::Mat img); +cv::Mat magnitude(cv::Mat img); +cv::Mat complexMultiplication(cv::Mat a, cv::Mat b); +cv::Mat complexDivisionReal(cv::Mat a, cv::Mat b); +cv::Mat complexDivision(cv::Mat a, cv::Mat b); +void rearrange(cv::Mat &img); +void normalizedLogTransform(cv::Mat &img); + + +cv::Mat fftd(cv::Mat img, bool backwards, bool byRow) +{ +/* +#ifdef USE_FFTW + + fftw_complex * fm = (fftw_complex*) fftw_malloc(sizeof (fftw_complex) * img.cols * img.rows); + + fftw_plan p = fftw_plan_dft_2d(img.rows, img.cols, fm, fm, backwards ? 1 : -1, 0 * FFTW_ESTIMATE); + + + if (img.channels() == 1) + { + for (int i = 0; i < img.rows; i++) + for (int j = 0; j < img.cols; j++) + { + fm[i * img.cols + j][0] = img.at(i, j); + fm[i * img.cols + j][1] = 0; + } + } + else + { + assert(img.channels() == 2); + for (int i = 0; i < img.rows; i++) + for (int j = 0; j < img.cols; j++) + { + fm[i * img.cols + j][0] = img.at (i, j)[0]; + fm[i * img.cols + j][1] = img.at (i, j)[1]; + } + } + fftw_execute(p); + cv::Mat res(img.rows, img.cols, CV_64FC2); + + + for (int i = 0; i < img.rows; i++) + for (int j = 0; j < img.cols; j++) + { + res.at (i, j)[0] = fm[i * img.cols + j][0]; + res.at (i, j)[1] = fm[i * img.cols + j][1]; + + // _iout(fm[i * img.cols + j][0]); + } + + if (backwards)res *= 1.d / (float) (res.cols * res.rows); + + fftw_free(p); + fftw_free(fm); + return res; + +#else +*/ + if (img.channels() == 1) + { + cv::Mat planes[] = {cv::Mat_ (img), cv::Mat_::zeros(img.size())}; + //cv::Mat planes[] = {cv::Mat_ (img), cv::Mat_::zeros(img.size())}; + cv::merge(planes, 2, img); + } + if(byRow) + cv::dft(img, img, (cv::DFT_ROWS | cv::DFT_COMPLEX_OUTPUT)); + else + cv::dft(img, img, backwards ? (cv::DFT_INVERSE | cv::DFT_SCALE) : 0 ); + + return img; + +/*#endif*/ + +} + +cv::Mat real(cv::Mat img) +{ + std::vector planes; + cv::split(img, planes); + return planes[0]; +} + +cv::Mat imag(cv::Mat img) +{ + std::vector planes; + cv::split(img, planes); + return planes[1]; +} + +cv::Mat magnitude(cv::Mat img) +{ + cv::Mat res; + std::vector planes; + cv::split(img, planes); // planes[0] = Re(DFT(I), planes[1] = Im(DFT(I)) + if (planes.size() == 1) res = cv::abs(img); + else if (planes.size() == 2) cv::magnitude(planes[0], planes[1], res); // planes[0] = magnitude + else assert(0); + return res; +} + +cv::Mat complexMultiplication(cv::Mat a, cv::Mat b) +{ + std::vector pa; + std::vector pb; + cv::split(a, pa); + cv::split(b, pb); + + std::vector pres; + pres.push_back(pa[0].mul(pb[0]) - pa[1].mul(pb[1])); + pres.push_back(pa[0].mul(pb[1]) + pa[1].mul(pb[0])); + + cv::Mat res; + cv::merge(pres, res); + + return res; +} + +cv::Mat complexDivisionReal(cv::Mat a, cv::Mat b) +{ + std::vector pa; + cv::split(a, pa); + + std::vector pres; + + cv::Mat divisor = 1. / b; + + pres.push_back(pa[0].mul(divisor)); + pres.push_back(pa[1].mul(divisor)); + + cv::Mat res; + cv::merge(pres, res); + return res; +} + +cv::Mat complexDivision(cv::Mat a, cv::Mat b) +{ + std::vector pa; + std::vector pb; + cv::split(a, pa); + cv::split(b, pb); + + cv::Mat divisor = 1. / (pb[0].mul(pb[0]) + pb[1].mul(pb[1])); + + std::vector pres; + + pres.push_back((pa[0].mul(pb[0]) + pa[1].mul(pb[1])).mul(divisor)); + pres.push_back((pa[1].mul(pb[0]) + pa[0].mul(pb[1])).mul(divisor)); + + cv::Mat res; + cv::merge(pres, res); + return res; +} + +void rearrange(cv::Mat &img) +{ + // img = img(cv::Rect(0, 0, img.cols & -2, img.rows & -2)); + int cx = img.cols / 2; + int cy = img.rows / 2; + + cv::Mat q0(img, cv::Rect(0, 0, cx, cy)); // Top-Left - Create a ROI per quadrant + cv::Mat q1(img, cv::Rect(cx, 0, cx, cy)); // Top-Right + cv::Mat q2(img, cv::Rect(0, cy, cx, cy)); // Bottom-Left + cv::Mat q3(img, cv::Rect(cx, cy, cx, cy)); // Bottom-Right + + cv::Mat tmp; // swap quadrants (Top-Left with Bottom-Right) + q0.copyTo(tmp); + q3.copyTo(q0); + tmp.copyTo(q3); + q1.copyTo(tmp); // swap quadrant (Top-Right with Bottom-Left) + q2.copyTo(q1); + tmp.copyTo(q2); +} +/* +template < typename type> +cv::Mat fouriertransFull(const cv::Mat & in) +{ + return fftd(in); + + cv::Mat planes[] = {cv::Mat_ (in), cv::Mat_::zeros(in.size())}; + cv::Mat t; + assert(planes[0].depth() == planes[1].depth()); + assert(planes[0].size == planes[1].size); + cv::merge(planes, 2, t); + cv::dft(t, t); + + //cv::normalize(a, a, 0, 1, CV_MINMAX); + //cv::normalize(t, t, 0, 1, CV_MINMAX); + + // cv::imshow("a",real(a)); + // cv::imshow("b",real(t)); + // cv::waitKey(0); + + return t; +}*/ + +void normalizedLogTransform(cv::Mat &img) +{ + img = cv::abs(img); + img += cv::Scalar::all(1); + cv::log(img, img); + // cv::normalize(img, img, 0, 1, CV_MINMAX); +} + +} diff --git a/app/src/main/cpp/dssttrack/fhog.cpp b/app/src/main/cpp/dssttrack/fhog.cpp new file mode 100644 index 0000000..efd02d2 --- /dev/null +++ b/app/src/main/cpp/dssttrack/fhog.cpp @@ -0,0 +1,513 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + + +//Modified from latentsvm module's "lsvmc_featurepyramid.cpp". + +//#include "precomp.hpp" +//#include "_lsvmc_latentsvm.h" +//#include "_lsvmc_resizeimg.h" + +#include "fhog.hpp" + + +#ifdef HAVE_TBB +#include +#include "tbb/parallel_for.h" +#include "tbb/blocked_range.h" +#endif + +#ifndef max +#define max(a,b) (((a) > (b)) ? (a) : (b)) +#endif + +#ifndef min +#define min(a,b) (((a) < (b)) ? (a) : (b)) +#endif + + +/* +// Getting feature map for the selected subimage +// +// API +// int getFeatureMaps(const IplImage * image, const int k, featureMap **map); +// INPUT +// image - selected subimage +// k - size of cells +// OUTPUT +// map - feature map +// RESULT +// Error status +*/ +int getFeatureMaps(const IplImage* image, const int k, CvLSVMFeatureMapCaskade **map) +{ + int sizeX, sizeY; + int p, px, stringSize; + int height, width, numChannels; + int i, j, kk, c, ii, jj, d; + float * datadx, * datady; + + int ch; + float magnitude, x, y, tx, ty; + + IplImage * dx, * dy; + int *nearest; + float *w, a_x, b_x; + + float kernel[3] = {-1.f, 0.f, 1.f}; + CvMat kernel_dx = cvMat(1, 3, CV_32F, kernel); + CvMat kernel_dy = cvMat(3, 1, CV_32F, kernel); + + float * r; + int * alfa; + + float boundary_x[NUM_SECTOR + 1]; + float boundary_y[NUM_SECTOR + 1]; + float max, dotProd; + int maxi; + + height = image->height; + width = image->width ; + + numChannels = image->nChannels; + + dx = cvCreateImage(cvSize(image->width, image->height), + IPL_DEPTH_32F, 3); + dy = cvCreateImage(cvSize(image->width, image->height), + IPL_DEPTH_32F, 3); + + sizeX = width / k; + sizeY = height / k; + px = 3 * NUM_SECTOR; + p = px; + stringSize = sizeX * p; + allocFeatureMapObject(map, sizeX, sizeY, p); + + cvFilter2D(image, dx, &kernel_dx, cvPoint(-1, 0)); + cvFilter2D(image, dy, &kernel_dy, cvPoint(0, -1)); + + float arg_vector; + for(i = 0; i <= NUM_SECTOR; i++) + { + arg_vector = ( (float) i ) * ( (float)(PI) / (float)(NUM_SECTOR) ); + boundary_x[i] = cosf(arg_vector); + boundary_y[i] = sinf(arg_vector); + }/*for(i = 0; i <= NUM_SECTOR; i++) */ + + r = (float *)malloc( sizeof(float) * (width * height)); + alfa = (int *)malloc( sizeof(int ) * (width * height * 2)); + + for(j = 1; j < height - 1; j++) + { + datadx = (float*)(dx->imageData + dx->widthStep * j); + datady = (float*)(dy->imageData + dy->widthStep * j); + for(i = 1; i < width - 1; i++) + { + c = 0; + x = (datadx[i * numChannels + c]); + y = (datady[i * numChannels + c]); + + r[j * width + i] =sqrtf(x * x + y * y); + for(ch = 1; ch < numChannels; ch++) + { + tx = (datadx[i * numChannels + ch]); + ty = (datady[i * numChannels + ch]); + magnitude = sqrtf(tx * tx + ty * ty); + if(magnitude > r[j * width + i]) + { + r[j * width + i] = magnitude; + c = ch; + x = tx; + y = ty; + } + }/*for(ch = 1; ch < numChannels; ch++)*/ + + max = boundary_x[0] * x + boundary_y[0] * y; + maxi = 0; + for (kk = 0; kk < NUM_SECTOR; kk++) + { + dotProd = boundary_x[kk] * x + boundary_y[kk] * y; + if (dotProd > max) + { + max = dotProd; + maxi = kk; + } + else + { + if (-dotProd > max) + { + max = -dotProd; + maxi = kk + NUM_SECTOR; + } + } + } + alfa[j * width * 2 + i * 2 ] = maxi % NUM_SECTOR; + alfa[j * width * 2 + i * 2 + 1] = maxi; + }/*for(i = 0; i < width; i++)*/ + }/*for(j = 0; j < height; j++)*/ + + nearest = (int *)malloc(sizeof(int ) * k); + w = (float*)malloc(sizeof(float) * (k * 2)); + + for(i = 0; i < k / 2; i++) + { + nearest[i] = -1; + }/*for(i = 0; i < k / 2; i++)*/ + for(i = k / 2; i < k; i++) + { + nearest[i] = 1; + }/*for(i = k / 2; i < k; i++)*/ + + for(j = 0; j < k / 2; j++) + { + b_x = k / 2 + j + 0.5f; + a_x = k / 2 - j - 0.5f; + w[j * 2 ] = 1.0f/a_x * ((a_x * b_x) / ( a_x + b_x)); + w[j * 2 + 1] = 1.0f/b_x * ((a_x * b_x) / ( a_x + b_x)); + }/*for(j = 0; j < k / 2; j++)*/ + for(j = k / 2; j < k; j++) + { + a_x = j - k / 2 + 0.5f; + b_x =-j + k / 2 - 0.5f + k; + w[j * 2 ] = 1.0f/a_x * ((a_x * b_x) / ( a_x + b_x)); + w[j * 2 + 1] = 1.0f/b_x * ((a_x * b_x) / ( a_x + b_x)); + }/*for(j = k / 2; j < k; j++)*/ + + for(i = 0; i < sizeY; i++) + { + for(j = 0; j < sizeX; j++) + { + for(ii = 0; ii < k; ii++) + { + for(jj = 0; jj < k; jj++) + { + if ((i * k + ii > 0) && + (i * k + ii < height - 1) && + (j * k + jj > 0) && + (j * k + jj < width - 1)) + { + d = (k * i + ii) * width + (j * k + jj); + (*map)->map[ i * stringSize + j * (*map)->numFeatures + alfa[d * 2 ]] += + r[d] * w[ii * 2] * w[jj * 2]; + (*map)->map[ i * stringSize + j * (*map)->numFeatures + alfa[d * 2 + 1] + NUM_SECTOR] += + r[d] * w[ii * 2] * w[jj * 2]; + if ((i + nearest[ii] >= 0) && + (i + nearest[ii] <= sizeY - 1)) + { + (*map)->map[(i + nearest[ii]) * stringSize + j * (*map)->numFeatures + alfa[d * 2 ] ] += + r[d] * w[ii * 2 + 1] * w[jj * 2 ]; + (*map)->map[(i + nearest[ii]) * stringSize + j * (*map)->numFeatures + alfa[d * 2 + 1] + NUM_SECTOR] += + r[d] * w[ii * 2 + 1] * w[jj * 2 ]; + } + if ((j + nearest[jj] >= 0) && + (j + nearest[jj] <= sizeX - 1)) + { + (*map)->map[i * stringSize + (j + nearest[jj]) * (*map)->numFeatures + alfa[d * 2 ] ] += + r[d] * w[ii * 2] * w[jj * 2 + 1]; + (*map)->map[i * stringSize + (j + nearest[jj]) * (*map)->numFeatures + alfa[d * 2 + 1] + NUM_SECTOR] += + r[d] * w[ii * 2] * w[jj * 2 + 1]; + } + if ((i + nearest[ii] >= 0) && + (i + nearest[ii] <= sizeY - 1) && + (j + nearest[jj] >= 0) && + (j + nearest[jj] <= sizeX - 1)) + { + (*map)->map[(i + nearest[ii]) * stringSize + (j + nearest[jj]) * (*map)->numFeatures + alfa[d * 2 ] ] += + r[d] * w[ii * 2 + 1] * w[jj * 2 + 1]; + (*map)->map[(i + nearest[ii]) * stringSize + (j + nearest[jj]) * (*map)->numFeatures + alfa[d * 2 + 1] + NUM_SECTOR] += + r[d] * w[ii * 2 + 1] * w[jj * 2 + 1]; + } + } + }/*for(jj = 0; jj < k; jj++)*/ + }/*for(ii = 0; ii < k; ii++)*/ + }/*for(j = 1; j < sizeX - 1; j++)*/ + }/*for(i = 1; i < sizeY - 1; i++)*/ + + cvReleaseImage(&dx); + cvReleaseImage(&dy); + + + free(w); + free(nearest); + + free(r); + free(alfa); + + return LATENT_SVM_OK; +} + +/* +// Feature map Normalization and Truncation +// +// API +// int normalizeAndTruncate(featureMap *map, const float alfa); +// INPUT +// map - feature map +// alfa - truncation threshold +// OUTPUT +// map - truncated and normalized feature map +// RESULT +// Error status +*/ +int normalizeAndTruncate(CvLSVMFeatureMapCaskade *map, const float alfa) +{ + int i,j, ii; + int sizeX, sizeY, p, pos, pp, xp, pos1, pos2; + float * partOfNorm; // norm of C(i, j) + float * newData; + float valOfNorm; + + sizeX = map->sizeX; + sizeY = map->sizeY; + partOfNorm = (float *)malloc (sizeof(float) * (sizeX * sizeY)); + + p = NUM_SECTOR; + xp = NUM_SECTOR * 3; + pp = NUM_SECTOR * 12; + + for(i = 0; i < sizeX * sizeY; i++) + { + valOfNorm = 0.0f; + pos = i * map->numFeatures; + for(j = 0; j < p; j++) + { + valOfNorm += map->map[pos + j] * map->map[pos + j]; + }/*for(j = 0; j < p; j++)*/ + partOfNorm[i] = valOfNorm; + }/*for(i = 0; i < sizeX * sizeY; i++)*/ + + sizeX -= 2; + sizeY -= 2; + + newData = (float *)malloc (sizeof(float) * (sizeX * sizeY * pp)); +//normalization + for(i = 1; i <= sizeY; i++) + { + for(j = 1; j <= sizeX; j++) + { + valOfNorm = sqrtf( + partOfNorm[(i )*(sizeX + 2) + (j )] + + partOfNorm[(i )*(sizeX + 2) + (j + 1)] + + partOfNorm[(i + 1)*(sizeX + 2) + (j )] + + partOfNorm[(i + 1)*(sizeX + 2) + (j + 1)]) + FLT_EPSILON; + pos1 = (i ) * (sizeX + 2) * xp + (j ) * xp; + pos2 = (i-1) * (sizeX ) * pp + (j-1) * pp; + for(ii = 0; ii < p; ii++) + { + newData[pos2 + ii ] = map->map[pos1 + ii ] / valOfNorm; + }/*for(ii = 0; ii < p; ii++)*/ + for(ii = 0; ii < 2 * p; ii++) + { + newData[pos2 + ii + p * 4] = map->map[pos1 + ii + p] / valOfNorm; + }/*for(ii = 0; ii < 2 * p; ii++)*/ + valOfNorm = sqrtf( + partOfNorm[(i )*(sizeX + 2) + (j )] + + partOfNorm[(i )*(sizeX + 2) + (j + 1)] + + partOfNorm[(i - 1)*(sizeX + 2) + (j )] + + partOfNorm[(i - 1)*(sizeX + 2) + (j + 1)]) + FLT_EPSILON; + for(ii = 0; ii < p; ii++) + { + newData[pos2 + ii + p ] = map->map[pos1 + ii ] / valOfNorm; + }/*for(ii = 0; ii < p; ii++)*/ + for(ii = 0; ii < 2 * p; ii++) + { + newData[pos2 + ii + p * 6] = map->map[pos1 + ii + p] / valOfNorm; + }/*for(ii = 0; ii < 2 * p; ii++)*/ + valOfNorm = sqrtf( + partOfNorm[(i )*(sizeX + 2) + (j )] + + partOfNorm[(i )*(sizeX + 2) + (j - 1)] + + partOfNorm[(i + 1)*(sizeX + 2) + (j )] + + partOfNorm[(i + 1)*(sizeX + 2) + (j - 1)]) + FLT_EPSILON; + for(ii = 0; ii < p; ii++) + { + newData[pos2 + ii + p * 2] = map->map[pos1 + ii ] / valOfNorm; + }/*for(ii = 0; ii < p; ii++)*/ + for(ii = 0; ii < 2 * p; ii++) + { + newData[pos2 + ii + p * 8] = map->map[pos1 + ii + p] / valOfNorm; + }/*for(ii = 0; ii < 2 * p; ii++)*/ + valOfNorm = sqrtf( + partOfNorm[(i )*(sizeX + 2) + (j )] + + partOfNorm[(i )*(sizeX + 2) + (j - 1)] + + partOfNorm[(i - 1)*(sizeX + 2) + (j )] + + partOfNorm[(i - 1)*(sizeX + 2) + (j - 1)]) + FLT_EPSILON; + for(ii = 0; ii < p; ii++) + { + newData[pos2 + ii + p * 3 ] = map->map[pos1 + ii ] / valOfNorm; + }/*for(ii = 0; ii < p; ii++)*/ + for(ii = 0; ii < 2 * p; ii++) + { + newData[pos2 + ii + p * 10] = map->map[pos1 + ii + p] / valOfNorm; + }/*for(ii = 0; ii < 2 * p; ii++)*/ + }/*for(j = 1; j <= sizeX; j++)*/ + }/*for(i = 1; i <= sizeY; i++)*/ +//truncation + for(i = 0; i < sizeX * sizeY * pp; i++) + { + if(newData [i] > alfa) newData [i] = alfa; + }/*for(i = 0; i < sizeX * sizeY * pp; i++)*/ +//swop data + + map->numFeatures = pp; + map->sizeX = sizeX; + map->sizeY = sizeY; + + free (map->map); + free (partOfNorm); + + map->map = newData; + + return LATENT_SVM_OK; +} +/* +// Feature map reduction +// In each cell we reduce dimension of the feature vector +// according to original paper special procedure +// +// API +// int PCAFeatureMaps(featureMap *map) +// INPUT +// map - feature map +// OUTPUT +// map - feature map +// RESULT +// Error status +*/ +int PCAFeatureMaps(CvLSVMFeatureMapCaskade *map) +{ + int i,j, ii, jj, k; + int sizeX, sizeY, p, pp, xp, yp, pos1, pos2; + float * newData; + float val; + float nx, ny; + + sizeX = map->sizeX; + sizeY = map->sizeY; + p = map->numFeatures; + pp = NUM_SECTOR * 3 + 4; + yp = 4; + xp = NUM_SECTOR; + + nx = 1.0f / sqrtf((float)(xp * 2)); + ny = 1.0f / sqrtf((float)(yp )); + + newData = (float *)malloc (sizeof(float) * (sizeX * sizeY * pp)); + + for(i = 0; i < sizeY; i++) + { + for(j = 0; j < sizeX; j++) + { + pos1 = ((i)*sizeX + j)*p; + pos2 = ((i)*sizeX + j)*pp; + k = 0; + for(jj = 0; jj < xp * 2; jj++) + { + val = 0; + for(ii = 0; ii < yp; ii++) + { + val += map->map[pos1 + yp * xp + ii * xp * 2 + jj]; + }/*for(ii = 0; ii < yp; ii++)*/ + newData[pos2 + k] = val * ny; + k++; + }/*for(jj = 0; jj < xp * 2; jj++)*/ + for(jj = 0; jj < xp; jj++) + { + val = 0; + for(ii = 0; ii < yp; ii++) + { + val += map->map[pos1 + ii * xp + jj]; + }/*for(ii = 0; ii < yp; ii++)*/ + newData[pos2 + k] = val * ny; + k++; + }/*for(jj = 0; jj < xp; jj++)*/ + for(ii = 0; ii < yp; ii++) + { + val = 0; + for(jj = 0; jj < 2 * xp; jj++) + { + val += map->map[pos1 + yp * xp + ii * xp * 2 + jj]; + }/*for(jj = 0; jj < xp; jj++)*/ + newData[pos2 + k] = val * nx; + k++; + } /*for(ii = 0; ii < yp; ii++)*/ + }/*for(j = 0; j < sizeX; j++)*/ + }/*for(i = 0; i < sizeY; i++)*/ +//swop data + + map->numFeatures = pp; + + free (map->map); + + map->map = newData; + + return LATENT_SVM_OK; +} + + +//modified from "lsvmc_routine.cpp" + +int allocFeatureMapObject(CvLSVMFeatureMapCaskade **obj, const int sizeX, + const int sizeY, const int numFeatures) +{ + int i; + (*obj) = (CvLSVMFeatureMapCaskade *)malloc(sizeof(CvLSVMFeatureMapCaskade)); + (*obj)->sizeX = sizeX; + (*obj)->sizeY = sizeY; + (*obj)->numFeatures = numFeatures; + (*obj)->map = (float *) malloc(sizeof (float) * + (sizeX * sizeY * numFeatures)); + for(i = 0; i < sizeX * sizeY * numFeatures; i++) + { + (*obj)->map[i] = 0.0f; + } + return LATENT_SVM_OK; +} + +int freeFeatureMapObject (CvLSVMFeatureMapCaskade **obj) +{ + if(*obj == NULL) return LATENT_SVM_MEM_NULL; + if((*obj)->map == NULL) return LATENT_SVM_MEM_NULL; + + free((*obj)->map); + free(*obj); + (*obj) = NULL; + return LATENT_SVM_OK; +} diff --git a/app/src/main/cpp/dssttrack/fhog.hpp b/app/src/main/cpp/dssttrack/fhog.hpp new file mode 100644 index 0000000..060bfec --- /dev/null +++ b/app/src/main/cpp/dssttrack/fhog.hpp @@ -0,0 +1,178 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2010-2013, University of Nizhny Novgorod, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + + +//Modified from latentsvm module's "_lsvmc_latentsvm.h". + + +/*****************************************************************************/ +/* Latent SVM prediction API */ +/*****************************************************************************/ + +#ifndef _FHOG_H_ +#define _FHOG_H_ + +#include +//#include "_lsvmc_types.h" +//#include "_lsvmc_error.h" +//#include "_lsvmc_routine.h" + +//#include "opencv2/imgproc.hpp" +#include "opencv2/imgproc/imgproc_c.h" + + +//modified from "_lsvmc_types.h" + +// DataType: STRUCT featureMap +// FEATURE MAP DESCRIPTION +// Rectangular map (sizeX x sizeY), +// every cell stores feature vector (dimension = numFeatures) +// map - matrix of feature vectors +// to set and get feature vectors (i,j) +// used formula map[(j * sizeX + i) * p + k], where +// k - component of feature vector in cell (i, j) +typedef struct{ + int sizeX; + int sizeY; + int numFeatures; + float *map; +} CvLSVMFeatureMapCaskade; + + +#include "float.h" + +#define PI CV_PI + +#define EPS 0.000001 + +#define F_MAX FLT_MAX +#define F_MIN -FLT_MAX + +// The number of elements in bin +// The number of sectors in gradient histogram building +#define NUM_SECTOR 9 + +// The number of levels in image resize procedure +// We need Lambda levels to resize image twice +#define LAMBDA 10 + +// Block size. Used in feature pyramid building procedure +#define SIDE_LENGTH 8 + +#define VAL_OF_TRUNCATE 0.2f + + +//modified from "_lsvm_error.h" +#define LATENT_SVM_OK 0 +#define LATENT_SVM_MEM_NULL 2 +#define DISTANCE_TRANSFORM_OK 1 +#define DISTANCE_TRANSFORM_GET_INTERSECTION_ERROR -1 +#define DISTANCE_TRANSFORM_ERROR -2 +#define DISTANCE_TRANSFORM_EQUAL_POINTS -3 +#define LATENT_SVM_GET_FEATURE_PYRAMID_FAILED -4 +#define LATENT_SVM_SEARCH_OBJECT_FAILED -5 +#define LATENT_SVM_FAILED_SUPERPOSITION -6 +#define FILTER_OUT_OF_BOUNDARIES -7 +#define LATENT_SVM_TBB_SCHEDULE_CREATION_FAILED -8 +#define LATENT_SVM_TBB_NUMTHREADS_NOT_CORRECT -9 +#define FFT_OK 2 +#define FFT_ERROR -10 +#define LSVM_PARSER_FILE_NOT_FOUND -11 + + + +/* +// Getting feature map for the selected subimage +// +// API +// int getFeatureMaps(const IplImage * image, const int k, featureMap **map); +// INPUT +// image - selected subimage +// k - size of cells +// OUTPUT +// map - feature map +// RESULT +// Error status +*/ +int getFeatureMaps(const IplImage * image, const int k, CvLSVMFeatureMapCaskade **map); + + +/* +// Feature map Normalization and Truncation +// +// API +// int normalizationAndTruncationFeatureMaps(featureMap *map, const float alfa); +// INPUT +// map - feature map +// alfa - truncation threshold +// OUTPUT +// map - truncated and normalized feature map +// RESULT +// Error status +*/ +int normalizeAndTruncate(CvLSVMFeatureMapCaskade *map, const float alfa); + +/* +// Feature map reduction +// In each cell we reduce dimension of the feature vector +// according to original paper special procedure +// +// API +// int PCAFeatureMaps(featureMap *map) +// INPUT +// map - feature map +// OUTPUT +// map - feature map +// RESULT +// Error status +*/ +int PCAFeatureMaps(CvLSVMFeatureMapCaskade *map); + + +//modified from "lsvmc_routine.h" + +int allocFeatureMapObject(CvLSVMFeatureMapCaskade **obj, const int sizeX, const int sizeY, + const int p); + +int freeFeatureMapObject (CvLSVMFeatureMapCaskade **obj); + + +#endif diff --git a/app/src/main/cpp/dssttrack/kcftracker.cpp b/app/src/main/cpp/dssttrack/kcftracker.cpp new file mode 100644 index 0000000..6e18653 --- /dev/null +++ b/app/src/main/cpp/dssttrack/kcftracker.cpp @@ -0,0 +1,734 @@ +/* + +Tracker based on Kernelized Correlation Filter (KCF) [1] and Circulant Structure with Kernels (CSK) [2]. +CSK is implemented by using raw gray level features, since it is a single-channel filter. +KCF is implemented by using HOG features (the default), since it extends CSK to multiple channels. + +[1] J. F. Henriques, R. Caseiro, P. Martins, J. Batista, +"High-Speed Tracking with Kernelized Correlation Filters", TPAMI 2015. + +[2] J. F. Henriques, R. Caseiro, P. Martins, J. Batista, +"Exploiting the Circulant Structure of Tracking-by-detection with Kernels", ECCV 2012. + +Authors: Joao Faro, Christian Bailer, Joao F. Henriques +Contacts: joaopfaro@gmail.com, Christian.Bailer@dfki.de, henriques@isr.uc.pt +Institute of Systems and Robotics - University of Coimbra / Department Augmented Vision DFKI + + +Constructor parameters, all boolean: + hog: use HOG features (default), otherwise use raw pixels + fixed_window: fix window size (default), otherwise use ROI size (slower but more accurate) + multiscale: use multi-scale tracking (default; cannot be used with fixed_window = true) + +Default values are set for all properties of the tracker depending on the above choices. +Their values can be customized further before calling init(): + interp_factor: linear interpolation factor for adaptation + sigma: gaussian kernel bandwidth + lambda: regularization + cell_size: HOG cell size + padding: area surrounding the target, relative to its size + output_sigma_factor: bandwidth of gaussian target + template_size: template size in pixels, 0 to use ROI size + scale_step: scale step for multi-scale estimation, 1 to disable it + scale_weight: to downweight detection scores of other scales for added stability + +For speed, the value (template_size/cell_size) should be a power of 2 or a product of small prime numbers. + +Inputs to init(): + image is the initial frame. + roi is a cv::Rect with the target positions in the initial frame + +Inputs to update(): + image is the current frame. + +Outputs of update(): + cv::Rect with target positions for the current frame + + +By downloading, copying, installing or using the software you agree to this license. +If you do not agree to this license, do not download, install, +copy or use the software. + + + License Agreement + For Open Source Computer Vision Library + (3-clause BSD License) + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the names of the copyright holders nor the names of the contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +This software is provided by the copyright holders and contributors "as is" and +any express or implied warranties, including, but not limited to, the implied +warranties of merchantability and fitness for a particular purpose are disclaimed. +In no event shall copyright holders or contributors be liable for any direct, +indirect, incidental, special, exemplary, or consequential damages +(including, but not limited to, procurement of substitute goods or services; +loss of use, data, or profits; or business interruption) however caused +and on any theory of liability, whether in contract, strict liability, +or tort (including negligence or otherwise) arising in any way out of +the use of this software, even if advised of the possibility of such damage. + */ +//#include +#ifndef _KCFTRACKER_HEADERS +#include "kcftracker.hpp" +#include "ffttools.hpp" +#include "recttools.hpp" +#include "fhog.hpp" +#include "labdata.hpp" +#endif + +// Constructor +KCFTracker::KCFTracker(bool hog, bool fixed_window, bool multiscale, bool lab) +{ + + // Parameters equal in all cases + lambda = 0.0001; + padding = 2.5; + //output_sigma_factor = 0.1; + output_sigma_factor = 0.125; + + if (hog) { // HOG + // VOT + interp_factor = 0.012; + sigma = 0.6; + // TPAMI + //interp_factor = 0.02; + //sigma = 0.5; + cell_size = 4; + _hogfeatures = true; + + if (lab) { + interp_factor = 0.005; + sigma = 0.4; + //output_sigma_factor = 0.025; + output_sigma_factor = 0.1; + + _labfeatures = true; + _labCentroids = cv::Mat(nClusters, 3, CV_32FC1, &data); + cell_sizeQ = cell_size*cell_size; + } + else{ + _labfeatures = false; + } + } + else { // RAW + interp_factor = 0.075; + sigma = 0.2; + cell_size = 1; + _hogfeatures = false; + + if (lab) { + printf("Lab features are only used with HOG features.\n"); + _labfeatures = false; + } + } + + + if (multiscale) { // multiscale + template_size = 96; + //scale parameters initial + scale_padding = 1.0; + scale_step = 1.05; + scale_sigma_factor = 0.25; + n_scales = 33; + scale_lr = 0.025; + scale_max_area = 512; + currentScaleFactor = 1; + scale_lambda = 0.01; + + if (!fixed_window) { + //printf("Multiscale does not support non-fixed window.\n"); + fixed_window = true; + } + } + else if (fixed_window) { // fit correction without multiscale + template_size = 96; + //template_size = 100; + scale_step = 1; + } + else { + template_size = 1; + scale_step = 1; + } +} + +// Initialize tracker +void KCFTracker::init(const cv::Rect &roi, cv::Mat image) +{ + _roi = roi; + + assert(roi.width >= 0 && roi.height >= 0); + _tmpl = getFeatures(image, 1); + _prob = createGaussianPeak(size_patch[0], size_patch[1]); + _alphaf = cv::Mat(size_patch[0], size_patch[1], CV_32FC2, float(0)); + + dsstInit(roi, image); + //_num = cv::Mat(size_patch[0], size_patch[1], CV_32FC2, float(0)); + //_den = cv::Mat(size_patch[0], size_patch[1], CV_32FC2, float(0)); + train(_tmpl, 1.0); // train with initial frame + } + +// Update position based on the new frame +cv::Rect KCFTracker::update(cv::Mat image) +{ + if (_roi.x + _roi.width <= 0) _roi.x = -_roi.width + 1; + if (_roi.y + _roi.height <= 0) _roi.y = -_roi.height + 1; + if (_roi.x >= image.cols - 1) _roi.x = image.cols - 2; + if (_roi.y >= image.rows - 1) _roi.y = image.rows - 2; + + float cx = _roi.x + _roi.width / 2.0f; + float cy = _roi.y + _roi.height / 2.0f; + + float peak_value; + cv::Point2f res = detect(_tmpl, getFeatures(image, 0, 1.0f), peak_value); + + // Adjust by cell size and _scale + _roi.x = cx - _roi.width / 2.0f + ((float) res.x * cell_size * _scale * currentScaleFactor); + _roi.y = cy - _roi.height / 2.0f + ((float) res.y * cell_size * _scale * currentScaleFactor); + + if (_roi.x >= image.cols - 1) _roi.x = image.cols - 1; + if (_roi.y >= image.rows - 1) _roi.y = image.rows - 1; + if (_roi.x + _roi.width <= 0) _roi.x = -_roi.width + 2; + if (_roi.y + _roi.height <= 0) _roi.y = -_roi.height + 2; + + // Update scale + cv::Point2i scale_pi = detect_scale(image); + currentScaleFactor = currentScaleFactor * scaleFactors[scale_pi.x]; + if(currentScaleFactor < min_scale_factor) + currentScaleFactor = min_scale_factor; + // else if(currentScaleFactor > max_scale_factor) + // currentScaleFactor = max_scale_factor; + + train_scale(image); + + if (_roi.x >= image.cols - 1) _roi.x = image.cols - 1; + if (_roi.y >= image.rows - 1) _roi.y = image.rows - 1; + if (_roi.x + _roi.width <= 0) _roi.x = -_roi.width + 2; + if (_roi.y + _roi.height <= 0) _roi.y = -_roi.height + 2; + + + assert(_roi.width >= 0 && _roi.height >= 0); + cv::Mat x = getFeatures(image, 0); + train(x, interp_factor); + + + return _roi; +} + +// Detect the new scaling rate +cv::Point2i KCFTracker::detect_scale(cv::Mat image) +{ + cv::Mat xsf = KCFTracker::get_scale_sample(image); + + // Compute AZ in the paper + cv::Mat add_temp; + cv::reduce(FFTTools::complexMultiplication(sf_num, xsf), add_temp, 0, CV_REDUCE_SUM); + + // compute the final y + cv::Mat scale_response; + cv::idft(FFTTools::complexDivisionReal(add_temp, (sf_den + scale_lambda)), scale_response, cv::DFT_REAL_OUTPUT); + + // Get the max point as the final scaling rate + cv::Point2i pi; + double pv; + cv::minMaxLoc(scale_response, NULL, &pv, NULL, &pi); + + return pi; +} + + +// Detect object in the current frame. +cv::Point2f KCFTracker::detect(cv::Mat z, cv::Mat x, float &peak_value) +{ + using namespace FFTTools; + + cv::Mat k = gaussianCorrelation(x, z); + cv::Mat res = (real(fftd(complexMultiplication(_alphaf, fftd(k)), true))); + + //minMaxLoc only accepts doubles for the peak, and integer points for the coordinates + cv::Point2i pi; + double pv; + cv::minMaxLoc(res, NULL, &pv, NULL, &pi); + peak_value = (float) pv; + + //subpixel peak estimation, coordinates will be non-integer + cv::Point2f p((float)pi.x, (float)pi.y); + + if (pi.x > 0 && pi.x < res.cols-1) { + p.x += subPixelPeak(res.at(pi.y, pi.x-1), peak_value, res.at(pi.y, pi.x+1)); + } + + if (pi.y > 0 && pi.y < res.rows-1) { + p.y += subPixelPeak(res.at(pi.y-1, pi.x), peak_value, res.at(pi.y+1, pi.x)); + } + + p.x -= (res.cols) / 2; + p.y -= (res.rows) / 2; + + return p; +} + +// train tracker with a single image +void KCFTracker::train(cv::Mat x, float train_interp_factor) +{ + using namespace FFTTools; + + cv::Mat k = gaussianCorrelation(x, x); + cv::Mat alphaf = complexDivision(_prob, (fftd(k) + lambda)); + + _tmpl = (1 - train_interp_factor) * _tmpl + (train_interp_factor) * x; + _alphaf = (1 - train_interp_factor) * _alphaf + (train_interp_factor) * alphaf; + + + /*cv::Mat kf = fftd(gaussianCorrelation(x, x)); + cv::Mat num = complexMultiplication(kf, _prob); + cv::Mat den = complexMultiplication(kf, kf + lambda); + + _tmpl = (1 - train_interp_factor) * _tmpl + (train_interp_factor) * x; + _num = (1 - train_interp_factor) * _num + (train_interp_factor) * num; + _den = (1 - train_interp_factor) * _den + (train_interp_factor) * den; + + _alphaf = complexDivision(_num, _den);*/ + +} + +// Evaluates a Gaussian kernel with bandwidth SIGMA for all relative shifts between input images X and Y, which must both be MxN. They must also be periodic (ie., pre-processed with a cosine window). +cv::Mat KCFTracker::gaussianCorrelation(cv::Mat x1, cv::Mat x2) +{ + using namespace FFTTools; + cv::Mat c = cv::Mat( cv::Size(size_patch[1], size_patch[0]), CV_32F, cv::Scalar(0) ); + // HOG features + if (_hogfeatures) { + cv::Mat caux; + cv::Mat x1aux; + cv::Mat x2aux; + for (int i = 0; i < size_patch[2]; i++) { + x1aux = x1.row(i); // Procedure do deal with cv::Mat multichannel bug + x1aux = x1aux.reshape(1, size_patch[0]); + x2aux = x2.row(i).reshape(1, size_patch[0]); + cv::mulSpectrums(fftd(x1aux), fftd(x2aux), caux, 0, true); + caux = fftd(caux, true); + rearrange(caux); + caux.convertTo(caux,CV_32F); + c = c + real(caux); + } + } + // Gray features + else { + cv::mulSpectrums(fftd(x1), fftd(x2), c, 0, true); + c = fftd(c, true); + rearrange(c); + c = real(c); + } + cv::Mat d; + cv::max(( (cv::sum(x1.mul(x1))[0] + cv::sum(x2.mul(x2))[0])- 2. * c) / (size_patch[0]*size_patch[1]*size_patch[2]) , 0, d); + + cv::Mat k; + cv::exp((-d / (sigma * sigma)), k); + return k; +} + +// Create Gaussian Peak. Function called only in the first frame. +cv::Mat KCFTracker::createGaussianPeak(int sizey, int sizex) +{ + cv::Mat_ res(sizey, sizex); + + int syh = (sizey) / 2; + int sxh = (sizex) / 2; + + float output_sigma = std::sqrt((float) sizex * sizey) / padding * output_sigma_factor; + float mult = -0.5 / (output_sigma * output_sigma); + + for (int i = 0; i < sizey; i++) + for (int j = 0; j < sizex; j++) + { + int ih = i - syh; + int jh = j - sxh; + res(i, j) = std::exp(mult * (float) (ih * ih + jh * jh)); + } + return FFTTools::fftd(res); +} + +// Obtain sub-window from image, with replication-padding and extract features +cv::Mat KCFTracker::getFeatures(const cv::Mat & image, bool inithann, float scale_adjust) +{ + cv::Rect extracted_roi; + + float cx = _roi.x + _roi.width / 2; + float cy = _roi.y + _roi.height / 2; + + if (inithann) { + int padded_w = _roi.width * padding; + int padded_h = _roi.height * padding; + + if (template_size > 1) { // Fit largest dimension to the given template size + if (padded_w >= padded_h) //fit to width + _scale = padded_w / (float) template_size; + else + _scale = padded_h / (float) template_size; + + _tmpl_sz.width = padded_w / _scale; + _tmpl_sz.height = padded_h / _scale; + } + else { //No template size given, use ROI size + _tmpl_sz.width = padded_w; + _tmpl_sz.height = padded_h; + _scale = 1; + // original code from paper: + /*if (sqrt(padded_w * padded_h) >= 100) { //Normal size + _tmpl_sz.width = padded_w; + _tmpl_sz.height = padded_h; + _scale = 1; + } + else { //ROI is too big, track at half size + _tmpl_sz.width = padded_w / 2; + _tmpl_sz.height = padded_h / 2; + _scale = 2; + }*/ + } + + if (_hogfeatures) { + // Round to cell size and also make it even + _tmpl_sz.width = ( ( (int)(_tmpl_sz.width / (2 * cell_size)) ) * 2 * cell_size ) + cell_size*2; + _tmpl_sz.height = ( ( (int)(_tmpl_sz.height / (2 * cell_size)) ) * 2 * cell_size ) + cell_size*2; + } + else { //Make number of pixels even (helps with some logic involving half-dimensions) + _tmpl_sz.width = (_tmpl_sz.width / 2) * 2; + _tmpl_sz.height = (_tmpl_sz.height / 2) * 2; + } + } + + extracted_roi.width = scale_adjust * _scale * _tmpl_sz.width * currentScaleFactor; + extracted_roi.height = scale_adjust * _scale * _tmpl_sz.height * currentScaleFactor; + + // center roi with new size + extracted_roi.x = cx - extracted_roi.width / 2; + extracted_roi.y = cy - extracted_roi.height / 2; + + cv::Mat FeaturesMap; + cv::Mat z = RectTools::subwindow(image, extracted_roi, cv::BORDER_REPLICATE); + + if (z.cols != _tmpl_sz.width || z.rows != _tmpl_sz.height) { + cv::resize(z, z, _tmpl_sz); + } + + // HOG features + if (_hogfeatures) { + IplImage z_ipl = z; + CvLSVMFeatureMapCaskade *map; + getFeatureMaps(&z_ipl, cell_size, &map); + normalizeAndTruncate(map,0.2f); + PCAFeatureMaps(map); + size_patch[0] = map->sizeY; + size_patch[1] = map->sizeX; + size_patch[2] = map->numFeatures; + + FeaturesMap = cv::Mat(cv::Size(map->numFeatures,map->sizeX*map->sizeY), CV_32F, map->map); // Procedure do deal with cv::Mat multichannel bug + FeaturesMap = FeaturesMap.t(); + + freeFeatureMapObject(&map); + + // Lab features + if (_labfeatures) { + cv::Mat imgLab; + cvtColor(z, imgLab, CV_BGR2Lab); + unsigned char *input = (unsigned char*)(imgLab.data); + + // Sparse output vector + cv::Mat outputLab = cv::Mat(_labCentroids.rows, size_patch[0]*size_patch[1], CV_32F, float(0)); + + int cntCell = 0; + // Iterate through each cell + for (int cY = cell_size; cY < z.rows-cell_size; cY+=cell_size){ + for (int cX = cell_size; cX < z.cols-cell_size; cX+=cell_size){ + // Iterate through each pixel of cell (cX,cY) + for(int y = cY; y < cY+cell_size; ++y){ + for(int x = cX; x < cX+cell_size; ++x){ + // Lab components for each pixel + float l = (float)input[(z.cols * y + x) * 3]; + float a = (float)input[(z.cols * y + x) * 3 + 1]; + float b = (float)input[(z.cols * y + x) * 3 + 2]; + + // Iterate trough each centroid + float minDist = FLT_MAX; + int minIdx = 0; + float *inputCentroid = (float*)(_labCentroids.data); + for(int k = 0; k < _labCentroids.rows; ++k){ + float dist = ( (l - inputCentroid[3*k]) * (l - inputCentroid[3*k]) ) + + ( (a - inputCentroid[3*k+1]) * (a - inputCentroid[3*k+1]) ) + + ( (b - inputCentroid[3*k+2]) * (b - inputCentroid[3*k+2]) ); + if(dist < minDist){ + minDist = dist; + minIdx = k; + } + } + // Store result at output + outputLab.at(minIdx, cntCell) += 1.0 / cell_sizeQ; + //((float*) outputLab.data)[minIdx * (size_patch[0]*size_patch[1]) + cntCell] += 1.0 / cell_sizeQ; + } + } + cntCell++; + } + } + // Update size_patch[2] and add features to FeaturesMap + size_patch[2] += _labCentroids.rows; + FeaturesMap.push_back(outputLab); + } + } + else { + FeaturesMap = RectTools::getGrayImage(z); + FeaturesMap -= (float) 0.5; // In Paper; + size_patch[0] = z.rows; + size_patch[1] = z.cols; + size_patch[2] = 1; + } + + if (inithann) { + createHanningMats(); + } + FeaturesMap = hann.mul(FeaturesMap); + return FeaturesMap; +} + +// Initialize Hanning window. Function called only in the first frame. +void KCFTracker::createHanningMats() +{ + cv::Mat hann1t = cv::Mat(cv::Size(size_patch[1],1), CV_32F, cv::Scalar(0)); + cv::Mat hann2t = cv::Mat(cv::Size(1,size_patch[0]), CV_32F, cv::Scalar(0)); + + for (int i = 0; i < hann1t.cols; i++) + hann1t.at (0, i) = 0.5 * (1 - std::cos(2 * 3.14159265358979323846 * i / (hann1t.cols - 1))); + for (int i = 0; i < hann2t.rows; i++) + hann2t.at (i, 0) = 0.5 * (1 - std::cos(2 * 3.14159265358979323846 * i / (hann2t.rows - 1))); + + cv::Mat hann2d = hann2t * hann1t; + // HOG features + if (_hogfeatures) { + cv::Mat hann1d = hann2d.reshape(1,1); // Procedure do deal with cv::Mat multichannel bug + + hann = cv::Mat(cv::Size(size_patch[0]*size_patch[1], size_patch[2]), CV_32F, cv::Scalar(0)); + for (int i = 0; i < size_patch[2]; i++) { + for (int j = 0; j(i,j) = hann1d.at(0,j); + } + } + } + // Gray features + else { + hann = hann2d; + } +} + +// Calculate sub-pixel peak for one dimension +float KCFTracker::subPixelPeak(float left, float center, float right) +{ + float divisor = 2 * center - right - left; + + if (divisor == 0) + return 0; + + return 0.5 * (right - left) / divisor; +} + +// Initialization for scales +void KCFTracker::dsstInit(const cv::Rect &roi, cv::Mat image) +{ + // The initial size for adjusting + base_width = roi.width; + base_height = roi.height; + + // Guassian peak for scales (after fft) + ysf = computeYsf(); + s_hann = createHanningMatsForScale(); + + // Get all scale changing rate + scaleFactors = new float[n_scales]; + float ceilS = std::ceil(n_scales / 2.0f); + for(int i = 0 ; i < n_scales; i++) + { + scaleFactors[i] = std::pow(scale_step, ceilS - i - 1); + } + + // Get the scaling rate for compressing to the model size + float scale_model_factor = 1; + if(base_width * base_height > scale_max_area) + { + scale_model_factor = std::sqrt(scale_max_area / (float)(base_width * base_height)); + } + scale_model_width = (int)(base_width * scale_model_factor); + scale_model_height = (int)(base_height * scale_model_factor); + + // Compute min and max scaling rate + min_scale_factor = std::pow(scale_step, + std::ceil(std::log((fmax(5 / (float) base_width, 5 / (float) base_height) * (1 + scale_padding))) / 0.0086)); + max_scale_factor = std::pow(scale_step, + std::floor(std::log(fmin(image.rows / (float) base_height, image.cols / (float) base_width)) / 0.0086)); + + train_scale(image, true); + +} + +// Train method for scaling +void KCFTracker::train_scale(cv::Mat image, bool ini) +{ + cv::Mat xsf = get_scale_sample(image); + + // Adjust ysf to the same size as xsf in the first time + if(ini) + { + int totalSize = xsf.rows; + ysf = cv::repeat(ysf, totalSize, 1); + } + + // Get new GF in the paper (delta A) + cv::Mat new_sf_num; + cv::mulSpectrums(ysf, xsf, new_sf_num, 0, true); + + // Get Sigma{FF} in the paper (delta B) + cv::Mat new_sf_den; + cv::mulSpectrums(xsf, xsf, new_sf_den, 0, true); + cv::reduce(FFTTools::real(new_sf_den), new_sf_den, 0, CV_REDUCE_SUM); + + if(ini) + { + sf_den = new_sf_den; + sf_num = new_sf_num; + }else + { + // Get new A and new B + cv::addWeighted(sf_den, (1 - scale_lr), new_sf_den, scale_lr, 0, sf_den); + cv::addWeighted(sf_num, (1 - scale_lr), new_sf_num, scale_lr, 0, sf_num); + } + + update_roi(); + +} + +// Update the ROI size after training +void KCFTracker::update_roi() +{ + // Compute new center + float cx = _roi.x + _roi.width / 2.0f; + float cy = _roi.y + _roi.height / 2.0f; + + // printf("%f\n", currentScaleFactor); + + // Recompute the ROI left-upper point and size + _roi.width = base_width * currentScaleFactor; + _roi.height = base_height * currentScaleFactor; + + _roi.x = cx - _roi.width / 2.0f; + _roi.y = cy - _roi.height / 2.0f; + +} + +// Compute the F^l in the paper +cv::Mat KCFTracker::get_scale_sample(const cv::Mat & image) +{ + CvLSVMFeatureMapCaskade *map[n_scales]; // temporarily store FHOG result + cv::Mat xsf; // output + int totalSize; // # of features + cv::Size ssize; + + + for(int i = 0; i < n_scales; i++) + { + map[i] = NULL; + } + + for(int i = 0; i < n_scales; i++) + { + // Size of subwindow waiting to be detect + float patch_width = base_width * scaleFactors[i] * currentScaleFactor; + float patch_height = base_height * scaleFactors[i] * currentScaleFactor; + + float cx = _roi.x + _roi.width / 2.0f; + float cy = _roi.y + _roi.height / 2.0f; + + // Get the subwindow + cv::Mat im_patch = RectTools::extractImage(image, cx, cy, patch_width, patch_height); + cv::Mat im_patch_resized; + + ssize = im_patch.size(); + + //printf("im_patch_width=%d\n",ssize.width); + //printf("im_patch_height=%d\n",ssize.height); + + if(ssize.width <= 0 || ssize.height <= 0) + { + continue; + } + + // Scaling the subwindow + if(scale_model_width > im_patch.cols) + resize(im_patch, im_patch_resized, cv::Size(scale_model_width, scale_model_height), 0, 0, 1); + else + resize(im_patch, im_patch_resized, cv::Size(scale_model_width, scale_model_height), 0, 0, 3); + + // Compute the FHOG features for the subwindow + IplImage im_ipl = im_patch_resized; + getFeatureMaps(&im_ipl, cell_size, &map[i]); + normalizeAndTruncate(map[i], 0.2f); + PCAFeatureMaps(map[i]); + + if(i == 0) + { + totalSize = map[i]->numFeatures*map[i]->sizeX*map[i]->sizeY; + xsf = cv::Mat(cv::Size(n_scales,totalSize), CV_32F, float(0)); + } + + // Multiply the FHOG results by hanning window and copy to the output + cv::Mat FeaturesMap = cv::Mat(cv::Size(1, totalSize), CV_32F, map[i]->map); + float mul = s_hann.at (0, i); + FeaturesMap = mul * FeaturesMap; + FeaturesMap.copyTo(xsf.col(i)); + + } + + // Free the temp variables + for(int i = 0; i < n_scales; i++) + freeFeatureMapObject(&map[i]); + + // Do fft to the FHOG features row by row + xsf = FFTTools::fftd(xsf, 0, 1); + + return xsf; +} + +// Compute the FFT Guassian Peak for scaling +cv::Mat KCFTracker::computeYsf() +{ + float scale_sigma2 = n_scales / std::sqrt(n_scales) * scale_sigma_factor; + scale_sigma2 = scale_sigma2 * scale_sigma2; + cv::Mat res(cv::Size(n_scales, 1), CV_32F, float(0)); + float ceilS = std::ceil(n_scales / 2.0f); + + for(int i = 0; i < n_scales; i++) + { + res.at(0,i) = std::exp(- 0.5 * std::pow(i + 1- ceilS, 2) / scale_sigma2); + } + + return FFTTools::fftd(res); + +} + +// Compute the hanning window for scaling +cv::Mat KCFTracker::createHanningMatsForScale() +{ + cv::Mat hann_s = cv::Mat(cv::Size(n_scales, 1), CV_32F, cv::Scalar(0)); + for (int i = 0; i < hann_s.cols; i++) + hann_s.at (0, i) = 0.5 * (1 - std::cos(2 * 3.14159265358979323846 * i / (hann_s.cols - 1))); + + return hann_s; +} diff --git a/app/src/main/cpp/dssttrack/kcftracker.hpp b/app/src/main/cpp/dssttrack/kcftracker.hpp new file mode 100644 index 0000000..f050914 --- /dev/null +++ b/app/src/main/cpp/dssttrack/kcftracker.hpp @@ -0,0 +1,194 @@ +/* + +Tracker based on Kernelized Correlation Filter (KCF) [1] and Circulant Structure with Kernels (CSK) [2]. +CSK is implemented by using raw gray level features, since it is a single-channel filter. +KCF is implemented by using HOG features (the default), since it extends CSK to multiple channels. + +[1] J. F. Henriques, R. Caseiro, P. Martins, J. Batista, +"High-Speed Tracking with Kernelized Correlation Filters", TPAMI 2015. + +[2] J. F. Henriques, R. Caseiro, P. Martins, J. Batista, +"Exploiting the Circulant Structure of Tracking-by-detection with Kernels", ECCV 2012. + +Authors: Joao Faro, Christian Bailer, Joao F. Henriques +Contacts: joaopfaro@gmail.com, Christian.Bailer@dfki.de, henriques@isr.uc.pt +Institute of Systems and Robotics - University of Coimbra / Department Augmented Vision DFKI + + +Constructor parameters, all boolean: + hog: use HOG features (default), otherwise use raw pixels + fixed_window: fix window size (default), otherwise use ROI size (slower but more accurate) + multiscale: use multi-scale tracking (default; cannot be used with fixed_window = true) + +Default values are set for all properties of the tracker depending on the above choices. +Their values can be customized further before calling init(): + interp_factor: linear interpolation factor for adaptation + sigma: gaussian kernel bandwidth + lambda: regularization + cell_size: HOG cell size + padding: horizontal area surrounding the target, relative to its size + output_sigma_factor: bandwidth of gaussian target + template_size: template size in pixels, 0 to use ROI size + scale_step: scale step for multi-scale estimation, 1 to disable it + scale_weight: to downweight detection scores of other scales for added stability + +For speed, the value (template_size/cell_size) should be a power of 2 or a product of small prime numbers. + +Inputs to init(): + image is the initial frame. + roi is a cv::Rect with the target positions in the initial frame + +Inputs to update(): + image is the current frame. + +Outputs of update(): + cv::Rect with target positions for the current frame + + +By downloading, copying, installing or using the software you agree to this license. +If you do not agree to this license, do not download, install, +copy or use the software. + + + License Agreement + For Open Source Computer Vision Library + (3-clause BSD License) + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the names of the copyright holders nor the names of the contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +This software is provided by the copyright holders and contributors "as is" and +any express or implied warranties, including, but not limited to, the implied +warranties of merchantability and fitness for a particular purpose are disclaimed. +In no event shall copyright holders or contributors be liable for any direct, +indirect, incidental, special, exemplary, or consequential damages +(including, but not limited to, procurement of substitute goods or services; +loss of use, data, or profits; or business interruption) however caused +and on any theory of liability, whether in contract, strict liability, +or tort (including negligence or otherwise) arising in any way out of +the use of this software, even if advised of the possibility of such damage. + */ + +#pragma once + +#include "tracker.h" + +#ifndef _OPENCV_KCFTRACKER_HPP_ +#define _OPENCV_KCFTRACKER_HPP_ +#endif + +class KCFTracker : public Tracker +{ +public: + // Constructor + KCFTracker(bool hog = true, bool fixed_window = true, bool multiscale = true, bool lab = true); + + // Initialize tracker + virtual void init(const cv::Rect &roi, cv::Mat image); + + // Update position based on the new frame + virtual cv::Rect update(cv::Mat image); + + float interp_factor; // linear interpolation factor for adaptation + float sigma; // gaussian kernel bandwidth + float lambda; // regularization + int cell_size; // HOG cell size + int cell_sizeQ; // cell size^2, to avoid repeated operations + float padding; // extra area surrounding the target + float output_sigma_factor; // bandwidth of gaussian target + int template_size; // template size + + int base_width; // initial ROI widt + int base_height; // initial ROI height + int scale_max_area; // max ROI size before compressing + float scale_padding; // extra area surrounding the target for scaling + float scale_step; // scale step for multi-scale estimation + float scale_sigma_factor; // bandwidth of gaussian target + int n_scales; // # of scaling windows + float scale_lr; // scale learning rate + float *scaleFactors; // all scale changing rate, from larger to smaller with 1 to be the middle + int scale_model_width; // the model width for scaling + int scale_model_height; // the model height for scaling + float currentScaleFactor; // scaling rate + float min_scale_factor; // min scaling rate + float max_scale_factor; // max scaling rate + float scale_lambda; // regularization + + +protected: + // Detect object in the current frame. + cv::Point2f detect(cv::Mat z, cv::Mat x, float &peak_value); + + // train tracker with a single image + void train(cv::Mat x, float train_interp_factor); + + // Evaluates a Gaussian kernel with bandwidth SIGMA for all relative shifts between input images X and Y, which must both be MxN. They must also be periodic (ie., pre-processed with a cosine window). + cv::Mat gaussianCorrelation(cv::Mat x1, cv::Mat x2); + + // Create Gaussian Peak. Function called only in the first frame. + cv::Mat createGaussianPeak(int sizey, int sizex); + + // Obtain sub-window from image, with replication-padding and extract features + cv::Mat getFeatures(const cv::Mat & image, bool inithann, float scale_adjust = 1.0f); + + // Initialize Hanning window. Function called only in the first frame. + void createHanningMats(); + + // Calculate sub-pixel peak for one dimension + float subPixelPeak(float left, float center, float right); + + // Compute the FFT Guassian Peak for scaling + cv::Mat computeYsf(); + + // Compute the hanning window for scaling + cv::Mat createHanningMatsForScale(); + + // Initialization for scales + void dsstInit(const cv::Rect &roi, cv::Mat image); + + // Compute the F^l in the paper + cv::Mat get_scale_sample(const cv::Mat & image); + + // Update the ROI size after training + void update_roi(); + + // Train method for scaling + void train_scale(cv::Mat image, bool ini = false); + + // Detect the new scaling rate + cv::Point2i detect_scale(cv::Mat image); + + cv::Mat _alphaf; + cv::Mat _prob; + cv::Mat _tmpl; + cv::Mat _num; + cv::Mat _den; + cv::Mat _labCentroids; + + cv::Mat sf_den; + cv::Mat sf_num; + +private: + int size_patch[3]; + cv::Mat hann; + cv::Size _tmpl_sz; + float _scale; + int _gaussian_size; + bool _hogfeatures; + bool _labfeatures; + + cv::Mat s_hann; + cv::Mat ysf; + +}; diff --git a/app/src/main/cpp/dssttrack/labdata.hpp b/app/src/main/cpp/dssttrack/labdata.hpp new file mode 100644 index 0000000..26e7a65 --- /dev/null +++ b/app/src/main/cpp/dssttrack/labdata.hpp @@ -0,0 +1,17 @@ +const int nClusters = 15; +float data[nClusters][3] = { +{161.317504, 127.223401, 128.609333}, +{142.922425, 128.666965, 127.532319}, +{67.879757, 127.721830, 135.903311}, +{92.705062, 129.965717, 137.399500}, +{120.172257, 128.279647, 127.036493}, +{195.470568, 127.857070, 129.345415}, +{41.257102, 130.059468, 132.675336}, +{12.014861, 129.480555, 127.064714}, +{226.567086, 127.567831, 136.345727}, +{154.664210, 131.676606, 156.481669}, +{121.180447, 137.020793, 153.433743}, +{87.042204, 137.211742, 98.614874}, +{113.809537, 106.577104, 157.818094}, +{81.083293, 170.051905, 148.904079}, +{45.015485, 138.543124, 102.402528}}; \ No newline at end of file diff --git a/app/src/main/cpp/dssttrack/recttools.hpp b/app/src/main/cpp/dssttrack/recttools.hpp new file mode 100644 index 0000000..8ecc8f9 --- /dev/null +++ b/app/src/main/cpp/dssttrack/recttools.hpp @@ -0,0 +1,165 @@ +/* +Author: Christian Bailer +Contact address: Christian.Bailer@dfki.de +Department Augmented Vision DFKI + + License Agreement + For Open Source Computer Vision Library + (3-clause BSD License) + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the names of the copyright holders nor the names of the contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +This software is provided by the copyright holders and contributors "as is" and +any express or implied warranties, including, but not limited to, the implied +warranties of merchantability and fitness for a particular purpose are disclaimed. +In no event shall copyright holders or contributors be liable for any direct, +indirect, incidental, special, exemplary, or consequential damages +(including, but not limited to, procurement of substitute goods or services; +loss of use, data, or profits; or business interruption) however caused +and on any theory of liability, whether in contract, strict liability, +or tort (including negligence or otherwise) arising in any way out of +the use of this software, even if advised of the possibility of such damage. +*/ + +#pragma once + +//#include +#include + +#ifndef _OPENCV_RECTTOOLS_HPP_ +#define _OPENCV_RECTTOOLS_HPP_ +#endif + +namespace RectTools +{ + +template +inline cv::Vec center(const cv::Rect_ &rect) +{ + return cv::Vec (rect.x + rect.width / (t) 2, rect.y + rect.height / (t) 2); +} + +template +inline t x2(const cv::Rect_ &rect) +{ + return rect.x + rect.width; +} + +template +inline t y2(const cv::Rect_ &rect) +{ + return rect.y + rect.height; +} + +template +inline void resize(cv::Rect_ &rect, float scalex, float scaley = 0) +{ + if (!scaley)scaley = scalex; + rect.x -= rect.width * (scalex - 1.f) / 2.f; + rect.width *= scalex; + + rect.y -= rect.height * (scaley - 1.f) / 2.f; + rect.height *= scaley; + +} + +template +inline void limit(cv::Rect_ &rect, cv::Rect_ limit) +{ + if (rect.x + rect.width > limit.x + limit.width)rect.width = (limit.x + limit.width - rect.x); + if (rect.y + rect.height > limit.y + limit.height)rect.height = (limit.y + limit.height - rect.y); + if (rect.x < limit.x) + { + rect.width -= (limit.x - rect.x); + rect.x = limit.x; + } + if (rect.y < limit.y) + { + rect.height -= (limit.y - rect.y); + rect.y = limit.y; + } + if(rect.width<0)rect.width=0; + if(rect.height<0)rect.height=0; +} + +template +inline void limit(cv::Rect_ &rect, t width, t height, t x = 0, t y = 0) +{ + limit(rect, cv::Rect_ (x, y, width, height)); +} + +template +inline cv::Rect getBorder(const cv::Rect_ &original, cv::Rect_ & limited) +{ + cv::Rect_ res; + res.x = limited.x - original.x; + res.y = limited.y - original.y; + res.width = x2(original) - x2(limited); + res.height = y2(original) - y2(limited); + assert(res.x >= 0 && res.y >= 0 && res.width >= 0 && res.height >= 0); + return res; +} + +inline cv::Mat subwindow(const cv::Mat &in, const cv::Rect & window, int borderType = cv::BORDER_CONSTANT) +{ + cv::Rect cutWindow = window; + RectTools::limit(cutWindow, in.cols, in.rows); + if (cutWindow.height <= 0 || cutWindow.width <= 0)assert(0); //return cv::Mat(window.height,window.width,in.type(),0) ; + cv::Rect border = RectTools::getBorder(window, cutWindow); + cv::Mat res = in(cutWindow); + + if (border != cv::Rect(0, 0, 0, 0)) + { + cv::copyMakeBorder(res, res, border.y, border.height, border.x, border.width, borderType); + } + return res; +} + + +inline void cutOutsize(float &num, int limit) +{ + if(num < 0) + num = 0; + else if(num > limit - 1) + num = limit - 1; +} + +inline cv::Mat extractImage(const cv::Mat &in, float cx, float cy, float patch_width, float patch_height) +{ + + float xs_s = floor(cx) - floor(patch_width / 2); + RectTools::cutOutsize(xs_s, in.cols); + + float xs_e = floor(cx + patch_width - 1) - floor(patch_width / 2); + RectTools::cutOutsize(xs_e, in.cols); + + float ys_s = floor(cy) - floor(patch_height / 2); + RectTools::cutOutsize(ys_s, in.rows); + + float ys_e = floor(cy + patch_height - 1) - floor(patch_height / 2); + RectTools::cutOutsize(ys_e, in.rows); + + + return in(cv::Rect(xs_s, ys_s, xs_e - xs_s, ys_e - ys_s)); +} + +inline cv::Mat getGrayImage(cv::Mat img) +{ + cv::cvtColor(img, img, CV_BGR2GRAY); + img.convertTo(img, CV_32F, 1 / 255.f); + return img; +} + +} diff --git a/app/src/main/cpp/dssttrack/runtracker.cpp b/app/src/main/cpp/dssttrack/runtracker.cpp new file mode 100644 index 0000000..40f5756 --- /dev/null +++ b/app/src/main/cpp/dssttrack/runtracker.cpp @@ -0,0 +1,189 @@ +#include +#include +#include +#include +#include +#include +#include +#include "opencv2/imgproc/imgproc.hpp" + +#include "kcftracker.hpp" + +#include +#include + +using namespace std; +using namespace cv; + +// Frame readed +Mat frame; +// Tracker results +Rect result; +bool select_flag=false; +bool selected = false; +Point origin; + +void onMouse(int event,int x,int y,int flags, void* userdata) +{ + //Point origin;//不能在这个地方进行定义,因为这是基于消息响应的函数,执行完后origin就释放了,所以达不到效果。 + if(select_flag) + { + result.x=MIN(origin.x,x);//不一定要等鼠标弹起才计算矩形框,而应该在鼠标按下开始到弹起这段时间实时计算所选矩形框 + result.y=MIN(origin.y,y); + result.width=abs(x-origin.x);//算矩形宽度和高度 + result.height=abs(y-origin.y); + result&=Rect(0,0,frame.cols,frame.rows);//保证所选矩形框在视频显示区域之内 + } + if(event==EVENT_LBUTTONDOWN) + { + select_flag=true;//鼠标按下的标志赋真值 + origin=Point(x,y);//保存下来单击是捕捉到的点 + result=Rect(x,y,0,0);//这里一定要初始化,宽和高为(0,0)是因为在opencv中Rect矩形框类内的点是包含左上角那个点的,但是不含右下角那个点 + } + else if(event==EVENT_LBUTTONUP) + { + select_flag=false; + selected = true; + } +} + +int init_tracker(void) +{ + bool HOG = true; + bool FIXEDWINDOW = false; + bool MULTISCALE = true; + bool SILENT = false; + bool LAB = false; + + //freopen("/sdcard/stdout.txt","w",stdout); + // cout<<"init_tracker.\n"< 5) return -1; + + bool HOG = true; + bool FIXEDWINDOW = false; + bool MULTISCALE = true; + bool SILENT = false; + bool LAB = false; + VideoCapture cam(0); //webcam + + for(int i = 0; i < argc; i++){ + if ( strcmp (argv[i], "hog") == 0 ) + HOG = true; + if ( strcmp (argv[i], "fixed_window") == 0 ) + FIXEDWINDOW = true; + if ( strcmp (argv[i], "singlescale") == 0 ) + MULTISCALE = false; + if ( strcmp (argv[i], "show") == 0 ) + SILENT = false; + if ( strcmp (argv[i], "lab") == 0 ){ + LAB = true; + HOG = true; + } + if ( strcmp (argv[i], "gray") == 0 ) + HOG = false; + } + + // Create KCFTracker object + KCFTracker tracker(HOG, FIXEDWINDOW, MULTISCALE, LAB); + + + + //New window + string window_name = "video | q or esc to quit"; + namedWindow(window_name, 1); + + //set Rect + // setMouseCallback(window_name,onMouse,0); + + // Using min and max of X and Y for groundtruth rectangle + // float xMin = result.x; + // float yMin = result.y; + // float width = result.width; + // float height = result.height; + + // Write Results + ofstream resultsFile; + string resultsPath = "output.txt"; + resultsFile.open(resultsPath); + + // Frame counter + int nFrames = 0; + + + while ( 1 ){ + cam >> frame; + + float xMin = result.x; + float yMin = result.y; + float width = result.width; + float height = result.height; + setMouseCallback(window_name,onMouse,0); + + if (selected){ + // First frame, give the groundtruth to the tracker + if (nFrames == 0) { + tracker.init( Rect(xMin, yMin, width, height), frame ); + // rectangle( frame, Point( xMin, yMin ), Point( xMin+width, yMin+height), Scalar( 0, 255, 255 ), 1, 8 ); + // resultsFile << xMin << "," << yMin << "," << width << "," << height << endl; + } + // // Update + else{ + timespec start, end, diff; + clock_gettime(CLOCK_THREAD_CPUTIME_ID, &start); + + result = tracker.update(frame); + rectangle( frame, Point( result.x, result.y ), Point( result.x+result.width, result.y+result.height), Scalar( 0, 255, 255 ), 1, 8 ); + // resultsFile << result.x << "," << result.y << "," << result.width << "," << result.height << endl; + + clock_gettime(CLOCK_THREAD_CPUTIME_ID, &end); + diff.tv_sec = ( end.tv_sec - start.tv_sec ); + diff.tv_nsec = ( end.tv_nsec - start.tv_nsec ); + if (diff.tv_nsec < 0) { + diff.tv_sec--; + diff.tv_nsec += 1000000000; + } + + + int usec = diff.tv_nsec + diff.tv_sec * 1000000000; + double resultTime = (double)usec / 1000000000; + + printf("%f\n",1/resultTime); + } + // printf("%s\n", "a"); + nFrames++; + }else{ + rectangle( frame, Point( xMin, yMin ), Point( xMin+width, yMin+height), Scalar( 0, 255, 255 ), 1, 8 ); + } + + + if (!SILENT){ + imshow(window_name, frame); + } + + char key = (char)waitKey(10); //delay N millis, usually long enough to display and capture input + + switch (key) { + case 'q': + case 'Q': + case 27: //escape key + return 0; + default: + break; + } + // if(key == 27) + // break; + + } + // resultsFile.close(); + + return 0; + +} diff --git a/app/src/main/cpp/dssttrack/tracker.h b/app/src/main/cpp/dssttrack/tracker.h new file mode 100644 index 0000000..41b5ea3 --- /dev/null +++ b/app/src/main/cpp/dssttrack/tracker.h @@ -0,0 +1,39 @@ +/* + * File: BasicTracker.h + * Author: Joao F. Henriques, Joao Faro, Christian Bailer + * Contact address: henriques@isr.uc.pt, joaopfaro@gmail.com, Christian.Bailer@dfki.de + * Instute of Systems and Robotics- University of COimbra / Department Augmented Vision DFKI + * + * This source code is provided for for research purposes only. For a commercial license or a different use case please contact us. + * You are not allowed to publish the unmodified sourcecode on your own e.g. on your webpage. Please refer to the official download page instead. + * If you want to publish a modified/extended version e.g. because you wrote a publication with a modified version of the sourcecode you need our + * permission (Please contact us for the permission). + * + * We reserve the right to change the license of this sourcecode anytime to BSD, GPL or LGPL. + * By using the sourcecode you agree to possible restrictions and requirements of these three license models so that the license can be changed + * anytime without you knowledge. + */ + + + +#pragma once + +#include +#include + +class Tracker +{ +public: + Tracker() {} + virtual ~Tracker() { } + + virtual void init(const cv::Rect &roi, cv::Mat image) = 0; + virtual cv::Rect update( cv::Mat image)=0; + + +protected: + cv::Rect_ _roi; +}; + + + diff --git a/app/src/main/cpp/handdetect/CMakeLists.txt b/app/src/main/cpp/handdetect/CMakeLists.txt new file mode 100644 index 0000000..d73fb45 --- /dev/null +++ b/app/src/main/cpp/handdetect/CMakeLists.txt @@ -0,0 +1,4 @@ +find_library( libopencv_java3 log) +aux_source_directory(${CMAKE_SOURCE_DIR}/src/main/cpp/handdetect DIR_LIB_SRCS) + +add_library (handdetect STATIC ${DIR_LIB_SRCS}) diff --git a/app/src/main/cpp/handdetect/fist.xml b/app/src/main/cpp/handdetect/fist.xml new file mode 100644 index 0000000..28509ab --- /dev/null +++ b/app/src/main/cpp/handdetect/fist.xml @@ -0,0 +1,3527 @@ + + + + + 24 24 + + <_> + + <_> + <_> + + + <_> + 6 5 13 12 -1. + <_> + 6 9 13 4 3. + 0 + -0.0651490092277527 + 0.6951749920845032 + -0.7493618726730347 + <_> + <_> + + + <_> + 16 0 8 11 -1. + <_> + 18 2 4 11 2. + 1 + -0.0312954708933830 + 0.5010505914688110 + -0.5722535252571106 + <_> + <_> + + + <_> + 1 8 6 14 -1. + <_> + 1 8 3 7 2. + <_> + 4 15 3 7 2. + 0 + 0.0103672398254275 + -0.5131406188011169 + 0.4614940881729126 + <_> + <_> + + + <_> + 4 12 6 3 -1. + <_> + 7 12 3 3 2. + 0 + 3.2592189381830394e-004 + 0.2564806938171387 + -0.7778527140617371 + <_> + <_> + + + <_> + 10 15 3 3 -1. + <_> + 10 16 3 1 3. + 0 + -1.9366189371794462e-004 + -0.8112971186637878 + 0.2373688966035843 + <_> + <_> + + + <_> + 10 3 10 9 -1. + <_> + 10 3 5 9 2. + 1 + 0.0581112913787365 + 0.1708769053220749 + -0.8473721146583557 + -1.2297279834747314 + -1 + -1 + <_> + + <_> + <_> + + + <_> + 5 7 12 9 -1. + <_> + 5 10 12 3 3. + 0 + -0.0563080012798309 + 0.6575549244880676 + -0.6151077747344971 + <_> + <_> + + + <_> + 21 3 2 6 -1. + <_> + 21 3 2 3 2. + 1 + 7.1238889358937740e-003 + -0.5593038797378540 + 0.4186565876007080 + <_> + <_> + + + <_> + 20 11 4 9 -1. + <_> + 20 11 2 9 2. + 1 + 0.0406430996954441 + -0.2928807139396668 + 0.7358964085578919 + <_> + <_> + + + <_> + 4 13 6 9 -1. + <_> + 6 16 2 3 9. + 0 + -4.0427828207612038e-003 + -0.7733976840972900 + 0.2676829099655151 + <_> + <_> + + + <_> + 15 4 2 11 -1. + <_> + 15 4 1 11 2. + 1 + -3.2710221130400896e-003 + -0.8241363167762756 + 0.1905878037214279 + <_> + <_> + + + <_> + 3 14 16 3 -1. + <_> + 3 15 16 1 3. + 0 + -4.1828129906207323e-004 + -0.7549945712089539 + 0.2180716991424561 + <_> + <_> + + + <_> + 18 6 6 7 -1. + <_> + 21 6 3 7 2. + 0 + 0.0295858699828386 + -0.3095912039279938 + 0.5711255073547363 + -1.1928910017013550 + 0 + -1 + <_> + + <_> + <_> + + + <_> + 3 9 18 15 -1. + <_> + 3 14 18 5 3. + 0 + 0.1475505977869034 + -0.6112717986106873 + 0.6458892226219177 + <_> + <_> + + + <_> + 8 8 4 4 -1. + <_> + 8 10 4 2 2. + 0 + -4.0223478572443128e-004 + 0.3410125076770783 + -0.8068282008171082 + <_> + <_> + + + <_> + 13 8 10 4 -1. + <_> + 18 8 5 4 2. + 0 + 8.5855228826403618e-003 + -0.6466562151908875 + 0.2801677882671356 + <_> + <_> + + + <_> + 15 15 1 3 -1. + <_> + 14 16 1 1 3. + 1 + 1.2229359708726406e-003 + 0.1733440011739731 + -0.9600539803504944 + <_> + <_> + + + <_> + 15 15 1 3 -1. + <_> + 14 16 1 1 3. + 1 + -8.5779838263988495e-004 + -0.8759949207305908 + 0.1829718053340912 + <_> + <_> + + + <_> + 12 12 6 4 -1. + <_> + 12 13 6 2 2. + 0 + 1.1667150538414717e-003 + -0.5406839847564697 + 0.3074130117893219 + <_> + <_> + + + <_> + 10 3 8 9 -1. + <_> + 7 6 8 3 3. + 1 + -3.7815200630575418e-003 + 0.2256253063678742 + -0.7490972280502319 + -1.1754020452499390 + 1 + -1 + <_> + + <_> + <_> + + + <_> + 16 8 8 6 -1. + <_> + 18 10 4 6 2. + 1 + 0.0618822611868382 + -0.4740954935550690 + 0.7808098793029785 + <_> + <_> + + + <_> + 8 8 15 3 -1. + <_> + 13 8 5 3 3. + 0 + -7.7208690345287323e-003 + 0.3703503906726837 + -0.5932648181915283 + <_> + <_> + + + <_> + 1 11 8 8 -1. + <_> + 1 11 4 4 2. + <_> + 5 15 4 4 2. + 0 + 6.7089539952576160e-003 + -0.5818635225296021 + 0.3687272071838379 + <_> + <_> + + + <_> + 8 2 8 3 -1. + <_> + 8 3 8 1 3. + 0 + -2.3900840897113085e-003 + 0.5944213271141052 + -0.2785241901874542 + <_> + <_> + + + <_> + 3 8 3 10 -1. + <_> + 3 13 3 5 2. + 0 + 1.1073009954998270e-004 + -0.6072599291801453 + 0.2787002921104431 + <_> + <_> + + + <_> + 6 11 8 5 -1. + <_> + 8 11 4 5 2. + 0 + -1.4854649780318141e-003 + 0.2430588006973267 + -0.5757083296775818 + <_> + <_> + + + <_> + 18 12 6 6 -1. + <_> + 20 14 2 6 3. + 1 + -0.0478850789368153 + 0.7437208294868469 + -0.2062145024538040 + <_> + <_> + + + <_> + 18 8 4 12 -1. + <_> + 18 8 2 6 2. + <_> + 20 14 2 6 2. + 0 + -0.0170234590768814 + 0.6016654968261719 + -0.2075368016958237 + -1.6748919486999512 + 2 + -1 + <_> + + <_> + <_> + + + <_> + 18 8 6 10 -1. + <_> + 20 10 2 10 3. + 1 + 0.0617023110389709 + -0.4272279143333435 + 0.7270293235778809 + <_> + <_> + + + <_> + 5 20 1 2 -1. + <_> + 5 21 1 1 2. + 0 + -1.2619449989870191e-005 + 0.3768171966075897 + -0.5121737122535706 + <_> + <_> + + + <_> + 0 13 4 5 -1. + <_> + 2 13 2 5 2. + 0 + 0.0129839703440666 + -0.2448520958423615 + 0.6514952182769775 + <_> + <_> + + + <_> + 11 1 7 2 -1. + <_> + 11 2 7 1 2. + 0 + -6.0782087966799736e-003 + 0.7205473184585571 + -0.2374036014080048 + <_> + <_> + + + <_> + 8 0 15 4 -1. + <_> + 8 2 15 2 2. + 0 + 0.0236163102090359 + -0.1958761960268021 + 0.6773210167884827 + <_> + <_> + + + <_> + 16 0 8 2 -1. + <_> + 16 0 8 1 2. + 1 + 0.0104472599923611 + -0.2743124067783356 + 0.5405107140541077 + <_> + <_> + + + <_> + 13 7 6 11 -1. + <_> + 13 7 3 11 2. + 1 + 9.7008626908063889e-003 + 0.2041597068309784 + -0.7625274062156677 + <_> + <_> + + + <_> + 4 10 10 11 -1. + <_> + 9 10 5 11 2. + 0 + 0.0132899200543761 + 0.2326550036668778 + -0.8061296939849854 + <_> + <_> + + + <_> + 17 16 1 6 -1. + <_> + 17 16 1 3 2. + 1 + -7.2405289392918348e-004 + -0.7284098267555237 + 0.1499879062175751 + -1.3050429821014404 + 3 + -1 + <_> + + <_> + <_> + + + <_> + 13 8 4 3 -1. + <_> + 14 9 2 3 2. + 1 + -9.9200550466775894e-003 + 0.5642228126525879 + -0.4131051898002625 + <_> + <_> + + + <_> + 0 13 4 8 -1. + <_> + 2 13 2 8 2. + 0 + 0.0235916804522276 + -0.2245188057422638 + 0.6890171766281128 + <_> + <_> + + + <_> + 5 7 15 4 -1. + <_> + 5 9 15 2 2. + 0 + -1.4565109449904412e-004 + 0.2200507968664169 + -0.7849286794662476 + <_> + <_> + + + <_> + 21 14 3 7 -1. + <_> + 22 15 1 7 3. + 1 + -0.0124090099707246 + 0.6112890243530273 + -0.2095160037279129 + <_> + <_> + + + <_> + 16 16 1 3 -1. + <_> + 15 17 1 1 3. + 1 + 1.1819680221378803e-003 + 0.1471977978944778 + -0.9078336954116821 + <_> + <_> + + + <_> + 16 16 1 3 -1. + <_> + 15 17 1 1 3. + 1 + -8.8668428361415863e-004 + -0.8558685183525085 + 0.1334533989429474 + <_> + <_> + + + <_> + 8 0 2 8 -1. + <_> + 8 0 1 8 2. + 1 + 0.0158666092902422 + -0.2499286979436874 + 0.6563131809234619 + <_> + <_> + + + <_> + 3 12 4 8 -1. + <_> + 3 12 2 4 2. + <_> + 5 16 2 4 2. + 0 + 6.3887838041409850e-004 + -0.5935165882110596 + 0.2772696912288666 + <_> + <_> + + + <_> + 4 16 1 3 -1. + <_> + 4 17 1 1 3. + 0 + -3.5736730205826461e-004 + -0.8986309766769409 + 0.0944785177707672 + <_> + <_> + + + <_> + 22 0 2 14 -1. + <_> + 23 0 1 14 2. + 0 + -9.7226183861494064e-003 + 0.5973911285400391 + -0.1981651037931442 + <_> + <_> + + + <_> + 3 13 4 4 -1. + <_> + 3 14 4 2 2. + 0 + 1.4297619600256439e-005 + -0.4433462023735046 + 0.2834376990795136 + -1.1443250179290771 + 4 + -1 + <_> + + <_> + <_> + + + <_> + 13 8 5 16 -1. + <_> + 13 12 5 8 2. + 0 + 0.0752653777599335 + -0.3854584097862244 + 0.5481045842170715 + <_> + <_> + + + <_> + 3 9 14 2 -1. + <_> + 3 10 14 1 2. + 0 + -1.6300349961966276e-003 + 0.2922405898571014 + -0.5246685147285461 + <_> + <_> + + + <_> + 10 4 11 8 -1. + <_> + 8 6 11 4 2. + 1 + 8.1949708983302116e-003 + 0.1520351022481918 + -0.7849398851394653 + <_> + <_> + + + <_> + 20 9 1 12 -1. + <_> + 16 13 1 4 3. + 1 + -4.7500832006335258e-003 + -0.6998078227043152 + 0.1970801949501038 + <_> + <_> + + + <_> + 14 16 1 4 -1. + <_> + 13 17 1 2 2. + 1 + 1.3541559455916286e-003 + 0.0782954990863800 + -0.8405255079269409 + <_> + <_> + + + <_> + 4 17 12 3 -1. + <_> + 4 18 12 1 3. + 0 + -4.6558049507439137e-004 + -0.6280776858329773 + 0.1521580070257187 + <_> + <_> + + + <_> + 0 8 4 11 -1. + <_> + 2 8 2 11 2. + 0 + 0.0240235291421413 + -0.2174579054117203 + 0.5229738950729370 + <_> + <_> + + + <_> + 15 0 7 2 -1. + <_> + 15 0 7 1 2. + 1 + 6.7436061799526215e-003 + -0.3025758862495422 + 0.4160177111625671 + <_> + <_> + + + <_> + 9 16 12 8 -1. + <_> + 9 16 6 4 2. + <_> + 15 20 6 4 2. + 0 + 0.0321863703429699 + -0.2097554951906204 + 0.5471212863922119 + <_> + <_> + + + <_> + 20 4 4 12 -1. + <_> + 22 4 2 12 2. + 0 + -0.0342803597450256 + 0.6529589295387268 + -0.1709689050912857 + <_> + <_> + + + <_> + 4 15 1 3 -1. + <_> + 4 16 1 1 3. + 0 + -2.6499631348997355e-004 + -0.7908654808998108 + 0.1556130945682526 + <_> + <_> + + + <_> + 5 8 12 2 -1. + <_> + 9 8 4 2 3. + 0 + -7.8278770670294762e-003 + -0.7768753170967102 + 0.1016281992197037 + -1.1523690223693848 + 5 + -1 + <_> + + <_> + <_> + + + <_> + 16 8 8 8 -1. + <_> + 18 10 4 8 2. + 1 + 0.1045726016163826 + -0.3138073086738586 + 0.6206685900688171 + <_> + <_> + + + <_> + 4 19 1 2 -1. + <_> + 4 20 1 1 2. + 0 + -3.0339509976329282e-005 + 0.2896916866302490 + -0.4638381004333496 + <_> + <_> + + + <_> + 15 2 8 12 -1. + <_> + 11 6 8 4 3. + 1 + 5.4421820677816868e-003 + 0.1442950963973999 + -0.7637916803359985 + <_> + <_> + + + <_> + 0 10 3 8 -1. + <_> + 0 14 3 4 2. + 0 + 0.0197685491293669 + 0.1402785032987595 + -0.9036664962768555 + <_> + <_> + + + <_> + 7 7 15 12 -1. + <_> + 7 13 15 6 2. + 0 + 0.0134721603244543 + -0.7068744897842407 + 0.1277602016925812 + <_> + <_> + + + <_> + 10 0 8 4 -1. + <_> + 10 2 8 2 2. + 0 + -0.0270164608955383 + 0.6221793889999390 + -0.1995421946048737 + <_> + <_> + + + <_> + 8 0 12 4 -1. + <_> + 8 2 12 2 2. + 0 + 0.0245403293520212 + -0.1977370977401733 + 0.6803246140480042 + <_> + <_> + + + <_> + 18 12 6 6 -1. + <_> + 20 14 2 6 3. + 1 + -0.0423081591725349 + 0.6083639264106751 + -0.1661307066679001 + <_> + <_> + + + <_> + 7 9 4 4 -1. + <_> + 7 11 4 2 2. + 0 + -2.1026390604674816e-003 + 0.2866210043430328 + -0.4075531065464020 + <_> + <_> + + + <_> + 12 15 3 6 -1. + <_> + 13 15 1 6 3. + 0 + 2.4166970979422331e-003 + 0.1253225952386856 + -0.9219204783439636 + <_> + <_> + + + <_> + 17 15 1 3 -1. + <_> + 16 16 1 1 3. + 1 + 1.2243239907547832e-003 + 0.1012730970978737 + -0.8021379709243774 + <_> + <_> + + + <_> + 14 17 1 2 -1. + <_> + 14 17 1 1 2. + 1 + 3.0253460863605142e-005 + -0.5081011056900024 + 0.2051098048686981 + -1.0450299978256226 + 6 + -1 + <_> + + <_> + <_> + + + <_> + 16 9 6 6 -1. + <_> + 16 9 3 3 2. + <_> + 19 12 3 3 2. + 0 + -0.0140466503798962 + 0.4843834936618805 + -0.3669339120388031 + <_> + <_> + + + <_> + 0 8 3 11 -1. + <_> + 1 8 1 11 3. + 0 + -7.6861130073666573e-003 + 0.7102888822555542 + -0.1805022060871124 + <_> + <_> + + + <_> + 0 9 3 5 -1. + <_> + 1 9 1 5 3. + 0 + 3.0043800361454487e-003 + -0.2404136955738068 + 0.7077229022979736 + <_> + <_> + + + <_> + 5 5 1 18 -1. + <_> + 5 14 1 9 2. + 0 + -3.4228579606860876e-003 + -0.7308701276779175 + 0.1871885955333710 + <_> + <_> + + + <_> + 13 3 4 9 -1. + <_> + 13 3 2 9 2. + 1 + -3.9172731339931488e-003 + -0.8364951014518738 + 0.1611119955778122 + <_> + <_> + + + <_> + 21 7 3 5 -1. + <_> + 22 7 1 5 3. + 0 + 4.6332278288900852e-003 + -0.2098751068115234 + 0.6526408791542053 + <_> + <_> + + + <_> + 21 8 3 5 -1. + <_> + 22 8 1 5 3. + 0 + -3.4994659945368767e-003 + 0.7156196832656860 + -0.2161899954080582 + <_> + <_> + + + <_> + 2 10 1 9 -1. + <_> + 2 13 1 3 3. + 0 + -2.5999150238931179e-003 + -0.6785907745361328 + 0.1993307024240494 + <_> + <_> + + + <_> + 8 15 4 5 -1. + <_> + 9 16 2 5 2. + 1 + -2.3366638924926519e-003 + -0.7323281168937683 + 0.1106910035014153 + <_> + <_> + + + <_> + 9 6 3 4 -1. + <_> + 9 7 3 2 2. + 0 + -9.6929387655109167e-004 + -0.7805811762809753 + 0.1110154017806053 + <_> + <_> + + + <_> + 9 5 3 6 -1. + <_> + 9 7 3 2 3. + 0 + 0.0108652897179127 + 0.1055039986968041 + -0.8796606063842773 + -1.2306699752807617 + 7 + -1 + <_> + + <_> + <_> + + + <_> + 22 12 2 10 -1. + <_> + 22 12 1 10 2. + 1 + 0.0167198292911053 + -0.3254356980323792 + 0.5267874002456665 + <_> + <_> + + + <_> + 13 8 1 2 -1. + <_> + 13 9 1 1 2. + 0 + -1.2716560377157293e-005 + 0.1854920983314514 + -0.6033943891525269 + <_> + <_> + + + <_> + 8 0 2 8 -1. + <_> + 8 0 1 8 2. + 1 + -0.0136512396857142 + 0.6360464096069336 + -0.1681943982839584 + <_> + <_> + + + <_> + 0 5 2 19 -1. + <_> + 1 5 1 19 2. + 0 + -0.0108198802918196 + 0.6702632904052734 + -0.1657792925834656 + <_> + <_> + + + <_> + 3 13 10 6 -1. + <_> + 8 13 5 6 2. + 0 + 0.0120530901476741 + 0.2059182971715927 + -0.7286084294319153 + <_> + <_> + + + <_> + 10 5 13 14 -1. + <_> + 10 12 13 7 2. + 0 + -7.5257131829857826e-003 + -0.6983348131179810 + 0.1382068991661072 + <_> + <_> + + + <_> + 6 7 8 8 -1. + <_> + 10 7 4 8 2. + 0 + -0.0297885797917843 + -0.8108485937118530 + 0.1156554967164993 + <_> + <_> + + + <_> + 13 10 10 2 -1. + <_> + 18 10 5 2 2. + 0 + 6.0533271171152592e-003 + -0.5346549153327942 + 0.1708485931158066 + <_> + <_> + + + <_> + 2 14 4 2 -1. + <_> + 2 14 4 1 2. + 1 + 3.6704929079860449e-003 + -0.3151135146617889 + 0.3186134099960327 + <_> + <_> + + + <_> + 10 2 5 3 -1. + <_> + 10 3 5 1 3. + 0 + -1.5925370389595628e-003 + 0.4084674119949341 + -0.2964664995670319 + <_> + <_> + + + <_> + 6 15 12 3 -1. + <_> + 6 16 12 1 3. + 0 + -3.3957479172386229e-004 + -0.7613912820816040 + 0.1564251929521561 + <_> + <_> + + + <_> + 18 5 2 2 -1. + <_> + 18 6 2 1 2. + 0 + -3.5840299096889794e-004 + 0.2652949988842011 + -0.3837744891643524 + -1.0072959661483765 + 8 + -1 + <_> + + <_> + <_> + + + <_> + 12 12 6 4 -1. + <_> + 12 13 6 2 2. + 0 + 1.9014789722859859e-003 + -0.5055562853813171 + 0.2928620874881744 + <_> + <_> + + + <_> + 20 16 3 5 -1. + <_> + 21 17 1 5 3. + 1 + -9.6717160195112228e-003 + 0.5153393745422363 + -0.2212641984224320 + <_> + <_> + + + <_> + 7 5 9 4 -1. + <_> + 7 6 9 2 2. + 0 + -1.5079679433256388e-003 + -0.7207664251327515 + 0.1513804942369461 + <_> + <_> + + + <_> + 8 6 10 6 -1. + <_> + 6 8 10 2 3. + 1 + -8.6586852557957172e-004 + 0.1666653007268906 + -0.5991960167884827 + <_> + <_> + + + <_> + 11 11 5 2 -1. + <_> + 11 11 5 1 2. + 1 + 1.4425750123336911e-003 + 0.1486019939184189 + -0.7299878001213074 + <_> + <_> + + + <_> + 20 2 4 17 -1. + <_> + 22 2 2 17 2. + 0 + -0.0326527208089828 + 0.4976707100868225 + -0.2120081037282944 + <_> + <_> + + + <_> + 11 14 10 10 -1. + <_> + 11 14 5 5 2. + <_> + 16 19 5 5 2. + 0 + 0.0296523105353117 + -0.2112085968255997 + 0.4649556875228882 + <_> + <_> + + + <_> + 10 4 2 6 -1. + <_> + 10 6 2 2 3. + 0 + 6.2883407808840275e-003 + 0.1347337961196899 + -0.7849305272102356 + <_> + <_> + + + <_> + 6 12 9 4 -1. + <_> + 9 12 3 4 3. + 0 + -4.9428688362240791e-003 + 0.1900985985994339 + -0.4640085101127625 + <_> + <_> + + + <_> + 15 16 1 3 -1. + <_> + 14 17 1 1 3. + 1 + 1.0834600543603301e-003 + 0.0908405333757401 + -0.9112185835838318 + <_> + <_> + + + <_> + 7 0 11 4 -1. + <_> + 7 1 11 2 2. + 0 + 0.0124035002663732 + -0.1794511973857880 + 0.5793260931968689 + <_> + <_> + + + <_> + 10 1 5 3 -1. + <_> + 10 2 5 1 3. + 0 + -3.0090711079537868e-003 + 0.5415405035018921 + -0.2036731988191605 + <_> + <_> + + + <_> + 11 7 3 5 -1. + <_> + 12 7 1 5 3. + 0 + 1.8263329984620214e-003 + -0.1683319061994553 + 0.5173516273498535 + <_> + <_> + + + <_> + 4 8 9 10 -1. + <_> + 7 8 3 10 3. + 0 + -0.0474948696792126 + -0.9749649763107300 + 0.0974008291959763 + -0.9317575097084045 + 9 + -1 + <_> + + <_> + <_> + + + <_> + 0 4 4 19 -1. + <_> + 2 4 2 19 2. + 0 + 0.0454381592571735 + -0.2166852951049805 + 0.5926141142845154 + <_> + <_> + + + <_> + 4 12 4 10 -1. + <_> + 4 12 2 5 2. + <_> + 6 17 2 5 2. + 0 + 1.9549879652913660e-005 + -0.6241487860679627 + 0.1741397976875305 + <_> + <_> + + + <_> + 4 15 3 6 -1. + <_> + 5 17 1 2 9. + 0 + -1.2080239830538630e-003 + -0.7877749204635620 + 0.1101415008306503 + <_> + <_> + + + <_> + 18 1 2 2 -1. + <_> + 18 1 1 1 2. + <_> + 19 2 1 1 2. + 0 + 8.7554351193830371e-004 + -0.1156406998634338 + 0.7232003808021545 + <_> + <_> + + + <_> + 18 1 2 2 -1. + <_> + 18 1 1 1 2. + <_> + 19 2 1 1 2. + 0 + -7.2232051752507687e-004 + 0.6910520792007446 + -0.1329174041748047 + <_> + <_> + + + <_> + 6 14 11 3 -1. + <_> + 6 15 11 1 3. + 0 + -1.7680460587143898e-004 + -0.6900073885917664 + 0.1467916071414948 + <_> + <_> + + + <_> + 0 6 24 16 -1. + <_> + 0 14 24 8 2. + 0 + 0.3870531916618347 + 0.0961470305919647 + -0.8666874766349793 + <_> + <_> + + + <_> + 16 1 8 13 -1. + <_> + 16 1 4 13 2. + 1 + 0.0121895195916295 + 0.1297179013490677 + -0.6555014252662659 + <_> + <_> + + + <_> + 13 2 10 2 -1. + <_> + 13 2 5 2 2. + 1 + -0.0227984897792339 + -0.6844767928123474 + 0.1254404932260513 + <_> + <_> + + + <_> + 5 4 16 10 -1. + <_> + 9 4 8 10 2. + 0 + -2.8086139354854822e-003 + 0.1233569979667664 + -0.6417708992958069 + <_> + <_> + + + <_> + 12 16 1 4 -1. + <_> + 12 17 1 2 2. + 0 + -3.0143640469759703e-004 + -0.7197017073631287 + 0.0981532409787178 + <_> + <_> + + + <_> + 1 6 3 3 -1. + <_> + 2 6 1 3 3. + 0 + -1.9609660375863314e-003 + 0.4862503111362457 + -0.2158344984054565 + <_> + <_> + + + <_> + 14 4 8 4 -1. + <_> + 14 4 8 2 2. + 1 + 0.0203225295990705 + 0.1736894994974136 + -0.6070588231086731 + <_> + <_> + + + <_> + 12 6 3 4 -1. + <_> + 13 6 1 4 3. + 0 + -3.8575490470975637e-003 + 0.6592637896537781 + -0.1448456943035126 + <_> + <_> + + + <_> + 9 19 3 3 -1. + <_> + 10 20 1 1 9. + 0 + 2.5231339968740940e-003 + 0.1057671010494232 + -0.8679469227790833 + <_> + <_> + + + <_> + 5 18 5 4 -1. + <_> + 5 19 5 2 2. + 0 + 2.6008550776168704e-005 + -0.4104911983013153 + 0.1918227970600128 + <_> + <_> + + + <_> + 9 9 9 3 -1. + <_> + 12 12 3 3 3. + 1 + 0.0645310580730438 + -0.1356026977300644 + 0.6249254941940308 + -1.1494020223617554 + 10 + -1 + <_> + + <_> + <_> + + + <_> + 16 9 3 2 -1. + <_> + 17 9 1 2 3. + 0 + -1.4092769706621766e-003 + 0.5786687135696411 + -0.2234548926353455 + <_> + <_> + + + <_> + 11 19 4 1 -1. + <_> + 11 19 2 1 2. + 1 + 4.1945339180529118e-003 + -0.3018530011177063 + 0.3556953072547913 + <_> + <_> + + + <_> + 13 4 1 8 -1. + <_> + 13 4 1 4 2. + 1 + -2.2732759825885296e-003 + -0.7439147233963013 + 0.1225081011652947 + <_> + <_> + + + <_> + 4 6 8 13 -1. + <_> + 8 6 4 13 2. + 0 + 1.8559839809313416e-003 + 0.1980445981025696 + -0.5757985711097717 + <_> + <_> + + + <_> + 8 7 3 4 -1. + <_> + 8 8 3 2 2. + 0 + -9.0566740254871547e-005 + -0.4897490143775940 + 0.1621236950159073 + <_> + <_> + + + <_> + 18 2 2 2 -1. + <_> + 18 2 1 1 2. + <_> + 19 3 1 1 2. + 0 + -8.2100438885390759e-004 + 0.6765077114105225 + -0.1236781030893326 + <_> + <_> + + + <_> + 18 1 2 4 -1. + <_> + 18 1 1 2 2. + <_> + 19 3 1 2 2. + 0 + 1.8323570257052779e-003 + -0.1719329953193665 + 0.5571913123130798 + <_> + <_> + + + <_> + 4 13 2 4 -1. + <_> + 4 14 2 2 2. + 0 + 1.2619449989870191e-005 + -0.4305503070354462 + 0.2216275930404663 + <_> + <_> + + + <_> + 16 17 1 2 -1. + <_> + 16 17 1 1 2. + 1 + 2.8190759621793404e-005 + -0.5281388759613037 + 0.1424968987703323 + <_> + <_> + + + <_> + 13 15 4 3 -1. + <_> + 13 16 4 1 3. + 0 + 1.8339039525017142e-003 + 0.1379401981830597 + -0.6470612287521362 + <_> + <_> + + + <_> + 21 14 3 5 -1. + <_> + 22 15 1 5 3. + 1 + -8.9294649660587311e-003 + 0.4215323030948639 + -0.2495258003473282 + <_> + <_> + + + <_> + 8 6 3 5 -1. + <_> + 9 6 1 5 3. + 0 + -3.5461860243231058e-003 + 0.6972748041152954 + -0.1167028993368149 + <_> + <_> + + + <_> + 18 17 1 3 -1. + <_> + 17 18 1 1 3. + 1 + 1.3937449548393488e-003 + 0.1098221987485886 + -0.8620460033416748 + <_> + <_> + + + <_> + 20 8 4 6 -1. + <_> + 21 8 2 6 2. + 0 + 0.0104667795822024 + -0.1702937930822372 + 0.5789579153060913 + <_> + <_> + + + <_> + 21 6 3 6 -1. + <_> + 22 6 1 6 3. + 0 + -3.1906990334391594e-003 + 0.4722971022129059 + -0.1798875927925110 + <_> + <_> + + + <_> + 19 3 4 4 -1. + <_> + 19 3 2 4 2. + 1 + -0.0158511307090521 + -0.7751498222351074 + 0.1348630040884018 + -1.1121250391006470 + 11 + -1 + <_> + + <_> + <_> + + + <_> + 0 12 6 6 -1. + <_> + 2 12 2 6 3. + 0 + 0.0155311897397041 + -0.2386285960674286 + 0.4752381145954132 + <_> + <_> + + + <_> + 14 9 3 3 -1. + <_> + 15 10 1 3 3. + 1 + -7.3223309591412544e-003 + 0.3903250992298126 + -0.2353056073188782 + <_> + <_> + + + <_> + 0 6 2 12 -1. + <_> + 1 6 1 12 2. + 0 + -0.0134055698290467 + 0.6893804073333740 + -0.1133380979299545 + <_> + <_> + + + <_> + 0 8 24 15 -1. + <_> + 8 13 8 5 9. + 0 + 0.5724266767501831 + -0.1546484977006912 + 0.5169078111648560 + <_> + <_> + + + <_> + 0 11 4 8 -1. + <_> + 0 15 4 4 2. + 0 + 0.0202919803559780 + 0.1179805025458336 + -0.7507575154304504 + <_> + <_> + + + <_> + 14 7 8 5 -1. + <_> + 18 7 4 5 2. + 0 + 5.0213942304253578e-003 + -0.5458276867866516 + 0.1550731062889099 + <_> + <_> + + + <_> + 8 7 12 9 -1. + <_> + 12 7 4 9 3. + 0 + -0.0592748187482357 + -0.8129432201385498 + 0.1011895984411240 + <_> + <_> + + + <_> + 4 15 3 1 -1. + <_> + 5 16 1 1 3. + 1 + -1.1579249985516071e-003 + -0.8419783711433411 + 0.0550937689840794 + <_> + <_> + + + <_> + 18 2 3 2 -1. + <_> + 19 2 1 2 3. + 0 + 1.6097850166261196e-003 + -0.1706911027431488 + 0.4655277132987976 + <_> + <_> + + + <_> + 18 2 3 1 -1. + <_> + 19 2 1 1 3. + 0 + -9.4681617338210344e-004 + 0.5559328794479370 + -0.1645119935274124 + <_> + <_> + + + <_> + 17 16 2 3 -1. + <_> + 16 17 2 1 3. + 1 + -1.7572599463164806e-003 + -0.7767869830131531 + 0.1303571015596390 + <_> + <_> + + + <_> + 7 9 3 2 -1. + <_> + 8 9 1 2 3. + 0 + 9.9012674763798714e-004 + -0.1771340966224670 + 0.4482488930225372 + <_> + <_> + + + <_> + 10 2 14 16 -1. + <_> + 10 10 14 8 2. + 0 + 0.1472707986831665 + 0.0885203331708908 + -0.8068227767944336 + <_> + <_> + + + <_> + 6 6 8 4 -1. + <_> + 6 6 4 2 2. + <_> + 10 8 4 2 2. + 0 + -9.0669076889753342e-003 + -0.8895099759101868 + 0.0677383989095688 + <_> + <_> + + + <_> + 7 0 3 12 -1. + <_> + 8 0 1 12 3. + 0 + -3.3941359724849463e-003 + 0.4511013925075531 + -0.1843860000371933 + -0.9835445284843445 + 12 + -1 + <_> + + <_> + <_> + + + <_> + 16 8 8 8 -1. + <_> + 18 10 4 8 2. + 1 + 0.1143048033118248 + -0.2487598955631256 + 0.4835995137691498 + <_> + <_> + + + <_> + 5 19 8 2 -1. + <_> + 9 19 4 2 2. + 0 + -3.3910509955603629e-005 + 0.1813540011644363 + -0.4404537081718445 + <_> + <_> + + + <_> + 10 7 3 5 -1. + <_> + 11 7 1 5 3. + 0 + 1.8091090023517609e-003 + -0.1847497969865799 + 0.4472332000732422 + <_> + <_> + + + <_> + 9 5 5 3 -1. + <_> + 9 6 5 1 3. + 0 + -4.8640198656357825e-004 + -0.5586202144622803 + 0.1468767970800400 + <_> + <_> + + + <_> + 4 6 8 18 -1. + <_> + 4 6 4 9 2. + <_> + 8 15 4 9 2. + 0 + -0.0172168798744679 + -0.6175916790962219 + 0.1641346961259842 + <_> + <_> + + + <_> + 7 7 4 5 -1. + <_> + 8 7 2 5 2. + 0 + 3.3461449202150106e-003 + -0.1892105937004089 + 0.5358405709266663 + <_> + <_> + + + <_> + 7 15 3 4 -1. + <_> + 8 16 1 4 3. + 1 + -1.6335219843313098e-003 + -0.7288647890090942 + 0.1252444982528687 + <_> + <_> + + + <_> + 9 7 3 4 -1. + <_> + 10 7 1 4 3. + 0 + 1.3712419895455241e-003 + -0.1842270046472549 + 0.4495745897293091 + <_> + <_> + + + <_> + 0 15 8 9 -1. + <_> + 4 15 4 9 2. + 0 + -0.0427889488637447 + 0.6736047863960266 + -0.1117186024785042 + <_> + <_> + + + <_> + 4 17 1 2 -1. + <_> + 4 17 1 1 2. + 1 + 7.9449592158198357e-004 + -0.2788461148738861 + 0.2636061012744904 + <_> + <_> + + + <_> + 18 17 1 2 -1. + <_> + 18 17 1 1 2. + 1 + -7.9221237683668733e-004 + -0.8127369284629822 + 0.0697263181209564 + <_> + <_> + + + <_> + 18 18 2 2 -1. + <_> + 18 18 1 1 2. + <_> + 19 19 1 1 2. + 0 + -4.0071670082397759e-004 + 0.5591056942939758 + -0.1365067064762116 + <_> + <_> + + + <_> + 21 14 3 7 -1. + <_> + 22 15 1 7 3. + 1 + -0.0207873899489641 + 0.5459616780281067 + -0.1242080032825470 + <_> + <_> + + + <_> + 7 8 8 1 -1. + <_> + 9 8 4 1 2. + 0 + 3.4224549308419228e-003 + 0.1072309985756874 + -0.7764186263084412 + <_> + <_> + + + <_> + 14 6 4 12 -1. + <_> + 15 7 2 12 2. + 1 + -1.0718429693952203e-003 + 0.1274915039539337 + -0.4887742102146149 + <_> + <_> + + + <_> + 21 13 3 6 -1. + <_> + 22 14 1 6 3. + 1 + 0.0110236704349518 + -0.1359599977731705 + 0.6230810880661011 + <_> + <_> + + + <_> + 5 8 12 1 -1. + <_> + 9 8 4 1 3. + 0 + -3.4160430077463388e-003 + -0.6424853205680847 + 0.1148988977074623 + <_> + <_> + + + <_> + 13 0 1 3 -1. + <_> + 13 1 1 1 3. + 0 + -9.6253998344764113e-004 + 0.4834733903408051 + -0.1531091928482056 + <_> + <_> + + + <_> + 12 0 7 3 -1. + <_> + 12 1 7 1 3. + 0 + 3.6763360258191824e-003 + -0.2152836024761200 + 0.4481158852577210 + <_> + <_> + + + <_> + 3 14 4 2 -1. + <_> + 3 14 2 1 2. + <_> + 5 15 2 1 2. + 0 + 1.4254589586926159e-005 + -0.4500057995319367 + 0.1902891993522644 + -1.0521390438079834 + 13 + -1 + <_> + + <_> + <_> + + + <_> + 6 0 16 4 -1. + <_> + 6 2 16 2 2. + 0 + 0.0236891694366932 + -0.2247799038887024 + 0.4321205914020538 + <_> + <_> + + + <_> + 18 4 6 8 -1. + <_> + 18 4 3 8 2. + 1 + -0.0441800393164158 + 0.2022709995508194 + -0.4313316047191620 + <_> + <_> + + + <_> + 2 14 3 3 -1. + <_> + 2 15 3 1 3. + 0 + -3.9312129956670105e-004 + -0.6729152202606201 + 0.1158514022827148 + <_> + <_> + + + <_> + 10 2 5 3 -1. + <_> + 10 3 5 1 3. + 0 + -9.0892089065164328e-004 + 0.3217082023620606 + -0.2313023954629898 + <_> + <_> + + + <_> + 0 11 4 1 -1. + <_> + 1 11 2 1 2. + 0 + 2.6016780175268650e-003 + -0.1441808938980103 + 0.6317198276519775 + <_> + <_> + + + <_> + 0 8 3 7 -1. + <_> + 1 8 1 7 3. + 0 + -5.1324712112545967e-003 + 0.5001261830329895 + -0.1685457974672318 + <_> + <_> + + + <_> + 11 23 2 1 -1. + <_> + 12 23 1 1 2. + 0 + -3.3295480534434319e-005 + 0.2549408972263336 + -0.3054190874099731 + <_> + <_> + + + <_> + 9 6 2 4 -1. + <_> + 9 7 2 2 2. + 0 + -5.0349871162325144e-004 + -0.6700615882873535 + 0.1015177965164185 + <_> + <_> + + + <_> + 21 4 2 13 -1. + <_> + 22 4 1 13 2. + 0 + 0.0100124003365636 + -0.1505225002765656 + 0.5449733138084412 + <_> + <_> + + + <_> + 13 5 7 4 -1. + <_> + 13 7 7 2 2. + 0 + -2.8307440225034952e-003 + 0.1882748007774353 + -0.4271197021007538 + <_> + <_> + + + <_> + 20 6 4 11 -1. + <_> + 22 6 2 11 2. + 0 + -0.0341379009187222 + 0.5145000815391541 + -0.1739304959774017 + <_> + <_> + + + <_> + 11 14 2 3 -1. + <_> + 10 15 2 1 3. + 1 + -1.0360779706388712e-003 + -0.6572601795196533 + 0.1285676956176758 + <_> + <_> + + + <_> + 0 7 3 2 -1. + <_> + 1 7 1 2 3. + 0 + 1.1741110356524587e-003 + -0.1802318990230560 + 0.4271034002304077 + <_> + <_> + + + <_> + 21 14 3 7 -1. + <_> + 22 15 1 7 3. + 1 + -0.0138250701129436 + 0.3765025138854981 + -0.1870674937963486 + <_> + <_> + + + <_> + 12 15 3 3 -1. + <_> + 11 16 3 1 3. + 1 + 3.2035119365900755e-003 + 0.0774853974580765 + -0.9549800157546997 + <_> + <_> + + + <_> + 17 2 2 2 -1. + <_> + 17 2 1 1 2. + <_> + 18 3 1 1 2. + 0 + -8.1572640920057893e-004 + 0.6442399024963379 + -0.1325479000806809 + <_> + <_> + + + <_> + 11 15 2 4 -1. + <_> + 11 16 2 2 2. + 0 + 1.2619449989870191e-005 + -0.5231865048408508 + 0.1511815935373306 + <_> + <_> + + + <_> + 17 3 3 1 -1. + <_> + 18 3 1 1 3. + 0 + 1.3524589594453573e-003 + -0.1342055946588516 + 0.5646713972091675 + <_> + <_> + + + <_> + 13 6 3 5 -1. + <_> + 14 6 1 5 3. + 0 + -4.7096861526370049e-003 + 0.6057354211807251 + -0.1069651022553444 + <_> + <_> + + + <_> + 7 17 6 3 -1. + <_> + 7 18 6 1 3. + 0 + -3.0314610921777785e-004 + -0.5523797869682312 + 0.1321468055248261 + <_> + <_> + + + <_> + 7 7 8 2 -1. + <_> + 11 7 4 2 2. + 0 + -0.0125369196757674 + -0.8849325180053711 + 0.0684685334563255 + -1.1724829673767090 + 14 + -1 + <_> + + <_> + <_> + + + <_> + 3 9 14 2 -1. + <_> + 3 10 14 1 2. + 0 + -2.4431808851659298e-003 + 0.2079880982637405 + -0.4787524044513702 + <_> + <_> + + + <_> + 14 11 3 3 -1. + <_> + 15 12 1 3 3. + 1 + 3.9454470388591290e-003 + -0.2529360949993134 + 0.3217391967773438 + <_> + <_> + + + <_> + 5 12 4 3 -1. + <_> + 7 12 2 3 2. + 0 + 1.2111249816371128e-004 + 0.1125020012259483 + -0.6254354119300842 + <_> + <_> + + + <_> + 4 2 12 14 -1. + <_> + 8 2 4 14 3. + 0 + -0.0769076198339462 + -0.7585281729698181 + 0.1356139034032822 + <_> + <_> + + + <_> + 8 5 4 6 -1. + <_> + 9 5 2 6 2. + 0 + -3.6593170370906591e-003 + 0.5848670005798340 + -0.1868277937173843 + <_> + <_> + + + <_> + 10 6 4 3 -1. + <_> + 11 6 2 3 2. + 0 + -1.4885460259392858e-003 + 0.5037708282470703 + -0.1511839926242828 + <_> + <_> + + + <_> + 9 6 4 9 -1. + <_> + 10 7 2 9 2. + 1 + 0.0116828801110387 + 0.1148153021931648 + -0.7575452923774719 + <_> + <_> + + + <_> + 5 9 9 3 -1. + <_> + 5 10 9 1 3. + 0 + 4.0464488847646862e-005 + -0.2213239073753357 + 0.3427670001983643 + <_> + <_> + + + <_> + 16 15 1 3 -1. + <_> + 15 16 1 1 3. + 1 + 1.1016379576176405e-003 + 0.0914308130741119 + -0.7681866288185120 + <_> + <_> + + + <_> + 12 7 3 3 -1. + <_> + 13 7 1 3 3. + 0 + -2.5257009547203779e-003 + 0.5637871026992798 + -0.1458840966224670 + <_> + <_> + + + <_> + 9 6 4 4 -1. + <_> + 10 6 2 4 2. + 0 + -1.2457560515031219e-003 + 0.3969807028770447 + -0.1787950992584229 + <_> + <_> + + + <_> + 5 16 11 3 -1. + <_> + 5 17 11 1 3. + 0 + -4.1154588689096272e-004 + -0.7301629185676575 + 0.1000998988747597 + <_> + <_> + + + <_> + 22 14 2 7 -1. + <_> + 22 14 1 7 2. + 1 + -0.0167358499020338 + 0.6611796021461487 + -0.1198903992772102 + <_> + <_> + + + <_> + 8 1 2 8 -1. + <_> + 8 1 1 8 2. + 1 + -0.0135159697383642 + 0.5406677126884460 + -0.1310613006353378 + <_> + <_> + + + <_> + 9 0 2 9 -1. + <_> + 9 0 1 9 2. + 1 + 0.0145429298281670 + -0.1381494998931885 + 0.5476952195167542 + <_> + <_> + + + <_> + 5 20 1 2 -1. + <_> + 5 20 1 1 2. + 1 + 1.2103279586881399e-003 + -0.2682015001773834 + 0.3394714891910553 + <_> + <_> + + + <_> + 20 3 4 8 -1. + <_> + 18 5 4 4 2. + 1 + -9.8053617402911186e-003 + 0.2037497013807297 + -0.3517873883247376 + -0.9865878820419312 + 15 + -1 + <_> + + <_> + <_> + + + <_> + 12 16 8 2 -1. + <_> + 14 16 4 2 2. + 0 + 1.1869010049849749e-003 + -0.3729957044124603 + 0.2804532051086426 + <_> + <_> + + + <_> + 0 12 2 12 -1. + <_> + 0 12 1 6 2. + <_> + 1 18 1 6 2. + 0 + -7.0347748696804047e-003 + 0.5129194855690002 + -0.1471458971500397 + <_> + <_> + + + <_> + 6 12 8 3 -1. + <_> + 8 12 4 3 2. + 0 + -1.5178660396486521e-003 + 0.1587875038385391 + -0.4878717958927155 + <_> + <_> + + + <_> + 9 3 12 16 -1. + <_> + 13 3 4 16 3. + 0 + 0.0560136698186398 + 0.1307657957077026 + -0.7227416038513184 + <_> + <_> + + + <_> + 5 13 2 1 -1. + <_> + 5 13 1 1 2. + 1 + 8.7106530554592609e-004 + 0.0461001209914684 + -0.7577248811721802 + <_> + <_> + + + <_> + 0 13 3 3 -1. + <_> + 1 13 1 3 3. + 0 + -2.1497160196304321e-003 + 0.4198262989521027 + -0.1683980971574783 + <_> + <_> + + + <_> + 2 9 8 6 -1. + <_> + 4 9 4 6 2. + 0 + -3.8051741285016760e-005 + 0.2057840973138809 + -0.3384790122509003 + <_> + <_> + + + <_> + 21 14 3 6 -1. + <_> + 22 15 1 6 3. + 1 + 0.0137355001643300 + -0.0747260674834251 + 0.7201368808746338 + <_> + <_> + + + <_> + 20 13 4 1 -1. + <_> + 21 14 2 1 2. + 1 + -1.3389450032263994e-003 + 0.3157942891120911 + -0.2198427021503449 + <_> + <_> + + + <_> + 21 14 1 4 -1. + <_> + 21 14 1 2 2. + 1 + -5.0149420276284218e-003 + -0.8191903829574585 + 0.0918663963675499 + <_> + <_> + + + <_> + 18 16 4 4 -1. + <_> + 20 16 2 4 2. + 0 + -9.4169396907091141e-003 + 0.4667060077190399 + -0.1919215023517609 + <_> + <_> + + + <_> + 1 11 3 4 -1. + <_> + 1 13 3 2 2. + 0 + -3.0101810116320848e-003 + -0.6951630711555481 + 0.1090444028377533 + <_> + <_> + + + <_> + 10 5 4 7 -1. + <_> + 10 5 2 7 2. + 1 + -4.4059199281036854e-003 + -0.6928061246871948 + 0.0763746872544289 + <_> + <_> + + + <_> + 9 1 2 2 -1. + <_> + 9 1 1 1 2. + <_> + 10 2 1 1 2. + 0 + 6.2607077416032553e-004 + -0.1319579035043716 + 0.5763530135154724 + <_> + <_> + + + <_> + 11 18 3 1 -1. + <_> + 12 19 1 1 3. + 1 + -1.5799569664523005e-003 + -0.8000664710998535 + 0.0977709367871284 + <_> + <_> + + + <_> + 17 3 3 1 -1. + <_> + 18 3 1 1 3. + 0 + -9.3411648413166404e-004 + 0.4694389998912811 + -0.1533744037151337 + <_> + <_> + + + <_> + 6 0 12 16 -1. + <_> + 10 0 4 16 3. + 0 + -0.0932095572352409 + -0.8491197824478149 + 0.0880111902952194 + <_> + <_> + + + <_> + 17 3 3 1 -1. + <_> + 18 3 1 1 3. + 0 + 7.4374250834807754e-004 + -0.1842644065618515 + 0.3805570900440216 + <_> + <_> + + + <_> + 9 5 12 1 -1. + <_> + 9 5 6 1 2. + 1 + 6.3031669706106186e-003 + 0.0845820233225822 + -0.7444239258766174 + <_> + <_> + + + <_> + 6 20 6 3 -1. + <_> + 8 21 2 1 9. + 0 + -6.0798302292823792e-003 + -0.7515761256217957 + 0.0649744868278503 + <_> + <_> + + + <_> + 10 6 6 18 -1. + <_> + 10 15 6 9 2. + 0 + 0.1517052948474884 + 0.0513905510306358 + -0.9469572901725769 + -1.0858340263366699 + 16 + -1 + <_> + + <_> + <_> + + + <_> + 20 7 4 7 -1. + <_> + 21 8 2 7 2. + 1 + 0.0219492204487324 + -0.2265031933784485 + 0.4418419897556305 + <_> + <_> + + + <_> + 14 6 4 3 -1. + <_> + 15 6 2 3 2. + 0 + 1.1758409673348069e-003 + -0.1757055073976517 + 0.4619412124156952 + <_> + <_> + + + <_> + 6 17 3 4 -1. + <_> + 6 18 3 2 2. + 0 + 1.2716560377157293e-005 + -0.4481295049190521 + 0.1599880009889603 + <_> + <_> + + + <_> + 6 17 1 4 -1. + <_> + 6 18 1 2 2. + 0 + 1.1300130281597376e-003 + 0.0789571776986122 + -0.8131242990493774 + <_> + <_> + + + <_> + 13 5 3 6 -1. + <_> + 14 5 1 6 3. + 0 + 2.5412079412490129e-003 + -0.1422728002071381 + 0.4994044005870819 + <_> + <_> + + + <_> + 5 8 6 14 -1. + <_> + 8 8 3 14 2. + 0 + -6.3133548246696591e-004 + 0.1496971994638443 + -0.5156996846199036 + <_> + <_> + + + <_> + 7 9 3 2 -1. + <_> + 8 9 1 2 3. + 0 + 6.3104438595473766e-004 + -0.1836366057395935 + 0.3642323017120361 + <_> + <_> + + + <_> + 7 9 8 2 -1. + <_> + 9 9 4 2 2. + 0 + -3.6570690572261810e-003 + -0.6718627810478210 + 0.1174409985542297 + <_> + <_> + + + <_> + 14 16 1 2 -1. + <_> + 14 16 1 1 2. + 1 + 3.6375098716234788e-005 + -0.4115301966667175 + 0.1597536951303482 + <_> + <_> + + + <_> + 11 4 7 6 -1. + <_> + 9 6 7 2 3. + 1 + 0.0194304306060076 + 0.0694903135299683 + -0.8849613070487976 + <_> + <_> + + + <_> + 15 1 2 2 -1. + <_> + 15 1 1 1 2. + <_> + 16 2 1 1 2. + 0 + 6.1027437914162874e-004 + -0.1468856036663055 + 0.4607191085815430 + <_> + <_> + + + <_> + 9 2 10 6 -1. + <_> + 7 4 10 2 3. + 1 + -0.0191696397960186 + -0.5073286294937134 + 0.1292755007743835 + <_> + <_> + + + <_> + 3 13 8 4 -1. + <_> + 3 13 4 2 2. + <_> + 7 15 4 2 2. + 0 + 2.1681829821318388e-005 + -0.5361046791076660 + 0.1058397963643074 + <_> + <_> + + + <_> + 3 15 2 4 -1. + <_> + 3 16 2 2 2. + 0 + -3.9187908987514675e-004 + -0.7021843791007996 + 0.0777122229337692 + <_> + <_> + + + <_> + 10 5 4 6 -1. + <_> + 11 5 2 6 2. + 0 + -3.9514377713203430e-003 + 0.5230271816253662 + -0.1333068013191223 + <_> + <_> + + + <_> + 16 0 1 3 -1. + <_> + 16 1 1 1 3. + 0 + 1.9933769945055246e-003 + -0.0870804116129875 + 0.5962848067283630 + <_> + <_> + + + <_> + 8 5 4 7 -1. + <_> + 9 5 2 7 2. + 0 + -1.8228619592264295e-003 + 0.3406513035297394 + -0.1757121980190277 + <_> + <_> + + + <_> + 12 4 3 6 -1. + <_> + 12 6 3 2 3. + 0 + 0.0117127299308777 + 0.0774252936244011 + -0.8405519127845764 + <_> + <_> + + + <_> + 1 6 2 2 -1. + <_> + 1 6 1 1 2. + <_> + 2 7 1 1 2. + 0 + 6.3482351833954453e-004 + -0.1264951974153519 + 0.5396903753280640 + <_> + <_> + + + <_> + 7 19 3 2 -1. + <_> + 8 20 1 2 3. + 1 + 3.7343869917094707e-003 + 0.0789862573146820 + -0.8768991827964783 + <_> + <_> + + + <_> + 5 21 1 2 -1. + <_> + 5 22 1 1 2. + 0 + -1.2700230399786960e-005 + 0.1386166065931320 + -0.3816567957401276 + <_> + <_> + + + <_> + 14 22 4 2 -1. + <_> + 15 22 2 2 2. + 0 + -2.0809699781239033e-003 + 0.4958929121494293 + -0.1324340999126434 + <_> + <_> + + + <_> + 10 9 9 1 -1. + <_> + 13 12 3 1 3. + 1 + 0.0274526495486498 + -0.0905561968684196 + 0.6616861224174500 + <_> + <_> + + + <_> + 7 0 4 7 -1. + <_> + 7 0 2 7 2. + 1 + 0.0605843514204025 + -0.1064744964241982 + 0.6158965826034546 + -1.0598469972610474 + 17 + -1 + <_> + + <_> + <_> + + + <_> + 16 18 4 1 -1. + <_> + 18 18 2 1 2. + 0 + -1.3228009920567274e-003 + 0.3724094927310944 + -0.2759338021278381 + <_> + <_> + + + <_> + 13 10 4 3 -1. + <_> + 15 10 2 3 2. + 0 + 1.2571939732879400e-003 + -0.4036118090152741 + 0.2033811062574387 + <_> + <_> + + + <_> + 7 1 3 7 -1. + <_> + 8 2 1 7 3. + 1 + 0.0132318697869778 + -0.1273058056831360 + 0.5871313214302063 + <_> + <_> + + + <_> + 11 5 3 6 -1. + <_> + 11 7 3 2 3. + 0 + -1.5971639659255743e-003 + -0.5842894911766052 + 0.1323653012514114 + <_> + <_> + + + <_> + 6 6 17 14 -1. + <_> + 6 13 17 7 2. + 0 + 0.0181252490729094 + -0.5789396166801453 + 0.1655147969722748 + <_> + <_> + + + <_> + 20 8 4 6 -1. + <_> + 21 8 2 6 2. + 0 + -5.1724109798669815e-003 + 0.4382256865501404 + -0.1886698007583618 + <_> + <_> + + + <_> + 22 12 1 6 -1. + <_> + 22 12 1 3 2. + 1 + -8.8614318519830704e-003 + -0.6884347200393677 + 0.1307339966297150 + <_> + <_> + + + <_> + 17 1 2 2 -1. + <_> + 17 1 1 1 2. + <_> + 18 2 1 1 2. + 0 + -6.0360057977959514e-004 + 0.5135760903358460 + -0.1458095014095306 + <_> + <_> + + + <_> + 20 10 4 4 -1. + <_> + 20 12 4 2 2. + 0 + 9.6417516469955444e-003 + 0.0949166864156723 + -0.7099562287330627 + <_> + <_> + + + <_> + 16 1 1 3 -1. + <_> + 16 2 1 1 3. + 0 + -4.1113799670711160e-004 + 0.3547807931900024 + -0.2074114978313446 + <_> + <_> + + + <_> + 7 8 3 2 -1. + <_> + 7 9 3 1 2. + 0 + -2.3926240100990981e-004 + 0.1638652980327606 + -0.4391014873981476 + <_> + <_> + + + <_> + 6 8 8 4 -1. + <_> + 6 9 8 2 2. + 0 + -3.5952820326201618e-004 + -0.2700074017047882 + 0.2621560096740723 + <_> + <_> + + + <_> + 4 8 3 3 -1. + <_> + 3 9 3 1 3. + 1 + 6.2722279690206051e-003 + -0.1355611979961395 + 0.5602701902389526 + <_> + <_> + + + <_> + 1 6 3 4 -1. + <_> + 2 6 1 4 3. + 0 + -1.5243550296872854e-003 + 0.4127916991710663 + -0.1634999960660934 + <_> + <_> + + + <_> + 16 0 5 4 -1. + <_> + 16 2 5 2 2. + 0 + 0.0123851504176855 + -0.1648865938186646 + 0.4161682128906250 + <_> + <_> + + + <_> + 1 13 1 2 -1. + <_> + 1 14 1 1 2. + 0 + 3.2021620427258313e-004 + 0.1391448974609375 + -0.5711218118667603 + <_> + <_> + + + <_> + 7 7 6 4 -1. + <_> + 7 7 3 2 2. + <_> + 10 9 3 2 2. + 0 + 5.3295320831239223e-003 + 0.0623678192496300 + -0.8622729778289795 + <_> + <_> + + + <_> + 21 13 3 2 -1. + <_> + 22 13 1 2 3. + 0 + 2.4856149684637785e-003 + -0.1458775997161865 + 0.5224738121032715 + <_> + <_> + + + <_> + 3 11 1 9 -1. + <_> + 3 14 1 3 3. + 0 + 5.8247609558748081e-005 + -0.4807082116603851 + 0.1553284972906113 + <_> + <_> + + + <_> + 10 1 10 5 -1. + <_> + 15 1 5 5 2. + 0 + -0.0297716893255711 + -0.6717332005500794 + 0.0739719718694687 + <_> + <_> + + + <_> + 11 0 8 13 -1. + <_> + 15 0 4 13 2. + 0 + 0.0599506609141827 + 0.0918852984905243 + -0.6788321733474731 + -1.1726549863815308 + 18 + -1 + diff --git a/app/src/main/cpp/handdetect/gesture.cpp b/app/src/main/cpp/handdetect/gesture.cpp new file mode 100644 index 0000000..40b4b5d --- /dev/null +++ b/app/src/main/cpp/handdetect/gesture.cpp @@ -0,0 +1,206 @@ +#include "gesture.hpp" + +double gesture::get_avg_fps() +{ + return avg_fps; +} + +cv::Rect gesture::get_fist() +{ + return Fists[0]; +} + +cv::Rect gesture::get_palm() +{ + return palm[0]; +} + +void gesture::detect(cv::Mat& img) +{ + int64 start = cv::getTickCount(); + + s = cv::getTickCount(); + Palm.detectMultiScale(img,palm,1.1,2,0|CV_HAAR_SCALE_IMAGE,cv::Size(100,100)); + time_palm += (cv::getTickCount() - s) / cv::getTickFrequency(); + + s = cv::getTickCount(); + Fist.detectMultiScale(img,Fists,1.1,2,0|CV_HAAR_SCALE_IMAGE,cv::Size(100,100)); + time_fist += (cv::getTickCount() - s) / cv::getTickFrequency(); + + if(is_fist()) + add(G_FIST, &(Fists[0])); + if(is_palm()) + add(G_PALM, &(palm[0])); + + frame_cnt++; + time_past += (cv::getTickCount() - start) / cv::getTickFrequency(); + if(time_past >= T) + { + avg_fps = (double)frame_cnt / time_past; + printf("average fps:%3.2f, time_palm:%f ms, time_fist:%f ms in %d second\n", avg_fps, time_palm/frame_cnt*1000, time_fist/frame_cnt*1000, T); + frame_cnt = 0; + time_past = 0; + time_palm = 0; + time_fist = 0; + } +} + +bool gesture::is_fist() +{ + return Fists.size() == 1; +} + +bool gesture::is_palm() +{ + return palm.size() == 1; +} + +bool gesture::is_select_start() +{ + return G_FIRST_CORD == m_state_cord; +} + + +cv::Point* gesture::get_select_lt() +{ + return &(e_gesture.point_lt); +} + +cv::Point* gesture::get_select_rb() +{ + return &(e_gesture.point_rb); +} + +cv::Point gesture::find_gesture(G_TYPE dst_type) +{ + list::reverse_iterator it; + for(it=l_gesture.rbegin();it!=l_gesture.rend();it++) + { + if(it->type == dst_type) + return it->center; + } + return {0,0}; +} + +bool gesture::anti_shaking_state(G_TYPE s) +{ + if(l_gesture.size()::reverse_iterator it; + for(unsigned int i=0;itype != s) + return false; + it++; + } + return true; +} + +bool gesture::is_select_confirmed() +{ + double cur_time = get_cur_time(); + if(G_SELECT_CONFIRMING == m_state_cord && + cur_time - m_time_confirming > m_TIME_CONFIRMING_JUDGE) + return 1; + return 0; +} + +void gesture::clear_select() +{ + m_state_cord = G_NONE; +} + +cv::Point* gesture::get_palm_center() +{ + list::reverse_iterator it = l_gesture.rbegin(); + + if(G_PALM == it->type) + return &(it->center); + else + return NULL; +} + +double gesture::get_cur_time() +{ + return (cv::getTickCount() - m_tick_s) / cv::getTickFrequency(); +} + +void gesture::add(G_TYPE type, cv::Rect* rect) +{ + gesture_rec rec; + rec.type = type; + rec.time = get_cur_time(); + rec.rect = *rect; + rec.center.x = rect->x + rect->width/2; + rec.center.y = rect->y + rect->height/2; + + l_gesture.push_back(rec); + if (l_gesture.size() > G_Q_SIZE) + { + l_gesture.pop_front(); + } + update_state_g(); +} + +STATE_G gesture::update_state_g() +{ + G_TYPE type; + double time=1000; + list::reverse_iterator it = l_gesture.rbegin(); + type = it->type; + + if(l_gesture.size()>=2) + { + time = it->time; + it++; + time -= it->time; + } + + if(S_NONE == m_state_g && G_PALM == type && anti_shaking_state(G_PALM)) + { + m_state_g = S_PALM; + } + else if(S_PALM == m_state_g && G_FIST == type && anti_shaking_state(G_FIST)) + { + if(time < m_CLICK_JUDGE) + m_state_g = S_CLICK; + else + m_state_g = S_NONE; + + } + else if(S_CLICK == m_state_g) + m_state_g = S_NONE; + + if(S_CLICK == m_state_g) + { + l_gesture.rbegin()->is_click = (m_state_g == S_CLICK); + } + + update_state_cord(); + + return m_state_g; +} + +void gesture::update_state_cord() +{ + if(G_NONE == m_state_cord && S_CLICK == m_state_g) + { + e_gesture.point_lt = l_gesture.rbegin()->center; + m_state_cord = G_FIRST_CORD; + } + else if(G_FIRST_CORD == m_state_cord && S_CLICK == m_state_g) + { + e_gesture.point_rb = l_gesture.rbegin()->center; + e_gesture.rect_select.x = e_gesture.point_lt.x; + e_gesture.rect_select.y = e_gesture.point_lt.y; + e_gesture.rect_select.width = e_gesture.point_rb.x - e_gesture.point_lt.x; + e_gesture.rect_select.height = e_gesture.point_rb.y - e_gesture.point_lt.y; + m_state_cord = G_SELECT_CONFIRMING; + m_time_confirming = l_gesture.rbegin()->time; + } + else if(G_SELECT_CONFIRMING == m_state_cord) + { + } +} diff --git a/app/src/main/cpp/handdetect/gesture.hpp b/app/src/main/cpp/handdetect/gesture.hpp new file mode 100644 index 0000000..cd8166f --- /dev/null +++ b/app/src/main/cpp/handdetect/gesture.hpp @@ -0,0 +1,108 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace std; + +#define G_Q_SIZE 100 + +enum G_TYPE +{ + G_PALM, + G_FIST, +}; + +enum STATE_G +{ + S_NONE, + S_PALM, + S_CLICK, +}; + +enum STATE_CORD +{ + G_NONE, + G_FIRST_CORD, + G_SELECT_CONFIRMING, +}; + +struct gesture_rec +{ + G_TYPE type; + double time; + cv::Rect rect; + cv::Point center; + bool is_click; +}; + +struct gesture_event +{ + cv::Point point_lt; + cv::Point point_rb; + cv::Rect rect_select; +}; + +class gesture +{ +public: + list l_gesture; + gesture_event e_gesture; + int64 m_tick_s; + STATE_G m_state_g; + double m_CLICK_JUDGE; + STATE_CORD m_state_cord; + bool is_click; + double m_time_confirming; + double m_TIME_CONFIRMING_JUDGE; + unsigned int m_ANTI_SHAKING_CNT; + std::vector palm; + std::vector Fists; + + cv::CascadeClassifier Fist, Palm; + double time_past=0; + int frame_cnt = 0; + int T=5; + double avg_fps=0; + int64 s; + double time_palm=0, time_fist=0; + + gesture() + { + Fist.load("/mnt/sdcard/openailab/fist.xml"); + Palm.load("/mnt/sdcard/openailab/rpalm.xml"); + m_tick_s = cv::getTickCount(); + m_state_g = S_NONE; + m_CLICK_JUDGE = 0.5; + m_state_cord = G_NONE; + m_TIME_CONFIRMING_JUDGE = 3; + m_ANTI_SHAKING_CNT = 3; + } + + ~gesture(){} + + void add(G_TYPE type, cv::Rect* rect); + STATE_G update_state_g(); + void update_state_cord(); + double get_cur_time(); + STATE_G anti_shaking_state(); + bool anti_shaking_state(G_TYPE s); + cv::Point find_gesture(G_TYPE dst_type); + + void detect(cv::Mat& img); + bool is_select_confirmed(); + bool is_select_start(); + void clear_select(); + bool is_fist(); + bool is_palm(); + cv::Rect get_fist(); + cv::Rect get_palm(); + cv::Point* get_palm_center(); + cv::Point* get_select_lt(); + cv::Point* get_select_rb(); + double get_avg_fps(); +}; diff --git a/app/src/main/cpp/handdetect/rpalm.xml b/app/src/main/cpp/handdetect/rpalm.xml new file mode 100644 index 0000000..f9b84e8 --- /dev/null +++ b/app/src/main/cpp/handdetect/rpalm.xml @@ -0,0 +1,5211 @@ + + + + + 24 24 + + <_> + + <_> + <_> + + + <_> + 4 20 14 4 -1. + <_> + 4 22 14 2 2. + 0 + -0.0160545799881220 + 0.5815743207931519 + -0.3967894911766052 + <_> + <_> + + + <_> + 21 15 3 6 -1. + <_> + 22 16 1 6 3. + 1 + -0.0106361201032996 + 0.7175847887992859 + -0.2221875041723251 + <_> + <_> + + + <_> + 2 8 4 8 -1. + <_> + 2 8 2 4 2. + <_> + 4 12 2 4 2. + 0 + 0.0133687397465110 + -0.1811088025569916 + 0.7420924901962280 + <_> + <_> + + + <_> + 5 2 4 9 -1. + <_> + 6 2 2 9 2. + 0 + -0.0119464900344610 + 0.7438263893127441 + -0.2069128006696701 + <_> + <_> + + + <_> + 10 13 1 6 -1. + <_> + 10 15 1 2 3. + 0 + 3.9130379445850849e-004 + 0.2637409865856171 + -0.6099758148193359 + <_> + <_> + + + <_> + 12 4 4 8 -1. + <_> + 13 4 2 8 2. + 0 + -8.6734080687165260e-003 + 0.6328784227371216 + -0.1938627064228058 + <_> + <_> + + + <_> + 10 2 4 9 -1. + <_> + 11 2 2 9 2. + 0 + -0.0123551702126861 + 0.7275540232658386 + -0.1930684000253677 + <_> + <_> + + + <_> + 9 19 4 3 -1. + <_> + 9 20 4 1 3. + 0 + -1.1025560088455677e-003 + -0.8093702793121338 + 0.1727665066719055 + <_> + <_> + + + <_> + 21 14 3 4 -1. + <_> + 22 15 1 4 3. + 1 + 0.0116820596158504 + -0.1980171054601669 + 0.7043529748916626 + <_> + <_> + + + <_> + 18 15 4 4 -1. + <_> + 18 15 2 2 2. + <_> + 20 17 2 2 2. + 0 + 3.3527149353176355e-003 + -0.1868094950914383 + 0.6150962710380554 + <_> + <_> + + + <_> + 8 19 3 3 -1. + <_> + 9 20 1 1 9. + 0 + 3.3949550706893206e-003 + 0.1660894006490707 + -0.7876750826835632 + <_> + <_> + + + <_> + 8 2 4 8 -1. + <_> + 9 2 2 8 2. + 0 + -0.0118656298145652 + 0.6772719025611877 + -0.1728664040565491 + <_> + <_> + + + <_> + 6 2 4 6 -1. + <_> + 7 2 2 6 2. + 0 + -4.1657290421426296e-003 + 0.4922367036342621 + -0.2473932951688767 + -1.5677649974822998 + -1 + -1 + <_> + + <_> + <_> + + + <_> + 3 8 11 6 -1. + <_> + 3 11 11 3 2. + 0 + 0.0242393203079700 + -0.3466045856475830 + 0.5667535066604614 + <_> + <_> + + + <_> + 8 13 5 2 -1. + <_> + 8 14 5 1 2. + 0 + -2.5087849280680530e-005 + 0.2811635136604309 + -0.6006205081939697 + <_> + <_> + + + <_> + 9 10 8 2 -1. + <_> + 9 10 4 2 2. + 1 + 0.0162008907645941 + 0.1543529927730560 + -0.8088687062263489 + <_> + <_> + + + <_> + 9 10 10 4 -1. + <_> + 9 10 5 4 2. + 1 + -0.0378512404859066 + -0.8393583893775940 + 0.1956171989440918 + <_> + <_> + + + <_> + 21 16 2 6 -1. + <_> + 21 16 1 6 2. + 1 + 0.0110051603987813 + -0.2782562077045441 + 0.6205375790596008 + <_> + <_> + + + <_> + 20 15 3 5 -1. + <_> + 21 16 1 5 3. + 1 + -9.3184206634759903e-003 + 0.6103742718696594 + -0.2123849987983704 + <_> + <_> + + + <_> + 14 21 1 2 -1. + <_> + 14 21 1 1 2. + 1 + -1.9760339637286961e-004 + -0.5891054868698120 + 0.2261286973953247 + <_> + <_> + + + <_> + 10 5 4 6 -1. + <_> + 11 5 2 6 2. + 0 + 0.0102578597143292 + -0.1963053047657013 + 0.6453251242637634 + <_> + <_> + + + <_> + 10 5 3 6 -1. + <_> + 11 5 1 6 3. + 0 + -2.3821659851819277e-003 + 0.4763708114624023 + -0.2731652855873108 + <_> + <_> + + + <_> + 7 18 9 3 -1. + <_> + 7 19 9 1 3. + 0 + -2.2472250275313854e-003 + -0.7336785793304443 + 0.1730152964591980 + <_> + <_> + + + <_> + 5 9 2 3 -1. + <_> + 4 10 2 1 3. + 1 + -6.9863540120422840e-003 + 0.6812546849250794 + -0.1872068047523499 + <_> + <_> + + + <_> + 6 10 1 3 -1. + <_> + 5 11 1 1 3. + 1 + 1.4038350200280547e-003 + -0.2798111140727997 + 0.4662921130657196 + <_> + <_> + + + <_> + 11 16 1 3 -1. + <_> + 10 17 1 1 3. + 1 + -9.2165160458534956e-004 + -0.7327365875244141 + 0.1707555055618286 + <_> + <_> + + + <_> + 11 1 2 10 -1. + <_> + 12 1 1 10 2. + 0 + -4.9595981836318970e-003 + 0.4920563101768494 + -0.2585411965847015 + -1.7130260467529297 + 0 + -1 + <_> + + <_> + <_> + + + <_> + 8 22 3 2 -1. + <_> + 8 23 3 1 2. + 0 + -2.7689049602486193e-005 + 0.3259966075420380 + -0.6458436846733093 + <_> + <_> + + + <_> + 10 12 8 4 -1. + <_> + 10 12 8 2 2. + 1 + -4.6923100017011166e-003 + -0.6647769212722778 + 0.1866769939661026 + <_> + <_> + + + <_> + 6 14 6 2 -1. + <_> + 9 14 3 2 2. + 0 + -2.9413229640340433e-005 + 0.3054704070091248 + -0.4916392862796783 + <_> + <_> + + + <_> + 0 11 20 12 -1. + <_> + 5 11 10 12 2. + 0 + 0.1888933032751083 + -0.2234773933887482 + 0.6862124800682068 + <_> + <_> + + + <_> + 12 13 1 2 -1. + <_> + 12 14 1 1 2. + 0 + -2.5916629965649918e-005 + 0.2928850054740906 + -0.4239290058612824 + <_> + <_> + + + <_> + 7 15 4 3 -1. + <_> + 8 15 2 3 2. + 0 + 2.1384130232036114e-003 + 0.1453509032726288 + -0.7767537832260132 + <_> + <_> + + + <_> + 11 14 1 4 -1. + <_> + 10 15 1 2 2. + 1 + -2.1238699555397034e-003 + -0.8070151209831238 + 0.0940218269824982 + <_> + <_> + + + <_> + 4 7 4 3 -1. + <_> + 3 8 4 1 3. + 1 + -0.0104604903608561 + 0.6006783246994019 + -0.1657384037971497 + <_> + <_> + + + <_> + 4 7 3 3 -1. + <_> + 3 8 3 1 3. + 1 + 0.0114951096475124 + -0.1525076925754547 + 0.6877039074897766 + <_> + <_> + + + <_> + 14 20 3 3 -1. + <_> + 15 20 1 3 3. + 0 + 2.3907520808279514e-003 + 0.1476263999938965 + -0.8010768890380859 + <_> + <_> + + + <_> + 17 9 6 3 -1. + <_> + 19 11 2 3 3. + 1 + 0.0263829100877047 + -0.2046487927436829 + 0.5704004764556885 + <_> + <_> + + + <_> + 21 14 3 7 -1. + <_> + 22 15 1 7 3. + 1 + 0.0166458897292614 + -0.1317737996578217 + 0.6877592206001282 + <_> + <_> + + + <_> + 21 15 3 6 -1. + <_> + 22 16 1 6 3. + 1 + -0.0175282694399357 + 0.6719298958778381 + -0.1521196961402893 + <_> + <_> + + + <_> + 4 4 20 16 -1. + <_> + 4 12 20 8 2. + 0 + 0.1756414026021957 + -0.1696090996265411 + 0.5380699038505554 + <_> + <_> + + + <_> + 7 0 15 20 -1. + <_> + 7 10 15 10 2. + 0 + -0.1817227005958557 + 0.6484866142272949 + -0.2277286946773529 + -1.6182299852371216 + 1 + -1 + <_> + + <_> + <_> + + + <_> + 7 8 5 6 -1. + <_> + 7 11 5 3 2. + 0 + 5.9556178748607635e-003 + -0.4232439994812012 + 0.4804511964321137 + <_> + <_> + + + <_> + 13 12 1 6 -1. + <_> + 11 14 1 2 3. + 1 + -2.6130949845537543e-004 + 0.3152675032615662 + -0.5155885219573975 + <_> + <_> + + + <_> + 7 4 4 6 -1. + <_> + 8 4 2 6 2. + 0 + 0.0101415896788239 + -0.1910679042339325 + 0.7248002886772156 + <_> + <_> + + + <_> + 7 1 4 9 -1. + <_> + 8 1 2 9 2. + 0 + -9.8770782351493835e-003 + 0.6965597867965698 + -0.2205891013145447 + <_> + <_> + + + <_> + 21 16 3 4 -1. + <_> + 22 17 1 4 3. + 1 + -8.2252295687794685e-003 + 0.6139079928398132 + -0.1728527992963791 + <_> + <_> + + + <_> + 4 9 3 3 -1. + <_> + 3 10 3 1 3. + 1 + -6.3234828412532806e-003 + 0.6799330711364746 + -0.1638959944248200 + <_> + <_> + + + <_> + 6 8 2 3 -1. + <_> + 5 9 2 1 3. + 1 + -5.4247528314590454e-003 + 0.7094174027442932 + -0.1668483018875122 + <_> + <_> + + + <_> + 20 14 3 4 -1. + <_> + 21 15 1 4 3. + 1 + -7.0999399758875370e-003 + 0.5969660282135010 + -0.1842069029808044 + <_> + <_> + + + <_> + 0 20 24 1 -1. + <_> + 6 20 12 1 2. + 0 + 0.0302420090883970 + -0.1447671055793762 + 0.7580047845840454 + <_> + <_> + + + <_> + 13 10 6 5 -1. + <_> + 16 10 3 5 2. + 0 + 0.0125753097236156 + -0.2090256959199905 + 0.5388982295989990 + -1.4762179851531982 + 2 + -1 + <_> + + <_> + <_> + + + <_> + 17 9 6 4 -1. + <_> + 19 11 2 4 3. + 1 + -0.0249069090932608 + 0.7277613282203674 + -0.2477869987487793 + <_> + <_> + + + <_> + 14 9 3 5 -1. + <_> + 15 9 1 5 3. + 0 + -3.0354529153555632e-003 + 0.5900033712387085 + -0.2139678001403809 + <_> + <_> + + + <_> + 5 9 3 3 -1. + <_> + 4 10 3 1 3. + 1 + 9.5199914649128914e-003 + -0.1874621957540512 + 0.7431190013885498 + <_> + <_> + + + <_> + 15 21 1 2 -1. + <_> + 15 21 1 1 2. + 1 + 1.3308210327522829e-005 + -0.5443438887596130 + 0.2366420030593872 + <_> + <_> + + + <_> + 4 8 3 3 -1. + <_> + 3 9 3 1 3. + 1 + -9.4965435564517975e-003 + 0.7568901181221008 + -0.2190473973751068 + <_> + <_> + + + <_> + 13 22 2 1 -1. + <_> + 14 22 1 1 2. + 0 + -2.7035910534323193e-005 + 0.4637342095375061 + -0.2534284889698029 + <_> + <_> + + + <_> + 15 3 2 12 -1. + <_> + 15 3 1 6 2. + <_> + 16 9 1 6 2. + 0 + -5.7258252054452896e-003 + 0.6289811730384827 + -0.2301643937826157 + <_> + <_> + + + <_> + 9 0 3 12 -1. + <_> + 10 0 1 12 3. + 0 + -8.3422511816024780e-003 + 0.6095110177993774 + -0.2105067074298859 + <_> + <_> + + + <_> + 14 5 3 2 -1. + <_> + 15 5 1 2 3. + 0 + 1.6748439520597458e-003 + -0.1622692048549652 + 0.6022095084190369 + <_> + <_> + + + <_> + 18 9 6 5 -1. + <_> + 20 11 2 5 3. + 1 + 0.0283848997205496 + -0.2276521027088165 + 0.5022398233413696 + <_> + <_> + + + <_> + 4 11 7 4 -1. + <_> + 4 11 7 2 2. + 1 + 0.0246189106255770 + -0.2869203090667725 + 0.5214701890945435 + <_> + <_> + + + <_> + 12 13 2 2 -1. + <_> + 12 14 2 1 2. + 0 + -1.3276059689815156e-005 + 0.2788724899291992 + -0.5287386775016785 + <_> + <_> + + + <_> + 9 0 3 7 -1. + <_> + 10 0 1 7 3. + 0 + 5.0952201709151268e-003 + -0.2256809026002884 + 0.5761367082595825 + <_> + <_> + + + <_> + 6 14 4 3 -1. + <_> + 8 14 2 3 2. + 0 + -1.5520949091296643e-005 + 0.2604629993438721 + -0.5277115106582642 + <_> + <_> + + + <_> + 14 3 4 4 -1. + <_> + 15 3 2 4 2. + 0 + -2.0479580853134394e-003 + 0.4522182941436768 + -0.2926132082939148 + -1.3226419687271118 + 3 + -1 + <_> + + <_> + <_> + + + <_> + 20 8 3 10 -1. + <_> + 20 8 3 5 2. + 1 + -0.0640391632914543 + 0.6757487058639526 + -0.2401231974363327 + <_> + <_> + + + <_> + 11 6 10 8 -1. + <_> + 11 6 5 8 2. + 1 + 0.0699496269226074 + 0.1676660031080246 + -0.7646918892860413 + <_> + <_> + + + <_> + 10 10 6 3 -1. + <_> + 10 10 3 3 2. + 1 + -0.0109255099669099 + -0.7281607985496521 + 0.1373299956321716 + <_> + <_> + + + <_> + 21 16 3 5 -1. + <_> + 22 17 1 5 3. + 1 + -0.0140163702890277 + 0.5323743224143982 + -0.1979404985904694 + <_> + <_> + + + <_> + 8 12 6 12 -1. + <_> + 8 18 6 6 2. + 0 + 0.0183976404368877 + 0.1248401999473572 + -0.8301463127136231 + <_> + <_> + + + <_> + 9 11 6 4 -1. + <_> + 9 11 6 2 2. + 1 + 0.0141215100884438 + 0.1244651973247528 + -0.7794439196586609 + <_> + <_> + + + <_> + 5 3 3 3 -1. + <_> + 6 3 1 3 3. + 0 + -2.7840230613946915e-003 + 0.4581700861454010 + -0.2414014935493469 + <_> + <_> + + + <_> + 5 2 3 5 -1. + <_> + 6 2 1 5 3. + 0 + 5.5716228671371937e-003 + -0.1536013931035996 + 0.6493139863014221 + <_> + <_> + + + <_> + 4 9 3 3 -1. + <_> + 3 10 3 1 3. + 1 + -0.0113574499264359 + 0.6948106288909912 + -0.1067067980766296 + <_> + <_> + + + <_> + 3 7 4 3 -1. + <_> + 2 8 4 1 3. + 1 + 0.0121489297598600 + -0.1460101008415222 + 0.6348434090614319 + <_> + <_> + + + <_> + 12 19 3 3 -1. + <_> + 13 20 1 1 9. + 0 + -2.2982829250395298e-003 + -0.7656024098396301 + 0.1153203025460243 + <_> + <_> + + + <_> + 10 6 4 5 -1. + <_> + 11 6 2 5 2. + 0 + 8.1081865355372429e-003 + -0.1790266931056976 + 0.5282561182975769 + <_> + <_> + + + <_> + 10 4 4 8 -1. + <_> + 11 4 2 8 2. + 0 + -0.0136386398226023 + 0.6181439161300659 + -0.1494484990835190 + <_> + <_> + + + <_> + 7 22 1 2 -1. + <_> + 7 23 1 1 2. + 0 + -1.3276059689815156e-005 + 0.2555614113807678 + -0.3760986030101776 + <_> + <_> + + + <_> + 21 14 3 6 -1. + <_> + 22 15 1 6 3. + 1 + -0.0190821997821331 + 0.6278799772262573 + -0.1637527942657471 + <_> + <_> + + + <_> + 18 15 4 6 -1. + <_> + 18 15 2 3 2. + <_> + 20 18 2 3 2. + 0 + -7.5635500252246857e-003 + 0.5995209217071533 + -0.1406470984220505 + <_> + <_> + + + <_> + 3 8 2 4 -1. + <_> + 3 8 1 2 2. + <_> + 4 10 1 2 2. + 0 + -1.3169930316507816e-003 + 0.4811421930789948 + -0.1696379929780960 + -1.1767799854278564 + 4 + -1 + <_> + + <_> + <_> + + + <_> + 0 13 20 1 -1. + <_> + 5 13 10 1 2. + 0 + 0.0230137500911951 + -0.2137572020292282 + 0.6803718209266663 + <_> + <_> + + + <_> + 12 20 3 1 -1. + <_> + 13 20 1 1 3. + 0 + 6.2260380946099758e-004 + 0.1682623028755188 + -0.8001232743263245 + <_> + <_> + + + <_> + 12 22 8 2 -1. + <_> + 12 22 4 1 2. + <_> + 16 23 4 1 2. + 0 + 2.2374920081347227e-003 + -0.2768487930297852 + 0.3780502974987030 + <_> + <_> + + + <_> + 14 12 1 8 -1. + <_> + 14 12 1 4 2. + 1 + -7.1543981321156025e-003 + -0.7841684222221375 + 0.1571840047836304 + <_> + <_> + + + <_> + 7 6 8 6 -1. + <_> + 7 6 8 3 2. + 1 + 0.0322762392461300 + 0.1119498014450073 + -0.7148249149322510 + <_> + <_> + + + <_> + 8 4 9 3 -1. + <_> + 11 7 3 3 3. + 1 + -0.0366395786404610 + -0.8119863867759705 + 0.0888507664203644 + <_> + <_> + + + <_> + 9 3 4 8 -1. + <_> + 10 3 2 8 2. + 0 + -9.2465691268444061e-003 + 0.5065773725509644 + -0.1958063989877701 + <_> + <_> + + + <_> + 11 9 4 2 -1. + <_> + 12 9 2 2 2. + 0 + -2.9474359471350908e-003 + 0.5205392241477966 + -0.1781751960515976 + <_> + <_> + + + <_> + 12 20 3 2 -1. + <_> + 13 20 1 2 3. + 0 + -7.5066951103508472e-004 + -0.7027307152748108 + 0.1448161005973816 + <_> + <_> + + + <_> + 8 8 6 10 -1. + <_> + 11 8 3 10 2. + 0 + -0.0234611108899117 + -0.8863077759742737 + 0.0640686377882957 + <_> + <_> + + + <_> + 15 1 5 9 -1. + <_> + 12 4 5 3 3. + 1 + 0.0482501313090324 + 0.0812877565622330 + -0.8869150876998901 + <_> + <_> + + + <_> + 8 15 4 2 -1. + <_> + 9 15 2 2 2. + 0 + -1.7608599737286568e-003 + -0.7548248767852783 + 0.0648893117904663 + <_> + <_> + + + <_> + 8 3 3 7 -1. + <_> + 9 3 1 7 3. + 0 + -7.2244009934365749e-003 + 0.5369160771369934 + -0.1651000976562500 + <_> + <_> + + + <_> + 8 2 4 9 -1. + <_> + 9 2 2 9 2. + 0 + 0.0143400803208351 + -0.1481142938137054 + 0.6055570840835571 + -1.1975250244140625 + 5 + -1 + <_> + + <_> + <_> + + + <_> + 6 13 5 6 -1. + <_> + 6 13 5 3 2. + 1 + 0.0588197298347950 + -0.2443398982286453 + 0.5527411103248596 + <_> + <_> + + + <_> + 16 20 1 2 -1. + <_> + 16 20 1 1 2. + 1 + -5.0641410052776337e-004 + -0.7710698843002319 + 0.1833038926124573 + <_> + <_> + + + <_> + 14 20 1 3 -1. + <_> + 13 21 1 1 3. + 1 + -1.1089179897680879e-003 + -0.7432035207748413 + 0.1303157955408096 + <_> + <_> + + + <_> + 13 21 3 1 -1. + <_> + 14 21 1 1 3. + 0 + -3.7558231269940734e-004 + -0.7053837180137634 + 0.1493273973464966 + <_> + <_> + + + <_> + 9 12 4 2 -1. + <_> + 9 13 4 1 2. + 0 + -2.5967200053855777e-004 + 0.2389803975820541 + -0.3588679134845734 + <_> + <_> + + + <_> + 19 11 2 8 -1. + <_> + 19 11 2 4 2. + 1 + -0.0382101982831955 + 0.6070200204849243 + -0.1463038027286530 + <_> + <_> + + + <_> + 11 4 4 8 -1. + <_> + 12 4 2 8 2. + 0 + 0.0108854901045561 + -0.1634867042303085 + 0.5394703745841980 + <_> + <_> + + + <_> + 11 1 4 10 -1. + <_> + 12 1 2 10 2. + 0 + -0.0108337104320526 + 0.5022432804107666 + -0.1596270948648453 + <_> + <_> + + + <_> + 0 14 8 9 -1. + <_> + 4 14 4 9 2. + 0 + -0.0526713393628597 + 0.5978599190711975 + -0.1508381962776184 + <_> + <_> + + + <_> + 11 22 3 1 -1. + <_> + 12 22 1 1 3. + 0 + 5.8317312505096197e-004 + 0.1284254938364029 + -0.7441455125808716 + <_> + <_> + + + <_> + 11 9 2 6 -1. + <_> + 9 11 2 2 3. + 1 + -7.7055841684341431e-003 + -0.6302971243858337 + 0.1245732009410858 + <_> + <_> + + + <_> + 12 3 6 5 -1. + <_> + 14 3 2 5 3. + 0 + -0.0268017090857029 + 0.6091229915618897 + -0.1562017947435379 + <_> + <_> + + + <_> + 1 7 4 8 -1. + <_> + 1 7 2 4 2. + <_> + 3 11 2 4 2. + 0 + 0.0161331202834845 + -0.1282363981008530 + 0.5570734143257141 + <_> + <_> + + + <_> + 20 12 2 6 -1. + <_> + 20 15 2 3 2. + 0 + -8.3418358117341995e-003 + 0.4627014994621277 + -0.1894095987081528 + <_> + <_> + + + <_> + 21 13 1 4 -1. + <_> + 21 15 1 2 2. + 0 + 2.2055499721318483e-003 + -0.1690810024738312 + 0.5015404820442200 + <_> + <_> + + + <_> + 9 16 3 8 -1. + <_> + 10 16 1 8 3. + 0 + 5.2569778636097908e-003 + 0.0961493477225304 + -0.9762687087059021 + -1.2649979591369629 + 6 + -1 + <_> + + <_> + <_> + + + <_> + 21 13 3 5 -1. + <_> + 22 14 1 5 3. + 1 + 0.0139359198510647 + -0.2069388031959534 + 0.6581413149833679 + <_> + <_> + + + <_> + 7 9 1 3 -1. + <_> + 6 10 1 1 3. + 1 + -3.7903119809925556e-003 + 0.6346089243888855 + -0.1945728063583374 + <_> + <_> + + + <_> + 5 4 4 6 -1. + <_> + 6 4 2 6 2. + 0 + -0.0105403400957584 + 0.7053533792495728 + -0.1754689961671829 + <_> + <_> + + + <_> + 21 14 3 3 -1. + <_> + 22 15 1 3 3. + 1 + -6.6404351964592934e-003 + 0.5418199896812439 + -0.1783716976642609 + <_> + <_> + + + <_> + 0 13 8 6 -1. + <_> + 4 13 4 6 2. + 0 + 0.0432258583605289 + -0.2286348938941956 + 0.5254237055778503 + <_> + <_> + + + <_> + 11 1 3 9 -1. + <_> + 12 1 1 9 3. + 0 + 8.0676143988966942e-003 + -0.2146506011486054 + 0.6078557968139648 + <_> + <_> + + + <_> + 10 12 1 6 -1. + <_> + 10 14 1 2 3. + 0 + -2.6453730242792517e-005 + 0.2598724961280823 + -0.5486767888069153 + <_> + <_> + + + <_> + 11 4 3 4 -1. + <_> + 12 4 1 4 3. + 0 + -3.0251119751483202e-003 + 0.5749629139900208 + -0.2059939950704575 + <_> + <_> + + + <_> + 21 12 3 4 -1. + <_> + 22 13 1 4 3. + 1 + -0.0112482700496912 + 0.7014716863632202 + -0.1740092933177948 + <_> + <_> + + + <_> + 3 8 4 3 -1. + <_> + 2 9 4 1 3. + 1 + -7.8399572521448135e-003 + 0.6334478855133057 + -0.1307342946529388 + <_> + <_> + + + <_> + 12 18 2 6 -1. + <_> + 12 18 1 3 2. + <_> + 13 21 1 3 2. + 0 + -2.6510950192459859e-005 + 0.2957679033279419 + -0.3508076071739197 + <_> + <_> + + + <_> + 9 1 3 15 -1. + <_> + 9 6 3 5 3. + 0 + -5.1941078709205613e-005 + 0.2290592044591904 + -0.4082244932651520 + <_> + <_> + + + <_> + 10 3 3 9 -1. + <_> + 10 6 3 3 3. + 0 + -0.0133154597133398 + -0.6246970891952515 + 0.1573861986398697 + <_> + <_> + + + <_> + 6 2 3 5 -1. + <_> + 7 2 1 5 3. + 0 + 5.4161110892891884e-003 + -0.1880431026220322 + 0.5492764711380005 + <_> + <_> + + + <_> + 6 3 4 4 -1. + <_> + 7 3 2 4 2. + 0 + -5.6321560405194759e-003 + 0.5341684818267822 + -0.2142093032598496 + <_> + <_> + + + <_> + 14 21 1 2 -1. + <_> + 14 21 1 1 2. + 1 + 2.9037069907644764e-005 + -0.5333914756774902 + 0.1913610994815826 + <_> + <_> + + + <_> + 7 0 3 8 -1. + <_> + 8 0 1 8 3. + 0 + 4.5027639716863632e-003 + -0.2595432102680206 + 0.4040885865688324 + -1.2918970584869385 + 7 + -1 + <_> + + <_> + <_> + + + <_> + 22 9 1 12 -1. + <_> + 22 9 1 6 2. + 1 + -0.0365153700113297 + 0.6817929744720459 + -0.1897795945405960 + <_> + <_> + + + <_> + 21 15 3 6 -1. + <_> + 22 16 1 6 3. + 1 + -0.0199912805110216 + 0.5716298222541809 + -0.1235899031162262 + <_> + <_> + + + <_> + 20 15 3 6 -1. + <_> + 21 16 1 6 3. + 1 + 0.0129294702783227 + -0.1696414053440094 + 0.5550670027732849 + <_> + <_> + + + <_> + 12 12 1 2 -1. + <_> + 12 13 1 1 2. + 0 + -2.6885269107879139e-005 + 0.2460864931344986 + -0.3559803068637848 + <_> + <_> + + + <_> + 6 19 7 3 -1. + <_> + 6 20 7 1 3. + 0 + -1.4147070469334722e-003 + -0.7863336801528931 + 0.0907158404588699 + <_> + <_> + + + <_> + 10 2 2 2 -1. + <_> + 10 3 2 1 2. + 0 + -2.9398759943433106e-004 + 0.2859078943729401 + -0.2556667029857636 + <_> + <_> + + + <_> + 5 17 8 4 -1. + <_> + 5 18 8 2 2. + 0 + -2.0987440366297960e-003 + -0.6773806214332581 + 0.1058762967586517 + <_> + <_> + + + <_> + 12 8 3 3 -1. + <_> + 13 8 1 3 3. + 0 + -3.1741450075060129e-003 + 0.4938574135303497 + -0.1555428057909012 + <_> + <_> + + + <_> + 11 6 6 4 -1. + <_> + 13 6 2 4 3. + 0 + 0.0146686099469662 + -0.1700571030378342 + 0.4891662895679474 + <_> + <_> + + + <_> + 1 0 23 18 -1. + <_> + 1 9 23 9 2. + 0 + 0.1961691975593567 + -0.2031650990247726 + 0.3976930975914002 + <_> + <_> + + + <_> + 12 4 6 3 -1. + <_> + 12 4 3 3 2. + 1 + -0.0274758897721767 + -0.8285769820213318 + 0.1022280976176262 + <_> + <_> + + + <_> + 3 6 3 3 -1. + <_> + 2 7 3 1 3. + 1 + -0.0107416901737452 + 0.6091089248657227 + -0.1372545063495636 + <_> + <_> + + + <_> + 4 7 3 3 -1. + <_> + 3 8 3 1 3. + 1 + 0.0122777000069618 + -0.1415365040302277 + 0.6360173821449280 + <_> + <_> + + + <_> + 13 13 1 4 -1. + <_> + 12 14 1 2 2. + 1 + -1.3530700016417541e-005 + 0.1965927034616470 + -0.4793517887592316 + <_> + <_> + + + <_> + 2 9 2 6 -1. + <_> + 2 9 1 3 2. + <_> + 3 12 1 3 2. + 0 + 3.6640739999711514e-003 + -0.1748948991298676 + 0.4853253066539764 + <_> + <_> + + + <_> + 12 12 8 2 -1. + <_> + 16 12 4 2 2. + 0 + 8.5906870663166046e-003 + -0.2593157887458801 + 0.4773240089416504 + <_> + <_> + + + <_> + 10 8 1 6 -1. + <_> + 10 11 1 3 2. + 0 + 1.4988419934525155e-005 + -0.4841760993003845 + 0.2880381047725678 + <_> + <_> + + + <_> + 13 12 1 12 -1. + <_> + 13 18 1 6 2. + 0 + -3.8546950236195698e-005 + 0.1970922946929932 + -0.5527912974357605 + <_> + <_> + + + <_> + 10 9 1 2 -1. + <_> + 10 10 1 1 2. + 0 + -2.6233999960822985e-005 + 0.3754557967185974 + -0.3997049033641815 + <_> + <_> + + + <_> + 14 17 3 2 -1. + <_> + 15 18 1 2 3. + 1 + 2.6354869987699203e-005 + -0.4428553879261017 + 0.2919285893440247 + <_> + <_> + + + <_> + 21 16 3 3 -1. + <_> + 22 17 1 3 3. + 1 + 5.6923772208392620e-003 + -0.2776320874691010 + 0.5461282134056091 + -1.4319280385971069 + 8 + -1 + <_> + + <_> + <_> + + + <_> + 0 16 10 6 -1. + <_> + 5 16 5 6 2. + 0 + 0.0556467585265636 + -0.2511605024337769 + 0.5243198275566101 + <_> + <_> + + + <_> + 6 14 4 1 -1. + <_> + 8 14 2 1 2. + 0 + -2.8501879569375888e-005 + 0.2475360929965973 + -0.5893979072570801 + <_> + <_> + + + <_> + 10 4 2 9 -1. + <_> + 10 7 2 3 3. + 0 + -6.2839702877681702e-005 + 0.2016490995883942 + -0.4407679140567780 + <_> + <_> + + + <_> + 7 8 3 3 -1. + <_> + 8 8 1 3 3. + 0 + -4.3331161141395569e-003 + 0.6704502105712891 + -0.1420045047998428 + <_> + <_> + + + <_> + 7 5 3 6 -1. + <_> + 8 5 1 6 3. + 0 + 3.4490129910409451e-003 + -0.2159714996814728 + 0.4926345944404602 + <_> + <_> + + + <_> + 15 21 1 2 -1. + <_> + 15 21 1 1 2. + 1 + 1.3308210327522829e-005 + -0.5345746874809265 + 0.1853273957967758 + <_> + <_> + + + <_> + 13 23 2 1 -1. + <_> + 14 23 1 1 2. + 0 + -1.3725580174650531e-005 + 0.2924573123455048 + -0.3601210117340088 + <_> + <_> + + + <_> + 7 15 1 6 -1. + <_> + 7 15 1 3 2. + 1 + -5.2830348722636700e-003 + 0.5563002824783325 + -0.2387607991695404 + <_> + <_> + + + <_> + 10 6 4 1 -1. + <_> + 11 7 2 1 2. + 1 + 2.3481070529669523e-003 + -0.1744544059038162 + 0.5514246821403503 + <_> + <_> + + + <_> + 10 6 3 7 -1. + <_> + 11 6 1 7 3. + 0 + -2.7022031135857105e-003 + 0.4030789136886597 + -0.2820523977279663 + <_> + <_> + + + <_> + 11 6 4 5 -1. + <_> + 11 6 2 5 2. + 1 + -4.5426280121318996e-004 + 0.2822676897048950 + -0.4097866117954254 + <_> + <_> + + + <_> + 11 5 6 5 -1. + <_> + 13 5 2 5 3. + 0 + -0.0156079903244972 + 0.4601722061634064 + -0.2093376070261002 + <_> + <_> + + + <_> + 22 13 2 5 -1. + <_> + 22 13 1 5 2. + 1 + 0.0112017299979925 + -0.1578336954116821 + 0.5332673192024231 + <_> + <_> + + + <_> + 9 2 1 3 -1. + <_> + 8 3 1 1 3. + 1 + -3.5959999077022076e-003 + 0.5282676219940186 + -0.1968072056770325 + <_> + <_> + + + <_> + 8 3 1 3 -1. + <_> + 7 4 1 1 3. + 1 + -3.1091740820556879e-003 + 0.5153130292892456 + -0.1978839039802551 + <_> + <_> + + + <_> + 5 2 4 6 -1. + <_> + 6 2 2 6 2. + 0 + 0.0100852102041245 + -0.1403750032186508 + 0.6457468271255493 + <_> + <_> + + + <_> + 19 13 3 3 -1. + <_> + 20 14 1 3 3. + 1 + -4.5849368907511234e-003 + 0.4744391143321991 + -0.2429344058036804 + <_> + <_> + + + <_> + 16 18 2 2 -1. + <_> + 16 18 2 1 2. + 1 + 1.3308210327522829e-005 + -0.3655492961406708 + 0.2558963000774384 + <_> + <_> + + + <_> + 14 21 1 2 -1. + <_> + 14 21 1 1 2. + 1 + 2.6515319405007176e-005 + -0.5560783147811890 + 0.1520873010158539 + <_> + <_> + + + <_> + 17 16 4 4 -1. + <_> + 17 16 2 2 2. + <_> + 19 18 2 2 2. + 0 + 3.9861868135631084e-003 + -0.2947866916656494 + 0.4607023000717163 + <_> + <_> + + + <_> + 12 13 3 2 -1. + <_> + 12 14 3 1 2. + 0 + -1.3871699593437370e-005 + 0.2491364926099777 + -0.5691472291946411 + <_> + <_> + + + <_> + 20 9 2 10 -1. + <_> + 20 9 2 5 2. + 1 + -0.0266652796417475 + 0.5222026705741882 + -0.2709070146083832 + <_> + <_> + + + <_> + 11 12 10 1 -1. + <_> + 16 12 5 1 2. + 0 + 4.3746507726609707e-003 + -0.2633951902389526 + 0.5461527109146118 + <_> + <_> + + + <_> + 6 22 6 2 -1. + <_> + 6 23 6 1 2. + 0 + -1.0749649663921446e-004 + 0.1918351054191589 + -0.6106715202331543 + <_> + <_> + + + <_> + 10 2 2 4 -1. + <_> + 10 3 2 2 2. + 0 + -2.9697570425923914e-005 + 0.2537322938442230 + -0.4980931878089905 + <_> + <_> + + + <_> + 7 9 7 6 -1. + <_> + 7 11 7 2 3. + 0 + -7.6198077294975519e-005 + 0.4514955878257752 + -0.2699598073959351 + <_> + <_> + + + <_> + 8 12 6 4 -1. + <_> + 8 13 6 2 2. + 0 + -1.8618940885062329e-005 + 0.3307468891143799 + -0.3137362003326416 + <_> + <_> + + + <_> + 0 23 16 1 -1. + <_> + 8 23 8 1 2. + 0 + 0.0120842000469565 + -0.2028772979974747 + 0.6058229207992554 + <_> + <_> + + + <_> + 4 12 2 2 -1. + <_> + 4 12 1 1 2. + <_> + 5 13 1 1 2. + 0 + -4.6505901264026761e-004 + 0.5263950824737549 + -0.2101300060749054 + <_> + <_> + + + <_> + 4 11 2 4 -1. + <_> + 4 11 1 2 2. + <_> + 5 13 1 2 2. + 0 + 1.2990289833396673e-003 + -0.1864500939846039 + 0.5030897855758667 + <_> + <_> + + + <_> + 5 15 4 3 -1. + <_> + 7 15 2 3 2. + 0 + -1.3276059689815156e-005 + 0.2554006874561310 + -0.4264180958271027 + -1.6319830417633057 + 9 + -1 + <_> + + <_> + <_> + + + <_> + 12 5 6 12 -1. + <_> + 9 8 6 6 2. + 1 + 0.0745595097541809 + -0.2709754109382629 + 0.5018699765205383 + <_> + <_> + + + <_> + 12 13 1 4 -1. + <_> + 11 14 1 2 2. + 1 + -1.3276059689815156e-005 + 0.2632409930229187 + -0.6538507938385010 + <_> + <_> + + + <_> + 20 17 3 3 -1. + <_> + 21 18 1 3 3. + 1 + -6.6211810335516930e-003 + 0.4894117116928101 + -0.2004463970661163 + <_> + <_> + + + <_> + 13 12 1 3 -1. + <_> + 12 13 1 1 3. + 1 + -2.6954679924529046e-005 + 0.2914145886898041 + -0.3056490123271942 + <_> + <_> + + + <_> + 4 8 4 3 -1. + <_> + 3 9 4 1 3. + 1 + -0.0118875401094556 + 0.6393358111381531 + -0.1558074951171875 + <_> + <_> + + + <_> + 10 12 2 4 -1. + <_> + 10 12 2 2 2. + 1 + -5.8136237785220146e-003 + -0.7251964807510376 + 0.1266424953937531 + <_> + <_> + + + <_> + 4 8 3 3 -1. + <_> + 3 9 3 1 3. + 1 + 0.0108568500727415 + -0.1940068006515503 + 0.5258303880691528 + <_> + <_> + + + <_> + 7 1 5 15 -1. + <_> + 7 6 5 5 3. + 0 + -2.2697940585203469e-004 + 0.2033091932535172 + -0.4707151055335999 + <_> + <_> + + + <_> + 9 3 3 8 -1. + <_> + 10 3 1 8 3. + 0 + -7.3111318051815033e-003 + 0.4771454930305481 + -0.1917153000831604 + <_> + <_> + + + <_> + 9 2 3 11 -1. + <_> + 10 2 1 11 3. + 0 + 5.4811378940939903e-003 + -0.2259102016687393 + 0.4658338129520416 + <_> + <_> + + + <_> + 6 13 2 1 -1. + <_> + 7 13 1 1 2. + 0 + -2.7254169253865257e-005 + 0.2745344936847687 + -0.3653109073638916 + <_> + <_> + + + <_> + 21 15 3 5 -1. + <_> + 22 16 1 5 3. + 1 + 0.0158470403403044 + -0.1455305963754654 + 0.7190229296684265 + <_> + <_> + + + <_> + 17 19 1 4 -1. + <_> + 17 19 1 2 2. + 1 + 1.2733199582726229e-005 + -0.5874341130256653 + 0.1829777061939240 + <_> + <_> + + + <_> + 5 3 3 4 -1. + <_> + 5 4 3 2 2. + 0 + -4.1933679312933236e-005 + 0.2492990046739578 + -0.4629073143005371 + <_> + <_> + + + <_> + 7 20 2 4 -1. + <_> + 7 21 2 2 2. + 0 + 2.9383709261310287e-005 + -0.3633905947208405 + 0.2811006903648377 + <_> + <_> + + + <_> + 17 16 2 6 -1. + <_> + 17 18 2 2 3. + 0 + -3.3928209450095892e-003 + 0.4859150946140289 + -0.3052339851856232 + <_> + <_> + + + <_> + 14 23 2 1 -1. + <_> + 15 23 1 1 2. + 0 + -2.7535050321603194e-005 + 0.4084908962249756 + -0.3068054914474487 + <_> + <_> + + + <_> + 6 7 4 5 -1. + <_> + 7 7 2 5 2. + 0 + 9.1017773374915123e-003 + -0.1383640021085739 + 0.6514803767204285 + <_> + <_> + + + <_> + 9 13 3 2 -1. + <_> + 9 14 3 1 2. + 0 + -1.3276059689815156e-005 + 0.1731376051902771 + -0.5660042762756348 + <_> + <_> + + + <_> + 6 4 4 4 -1. + <_> + 7 4 2 4 2. + 0 + -6.6985511220991611e-003 + 0.5429784059524536 + -0.2138157039880753 + <_> + <_> + + + <_> + 8 2 6 1 -1. + <_> + 10 2 2 1 3. + 0 + -3.1785611063241959e-003 + 0.4963527917861939 + -0.1929409950971603 + <_> + <_> + + + <_> + 7 10 10 12 -1. + <_> + 7 13 10 6 2. + 0 + -0.0285036191344261 + -0.7851036787033081 + 0.1071503981947899 + <_> + <_> + + + <_> + 14 7 4 4 -1. + <_> + 15 7 2 4 2. + 0 + 3.6825609859079123e-003 + -0.2082391977310181 + 0.4302070140838623 + <_> + <_> + + + <_> + 13 5 6 6 -1. + <_> + 15 5 2 6 3. + 0 + -0.0139114195480943 + 0.4868988990783691 + -0.2795737087726593 + <_> + <_> + + + <_> + 14 16 4 1 -1. + <_> + 15 17 2 1 2. + 1 + 1.3308210327522829e-005 + -0.3539947867393494 + 0.2601634860038757 + <_> + <_> + + + <_> + 15 15 3 4 -1. + <_> + 15 16 3 2 2. + 0 + -1.0202459525316954e-003 + 0.3822802007198334 + -0.3229053914546967 + <_> + <_> + + + <_> + 13 7 4 3 -1. + <_> + 14 7 2 3 2. + 0 + 3.4388329368084669e-003 + -0.1911246925592423 + 0.5162144899368286 + <_> + <_> + + + <_> + 13 2 4 21 -1. + <_> + 14 2 2 21 2. + 0 + -6.2333340756595135e-003 + 0.4352326989173889 + -0.3473254144191742 + <_> + <_> + + + <_> + 14 20 2 2 -1. + <_> + 14 20 2 1 2. + 1 + 1.3276059689815156e-005 + -0.5593444108963013 + 0.2214011996984482 + <_> + <_> + + + <_> + 12 20 6 4 -1. + <_> + 12 22 6 2 2. + 0 + 3.8165540900081396e-004 + -0.2696031033992767 + 0.5740032792091370 + <_> + <_> + + + <_> + 13 21 2 1 -1. + <_> + 13 21 1 1 2. + 1 + 1.3308210327522829e-005 + -0.5135648250579834 + 0.3133834004402161 + <_> + <_> + + + <_> + 10 6 12 3 -1. + <_> + 13 9 6 3 2. + 1 + 5.9960009821224958e-005 + -0.5487430095672607 + 0.1925126016139984 + <_> + <_> + + + <_> + 10 12 4 2 -1. + <_> + 10 12 2 2 2. + 1 + 1.9212609913665801e-005 + -0.5861266255378723 + 0.2297141999006271 + <_> + <_> + + + <_> + 9 9 10 12 -1. + <_> + 9 15 10 6 2. + 0 + 3.1381968874484301e-003 + -0.5115597248077393 + 0.3999846875667572 + <_> + <_> + + + <_> + 18 3 4 12 -1. + <_> + 18 3 4 6 2. + 1 + 0.0384646095335484 + -0.5421808958053589 + 0.6800351738929749 + <_> + <_> + + + <_> + 9 22 2 2 -1. + <_> + 9 23 2 1 2. + 0 + -2.8174990802654065e-005 + 0.4284388124942780 + -0.8414391875267029 + <_> + <_> + + + <_> + 7 14 6 3 -1. + <_> + 9 14 2 3 3. + 0 + -3.4824308386305347e-005 + 0.2944257855415344 + -0.8362302780151367 + <_> + <_> + + + <_> + 7 14 6 3 -1. + <_> + 9 14 2 3 3. + 0 + 5.4105159506434575e-005 + -0.5342299938201904 + 0.7829437255859375 + <_> + <_> + + + <_> + 7 14 6 3 -1. + <_> + 9 14 2 3 3. + 0 + -1.5630470443284139e-005 + 0.5242382287979126 + -0.8171404004096985 + <_> + <_> + + + <_> + 7 14 6 3 -1. + <_> + 9 14 2 3 3. + 0 + 1.5745430573588237e-005 + -0.5185167193412781 + 0.7979552149772644 + <_> + <_> + + + <_> + 7 14 6 3 -1. + <_> + 9 14 2 3 3. + 0 + -1.5630470443284139e-005 + 0.5188316702842712 + -0.8070170283317566 + <_> + <_> + + + <_> + 6 5 9 18 -1. + <_> + 9 11 3 6 9. + 0 + 7.1254541398957372e-004 + -0.6484044790267944 + 0.5073506832122803 + <_> + <_> + + + <_> + 8 10 4 7 -1. + <_> + 9 11 2 7 2. + 1 + -3.2311319955624640e-005 + 0.5763285160064697 + -0.6910418868064880 + <_> + <_> + + + <_> + 8 10 4 7 -1. + <_> + 9 11 2 7 2. + 1 + 3.1111310818232596e-005 + -0.5433433055877686 + 0.6123219728469849 + <_> + <_> + + + <_> + 13 2 3 2 -1. + <_> + 13 3 3 1 2. + 0 + -1.5368739695986733e-005 + 0.4237130880355835 + -0.7247744798660278 + <_> + <_> + + + <_> + 13 2 3 2 -1. + <_> + 13 3 3 1 2. + 0 + 1.6422749467892572e-005 + -0.4415504038333893 + 0.7130126953125000 + <_> + <_> + + + <_> + 5 9 12 6 -1. + <_> + 9 11 4 2 9. + 0 + -4.5266158849699423e-005 + 0.6220890283584595 + -0.6416999101638794 + <_> + <_> + + + <_> + 5 9 12 6 -1. + <_> + 9 11 4 2 9. + 0 + 2.8147969715064391e-005 + -0.5328021049499512 + 0.6312205791473389 + <_> + <_> + + + <_> + 13 12 1 2 -1. + <_> + 13 13 1 1 2. + 0 + -1.4449609807343222e-005 + 0.4436134099960327 + -0.6996245980262756 + <_> + <_> + + + <_> + 7 9 9 6 -1. + <_> + 7 11 9 2 3. + 0 + -2.5144120445474982e-004 + 0.7139626741409302 + -0.4902118146419525 + <_> + <_> + + + <_> + 8 2 4 4 -1. + <_> + 8 3 4 2 2. + 0 + -1.4818169802310877e-005 + 0.4275518953800201 + -0.4117876887321472 + <_> + <_> + + + <_> + 4 6 4 3 -1. + <_> + 3 7 4 1 3. + 1 + -0.0113181602209806 + 0.6967325806617737 + -0.1943828016519547 + -1.8461430072784424 + 10 + -1 + <_> + + <_> + <_> + + + <_> + 0 11 20 12 -1. + <_> + 5 11 10 12 2. + 0 + 0.1947260946035385 + -0.2268270999193192 + 0.6290537118911743 + <_> + <_> + + + <_> + 11 12 2 8 -1. + <_> + 11 14 2 4 2. + 0 + -3.7233359762467444e-005 + 0.2388608008623123 + -0.6771420240402222 + <_> + <_> + + + <_> + 7 3 5 12 -1. + <_> + 7 7 5 4 3. + 0 + -1.3721540199185256e-005 + 0.2522217035293579 + -0.4255796968936920 + <_> + <_> + + + <_> + 9 12 4 3 -1. + <_> + 9 13 4 1 3. + 0 + -1.5052130038384348e-005 + 0.3623343110084534 + -0.2974475920200348 + <_> + <_> + + + <_> + 6 6 5 6 -1. + <_> + 6 8 5 2 3. + 0 + -0.0162034705281258 + -0.8392481207847595 + 0.0778554379940033 + <_> + <_> + + + <_> + 15 8 3 2 -1. + <_> + 16 9 1 2 3. + 1 + 5.2218530327081680e-003 + -0.1630010008811951 + 0.4891160130500794 + <_> + <_> + + + <_> + 10 12 3 4 -1. + <_> + 9 13 3 2 2. + 1 + -1.4582269614038523e-005 + 0.1791260987520218 + -0.4332669973373413 + <_> + <_> + + + <_> + 8 5 3 6 -1. + <_> + 9 5 1 6 3. + 0 + 5.8735590428113937e-003 + -0.1685114949941635 + 0.4740926921367645 + <_> + <_> + + + <_> + 8 6 3 3 -1. + <_> + 9 6 1 3 3. + 0 + -2.1162519697099924e-003 + 0.4522390067577362 + -0.2851698994636536 + <_> + <_> + + + <_> + 15 20 1 2 -1. + <_> + 15 20 1 1 2. + 1 + 1.3276059689815156e-005 + -0.4570507109165192 + 0.1923764050006867 + <_> + <_> + + + <_> + 4 7 3 3 -1. + <_> + 3 8 3 1 3. + 1 + -9.4613991677761078e-003 + 0.5103396773338318 + -0.2363249957561493 + <_> + <_> + + + <_> + 4 7 3 3 -1. + <_> + 3 8 3 1 3. + 1 + 6.8748351186513901e-003 + -0.1760430037975311 + 0.5321564078330994 + <_> + <_> + + + <_> + 11 8 7 15 -1. + <_> + 11 13 7 5 3. + 0 + 1.0321850277250633e-004 + -0.4400232136249542 + 0.2319481968879700 + <_> + <_> + + + <_> + 11 21 3 3 -1. + <_> + 11 22 3 1 3. + 0 + 1.3725580174650531e-005 + -0.4480513930320740 + 0.3239999115467072 + <_> + <_> + + + <_> + 6 14 6 1 -1. + <_> + 9 14 3 1 2. + 0 + -1.3723170013690833e-005 + 0.2312901020050049 + -0.5935987234115601 + <_> + <_> + + + <_> + 9 4 3 7 -1. + <_> + 10 4 1 7 3. + 0 + -5.7261330075562000e-003 + 0.4767619967460632 + -0.2622923851013184 + <_> + <_> + + + <_> + 9 4 3 15 -1. + <_> + 10 4 1 15 3. + 0 + 2.8320949058979750e-003 + -0.2509047985076904 + 0.4877927899360657 + <_> + <_> + + + <_> + 10 2 4 8 -1. + <_> + 10 4 4 4 2. + 0 + -2.0486850189627148e-005 + 0.2725721001625061 + -0.4409152865409851 + <_> + <_> + + + <_> + 0 19 24 3 -1. + <_> + 6 19 12 3 2. + 0 + -0.0546395182609558 + 0.6517891883850098 + -0.1830784976482391 + <_> + <_> + + + <_> + 0 15 21 7 -1. + <_> + 7 15 7 7 3. + 0 + 1.9002100452780724e-003 + -0.3379899859428406 + 0.3687554895877838 + <_> + <_> + + + <_> + 10 10 12 4 -1. + <_> + 16 10 6 4 2. + 0 + 0.0201570708304644 + -0.3253406882286072 + 0.4577536880970001 + <_> + <_> + + + <_> + 9 5 3 9 -1. + <_> + 9 8 3 3 3. + 0 + -1.7039159502019174e-005 + 0.2954556047916412 + -0.5852603912353516 + <_> + <_> + + + <_> + 17 3 1 12 -1. + <_> + 13 7 1 4 3. + 1 + 3.1501800549449399e-005 + -0.2767140865325928 + 0.4200120866298676 + <_> + <_> + + + <_> + 13 20 2 2 -1. + <_> + 13 20 2 1 2. + 1 + 1.3276059689815156e-005 + -0.6221274733543396 + 0.1789575964212418 + <_> + <_> + + + <_> + 11 12 2 12 -1. + <_> + 11 12 1 6 2. + <_> + 12 18 1 6 2. + 0 + -1.4738950085302349e-005 + 0.2543120086193085 + -0.5431898832321167 + <_> + <_> + + + <_> + 8 15 10 2 -1. + <_> + 8 16 10 1 2. + 0 + -1.3795310223940760e-005 + 0.3343310058116913 + -0.3842414021492004 + <_> + <_> + + + <_> + 17 9 6 4 -1. + <_> + 19 11 2 4 3. + 1 + -0.0149961402639747 + 0.5112341046333313 + -0.2100401073694229 + <_> + <_> + + + <_> + 0 14 12 6 -1. + <_> + 4 14 4 6 3. + 0 + -9.1227382654324174e-004 + 0.4049954116344452 + -0.2498701065778732 + <_> + <_> + + + <_> + 11 12 3 2 -1. + <_> + 11 12 3 1 2. + 1 + 3.3039450645446777e-003 + 0.1524107009172440 + -0.6550825238227844 + -1.5191940069198608 + 11 + -1 + <_> + + <_> + <_> + + + <_> + 21 13 3 7 -1. + <_> + 22 14 1 7 3. + 1 + 0.0169724002480507 + -0.2002115994691849 + 0.5936545729637146 + <_> + <_> + + + <_> + 6 8 12 2 -1. + <_> + 10 8 4 2 3. + 0 + -0.0180167499929667 + -0.8282771706581116 + 0.1091084033250809 + <_> + <_> + + + <_> + 11 4 4 9 -1. + <_> + 8 7 4 3 3. + 1 + -0.0487129688262939 + -0.8070967793464661 + 0.1253827959299088 + <_> + <_> + + + <_> + 7 7 10 4 -1. + <_> + 7 7 5 2 2. + <_> + 12 9 5 2 2. + 0 + -8.6353849619626999e-003 + -0.7170351743698120 + 0.0880259200930595 + <_> + <_> + + + <_> + 8 15 3 4 -1. + <_> + 9 15 1 4 3. + 0 + 1.7365500098094344e-003 + 0.0839790180325508 + -0.8228769898414612 + <_> + <_> + + + <_> + 11 15 1 3 -1. + <_> + 10 16 1 1 3. + 1 + -1.1950240004807711e-003 + -0.7750291228294373 + 0.0742162466049194 + <_> + <_> + + + <_> + 5 9 3 3 -1. + <_> + 4 10 3 1 3. + 1 + 0.0102281300351024 + -0.1623916029930115 + 0.4662589132785797 + <_> + <_> + + + <_> + 3 10 2 2 -1. + <_> + 3 10 1 1 2. + <_> + 4 11 1 1 2. + 0 + -6.0124392621219158e-004 + 0.4666093885898590 + -0.1670639961957932 + <_> + <_> + + + <_> + 21 17 2 5 -1. + <_> + 21 17 1 5 2. + 1 + -0.0179483909159899 + 0.7244402170181274 + -0.0972924605011940 + <_> + <_> + + + <_> + 9 2 6 8 -1. + <_> + 11 2 2 8 3. + 0 + -0.0422536581754684 + 0.6227236986160278 + -0.1016597002744675 + <_> + <_> + + + <_> + 10 0 3 12 -1. + <_> + 11 0 1 12 3. + 0 + 0.0111077101901174 + -0.1237635985016823 + 0.5343943834304810 + <_> + <_> + + + <_> + 13 11 3 9 -1. + <_> + 14 12 1 9 3. + 1 + -8.1499684602022171e-003 + -0.6643018722534180 + 0.1012926995754242 + <_> + <_> + + + <_> + 20 16 3 5 -1. + <_> + 21 17 1 5 3. + 1 + 0.0125114498659968 + -0.1265452057123184 + 0.5518950819969177 + <_> + <_> + + + <_> + 11 17 4 6 -1. + <_> + 11 17 2 3 2. + <_> + 13 20 2 3 2. + 0 + -1.4536009985022247e-005 + 0.1910371035337448 + -0.4225268065929413 + <_> + <_> + + + <_> + 8 5 2 3 -1. + <_> + 7 6 2 1 3. + 1 + -6.0810190625488758e-003 + 0.4862208068370819 + -0.1460064053535461 + <_> + <_> + + + <_> + 6 5 2 4 -1. + <_> + 5 6 2 2 2. + 1 + -6.8180020898580551e-003 + 0.4259172081947327 + -0.1575372964143753 + <_> + <_> + + + <_> + 7 5 8 8 -1. + <_> + 7 5 4 4 2. + <_> + 11 9 4 4 2. + 0 + 0.0217686798423529 + 0.0957912728190422 + -0.7793599963188171 + <_> + <_> + + + <_> + 19 20 1 2 -1. + <_> + 19 20 1 1 2. + 1 + 1.6546290135011077e-003 + 0.1159607991576195 + -0.5766940712928772 + -1.1027380228042603 + 12 + -1 + <_> + + <_> + <_> + + + <_> + 16 14 2 6 -1. + <_> + 16 17 2 3 2. + 0 + 7.8050550073385239e-003 + -0.2074885964393616 + 0.4983446002006531 + <_> + <_> + + + <_> + 9 18 1 4 -1. + <_> + 9 19 1 2 2. + 0 + -5.7650008238852024e-004 + -0.8290470838546753 + 0.0779921635985374 + <_> + <_> + + + <_> + 3 9 3 3 -1. + <_> + 2 10 3 1 3. + 1 + -8.4261661395430565e-003 + 0.5601927042007446 + -0.1221890002489090 + <_> + <_> + + + <_> + 6 9 2 3 -1. + <_> + 5 10 2 1 3. + 1 + -6.9474098272621632e-003 + 0.5489652156829834 + -0.1329769045114517 + <_> + <_> + + + <_> + 12 4 1 9 -1. + <_> + 9 7 1 3 3. + 1 + 0.0139840301126242 + 0.0878704935312271 + -0.8971534967422485 + <_> + <_> + + + <_> + 2 8 6 2 -1. + <_> + 4 10 2 2 3. + 1 + 0.0126197198405862 + 0.1130264997482300 + -0.6756103038787842 + <_> + <_> + + + <_> + 0 9 16 1 -1. + <_> + 4 9 8 1 2. + 0 + -0.0111721698194742 + -0.7817879915237427 + 0.0888675972819328 + <_> + <_> + + + <_> + 15 13 1 8 -1. + <_> + 15 13 1 4 2. + 1 + -6.0858931392431259e-003 + -0.6474912166595459 + 0.0989376232028008 + <_> + <_> + + + <_> + 7 8 10 12 -1. + <_> + 7 11 10 6 2. + 0 + 0.0510518997907639 + 0.0801369771361351 + -0.7828230857849121 + <_> + <_> + + + <_> + 8 6 1 6 -1. + <_> + 8 6 1 3 2. + 1 + 6.8358890712261200e-003 + 0.0751297771930695 + -0.6779003739356995 + <_> + <_> + + + <_> + 8 3 9 3 -1. + <_> + 11 6 3 3 3. + 1 + 0.0306594800204039 + 0.0789546519517899 + -0.8277230262756348 + <_> + <_> + + + <_> + 4 0 12 4 -1. + <_> + 4 0 6 4 2. + 1 + -0.0748777091503143 + 0.4165905117988586 + -0.1886357069015503 + <_> + <_> + + + <_> + 6 5 5 6 -1. + <_> + 6 7 5 2 3. + 0 + -0.0109398001804948 + -0.6760933995246887 + 0.0972545072436333 + <_> + <_> + + + <_> + 4 8 3 3 -1. + <_> + 3 9 3 1 3. + 1 + -0.0121521698310971 + 0.5772712230682373 + -0.1228258013725281 + <_> + <_> + + + <_> + 10 9 10 5 -1. + <_> + 10 9 5 5 2. + 1 + -0.0353009887039661 + -0.6392322182655335 + 0.1105258986353874 + <_> + <_> + + + <_> + 21 12 3 5 -1. + <_> + 22 13 1 5 3. + 1 + 0.0181056391447783 + -0.1289393007755280 + 0.5524243712425232 + <_> + <_> + + + <_> + 16 19 2 3 -1. + <_> + 15 20 2 1 3. + 1 + -2.3122359998524189e-003 + -0.7890905737876892 + 0.0818174332380295 + -0.8975656032562256 + 13 + -1 + <_> + + <_> + <_> + + + <_> + 2 8 4 10 -1. + <_> + 2 8 2 5 2. + <_> + 4 13 2 5 2. + 0 + 0.0200313404202461 + -0.1870788037776947 + 0.5193617939949036 + <_> + <_> + + + <_> + 18 16 3 3 -1. + <_> + 19 17 1 3 3. + 1 + 7.2793071158230305e-003 + -0.1627116054296494 + 0.4202809035778046 + <_> + <_> + + + <_> + 3 12 2 4 -1. + <_> + 3 12 1 2 2. + <_> + 4 14 1 2 2. + 0 + -1.2723290128633380e-003 + 0.4120723009109497 + -0.1666294038295746 + <_> + <_> + + + <_> + 15 9 8 2 -1. + <_> + 15 9 4 2 2. + 1 + 0.0320191383361816 + 0.0866349488496780 + -0.8014597892761231 + <_> + <_> + + + <_> + 21 13 3 4 -1. + <_> + 22 14 1 4 3. + 1 + -0.0113373296335340 + 0.5803313255310059 + -0.1145853996276856 + <_> + <_> + + + <_> + 23 3 1 12 -1. + <_> + 23 3 1 6 2. + 1 + -0.0304663591086864 + 0.5135108232498169 + -0.1290102005004883 + <_> + <_> + + + <_> + 16 19 1 3 -1. + <_> + 15 20 1 1 3. + 1 + 1.8174840370193124e-003 + 0.0998207107186317 + -0.6732121109962463 + <_> + <_> + + + <_> + 9 5 6 6 -1. + <_> + 11 5 2 6 3. + 0 + -0.0198598802089691 + 0.4566425085067749 + -0.1442309021949768 + <_> + <_> + + + <_> + 14 4 4 16 -1. + <_> + 14 4 2 8 2. + <_> + 16 12 2 8 2. + 0 + -0.0188183896243572 + 0.4365901947021484 + -0.1679372936487198 + <_> + <_> + + + <_> + 7 17 3 1 -1. + <_> + 8 18 1 1 3. + 1 + -1.7557969549670815e-003 + -0.7762913107872009 + 0.0940406173467636 + <_> + <_> + + + <_> + 21 15 3 6 -1. + <_> + 22 16 1 6 3. + 1 + -0.0240148808807135 + 0.5533223152160645 + -0.1270395070314407 + <_> + <_> + + + <_> + 5 3 3 4 -1. + <_> + 6 3 1 4 3. + 0 + -7.0335390046238899e-003 + 0.5011835098266602 + -0.1307602971792221 + <_> + <_> + + + <_> + 21 14 3 7 -1. + <_> + 22 15 1 7 3. + 1 + 0.0180143006145954 + -0.1336449980735779 + 0.5125594735145569 + <_> + <_> + + + <_> + 15 4 2 12 -1. + <_> + 15 4 1 6 2. + <_> + 16 10 1 6 2. + 0 + 9.2674158513545990e-003 + -0.0950180664658546 + 0.6010513901710510 + <_> + <_> + + + <_> + 12 7 3 5 -1. + <_> + 13 7 1 5 3. + 0 + -4.8653511330485344e-003 + 0.4217233061790466 + -0.1450120955705643 + <_> + <_> + + + <_> + 19 18 1 3 -1. + <_> + 18 19 1 1 3. + 1 + -1.6913040308281779e-003 + -0.6773965954780579 + 0.0903254002332687 + <_> + <_> + + + <_> + 8 6 6 3 -1. + <_> + 10 8 2 3 3. + 1 + -0.0180041491985321 + -0.6382426023483276 + 0.0934184193611145 + <_> + <_> + + + <_> + 8 5 6 3 -1. + <_> + 10 7 2 3 3. + 1 + 0.0180361792445183 + 0.0692376568913460 + -0.7972972989082336 + <_> + <_> + + + <_> + 5 9 3 3 -1. + <_> + 4 10 3 1 3. + 1 + -0.0119183603674173 + 0.5893536210060120 + -0.1115062981843948 + <_> + <_> + + + <_> + 9 16 4 2 -1. + <_> + 9 17 4 1 2. + 0 + -1.2699910439550877e-003 + -0.8377761244773865 + 0.0775483325123787 + <_> + <_> + + + <_> + 5 10 3 3 -1. + <_> + 5 11 3 1 3. + 0 + -1.1164969764649868e-003 + 0.2940096855163574 + -0.2172722071409226 + -1.0095579624176025 + 14 + -1 + <_> + + <_> + <_> + + + <_> + 0 12 20 3 -1. + <_> + 5 12 10 3 2. + 0 + 0.0616053603589535 + -0.2061883956193924 + 0.5192394852638245 + <_> + <_> + + + <_> + 1 23 20 1 -1. + <_> + 6 23 10 1 2. + 0 + -0.0225598607212305 + 0.5491672754287720 + -0.1055080965161324 + <_> + <_> + + + <_> + 6 10 3 1 -1. + <_> + 7 10 1 1 3. + 0 + 8.7220611749216914e-004 + -0.1568602025508881 + 0.4448823034763336 + <_> + <_> + + + <_> + 9 8 4 3 -1. + <_> + 10 8 2 3 2. + 0 + -3.9631919935345650e-003 + 0.4023208022117615 + -0.1669591963291168 + <_> + <_> + + + <_> + 6 1 2 2 -1. + <_> + 6 1 1 2 2. + 1 + -3.8178230170160532e-003 + 0.4704942107200623 + -0.1274473965167999 + <_> + <_> + + + <_> + 4 9 2 3 -1. + <_> + 4 9 1 3 2. + 1 + 5.3536607883870602e-003 + 0.0862667784094810 + -0.7222024798393250 + <_> + <_> + + + <_> + 3 4 8 1 -1. + <_> + 3 4 4 1 2. + 1 + 0.0182049591094255 + -0.1027885973453522 + 0.5932238101959229 + <_> + <_> + + + <_> + 20 17 2 2 -1. + <_> + 20 17 1 2 2. + 1 + 4.1021341457962990e-003 + -0.1937806010246277 + 0.3393076956272125 + <_> + <_> + + + <_> + 5 11 10 2 -1. + <_> + 5 11 5 2 2. + 1 + 0.0347621999680996 + 0.0634317174553871 + -0.8545325994491577 + <_> + <_> + + + <_> + 9 3 1 8 -1. + <_> + 9 3 1 4 2. + 1 + 0.0108460504561663 + 0.0981268286705017 + -0.5787984728813171 + <_> + <_> + + + <_> + 9 16 3 4 -1. + <_> + 9 17 3 2 2. + 0 + 1.9735200330615044e-003 + 0.0886363387107849 + -0.6854758858680725 + <_> + <_> + + + <_> + 4 13 7 4 -1. + <_> + 4 13 7 2 2. + 1 + 0.0342270098626614 + -0.1961320936679840 + 0.3350717127323151 + <_> + <_> + + + <_> + 0 15 8 1 -1. + <_> + 4 15 4 1 2. + 0 + -5.5608619004487991e-003 + 0.4738177955150604 + -0.1571221053600311 + <_> + <_> + + + <_> + 4 9 8 2 -1. + <_> + 6 11 4 2 2. + 1 + -6.6125858575105667e-003 + -0.6149932742118835 + 0.1216671988368034 + <_> + <_> + + + <_> + 5 6 2 3 -1. + <_> + 4 7 2 1 3. + 1 + -6.1367508023977280e-003 + 0.4470494091510773 + -0.1454533040523529 + <_> + <_> + + + <_> + 21 17 3 4 -1. + <_> + 22 18 1 4 3. + 1 + 7.4233938939869404e-003 + -0.1377501040697098 + 0.4725430905818939 + <_> + <_> + + + <_> + 4 5 3 3 -1. + <_> + 3 6 3 1 3. + 1 + 9.5100495964288712e-003 + -0.1100329011678696 + 0.5515413880348206 + <_> + <_> + + + <_> + 10 1 6 11 -1. + <_> + 12 1 2 11 3. + 0 + -0.0350564196705818 + 0.4857422113418579 + -0.1119242012500763 + <_> + <_> + + + <_> + 9 1 3 5 -1. + <_> + 10 1 1 5 3. + 0 + -5.9693572111427784e-003 + 0.4484308958053589 + -0.1582840979099274 + <_> + <_> + + + <_> + 10 11 2 4 -1. + <_> + 9 12 2 2 2. + 1 + 2.7866188902407885e-003 + 0.1055876016616821 + -0.5655819773674011 + <_> + <_> + + + <_> + 11 3 8 3 -1. + <_> + 11 3 4 3 2. + 1 + -0.0447817295789719 + -0.8791784048080444 + 0.0465098582208157 + <_> + <_> + + + <_> + 12 6 6 2 -1. + <_> + 12 6 3 2 2. + 1 + 0.0120424497872591 + 0.0862320065498352 + -0.6241031289100647 + <_> + <_> + + + <_> + 13 2 3 7 -1. + <_> + 14 2 1 7 3. + 0 + -6.7109898664057255e-003 + 0.4011467099189758 + -0.1479448974132538 + <_> + <_> + + + <_> + 22 15 2 4 -1. + <_> + 21 16 2 2 2. + 1 + 3.5982800181955099e-003 + 0.1165442988276482 + -0.4894705116748810 + -1.0798399448394775 + 15 + -1 + <_> + + <_> + <_> + + + <_> + 19 11 2 8 -1. + <_> + 19 11 2 4 2. + 1 + -0.0430726706981659 + 0.5276207923889160 + -0.1722387969493866 + <_> + <_> + + + <_> + 9 7 8 4 -1. + <_> + 13 7 4 4 2. + 0 + -0.0212026704102755 + -0.7669513821601868 + 0.0897342935204506 + <_> + <_> + + + <_> + 6 7 2 3 -1. + <_> + 5 8 2 1 3. + 1 + -4.8088338226079941e-003 + 0.4246098995208740 + -0.1370584964752197 + <_> + <_> + + + <_> + 15 8 4 2 -1. + <_> + 16 9 2 2 2. + 1 + -8.6187459528446198e-003 + 0.5588235259056091 + -0.1382603049278259 + <_> + <_> + + + <_> + 11 5 4 14 -1. + <_> + 11 5 2 7 2. + <_> + 13 12 2 7 2. + 0 + 0.0159404501318932 + -0.1474428027868271 + 0.4611605107784271 + <_> + <_> + + + <_> + 8 8 2 1 -1. + <_> + 9 8 1 1 2. + 0 + 6.7657232284545898e-004 + -0.1768874973058701 + 0.3560762107372284 + <_> + <_> + + + <_> + 10 6 1 12 -1. + <_> + 10 9 1 6 2. + 0 + -1.1404049582779408e-003 + -0.4624023139476776 + 0.1221449971199036 + <_> + <_> + + + <_> + 12 20 4 1 -1. + <_> + 13 20 2 1 2. + 0 + -8.4026250988245010e-004 + -0.8024399876594544 + 0.0971780493855476 + <_> + <_> + + + <_> + 16 22 2 2 -1. + <_> + 16 22 1 1 2. + <_> + 17 23 1 1 2. + 0 + 1.2824160512536764e-003 + -0.1114410012960434 + 0.5799232721328735 + <_> + <_> + + + <_> + 6 8 3 3 -1. + <_> + 5 9 3 1 3. + 1 + 0.0101699102669954 + -0.1174734011292458 + 0.5161368846893311 + <_> + <_> + + + <_> + 18 19 1 3 -1. + <_> + 17 20 1 1 3. + 1 + -1.6366889467462897e-003 + -0.7135009765625000 + 0.0915044769644737 + <_> + <_> + + + <_> + 1 7 2 6 -1. + <_> + 1 7 1 3 2. + <_> + 2 10 1 3 2. + 0 + 2.7567949146032333e-003 + -0.1633843928575516 + 0.3725084066390991 + <_> + <_> + + + <_> + 1 8 2 4 -1. + <_> + 1 8 1 2 2. + <_> + 2 10 1 2 2. + 0 + -1.4722680207341909e-003 + 0.4225279092788696 + -0.1356859058141708 + <_> + <_> + + + <_> + 9 9 6 6 -1. + <_> + 12 9 3 6 2. + 0 + -0.0160261709243059 + -0.7543193101882935 + 0.0692399963736534 + <_> + <_> + + + <_> + 0 1 12 11 -1. + <_> + 4 1 4 11 3. + 0 + 0.0761754363775253 + 0.0643987581133842 + -0.6974828243255615 + <_> + <_> + + + <_> + 8 2 1 8 -1. + <_> + 8 2 1 4 2. + 1 + -8.7085375562310219e-003 + -0.4817241132259369 + 0.1090554967522621 + <_> + <_> + + + <_> + 1 0 15 14 -1. + <_> + 1 7 15 7 2. + 0 + 0.0999709963798523 + -0.1689389050006867 + 0.3723123073577881 + <_> + <_> + + + <_> + 0 21 12 2 -1. + <_> + 6 21 6 2 2. + 0 + -0.0216896291822195 + 0.5163400173187256 + -0.1436211019754410 + <_> + <_> + + + <_> + 6 13 4 6 -1. + <_> + 6 13 4 3 2. + 1 + 0.0502676405012608 + -0.1492999047040939 + 0.3766199052333832 + <_> + <_> + + + <_> + 3 8 12 2 -1. + <_> + 6 11 6 2 2. + 1 + 0.0297232605516911 + 0.0932220369577408 + -0.6477972269058228 + <_> + <_> + + + <_> + 10 14 8 4 -1. + <_> + 12 14 4 4 2. + 0 + -5.9325699694454670e-003 + 0.3560707867145538 + -0.1568969935178757 + <_> + <_> + + + <_> + 15 16 2 1 -1. + <_> + 16 16 1 1 2. + 0 + -3.2461099908687174e-004 + 0.3351075053215027 + -0.1855008006095886 + -0.9491413235664368 + 16 + -1 + <_> + + <_> + <_> + + + <_> + 0 11 21 3 -1. + <_> + 7 12 7 1 9. + 0 + 0.1145839020609856 + -0.1513344943523407 + 0.5702493786811829 + <_> + <_> + + + <_> + 7 2 4 7 -1. + <_> + 8 2 2 7 2. + 0 + -0.0131975002586842 + 0.5156332254409790 + -0.0999872833490372 + <_> + <_> + + + <_> + 10 4 3 6 -1. + <_> + 11 4 1 6 3. + 0 + -6.5571628510951996e-003 + 0.4171971082687378 + -0.1461289972066879 + <_> + <_> + + + <_> + 7 7 12 6 -1. + <_> + 11 9 4 2 9. + 0 + 0.0686851516366005 + 0.0786628574132919 + -0.7517157793045044 + <_> + <_> + + + <_> + 5 9 12 4 -1. + <_> + 5 9 6 2 2. + <_> + 11 11 6 2 2. + 0 + 9.9726598709821701e-003 + 0.0999166369438171 + -0.6764333248138428 + <_> + <_> + + + <_> + 9 15 1 2 -1. + <_> + 9 15 1 1 2. + 1 + -2.0302780903875828e-003 + -0.8934612870216370 + 0.0595232695341110 + <_> + <_> + + + <_> + 15 14 4 3 -1. + <_> + 14 15 4 1 3. + 1 + 3.0732110608369112e-003 + -0.1953326016664505 + 0.2833535969257355 + <_> + <_> + + + <_> + 19 19 1 4 -1. + <_> + 18 20 1 2 2. + 1 + 3.4725919831544161e-003 + 0.0881164222955704 + -0.6232336759567261 + <_> + <_> + + + <_> + 6 4 4 14 -1. + <_> + 6 11 4 7 2. + 0 + 0.0782893225550652 + 0.0579041503369808 + -0.8383507728576660 + <_> + <_> + + + <_> + 3 11 4 1 -1. + <_> + 4 11 2 1 2. + 0 + 1.3886740198358893e-003 + -0.1597007960081101 + 0.3452822864055634 + <_> + <_> + + + <_> + 3 8 2 4 -1. + <_> + 3 8 1 2 2. + <_> + 4 10 1 2 2. + 0 + -1.4825300313532352e-003 + 0.3827280998229981 + -0.1587343961000443 + <_> + <_> + + + <_> + 8 20 5 3 -1. + <_> + 8 21 5 1 3. + 0 + -3.3561128657311201e-004 + -0.4627170860767365 + 0.1156684011220932 + <_> + <_> + + + <_> + 3 8 2 2 -1. + <_> + 3 8 2 1 2. + 1 + 2.5456671137362719e-003 + -0.1811148971319199 + 0.2964139878749847 + <_> + <_> + + + <_> + 20 15 3 6 -1. + <_> + 21 16 1 6 3. + 1 + -0.0211401693522930 + 0.5406733751296997 + -0.0929377898573875 + <_> + <_> + + + <_> + 21 17 3 4 -1. + <_> + 22 18 1 4 3. + 1 + -0.0133667802438140 + 0.5478841066360474 + -0.1249148026108742 + <_> + <_> + + + <_> + 9 10 7 4 -1. + <_> + 9 10 7 2 2. + 1 + 0.0138302203267813 + 0.0851980820298195 + -0.6603590846061707 + <_> + <_> + + + <_> + 5 10 2 6 -1. + <_> + 5 10 1 3 2. + <_> + 6 13 1 3 2. + 0 + -1.7921129474416375e-003 + 0.3687970042228699 + -0.1603440046310425 + <_> + <_> + + + <_> + 10 2 4 13 -1. + <_> + 11 2 2 13 2. + 0 + 0.0161805804818869 + -0.1233718022704125 + 0.4167981147766113 + <_> + <_> + + + <_> + 11 4 3 7 -1. + <_> + 12 4 1 7 3. + 0 + -8.8571887463331223e-003 + 0.5063164830207825 + -0.1366008073091507 + <_> + <_> + + + <_> + 8 4 4 3 -1. + <_> + 9 5 2 3 2. + 1 + -0.0111292898654938 + -0.8374928236007690 + 0.0724060833454132 + <_> + <_> + + + <_> + 7 4 5 6 -1. + <_> + 7 6 5 2 3. + 0 + 3.8997989613562822e-003 + 0.1093586012721062 + -0.4557681083679199 + <_> + <_> + + + <_> + 9 13 3 5 -1. + <_> + 10 13 1 5 3. + 0 + 1.8990880344063044e-003 + 0.0627247169613838 + -0.7481042146682739 + <_> + <_> + + + <_> + 20 13 2 3 -1. + <_> + 20 14 2 1 3. + 0 + -1.5762719558551908e-003 + 0.4028244018554688 + -0.1440321952104569 + <_> + <_> + + + <_> + 16 6 4 3 -1. + <_> + 17 7 2 3 2. + 1 + -9.4246808439493179e-003 + 0.4352925121784210 + -0.1203391999006271 + <_> + <_> + + + <_> + 1 0 16 14 -1. + <_> + 1 7 16 7 2. + 0 + 0.0771269500255585 + -0.1532433032989502 + 0.3433195948600769 + <_> + <_> + + + <_> + 5 10 2 3 -1. + <_> + 4 11 2 1 3. + 1 + -4.9342322163283825e-003 + 0.3973045051097870 + -0.1544042974710465 + -1.0039249658584595 + 17 + -1 + <_> + + <_> + <_> + + + <_> + 0 11 21 3 -1. + <_> + 7 12 7 1 9. + 0 + 0.1019311994314194 + -0.1746964007616043 + 0.4982540905475617 + <_> + <_> + + + <_> + 17 0 4 4 -1. + <_> + 18 1 2 4 2. + 1 + 8.2463324069976807e-003 + -0.1224331036210060 + 0.4252583086490631 + <_> + <_> + + + <_> + 14 20 3 1 -1. + <_> + 15 20 1 1 3. + 0 + -5.3038808982819319e-004 + -0.5933117866516113 + 0.0879986807703972 + <_> + <_> + + + <_> + 14 12 3 10 -1. + <_> + 15 12 1 10 3. + 0 + -4.8525808379054070e-003 + 0.4698700010776520 + -0.0813401862978935 + <_> + <_> + + + <_> + 15 2 2 14 -1. + <_> + 15 2 1 7 2. + <_> + 16 9 1 7 2. + 0 + -9.4292070716619492e-003 + 0.4298621118068695 + -0.1523821055889130 + <_> + <_> + + + <_> + 20 12 2 6 -1. + <_> + 20 15 2 3 2. + 0 + -0.0101140299811959 + 0.3937399089336395 + -0.1391113996505737 + <_> + <_> + + + <_> + 21 11 3 5 -1. + <_> + 22 12 1 5 3. + 1 + -9.8812831565737724e-003 + 0.4195466041564941 + -0.1236430034041405 + <_> + <_> + + + <_> + 9 6 2 3 -1. + <_> + 8 7 2 1 3. + 1 + -5.3394739516079426e-003 + 0.3976533114910126 + -0.1370604038238525 + <_> + <_> + + + <_> + 5 10 3 2 -1. + <_> + 6 10 1 2 3. + 0 + -1.7400749493390322e-003 + 0.3921990990638733 + -0.1755418032407761 + <_> + <_> + + + <_> + 7 14 3 4 -1. + <_> + 8 14 1 4 3. + 0 + 2.4166700895875692e-003 + 0.0821892321109772 + -0.7812325954437256 + <_> + <_> + + + <_> + 8 8 10 1 -1. + <_> + 13 8 5 1 2. + 0 + 7.3868939653038979e-003 + 0.0666082128882408 + -0.6748430728912354 + <_> + <_> + + + <_> + 11 6 10 6 -1. + <_> + 11 6 5 6 2. + 1 + 0.0454404205083847 + 0.1044088006019592 + -0.5910413861274719 + <_> + <_> + + + <_> + 20 16 2 4 -1. + <_> + 20 16 1 2 2. + <_> + 21 18 1 2 2. + 0 + -2.0669349469244480e-003 + 0.4767749905586243 + -0.1235039010643959 + <_> + <_> + + + <_> + 5 13 6 4 -1. + <_> + 7 15 2 4 3. + 1 + -0.0254062693566084 + -0.7805387973785400 + 0.0782419368624687 + <_> + <_> + + + <_> + 9 13 4 4 -1. + <_> + 9 14 4 2 2. + 0 + 1.9443289784248918e-004 + 0.0985336005687714 + -0.4912581145763397 + <_> + <_> + + + <_> + 5 11 3 1 -1. + <_> + 6 11 1 1 3. + 0 + 4.7988869482651353e-004 + -0.1777141988277435 + 0.3019976913928986 + <_> + <_> + + + <_> + 1 11 4 12 -1. + <_> + 1 11 2 6 2. + <_> + 3 17 2 6 2. + 0 + -9.3094427138566971e-003 + 0.3318077921867371 + -0.1627648025751114 + <_> + <_> + + + <_> + 10 21 2 2 -1. + <_> + 10 21 1 1 2. + <_> + 11 22 1 1 2. + 0 + 3.1473371200263500e-004 + 0.0732816830277443 + -0.7183452844619751 + <_> + <_> + + + <_> + 1 14 6 3 -1. + <_> + 4 14 3 3 2. + 0 + -0.0146229797974229 + 0.4736909866333008 + -0.1258435994386673 + <_> + <_> + + + <_> + 4 19 6 4 -1. + <_> + 4 21 6 2 2. + 0 + -4.1075479239225388e-003 + 0.2521974146366119 + -0.2567966878414154 + <_> + <_> + + + <_> + 0 9 8 7 -1. + <_> + 2 9 4 7 2. + 0 + -0.0335693098604679 + -0.8269829750061035 + 0.0653522163629532 + <_> + <_> + + + <_> + 2 9 6 2 -1. + <_> + 4 11 2 2 3. + 1 + 0.0119835296645761 + 0.0920352935791016 + -0.5327355265617371 + <_> + <_> + + + <_> + 3 21 4 2 -1. + <_> + 4 21 2 2 2. + 0 + 1.2134639546275139e-003 + -0.1561051011085510 + 0.4126628935337067 + <_> + <_> + + + <_> + 5 2 4 6 -1. + <_> + 6 2 2 6 2. + 0 + 0.0111514702439308 + -0.1057173982262611 + 0.5607836842536926 + <_> + <_> + + + <_> + 8 1 2 3 -1. + <_> + 7 2 2 1 3. + 1 + -5.5785551667213440e-003 + 0.4312320053577423 + -0.1505576074123383 + <_> + <_> + + + <_> + 8 1 3 3 -1. + <_> + 7 2 3 1 3. + 1 + 5.5575389415025711e-003 + -0.1251354962587357 + 0.4509778022766113 + <_> + <_> + + + <_> + 9 13 4 3 -1. + <_> + 10 13 2 3 2. + 0 + -4.0533659048378468e-003 + -0.7846652865409851 + 0.0742227137088776 + <_> + <_> + + + <_> + 21 15 3 3 -1. + <_> + 22 16 1 3 3. + 1 + -0.0136717399582267 + 0.4983865916728973 + -0.1319722980260849 + -1.1250649690628052 + 18 + -1 + diff --git a/app/src/main/cpp/include/conf/com_openailab_speechrecognition_SpeechRecognitionJNI.h b/app/src/main/cpp/include/conf/com_openailab_speechrecognition_SpeechRecognitionJNI.h new file mode 100644 index 0000000..6ac827c --- /dev/null +++ b/app/src/main/cpp/include/conf/com_openailab_speechrecognition_SpeechRecognitionJNI.h @@ -0,0 +1,41 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ +#include +/* Header for class com_openailab_speechrecognition_SpeechRecognitionJNI */ + +#ifndef _Included_com_openailab_speechrecognition_SpeechRecognitionJNI +#define _Included_com_openailab_speechrecognition_SpeechRecognitionJNI + + + +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: com_openailab_speechrecognition_SpeechRecognitionJNI + * Method: ASRInit + * Signature: (IIIII)I + */ +JNIEXPORT jint JNICALL Java_com_openailab_speechrecognition_SpeechRecognitionJNI_ASRInit + (JNIEnv *, jclass, jint, jint, jint, jint, jint, jdouble); + +/* + * Class: com_openailab_speechrecognition_SpeechRecognitionJNI + * Method: ASRStart + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_com_openailab_speechrecognition_SpeechRecognitionJNI_ASRStart + (JNIEnv *, jclass); + +/* + * Class: com_openailab_speechrecognition_SpeechRecognitionJNI + * Method: ASRStop + * Signature: ()V + */ +JNIEXPORT void JNICALL Java_com_openailab_speechrecognition_SpeechRecognitionJNI_ASRStop + (JNIEnv *, jclass); + + +#ifdef __cplusplus +} +#endif +#endif diff --git a/app/src/main/cpp/include/conf/config.hpp b/app/src/main/cpp/include/conf/config.hpp new file mode 100644 index 0000000..de52712 --- /dev/null +++ b/app/src/main/cpp/include/conf/config.hpp @@ -0,0 +1,77 @@ +#ifndef _CONFIG_HPP_ +#define _CONFIG_HPP_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +//#define ANALYZE_LATS 0 + +//path configurations +std::string KALDI_ROOT = "/data/local/tmp/SpeechRecognition"; +std::string GRAPH_DIR = KALDI_ROOT + "/tri3b/graph_word"; +std::string DECODE_DIR = KALDI_ROOT + "/tri3b/decode_test_word"; +//std::string OPENFST_DIR = KALDI_ROOT + "/tools/openfst/lib"; + + +int nj = 1; + +//MFCC configurations +std::string MFCC_config_path = KALDI_ROOT + "/conf/mfcc.conf"; +bool write_utt2num_frames = false; +std::string mfcc_compress = "true"; +std::string use_energy = "false"; +std::string sample_rate = "16000"; + +//CMVN configurations +bool cmvn_fake = false; +std::string fake_dims = "\0"; +bool cmvn_two_channel = false; +//split configurations +bool split_per_spk = true; +std::string per_utt = "\0"; //"--per-utt"; + +//decode configurations +std::string transform_dir="\0"; // this option won't normally be used, but it can be used if you want to + // supply existing fMLLR transforms when decoding. +std::string decode_iter = "\0"; +std::string decode_model ="\0"; // You can specify the model to use +int decode_stage = 0; +std::string decode_max_active = "7000"; +std::string decode_beam = "13.0"; +std::string decode_lattice_beam = "6.0"; +std::string decode_acwt = "0.083333"; // note: only really affects pruning (scoring is on lattices). +int decode_num_threads = 1; // if >1, will use gmm-latgen-faster-parallel +std::string decode_parallel_opts = "\0"; // ignored now. +std::string decode_scoring_opts = "\0"; +bool skip_scoring = false; +std::string splice_opts = "\0"; +std::string cmvn_opts = "\0"; +std::string delta_opts = "\0"; + + +//diagnose configuration +float frequency_cutoff_percentage = 0.5; + +//score configuration +int score_stage = 0; +bool score_decode_mbr = false; +bool score_stats = true; +std::string score_beam = "6"; +std::string word_ins_penalty = "1.0"; //please set this same as your best wer model +std::string score_lmwt = "17"; // + +std::string score_field_begin = "1"; //range of score field, don't modify +std::string score_field_end = "\0"; //range of score field, don't modify +#endif diff --git a/app/src/main/cpp/include/conf/decode.config b/app/src/main/cpp/include/conf/decode.config new file mode 100644 index 0000000..a9b4b28 --- /dev/null +++ b/app/src/main/cpp/include/conf/decode.config @@ -0,0 +1,3 @@ +first_beam=10.0 +beam=13.0 #beam for decoding. +lattic_beam=6.0 #this has most effect on size of the lattices. diff --git a/app/src/main/cpp/include/conf/fbank.conf.backup b/app/src/main/cpp/include/conf/fbank.conf.backup new file mode 100644 index 0000000..74a6723 --- /dev/null +++ b/app/src/main/cpp/include/conf/fbank.conf.backup @@ -0,0 +1,3 @@ +#No non-default options for now. +#--sample -frequency=16000 +--num-mel-bins=10 diff --git a/app/src/main/cpp/include/conf/mfcc.conf b/app/src/main/cpp/include/conf/mfcc.conf new file mode 100644 index 0000000..a2b91ee --- /dev/null +++ b/app/src/main/cpp/include/conf/mfcc.conf @@ -0,0 +1,2 @@ +--use-energy=false #only non-default option +--sample-frequency=16000 diff --git a/app/src/main/cpp/include/conf/stdtostring.h b/app/src/main/cpp/include/conf/stdtostring.h new file mode 100644 index 0000000..dd011e1 --- /dev/null +++ b/app/src/main/cpp/include/conf/stdtostring.h @@ -0,0 +1,21 @@ +#ifndef STDTOSTRING_H +#define STDTOSTRING_H +#include +#include + +using namespace std; +namespace std +{ + template < typename T > std::string to_string( const T& n ) + { + std::ostringstream stm ; + stm << n ; + return stm.str() ; + } + +} + + + +#endif + diff --git a/app/src/main/cpp/include/conf/tinyalsa/asoundlib.h b/app/src/main/cpp/include/conf/tinyalsa/asoundlib.h new file mode 100644 index 0000000..5ac1b3d --- /dev/null +++ b/app/src/main/cpp/include/conf/tinyalsa/asoundlib.h @@ -0,0 +1,311 @@ +/* asoundlib.h +** +** Copyright 2011, The Android Open Source Project +** +** Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in the +** documentation and/or other materials provided with the distribution. +** * Neither the name of The Android Open Source Project nor the names of +** its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY The Android Open Source Project ``AS IS'' AND +** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +** ARE DISCLAIMED. IN NO EVENT SHALL The Android Open Source Project BE LIABLE +** FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +** SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +** OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +** DAMAGE. +*/ + +#ifndef ASOUNDLIB_H +#define ASOUNDLIB_H + +#include +#include + +#if defined(__cplusplus) +extern "C" { +#endif + +/* + * PCM API + */ + +struct pcm; + +#define PCM_OUT 0x00000000 +#define PCM_IN 0x10000000 +#define PCM_MMAP 0x00000001 +#define PCM_NOIRQ 0x00000002 +#define PCM_NORESTART 0x00000004 /* PCM_NORESTART - when set, calls to + * pcm_write for a playback stream will not + * attempt to restart the stream in the case + * of an underflow, but will return -EPIPE + * instead. After the first -EPIPE error, the + * stream is considered to be stopped, and a + * second call to pcm_write will attempt to + * restart the stream. + */ +#define PCM_MONOTONIC 0x00000008 /* see pcm_get_htimestamp */ + +/* PCM runtime states */ +#define PCM_STATE_OPEN 0 +#define PCM_STATE_SETUP 1 +#define PCM_STATE_PREPARED 2 +#define PCM_STATE_RUNNING 3 +#define PCM_STATE_XRUN 4 +#define PCM_STATE_DRAINING 5 +#define PCM_STATE_PAUSED 6 +#define PCM_STATE_SUSPENDED 7 +#define PCM_STATE_DISCONNECTED 8 + +/* Bit formats */ +enum pcm_format { + PCM_FORMAT_INVALID = -1, + PCM_FORMAT_S16_LE = 0, /* 16-bit signed */ + PCM_FORMAT_S32_LE, /* 32-bit signed */ + PCM_FORMAT_S8, /* 8-bit signed */ + PCM_FORMAT_S24_LE, /* 24-bits in 4-bytes */ + PCM_FORMAT_S24_3LE, /* 24-bits in 3-bytes */ + + PCM_FORMAT_MAX, +}; + +/* Bitmask has 256 bits (32 bytes) in asound.h */ +struct pcm_mask { + unsigned int bits[32 / sizeof(unsigned int)]; +}; + +/* Configuration for a stream */ +struct pcm_config { + unsigned int channels; + unsigned int rate; + unsigned int period_size; + unsigned int period_count; + enum pcm_format format; + + /* Values to use for the ALSA start, stop and silence thresholds, and + * silence size. Setting any one of these values to 0 will cause the + * default tinyalsa values to be used instead. + * Tinyalsa defaults are as follows. + * + * start_threshold : period_count * period_size + * stop_threshold : period_count * period_size + * silence_threshold : 0 + * silence_size : 0 + */ + unsigned int start_threshold; + unsigned int stop_threshold; + unsigned int silence_threshold; + unsigned int silence_size; + + /* Minimum number of frames available before pcm_mmap_write() will actually + * write into the kernel buffer. Only used if the stream is opened in mmap mode + * (pcm_open() called with PCM_MMAP flag set). Use 0 for default. + */ + int avail_min; + int flag; +}; + +/* PCM parameters */ +enum pcm_param +{ + /* mask parameters */ + PCM_PARAM_ACCESS, + PCM_PARAM_FORMAT, + PCM_PARAM_SUBFORMAT, + /* interval parameters */ + PCM_PARAM_SAMPLE_BITS, + PCM_PARAM_FRAME_BITS, + PCM_PARAM_CHANNELS, + PCM_PARAM_RATE, + PCM_PARAM_PERIOD_TIME, + PCM_PARAM_PERIOD_SIZE, + PCM_PARAM_PERIOD_BYTES, + PCM_PARAM_PERIODS, + PCM_PARAM_BUFFER_TIME, + PCM_PARAM_BUFFER_SIZE, + PCM_PARAM_BUFFER_BYTES, + PCM_PARAM_TICK_TIME, +}; + +/* Mixer control types */ +enum mixer_ctl_type { + MIXER_CTL_TYPE_BOOL, + MIXER_CTL_TYPE_INT, + MIXER_CTL_TYPE_ENUM, + MIXER_CTL_TYPE_BYTE, + MIXER_CTL_TYPE_IEC958, + MIXER_CTL_TYPE_INT64, + MIXER_CTL_TYPE_UNKNOWN, + + MIXER_CTL_TYPE_MAX, +}; + +/* Open and close a stream */ +struct pcm *pcm_open(unsigned int card, unsigned int device, + unsigned int flags, struct pcm_config *config); +int pcm_close(struct pcm *pcm); +int pcm_is_ready(struct pcm *pcm); + +/* Obtain the parameters for a PCM */ +struct pcm_params *pcm_params_get(unsigned int card, unsigned int device, + unsigned int flags); +void pcm_params_free(struct pcm_params *pcm_params); + +struct pcm_mask *pcm_params_get_mask(struct pcm_params *pcm_params, + enum pcm_param param); +unsigned int pcm_params_get_min(struct pcm_params *pcm_params, + enum pcm_param param); +void pcm_params_set_min(struct pcm_params *pcm_params, + enum pcm_param param, unsigned int val); +unsigned int pcm_params_get_max(struct pcm_params *pcm_params, + enum pcm_param param); +void pcm_params_set_max(struct pcm_params *pcm_params, + enum pcm_param param, unsigned int val); + +/* Converts the pcm parameters to a human readable string. + * The string parameter is a caller allocated buffer of size bytes, + * which is then filled up to size - 1 and null terminated, + * if size is greater than zero. + * The return value is the number of bytes copied to string + * (not including null termination) if less than size; otherwise, + * the number of bytes required for the buffer. + */ +int pcm_params_to_string(struct pcm_params *params, char *string, unsigned int size); + +/* Returns 1 if the pcm_format is present (format bit set) in + * the pcm_params structure; 0 otherwise, or upon unrecognized format. + */ +int pcm_params_format_test(struct pcm_params *params, enum pcm_format format); + +/* Set and get config */ +int pcm_get_config(struct pcm *pcm, struct pcm_config *config); +int pcm_set_config(struct pcm *pcm, struct pcm_config *config); + +/* Returns a human readable reason for the last error */ +const char *pcm_get_error(struct pcm *pcm); + +/* Returns the sample size in bits for a PCM format. + * As with ALSA formats, this is the storage size for the format, whereas the + * format represents the number of significant bits. For example, + * PCM_FORMAT_S24_LE uses 32 bits of storage. + */ +unsigned int pcm_format_to_bits(enum pcm_format format); + +/* Returns the buffer size (int frames) that should be used for pcm_write. */ +unsigned int pcm_get_buffer_size(struct pcm *pcm); +unsigned int pcm_frames_to_bytes(struct pcm *pcm, unsigned int frames); +unsigned int pcm_bytes_to_frames(struct pcm *pcm, unsigned int bytes); + +/* Returns the pcm latency in ms */ +unsigned int pcm_get_latency(struct pcm *pcm); + +/* Returns available frames in pcm buffer and corresponding time stamp. + * The clock is CLOCK_MONOTONIC if flag PCM_MONOTONIC was specified in pcm_open, + * otherwise the clock is CLOCK_REALTIME. + * For an input stream, frames available are frames ready for the + * application to read. + * For an output stream, frames available are the number of empty frames available + * for the application to write. + */ +int pcm_get_htimestamp(struct pcm *pcm, unsigned int *avail, + struct timespec *tstamp); + +/* Write data to the fifo. + * Will start playback on the first write or on a write that + * occurs after a fifo underrun. + */ +int pcm_write(struct pcm *pcm, const void *data, unsigned int count); +int pcm_read(struct pcm *pcm, void *data, unsigned int count); + +/* + * mmap() support. + */ +int pcm_mmap_write(struct pcm *pcm, const void *data, unsigned int count); +int pcm_mmap_read(struct pcm *pcm, void *data, unsigned int count); +int pcm_mmap_begin(struct pcm *pcm, void **areas, unsigned int *offset, + unsigned int *frames); +int pcm_mmap_commit(struct pcm *pcm, unsigned int offset, unsigned int frames); +int pcm_mmap_avail(struct pcm *pcm); + +/* Prepare the PCM substream to be triggerable */ +int pcm_prepare(struct pcm *pcm); +/* Start and stop a PCM channel that doesn't transfer data */ +int pcm_start(struct pcm *pcm); +int pcm_stop(struct pcm *pcm); + +/* ioctl function for PCM driver */ +int pcm_ioctl(struct pcm *pcm, int request, ...); + +/* Interrupt driven API */ +int pcm_wait(struct pcm *pcm, int timeout); +int pcm_get_poll_fd(struct pcm *pcm); + +/* Change avail_min after the stream has been opened with no need to stop the stream. + * Only accepted if opened with PCM_MMAP and PCM_NOIRQ flags + */ +int pcm_set_avail_min(struct pcm *pcm, int avail_min); + +/* + * MIXER API + */ + +struct mixer; +struct mixer_ctl; + +/* Open and close a mixer */ +struct mixer *mixer_open(unsigned int card); +void mixer_close(struct mixer *mixer); + +/* Get info about a mixer */ +const char *mixer_get_name(struct mixer *mixer); + +/* Obtain mixer controls */ +unsigned int mixer_get_num_ctls(struct mixer *mixer); +struct mixer_ctl *mixer_get_ctl(struct mixer *mixer, unsigned int id); +struct mixer_ctl *mixer_get_ctl_by_name(struct mixer *mixer, const char *name); + +/* Get info about mixer controls */ +const char *mixer_ctl_get_name(struct mixer_ctl *ctl); +enum mixer_ctl_type mixer_ctl_get_type(struct mixer_ctl *ctl); +const char *mixer_ctl_get_type_string(struct mixer_ctl *ctl); +unsigned int mixer_ctl_get_num_values(struct mixer_ctl *ctl); +unsigned int mixer_ctl_get_num_enums(struct mixer_ctl *ctl); +const char *mixer_ctl_get_enum_string(struct mixer_ctl *ctl, + unsigned int enum_id); + +/* Some sound cards update their controls due to external events, + * such as HDMI EDID byte data changing when an HDMI cable is + * connected. This API allows the count of elements to be updated. + */ +void mixer_ctl_update(struct mixer_ctl *ctl); + +/* Set and get mixer controls */ +int mixer_ctl_get_percent(struct mixer_ctl *ctl, unsigned int id); +int mixer_ctl_set_percent(struct mixer_ctl *ctl, unsigned int id, int percent); + +int mixer_ctl_get_value(struct mixer_ctl *ctl, unsigned int id); +int mixer_ctl_get_array(struct mixer_ctl *ctl, void *array, size_t count); +int mixer_ctl_set_value(struct mixer_ctl *ctl, unsigned int id, int value); +int mixer_ctl_set_array(struct mixer_ctl *ctl, const void *array, size_t count); +int mixer_ctl_set_enum_by_string(struct mixer_ctl *ctl, const char *string); + +/* Determe range of integer mixer controls */ +int mixer_ctl_get_range_min(struct mixer_ctl *ctl); +int mixer_ctl_get_range_max(struct mixer_ctl *ctl); + +#if defined(__cplusplus) +} /* extern "C" */ +#endif + +#endif diff --git a/app/src/main/cpp/include/gflags/gflags.h b/app/src/main/cpp/include/gflags/gflags.h new file mode 100644 index 0000000..3acee2e --- /dev/null +++ b/app/src/main/cpp/include/gflags/gflags.h @@ -0,0 +1,606 @@ +// Copyright (c) 2006, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// --- +// Revamped and reorganized by Craig Silverstein +// +// This is the file that should be included by any file which declares +// or defines a command line flag or wants to parse command line flags +// or print a program usage message (which will include information about +// flags). Executive summary, in the form of an example foo.cc file: +// +// #include "foo.h" // foo.h has a line "DECLARE_int32(start);" +// #include "validators.h" // hypothetical file defining ValidateIsFile() +// +// DEFINE_int32(end, 1000, "The last record to read"); +// +// DEFINE_string(filename, "my_file.txt", "The file to read"); +// // Crash if the specified file does not exist. +// static bool dummy = RegisterFlagValidator(&FLAGS_filename, +// &ValidateIsFile); +// +// DECLARE_bool(verbose); // some other file has a DEFINE_bool(verbose, ...) +// +// void MyFunc() { +// if (FLAGS_verbose) printf("Records %d-%d\n", FLAGS_start, FLAGS_end); +// } +// +// Then, at the command-line: +// ./foo --noverbose --start=5 --end=100 +// +// For more details, see +// doc/gflags.html +// +// --- A note about thread-safety: +// +// We describe many functions in this routine as being thread-hostile, +// thread-compatible, or thread-safe. Here are the meanings we use: +// +// thread-safe: it is safe for multiple threads to call this routine +// (or, when referring to a class, methods of this class) +// concurrently. +// thread-hostile: it is not safe for multiple threads to call this +// routine (or methods of this class) concurrently. In gflags, +// most thread-hostile routines are intended to be called early in, +// or even before, main() -- that is, before threads are spawned. +// thread-compatible: it is safe for multiple threads to read from +// this variable (when applied to variables), or to call const +// methods of this class (when applied to classes), as long as no +// other thread is writing to the variable or calling non-const +// methods of this class. + +#ifndef GFLAGS_GFLAGS_H_ +#define GFLAGS_GFLAGS_H_ + +#include +#include + +#include "gflags/gflags_declare.h" // IWYU pragma: export + + +// We always want to export variables defined in user code +#ifndef GFLAGS_DLL_DEFINE_FLAG +# ifdef _MSC_VER +# define GFLAGS_DLL_DEFINE_FLAG __declspec(dllexport) +# else +# define GFLAGS_DLL_DEFINE_FLAG +# endif +#endif + + +namespace GFLAGS_NAMESPACE { + + +// -------------------------------------------------------------------- +// To actually define a flag in a file, use DEFINE_bool, +// DEFINE_string, etc. at the bottom of this file. You may also find +// it useful to register a validator with the flag. This ensures that +// when the flag is parsed from the commandline, or is later set via +// SetCommandLineOption, we call the validation function. It is _not_ +// called when you assign the value to the flag directly using the = operator. +// +// The validation function should return true if the flag value is valid, and +// false otherwise. If the function returns false for the new setting of the +// flag, the flag will retain its current value. If it returns false for the +// default value, ParseCommandLineFlags() will die. +// +// This function is safe to call at global construct time (as in the +// example below). +// +// Example use: +// static bool ValidatePort(const char* flagname, int32 value) { +// if (value > 0 && value < 32768) // value is ok +// return true; +// printf("Invalid value for --%s: %d\n", flagname, (int)value); +// return false; +// } +// DEFINE_int32(port, 0, "What port to listen on"); +// static bool dummy = RegisterFlagValidator(&FLAGS_port, &ValidatePort); + +// Returns true if successfully registered, false if not (because the +// first argument doesn't point to a command-line flag, or because a +// validator is already registered for this flag). +extern GFLAGS_DLL_DECL bool RegisterFlagValidator(const bool* flag, bool (*validate_fn)(const char*, bool)); +extern GFLAGS_DLL_DECL bool RegisterFlagValidator(const int32* flag, bool (*validate_fn)(const char*, int32)); +extern GFLAGS_DLL_DECL bool RegisterFlagValidator(const uint32* flag, bool (*validate_fn)(const char*, uint32)); +extern GFLAGS_DLL_DECL bool RegisterFlagValidator(const int64* flag, bool (*validate_fn)(const char*, int64)); +extern GFLAGS_DLL_DECL bool RegisterFlagValidator(const uint64* flag, bool (*validate_fn)(const char*, uint64)); +extern GFLAGS_DLL_DECL bool RegisterFlagValidator(const double* flag, bool (*validate_fn)(const char*, double)); +extern GFLAGS_DLL_DECL bool RegisterFlagValidator(const std::string* flag, bool (*validate_fn)(const char*, const std::string&)); + +// Convenience macro for the registration of a flag validator +#define DEFINE_validator(name, validator) \ + static const bool name##_validator_registered = \ + GFLAGS_NAMESPACE::RegisterFlagValidator(&FLAGS_##name, validator) + + +// -------------------------------------------------------------------- +// These methods are the best way to get access to info about the +// list of commandline flags. Note that these routines are pretty slow. +// GetAllFlags: mostly-complete info about the list, sorted by file. +// ShowUsageWithFlags: pretty-prints the list to stdout (what --help does) +// ShowUsageWithFlagsRestrict: limit to filenames with restrict as a substr +// +// In addition to accessing flags, you can also access argv[0] (the program +// name) and argv (the entire commandline), which we sock away a copy of. +// These variables are static, so you should only set them once. +// +// No need to export this data only structure from DLL, avoiding VS warning 4251. +struct CommandLineFlagInfo { + std::string name; // the name of the flag + std::string type; // the type of the flag: int32, etc + std::string description; // the "help text" associated with the flag + std::string current_value; // the current value, as a string + std::string default_value; // the default value, as a string + std::string filename; // 'cleaned' version of filename holding the flag + bool has_validator_fn; // true if RegisterFlagValidator called on this flag + bool is_default; // true if the flag has the default value and + // has not been set explicitly from the cmdline + // or via SetCommandLineOption + const void* flag_ptr; // pointer to the flag's current value (i.e. FLAGS_foo) +}; + +// Using this inside of a validator is a recipe for a deadlock. +// TODO(user) Fix locking when validators are running, to make it safe to +// call validators during ParseAllFlags. +// Also make sure then to uncomment the corresponding unit test in +// gflags_unittest.sh +extern GFLAGS_DLL_DECL void GetAllFlags(std::vector* OUTPUT); +// These two are actually defined in gflags_reporting.cc. +extern GFLAGS_DLL_DECL void ShowUsageWithFlags(const char *argv0); // what --help does +extern GFLAGS_DLL_DECL void ShowUsageWithFlagsRestrict(const char *argv0, const char *restrict); + +// Create a descriptive string for a flag. +// Goes to some trouble to make pretty line breaks. +extern GFLAGS_DLL_DECL std::string DescribeOneFlag(const CommandLineFlagInfo& flag); + +// Thread-hostile; meant to be called before any threads are spawned. +extern GFLAGS_DLL_DECL void SetArgv(int argc, const char** argv); + +// The following functions are thread-safe as long as SetArgv() is +// only called before any threads start. +extern GFLAGS_DLL_DECL const std::vector& GetArgvs(); +extern GFLAGS_DLL_DECL const char* GetArgv(); // all of argv as a string +extern GFLAGS_DLL_DECL const char* GetArgv0(); // only argv0 +extern GFLAGS_DLL_DECL uint32 GetArgvSum(); // simple checksum of argv +extern GFLAGS_DLL_DECL const char* ProgramInvocationName(); // argv0, or "UNKNOWN" if not set +extern GFLAGS_DLL_DECL const char* ProgramInvocationShortName(); // basename(argv0) + +// ProgramUsage() is thread-safe as long as SetUsageMessage() is only +// called before any threads start. +extern GFLAGS_DLL_DECL const char* ProgramUsage(); // string set by SetUsageMessage() + +// VersionString() is thread-safe as long as SetVersionString() is only +// called before any threads start. +extern GFLAGS_DLL_DECL const char* VersionString(); // string set by SetVersionString() + + + +// -------------------------------------------------------------------- +// Normally you access commandline flags by just saying "if (FLAGS_foo)" +// or whatever, and set them by calling "FLAGS_foo = bar" (or, more +// commonly, via the DEFINE_foo macro). But if you need a bit more +// control, we have programmatic ways to get/set the flags as well. +// These programmatic ways to access flags are thread-safe, but direct +// access is only thread-compatible. + +// Return true iff the flagname was found. +// OUTPUT is set to the flag's value, or unchanged if we return false. +extern GFLAGS_DLL_DECL bool GetCommandLineOption(const char* name, std::string* OUTPUT); + +// Return true iff the flagname was found. OUTPUT is set to the flag's +// CommandLineFlagInfo or unchanged if we return false. +extern GFLAGS_DLL_DECL bool GetCommandLineFlagInfo(const char* name, CommandLineFlagInfo* OUTPUT); + +// Return the CommandLineFlagInfo of the flagname. exit() if name not found. +// Example usage, to check if a flag's value is currently the default value: +// if (GetCommandLineFlagInfoOrDie("foo").is_default) ... +extern GFLAGS_DLL_DECL CommandLineFlagInfo GetCommandLineFlagInfoOrDie(const char* name); + +enum GFLAGS_DLL_DECL FlagSettingMode { + // update the flag's value (can call this multiple times). + SET_FLAGS_VALUE, + // update the flag's value, but *only if* it has not yet been updated + // with SET_FLAGS_VALUE, SET_FLAG_IF_DEFAULT, or "FLAGS_xxx = nondef". + SET_FLAG_IF_DEFAULT, + // set the flag's default value to this. If the flag has not yet updated + // yet (via SET_FLAGS_VALUE, SET_FLAG_IF_DEFAULT, or "FLAGS_xxx = nondef") + // change the flag's current value to the new default value as well. + SET_FLAGS_DEFAULT +}; + +// Set a particular flag ("command line option"). Returns a string +// describing the new value that the option has been set to. The +// return value API is not well-specified, so basically just depend on +// it to be empty if the setting failed for some reason -- the name is +// not a valid flag name, or the value is not a valid value -- and +// non-empty else. + +// SetCommandLineOption uses set_mode == SET_FLAGS_VALUE (the common case) +extern GFLAGS_DLL_DECL std::string SetCommandLineOption (const char* name, const char* value); +extern GFLAGS_DLL_DECL std::string SetCommandLineOptionWithMode(const char* name, const char* value, FlagSettingMode set_mode); + + +// -------------------------------------------------------------------- +// Saves the states (value, default value, whether the user has set +// the flag, registered validators, etc) of all flags, and restores +// them when the FlagSaver is destroyed. This is very useful in +// tests, say, when you want to let your tests change the flags, but +// make sure that they get reverted to the original states when your +// test is complete. +// +// Example usage: +// void TestFoo() { +// FlagSaver s1; +// FLAG_foo = false; +// FLAG_bar = "some value"; +// +// // test happens here. You can return at any time +// // without worrying about restoring the FLAG values. +// } +// +// Note: This class is marked with GFLAGS_ATTRIBUTE_UNUSED because all +// the work is done in the constructor and destructor, so in the standard +// usage example above, the compiler would complain that it's an +// unused variable. +// +// This class is thread-safe. However, its destructor writes to +// exactly the set of flags that have changed value during its +// lifetime, so concurrent _direct_ access to those flags +// (i.e. FLAGS_foo instead of {Get,Set}CommandLineOption()) is unsafe. + +class GFLAGS_DLL_DECL FlagSaver { + public: + FlagSaver(); + ~FlagSaver(); + + private: + class FlagSaverImpl* impl_; // we use pimpl here to keep API steady + + FlagSaver(const FlagSaver&); // no copying! + void operator=(const FlagSaver&); +}__attribute((unused)); + +// -------------------------------------------------------------------- +// Some deprecated or hopefully-soon-to-be-deprecated functions. + +// This is often used for logging. TODO(csilvers): figure out a better way +extern GFLAGS_DLL_DECL std::string CommandlineFlagsIntoString(); +// Usually where this is used, a FlagSaver should be used instead. +extern GFLAGS_DLL_DECL +bool ReadFlagsFromString(const std::string& flagfilecontents, + const char* prog_name, + bool errors_are_fatal); // uses SET_FLAGS_VALUE + +// These let you manually implement --flagfile functionality. +// DEPRECATED. +extern GFLAGS_DLL_DECL bool AppendFlagsIntoFile(const std::string& filename, const char* prog_name); +extern GFLAGS_DLL_DECL bool ReadFromFlagsFile(const std::string& filename, const char* prog_name, bool errors_are_fatal); // uses SET_FLAGS_VALUE + + +// -------------------------------------------------------------------- +// Useful routines for initializing flags from the environment. +// In each case, if 'varname' does not exist in the environment +// return defval. If 'varname' does exist but is not valid +// (e.g., not a number for an int32 flag), abort with an error. +// Otherwise, return the value. NOTE: for booleans, for true use +// 't' or 'T' or 'true' or '1', for false 'f' or 'F' or 'false' or '0'. + +extern GFLAGS_DLL_DECL bool BoolFromEnv(const char *varname, bool defval); +extern GFLAGS_DLL_DECL int32 Int32FromEnv(const char *varname, int32 defval); +extern GFLAGS_DLL_DECL uint32 Uint32FromEnv(const char *varname, uint32 defval); +extern GFLAGS_DLL_DECL int64 Int64FromEnv(const char *varname, int64 defval); +extern GFLAGS_DLL_DECL uint64 Uint64FromEnv(const char *varname, uint64 defval); +extern GFLAGS_DLL_DECL double DoubleFromEnv(const char *varname, double defval); +extern GFLAGS_DLL_DECL const char *StringFromEnv(const char *varname, const char *defval); + + +// -------------------------------------------------------------------- +// The next two functions parse gflags from main(): + +// Set the "usage" message for this program. For example: +// string usage("This program does nothing. Sample usage:\n"); +// usage += argv[0] + " "; +// SetUsageMessage(usage); +// Do not include commandline flags in the usage: we do that for you! +// Thread-hostile; meant to be called before any threads are spawned. +extern GFLAGS_DLL_DECL void SetUsageMessage(const std::string& usage); + +// Sets the version string, which is emitted with --version. +// For instance: SetVersionString("1.3"); +// Thread-hostile; meant to be called before any threads are spawned. +extern GFLAGS_DLL_DECL void SetVersionString(const std::string& version); + + +// Looks for flags in argv and parses them. Rearranges argv to put +// flags first, or removes them entirely if remove_flags is true. +// If a flag is defined more than once in the command line or flag +// file, the last definition is used. Returns the index (into argv) +// of the first non-flag argument. +// See top-of-file for more details on this function. +#ifndef SWIG // In swig, use ParseCommandLineFlagsScript() instead. +extern GFLAGS_DLL_DECL uint32 ParseCommandLineFlags(int *argc, char*** argv, bool remove_flags); +#endif + + +// Calls to ParseCommandLineNonHelpFlags and then to +// HandleCommandLineHelpFlags can be used instead of a call to +// ParseCommandLineFlags during initialization, in order to allow for +// changing default values for some FLAGS (via +// e.g. SetCommandLineOptionWithMode calls) between the time of +// command line parsing and the time of dumping help information for +// the flags as a result of command line parsing. If a flag is +// defined more than once in the command line or flag file, the last +// definition is used. Returns the index (into argv) of the first +// non-flag argument. (If remove_flags is true, will always return 1.) +extern GFLAGS_DLL_DECL uint32 ParseCommandLineNonHelpFlags(int *argc, char*** argv, bool remove_flags); + +// This is actually defined in gflags_reporting.cc. +// This function is misnamed (it also handles --version, etc.), but +// it's too late to change that now. :-( +extern GFLAGS_DLL_DECL void HandleCommandLineHelpFlags(); // in gflags_reporting.cc + +// Allow command line reparsing. Disables the error normally +// generated when an unknown flag is found, since it may be found in a +// later parse. Thread-hostile; meant to be called before any threads +// are spawned. +extern GFLAGS_DLL_DECL void AllowCommandLineReparsing(); + +// Reparse the flags that have not yet been recognized. Only flags +// registered since the last parse will be recognized. Any flag value +// must be provided as part of the argument using "=", not as a +// separate command line argument that follows the flag argument. +// Intended for handling flags from dynamically loaded libraries, +// since their flags are not registered until they are loaded. +extern GFLAGS_DLL_DECL void ReparseCommandLineNonHelpFlags(); + +// Clean up memory allocated by flags. This is only needed to reduce +// the quantity of "potentially leaked" reports emitted by memory +// debugging tools such as valgrind. It is not required for normal +// operation, or for the google perftools heap-checker. It must only +// be called when the process is about to exit, and all threads that +// might access flags are quiescent. Referencing flags after this is +// called will have unexpected consequences. This is not safe to run +// when multiple threads might be running: the function is +// thread-hostile. +extern GFLAGS_DLL_DECL void ShutDownCommandLineFlags(); + + +// -------------------------------------------------------------------- +// Now come the command line flag declaration/definition macros that +// will actually be used. They're kind of hairy. A major reason +// for this is initialization: we want people to be able to access +// variables in global constructors and have that not crash, even if +// their global constructor runs before the global constructor here. +// (Obviously, we can't guarantee the flags will have the correct +// default value in that case, but at least accessing them is safe.) +// The only way to do that is have flags point to a static buffer. +// So we make one, using a union to ensure proper alignment, and +// then use placement-new to actually set up the flag with the +// correct default value. In the same vein, we have to worry about +// flag access in global destructors, so FlagRegisterer has to be +// careful never to destroy the flag-values it constructs. +// +// Note that when we define a flag variable FLAGS_, we also +// preemptively define a junk variable, FLAGS_no. This is to +// cause a link-time error if someone tries to define 2 flags with +// names like "logging" and "nologging". We do this because a bool +// flag FLAG can be set from the command line to true with a "-FLAG" +// argument, and to false with a "-noFLAG" argument, and so this can +// potentially avert confusion. +// +// We also put flags into their own namespace. It is purposefully +// named in an opaque way that people should have trouble typing +// directly. The idea is that DEFINE puts the flag in the weird +// namespace, and DECLARE imports the flag from there into the current +// namespace. The net result is to force people to use DECLARE to get +// access to a flag, rather than saying "extern GFLAGS_DLL_DECL bool FLAGS_whatever;" +// or some such instead. We want this so we can put extra +// functionality (like sanity-checking) in DECLARE if we want, and +// make sure it is picked up everywhere. +// +// We also put the type of the variable in the namespace, so that +// people can't DECLARE_int32 something that they DEFINE_bool'd +// elsewhere. + +class GFLAGS_DLL_DECL FlagRegisterer { + public: + // We instantiate this template ctor for all supported types, + // so it is possible to place implementation of the FlagRegisterer ctor in + // .cc file. + // Calling this constructor with unsupported type will produce linker error. + template + FlagRegisterer(const char* name, + const char* help, const char* filename, + FlagType* current_storage, FlagType* defvalue_storage); +}; + +// If your application #defines STRIP_FLAG_HELP to a non-zero value +// before #including this file, we remove the help message from the +// binary file. This can reduce the size of the resulting binary +// somewhat, and may also be useful for security reasons. + +extern GFLAGS_DLL_DECL const char kStrippedFlagHelp[]; + + +} // namespace GFLAGS_NAMESPACE + + +#ifndef SWIG // In swig, ignore the main flag declarations + +#if defined(STRIP_FLAG_HELP) && STRIP_FLAG_HELP > 0 +// Need this construct to avoid the 'defined but not used' warning. +#define MAYBE_STRIPPED_HELP(txt) \ + (false ? (txt) : GFLAGS_NAMESPACE::kStrippedFlagHelp) +#else +#define MAYBE_STRIPPED_HELP(txt) txt +#endif + +// Each command-line flag has two variables associated with it: one +// with the current value, and one with the default value. However, +// we have a third variable, which is where value is assigned; it's a +// constant. This guarantees that FLAG_##value is initialized at +// static initialization time (e.g. before program-start) rather than +// than global construction time (which is after program-start but +// before main), at least when 'value' is a compile-time constant. We +// use a small trick for the "default value" variable, and call it +// FLAGS_no. This serves the second purpose of assuring a +// compile error if someone tries to define a flag named no +// which is illegal (--foo and --nofoo both affect the "foo" flag). +#define DEFINE_VARIABLE(type, shorttype, name, value, help) \ + namespace fL##shorttype { \ + static const type FLAGS_nono##name = value; \ + /* We always want to export defined variables, dll or no */ \ + GFLAGS_DLL_DEFINE_FLAG type FLAGS_##name = FLAGS_nono##name; \ + type FLAGS_no##name = FLAGS_nono##name; \ + static GFLAGS_NAMESPACE::FlagRegisterer o_##name( \ + #name, MAYBE_STRIPPED_HELP(help), __FILE__, \ + &FLAGS_##name, &FLAGS_no##name); \ + } \ + using fL##shorttype::FLAGS_##name + +// For DEFINE_bool, we want to do the extra check that the passed-in +// value is actually a bool, and not a string or something that can be +// coerced to a bool. These declarations (no definition needed!) will +// help us do that, and never evaluate From, which is important. +// We'll use 'sizeof(IsBool(val))' to distinguish. This code requires +// that the compiler have different sizes for bool & double. Since +// this is not guaranteed by the standard, we check it with a +// COMPILE_ASSERT. +namespace fLB { +struct CompileAssert {}; +typedef CompileAssert expected_sizeof_double_neq_sizeof_bool[ + (sizeof(double) != sizeof(bool)) ? 1 : -1]; +template double GFLAGS_DLL_DECL IsBoolFlag(const From& from); +GFLAGS_DLL_DECL bool IsBoolFlag(bool from); +} // namespace fLB + +// Here are the actual DEFINE_*-macros. The respective DECLARE_*-macros +// are in a separate include, gflags_declare.h, for reducing +// the physical transitive size for DECLARE use. +#define DEFINE_bool(name, val, txt) \ + namespace fLB { \ + typedef ::fLB::CompileAssert FLAG_##name##_value_is_not_a_bool[ \ + (sizeof(::fLB::IsBoolFlag(val)) != sizeof(double))? 1: -1]; \ + } \ + DEFINE_VARIABLE(bool, B, name, val, txt) + +#define DEFINE_int32(name, val, txt) \ + DEFINE_VARIABLE(GFLAGS_NAMESPACE::int32, I, \ + name, val, txt) + +#define DEFINE_uint32(name,val, txt) \ + DEFINE_VARIABLE(GFLAGS_NAMESPACE::uint32, U, \ + name, val, txt) + +#define DEFINE_int64(name, val, txt) \ + DEFINE_VARIABLE(GFLAGS_NAMESPACE::int64, I64, \ + name, val, txt) + +#define DEFINE_uint64(name,val, txt) \ + DEFINE_VARIABLE(GFLAGS_NAMESPACE::uint64, U64, \ + name, val, txt) + +#define DEFINE_double(name, val, txt) \ + DEFINE_VARIABLE(double, D, name, val, txt) + +// Strings are trickier, because they're not a POD, so we can't +// construct them at static-initialization time (instead they get +// constructed at global-constructor time, which is much later). To +// try to avoid crashes in that case, we use a char buffer to store +// the string, which we can static-initialize, and then placement-new +// into it later. It's not perfect, but the best we can do. + +namespace fLS { + +inline clstring* dont_pass0toDEFINE_string(char *stringspot, + const char *value) { + return new(stringspot) clstring(value); +} +inline clstring* dont_pass0toDEFINE_string(char *stringspot, + const clstring &value) { + return new(stringspot) clstring(value); +} +inline clstring* dont_pass0toDEFINE_string(char *stringspot, + int value); + +// Auxiliary class used to explicitly call destructor of string objects +// allocated using placement new during static program deinitialization. +// The destructor MUST be an inline function such that the explicit +// destruction occurs in the same compilation unit as the placement new. +class StringFlagDestructor { + void *current_storage_; + void *defvalue_storage_; + +public: + + StringFlagDestructor(void *current, void *defvalue) + : current_storage_(current), defvalue_storage_(defvalue) {} + + ~StringFlagDestructor() { + reinterpret_cast(current_storage_ )->~clstring(); + reinterpret_cast(defvalue_storage_)->~clstring(); + } +}; + +} // namespace fLS + +// We need to define a var named FLAGS_no##name so people don't define +// --string and --nostring. And we need a temporary place to put val +// so we don't have to evaluate it twice. Two great needs that go +// great together! +// The weird 'using' + 'extern' inside the fLS namespace is to work around +// an unknown compiler bug/issue with the gcc 4.2.1 on SUSE 10. See +// http://code.google.com/p/google-gflags/issues/detail?id=20 +#define DEFINE_string(name, val, txt) \ + namespace fLS { \ + using ::fLS::clstring; \ + using ::fLS::StringFlagDestructor; \ + static union { void* align; char s[sizeof(clstring)]; } s_##name[2]; \ + clstring* const FLAGS_no##name = ::fLS:: \ + dont_pass0toDEFINE_string(s_##name[0].s, \ + val); \ + static GFLAGS_NAMESPACE::FlagRegisterer o_##name( \ + #name, MAYBE_STRIPPED_HELP(txt), __FILE__, \ + FLAGS_no##name, new (s_##name[1].s) clstring(*FLAGS_no##name)); \ + static StringFlagDestructor d_##name(s_##name[0].s, s_##name[1].s); \ + extern GFLAGS_DLL_DEFINE_FLAG clstring& FLAGS_##name; \ + using fLS::FLAGS_##name; \ + clstring& FLAGS_##name = *FLAGS_no##name; \ + } \ + using fLS::FLAGS_##name + +#endif // SWIG + + +// Import gflags library symbols into alternative/deprecated namespace(s) +#include "gflags_gflags.h" + + +#endif // GFLAGS_GFLAGS_H_ diff --git a/app/src/main/cpp/include/gflags/gflags_completions.h b/app/src/main/cpp/include/gflags/gflags_completions.h new file mode 100644 index 0000000..f951c1e --- /dev/null +++ b/app/src/main/cpp/include/gflags/gflags_completions.h @@ -0,0 +1,121 @@ +// Copyright (c) 2008, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// --- + +// +// Implement helpful bash-style command line flag completions +// +// ** Functional API: +// HandleCommandLineCompletions() should be called early during +// program startup, but after command line flag code has been +// initialized, such as the beginning of HandleCommandLineHelpFlags(). +// It checks the value of the flag --tab_completion_word. If this +// flag is empty, nothing happens here. If it contains a string, +// however, then HandleCommandLineCompletions() will hijack the +// process, attempting to identify the intention behind this +// completion. Regardless of the outcome of this deduction, the +// process will be terminated, similar to --helpshort flag +// handling. +// +// ** Overview of Bash completions: +// Bash can be told to programatically determine completions for the +// current 'cursor word'. It does this by (in this case) invoking a +// command with some additional arguments identifying the command +// being executed, the word being completed, and the previous word +// (if any). Bash then expects a sequence of output lines to be +// printed to stdout. If these lines all contain a common prefix +// longer than the cursor word, bash will replace the cursor word +// with that common prefix, and display nothing. If there isn't such +// a common prefix, bash will display the lines in pages using 'more'. +// +// ** Strategy taken for command line completions: +// If we can deduce either the exact flag intended, or a common flag +// prefix, we'll output exactly that. Otherwise, if information +// must be displayed to the user, we'll take the opportunity to add +// some helpful information beyond just the flag name (specifically, +// we'll include the default flag value and as much of the flag's +// description as can fit on a single terminal line width, as specified +// by the flag --tab_completion_columns). Furthermore, we'll try to +// make bash order the output such that the most useful or relevent +// flags are the most likely to be shown at the top. +// +// ** Additional features: +// To assist in finding that one really useful flag, substring matching +// was implemented. Before pressing a to get completion for the +// current word, you can append one or more '?' to the flag to do +// substring matching. Here's the semantics: +// --foo Show me all flags with names prefixed by 'foo' +// --foo? Show me all flags with 'foo' somewhere in the name +// --foo?? Same as prior case, but also search in module +// definition path for 'foo' +// --foo??? Same as prior case, but also search in flag +// descriptions for 'foo' +// Finally, we'll trim the output to a relatively small number of +// flags to keep bash quiet about the verbosity of output. If one +// really wanted to see all possible matches, appending a '+' to the +// search word will force the exhaustive list of matches to be printed. +// +// ** How to have bash accept completions from a binary: +// Bash requires that it be informed about each command that programmatic +// completion should be enabled for. Example addition to a .bashrc +// file would be (your path to gflags_completions.sh file may differ): + +/* +$ complete -o bashdefault -o default -o nospace -C \ + '/home/build/eng/bash/bash_completions.sh --tab_completion_columns $COLUMNS' \ + time env binary_name another_binary [...] +*/ + +// This would allow the following to work: +// $ /path/to/binary_name --vmodule +// Or: +// $ ./bin/path/another_binary --gfs_u +// (etc) +// +// Sadly, it appears that bash gives no easy way to force this behavior for +// all commands. That's where the "time" in the above example comes in. +// If you haven't specifically added a command to the list of completion +// supported commands, you can still get completions by prefixing the +// entire command with "env". +// $ env /some/brand/new/binary --vmod +// Assuming that "binary" is a newly compiled binary, this should still +// produce the expected completion output. + + +#ifndef GFLAGS_COMPLETIONS_H_ +#define GFLAGS_COMPLETIONS_H_ + +namespace google { + +extern void HandleCommandLineCompletions(void); + +} + +#endif // GFLAGS_COMPLETIONS_H_ diff --git a/app/src/main/cpp/include/gflags/gflags_declare.h b/app/src/main/cpp/include/gflags/gflags_declare.h new file mode 100644 index 0000000..3b187bd --- /dev/null +++ b/app/src/main/cpp/include/gflags/gflags_declare.h @@ -0,0 +1,153 @@ +// Copyright (c) 1999, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// --- +// +// Revamped and reorganized by Craig Silverstein +// +// This is the file that should be included by any file which declares +// command line flag. + +#ifndef GFLAGS_DECLARE_H_ +#define GFLAGS_DECLARE_H_ + + +// --------------------------------------------------------------------------- +// Namespace of gflags library symbols. +#define GFLAGS_NAMESPACE google + +// --------------------------------------------------------------------------- +// Windows DLL import/export. + +// Whether gflags library is a DLL. +// +// Set to 1 by default when the shared gflags library was built on Windows. +// Must be overwritten when this header file is used with the optionally also +// built static library instead; set by CMake's INTERFACE_COMPILE_DEFINITIONS. +#ifndef GFLAGS_IS_A_DLL +# define GFLAGS_IS_A_DLL 0 +#endif + +// We always want to import the symbols of the gflags library. +#ifndef GFLAGS_DLL_DECL +# if GFLAGS_IS_A_DLL && defined(_MSC_VER) +# define GFLAGS_DLL_DECL __declspec(dllimport) +# else +# define GFLAGS_DLL_DECL +# endif +#endif + +// We always want to import variables declared in user code. +#ifndef GFLAGS_DLL_DECLARE_FLAG +# if GFLAGS_IS_A_DLL && defined(_MSC_VER) +# define GFLAGS_DLL_DECLARE_FLAG __declspec(dllimport) +# else +# define GFLAGS_DLL_DECLARE_FLAG +# endif +#endif + +// --------------------------------------------------------------------------- +// Flag types +#include +#if 1 +# include // the normal place uint32_t is defined +#elif 1 +# include // the normal place u_int32_t is defined +#elif 1 +# include // a third place for uint32_t or u_int32_t +#endif + +namespace GFLAGS_NAMESPACE { + +#if 1 // C99 +typedef int32_t int32; +typedef uint32_t uint32; +typedef int64_t int64; +typedef uint64_t uint64; +#elif 0 // BSD +typedef int32_t int32; +typedef u_int32_t uint32; +typedef int64_t int64; +typedef u_int64_t uint64; +#elif 0 // Windows +typedef __int32 int32; +typedef unsigned __int32 uint32; +typedef __int64 int64; +typedef unsigned __int64 uint64; +#else +# error Do not know how to define a 32-bit integer quantity on your system +#endif + +} // namespace GFLAGS_NAMESPACE + + +namespace fLS { + +// The meaning of "string" might be different between now and when the +// macros below get invoked (e.g., if someone is experimenting with +// other string implementations that get defined after this file is +// included). Save the current meaning now and use it in the macros. +typedef std::string clstring; + +} // namespace fLS + + +#define DECLARE_VARIABLE(type, shorttype, name) \ + /* We always want to import declared variables, dll or no */ \ + namespace fL##shorttype { extern GFLAGS_DLL_DECLARE_FLAG type FLAGS_##name; } \ + using fL##shorttype::FLAGS_##name + +#define DECLARE_bool(name) \ + DECLARE_VARIABLE(bool, B, name) + +#define DECLARE_int32(name) \ + DECLARE_VARIABLE(::GFLAGS_NAMESPACE::int32, I, name) + +#define DECLARE_uint32(name) \ + DECLARE_VARIABLE(::GFLAGS_NAMESPACE::uint32, U, name) + +#define DECLARE_int64(name) \ + DECLARE_VARIABLE(::GFLAGS_NAMESPACE::int64, I64, name) + +#define DECLARE_uint64(name) \ + DECLARE_VARIABLE(::GFLAGS_NAMESPACE::uint64, U64, name) + +#define DECLARE_double(name) \ + DECLARE_VARIABLE(double, D, name) + +#define DECLARE_string(name) \ + /* We always want to import declared variables, dll or no */ \ + namespace fLS { \ + using ::fLS::clstring; \ + extern GFLAGS_DLL_DECLARE_FLAG ::fLS::clstring& FLAGS_##name; \ + } \ + using fLS::FLAGS_##name + + +#endif // GFLAGS_DECLARE_H_ diff --git a/app/src/main/cpp/include/gflags/gflags_gflags.h b/app/src/main/cpp/include/gflags/gflags_gflags.h new file mode 100644 index 0000000..36d0ba1 --- /dev/null +++ b/app/src/main/cpp/include/gflags/gflags_gflags.h @@ -0,0 +1,102 @@ +// Copyright (c) 2014, Andreas Schuh +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// ----------------------------------------------------------------------------- +// Imports the gflags library symbols into an alternative/deprecated namespace. + +#ifndef GFLAGS_GFLAGS_H_ +# error The internal header gflags_gflags.h may only be included by gflags.h +#endif + +#ifndef GFLAGS_NS_GFLAGS_H_ +#define GFLAGS_NS_GFLAGS_H_ + + +namespace gflags { + + +using GFLAGS_NAMESPACE::int32; +using GFLAGS_NAMESPACE::uint32; +using GFLAGS_NAMESPACE::int64; +using GFLAGS_NAMESPACE::uint64; + +using GFLAGS_NAMESPACE::RegisterFlagValidator; +using GFLAGS_NAMESPACE::CommandLineFlagInfo; +using GFLAGS_NAMESPACE::GetAllFlags; +using GFLAGS_NAMESPACE::ShowUsageWithFlags; +using GFLAGS_NAMESPACE::ShowUsageWithFlagsRestrict; +using GFLAGS_NAMESPACE::DescribeOneFlag; +using GFLAGS_NAMESPACE::SetArgv; +using GFLAGS_NAMESPACE::GetArgvs; +using GFLAGS_NAMESPACE::GetArgv; +using GFLAGS_NAMESPACE::GetArgv0; +using GFLAGS_NAMESPACE::GetArgvSum; +using GFLAGS_NAMESPACE::ProgramInvocationName; +using GFLAGS_NAMESPACE::ProgramInvocationShortName; +using GFLAGS_NAMESPACE::ProgramUsage; +using GFLAGS_NAMESPACE::VersionString; +using GFLAGS_NAMESPACE::GetCommandLineOption; +using GFLAGS_NAMESPACE::GetCommandLineFlagInfo; +using GFLAGS_NAMESPACE::GetCommandLineFlagInfoOrDie; +using GFLAGS_NAMESPACE::FlagSettingMode; +using GFLAGS_NAMESPACE::SET_FLAGS_VALUE; +using GFLAGS_NAMESPACE::SET_FLAG_IF_DEFAULT; +using GFLAGS_NAMESPACE::SET_FLAGS_DEFAULT; +using GFLAGS_NAMESPACE::SetCommandLineOption; +using GFLAGS_NAMESPACE::SetCommandLineOptionWithMode; +using GFLAGS_NAMESPACE::FlagSaver; +using GFLAGS_NAMESPACE::CommandlineFlagsIntoString; +using GFLAGS_NAMESPACE::ReadFlagsFromString; +using GFLAGS_NAMESPACE::AppendFlagsIntoFile; +using GFLAGS_NAMESPACE::ReadFromFlagsFile; +using GFLAGS_NAMESPACE::BoolFromEnv; +using GFLAGS_NAMESPACE::Int32FromEnv; +using GFLAGS_NAMESPACE::Uint32FromEnv; +using GFLAGS_NAMESPACE::Int64FromEnv; +using GFLAGS_NAMESPACE::Uint64FromEnv; +using GFLAGS_NAMESPACE::DoubleFromEnv; +using GFLAGS_NAMESPACE::StringFromEnv; +using GFLAGS_NAMESPACE::SetUsageMessage; +using GFLAGS_NAMESPACE::SetVersionString; +using GFLAGS_NAMESPACE::ParseCommandLineNonHelpFlags; +using GFLAGS_NAMESPACE::HandleCommandLineHelpFlags; +using GFLAGS_NAMESPACE::AllowCommandLineReparsing; +using GFLAGS_NAMESPACE::ReparseCommandLineNonHelpFlags; +using GFLAGS_NAMESPACE::ShutDownCommandLineFlags; +using GFLAGS_NAMESPACE::FlagRegisterer; + +#ifndef SWIG +using GFLAGS_NAMESPACE::ParseCommandLineFlags; +#endif + + +} // namespace gflags + + +#endif // GFLAGS_NS_GFLAGS_H_ diff --git a/app/src/main/cpp/include/google/protobuf/any.h b/app/src/main/cpp/include/google/protobuf/any.h new file mode 100644 index 0000000..04e5416 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/any.h @@ -0,0 +1,107 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_ANY_H__ +#define GOOGLE_PROTOBUF_ANY_H__ + +#include + +#include +#include +#include +#include + +namespace google { +namespace protobuf { +namespace internal { + +// Helper class used to implement google::protobuf::Any. +class LIBPROTOBUF_EXPORT AnyMetadata { + typedef ArenaStringPtr UrlType; + typedef ArenaStringPtr ValueType; + public: + // AnyMetadata does not take ownership of "type_url" and "value". + AnyMetadata(UrlType* type_url, ValueType* value); + + // Packs a message using the default type URL prefix: "type.googleapis.com". + // The resulted type URL will be "type.googleapis.com/". + void PackFrom(const Message& message); + // Packs a message using the given type URL prefix. The type URL will be + // constructed by concatenating the message type's full name to the prefix + // with an optional "/" separator if the prefix doesn't already end up "/". + // For example, both PackFrom(message, "type.googleapis.com") and + // PackFrom(message, "type.googleapis.com/") yield the same result type + // URL: "type.googleapis.com/". + void PackFrom(const Message& message, const string& type_url_prefix); + + // Unpacks the payload into the given message. Returns false if the message's + // type doesn't match the type specified in the type URL (i.e., the full + // name after the last "/" of the type URL doesn't match the message's actaul + // full name) or parsing the payload has failed. + bool UnpackTo(Message* message) const; + + // Checks whether the type specified in the type URL matches the given type. + // A type is consdiered matching if its full name matches the full name after + // the last "/" in the type URL. + template + bool Is() const { + return InternalIs(T::default_instance().GetDescriptor()); + } + + private: + bool InternalIs(const Descriptor* message) const; + + UrlType* type_url_; + ValueType* value_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(AnyMetadata); +}; + +extern const char kAnyFullTypeName[]; // "google.protobuf.Any". +extern const char kTypeGoogleApisComPrefix[]; // "type.googleapis.com/". +extern const char kTypeGoogleProdComPrefix[]; // "type.googleprod.com/". + +// Get the proto type name from Any::type_url value. For example, passing +// "type.googleapis.com/rpc.QueryOrigin" will return "rpc.QueryOrigin" in +// *full_type_name. Returns false if type_url does not start with +// "type.googleapis.com" or "type.googleprod.com". +bool ParseAnyTypeUrl(const string& type_url, string* full_type_name); + +// See if message is of type google.protobuf.Any, if so, return the descriptors +// for "type_url" and "value" fields. +bool GetAnyFieldDescriptors(const Message& message, + const FieldDescriptor** type_url_field, + const FieldDescriptor** value_field); + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_ANY_H__ diff --git a/app/src/main/cpp/include/google/protobuf/any.pb.h b/app/src/main/cpp/include/google/protobuf/any.pb.h new file mode 100644 index 0000000..0641e24 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/any.pb.h @@ -0,0 +1,266 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/any.proto + +#ifndef PROTOBUF_google_2fprotobuf_2fany_2eproto__INCLUDED +#define PROTOBUF_google_2fprotobuf_2fany_2eproto__INCLUDED + +#include + +#include + +#if GOOGLE_PROTOBUF_VERSION < 3001000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3001000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) + +namespace google { +namespace protobuf { + +// Internal implementation detail -- do not call these. +void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fany_2eproto(); +void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fany_2eproto(); +void protobuf_AssignDesc_google_2fprotobuf_2fany_2eproto(); +void protobuf_ShutdownFile_google_2fprotobuf_2fany_2eproto(); + +class Any; + +// =================================================================== + +class LIBPROTOBUF_EXPORT Any : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.Any) */ { + public: + Any(); + virtual ~Any(); + + Any(const Any& from); + + inline Any& operator=(const Any& from) { + CopyFrom(from); + return *this; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const Any& default_instance(); + + static const Any* internal_default_instance(); + + // implements Any ----------------------------------------------- + + void PackFrom(const ::google::protobuf::Message& message); + void PackFrom(const ::google::protobuf::Message& message, + const ::std::string& type_url_prefix); + bool UnpackTo(::google::protobuf::Message* message) const; + template bool Is() const { + return _any_metadata_.Is(); + } + + void Swap(Any* other); + + // implements Message ---------------------------------------------- + + inline Any* New() const { return New(NULL); } + + Any* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const Any& from); + void MergeFrom(const Any& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(Any* other); + void UnsafeMergeFrom(const Any& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional string type_url = 1; + void clear_type_url(); + static const int kTypeUrlFieldNumber = 1; + const ::std::string& type_url() const; + void set_type_url(const ::std::string& value); + void set_type_url(const char* value); + void set_type_url(const char* value, size_t size); + ::std::string* mutable_type_url(); + ::std::string* release_type_url(); + void set_allocated_type_url(::std::string* type_url); + + // optional bytes value = 2; + void clear_value(); + static const int kValueFieldNumber = 2; + const ::std::string& value() const; + void set_value(const ::std::string& value); + void set_value(const char* value); + void set_value(const void* value, size_t size); + ::std::string* mutable_value(); + ::std::string* release_value(); + void set_allocated_value(::std::string* value); + + // @@protoc_insertion_point(class_scope:google.protobuf.Any) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::ArenaStringPtr type_url_; + ::google::protobuf::internal::ArenaStringPtr value_; + mutable int _cached_size_; + ::google::protobuf::internal::AnyMetadata _any_metadata_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fany_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fany_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fany_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fany_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed Any_default_instance_; + +// =================================================================== + + +// =================================================================== + +#if !PROTOBUF_INLINE_NOT_IN_HEADERS +// Any + +// optional string type_url = 1; +inline void Any::clear_type_url() { + type_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& Any::type_url() const { + // @@protoc_insertion_point(field_get:google.protobuf.Any.type_url) + return type_url_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Any::set_type_url(const ::std::string& value) { + + type_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.Any.type_url) +} +inline void Any::set_type_url(const char* value) { + + type_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.Any.type_url) +} +inline void Any::set_type_url(const char* value, size_t size) { + + type_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.Any.type_url) +} +inline ::std::string* Any::mutable_type_url() { + + // @@protoc_insertion_point(field_mutable:google.protobuf.Any.type_url) + return type_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* Any::release_type_url() { + // @@protoc_insertion_point(field_release:google.protobuf.Any.type_url) + + return type_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Any::set_allocated_type_url(::std::string* type_url) { + if (type_url != NULL) { + + } else { + + } + type_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), type_url); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.Any.type_url) +} + +// optional bytes value = 2; +inline void Any::clear_value() { + value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& Any::value() const { + // @@protoc_insertion_point(field_get:google.protobuf.Any.value) + return value_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Any::set_value(const ::std::string& value) { + + value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.Any.value) +} +inline void Any::set_value(const char* value) { + + value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.Any.value) +} +inline void Any::set_value(const void* value, size_t size) { + + value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.Any.value) +} +inline ::std::string* Any::mutable_value() { + + // @@protoc_insertion_point(field_mutable:google.protobuf.Any.value) + return value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* Any::release_value() { + // @@protoc_insertion_point(field_release:google.protobuf.Any.value) + + return value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Any::set_allocated_value(::std::string* value) { + if (value != NULL) { + + } else { + + } + value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.Any.value) +} + +inline const Any* Any::internal_default_instance() { + return &Any_default_instance_.get(); +} +#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS + +// @@protoc_insertion_point(namespace_scope) + +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) + +#endif // PROTOBUF_google_2fprotobuf_2fany_2eproto__INCLUDED diff --git a/app/src/main/cpp/include/google/protobuf/any.proto b/app/src/main/cpp/include/google/protobuf/any.proto new file mode 100644 index 0000000..9bd3f50 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/any.proto @@ -0,0 +1,139 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "github.com/golang/protobuf/ptypes/any"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "AnyProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + +// `Any` contains an arbitrary serialized protocol buffer message along with a +// URL that describes the type of the serialized message. +// +// Protobuf library provides support to pack/unpack Any values in the form +// of utility functions or additional generated methods of the Any type. +// +// Example 1: Pack and unpack a message in C++. +// +// Foo foo = ...; +// Any any; +// any.PackFrom(foo); +// ... +// if (any.UnpackTo(&foo)) { +// ... +// } +// +// Example 2: Pack and unpack a message in Java. +// +// Foo foo = ...; +// Any any = Any.pack(foo); +// ... +// if (any.is(Foo.class)) { +// foo = any.unpack(Foo.class); +// } +// +// Example 3: Pack and unpack a message in Python. +// +// foo = Foo(...) +// any = Any() +// any.Pack(foo) +// ... +// if any.Is(Foo.DESCRIPTOR): +// any.Unpack(foo) +// ... +// +// The pack methods provided by protobuf library will by default use +// 'type.googleapis.com/full.type.name' as the type URL and the unpack +// methods only use the fully qualified type name after the last '/' +// in the type URL, for example "foo.bar.com/x/y.z" will yield type +// name "y.z". +// +// +// JSON +// ==== +// The JSON representation of an `Any` value uses the regular +// representation of the deserialized, embedded message, with an +// additional field `@type` which contains the type URL. Example: +// +// package google.profile; +// message Person { +// string first_name = 1; +// string last_name = 2; +// } +// +// { +// "@type": "type.googleapis.com/google.profile.Person", +// "firstName": , +// "lastName": +// } +// +// If the embedded message type is well-known and has a custom JSON +// representation, that representation will be embedded adding a field +// `value` which holds the custom JSON in addition to the `@type` +// field. Example (for message [google.protobuf.Duration][]): +// +// { +// "@type": "type.googleapis.com/google.protobuf.Duration", +// "value": "1.212s" +// } +// +message Any { + // A URL/resource name whose content describes the type of the + // serialized protocol buffer message. + // + // For URLs which use the scheme `http`, `https`, or no scheme, the + // following restrictions and interpretations apply: + // + // * If no scheme is provided, `https` is assumed. + // * The last segment of the URL's path must represent the fully + // qualified name of the type (as in `path/google.protobuf.Duration`). + // The name should be in a canonical form (e.g., leading "." is + // not accepted). + // * An HTTP GET on the URL must yield a [google.protobuf.Type][] + // value in binary format, or produce an error. + // * Applications are allowed to cache lookup results based on the + // URL, or have them precompiled into a binary to avoid any + // lookup. Therefore, binary compatibility needs to be preserved + // on changes to types. (Use versioned type names to manage + // breaking changes.) + // + // Schemes other than `http`, `https` (or the empty scheme) might be + // used with implementation specific semantics. + // + string type_url = 1; + + // Must be a valid serialized protocol buffer of the above specified type. + bytes value = 2; +} diff --git a/app/src/main/cpp/include/google/protobuf/api.pb.h b/app/src/main/cpp/include/google/protobuf/api.pb.h new file mode 100644 index 0000000..9410286 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/api.pb.h @@ -0,0 +1,1019 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/api.proto + +#ifndef PROTOBUF_google_2fprotobuf_2fapi_2eproto__INCLUDED +#define PROTOBUF_google_2fprotobuf_2fapi_2eproto__INCLUDED + +#include + +#include + +#if GOOGLE_PROTOBUF_VERSION < 3001000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3001000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) + +namespace google { +namespace protobuf { + +// Internal implementation detail -- do not call these. +void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fapi_2eproto(); +void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fapi_2eproto(); +void protobuf_AssignDesc_google_2fprotobuf_2fapi_2eproto(); +void protobuf_ShutdownFile_google_2fprotobuf_2fapi_2eproto(); + +class Api; +class Method; +class Mixin; + +// =================================================================== + +class LIBPROTOBUF_EXPORT Api : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.Api) */ { + public: + Api(); + virtual ~Api(); + + Api(const Api& from); + + inline Api& operator=(const Api& from) { + CopyFrom(from); + return *this; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const Api& default_instance(); + + static const Api* internal_default_instance(); + + void Swap(Api* other); + + // implements Message ---------------------------------------------- + + inline Api* New() const { return New(NULL); } + + Api* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const Api& from); + void MergeFrom(const Api& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(Api* other); + void UnsafeMergeFrom(const Api& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional string name = 1; + void clear_name(); + static const int kNameFieldNumber = 1; + const ::std::string& name() const; + void set_name(const ::std::string& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + ::std::string* mutable_name(); + ::std::string* release_name(); + void set_allocated_name(::std::string* name); + + // repeated .google.protobuf.Method methods = 2; + int methods_size() const; + void clear_methods(); + static const int kMethodsFieldNumber = 2; + const ::google::protobuf::Method& methods(int index) const; + ::google::protobuf::Method* mutable_methods(int index); + ::google::protobuf::Method* add_methods(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Method >* + mutable_methods(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Method >& + methods() const; + + // repeated .google.protobuf.Option options = 3; + int options_size() const; + void clear_options(); + static const int kOptionsFieldNumber = 3; + const ::google::protobuf::Option& options(int index) const; + ::google::protobuf::Option* mutable_options(int index); + ::google::protobuf::Option* add_options(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option >* + mutable_options(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option >& + options() const; + + // optional string version = 4; + void clear_version(); + static const int kVersionFieldNumber = 4; + const ::std::string& version() const; + void set_version(const ::std::string& value); + void set_version(const char* value); + void set_version(const char* value, size_t size); + ::std::string* mutable_version(); + ::std::string* release_version(); + void set_allocated_version(::std::string* version); + + // optional .google.protobuf.SourceContext source_context = 5; + bool has_source_context() const; + void clear_source_context(); + static const int kSourceContextFieldNumber = 5; + const ::google::protobuf::SourceContext& source_context() const; + ::google::protobuf::SourceContext* mutable_source_context(); + ::google::protobuf::SourceContext* release_source_context(); + void set_allocated_source_context(::google::protobuf::SourceContext* source_context); + + // repeated .google.protobuf.Mixin mixins = 6; + int mixins_size() const; + void clear_mixins(); + static const int kMixinsFieldNumber = 6; + const ::google::protobuf::Mixin& mixins(int index) const; + ::google::protobuf::Mixin* mutable_mixins(int index); + ::google::protobuf::Mixin* add_mixins(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Mixin >* + mutable_mixins(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Mixin >& + mixins() const; + + // optional .google.protobuf.Syntax syntax = 7; + void clear_syntax(); + static const int kSyntaxFieldNumber = 7; + ::google::protobuf::Syntax syntax() const; + void set_syntax(::google::protobuf::Syntax value); + + // @@protoc_insertion_point(class_scope:google.protobuf.Api) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Method > methods_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option > options_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Mixin > mixins_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr version_; + ::google::protobuf::SourceContext* source_context_; + int syntax_; + mutable int _cached_size_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fapi_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fapi_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fapi_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fapi_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed Api_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT Method : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.Method) */ { + public: + Method(); + virtual ~Method(); + + Method(const Method& from); + + inline Method& operator=(const Method& from) { + CopyFrom(from); + return *this; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const Method& default_instance(); + + static const Method* internal_default_instance(); + + void Swap(Method* other); + + // implements Message ---------------------------------------------- + + inline Method* New() const { return New(NULL); } + + Method* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const Method& from); + void MergeFrom(const Method& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(Method* other); + void UnsafeMergeFrom(const Method& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional string name = 1; + void clear_name(); + static const int kNameFieldNumber = 1; + const ::std::string& name() const; + void set_name(const ::std::string& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + ::std::string* mutable_name(); + ::std::string* release_name(); + void set_allocated_name(::std::string* name); + + // optional string request_type_url = 2; + void clear_request_type_url(); + static const int kRequestTypeUrlFieldNumber = 2; + const ::std::string& request_type_url() const; + void set_request_type_url(const ::std::string& value); + void set_request_type_url(const char* value); + void set_request_type_url(const char* value, size_t size); + ::std::string* mutable_request_type_url(); + ::std::string* release_request_type_url(); + void set_allocated_request_type_url(::std::string* request_type_url); + + // optional bool request_streaming = 3; + void clear_request_streaming(); + static const int kRequestStreamingFieldNumber = 3; + bool request_streaming() const; + void set_request_streaming(bool value); + + // optional string response_type_url = 4; + void clear_response_type_url(); + static const int kResponseTypeUrlFieldNumber = 4; + const ::std::string& response_type_url() const; + void set_response_type_url(const ::std::string& value); + void set_response_type_url(const char* value); + void set_response_type_url(const char* value, size_t size); + ::std::string* mutable_response_type_url(); + ::std::string* release_response_type_url(); + void set_allocated_response_type_url(::std::string* response_type_url); + + // optional bool response_streaming = 5; + void clear_response_streaming(); + static const int kResponseStreamingFieldNumber = 5; + bool response_streaming() const; + void set_response_streaming(bool value); + + // repeated .google.protobuf.Option options = 6; + int options_size() const; + void clear_options(); + static const int kOptionsFieldNumber = 6; + const ::google::protobuf::Option& options(int index) const; + ::google::protobuf::Option* mutable_options(int index); + ::google::protobuf::Option* add_options(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option >* + mutable_options(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option >& + options() const; + + // optional .google.protobuf.Syntax syntax = 7; + void clear_syntax(); + static const int kSyntaxFieldNumber = 7; + ::google::protobuf::Syntax syntax() const; + void set_syntax(::google::protobuf::Syntax value); + + // @@protoc_insertion_point(class_scope:google.protobuf.Method) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option > options_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr request_type_url_; + ::google::protobuf::internal::ArenaStringPtr response_type_url_; + bool request_streaming_; + bool response_streaming_; + int syntax_; + mutable int _cached_size_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fapi_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fapi_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fapi_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fapi_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed Method_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT Mixin : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.Mixin) */ { + public: + Mixin(); + virtual ~Mixin(); + + Mixin(const Mixin& from); + + inline Mixin& operator=(const Mixin& from) { + CopyFrom(from); + return *this; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const Mixin& default_instance(); + + static const Mixin* internal_default_instance(); + + void Swap(Mixin* other); + + // implements Message ---------------------------------------------- + + inline Mixin* New() const { return New(NULL); } + + Mixin* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const Mixin& from); + void MergeFrom(const Mixin& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(Mixin* other); + void UnsafeMergeFrom(const Mixin& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional string name = 1; + void clear_name(); + static const int kNameFieldNumber = 1; + const ::std::string& name() const; + void set_name(const ::std::string& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + ::std::string* mutable_name(); + ::std::string* release_name(); + void set_allocated_name(::std::string* name); + + // optional string root = 2; + void clear_root(); + static const int kRootFieldNumber = 2; + const ::std::string& root() const; + void set_root(const ::std::string& value); + void set_root(const char* value); + void set_root(const char* value, size_t size); + ::std::string* mutable_root(); + ::std::string* release_root(); + void set_allocated_root(::std::string* root); + + // @@protoc_insertion_point(class_scope:google.protobuf.Mixin) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr root_; + mutable int _cached_size_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fapi_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fapi_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fapi_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fapi_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed Mixin_default_instance_; + +// =================================================================== + + +// =================================================================== + +#if !PROTOBUF_INLINE_NOT_IN_HEADERS +// Api + +// optional string name = 1; +inline void Api::clear_name() { + name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& Api::name() const { + // @@protoc_insertion_point(field_get:google.protobuf.Api.name) + return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Api::set_name(const ::std::string& value) { + + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.Api.name) +} +inline void Api::set_name(const char* value) { + + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.Api.name) +} +inline void Api::set_name(const char* value, size_t size) { + + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.Api.name) +} +inline ::std::string* Api::mutable_name() { + + // @@protoc_insertion_point(field_mutable:google.protobuf.Api.name) + return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* Api::release_name() { + // @@protoc_insertion_point(field_release:google.protobuf.Api.name) + + return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Api::set_allocated_name(::std::string* name) { + if (name != NULL) { + + } else { + + } + name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.Api.name) +} + +// repeated .google.protobuf.Method methods = 2; +inline int Api::methods_size() const { + return methods_.size(); +} +inline void Api::clear_methods() { + methods_.Clear(); +} +inline const ::google::protobuf::Method& Api::methods(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.Api.methods) + return methods_.Get(index); +} +inline ::google::protobuf::Method* Api::mutable_methods(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.Api.methods) + return methods_.Mutable(index); +} +inline ::google::protobuf::Method* Api::add_methods() { + // @@protoc_insertion_point(field_add:google.protobuf.Api.methods) + return methods_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::Method >* +Api::mutable_methods() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.Api.methods) + return &methods_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Method >& +Api::methods() const { + // @@protoc_insertion_point(field_list:google.protobuf.Api.methods) + return methods_; +} + +// repeated .google.protobuf.Option options = 3; +inline int Api::options_size() const { + return options_.size(); +} +inline void Api::clear_options() { + options_.Clear(); +} +inline const ::google::protobuf::Option& Api::options(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.Api.options) + return options_.Get(index); +} +inline ::google::protobuf::Option* Api::mutable_options(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.Api.options) + return options_.Mutable(index); +} +inline ::google::protobuf::Option* Api::add_options() { + // @@protoc_insertion_point(field_add:google.protobuf.Api.options) + return options_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option >* +Api::mutable_options() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.Api.options) + return &options_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option >& +Api::options() const { + // @@protoc_insertion_point(field_list:google.protobuf.Api.options) + return options_; +} + +// optional string version = 4; +inline void Api::clear_version() { + version_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& Api::version() const { + // @@protoc_insertion_point(field_get:google.protobuf.Api.version) + return version_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Api::set_version(const ::std::string& value) { + + version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.Api.version) +} +inline void Api::set_version(const char* value) { + + version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.Api.version) +} +inline void Api::set_version(const char* value, size_t size) { + + version_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.Api.version) +} +inline ::std::string* Api::mutable_version() { + + // @@protoc_insertion_point(field_mutable:google.protobuf.Api.version) + return version_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* Api::release_version() { + // @@protoc_insertion_point(field_release:google.protobuf.Api.version) + + return version_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Api::set_allocated_version(::std::string* version) { + if (version != NULL) { + + } else { + + } + version_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), version); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.Api.version) +} + +// optional .google.protobuf.SourceContext source_context = 5; +inline bool Api::has_source_context() const { + return this != internal_default_instance() && source_context_ != NULL; +} +inline void Api::clear_source_context() { + if (GetArenaNoVirtual() == NULL && source_context_ != NULL) delete source_context_; + source_context_ = NULL; +} +inline const ::google::protobuf::SourceContext& Api::source_context() const { + // @@protoc_insertion_point(field_get:google.protobuf.Api.source_context) + return source_context_ != NULL ? *source_context_ + : *::google::protobuf::SourceContext::internal_default_instance(); +} +inline ::google::protobuf::SourceContext* Api::mutable_source_context() { + + if (source_context_ == NULL) { + source_context_ = new ::google::protobuf::SourceContext; + } + // @@protoc_insertion_point(field_mutable:google.protobuf.Api.source_context) + return source_context_; +} +inline ::google::protobuf::SourceContext* Api::release_source_context() { + // @@protoc_insertion_point(field_release:google.protobuf.Api.source_context) + + ::google::protobuf::SourceContext* temp = source_context_; + source_context_ = NULL; + return temp; +} +inline void Api::set_allocated_source_context(::google::protobuf::SourceContext* source_context) { + delete source_context_; + source_context_ = source_context; + if (source_context) { + + } else { + + } + // @@protoc_insertion_point(field_set_allocated:google.protobuf.Api.source_context) +} + +// repeated .google.protobuf.Mixin mixins = 6; +inline int Api::mixins_size() const { + return mixins_.size(); +} +inline void Api::clear_mixins() { + mixins_.Clear(); +} +inline const ::google::protobuf::Mixin& Api::mixins(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.Api.mixins) + return mixins_.Get(index); +} +inline ::google::protobuf::Mixin* Api::mutable_mixins(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.Api.mixins) + return mixins_.Mutable(index); +} +inline ::google::protobuf::Mixin* Api::add_mixins() { + // @@protoc_insertion_point(field_add:google.protobuf.Api.mixins) + return mixins_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::Mixin >* +Api::mutable_mixins() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.Api.mixins) + return &mixins_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Mixin >& +Api::mixins() const { + // @@protoc_insertion_point(field_list:google.protobuf.Api.mixins) + return mixins_; +} + +// optional .google.protobuf.Syntax syntax = 7; +inline void Api::clear_syntax() { + syntax_ = 0; +} +inline ::google::protobuf::Syntax Api::syntax() const { + // @@protoc_insertion_point(field_get:google.protobuf.Api.syntax) + return static_cast< ::google::protobuf::Syntax >(syntax_); +} +inline void Api::set_syntax(::google::protobuf::Syntax value) { + + syntax_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.Api.syntax) +} + +inline const Api* Api::internal_default_instance() { + return &Api_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// Method + +// optional string name = 1; +inline void Method::clear_name() { + name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& Method::name() const { + // @@protoc_insertion_point(field_get:google.protobuf.Method.name) + return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Method::set_name(const ::std::string& value) { + + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.Method.name) +} +inline void Method::set_name(const char* value) { + + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.Method.name) +} +inline void Method::set_name(const char* value, size_t size) { + + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.Method.name) +} +inline ::std::string* Method::mutable_name() { + + // @@protoc_insertion_point(field_mutable:google.protobuf.Method.name) + return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* Method::release_name() { + // @@protoc_insertion_point(field_release:google.protobuf.Method.name) + + return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Method::set_allocated_name(::std::string* name) { + if (name != NULL) { + + } else { + + } + name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.Method.name) +} + +// optional string request_type_url = 2; +inline void Method::clear_request_type_url() { + request_type_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& Method::request_type_url() const { + // @@protoc_insertion_point(field_get:google.protobuf.Method.request_type_url) + return request_type_url_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Method::set_request_type_url(const ::std::string& value) { + + request_type_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.Method.request_type_url) +} +inline void Method::set_request_type_url(const char* value) { + + request_type_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.Method.request_type_url) +} +inline void Method::set_request_type_url(const char* value, size_t size) { + + request_type_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.Method.request_type_url) +} +inline ::std::string* Method::mutable_request_type_url() { + + // @@protoc_insertion_point(field_mutable:google.protobuf.Method.request_type_url) + return request_type_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* Method::release_request_type_url() { + // @@protoc_insertion_point(field_release:google.protobuf.Method.request_type_url) + + return request_type_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Method::set_allocated_request_type_url(::std::string* request_type_url) { + if (request_type_url != NULL) { + + } else { + + } + request_type_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), request_type_url); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.Method.request_type_url) +} + +// optional bool request_streaming = 3; +inline void Method::clear_request_streaming() { + request_streaming_ = false; +} +inline bool Method::request_streaming() const { + // @@protoc_insertion_point(field_get:google.protobuf.Method.request_streaming) + return request_streaming_; +} +inline void Method::set_request_streaming(bool value) { + + request_streaming_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.Method.request_streaming) +} + +// optional string response_type_url = 4; +inline void Method::clear_response_type_url() { + response_type_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& Method::response_type_url() const { + // @@protoc_insertion_point(field_get:google.protobuf.Method.response_type_url) + return response_type_url_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Method::set_response_type_url(const ::std::string& value) { + + response_type_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.Method.response_type_url) +} +inline void Method::set_response_type_url(const char* value) { + + response_type_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.Method.response_type_url) +} +inline void Method::set_response_type_url(const char* value, size_t size) { + + response_type_url_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.Method.response_type_url) +} +inline ::std::string* Method::mutable_response_type_url() { + + // @@protoc_insertion_point(field_mutable:google.protobuf.Method.response_type_url) + return response_type_url_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* Method::release_response_type_url() { + // @@protoc_insertion_point(field_release:google.protobuf.Method.response_type_url) + + return response_type_url_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Method::set_allocated_response_type_url(::std::string* response_type_url) { + if (response_type_url != NULL) { + + } else { + + } + response_type_url_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), response_type_url); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.Method.response_type_url) +} + +// optional bool response_streaming = 5; +inline void Method::clear_response_streaming() { + response_streaming_ = false; +} +inline bool Method::response_streaming() const { + // @@protoc_insertion_point(field_get:google.protobuf.Method.response_streaming) + return response_streaming_; +} +inline void Method::set_response_streaming(bool value) { + + response_streaming_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.Method.response_streaming) +} + +// repeated .google.protobuf.Option options = 6; +inline int Method::options_size() const { + return options_.size(); +} +inline void Method::clear_options() { + options_.Clear(); +} +inline const ::google::protobuf::Option& Method::options(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.Method.options) + return options_.Get(index); +} +inline ::google::protobuf::Option* Method::mutable_options(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.Method.options) + return options_.Mutable(index); +} +inline ::google::protobuf::Option* Method::add_options() { + // @@protoc_insertion_point(field_add:google.protobuf.Method.options) + return options_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option >* +Method::mutable_options() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.Method.options) + return &options_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option >& +Method::options() const { + // @@protoc_insertion_point(field_list:google.protobuf.Method.options) + return options_; +} + +// optional .google.protobuf.Syntax syntax = 7; +inline void Method::clear_syntax() { + syntax_ = 0; +} +inline ::google::protobuf::Syntax Method::syntax() const { + // @@protoc_insertion_point(field_get:google.protobuf.Method.syntax) + return static_cast< ::google::protobuf::Syntax >(syntax_); +} +inline void Method::set_syntax(::google::protobuf::Syntax value) { + + syntax_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.Method.syntax) +} + +inline const Method* Method::internal_default_instance() { + return &Method_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// Mixin + +// optional string name = 1; +inline void Mixin::clear_name() { + name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& Mixin::name() const { + // @@protoc_insertion_point(field_get:google.protobuf.Mixin.name) + return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Mixin::set_name(const ::std::string& value) { + + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.Mixin.name) +} +inline void Mixin::set_name(const char* value) { + + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.Mixin.name) +} +inline void Mixin::set_name(const char* value, size_t size) { + + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.Mixin.name) +} +inline ::std::string* Mixin::mutable_name() { + + // @@protoc_insertion_point(field_mutable:google.protobuf.Mixin.name) + return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* Mixin::release_name() { + // @@protoc_insertion_point(field_release:google.protobuf.Mixin.name) + + return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Mixin::set_allocated_name(::std::string* name) { + if (name != NULL) { + + } else { + + } + name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.Mixin.name) +} + +// optional string root = 2; +inline void Mixin::clear_root() { + root_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& Mixin::root() const { + // @@protoc_insertion_point(field_get:google.protobuf.Mixin.root) + return root_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Mixin::set_root(const ::std::string& value) { + + root_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.Mixin.root) +} +inline void Mixin::set_root(const char* value) { + + root_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.Mixin.root) +} +inline void Mixin::set_root(const char* value, size_t size) { + + root_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.Mixin.root) +} +inline ::std::string* Mixin::mutable_root() { + + // @@protoc_insertion_point(field_mutable:google.protobuf.Mixin.root) + return root_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* Mixin::release_root() { + // @@protoc_insertion_point(field_release:google.protobuf.Mixin.root) + + return root_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void Mixin::set_allocated_root(::std::string* root) { + if (root != NULL) { + + } else { + + } + root_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), root); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.Mixin.root) +} + +inline const Mixin* Mixin::internal_default_instance() { + return &Mixin_default_instance_.get(); +} +#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) + +#endif // PROTOBUF_google_2fprotobuf_2fapi_2eproto__INCLUDED diff --git a/app/src/main/cpp/include/google/protobuf/api.proto b/app/src/main/cpp/include/google/protobuf/api.proto new file mode 100644 index 0000000..bbbe983 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/api.proto @@ -0,0 +1,201 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +import "google/protobuf/source_context.proto"; +import "google/protobuf/type.proto"; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "ApiProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + +// Api is a light-weight descriptor for a protocol buffer service. +message Api { + + // The fully qualified name of this api, including package name + // followed by the api's simple name. + string name = 1; + + // The methods of this api, in unspecified order. + repeated Method methods = 2; + + // Any metadata attached to the API. + repeated Option options = 3; + + // A version string for this api. If specified, must have the form + // `major-version.minor-version`, as in `1.10`. If the minor version + // is omitted, it defaults to zero. If the entire version field is + // empty, the major version is derived from the package name, as + // outlined below. If the field is not empty, the version in the + // package name will be verified to be consistent with what is + // provided here. + // + // The versioning schema uses [semantic + // versioning](http://semver.org) where the major version number + // indicates a breaking change and the minor version an additive, + // non-breaking change. Both version numbers are signals to users + // what to expect from different versions, and should be carefully + // chosen based on the product plan. + // + // The major version is also reflected in the package name of the + // API, which must end in `v`, as in + // `google.feature.v1`. For major versions 0 and 1, the suffix can + // be omitted. Zero major versions must only be used for + // experimental, none-GA apis. + // + // + string version = 4; + + // Source context for the protocol buffer service represented by this + // message. + SourceContext source_context = 5; + + // Included APIs. See [Mixin][]. + repeated Mixin mixins = 6; + + // The source syntax of the service. + Syntax syntax = 7; +} + +// Method represents a method of an api. +message Method { + + // The simple name of this method. + string name = 1; + + // A URL of the input message type. + string request_type_url = 2; + + // If true, the request is streamed. + bool request_streaming = 3; + + // The URL of the output message type. + string response_type_url = 4; + + // If true, the response is streamed. + bool response_streaming = 5; + + // Any metadata attached to the method. + repeated Option options = 6; + + // The source syntax of this method. + Syntax syntax = 7; +} + +// Declares an API to be included in this API. The including API must +// redeclare all the methods from the included API, but documentation +// and options are inherited as follows: +// +// - If after comment and whitespace stripping, the documentation +// string of the redeclared method is empty, it will be inherited +// from the original method. +// +// - Each annotation belonging to the service config (http, +// visibility) which is not set in the redeclared method will be +// inherited. +// +// - If an http annotation is inherited, the path pattern will be +// modified as follows. Any version prefix will be replaced by the +// version of the including API plus the [root][] path if specified. +// +// Example of a simple mixin: +// +// package google.acl.v1; +// service AccessControl { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v1/{resource=**}:getAcl"; +// } +// } +// +// package google.storage.v2; +// service Storage { +// rpc GetAcl(GetAclRequest) returns (Acl); +// +// // Get a data record. +// rpc GetData(GetDataRequest) returns (Data) { +// option (google.api.http).get = "/v2/{resource=**}"; +// } +// } +// +// Example of a mixin configuration: +// +// apis: +// - name: google.storage.v2.Storage +// mixins: +// - name: google.acl.v1.AccessControl +// +// The mixin construct implies that all methods in `AccessControl` are +// also declared with same name and request/response types in +// `Storage`. A documentation generator or annotation processor will +// see the effective `Storage.GetAcl` method after inherting +// documentation and annotations as follows: +// +// service Storage { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v2/{resource=**}:getAcl"; +// } +// ... +// } +// +// Note how the version in the path pattern changed from `v1` to `v2`. +// +// If the `root` field in the mixin is specified, it should be a +// relative path under which inherited HTTP paths are placed. Example: +// +// apis: +// - name: google.storage.v2.Storage +// mixins: +// - name: google.acl.v1.AccessControl +// root: acls +// +// This implies the following inherited HTTP annotation: +// +// service Storage { +// // Get the underlying ACL object. +// rpc GetAcl(GetAclRequest) returns (Acl) { +// option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; +// } +// ... +// } +message Mixin { + // The fully qualified name of the API which is included. + string name = 1; + + // If non-empty specifies a path under which inherited HTTP paths + // are rooted. + string root = 2; +} diff --git a/app/src/main/cpp/include/google/protobuf/arena.h b/app/src/main/cpp/include/google/protobuf/arena.h new file mode 100644 index 0000000..f05277e --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/arena.h @@ -0,0 +1,930 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file defines an Arena allocator for better allocation performance. + +#ifndef GOOGLE_PROTOBUF_ARENA_H__ +#define GOOGLE_PROTOBUF_ARENA_H__ + +#include +#ifdef max +#undef max // Visual Studio defines this macro +#endif +#if __cplusplus >= 201103L +#include +#endif +#if defined(_MSC_VER) && !_HAS_EXCEPTIONS +// Work around bugs in MSVC header when _HAS_EXCEPTIONS=0. +#include +#include +namespace std { +using type_info = ::type_info; +} +#else +#include +#endif + +#include +#include +#include +#include +#include +#include + + +namespace google { +namespace protobuf { + +class Arena; // defined below +class Message; // message.h + +namespace internal { +class ArenaString; // arenastring.h +class LazyField; // lazy_field.h + +template +class GenericTypeHandler; // repeated_field.h + +// Templated cleanup methods. +template void arena_destruct_object(void* object) { + reinterpret_cast(object)->~T(); +} +template void arena_delete_object(void* object) { + delete reinterpret_cast(object); +} +inline void arena_free(void* object, size_t size) { +#if defined(__GXX_DELETE_WITH_SIZE__) || defined(__cpp_sized_deallocation) + ::operator delete(object, size); +#else + ::operator delete(object); +#endif +} + +} // namespace internal + +// ArenaOptions provides optional additional parameters to arena construction +// that control its block-allocation behavior. +struct ArenaOptions { + // This defines the size of the first block requested from the system malloc. + // Subsequent block sizes will increase in a geometric series up to a maximum. + size_t start_block_size; + + // This defines the maximum block size requested from system malloc (unless an + // individual arena allocation request occurs with a size larger than this + // maximum). Requested block sizes increase up to this value, then remain + // here. + size_t max_block_size; + + // An initial block of memory for the arena to use, or NULL for none. If + // provided, the block must live at least as long as the arena itself. The + // creator of the Arena retains ownership of the block after the Arena is + // destroyed. + char* initial_block; + + // The size of the initial block, if provided. + size_t initial_block_size; + + // A function pointer to an alloc method that returns memory blocks of size + // requested. By default, it contains a ptr to the malloc function. + // + // NOTE: block_alloc and dealloc functions are expected to behave like + // malloc and free, including Asan poisoning. + void* (*block_alloc)(size_t); + // A function pointer to a dealloc method that takes ownership of the blocks + // from the arena. By default, it contains a ptr to a wrapper function that + // calls free. + void (*block_dealloc)(void*, size_t); + + // Hooks for adding external functionality such as user-specific metrics + // collection, specific debugging abilities, etc. + // Init hook may return a pointer to a cookie to be stored in the arena. + // reset and destruction hooks will then be called with the same cookie + // pointer. This allows us to save an external object per arena instance and + // use it on the other hooks (Note: It is just as legal for init to return + // NULL and not use the cookie feature). + // on_arena_reset and on_arena_destruction also receive the space used in + // the arena just before the reset. + void* (*on_arena_init)(Arena* arena); + void (*on_arena_reset)(Arena* arena, void* cookie, uint64 space_used); + void (*on_arena_destruction)(Arena* arena, void* cookie, uint64 space_used); + + // type_info is promised to be static - its lifetime extends to + // match program's lifetime (It is given by typeid operator). + // Note: typeid(void) will be passed as allocated_type every time we + // intentionally want to avoid monitoring an allocation. (i.e. internal + // allocations for managing the arena) + void (*on_arena_allocation)(const std::type_info* allocated_type, + uint64 alloc_size, void* cookie); + + ArenaOptions() + : start_block_size(kDefaultStartBlockSize), + max_block_size(kDefaultMaxBlockSize), + initial_block(NULL), + initial_block_size(0), + block_alloc(&::operator new), + block_dealloc(&internal::arena_free), + on_arena_init(NULL), + on_arena_reset(NULL), + on_arena_destruction(NULL), + on_arena_allocation(NULL) {} + + private: + // Constants define default starting block size and max block size for + // arena allocator behavior -- see descriptions above. + static const size_t kDefaultStartBlockSize = 256; + static const size_t kDefaultMaxBlockSize = 8192; +}; + +// Support for non-RTTI environments. (The metrics hooks API uses type +// information.) +#ifndef GOOGLE_PROTOBUF_NO_RTTI +#define RTTI_TYPE_ID(type) (&typeid(type)) +#else +#define RTTI_TYPE_ID(type) (NULL) +#endif + +// Arena allocator. Arena allocation replaces ordinary (heap-based) allocation +// with new/delete, and improves performance by aggregating allocations into +// larger blocks and freeing allocations all at once. Protocol messages are +// allocated on an arena by using Arena::CreateMessage(Arena*), below, and +// are automatically freed when the arena is destroyed. +// +// This is a thread-safe implementation: multiple threads may allocate from the +// arena concurrently. Destruction is not thread-safe and the destructing +// thread must synchronize with users of the arena first. +// +// An arena provides two allocation interfaces: CreateMessage, which works +// for arena-enabled proto2 message types as well as other types that satisfy +// the appropriate protocol (described below), and Create, which works for +// any arbitrary type T. CreateMessage is better when the type T supports it, +// because this interface (i) passes the arena pointer to the created object so +// that its sub-objects and internal allocations can use the arena too, and (ii) +// elides the object's destructor call when possible. Create does not place +// any special requirements on the type T, and will invoke the object's +// destructor when the arena is destroyed. +// +// The arena message allocation protocol, required by CreateMessage, is as +// follows: +// +// - The type T must have (at least) two constructors: a constructor with no +// arguments, called when a T is allocated on the heap; and a constructor with +// a google::protobuf::Arena* argument, called when a T is allocated on an arena. If the +// second constructor is called with a NULL arena pointer, it must be +// equivalent to invoking the first (no-argument) constructor. +// +// - The type T must have a particular type trait: a nested type +// |InternalArenaConstructable_|. This is usually a typedef to |void|. If no +// such type trait exists, then the instantiation CreateMessage will fail +// to compile. +// +// - The type T *may* have the type trait |DestructorSkippable_|. If this type +// trait is present in the type, then its destructor will not be called if and +// only if it was passed a non-NULL arena pointer. If this type trait is not +// present on the type, then its destructor is always called when the +// containing arena is destroyed. +// +// - One- and two-user-argument forms of CreateMessage() also exist that +// forward these constructor arguments to T's constructor: for example, +// CreateMessage(Arena*, arg1, arg2) forwards to a constructor T(Arena*, +// arg1, arg2). +// +// This protocol is implemented by all arena-enabled proto2 message classes as +// well as RepeatedPtrField. +// +// Do NOT subclass Arena. This class will be marked as final when C++11 is +// enabled. +class LIBPROTOBUF_EXPORT Arena { + public: + // Arena constructor taking custom options. See ArenaOptions below for + // descriptions of the options available. + explicit Arena(const ArenaOptions& options) : options_(options) { + Init(); + } + + // Default constructor with sensible default options, tuned for average + // use-cases. + Arena() { + Init(); + } + + // Destructor deletes all owned heap allocated objects, and destructs objects + // that have non-trivial destructors, except for proto2 message objects whose + // destructors can be skipped. Also, frees all blocks except the initial block + // if it was passed in. + ~Arena(); + + // API to create proto2 message objects on the arena. If the arena passed in + // is NULL, then a heap allocated object is returned. Type T must be a message + // defined in a .proto file with cc_enable_arenas set to true, otherwise a + // compilation error will occur. + // + // RepeatedField and RepeatedPtrField may also be instantiated directly on an + // arena with this method. + // + // This function also accepts any type T that satisfies the arena message + // allocation protocol, documented above. + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + static T* CreateMessage(::google::protobuf::Arena* arena) { + if (arena == NULL) { + return new T; + } else { + return arena->CreateMessageInternal(static_cast(0)); + } + } + + // One-argument form of CreateMessage. This is useful for constructing objects + // that implement the arena message construction protocol described above but + // take additional constructor arguments. + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + static T* CreateMessage(::google::protobuf::Arena* arena, const Arg& arg) { + if (arena == NULL) { + return new T(NULL, arg); + } else { + return arena->CreateMessageInternal(static_cast(0), + arg); + } + } + + // Two-argument form of CreateMessage. This is useful for constructing objects + // that implement the arena message construction protocol described above but + // take additional constructor arguments. + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + static T* CreateMessage(::google::protobuf::Arena* arena, + const Arg1& arg1, + const Arg2& arg2) { + if (arena == NULL) { + return new T(NULL, arg1, arg2); + } else { + return arena->CreateMessageInternal(static_cast(0), + arg1, arg2); + } + } + + // API to create any objects on the arena. Note that only the object will + // be created on the arena; the underlying ptrs (in case of a proto2 message) + // will be still heap allocated. Proto messages should usually be allocated + // with CreateMessage() instead. + // + // Note that even if T satisfies the arena message construction protocol + // (InternalArenaConstructable_ trait and optional DestructorSkippable_ + // trait), as described above, this function does not follow the protocol; + // instead, it treats T as a black-box type, just as if it did not have these + // traits. Specifically, T's constructor arguments will always be only those + // passed to Create() -- no additional arena pointer is implicitly added. + // Furthermore, the destructor will always be called at arena destruction time + // (unless the destructor is trivial). Hence, from T's point of view, it is as + // if the object were allocated on the heap (except that the underlying memory + // is obtained from the arena). + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + static T* Create(::google::protobuf::Arena* arena) { + if (arena == NULL) { + return new T(); + } else { + return arena->CreateInternal(google::protobuf::internal::has_trivial_destructor::value); + } + } + + // Version of the above with one constructor argument for the created object. + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + static T* Create(::google::protobuf::Arena* arena, const Arg& arg) { + if (arena == NULL) { + return new T(arg); + } else { + return arena->CreateInternal(google::protobuf::internal::has_trivial_destructor::value, + arg); + } + } + + // Version of the above with two constructor arguments for the created object. + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + static T* Create(::google::protobuf::Arena* arena, const Arg1& arg1, const Arg2& arg2) { + if (arena == NULL) { + return new T(arg1, arg2); + } else { + return arena->CreateInternal(google::protobuf::internal::has_trivial_destructor::value, + arg1, arg2); + } + } + + // Version of the above with three constructor arguments for the created + // object. + template + GOOGLE_ATTRIBUTE_ALWAYS_INLINE static T* Create(::google::protobuf::Arena* arena, + const Arg1& arg1, const Arg2& arg2, + const Arg3& arg3) { + if (arena == NULL) { + return new T(arg1, arg2, arg3); + } else { + return arena->CreateInternal(google::protobuf::internal::has_trivial_destructor::value, + arg1, arg2, arg3); + } + } + + // Version of the above with four constructor arguments for the created + // object. + template + GOOGLE_ATTRIBUTE_ALWAYS_INLINE static T* Create(::google::protobuf::Arena* arena, + const Arg1& arg1, const Arg2& arg2, + const Arg3& arg3, const Arg4& arg4) { + if (arena == NULL) { + return new T(arg1, arg2, arg3, arg4); + } else { + return arena->CreateInternal(google::protobuf::internal::has_trivial_destructor::value, + arg1, arg2, arg3, arg4); + } + } + + // Version of the above with five constructor arguments for the created + // object. + template + GOOGLE_ATTRIBUTE_ALWAYS_INLINE static T* Create(::google::protobuf::Arena* arena, + const Arg1& arg1, const Arg2& arg2, + const Arg3& arg3, const Arg4& arg4, + const Arg5& arg5) { + if (arena == NULL) { + return new T(arg1, arg2, arg3, arg4, arg5); + } else { + return arena->CreateInternal(google::protobuf::internal::has_trivial_destructor::value, + arg1, arg2, arg3, arg4, arg5); + } + } + + // Version of the above with six constructor arguments for the created + // object. + template + GOOGLE_ATTRIBUTE_ALWAYS_INLINE static T* Create(::google::protobuf::Arena* arena, + const Arg1& arg1, const Arg2& arg2, + const Arg3& arg3, const Arg4& arg4, + const Arg5& arg5, const Arg6& arg6) { + if (arena == NULL) { + return new T(arg1, arg2, arg3, arg4, arg5, arg6); + } else { + return arena->CreateInternal(google::protobuf::internal::has_trivial_destructor::value, + arg1, arg2, arg3, arg4, arg5, arg6); + } + } + + // Version of the above with seven constructor arguments for the created + // object. + template + GOOGLE_ATTRIBUTE_ALWAYS_INLINE static T* Create(::google::protobuf::Arena* arena, + const Arg1& arg1, const Arg2& arg2, + const Arg3& arg3, const Arg4& arg4, + const Arg5& arg5, const Arg6& arg6, + const Arg7& arg7) { + if (arena == NULL) { + return new T(arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } else { + return arena->CreateInternal(google::protobuf::internal::has_trivial_destructor::value, + arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + } + + // Version of the above with eight constructor arguments for the created + // object. + template + GOOGLE_ATTRIBUTE_ALWAYS_INLINE static T* Create(::google::protobuf::Arena* arena, + const Arg1& arg1, const Arg2& arg2, + const Arg3& arg3, const Arg4& arg4, + const Arg5& arg5, const Arg6& arg6, + const Arg7& arg7, const Arg8& arg8) { + if (arena == NULL) { + return new T(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + } else { + return arena->CreateInternal( + google::protobuf::internal::has_trivial_destructor::value, + arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + } + } + + // Create an array of object type T on the arena *without* invoking the + // constructor of T. If `arena` is null, then the return value should be freed + // with `delete[] x;` (or `::operator delete[](x);`). + // To ensure safe uses, this function checks at compile time + // (when compiled as C++11) that T is trivially default-constructible and + // trivially destructible. + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + static T* CreateArray(::google::protobuf::Arena* arena, size_t num_elements) { + GOOGLE_CHECK_LE(num_elements, + std::numeric_limits::max() / sizeof(T)) + << "Requested size is too large to fit into size_t."; + if (arena == NULL) { + return static_cast(::operator new[](num_elements * sizeof(T))); + } else { + return arena->CreateInternalRawArray(num_elements); + } + } + + // Returns the total space used by the arena, which is the sums of the sizes + // of the underlying blocks. The total space used may not include the new + // blocks that are allocated by this arena from other threads concurrently + // with the call to this method. + GOOGLE_ATTRIBUTE_NOINLINE uint64 SpaceAllocated() const; + // As above, but does not include any free space in underlying blocks. + GOOGLE_ATTRIBUTE_NOINLINE uint64 SpaceUsed() const; + + // Combines SpaceAllocated and SpaceUsed. Returns a pair of + // . + GOOGLE_ATTRIBUTE_NOINLINE std::pair SpaceAllocatedAndUsed() const; + + // Frees all storage allocated by this arena after calling destructors + // registered with OwnDestructor() and freeing objects registered with Own(). + // Any objects allocated on this arena are unusable after this call. It also + // returns the total space used by the arena which is the sums of the sizes + // of the allocated blocks. This method is not thread-safe. + GOOGLE_ATTRIBUTE_NOINLINE uint64 Reset(); + + // Adds |object| to a list of heap-allocated objects to be freed with |delete| + // when the arena is destroyed or reset. + template GOOGLE_ATTRIBUTE_NOINLINE + void Own(T* object) { + OwnInternal(object, google::protobuf::internal::is_convertible()); + } + + // Adds |object| to a list of objects whose destructors will be manually + // called when the arena is destroyed or reset. This differs from Own() in + // that it does not free the underlying memory with |delete|; hence, it is + // normally only used for objects that are placement-newed into + // arena-allocated memory. + template GOOGLE_ATTRIBUTE_NOINLINE + void OwnDestructor(T* object) { + if (object != NULL) { + AddListNode(object, &internal::arena_destruct_object); + } + } + + // Adds a custom member function on an object to the list of destructors that + // will be manually called when the arena is destroyed or reset. This differs + // from OwnDestructor() in that any member function may be specified, not only + // the class destructor. + GOOGLE_ATTRIBUTE_NOINLINE void OwnCustomDestructor(void* object, + void (*destruct)(void*)) { + AddListNode(object, destruct); + } + + // Retrieves the arena associated with |value| if |value| is an arena-capable + // message, or NULL otherwise. This differs from value->GetArena() in that the + // latter is a virtual call, while this method is a templated call that + // resolves at compile-time. + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + static ::google::protobuf::Arena* GetArena(const T* value) { + return GetArenaInternal(value, static_cast(0)); + } + + private: + struct InternalIsArenaConstructableHelper { + template + static char ArenaConstructable( + const typename U::InternalArenaConstructable_*); + template + static double ArenaConstructable(...); + }; + + public: + // Helper typetrait that indicates support for arenas in a type T at compile + // time. This is public only to allow construction of higher-level templated + // utilities. is_arena_constructable::value is true if the message type T + // has arena support enabled, and false otherwise. + // + // This is inside Arena because only Arena has the friend relationships + // necessary to see the underlying generated code traits. + template + struct is_arena_constructable + : public google::protobuf::internal::integral_constant< + bool, sizeof(InternalIsArenaConstructableHelper::ArenaConstructable< + const T>(static_cast(0))) == sizeof(char)> { + }; + + private: + // Blocks are variable length malloc-ed objects. The following structure + // describes the common header for all blocks. + struct Block { + void* owner; // &ThreadCache of thread that owns this block, or + // &this->owner if not yet owned by a thread. + Block* next; // Next block in arena (may have different owner) + // ((char*) &block) + pos is next available byte. It is always + // aligned at a multiple of 8 bytes. + size_t pos; + size_t size; // total size of the block. + GOOGLE_ATTRIBUTE_ALWAYS_INLINE size_t avail() const { return size - pos; } + // data follows + }; + + template friend class ::google::protobuf::internal::GenericTypeHandler; + friend class MockArena; // For unit-testing. + friend class internal::ArenaString; // For AllocateAligned. + friend class internal::LazyField; // For CreateMaybeMessage. + + struct ThreadCache { + // The ThreadCache is considered valid as long as this matches the + // lifecycle_id of the arena being used. + int64 last_lifecycle_id_seen; + Block* last_block_used_; + }; + + static const size_t kHeaderSize = sizeof(Block); + static google::protobuf::internal::SequenceNumber lifecycle_id_generator_; +#if defined(GOOGLE_PROTOBUF_NO_THREADLOCAL) + // Android ndk does not support GOOGLE_THREAD_LOCAL keyword so we use a custom thread + // local storage class we implemented. + // iOS also does not support the GOOGLE_THREAD_LOCAL keyword. + static ThreadCache& thread_cache(); +#elif defined(PROTOBUF_USE_DLLS) + // Thread local variables cannot be exposed through DLL interface but we can + // wrap them in static functions. + static ThreadCache& thread_cache(); +#else + static GOOGLE_THREAD_LOCAL ThreadCache thread_cache_; + static ThreadCache& thread_cache() { return thread_cache_; } +#endif + + // SFINAE for skipping addition to delete list for a message type when created + // with CreateMessage. This is mainly to skip proto2/proto1 message objects + // with cc_enable_arenas=true from being part of the delete list. Also, note, + // compiler will optimize out the branch in CreateInternal. + template + static inline bool SkipDeleteList(typename T::DestructorSkippable_*) { + return true; + } + + // For message objects that don't have the DestructorSkippable_ trait, we + // always add to the delete list. + template + static inline bool SkipDeleteList(...) { + return google::protobuf::internal::has_trivial_destructor::value; + } + + private: + struct InternalIsDestructorSkippableHelper { + template + static char DestructorSkippable( + const typename U::DestructorSkippable_*); + template + static double DestructorSkippable(...); + }; + + public: + // Helper typetrait that indicates whether the desctructor of type T should be + // called when arena is destroyed at compile time. This is only to allow + // construction of higher-level templated utilities. + // is_destructor_skippable::value is true if the destructor of the message + // type T should not be called when arena is destroyed or false otherwise. + // This is inside Arena because only Arena has the friend relationships + // necessary to see the underlying generated code traits. + template + struct is_destructor_skippable + : public google::protobuf::internal::integral_constant< + bool, + sizeof(InternalIsDestructorSkippableHelper::DestructorSkippable< + const T>(static_cast(0))) == sizeof(char) || + google::protobuf::internal::has_trivial_destructor::value> {}; + + private: + // CreateMessage requires that T supports arenas, but this private method + // works whether or not T supports arenas. These are not exposed to user code + // as it can cause confusing API usages, and end up having double free in + // user code. These are used only internally from LazyField and Repeated + // fields, since they are designed to work in all mode combinations. + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + static Msg* CreateMaybeMessage( + Arena* arena, typename Msg::InternalArenaConstructable_*) { + return CreateMessage(arena); + } + + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + static T* CreateMaybeMessage(Arena* arena, ...) { + return Create(arena); + } + + // Just allocate the required size for the given type assuming the + // type has a trivial constructor. + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + T* CreateInternalRawArray(size_t num_elements) { + GOOGLE_CHECK_LE(num_elements, + std::numeric_limits::max() / sizeof(T)) + << "Requested size is too large to fit into size_t."; + return static_cast( + AllocateAligned(RTTI_TYPE_ID(T), sizeof(T) * num_elements)); + } + + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + T* CreateInternal(bool skip_explicit_ownership) { + T* t = new (AllocateAligned(RTTI_TYPE_ID(T), sizeof(T))) T(); + if (!skip_explicit_ownership) { + AddListNode(t, &internal::arena_destruct_object); + } + return t; + } + + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + T* CreateInternal(bool skip_explicit_ownership, const Arg& arg) { + T* t = new (AllocateAligned(RTTI_TYPE_ID(T), sizeof(T))) T(arg); + if (!skip_explicit_ownership) { + AddListNode(t, &internal::arena_destruct_object); + } + return t; + } + + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + T* CreateInternal( + bool skip_explicit_ownership, const Arg1& arg1, const Arg2& arg2) { + T* t = new (AllocateAligned(RTTI_TYPE_ID(T), sizeof(T))) T(arg1, arg2); + if (!skip_explicit_ownership) { + AddListNode(t, &internal::arena_destruct_object); + } + return t; + } + + template + GOOGLE_ATTRIBUTE_ALWAYS_INLINE T* CreateInternal(bool skip_explicit_ownership, + const Arg1& arg1, + const Arg2& arg2, + const Arg3& arg3) { + T* t = new (AllocateAligned(RTTI_TYPE_ID(T), sizeof(T))) + T(arg1, arg2, arg3); + if (!skip_explicit_ownership) { + AddListNode(t, &internal::arena_destruct_object); + } + return t; + } + + template + GOOGLE_ATTRIBUTE_ALWAYS_INLINE T* CreateInternal(bool skip_explicit_ownership, + const Arg1& arg1, + const Arg2& arg2, + const Arg3& arg3, + const Arg4& arg4) { + T* t = new (AllocateAligned(RTTI_TYPE_ID(T), sizeof(T))) + T(arg1, arg2, arg3, arg4); + if (!skip_explicit_ownership) { + AddListNode(t, &internal::arena_destruct_object); + } + return t; + } + + template + GOOGLE_ATTRIBUTE_ALWAYS_INLINE T* CreateInternal(bool skip_explicit_ownership, + const Arg1& arg1, + const Arg2& arg2, + const Arg3& arg3, + const Arg4& arg4, + const Arg5& arg5) { + T* t = new (AllocateAligned(RTTI_TYPE_ID(T), sizeof(T))) + T(arg1, arg2, arg3, arg4, arg5); + if (!skip_explicit_ownership) { + AddListNode(t, &internal::arena_destruct_object); + } + return t; + } + + template + GOOGLE_ATTRIBUTE_ALWAYS_INLINE T* CreateInternal(bool skip_explicit_ownership, + const Arg1& arg1, + const Arg2& arg2, + const Arg3& arg3, + const Arg4& arg4, + const Arg5& arg5, + const Arg6& arg6) { + T* t = new (AllocateAligned(RTTI_TYPE_ID(T), sizeof(T))) + T(arg1, arg2, arg3, arg4, arg5, arg6); + if (!skip_explicit_ownership) { + AddListNode(t, &internal::arena_destruct_object); + } + return t; + } + + template + GOOGLE_ATTRIBUTE_ALWAYS_INLINE T* CreateInternal(bool skip_explicit_ownership, + const Arg1& arg1, + const Arg2& arg2, + const Arg3& arg3, + const Arg4& arg4, + const Arg5& arg5, + const Arg6& arg6, + const Arg7& arg7) { + T* t = new (AllocateAligned(RTTI_TYPE_ID(T), sizeof(T))) + T(arg1, arg2, arg3, arg4, arg5, arg6, arg7); + if (!skip_explicit_ownership) { + AddListNode(t, &internal::arena_destruct_object); + } + return t; + } + + template + GOOGLE_ATTRIBUTE_ALWAYS_INLINE T* CreateInternal(bool skip_explicit_ownership, + const Arg1& arg1, + const Arg2& arg2, + const Arg3& arg3, + const Arg4& arg4, + const Arg5& arg5, + const Arg6& arg6, + const Arg7& arg7, + const Arg8& arg8) { + T* t = new (AllocateAligned(RTTI_TYPE_ID(T), sizeof(T))) + T(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + if (!skip_explicit_ownership) { + AddListNode(t, &internal::arena_destruct_object); + } + return t; + } + + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + T* CreateMessageInternal(typename T::InternalArenaConstructable_*) { + return CreateInternal(SkipDeleteList(static_cast(0)), + this); + } + + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + T* CreateMessageInternal(typename T::InternalArenaConstructable_*, + const Arg& arg) { + return CreateInternal(SkipDeleteList(static_cast(0)), + this, arg); + } + + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + T* CreateMessageInternal(typename T::InternalArenaConstructable_*, + const Arg1& arg1, const Arg2& arg2) { + return CreateInternal(SkipDeleteList(static_cast(0)), + this, arg1, arg2); + } + + // CreateInArenaStorage is used to implement map field. Without it, + // google::protobuf::Map need to call generated message's protected arena constructor, + // which needs to declare google::protobuf::Map as friend of generated message. + template + static void CreateInArenaStorage(T* ptr, Arena* arena) { + CreateInArenaStorageInternal(ptr, arena, + typename is_arena_constructable::type()); + RegisterDestructorInternal(ptr, arena, + typename is_destructor_skippable::type()); + } + + template + static void CreateInArenaStorageInternal( + T* ptr, Arena* arena, google::protobuf::internal::true_type) { + new (ptr) T(arena); + } + template + static void CreateInArenaStorageInternal( + T* ptr, Arena* arena, google::protobuf::internal::false_type) { + new (ptr) T(); + } + + template + static void RegisterDestructorInternal( + T* ptr, Arena* arena, google::protobuf::internal::true_type) {} + template + static void RegisterDestructorInternal( + T* ptr, Arena* arena, google::protobuf::internal::false_type) { + arena->OwnDestructor(ptr); + } + + // These implement Own(), which registers an object for deletion (destructor + // call and operator delete()). The second parameter has type 'true_type' if T + // is a subtype of ::google::protobuf::Message and 'false_type' otherwise. Collapsing + // all template instantiations to one for generic Message reduces code size, + // using the virtual destructor instead. + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + void OwnInternal(T* object, google::protobuf::internal::true_type) { + if (object != NULL) { + AddListNode(object, &internal::arena_delete_object< ::google::protobuf::Message >); + } + } + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + void OwnInternal(T* object, google::protobuf::internal::false_type) { + if (object != NULL) { + AddListNode(object, &internal::arena_delete_object); + } + } + + // Implementation for GetArena(). Only message objects with + // InternalArenaConstructable_ tags can be associated with an arena, and such + // objects must implement a GetArenaNoVirtual() method. + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + static ::google::protobuf::Arena* GetArenaInternal( + const T* value, typename T::InternalArenaConstructable_*) { + return value->GetArenaNoVirtual(); + } + + template GOOGLE_ATTRIBUTE_ALWAYS_INLINE + static ::google::protobuf::Arena* GetArenaInternal(const T* value, ...) { + return NULL; + } + + // Allocate and also optionally call on_arena_allocation callback with the + // allocated type info when the hooks are in place in ArenaOptions and + // the cookie is not null. + void* AllocateAligned(const std::type_info* allocated, size_t n); + + // Allocate an internal allocation, avoiding optional typed monitoring. + GOOGLE_ATTRIBUTE_ALWAYS_INLINE void* AllocateAligned(size_t n) { + return AllocateAligned(NULL, n); + } + + void Init(); + + // Free all blocks and return the total space used which is the sums of sizes + // of the all the allocated blocks. + uint64 FreeBlocks(); + + // Add object pointer and cleanup function pointer to the list. + // TODO(rohananil, cfallin): We could pass in a sub-arena into this method + // to avoid polluting blocks of this arena with list nodes. This would help in + // mixed mode (where many protobufs have cc_enable_arenas=false), and is an + // alternative to a chunked linked-list, but with extra overhead of *next. + void AddListNode(void* elem, void (*cleanup)(void*)); + // Delete or Destruct all objects owned by the arena. + void CleanupList(); + uint64 ResetInternal(); + + inline void SetThreadCacheBlock(Block* block) { + thread_cache().last_block_used_ = block; + thread_cache().last_lifecycle_id_seen = lifecycle_id_; + } + + int64 lifecycle_id_; // Unique for each arena. Changes on Reset(). + + google::protobuf::internal::AtomicWord blocks_; // Head of linked list of all allocated blocks + google::protobuf::internal::AtomicWord hint_; // Fast thread-local block access + + // Node contains the ptr of the object to be cleaned up and the associated + // cleanup function ptr. + struct Node { + void* elem; // Pointer to the object to be cleaned up. + void (*cleanup)(void*); // Function pointer to the destructor or deleter. + Node* next; // Next node in the list. + }; + + google::protobuf::internal::AtomicWord cleanup_list_; // Head of a linked list of nodes containing object + // ptrs and cleanup methods. + + bool owns_first_block_; // Indicates that arena owns the first block + Mutex blocks_lock_; + + void AddBlock(Block* b); + // Access must be synchronized, either by blocks_lock_ or by being called from + // Init()/Reset(). + void AddBlockInternal(Block* b); + void* SlowAlloc(size_t n); + Block* FindBlock(void* me); + Block* NewBlock(void* me, Block* my_last_block, size_t n, + size_t start_block_size, size_t max_block_size); + static void* AllocFromBlock(Block* b, size_t n); + template + friend class Map; + + // The arena may save a cookie it receives from the external on_init hook + // and then use it when calling the on_reset and on_destruction hooks. + void* hooks_cookie_; + + ArenaOptions options_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(Arena); +}; + +// Defined above for supporting environments without RTTI. +#undef RTTI_TYPE_ID + +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_ARENA_H__ diff --git a/app/src/main/cpp/include/google/protobuf/arenastring.h b/app/src/main/cpp/include/google/protobuf/arenastring.h new file mode 100644 index 0000000..590ffce --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/arenastring.h @@ -0,0 +1,314 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_ARENASTRING_H__ +#define GOOGLE_PROTOBUF_ARENASTRING_H__ + +#include + +#include +#include +#include +#include +#include + + + +// This is the implementation of arena string fields written for the open-source +// release. The ArenaStringPtr struct below is an internal implementation class +// and *should not be used* by user code. It is used to collect string +// operations together into one place and abstract away the underlying +// string-field pointer representation, so that (for example) an alternate +// implementation that knew more about ::std::string's internals could integrate more +// closely with the arena allocator. + +namespace google { +namespace protobuf { +namespace internal { + +struct LIBPROTOBUF_EXPORT ArenaStringPtr { + inline void Set(const ::std::string* default_value, + const ::std::string& value, ::google::protobuf::Arena* arena) { + if (ptr_ == default_value) { + CreateInstance(arena, &value); + } else { + *ptr_ = value; + } + } + + // Basic accessors. + inline const ::std::string& Get(const ::std::string* /* default_value */) const { + return *ptr_; + } + + inline ::std::string* Mutable(const ::std::string* default_value, + ::google::protobuf::Arena* arena) { + if (ptr_ == default_value) { + CreateInstance(arena, default_value); + } + return ptr_; + } + + // Release returns a ::std::string* instance that is heap-allocated and is not + // Own()'d by any arena. If the field was not set, it returns NULL. The caller + // retains ownership. Clears this field back to NULL state. Used to implement + // release_() methods on generated classes. + inline ::std::string* Release(const ::std::string* default_value, + ::google::protobuf::Arena* arena) { + if (ptr_ == default_value) { + return NULL; + } + ::std::string* released = NULL; + if (arena != NULL) { + // ptr_ is owned by the arena -- we need to return a copy. + released = new ::std::string(*ptr_); + } else { + released = ptr_; + } + ptr_ = const_cast< ::std::string* >(default_value); + return released; + } + + // UnsafeArenaRelease returns a ::std::string*, but it may be arena-owned (i.e. + // have its destructor already registered) if arena != NULL. If the field was + // not set, this returns NULL. This method clears this field back to NULL + // state. Used to implement unsafe_arena_release_() methods on + // generated classes. + inline ::std::string* UnsafeArenaRelease(const ::std::string* default_value, + ::google::protobuf::Arena* /* arena */) { + if (ptr_ == default_value) { + return NULL; + } + ::std::string* released = ptr_; + ptr_ = const_cast< ::std::string* >(default_value); + return released; + } + + // Takes a string that is heap-allocated, and takes ownership. The string's + // destructor is registered with the arena. Used to implement + // set_allocated_ in generated classes. + inline void SetAllocated(const ::std::string* default_value, + ::std::string* value, ::google::protobuf::Arena* arena) { + if (arena == NULL && ptr_ != default_value) { + Destroy(default_value, arena); + } + if (value != NULL) { + ptr_ = value; + if (arena != NULL) { + arena->Own(value); + } + } else { + ptr_ = const_cast< ::std::string* >(default_value); + } + } + + // Takes a string that has lifetime equal to the arena's lifetime. The arena + // must be non-null. It is safe only to pass this method a value returned by + // UnsafeArenaRelease() on another field of a message in the same arena. Used + // to implement unsafe_arena_set_allocated_ in generated classes. + inline void UnsafeArenaSetAllocated(const ::std::string* default_value, + ::std::string* value, + ::google::protobuf::Arena* /* arena */) { + if (value != NULL) { + ptr_ = value; + } else { + ptr_ = const_cast< ::std::string* >(default_value); + } + } + + // Swaps internal pointers. Arena-safety semantics: this is guarded by the + // logic in Swap()/UnsafeArenaSwap() at the message level, so this method is + // 'unsafe' if called directly. + GOOGLE_ATTRIBUTE_ALWAYS_INLINE void Swap(ArenaStringPtr* other) { + std::swap(ptr_, other->ptr_); + } + + // Frees storage (if not on an arena) and sets field to default value. + inline void Destroy(const ::std::string* default_value, + ::google::protobuf::Arena* arena) { + if (arena == NULL && ptr_ != default_value) { + delete ptr_; + } + ptr_ = const_cast< ::std::string* >(default_value); + } + + // Clears content, but keeps allocated string if arena != NULL, to avoid the + // overhead of heap operations. After this returns, the content (as seen by + // the user) will always be the empty string. Assumes that |default_value| + // is an empty string. + inline void ClearToEmpty(const ::std::string* default_value, + ::google::protobuf::Arena* /* arena */) { + if (ptr_ == default_value) { + // Already set to default (which is empty) -- do nothing. + } else { + ptr_->clear(); + } + } + + // Clears content, but keeps allocated string if arena != NULL, to avoid the + // overhead of heap operations. After this returns, the content (as seen by + // the user) will always be equal to |default_value|. + inline void ClearToDefault(const ::std::string* default_value, + ::google::protobuf::Arena* /* arena */) { + if (ptr_ == default_value) { + // Already set to default -- do nothing. + } else { + // Have another allocated string -- rather than throwing this away and + // resetting ptr_ to the canonical default string instance, we just reuse + // this instance. + *ptr_ = *default_value; + } + } + + // Called from generated code / reflection runtime only. Resets value to point + // to a default string pointer, with the semantics that this ArenaStringPtr + // does not own the pointed-to memory. Disregards initial value of ptr_ (so + // this is the *ONLY* safe method to call after construction or when + // reinitializing after becoming the active field in a oneof union). + inline void UnsafeSetDefault(const ::std::string* default_value) { + // Casting away 'const' is safe here: accessors ensure that ptr_ is only + // returned as a const if it is equal to default_value. + ptr_ = const_cast< ::std::string* >(default_value); + } + + // The 'NoArena' variants of methods below assume arena == NULL and are + // optimized to provide very little overhead relative to a raw string pointer + // (while still being in-memory compatible with other code that assumes + // ArenaStringPtr). Note the invariant that a class instance that has only + // ever been mutated by NoArena methods must *only* be in the String state + // (i.e., tag bits are not used), *NEVER* ArenaString. This allows all + // tagged-pointer manipulations to be avoided. + inline void SetNoArena(const ::std::string* default_value, + const ::std::string& value) { + if (ptr_ == default_value) { + CreateInstanceNoArena(&value); + } else { + *ptr_ = value; + } + } + + void AssignWithDefault(const ::std::string* default_value, ArenaStringPtr value); + + inline const ::std::string& GetNoArena(const ::std::string* /* default_value */) const { + return *ptr_; + } + + inline ::std::string* MutableNoArena(const ::std::string* default_value) { + if (ptr_ == default_value) { + CreateInstanceNoArena(default_value); + } + return ptr_; + } + + inline ::std::string* ReleaseNoArena(const ::std::string* default_value) { + if (ptr_ == default_value) { + return NULL; + } else { + ::std::string* released = ptr_; + ptr_ = const_cast< ::std::string* >(default_value); + return released; + } + } + + inline void SetAllocatedNoArena(const ::std::string* default_value, + ::std::string* value) { + if (ptr_ != default_value) { + delete ptr_; + } + if (value != NULL) { + ptr_ = value; + } else { + ptr_ = const_cast< ::std::string* >(default_value); + } + } + + inline void DestroyNoArena(const ::std::string* default_value) { + if (ptr_ != default_value) { + delete ptr_; + } + ptr_ = NULL; + } + + inline void ClearToEmptyNoArena(const ::std::string* default_value) { + if (ptr_ == default_value) { + // Nothing: already equal to default (which is the empty string). + } else { + ptr_->clear(); + } + } + + inline void ClearToDefaultNoArena(const ::std::string* default_value) { + if (ptr_ == default_value) { + // Nothing: already set to default. + } else { + // Reuse existing allocated instance. + *ptr_ = *default_value; + } + } + + // Internal accessor used only at parse time to provide direct access to the + // raw pointer from the shared parse routine (in the non-arenas case). The + // parse routine does the string allocation in order to save code size in the + // generated parsing code. + inline ::std::string** UnsafeRawStringPointer() { + return &ptr_; + } + + private: + ::std::string* ptr_; + + GOOGLE_ATTRIBUTE_NOINLINE void CreateInstance(::google::protobuf::Arena* arena, + const ::std::string* initial_value) { + // Assumes ptr_ is not NULL. + if (initial_value != NULL) { + ptr_ = new ::std::string(*initial_value); + } else { + ptr_ = new ::std::string(); + } + if (arena != NULL) { + arena->Own(ptr_); + } + } + GOOGLE_ATTRIBUTE_NOINLINE void CreateInstanceNoArena(const ::std::string* initial_value) { + if (initial_value != NULL) { + ptr_ = new ::std::string(*initial_value); + } else { + ptr_ = new ::std::string(); + } + } +}; + +} // namespace internal +} // namespace protobuf + + + +} // namespace google +#endif // GOOGLE_PROTOBUF_ARENASTRING_H__ diff --git a/app/src/main/cpp/include/google/protobuf/descriptor.h b/app/src/main/cpp/include/google/protobuf/descriptor.h new file mode 100644 index 0000000..0151e1d --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/descriptor.h @@ -0,0 +1,1924 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This file contains classes which describe a type of protocol message. +// You can use a message's descriptor to learn at runtime what fields +// it contains and what the types of those fields are. The Message +// interface also allows you to dynamically access and modify individual +// fields by passing the FieldDescriptor of the field you are interested +// in. +// +// Most users will not care about descriptors, because they will write +// code specific to certain protocol types and will simply use the classes +// generated by the protocol compiler directly. Advanced users who want +// to operate on arbitrary types (not known at compile time) may want to +// read descriptors in order to learn about the contents of a message. +// A very small number of users will want to construct their own +// Descriptors, either because they are implementing Message manually or +// because they are writing something like the protocol compiler. +// +// For an example of how you might use descriptors, see the code example +// at the top of message.h. + +#ifndef GOOGLE_PROTOBUF_DESCRIPTOR_H__ +#define GOOGLE_PROTOBUF_DESCRIPTOR_H__ + +#include +#ifndef _SHARED_PTR_H +#include +#endif +#include +#include +#include +#include + +// TYPE_BOOL is defined in the MacOS's ConditionalMacros.h. +#ifdef TYPE_BOOL +#undef TYPE_BOOL +#endif // TYPE_BOOL + +namespace google { +namespace protobuf { + +// Defined in this file. +class Descriptor; +class FieldDescriptor; +class OneofDescriptor; +class EnumDescriptor; +class EnumValueDescriptor; +class ServiceDescriptor; +class MethodDescriptor; +class FileDescriptor; +class DescriptorDatabase; +class DescriptorPool; + +// Defined in descriptor.proto +class DescriptorProto; +class FieldDescriptorProto; +class OneofDescriptorProto; +class EnumDescriptorProto; +class EnumValueDescriptorProto; +class ServiceDescriptorProto; +class MethodDescriptorProto; +class FileDescriptorProto; +class MessageOptions; +class FieldOptions; +class OneofOptions; +class EnumOptions; +class EnumValueOptions; +class ServiceOptions; +class MethodOptions; +class FileOptions; +class UninterpretedOption; +class SourceCodeInfo; + +// Defined in message.h +class Message; + +// Defined in descriptor.cc +class DescriptorBuilder; +class FileDescriptorTables; + +// Defined in unknown_field_set.h. +class UnknownField; + +// Defined in generated_message_reflection.h. +namespace internal { +class GeneratedMessageReflection; +} // namespace internal + +// Defined in command_line_interface.cc +namespace compiler { +class CommandLineInterface; +} // namespace compiler + +namespace descriptor_unittest { +class DescriptorTest; +} // namespace descriptor_unittest + +// Defined in printer.h +namespace io { +class Printer; +} // namespace io + +// NB, all indices are zero-based. +struct SourceLocation { + int start_line; + int end_line; + int start_column; + int end_column; + + // Doc comments found at the source location. + // See the comments in SourceCodeInfo.Location (descriptor.proto) for details. + string leading_comments; + string trailing_comments; + std::vector leading_detached_comments; +}; + +// Options when generating machine-parsable output from a descriptor with +// DebugString(). +struct DebugStringOptions { + // include original user comments as recorded in SourceLocation entries. N.B. + // that this must be |false| by default: several other pieces of code (for + // example, the C++ code generation for fields in the proto compiler) rely on + // DebugString() output being unobstructed by user comments. + bool include_comments; + // If true, elide the braced body in the debug string. + bool elide_group_body; + bool elide_oneof_body; + + DebugStringOptions() + : include_comments(false), + elide_group_body(false), + elide_oneof_body(false) {} +}; + +// Describes a type of protocol message, or a particular group within a +// message. To obtain the Descriptor for a given message object, call +// Message::GetDescriptor(). Generated message classes also have a +// static method called descriptor() which returns the type's descriptor. +// Use DescriptorPool to construct your own descriptors. +class LIBPROTOBUF_EXPORT Descriptor { + public: + // The name of the message type, not including its scope. + const string& name() const; + + // The fully-qualified name of the message type, scope delimited by + // periods. For example, message type "Foo" which is declared in package + // "bar" has full name "bar.Foo". If a type "Baz" is nested within + // Foo, Baz's full_name is "bar.Foo.Baz". To get only the part that + // comes after the last '.', use name(). + const string& full_name() const; + + // Index of this descriptor within the file or containing type's message + // type array. + int index() const; + + // The .proto file in which this message type was defined. Never NULL. + const FileDescriptor* file() const; + + // If this Descriptor describes a nested type, this returns the type + // in which it is nested. Otherwise, returns NULL. + const Descriptor* containing_type() const; + + // Get options for this message type. These are specified in the .proto file + // by placing lines like "option foo = 1234;" in the message definition. + // Allowed options are defined by MessageOptions in + // google/protobuf/descriptor.proto, and any available extensions of that + // message. + const MessageOptions& options() const; + + // Write the contents of this Descriptor into the given DescriptorProto. + // The target DescriptorProto must be clear before calling this; if it + // isn't, the result may be garbage. + void CopyTo(DescriptorProto* proto) const; + + // Write the contents of this decriptor in a human-readable form. Output + // will be suitable for re-parsing. + string DebugString() const; + + // Similar to DebugString(), but additionally takes options (e.g., + // include original user comments in output). + string DebugStringWithOptions(const DebugStringOptions& options) const; + + // Returns true if this is a placeholder for an unknown type. This will + // only be the case if this descriptor comes from a DescriptorPool + // with AllowUnknownDependencies() set. + bool is_placeholder() const; + + // Field stuff ----------------------------------------------------- + + // The number of fields in this message type. + int field_count() const; + // Gets a field by index, where 0 <= index < field_count(). + // These are returned in the order they were defined in the .proto file. + const FieldDescriptor* field(int index) const; + + // Looks up a field by declared tag number. Returns NULL if no such field + // exists. + const FieldDescriptor* FindFieldByNumber(int number) const; + // Looks up a field by name. Returns NULL if no such field exists. + const FieldDescriptor* FindFieldByName(const string& name) const; + + // Looks up a field by lowercased name (as returned by lowercase_name()). + // This lookup may be ambiguous if multiple field names differ only by case, + // in which case the field returned is chosen arbitrarily from the matches. + const FieldDescriptor* FindFieldByLowercaseName( + const string& lowercase_name) const; + + // Looks up a field by camel-case name (as returned by camelcase_name()). + // This lookup may be ambiguous if multiple field names differ in a way that + // leads them to have identical camel-case names, in which case the field + // returned is chosen arbitrarily from the matches. + const FieldDescriptor* FindFieldByCamelcaseName( + const string& camelcase_name) const; + + // The number of oneofs in this message type. + int oneof_decl_count() const; + // Get a oneof by index, where 0 <= index < oneof_decl_count(). + // These are returned in the order they were defined in the .proto file. + const OneofDescriptor* oneof_decl(int index) const; + + // Looks up a oneof by name. Returns NULL if no such oneof exists. + const OneofDescriptor* FindOneofByName(const string& name) const; + + // Nested type stuff ----------------------------------------------- + + // The number of nested types in this message type. + int nested_type_count() const; + // Gets a nested type by index, where 0 <= index < nested_type_count(). + // These are returned in the order they were defined in the .proto file. + const Descriptor* nested_type(int index) const; + + // Looks up a nested type by name. Returns NULL if no such nested type + // exists. + const Descriptor* FindNestedTypeByName(const string& name) const; + + // Enum stuff ------------------------------------------------------ + + // The number of enum types in this message type. + int enum_type_count() const; + // Gets an enum type by index, where 0 <= index < enum_type_count(). + // These are returned in the order they were defined in the .proto file. + const EnumDescriptor* enum_type(int index) const; + + // Looks up an enum type by name. Returns NULL if no such enum type exists. + const EnumDescriptor* FindEnumTypeByName(const string& name) const; + + // Looks up an enum value by name, among all enum types in this message. + // Returns NULL if no such value exists. + const EnumValueDescriptor* FindEnumValueByName(const string& name) const; + + // Extensions ------------------------------------------------------ + + // A range of field numbers which are designated for third-party + // extensions. + struct ExtensionRange { + int start; // inclusive + int end; // exclusive + }; + + // The number of extension ranges in this message type. + int extension_range_count() const; + // Gets an extension range by index, where 0 <= index < + // extension_range_count(). These are returned in the order they were defined + // in the .proto file. + const ExtensionRange* extension_range(int index) const; + + // Returns true if the number is in one of the extension ranges. + bool IsExtensionNumber(int number) const; + + // Returns NULL if no extension range contains the given number. + const ExtensionRange* FindExtensionRangeContainingNumber(int number) const; + + // The number of extensions -- extending *other* messages -- that were + // defined nested within this message type's scope. + int extension_count() const; + // Get an extension by index, where 0 <= index < extension_count(). + // These are returned in the order they were defined in the .proto file. + const FieldDescriptor* extension(int index) const; + + // Looks up a named extension (which extends some *other* message type) + // defined within this message type's scope. + const FieldDescriptor* FindExtensionByName(const string& name) const; + + // Similar to FindFieldByLowercaseName(), but finds extensions defined within + // this message type's scope. + const FieldDescriptor* FindExtensionByLowercaseName(const string& name) const; + + // Similar to FindFieldByCamelcaseName(), but finds extensions defined within + // this message type's scope. + const FieldDescriptor* FindExtensionByCamelcaseName(const string& name) const; + + // Reserved fields ------------------------------------------------- + + // A range of reserved field numbers. + struct ReservedRange { + int start; // inclusive + int end; // exclusive + }; + + // The number of reserved ranges in this message type. + int reserved_range_count() const; + // Gets an reserved range by index, where 0 <= index < + // reserved_range_count(). These are returned in the order they were defined + // in the .proto file. + const ReservedRange* reserved_range(int index) const; + + // Returns true if the number is in one of the reserved ranges. + bool IsReservedNumber(int number) const; + + // Returns NULL if no reserved range contains the given number. + const ReservedRange* FindReservedRangeContainingNumber(int number) const; + + // The number of reserved field names in this message type. + int reserved_name_count() const; + + // Gets a reserved name by index, where 0 <= index < reserved_name_count(). + const string& reserved_name(int index) const; + + // Returns true if the field name is reserved. + bool IsReservedName(const string& name) const; + + // Source Location --------------------------------------------------- + + // Updates |*out_location| to the source location of the complete + // extent of this message declaration. Returns false and leaves + // |*out_location| unchanged iff location information was not available. + bool GetSourceLocation(SourceLocation* out_location) const; + + private: + typedef MessageOptions OptionsType; + + // Allows tests to test CopyTo(proto, true). + friend class ::google::protobuf::descriptor_unittest::DescriptorTest; + + // Allows access to GetLocationPath for annotations. + friend class ::google::protobuf::io::Printer; + + // Fill the json_name field of FieldDescriptorProto. + void CopyJsonNameTo(DescriptorProto* proto) const; + + // Internal version of DebugString; controls the level of indenting for + // correct depth. Takes |options| to control debug-string options, and + // |include_opening_clause| to indicate whether the "message ... " part of the + // clause has already been generated (this varies depending on context). + void DebugString(int depth, string *contents, + const DebugStringOptions& options, + bool include_opening_clause) const; + + // Walks up the descriptor tree to generate the source location path + // to this descriptor from the file root. + void GetLocationPath(std::vector* output) const; + + const string* name_; + const string* full_name_; + const FileDescriptor* file_; + const Descriptor* containing_type_; + const MessageOptions* options_; + + // True if this is a placeholder for an unknown type. + bool is_placeholder_; + // True if this is a placeholder and the type name wasn't fully-qualified. + bool is_unqualified_placeholder_; + + int field_count_; + FieldDescriptor* fields_; + int oneof_decl_count_; + OneofDescriptor* oneof_decls_; + int nested_type_count_; + Descriptor* nested_types_; + int enum_type_count_; + EnumDescriptor* enum_types_; + int extension_range_count_; + ExtensionRange* extension_ranges_; + int extension_count_; + FieldDescriptor* extensions_; + int reserved_range_count_; + ReservedRange* reserved_ranges_; + int reserved_name_count_; + const string** reserved_names_; + // IMPORTANT: If you add a new field, make sure to search for all instances + // of Allocate() and AllocateArray() in descriptor.cc + // and update them to initialize the field. + + // Must be constructed using DescriptorPool. + Descriptor() {} + friend class DescriptorBuilder; + friend class EnumDescriptor; + friend class FieldDescriptor; + friend class OneofDescriptor; + friend class MethodDescriptor; + friend class FileDescriptor; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(Descriptor); +}; + +// Describes a single field of a message. To get the descriptor for a given +// field, first get the Descriptor for the message in which it is defined, +// then call Descriptor::FindFieldByName(). To get a FieldDescriptor for +// an extension, do one of the following: +// - Get the Descriptor or FileDescriptor for its containing scope, then +// call Descriptor::FindExtensionByName() or +// FileDescriptor::FindExtensionByName(). +// - Given a DescriptorPool, call DescriptorPool::FindExtensionByNumber(). +// - Given a Reflection for a message object, call +// Reflection::FindKnownExtensionByName() or +// Reflection::FindKnownExtensionByNumber(). +// Use DescriptorPool to construct your own descriptors. +class LIBPROTOBUF_EXPORT FieldDescriptor { + public: + // Identifies a field type. 0 is reserved for errors. The order is weird + // for historical reasons. Types 12 and up are new in proto2. + enum Type { + TYPE_DOUBLE = 1, // double, exactly eight bytes on the wire. + TYPE_FLOAT = 2, // float, exactly four bytes on the wire. + TYPE_INT64 = 3, // int64, varint on the wire. Negative numbers + // take 10 bytes. Use TYPE_SINT64 if negative + // values are likely. + TYPE_UINT64 = 4, // uint64, varint on the wire. + TYPE_INT32 = 5, // int32, varint on the wire. Negative numbers + // take 10 bytes. Use TYPE_SINT32 if negative + // values are likely. + TYPE_FIXED64 = 6, // uint64, exactly eight bytes on the wire. + TYPE_FIXED32 = 7, // uint32, exactly four bytes on the wire. + TYPE_BOOL = 8, // bool, varint on the wire. + TYPE_STRING = 9, // UTF-8 text. + TYPE_GROUP = 10, // Tag-delimited message. Deprecated. + TYPE_MESSAGE = 11, // Length-delimited message. + + TYPE_BYTES = 12, // Arbitrary byte array. + TYPE_UINT32 = 13, // uint32, varint on the wire + TYPE_ENUM = 14, // Enum, varint on the wire + TYPE_SFIXED32 = 15, // int32, exactly four bytes on the wire + TYPE_SFIXED64 = 16, // int64, exactly eight bytes on the wire + TYPE_SINT32 = 17, // int32, ZigZag-encoded varint on the wire + TYPE_SINT64 = 18, // int64, ZigZag-encoded varint on the wire + + MAX_TYPE = 18, // Constant useful for defining lookup tables + // indexed by Type. + }; + + // Specifies the C++ data type used to represent the field. There is a + // fixed mapping from Type to CppType where each Type maps to exactly one + // CppType. 0 is reserved for errors. + enum CppType { + CPPTYPE_INT32 = 1, // TYPE_INT32, TYPE_SINT32, TYPE_SFIXED32 + CPPTYPE_INT64 = 2, // TYPE_INT64, TYPE_SINT64, TYPE_SFIXED64 + CPPTYPE_UINT32 = 3, // TYPE_UINT32, TYPE_FIXED32 + CPPTYPE_UINT64 = 4, // TYPE_UINT64, TYPE_FIXED64 + CPPTYPE_DOUBLE = 5, // TYPE_DOUBLE + CPPTYPE_FLOAT = 6, // TYPE_FLOAT + CPPTYPE_BOOL = 7, // TYPE_BOOL + CPPTYPE_ENUM = 8, // TYPE_ENUM + CPPTYPE_STRING = 9, // TYPE_STRING, TYPE_BYTES + CPPTYPE_MESSAGE = 10, // TYPE_MESSAGE, TYPE_GROUP + + MAX_CPPTYPE = 10, // Constant useful for defining lookup tables + // indexed by CppType. + }; + + // Identifies whether the field is optional, required, or repeated. 0 is + // reserved for errors. + enum Label { + LABEL_OPTIONAL = 1, // optional + LABEL_REQUIRED = 2, // required + LABEL_REPEATED = 3, // repeated + + MAX_LABEL = 3, // Constant useful for defining lookup tables + // indexed by Label. + }; + + // Valid field numbers are positive integers up to kMaxNumber. + static const int kMaxNumber = (1 << 29) - 1; + + // First field number reserved for the protocol buffer library implementation. + // Users may not declare fields that use reserved numbers. + static const int kFirstReservedNumber = 19000; + // Last field number reserved for the protocol buffer library implementation. + // Users may not declare fields that use reserved numbers. + static const int kLastReservedNumber = 19999; + + const string& name() const; // Name of this field within the message. + const string& full_name() const; // Fully-qualified name of the field. + const string& json_name() const; // JSON name of this field. + const FileDescriptor* file() const;// File in which this field was defined. + bool is_extension() const; // Is this an extension field? + int number() const; // Declared tag number. + + // Same as name() except converted to lower-case. This (and especially the + // FindFieldByLowercaseName() method) can be useful when parsing formats + // which prefer to use lowercase naming style. (Although, technically + // field names should be lowercased anyway according to the protobuf style + // guide, so this only makes a difference when dealing with old .proto files + // which do not follow the guide.) + const string& lowercase_name() const; + + // Same as name() except converted to camel-case. In this conversion, any + // time an underscore appears in the name, it is removed and the next + // letter is capitalized. Furthermore, the first letter of the name is + // lower-cased. Examples: + // FooBar -> fooBar + // foo_bar -> fooBar + // fooBar -> fooBar + // This (and especially the FindFieldByCamelcaseName() method) can be useful + // when parsing formats which prefer to use camel-case naming style. + const string& camelcase_name() const; + + Type type() const; // Declared type of this field. + const char* type_name() const; // Name of the declared type. + CppType cpp_type() const; // C++ type of this field. + const char* cpp_type_name() const; // Name of the C++ type. + Label label() const; // optional/required/repeated + + bool is_required() const; // shorthand for label() == LABEL_REQUIRED + bool is_optional() const; // shorthand for label() == LABEL_OPTIONAL + bool is_repeated() const; // shorthand for label() == LABEL_REPEATED + bool is_packable() const; // shorthand for is_repeated() && + // IsTypePackable(type()) + bool is_packed() const; // shorthand for is_packable() && + // options().packed() + bool is_map() const; // shorthand for type() == TYPE_MESSAGE && + // message_type()->options().map_entry() + + // Index of this field within the message's field array, or the file or + // extension scope's extensions array. + int index() const; + + // Does this field have an explicitly-declared default value? + bool has_default_value() const; + + // Whether the user has specified the json_name field option in the .proto + // file. + bool has_json_name() const; + + // Get the field default value if cpp_type() == CPPTYPE_INT32. If no + // explicit default was defined, the default is 0. + int32 default_value_int32() const; + // Get the field default value if cpp_type() == CPPTYPE_INT64. If no + // explicit default was defined, the default is 0. + int64 default_value_int64() const; + // Get the field default value if cpp_type() == CPPTYPE_UINT32. If no + // explicit default was defined, the default is 0. + uint32 default_value_uint32() const; + // Get the field default value if cpp_type() == CPPTYPE_UINT64. If no + // explicit default was defined, the default is 0. + uint64 default_value_uint64() const; + // Get the field default value if cpp_type() == CPPTYPE_FLOAT. If no + // explicit default was defined, the default is 0.0. + float default_value_float() const; + // Get the field default value if cpp_type() == CPPTYPE_DOUBLE. If no + // explicit default was defined, the default is 0.0. + double default_value_double() const; + // Get the field default value if cpp_type() == CPPTYPE_BOOL. If no + // explicit default was defined, the default is false. + bool default_value_bool() const; + // Get the field default value if cpp_type() == CPPTYPE_ENUM. If no + // explicit default was defined, the default is the first value defined + // in the enum type (all enum types are required to have at least one value). + // This never returns NULL. + const EnumValueDescriptor* default_value_enum() const; + // Get the field default value if cpp_type() == CPPTYPE_STRING. If no + // explicit default was defined, the default is the empty string. + const string& default_value_string() const; + + // The Descriptor for the message of which this is a field. For extensions, + // this is the extended type. Never NULL. + const Descriptor* containing_type() const; + + // If the field is a member of a oneof, this is the one, otherwise this is + // NULL. + const OneofDescriptor* containing_oneof() const; + + // If the field is a member of a oneof, returns the index in that oneof. + int index_in_oneof() const; + + // An extension may be declared within the scope of another message. If this + // field is an extension (is_extension() is true), then extension_scope() + // returns that message, or NULL if the extension was declared at global + // scope. If this is not an extension, extension_scope() is undefined (may + // assert-fail). + const Descriptor* extension_scope() const; + + // If type is TYPE_MESSAGE or TYPE_GROUP, returns a descriptor for the + // message or the group type. Otherwise, returns null. + const Descriptor* message_type() const; + // If type is TYPE_ENUM, returns a descriptor for the enum. Otherwise, + // returns null. + const EnumDescriptor* enum_type() const; + + // Get the FieldOptions for this field. This includes things listed in + // square brackets after the field definition. E.g., the field: + // optional string text = 1 [ctype=CORD]; + // has the "ctype" option set. Allowed options are defined by FieldOptions + // in google/protobuf/descriptor.proto, and any available extensions of that + // message. + const FieldOptions& options() const; + + // See Descriptor::CopyTo(). + void CopyTo(FieldDescriptorProto* proto) const; + + // See Descriptor::DebugString(). + string DebugString() const; + + // See Descriptor::DebugStringWithOptions(). + string DebugStringWithOptions(const DebugStringOptions& options) const; + + // Helper method to get the CppType for a particular Type. + static CppType TypeToCppType(Type type); + + // Helper method to get the name of a Type. + static const char* TypeName(Type type); + + // Helper method to get the name of a CppType. + static const char* CppTypeName(CppType cpp_type); + + // Return true iff [packed = true] is valid for fields of this type. + static inline bool IsTypePackable(Type field_type); + + // Source Location --------------------------------------------------- + + // Updates |*out_location| to the source location of the complete + // extent of this field declaration. Returns false and leaves + // |*out_location| unchanged iff location information was not available. + bool GetSourceLocation(SourceLocation* out_location) const; + + private: + typedef FieldOptions OptionsType; + + // Allows access to GetLocationPath for annotations. + friend class ::google::protobuf::io::Printer; + + // Fill the json_name field of FieldDescriptorProto. + void CopyJsonNameTo(FieldDescriptorProto* proto) const; + + // See Descriptor::DebugString(). + enum PrintLabelFlag { PRINT_LABEL, OMIT_LABEL }; + void DebugString(int depth, PrintLabelFlag print_label_flag, + string* contents, const DebugStringOptions& options) const; + + // formats the default value appropriately and returns it as a string. + // Must have a default value to call this. If quote_string_type is true, then + // types of CPPTYPE_STRING whill be surrounded by quotes and CEscaped. + string DefaultValueAsString(bool quote_string_type) const; + + // Helper function that returns the field type name for DebugString. + string FieldTypeNameDebugString() const; + + // Walks up the descriptor tree to generate the source location path + // to this descriptor from the file root. + void GetLocationPath(std::vector* output) const; + + const string* name_; + const string* full_name_; + const string* lowercase_name_; + const string* camelcase_name_; + // Whether the user has specified the json_name field option in the .proto + // file. + bool has_json_name_; + // If has_json_name_ is true, it's the value specified by the user. + // Otherwise, it has the same value as camelcase_name_. + const string* json_name_; + const FileDescriptor* file_; + int number_; + Type type_; + Label label_; + bool is_extension_; + int index_in_oneof_; + const Descriptor* containing_type_; + const OneofDescriptor* containing_oneof_; + const Descriptor* extension_scope_; + const Descriptor* message_type_; + const EnumDescriptor* enum_type_; + const FieldOptions* options_; + // IMPORTANT: If you add a new field, make sure to search for all instances + // of Allocate() and AllocateArray() in + // descriptor.cc and update them to initialize the field. + + bool has_default_value_; + union { + int32 default_value_int32_; + int64 default_value_int64_; + uint32 default_value_uint32_; + uint64 default_value_uint64_; + float default_value_float_; + double default_value_double_; + bool default_value_bool_; + + const EnumValueDescriptor* default_value_enum_; + const string* default_value_string_; + }; + + static const CppType kTypeToCppTypeMap[MAX_TYPE + 1]; + + static const char * const kTypeToName[MAX_TYPE + 1]; + + static const char * const kCppTypeToName[MAX_CPPTYPE + 1]; + + static const char * const kLabelToName[MAX_LABEL + 1]; + + // Must be constructed using DescriptorPool. + FieldDescriptor() {} + friend class DescriptorBuilder; + friend class FileDescriptor; + friend class Descriptor; + friend class OneofDescriptor; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldDescriptor); +}; + +// Describes a oneof defined in a message type. +class LIBPROTOBUF_EXPORT OneofDescriptor { + public: + const string& name() const; // Name of this oneof. + const string& full_name() const; // Fully-qualified name of the oneof. + + // Index of this oneof within the message's oneof array. + int index() const; + + // The Descriptor for the message containing this oneof. + const Descriptor* containing_type() const; + + // The number of (non-extension) fields which are members of this oneof. + int field_count() const; + // Get a member of this oneof, in the order in which they were declared in the + // .proto file. Does not include extensions. + const FieldDescriptor* field(int index) const; + + const OneofOptions& options() const; + + // See Descriptor::CopyTo(). + void CopyTo(OneofDescriptorProto* proto) const; + + // See Descriptor::DebugString(). + string DebugString() const; + + // See Descriptor::DebugStringWithOptions(). + string DebugStringWithOptions(const DebugStringOptions& options) const; + + // Source Location --------------------------------------------------- + + // Updates |*out_location| to the source location of the complete + // extent of this oneof declaration. Returns false and leaves + // |*out_location| unchanged iff location information was not available. + bool GetSourceLocation(SourceLocation* out_location) const; + + private: + typedef OneofOptions OptionsType; + + // Allows access to GetLocationPath for annotations. + friend class ::google::protobuf::io::Printer; + + // See Descriptor::DebugString(). + void DebugString(int depth, string* contents, + const DebugStringOptions& options) const; + + // Walks up the descriptor tree to generate the source location path + // to this descriptor from the file root. + void GetLocationPath(std::vector* output) const; + + const string* name_; + const string* full_name_; + const Descriptor* containing_type_; + bool is_extendable_; + int field_count_; + const FieldDescriptor** fields_; + const OneofOptions* options_; + + // IMPORTANT: If you add a new field, make sure to search for all instances + // of Allocate() and AllocateArray() + // in descriptor.cc and update them to initialize the field. + + // Must be constructed using DescriptorPool. + OneofDescriptor() {} + friend class DescriptorBuilder; + friend class Descriptor; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(OneofDescriptor); +}; + +// Describes an enum type defined in a .proto file. To get the EnumDescriptor +// for a generated enum type, call TypeName_descriptor(). Use DescriptorPool +// to construct your own descriptors. +class LIBPROTOBUF_EXPORT EnumDescriptor { + public: + // The name of this enum type in the containing scope. + const string& name() const; + + // The fully-qualified name of the enum type, scope delimited by periods. + const string& full_name() const; + + // Index of this enum within the file or containing message's enum array. + int index() const; + + // The .proto file in which this enum type was defined. Never NULL. + const FileDescriptor* file() const; + + // The number of values for this EnumDescriptor. Guaranteed to be greater + // than zero. + int value_count() const; + // Gets a value by index, where 0 <= index < value_count(). + // These are returned in the order they were defined in the .proto file. + const EnumValueDescriptor* value(int index) const; + + // Looks up a value by name. Returns NULL if no such value exists. + const EnumValueDescriptor* FindValueByName(const string& name) const; + // Looks up a value by number. Returns NULL if no such value exists. If + // multiple values have this number, the first one defined is returned. + const EnumValueDescriptor* FindValueByNumber(int number) const; + + // If this enum type is nested in a message type, this is that message type. + // Otherwise, NULL. + const Descriptor* containing_type() const; + + // Get options for this enum type. These are specified in the .proto file by + // placing lines like "option foo = 1234;" in the enum definition. Allowed + // options are defined by EnumOptions in google/protobuf/descriptor.proto, + // and any available extensions of that message. + const EnumOptions& options() const; + + // See Descriptor::CopyTo(). + void CopyTo(EnumDescriptorProto* proto) const; + + // See Descriptor::DebugString(). + string DebugString() const; + + // See Descriptor::DebugStringWithOptions(). + string DebugStringWithOptions(const DebugStringOptions& options) const; + + + // Returns true if this is a placeholder for an unknown enum. This will + // only be the case if this descriptor comes from a DescriptorPool + // with AllowUnknownDependencies() set. + bool is_placeholder() const; + + // Source Location --------------------------------------------------- + + // Updates |*out_location| to the source location of the complete + // extent of this enum declaration. Returns false and leaves + // |*out_location| unchanged iff location information was not available. + bool GetSourceLocation(SourceLocation* out_location) const; + + private: + typedef EnumOptions OptionsType; + + // Allows access to GetLocationPath for annotations. + friend class ::google::protobuf::io::Printer; + + // Looks up a value by number. If the value does not exist, dynamically + // creates a new EnumValueDescriptor for that value, assuming that it was + // unknown. If a new descriptor is created, this is done in a thread-safe way, + // and future calls will return the same value descriptor pointer. + // + // This is private but is used by GeneratedMessageReflection (which is + // friended below) to return a valid EnumValueDescriptor from GetEnum() when + // this feature is enabled. + const EnumValueDescriptor* + FindValueByNumberCreatingIfUnknown(int number) const; + + + // See Descriptor::DebugString(). + void DebugString(int depth, string *contents, + const DebugStringOptions& options) const; + + // Walks up the descriptor tree to generate the source location path + // to this descriptor from the file root. + void GetLocationPath(std::vector* output) const; + + const string* name_; + const string* full_name_; + const FileDescriptor* file_; + const Descriptor* containing_type_; + const EnumOptions* options_; + + // True if this is a placeholder for an unknown type. + bool is_placeholder_; + // True if this is a placeholder and the type name wasn't fully-qualified. + bool is_unqualified_placeholder_; + + int value_count_; + EnumValueDescriptor* values_; + // IMPORTANT: If you add a new field, make sure to search for all instances + // of Allocate() and AllocateArray() in + // descriptor.cc and update them to initialize the field. + + // Must be constructed using DescriptorPool. + EnumDescriptor() {} + friend class DescriptorBuilder; + friend class Descriptor; + friend class FieldDescriptor; + friend class EnumValueDescriptor; + friend class FileDescriptor; + friend class internal::GeneratedMessageReflection; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumDescriptor); +}; + +// Describes an individual enum constant of a particular type. To get the +// EnumValueDescriptor for a given enum value, first get the EnumDescriptor +// for its type, then use EnumDescriptor::FindValueByName() or +// EnumDescriptor::FindValueByNumber(). Use DescriptorPool to construct +// your own descriptors. +class LIBPROTOBUF_EXPORT EnumValueDescriptor { + public: + const string& name() const; // Name of this enum constant. + int index() const; // Index within the enums's Descriptor. + int number() const; // Numeric value of this enum constant. + + // The full_name of an enum value is a sibling symbol of the enum type. + // e.g. the full name of FieldDescriptorProto::TYPE_INT32 is actually + // "google.protobuf.FieldDescriptorProto.TYPE_INT32", NOT + // "google.protobuf.FieldDescriptorProto.Type.TYPE_INT32". This is to conform + // with C++ scoping rules for enums. + const string& full_name() const; + + // The type of this value. Never NULL. + const EnumDescriptor* type() const; + + // Get options for this enum value. These are specified in the .proto file + // by adding text like "[foo = 1234]" after an enum value definition. + // Allowed options are defined by EnumValueOptions in + // google/protobuf/descriptor.proto, and any available extensions of that + // message. + const EnumValueOptions& options() const; + + // See Descriptor::CopyTo(). + void CopyTo(EnumValueDescriptorProto* proto) const; + + // See Descriptor::DebugString(). + string DebugString() const; + + // See Descriptor::DebugStringWithOptions(). + string DebugStringWithOptions(const DebugStringOptions& options) const; + + + // Source Location --------------------------------------------------- + + // Updates |*out_location| to the source location of the complete + // extent of this enum value declaration. Returns false and leaves + // |*out_location| unchanged iff location information was not available. + bool GetSourceLocation(SourceLocation* out_location) const; + + private: + typedef EnumValueOptions OptionsType; + + // Allows access to GetLocationPath for annotations. + friend class ::google::protobuf::io::Printer; + + // See Descriptor::DebugString(). + void DebugString(int depth, string *contents, + const DebugStringOptions& options) const; + + // Walks up the descriptor tree to generate the source location path + // to this descriptor from the file root. + void GetLocationPath(std::vector* output) const; + + const string* name_; + const string* full_name_; + int number_; + const EnumDescriptor* type_; + const EnumValueOptions* options_; + // IMPORTANT: If you add a new field, make sure to search for all instances + // of Allocate() and AllocateArray() + // in descriptor.cc and update them to initialize the field. + + // Must be constructed using DescriptorPool. + EnumValueDescriptor() {} + friend class DescriptorBuilder; + friend class EnumDescriptor; + friend class FileDescriptorTables; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumValueDescriptor); +}; + +// Describes an RPC service. To get the ServiceDescriptor for a service, +// call Service::GetDescriptor(). Generated service classes also have a +// static method called descriptor() which returns the type's +// ServiceDescriptor. Use DescriptorPool to construct your own descriptors. +class LIBPROTOBUF_EXPORT ServiceDescriptor { + public: + // The name of the service, not including its containing scope. + const string& name() const; + // The fully-qualified name of the service, scope delimited by periods. + const string& full_name() const; + // Index of this service within the file's services array. + int index() const; + + // The .proto file in which this service was defined. Never NULL. + const FileDescriptor* file() const; + + // Get options for this service type. These are specified in the .proto file + // by placing lines like "option foo = 1234;" in the service definition. + // Allowed options are defined by ServiceOptions in + // google/protobuf/descriptor.proto, and any available extensions of that + // message. + const ServiceOptions& options() const; + + // The number of methods this service defines. + int method_count() const; + // Gets a MethodDescriptor by index, where 0 <= index < method_count(). + // These are returned in the order they were defined in the .proto file. + const MethodDescriptor* method(int index) const; + + // Look up a MethodDescriptor by name. + const MethodDescriptor* FindMethodByName(const string& name) const; + // See Descriptor::CopyTo(). + void CopyTo(ServiceDescriptorProto* proto) const; + + // See Descriptor::DebugString(). + string DebugString() const; + + // See Descriptor::DebugStringWithOptions(). + string DebugStringWithOptions(const DebugStringOptions& options) const; + + + // Source Location --------------------------------------------------- + + // Updates |*out_location| to the source location of the complete + // extent of this service declaration. Returns false and leaves + // |*out_location| unchanged iff location information was not available. + bool GetSourceLocation(SourceLocation* out_location) const; + + private: + typedef ServiceOptions OptionsType; + + // Allows access to GetLocationPath for annotations. + friend class ::google::protobuf::io::Printer; + + // See Descriptor::DebugString(). + void DebugString(string *contents, const DebugStringOptions& options) const; + + // Walks up the descriptor tree to generate the source location path + // to this descriptor from the file root. + void GetLocationPath(std::vector* output) const; + + const string* name_; + const string* full_name_; + const FileDescriptor* file_; + const ServiceOptions* options_; + int method_count_; + MethodDescriptor* methods_; + // IMPORTANT: If you add a new field, make sure to search for all instances + // of Allocate() and AllocateArray() in + // descriptor.cc and update them to initialize the field. + + // Must be constructed using DescriptorPool. + ServiceDescriptor() {} + friend class DescriptorBuilder; + friend class FileDescriptor; + friend class MethodDescriptor; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ServiceDescriptor); +}; + +// Describes an individual service method. To obtain a MethodDescriptor given +// a service, first get its ServiceDescriptor, then call +// ServiceDescriptor::FindMethodByName(). Use DescriptorPool to construct your +// own descriptors. +class LIBPROTOBUF_EXPORT MethodDescriptor { + public: + // Name of this method, not including containing scope. + const string& name() const; + // The fully-qualified name of the method, scope delimited by periods. + const string& full_name() const; + // Index within the service's Descriptor. + int index() const; + + // Gets the service to which this method belongs. Never NULL. + const ServiceDescriptor* service() const; + + // Gets the type of protocol message which this method accepts as input. + const Descriptor* input_type() const; + // Gets the type of protocol message which this message produces as output. + const Descriptor* output_type() const; + + // Gets whether the client streams multiple requests. + bool client_streaming() const; + // Gets whether the server streams multiple responses. + bool server_streaming() const; + + // Get options for this method. These are specified in the .proto file by + // placing lines like "option foo = 1234;" in curly-braces after a method + // declaration. Allowed options are defined by MethodOptions in + // google/protobuf/descriptor.proto, and any available extensions of that + // message. + const MethodOptions& options() const; + + // See Descriptor::CopyTo(). + void CopyTo(MethodDescriptorProto* proto) const; + + // See Descriptor::DebugString(). + string DebugString() const; + + // See Descriptor::DebugStringWithOptions(). + string DebugStringWithOptions(const DebugStringOptions& options) const; + + + // Source Location --------------------------------------------------- + + // Updates |*out_location| to the source location of the complete + // extent of this method declaration. Returns false and leaves + // |*out_location| unchanged iff location information was not available. + bool GetSourceLocation(SourceLocation* out_location) const; + + private: + typedef MethodOptions OptionsType; + + // Allows access to GetLocationPath for annotations. + friend class ::google::protobuf::io::Printer; + + // See Descriptor::DebugString(). + void DebugString(int depth, string *contents, + const DebugStringOptions& options) const; + + // Walks up the descriptor tree to generate the source location path + // to this descriptor from the file root. + void GetLocationPath(std::vector* output) const; + + const string* name_; + const string* full_name_; + const ServiceDescriptor* service_; + const Descriptor* input_type_; + const Descriptor* output_type_; + const MethodOptions* options_; + bool client_streaming_; + bool server_streaming_; + // IMPORTANT: If you add a new field, make sure to search for all instances + // of Allocate() and AllocateArray() in + // descriptor.cc and update them to initialize the field. + + // Must be constructed using DescriptorPool. + MethodDescriptor() {} + friend class DescriptorBuilder; + friend class ServiceDescriptor; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MethodDescriptor); +}; + + +// Describes a whole .proto file. To get the FileDescriptor for a compiled-in +// file, get the descriptor for something defined in that file and call +// descriptor->file(). Use DescriptorPool to construct your own descriptors. +class LIBPROTOBUF_EXPORT FileDescriptor { + public: + // The filename, relative to the source tree. + // e.g. "google/protobuf/descriptor.proto" + const string& name() const; + + // The package, e.g. "google.protobuf.compiler". + const string& package() const; + + // The DescriptorPool in which this FileDescriptor and all its contents were + // allocated. Never NULL. + const DescriptorPool* pool() const; + + // The number of files imported by this one. + int dependency_count() const; + // Gets an imported file by index, where 0 <= index < dependency_count(). + // These are returned in the order they were defined in the .proto file. + const FileDescriptor* dependency(int index) const; + + // The number of files public imported by this one. + // The public dependency list is a subset of the dependency list. + int public_dependency_count() const; + // Gets a public imported file by index, where 0 <= index < + // public_dependency_count(). + // These are returned in the order they were defined in the .proto file. + const FileDescriptor* public_dependency(int index) const; + + // The number of files that are imported for weak fields. + // The weak dependency list is a subset of the dependency list. + int weak_dependency_count() const; + // Gets a weak imported file by index, where 0 <= index < + // weak_dependency_count(). + // These are returned in the order they were defined in the .proto file. + const FileDescriptor* weak_dependency(int index) const; + + // Number of top-level message types defined in this file. (This does not + // include nested types.) + int message_type_count() const; + // Gets a top-level message type, where 0 <= index < message_type_count(). + // These are returned in the order they were defined in the .proto file. + const Descriptor* message_type(int index) const; + + // Number of top-level enum types defined in this file. (This does not + // include nested types.) + int enum_type_count() const; + // Gets a top-level enum type, where 0 <= index < enum_type_count(). + // These are returned in the order they were defined in the .proto file. + const EnumDescriptor* enum_type(int index) const; + + // Number of services defined in this file. + int service_count() const; + // Gets a service, where 0 <= index < service_count(). + // These are returned in the order they were defined in the .proto file. + const ServiceDescriptor* service(int index) const; + + // Number of extensions defined at file scope. (This does not include + // extensions nested within message types.) + int extension_count() const; + // Gets an extension's descriptor, where 0 <= index < extension_count(). + // These are returned in the order they were defined in the .proto file. + const FieldDescriptor* extension(int index) const; + + // Get options for this file. These are specified in the .proto file by + // placing lines like "option foo = 1234;" at the top level, outside of any + // other definitions. Allowed options are defined by FileOptions in + // google/protobuf/descriptor.proto, and any available extensions of that + // message. + const FileOptions& options() const; + + // Syntax of this file. + enum Syntax { + SYNTAX_UNKNOWN = 0, + SYNTAX_PROTO2 = 2, + SYNTAX_PROTO3 = 3, + }; + Syntax syntax() const; + static const char* SyntaxName(Syntax syntax); + + // Find a top-level message type by name. Returns NULL if not found. + const Descriptor* FindMessageTypeByName(const string& name) const; + // Find a top-level enum type by name. Returns NULL if not found. + const EnumDescriptor* FindEnumTypeByName(const string& name) const; + // Find an enum value defined in any top-level enum by name. Returns NULL if + // not found. + const EnumValueDescriptor* FindEnumValueByName(const string& name) const; + // Find a service definition by name. Returns NULL if not found. + const ServiceDescriptor* FindServiceByName(const string& name) const; + // Find a top-level extension definition by name. Returns NULL if not found. + const FieldDescriptor* FindExtensionByName(const string& name) const; + // Similar to FindExtensionByName(), but searches by lowercased-name. See + // Descriptor::FindFieldByLowercaseName(). + const FieldDescriptor* FindExtensionByLowercaseName(const string& name) const; + // Similar to FindExtensionByName(), but searches by camelcased-name. See + // Descriptor::FindFieldByCamelcaseName(). + const FieldDescriptor* FindExtensionByCamelcaseName(const string& name) const; + + // See Descriptor::CopyTo(). + // Notes: + // - This method does NOT copy source code information since it is relatively + // large and rarely needed. See CopySourceCodeInfoTo() below. + void CopyTo(FileDescriptorProto* proto) const; + // Write the source code information of this FileDescriptor into the given + // FileDescriptorProto. See CopyTo() above. + void CopySourceCodeInfoTo(FileDescriptorProto* proto) const; + // Fill the json_name field of FieldDescriptorProto for all fields. Can only + // be called after CopyTo(). + void CopyJsonNameTo(FileDescriptorProto* proto) const; + + // See Descriptor::DebugString(). + string DebugString() const; + + // See Descriptor::DebugStringWithOptions(). + string DebugStringWithOptions(const DebugStringOptions& options) const; + + // Returns true if this is a placeholder for an unknown file. This will + // only be the case if this descriptor comes from a DescriptorPool + // with AllowUnknownDependencies() set. + bool is_placeholder() const; + + // Updates |*out_location| to the source location of the complete extent of + // this file declaration (namely, the empty path). + bool GetSourceLocation(SourceLocation* out_location) const; + + // Updates |*out_location| to the source location of the complete + // extent of the declaration or declaration-part denoted by |path|. + // Returns false and leaves |*out_location| unchanged iff location + // information was not available. (See SourceCodeInfo for + // description of path encoding.) + bool GetSourceLocation(const std::vector& path, + SourceLocation* out_location) const; + + private: + typedef FileOptions OptionsType; + + const string* name_; + const string* package_; + const DescriptorPool* pool_; + int dependency_count_; + const FileDescriptor** dependencies_; + int public_dependency_count_; + int* public_dependencies_; + int weak_dependency_count_; + int* weak_dependencies_; + int message_type_count_; + Descriptor* message_types_; + int enum_type_count_; + EnumDescriptor* enum_types_; + int service_count_; + ServiceDescriptor* services_; + int extension_count_; + Syntax syntax_; + bool is_placeholder_; + FieldDescriptor* extensions_; + const FileOptions* options_; + + const FileDescriptorTables* tables_; + const SourceCodeInfo* source_code_info_; + // IMPORTANT: If you add a new field, make sure to search for all instances + // of Allocate() and AllocateArray() in + // descriptor.cc and update them to initialize the field. + + FileDescriptor() {} + friend class DescriptorBuilder; + friend class Descriptor; + friend class FieldDescriptor; + friend class OneofDescriptor; + friend class EnumDescriptor; + friend class EnumValueDescriptor; + friend class MethodDescriptor; + friend class ServiceDescriptor; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileDescriptor); +}; + +// =================================================================== + +// Used to construct descriptors. +// +// Normally you won't want to build your own descriptors. Message classes +// constructed by the protocol compiler will provide them for you. However, +// if you are implementing Message on your own, or if you are writing a +// program which can operate on totally arbitrary types and needs to load +// them from some sort of database, you might need to. +// +// Since Descriptors are composed of a whole lot of cross-linked bits of +// data that would be a pain to put together manually, the +// DescriptorPool class is provided to make the process easier. It can +// take a FileDescriptorProto (defined in descriptor.proto), validate it, +// and convert it to a set of nicely cross-linked Descriptors. +// +// DescriptorPool also helps with memory management. Descriptors are +// composed of many objects containing static data and pointers to each +// other. In all likelihood, when it comes time to delete this data, +// you'll want to delete it all at once. In fact, it is not uncommon to +// have a whole pool of descriptors all cross-linked with each other which +// you wish to delete all at once. This class represents such a pool, and +// handles the memory management for you. +// +// You can also search for descriptors within a DescriptorPool by name, and +// extensions by number. +class LIBPROTOBUF_EXPORT DescriptorPool { + public: + // Create a normal, empty DescriptorPool. + DescriptorPool(); + + // Constructs a DescriptorPool that, when it can't find something among the + // descriptors already in the pool, looks for it in the given + // DescriptorDatabase. + // Notes: + // - If a DescriptorPool is constructed this way, its BuildFile*() methods + // must not be called (they will assert-fail). The only way to populate + // the pool with descriptors is to call the Find*By*() methods. + // - The Find*By*() methods may block the calling thread if the + // DescriptorDatabase blocks. This in turn means that parsing messages + // may block if they need to look up extensions. + // - The Find*By*() methods will use mutexes for thread-safety, thus making + // them slower even when they don't have to fall back to the database. + // In fact, even the Find*By*() methods of descriptor objects owned by + // this pool will be slower, since they will have to obtain locks too. + // - An ErrorCollector may optionally be given to collect validation errors + // in files loaded from the database. If not given, errors will be printed + // to GOOGLE_LOG(ERROR). Remember that files are built on-demand, so this + // ErrorCollector may be called from any thread that calls one of the + // Find*By*() methods. + // - The DescriptorDatabase must not be mutated during the lifetime of + // the DescriptorPool. Even if the client takes care to avoid data races, + // changes to the content of the DescriptorDatabase may not be reflected + // in subsequent lookups in the DescriptorPool. + class ErrorCollector; + explicit DescriptorPool(DescriptorDatabase* fallback_database, + ErrorCollector* error_collector = NULL); + + ~DescriptorPool(); + + // Get a pointer to the generated pool. Generated protocol message classes + // which are compiled into the binary will allocate their descriptors in + // this pool. Do not add your own descriptors to this pool. + static const DescriptorPool* generated_pool(); + + + // Find a FileDescriptor in the pool by file name. Returns NULL if not + // found. + const FileDescriptor* FindFileByName(const string& name) const; + + // Find the FileDescriptor in the pool which defines the given symbol. + // If any of the Find*ByName() methods below would succeed, then this is + // equivalent to calling that method and calling the result's file() method. + // Otherwise this returns NULL. + const FileDescriptor* FindFileContainingSymbol( + const string& symbol_name) const; + + // Looking up descriptors ------------------------------------------ + // These find descriptors by fully-qualified name. These will find both + // top-level descriptors and nested descriptors. They return NULL if not + // found. + + const Descriptor* FindMessageTypeByName(const string& name) const; + const FieldDescriptor* FindFieldByName(const string& name) const; + const FieldDescriptor* FindExtensionByName(const string& name) const; + const OneofDescriptor* FindOneofByName(const string& name) const; + const EnumDescriptor* FindEnumTypeByName(const string& name) const; + const EnumValueDescriptor* FindEnumValueByName(const string& name) const; + const ServiceDescriptor* FindServiceByName(const string& name) const; + const MethodDescriptor* FindMethodByName(const string& name) const; + + // Finds an extension of the given type by number. The extendee must be + // a member of this DescriptorPool or one of its underlays. + const FieldDescriptor* FindExtensionByNumber(const Descriptor* extendee, + int number) const; + + // Finds extensions of extendee. The extensions will be appended to + // out in an undefined order. Only extensions defined directly in + // this DescriptorPool or one of its underlays are guaranteed to be + // found: extensions defined in the fallback database might not be found + // depending on the database implementation. + void FindAllExtensions(const Descriptor* extendee, + std::vector* out) const; + + // Building descriptors -------------------------------------------- + + // When converting a FileDescriptorProto to a FileDescriptor, various + // errors might be detected in the input. The caller may handle these + // programmatically by implementing an ErrorCollector. + class LIBPROTOBUF_EXPORT ErrorCollector { + public: + inline ErrorCollector() {} + virtual ~ErrorCollector(); + + // These constants specify what exact part of the construct is broken. + // This is useful e.g. for mapping the error back to an exact location + // in a .proto file. + enum ErrorLocation { + NAME, // the symbol name, or the package name for files + NUMBER, // field or extension range number + TYPE, // field type + EXTENDEE, // field extendee + DEFAULT_VALUE, // field default value + INPUT_TYPE, // method input type + OUTPUT_TYPE, // method output type + OPTION_NAME, // name in assignment + OPTION_VALUE, // value in option assignment + OTHER // some other problem + }; + + // Reports an error in the FileDescriptorProto. Use this function if the + // problem occurred should interrupt building the FileDescriptorProto. + virtual void AddError( + const string& filename, // File name in which the error occurred. + const string& element_name, // Full name of the erroneous element. + const Message* descriptor, // Descriptor of the erroneous element. + ErrorLocation location, // One of the location constants, above. + const string& message // Human-readable error message. + ) = 0; + + // Reports a warning in the FileDescriptorProto. Use this function if the + // problem occurred should NOT interrupt building the FileDescriptorProto. + virtual void AddWarning( + const string& /*filename*/, // File name in which the error occurred. + const string& /*element_name*/, // Full name of the erroneous element. + const Message* /*descriptor*/, // Descriptor of the erroneous element. + ErrorLocation /*location*/, // One of the location constants, above. + const string& /*message*/ // Human-readable error message. + ) {} + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ErrorCollector); + }; + + // Convert the FileDescriptorProto to real descriptors and place them in + // this DescriptorPool. All dependencies of the file must already be in + // the pool. Returns the resulting FileDescriptor, or NULL if there were + // problems with the input (e.g. the message was invalid, or dependencies + // were missing). Details about the errors are written to GOOGLE_LOG(ERROR). + const FileDescriptor* BuildFile(const FileDescriptorProto& proto); + + // Same as BuildFile() except errors are sent to the given ErrorCollector. + const FileDescriptor* BuildFileCollectingErrors( + const FileDescriptorProto& proto, + ErrorCollector* error_collector); + + // By default, it is an error if a FileDescriptorProto contains references + // to types or other files that are not found in the DescriptorPool (or its + // backing DescriptorDatabase, if any). If you call + // AllowUnknownDependencies(), however, then unknown types and files + // will be replaced by placeholder descriptors (which can be identified by + // the is_placeholder() method). This can allow you to + // perform some useful operations with a .proto file even if you do not + // have access to other .proto files on which it depends. However, some + // heuristics must be used to fill in the gaps in information, and these + // can lead to descriptors which are inaccurate. For example, the + // DescriptorPool may be forced to guess whether an unknown type is a message + // or an enum, as well as what package it resides in. Furthermore, + // placeholder types will not be discoverable via FindMessageTypeByName() + // and similar methods, which could confuse some descriptor-based algorithms. + // Generally, the results of this option should be handled with extreme care. + void AllowUnknownDependencies() { allow_unknown_ = true; } + + // By default, weak imports are allowed to be missing, in which case we will + // use a placeholder for the dependency and convert the field to be an Empty + // message field. If you call EnforceWeakDependencies(true), however, the + // DescriptorPool will report a import not found error. + void EnforceWeakDependencies(bool enforce) { enforce_weak_ = enforce; } + + // Internal stuff -------------------------------------------------- + // These methods MUST NOT be called from outside the proto2 library. + // These methods may contain hidden pitfalls and may be removed in a + // future library version. + + // Create a DescriptorPool which is overlaid on top of some other pool. + // If you search for a descriptor in the overlay and it is not found, the + // underlay will be searched as a backup. If the underlay has its own + // underlay, that will be searched next, and so on. This also means that + // files built in the overlay will be cross-linked with the underlay's + // descriptors if necessary. The underlay remains property of the caller; + // it must remain valid for the lifetime of the newly-constructed pool. + // + // Example: Say you want to parse a .proto file at runtime in order to use + // its type with a DynamicMessage. Say this .proto file has dependencies, + // but you know that all the dependencies will be things that are already + // compiled into the binary. For ease of use, you'd like to load the types + // right out of generated_pool() rather than have to parse redundant copies + // of all these .protos and runtime. But, you don't want to add the parsed + // types directly into generated_pool(): this is not allowed, and would be + // bad design anyway. So, instead, you could use generated_pool() as an + // underlay for a new DescriptorPool in which you add only the new file. + // + // WARNING: Use of underlays can lead to many subtle gotchas. Instead, + // try to formulate what you want to do in terms of DescriptorDatabases. + explicit DescriptorPool(const DescriptorPool* underlay); + + // Called by generated classes at init time to add their descriptors to + // generated_pool. Do NOT call this in your own code! filename must be a + // permanent string (e.g. a string literal). + static void InternalAddGeneratedFile( + const void* encoded_file_descriptor, int size); + + + // For internal use only: Gets a non-const pointer to the generated pool. + // This is called at static-initialization time only, so thread-safety is + // not a concern. If both an underlay and a fallback database are present, + // the underlay takes precedence. + static DescriptorPool* internal_generated_pool(); + + // For internal use only: Changes the behavior of BuildFile() such that it + // allows the file to make reference to message types declared in other files + // which it did not officially declare as dependencies. + void InternalDontEnforceDependencies(); + + // For internal use only. + void internal_set_underlay(const DescriptorPool* underlay) { + underlay_ = underlay; + } + + // For internal (unit test) use only: Returns true if a FileDescriptor has + // been constructed for the given file, false otherwise. Useful for testing + // lazy descriptor initialization behavior. + bool InternalIsFileLoaded(const string& filename) const; + + + // Add a file to unused_import_track_files_. DescriptorBuilder will log + // warnings for those files if there is any unused import. + void AddUnusedImportTrackFile(const string& file_name); + void ClearUnusedImportTrackFiles(); + + private: + friend class Descriptor; + friend class FieldDescriptor; + friend class EnumDescriptor; + friend class ServiceDescriptor; + friend class FileDescriptor; + friend class DescriptorBuilder; + friend class FileDescriptorTables; + + // Return true if the given name is a sub-symbol of any non-package + // descriptor that already exists in the descriptor pool. (The full + // definition of such types is already known.) + bool IsSubSymbolOfBuiltType(const string& name) const; + + // Tries to find something in the fallback database and link in the + // corresponding proto file. Returns true if successful, in which case + // the caller should search for the thing again. These are declared + // const because they are called by (semantically) const methods. + bool TryFindFileInFallbackDatabase(const string& name) const; + bool TryFindSymbolInFallbackDatabase(const string& name) const; + bool TryFindExtensionInFallbackDatabase(const Descriptor* containing_type, + int field_number) const; + + // Like BuildFile() but called internally when the file has been loaded from + // fallback_database_. Declared const because it is called by (semantically) + // const methods. + const FileDescriptor* BuildFileFromDatabase( + const FileDescriptorProto& proto) const; + + // If fallback_database_ is NULL, this is NULL. Otherwise, this is a mutex + // which must be locked while accessing tables_. + Mutex* mutex_; + + // See constructor. + DescriptorDatabase* fallback_database_; + ErrorCollector* default_error_collector_; + const DescriptorPool* underlay_; + + // This class contains a lot of hash maps with complicated types that + // we'd like to keep out of the header. + class Tables; + google::protobuf::scoped_ptr tables_; + + bool enforce_dependencies_; + bool allow_unknown_; + bool enforce_weak_; + std::set unused_import_track_files_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(DescriptorPool); +}; + +// inline methods ==================================================== + +// These macros makes this repetitive code more readable. +#define PROTOBUF_DEFINE_ACCESSOR(CLASS, FIELD, TYPE) \ + inline TYPE CLASS::FIELD() const { return FIELD##_; } + +// Strings fields are stored as pointers but returned as const references. +#define PROTOBUF_DEFINE_STRING_ACCESSOR(CLASS, FIELD) \ + inline const string& CLASS::FIELD() const { return *FIELD##_; } + +// Arrays take an index parameter, obviously. +#define PROTOBUF_DEFINE_ARRAY_ACCESSOR(CLASS, FIELD, TYPE) \ + inline TYPE CLASS::FIELD(int index) const { return FIELD##s_ + index; } + +#define PROTOBUF_DEFINE_OPTIONS_ACCESSOR(CLASS, TYPE) \ + inline const TYPE& CLASS::options() const { return *options_; } + +PROTOBUF_DEFINE_STRING_ACCESSOR(Descriptor, name) +PROTOBUF_DEFINE_STRING_ACCESSOR(Descriptor, full_name) +PROTOBUF_DEFINE_ACCESSOR(Descriptor, file, const FileDescriptor*) +PROTOBUF_DEFINE_ACCESSOR(Descriptor, containing_type, const Descriptor*) + +PROTOBUF_DEFINE_ACCESSOR(Descriptor, field_count, int) +PROTOBUF_DEFINE_ACCESSOR(Descriptor, oneof_decl_count, int) +PROTOBUF_DEFINE_ACCESSOR(Descriptor, nested_type_count, int) +PROTOBUF_DEFINE_ACCESSOR(Descriptor, enum_type_count, int) + +PROTOBUF_DEFINE_ARRAY_ACCESSOR(Descriptor, field, const FieldDescriptor*) +PROTOBUF_DEFINE_ARRAY_ACCESSOR(Descriptor, oneof_decl, const OneofDescriptor*) +PROTOBUF_DEFINE_ARRAY_ACCESSOR(Descriptor, nested_type, const Descriptor*) +PROTOBUF_DEFINE_ARRAY_ACCESSOR(Descriptor, enum_type, const EnumDescriptor*) + +PROTOBUF_DEFINE_ACCESSOR(Descriptor, extension_range_count, int) +PROTOBUF_DEFINE_ACCESSOR(Descriptor, extension_count, int) +PROTOBUF_DEFINE_ARRAY_ACCESSOR(Descriptor, extension_range, + const Descriptor::ExtensionRange*) +PROTOBUF_DEFINE_ARRAY_ACCESSOR(Descriptor, extension, + const FieldDescriptor*) + +PROTOBUF_DEFINE_ACCESSOR(Descriptor, reserved_range_count, int) +PROTOBUF_DEFINE_ARRAY_ACCESSOR(Descriptor, reserved_range, + const Descriptor::ReservedRange*) +PROTOBUF_DEFINE_ACCESSOR(Descriptor, reserved_name_count, int) + +PROTOBUF_DEFINE_OPTIONS_ACCESSOR(Descriptor, MessageOptions) +PROTOBUF_DEFINE_ACCESSOR(Descriptor, is_placeholder, bool) + +PROTOBUF_DEFINE_STRING_ACCESSOR(FieldDescriptor, name) +PROTOBUF_DEFINE_STRING_ACCESSOR(FieldDescriptor, full_name) +PROTOBUF_DEFINE_STRING_ACCESSOR(FieldDescriptor, json_name) +PROTOBUF_DEFINE_STRING_ACCESSOR(FieldDescriptor, lowercase_name) +PROTOBUF_DEFINE_STRING_ACCESSOR(FieldDescriptor, camelcase_name) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, file, const FileDescriptor*) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, number, int) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, is_extension, bool) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, type, FieldDescriptor::Type) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, label, FieldDescriptor::Label) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, containing_type, const Descriptor*) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, containing_oneof, + const OneofDescriptor*) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, index_in_oneof, int) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, extension_scope, const Descriptor*) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, message_type, const Descriptor*) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, enum_type, const EnumDescriptor*) +PROTOBUF_DEFINE_OPTIONS_ACCESSOR(FieldDescriptor, FieldOptions) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, has_default_value, bool) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, has_json_name, bool) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, default_value_int32 , int32 ) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, default_value_int64 , int64 ) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, default_value_uint32, uint32) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, default_value_uint64, uint64) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, default_value_float , float ) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, default_value_double, double) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, default_value_bool , bool ) +PROTOBUF_DEFINE_ACCESSOR(FieldDescriptor, default_value_enum, + const EnumValueDescriptor*) +PROTOBUF_DEFINE_STRING_ACCESSOR(FieldDescriptor, default_value_string) + +PROTOBUF_DEFINE_STRING_ACCESSOR(OneofDescriptor, name) +PROTOBUF_DEFINE_STRING_ACCESSOR(OneofDescriptor, full_name) +PROTOBUF_DEFINE_ACCESSOR(OneofDescriptor, containing_type, const Descriptor*) +PROTOBUF_DEFINE_ACCESSOR(OneofDescriptor, field_count, int) +PROTOBUF_DEFINE_OPTIONS_ACCESSOR(OneofDescriptor, OneofOptions) + +PROTOBUF_DEFINE_STRING_ACCESSOR(EnumDescriptor, name) +PROTOBUF_DEFINE_STRING_ACCESSOR(EnumDescriptor, full_name) +PROTOBUF_DEFINE_ACCESSOR(EnumDescriptor, file, const FileDescriptor*) +PROTOBUF_DEFINE_ACCESSOR(EnumDescriptor, containing_type, const Descriptor*) +PROTOBUF_DEFINE_ACCESSOR(EnumDescriptor, value_count, int) +PROTOBUF_DEFINE_ARRAY_ACCESSOR(EnumDescriptor, value, + const EnumValueDescriptor*) +PROTOBUF_DEFINE_OPTIONS_ACCESSOR(EnumDescriptor, EnumOptions) +PROTOBUF_DEFINE_ACCESSOR(EnumDescriptor, is_placeholder, bool) + +PROTOBUF_DEFINE_STRING_ACCESSOR(EnumValueDescriptor, name) +PROTOBUF_DEFINE_STRING_ACCESSOR(EnumValueDescriptor, full_name) +PROTOBUF_DEFINE_ACCESSOR(EnumValueDescriptor, number, int) +PROTOBUF_DEFINE_ACCESSOR(EnumValueDescriptor, type, const EnumDescriptor*) +PROTOBUF_DEFINE_OPTIONS_ACCESSOR(EnumValueDescriptor, EnumValueOptions) + +PROTOBUF_DEFINE_STRING_ACCESSOR(ServiceDescriptor, name) +PROTOBUF_DEFINE_STRING_ACCESSOR(ServiceDescriptor, full_name) +PROTOBUF_DEFINE_ACCESSOR(ServiceDescriptor, file, const FileDescriptor*) +PROTOBUF_DEFINE_ACCESSOR(ServiceDescriptor, method_count, int) +PROTOBUF_DEFINE_ARRAY_ACCESSOR(ServiceDescriptor, method, + const MethodDescriptor*) +PROTOBUF_DEFINE_OPTIONS_ACCESSOR(ServiceDescriptor, ServiceOptions) + +PROTOBUF_DEFINE_STRING_ACCESSOR(MethodDescriptor, name) +PROTOBUF_DEFINE_STRING_ACCESSOR(MethodDescriptor, full_name) +PROTOBUF_DEFINE_ACCESSOR(MethodDescriptor, service, const ServiceDescriptor*) +PROTOBUF_DEFINE_ACCESSOR(MethodDescriptor, input_type, const Descriptor*) +PROTOBUF_DEFINE_ACCESSOR(MethodDescriptor, output_type, const Descriptor*) +PROTOBUF_DEFINE_OPTIONS_ACCESSOR(MethodDescriptor, MethodOptions) +PROTOBUF_DEFINE_ACCESSOR(MethodDescriptor, client_streaming, bool) +PROTOBUF_DEFINE_ACCESSOR(MethodDescriptor, server_streaming, bool) + +PROTOBUF_DEFINE_STRING_ACCESSOR(FileDescriptor, name) +PROTOBUF_DEFINE_STRING_ACCESSOR(FileDescriptor, package) +PROTOBUF_DEFINE_ACCESSOR(FileDescriptor, pool, const DescriptorPool*) +PROTOBUF_DEFINE_ACCESSOR(FileDescriptor, dependency_count, int) +PROTOBUF_DEFINE_ACCESSOR(FileDescriptor, public_dependency_count, int) +PROTOBUF_DEFINE_ACCESSOR(FileDescriptor, weak_dependency_count, int) +PROTOBUF_DEFINE_ACCESSOR(FileDescriptor, message_type_count, int) +PROTOBUF_DEFINE_ACCESSOR(FileDescriptor, enum_type_count, int) +PROTOBUF_DEFINE_ACCESSOR(FileDescriptor, service_count, int) +PROTOBUF_DEFINE_ACCESSOR(FileDescriptor, extension_count, int) +PROTOBUF_DEFINE_OPTIONS_ACCESSOR(FileDescriptor, FileOptions) +PROTOBUF_DEFINE_ACCESSOR(FileDescriptor, is_placeholder, bool) + +PROTOBUF_DEFINE_ARRAY_ACCESSOR(FileDescriptor, message_type, const Descriptor*) +PROTOBUF_DEFINE_ARRAY_ACCESSOR(FileDescriptor, enum_type, const EnumDescriptor*) +PROTOBUF_DEFINE_ARRAY_ACCESSOR(FileDescriptor, service, + const ServiceDescriptor*) +PROTOBUF_DEFINE_ARRAY_ACCESSOR(FileDescriptor, extension, + const FieldDescriptor*) + +#undef PROTOBUF_DEFINE_ACCESSOR +#undef PROTOBUF_DEFINE_STRING_ACCESSOR +#undef PROTOBUF_DEFINE_ARRAY_ACCESSOR + +// A few accessors differ from the macros... + +inline bool Descriptor::IsExtensionNumber(int number) const { + return FindExtensionRangeContainingNumber(number) != NULL; +} + +inline bool Descriptor::IsReservedNumber(int number) const { + return FindReservedRangeContainingNumber(number) != NULL; +} + +inline bool Descriptor::IsReservedName(const string& name) const { + for (int i = 0; i < reserved_name_count(); i++) { + if (name == reserved_name(i)) { + return true; + } + } + return false; +} + +// Can't use PROTOBUF_DEFINE_ARRAY_ACCESSOR because reserved_names_ is actually +// an array of pointers rather than the usual array of objects. +inline const string& Descriptor::reserved_name(int index) const { + return *reserved_names_[index]; +} + +inline bool FieldDescriptor::is_required() const { + return label() == LABEL_REQUIRED; +} + +inline bool FieldDescriptor::is_optional() const { + return label() == LABEL_OPTIONAL; +} + +inline bool FieldDescriptor::is_repeated() const { + return label() == LABEL_REPEATED; +} + +inline bool FieldDescriptor::is_packable() const { + return is_repeated() && IsTypePackable(type()); +} + +// To save space, index() is computed by looking at the descriptor's position +// in the parent's array of children. +inline int FieldDescriptor::index() const { + if (!is_extension_) { + return static_cast(this - containing_type_->fields_); + } else if (extension_scope_ != NULL) { + return static_cast(this - extension_scope_->extensions_); + } else { + return static_cast(this - file_->extensions_); + } +} + +inline int Descriptor::index() const { + if (containing_type_ == NULL) { + return static_cast(this - file_->message_types_); + } else { + return static_cast(this - containing_type_->nested_types_); + } +} + +inline int OneofDescriptor::index() const { + return static_cast(this - containing_type_->oneof_decls_); +} + +inline int EnumDescriptor::index() const { + if (containing_type_ == NULL) { + return static_cast(this - file_->enum_types_); + } else { + return static_cast(this - containing_type_->enum_types_); + } +} + +inline int EnumValueDescriptor::index() const { + return static_cast(this - type_->values_); +} + +inline int ServiceDescriptor::index() const { + return static_cast(this - file_->services_); +} + +inline int MethodDescriptor::index() const { + return static_cast(this - service_->methods_); +} + +inline const char* FieldDescriptor::type_name() const { + return kTypeToName[type_]; +} + +inline FieldDescriptor::CppType FieldDescriptor::cpp_type() const { + return kTypeToCppTypeMap[type_]; +} + +inline const char* FieldDescriptor::cpp_type_name() const { + return kCppTypeToName[kTypeToCppTypeMap[type_]]; +} + +inline FieldDescriptor::CppType FieldDescriptor::TypeToCppType(Type type) { + return kTypeToCppTypeMap[type]; +} + +inline const char* FieldDescriptor::TypeName(Type type) { + return kTypeToName[type]; +} + +inline const char* FieldDescriptor::CppTypeName(CppType cpp_type) { + return kCppTypeToName[cpp_type]; +} + +inline bool FieldDescriptor::IsTypePackable(Type field_type) { + return (field_type != FieldDescriptor::TYPE_STRING && + field_type != FieldDescriptor::TYPE_GROUP && + field_type != FieldDescriptor::TYPE_MESSAGE && + field_type != FieldDescriptor::TYPE_BYTES); +} + +inline const FileDescriptor* FileDescriptor::dependency(int index) const { + return dependencies_[index]; +} + +inline const FileDescriptor* FileDescriptor::public_dependency( + int index) const { + return dependencies_[public_dependencies_[index]]; +} + +inline const FileDescriptor* FileDescriptor::weak_dependency( + int index) const { + return dependencies_[weak_dependencies_[index]]; +} + +inline FileDescriptor::Syntax FileDescriptor::syntax() const { + return syntax_; +} + +// Can't use PROTOBUF_DEFINE_ARRAY_ACCESSOR because fields_ is actually an array +// of pointers rather than the usual array of objects. +inline const FieldDescriptor* OneofDescriptor::field(int index) const { + return fields_[index]; +} + +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_DESCRIPTOR_H__ diff --git a/app/src/main/cpp/include/google/protobuf/descriptor.pb.h b/app/src/main/cpp/include/google/protobuf/descriptor.pb.h new file mode 100644 index 0000000..257dd0f --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/descriptor.pb.h @@ -0,0 +1,8212 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/descriptor.proto + +#ifndef PROTOBUF_google_2fprotobuf_2fdescriptor_2eproto__INCLUDED +#define PROTOBUF_google_2fprotobuf_2fdescriptor_2eproto__INCLUDED + +#include + +#include + +#if GOOGLE_PROTOBUF_VERSION < 3001000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3001000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) + +namespace google { +namespace protobuf { + +// Internal implementation detail -- do not call these. +void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto(); +void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto(); +void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); +void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + +class DescriptorProto; +class DescriptorProto_ExtensionRange; +class DescriptorProto_ReservedRange; +class EnumDescriptorProto; +class EnumOptions; +class EnumValueDescriptorProto; +class EnumValueOptions; +class FieldDescriptorProto; +class FieldOptions; +class FileDescriptorProto; +class FileDescriptorSet; +class FileOptions; +class GeneratedCodeInfo; +class GeneratedCodeInfo_Annotation; +class MessageOptions; +class MethodDescriptorProto; +class MethodOptions; +class OneofDescriptorProto; +class OneofOptions; +class ServiceDescriptorProto; +class ServiceOptions; +class SourceCodeInfo; +class SourceCodeInfo_Location; +class UninterpretedOption; +class UninterpretedOption_NamePart; + +enum FieldDescriptorProto_Type { + FieldDescriptorProto_Type_TYPE_DOUBLE = 1, + FieldDescriptorProto_Type_TYPE_FLOAT = 2, + FieldDescriptorProto_Type_TYPE_INT64 = 3, + FieldDescriptorProto_Type_TYPE_UINT64 = 4, + FieldDescriptorProto_Type_TYPE_INT32 = 5, + FieldDescriptorProto_Type_TYPE_FIXED64 = 6, + FieldDescriptorProto_Type_TYPE_FIXED32 = 7, + FieldDescriptorProto_Type_TYPE_BOOL = 8, + FieldDescriptorProto_Type_TYPE_STRING = 9, + FieldDescriptorProto_Type_TYPE_GROUP = 10, + FieldDescriptorProto_Type_TYPE_MESSAGE = 11, + FieldDescriptorProto_Type_TYPE_BYTES = 12, + FieldDescriptorProto_Type_TYPE_UINT32 = 13, + FieldDescriptorProto_Type_TYPE_ENUM = 14, + FieldDescriptorProto_Type_TYPE_SFIXED32 = 15, + FieldDescriptorProto_Type_TYPE_SFIXED64 = 16, + FieldDescriptorProto_Type_TYPE_SINT32 = 17, + FieldDescriptorProto_Type_TYPE_SINT64 = 18 +}; +LIBPROTOBUF_EXPORT bool FieldDescriptorProto_Type_IsValid(int value); +const FieldDescriptorProto_Type FieldDescriptorProto_Type_Type_MIN = FieldDescriptorProto_Type_TYPE_DOUBLE; +const FieldDescriptorProto_Type FieldDescriptorProto_Type_Type_MAX = FieldDescriptorProto_Type_TYPE_SINT64; +const int FieldDescriptorProto_Type_Type_ARRAYSIZE = FieldDescriptorProto_Type_Type_MAX + 1; + +LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Type_descriptor(); +inline const ::std::string& FieldDescriptorProto_Type_Name(FieldDescriptorProto_Type value) { + return ::google::protobuf::internal::NameOfEnum( + FieldDescriptorProto_Type_descriptor(), value); +} +inline bool FieldDescriptorProto_Type_Parse( + const ::std::string& name, FieldDescriptorProto_Type* value) { + return ::google::protobuf::internal::ParseNamedEnum( + FieldDescriptorProto_Type_descriptor(), name, value); +} +enum FieldDescriptorProto_Label { + FieldDescriptorProto_Label_LABEL_OPTIONAL = 1, + FieldDescriptorProto_Label_LABEL_REQUIRED = 2, + FieldDescriptorProto_Label_LABEL_REPEATED = 3 +}; +LIBPROTOBUF_EXPORT bool FieldDescriptorProto_Label_IsValid(int value); +const FieldDescriptorProto_Label FieldDescriptorProto_Label_Label_MIN = FieldDescriptorProto_Label_LABEL_OPTIONAL; +const FieldDescriptorProto_Label FieldDescriptorProto_Label_Label_MAX = FieldDescriptorProto_Label_LABEL_REPEATED; +const int FieldDescriptorProto_Label_Label_ARRAYSIZE = FieldDescriptorProto_Label_Label_MAX + 1; + +LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Label_descriptor(); +inline const ::std::string& FieldDescriptorProto_Label_Name(FieldDescriptorProto_Label value) { + return ::google::protobuf::internal::NameOfEnum( + FieldDescriptorProto_Label_descriptor(), value); +} +inline bool FieldDescriptorProto_Label_Parse( + const ::std::string& name, FieldDescriptorProto_Label* value) { + return ::google::protobuf::internal::ParseNamedEnum( + FieldDescriptorProto_Label_descriptor(), name, value); +} +enum FileOptions_OptimizeMode { + FileOptions_OptimizeMode_SPEED = 1, + FileOptions_OptimizeMode_CODE_SIZE = 2, + FileOptions_OptimizeMode_LITE_RUNTIME = 3 +}; +LIBPROTOBUF_EXPORT bool FileOptions_OptimizeMode_IsValid(int value); +const FileOptions_OptimizeMode FileOptions_OptimizeMode_OptimizeMode_MIN = FileOptions_OptimizeMode_SPEED; +const FileOptions_OptimizeMode FileOptions_OptimizeMode_OptimizeMode_MAX = FileOptions_OptimizeMode_LITE_RUNTIME; +const int FileOptions_OptimizeMode_OptimizeMode_ARRAYSIZE = FileOptions_OptimizeMode_OptimizeMode_MAX + 1; + +LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* FileOptions_OptimizeMode_descriptor(); +inline const ::std::string& FileOptions_OptimizeMode_Name(FileOptions_OptimizeMode value) { + return ::google::protobuf::internal::NameOfEnum( + FileOptions_OptimizeMode_descriptor(), value); +} +inline bool FileOptions_OptimizeMode_Parse( + const ::std::string& name, FileOptions_OptimizeMode* value) { + return ::google::protobuf::internal::ParseNamedEnum( + FileOptions_OptimizeMode_descriptor(), name, value); +} +enum FieldOptions_CType { + FieldOptions_CType_STRING = 0, + FieldOptions_CType_CORD = 1, + FieldOptions_CType_STRING_PIECE = 2 +}; +LIBPROTOBUF_EXPORT bool FieldOptions_CType_IsValid(int value); +const FieldOptions_CType FieldOptions_CType_CType_MIN = FieldOptions_CType_STRING; +const FieldOptions_CType FieldOptions_CType_CType_MAX = FieldOptions_CType_STRING_PIECE; +const int FieldOptions_CType_CType_ARRAYSIZE = FieldOptions_CType_CType_MAX + 1; + +LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* FieldOptions_CType_descriptor(); +inline const ::std::string& FieldOptions_CType_Name(FieldOptions_CType value) { + return ::google::protobuf::internal::NameOfEnum( + FieldOptions_CType_descriptor(), value); +} +inline bool FieldOptions_CType_Parse( + const ::std::string& name, FieldOptions_CType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + FieldOptions_CType_descriptor(), name, value); +} +enum FieldOptions_JSType { + FieldOptions_JSType_JS_NORMAL = 0, + FieldOptions_JSType_JS_STRING = 1, + FieldOptions_JSType_JS_NUMBER = 2 +}; +LIBPROTOBUF_EXPORT bool FieldOptions_JSType_IsValid(int value); +const FieldOptions_JSType FieldOptions_JSType_JSType_MIN = FieldOptions_JSType_JS_NORMAL; +const FieldOptions_JSType FieldOptions_JSType_JSType_MAX = FieldOptions_JSType_JS_NUMBER; +const int FieldOptions_JSType_JSType_ARRAYSIZE = FieldOptions_JSType_JSType_MAX + 1; + +LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* FieldOptions_JSType_descriptor(); +inline const ::std::string& FieldOptions_JSType_Name(FieldOptions_JSType value) { + return ::google::protobuf::internal::NameOfEnum( + FieldOptions_JSType_descriptor(), value); +} +inline bool FieldOptions_JSType_Parse( + const ::std::string& name, FieldOptions_JSType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + FieldOptions_JSType_descriptor(), name, value); +} +// =================================================================== + +class LIBPROTOBUF_EXPORT FileDescriptorSet : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.FileDescriptorSet) */ { + public: + FileDescriptorSet(); + virtual ~FileDescriptorSet(); + + FileDescriptorSet(const FileDescriptorSet& from); + + inline FileDescriptorSet& operator=(const FileDescriptorSet& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const FileDescriptorSet& default_instance(); + + static const FileDescriptorSet* internal_default_instance(); + + void Swap(FileDescriptorSet* other); + + // implements Message ---------------------------------------------- + + inline FileDescriptorSet* New() const { return New(NULL); } + + FileDescriptorSet* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const FileDescriptorSet& from); + void MergeFrom(const FileDescriptorSet& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(FileDescriptorSet* other); + void UnsafeMergeFrom(const FileDescriptorSet& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // repeated .google.protobuf.FileDescriptorProto file = 1; + int file_size() const; + void clear_file(); + static const int kFileFieldNumber = 1; + const ::google::protobuf::FileDescriptorProto& file(int index) const; + ::google::protobuf::FileDescriptorProto* mutable_file(int index); + ::google::protobuf::FileDescriptorProto* add_file(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto >* + mutable_file(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto >& + file() const; + + // @@protoc_insertion_point(class_scope:google.protobuf.FileDescriptorSet) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto > file_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed FileDescriptorSet_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT FileDescriptorProto : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.FileDescriptorProto) */ { + public: + FileDescriptorProto(); + virtual ~FileDescriptorProto(); + + FileDescriptorProto(const FileDescriptorProto& from); + + inline FileDescriptorProto& operator=(const FileDescriptorProto& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const FileDescriptorProto& default_instance(); + + static const FileDescriptorProto* internal_default_instance(); + + void Swap(FileDescriptorProto* other); + + // implements Message ---------------------------------------------- + + inline FileDescriptorProto* New() const { return New(NULL); } + + FileDescriptorProto* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const FileDescriptorProto& from); + void MergeFrom(const FileDescriptorProto& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(FileDescriptorProto* other); + void UnsafeMergeFrom(const FileDescriptorProto& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional string name = 1; + bool has_name() const; + void clear_name(); + static const int kNameFieldNumber = 1; + const ::std::string& name() const; + void set_name(const ::std::string& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + ::std::string* mutable_name(); + ::std::string* release_name(); + void set_allocated_name(::std::string* name); + + // optional string package = 2; + bool has_package() const; + void clear_package(); + static const int kPackageFieldNumber = 2; + const ::std::string& package() const; + void set_package(const ::std::string& value); + void set_package(const char* value); + void set_package(const char* value, size_t size); + ::std::string* mutable_package(); + ::std::string* release_package(); + void set_allocated_package(::std::string* package); + + // repeated string dependency = 3; + int dependency_size() const; + void clear_dependency(); + static const int kDependencyFieldNumber = 3; + const ::std::string& dependency(int index) const; + ::std::string* mutable_dependency(int index); + void set_dependency(int index, const ::std::string& value); + void set_dependency(int index, const char* value); + void set_dependency(int index, const char* value, size_t size); + ::std::string* add_dependency(); + void add_dependency(const ::std::string& value); + void add_dependency(const char* value); + void add_dependency(const char* value, size_t size); + const ::google::protobuf::RepeatedPtrField< ::std::string>& dependency() const; + ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_dependency(); + + // repeated int32 public_dependency = 10; + int public_dependency_size() const; + void clear_public_dependency(); + static const int kPublicDependencyFieldNumber = 10; + ::google::protobuf::int32 public_dependency(int index) const; + void set_public_dependency(int index, ::google::protobuf::int32 value); + void add_public_dependency(::google::protobuf::int32 value); + const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >& + public_dependency() const; + ::google::protobuf::RepeatedField< ::google::protobuf::int32 >* + mutable_public_dependency(); + + // repeated int32 weak_dependency = 11; + int weak_dependency_size() const; + void clear_weak_dependency(); + static const int kWeakDependencyFieldNumber = 11; + ::google::protobuf::int32 weak_dependency(int index) const; + void set_weak_dependency(int index, ::google::protobuf::int32 value); + void add_weak_dependency(::google::protobuf::int32 value); + const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >& + weak_dependency() const; + ::google::protobuf::RepeatedField< ::google::protobuf::int32 >* + mutable_weak_dependency(); + + // repeated .google.protobuf.DescriptorProto message_type = 4; + int message_type_size() const; + void clear_message_type(); + static const int kMessageTypeFieldNumber = 4; + const ::google::protobuf::DescriptorProto& message_type(int index) const; + ::google::protobuf::DescriptorProto* mutable_message_type(int index); + ::google::protobuf::DescriptorProto* add_message_type(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >* + mutable_message_type(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >& + message_type() const; + + // repeated .google.protobuf.EnumDescriptorProto enum_type = 5; + int enum_type_size() const; + void clear_enum_type(); + static const int kEnumTypeFieldNumber = 5; + const ::google::protobuf::EnumDescriptorProto& enum_type(int index) const; + ::google::protobuf::EnumDescriptorProto* mutable_enum_type(int index); + ::google::protobuf::EnumDescriptorProto* add_enum_type(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >* + mutable_enum_type(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >& + enum_type() const; + + // repeated .google.protobuf.ServiceDescriptorProto service = 6; + int service_size() const; + void clear_service(); + static const int kServiceFieldNumber = 6; + const ::google::protobuf::ServiceDescriptorProto& service(int index) const; + ::google::protobuf::ServiceDescriptorProto* mutable_service(int index); + ::google::protobuf::ServiceDescriptorProto* add_service(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto >* + mutable_service(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto >& + service() const; + + // repeated .google.protobuf.FieldDescriptorProto extension = 7; + int extension_size() const; + void clear_extension(); + static const int kExtensionFieldNumber = 7; + const ::google::protobuf::FieldDescriptorProto& extension(int index) const; + ::google::protobuf::FieldDescriptorProto* mutable_extension(int index); + ::google::protobuf::FieldDescriptorProto* add_extension(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >* + mutable_extension(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >& + extension() const; + + // optional .google.protobuf.FileOptions options = 8; + bool has_options() const; + void clear_options(); + static const int kOptionsFieldNumber = 8; + const ::google::protobuf::FileOptions& options() const; + ::google::protobuf::FileOptions* mutable_options(); + ::google::protobuf::FileOptions* release_options(); + void set_allocated_options(::google::protobuf::FileOptions* options); + + // optional .google.protobuf.SourceCodeInfo source_code_info = 9; + bool has_source_code_info() const; + void clear_source_code_info(); + static const int kSourceCodeInfoFieldNumber = 9; + const ::google::protobuf::SourceCodeInfo& source_code_info() const; + ::google::protobuf::SourceCodeInfo* mutable_source_code_info(); + ::google::protobuf::SourceCodeInfo* release_source_code_info(); + void set_allocated_source_code_info(::google::protobuf::SourceCodeInfo* source_code_info); + + // optional string syntax = 12; + bool has_syntax() const; + void clear_syntax(); + static const int kSyntaxFieldNumber = 12; + const ::std::string& syntax() const; + void set_syntax(const ::std::string& value); + void set_syntax(const char* value); + void set_syntax(const char* value, size_t size); + ::std::string* mutable_syntax(); + ::std::string* release_syntax(); + void set_allocated_syntax(::std::string* syntax); + + // @@protoc_insertion_point(class_scope:google.protobuf.FileDescriptorProto) + private: + inline void set_has_name(); + inline void clear_has_name(); + inline void set_has_package(); + inline void clear_has_package(); + inline void set_has_options(); + inline void clear_has_options(); + inline void set_has_source_code_info(); + inline void clear_has_source_code_info(); + inline void set_has_syntax(); + inline void clear_has_syntax(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::std::string> dependency_; + ::google::protobuf::RepeatedField< ::google::protobuf::int32 > public_dependency_; + ::google::protobuf::RepeatedField< ::google::protobuf::int32 > weak_dependency_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto > message_type_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto > enum_type_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto > service_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto > extension_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr package_; + ::google::protobuf::internal::ArenaStringPtr syntax_; + ::google::protobuf::FileOptions* options_; + ::google::protobuf::SourceCodeInfo* source_code_info_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed FileDescriptorProto_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT DescriptorProto_ExtensionRange : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.DescriptorProto.ExtensionRange) */ { + public: + DescriptorProto_ExtensionRange(); + virtual ~DescriptorProto_ExtensionRange(); + + DescriptorProto_ExtensionRange(const DescriptorProto_ExtensionRange& from); + + inline DescriptorProto_ExtensionRange& operator=(const DescriptorProto_ExtensionRange& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const DescriptorProto_ExtensionRange& default_instance(); + + static const DescriptorProto_ExtensionRange* internal_default_instance(); + + void Swap(DescriptorProto_ExtensionRange* other); + + // implements Message ---------------------------------------------- + + inline DescriptorProto_ExtensionRange* New() const { return New(NULL); } + + DescriptorProto_ExtensionRange* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const DescriptorProto_ExtensionRange& from); + void MergeFrom(const DescriptorProto_ExtensionRange& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(DescriptorProto_ExtensionRange* other); + void UnsafeMergeFrom(const DescriptorProto_ExtensionRange& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional int32 start = 1; + bool has_start() const; + void clear_start(); + static const int kStartFieldNumber = 1; + ::google::protobuf::int32 start() const; + void set_start(::google::protobuf::int32 value); + + // optional int32 end = 2; + bool has_end() const; + void clear_end(); + static const int kEndFieldNumber = 2; + ::google::protobuf::int32 end() const; + void set_end(::google::protobuf::int32 value); + + // @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto.ExtensionRange) + private: + inline void set_has_start(); + inline void clear_has_start(); + inline void set_has_end(); + inline void clear_has_end(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::int32 start_; + ::google::protobuf::int32 end_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed DescriptorProto_ExtensionRange_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT DescriptorProto_ReservedRange : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.DescriptorProto.ReservedRange) */ { + public: + DescriptorProto_ReservedRange(); + virtual ~DescriptorProto_ReservedRange(); + + DescriptorProto_ReservedRange(const DescriptorProto_ReservedRange& from); + + inline DescriptorProto_ReservedRange& operator=(const DescriptorProto_ReservedRange& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const DescriptorProto_ReservedRange& default_instance(); + + static const DescriptorProto_ReservedRange* internal_default_instance(); + + void Swap(DescriptorProto_ReservedRange* other); + + // implements Message ---------------------------------------------- + + inline DescriptorProto_ReservedRange* New() const { return New(NULL); } + + DescriptorProto_ReservedRange* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const DescriptorProto_ReservedRange& from); + void MergeFrom(const DescriptorProto_ReservedRange& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(DescriptorProto_ReservedRange* other); + void UnsafeMergeFrom(const DescriptorProto_ReservedRange& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional int32 start = 1; + bool has_start() const; + void clear_start(); + static const int kStartFieldNumber = 1; + ::google::protobuf::int32 start() const; + void set_start(::google::protobuf::int32 value); + + // optional int32 end = 2; + bool has_end() const; + void clear_end(); + static const int kEndFieldNumber = 2; + ::google::protobuf::int32 end() const; + void set_end(::google::protobuf::int32 value); + + // @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto.ReservedRange) + private: + inline void set_has_start(); + inline void clear_has_start(); + inline void set_has_end(); + inline void clear_has_end(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::int32 start_; + ::google::protobuf::int32 end_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed DescriptorProto_ReservedRange_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT DescriptorProto : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.DescriptorProto) */ { + public: + DescriptorProto(); + virtual ~DescriptorProto(); + + DescriptorProto(const DescriptorProto& from); + + inline DescriptorProto& operator=(const DescriptorProto& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const DescriptorProto& default_instance(); + + static const DescriptorProto* internal_default_instance(); + + void Swap(DescriptorProto* other); + + // implements Message ---------------------------------------------- + + inline DescriptorProto* New() const { return New(NULL); } + + DescriptorProto* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const DescriptorProto& from); + void MergeFrom(const DescriptorProto& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(DescriptorProto* other); + void UnsafeMergeFrom(const DescriptorProto& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + typedef DescriptorProto_ExtensionRange ExtensionRange; + typedef DescriptorProto_ReservedRange ReservedRange; + + // accessors ------------------------------------------------------- + + // optional string name = 1; + bool has_name() const; + void clear_name(); + static const int kNameFieldNumber = 1; + const ::std::string& name() const; + void set_name(const ::std::string& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + ::std::string* mutable_name(); + ::std::string* release_name(); + void set_allocated_name(::std::string* name); + + // repeated .google.protobuf.FieldDescriptorProto field = 2; + int field_size() const; + void clear_field(); + static const int kFieldFieldNumber = 2; + const ::google::protobuf::FieldDescriptorProto& field(int index) const; + ::google::protobuf::FieldDescriptorProto* mutable_field(int index); + ::google::protobuf::FieldDescriptorProto* add_field(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >* + mutable_field(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >& + field() const; + + // repeated .google.protobuf.FieldDescriptorProto extension = 6; + int extension_size() const; + void clear_extension(); + static const int kExtensionFieldNumber = 6; + const ::google::protobuf::FieldDescriptorProto& extension(int index) const; + ::google::protobuf::FieldDescriptorProto* mutable_extension(int index); + ::google::protobuf::FieldDescriptorProto* add_extension(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >* + mutable_extension(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >& + extension() const; + + // repeated .google.protobuf.DescriptorProto nested_type = 3; + int nested_type_size() const; + void clear_nested_type(); + static const int kNestedTypeFieldNumber = 3; + const ::google::protobuf::DescriptorProto& nested_type(int index) const; + ::google::protobuf::DescriptorProto* mutable_nested_type(int index); + ::google::protobuf::DescriptorProto* add_nested_type(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >* + mutable_nested_type(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >& + nested_type() const; + + // repeated .google.protobuf.EnumDescriptorProto enum_type = 4; + int enum_type_size() const; + void clear_enum_type(); + static const int kEnumTypeFieldNumber = 4; + const ::google::protobuf::EnumDescriptorProto& enum_type(int index) const; + ::google::protobuf::EnumDescriptorProto* mutable_enum_type(int index); + ::google::protobuf::EnumDescriptorProto* add_enum_type(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >* + mutable_enum_type(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >& + enum_type() const; + + // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5; + int extension_range_size() const; + void clear_extension_range(); + static const int kExtensionRangeFieldNumber = 5; + const ::google::protobuf::DescriptorProto_ExtensionRange& extension_range(int index) const; + ::google::protobuf::DescriptorProto_ExtensionRange* mutable_extension_range(int index); + ::google::protobuf::DescriptorProto_ExtensionRange* add_extension_range(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange >* + mutable_extension_range(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange >& + extension_range() const; + + // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8; + int oneof_decl_size() const; + void clear_oneof_decl(); + static const int kOneofDeclFieldNumber = 8; + const ::google::protobuf::OneofDescriptorProto& oneof_decl(int index) const; + ::google::protobuf::OneofDescriptorProto* mutable_oneof_decl(int index); + ::google::protobuf::OneofDescriptorProto* add_oneof_decl(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::OneofDescriptorProto >* + mutable_oneof_decl(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::OneofDescriptorProto >& + oneof_decl() const; + + // optional .google.protobuf.MessageOptions options = 7; + bool has_options() const; + void clear_options(); + static const int kOptionsFieldNumber = 7; + const ::google::protobuf::MessageOptions& options() const; + ::google::protobuf::MessageOptions* mutable_options(); + ::google::protobuf::MessageOptions* release_options(); + void set_allocated_options(::google::protobuf::MessageOptions* options); + + // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9; + int reserved_range_size() const; + void clear_reserved_range(); + static const int kReservedRangeFieldNumber = 9; + const ::google::protobuf::DescriptorProto_ReservedRange& reserved_range(int index) const; + ::google::protobuf::DescriptorProto_ReservedRange* mutable_reserved_range(int index); + ::google::protobuf::DescriptorProto_ReservedRange* add_reserved_range(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ReservedRange >* + mutable_reserved_range(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ReservedRange >& + reserved_range() const; + + // repeated string reserved_name = 10; + int reserved_name_size() const; + void clear_reserved_name(); + static const int kReservedNameFieldNumber = 10; + const ::std::string& reserved_name(int index) const; + ::std::string* mutable_reserved_name(int index); + void set_reserved_name(int index, const ::std::string& value); + void set_reserved_name(int index, const char* value); + void set_reserved_name(int index, const char* value, size_t size); + ::std::string* add_reserved_name(); + void add_reserved_name(const ::std::string& value); + void add_reserved_name(const char* value); + void add_reserved_name(const char* value, size_t size); + const ::google::protobuf::RepeatedPtrField< ::std::string>& reserved_name() const; + ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_reserved_name(); + + // @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto) + private: + inline void set_has_name(); + inline void clear_has_name(); + inline void set_has_options(); + inline void clear_has_options(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto > field_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto > extension_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto > nested_type_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto > enum_type_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange > extension_range_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::OneofDescriptorProto > oneof_decl_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ReservedRange > reserved_range_; + ::google::protobuf::RepeatedPtrField< ::std::string> reserved_name_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::MessageOptions* options_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed DescriptorProto_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT FieldDescriptorProto : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.FieldDescriptorProto) */ { + public: + FieldDescriptorProto(); + virtual ~FieldDescriptorProto(); + + FieldDescriptorProto(const FieldDescriptorProto& from); + + inline FieldDescriptorProto& operator=(const FieldDescriptorProto& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const FieldDescriptorProto& default_instance(); + + static const FieldDescriptorProto* internal_default_instance(); + + void Swap(FieldDescriptorProto* other); + + // implements Message ---------------------------------------------- + + inline FieldDescriptorProto* New() const { return New(NULL); } + + FieldDescriptorProto* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const FieldDescriptorProto& from); + void MergeFrom(const FieldDescriptorProto& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(FieldDescriptorProto* other); + void UnsafeMergeFrom(const FieldDescriptorProto& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + typedef FieldDescriptorProto_Type Type; + static const Type TYPE_DOUBLE = + FieldDescriptorProto_Type_TYPE_DOUBLE; + static const Type TYPE_FLOAT = + FieldDescriptorProto_Type_TYPE_FLOAT; + static const Type TYPE_INT64 = + FieldDescriptorProto_Type_TYPE_INT64; + static const Type TYPE_UINT64 = + FieldDescriptorProto_Type_TYPE_UINT64; + static const Type TYPE_INT32 = + FieldDescriptorProto_Type_TYPE_INT32; + static const Type TYPE_FIXED64 = + FieldDescriptorProto_Type_TYPE_FIXED64; + static const Type TYPE_FIXED32 = + FieldDescriptorProto_Type_TYPE_FIXED32; + static const Type TYPE_BOOL = + FieldDescriptorProto_Type_TYPE_BOOL; + static const Type TYPE_STRING = + FieldDescriptorProto_Type_TYPE_STRING; + static const Type TYPE_GROUP = + FieldDescriptorProto_Type_TYPE_GROUP; + static const Type TYPE_MESSAGE = + FieldDescriptorProto_Type_TYPE_MESSAGE; + static const Type TYPE_BYTES = + FieldDescriptorProto_Type_TYPE_BYTES; + static const Type TYPE_UINT32 = + FieldDescriptorProto_Type_TYPE_UINT32; + static const Type TYPE_ENUM = + FieldDescriptorProto_Type_TYPE_ENUM; + static const Type TYPE_SFIXED32 = + FieldDescriptorProto_Type_TYPE_SFIXED32; + static const Type TYPE_SFIXED64 = + FieldDescriptorProto_Type_TYPE_SFIXED64; + static const Type TYPE_SINT32 = + FieldDescriptorProto_Type_TYPE_SINT32; + static const Type TYPE_SINT64 = + FieldDescriptorProto_Type_TYPE_SINT64; + static inline bool Type_IsValid(int value) { + return FieldDescriptorProto_Type_IsValid(value); + } + static const Type Type_MIN = + FieldDescriptorProto_Type_Type_MIN; + static const Type Type_MAX = + FieldDescriptorProto_Type_Type_MAX; + static const int Type_ARRAYSIZE = + FieldDescriptorProto_Type_Type_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* + Type_descriptor() { + return FieldDescriptorProto_Type_descriptor(); + } + static inline const ::std::string& Type_Name(Type value) { + return FieldDescriptorProto_Type_Name(value); + } + static inline bool Type_Parse(const ::std::string& name, + Type* value) { + return FieldDescriptorProto_Type_Parse(name, value); + } + + typedef FieldDescriptorProto_Label Label; + static const Label LABEL_OPTIONAL = + FieldDescriptorProto_Label_LABEL_OPTIONAL; + static const Label LABEL_REQUIRED = + FieldDescriptorProto_Label_LABEL_REQUIRED; + static const Label LABEL_REPEATED = + FieldDescriptorProto_Label_LABEL_REPEATED; + static inline bool Label_IsValid(int value) { + return FieldDescriptorProto_Label_IsValid(value); + } + static const Label Label_MIN = + FieldDescriptorProto_Label_Label_MIN; + static const Label Label_MAX = + FieldDescriptorProto_Label_Label_MAX; + static const int Label_ARRAYSIZE = + FieldDescriptorProto_Label_Label_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* + Label_descriptor() { + return FieldDescriptorProto_Label_descriptor(); + } + static inline const ::std::string& Label_Name(Label value) { + return FieldDescriptorProto_Label_Name(value); + } + static inline bool Label_Parse(const ::std::string& name, + Label* value) { + return FieldDescriptorProto_Label_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + // optional string name = 1; + bool has_name() const; + void clear_name(); + static const int kNameFieldNumber = 1; + const ::std::string& name() const; + void set_name(const ::std::string& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + ::std::string* mutable_name(); + ::std::string* release_name(); + void set_allocated_name(::std::string* name); + + // optional int32 number = 3; + bool has_number() const; + void clear_number(); + static const int kNumberFieldNumber = 3; + ::google::protobuf::int32 number() const; + void set_number(::google::protobuf::int32 value); + + // optional .google.protobuf.FieldDescriptorProto.Label label = 4; + bool has_label() const; + void clear_label(); + static const int kLabelFieldNumber = 4; + ::google::protobuf::FieldDescriptorProto_Label label() const; + void set_label(::google::protobuf::FieldDescriptorProto_Label value); + + // optional .google.protobuf.FieldDescriptorProto.Type type = 5; + bool has_type() const; + void clear_type(); + static const int kTypeFieldNumber = 5; + ::google::protobuf::FieldDescriptorProto_Type type() const; + void set_type(::google::protobuf::FieldDescriptorProto_Type value); + + // optional string type_name = 6; + bool has_type_name() const; + void clear_type_name(); + static const int kTypeNameFieldNumber = 6; + const ::std::string& type_name() const; + void set_type_name(const ::std::string& value); + void set_type_name(const char* value); + void set_type_name(const char* value, size_t size); + ::std::string* mutable_type_name(); + ::std::string* release_type_name(); + void set_allocated_type_name(::std::string* type_name); + + // optional string extendee = 2; + bool has_extendee() const; + void clear_extendee(); + static const int kExtendeeFieldNumber = 2; + const ::std::string& extendee() const; + void set_extendee(const ::std::string& value); + void set_extendee(const char* value); + void set_extendee(const char* value, size_t size); + ::std::string* mutable_extendee(); + ::std::string* release_extendee(); + void set_allocated_extendee(::std::string* extendee); + + // optional string default_value = 7; + bool has_default_value() const; + void clear_default_value(); + static const int kDefaultValueFieldNumber = 7; + const ::std::string& default_value() const; + void set_default_value(const ::std::string& value); + void set_default_value(const char* value); + void set_default_value(const char* value, size_t size); + ::std::string* mutable_default_value(); + ::std::string* release_default_value(); + void set_allocated_default_value(::std::string* default_value); + + // optional int32 oneof_index = 9; + bool has_oneof_index() const; + void clear_oneof_index(); + static const int kOneofIndexFieldNumber = 9; + ::google::protobuf::int32 oneof_index() const; + void set_oneof_index(::google::protobuf::int32 value); + + // optional string json_name = 10; + bool has_json_name() const; + void clear_json_name(); + static const int kJsonNameFieldNumber = 10; + const ::std::string& json_name() const; + void set_json_name(const ::std::string& value); + void set_json_name(const char* value); + void set_json_name(const char* value, size_t size); + ::std::string* mutable_json_name(); + ::std::string* release_json_name(); + void set_allocated_json_name(::std::string* json_name); + + // optional .google.protobuf.FieldOptions options = 8; + bool has_options() const; + void clear_options(); + static const int kOptionsFieldNumber = 8; + const ::google::protobuf::FieldOptions& options() const; + ::google::protobuf::FieldOptions* mutable_options(); + ::google::protobuf::FieldOptions* release_options(); + void set_allocated_options(::google::protobuf::FieldOptions* options); + + // @@protoc_insertion_point(class_scope:google.protobuf.FieldDescriptorProto) + private: + inline void set_has_name(); + inline void clear_has_name(); + inline void set_has_number(); + inline void clear_has_number(); + inline void set_has_label(); + inline void clear_has_label(); + inline void set_has_type(); + inline void clear_has_type(); + inline void set_has_type_name(); + inline void clear_has_type_name(); + inline void set_has_extendee(); + inline void clear_has_extendee(); + inline void set_has_default_value(); + inline void clear_has_default_value(); + inline void set_has_oneof_index(); + inline void clear_has_oneof_index(); + inline void set_has_json_name(); + inline void clear_has_json_name(); + inline void set_has_options(); + inline void clear_has_options(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr type_name_; + ::google::protobuf::internal::ArenaStringPtr extendee_; + ::google::protobuf::internal::ArenaStringPtr default_value_; + ::google::protobuf::internal::ArenaStringPtr json_name_; + ::google::protobuf::FieldOptions* options_; + ::google::protobuf::int32 number_; + ::google::protobuf::int32 oneof_index_; + int label_; + int type_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed FieldDescriptorProto_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT OneofDescriptorProto : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.OneofDescriptorProto) */ { + public: + OneofDescriptorProto(); + virtual ~OneofDescriptorProto(); + + OneofDescriptorProto(const OneofDescriptorProto& from); + + inline OneofDescriptorProto& operator=(const OneofDescriptorProto& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const OneofDescriptorProto& default_instance(); + + static const OneofDescriptorProto* internal_default_instance(); + + void Swap(OneofDescriptorProto* other); + + // implements Message ---------------------------------------------- + + inline OneofDescriptorProto* New() const { return New(NULL); } + + OneofDescriptorProto* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const OneofDescriptorProto& from); + void MergeFrom(const OneofDescriptorProto& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(OneofDescriptorProto* other); + void UnsafeMergeFrom(const OneofDescriptorProto& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional string name = 1; + bool has_name() const; + void clear_name(); + static const int kNameFieldNumber = 1; + const ::std::string& name() const; + void set_name(const ::std::string& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + ::std::string* mutable_name(); + ::std::string* release_name(); + void set_allocated_name(::std::string* name); + + // optional .google.protobuf.OneofOptions options = 2; + bool has_options() const; + void clear_options(); + static const int kOptionsFieldNumber = 2; + const ::google::protobuf::OneofOptions& options() const; + ::google::protobuf::OneofOptions* mutable_options(); + ::google::protobuf::OneofOptions* release_options(); + void set_allocated_options(::google::protobuf::OneofOptions* options); + + // @@protoc_insertion_point(class_scope:google.protobuf.OneofDescriptorProto) + private: + inline void set_has_name(); + inline void clear_has_name(); + inline void set_has_options(); + inline void clear_has_options(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::OneofOptions* options_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed OneofDescriptorProto_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT EnumDescriptorProto : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.EnumDescriptorProto) */ { + public: + EnumDescriptorProto(); + virtual ~EnumDescriptorProto(); + + EnumDescriptorProto(const EnumDescriptorProto& from); + + inline EnumDescriptorProto& operator=(const EnumDescriptorProto& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const EnumDescriptorProto& default_instance(); + + static const EnumDescriptorProto* internal_default_instance(); + + void Swap(EnumDescriptorProto* other); + + // implements Message ---------------------------------------------- + + inline EnumDescriptorProto* New() const { return New(NULL); } + + EnumDescriptorProto* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const EnumDescriptorProto& from); + void MergeFrom(const EnumDescriptorProto& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(EnumDescriptorProto* other); + void UnsafeMergeFrom(const EnumDescriptorProto& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional string name = 1; + bool has_name() const; + void clear_name(); + static const int kNameFieldNumber = 1; + const ::std::string& name() const; + void set_name(const ::std::string& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + ::std::string* mutable_name(); + ::std::string* release_name(); + void set_allocated_name(::std::string* name); + + // repeated .google.protobuf.EnumValueDescriptorProto value = 2; + int value_size() const; + void clear_value(); + static const int kValueFieldNumber = 2; + const ::google::protobuf::EnumValueDescriptorProto& value(int index) const; + ::google::protobuf::EnumValueDescriptorProto* mutable_value(int index); + ::google::protobuf::EnumValueDescriptorProto* add_value(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto >* + mutable_value(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto >& + value() const; + + // optional .google.protobuf.EnumOptions options = 3; + bool has_options() const; + void clear_options(); + static const int kOptionsFieldNumber = 3; + const ::google::protobuf::EnumOptions& options() const; + ::google::protobuf::EnumOptions* mutable_options(); + ::google::protobuf::EnumOptions* release_options(); + void set_allocated_options(::google::protobuf::EnumOptions* options); + + // @@protoc_insertion_point(class_scope:google.protobuf.EnumDescriptorProto) + private: + inline void set_has_name(); + inline void clear_has_name(); + inline void set_has_options(); + inline void clear_has_options(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto > value_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::EnumOptions* options_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed EnumDescriptorProto_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT EnumValueDescriptorProto : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.EnumValueDescriptorProto) */ { + public: + EnumValueDescriptorProto(); + virtual ~EnumValueDescriptorProto(); + + EnumValueDescriptorProto(const EnumValueDescriptorProto& from); + + inline EnumValueDescriptorProto& operator=(const EnumValueDescriptorProto& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const EnumValueDescriptorProto& default_instance(); + + static const EnumValueDescriptorProto* internal_default_instance(); + + void Swap(EnumValueDescriptorProto* other); + + // implements Message ---------------------------------------------- + + inline EnumValueDescriptorProto* New() const { return New(NULL); } + + EnumValueDescriptorProto* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const EnumValueDescriptorProto& from); + void MergeFrom(const EnumValueDescriptorProto& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(EnumValueDescriptorProto* other); + void UnsafeMergeFrom(const EnumValueDescriptorProto& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional string name = 1; + bool has_name() const; + void clear_name(); + static const int kNameFieldNumber = 1; + const ::std::string& name() const; + void set_name(const ::std::string& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + ::std::string* mutable_name(); + ::std::string* release_name(); + void set_allocated_name(::std::string* name); + + // optional int32 number = 2; + bool has_number() const; + void clear_number(); + static const int kNumberFieldNumber = 2; + ::google::protobuf::int32 number() const; + void set_number(::google::protobuf::int32 value); + + // optional .google.protobuf.EnumValueOptions options = 3; + bool has_options() const; + void clear_options(); + static const int kOptionsFieldNumber = 3; + const ::google::protobuf::EnumValueOptions& options() const; + ::google::protobuf::EnumValueOptions* mutable_options(); + ::google::protobuf::EnumValueOptions* release_options(); + void set_allocated_options(::google::protobuf::EnumValueOptions* options); + + // @@protoc_insertion_point(class_scope:google.protobuf.EnumValueDescriptorProto) + private: + inline void set_has_name(); + inline void clear_has_name(); + inline void set_has_number(); + inline void clear_has_number(); + inline void set_has_options(); + inline void clear_has_options(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::EnumValueOptions* options_; + ::google::protobuf::int32 number_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed EnumValueDescriptorProto_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT ServiceDescriptorProto : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.ServiceDescriptorProto) */ { + public: + ServiceDescriptorProto(); + virtual ~ServiceDescriptorProto(); + + ServiceDescriptorProto(const ServiceDescriptorProto& from); + + inline ServiceDescriptorProto& operator=(const ServiceDescriptorProto& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const ServiceDescriptorProto& default_instance(); + + static const ServiceDescriptorProto* internal_default_instance(); + + void Swap(ServiceDescriptorProto* other); + + // implements Message ---------------------------------------------- + + inline ServiceDescriptorProto* New() const { return New(NULL); } + + ServiceDescriptorProto* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const ServiceDescriptorProto& from); + void MergeFrom(const ServiceDescriptorProto& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(ServiceDescriptorProto* other); + void UnsafeMergeFrom(const ServiceDescriptorProto& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional string name = 1; + bool has_name() const; + void clear_name(); + static const int kNameFieldNumber = 1; + const ::std::string& name() const; + void set_name(const ::std::string& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + ::std::string* mutable_name(); + ::std::string* release_name(); + void set_allocated_name(::std::string* name); + + // repeated .google.protobuf.MethodDescriptorProto method = 2; + int method_size() const; + void clear_method(); + static const int kMethodFieldNumber = 2; + const ::google::protobuf::MethodDescriptorProto& method(int index) const; + ::google::protobuf::MethodDescriptorProto* mutable_method(int index); + ::google::protobuf::MethodDescriptorProto* add_method(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto >* + mutable_method(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto >& + method() const; + + // optional .google.protobuf.ServiceOptions options = 3; + bool has_options() const; + void clear_options(); + static const int kOptionsFieldNumber = 3; + const ::google::protobuf::ServiceOptions& options() const; + ::google::protobuf::ServiceOptions* mutable_options(); + ::google::protobuf::ServiceOptions* release_options(); + void set_allocated_options(::google::protobuf::ServiceOptions* options); + + // @@protoc_insertion_point(class_scope:google.protobuf.ServiceDescriptorProto) + private: + inline void set_has_name(); + inline void clear_has_name(); + inline void set_has_options(); + inline void clear_has_options(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto > method_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::ServiceOptions* options_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed ServiceDescriptorProto_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT MethodDescriptorProto : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.MethodDescriptorProto) */ { + public: + MethodDescriptorProto(); + virtual ~MethodDescriptorProto(); + + MethodDescriptorProto(const MethodDescriptorProto& from); + + inline MethodDescriptorProto& operator=(const MethodDescriptorProto& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const MethodDescriptorProto& default_instance(); + + static const MethodDescriptorProto* internal_default_instance(); + + void Swap(MethodDescriptorProto* other); + + // implements Message ---------------------------------------------- + + inline MethodDescriptorProto* New() const { return New(NULL); } + + MethodDescriptorProto* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const MethodDescriptorProto& from); + void MergeFrom(const MethodDescriptorProto& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(MethodDescriptorProto* other); + void UnsafeMergeFrom(const MethodDescriptorProto& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional string name = 1; + bool has_name() const; + void clear_name(); + static const int kNameFieldNumber = 1; + const ::std::string& name() const; + void set_name(const ::std::string& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + ::std::string* mutable_name(); + ::std::string* release_name(); + void set_allocated_name(::std::string* name); + + // optional string input_type = 2; + bool has_input_type() const; + void clear_input_type(); + static const int kInputTypeFieldNumber = 2; + const ::std::string& input_type() const; + void set_input_type(const ::std::string& value); + void set_input_type(const char* value); + void set_input_type(const char* value, size_t size); + ::std::string* mutable_input_type(); + ::std::string* release_input_type(); + void set_allocated_input_type(::std::string* input_type); + + // optional string output_type = 3; + bool has_output_type() const; + void clear_output_type(); + static const int kOutputTypeFieldNumber = 3; + const ::std::string& output_type() const; + void set_output_type(const ::std::string& value); + void set_output_type(const char* value); + void set_output_type(const char* value, size_t size); + ::std::string* mutable_output_type(); + ::std::string* release_output_type(); + void set_allocated_output_type(::std::string* output_type); + + // optional .google.protobuf.MethodOptions options = 4; + bool has_options() const; + void clear_options(); + static const int kOptionsFieldNumber = 4; + const ::google::protobuf::MethodOptions& options() const; + ::google::protobuf::MethodOptions* mutable_options(); + ::google::protobuf::MethodOptions* release_options(); + void set_allocated_options(::google::protobuf::MethodOptions* options); + + // optional bool client_streaming = 5 [default = false]; + bool has_client_streaming() const; + void clear_client_streaming(); + static const int kClientStreamingFieldNumber = 5; + bool client_streaming() const; + void set_client_streaming(bool value); + + // optional bool server_streaming = 6 [default = false]; + bool has_server_streaming() const; + void clear_server_streaming(); + static const int kServerStreamingFieldNumber = 6; + bool server_streaming() const; + void set_server_streaming(bool value); + + // @@protoc_insertion_point(class_scope:google.protobuf.MethodDescriptorProto) + private: + inline void set_has_name(); + inline void clear_has_name(); + inline void set_has_input_type(); + inline void clear_has_input_type(); + inline void set_has_output_type(); + inline void clear_has_output_type(); + inline void set_has_options(); + inline void clear_has_options(); + inline void set_has_client_streaming(); + inline void clear_has_client_streaming(); + inline void set_has_server_streaming(); + inline void clear_has_server_streaming(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr input_type_; + ::google::protobuf::internal::ArenaStringPtr output_type_; + ::google::protobuf::MethodOptions* options_; + bool client_streaming_; + bool server_streaming_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed MethodDescriptorProto_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT FileOptions : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.FileOptions) */ { + public: + FileOptions(); + virtual ~FileOptions(); + + FileOptions(const FileOptions& from); + + inline FileOptions& operator=(const FileOptions& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const FileOptions& default_instance(); + + static const FileOptions* internal_default_instance(); + + void Swap(FileOptions* other); + + // implements Message ---------------------------------------------- + + inline FileOptions* New() const { return New(NULL); } + + FileOptions* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const FileOptions& from); + void MergeFrom(const FileOptions& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(FileOptions* other); + void UnsafeMergeFrom(const FileOptions& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + typedef FileOptions_OptimizeMode OptimizeMode; + static const OptimizeMode SPEED = + FileOptions_OptimizeMode_SPEED; + static const OptimizeMode CODE_SIZE = + FileOptions_OptimizeMode_CODE_SIZE; + static const OptimizeMode LITE_RUNTIME = + FileOptions_OptimizeMode_LITE_RUNTIME; + static inline bool OptimizeMode_IsValid(int value) { + return FileOptions_OptimizeMode_IsValid(value); + } + static const OptimizeMode OptimizeMode_MIN = + FileOptions_OptimizeMode_OptimizeMode_MIN; + static const OptimizeMode OptimizeMode_MAX = + FileOptions_OptimizeMode_OptimizeMode_MAX; + static const int OptimizeMode_ARRAYSIZE = + FileOptions_OptimizeMode_OptimizeMode_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* + OptimizeMode_descriptor() { + return FileOptions_OptimizeMode_descriptor(); + } + static inline const ::std::string& OptimizeMode_Name(OptimizeMode value) { + return FileOptions_OptimizeMode_Name(value); + } + static inline bool OptimizeMode_Parse(const ::std::string& name, + OptimizeMode* value) { + return FileOptions_OptimizeMode_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + // optional string java_package = 1; + bool has_java_package() const; + void clear_java_package(); + static const int kJavaPackageFieldNumber = 1; + const ::std::string& java_package() const; + void set_java_package(const ::std::string& value); + void set_java_package(const char* value); + void set_java_package(const char* value, size_t size); + ::std::string* mutable_java_package(); + ::std::string* release_java_package(); + void set_allocated_java_package(::std::string* java_package); + + // optional string java_outer_classname = 8; + bool has_java_outer_classname() const; + void clear_java_outer_classname(); + static const int kJavaOuterClassnameFieldNumber = 8; + const ::std::string& java_outer_classname() const; + void set_java_outer_classname(const ::std::string& value); + void set_java_outer_classname(const char* value); + void set_java_outer_classname(const char* value, size_t size); + ::std::string* mutable_java_outer_classname(); + ::std::string* release_java_outer_classname(); + void set_allocated_java_outer_classname(::std::string* java_outer_classname); + + // optional bool java_multiple_files = 10 [default = false]; + bool has_java_multiple_files() const; + void clear_java_multiple_files(); + static const int kJavaMultipleFilesFieldNumber = 10; + bool java_multiple_files() const; + void set_java_multiple_files(bool value); + + // optional bool java_generate_equals_and_hash = 20 [deprecated = true]; + GOOGLE_PROTOBUF_DEPRECATED_ATTR bool has_java_generate_equals_and_hash() const; + GOOGLE_PROTOBUF_DEPRECATED_ATTR void clear_java_generate_equals_and_hash(); + GOOGLE_PROTOBUF_DEPRECATED_ATTR static const int kJavaGenerateEqualsAndHashFieldNumber = 20; + GOOGLE_PROTOBUF_DEPRECATED_ATTR bool java_generate_equals_and_hash() const; + GOOGLE_PROTOBUF_DEPRECATED_ATTR void set_java_generate_equals_and_hash(bool value); + + // optional bool java_string_check_utf8 = 27 [default = false]; + bool has_java_string_check_utf8() const; + void clear_java_string_check_utf8(); + static const int kJavaStringCheckUtf8FieldNumber = 27; + bool java_string_check_utf8() const; + void set_java_string_check_utf8(bool value); + + // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED]; + bool has_optimize_for() const; + void clear_optimize_for(); + static const int kOptimizeForFieldNumber = 9; + ::google::protobuf::FileOptions_OptimizeMode optimize_for() const; + void set_optimize_for(::google::protobuf::FileOptions_OptimizeMode value); + + // optional string go_package = 11; + bool has_go_package() const; + void clear_go_package(); + static const int kGoPackageFieldNumber = 11; + const ::std::string& go_package() const; + void set_go_package(const ::std::string& value); + void set_go_package(const char* value); + void set_go_package(const char* value, size_t size); + ::std::string* mutable_go_package(); + ::std::string* release_go_package(); + void set_allocated_go_package(::std::string* go_package); + + // optional bool cc_generic_services = 16 [default = false]; + bool has_cc_generic_services() const; + void clear_cc_generic_services(); + static const int kCcGenericServicesFieldNumber = 16; + bool cc_generic_services() const; + void set_cc_generic_services(bool value); + + // optional bool java_generic_services = 17 [default = false]; + bool has_java_generic_services() const; + void clear_java_generic_services(); + static const int kJavaGenericServicesFieldNumber = 17; + bool java_generic_services() const; + void set_java_generic_services(bool value); + + // optional bool py_generic_services = 18 [default = false]; + bool has_py_generic_services() const; + void clear_py_generic_services(); + static const int kPyGenericServicesFieldNumber = 18; + bool py_generic_services() const; + void set_py_generic_services(bool value); + + // optional bool deprecated = 23 [default = false]; + bool has_deprecated() const; + void clear_deprecated(); + static const int kDeprecatedFieldNumber = 23; + bool deprecated() const; + void set_deprecated(bool value); + + // optional bool cc_enable_arenas = 31 [default = false]; + bool has_cc_enable_arenas() const; + void clear_cc_enable_arenas(); + static const int kCcEnableArenasFieldNumber = 31; + bool cc_enable_arenas() const; + void set_cc_enable_arenas(bool value); + + // optional string objc_class_prefix = 36; + bool has_objc_class_prefix() const; + void clear_objc_class_prefix(); + static const int kObjcClassPrefixFieldNumber = 36; + const ::std::string& objc_class_prefix() const; + void set_objc_class_prefix(const ::std::string& value); + void set_objc_class_prefix(const char* value); + void set_objc_class_prefix(const char* value, size_t size); + ::std::string* mutable_objc_class_prefix(); + ::std::string* release_objc_class_prefix(); + void set_allocated_objc_class_prefix(::std::string* objc_class_prefix); + + // optional string csharp_namespace = 37; + bool has_csharp_namespace() const; + void clear_csharp_namespace(); + static const int kCsharpNamespaceFieldNumber = 37; + const ::std::string& csharp_namespace() const; + void set_csharp_namespace(const ::std::string& value); + void set_csharp_namespace(const char* value); + void set_csharp_namespace(const char* value, size_t size); + ::std::string* mutable_csharp_namespace(); + ::std::string* release_csharp_namespace(); + void set_allocated_csharp_namespace(::std::string* csharp_namespace); + + // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; + int uninterpreted_option_size() const; + void clear_uninterpreted_option(); + static const int kUninterpretedOptionFieldNumber = 999; + const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const; + ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index); + ::google::protobuf::UninterpretedOption* add_uninterpreted_option(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >* + mutable_uninterpreted_option(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >& + uninterpreted_option() const; + + GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(FileOptions) + // @@protoc_insertion_point(class_scope:google.protobuf.FileOptions) + private: + inline void set_has_java_package(); + inline void clear_has_java_package(); + inline void set_has_java_outer_classname(); + inline void clear_has_java_outer_classname(); + inline void set_has_java_multiple_files(); + inline void clear_has_java_multiple_files(); + inline void set_has_java_generate_equals_and_hash(); + inline void clear_has_java_generate_equals_and_hash(); + inline void set_has_java_string_check_utf8(); + inline void clear_has_java_string_check_utf8(); + inline void set_has_optimize_for(); + inline void clear_has_optimize_for(); + inline void set_has_go_package(); + inline void clear_has_go_package(); + inline void set_has_cc_generic_services(); + inline void clear_has_cc_generic_services(); + inline void set_has_java_generic_services(); + inline void clear_has_java_generic_services(); + inline void set_has_py_generic_services(); + inline void clear_has_py_generic_services(); + inline void set_has_deprecated(); + inline void clear_has_deprecated(); + inline void set_has_cc_enable_arenas(); + inline void clear_has_cc_enable_arenas(); + inline void set_has_objc_class_prefix(); + inline void clear_has_objc_class_prefix(); + inline void set_has_csharp_namespace(); + inline void clear_has_csharp_namespace(); + + ::google::protobuf::internal::ExtensionSet _extensions_; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_; + ::google::protobuf::internal::ArenaStringPtr java_package_; + ::google::protobuf::internal::ArenaStringPtr java_outer_classname_; + ::google::protobuf::internal::ArenaStringPtr go_package_; + ::google::protobuf::internal::ArenaStringPtr objc_class_prefix_; + ::google::protobuf::internal::ArenaStringPtr csharp_namespace_; + bool java_multiple_files_; + bool java_generate_equals_and_hash_; + bool java_string_check_utf8_; + bool cc_generic_services_; + bool java_generic_services_; + bool py_generic_services_; + bool deprecated_; + bool cc_enable_arenas_; + int optimize_for_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed FileOptions_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT MessageOptions : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.MessageOptions) */ { + public: + MessageOptions(); + virtual ~MessageOptions(); + + MessageOptions(const MessageOptions& from); + + inline MessageOptions& operator=(const MessageOptions& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const MessageOptions& default_instance(); + + static const MessageOptions* internal_default_instance(); + + void Swap(MessageOptions* other); + + // implements Message ---------------------------------------------- + + inline MessageOptions* New() const { return New(NULL); } + + MessageOptions* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const MessageOptions& from); + void MergeFrom(const MessageOptions& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(MessageOptions* other); + void UnsafeMergeFrom(const MessageOptions& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional bool message_set_wire_format = 1 [default = false]; + bool has_message_set_wire_format() const; + void clear_message_set_wire_format(); + static const int kMessageSetWireFormatFieldNumber = 1; + bool message_set_wire_format() const; + void set_message_set_wire_format(bool value); + + // optional bool no_standard_descriptor_accessor = 2 [default = false]; + bool has_no_standard_descriptor_accessor() const; + void clear_no_standard_descriptor_accessor(); + static const int kNoStandardDescriptorAccessorFieldNumber = 2; + bool no_standard_descriptor_accessor() const; + void set_no_standard_descriptor_accessor(bool value); + + // optional bool deprecated = 3 [default = false]; + bool has_deprecated() const; + void clear_deprecated(); + static const int kDeprecatedFieldNumber = 3; + bool deprecated() const; + void set_deprecated(bool value); + + // optional bool map_entry = 7; + bool has_map_entry() const; + void clear_map_entry(); + static const int kMapEntryFieldNumber = 7; + bool map_entry() const; + void set_map_entry(bool value); + + // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; + int uninterpreted_option_size() const; + void clear_uninterpreted_option(); + static const int kUninterpretedOptionFieldNumber = 999; + const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const; + ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index); + ::google::protobuf::UninterpretedOption* add_uninterpreted_option(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >* + mutable_uninterpreted_option(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >& + uninterpreted_option() const; + + GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(MessageOptions) + // @@protoc_insertion_point(class_scope:google.protobuf.MessageOptions) + private: + inline void set_has_message_set_wire_format(); + inline void clear_has_message_set_wire_format(); + inline void set_has_no_standard_descriptor_accessor(); + inline void clear_has_no_standard_descriptor_accessor(); + inline void set_has_deprecated(); + inline void clear_has_deprecated(); + inline void set_has_map_entry(); + inline void clear_has_map_entry(); + + ::google::protobuf::internal::ExtensionSet _extensions_; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_; + bool message_set_wire_format_; + bool no_standard_descriptor_accessor_; + bool deprecated_; + bool map_entry_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed MessageOptions_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT FieldOptions : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.FieldOptions) */ { + public: + FieldOptions(); + virtual ~FieldOptions(); + + FieldOptions(const FieldOptions& from); + + inline FieldOptions& operator=(const FieldOptions& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const FieldOptions& default_instance(); + + static const FieldOptions* internal_default_instance(); + + void Swap(FieldOptions* other); + + // implements Message ---------------------------------------------- + + inline FieldOptions* New() const { return New(NULL); } + + FieldOptions* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const FieldOptions& from); + void MergeFrom(const FieldOptions& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(FieldOptions* other); + void UnsafeMergeFrom(const FieldOptions& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + typedef FieldOptions_CType CType; + static const CType STRING = + FieldOptions_CType_STRING; + static const CType CORD = + FieldOptions_CType_CORD; + static const CType STRING_PIECE = + FieldOptions_CType_STRING_PIECE; + static inline bool CType_IsValid(int value) { + return FieldOptions_CType_IsValid(value); + } + static const CType CType_MIN = + FieldOptions_CType_CType_MIN; + static const CType CType_MAX = + FieldOptions_CType_CType_MAX; + static const int CType_ARRAYSIZE = + FieldOptions_CType_CType_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* + CType_descriptor() { + return FieldOptions_CType_descriptor(); + } + static inline const ::std::string& CType_Name(CType value) { + return FieldOptions_CType_Name(value); + } + static inline bool CType_Parse(const ::std::string& name, + CType* value) { + return FieldOptions_CType_Parse(name, value); + } + + typedef FieldOptions_JSType JSType; + static const JSType JS_NORMAL = + FieldOptions_JSType_JS_NORMAL; + static const JSType JS_STRING = + FieldOptions_JSType_JS_STRING; + static const JSType JS_NUMBER = + FieldOptions_JSType_JS_NUMBER; + static inline bool JSType_IsValid(int value) { + return FieldOptions_JSType_IsValid(value); + } + static const JSType JSType_MIN = + FieldOptions_JSType_JSType_MIN; + static const JSType JSType_MAX = + FieldOptions_JSType_JSType_MAX; + static const int JSType_ARRAYSIZE = + FieldOptions_JSType_JSType_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* + JSType_descriptor() { + return FieldOptions_JSType_descriptor(); + } + static inline const ::std::string& JSType_Name(JSType value) { + return FieldOptions_JSType_Name(value); + } + static inline bool JSType_Parse(const ::std::string& name, + JSType* value) { + return FieldOptions_JSType_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING]; + bool has_ctype() const; + void clear_ctype(); + static const int kCtypeFieldNumber = 1; + ::google::protobuf::FieldOptions_CType ctype() const; + void set_ctype(::google::protobuf::FieldOptions_CType value); + + // optional bool packed = 2; + bool has_packed() const; + void clear_packed(); + static const int kPackedFieldNumber = 2; + bool packed() const; + void set_packed(bool value); + + // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL]; + bool has_jstype() const; + void clear_jstype(); + static const int kJstypeFieldNumber = 6; + ::google::protobuf::FieldOptions_JSType jstype() const; + void set_jstype(::google::protobuf::FieldOptions_JSType value); + + // optional bool lazy = 5 [default = false]; + bool has_lazy() const; + void clear_lazy(); + static const int kLazyFieldNumber = 5; + bool lazy() const; + void set_lazy(bool value); + + // optional bool deprecated = 3 [default = false]; + bool has_deprecated() const; + void clear_deprecated(); + static const int kDeprecatedFieldNumber = 3; + bool deprecated() const; + void set_deprecated(bool value); + + // optional bool weak = 10 [default = false]; + bool has_weak() const; + void clear_weak(); + static const int kWeakFieldNumber = 10; + bool weak() const; + void set_weak(bool value); + + // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; + int uninterpreted_option_size() const; + void clear_uninterpreted_option(); + static const int kUninterpretedOptionFieldNumber = 999; + const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const; + ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index); + ::google::protobuf::UninterpretedOption* add_uninterpreted_option(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >* + mutable_uninterpreted_option(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >& + uninterpreted_option() const; + + GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(FieldOptions) + // @@protoc_insertion_point(class_scope:google.protobuf.FieldOptions) + private: + inline void set_has_ctype(); + inline void clear_has_ctype(); + inline void set_has_packed(); + inline void clear_has_packed(); + inline void set_has_jstype(); + inline void clear_has_jstype(); + inline void set_has_lazy(); + inline void clear_has_lazy(); + inline void set_has_deprecated(); + inline void clear_has_deprecated(); + inline void set_has_weak(); + inline void clear_has_weak(); + + ::google::protobuf::internal::ExtensionSet _extensions_; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_; + int ctype_; + int jstype_; + bool packed_; + bool lazy_; + bool deprecated_; + bool weak_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed FieldOptions_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT OneofOptions : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.OneofOptions) */ { + public: + OneofOptions(); + virtual ~OneofOptions(); + + OneofOptions(const OneofOptions& from); + + inline OneofOptions& operator=(const OneofOptions& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const OneofOptions& default_instance(); + + static const OneofOptions* internal_default_instance(); + + void Swap(OneofOptions* other); + + // implements Message ---------------------------------------------- + + inline OneofOptions* New() const { return New(NULL); } + + OneofOptions* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const OneofOptions& from); + void MergeFrom(const OneofOptions& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(OneofOptions* other); + void UnsafeMergeFrom(const OneofOptions& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; + int uninterpreted_option_size() const; + void clear_uninterpreted_option(); + static const int kUninterpretedOptionFieldNumber = 999; + const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const; + ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index); + ::google::protobuf::UninterpretedOption* add_uninterpreted_option(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >* + mutable_uninterpreted_option(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >& + uninterpreted_option() const; + + GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(OneofOptions) + // @@protoc_insertion_point(class_scope:google.protobuf.OneofOptions) + private: + + ::google::protobuf::internal::ExtensionSet _extensions_; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed OneofOptions_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT EnumOptions : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.EnumOptions) */ { + public: + EnumOptions(); + virtual ~EnumOptions(); + + EnumOptions(const EnumOptions& from); + + inline EnumOptions& operator=(const EnumOptions& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const EnumOptions& default_instance(); + + static const EnumOptions* internal_default_instance(); + + void Swap(EnumOptions* other); + + // implements Message ---------------------------------------------- + + inline EnumOptions* New() const { return New(NULL); } + + EnumOptions* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const EnumOptions& from); + void MergeFrom(const EnumOptions& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(EnumOptions* other); + void UnsafeMergeFrom(const EnumOptions& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional bool allow_alias = 2; + bool has_allow_alias() const; + void clear_allow_alias(); + static const int kAllowAliasFieldNumber = 2; + bool allow_alias() const; + void set_allow_alias(bool value); + + // optional bool deprecated = 3 [default = false]; + bool has_deprecated() const; + void clear_deprecated(); + static const int kDeprecatedFieldNumber = 3; + bool deprecated() const; + void set_deprecated(bool value); + + // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; + int uninterpreted_option_size() const; + void clear_uninterpreted_option(); + static const int kUninterpretedOptionFieldNumber = 999; + const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const; + ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index); + ::google::protobuf::UninterpretedOption* add_uninterpreted_option(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >* + mutable_uninterpreted_option(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >& + uninterpreted_option() const; + + GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(EnumOptions) + // @@protoc_insertion_point(class_scope:google.protobuf.EnumOptions) + private: + inline void set_has_allow_alias(); + inline void clear_has_allow_alias(); + inline void set_has_deprecated(); + inline void clear_has_deprecated(); + + ::google::protobuf::internal::ExtensionSet _extensions_; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_; + bool allow_alias_; + bool deprecated_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed EnumOptions_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT EnumValueOptions : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.EnumValueOptions) */ { + public: + EnumValueOptions(); + virtual ~EnumValueOptions(); + + EnumValueOptions(const EnumValueOptions& from); + + inline EnumValueOptions& operator=(const EnumValueOptions& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const EnumValueOptions& default_instance(); + + static const EnumValueOptions* internal_default_instance(); + + void Swap(EnumValueOptions* other); + + // implements Message ---------------------------------------------- + + inline EnumValueOptions* New() const { return New(NULL); } + + EnumValueOptions* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const EnumValueOptions& from); + void MergeFrom(const EnumValueOptions& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(EnumValueOptions* other); + void UnsafeMergeFrom(const EnumValueOptions& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional bool deprecated = 1 [default = false]; + bool has_deprecated() const; + void clear_deprecated(); + static const int kDeprecatedFieldNumber = 1; + bool deprecated() const; + void set_deprecated(bool value); + + // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; + int uninterpreted_option_size() const; + void clear_uninterpreted_option(); + static const int kUninterpretedOptionFieldNumber = 999; + const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const; + ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index); + ::google::protobuf::UninterpretedOption* add_uninterpreted_option(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >* + mutable_uninterpreted_option(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >& + uninterpreted_option() const; + + GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(EnumValueOptions) + // @@protoc_insertion_point(class_scope:google.protobuf.EnumValueOptions) + private: + inline void set_has_deprecated(); + inline void clear_has_deprecated(); + + ::google::protobuf::internal::ExtensionSet _extensions_; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_; + bool deprecated_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed EnumValueOptions_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT ServiceOptions : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.ServiceOptions) */ { + public: + ServiceOptions(); + virtual ~ServiceOptions(); + + ServiceOptions(const ServiceOptions& from); + + inline ServiceOptions& operator=(const ServiceOptions& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const ServiceOptions& default_instance(); + + static const ServiceOptions* internal_default_instance(); + + void Swap(ServiceOptions* other); + + // implements Message ---------------------------------------------- + + inline ServiceOptions* New() const { return New(NULL); } + + ServiceOptions* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const ServiceOptions& from); + void MergeFrom(const ServiceOptions& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(ServiceOptions* other); + void UnsafeMergeFrom(const ServiceOptions& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional bool deprecated = 33 [default = false]; + bool has_deprecated() const; + void clear_deprecated(); + static const int kDeprecatedFieldNumber = 33; + bool deprecated() const; + void set_deprecated(bool value); + + // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; + int uninterpreted_option_size() const; + void clear_uninterpreted_option(); + static const int kUninterpretedOptionFieldNumber = 999; + const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const; + ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index); + ::google::protobuf::UninterpretedOption* add_uninterpreted_option(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >* + mutable_uninterpreted_option(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >& + uninterpreted_option() const; + + GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(ServiceOptions) + // @@protoc_insertion_point(class_scope:google.protobuf.ServiceOptions) + private: + inline void set_has_deprecated(); + inline void clear_has_deprecated(); + + ::google::protobuf::internal::ExtensionSet _extensions_; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_; + bool deprecated_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed ServiceOptions_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT MethodOptions : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.MethodOptions) */ { + public: + MethodOptions(); + virtual ~MethodOptions(); + + MethodOptions(const MethodOptions& from); + + inline MethodOptions& operator=(const MethodOptions& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const MethodOptions& default_instance(); + + static const MethodOptions* internal_default_instance(); + + void Swap(MethodOptions* other); + + // implements Message ---------------------------------------------- + + inline MethodOptions* New() const { return New(NULL); } + + MethodOptions* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const MethodOptions& from); + void MergeFrom(const MethodOptions& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(MethodOptions* other); + void UnsafeMergeFrom(const MethodOptions& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional bool deprecated = 33 [default = false]; + bool has_deprecated() const; + void clear_deprecated(); + static const int kDeprecatedFieldNumber = 33; + bool deprecated() const; + void set_deprecated(bool value); + + // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; + int uninterpreted_option_size() const; + void clear_uninterpreted_option(); + static const int kUninterpretedOptionFieldNumber = 999; + const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const; + ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index); + ::google::protobuf::UninterpretedOption* add_uninterpreted_option(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >* + mutable_uninterpreted_option(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >& + uninterpreted_option() const; + + GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(MethodOptions) + // @@protoc_insertion_point(class_scope:google.protobuf.MethodOptions) + private: + inline void set_has_deprecated(); + inline void clear_has_deprecated(); + + ::google::protobuf::internal::ExtensionSet _extensions_; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_; + bool deprecated_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed MethodOptions_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT UninterpretedOption_NamePart : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.UninterpretedOption.NamePart) */ { + public: + UninterpretedOption_NamePart(); + virtual ~UninterpretedOption_NamePart(); + + UninterpretedOption_NamePart(const UninterpretedOption_NamePart& from); + + inline UninterpretedOption_NamePart& operator=(const UninterpretedOption_NamePart& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const UninterpretedOption_NamePart& default_instance(); + + static const UninterpretedOption_NamePart* internal_default_instance(); + + void Swap(UninterpretedOption_NamePart* other); + + // implements Message ---------------------------------------------- + + inline UninterpretedOption_NamePart* New() const { return New(NULL); } + + UninterpretedOption_NamePart* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const UninterpretedOption_NamePart& from); + void MergeFrom(const UninterpretedOption_NamePart& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(UninterpretedOption_NamePart* other); + void UnsafeMergeFrom(const UninterpretedOption_NamePart& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // required string name_part = 1; + bool has_name_part() const; + void clear_name_part(); + static const int kNamePartFieldNumber = 1; + const ::std::string& name_part() const; + void set_name_part(const ::std::string& value); + void set_name_part(const char* value); + void set_name_part(const char* value, size_t size); + ::std::string* mutable_name_part(); + ::std::string* release_name_part(); + void set_allocated_name_part(::std::string* name_part); + + // required bool is_extension = 2; + bool has_is_extension() const; + void clear_is_extension(); + static const int kIsExtensionFieldNumber = 2; + bool is_extension() const; + void set_is_extension(bool value); + + // @@protoc_insertion_point(class_scope:google.protobuf.UninterpretedOption.NamePart) + private: + inline void set_has_name_part(); + inline void clear_has_name_part(); + inline void set_has_is_extension(); + inline void clear_has_is_extension(); + + // helper for ByteSizeLong() + size_t RequiredFieldsByteSizeFallback() const; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_part_; + bool is_extension_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed UninterpretedOption_NamePart_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT UninterpretedOption : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.UninterpretedOption) */ { + public: + UninterpretedOption(); + virtual ~UninterpretedOption(); + + UninterpretedOption(const UninterpretedOption& from); + + inline UninterpretedOption& operator=(const UninterpretedOption& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const UninterpretedOption& default_instance(); + + static const UninterpretedOption* internal_default_instance(); + + void Swap(UninterpretedOption* other); + + // implements Message ---------------------------------------------- + + inline UninterpretedOption* New() const { return New(NULL); } + + UninterpretedOption* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const UninterpretedOption& from); + void MergeFrom(const UninterpretedOption& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(UninterpretedOption* other); + void UnsafeMergeFrom(const UninterpretedOption& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + typedef UninterpretedOption_NamePart NamePart; + + // accessors ------------------------------------------------------- + + // repeated .google.protobuf.UninterpretedOption.NamePart name = 2; + int name_size() const; + void clear_name(); + static const int kNameFieldNumber = 2; + const ::google::protobuf::UninterpretedOption_NamePart& name(int index) const; + ::google::protobuf::UninterpretedOption_NamePart* mutable_name(int index); + ::google::protobuf::UninterpretedOption_NamePart* add_name(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart >* + mutable_name(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart >& + name() const; + + // optional string identifier_value = 3; + bool has_identifier_value() const; + void clear_identifier_value(); + static const int kIdentifierValueFieldNumber = 3; + const ::std::string& identifier_value() const; + void set_identifier_value(const ::std::string& value); + void set_identifier_value(const char* value); + void set_identifier_value(const char* value, size_t size); + ::std::string* mutable_identifier_value(); + ::std::string* release_identifier_value(); + void set_allocated_identifier_value(::std::string* identifier_value); + + // optional uint64 positive_int_value = 4; + bool has_positive_int_value() const; + void clear_positive_int_value(); + static const int kPositiveIntValueFieldNumber = 4; + ::google::protobuf::uint64 positive_int_value() const; + void set_positive_int_value(::google::protobuf::uint64 value); + + // optional int64 negative_int_value = 5; + bool has_negative_int_value() const; + void clear_negative_int_value(); + static const int kNegativeIntValueFieldNumber = 5; + ::google::protobuf::int64 negative_int_value() const; + void set_negative_int_value(::google::protobuf::int64 value); + + // optional double double_value = 6; + bool has_double_value() const; + void clear_double_value(); + static const int kDoubleValueFieldNumber = 6; + double double_value() const; + void set_double_value(double value); + + // optional bytes string_value = 7; + bool has_string_value() const; + void clear_string_value(); + static const int kStringValueFieldNumber = 7; + const ::std::string& string_value() const; + void set_string_value(const ::std::string& value); + void set_string_value(const char* value); + void set_string_value(const void* value, size_t size); + ::std::string* mutable_string_value(); + ::std::string* release_string_value(); + void set_allocated_string_value(::std::string* string_value); + + // optional string aggregate_value = 8; + bool has_aggregate_value() const; + void clear_aggregate_value(); + static const int kAggregateValueFieldNumber = 8; + const ::std::string& aggregate_value() const; + void set_aggregate_value(const ::std::string& value); + void set_aggregate_value(const char* value); + void set_aggregate_value(const char* value, size_t size); + ::std::string* mutable_aggregate_value(); + ::std::string* release_aggregate_value(); + void set_allocated_aggregate_value(::std::string* aggregate_value); + + // @@protoc_insertion_point(class_scope:google.protobuf.UninterpretedOption) + private: + inline void set_has_identifier_value(); + inline void clear_has_identifier_value(); + inline void set_has_positive_int_value(); + inline void clear_has_positive_int_value(); + inline void set_has_negative_int_value(); + inline void clear_has_negative_int_value(); + inline void set_has_double_value(); + inline void clear_has_double_value(); + inline void set_has_string_value(); + inline void clear_has_string_value(); + inline void set_has_aggregate_value(); + inline void clear_has_aggregate_value(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart > name_; + ::google::protobuf::internal::ArenaStringPtr identifier_value_; + ::google::protobuf::internal::ArenaStringPtr string_value_; + ::google::protobuf::internal::ArenaStringPtr aggregate_value_; + ::google::protobuf::uint64 positive_int_value_; + ::google::protobuf::int64 negative_int_value_; + double double_value_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed UninterpretedOption_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT SourceCodeInfo_Location : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.SourceCodeInfo.Location) */ { + public: + SourceCodeInfo_Location(); + virtual ~SourceCodeInfo_Location(); + + SourceCodeInfo_Location(const SourceCodeInfo_Location& from); + + inline SourceCodeInfo_Location& operator=(const SourceCodeInfo_Location& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const SourceCodeInfo_Location& default_instance(); + + static const SourceCodeInfo_Location* internal_default_instance(); + + void Swap(SourceCodeInfo_Location* other); + + // implements Message ---------------------------------------------- + + inline SourceCodeInfo_Location* New() const { return New(NULL); } + + SourceCodeInfo_Location* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const SourceCodeInfo_Location& from); + void MergeFrom(const SourceCodeInfo_Location& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(SourceCodeInfo_Location* other); + void UnsafeMergeFrom(const SourceCodeInfo_Location& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // repeated int32 path = 1 [packed = true]; + int path_size() const; + void clear_path(); + static const int kPathFieldNumber = 1; + ::google::protobuf::int32 path(int index) const; + void set_path(int index, ::google::protobuf::int32 value); + void add_path(::google::protobuf::int32 value); + const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >& + path() const; + ::google::protobuf::RepeatedField< ::google::protobuf::int32 >* + mutable_path(); + + // repeated int32 span = 2 [packed = true]; + int span_size() const; + void clear_span(); + static const int kSpanFieldNumber = 2; + ::google::protobuf::int32 span(int index) const; + void set_span(int index, ::google::protobuf::int32 value); + void add_span(::google::protobuf::int32 value); + const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >& + span() const; + ::google::protobuf::RepeatedField< ::google::protobuf::int32 >* + mutable_span(); + + // optional string leading_comments = 3; + bool has_leading_comments() const; + void clear_leading_comments(); + static const int kLeadingCommentsFieldNumber = 3; + const ::std::string& leading_comments() const; + void set_leading_comments(const ::std::string& value); + void set_leading_comments(const char* value); + void set_leading_comments(const char* value, size_t size); + ::std::string* mutable_leading_comments(); + ::std::string* release_leading_comments(); + void set_allocated_leading_comments(::std::string* leading_comments); + + // optional string trailing_comments = 4; + bool has_trailing_comments() const; + void clear_trailing_comments(); + static const int kTrailingCommentsFieldNumber = 4; + const ::std::string& trailing_comments() const; + void set_trailing_comments(const ::std::string& value); + void set_trailing_comments(const char* value); + void set_trailing_comments(const char* value, size_t size); + ::std::string* mutable_trailing_comments(); + ::std::string* release_trailing_comments(); + void set_allocated_trailing_comments(::std::string* trailing_comments); + + // repeated string leading_detached_comments = 6; + int leading_detached_comments_size() const; + void clear_leading_detached_comments(); + static const int kLeadingDetachedCommentsFieldNumber = 6; + const ::std::string& leading_detached_comments(int index) const; + ::std::string* mutable_leading_detached_comments(int index); + void set_leading_detached_comments(int index, const ::std::string& value); + void set_leading_detached_comments(int index, const char* value); + void set_leading_detached_comments(int index, const char* value, size_t size); + ::std::string* add_leading_detached_comments(); + void add_leading_detached_comments(const ::std::string& value); + void add_leading_detached_comments(const char* value); + void add_leading_detached_comments(const char* value, size_t size); + const ::google::protobuf::RepeatedPtrField< ::std::string>& leading_detached_comments() const; + ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_leading_detached_comments(); + + // @@protoc_insertion_point(class_scope:google.protobuf.SourceCodeInfo.Location) + private: + inline void set_has_leading_comments(); + inline void clear_has_leading_comments(); + inline void set_has_trailing_comments(); + inline void clear_has_trailing_comments(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedField< ::google::protobuf::int32 > path_; + mutable int _path_cached_byte_size_; + ::google::protobuf::RepeatedField< ::google::protobuf::int32 > span_; + mutable int _span_cached_byte_size_; + ::google::protobuf::RepeatedPtrField< ::std::string> leading_detached_comments_; + ::google::protobuf::internal::ArenaStringPtr leading_comments_; + ::google::protobuf::internal::ArenaStringPtr trailing_comments_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed SourceCodeInfo_Location_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT SourceCodeInfo : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.SourceCodeInfo) */ { + public: + SourceCodeInfo(); + virtual ~SourceCodeInfo(); + + SourceCodeInfo(const SourceCodeInfo& from); + + inline SourceCodeInfo& operator=(const SourceCodeInfo& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const SourceCodeInfo& default_instance(); + + static const SourceCodeInfo* internal_default_instance(); + + void Swap(SourceCodeInfo* other); + + // implements Message ---------------------------------------------- + + inline SourceCodeInfo* New() const { return New(NULL); } + + SourceCodeInfo* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const SourceCodeInfo& from); + void MergeFrom(const SourceCodeInfo& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(SourceCodeInfo* other); + void UnsafeMergeFrom(const SourceCodeInfo& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + typedef SourceCodeInfo_Location Location; + + // accessors ------------------------------------------------------- + + // repeated .google.protobuf.SourceCodeInfo.Location location = 1; + int location_size() const; + void clear_location(); + static const int kLocationFieldNumber = 1; + const ::google::protobuf::SourceCodeInfo_Location& location(int index) const; + ::google::protobuf::SourceCodeInfo_Location* mutable_location(int index); + ::google::protobuf::SourceCodeInfo_Location* add_location(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location >* + mutable_location(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location >& + location() const; + + // @@protoc_insertion_point(class_scope:google.protobuf.SourceCodeInfo) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location > location_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed SourceCodeInfo_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT GeneratedCodeInfo_Annotation : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.GeneratedCodeInfo.Annotation) */ { + public: + GeneratedCodeInfo_Annotation(); + virtual ~GeneratedCodeInfo_Annotation(); + + GeneratedCodeInfo_Annotation(const GeneratedCodeInfo_Annotation& from); + + inline GeneratedCodeInfo_Annotation& operator=(const GeneratedCodeInfo_Annotation& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const GeneratedCodeInfo_Annotation& default_instance(); + + static const GeneratedCodeInfo_Annotation* internal_default_instance(); + + void Swap(GeneratedCodeInfo_Annotation* other); + + // implements Message ---------------------------------------------- + + inline GeneratedCodeInfo_Annotation* New() const { return New(NULL); } + + GeneratedCodeInfo_Annotation* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const GeneratedCodeInfo_Annotation& from); + void MergeFrom(const GeneratedCodeInfo_Annotation& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(GeneratedCodeInfo_Annotation* other); + void UnsafeMergeFrom(const GeneratedCodeInfo_Annotation& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // repeated int32 path = 1 [packed = true]; + int path_size() const; + void clear_path(); + static const int kPathFieldNumber = 1; + ::google::protobuf::int32 path(int index) const; + void set_path(int index, ::google::protobuf::int32 value); + void add_path(::google::protobuf::int32 value); + const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >& + path() const; + ::google::protobuf::RepeatedField< ::google::protobuf::int32 >* + mutable_path(); + + // optional string source_file = 2; + bool has_source_file() const; + void clear_source_file(); + static const int kSourceFileFieldNumber = 2; + const ::std::string& source_file() const; + void set_source_file(const ::std::string& value); + void set_source_file(const char* value); + void set_source_file(const char* value, size_t size); + ::std::string* mutable_source_file(); + ::std::string* release_source_file(); + void set_allocated_source_file(::std::string* source_file); + + // optional int32 begin = 3; + bool has_begin() const; + void clear_begin(); + static const int kBeginFieldNumber = 3; + ::google::protobuf::int32 begin() const; + void set_begin(::google::protobuf::int32 value); + + // optional int32 end = 4; + bool has_end() const; + void clear_end(); + static const int kEndFieldNumber = 4; + ::google::protobuf::int32 end() const; + void set_end(::google::protobuf::int32 value); + + // @@protoc_insertion_point(class_scope:google.protobuf.GeneratedCodeInfo.Annotation) + private: + inline void set_has_source_file(); + inline void clear_has_source_file(); + inline void set_has_begin(); + inline void clear_has_begin(); + inline void set_has_end(); + inline void clear_has_end(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedField< ::google::protobuf::int32 > path_; + mutable int _path_cached_byte_size_; + ::google::protobuf::internal::ArenaStringPtr source_file_; + ::google::protobuf::int32 begin_; + ::google::protobuf::int32 end_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed GeneratedCodeInfo_Annotation_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT GeneratedCodeInfo : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.GeneratedCodeInfo) */ { + public: + GeneratedCodeInfo(); + virtual ~GeneratedCodeInfo(); + + GeneratedCodeInfo(const GeneratedCodeInfo& from); + + inline GeneratedCodeInfo& operator=(const GeneratedCodeInfo& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields(); + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields(); + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const GeneratedCodeInfo& default_instance(); + + static const GeneratedCodeInfo* internal_default_instance(); + + void Swap(GeneratedCodeInfo* other); + + // implements Message ---------------------------------------------- + + inline GeneratedCodeInfo* New() const { return New(NULL); } + + GeneratedCodeInfo* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const GeneratedCodeInfo& from); + void MergeFrom(const GeneratedCodeInfo& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(GeneratedCodeInfo* other); + void UnsafeMergeFrom(const GeneratedCodeInfo& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + typedef GeneratedCodeInfo_Annotation Annotation; + + // accessors ------------------------------------------------------- + + // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1; + int annotation_size() const; + void clear_annotation(); + static const int kAnnotationFieldNumber = 1; + const ::google::protobuf::GeneratedCodeInfo_Annotation& annotation(int index) const; + ::google::protobuf::GeneratedCodeInfo_Annotation* mutable_annotation(int index); + ::google::protobuf::GeneratedCodeInfo_Annotation* add_annotation(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::GeneratedCodeInfo_Annotation >* + mutable_annotation(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::GeneratedCodeInfo_Annotation >& + annotation() const; + + // @@protoc_insertion_point(class_scope:google.protobuf.GeneratedCodeInfo) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::GeneratedCodeInfo_Annotation > annotation_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed GeneratedCodeInfo_default_instance_; + +// =================================================================== + + +// =================================================================== + +#if !PROTOBUF_INLINE_NOT_IN_HEADERS +// FileDescriptorSet + +// repeated .google.protobuf.FileDescriptorProto file = 1; +inline int FileDescriptorSet::file_size() const { + return file_.size(); +} +inline void FileDescriptorSet::clear_file() { + file_.Clear(); +} +inline const ::google::protobuf::FileDescriptorProto& FileDescriptorSet::file(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorSet.file) + return file_.Get(index); +} +inline ::google::protobuf::FileDescriptorProto* FileDescriptorSet::mutable_file(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorSet.file) + return file_.Mutable(index); +} +inline ::google::protobuf::FileDescriptorProto* FileDescriptorSet::add_file() { + // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorSet.file) + return file_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto >* +FileDescriptorSet::mutable_file() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorSet.file) + return &file_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto >& +FileDescriptorSet::file() const { + // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorSet.file) + return file_; +} + +inline const FileDescriptorSet* FileDescriptorSet::internal_default_instance() { + return &FileDescriptorSet_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// FileDescriptorProto + +// optional string name = 1; +inline bool FileDescriptorProto::has_name() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void FileDescriptorProto::set_has_name() { + _has_bits_[0] |= 0x00000001u; +} +inline void FileDescriptorProto::clear_has_name() { + _has_bits_[0] &= ~0x00000001u; +} +inline void FileDescriptorProto::clear_name() { + name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_name(); +} +inline const ::std::string& FileDescriptorProto::name() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.name) + return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FileDescriptorProto::set_name(const ::std::string& value) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.name) +} +inline void FileDescriptorProto::set_name(const char* value) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.FileDescriptorProto.name) +} +inline void FileDescriptorProto::set_name(const char* value, size_t size) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileDescriptorProto.name) +} +inline ::std::string* FileDescriptorProto::mutable_name() { + set_has_name(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.name) + return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* FileDescriptorProto::release_name() { + // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.name) + clear_has_name(); + return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FileDescriptorProto::set_allocated_name(::std::string* name) { + if (name != NULL) { + set_has_name(); + } else { + clear_has_name(); + } + name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.name) +} + +// optional string package = 2; +inline bool FileDescriptorProto::has_package() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void FileDescriptorProto::set_has_package() { + _has_bits_[0] |= 0x00000002u; +} +inline void FileDescriptorProto::clear_has_package() { + _has_bits_[0] &= ~0x00000002u; +} +inline void FileDescriptorProto::clear_package() { + package_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_package(); +} +inline const ::std::string& FileDescriptorProto::package() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.package) + return package_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FileDescriptorProto::set_package(const ::std::string& value) { + set_has_package(); + package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.package) +} +inline void FileDescriptorProto::set_package(const char* value) { + set_has_package(); + package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.FileDescriptorProto.package) +} +inline void FileDescriptorProto::set_package(const char* value, size_t size) { + set_has_package(); + package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileDescriptorProto.package) +} +inline ::std::string* FileDescriptorProto::mutable_package() { + set_has_package(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.package) + return package_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* FileDescriptorProto::release_package() { + // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.package) + clear_has_package(); + return package_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FileDescriptorProto::set_allocated_package(::std::string* package) { + if (package != NULL) { + set_has_package(); + } else { + clear_has_package(); + } + package_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), package); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.package) +} + +// repeated string dependency = 3; +inline int FileDescriptorProto::dependency_size() const { + return dependency_.size(); +} +inline void FileDescriptorProto::clear_dependency() { + dependency_.Clear(); +} +inline const ::std::string& FileDescriptorProto::dependency(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.dependency) + return dependency_.Get(index); +} +inline ::std::string* FileDescriptorProto::mutable_dependency(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.dependency) + return dependency_.Mutable(index); +} +inline void FileDescriptorProto::set_dependency(int index, const ::std::string& value) { + // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.dependency) + dependency_.Mutable(index)->assign(value); +} +inline void FileDescriptorProto::set_dependency(int index, const char* value) { + dependency_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:google.protobuf.FileDescriptorProto.dependency) +} +inline void FileDescriptorProto::set_dependency(int index, const char* value, size_t size) { + dependency_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileDescriptorProto.dependency) +} +inline ::std::string* FileDescriptorProto::add_dependency() { + // @@protoc_insertion_point(field_add_mutable:google.protobuf.FileDescriptorProto.dependency) + return dependency_.Add(); +} +inline void FileDescriptorProto::add_dependency(const ::std::string& value) { + dependency_.Add()->assign(value); + // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.dependency) +} +inline void FileDescriptorProto::add_dependency(const char* value) { + dependency_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:google.protobuf.FileDescriptorProto.dependency) +} +inline void FileDescriptorProto::add_dependency(const char* value, size_t size) { + dependency_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:google.protobuf.FileDescriptorProto.dependency) +} +inline const ::google::protobuf::RepeatedPtrField< ::std::string>& +FileDescriptorProto::dependency() const { + // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.dependency) + return dependency_; +} +inline ::google::protobuf::RepeatedPtrField< ::std::string>* +FileDescriptorProto::mutable_dependency() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.dependency) + return &dependency_; +} + +// repeated int32 public_dependency = 10; +inline int FileDescriptorProto::public_dependency_size() const { + return public_dependency_.size(); +} +inline void FileDescriptorProto::clear_public_dependency() { + public_dependency_.Clear(); +} +inline ::google::protobuf::int32 FileDescriptorProto::public_dependency(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.public_dependency) + return public_dependency_.Get(index); +} +inline void FileDescriptorProto::set_public_dependency(int index, ::google::protobuf::int32 value) { + public_dependency_.Set(index, value); + // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.public_dependency) +} +inline void FileDescriptorProto::add_public_dependency(::google::protobuf::int32 value) { + public_dependency_.Add(value); + // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.public_dependency) +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >& +FileDescriptorProto::public_dependency() const { + // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.public_dependency) + return public_dependency_; +} +inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >* +FileDescriptorProto::mutable_public_dependency() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.public_dependency) + return &public_dependency_; +} + +// repeated int32 weak_dependency = 11; +inline int FileDescriptorProto::weak_dependency_size() const { + return weak_dependency_.size(); +} +inline void FileDescriptorProto::clear_weak_dependency() { + weak_dependency_.Clear(); +} +inline ::google::protobuf::int32 FileDescriptorProto::weak_dependency(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.weak_dependency) + return weak_dependency_.Get(index); +} +inline void FileDescriptorProto::set_weak_dependency(int index, ::google::protobuf::int32 value) { + weak_dependency_.Set(index, value); + // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.weak_dependency) +} +inline void FileDescriptorProto::add_weak_dependency(::google::protobuf::int32 value) { + weak_dependency_.Add(value); + // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.weak_dependency) +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >& +FileDescriptorProto::weak_dependency() const { + // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.weak_dependency) + return weak_dependency_; +} +inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >* +FileDescriptorProto::mutable_weak_dependency() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.weak_dependency) + return &weak_dependency_; +} + +// repeated .google.protobuf.DescriptorProto message_type = 4; +inline int FileDescriptorProto::message_type_size() const { + return message_type_.size(); +} +inline void FileDescriptorProto::clear_message_type() { + message_type_.Clear(); +} +inline const ::google::protobuf::DescriptorProto& FileDescriptorProto::message_type(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.message_type) + return message_type_.Get(index); +} +inline ::google::protobuf::DescriptorProto* FileDescriptorProto::mutable_message_type(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.message_type) + return message_type_.Mutable(index); +} +inline ::google::protobuf::DescriptorProto* FileDescriptorProto::add_message_type() { + // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.message_type) + return message_type_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >* +FileDescriptorProto::mutable_message_type() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.message_type) + return &message_type_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >& +FileDescriptorProto::message_type() const { + // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.message_type) + return message_type_; +} + +// repeated .google.protobuf.EnumDescriptorProto enum_type = 5; +inline int FileDescriptorProto::enum_type_size() const { + return enum_type_.size(); +} +inline void FileDescriptorProto::clear_enum_type() { + enum_type_.Clear(); +} +inline const ::google::protobuf::EnumDescriptorProto& FileDescriptorProto::enum_type(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.enum_type) + return enum_type_.Get(index); +} +inline ::google::protobuf::EnumDescriptorProto* FileDescriptorProto::mutable_enum_type(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.enum_type) + return enum_type_.Mutable(index); +} +inline ::google::protobuf::EnumDescriptorProto* FileDescriptorProto::add_enum_type() { + // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.enum_type) + return enum_type_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >* +FileDescriptorProto::mutable_enum_type() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.enum_type) + return &enum_type_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >& +FileDescriptorProto::enum_type() const { + // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.enum_type) + return enum_type_; +} + +// repeated .google.protobuf.ServiceDescriptorProto service = 6; +inline int FileDescriptorProto::service_size() const { + return service_.size(); +} +inline void FileDescriptorProto::clear_service() { + service_.Clear(); +} +inline const ::google::protobuf::ServiceDescriptorProto& FileDescriptorProto::service(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.service) + return service_.Get(index); +} +inline ::google::protobuf::ServiceDescriptorProto* FileDescriptorProto::mutable_service(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.service) + return service_.Mutable(index); +} +inline ::google::protobuf::ServiceDescriptorProto* FileDescriptorProto::add_service() { + // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.service) + return service_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto >* +FileDescriptorProto::mutable_service() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.service) + return &service_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto >& +FileDescriptorProto::service() const { + // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.service) + return service_; +} + +// repeated .google.protobuf.FieldDescriptorProto extension = 7; +inline int FileDescriptorProto::extension_size() const { + return extension_.size(); +} +inline void FileDescriptorProto::clear_extension() { + extension_.Clear(); +} +inline const ::google::protobuf::FieldDescriptorProto& FileDescriptorProto::extension(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.extension) + return extension_.Get(index); +} +inline ::google::protobuf::FieldDescriptorProto* FileDescriptorProto::mutable_extension(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.extension) + return extension_.Mutable(index); +} +inline ::google::protobuf::FieldDescriptorProto* FileDescriptorProto::add_extension() { + // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.extension) + return extension_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >* +FileDescriptorProto::mutable_extension() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.extension) + return &extension_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >& +FileDescriptorProto::extension() const { + // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.extension) + return extension_; +} + +// optional .google.protobuf.FileOptions options = 8; +inline bool FileDescriptorProto::has_options() const { + return (_has_bits_[0] & 0x00000200u) != 0; +} +inline void FileDescriptorProto::set_has_options() { + _has_bits_[0] |= 0x00000200u; +} +inline void FileDescriptorProto::clear_has_options() { + _has_bits_[0] &= ~0x00000200u; +} +inline void FileDescriptorProto::clear_options() { + if (options_ != NULL) options_->::google::protobuf::FileOptions::Clear(); + clear_has_options(); +} +inline const ::google::protobuf::FileOptions& FileDescriptorProto::options() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.options) + return options_ != NULL ? *options_ + : *::google::protobuf::FileOptions::internal_default_instance(); +} +inline ::google::protobuf::FileOptions* FileDescriptorProto::mutable_options() { + set_has_options(); + if (options_ == NULL) { + options_ = new ::google::protobuf::FileOptions; + } + // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.options) + return options_; +} +inline ::google::protobuf::FileOptions* FileDescriptorProto::release_options() { + // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.options) + clear_has_options(); + ::google::protobuf::FileOptions* temp = options_; + options_ = NULL; + return temp; +} +inline void FileDescriptorProto::set_allocated_options(::google::protobuf::FileOptions* options) { + delete options_; + options_ = options; + if (options) { + set_has_options(); + } else { + clear_has_options(); + } + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.options) +} + +// optional .google.protobuf.SourceCodeInfo source_code_info = 9; +inline bool FileDescriptorProto::has_source_code_info() const { + return (_has_bits_[0] & 0x00000400u) != 0; +} +inline void FileDescriptorProto::set_has_source_code_info() { + _has_bits_[0] |= 0x00000400u; +} +inline void FileDescriptorProto::clear_has_source_code_info() { + _has_bits_[0] &= ~0x00000400u; +} +inline void FileDescriptorProto::clear_source_code_info() { + if (source_code_info_ != NULL) source_code_info_->::google::protobuf::SourceCodeInfo::Clear(); + clear_has_source_code_info(); +} +inline const ::google::protobuf::SourceCodeInfo& FileDescriptorProto::source_code_info() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.source_code_info) + return source_code_info_ != NULL ? *source_code_info_ + : *::google::protobuf::SourceCodeInfo::internal_default_instance(); +} +inline ::google::protobuf::SourceCodeInfo* FileDescriptorProto::mutable_source_code_info() { + set_has_source_code_info(); + if (source_code_info_ == NULL) { + source_code_info_ = new ::google::protobuf::SourceCodeInfo; + } + // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.source_code_info) + return source_code_info_; +} +inline ::google::protobuf::SourceCodeInfo* FileDescriptorProto::release_source_code_info() { + // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.source_code_info) + clear_has_source_code_info(); + ::google::protobuf::SourceCodeInfo* temp = source_code_info_; + source_code_info_ = NULL; + return temp; +} +inline void FileDescriptorProto::set_allocated_source_code_info(::google::protobuf::SourceCodeInfo* source_code_info) { + delete source_code_info_; + source_code_info_ = source_code_info; + if (source_code_info) { + set_has_source_code_info(); + } else { + clear_has_source_code_info(); + } + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.source_code_info) +} + +// optional string syntax = 12; +inline bool FileDescriptorProto::has_syntax() const { + return (_has_bits_[0] & 0x00000800u) != 0; +} +inline void FileDescriptorProto::set_has_syntax() { + _has_bits_[0] |= 0x00000800u; +} +inline void FileDescriptorProto::clear_has_syntax() { + _has_bits_[0] &= ~0x00000800u; +} +inline void FileDescriptorProto::clear_syntax() { + syntax_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_syntax(); +} +inline const ::std::string& FileDescriptorProto::syntax() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.syntax) + return syntax_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FileDescriptorProto::set_syntax(const ::std::string& value) { + set_has_syntax(); + syntax_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.syntax) +} +inline void FileDescriptorProto::set_syntax(const char* value) { + set_has_syntax(); + syntax_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.FileDescriptorProto.syntax) +} +inline void FileDescriptorProto::set_syntax(const char* value, size_t size) { + set_has_syntax(); + syntax_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileDescriptorProto.syntax) +} +inline ::std::string* FileDescriptorProto::mutable_syntax() { + set_has_syntax(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.syntax) + return syntax_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* FileDescriptorProto::release_syntax() { + // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.syntax) + clear_has_syntax(); + return syntax_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FileDescriptorProto::set_allocated_syntax(::std::string* syntax) { + if (syntax != NULL) { + set_has_syntax(); + } else { + clear_has_syntax(); + } + syntax_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), syntax); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.syntax) +} + +inline const FileDescriptorProto* FileDescriptorProto::internal_default_instance() { + return &FileDescriptorProto_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// DescriptorProto_ExtensionRange + +// optional int32 start = 1; +inline bool DescriptorProto_ExtensionRange::has_start() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void DescriptorProto_ExtensionRange::set_has_start() { + _has_bits_[0] |= 0x00000001u; +} +inline void DescriptorProto_ExtensionRange::clear_has_start() { + _has_bits_[0] &= ~0x00000001u; +} +inline void DescriptorProto_ExtensionRange::clear_start() { + start_ = 0; + clear_has_start(); +} +inline ::google::protobuf::int32 DescriptorProto_ExtensionRange::start() const { + // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ExtensionRange.start) + return start_; +} +inline void DescriptorProto_ExtensionRange::set_start(::google::protobuf::int32 value) { + set_has_start(); + start_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ExtensionRange.start) +} + +// optional int32 end = 2; +inline bool DescriptorProto_ExtensionRange::has_end() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void DescriptorProto_ExtensionRange::set_has_end() { + _has_bits_[0] |= 0x00000002u; +} +inline void DescriptorProto_ExtensionRange::clear_has_end() { + _has_bits_[0] &= ~0x00000002u; +} +inline void DescriptorProto_ExtensionRange::clear_end() { + end_ = 0; + clear_has_end(); +} +inline ::google::protobuf::int32 DescriptorProto_ExtensionRange::end() const { + // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ExtensionRange.end) + return end_; +} +inline void DescriptorProto_ExtensionRange::set_end(::google::protobuf::int32 value) { + set_has_end(); + end_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ExtensionRange.end) +} + +inline const DescriptorProto_ExtensionRange* DescriptorProto_ExtensionRange::internal_default_instance() { + return &DescriptorProto_ExtensionRange_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// DescriptorProto_ReservedRange + +// optional int32 start = 1; +inline bool DescriptorProto_ReservedRange::has_start() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void DescriptorProto_ReservedRange::set_has_start() { + _has_bits_[0] |= 0x00000001u; +} +inline void DescriptorProto_ReservedRange::clear_has_start() { + _has_bits_[0] &= ~0x00000001u; +} +inline void DescriptorProto_ReservedRange::clear_start() { + start_ = 0; + clear_has_start(); +} +inline ::google::protobuf::int32 DescriptorProto_ReservedRange::start() const { + // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ReservedRange.start) + return start_; +} +inline void DescriptorProto_ReservedRange::set_start(::google::protobuf::int32 value) { + set_has_start(); + start_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ReservedRange.start) +} + +// optional int32 end = 2; +inline bool DescriptorProto_ReservedRange::has_end() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void DescriptorProto_ReservedRange::set_has_end() { + _has_bits_[0] |= 0x00000002u; +} +inline void DescriptorProto_ReservedRange::clear_has_end() { + _has_bits_[0] &= ~0x00000002u; +} +inline void DescriptorProto_ReservedRange::clear_end() { + end_ = 0; + clear_has_end(); +} +inline ::google::protobuf::int32 DescriptorProto_ReservedRange::end() const { + // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ReservedRange.end) + return end_; +} +inline void DescriptorProto_ReservedRange::set_end(::google::protobuf::int32 value) { + set_has_end(); + end_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ReservedRange.end) +} + +inline const DescriptorProto_ReservedRange* DescriptorProto_ReservedRange::internal_default_instance() { + return &DescriptorProto_ReservedRange_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// DescriptorProto + +// optional string name = 1; +inline bool DescriptorProto::has_name() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void DescriptorProto::set_has_name() { + _has_bits_[0] |= 0x00000001u; +} +inline void DescriptorProto::clear_has_name() { + _has_bits_[0] &= ~0x00000001u; +} +inline void DescriptorProto::clear_name() { + name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_name(); +} +inline const ::std::string& DescriptorProto::name() const { + // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.name) + return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void DescriptorProto::set_name(const ::std::string& value) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.name) +} +inline void DescriptorProto::set_name(const char* value) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.DescriptorProto.name) +} +inline void DescriptorProto::set_name(const char* value, size_t size) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.DescriptorProto.name) +} +inline ::std::string* DescriptorProto::mutable_name() { + set_has_name(); + // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.name) + return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* DescriptorProto::release_name() { + // @@protoc_insertion_point(field_release:google.protobuf.DescriptorProto.name) + clear_has_name(); + return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void DescriptorProto::set_allocated_name(::std::string* name) { + if (name != NULL) { + set_has_name(); + } else { + clear_has_name(); + } + name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.DescriptorProto.name) +} + +// repeated .google.protobuf.FieldDescriptorProto field = 2; +inline int DescriptorProto::field_size() const { + return field_.size(); +} +inline void DescriptorProto::clear_field() { + field_.Clear(); +} +inline const ::google::protobuf::FieldDescriptorProto& DescriptorProto::field(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.field) + return field_.Get(index); +} +inline ::google::protobuf::FieldDescriptorProto* DescriptorProto::mutable_field(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.field) + return field_.Mutable(index); +} +inline ::google::protobuf::FieldDescriptorProto* DescriptorProto::add_field() { + // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.field) + return field_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >* +DescriptorProto::mutable_field() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.field) + return &field_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >& +DescriptorProto::field() const { + // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.field) + return field_; +} + +// repeated .google.protobuf.FieldDescriptorProto extension = 6; +inline int DescriptorProto::extension_size() const { + return extension_.size(); +} +inline void DescriptorProto::clear_extension() { + extension_.Clear(); +} +inline const ::google::protobuf::FieldDescriptorProto& DescriptorProto::extension(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.extension) + return extension_.Get(index); +} +inline ::google::protobuf::FieldDescriptorProto* DescriptorProto::mutable_extension(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.extension) + return extension_.Mutable(index); +} +inline ::google::protobuf::FieldDescriptorProto* DescriptorProto::add_extension() { + // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.extension) + return extension_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >* +DescriptorProto::mutable_extension() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.extension) + return &extension_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto >& +DescriptorProto::extension() const { + // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.extension) + return extension_; +} + +// repeated .google.protobuf.DescriptorProto nested_type = 3; +inline int DescriptorProto::nested_type_size() const { + return nested_type_.size(); +} +inline void DescriptorProto::clear_nested_type() { + nested_type_.Clear(); +} +inline const ::google::protobuf::DescriptorProto& DescriptorProto::nested_type(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.nested_type) + return nested_type_.Get(index); +} +inline ::google::protobuf::DescriptorProto* DescriptorProto::mutable_nested_type(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.nested_type) + return nested_type_.Mutable(index); +} +inline ::google::protobuf::DescriptorProto* DescriptorProto::add_nested_type() { + // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.nested_type) + return nested_type_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >* +DescriptorProto::mutable_nested_type() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.nested_type) + return &nested_type_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto >& +DescriptorProto::nested_type() const { + // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.nested_type) + return nested_type_; +} + +// repeated .google.protobuf.EnumDescriptorProto enum_type = 4; +inline int DescriptorProto::enum_type_size() const { + return enum_type_.size(); +} +inline void DescriptorProto::clear_enum_type() { + enum_type_.Clear(); +} +inline const ::google::protobuf::EnumDescriptorProto& DescriptorProto::enum_type(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.enum_type) + return enum_type_.Get(index); +} +inline ::google::protobuf::EnumDescriptorProto* DescriptorProto::mutable_enum_type(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.enum_type) + return enum_type_.Mutable(index); +} +inline ::google::protobuf::EnumDescriptorProto* DescriptorProto::add_enum_type() { + // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.enum_type) + return enum_type_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >* +DescriptorProto::mutable_enum_type() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.enum_type) + return &enum_type_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto >& +DescriptorProto::enum_type() const { + // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.enum_type) + return enum_type_; +} + +// repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5; +inline int DescriptorProto::extension_range_size() const { + return extension_range_.size(); +} +inline void DescriptorProto::clear_extension_range() { + extension_range_.Clear(); +} +inline const ::google::protobuf::DescriptorProto_ExtensionRange& DescriptorProto::extension_range(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.extension_range) + return extension_range_.Get(index); +} +inline ::google::protobuf::DescriptorProto_ExtensionRange* DescriptorProto::mutable_extension_range(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.extension_range) + return extension_range_.Mutable(index); +} +inline ::google::protobuf::DescriptorProto_ExtensionRange* DescriptorProto::add_extension_range() { + // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.extension_range) + return extension_range_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange >* +DescriptorProto::mutable_extension_range() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.extension_range) + return &extension_range_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange >& +DescriptorProto::extension_range() const { + // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.extension_range) + return extension_range_; +} + +// repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8; +inline int DescriptorProto::oneof_decl_size() const { + return oneof_decl_.size(); +} +inline void DescriptorProto::clear_oneof_decl() { + oneof_decl_.Clear(); +} +inline const ::google::protobuf::OneofDescriptorProto& DescriptorProto::oneof_decl(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.oneof_decl) + return oneof_decl_.Get(index); +} +inline ::google::protobuf::OneofDescriptorProto* DescriptorProto::mutable_oneof_decl(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.oneof_decl) + return oneof_decl_.Mutable(index); +} +inline ::google::protobuf::OneofDescriptorProto* DescriptorProto::add_oneof_decl() { + // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.oneof_decl) + return oneof_decl_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::OneofDescriptorProto >* +DescriptorProto::mutable_oneof_decl() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.oneof_decl) + return &oneof_decl_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::OneofDescriptorProto >& +DescriptorProto::oneof_decl() const { + // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.oneof_decl) + return oneof_decl_; +} + +// optional .google.protobuf.MessageOptions options = 7; +inline bool DescriptorProto::has_options() const { + return (_has_bits_[0] & 0x00000080u) != 0; +} +inline void DescriptorProto::set_has_options() { + _has_bits_[0] |= 0x00000080u; +} +inline void DescriptorProto::clear_has_options() { + _has_bits_[0] &= ~0x00000080u; +} +inline void DescriptorProto::clear_options() { + if (options_ != NULL) options_->::google::protobuf::MessageOptions::Clear(); + clear_has_options(); +} +inline const ::google::protobuf::MessageOptions& DescriptorProto::options() const { + // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.options) + return options_ != NULL ? *options_ + : *::google::protobuf::MessageOptions::internal_default_instance(); +} +inline ::google::protobuf::MessageOptions* DescriptorProto::mutable_options() { + set_has_options(); + if (options_ == NULL) { + options_ = new ::google::protobuf::MessageOptions; + } + // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.options) + return options_; +} +inline ::google::protobuf::MessageOptions* DescriptorProto::release_options() { + // @@protoc_insertion_point(field_release:google.protobuf.DescriptorProto.options) + clear_has_options(); + ::google::protobuf::MessageOptions* temp = options_; + options_ = NULL; + return temp; +} +inline void DescriptorProto::set_allocated_options(::google::protobuf::MessageOptions* options) { + delete options_; + options_ = options; + if (options) { + set_has_options(); + } else { + clear_has_options(); + } + // @@protoc_insertion_point(field_set_allocated:google.protobuf.DescriptorProto.options) +} + +// repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9; +inline int DescriptorProto::reserved_range_size() const { + return reserved_range_.size(); +} +inline void DescriptorProto::clear_reserved_range() { + reserved_range_.Clear(); +} +inline const ::google::protobuf::DescriptorProto_ReservedRange& DescriptorProto::reserved_range(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.reserved_range) + return reserved_range_.Get(index); +} +inline ::google::protobuf::DescriptorProto_ReservedRange* DescriptorProto::mutable_reserved_range(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.reserved_range) + return reserved_range_.Mutable(index); +} +inline ::google::protobuf::DescriptorProto_ReservedRange* DescriptorProto::add_reserved_range() { + // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.reserved_range) + return reserved_range_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ReservedRange >* +DescriptorProto::mutable_reserved_range() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.reserved_range) + return &reserved_range_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ReservedRange >& +DescriptorProto::reserved_range() const { + // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.reserved_range) + return reserved_range_; +} + +// repeated string reserved_name = 10; +inline int DescriptorProto::reserved_name_size() const { + return reserved_name_.size(); +} +inline void DescriptorProto::clear_reserved_name() { + reserved_name_.Clear(); +} +inline const ::std::string& DescriptorProto::reserved_name(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.reserved_name) + return reserved_name_.Get(index); +} +inline ::std::string* DescriptorProto::mutable_reserved_name(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.reserved_name) + return reserved_name_.Mutable(index); +} +inline void DescriptorProto::set_reserved_name(int index, const ::std::string& value) { + // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.reserved_name) + reserved_name_.Mutable(index)->assign(value); +} +inline void DescriptorProto::set_reserved_name(int index, const char* value) { + reserved_name_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:google.protobuf.DescriptorProto.reserved_name) +} +inline void DescriptorProto::set_reserved_name(int index, const char* value, size_t size) { + reserved_name_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.DescriptorProto.reserved_name) +} +inline ::std::string* DescriptorProto::add_reserved_name() { + // @@protoc_insertion_point(field_add_mutable:google.protobuf.DescriptorProto.reserved_name) + return reserved_name_.Add(); +} +inline void DescriptorProto::add_reserved_name(const ::std::string& value) { + reserved_name_.Add()->assign(value); + // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.reserved_name) +} +inline void DescriptorProto::add_reserved_name(const char* value) { + reserved_name_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:google.protobuf.DescriptorProto.reserved_name) +} +inline void DescriptorProto::add_reserved_name(const char* value, size_t size) { + reserved_name_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:google.protobuf.DescriptorProto.reserved_name) +} +inline const ::google::protobuf::RepeatedPtrField< ::std::string>& +DescriptorProto::reserved_name() const { + // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.reserved_name) + return reserved_name_; +} +inline ::google::protobuf::RepeatedPtrField< ::std::string>* +DescriptorProto::mutable_reserved_name() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.reserved_name) + return &reserved_name_; +} + +inline const DescriptorProto* DescriptorProto::internal_default_instance() { + return &DescriptorProto_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// FieldDescriptorProto + +// optional string name = 1; +inline bool FieldDescriptorProto::has_name() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void FieldDescriptorProto::set_has_name() { + _has_bits_[0] |= 0x00000001u; +} +inline void FieldDescriptorProto::clear_has_name() { + _has_bits_[0] &= ~0x00000001u; +} +inline void FieldDescriptorProto::clear_name() { + name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_name(); +} +inline const ::std::string& FieldDescriptorProto::name() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.name) + return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FieldDescriptorProto::set_name(const ::std::string& value) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.name) +} +inline void FieldDescriptorProto::set_name(const char* value) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.FieldDescriptorProto.name) +} +inline void FieldDescriptorProto::set_name(const char* value, size_t size) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.FieldDescriptorProto.name) +} +inline ::std::string* FieldDescriptorProto::mutable_name() { + set_has_name(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.name) + return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* FieldDescriptorProto::release_name() { + // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.name) + clear_has_name(); + return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FieldDescriptorProto::set_allocated_name(::std::string* name) { + if (name != NULL) { + set_has_name(); + } else { + clear_has_name(); + } + name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.name) +} + +// optional int32 number = 3; +inline bool FieldDescriptorProto::has_number() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void FieldDescriptorProto::set_has_number() { + _has_bits_[0] |= 0x00000002u; +} +inline void FieldDescriptorProto::clear_has_number() { + _has_bits_[0] &= ~0x00000002u; +} +inline void FieldDescriptorProto::clear_number() { + number_ = 0; + clear_has_number(); +} +inline ::google::protobuf::int32 FieldDescriptorProto::number() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.number) + return number_; +} +inline void FieldDescriptorProto::set_number(::google::protobuf::int32 value) { + set_has_number(); + number_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.number) +} + +// optional .google.protobuf.FieldDescriptorProto.Label label = 4; +inline bool FieldDescriptorProto::has_label() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void FieldDescriptorProto::set_has_label() { + _has_bits_[0] |= 0x00000004u; +} +inline void FieldDescriptorProto::clear_has_label() { + _has_bits_[0] &= ~0x00000004u; +} +inline void FieldDescriptorProto::clear_label() { + label_ = 1; + clear_has_label(); +} +inline ::google::protobuf::FieldDescriptorProto_Label FieldDescriptorProto::label() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.label) + return static_cast< ::google::protobuf::FieldDescriptorProto_Label >(label_); +} +inline void FieldDescriptorProto::set_label(::google::protobuf::FieldDescriptorProto_Label value) { + assert(::google::protobuf::FieldDescriptorProto_Label_IsValid(value)); + set_has_label(); + label_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.label) +} + +// optional .google.protobuf.FieldDescriptorProto.Type type = 5; +inline bool FieldDescriptorProto::has_type() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +inline void FieldDescriptorProto::set_has_type() { + _has_bits_[0] |= 0x00000008u; +} +inline void FieldDescriptorProto::clear_has_type() { + _has_bits_[0] &= ~0x00000008u; +} +inline void FieldDescriptorProto::clear_type() { + type_ = 1; + clear_has_type(); +} +inline ::google::protobuf::FieldDescriptorProto_Type FieldDescriptorProto::type() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.type) + return static_cast< ::google::protobuf::FieldDescriptorProto_Type >(type_); +} +inline void FieldDescriptorProto::set_type(::google::protobuf::FieldDescriptorProto_Type value) { + assert(::google::protobuf::FieldDescriptorProto_Type_IsValid(value)); + set_has_type(); + type_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.type) +} + +// optional string type_name = 6; +inline bool FieldDescriptorProto::has_type_name() const { + return (_has_bits_[0] & 0x00000010u) != 0; +} +inline void FieldDescriptorProto::set_has_type_name() { + _has_bits_[0] |= 0x00000010u; +} +inline void FieldDescriptorProto::clear_has_type_name() { + _has_bits_[0] &= ~0x00000010u; +} +inline void FieldDescriptorProto::clear_type_name() { + type_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_type_name(); +} +inline const ::std::string& FieldDescriptorProto::type_name() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.type_name) + return type_name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FieldDescriptorProto::set_type_name(const ::std::string& value) { + set_has_type_name(); + type_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.type_name) +} +inline void FieldDescriptorProto::set_type_name(const char* value) { + set_has_type_name(); + type_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.FieldDescriptorProto.type_name) +} +inline void FieldDescriptorProto::set_type_name(const char* value, size_t size) { + set_has_type_name(); + type_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.FieldDescriptorProto.type_name) +} +inline ::std::string* FieldDescriptorProto::mutable_type_name() { + set_has_type_name(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.type_name) + return type_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* FieldDescriptorProto::release_type_name() { + // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.type_name) + clear_has_type_name(); + return type_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FieldDescriptorProto::set_allocated_type_name(::std::string* type_name) { + if (type_name != NULL) { + set_has_type_name(); + } else { + clear_has_type_name(); + } + type_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), type_name); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.type_name) +} + +// optional string extendee = 2; +inline bool FieldDescriptorProto::has_extendee() const { + return (_has_bits_[0] & 0x00000020u) != 0; +} +inline void FieldDescriptorProto::set_has_extendee() { + _has_bits_[0] |= 0x00000020u; +} +inline void FieldDescriptorProto::clear_has_extendee() { + _has_bits_[0] &= ~0x00000020u; +} +inline void FieldDescriptorProto::clear_extendee() { + extendee_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_extendee(); +} +inline const ::std::string& FieldDescriptorProto::extendee() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.extendee) + return extendee_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FieldDescriptorProto::set_extendee(const ::std::string& value) { + set_has_extendee(); + extendee_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.extendee) +} +inline void FieldDescriptorProto::set_extendee(const char* value) { + set_has_extendee(); + extendee_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.FieldDescriptorProto.extendee) +} +inline void FieldDescriptorProto::set_extendee(const char* value, size_t size) { + set_has_extendee(); + extendee_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.FieldDescriptorProto.extendee) +} +inline ::std::string* FieldDescriptorProto::mutable_extendee() { + set_has_extendee(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.extendee) + return extendee_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* FieldDescriptorProto::release_extendee() { + // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.extendee) + clear_has_extendee(); + return extendee_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FieldDescriptorProto::set_allocated_extendee(::std::string* extendee) { + if (extendee != NULL) { + set_has_extendee(); + } else { + clear_has_extendee(); + } + extendee_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), extendee); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.extendee) +} + +// optional string default_value = 7; +inline bool FieldDescriptorProto::has_default_value() const { + return (_has_bits_[0] & 0x00000040u) != 0; +} +inline void FieldDescriptorProto::set_has_default_value() { + _has_bits_[0] |= 0x00000040u; +} +inline void FieldDescriptorProto::clear_has_default_value() { + _has_bits_[0] &= ~0x00000040u; +} +inline void FieldDescriptorProto::clear_default_value() { + default_value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_default_value(); +} +inline const ::std::string& FieldDescriptorProto::default_value() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.default_value) + return default_value_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FieldDescriptorProto::set_default_value(const ::std::string& value) { + set_has_default_value(); + default_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.default_value) +} +inline void FieldDescriptorProto::set_default_value(const char* value) { + set_has_default_value(); + default_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.FieldDescriptorProto.default_value) +} +inline void FieldDescriptorProto::set_default_value(const char* value, size_t size) { + set_has_default_value(); + default_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.FieldDescriptorProto.default_value) +} +inline ::std::string* FieldDescriptorProto::mutable_default_value() { + set_has_default_value(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.default_value) + return default_value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* FieldDescriptorProto::release_default_value() { + // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.default_value) + clear_has_default_value(); + return default_value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FieldDescriptorProto::set_allocated_default_value(::std::string* default_value) { + if (default_value != NULL) { + set_has_default_value(); + } else { + clear_has_default_value(); + } + default_value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), default_value); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.default_value) +} + +// optional int32 oneof_index = 9; +inline bool FieldDescriptorProto::has_oneof_index() const { + return (_has_bits_[0] & 0x00000080u) != 0; +} +inline void FieldDescriptorProto::set_has_oneof_index() { + _has_bits_[0] |= 0x00000080u; +} +inline void FieldDescriptorProto::clear_has_oneof_index() { + _has_bits_[0] &= ~0x00000080u; +} +inline void FieldDescriptorProto::clear_oneof_index() { + oneof_index_ = 0; + clear_has_oneof_index(); +} +inline ::google::protobuf::int32 FieldDescriptorProto::oneof_index() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.oneof_index) + return oneof_index_; +} +inline void FieldDescriptorProto::set_oneof_index(::google::protobuf::int32 value) { + set_has_oneof_index(); + oneof_index_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.oneof_index) +} + +// optional string json_name = 10; +inline bool FieldDescriptorProto::has_json_name() const { + return (_has_bits_[0] & 0x00000100u) != 0; +} +inline void FieldDescriptorProto::set_has_json_name() { + _has_bits_[0] |= 0x00000100u; +} +inline void FieldDescriptorProto::clear_has_json_name() { + _has_bits_[0] &= ~0x00000100u; +} +inline void FieldDescriptorProto::clear_json_name() { + json_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_json_name(); +} +inline const ::std::string& FieldDescriptorProto::json_name() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.json_name) + return json_name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FieldDescriptorProto::set_json_name(const ::std::string& value) { + set_has_json_name(); + json_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.json_name) +} +inline void FieldDescriptorProto::set_json_name(const char* value) { + set_has_json_name(); + json_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.FieldDescriptorProto.json_name) +} +inline void FieldDescriptorProto::set_json_name(const char* value, size_t size) { + set_has_json_name(); + json_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.FieldDescriptorProto.json_name) +} +inline ::std::string* FieldDescriptorProto::mutable_json_name() { + set_has_json_name(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.json_name) + return json_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* FieldDescriptorProto::release_json_name() { + // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.json_name) + clear_has_json_name(); + return json_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FieldDescriptorProto::set_allocated_json_name(::std::string* json_name) { + if (json_name != NULL) { + set_has_json_name(); + } else { + clear_has_json_name(); + } + json_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), json_name); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.json_name) +} + +// optional .google.protobuf.FieldOptions options = 8; +inline bool FieldDescriptorProto::has_options() const { + return (_has_bits_[0] & 0x00000200u) != 0; +} +inline void FieldDescriptorProto::set_has_options() { + _has_bits_[0] |= 0x00000200u; +} +inline void FieldDescriptorProto::clear_has_options() { + _has_bits_[0] &= ~0x00000200u; +} +inline void FieldDescriptorProto::clear_options() { + if (options_ != NULL) options_->::google::protobuf::FieldOptions::Clear(); + clear_has_options(); +} +inline const ::google::protobuf::FieldOptions& FieldDescriptorProto::options() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.options) + return options_ != NULL ? *options_ + : *::google::protobuf::FieldOptions::internal_default_instance(); +} +inline ::google::protobuf::FieldOptions* FieldDescriptorProto::mutable_options() { + set_has_options(); + if (options_ == NULL) { + options_ = new ::google::protobuf::FieldOptions; + } + // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.options) + return options_; +} +inline ::google::protobuf::FieldOptions* FieldDescriptorProto::release_options() { + // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.options) + clear_has_options(); + ::google::protobuf::FieldOptions* temp = options_; + options_ = NULL; + return temp; +} +inline void FieldDescriptorProto::set_allocated_options(::google::protobuf::FieldOptions* options) { + delete options_; + options_ = options; + if (options) { + set_has_options(); + } else { + clear_has_options(); + } + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.options) +} + +inline const FieldDescriptorProto* FieldDescriptorProto::internal_default_instance() { + return &FieldDescriptorProto_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// OneofDescriptorProto + +// optional string name = 1; +inline bool OneofDescriptorProto::has_name() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void OneofDescriptorProto::set_has_name() { + _has_bits_[0] |= 0x00000001u; +} +inline void OneofDescriptorProto::clear_has_name() { + _has_bits_[0] &= ~0x00000001u; +} +inline void OneofDescriptorProto::clear_name() { + name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_name(); +} +inline const ::std::string& OneofDescriptorProto::name() const { + // @@protoc_insertion_point(field_get:google.protobuf.OneofDescriptorProto.name) + return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void OneofDescriptorProto::set_name(const ::std::string& value) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.OneofDescriptorProto.name) +} +inline void OneofDescriptorProto::set_name(const char* value) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.OneofDescriptorProto.name) +} +inline void OneofDescriptorProto::set_name(const char* value, size_t size) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.OneofDescriptorProto.name) +} +inline ::std::string* OneofDescriptorProto::mutable_name() { + set_has_name(); + // @@protoc_insertion_point(field_mutable:google.protobuf.OneofDescriptorProto.name) + return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* OneofDescriptorProto::release_name() { + // @@protoc_insertion_point(field_release:google.protobuf.OneofDescriptorProto.name) + clear_has_name(); + return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void OneofDescriptorProto::set_allocated_name(::std::string* name) { + if (name != NULL) { + set_has_name(); + } else { + clear_has_name(); + } + name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.OneofDescriptorProto.name) +} + +// optional .google.protobuf.OneofOptions options = 2; +inline bool OneofDescriptorProto::has_options() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void OneofDescriptorProto::set_has_options() { + _has_bits_[0] |= 0x00000002u; +} +inline void OneofDescriptorProto::clear_has_options() { + _has_bits_[0] &= ~0x00000002u; +} +inline void OneofDescriptorProto::clear_options() { + if (options_ != NULL) options_->::google::protobuf::OneofOptions::Clear(); + clear_has_options(); +} +inline const ::google::protobuf::OneofOptions& OneofDescriptorProto::options() const { + // @@protoc_insertion_point(field_get:google.protobuf.OneofDescriptorProto.options) + return options_ != NULL ? *options_ + : *::google::protobuf::OneofOptions::internal_default_instance(); +} +inline ::google::protobuf::OneofOptions* OneofDescriptorProto::mutable_options() { + set_has_options(); + if (options_ == NULL) { + options_ = new ::google::protobuf::OneofOptions; + } + // @@protoc_insertion_point(field_mutable:google.protobuf.OneofDescriptorProto.options) + return options_; +} +inline ::google::protobuf::OneofOptions* OneofDescriptorProto::release_options() { + // @@protoc_insertion_point(field_release:google.protobuf.OneofDescriptorProto.options) + clear_has_options(); + ::google::protobuf::OneofOptions* temp = options_; + options_ = NULL; + return temp; +} +inline void OneofDescriptorProto::set_allocated_options(::google::protobuf::OneofOptions* options) { + delete options_; + options_ = options; + if (options) { + set_has_options(); + } else { + clear_has_options(); + } + // @@protoc_insertion_point(field_set_allocated:google.protobuf.OneofDescriptorProto.options) +} + +inline const OneofDescriptorProto* OneofDescriptorProto::internal_default_instance() { + return &OneofDescriptorProto_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// EnumDescriptorProto + +// optional string name = 1; +inline bool EnumDescriptorProto::has_name() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void EnumDescriptorProto::set_has_name() { + _has_bits_[0] |= 0x00000001u; +} +inline void EnumDescriptorProto::clear_has_name() { + _has_bits_[0] &= ~0x00000001u; +} +inline void EnumDescriptorProto::clear_name() { + name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_name(); +} +inline const ::std::string& EnumDescriptorProto::name() const { + // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.name) + return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void EnumDescriptorProto::set_name(const ::std::string& value) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.EnumDescriptorProto.name) +} +inline void EnumDescriptorProto::set_name(const char* value) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.EnumDescriptorProto.name) +} +inline void EnumDescriptorProto::set_name(const char* value, size_t size) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.EnumDescriptorProto.name) +} +inline ::std::string* EnumDescriptorProto::mutable_name() { + set_has_name(); + // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.name) + return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* EnumDescriptorProto::release_name() { + // @@protoc_insertion_point(field_release:google.protobuf.EnumDescriptorProto.name) + clear_has_name(); + return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void EnumDescriptorProto::set_allocated_name(::std::string* name) { + if (name != NULL) { + set_has_name(); + } else { + clear_has_name(); + } + name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumDescriptorProto.name) +} + +// repeated .google.protobuf.EnumValueDescriptorProto value = 2; +inline int EnumDescriptorProto::value_size() const { + return value_.size(); +} +inline void EnumDescriptorProto::clear_value() { + value_.Clear(); +} +inline const ::google::protobuf::EnumValueDescriptorProto& EnumDescriptorProto::value(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.value) + return value_.Get(index); +} +inline ::google::protobuf::EnumValueDescriptorProto* EnumDescriptorProto::mutable_value(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.value) + return value_.Mutable(index); +} +inline ::google::protobuf::EnumValueDescriptorProto* EnumDescriptorProto::add_value() { + // @@protoc_insertion_point(field_add:google.protobuf.EnumDescriptorProto.value) + return value_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto >* +EnumDescriptorProto::mutable_value() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumDescriptorProto.value) + return &value_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto >& +EnumDescriptorProto::value() const { + // @@protoc_insertion_point(field_list:google.protobuf.EnumDescriptorProto.value) + return value_; +} + +// optional .google.protobuf.EnumOptions options = 3; +inline bool EnumDescriptorProto::has_options() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void EnumDescriptorProto::set_has_options() { + _has_bits_[0] |= 0x00000004u; +} +inline void EnumDescriptorProto::clear_has_options() { + _has_bits_[0] &= ~0x00000004u; +} +inline void EnumDescriptorProto::clear_options() { + if (options_ != NULL) options_->::google::protobuf::EnumOptions::Clear(); + clear_has_options(); +} +inline const ::google::protobuf::EnumOptions& EnumDescriptorProto::options() const { + // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.options) + return options_ != NULL ? *options_ + : *::google::protobuf::EnumOptions::internal_default_instance(); +} +inline ::google::protobuf::EnumOptions* EnumDescriptorProto::mutable_options() { + set_has_options(); + if (options_ == NULL) { + options_ = new ::google::protobuf::EnumOptions; + } + // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.options) + return options_; +} +inline ::google::protobuf::EnumOptions* EnumDescriptorProto::release_options() { + // @@protoc_insertion_point(field_release:google.protobuf.EnumDescriptorProto.options) + clear_has_options(); + ::google::protobuf::EnumOptions* temp = options_; + options_ = NULL; + return temp; +} +inline void EnumDescriptorProto::set_allocated_options(::google::protobuf::EnumOptions* options) { + delete options_; + options_ = options; + if (options) { + set_has_options(); + } else { + clear_has_options(); + } + // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumDescriptorProto.options) +} + +inline const EnumDescriptorProto* EnumDescriptorProto::internal_default_instance() { + return &EnumDescriptorProto_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// EnumValueDescriptorProto + +// optional string name = 1; +inline bool EnumValueDescriptorProto::has_name() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void EnumValueDescriptorProto::set_has_name() { + _has_bits_[0] |= 0x00000001u; +} +inline void EnumValueDescriptorProto::clear_has_name() { + _has_bits_[0] &= ~0x00000001u; +} +inline void EnumValueDescriptorProto::clear_name() { + name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_name(); +} +inline const ::std::string& EnumValueDescriptorProto::name() const { + // @@protoc_insertion_point(field_get:google.protobuf.EnumValueDescriptorProto.name) + return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void EnumValueDescriptorProto::set_name(const ::std::string& value) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.EnumValueDescriptorProto.name) +} +inline void EnumValueDescriptorProto::set_name(const char* value) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.EnumValueDescriptorProto.name) +} +inline void EnumValueDescriptorProto::set_name(const char* value, size_t size) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.EnumValueDescriptorProto.name) +} +inline ::std::string* EnumValueDescriptorProto::mutable_name() { + set_has_name(); + // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueDescriptorProto.name) + return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* EnumValueDescriptorProto::release_name() { + // @@protoc_insertion_point(field_release:google.protobuf.EnumValueDescriptorProto.name) + clear_has_name(); + return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void EnumValueDescriptorProto::set_allocated_name(::std::string* name) { + if (name != NULL) { + set_has_name(); + } else { + clear_has_name(); + } + name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumValueDescriptorProto.name) +} + +// optional int32 number = 2; +inline bool EnumValueDescriptorProto::has_number() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void EnumValueDescriptorProto::set_has_number() { + _has_bits_[0] |= 0x00000002u; +} +inline void EnumValueDescriptorProto::clear_has_number() { + _has_bits_[0] &= ~0x00000002u; +} +inline void EnumValueDescriptorProto::clear_number() { + number_ = 0; + clear_has_number(); +} +inline ::google::protobuf::int32 EnumValueDescriptorProto::number() const { + // @@protoc_insertion_point(field_get:google.protobuf.EnumValueDescriptorProto.number) + return number_; +} +inline void EnumValueDescriptorProto::set_number(::google::protobuf::int32 value) { + set_has_number(); + number_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.EnumValueDescriptorProto.number) +} + +// optional .google.protobuf.EnumValueOptions options = 3; +inline bool EnumValueDescriptorProto::has_options() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void EnumValueDescriptorProto::set_has_options() { + _has_bits_[0] |= 0x00000004u; +} +inline void EnumValueDescriptorProto::clear_has_options() { + _has_bits_[0] &= ~0x00000004u; +} +inline void EnumValueDescriptorProto::clear_options() { + if (options_ != NULL) options_->::google::protobuf::EnumValueOptions::Clear(); + clear_has_options(); +} +inline const ::google::protobuf::EnumValueOptions& EnumValueDescriptorProto::options() const { + // @@protoc_insertion_point(field_get:google.protobuf.EnumValueDescriptorProto.options) + return options_ != NULL ? *options_ + : *::google::protobuf::EnumValueOptions::internal_default_instance(); +} +inline ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::mutable_options() { + set_has_options(); + if (options_ == NULL) { + options_ = new ::google::protobuf::EnumValueOptions; + } + // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueDescriptorProto.options) + return options_; +} +inline ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::release_options() { + // @@protoc_insertion_point(field_release:google.protobuf.EnumValueDescriptorProto.options) + clear_has_options(); + ::google::protobuf::EnumValueOptions* temp = options_; + options_ = NULL; + return temp; +} +inline void EnumValueDescriptorProto::set_allocated_options(::google::protobuf::EnumValueOptions* options) { + delete options_; + options_ = options; + if (options) { + set_has_options(); + } else { + clear_has_options(); + } + // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumValueDescriptorProto.options) +} + +inline const EnumValueDescriptorProto* EnumValueDescriptorProto::internal_default_instance() { + return &EnumValueDescriptorProto_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// ServiceDescriptorProto + +// optional string name = 1; +inline bool ServiceDescriptorProto::has_name() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void ServiceDescriptorProto::set_has_name() { + _has_bits_[0] |= 0x00000001u; +} +inline void ServiceDescriptorProto::clear_has_name() { + _has_bits_[0] &= ~0x00000001u; +} +inline void ServiceDescriptorProto::clear_name() { + name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_name(); +} +inline const ::std::string& ServiceDescriptorProto::name() const { + // @@protoc_insertion_point(field_get:google.protobuf.ServiceDescriptorProto.name) + return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void ServiceDescriptorProto::set_name(const ::std::string& value) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.ServiceDescriptorProto.name) +} +inline void ServiceDescriptorProto::set_name(const char* value) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.ServiceDescriptorProto.name) +} +inline void ServiceDescriptorProto::set_name(const char* value, size_t size) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.ServiceDescriptorProto.name) +} +inline ::std::string* ServiceDescriptorProto::mutable_name() { + set_has_name(); + // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceDescriptorProto.name) + return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* ServiceDescriptorProto::release_name() { + // @@protoc_insertion_point(field_release:google.protobuf.ServiceDescriptorProto.name) + clear_has_name(); + return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void ServiceDescriptorProto::set_allocated_name(::std::string* name) { + if (name != NULL) { + set_has_name(); + } else { + clear_has_name(); + } + name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.ServiceDescriptorProto.name) +} + +// repeated .google.protobuf.MethodDescriptorProto method = 2; +inline int ServiceDescriptorProto::method_size() const { + return method_.size(); +} +inline void ServiceDescriptorProto::clear_method() { + method_.Clear(); +} +inline const ::google::protobuf::MethodDescriptorProto& ServiceDescriptorProto::method(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.ServiceDescriptorProto.method) + return method_.Get(index); +} +inline ::google::protobuf::MethodDescriptorProto* ServiceDescriptorProto::mutable_method(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceDescriptorProto.method) + return method_.Mutable(index); +} +inline ::google::protobuf::MethodDescriptorProto* ServiceDescriptorProto::add_method() { + // @@protoc_insertion_point(field_add:google.protobuf.ServiceDescriptorProto.method) + return method_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto >* +ServiceDescriptorProto::mutable_method() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.ServiceDescriptorProto.method) + return &method_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto >& +ServiceDescriptorProto::method() const { + // @@protoc_insertion_point(field_list:google.protobuf.ServiceDescriptorProto.method) + return method_; +} + +// optional .google.protobuf.ServiceOptions options = 3; +inline bool ServiceDescriptorProto::has_options() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void ServiceDescriptorProto::set_has_options() { + _has_bits_[0] |= 0x00000004u; +} +inline void ServiceDescriptorProto::clear_has_options() { + _has_bits_[0] &= ~0x00000004u; +} +inline void ServiceDescriptorProto::clear_options() { + if (options_ != NULL) options_->::google::protobuf::ServiceOptions::Clear(); + clear_has_options(); +} +inline const ::google::protobuf::ServiceOptions& ServiceDescriptorProto::options() const { + // @@protoc_insertion_point(field_get:google.protobuf.ServiceDescriptorProto.options) + return options_ != NULL ? *options_ + : *::google::protobuf::ServiceOptions::internal_default_instance(); +} +inline ::google::protobuf::ServiceOptions* ServiceDescriptorProto::mutable_options() { + set_has_options(); + if (options_ == NULL) { + options_ = new ::google::protobuf::ServiceOptions; + } + // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceDescriptorProto.options) + return options_; +} +inline ::google::protobuf::ServiceOptions* ServiceDescriptorProto::release_options() { + // @@protoc_insertion_point(field_release:google.protobuf.ServiceDescriptorProto.options) + clear_has_options(); + ::google::protobuf::ServiceOptions* temp = options_; + options_ = NULL; + return temp; +} +inline void ServiceDescriptorProto::set_allocated_options(::google::protobuf::ServiceOptions* options) { + delete options_; + options_ = options; + if (options) { + set_has_options(); + } else { + clear_has_options(); + } + // @@protoc_insertion_point(field_set_allocated:google.protobuf.ServiceDescriptorProto.options) +} + +inline const ServiceDescriptorProto* ServiceDescriptorProto::internal_default_instance() { + return &ServiceDescriptorProto_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// MethodDescriptorProto + +// optional string name = 1; +inline bool MethodDescriptorProto::has_name() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void MethodDescriptorProto::set_has_name() { + _has_bits_[0] |= 0x00000001u; +} +inline void MethodDescriptorProto::clear_has_name() { + _has_bits_[0] &= ~0x00000001u; +} +inline void MethodDescriptorProto::clear_name() { + name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_name(); +} +inline const ::std::string& MethodDescriptorProto::name() const { + // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.name) + return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void MethodDescriptorProto::set_name(const ::std::string& value) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.name) +} +inline void MethodDescriptorProto::set_name(const char* value) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.MethodDescriptorProto.name) +} +inline void MethodDescriptorProto::set_name(const char* value, size_t size) { + set_has_name(); + name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.MethodDescriptorProto.name) +} +inline ::std::string* MethodDescriptorProto::mutable_name() { + set_has_name(); + // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.name) + return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* MethodDescriptorProto::release_name() { + // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.name) + clear_has_name(); + return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void MethodDescriptorProto::set_allocated_name(::std::string* name) { + if (name != NULL) { + set_has_name(); + } else { + clear_has_name(); + } + name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.name) +} + +// optional string input_type = 2; +inline bool MethodDescriptorProto::has_input_type() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void MethodDescriptorProto::set_has_input_type() { + _has_bits_[0] |= 0x00000002u; +} +inline void MethodDescriptorProto::clear_has_input_type() { + _has_bits_[0] &= ~0x00000002u; +} +inline void MethodDescriptorProto::clear_input_type() { + input_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_input_type(); +} +inline const ::std::string& MethodDescriptorProto::input_type() const { + // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.input_type) + return input_type_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void MethodDescriptorProto::set_input_type(const ::std::string& value) { + set_has_input_type(); + input_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.input_type) +} +inline void MethodDescriptorProto::set_input_type(const char* value) { + set_has_input_type(); + input_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.MethodDescriptorProto.input_type) +} +inline void MethodDescriptorProto::set_input_type(const char* value, size_t size) { + set_has_input_type(); + input_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.MethodDescriptorProto.input_type) +} +inline ::std::string* MethodDescriptorProto::mutable_input_type() { + set_has_input_type(); + // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.input_type) + return input_type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* MethodDescriptorProto::release_input_type() { + // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.input_type) + clear_has_input_type(); + return input_type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void MethodDescriptorProto::set_allocated_input_type(::std::string* input_type) { + if (input_type != NULL) { + set_has_input_type(); + } else { + clear_has_input_type(); + } + input_type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), input_type); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.input_type) +} + +// optional string output_type = 3; +inline bool MethodDescriptorProto::has_output_type() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void MethodDescriptorProto::set_has_output_type() { + _has_bits_[0] |= 0x00000004u; +} +inline void MethodDescriptorProto::clear_has_output_type() { + _has_bits_[0] &= ~0x00000004u; +} +inline void MethodDescriptorProto::clear_output_type() { + output_type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_output_type(); +} +inline const ::std::string& MethodDescriptorProto::output_type() const { + // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.output_type) + return output_type_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void MethodDescriptorProto::set_output_type(const ::std::string& value) { + set_has_output_type(); + output_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.output_type) +} +inline void MethodDescriptorProto::set_output_type(const char* value) { + set_has_output_type(); + output_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.MethodDescriptorProto.output_type) +} +inline void MethodDescriptorProto::set_output_type(const char* value, size_t size) { + set_has_output_type(); + output_type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.MethodDescriptorProto.output_type) +} +inline ::std::string* MethodDescriptorProto::mutable_output_type() { + set_has_output_type(); + // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.output_type) + return output_type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* MethodDescriptorProto::release_output_type() { + // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.output_type) + clear_has_output_type(); + return output_type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void MethodDescriptorProto::set_allocated_output_type(::std::string* output_type) { + if (output_type != NULL) { + set_has_output_type(); + } else { + clear_has_output_type(); + } + output_type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), output_type); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.output_type) +} + +// optional .google.protobuf.MethodOptions options = 4; +inline bool MethodDescriptorProto::has_options() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +inline void MethodDescriptorProto::set_has_options() { + _has_bits_[0] |= 0x00000008u; +} +inline void MethodDescriptorProto::clear_has_options() { + _has_bits_[0] &= ~0x00000008u; +} +inline void MethodDescriptorProto::clear_options() { + if (options_ != NULL) options_->::google::protobuf::MethodOptions::Clear(); + clear_has_options(); +} +inline const ::google::protobuf::MethodOptions& MethodDescriptorProto::options() const { + // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.options) + return options_ != NULL ? *options_ + : *::google::protobuf::MethodOptions::internal_default_instance(); +} +inline ::google::protobuf::MethodOptions* MethodDescriptorProto::mutable_options() { + set_has_options(); + if (options_ == NULL) { + options_ = new ::google::protobuf::MethodOptions; + } + // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.options) + return options_; +} +inline ::google::protobuf::MethodOptions* MethodDescriptorProto::release_options() { + // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.options) + clear_has_options(); + ::google::protobuf::MethodOptions* temp = options_; + options_ = NULL; + return temp; +} +inline void MethodDescriptorProto::set_allocated_options(::google::protobuf::MethodOptions* options) { + delete options_; + options_ = options; + if (options) { + set_has_options(); + } else { + clear_has_options(); + } + // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.options) +} + +// optional bool client_streaming = 5 [default = false]; +inline bool MethodDescriptorProto::has_client_streaming() const { + return (_has_bits_[0] & 0x00000010u) != 0; +} +inline void MethodDescriptorProto::set_has_client_streaming() { + _has_bits_[0] |= 0x00000010u; +} +inline void MethodDescriptorProto::clear_has_client_streaming() { + _has_bits_[0] &= ~0x00000010u; +} +inline void MethodDescriptorProto::clear_client_streaming() { + client_streaming_ = false; + clear_has_client_streaming(); +} +inline bool MethodDescriptorProto::client_streaming() const { + // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.client_streaming) + return client_streaming_; +} +inline void MethodDescriptorProto::set_client_streaming(bool value) { + set_has_client_streaming(); + client_streaming_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.client_streaming) +} + +// optional bool server_streaming = 6 [default = false]; +inline bool MethodDescriptorProto::has_server_streaming() const { + return (_has_bits_[0] & 0x00000020u) != 0; +} +inline void MethodDescriptorProto::set_has_server_streaming() { + _has_bits_[0] |= 0x00000020u; +} +inline void MethodDescriptorProto::clear_has_server_streaming() { + _has_bits_[0] &= ~0x00000020u; +} +inline void MethodDescriptorProto::clear_server_streaming() { + server_streaming_ = false; + clear_has_server_streaming(); +} +inline bool MethodDescriptorProto::server_streaming() const { + // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.server_streaming) + return server_streaming_; +} +inline void MethodDescriptorProto::set_server_streaming(bool value) { + set_has_server_streaming(); + server_streaming_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.server_streaming) +} + +inline const MethodDescriptorProto* MethodDescriptorProto::internal_default_instance() { + return &MethodDescriptorProto_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// FileOptions + +// optional string java_package = 1; +inline bool FileOptions::has_java_package() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void FileOptions::set_has_java_package() { + _has_bits_[0] |= 0x00000001u; +} +inline void FileOptions::clear_has_java_package() { + _has_bits_[0] &= ~0x00000001u; +} +inline void FileOptions::clear_java_package() { + java_package_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_java_package(); +} +inline const ::std::string& FileOptions::java_package() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_package) + return java_package_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FileOptions::set_java_package(const ::std::string& value) { + set_has_java_package(); + java_package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_package) +} +inline void FileOptions::set_java_package(const char* value) { + set_has_java_package(); + java_package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.FileOptions.java_package) +} +inline void FileOptions::set_java_package(const char* value, size_t size) { + set_has_java_package(); + java_package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileOptions.java_package) +} +inline ::std::string* FileOptions::mutable_java_package() { + set_has_java_package(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.java_package) + return java_package_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* FileOptions::release_java_package() { + // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.java_package) + clear_has_java_package(); + return java_package_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FileOptions::set_allocated_java_package(::std::string* java_package) { + if (java_package != NULL) { + set_has_java_package(); + } else { + clear_has_java_package(); + } + java_package_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), java_package); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.java_package) +} + +// optional string java_outer_classname = 8; +inline bool FileOptions::has_java_outer_classname() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void FileOptions::set_has_java_outer_classname() { + _has_bits_[0] |= 0x00000002u; +} +inline void FileOptions::clear_has_java_outer_classname() { + _has_bits_[0] &= ~0x00000002u; +} +inline void FileOptions::clear_java_outer_classname() { + java_outer_classname_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_java_outer_classname(); +} +inline const ::std::string& FileOptions::java_outer_classname() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_outer_classname) + return java_outer_classname_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FileOptions::set_java_outer_classname(const ::std::string& value) { + set_has_java_outer_classname(); + java_outer_classname_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_outer_classname) +} +inline void FileOptions::set_java_outer_classname(const char* value) { + set_has_java_outer_classname(); + java_outer_classname_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.FileOptions.java_outer_classname) +} +inline void FileOptions::set_java_outer_classname(const char* value, size_t size) { + set_has_java_outer_classname(); + java_outer_classname_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileOptions.java_outer_classname) +} +inline ::std::string* FileOptions::mutable_java_outer_classname() { + set_has_java_outer_classname(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.java_outer_classname) + return java_outer_classname_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* FileOptions::release_java_outer_classname() { + // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.java_outer_classname) + clear_has_java_outer_classname(); + return java_outer_classname_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FileOptions::set_allocated_java_outer_classname(::std::string* java_outer_classname) { + if (java_outer_classname != NULL) { + set_has_java_outer_classname(); + } else { + clear_has_java_outer_classname(); + } + java_outer_classname_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), java_outer_classname); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.java_outer_classname) +} + +// optional bool java_multiple_files = 10 [default = false]; +inline bool FileOptions::has_java_multiple_files() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void FileOptions::set_has_java_multiple_files() { + _has_bits_[0] |= 0x00000004u; +} +inline void FileOptions::clear_has_java_multiple_files() { + _has_bits_[0] &= ~0x00000004u; +} +inline void FileOptions::clear_java_multiple_files() { + java_multiple_files_ = false; + clear_has_java_multiple_files(); +} +inline bool FileOptions::java_multiple_files() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_multiple_files) + return java_multiple_files_; +} +inline void FileOptions::set_java_multiple_files(bool value) { + set_has_java_multiple_files(); + java_multiple_files_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_multiple_files) +} + +// optional bool java_generate_equals_and_hash = 20 [deprecated = true]; +inline bool FileOptions::has_java_generate_equals_and_hash() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +inline void FileOptions::set_has_java_generate_equals_and_hash() { + _has_bits_[0] |= 0x00000008u; +} +inline void FileOptions::clear_has_java_generate_equals_and_hash() { + _has_bits_[0] &= ~0x00000008u; +} +inline void FileOptions::clear_java_generate_equals_and_hash() { + java_generate_equals_and_hash_ = false; + clear_has_java_generate_equals_and_hash(); +} +inline bool FileOptions::java_generate_equals_and_hash() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_generate_equals_and_hash) + return java_generate_equals_and_hash_; +} +inline void FileOptions::set_java_generate_equals_and_hash(bool value) { + set_has_java_generate_equals_and_hash(); + java_generate_equals_and_hash_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_generate_equals_and_hash) +} + +// optional bool java_string_check_utf8 = 27 [default = false]; +inline bool FileOptions::has_java_string_check_utf8() const { + return (_has_bits_[0] & 0x00000010u) != 0; +} +inline void FileOptions::set_has_java_string_check_utf8() { + _has_bits_[0] |= 0x00000010u; +} +inline void FileOptions::clear_has_java_string_check_utf8() { + _has_bits_[0] &= ~0x00000010u; +} +inline void FileOptions::clear_java_string_check_utf8() { + java_string_check_utf8_ = false; + clear_has_java_string_check_utf8(); +} +inline bool FileOptions::java_string_check_utf8() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_string_check_utf8) + return java_string_check_utf8_; +} +inline void FileOptions::set_java_string_check_utf8(bool value) { + set_has_java_string_check_utf8(); + java_string_check_utf8_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_string_check_utf8) +} + +// optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED]; +inline bool FileOptions::has_optimize_for() const { + return (_has_bits_[0] & 0x00000020u) != 0; +} +inline void FileOptions::set_has_optimize_for() { + _has_bits_[0] |= 0x00000020u; +} +inline void FileOptions::clear_has_optimize_for() { + _has_bits_[0] &= ~0x00000020u; +} +inline void FileOptions::clear_optimize_for() { + optimize_for_ = 1; + clear_has_optimize_for(); +} +inline ::google::protobuf::FileOptions_OptimizeMode FileOptions::optimize_for() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.optimize_for) + return static_cast< ::google::protobuf::FileOptions_OptimizeMode >(optimize_for_); +} +inline void FileOptions::set_optimize_for(::google::protobuf::FileOptions_OptimizeMode value) { + assert(::google::protobuf::FileOptions_OptimizeMode_IsValid(value)); + set_has_optimize_for(); + optimize_for_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.optimize_for) +} + +// optional string go_package = 11; +inline bool FileOptions::has_go_package() const { + return (_has_bits_[0] & 0x00000040u) != 0; +} +inline void FileOptions::set_has_go_package() { + _has_bits_[0] |= 0x00000040u; +} +inline void FileOptions::clear_has_go_package() { + _has_bits_[0] &= ~0x00000040u; +} +inline void FileOptions::clear_go_package() { + go_package_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_go_package(); +} +inline const ::std::string& FileOptions::go_package() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.go_package) + return go_package_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FileOptions::set_go_package(const ::std::string& value) { + set_has_go_package(); + go_package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.go_package) +} +inline void FileOptions::set_go_package(const char* value) { + set_has_go_package(); + go_package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.FileOptions.go_package) +} +inline void FileOptions::set_go_package(const char* value, size_t size) { + set_has_go_package(); + go_package_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileOptions.go_package) +} +inline ::std::string* FileOptions::mutable_go_package() { + set_has_go_package(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.go_package) + return go_package_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* FileOptions::release_go_package() { + // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.go_package) + clear_has_go_package(); + return go_package_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FileOptions::set_allocated_go_package(::std::string* go_package) { + if (go_package != NULL) { + set_has_go_package(); + } else { + clear_has_go_package(); + } + go_package_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), go_package); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.go_package) +} + +// optional bool cc_generic_services = 16 [default = false]; +inline bool FileOptions::has_cc_generic_services() const { + return (_has_bits_[0] & 0x00000080u) != 0; +} +inline void FileOptions::set_has_cc_generic_services() { + _has_bits_[0] |= 0x00000080u; +} +inline void FileOptions::clear_has_cc_generic_services() { + _has_bits_[0] &= ~0x00000080u; +} +inline void FileOptions::clear_cc_generic_services() { + cc_generic_services_ = false; + clear_has_cc_generic_services(); +} +inline bool FileOptions::cc_generic_services() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.cc_generic_services) + return cc_generic_services_; +} +inline void FileOptions::set_cc_generic_services(bool value) { + set_has_cc_generic_services(); + cc_generic_services_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.cc_generic_services) +} + +// optional bool java_generic_services = 17 [default = false]; +inline bool FileOptions::has_java_generic_services() const { + return (_has_bits_[0] & 0x00000100u) != 0; +} +inline void FileOptions::set_has_java_generic_services() { + _has_bits_[0] |= 0x00000100u; +} +inline void FileOptions::clear_has_java_generic_services() { + _has_bits_[0] &= ~0x00000100u; +} +inline void FileOptions::clear_java_generic_services() { + java_generic_services_ = false; + clear_has_java_generic_services(); +} +inline bool FileOptions::java_generic_services() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_generic_services) + return java_generic_services_; +} +inline void FileOptions::set_java_generic_services(bool value) { + set_has_java_generic_services(); + java_generic_services_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_generic_services) +} + +// optional bool py_generic_services = 18 [default = false]; +inline bool FileOptions::has_py_generic_services() const { + return (_has_bits_[0] & 0x00000200u) != 0; +} +inline void FileOptions::set_has_py_generic_services() { + _has_bits_[0] |= 0x00000200u; +} +inline void FileOptions::clear_has_py_generic_services() { + _has_bits_[0] &= ~0x00000200u; +} +inline void FileOptions::clear_py_generic_services() { + py_generic_services_ = false; + clear_has_py_generic_services(); +} +inline bool FileOptions::py_generic_services() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.py_generic_services) + return py_generic_services_; +} +inline void FileOptions::set_py_generic_services(bool value) { + set_has_py_generic_services(); + py_generic_services_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.py_generic_services) +} + +// optional bool deprecated = 23 [default = false]; +inline bool FileOptions::has_deprecated() const { + return (_has_bits_[0] & 0x00000400u) != 0; +} +inline void FileOptions::set_has_deprecated() { + _has_bits_[0] |= 0x00000400u; +} +inline void FileOptions::clear_has_deprecated() { + _has_bits_[0] &= ~0x00000400u; +} +inline void FileOptions::clear_deprecated() { + deprecated_ = false; + clear_has_deprecated(); +} +inline bool FileOptions::deprecated() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.deprecated) + return deprecated_; +} +inline void FileOptions::set_deprecated(bool value) { + set_has_deprecated(); + deprecated_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.deprecated) +} + +// optional bool cc_enable_arenas = 31 [default = false]; +inline bool FileOptions::has_cc_enable_arenas() const { + return (_has_bits_[0] & 0x00000800u) != 0; +} +inline void FileOptions::set_has_cc_enable_arenas() { + _has_bits_[0] |= 0x00000800u; +} +inline void FileOptions::clear_has_cc_enable_arenas() { + _has_bits_[0] &= ~0x00000800u; +} +inline void FileOptions::clear_cc_enable_arenas() { + cc_enable_arenas_ = false; + clear_has_cc_enable_arenas(); +} +inline bool FileOptions::cc_enable_arenas() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.cc_enable_arenas) + return cc_enable_arenas_; +} +inline void FileOptions::set_cc_enable_arenas(bool value) { + set_has_cc_enable_arenas(); + cc_enable_arenas_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.cc_enable_arenas) +} + +// optional string objc_class_prefix = 36; +inline bool FileOptions::has_objc_class_prefix() const { + return (_has_bits_[0] & 0x00001000u) != 0; +} +inline void FileOptions::set_has_objc_class_prefix() { + _has_bits_[0] |= 0x00001000u; +} +inline void FileOptions::clear_has_objc_class_prefix() { + _has_bits_[0] &= ~0x00001000u; +} +inline void FileOptions::clear_objc_class_prefix() { + objc_class_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_objc_class_prefix(); +} +inline const ::std::string& FileOptions::objc_class_prefix() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.objc_class_prefix) + return objc_class_prefix_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FileOptions::set_objc_class_prefix(const ::std::string& value) { + set_has_objc_class_prefix(); + objc_class_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.objc_class_prefix) +} +inline void FileOptions::set_objc_class_prefix(const char* value) { + set_has_objc_class_prefix(); + objc_class_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.FileOptions.objc_class_prefix) +} +inline void FileOptions::set_objc_class_prefix(const char* value, size_t size) { + set_has_objc_class_prefix(); + objc_class_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileOptions.objc_class_prefix) +} +inline ::std::string* FileOptions::mutable_objc_class_prefix() { + set_has_objc_class_prefix(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.objc_class_prefix) + return objc_class_prefix_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* FileOptions::release_objc_class_prefix() { + // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.objc_class_prefix) + clear_has_objc_class_prefix(); + return objc_class_prefix_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FileOptions::set_allocated_objc_class_prefix(::std::string* objc_class_prefix) { + if (objc_class_prefix != NULL) { + set_has_objc_class_prefix(); + } else { + clear_has_objc_class_prefix(); + } + objc_class_prefix_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), objc_class_prefix); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.objc_class_prefix) +} + +// optional string csharp_namespace = 37; +inline bool FileOptions::has_csharp_namespace() const { + return (_has_bits_[0] & 0x00002000u) != 0; +} +inline void FileOptions::set_has_csharp_namespace() { + _has_bits_[0] |= 0x00002000u; +} +inline void FileOptions::clear_has_csharp_namespace() { + _has_bits_[0] &= ~0x00002000u; +} +inline void FileOptions::clear_csharp_namespace() { + csharp_namespace_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_csharp_namespace(); +} +inline const ::std::string& FileOptions::csharp_namespace() const { + // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.csharp_namespace) + return csharp_namespace_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FileOptions::set_csharp_namespace(const ::std::string& value) { + set_has_csharp_namespace(); + csharp_namespace_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.csharp_namespace) +} +inline void FileOptions::set_csharp_namespace(const char* value) { + set_has_csharp_namespace(); + csharp_namespace_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.FileOptions.csharp_namespace) +} +inline void FileOptions::set_csharp_namespace(const char* value, size_t size) { + set_has_csharp_namespace(); + csharp_namespace_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.FileOptions.csharp_namespace) +} +inline ::std::string* FileOptions::mutable_csharp_namespace() { + set_has_csharp_namespace(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.csharp_namespace) + return csharp_namespace_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* FileOptions::release_csharp_namespace() { + // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.csharp_namespace) + clear_has_csharp_namespace(); + return csharp_namespace_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void FileOptions::set_allocated_csharp_namespace(::std::string* csharp_namespace) { + if (csharp_namespace != NULL) { + set_has_csharp_namespace(); + } else { + clear_has_csharp_namespace(); + } + csharp_namespace_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), csharp_namespace); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.csharp_namespace) +} + +// repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; +inline int FileOptions::uninterpreted_option_size() const { + return uninterpreted_option_.size(); +} +inline void FileOptions::clear_uninterpreted_option() { + uninterpreted_option_.Clear(); +} +inline const ::google::protobuf::UninterpretedOption& FileOptions::uninterpreted_option(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.uninterpreted_option) + return uninterpreted_option_.Get(index); +} +inline ::google::protobuf::UninterpretedOption* FileOptions::mutable_uninterpreted_option(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.uninterpreted_option) + return uninterpreted_option_.Mutable(index); +} +inline ::google::protobuf::UninterpretedOption* FileOptions::add_uninterpreted_option() { + // @@protoc_insertion_point(field_add:google.protobuf.FileOptions.uninterpreted_option) + return uninterpreted_option_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >* +FileOptions::mutable_uninterpreted_option() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileOptions.uninterpreted_option) + return &uninterpreted_option_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >& +FileOptions::uninterpreted_option() const { + // @@protoc_insertion_point(field_list:google.protobuf.FileOptions.uninterpreted_option) + return uninterpreted_option_; +} + +inline const FileOptions* FileOptions::internal_default_instance() { + return &FileOptions_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// MessageOptions + +// optional bool message_set_wire_format = 1 [default = false]; +inline bool MessageOptions::has_message_set_wire_format() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void MessageOptions::set_has_message_set_wire_format() { + _has_bits_[0] |= 0x00000001u; +} +inline void MessageOptions::clear_has_message_set_wire_format() { + _has_bits_[0] &= ~0x00000001u; +} +inline void MessageOptions::clear_message_set_wire_format() { + message_set_wire_format_ = false; + clear_has_message_set_wire_format(); +} +inline bool MessageOptions::message_set_wire_format() const { + // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.message_set_wire_format) + return message_set_wire_format_; +} +inline void MessageOptions::set_message_set_wire_format(bool value) { + set_has_message_set_wire_format(); + message_set_wire_format_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.message_set_wire_format) +} + +// optional bool no_standard_descriptor_accessor = 2 [default = false]; +inline bool MessageOptions::has_no_standard_descriptor_accessor() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void MessageOptions::set_has_no_standard_descriptor_accessor() { + _has_bits_[0] |= 0x00000002u; +} +inline void MessageOptions::clear_has_no_standard_descriptor_accessor() { + _has_bits_[0] &= ~0x00000002u; +} +inline void MessageOptions::clear_no_standard_descriptor_accessor() { + no_standard_descriptor_accessor_ = false; + clear_has_no_standard_descriptor_accessor(); +} +inline bool MessageOptions::no_standard_descriptor_accessor() const { + // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.no_standard_descriptor_accessor) + return no_standard_descriptor_accessor_; +} +inline void MessageOptions::set_no_standard_descriptor_accessor(bool value) { + set_has_no_standard_descriptor_accessor(); + no_standard_descriptor_accessor_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.no_standard_descriptor_accessor) +} + +// optional bool deprecated = 3 [default = false]; +inline bool MessageOptions::has_deprecated() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void MessageOptions::set_has_deprecated() { + _has_bits_[0] |= 0x00000004u; +} +inline void MessageOptions::clear_has_deprecated() { + _has_bits_[0] &= ~0x00000004u; +} +inline void MessageOptions::clear_deprecated() { + deprecated_ = false; + clear_has_deprecated(); +} +inline bool MessageOptions::deprecated() const { + // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.deprecated) + return deprecated_; +} +inline void MessageOptions::set_deprecated(bool value) { + set_has_deprecated(); + deprecated_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.deprecated) +} + +// optional bool map_entry = 7; +inline bool MessageOptions::has_map_entry() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +inline void MessageOptions::set_has_map_entry() { + _has_bits_[0] |= 0x00000008u; +} +inline void MessageOptions::clear_has_map_entry() { + _has_bits_[0] &= ~0x00000008u; +} +inline void MessageOptions::clear_map_entry() { + map_entry_ = false; + clear_has_map_entry(); +} +inline bool MessageOptions::map_entry() const { + // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.map_entry) + return map_entry_; +} +inline void MessageOptions::set_map_entry(bool value) { + set_has_map_entry(); + map_entry_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.map_entry) +} + +// repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; +inline int MessageOptions::uninterpreted_option_size() const { + return uninterpreted_option_.size(); +} +inline void MessageOptions::clear_uninterpreted_option() { + uninterpreted_option_.Clear(); +} +inline const ::google::protobuf::UninterpretedOption& MessageOptions::uninterpreted_option(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.uninterpreted_option) + return uninterpreted_option_.Get(index); +} +inline ::google::protobuf::UninterpretedOption* MessageOptions::mutable_uninterpreted_option(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.MessageOptions.uninterpreted_option) + return uninterpreted_option_.Mutable(index); +} +inline ::google::protobuf::UninterpretedOption* MessageOptions::add_uninterpreted_option() { + // @@protoc_insertion_point(field_add:google.protobuf.MessageOptions.uninterpreted_option) + return uninterpreted_option_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >* +MessageOptions::mutable_uninterpreted_option() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.MessageOptions.uninterpreted_option) + return &uninterpreted_option_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >& +MessageOptions::uninterpreted_option() const { + // @@protoc_insertion_point(field_list:google.protobuf.MessageOptions.uninterpreted_option) + return uninterpreted_option_; +} + +inline const MessageOptions* MessageOptions::internal_default_instance() { + return &MessageOptions_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// FieldOptions + +// optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING]; +inline bool FieldOptions::has_ctype() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void FieldOptions::set_has_ctype() { + _has_bits_[0] |= 0x00000001u; +} +inline void FieldOptions::clear_has_ctype() { + _has_bits_[0] &= ~0x00000001u; +} +inline void FieldOptions::clear_ctype() { + ctype_ = 0; + clear_has_ctype(); +} +inline ::google::protobuf::FieldOptions_CType FieldOptions::ctype() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.ctype) + return static_cast< ::google::protobuf::FieldOptions_CType >(ctype_); +} +inline void FieldOptions::set_ctype(::google::protobuf::FieldOptions_CType value) { + assert(::google::protobuf::FieldOptions_CType_IsValid(value)); + set_has_ctype(); + ctype_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.ctype) +} + +// optional bool packed = 2; +inline bool FieldOptions::has_packed() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void FieldOptions::set_has_packed() { + _has_bits_[0] |= 0x00000002u; +} +inline void FieldOptions::clear_has_packed() { + _has_bits_[0] &= ~0x00000002u; +} +inline void FieldOptions::clear_packed() { + packed_ = false; + clear_has_packed(); +} +inline bool FieldOptions::packed() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.packed) + return packed_; +} +inline void FieldOptions::set_packed(bool value) { + set_has_packed(); + packed_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.packed) +} + +// optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL]; +inline bool FieldOptions::has_jstype() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void FieldOptions::set_has_jstype() { + _has_bits_[0] |= 0x00000004u; +} +inline void FieldOptions::clear_has_jstype() { + _has_bits_[0] &= ~0x00000004u; +} +inline void FieldOptions::clear_jstype() { + jstype_ = 0; + clear_has_jstype(); +} +inline ::google::protobuf::FieldOptions_JSType FieldOptions::jstype() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.jstype) + return static_cast< ::google::protobuf::FieldOptions_JSType >(jstype_); +} +inline void FieldOptions::set_jstype(::google::protobuf::FieldOptions_JSType value) { + assert(::google::protobuf::FieldOptions_JSType_IsValid(value)); + set_has_jstype(); + jstype_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.jstype) +} + +// optional bool lazy = 5 [default = false]; +inline bool FieldOptions::has_lazy() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +inline void FieldOptions::set_has_lazy() { + _has_bits_[0] |= 0x00000008u; +} +inline void FieldOptions::clear_has_lazy() { + _has_bits_[0] &= ~0x00000008u; +} +inline void FieldOptions::clear_lazy() { + lazy_ = false; + clear_has_lazy(); +} +inline bool FieldOptions::lazy() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.lazy) + return lazy_; +} +inline void FieldOptions::set_lazy(bool value) { + set_has_lazy(); + lazy_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.lazy) +} + +// optional bool deprecated = 3 [default = false]; +inline bool FieldOptions::has_deprecated() const { + return (_has_bits_[0] & 0x00000010u) != 0; +} +inline void FieldOptions::set_has_deprecated() { + _has_bits_[0] |= 0x00000010u; +} +inline void FieldOptions::clear_has_deprecated() { + _has_bits_[0] &= ~0x00000010u; +} +inline void FieldOptions::clear_deprecated() { + deprecated_ = false; + clear_has_deprecated(); +} +inline bool FieldOptions::deprecated() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.deprecated) + return deprecated_; +} +inline void FieldOptions::set_deprecated(bool value) { + set_has_deprecated(); + deprecated_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.deprecated) +} + +// optional bool weak = 10 [default = false]; +inline bool FieldOptions::has_weak() const { + return (_has_bits_[0] & 0x00000020u) != 0; +} +inline void FieldOptions::set_has_weak() { + _has_bits_[0] |= 0x00000020u; +} +inline void FieldOptions::clear_has_weak() { + _has_bits_[0] &= ~0x00000020u; +} +inline void FieldOptions::clear_weak() { + weak_ = false; + clear_has_weak(); +} +inline bool FieldOptions::weak() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.weak) + return weak_; +} +inline void FieldOptions::set_weak(bool value) { + set_has_weak(); + weak_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.weak) +} + +// repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; +inline int FieldOptions::uninterpreted_option_size() const { + return uninterpreted_option_.size(); +} +inline void FieldOptions::clear_uninterpreted_option() { + uninterpreted_option_.Clear(); +} +inline const ::google::protobuf::UninterpretedOption& FieldOptions::uninterpreted_option(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.uninterpreted_option) + return uninterpreted_option_.Get(index); +} +inline ::google::protobuf::UninterpretedOption* FieldOptions::mutable_uninterpreted_option(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.uninterpreted_option) + return uninterpreted_option_.Mutable(index); +} +inline ::google::protobuf::UninterpretedOption* FieldOptions::add_uninterpreted_option() { + // @@protoc_insertion_point(field_add:google.protobuf.FieldOptions.uninterpreted_option) + return uninterpreted_option_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >* +FieldOptions::mutable_uninterpreted_option() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.FieldOptions.uninterpreted_option) + return &uninterpreted_option_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >& +FieldOptions::uninterpreted_option() const { + // @@protoc_insertion_point(field_list:google.protobuf.FieldOptions.uninterpreted_option) + return uninterpreted_option_; +} + +inline const FieldOptions* FieldOptions::internal_default_instance() { + return &FieldOptions_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// OneofOptions + +// repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; +inline int OneofOptions::uninterpreted_option_size() const { + return uninterpreted_option_.size(); +} +inline void OneofOptions::clear_uninterpreted_option() { + uninterpreted_option_.Clear(); +} +inline const ::google::protobuf::UninterpretedOption& OneofOptions::uninterpreted_option(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.OneofOptions.uninterpreted_option) + return uninterpreted_option_.Get(index); +} +inline ::google::protobuf::UninterpretedOption* OneofOptions::mutable_uninterpreted_option(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.OneofOptions.uninterpreted_option) + return uninterpreted_option_.Mutable(index); +} +inline ::google::protobuf::UninterpretedOption* OneofOptions::add_uninterpreted_option() { + // @@protoc_insertion_point(field_add:google.protobuf.OneofOptions.uninterpreted_option) + return uninterpreted_option_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >* +OneofOptions::mutable_uninterpreted_option() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.OneofOptions.uninterpreted_option) + return &uninterpreted_option_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >& +OneofOptions::uninterpreted_option() const { + // @@protoc_insertion_point(field_list:google.protobuf.OneofOptions.uninterpreted_option) + return uninterpreted_option_; +} + +inline const OneofOptions* OneofOptions::internal_default_instance() { + return &OneofOptions_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// EnumOptions + +// optional bool allow_alias = 2; +inline bool EnumOptions::has_allow_alias() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void EnumOptions::set_has_allow_alias() { + _has_bits_[0] |= 0x00000001u; +} +inline void EnumOptions::clear_has_allow_alias() { + _has_bits_[0] &= ~0x00000001u; +} +inline void EnumOptions::clear_allow_alias() { + allow_alias_ = false; + clear_has_allow_alias(); +} +inline bool EnumOptions::allow_alias() const { + // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.allow_alias) + return allow_alias_; +} +inline void EnumOptions::set_allow_alias(bool value) { + set_has_allow_alias(); + allow_alias_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.EnumOptions.allow_alias) +} + +// optional bool deprecated = 3 [default = false]; +inline bool EnumOptions::has_deprecated() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void EnumOptions::set_has_deprecated() { + _has_bits_[0] |= 0x00000002u; +} +inline void EnumOptions::clear_has_deprecated() { + _has_bits_[0] &= ~0x00000002u; +} +inline void EnumOptions::clear_deprecated() { + deprecated_ = false; + clear_has_deprecated(); +} +inline bool EnumOptions::deprecated() const { + // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.deprecated) + return deprecated_; +} +inline void EnumOptions::set_deprecated(bool value) { + set_has_deprecated(); + deprecated_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.EnumOptions.deprecated) +} + +// repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; +inline int EnumOptions::uninterpreted_option_size() const { + return uninterpreted_option_.size(); +} +inline void EnumOptions::clear_uninterpreted_option() { + uninterpreted_option_.Clear(); +} +inline const ::google::protobuf::UninterpretedOption& EnumOptions::uninterpreted_option(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.uninterpreted_option) + return uninterpreted_option_.Get(index); +} +inline ::google::protobuf::UninterpretedOption* EnumOptions::mutable_uninterpreted_option(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.EnumOptions.uninterpreted_option) + return uninterpreted_option_.Mutable(index); +} +inline ::google::protobuf::UninterpretedOption* EnumOptions::add_uninterpreted_option() { + // @@protoc_insertion_point(field_add:google.protobuf.EnumOptions.uninterpreted_option) + return uninterpreted_option_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >* +EnumOptions::mutable_uninterpreted_option() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumOptions.uninterpreted_option) + return &uninterpreted_option_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >& +EnumOptions::uninterpreted_option() const { + // @@protoc_insertion_point(field_list:google.protobuf.EnumOptions.uninterpreted_option) + return uninterpreted_option_; +} + +inline const EnumOptions* EnumOptions::internal_default_instance() { + return &EnumOptions_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// EnumValueOptions + +// optional bool deprecated = 1 [default = false]; +inline bool EnumValueOptions::has_deprecated() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void EnumValueOptions::set_has_deprecated() { + _has_bits_[0] |= 0x00000001u; +} +inline void EnumValueOptions::clear_has_deprecated() { + _has_bits_[0] &= ~0x00000001u; +} +inline void EnumValueOptions::clear_deprecated() { + deprecated_ = false; + clear_has_deprecated(); +} +inline bool EnumValueOptions::deprecated() const { + // @@protoc_insertion_point(field_get:google.protobuf.EnumValueOptions.deprecated) + return deprecated_; +} +inline void EnumValueOptions::set_deprecated(bool value) { + set_has_deprecated(); + deprecated_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.EnumValueOptions.deprecated) +} + +// repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; +inline int EnumValueOptions::uninterpreted_option_size() const { + return uninterpreted_option_.size(); +} +inline void EnumValueOptions::clear_uninterpreted_option() { + uninterpreted_option_.Clear(); +} +inline const ::google::protobuf::UninterpretedOption& EnumValueOptions::uninterpreted_option(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.EnumValueOptions.uninterpreted_option) + return uninterpreted_option_.Get(index); +} +inline ::google::protobuf::UninterpretedOption* EnumValueOptions::mutable_uninterpreted_option(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueOptions.uninterpreted_option) + return uninterpreted_option_.Mutable(index); +} +inline ::google::protobuf::UninterpretedOption* EnumValueOptions::add_uninterpreted_option() { + // @@protoc_insertion_point(field_add:google.protobuf.EnumValueOptions.uninterpreted_option) + return uninterpreted_option_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >* +EnumValueOptions::mutable_uninterpreted_option() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumValueOptions.uninterpreted_option) + return &uninterpreted_option_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >& +EnumValueOptions::uninterpreted_option() const { + // @@protoc_insertion_point(field_list:google.protobuf.EnumValueOptions.uninterpreted_option) + return uninterpreted_option_; +} + +inline const EnumValueOptions* EnumValueOptions::internal_default_instance() { + return &EnumValueOptions_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// ServiceOptions + +// optional bool deprecated = 33 [default = false]; +inline bool ServiceOptions::has_deprecated() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void ServiceOptions::set_has_deprecated() { + _has_bits_[0] |= 0x00000001u; +} +inline void ServiceOptions::clear_has_deprecated() { + _has_bits_[0] &= ~0x00000001u; +} +inline void ServiceOptions::clear_deprecated() { + deprecated_ = false; + clear_has_deprecated(); +} +inline bool ServiceOptions::deprecated() const { + // @@protoc_insertion_point(field_get:google.protobuf.ServiceOptions.deprecated) + return deprecated_; +} +inline void ServiceOptions::set_deprecated(bool value) { + set_has_deprecated(); + deprecated_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.ServiceOptions.deprecated) +} + +// repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; +inline int ServiceOptions::uninterpreted_option_size() const { + return uninterpreted_option_.size(); +} +inline void ServiceOptions::clear_uninterpreted_option() { + uninterpreted_option_.Clear(); +} +inline const ::google::protobuf::UninterpretedOption& ServiceOptions::uninterpreted_option(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.ServiceOptions.uninterpreted_option) + return uninterpreted_option_.Get(index); +} +inline ::google::protobuf::UninterpretedOption* ServiceOptions::mutable_uninterpreted_option(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceOptions.uninterpreted_option) + return uninterpreted_option_.Mutable(index); +} +inline ::google::protobuf::UninterpretedOption* ServiceOptions::add_uninterpreted_option() { + // @@protoc_insertion_point(field_add:google.protobuf.ServiceOptions.uninterpreted_option) + return uninterpreted_option_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >* +ServiceOptions::mutable_uninterpreted_option() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.ServiceOptions.uninterpreted_option) + return &uninterpreted_option_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >& +ServiceOptions::uninterpreted_option() const { + // @@protoc_insertion_point(field_list:google.protobuf.ServiceOptions.uninterpreted_option) + return uninterpreted_option_; +} + +inline const ServiceOptions* ServiceOptions::internal_default_instance() { + return &ServiceOptions_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// MethodOptions + +// optional bool deprecated = 33 [default = false]; +inline bool MethodOptions::has_deprecated() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void MethodOptions::set_has_deprecated() { + _has_bits_[0] |= 0x00000001u; +} +inline void MethodOptions::clear_has_deprecated() { + _has_bits_[0] &= ~0x00000001u; +} +inline void MethodOptions::clear_deprecated() { + deprecated_ = false; + clear_has_deprecated(); +} +inline bool MethodOptions::deprecated() const { + // @@protoc_insertion_point(field_get:google.protobuf.MethodOptions.deprecated) + return deprecated_; +} +inline void MethodOptions::set_deprecated(bool value) { + set_has_deprecated(); + deprecated_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.MethodOptions.deprecated) +} + +// repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; +inline int MethodOptions::uninterpreted_option_size() const { + return uninterpreted_option_.size(); +} +inline void MethodOptions::clear_uninterpreted_option() { + uninterpreted_option_.Clear(); +} +inline const ::google::protobuf::UninterpretedOption& MethodOptions::uninterpreted_option(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.MethodOptions.uninterpreted_option) + return uninterpreted_option_.Get(index); +} +inline ::google::protobuf::UninterpretedOption* MethodOptions::mutable_uninterpreted_option(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.MethodOptions.uninterpreted_option) + return uninterpreted_option_.Mutable(index); +} +inline ::google::protobuf::UninterpretedOption* MethodOptions::add_uninterpreted_option() { + // @@protoc_insertion_point(field_add:google.protobuf.MethodOptions.uninterpreted_option) + return uninterpreted_option_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >* +MethodOptions::mutable_uninterpreted_option() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.MethodOptions.uninterpreted_option) + return &uninterpreted_option_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption >& +MethodOptions::uninterpreted_option() const { + // @@protoc_insertion_point(field_list:google.protobuf.MethodOptions.uninterpreted_option) + return uninterpreted_option_; +} + +inline const MethodOptions* MethodOptions::internal_default_instance() { + return &MethodOptions_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// UninterpretedOption_NamePart + +// required string name_part = 1; +inline bool UninterpretedOption_NamePart::has_name_part() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void UninterpretedOption_NamePart::set_has_name_part() { + _has_bits_[0] |= 0x00000001u; +} +inline void UninterpretedOption_NamePart::clear_has_name_part() { + _has_bits_[0] &= ~0x00000001u; +} +inline void UninterpretedOption_NamePart::clear_name_part() { + name_part_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_name_part(); +} +inline const ::std::string& UninterpretedOption_NamePart::name_part() const { + // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.NamePart.name_part) + return name_part_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void UninterpretedOption_NamePart::set_name_part(const ::std::string& value) { + set_has_name_part(); + name_part_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.NamePart.name_part) +} +inline void UninterpretedOption_NamePart::set_name_part(const char* value) { + set_has_name_part(); + name_part_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.UninterpretedOption.NamePart.name_part) +} +inline void UninterpretedOption_NamePart::set_name_part(const char* value, size_t size) { + set_has_name_part(); + name_part_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.UninterpretedOption.NamePart.name_part) +} +inline ::std::string* UninterpretedOption_NamePart::mutable_name_part() { + set_has_name_part(); + // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.NamePart.name_part) + return name_part_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* UninterpretedOption_NamePart::release_name_part() { + // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.NamePart.name_part) + clear_has_name_part(); + return name_part_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void UninterpretedOption_NamePart::set_allocated_name_part(::std::string* name_part) { + if (name_part != NULL) { + set_has_name_part(); + } else { + clear_has_name_part(); + } + name_part_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name_part); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.NamePart.name_part) +} + +// required bool is_extension = 2; +inline bool UninterpretedOption_NamePart::has_is_extension() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void UninterpretedOption_NamePart::set_has_is_extension() { + _has_bits_[0] |= 0x00000002u; +} +inline void UninterpretedOption_NamePart::clear_has_is_extension() { + _has_bits_[0] &= ~0x00000002u; +} +inline void UninterpretedOption_NamePart::clear_is_extension() { + is_extension_ = false; + clear_has_is_extension(); +} +inline bool UninterpretedOption_NamePart::is_extension() const { + // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.NamePart.is_extension) + return is_extension_; +} +inline void UninterpretedOption_NamePart::set_is_extension(bool value) { + set_has_is_extension(); + is_extension_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.NamePart.is_extension) +} + +inline const UninterpretedOption_NamePart* UninterpretedOption_NamePart::internal_default_instance() { + return &UninterpretedOption_NamePart_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// UninterpretedOption + +// repeated .google.protobuf.UninterpretedOption.NamePart name = 2; +inline int UninterpretedOption::name_size() const { + return name_.size(); +} +inline void UninterpretedOption::clear_name() { + name_.Clear(); +} +inline const ::google::protobuf::UninterpretedOption_NamePart& UninterpretedOption::name(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.name) + return name_.Get(index); +} +inline ::google::protobuf::UninterpretedOption_NamePart* UninterpretedOption::mutable_name(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.name) + return name_.Mutable(index); +} +inline ::google::protobuf::UninterpretedOption_NamePart* UninterpretedOption::add_name() { + // @@protoc_insertion_point(field_add:google.protobuf.UninterpretedOption.name) + return name_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart >* +UninterpretedOption::mutable_name() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.UninterpretedOption.name) + return &name_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart >& +UninterpretedOption::name() const { + // @@protoc_insertion_point(field_list:google.protobuf.UninterpretedOption.name) + return name_; +} + +// optional string identifier_value = 3; +inline bool UninterpretedOption::has_identifier_value() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void UninterpretedOption::set_has_identifier_value() { + _has_bits_[0] |= 0x00000002u; +} +inline void UninterpretedOption::clear_has_identifier_value() { + _has_bits_[0] &= ~0x00000002u; +} +inline void UninterpretedOption::clear_identifier_value() { + identifier_value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_identifier_value(); +} +inline const ::std::string& UninterpretedOption::identifier_value() const { + // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.identifier_value) + return identifier_value_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void UninterpretedOption::set_identifier_value(const ::std::string& value) { + set_has_identifier_value(); + identifier_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.identifier_value) +} +inline void UninterpretedOption::set_identifier_value(const char* value) { + set_has_identifier_value(); + identifier_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.UninterpretedOption.identifier_value) +} +inline void UninterpretedOption::set_identifier_value(const char* value, size_t size) { + set_has_identifier_value(); + identifier_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.UninterpretedOption.identifier_value) +} +inline ::std::string* UninterpretedOption::mutable_identifier_value() { + set_has_identifier_value(); + // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.identifier_value) + return identifier_value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* UninterpretedOption::release_identifier_value() { + // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.identifier_value) + clear_has_identifier_value(); + return identifier_value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void UninterpretedOption::set_allocated_identifier_value(::std::string* identifier_value) { + if (identifier_value != NULL) { + set_has_identifier_value(); + } else { + clear_has_identifier_value(); + } + identifier_value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), identifier_value); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.identifier_value) +} + +// optional uint64 positive_int_value = 4; +inline bool UninterpretedOption::has_positive_int_value() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void UninterpretedOption::set_has_positive_int_value() { + _has_bits_[0] |= 0x00000004u; +} +inline void UninterpretedOption::clear_has_positive_int_value() { + _has_bits_[0] &= ~0x00000004u; +} +inline void UninterpretedOption::clear_positive_int_value() { + positive_int_value_ = GOOGLE_ULONGLONG(0); + clear_has_positive_int_value(); +} +inline ::google::protobuf::uint64 UninterpretedOption::positive_int_value() const { + // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.positive_int_value) + return positive_int_value_; +} +inline void UninterpretedOption::set_positive_int_value(::google::protobuf::uint64 value) { + set_has_positive_int_value(); + positive_int_value_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.positive_int_value) +} + +// optional int64 negative_int_value = 5; +inline bool UninterpretedOption::has_negative_int_value() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +inline void UninterpretedOption::set_has_negative_int_value() { + _has_bits_[0] |= 0x00000008u; +} +inline void UninterpretedOption::clear_has_negative_int_value() { + _has_bits_[0] &= ~0x00000008u; +} +inline void UninterpretedOption::clear_negative_int_value() { + negative_int_value_ = GOOGLE_LONGLONG(0); + clear_has_negative_int_value(); +} +inline ::google::protobuf::int64 UninterpretedOption::negative_int_value() const { + // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.negative_int_value) + return negative_int_value_; +} +inline void UninterpretedOption::set_negative_int_value(::google::protobuf::int64 value) { + set_has_negative_int_value(); + negative_int_value_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.negative_int_value) +} + +// optional double double_value = 6; +inline bool UninterpretedOption::has_double_value() const { + return (_has_bits_[0] & 0x00000010u) != 0; +} +inline void UninterpretedOption::set_has_double_value() { + _has_bits_[0] |= 0x00000010u; +} +inline void UninterpretedOption::clear_has_double_value() { + _has_bits_[0] &= ~0x00000010u; +} +inline void UninterpretedOption::clear_double_value() { + double_value_ = 0; + clear_has_double_value(); +} +inline double UninterpretedOption::double_value() const { + // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.double_value) + return double_value_; +} +inline void UninterpretedOption::set_double_value(double value) { + set_has_double_value(); + double_value_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.double_value) +} + +// optional bytes string_value = 7; +inline bool UninterpretedOption::has_string_value() const { + return (_has_bits_[0] & 0x00000020u) != 0; +} +inline void UninterpretedOption::set_has_string_value() { + _has_bits_[0] |= 0x00000020u; +} +inline void UninterpretedOption::clear_has_string_value() { + _has_bits_[0] &= ~0x00000020u; +} +inline void UninterpretedOption::clear_string_value() { + string_value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_string_value(); +} +inline const ::std::string& UninterpretedOption::string_value() const { + // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.string_value) + return string_value_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void UninterpretedOption::set_string_value(const ::std::string& value) { + set_has_string_value(); + string_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.string_value) +} +inline void UninterpretedOption::set_string_value(const char* value) { + set_has_string_value(); + string_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.UninterpretedOption.string_value) +} +inline void UninterpretedOption::set_string_value(const void* value, size_t size) { + set_has_string_value(); + string_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.UninterpretedOption.string_value) +} +inline ::std::string* UninterpretedOption::mutable_string_value() { + set_has_string_value(); + // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.string_value) + return string_value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* UninterpretedOption::release_string_value() { + // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.string_value) + clear_has_string_value(); + return string_value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void UninterpretedOption::set_allocated_string_value(::std::string* string_value) { + if (string_value != NULL) { + set_has_string_value(); + } else { + clear_has_string_value(); + } + string_value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), string_value); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.string_value) +} + +// optional string aggregate_value = 8; +inline bool UninterpretedOption::has_aggregate_value() const { + return (_has_bits_[0] & 0x00000040u) != 0; +} +inline void UninterpretedOption::set_has_aggregate_value() { + _has_bits_[0] |= 0x00000040u; +} +inline void UninterpretedOption::clear_has_aggregate_value() { + _has_bits_[0] &= ~0x00000040u; +} +inline void UninterpretedOption::clear_aggregate_value() { + aggregate_value_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_aggregate_value(); +} +inline const ::std::string& UninterpretedOption::aggregate_value() const { + // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.aggregate_value) + return aggregate_value_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void UninterpretedOption::set_aggregate_value(const ::std::string& value) { + set_has_aggregate_value(); + aggregate_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.aggregate_value) +} +inline void UninterpretedOption::set_aggregate_value(const char* value) { + set_has_aggregate_value(); + aggregate_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.UninterpretedOption.aggregate_value) +} +inline void UninterpretedOption::set_aggregate_value(const char* value, size_t size) { + set_has_aggregate_value(); + aggregate_value_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.UninterpretedOption.aggregate_value) +} +inline ::std::string* UninterpretedOption::mutable_aggregate_value() { + set_has_aggregate_value(); + // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.aggregate_value) + return aggregate_value_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* UninterpretedOption::release_aggregate_value() { + // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.aggregate_value) + clear_has_aggregate_value(); + return aggregate_value_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void UninterpretedOption::set_allocated_aggregate_value(::std::string* aggregate_value) { + if (aggregate_value != NULL) { + set_has_aggregate_value(); + } else { + clear_has_aggregate_value(); + } + aggregate_value_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), aggregate_value); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.aggregate_value) +} + +inline const UninterpretedOption* UninterpretedOption::internal_default_instance() { + return &UninterpretedOption_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// SourceCodeInfo_Location + +// repeated int32 path = 1 [packed = true]; +inline int SourceCodeInfo_Location::path_size() const { + return path_.size(); +} +inline void SourceCodeInfo_Location::clear_path() { + path_.Clear(); +} +inline ::google::protobuf::int32 SourceCodeInfo_Location::path(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.path) + return path_.Get(index); +} +inline void SourceCodeInfo_Location::set_path(int index, ::google::protobuf::int32 value) { + path_.Set(index, value); + // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.path) +} +inline void SourceCodeInfo_Location::add_path(::google::protobuf::int32 value) { + path_.Add(value); + // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.Location.path) +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >& +SourceCodeInfo_Location::path() const { + // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.Location.path) + return path_; +} +inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >* +SourceCodeInfo_Location::mutable_path() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.Location.path) + return &path_; +} + +// repeated int32 span = 2 [packed = true]; +inline int SourceCodeInfo_Location::span_size() const { + return span_.size(); +} +inline void SourceCodeInfo_Location::clear_span() { + span_.Clear(); +} +inline ::google::protobuf::int32 SourceCodeInfo_Location::span(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.span) + return span_.Get(index); +} +inline void SourceCodeInfo_Location::set_span(int index, ::google::protobuf::int32 value) { + span_.Set(index, value); + // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.span) +} +inline void SourceCodeInfo_Location::add_span(::google::protobuf::int32 value) { + span_.Add(value); + // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.Location.span) +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >& +SourceCodeInfo_Location::span() const { + // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.Location.span) + return span_; +} +inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >* +SourceCodeInfo_Location::mutable_span() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.Location.span) + return &span_; +} + +// optional string leading_comments = 3; +inline bool SourceCodeInfo_Location::has_leading_comments() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void SourceCodeInfo_Location::set_has_leading_comments() { + _has_bits_[0] |= 0x00000004u; +} +inline void SourceCodeInfo_Location::clear_has_leading_comments() { + _has_bits_[0] &= ~0x00000004u; +} +inline void SourceCodeInfo_Location::clear_leading_comments() { + leading_comments_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_leading_comments(); +} +inline const ::std::string& SourceCodeInfo_Location::leading_comments() const { + // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.leading_comments) + return leading_comments_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void SourceCodeInfo_Location::set_leading_comments(const ::std::string& value) { + set_has_leading_comments(); + leading_comments_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.leading_comments) +} +inline void SourceCodeInfo_Location::set_leading_comments(const char* value) { + set_has_leading_comments(); + leading_comments_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.SourceCodeInfo.Location.leading_comments) +} +inline void SourceCodeInfo_Location::set_leading_comments(const char* value, size_t size) { + set_has_leading_comments(); + leading_comments_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.SourceCodeInfo.Location.leading_comments) +} +inline ::std::string* SourceCodeInfo_Location::mutable_leading_comments() { + set_has_leading_comments(); + // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.Location.leading_comments) + return leading_comments_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* SourceCodeInfo_Location::release_leading_comments() { + // @@protoc_insertion_point(field_release:google.protobuf.SourceCodeInfo.Location.leading_comments) + clear_has_leading_comments(); + return leading_comments_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void SourceCodeInfo_Location::set_allocated_leading_comments(::std::string* leading_comments) { + if (leading_comments != NULL) { + set_has_leading_comments(); + } else { + clear_has_leading_comments(); + } + leading_comments_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), leading_comments); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.SourceCodeInfo.Location.leading_comments) +} + +// optional string trailing_comments = 4; +inline bool SourceCodeInfo_Location::has_trailing_comments() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +inline void SourceCodeInfo_Location::set_has_trailing_comments() { + _has_bits_[0] |= 0x00000008u; +} +inline void SourceCodeInfo_Location::clear_has_trailing_comments() { + _has_bits_[0] &= ~0x00000008u; +} +inline void SourceCodeInfo_Location::clear_trailing_comments() { + trailing_comments_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_trailing_comments(); +} +inline const ::std::string& SourceCodeInfo_Location::trailing_comments() const { + // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.trailing_comments) + return trailing_comments_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void SourceCodeInfo_Location::set_trailing_comments(const ::std::string& value) { + set_has_trailing_comments(); + trailing_comments_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.trailing_comments) +} +inline void SourceCodeInfo_Location::set_trailing_comments(const char* value) { + set_has_trailing_comments(); + trailing_comments_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.SourceCodeInfo.Location.trailing_comments) +} +inline void SourceCodeInfo_Location::set_trailing_comments(const char* value, size_t size) { + set_has_trailing_comments(); + trailing_comments_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.SourceCodeInfo.Location.trailing_comments) +} +inline ::std::string* SourceCodeInfo_Location::mutable_trailing_comments() { + set_has_trailing_comments(); + // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.Location.trailing_comments) + return trailing_comments_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* SourceCodeInfo_Location::release_trailing_comments() { + // @@protoc_insertion_point(field_release:google.protobuf.SourceCodeInfo.Location.trailing_comments) + clear_has_trailing_comments(); + return trailing_comments_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void SourceCodeInfo_Location::set_allocated_trailing_comments(::std::string* trailing_comments) { + if (trailing_comments != NULL) { + set_has_trailing_comments(); + } else { + clear_has_trailing_comments(); + } + trailing_comments_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), trailing_comments); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.SourceCodeInfo.Location.trailing_comments) +} + +// repeated string leading_detached_comments = 6; +inline int SourceCodeInfo_Location::leading_detached_comments_size() const { + return leading_detached_comments_.size(); +} +inline void SourceCodeInfo_Location::clear_leading_detached_comments() { + leading_detached_comments_.Clear(); +} +inline const ::std::string& SourceCodeInfo_Location::leading_detached_comments(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.leading_detached_comments) + return leading_detached_comments_.Get(index); +} +inline ::std::string* SourceCodeInfo_Location::mutable_leading_detached_comments(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.Location.leading_detached_comments) + return leading_detached_comments_.Mutable(index); +} +inline void SourceCodeInfo_Location::set_leading_detached_comments(int index, const ::std::string& value) { + // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.leading_detached_comments) + leading_detached_comments_.Mutable(index)->assign(value); +} +inline void SourceCodeInfo_Location::set_leading_detached_comments(int index, const char* value) { + leading_detached_comments_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:google.protobuf.SourceCodeInfo.Location.leading_detached_comments) +} +inline void SourceCodeInfo_Location::set_leading_detached_comments(int index, const char* value, size_t size) { + leading_detached_comments_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.SourceCodeInfo.Location.leading_detached_comments) +} +inline ::std::string* SourceCodeInfo_Location::add_leading_detached_comments() { + // @@protoc_insertion_point(field_add_mutable:google.protobuf.SourceCodeInfo.Location.leading_detached_comments) + return leading_detached_comments_.Add(); +} +inline void SourceCodeInfo_Location::add_leading_detached_comments(const ::std::string& value) { + leading_detached_comments_.Add()->assign(value); + // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.Location.leading_detached_comments) +} +inline void SourceCodeInfo_Location::add_leading_detached_comments(const char* value) { + leading_detached_comments_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:google.protobuf.SourceCodeInfo.Location.leading_detached_comments) +} +inline void SourceCodeInfo_Location::add_leading_detached_comments(const char* value, size_t size) { + leading_detached_comments_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:google.protobuf.SourceCodeInfo.Location.leading_detached_comments) +} +inline const ::google::protobuf::RepeatedPtrField< ::std::string>& +SourceCodeInfo_Location::leading_detached_comments() const { + // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.Location.leading_detached_comments) + return leading_detached_comments_; +} +inline ::google::protobuf::RepeatedPtrField< ::std::string>* +SourceCodeInfo_Location::mutable_leading_detached_comments() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.Location.leading_detached_comments) + return &leading_detached_comments_; +} + +inline const SourceCodeInfo_Location* SourceCodeInfo_Location::internal_default_instance() { + return &SourceCodeInfo_Location_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// SourceCodeInfo + +// repeated .google.protobuf.SourceCodeInfo.Location location = 1; +inline int SourceCodeInfo::location_size() const { + return location_.size(); +} +inline void SourceCodeInfo::clear_location() { + location_.Clear(); +} +inline const ::google::protobuf::SourceCodeInfo_Location& SourceCodeInfo::location(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.location) + return location_.Get(index); +} +inline ::google::protobuf::SourceCodeInfo_Location* SourceCodeInfo::mutable_location(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.location) + return location_.Mutable(index); +} +inline ::google::protobuf::SourceCodeInfo_Location* SourceCodeInfo::add_location() { + // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.location) + return location_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location >* +SourceCodeInfo::mutable_location() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.location) + return &location_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location >& +SourceCodeInfo::location() const { + // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.location) + return location_; +} + +inline const SourceCodeInfo* SourceCodeInfo::internal_default_instance() { + return &SourceCodeInfo_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// GeneratedCodeInfo_Annotation + +// repeated int32 path = 1 [packed = true]; +inline int GeneratedCodeInfo_Annotation::path_size() const { + return path_.size(); +} +inline void GeneratedCodeInfo_Annotation::clear_path() { + path_.Clear(); +} +inline ::google::protobuf::int32 GeneratedCodeInfo_Annotation::path(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.path) + return path_.Get(index); +} +inline void GeneratedCodeInfo_Annotation::set_path(int index, ::google::protobuf::int32 value) { + path_.Set(index, value); + // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.path) +} +inline void GeneratedCodeInfo_Annotation::add_path(::google::protobuf::int32 value) { + path_.Add(value); + // @@protoc_insertion_point(field_add:google.protobuf.GeneratedCodeInfo.Annotation.path) +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >& +GeneratedCodeInfo_Annotation::path() const { + // @@protoc_insertion_point(field_list:google.protobuf.GeneratedCodeInfo.Annotation.path) + return path_; +} +inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >* +GeneratedCodeInfo_Annotation::mutable_path() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.GeneratedCodeInfo.Annotation.path) + return &path_; +} + +// optional string source_file = 2; +inline bool GeneratedCodeInfo_Annotation::has_source_file() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void GeneratedCodeInfo_Annotation::set_has_source_file() { + _has_bits_[0] |= 0x00000002u; +} +inline void GeneratedCodeInfo_Annotation::clear_has_source_file() { + _has_bits_[0] &= ~0x00000002u; +} +inline void GeneratedCodeInfo_Annotation::clear_source_file() { + source_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + clear_has_source_file(); +} +inline const ::std::string& GeneratedCodeInfo_Annotation::source_file() const { + // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.source_file) + return source_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void GeneratedCodeInfo_Annotation::set_source_file(const ::std::string& value) { + set_has_source_file(); + source_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.source_file) +} +inline void GeneratedCodeInfo_Annotation::set_source_file(const char* value) { + set_has_source_file(); + source_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.GeneratedCodeInfo.Annotation.source_file) +} +inline void GeneratedCodeInfo_Annotation::set_source_file(const char* value, size_t size) { + set_has_source_file(); + source_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.GeneratedCodeInfo.Annotation.source_file) +} +inline ::std::string* GeneratedCodeInfo_Annotation::mutable_source_file() { + set_has_source_file(); + // @@protoc_insertion_point(field_mutable:google.protobuf.GeneratedCodeInfo.Annotation.source_file) + return source_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* GeneratedCodeInfo_Annotation::release_source_file() { + // @@protoc_insertion_point(field_release:google.protobuf.GeneratedCodeInfo.Annotation.source_file) + clear_has_source_file(); + return source_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void GeneratedCodeInfo_Annotation::set_allocated_source_file(::std::string* source_file) { + if (source_file != NULL) { + set_has_source_file(); + } else { + clear_has_source_file(); + } + source_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source_file); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.GeneratedCodeInfo.Annotation.source_file) +} + +// optional int32 begin = 3; +inline bool GeneratedCodeInfo_Annotation::has_begin() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void GeneratedCodeInfo_Annotation::set_has_begin() { + _has_bits_[0] |= 0x00000004u; +} +inline void GeneratedCodeInfo_Annotation::clear_has_begin() { + _has_bits_[0] &= ~0x00000004u; +} +inline void GeneratedCodeInfo_Annotation::clear_begin() { + begin_ = 0; + clear_has_begin(); +} +inline ::google::protobuf::int32 GeneratedCodeInfo_Annotation::begin() const { + // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.begin) + return begin_; +} +inline void GeneratedCodeInfo_Annotation::set_begin(::google::protobuf::int32 value) { + set_has_begin(); + begin_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.begin) +} + +// optional int32 end = 4; +inline bool GeneratedCodeInfo_Annotation::has_end() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +inline void GeneratedCodeInfo_Annotation::set_has_end() { + _has_bits_[0] |= 0x00000008u; +} +inline void GeneratedCodeInfo_Annotation::clear_has_end() { + _has_bits_[0] &= ~0x00000008u; +} +inline void GeneratedCodeInfo_Annotation::clear_end() { + end_ = 0; + clear_has_end(); +} +inline ::google::protobuf::int32 GeneratedCodeInfo_Annotation::end() const { + // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.end) + return end_; +} +inline void GeneratedCodeInfo_Annotation::set_end(::google::protobuf::int32 value) { + set_has_end(); + end_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.end) +} + +inline const GeneratedCodeInfo_Annotation* GeneratedCodeInfo_Annotation::internal_default_instance() { + return &GeneratedCodeInfo_Annotation_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// GeneratedCodeInfo + +// repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1; +inline int GeneratedCodeInfo::annotation_size() const { + return annotation_.size(); +} +inline void GeneratedCodeInfo::clear_annotation() { + annotation_.Clear(); +} +inline const ::google::protobuf::GeneratedCodeInfo_Annotation& GeneratedCodeInfo::annotation(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.annotation) + return annotation_.Get(index); +} +inline ::google::protobuf::GeneratedCodeInfo_Annotation* GeneratedCodeInfo::mutable_annotation(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.GeneratedCodeInfo.annotation) + return annotation_.Mutable(index); +} +inline ::google::protobuf::GeneratedCodeInfo_Annotation* GeneratedCodeInfo::add_annotation() { + // @@protoc_insertion_point(field_add:google.protobuf.GeneratedCodeInfo.annotation) + return annotation_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::GeneratedCodeInfo_Annotation >* +GeneratedCodeInfo::mutable_annotation() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.GeneratedCodeInfo.annotation) + return &annotation_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::GeneratedCodeInfo_Annotation >& +GeneratedCodeInfo::annotation() const { + // @@protoc_insertion_point(field_list:google.protobuf.GeneratedCodeInfo.annotation) + return annotation_; +} + +inline const GeneratedCodeInfo* GeneratedCodeInfo::internal_default_instance() { + return &GeneratedCodeInfo_default_instance_.get(); +} +#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace protobuf +} // namespace google + +#ifndef SWIG +namespace google { +namespace protobuf { + +template <> struct is_proto_enum< ::google::protobuf::FieldDescriptorProto_Type> : ::google::protobuf::internal::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::google::protobuf::FieldDescriptorProto_Type>() { + return ::google::protobuf::FieldDescriptorProto_Type_descriptor(); +} +template <> struct is_proto_enum< ::google::protobuf::FieldDescriptorProto_Label> : ::google::protobuf::internal::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::google::protobuf::FieldDescriptorProto_Label>() { + return ::google::protobuf::FieldDescriptorProto_Label_descriptor(); +} +template <> struct is_proto_enum< ::google::protobuf::FileOptions_OptimizeMode> : ::google::protobuf::internal::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::google::protobuf::FileOptions_OptimizeMode>() { + return ::google::protobuf::FileOptions_OptimizeMode_descriptor(); +} +template <> struct is_proto_enum< ::google::protobuf::FieldOptions_CType> : ::google::protobuf::internal::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::google::protobuf::FieldOptions_CType>() { + return ::google::protobuf::FieldOptions_CType_descriptor(); +} +template <> struct is_proto_enum< ::google::protobuf::FieldOptions_JSType> : ::google::protobuf::internal::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::google::protobuf::FieldOptions_JSType>() { + return ::google::protobuf::FieldOptions_JSType_descriptor(); +} + +} // namespace protobuf +} // namespace google +#endif // SWIG + +// @@protoc_insertion_point(global_scope) + +#endif // PROTOBUF_google_2fprotobuf_2fdescriptor_2eproto__INCLUDED diff --git a/app/src/main/cpp/include/google/protobuf/descriptor.proto b/app/src/main/cpp/include/google/protobuf/descriptor.proto new file mode 100644 index 0000000..558ae23 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/descriptor.proto @@ -0,0 +1,804 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// The messages in this file describe the definitions found in .proto files. +// A valid .proto file can be translated directly to a FileDescriptorProto +// without any other information (e.g. without reading its imports). + + +syntax = "proto2"; + +package google.protobuf; +option go_package = "descriptor"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "DescriptorProtos"; +option csharp_namespace = "Google.Protobuf.Reflection"; +option objc_class_prefix = "GPB"; + +// descriptor.proto must be optimized for speed because reflection-based +// algorithms don't work during bootstrapping. +option optimize_for = SPEED; + +// The protocol compiler can output a FileDescriptorSet containing the .proto +// files it parses. +message FileDescriptorSet { + repeated FileDescriptorProto file = 1; +} + +// Describes a complete .proto file. +message FileDescriptorProto { + optional string name = 1; // file name, relative to root of source tree + optional string package = 2; // e.g. "foo", "foo.bar", etc. + + // Names of files imported by this file. + repeated string dependency = 3; + // Indexes of the public imported files in the dependency list above. + repeated int32 public_dependency = 10; + // Indexes of the weak imported files in the dependency list. + // For Google-internal migration only. Do not use. + repeated int32 weak_dependency = 11; + + // All top-level definitions in this file. + repeated DescriptorProto message_type = 4; + repeated EnumDescriptorProto enum_type = 5; + repeated ServiceDescriptorProto service = 6; + repeated FieldDescriptorProto extension = 7; + + optional FileOptions options = 8; + + // This field contains optional information about the original source code. + // You may safely remove this entire field without harming runtime + // functionality of the descriptors -- the information is needed only by + // development tools. + optional SourceCodeInfo source_code_info = 9; + + // The syntax of the proto file. + // The supported values are "proto2" and "proto3". + optional string syntax = 12; +} + +// Describes a message type. +message DescriptorProto { + optional string name = 1; + + repeated FieldDescriptorProto field = 2; + repeated FieldDescriptorProto extension = 6; + + repeated DescriptorProto nested_type = 3; + repeated EnumDescriptorProto enum_type = 4; + + message ExtensionRange { + optional int32 start = 1; + optional int32 end = 2; + } + repeated ExtensionRange extension_range = 5; + + repeated OneofDescriptorProto oneof_decl = 8; + + optional MessageOptions options = 7; + + // Range of reserved tag numbers. Reserved tag numbers may not be used by + // fields or extension ranges in the same message. Reserved ranges may + // not overlap. + message ReservedRange { + optional int32 start = 1; // Inclusive. + optional int32 end = 2; // Exclusive. + } + repeated ReservedRange reserved_range = 9; + // Reserved field names, which may not be used by fields in the same message. + // A given name may only be reserved once. + repeated string reserved_name = 10; +} + +// Describes a field within a message. +message FieldDescriptorProto { + enum Type { + // 0 is reserved for errors. + // Order is weird for historical reasons. + TYPE_DOUBLE = 1; + TYPE_FLOAT = 2; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + // negative values are likely. + TYPE_INT64 = 3; + TYPE_UINT64 = 4; + // Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + // negative values are likely. + TYPE_INT32 = 5; + TYPE_FIXED64 = 6; + TYPE_FIXED32 = 7; + TYPE_BOOL = 8; + TYPE_STRING = 9; + TYPE_GROUP = 10; // Tag-delimited aggregate. + TYPE_MESSAGE = 11; // Length-delimited aggregate. + + // New in version 2. + TYPE_BYTES = 12; + TYPE_UINT32 = 13; + TYPE_ENUM = 14; + TYPE_SFIXED32 = 15; + TYPE_SFIXED64 = 16; + TYPE_SINT32 = 17; // Uses ZigZag encoding. + TYPE_SINT64 = 18; // Uses ZigZag encoding. + }; + + enum Label { + // 0 is reserved for errors + LABEL_OPTIONAL = 1; + LABEL_REQUIRED = 2; + LABEL_REPEATED = 3; + // TODO(sanjay): Should we add LABEL_MAP? + }; + + optional string name = 1; + optional int32 number = 3; + optional Label label = 4; + + // If type_name is set, this need not be set. If both this and type_name + // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + optional Type type = 5; + + // For message and enum types, this is the name of the type. If the name + // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + // rules are used to find the type (i.e. first the nested types within this + // message are searched, then within the parent, on up to the root + // namespace). + optional string type_name = 6; + + // For extensions, this is the name of the type being extended. It is + // resolved in the same manner as type_name. + optional string extendee = 2; + + // For numeric types, contains the original text representation of the value. + // For booleans, "true" or "false". + // For strings, contains the default text contents (not escaped in any way). + // For bytes, contains the C escaped value. All bytes >= 128 are escaped. + // TODO(kenton): Base-64 encode? + optional string default_value = 7; + + // If set, gives the index of a oneof in the containing type's oneof_decl + // list. This field is a member of that oneof. + optional int32 oneof_index = 9; + + // JSON name of this field. The value is set by protocol compiler. If the + // user has set a "json_name" option on this field, that option's value + // will be used. Otherwise, it's deduced from the field's name by converting + // it to camelCase. + optional string json_name = 10; + + optional FieldOptions options = 8; +} + +// Describes a oneof. +message OneofDescriptorProto { + optional string name = 1; + optional OneofOptions options = 2; +} + +// Describes an enum type. +message EnumDescriptorProto { + optional string name = 1; + + repeated EnumValueDescriptorProto value = 2; + + optional EnumOptions options = 3; +} + +// Describes a value within an enum. +message EnumValueDescriptorProto { + optional string name = 1; + optional int32 number = 2; + + optional EnumValueOptions options = 3; +} + +// Describes a service. +message ServiceDescriptorProto { + optional string name = 1; + repeated MethodDescriptorProto method = 2; + + optional ServiceOptions options = 3; +} + +// Describes a method of a service. +message MethodDescriptorProto { + optional string name = 1; + + // Input and output type names. These are resolved in the same way as + // FieldDescriptorProto.type_name, but must refer to a message type. + optional string input_type = 2; + optional string output_type = 3; + + optional MethodOptions options = 4; + + // Identifies if client streams multiple client messages + optional bool client_streaming = 5 [default=false]; + // Identifies if server streams multiple server messages + optional bool server_streaming = 6 [default=false]; +} + + +// =================================================================== +// Options + +// Each of the definitions above may have "options" attached. These are +// just annotations which may cause code to be generated slightly differently +// or may contain hints for code that manipulates protocol messages. +// +// Clients may define custom options as extensions of the *Options messages. +// These extensions may not yet be known at parsing time, so the parser cannot +// store the values in them. Instead it stores them in a field in the *Options +// message called uninterpreted_option. This field must have the same name +// across all *Options messages. We then use this field to populate the +// extensions when we build a descriptor, at which point all protos have been +// parsed and so all extensions are known. +// +// Extension numbers for custom options may be chosen as follows: +// * For options which will only be used within a single application or +// organization, or for experimental options, use field numbers 50000 +// through 99999. It is up to you to ensure that you do not use the +// same number for multiple options. +// * For options which will be published and used publicly by multiple +// independent entities, e-mail protobuf-global-extension-registry@google.com +// to reserve extension numbers. Simply provide your project name (e.g. +// Objective-C plugin) and your project website (if available) -- there's no +// need to explain how you intend to use them. Usually you only need one +// extension number. You can declare multiple options with only one extension +// number by putting them in a sub-message. See the Custom Options section of +// the docs for examples: +// https://developers.google.com/protocol-buffers/docs/proto#options +// If this turns out to be popular, a web service will be set up +// to automatically assign option numbers. + + +message FileOptions { + + // Sets the Java package where classes generated from this .proto will be + // placed. By default, the proto package is used, but this is often + // inappropriate because proto packages do not normally start with backwards + // domain names. + optional string java_package = 1; + + + // If set, all the classes from the .proto file are wrapped in a single + // outer class with the given name. This applies to both Proto1 + // (equivalent to the old "--one_java_file" option) and Proto2 (where + // a .proto always translates to a single class, but you may want to + // explicitly choose the class name). + optional string java_outer_classname = 8; + + // If set true, then the Java code generator will generate a separate .java + // file for each top-level message, enum, and service defined in the .proto + // file. Thus, these types will *not* be nested inside the outer class + // named by java_outer_classname. However, the outer class will still be + // generated to contain the file's getDescriptor() method as well as any + // top-level extensions defined in the file. + optional bool java_multiple_files = 10 [default=false]; + + // This option does nothing. + optional bool java_generate_equals_and_hash = 20 [deprecated=true]; + + // If set true, then the Java2 code generator will generate code that + // throws an exception whenever an attempt is made to assign a non-UTF-8 + // byte sequence to a string field. + // Message reflection will do the same. + // However, an extension field still accepts non-UTF-8 byte sequences. + // This option has no effect on when used with the lite runtime. + optional bool java_string_check_utf8 = 27 [default=false]; + + + // Generated classes can be optimized for speed or code size. + enum OptimizeMode { + SPEED = 1; // Generate complete code for parsing, serialization, + // etc. + CODE_SIZE = 2; // Use ReflectionOps to implement these methods. + LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime. + } + optional OptimizeMode optimize_for = 9 [default=SPEED]; + + // Sets the Go package where structs generated from this .proto will be + // placed. If omitted, the Go package will be derived from the following: + // - The basename of the package import path, if provided. + // - Otherwise, the package statement in the .proto file, if present. + // - Otherwise, the basename of the .proto file, without extension. + optional string go_package = 11; + + + + // Should generic services be generated in each language? "Generic" services + // are not specific to any particular RPC system. They are generated by the + // main code generators in each language (without additional plugins). + // Generic services were the only kind of service generation supported by + // early versions of google.protobuf. + // + // Generic services are now considered deprecated in favor of using plugins + // that generate code specific to your particular RPC system. Therefore, + // these default to false. Old code which depends on generic services should + // explicitly set them to true. + optional bool cc_generic_services = 16 [default=false]; + optional bool java_generic_services = 17 [default=false]; + optional bool py_generic_services = 18 [default=false]; + + // Is this file deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for everything in the file, or it will be completely ignored; in the very + // least, this is a formalization for deprecating files. + optional bool deprecated = 23 [default=false]; + + // Enables the use of arenas for the proto messages in this file. This applies + // only to generated classes for C++. + optional bool cc_enable_arenas = 31 [default=false]; + + + // Sets the objective c class prefix which is prepended to all objective c + // generated classes from this .proto. There is no default. + optional string objc_class_prefix = 36; + + // Namespace for generated classes; defaults to the package. + optional string csharp_namespace = 37; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; + + reserved 38; +} + +message MessageOptions { + // Set true to use the old proto1 MessageSet wire format for extensions. + // This is provided for backwards-compatibility with the MessageSet wire + // format. You should not use this for any other reason: It's less + // efficient, has fewer features, and is more complicated. + // + // The message must be defined exactly as follows: + // message Foo { + // option message_set_wire_format = true; + // extensions 4 to max; + // } + // Note that the message cannot have any defined fields; MessageSets only + // have extensions. + // + // All extensions of your type must be singular messages; e.g. they cannot + // be int32s, enums, or repeated messages. + // + // Because this is an option, the above two restrictions are not enforced by + // the protocol compiler. + optional bool message_set_wire_format = 1 [default=false]; + + // Disables the generation of the standard "descriptor()" accessor, which can + // conflict with a field of the same name. This is meant to make migration + // from proto1 easier; new code should avoid fields named "descriptor". + optional bool no_standard_descriptor_accessor = 2 [default=false]; + + // Is this message deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the message, or it will be completely ignored; in the very least, + // this is a formalization for deprecating messages. + optional bool deprecated = 3 [default=false]; + + // Whether the message is an automatically generated map entry type for the + // maps field. + // + // For maps fields: + // map map_field = 1; + // The parsed descriptor looks like: + // message MapFieldEntry { + // option map_entry = true; + // optional KeyType key = 1; + // optional ValueType value = 2; + // } + // repeated MapFieldEntry map_field = 1; + // + // Implementations may choose not to generate the map_entry=true message, but + // use a native map in the target language to hold the keys and values. + // The reflection APIs in such implementions still need to work as + // if the field is a repeated message field. + // + // NOTE: Do not set the option in .proto files. Always use the maps syntax + // instead. The option should only be implicitly set by the proto compiler + // parser. + optional bool map_entry = 7; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; + + reserved 8; // javalite_serializable +} + +message FieldOptions { + // The ctype option instructs the C++ code generator to use a different + // representation of the field than it normally would. See the specific + // options below. This option is not yet implemented in the open source + // release -- sorry, we'll try to include it in a future version! + optional CType ctype = 1 [default = STRING]; + enum CType { + // Default mode. + STRING = 0; + + CORD = 1; + + STRING_PIECE = 2; + } + // The packed option can be enabled for repeated primitive fields to enable + // a more efficient representation on the wire. Rather than repeatedly + // writing the tag and type for each element, the entire array is encoded as + // a single length-delimited blob. In proto3, only explicit setting it to + // false will avoid using packed encoding. + optional bool packed = 2; + + // The jstype option determines the JavaScript type used for values of the + // field. The option is permitted only for 64 bit integral and fixed types + // (int64, uint64, sint64, fixed64, sfixed64). By default these types are + // represented as JavaScript strings. This avoids loss of precision that can + // happen when a large value is converted to a floating point JavaScript + // numbers. Specifying JS_NUMBER for the jstype causes the generated + // JavaScript code to use the JavaScript "number" type instead of strings. + // This option is an enum to permit additional types to be added, + // e.g. goog.math.Integer. + optional JSType jstype = 6 [default = JS_NORMAL]; + enum JSType { + // Use the default type. + JS_NORMAL = 0; + + // Use JavaScript strings. + JS_STRING = 1; + + // Use JavaScript numbers. + JS_NUMBER = 2; + } + + // Should this field be parsed lazily? Lazy applies only to message-type + // fields. It means that when the outer message is initially parsed, the + // inner message's contents will not be parsed but instead stored in encoded + // form. The inner message will actually be parsed when it is first accessed. + // + // This is only a hint. Implementations are free to choose whether to use + // eager or lazy parsing regardless of the value of this option. However, + // setting this option true suggests that the protocol author believes that + // using lazy parsing on this field is worth the additional bookkeeping + // overhead typically needed to implement it. + // + // This option does not affect the public interface of any generated code; + // all method signatures remain the same. Furthermore, thread-safety of the + // interface is not affected by this option; const methods remain safe to + // call from multiple threads concurrently, while non-const methods continue + // to require exclusive access. + // + // + // Note that implementations may choose not to check required fields within + // a lazy sub-message. That is, calling IsInitialized() on the outer message + // may return true even if the inner message has missing required fields. + // This is necessary because otherwise the inner message would have to be + // parsed in order to perform the check, defeating the purpose of lazy + // parsing. An implementation which chooses not to check required fields + // must be consistent about it. That is, for any particular sub-message, the + // implementation must either *always* check its required fields, or *never* + // check its required fields, regardless of whether or not the message has + // been parsed. + optional bool lazy = 5 [default=false]; + + // Is this field deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for accessors, or it will be completely ignored; in the very least, this + // is a formalization for deprecating fields. + optional bool deprecated = 3 [default=false]; + + // For Google-internal migration only. Do not use. + optional bool weak = 10 [default=false]; + + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; + + reserved 4; // removed jtype +} + +message OneofOptions { + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumOptions { + + // Set this option to true to allow mapping different tag names to the same + // value. + optional bool allow_alias = 2; + + // Is this enum deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum, or it will be completely ignored; in the very least, this + // is a formalization for deprecating enums. + optional bool deprecated = 3 [default=false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message EnumValueOptions { + // Is this enum value deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the enum value, or it will be completely ignored; in the very least, + // this is a formalization for deprecating enum values. + optional bool deprecated = 1 [default=false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message ServiceOptions { + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this service deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the service, or it will be completely ignored; in the very least, + // this is a formalization for deprecating services. + optional bool deprecated = 33 [default=false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + +message MethodOptions { + + // Note: Field numbers 1 through 32 are reserved for Google's internal RPC + // framework. We apologize for hoarding these numbers to ourselves, but + // we were already using them long before we decided to release Protocol + // Buffers. + + // Is this method deprecated? + // Depending on the target platform, this can emit Deprecated annotations + // for the method, or it will be completely ignored; in the very least, + // this is a formalization for deprecating methods. + optional bool deprecated = 33 [default=false]; + + // The parser stores options it doesn't recognize here. See above. + repeated UninterpretedOption uninterpreted_option = 999; + + // Clients can define custom options in extensions of this message. See above. + extensions 1000 to max; +} + + +// A message representing a option the parser does not recognize. This only +// appears in options protos created by the compiler::Parser class. +// DescriptorPool resolves these when building Descriptor objects. Therefore, +// options protos in descriptor objects (e.g. returned by Descriptor::options(), +// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions +// in them. +message UninterpretedOption { + // The name of the uninterpreted option. Each string represents a segment in + // a dot-separated name. is_extension is true iff a segment represents an + // extension (denoted with parentheses in options specs in .proto files). + // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents + // "foo.(bar.baz).qux". + message NamePart { + required string name_part = 1; + required bool is_extension = 2; + } + repeated NamePart name = 2; + + // The value of the uninterpreted option, in whatever type the tokenizer + // identified it as during parsing. Exactly one of these should be set. + optional string identifier_value = 3; + optional uint64 positive_int_value = 4; + optional int64 negative_int_value = 5; + optional double double_value = 6; + optional bytes string_value = 7; + optional string aggregate_value = 8; +} + +// =================================================================== +// Optional source code info + +// Encapsulates information about the original source file from which a +// FileDescriptorProto was generated. +message SourceCodeInfo { + // A Location identifies a piece of source code in a .proto file which + // corresponds to a particular definition. This information is intended + // to be useful to IDEs, code indexers, documentation generators, and similar + // tools. + // + // For example, say we have a file like: + // message Foo { + // optional string foo = 1; + // } + // Let's look at just the field definition: + // optional string foo = 1; + // ^ ^^ ^^ ^ ^^^ + // a bc de f ghi + // We have the following locations: + // span path represents + // [a,i) [ 4, 0, 2, 0 ] The whole field definition. + // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). + // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). + // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). + // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). + // + // Notes: + // - A location may refer to a repeated field itself (i.e. not to any + // particular index within it). This is used whenever a set of elements are + // logically enclosed in a single code segment. For example, an entire + // extend block (possibly containing multiple extension definitions) will + // have an outer location whose path refers to the "extensions" repeated + // field without an index. + // - Multiple locations may have the same path. This happens when a single + // logical declaration is spread out across multiple places. The most + // obvious example is the "extend" block again -- there may be multiple + // extend blocks in the same scope, each of which will have the same path. + // - A location's span is not always a subset of its parent's span. For + // example, the "extendee" of an extension declaration appears at the + // beginning of the "extend" block and is shared by all extensions within + // the block. + // - Just because a location's span is a subset of some other location's span + // does not mean that it is a descendent. For example, a "group" defines + // both a type and a field in a single declaration. Thus, the locations + // corresponding to the type and field and their components will overlap. + // - Code which tries to interpret locations should probably be designed to + // ignore those that it doesn't understand, as more types of locations could + // be recorded in the future. + repeated Location location = 1; + message Location { + // Identifies which part of the FileDescriptorProto was defined at this + // location. + // + // Each element is a field number or an index. They form a path from + // the root FileDescriptorProto to the place where the definition. For + // example, this path: + // [ 4, 3, 2, 7, 1 ] + // refers to: + // file.message_type(3) // 4, 3 + // .field(7) // 2, 7 + // .name() // 1 + // This is because FileDescriptorProto.message_type has field number 4: + // repeated DescriptorProto message_type = 4; + // and DescriptorProto.field has field number 2: + // repeated FieldDescriptorProto field = 2; + // and FieldDescriptorProto.name has field number 1: + // optional string name = 1; + // + // Thus, the above path gives the location of a field name. If we removed + // the last element: + // [ 4, 3, 2, 7 ] + // this path refers to the whole field declaration (from the beginning + // of the label to the terminating semicolon). + repeated int32 path = 1 [packed=true]; + + // Always has exactly three or four elements: start line, start column, + // end line (optional, otherwise assumed same as start line), end column. + // These are packed into a single field for efficiency. Note that line + // and column numbers are zero-based -- typically you will want to add + // 1 to each before displaying to a user. + repeated int32 span = 2 [packed=true]; + + // If this SourceCodeInfo represents a complete declaration, these are any + // comments appearing before and after the declaration which appear to be + // attached to the declaration. + // + // A series of line comments appearing on consecutive lines, with no other + // tokens appearing on those lines, will be treated as a single comment. + // + // leading_detached_comments will keep paragraphs of comments that appear + // before (but not connected to) the current element. Each paragraph, + // separated by empty lines, will be one comment element in the repeated + // field. + // + // Only the comment content is provided; comment markers (e.g. //) are + // stripped out. For block comments, leading whitespace and an asterisk + // will be stripped from the beginning of each line other than the first. + // Newlines are included in the output. + // + // Examples: + // + // optional int32 foo = 1; // Comment attached to foo. + // // Comment attached to bar. + // optional int32 bar = 2; + // + // optional string baz = 3; + // // Comment attached to baz. + // // Another line attached to baz. + // + // // Comment attached to qux. + // // + // // Another line attached to qux. + // optional double qux = 4; + // + // // Detached comment for corge. This is not leading or trailing comments + // // to qux or corge because there are blank lines separating it from + // // both. + // + // // Detached comment for corge paragraph 2. + // + // optional string corge = 5; + // /* Block comment attached + // * to corge. Leading asterisks + // * will be removed. */ + // /* Block comment attached to + // * grault. */ + // optional int32 grault = 6; + // + // // ignored detached comments. + optional string leading_comments = 3; + optional string trailing_comments = 4; + repeated string leading_detached_comments = 6; + } +} + +// Describes the relationship between generated code and its original source +// file. A GeneratedCodeInfo message is associated with only one generated +// source file, but may contain references to different source .proto files. +message GeneratedCodeInfo { + // An Annotation connects some span of text in generated code to an element + // of its generating .proto file. + repeated Annotation annotation = 1; + message Annotation { + // Identifies the element in the original source .proto file. This field + // is formatted the same as SourceCodeInfo.Location.path. + repeated int32 path = 1 [packed=true]; + + // Identifies the filesystem path to the original source .proto. + optional string source_file = 2; + + // Identifies the starting offset in bytes in the generated code + // that relates to the identified object. + optional int32 begin = 3; + + // Identifies the ending offset in bytes in the generated code that + // relates to the identified offset. The end offset should be one past + // the last relevant byte (so the length of the text = end - begin). + optional int32 end = 4; + } +} diff --git a/app/src/main/cpp/include/google/protobuf/descriptor_database.h b/app/src/main/cpp/include/google/protobuf/descriptor_database.h new file mode 100644 index 0000000..86002d5 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/descriptor_database.h @@ -0,0 +1,369 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// Interface for manipulating databases of descriptors. + +#ifndef GOOGLE_PROTOBUF_DESCRIPTOR_DATABASE_H__ +#define GOOGLE_PROTOBUF_DESCRIPTOR_DATABASE_H__ + +#include +#include +#include +#include +#include +#include + +namespace google { +namespace protobuf { + +// Defined in this file. +class DescriptorDatabase; +class SimpleDescriptorDatabase; +class EncodedDescriptorDatabase; +class DescriptorPoolDatabase; +class MergedDescriptorDatabase; + +// Abstract interface for a database of descriptors. +// +// This is useful if you want to create a DescriptorPool which loads +// descriptors on-demand from some sort of large database. If the database +// is large, it may be inefficient to enumerate every .proto file inside it +// calling DescriptorPool::BuildFile() for each one. Instead, a DescriptorPool +// can be created which wraps a DescriptorDatabase and only builds particular +// descriptors when they are needed. +class LIBPROTOBUF_EXPORT DescriptorDatabase { + public: + inline DescriptorDatabase() {} + virtual ~DescriptorDatabase(); + + // Find a file by file name. Fills in in *output and returns true if found. + // Otherwise, returns false, leaving the contents of *output undefined. + virtual bool FindFileByName(const string& filename, + FileDescriptorProto* output) = 0; + + // Find the file that declares the given fully-qualified symbol name. + // If found, fills in *output and returns true, otherwise returns false + // and leaves *output undefined. + virtual bool FindFileContainingSymbol(const string& symbol_name, + FileDescriptorProto* output) = 0; + + // Find the file which defines an extension extending the given message type + // with the given field number. If found, fills in *output and returns true, + // otherwise returns false and leaves *output undefined. containing_type + // must be a fully-qualified type name. + virtual bool FindFileContainingExtension(const string& containing_type, + int field_number, + FileDescriptorProto* output) = 0; + + // Finds the tag numbers used by all known extensions of + // extendee_type, and appends them to output in an undefined + // order. This method is best-effort: it's not guaranteed that the + // database will find all extensions, and it's not guaranteed that + // FindFileContainingExtension will return true on all of the found + // numbers. Returns true if the search was successful, otherwise + // returns false and leaves output unchanged. + // + // This method has a default implementation that always returns + // false. + virtual bool FindAllExtensionNumbers(const string& /* extendee_type */, + vector* /* output */) { + return false; + } + + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(DescriptorDatabase); +}; + +// A DescriptorDatabase into which you can insert files manually. +// +// FindFileContainingSymbol() is fully-implemented. When you add a file, its +// symbols will be indexed for this purpose. Note that the implementation +// may return false positives, but only if it isn't possible for the symbol +// to be defined in any other file. In particular, if a file defines a symbol +// "Foo", then searching for "Foo.[anything]" will match that file. This way, +// the database does not need to aggressively index all children of a symbol. +// +// FindFileContainingExtension() is mostly-implemented. It works if and only +// if the original FieldDescriptorProto defining the extension has a +// fully-qualified type name in its "extendee" field (i.e. starts with a '.'). +// If the extendee is a relative name, SimpleDescriptorDatabase will not +// attempt to resolve the type, so it will not know what type the extension is +// extending. Therefore, calling FindFileContainingExtension() with the +// extension's containing type will never actually find that extension. Note +// that this is an unlikely problem, as all FileDescriptorProtos created by the +// protocol compiler (as well as ones created by calling +// FileDescriptor::CopyTo()) will always use fully-qualified names for all +// types. You only need to worry if you are constructing FileDescriptorProtos +// yourself, or are calling compiler::Parser directly. +class LIBPROTOBUF_EXPORT SimpleDescriptorDatabase : public DescriptorDatabase { + public: + SimpleDescriptorDatabase(); + ~SimpleDescriptorDatabase(); + + // Adds the FileDescriptorProto to the database, making a copy. The object + // can be deleted after Add() returns. Returns false if the file conflicted + // with a file already in the database, in which case an error will have + // been written to GOOGLE_LOG(ERROR). + bool Add(const FileDescriptorProto& file); + + // Adds the FileDescriptorProto to the database and takes ownership of it. + bool AddAndOwn(const FileDescriptorProto* file); + + // implements DescriptorDatabase ----------------------------------- + bool FindFileByName(const string& filename, + FileDescriptorProto* output); + bool FindFileContainingSymbol(const string& symbol_name, + FileDescriptorProto* output); + bool FindFileContainingExtension(const string& containing_type, + int field_number, + FileDescriptorProto* output); + bool FindAllExtensionNumbers(const string& extendee_type, + vector* output); + + private: + // So that it can use DescriptorIndex. + friend class EncodedDescriptorDatabase; + + // An index mapping file names, symbol names, and extension numbers to + // some sort of values. + template + class DescriptorIndex { + public: + // Helpers to recursively add particular descriptors and all their contents + // to the index. + bool AddFile(const FileDescriptorProto& file, + Value value); + bool AddSymbol(const string& name, Value value); + bool AddNestedExtensions(const DescriptorProto& message_type, + Value value); + bool AddExtension(const FieldDescriptorProto& field, + Value value); + + Value FindFile(const string& filename); + Value FindSymbol(const string& name); + Value FindExtension(const string& containing_type, int field_number); + bool FindAllExtensionNumbers(const string& containing_type, + vector* output); + + private: + map by_name_; + map by_symbol_; + map, Value> by_extension_; + + // Invariant: The by_symbol_ map does not contain any symbols which are + // prefixes of other symbols in the map. For example, "foo.bar" is a + // prefix of "foo.bar.baz" (but is not a prefix of "foo.barbaz"). + // + // This invariant is important because it means that given a symbol name, + // we can find a key in the map which is a prefix of the symbol in O(lg n) + // time, and we know that there is at most one such key. + // + // The prefix lookup algorithm works like so: + // 1) Find the last key in the map which is less than or equal to the + // search key. + // 2) If the found key is a prefix of the search key, then return it. + // Otherwise, there is no match. + // + // I am sure this algorithm has been described elsewhere, but since I + // wasn't able to find it quickly I will instead prove that it works + // myself. The key to the algorithm is that if a match exists, step (1) + // will find it. Proof: + // 1) Define the "search key" to be the key we are looking for, the "found + // key" to be the key found in step (1), and the "match key" to be the + // key which actually matches the serach key (i.e. the key we're trying + // to find). + // 2) The found key must be less than or equal to the search key by + // definition. + // 3) The match key must also be less than or equal to the search key + // (because it is a prefix). + // 4) The match key cannot be greater than the found key, because if it + // were, then step (1) of the algorithm would have returned the match + // key instead (since it finds the *greatest* key which is less than or + // equal to the search key). + // 5) Therefore, the found key must be between the match key and the search + // key, inclusive. + // 6) Since the search key must be a sub-symbol of the match key, if it is + // not equal to the match key, then search_key[match_key.size()] must + // be '.'. + // 7) Since '.' sorts before any other character that is valid in a symbol + // name, then if the found key is not equal to the match key, then + // found_key[match_key.size()] must also be '.', because any other value + // would make it sort after the search key. + // 8) Therefore, if the found key is not equal to the match key, then the + // found key must be a sub-symbol of the match key. However, this would + // contradict our map invariant which says that no symbol in the map is + // a sub-symbol of any other. + // 9) Therefore, the found key must match the match key. + // + // The above proof assumes the match key exists. In the case that the + // match key does not exist, then step (1) will return some other symbol. + // That symbol cannot be a super-symbol of the search key since if it were, + // then it would be a match, and we're assuming the match key doesn't exist. + // Therefore, step 2 will correctly return no match. + + // Find the last entry in the by_symbol_ map whose key is less than or + // equal to the given name. + typename map::iterator FindLastLessOrEqual( + const string& name); + + // True if either the arguments are equal or super_symbol identifies a + // parent symbol of sub_symbol (e.g. "foo.bar" is a parent of + // "foo.bar.baz", but not a parent of "foo.barbaz"). + bool IsSubSymbol(const string& sub_symbol, const string& super_symbol); + + // Returns true if and only if all characters in the name are alphanumerics, + // underscores, or periods. + bool ValidateSymbolName(const string& name); + }; + + + DescriptorIndex index_; + vector files_to_delete_; + + // If file is non-NULL, copy it into *output and return true, otherwise + // return false. + bool MaybeCopy(const FileDescriptorProto* file, + FileDescriptorProto* output); + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(SimpleDescriptorDatabase); +}; + +// Very similar to SimpleDescriptorDatabase, but stores all the descriptors +// as raw bytes and generally tries to use as little memory as possible. +// +// The same caveats regarding FindFileContainingExtension() apply as with +// SimpleDescriptorDatabase. +class LIBPROTOBUF_EXPORT EncodedDescriptorDatabase : public DescriptorDatabase { + public: + EncodedDescriptorDatabase(); + ~EncodedDescriptorDatabase(); + + // Adds the FileDescriptorProto to the database. The descriptor is provided + // in encoded form. The database does not make a copy of the bytes, nor + // does it take ownership; it's up to the caller to make sure the bytes + // remain valid for the life of the database. Returns false and logs an error + // if the bytes are not a valid FileDescriptorProto or if the file conflicted + // with a file already in the database. + bool Add(const void* encoded_file_descriptor, int size); + + // Like Add(), but makes a copy of the data, so that the caller does not + // need to keep it around. + bool AddCopy(const void* encoded_file_descriptor, int size); + + // Like FindFileContainingSymbol but returns only the name of the file. + bool FindNameOfFileContainingSymbol(const string& symbol_name, + string* output); + + // implements DescriptorDatabase ----------------------------------- + bool FindFileByName(const string& filename, + FileDescriptorProto* output); + bool FindFileContainingSymbol(const string& symbol_name, + FileDescriptorProto* output); + bool FindFileContainingExtension(const string& containing_type, + int field_number, + FileDescriptorProto* output); + bool FindAllExtensionNumbers(const string& extendee_type, + vector* output); + + private: + SimpleDescriptorDatabase::DescriptorIndex > index_; + vector files_to_delete_; + + // If encoded_file.first is non-NULL, parse the data into *output and return + // true, otherwise return false. + bool MaybeParse(pair encoded_file, + FileDescriptorProto* output); + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EncodedDescriptorDatabase); +}; + +// A DescriptorDatabase that fetches files from a given pool. +class LIBPROTOBUF_EXPORT DescriptorPoolDatabase : public DescriptorDatabase { + public: + explicit DescriptorPoolDatabase(const DescriptorPool& pool); + ~DescriptorPoolDatabase(); + + // implements DescriptorDatabase ----------------------------------- + bool FindFileByName(const string& filename, + FileDescriptorProto* output); + bool FindFileContainingSymbol(const string& symbol_name, + FileDescriptorProto* output); + bool FindFileContainingExtension(const string& containing_type, + int field_number, + FileDescriptorProto* output); + bool FindAllExtensionNumbers(const string& extendee_type, + vector* output); + + private: + const DescriptorPool& pool_; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(DescriptorPoolDatabase); +}; + +// A DescriptorDatabase that wraps two or more others. It first searches the +// first database and, if that fails, tries the second, and so on. +class LIBPROTOBUF_EXPORT MergedDescriptorDatabase : public DescriptorDatabase { + public: + // Merge just two databases. The sources remain property of the caller. + MergedDescriptorDatabase(DescriptorDatabase* source1, + DescriptorDatabase* source2); + // Merge more than two databases. The sources remain property of the caller. + // The vector may be deleted after the constructor returns but the + // DescriptorDatabases need to stick around. + explicit MergedDescriptorDatabase(const vector& sources); + ~MergedDescriptorDatabase(); + + // implements DescriptorDatabase ----------------------------------- + bool FindFileByName(const string& filename, + FileDescriptorProto* output); + bool FindFileContainingSymbol(const string& symbol_name, + FileDescriptorProto* output); + bool FindFileContainingExtension(const string& containing_type, + int field_number, + FileDescriptorProto* output); + // Merges the results of calling all databases. Returns true iff any + // of the databases returned true. + bool FindAllExtensionNumbers(const string& extendee_type, + vector* output); + + + private: + vector sources_; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MergedDescriptorDatabase); +}; + +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_DESCRIPTOR_DATABASE_H__ diff --git a/app/src/main/cpp/include/google/protobuf/duration.pb.h b/app/src/main/cpp/include/google/protobuf/duration.pb.h new file mode 100644 index 0000000..3ed1a6d --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/duration.pb.h @@ -0,0 +1,197 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/duration.proto + +#ifndef PROTOBUF_google_2fprotobuf_2fduration_2eproto__INCLUDED +#define PROTOBUF_google_2fprotobuf_2fduration_2eproto__INCLUDED + +#include + +#include + +#if GOOGLE_PROTOBUF_VERSION < 3001000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3001000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) + +namespace google { +namespace protobuf { + +// Internal implementation detail -- do not call these. +void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fduration_2eproto(); +void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fduration_2eproto(); +void protobuf_AssignDesc_google_2fprotobuf_2fduration_2eproto(); +void protobuf_ShutdownFile_google_2fprotobuf_2fduration_2eproto(); + +class Duration; + +// =================================================================== + +class LIBPROTOBUF_EXPORT Duration : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.Duration) */ { + public: + Duration(); + virtual ~Duration(); + + Duration(const Duration& from); + + inline Duration& operator=(const Duration& from) { + CopyFrom(from); + return *this; + } + + inline ::google::protobuf::Arena* GetArena() const { return GetArenaNoVirtual(); } + inline void* GetMaybeArenaPointer() const { + return MaybeArenaPtr(); + } + static const ::google::protobuf::Descriptor* descriptor(); + static const Duration& default_instance(); + + static const Duration* internal_default_instance(); + + void UnsafeArenaSwap(Duration* other); + void Swap(Duration* other); + + // implements Message ---------------------------------------------- + + inline Duration* New() const { return New(NULL); } + + Duration* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const Duration& from); + void MergeFrom(const Duration& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(Duration* other); + void UnsafeMergeFrom(const Duration& from); + protected: + explicit Duration(::google::protobuf::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::google::protobuf::Arena* arena); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional int64 seconds = 1; + void clear_seconds(); + static const int kSecondsFieldNumber = 1; + ::google::protobuf::int64 seconds() const; + void set_seconds(::google::protobuf::int64 value); + + // optional int32 nanos = 2; + void clear_nanos(); + static const int kNanosFieldNumber = 2; + ::google::protobuf::int32 nanos() const; + void set_nanos(::google::protobuf::int32 value); + + // @@protoc_insertion_point(class_scope:google.protobuf.Duration) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + friend class ::google::protobuf::Arena; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::google::protobuf::int64 seconds_; + ::google::protobuf::int32 nanos_; + mutable int _cached_size_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fduration_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fduration_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fduration_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fduration_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed Duration_default_instance_; + +// =================================================================== + + +// =================================================================== + +#if !PROTOBUF_INLINE_NOT_IN_HEADERS +// Duration + +// optional int64 seconds = 1; +inline void Duration::clear_seconds() { + seconds_ = GOOGLE_LONGLONG(0); +} +inline ::google::protobuf::int64 Duration::seconds() const { + // @@protoc_insertion_point(field_get:google.protobuf.Duration.seconds) + return seconds_; +} +inline void Duration::set_seconds(::google::protobuf::int64 value) { + + seconds_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.Duration.seconds) +} + +// optional int32 nanos = 2; +inline void Duration::clear_nanos() { + nanos_ = 0; +} +inline ::google::protobuf::int32 Duration::nanos() const { + // @@protoc_insertion_point(field_get:google.protobuf.Duration.nanos) + return nanos_; +} +inline void Duration::set_nanos(::google::protobuf::int32 value) { + + nanos_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.Duration.nanos) +} + +inline const Duration* Duration::internal_default_instance() { + return &Duration_default_instance_.get(); +} +#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS + +// @@protoc_insertion_point(namespace_scope) + +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) + +#endif // PROTOBUF_google_2fprotobuf_2fduration_2eproto__INCLUDED diff --git a/app/src/main/cpp/include/google/protobuf/duration.proto b/app/src/main/cpp/include/google/protobuf/duration.proto new file mode 100644 index 0000000..7f461f4 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/duration.proto @@ -0,0 +1,104 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option cc_enable_arenas = true; +option go_package = "github.com/golang/protobuf/ptypes/duration"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "DurationProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + +// A Duration represents a signed, fixed-length span of time represented +// as a count of seconds and fractions of seconds at nanosecond +// resolution. It is independent of any calendar and concepts like "day" +// or "month". It is related to Timestamp in that the difference between +// two Timestamp values is a Duration and it can be added or subtracted +// from a Timestamp. Range is approximately +-10,000 years. +// +// Example 1: Compute Duration from two Timestamps in pseudo code. +// +// Timestamp start = ...; +// Timestamp end = ...; +// Duration duration = ...; +// +// duration.seconds = end.seconds - start.seconds; +// duration.nanos = end.nanos - start.nanos; +// +// if (duration.seconds < 0 && duration.nanos > 0) { +// duration.seconds += 1; +// duration.nanos -= 1000000000; +// } else if (durations.seconds > 0 && duration.nanos < 0) { +// duration.seconds -= 1; +// duration.nanos += 1000000000; +// } +// +// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. +// +// Timestamp start = ...; +// Duration duration = ...; +// Timestamp end = ...; +// +// end.seconds = start.seconds + duration.seconds; +// end.nanos = start.nanos + duration.nanos; +// +// if (end.nanos < 0) { +// end.seconds -= 1; +// end.nanos += 1000000000; +// } else if (end.nanos >= 1000000000) { +// end.seconds += 1; +// end.nanos -= 1000000000; +// } +// +// Example 3: Compute Duration from datetime.timedelta in Python. +// +// td = datetime.timedelta(days=3, minutes=10) +// duration = Duration() +// duration.FromTimedelta(td) +// +// +message Duration { + + // Signed seconds of the span of time. Must be from -315,576,000,000 + // to +315,576,000,000 inclusive. + int64 seconds = 1; + + // Signed fractions of a second at nanosecond resolution of the span + // of time. Durations less than one second are represented with a 0 + // `seconds` field and a positive or negative `nanos` field. For durations + // of one second or more, a non-zero value for the `nanos` field must be + // of the same sign as the `seconds` field. Must be from -999,999,999 + // to +999,999,999 inclusive. + int32 nanos = 2; +} diff --git a/app/src/main/cpp/include/google/protobuf/dynamic_message.h b/app/src/main/cpp/include/google/protobuf/dynamic_message.h new file mode 100644 index 0000000..f74cd7d --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/dynamic_message.h @@ -0,0 +1,152 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// Defines an implementation of Message which can emulate types which are not +// known at compile-time. + +#ifndef GOOGLE_PROTOBUF_DYNAMIC_MESSAGE_H__ +#define GOOGLE_PROTOBUF_DYNAMIC_MESSAGE_H__ + +#include +#ifndef _SHARED_PTR_H +#include +#endif + +#include +#include +#include + +namespace google { +namespace protobuf { + +// Defined in other files. +class Descriptor; // descriptor.h +class DescriptorPool; // descriptor.h + +// Constructs implementations of Message which can emulate types which are not +// known at compile-time. +// +// Sometimes you want to be able to manipulate protocol types that you don't +// know about at compile time. It would be nice to be able to construct +// a Message object which implements the message type given by any arbitrary +// Descriptor. DynamicMessage provides this. +// +// As it turns out, a DynamicMessage needs to construct extra +// information about its type in order to operate. Most of this information +// can be shared between all DynamicMessages of the same type. But, caching +// this information in some sort of global map would be a bad idea, since +// the cached information for a particular descriptor could outlive the +// descriptor itself. To avoid this problem, DynamicMessageFactory +// encapsulates this "cache". All DynamicMessages of the same type created +// from the same factory will share the same support data. Any Descriptors +// used with a particular factory must outlive the factory. +class LIBPROTOBUF_EXPORT DynamicMessageFactory : public MessageFactory { + public: + // Construct a DynamicMessageFactory that will search for extensions in + // the DescriptorPool in which the extendee is defined. + DynamicMessageFactory(); + + // Construct a DynamicMessageFactory that will search for extensions in + // the given DescriptorPool. + // + // DEPRECATED: Use CodedInputStream::SetExtensionRegistry() to tell the + // parser to look for extensions in an alternate pool. However, note that + // this is almost never what you want to do. Almost all users should use + // the zero-arg constructor. + DynamicMessageFactory(const DescriptorPool* pool); + + ~DynamicMessageFactory(); + + // Call this to tell the DynamicMessageFactory that if it is given a + // Descriptor d for which: + // d->file()->pool() == DescriptorPool::generated_pool(), + // then it should delegate to MessageFactory::generated_factory() instead + // of constructing a dynamic implementation of the message. In theory there + // is no down side to doing this, so it may become the default in the future. + void SetDelegateToGeneratedFactory(bool enable) { + delegate_to_generated_factory_ = enable; + } + + // implements MessageFactory --------------------------------------- + + // Given a Descriptor, constructs the default (prototype) Message of that + // type. You can then call that message's New() method to construct a + // mutable message of that type. + // + // Calling this method twice with the same Descriptor returns the same + // object. The returned object remains property of the factory and will + // be destroyed when the factory is destroyed. Also, any objects created + // by calling the prototype's New() method share some data with the + // prototype, so these must be destroyed before the DynamicMessageFactory + // is destroyed. + // + // The given descriptor must outlive the returned message, and hence must + // outlive the DynamicMessageFactory. + // + // The method is thread-safe. + const Message* GetPrototype(const Descriptor* type); + + private: + const DescriptorPool* pool_; + bool delegate_to_generated_factory_; + + // This struct just contains a hash_map. We can't #include from + // this header due to hacks needed for hash_map portability in the open source + // release. Namely, stubs/hash.h, which defines hash_map portably, is not a + // public header (for good reason), but dynamic_message.h is, and public + // headers may only #include other public headers. + struct PrototypeMap; + google::protobuf::scoped_ptr prototypes_; + mutable Mutex prototypes_mutex_; + + friend class DynamicMessage; + const Message* GetPrototypeNoLock(const Descriptor* type); + + // Construct default oneof instance for reflection usage if oneof + // is defined. + static void ConstructDefaultOneofInstance(const Descriptor* type, + const int offsets[], + void* default_oneof_instance); + // Delete default oneof instance. Called by ~DynamicMessageFactory. + static void DeleteDefaultOneofInstance(const Descriptor* type, + const int offsets[], + void* default_oneof_instance); + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(DynamicMessageFactory); +}; + +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_DYNAMIC_MESSAGE_H__ diff --git a/app/src/main/cpp/include/google/protobuf/empty.pb.h b/app/src/main/cpp/include/google/protobuf/empty.pb.h new file mode 100644 index 0000000..2930936 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/empty.pb.h @@ -0,0 +1,155 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/empty.proto + +#ifndef PROTOBUF_google_2fprotobuf_2fempty_2eproto__INCLUDED +#define PROTOBUF_google_2fprotobuf_2fempty_2eproto__INCLUDED + +#include + +#include + +#if GOOGLE_PROTOBUF_VERSION < 3001000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3001000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) + +namespace google { +namespace protobuf { + +// Internal implementation detail -- do not call these. +void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fempty_2eproto(); +void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fempty_2eproto(); +void protobuf_AssignDesc_google_2fprotobuf_2fempty_2eproto(); +void protobuf_ShutdownFile_google_2fprotobuf_2fempty_2eproto(); + +class Empty; + +// =================================================================== + +class LIBPROTOBUF_EXPORT Empty : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.Empty) */ { + public: + Empty(); + virtual ~Empty(); + + Empty(const Empty& from); + + inline Empty& operator=(const Empty& from) { + CopyFrom(from); + return *this; + } + + inline ::google::protobuf::Arena* GetArena() const { return GetArenaNoVirtual(); } + inline void* GetMaybeArenaPointer() const { + return MaybeArenaPtr(); + } + static const ::google::protobuf::Descriptor* descriptor(); + static const Empty& default_instance(); + + static const Empty* internal_default_instance(); + + void UnsafeArenaSwap(Empty* other); + void Swap(Empty* other); + + // implements Message ---------------------------------------------- + + inline Empty* New() const { return New(NULL); } + + Empty* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const Empty& from); + void MergeFrom(const Empty& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(Empty* other); + void UnsafeMergeFrom(const Empty& from); + protected: + explicit Empty(::google::protobuf::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::google::protobuf::Arena* arena); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // @@protoc_insertion_point(class_scope:google.protobuf.Empty) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + friend class ::google::protobuf::Arena; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + mutable int _cached_size_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fempty_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fempty_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fempty_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fempty_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed Empty_default_instance_; + +// =================================================================== + + +// =================================================================== + +#if !PROTOBUF_INLINE_NOT_IN_HEADERS +// Empty + +inline const Empty* Empty::internal_default_instance() { + return &Empty_default_instance_.get(); +} +#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS + +// @@protoc_insertion_point(namespace_scope) + +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) + +#endif // PROTOBUF_google_2fprotobuf_2fempty_2eproto__INCLUDED diff --git a/app/src/main/cpp/include/google/protobuf/empty.proto b/app/src/main/cpp/include/google/protobuf/empty.proto new file mode 100644 index 0000000..03cacd2 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/empty.proto @@ -0,0 +1,52 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option go_package = "github.com/golang/protobuf/ptypes/empty"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "EmptyProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; +option cc_enable_arenas = true; + +// A generic empty message that you can re-use to avoid defining duplicated +// empty messages in your APIs. A typical example is to use it as the request +// or the response type of an API method. For instance: +// +// service Foo { +// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); +// } +// +// The JSON representation for `Empty` is empty JSON object `{}`. +message Empty {} diff --git a/app/src/main/cpp/include/google/protobuf/extension_set.h b/app/src/main/cpp/include/google/protobuf/extension_set.h new file mode 100644 index 0000000..f5aa8de --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/extension_set.h @@ -0,0 +1,1318 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This header is logically internal, but is made public because it is used +// from protocol-compiler-generated code, which may reside in other components. + +#ifndef GOOGLE_PROTOBUF_EXTENSION_SET_H__ +#define GOOGLE_PROTOBUF_EXTENSION_SET_H__ + +#include +#include +#include +#include + + +#include +#include +#include + +#include + +namespace google { + +namespace protobuf { + class Arena; + class Descriptor; // descriptor.h + class FieldDescriptor; // descriptor.h + class DescriptorPool; // descriptor.h + class MessageLite; // message_lite.h + class Message; // message.h + class MessageFactory; // message.h + class UnknownFieldSet; // unknown_field_set.h + namespace io { + class CodedInputStream; // coded_stream.h + class CodedOutputStream; // coded_stream.h + } + namespace internal { + class FieldSkipper; // wire_format_lite.h + } +} + +namespace protobuf { +namespace internal { + +// Used to store values of type WireFormatLite::FieldType without having to +// #include wire_format_lite.h. Also, ensures that we use only one byte to +// store these values, which is important to keep the layout of +// ExtensionSet::Extension small. +typedef uint8 FieldType; + +// A function which, given an integer value, returns true if the number +// matches one of the defined values for the corresponding enum type. This +// is used with RegisterEnumExtension, below. +typedef bool EnumValidityFunc(int number); + +// Version of the above which takes an argument. This is needed to deal with +// extensions that are not compiled in. +typedef bool EnumValidityFuncWithArg(const void* arg, int number); + +// Information about a registered extension. +struct ExtensionInfo { + inline ExtensionInfo() {} + inline ExtensionInfo(FieldType type_param, bool isrepeated, bool ispacked) + : type(type_param), is_repeated(isrepeated), is_packed(ispacked), + descriptor(NULL) {} + + FieldType type; + bool is_repeated; + bool is_packed; + + struct EnumValidityCheck { + EnumValidityFuncWithArg* func; + const void* arg; + }; + + union { + EnumValidityCheck enum_validity_check; + const MessageLite* message_prototype; + }; + + // The descriptor for this extension, if one exists and is known. May be + // NULL. Must not be NULL if the descriptor for the extension does not + // live in the same pool as the descriptor for the containing type. + const FieldDescriptor* descriptor; +}; + +// Abstract interface for an object which looks up extension definitions. Used +// when parsing. +class LIBPROTOBUF_EXPORT ExtensionFinder { + public: + virtual ~ExtensionFinder(); + + // Find the extension with the given containing type and number. + virtual bool Find(int number, ExtensionInfo* output) = 0; +}; + +// Implementation of ExtensionFinder which finds extensions defined in .proto +// files which have been compiled into the binary. +class LIBPROTOBUF_EXPORT GeneratedExtensionFinder : public ExtensionFinder { + public: + GeneratedExtensionFinder(const MessageLite* containing_type) + : containing_type_(containing_type) {} + virtual ~GeneratedExtensionFinder() {} + + // Returns true and fills in *output if found, otherwise returns false. + virtual bool Find(int number, ExtensionInfo* output); + + private: + const MessageLite* containing_type_; +}; + +// A FieldSkipper used for parsing MessageSet. +class MessageSetFieldSkipper; + +// Note: extension_set_heavy.cc defines DescriptorPoolExtensionFinder for +// finding extensions from a DescriptorPool. + +// This is an internal helper class intended for use within the protocol buffer +// library and generated classes. Clients should not use it directly. Instead, +// use the generated accessors such as GetExtension() of the class being +// extended. +// +// This class manages extensions for a protocol message object. The +// message's HasExtension(), GetExtension(), MutableExtension(), and +// ClearExtension() methods are just thin wrappers around the embedded +// ExtensionSet. When parsing, if a tag number is encountered which is +// inside one of the message type's extension ranges, the tag is passed +// off to the ExtensionSet for parsing. Etc. +class LIBPROTOBUF_EXPORT ExtensionSet { + public: + ExtensionSet(); + explicit ExtensionSet(::google::protobuf::Arena* arena); + ~ExtensionSet(); + + // These are called at startup by protocol-compiler-generated code to + // register known extensions. The registrations are used by ParseField() + // to look up extensions for parsed field numbers. Note that dynamic parsing + // does not use ParseField(); only protocol-compiler-generated parsing + // methods do. + static void RegisterExtension(const MessageLite* containing_type, + int number, FieldType type, + bool is_repeated, bool is_packed); + static void RegisterEnumExtension(const MessageLite* containing_type, + int number, FieldType type, + bool is_repeated, bool is_packed, + EnumValidityFunc* is_valid); + static void RegisterMessageExtension(const MessageLite* containing_type, + int number, FieldType type, + bool is_repeated, bool is_packed, + const MessageLite* prototype); + + // ================================================================= + + // Add all fields which are currently present to the given vector. This + // is useful to implement Reflection::ListFields(). + void AppendToList(const Descriptor* containing_type, + const DescriptorPool* pool, + std::vector* output) const; + + // ================================================================= + // Accessors + // + // Generated message classes include type-safe templated wrappers around + // these methods. Generally you should use those rather than call these + // directly, unless you are doing low-level memory management. + // + // When calling any of these accessors, the extension number requested + // MUST exist in the DescriptorPool provided to the constructor. Otherwise, + // the method will fail an assert. Normally, though, you would not call + // these directly; you would either call the generated accessors of your + // message class (e.g. GetExtension()) or you would call the accessors + // of the reflection interface. In both cases, it is impossible to + // trigger this assert failure: the generated accessors only accept + // linked-in extension types as parameters, while the Reflection interface + // requires you to provide the FieldDescriptor describing the extension. + // + // When calling any of these accessors, a protocol-compiler-generated + // implementation of the extension corresponding to the number MUST + // be linked in, and the FieldDescriptor used to refer to it MUST be + // the one generated by that linked-in code. Otherwise, the method will + // die on an assert failure. The message objects returned by the message + // accessors are guaranteed to be of the correct linked-in type. + // + // These methods pretty much match Reflection except that: + // - They're not virtual. + // - They identify fields by number rather than FieldDescriptors. + // - They identify enum values using integers rather than descriptors. + // - Strings provide Mutable() in addition to Set() accessors. + + bool Has(int number) const; + int ExtensionSize(int number) const; // Size of a repeated extension. + int NumExtensions() const; // The number of extensions + FieldType ExtensionType(int number) const; + void ClearExtension(int number); + + // singular fields ------------------------------------------------- + + int32 GetInt32 (int number, int32 default_value) const; + int64 GetInt64 (int number, int64 default_value) const; + uint32 GetUInt32(int number, uint32 default_value) const; + uint64 GetUInt64(int number, uint64 default_value) const; + float GetFloat (int number, float default_value) const; + double GetDouble(int number, double default_value) const; + bool GetBool (int number, bool default_value) const; + int GetEnum (int number, int default_value) const; + const string & GetString (int number, const string& default_value) const; + const MessageLite& GetMessage(int number, + const MessageLite& default_value) const; + const MessageLite& GetMessage(int number, const Descriptor* message_type, + MessageFactory* factory) const; + + // |descriptor| may be NULL so long as it is known that the descriptor for + // the extension lives in the same pool as the descriptor for the containing + // type. +#define desc const FieldDescriptor* descriptor // avoid line wrapping + void SetInt32 (int number, FieldType type, int32 value, desc); + void SetInt64 (int number, FieldType type, int64 value, desc); + void SetUInt32(int number, FieldType type, uint32 value, desc); + void SetUInt64(int number, FieldType type, uint64 value, desc); + void SetFloat (int number, FieldType type, float value, desc); + void SetDouble(int number, FieldType type, double value, desc); + void SetBool (int number, FieldType type, bool value, desc); + void SetEnum (int number, FieldType type, int value, desc); + void SetString(int number, FieldType type, const string& value, desc); + string * MutableString (int number, FieldType type, desc); + MessageLite* MutableMessage(int number, FieldType type, + const MessageLite& prototype, desc); + MessageLite* MutableMessage(const FieldDescriptor* decsriptor, + MessageFactory* factory); + // Adds the given message to the ExtensionSet, taking ownership of the + // message object. Existing message with the same number will be deleted. + // If "message" is NULL, this is equivalent to "ClearExtension(number)". + void SetAllocatedMessage(int number, FieldType type, + const FieldDescriptor* descriptor, + MessageLite* message); + void UnsafeArenaSetAllocatedMessage(int number, FieldType type, + const FieldDescriptor* descriptor, + MessageLite* message); + MessageLite* ReleaseMessage(int number, const MessageLite& prototype); + MessageLite* UnsafeArenaReleaseMessage( + int number, const MessageLite& prototype); + + MessageLite* ReleaseMessage(const FieldDescriptor* descriptor, + MessageFactory* factory); + MessageLite* UnsafeArenaReleaseMessage(const FieldDescriptor* descriptor, + MessageFactory* factory); +#undef desc + ::google::protobuf::Arena* GetArenaNoVirtual() const { return arena_; } + + // repeated fields ------------------------------------------------- + + // Fetches a RepeatedField extension by number; returns |default_value| + // if no such extension exists. User should not touch this directly; it is + // used by the GetRepeatedExtension() method. + const void* GetRawRepeatedField(int number, const void* default_value) const; + // Fetches a mutable version of a RepeatedField extension by number, + // instantiating one if none exists. Similar to above, user should not use + // this directly; it underlies MutableRepeatedExtension(). + void* MutableRawRepeatedField(int number, FieldType field_type, + bool packed, const FieldDescriptor* desc); + + // This is an overload of MutableRawRepeatedField to maintain compatibility + // with old code using a previous API. This version of + // MutableRawRepeatedField() will GOOGLE_CHECK-fail on a missing extension. + // (E.g.: borg/clients/internal/proto1/proto2_reflection.cc.) + void* MutableRawRepeatedField(int number); + + int32 GetRepeatedInt32 (int number, int index) const; + int64 GetRepeatedInt64 (int number, int index) const; + uint32 GetRepeatedUInt32(int number, int index) const; + uint64 GetRepeatedUInt64(int number, int index) const; + float GetRepeatedFloat (int number, int index) const; + double GetRepeatedDouble(int number, int index) const; + bool GetRepeatedBool (int number, int index) const; + int GetRepeatedEnum (int number, int index) const; + const string & GetRepeatedString (int number, int index) const; + const MessageLite& GetRepeatedMessage(int number, int index) const; + + void SetRepeatedInt32 (int number, int index, int32 value); + void SetRepeatedInt64 (int number, int index, int64 value); + void SetRepeatedUInt32(int number, int index, uint32 value); + void SetRepeatedUInt64(int number, int index, uint64 value); + void SetRepeatedFloat (int number, int index, float value); + void SetRepeatedDouble(int number, int index, double value); + void SetRepeatedBool (int number, int index, bool value); + void SetRepeatedEnum (int number, int index, int value); + void SetRepeatedString(int number, int index, const string& value); + string * MutableRepeatedString (int number, int index); + MessageLite* MutableRepeatedMessage(int number, int index); + +#define desc const FieldDescriptor* descriptor // avoid line wrapping + void AddInt32 (int number, FieldType type, bool packed, int32 value, desc); + void AddInt64 (int number, FieldType type, bool packed, int64 value, desc); + void AddUInt32(int number, FieldType type, bool packed, uint32 value, desc); + void AddUInt64(int number, FieldType type, bool packed, uint64 value, desc); + void AddFloat (int number, FieldType type, bool packed, float value, desc); + void AddDouble(int number, FieldType type, bool packed, double value, desc); + void AddBool (int number, FieldType type, bool packed, bool value, desc); + void AddEnum (int number, FieldType type, bool packed, int value, desc); + void AddString(int number, FieldType type, const string& value, desc); + string * AddString (int number, FieldType type, desc); + MessageLite* AddMessage(int number, FieldType type, + const MessageLite& prototype, desc); + MessageLite* AddMessage(const FieldDescriptor* descriptor, + MessageFactory* factory); + void AddAllocatedMessage(const FieldDescriptor* descriptor, + MessageLite* new_entry); +#undef desc + + void RemoveLast(int number); + MessageLite* ReleaseLast(int number); + void SwapElements(int number, int index1, int index2); + + // ----------------------------------------------------------------- + // TODO(kenton): Hardcore memory management accessors + + // ================================================================= + // convenience methods for implementing methods of Message + // + // These could all be implemented in terms of the other methods of this + // class, but providing them here helps keep the generated code size down. + + void Clear(); + void MergeFrom(const ExtensionSet& other); + void Swap(ExtensionSet* other); + void SwapExtension(ExtensionSet* other, int number); + bool IsInitialized() const; + + // Parses a single extension from the input. The input should start out + // positioned immediately after the tag. + bool ParseField(uint32 tag, io::CodedInputStream* input, + ExtensionFinder* extension_finder, + FieldSkipper* field_skipper); + + // Specific versions for lite or full messages (constructs the appropriate + // FieldSkipper automatically). |containing_type| is the default + // instance for the containing message; it is used only to look up the + // extension by number. See RegisterExtension(), above. Unlike the other + // methods of ExtensionSet, this only works for generated message types -- + // it looks up extensions registered using RegisterExtension(). + bool ParseField(uint32 tag, io::CodedInputStream* input, + const MessageLite* containing_type); + bool ParseField(uint32 tag, io::CodedInputStream* input, + const Message* containing_type, + UnknownFieldSet* unknown_fields); + bool ParseField(uint32 tag, io::CodedInputStream* input, + const MessageLite* containing_type, + io::CodedOutputStream* unknown_fields); + + // Parse an entire message in MessageSet format. Such messages have no + // fields, only extensions. + bool ParseMessageSet(io::CodedInputStream* input, + ExtensionFinder* extension_finder, + MessageSetFieldSkipper* field_skipper); + + // Specific versions for lite or full messages (constructs the appropriate + // FieldSkipper automatically). + bool ParseMessageSet(io::CodedInputStream* input, + const MessageLite* containing_type); + bool ParseMessageSet(io::CodedInputStream* input, + const Message* containing_type, + UnknownFieldSet* unknown_fields); + + // Write all extension fields with field numbers in the range + // [start_field_number, end_field_number) + // to the output stream, using the cached sizes computed when ByteSize() was + // last called. Note that the range bounds are inclusive-exclusive. + void SerializeWithCachedSizes(int start_field_number, + int end_field_number, + io::CodedOutputStream* output) const; + + // Same as SerializeWithCachedSizes, but without any bounds checking. + // The caller must ensure that target has sufficient capacity for the + // serialized extensions. + // + // Returns a pointer past the last written byte. + uint8* InternalSerializeWithCachedSizesToArray(int start_field_number, + int end_field_number, + bool deterministic, + uint8* target) const; + + // Like above but serializes in MessageSet format. + void SerializeMessageSetWithCachedSizes(io::CodedOutputStream* output) const; + uint8* InternalSerializeMessageSetWithCachedSizesToArray(bool deterministic, + uint8* target) const; + + // For backward-compatibility, versions of two of the above methods that + // are never forced to serialize deterministically. + uint8* SerializeWithCachedSizesToArray(int start_field_number, + int end_field_number, + uint8* target) const; + uint8* SerializeMessageSetWithCachedSizesToArray(uint8* target) const; + + // Returns the total serialized size of all the extensions. + size_t ByteSize() const; + + // Like ByteSize() but uses MessageSet format. + size_t MessageSetByteSize() const; + + // Returns (an estimate of) the total number of bytes used for storing the + // extensions in memory, excluding sizeof(*this). If the ExtensionSet is + // for a lite message (and thus possibly contains lite messages), the results + // are undefined (might work, might crash, might corrupt data, might not even + // be linked in). It's up to the protocol compiler to avoid calling this on + // such ExtensionSets (easy enough since lite messages don't implement + // SpaceUsed()). + int SpaceUsedExcludingSelf() const; + + private: + + // Interface of a lazily parsed singular message extension. + class LIBPROTOBUF_EXPORT LazyMessageExtension { + public: + LazyMessageExtension() {} + virtual ~LazyMessageExtension() {} + + virtual LazyMessageExtension* New(::google::protobuf::Arena* arena) const = 0; + virtual const MessageLite& GetMessage( + const MessageLite& prototype) const = 0; + virtual MessageLite* MutableMessage(const MessageLite& prototype) = 0; + virtual void SetAllocatedMessage(MessageLite *message) = 0; + virtual void UnsafeArenaSetAllocatedMessage(MessageLite *message) = 0; + virtual MessageLite* ReleaseMessage(const MessageLite& prototype) = 0; + virtual MessageLite* UnsafeArenaReleaseMessage( + const MessageLite& prototype) = 0; + + virtual bool IsInitialized() const = 0; + virtual int ByteSize() const = 0; + virtual int SpaceUsed() const = 0; + + virtual void MergeFrom(const LazyMessageExtension& other) = 0; + virtual void Clear() = 0; + + virtual bool ReadMessage(const MessageLite& prototype, + io::CodedInputStream* input) = 0; + virtual void WriteMessage(int number, + io::CodedOutputStream* output) const = 0; + virtual uint8* WriteMessageToArray(int number, uint8* target) const = 0; + virtual uint8* InternalWriteMessageToArray(int number, bool, + uint8* target) const { + // TODO(gpike): make this pure virtual. This is a placeholder because we + // need to update third_party/upb, for example. + return WriteMessageToArray(number, target); + } + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(LazyMessageExtension); + }; + struct Extension { + // The order of these fields packs Extension into 24 bytes when using 8 + // byte alignment. Consider this when adding or removing fields here. + union { + int32 int32_value; + int64 int64_value; + uint32 uint32_value; + uint64 uint64_value; + float float_value; + double double_value; + bool bool_value; + int enum_value; + string* string_value; + MessageLite* message_value; + LazyMessageExtension* lazymessage_value; + + RepeatedField * repeated_int32_value; + RepeatedField * repeated_int64_value; + RepeatedField * repeated_uint32_value; + RepeatedField * repeated_uint64_value; + RepeatedField * repeated_float_value; + RepeatedField * repeated_double_value; + RepeatedField * repeated_bool_value; + RepeatedField * repeated_enum_value; + RepeatedPtrField* repeated_string_value; + RepeatedPtrField* repeated_message_value; + }; + + FieldType type; + bool is_repeated; + + // For singular types, indicates if the extension is "cleared". This + // happens when an extension is set and then later cleared by the caller. + // We want to keep the Extension object around for reuse, so instead of + // removing it from the map, we just set is_cleared = true. This has no + // meaning for repeated types; for those, the size of the RepeatedField + // simply becomes zero when cleared. + bool is_cleared : 4; + + // For singular message types, indicates whether lazy parsing is enabled + // for this extension. This field is only valid when type == TYPE_MESSAGE + // and !is_repeated because we only support lazy parsing for singular + // message types currently. If is_lazy = true, the extension is stored in + // lazymessage_value. Otherwise, the extension will be message_value. + bool is_lazy : 4; + + // For repeated types, this indicates if the [packed=true] option is set. + bool is_packed; + + // For packed fields, the size of the packed data is recorded here when + // ByteSize() is called then used during serialization. + // TODO(kenton): Use atomic when C++ supports it. + mutable int cached_size; + + // The descriptor for this extension, if one exists and is known. May be + // NULL. Must not be NULL if the descriptor for the extension does not + // live in the same pool as the descriptor for the containing type. + const FieldDescriptor* descriptor; + + // Some helper methods for operations on a single Extension. + void SerializeFieldWithCachedSizes( + int number, + io::CodedOutputStream* output) const; + uint8* InternalSerializeFieldWithCachedSizesToArray( + int number, + bool deterministic, + uint8* target) const; + void SerializeMessageSetItemWithCachedSizes( + int number, + io::CodedOutputStream* output) const; + uint8* InternalSerializeMessageSetItemWithCachedSizesToArray( + int number, + bool deterministic, + uint8* target) const; + size_t ByteSize(int number) const; + size_t MessageSetItemByteSize(int number) const; + void Clear(); + int GetSize() const; + void Free(); + int SpaceUsedExcludingSelf() const; + }; + typedef std::map ExtensionMap; + + + // Merges existing Extension from other_extension + void InternalExtensionMergeFrom(int number, const Extension& other_extension); + + // Returns true and fills field_number and extension if extension is found. + // Note to support packed repeated field compatibility, it also fills whether + // the tag on wire is packed, which can be different from + // extension->is_packed (whether packed=true is specified). + bool FindExtensionInfoFromTag(uint32 tag, ExtensionFinder* extension_finder, + int* field_number, ExtensionInfo* extension, + bool* was_packed_on_wire); + + // Returns true and fills extension if extension is found. + // Note to support packed repeated field compatibility, it also fills whether + // the tag on wire is packed, which can be different from + // extension->is_packed (whether packed=true is specified). + bool FindExtensionInfoFromFieldNumber(int wire_type, int field_number, + ExtensionFinder* extension_finder, + ExtensionInfo* extension, + bool* was_packed_on_wire); + + // Parses a single extension from the input. The input should start out + // positioned immediately after the wire tag. This method is called in + // ParseField() after field number and was_packed_on_wire is extracted from + // the wire tag and ExtensionInfo is found by the field number. + bool ParseFieldWithExtensionInfo(int field_number, + bool was_packed_on_wire, + const ExtensionInfo& extension, + io::CodedInputStream* input, + FieldSkipper* field_skipper); + + // Like ParseField(), but this method may parse singular message extensions + // lazily depending on the value of FLAGS_eagerly_parse_message_sets. + bool ParseFieldMaybeLazily(int wire_type, int field_number, + io::CodedInputStream* input, + ExtensionFinder* extension_finder, + MessageSetFieldSkipper* field_skipper); + + // Gets the extension with the given number, creating it if it does not + // already exist. Returns true if the extension did not already exist. + bool MaybeNewExtension(int number, const FieldDescriptor* descriptor, + Extension** result); + + // Gets the repeated extension for the given descriptor, creating it if + // it does not exist. + Extension* MaybeNewRepeatedExtension(const FieldDescriptor* descriptor); + + // Parse a single MessageSet item -- called just after the item group start + // tag has been read. + bool ParseMessageSetItem(io::CodedInputStream* input, + ExtensionFinder* extension_finder, + MessageSetFieldSkipper* field_skipper); + + // Hack: RepeatedPtrFieldBase declares ExtensionSet as a friend. This + // friendship should automatically extend to ExtensionSet::Extension, but + // unfortunately some older compilers (e.g. GCC 3.4.4) do not implement this + // correctly. So, we must provide helpers for calling methods of that + // class. + + // Defined in extension_set_heavy.cc. + static inline int RepeatedMessage_SpaceUsedExcludingSelf( + RepeatedPtrFieldBase* field); + + // The Extension struct is small enough to be passed by value, so we use it + // directly as the value type in the map rather than use pointers. We use + // a map rather than hash_map here because we expect most ExtensionSets will + // only contain a small number of extensions whereas hash_map is optimized + // for 100 elements or more. Also, we want AppendToList() to order fields + // by field number. + ExtensionMap extensions_; + ::google::protobuf::Arena* arena_; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionSet); +}; + +// These are just for convenience... +inline void ExtensionSet::SetString(int number, FieldType type, + const string& value, + const FieldDescriptor* descriptor) { + MutableString(number, type, descriptor)->assign(value); +} +inline void ExtensionSet::SetRepeatedString(int number, int index, + const string& value) { + MutableRepeatedString(number, index)->assign(value); +} +inline void ExtensionSet::AddString(int number, FieldType type, + const string& value, + const FieldDescriptor* descriptor) { + AddString(number, type, descriptor)->assign(value); +} + +// =================================================================== +// Glue for generated extension accessors + +// ------------------------------------------------------------------- +// Template magic + +// First we have a set of classes representing "type traits" for different +// field types. A type traits class knows how to implement basic accessors +// for extensions of a particular type given an ExtensionSet. The signature +// for a type traits class looks like this: +// +// class TypeTraits { +// public: +// typedef ? ConstType; +// typedef ? MutableType; +// // TypeTraits for singular fields and repeated fields will define the +// // symbol "Singular" or "Repeated" respectively. These two symbols will +// // be used in extension accessors to distinguish between singular +// // extensions and repeated extensions. If the TypeTraits for the passed +// // in extension doesn't have the expected symbol defined, it means the +// // user is passing a repeated extension to a singular accessor, or the +// // opposite. In that case the C++ compiler will generate an error +// // message "no matching member function" to inform the user. +// typedef ? Singular +// typedef ? Repeated +// +// static inline ConstType Get(int number, const ExtensionSet& set); +// static inline void Set(int number, ConstType value, ExtensionSet* set); +// static inline MutableType Mutable(int number, ExtensionSet* set); +// +// // Variants for repeated fields. +// static inline ConstType Get(int number, const ExtensionSet& set, +// int index); +// static inline void Set(int number, int index, +// ConstType value, ExtensionSet* set); +// static inline MutableType Mutable(int number, int index, +// ExtensionSet* set); +// static inline void Add(int number, ConstType value, ExtensionSet* set); +// static inline MutableType Add(int number, ExtensionSet* set); +// }; +// +// Not all of these methods make sense for all field types. For example, the +// "Mutable" methods only make sense for strings and messages, and the +// repeated methods only make sense for repeated types. So, each type +// traits class implements only the set of methods from this signature that it +// actually supports. This will cause a compiler error if the user tries to +// access an extension using a method that doesn't make sense for its type. +// For example, if "foo" is an extension of type "optional int32", then if you +// try to write code like: +// my_message.MutableExtension(foo) +// you will get a compile error because PrimitiveTypeTraits does not +// have a "Mutable()" method. + +// ------------------------------------------------------------------- +// PrimitiveTypeTraits + +// Since the ExtensionSet has different methods for each primitive type, +// we must explicitly define the methods of the type traits class for each +// known type. +template +class PrimitiveTypeTraits { + public: + typedef Type ConstType; + typedef Type MutableType; + typedef PrimitiveTypeTraits Singular; + + static inline ConstType Get(int number, const ExtensionSet& set, + ConstType default_value); + static inline void Set(int number, FieldType field_type, + ConstType value, ExtensionSet* set); +}; + +template +class RepeatedPrimitiveTypeTraits { + public: + typedef Type ConstType; + typedef Type MutableType; + typedef RepeatedPrimitiveTypeTraits Repeated; + + typedef RepeatedField RepeatedFieldType; + + static inline Type Get(int number, const ExtensionSet& set, int index); + static inline void Set(int number, int index, Type value, ExtensionSet* set); + static inline void Add(int number, FieldType field_type, + bool is_packed, Type value, ExtensionSet* set); + + static inline const RepeatedField& + GetRepeated(int number, const ExtensionSet& set); + static inline RepeatedField* + MutableRepeated(int number, FieldType field_type, + bool is_packed, ExtensionSet* set); + + static const RepeatedFieldType* GetDefaultRepeatedField(); +}; + +LIBPROTOBUF_EXPORT extern ProtobufOnceType repeated_primitive_generic_type_traits_once_init_; + +class LIBPROTOBUF_EXPORT RepeatedPrimitiveGenericTypeTraits { + private: + template friend class RepeatedPrimitiveTypeTraits; + static void InitializeDefaultRepeatedFields(); + static void DestroyDefaultRepeatedFields(); + static const RepeatedField* default_repeated_field_int32_; + static const RepeatedField* default_repeated_field_int64_; + static const RepeatedField* default_repeated_field_uint32_; + static const RepeatedField* default_repeated_field_uint64_; + static const RepeatedField* default_repeated_field_double_; + static const RepeatedField* default_repeated_field_float_; + static const RepeatedField* default_repeated_field_bool_; +}; + +#define PROTOBUF_DEFINE_PRIMITIVE_TYPE(TYPE, METHOD) \ +template<> inline TYPE PrimitiveTypeTraits::Get( \ + int number, const ExtensionSet& set, TYPE default_value) { \ + return set.Get##METHOD(number, default_value); \ +} \ +template<> inline void PrimitiveTypeTraits::Set( \ + int number, FieldType field_type, TYPE value, ExtensionSet* set) { \ + set->Set##METHOD(number, field_type, value, NULL); \ +} \ + \ +template<> inline TYPE RepeatedPrimitiveTypeTraits::Get( \ + int number, const ExtensionSet& set, int index) { \ + return set.GetRepeated##METHOD(number, index); \ +} \ +template<> inline void RepeatedPrimitiveTypeTraits::Set( \ + int number, int index, TYPE value, ExtensionSet* set) { \ + set->SetRepeated##METHOD(number, index, value); \ +} \ +template<> inline void RepeatedPrimitiveTypeTraits::Add( \ + int number, FieldType field_type, bool is_packed, \ + TYPE value, ExtensionSet* set) { \ + set->Add##METHOD(number, field_type, is_packed, value, NULL); \ +} \ +template<> inline const RepeatedField* \ + RepeatedPrimitiveTypeTraits::GetDefaultRepeatedField() { \ + ::google::protobuf::GoogleOnceInit( \ + &repeated_primitive_generic_type_traits_once_init_, \ + &RepeatedPrimitiveGenericTypeTraits::InitializeDefaultRepeatedFields); \ + return RepeatedPrimitiveGenericTypeTraits:: \ + default_repeated_field_##TYPE##_; \ +} \ +template<> inline const RepeatedField& \ + RepeatedPrimitiveTypeTraits::GetRepeated(int number, \ + const ExtensionSet& set) { \ + return *reinterpret_cast*>( \ + set.GetRawRepeatedField( \ + number, GetDefaultRepeatedField())); \ +} \ +template<> inline RepeatedField* \ + RepeatedPrimitiveTypeTraits::MutableRepeated(int number, \ + FieldType field_type, \ + bool is_packed, \ + ExtensionSet* set) { \ + return reinterpret_cast*>( \ + set->MutableRawRepeatedField(number, field_type, is_packed, NULL)); \ +} + +PROTOBUF_DEFINE_PRIMITIVE_TYPE( int32, Int32) +PROTOBUF_DEFINE_PRIMITIVE_TYPE( int64, Int64) +PROTOBUF_DEFINE_PRIMITIVE_TYPE(uint32, UInt32) +PROTOBUF_DEFINE_PRIMITIVE_TYPE(uint64, UInt64) +PROTOBUF_DEFINE_PRIMITIVE_TYPE( float, Float) +PROTOBUF_DEFINE_PRIMITIVE_TYPE(double, Double) +PROTOBUF_DEFINE_PRIMITIVE_TYPE( bool, Bool) + +#undef PROTOBUF_DEFINE_PRIMITIVE_TYPE + +// ------------------------------------------------------------------- +// StringTypeTraits + +// Strings support both Set() and Mutable(). +class LIBPROTOBUF_EXPORT StringTypeTraits { + public: + typedef const string& ConstType; + typedef string* MutableType; + typedef StringTypeTraits Singular; + + static inline const string& Get(int number, const ExtensionSet& set, + ConstType default_value) { + return set.GetString(number, default_value); + } + static inline void Set(int number, FieldType field_type, + const string& value, ExtensionSet* set) { + set->SetString(number, field_type, value, NULL); + } + static inline string* Mutable(int number, FieldType field_type, + ExtensionSet* set) { + return set->MutableString(number, field_type, NULL); + } +}; + +LIBPROTOBUF_EXPORT extern ProtobufOnceType repeated_string_type_traits_once_init_; + +class LIBPROTOBUF_EXPORT RepeatedStringTypeTraits { + public: + typedef const string& ConstType; + typedef string* MutableType; + typedef RepeatedStringTypeTraits Repeated; + + typedef RepeatedPtrField RepeatedFieldType; + + static inline const string& Get(int number, const ExtensionSet& set, + int index) { + return set.GetRepeatedString(number, index); + } + static inline void Set(int number, int index, + const string& value, ExtensionSet* set) { + set->SetRepeatedString(number, index, value); + } + static inline string* Mutable(int number, int index, ExtensionSet* set) { + return set->MutableRepeatedString(number, index); + } + static inline void Add(int number, FieldType field_type, + bool /*is_packed*/, const string& value, + ExtensionSet* set) { + set->AddString(number, field_type, value, NULL); + } + static inline string* Add(int number, FieldType field_type, + ExtensionSet* set) { + return set->AddString(number, field_type, NULL); + } + static inline const RepeatedPtrField& + GetRepeated(int number, const ExtensionSet& set) { + return *reinterpret_cast*>( + set.GetRawRepeatedField(number, GetDefaultRepeatedField())); + } + + static inline RepeatedPtrField* + MutableRepeated(int number, FieldType field_type, + bool is_packed, ExtensionSet* set) { + return reinterpret_cast*>( + set->MutableRawRepeatedField(number, field_type, + is_packed, NULL)); + } + + static const RepeatedFieldType* GetDefaultRepeatedField() { + ::google::protobuf::GoogleOnceInit(&repeated_string_type_traits_once_init_, + &InitializeDefaultRepeatedFields); + return default_repeated_field_; + } + + private: + static void InitializeDefaultRepeatedFields(); + static void DestroyDefaultRepeatedFields(); + static const RepeatedFieldType *default_repeated_field_; +}; + +// ------------------------------------------------------------------- +// EnumTypeTraits + +// ExtensionSet represents enums using integers internally, so we have to +// static_cast around. +template +class EnumTypeTraits { + public: + typedef Type ConstType; + typedef Type MutableType; + typedef EnumTypeTraits Singular; + + static inline ConstType Get(int number, const ExtensionSet& set, + ConstType default_value) { + return static_cast(set.GetEnum(number, default_value)); + } + static inline void Set(int number, FieldType field_type, + ConstType value, ExtensionSet* set) { + GOOGLE_DCHECK(IsValid(value)); + set->SetEnum(number, field_type, value, NULL); + } +}; + +template +class RepeatedEnumTypeTraits { + public: + typedef Type ConstType; + typedef Type MutableType; + typedef RepeatedEnumTypeTraits Repeated; + + typedef RepeatedField RepeatedFieldType; + + static inline ConstType Get(int number, const ExtensionSet& set, int index) { + return static_cast(set.GetRepeatedEnum(number, index)); + } + static inline void Set(int number, int index, + ConstType value, ExtensionSet* set) { + GOOGLE_DCHECK(IsValid(value)); + set->SetRepeatedEnum(number, index, value); + } + static inline void Add(int number, FieldType field_type, + bool is_packed, ConstType value, ExtensionSet* set) { + GOOGLE_DCHECK(IsValid(value)); + set->AddEnum(number, field_type, is_packed, value, NULL); + } + static inline const RepeatedField& GetRepeated(int number, + const ExtensionSet& + set) { + // Hack: the `Extension` struct stores a RepeatedField for enums. + // RepeatedField cannot implicitly convert to RepeatedField + // so we need to do some casting magic. See message.h for similar + // contortions for non-extension fields. + return *reinterpret_cast*>( + set.GetRawRepeatedField(number, GetDefaultRepeatedField())); + } + + static inline RepeatedField* MutableRepeated(int number, + FieldType field_type, + bool is_packed, + ExtensionSet* set) { + return reinterpret_cast*>( + set->MutableRawRepeatedField(number, field_type, is_packed, NULL)); + } + + static const RepeatedFieldType* GetDefaultRepeatedField() { + // Hack: as noted above, repeated enum fields are internally stored as a + // RepeatedField. We need to be able to instantiate global static + // objects to return as default (empty) repeated fields on non-existent + // extensions. We would not be able to know a-priori all of the enum types + // (values of |Type|) to instantiate all of these, so we just re-use int32's + // default repeated field object. + return reinterpret_cast*>( + RepeatedPrimitiveTypeTraits::GetDefaultRepeatedField()); + } +}; + +// ------------------------------------------------------------------- +// MessageTypeTraits + +// ExtensionSet guarantees that when manipulating extensions with message +// types, the implementation used will be the compiled-in class representing +// that type. So, we can static_cast down to the exact type we expect. +template +class MessageTypeTraits { + public: + typedef const Type& ConstType; + typedef Type* MutableType; + typedef MessageTypeTraits Singular; + + static inline ConstType Get(int number, const ExtensionSet& set, + ConstType default_value) { + return static_cast( + set.GetMessage(number, default_value)); + } + static inline MutableType Mutable(int number, FieldType field_type, + ExtensionSet* set) { + return static_cast( + set->MutableMessage(number, field_type, Type::default_instance(), NULL)); + } + static inline void SetAllocated(int number, FieldType field_type, + MutableType message, ExtensionSet* set) { + set->SetAllocatedMessage(number, field_type, NULL, message); + } + static inline void UnsafeArenaSetAllocated(int number, FieldType field_type, + MutableType message, + ExtensionSet* set) { + set->UnsafeArenaSetAllocatedMessage(number, field_type, NULL, message); + } + static inline MutableType Release(int number, FieldType /* field_type */, + ExtensionSet* set) { + return static_cast(set->ReleaseMessage( + number, Type::default_instance())); + } + static inline MutableType UnsafeArenaRelease(int number, + FieldType /* field_type */, + ExtensionSet* set) { + return static_cast(set->UnsafeArenaReleaseMessage( + number, Type::default_instance())); + } +}; + +// forward declaration +class RepeatedMessageGenericTypeTraits; + +template +class RepeatedMessageTypeTraits { + public: + typedef const Type& ConstType; + typedef Type* MutableType; + typedef RepeatedMessageTypeTraits Repeated; + + typedef RepeatedPtrField RepeatedFieldType; + + static inline ConstType Get(int number, const ExtensionSet& set, int index) { + return static_cast(set.GetRepeatedMessage(number, index)); + } + static inline MutableType Mutable(int number, int index, ExtensionSet* set) { + return static_cast(set->MutableRepeatedMessage(number, index)); + } + static inline MutableType Add(int number, FieldType field_type, + ExtensionSet* set) { + return static_cast( + set->AddMessage(number, field_type, Type::default_instance(), NULL)); + } + static inline const RepeatedPtrField& GetRepeated(int number, + const ExtensionSet& + set) { + // See notes above in RepeatedEnumTypeTraits::GetRepeated(): same + // casting hack applies here, because a RepeatedPtrField + // cannot naturally become a RepeatedPtrType even though Type is + // presumably a message. google::protobuf::Message goes through similar contortions + // with a reinterpret_cast<>. + return *reinterpret_cast*>( + set.GetRawRepeatedField(number, GetDefaultRepeatedField())); + } + static inline RepeatedPtrField* MutableRepeated(int number, + FieldType field_type, + bool is_packed, + ExtensionSet* set) { + return reinterpret_cast*>( + set->MutableRawRepeatedField(number, field_type, is_packed, NULL)); + } + + static const RepeatedFieldType* GetDefaultRepeatedField(); +}; + +LIBPROTOBUF_EXPORT extern ProtobufOnceType repeated_message_generic_type_traits_once_init_; + +// This class exists only to hold a generic default empty repeated field for all +// message-type repeated field extensions. +class LIBPROTOBUF_EXPORT RepeatedMessageGenericTypeTraits { + public: + typedef RepeatedPtrField< ::google::protobuf::MessageLite*> RepeatedFieldType; + private: + template friend class RepeatedMessageTypeTraits; + static void InitializeDefaultRepeatedFields(); + static void DestroyDefaultRepeatedFields(); + static const RepeatedFieldType* default_repeated_field_; +}; + +template inline + const typename RepeatedMessageTypeTraits::RepeatedFieldType* + RepeatedMessageTypeTraits::GetDefaultRepeatedField() { + ::google::protobuf::GoogleOnceInit( + &repeated_message_generic_type_traits_once_init_, + &RepeatedMessageGenericTypeTraits::InitializeDefaultRepeatedFields); + return reinterpret_cast( + RepeatedMessageGenericTypeTraits::default_repeated_field_); +} + +// ------------------------------------------------------------------- +// ExtensionIdentifier + +// This is the type of actual extension objects. E.g. if you have: +// extends Foo with optional int32 bar = 1234; +// then "bar" will be defined in C++ as: +// ExtensionIdentifier, 1, false> bar(1234); +// +// Note that we could, in theory, supply the field number as a template +// parameter, and thus make an instance of ExtensionIdentifier have no +// actual contents. However, if we did that, then using at extension +// identifier would not necessarily cause the compiler to output any sort +// of reference to any simple defined in the extension's .pb.o file. Some +// linkers will actually drop object files that are not explicitly referenced, +// but that would be bad because it would cause this extension to not be +// registered at static initialization, and therefore using it would crash. + +template +class ExtensionIdentifier { + public: + typedef TypeTraitsType TypeTraits; + typedef ExtendeeType Extendee; + + ExtensionIdentifier(int number, typename TypeTraits::ConstType default_value) + : number_(number), default_value_(default_value) {} + inline int number() const { return number_; } + typename TypeTraits::ConstType default_value() const { + return default_value_; + } + + private: + const int number_; + typename TypeTraits::ConstType default_value_; +}; + +// ------------------------------------------------------------------- +// Generated accessors + +// This macro should be expanded in the context of a generated type which +// has extensions. +// +// We use "_proto_TypeTraits" as a type name below because "TypeTraits" +// causes problems if the class has a nested message or enum type with that +// name and "_TypeTraits" is technically reserved for the C++ library since +// it starts with an underscore followed by a capital letter. +// +// For similar reason, we use "_field_type" and "_is_packed" as parameter names +// below, so that "field_type" and "is_packed" can be used as field names. +#define GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(CLASSNAME) \ + /* Has, Size, Clear */ \ + template \ + inline bool HasExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const { \ + return _extensions_.Has(id.number()); \ + } \ + \ + template \ + inline void ClearExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \ + _extensions_.ClearExtension(id.number()); \ + } \ + \ + template \ + inline int ExtensionSize( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const { \ + return _extensions_.ExtensionSize(id.number()); \ + } \ + \ + /* Singular accessors */ \ + template \ + inline typename _proto_TypeTraits::Singular::ConstType GetExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const { \ + return _proto_TypeTraits::Get(id.number(), _extensions_, \ + id.default_value()); \ + } \ + \ + template \ + inline typename _proto_TypeTraits::Singular::MutableType MutableExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \ + return _proto_TypeTraits::Mutable(id.number(), _field_type, \ + &_extensions_); \ + } \ + \ + template \ + inline void SetExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ + typename _proto_TypeTraits::Singular::ConstType value) { \ + _proto_TypeTraits::Set(id.number(), _field_type, value, &_extensions_); \ + } \ + \ + template \ + inline void SetAllocatedExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ + typename _proto_TypeTraits::Singular::MutableType value) { \ + _proto_TypeTraits::SetAllocated(id.number(), _field_type, \ + value, &_extensions_); \ + } \ + template \ + inline void UnsafeArenaSetAllocatedExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ + typename _proto_TypeTraits::Singular::MutableType value) { \ + _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type, \ + value, &_extensions_); \ + } \ + template \ + inline typename _proto_TypeTraits::Singular::MutableType ReleaseExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \ + return _proto_TypeTraits::Release(id.number(), _field_type, \ + &_extensions_); \ + } \ + template \ + inline typename _proto_TypeTraits::Singular::MutableType \ + UnsafeArenaReleaseExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \ + return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type, \ + &_extensions_); \ + } \ + \ + /* Repeated accessors */ \ + template \ + inline typename _proto_TypeTraits::Repeated::ConstType GetExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ + int index) const { \ + return _proto_TypeTraits::Get(id.number(), _extensions_, index); \ + } \ + \ + template \ + inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ + int index) { \ + return _proto_TypeTraits::Mutable(id.number(), index, &_extensions_); \ + } \ + \ + template \ + inline void SetExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ + int index, typename _proto_TypeTraits::Repeated::ConstType value) { \ + _proto_TypeTraits::Set(id.number(), index, value, &_extensions_); \ + } \ + \ + template \ + inline typename _proto_TypeTraits::Repeated::MutableType AddExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \ + return _proto_TypeTraits::Add(id.number(), _field_type, &_extensions_); \ + } \ + \ + template \ + inline void AddExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ + typename _proto_TypeTraits::Repeated::ConstType value) { \ + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, \ + value, &_extensions_); \ + } \ + \ + template \ + inline const typename _proto_TypeTraits::Repeated::RepeatedFieldType& \ + GetRepeatedExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, \ + _is_packed>& id) const { \ + return _proto_TypeTraits::GetRepeated(id.number(), _extensions_); \ + } \ + \ + template \ + inline typename _proto_TypeTraits::Repeated::RepeatedFieldType* \ + MutableRepeatedExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, \ + _is_packed>& id) { \ + return _proto_TypeTraits::MutableRepeated(id.number(), _field_type, \ + _is_packed, &_extensions_); \ + } + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_EXTENSION_SET_H__ diff --git a/app/src/main/cpp/include/google/protobuf/field_mask.pb.h b/app/src/main/cpp/include/google/protobuf/field_mask.pb.h new file mode 100644 index 0000000..17cb6bb --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/field_mask.pb.h @@ -0,0 +1,214 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/field_mask.proto + +#ifndef PROTOBUF_google_2fprotobuf_2ffield_5fmask_2eproto__INCLUDED +#define PROTOBUF_google_2fprotobuf_2ffield_5fmask_2eproto__INCLUDED + +#include + +#include + +#if GOOGLE_PROTOBUF_VERSION < 3001000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3001000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) + +namespace google { +namespace protobuf { + +// Internal implementation detail -- do not call these. +void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2ffield_5fmask_2eproto(); +void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2ffield_5fmask_2eproto(); +void protobuf_AssignDesc_google_2fprotobuf_2ffield_5fmask_2eproto(); +void protobuf_ShutdownFile_google_2fprotobuf_2ffield_5fmask_2eproto(); + +class FieldMask; + +// =================================================================== + +class LIBPROTOBUF_EXPORT FieldMask : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.FieldMask) */ { + public: + FieldMask(); + virtual ~FieldMask(); + + FieldMask(const FieldMask& from); + + inline FieldMask& operator=(const FieldMask& from) { + CopyFrom(from); + return *this; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const FieldMask& default_instance(); + + static const FieldMask* internal_default_instance(); + + void Swap(FieldMask* other); + + // implements Message ---------------------------------------------- + + inline FieldMask* New() const { return New(NULL); } + + FieldMask* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const FieldMask& from); + void MergeFrom(const FieldMask& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(FieldMask* other); + void UnsafeMergeFrom(const FieldMask& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // repeated string paths = 1; + int paths_size() const; + void clear_paths(); + static const int kPathsFieldNumber = 1; + const ::std::string& paths(int index) const; + ::std::string* mutable_paths(int index); + void set_paths(int index, const ::std::string& value); + void set_paths(int index, const char* value); + void set_paths(int index, const char* value, size_t size); + ::std::string* add_paths(); + void add_paths(const ::std::string& value); + void add_paths(const char* value); + void add_paths(const char* value, size_t size); + const ::google::protobuf::RepeatedPtrField< ::std::string>& paths() const; + ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_paths(); + + // @@protoc_insertion_point(class_scope:google.protobuf.FieldMask) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::RepeatedPtrField< ::std::string> paths_; + mutable int _cached_size_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2ffield_5fmask_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2ffield_5fmask_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2ffield_5fmask_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2ffield_5fmask_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed FieldMask_default_instance_; + +// =================================================================== + + +// =================================================================== + +#if !PROTOBUF_INLINE_NOT_IN_HEADERS +// FieldMask + +// repeated string paths = 1; +inline int FieldMask::paths_size() const { + return paths_.size(); +} +inline void FieldMask::clear_paths() { + paths_.Clear(); +} +inline const ::std::string& FieldMask::paths(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldMask.paths) + return paths_.Get(index); +} +inline ::std::string* FieldMask::mutable_paths(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.FieldMask.paths) + return paths_.Mutable(index); +} +inline void FieldMask::set_paths(int index, const ::std::string& value) { + // @@protoc_insertion_point(field_set:google.protobuf.FieldMask.paths) + paths_.Mutable(index)->assign(value); +} +inline void FieldMask::set_paths(int index, const char* value) { + paths_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:google.protobuf.FieldMask.paths) +} +inline void FieldMask::set_paths(int index, const char* value, size_t size) { + paths_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.FieldMask.paths) +} +inline ::std::string* FieldMask::add_paths() { + // @@protoc_insertion_point(field_add_mutable:google.protobuf.FieldMask.paths) + return paths_.Add(); +} +inline void FieldMask::add_paths(const ::std::string& value) { + paths_.Add()->assign(value); + // @@protoc_insertion_point(field_add:google.protobuf.FieldMask.paths) +} +inline void FieldMask::add_paths(const char* value) { + paths_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:google.protobuf.FieldMask.paths) +} +inline void FieldMask::add_paths(const char* value, size_t size) { + paths_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:google.protobuf.FieldMask.paths) +} +inline const ::google::protobuf::RepeatedPtrField< ::std::string>& +FieldMask::paths() const { + // @@protoc_insertion_point(field_list:google.protobuf.FieldMask.paths) + return paths_; +} +inline ::google::protobuf::RepeatedPtrField< ::std::string>* +FieldMask::mutable_paths() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.FieldMask.paths) + return &paths_; +} + +inline const FieldMask* FieldMask::internal_default_instance() { + return &FieldMask_default_instance_.get(); +} +#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS + +// @@protoc_insertion_point(namespace_scope) + +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) + +#endif // PROTOBUF_google_2fprotobuf_2ffield_5fmask_2eproto__INCLUDED diff --git a/app/src/main/cpp/include/google/protobuf/field_mask.proto b/app/src/main/cpp/include/google/protobuf/field_mask.proto new file mode 100644 index 0000000..b6d32a7 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/field_mask.proto @@ -0,0 +1,245 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "FieldMaskProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + +// `FieldMask` represents a set of symbolic field paths, for example: +// +// paths: "f.a" +// paths: "f.b.d" +// +// Here `f` represents a field in some root message, `a` and `b` +// fields in the message found in `f`, and `d` a field found in the +// message in `f.b`. +// +// Field masks are used to specify a subset of fields that should be +// returned by a get operation or modified by an update operation. +// Field masks also have a custom JSON encoding (see below). +// +// # Field Masks in Projections +// +// When used in the context of a projection, a response message or +// sub-message is filtered by the API to only contain those fields as +// specified in the mask. For example, if the mask in the previous +// example is applied to a response message as follows: +// +// f { +// a : 22 +// b { +// d : 1 +// x : 2 +// } +// y : 13 +// } +// z: 8 +// +// The result will not contain specific values for fields x,y and z +// (their value will be set to the default, and omitted in proto text +// output): +// +// +// f { +// a : 22 +// b { +// d : 1 +// } +// } +// +// A repeated field is not allowed except at the last position of a +// paths string. +// +// If a FieldMask object is not present in a get operation, the +// operation applies to all fields (as if a FieldMask of all fields +// had been specified). +// +// Note that a field mask does not necessarily apply to the +// top-level response message. In case of a REST get operation, the +// field mask applies directly to the response, but in case of a REST +// list operation, the mask instead applies to each individual message +// in the returned resource list. In case of a REST custom method, +// other definitions may be used. Where the mask applies will be +// clearly documented together with its declaration in the API. In +// any case, the effect on the returned resource/resources is required +// behavior for APIs. +// +// # Field Masks in Update Operations +// +// A field mask in update operations specifies which fields of the +// targeted resource are going to be updated. The API is required +// to only change the values of the fields as specified in the mask +// and leave the others untouched. If a resource is passed in to +// describe the updated values, the API ignores the values of all +// fields not covered by the mask. +// +// If a repeated field is specified for an update operation, the existing +// repeated values in the target resource will be overwritten by the new values. +// Note that a repeated field is only allowed in the last position of a `paths` +// string. +// +// If a sub-message is specified in the last position of the field mask for an +// update operation, then the existing sub-message in the target resource is +// overwritten. Given the target message: +// +// f { +// b { +// d : 1 +// x : 2 +// } +// c : 1 +// } +// +// And an update message: +// +// f { +// b { +// d : 10 +// } +// } +// +// then if the field mask is: +// +// paths: "f.b" +// +// then the result will be: +// +// f { +// b { +// d : 10 +// } +// c : 1 +// } +// +// However, if the update mask was: +// +// paths: "f.b.d" +// +// then the result would be: +// +// f { +// b { +// d : 10 +// x : 2 +// } +// c : 1 +// } +// +// In order to reset a field's value to the default, the field must +// be in the mask and set to the default value in the provided resource. +// Hence, in order to reset all fields of a resource, provide a default +// instance of the resource and set all fields in the mask, or do +// not provide a mask as described below. +// +// If a field mask is not present on update, the operation applies to +// all fields (as if a field mask of all fields has been specified). +// Note that in the presence of schema evolution, this may mean that +// fields the client does not know and has therefore not filled into +// the request will be reset to their default. If this is unwanted +// behavior, a specific service may require a client to always specify +// a field mask, producing an error if not. +// +// As with get operations, the location of the resource which +// describes the updated values in the request message depends on the +// operation kind. In any case, the effect of the field mask is +// required to be honored by the API. +// +// ## Considerations for HTTP REST +// +// The HTTP kind of an update operation which uses a field mask must +// be set to PATCH instead of PUT in order to satisfy HTTP semantics +// (PUT must only be used for full updates). +// +// # JSON Encoding of Field Masks +// +// In JSON, a field mask is encoded as a single string where paths are +// separated by a comma. Fields name in each path are converted +// to/from lower-camel naming conventions. +// +// As an example, consider the following message declarations: +// +// message Profile { +// User user = 1; +// Photo photo = 2; +// } +// message User { +// string display_name = 1; +// string address = 2; +// } +// +// In proto a field mask for `Profile` may look as such: +// +// mask { +// paths: "user.display_name" +// paths: "photo" +// } +// +// In JSON, the same mask is represented as below: +// +// { +// mask: "user.displayName,photo" +// } +// +// # Field Masks and Oneof Fields +// +// Field masks treat fields in oneofs just as regular fields. Consider the +// following message: +// +// message SampleMessage { +// oneof test_oneof { +// string name = 4; +// SubMessage sub_message = 9; +// } +// } +// +// The field mask can be: +// +// mask { +// paths: "name" +// } +// +// Or: +// +// mask { +// paths: "sub_message" +// } +// +// Note that oneof type names ("test_oneof" in this case) cannot be used in +// paths. +message FieldMask { + // The set of field mask paths. + repeated string paths = 1; +} diff --git a/app/src/main/cpp/include/google/protobuf/generated_enum_reflection.h b/app/src/main/cpp/include/google/protobuf/generated_enum_reflection.h new file mode 100644 index 0000000..fdcdc27 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/generated_enum_reflection.h @@ -0,0 +1,88 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: jasonh@google.com (Jason Hsueh) +// +// This header is logically internal, but is made public because it is used +// from protocol-compiler-generated code, which may reside in other components. +// It provides reflection support for generated enums, and is included in +// generated .pb.h files and should have minimal dependencies. The methods are +// implemented in generated_message_reflection.cc. + +#ifndef GOOGLE_PROTOBUF_GENERATED_ENUM_REFLECTION_H__ +#define GOOGLE_PROTOBUF_GENERATED_ENUM_REFLECTION_H__ + +#include + +#include +#include + +namespace google { +namespace protobuf { + class EnumDescriptor; +} // namespace protobuf + +namespace protobuf { + +// Returns the EnumDescriptor for enum type E, which must be a +// proto-declared enum type. Code generated by the protocol compiler +// will include specializations of this template for each enum type declared. +template +const EnumDescriptor* GetEnumDescriptor(); + +namespace internal { + +// Helper for EnumType_Parse functions: try to parse the string 'name' as an +// enum name of the given type, returning true and filling in value on success, +// or returning false and leaving value unchanged on failure. +LIBPROTOBUF_EXPORT bool ParseNamedEnum(const EnumDescriptor* descriptor, + const string& name, + int* value); + +template +bool ParseNamedEnum(const EnumDescriptor* descriptor, + const string& name, + EnumType* value) { + int tmp; + if (!ParseNamedEnum(descriptor, name, &tmp)) return false; + *value = static_cast(tmp); + return true; +} + +// Just a wrapper around printing the name of a value. The main point of this +// function is not to be inlined, so that you can do this without including +// descriptor.h. +LIBPROTOBUF_EXPORT const string& NameOfEnum(const EnumDescriptor* descriptor, int value); + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_GENERATED_ENUM_REFLECTION_H__ diff --git a/app/src/main/cpp/include/google/protobuf/generated_enum_util.h b/app/src/main/cpp/include/google/protobuf/generated_enum_util.h new file mode 100644 index 0000000..e424205 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/generated_enum_util.h @@ -0,0 +1,46 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_GENERATED_ENUM_UTIL_H__ +#define GOOGLE_PROTOBUF_GENERATED_ENUM_UTIL_H__ + +#include + +namespace google { +namespace protobuf { + +// This type trait can be used to cause templates to only match proto2 enum +// types. +template struct is_proto_enum : ::google::protobuf::internal::false_type {}; + +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_GENERATED_ENUM_UTIL_H__ diff --git a/app/src/main/cpp/include/google/protobuf/generated_message_reflection.h b/app/src/main/cpp/include/google/protobuf/generated_message_reflection.h new file mode 100644 index 0000000..1413b11 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/generated_message_reflection.h @@ -0,0 +1,671 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This header is logically internal, but is made public because it is used +// from protocol-compiler-generated code, which may reside in other components. + +#ifndef GOOGLE_PROTOBUF_GENERATED_MESSAGE_REFLECTION_H__ +#define GOOGLE_PROTOBUF_GENERATED_MESSAGE_REFLECTION_H__ + +#include +#include +#include +#include +// TODO(jasonh): Remove this once the compiler change to directly include this +// is released to components. +#include +#include +#include +#include + + +namespace google { +namespace upb { +namespace google_opensource { +class GMR_Handlers; +} // namespace google_opensource +} // namespace upb + +namespace protobuf { +class DescriptorPool; +class MapKey; +class MapValueRef; +} + +namespace protobuf { +namespace internal { +class DefaultEmptyOneof; + +// Defined in this file. +class GeneratedMessageReflection; + +// Defined in other files. +class ExtensionSet; // extension_set.h + +// THIS CLASS IS NOT INTENDED FOR DIRECT USE. It is intended for use +// by generated code. This class is just a big hack that reduces code +// size. +// +// A GeneratedMessageReflection is an implementation of Reflection +// which expects all fields to be backed by simple variables located in +// memory. The locations are given using a base pointer and a set of +// offsets. +// +// It is required that the user represents fields of each type in a standard +// way, so that GeneratedMessageReflection can cast the void* pointer to +// the appropriate type. For primitive fields and string fields, each field +// should be represented using the obvious C++ primitive type. Enums and +// Messages are different: +// - Singular Message fields are stored as a pointer to a Message. These +// should start out NULL, except for in the default instance where they +// should start out pointing to other default instances. +// - Enum fields are stored as an int. This int must always contain +// a valid value, such that EnumDescriptor::FindValueByNumber() would +// not return NULL. +// - Repeated fields are stored as RepeatedFields or RepeatedPtrFields +// of whatever type the individual field would be. Strings and +// Messages use RepeatedPtrFields while everything else uses +// RepeatedFields. +class LIBPROTOBUF_EXPORT GeneratedMessageReflection : public Reflection { + public: + // Constructs a GeneratedMessageReflection. + // Parameters: + // descriptor: The descriptor for the message type being implemented. + // default_instance: The default instance of the message. This is only + // used to obtain pointers to default instances of embedded + // messages, which GetMessage() will return if the particular + // sub-message has not been initialized yet. (Thus, all + // embedded message fields *must* have non-NULL pointers + // in the default instance.) + // offsets: An array of ints giving the byte offsets, relative to + // the start of the message object, of each field. These can + // be computed at compile time using the + // GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET() macro, defined + // below. + // has_bits_offset: Offset in the message of an array of uint32s of size + // descriptor->field_count()/32, rounded up. This is a + // bitfield where each bit indicates whether or not the + // corresponding field of the message has been initialized. + // The bit for field index i is obtained by the expression: + // has_bits[i / 32] & (1 << (i % 32)) + // unknown_fields_offset: Offset in the message of the UnknownFieldSet for + // the message. + // extensions_offset: Offset in the message of the ExtensionSet for the + // message, or -1 if the message type has no extension + // ranges. + // pool: DescriptorPool to search for extension definitions. Only + // used by FindKnownExtensionByName() and + // FindKnownExtensionByNumber(). + // factory: MessageFactory to use to construct extension messages. + // object_size: The size of a message object of this type, as measured + // by sizeof(). + GeneratedMessageReflection(const Descriptor* descriptor, + const Message* default_instance, + const int offsets[], int has_bits_offset, + int unknown_fields_offset, int extensions_offset, + const DescriptorPool* pool, + MessageFactory* factory, int object_size, + int arena_offset); + + // Similar with the construction above. Call this construction if the + // message has oneof definition. + // Parameters: + // offsets: An array of ints giving the byte offsets. + // For each oneof field, the offset is relative to the + // default_oneof_instance. These can be computed at compile + // time using the + // PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET() macro. + // For each none oneof field, the offset is related to + // the start of the message object. These can be computed + // at compile time using the + // GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET() macro. + // Besides offsets for all fields, this array also contains + // offsets for oneof unions. The offset of the i-th oneof + // union is offsets[descriptor->field_count() + i]. + // default_oneof_instance: The default instance of the oneofs. It is a + // struct holding the default value of all oneof fields + // for this message. It is only used to obtain pointers + // to default instances of oneof fields, which Get + // methods will return if the field is not set. + // oneof_case_offset: Offset in the message of an array of uint32s of + // size descriptor->oneof_decl_count(). Each uint32 + // indicates what field is set for each oneof. + // other parameters are the same with the construction above. + GeneratedMessageReflection(const Descriptor* descriptor, + const Message* default_instance, + const int offsets[], int has_bits_offset, + int unknown_fields_offset, int extensions_offset, + const void* default_oneof_instance, + int oneof_case_offset, const DescriptorPool* pool, + MessageFactory* factory, int object_size, + int arena_offset); + ~GeneratedMessageReflection(); + + // Shorter-to-call helpers for the above two constructions that work if the + // pool and factory are the usual, namely, DescriptorPool::generated_pool() + // and MessageFactory::generated_factory(). + + static GeneratedMessageReflection* NewGeneratedMessageReflection( + const Descriptor* descriptor, + const Message* default_instance, + const int offsets[], + int has_bits_offset, + int unknown_fields_offset, + int extensions_offset, + const void* default_oneof_instance, + int oneof_case_offset, + int object_size, + int arena_offset, + int is_default_instance_offset = -1); + + static GeneratedMessageReflection* NewGeneratedMessageReflection( + const Descriptor* descriptor, + const Message* default_instance, + const int offsets[], + int has_bits_offset, + int unknown_fields_offset, + int extensions_offset, + int object_size, + int arena_offset, + int is_default_instance_offset = -1); + + // implements Reflection ------------------------------------------- + + const UnknownFieldSet& GetUnknownFields(const Message& message) const; + UnknownFieldSet* MutableUnknownFields(Message* message) const; + + int SpaceUsed(const Message& message) const; + + bool HasField(const Message& message, const FieldDescriptor* field) const; + int FieldSize(const Message& message, const FieldDescriptor* field) const; + void ClearField(Message* message, const FieldDescriptor* field) const; + bool HasOneof(const Message& message, + const OneofDescriptor* oneof_descriptor) const; + void ClearOneof(Message* message, const OneofDescriptor* field) const; + void RemoveLast(Message* message, const FieldDescriptor* field) const; + Message* ReleaseLast(Message* message, const FieldDescriptor* field) const; + void Swap(Message* message1, Message* message2) const; + void SwapFields(Message* message1, Message* message2, + const std::vector& fields) const; + void SwapElements(Message* message, const FieldDescriptor* field, + int index1, int index2) const; + void ListFields(const Message& message, + std::vector* output) const; + + int32 GetInt32 (const Message& message, + const FieldDescriptor* field) const; + int64 GetInt64 (const Message& message, + const FieldDescriptor* field) const; + uint32 GetUInt32(const Message& message, + const FieldDescriptor* field) const; + uint64 GetUInt64(const Message& message, + const FieldDescriptor* field) const; + float GetFloat (const Message& message, + const FieldDescriptor* field) const; + double GetDouble(const Message& message, + const FieldDescriptor* field) const; + bool GetBool (const Message& message, + const FieldDescriptor* field) const; + string GetString(const Message& message, + const FieldDescriptor* field) const; + const string& GetStringReference(const Message& message, + const FieldDescriptor* field, + string* scratch) const; + const EnumValueDescriptor* GetEnum(const Message& message, + const FieldDescriptor* field) const; + int GetEnumValue(const Message& message, + const FieldDescriptor* field) const; + const Message& GetMessage(const Message& message, + const FieldDescriptor* field, + MessageFactory* factory = NULL) const; + + const FieldDescriptor* GetOneofFieldDescriptor( + const Message& message, + const OneofDescriptor* oneof_descriptor) const; + + private: + bool ContainsMapKey(const Message& message, + const FieldDescriptor* field, + const MapKey& key) const; + bool InsertOrLookupMapValue(Message* message, + const FieldDescriptor* field, + const MapKey& key, + MapValueRef* val) const; + bool DeleteMapValue(Message* message, + const FieldDescriptor* field, + const MapKey& key) const; + MapIterator MapBegin( + Message* message, + const FieldDescriptor* field) const; + MapIterator MapEnd( + Message* message, + const FieldDescriptor* field) const; + int MapSize(const Message& message, const FieldDescriptor* field) const; + + public: + void SetInt32 (Message* message, + const FieldDescriptor* field, int32 value) const; + void SetInt64 (Message* message, + const FieldDescriptor* field, int64 value) const; + void SetUInt32(Message* message, + const FieldDescriptor* field, uint32 value) const; + void SetUInt64(Message* message, + const FieldDescriptor* field, uint64 value) const; + void SetFloat (Message* message, + const FieldDescriptor* field, float value) const; + void SetDouble(Message* message, + const FieldDescriptor* field, double value) const; + void SetBool (Message* message, + const FieldDescriptor* field, bool value) const; + void SetString(Message* message, + const FieldDescriptor* field, + const string& value) const; + void SetEnum (Message* message, const FieldDescriptor* field, + const EnumValueDescriptor* value) const; + void SetEnumValue(Message* message, const FieldDescriptor* field, + int value) const; + Message* MutableMessage(Message* message, const FieldDescriptor* field, + MessageFactory* factory = NULL) const; + void SetAllocatedMessage(Message* message, + Message* sub_message, + const FieldDescriptor* field) const; + Message* ReleaseMessage(Message* message, const FieldDescriptor* field, + MessageFactory* factory = NULL) const; + + int32 GetRepeatedInt32 (const Message& message, + const FieldDescriptor* field, int index) const; + int64 GetRepeatedInt64 (const Message& message, + const FieldDescriptor* field, int index) const; + uint32 GetRepeatedUInt32(const Message& message, + const FieldDescriptor* field, int index) const; + uint64 GetRepeatedUInt64(const Message& message, + const FieldDescriptor* field, int index) const; + float GetRepeatedFloat (const Message& message, + const FieldDescriptor* field, int index) const; + double GetRepeatedDouble(const Message& message, + const FieldDescriptor* field, int index) const; + bool GetRepeatedBool (const Message& message, + const FieldDescriptor* field, int index) const; + string GetRepeatedString(const Message& message, + const FieldDescriptor* field, int index) const; + const string& GetRepeatedStringReference(const Message& message, + const FieldDescriptor* field, + int index, string* scratch) const; + const EnumValueDescriptor* GetRepeatedEnum(const Message& message, + const FieldDescriptor* field, + int index) const; + int GetRepeatedEnumValue(const Message& message, + const FieldDescriptor* field, + int index) const; + const Message& GetRepeatedMessage(const Message& message, + const FieldDescriptor* field, + int index) const; + + // Set the value of a field. + void SetRepeatedInt32 (Message* message, + const FieldDescriptor* field, int index, int32 value) const; + void SetRepeatedInt64 (Message* message, + const FieldDescriptor* field, int index, int64 value) const; + void SetRepeatedUInt32(Message* message, + const FieldDescriptor* field, int index, uint32 value) const; + void SetRepeatedUInt64(Message* message, + const FieldDescriptor* field, int index, uint64 value) const; + void SetRepeatedFloat (Message* message, + const FieldDescriptor* field, int index, float value) const; + void SetRepeatedDouble(Message* message, + const FieldDescriptor* field, int index, double value) const; + void SetRepeatedBool (Message* message, + const FieldDescriptor* field, int index, bool value) const; + void SetRepeatedString(Message* message, + const FieldDescriptor* field, int index, + const string& value) const; + void SetRepeatedEnum(Message* message, const FieldDescriptor* field, + int index, const EnumValueDescriptor* value) const; + void SetRepeatedEnumValue(Message* message, const FieldDescriptor* field, + int index, int value) const; + // Get a mutable pointer to a field with a message type. + Message* MutableRepeatedMessage(Message* message, + const FieldDescriptor* field, + int index) const; + + void AddInt32 (Message* message, + const FieldDescriptor* field, int32 value) const; + void AddInt64 (Message* message, + const FieldDescriptor* field, int64 value) const; + void AddUInt32(Message* message, + const FieldDescriptor* field, uint32 value) const; + void AddUInt64(Message* message, + const FieldDescriptor* field, uint64 value) const; + void AddFloat (Message* message, + const FieldDescriptor* field, float value) const; + void AddDouble(Message* message, + const FieldDescriptor* field, double value) const; + void AddBool (Message* message, + const FieldDescriptor* field, bool value) const; + void AddString(Message* message, + const FieldDescriptor* field, const string& value) const; + void AddEnum(Message* message, + const FieldDescriptor* field, + const EnumValueDescriptor* value) const; + void AddEnumValue(Message* message, + const FieldDescriptor* field, + int value) const; + Message* AddMessage(Message* message, const FieldDescriptor* field, + MessageFactory* factory = NULL) const; + void AddAllocatedMessage( + Message* message, const FieldDescriptor* field, + Message* new_entry) const; + + const FieldDescriptor* FindKnownExtensionByName(const string& name) const; + const FieldDescriptor* FindKnownExtensionByNumber(int number) const; + + bool SupportsUnknownEnumValues() const; + + // This value for arena_offset_ indicates that there is no arena pointer in + // this message (e.g., old generated code). + static const int kNoArenaPointer = -1; + + // This value for unknown_field_offset_ indicates that there is no + // UnknownFieldSet in this message, and that instead, we are using the + // Zero-Overhead Arena Pointer trick. When this is the case, arena_offset_ + // actually indexes to an InternalMetadataWithArena instance, which can return + // either an arena pointer or an UnknownFieldSet or both. It is never the case + // that unknown_field_offset_ == kUnknownFieldSetInMetadata && arena_offset_ + // == kNoArenaPointer. + static const int kUnknownFieldSetInMetadata = -1; + + protected: + void* MutableRawRepeatedField( + Message* message, const FieldDescriptor* field, FieldDescriptor::CppType, + int ctype, const Descriptor* desc) const; + + const void* GetRawRepeatedField( + const Message& message, const FieldDescriptor* field, + FieldDescriptor::CppType, int ctype, + const Descriptor* desc) const; + + virtual MessageFactory* GetMessageFactory() const; + + virtual void* RepeatedFieldData( + Message* message, const FieldDescriptor* field, + FieldDescriptor::CppType cpp_type, + const Descriptor* message_type) const; + + private: + friend class GeneratedMessage; + + // To parse directly into a proto2 generated class, the class GMR_Handlers + // needs access to member offsets and hasbits. + friend class upb::google_opensource::GMR_Handlers; + + const Descriptor* descriptor_; + const Message* default_instance_; + const void* default_oneof_instance_; + const int* offsets_; + + int has_bits_offset_; + int oneof_case_offset_; + int unknown_fields_offset_; + int extensions_offset_; + int arena_offset_; + int object_size_; + + const DescriptorPool* descriptor_pool_; + MessageFactory* message_factory_; + + template + inline const Type& GetRaw(const Message& message, + const FieldDescriptor* field) const; + template + inline Type* MutableRaw(Message* message, + const FieldDescriptor* field) const; + template + inline const Type& DefaultRaw(const FieldDescriptor* field) const; + template + inline const Type& DefaultOneofRaw(const FieldDescriptor* field) const; + + inline const uint32* GetHasBits(const Message& message) const; + inline uint32* MutableHasBits(Message* message) const; + inline uint32 GetOneofCase( + const Message& message, + const OneofDescriptor* oneof_descriptor) const; + inline uint32* MutableOneofCase( + Message* message, + const OneofDescriptor* oneof_descriptor) const; + inline const ExtensionSet& GetExtensionSet(const Message& message) const; + inline ExtensionSet* MutableExtensionSet(Message* message) const; + inline Arena* GetArena(Message* message) const; + inline const internal::InternalMetadataWithArena& + GetInternalMetadataWithArena(const Message& message) const; + inline internal::InternalMetadataWithArena* + MutableInternalMetadataWithArena(Message* message) const; + + inline bool GetIsDefaultInstance(const Message& message) const; + + inline bool HasBit(const Message& message, + const FieldDescriptor* field) const; + inline void SetBit(Message* message, + const FieldDescriptor* field) const; + inline void ClearBit(Message* message, + const FieldDescriptor* field) const; + inline void SwapBit(Message* message1, + Message* message2, + const FieldDescriptor* field) const; + + // This function only swaps the field. Should swap corresponding has_bit + // before or after using this function. + void SwapField(Message* message1, + Message* message2, + const FieldDescriptor* field) const; + + void SwapOneofField(Message* message1, + Message* message2, + const OneofDescriptor* oneof_descriptor) const; + + inline bool HasOneofField(const Message& message, + const FieldDescriptor* field) const; + inline void SetOneofCase(Message* message, + const FieldDescriptor* field) const; + inline void ClearOneofField(Message* message, + const FieldDescriptor* field) const; + + template + inline const Type& GetField(const Message& message, + const FieldDescriptor* field) const; + template + inline void SetField(Message* message, + const FieldDescriptor* field, const Type& value) const; + template + inline Type* MutableField(Message* message, + const FieldDescriptor* field) const; + template + inline const Type& GetRepeatedField(const Message& message, + const FieldDescriptor* field, + int index) const; + template + inline const Type& GetRepeatedPtrField(const Message& message, + const FieldDescriptor* field, + int index) const; + template + inline void SetRepeatedField(Message* message, + const FieldDescriptor* field, int index, + Type value) const; + template + inline Type* MutableRepeatedField(Message* message, + const FieldDescriptor* field, + int index) const; + template + inline void AddField(Message* message, + const FieldDescriptor* field, const Type& value) const; + template + inline Type* AddField(Message* message, + const FieldDescriptor* field) const; + + int GetExtensionNumberOrDie(const Descriptor* type) const; + + // Internal versions of EnumValue API perform no checking. Called after checks + // by public methods. + void SetEnumValueInternal(Message* message, + const FieldDescriptor* field, + int value) const; + void SetRepeatedEnumValueInternal(Message* message, + const FieldDescriptor* field, + int index, + int value) const; + void AddEnumValueInternal(Message* message, + const FieldDescriptor* field, + int value) const; + + + Message* UnsafeArenaReleaseMessage(Message* message, + const FieldDescriptor* field, + MessageFactory* factory = NULL) const; + + void UnsafeArenaSetAllocatedMessage(Message* message, + Message* sub_message, + const FieldDescriptor* field) const; + + internal::MapFieldBase* MapData( + Message* message, const FieldDescriptor* field) const; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(GeneratedMessageReflection); +}; + +// Returns the offset of the given field within the given aggregate type. +// This is equivalent to the ANSI C offsetof() macro. However, according +// to the C++ standard, offsetof() only works on POD types, and GCC +// enforces this requirement with a warning. In practice, this rule is +// unnecessarily strict; there is probably no compiler or platform on +// which the offsets of the direct fields of a class are non-constant. +// Fields inherited from superclasses *can* have non-constant offsets, +// but that's not what this macro will be used for. +#if defined(__clang__) +// For Clang we use __builtin_offsetof() and suppress the warning, +// to avoid Control Flow Integrity and UBSan vptr sanitizers from +// crashing while trying to validate the invalid reinterpet_casts. +#define GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TYPE, FIELD) \ + _Pragma("clang diagnostic push") \ + _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \ + __builtin_offsetof(TYPE, FIELD) \ + _Pragma("clang diagnostic pop") +#else +// Note that we calculate relative to the pointer value 16 here since if we +// just use zero, GCC complains about dereferencing a NULL pointer. We +// choose 16 rather than some other number just in case the compiler would +// be confused by an unaligned pointer. +#define GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TYPE, FIELD) \ + static_cast( \ + reinterpret_cast( \ + &reinterpret_cast(16)->FIELD) - \ + reinterpret_cast(16)) +#endif + +#define PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(ONEOF, FIELD) \ + static_cast( \ + reinterpret_cast(&(ONEOF->FIELD)) \ + - reinterpret_cast(ONEOF)) + +// There are some places in proto2 where dynamic_cast would be useful as an +// optimization. For example, take Message::MergeFrom(const Message& other). +// For a given generated message FooMessage, we generate these two methods: +// void MergeFrom(const FooMessage& other); +// void MergeFrom(const Message& other); +// The former method can be implemented directly in terms of FooMessage's +// inline accessors, but the latter method must work with the reflection +// interface. However, if the parameter to the latter method is actually of +// type FooMessage, then we'd like to be able to just call the other method +// as an optimization. So, we use dynamic_cast to check this. +// +// That said, dynamic_cast requires RTTI, which many people like to disable +// for performance and code size reasons. When RTTI is not available, we +// still need to produce correct results. So, in this case we have to fall +// back to using reflection, which is what we would have done anyway if the +// objects were not of the exact same class. +// +// dynamic_cast_if_available() implements this logic. If RTTI is +// enabled, it does a dynamic_cast. If RTTI is disabled, it just returns +// NULL. +// +// If you need to compile without RTTI, simply #define GOOGLE_PROTOBUF_NO_RTTI. +// On MSVC, this should be detected automatically. +template +inline To dynamic_cast_if_available(From from) { +#if defined(GOOGLE_PROTOBUF_NO_RTTI) || (defined(_MSC_VER)&&!defined(_CPPRTTI)) + return NULL; +#else + return dynamic_cast(from); +#endif +} + +// Tries to downcast this message to a generated message type. +// Returns NULL if this class is not an instance of T. +// +// This is like dynamic_cast_if_available, except it works even when +// dynamic_cast is not available by using Reflection. However it only works +// with Message objects. +// +// TODO(haberman): can we remove dynamic_cast_if_available in favor of this? +template +T* DynamicCastToGenerated(const Message* from) { + // Compile-time assert that T is a generated type that has a + // default_instance() accessor, but avoid actually calling it. + const T&(*get_default_instance)() = &T::default_instance; + (void)get_default_instance; + + // Compile-time assert that T is a subclass of google::protobuf::Message. + const Message* unused = static_cast(NULL); + (void)unused; + +#if defined(GOOGLE_PROTOBUF_NO_RTTI) || \ + (defined(_MSC_VER) && !defined(_CPPRTTI)) + bool ok = &T::default_instance() == + from->GetReflection()->GetMessageFactory()->GetPrototype( + from->GetDescriptor()); + return ok ? down_cast(from) : NULL; +#else + return dynamic_cast(from); +#endif +} + +template +T* DynamicCastToGenerated(Message* from) { + const Message* message_const = from; + return const_cast(DynamicCastToGenerated(message_const)); +} + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_GENERATED_MESSAGE_REFLECTION_H__ diff --git a/app/src/main/cpp/include/google/protobuf/generated_message_util.h b/app/src/main/cpp/include/google/protobuf/generated_message_util.h new file mode 100644 index 0000000..8dc64c4 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/generated_message_util.h @@ -0,0 +1,169 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This file contains miscellaneous helper code used by generated code -- +// including lite types -- but which should not be used directly by users. + +#ifndef GOOGLE_PROTOBUF_GENERATED_MESSAGE_UTIL_H__ +#define GOOGLE_PROTOBUF_GENERATED_MESSAGE_UTIL_H__ + +#include +#include + +#include +#include +#include + +namespace google { + +namespace protobuf { + +class Arena; +namespace io { class CodedInputStream; } + +namespace internal { + + +// Annotation for the compiler to emit a deprecation message if a field marked +// with option 'deprecated=true' is used in the code, or for other things in +// generated code which are deprecated. +// +// For internal use in the pb.cc files, deprecation warnings are suppressed +// there. +#undef DEPRECATED_PROTOBUF_FIELD +#define PROTOBUF_DEPRECATED + +#define GOOGLE_PROTOBUF_DEPRECATED_ATTR + + +// Constants for special floating point values. +LIBPROTOBUF_EXPORT double Infinity(); +LIBPROTOBUF_EXPORT double NaN(); + +// This type is used to define a global variable, without it's constructor +// and destructor run on start and end of the program lifetime. This circumvents +// the initial construction order fiasco, while keeping the address of the +// empty string a compile time constant. +template +class ExplicitlyConstructed { + public: + void DefaultConstruct() { + new (&union_) T(); + init_ = true; + } + + bool IsInitialized() { return init_; } + void Shutdown() { + if (init_) { + init_ = false; + get_mutable()->~T(); + } + } + + const T& get() const { return reinterpret_cast(union_); } + T* get_mutable() { return reinterpret_cast(&union_); } + + private: + // Prefer c++14 aligned_storage, but for compatibility this will do. + union AlignedUnion { + char space[sizeof(T)]; + int64 align_to_int64; + void* align_to_ptr; + } union_; + bool init_; // false by linker +}; + +// TODO(jieluo): Change to template. We have tried to use template, +// but it causes net/rpc/python:rpcutil_test fail (the empty string will +// init twice). It may related to swig. Change to template after we +// found the solution. + +// Default empty string object. Don't use this directly. Instead, call +// GetEmptyString() to get the reference. +extern ExplicitlyConstructed< ::std::string> fixed_address_empty_string; +LIBPROTOBUF_EXPORT extern ProtobufOnceType empty_string_once_init_; +LIBPROTOBUF_EXPORT void InitEmptyString(); + + +LIBPROTOBUF_EXPORT inline const ::std::string& GetEmptyStringAlreadyInited() { + return fixed_address_empty_string.get(); +} + +LIBPROTOBUF_EXPORT inline const ::std::string& GetEmptyString() { + ::google::protobuf::GoogleOnceInit(&empty_string_once_init_, &InitEmptyString); + return GetEmptyStringAlreadyInited(); +} + +LIBPROTOBUF_EXPORT int StringSpaceUsedExcludingSelf(const string& str); + + +// True if IsInitialized() is true for all elements of t. Type is expected +// to be a RepeatedPtrField. It's useful to have this +// helper here to keep the protobuf compiler from ever having to emit loops in +// IsInitialized() methods. We want the C++ compiler to inline this or not +// as it sees fit. +template bool AllAreInitialized(const Type& t) { + for (int i = t.size(); --i >= 0; ) { + if (!t.Get(i).IsInitialized()) return false; + } + return true; +} + +// Helper function to crash on merge failure. +// Moved out of generated code to reduce binary size. +LIBPROTOBUF_EXPORT void MergeFromFail(const char* file, int line) GOOGLE_ATTRIBUTE_NORETURN; + +// We compute sizes as size_t but cache them as int. This function converts a +// computed size to a cached size. Since we don't proceed with serialization if +// the total size was > INT_MAX, it is not important what this function returns +// for inputs > INT_MAX. +inline int ToCachedSize(size_t size) { + return static_cast(size); +} + +// We mainly calculate sizes in terms of size_t, but some functions that compute +// sizes return "int". These int sizes are expected to always be positive. +// This function is more efficient than casting an int to size_t directly on +// 64-bit platforms because it avoids making the compiler emit a sign extending +// instruction, which we don't want and don't want to pay for. +inline size_t FromIntSize(int size) { + // Convert to unsigned before widening so sign extension is not necessary. + return static_cast(size); +} + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_GENERATED_MESSAGE_UTIL_H__ diff --git a/app/src/main/cpp/include/google/protobuf/has_bits.h b/app/src/main/cpp/include/google/protobuf/has_bits.h new file mode 100644 index 0000000..133bc02 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/has_bits.h @@ -0,0 +1,72 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_HAS_BITS_H__ +#define GOOGLE_PROTOBUF_HAS_BITS_H__ + +#include + +namespace google { +namespace protobuf { +namespace internal { + +template +class HasBits { + public: + HasBits() GOOGLE_ATTRIBUTE_ALWAYS_INLINE { Clear(); } + + void Clear() GOOGLE_ATTRIBUTE_ALWAYS_INLINE { + memset(has_bits_, 0, sizeof(has_bits_)); + } + + ::google::protobuf::uint32& operator[](int index) GOOGLE_ATTRIBUTE_ALWAYS_INLINE { + return has_bits_[index]; + } + + const ::google::protobuf::uint32& operator[](int index) const GOOGLE_ATTRIBUTE_ALWAYS_INLINE { + return has_bits_[index]; + } + + bool operator==(const HasBits& rhs) const { + return memcmp(has_bits_, rhs.has_bits_, sizeof(has_bits_)) == 0; + } + + bool operator!=(const HasBits& rhs) const { + return !(*this == rhs); + } + private: + ::google::protobuf::uint32 has_bits_[doublewords]; +}; + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_HAS_BITS_H__ diff --git a/app/src/main/cpp/include/google/protobuf/map.h b/app/src/main/cpp/include/google/protobuf/map.h new file mode 100644 index 0000000..2d29551 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/map.h @@ -0,0 +1,1749 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file defines the map container and its helpers to support protobuf maps. +// +// The Map and MapIterator types are provided by this header file. +// Please avoid using other types defined here, unless they are public +// types within Map or MapIterator, such as Map::value_type. + +#ifndef GOOGLE_PROTOBUF_MAP_H__ +#define GOOGLE_PROTOBUF_MAP_H__ + +#include +#include +#include // To support Visual Studio 2008 +#include +#include + +#include +#include +#include +#include +#include +#include +#if __cpp_exceptions && LANG_CXX11 +#include +#endif + +namespace google { +namespace protobuf { + +template +class Map; + +class MapIterator; + +template struct is_proto_enum; + +namespace internal { +template +class MapFieldLite; + +template +class MapField; + +template +class TypeDefinedMapFieldBase; + +class DynamicMapField; + +class GeneratedMessageReflection; +} // namespace internal + +#define TYPE_CHECK(EXPECTEDTYPE, METHOD) \ + if (type() != EXPECTEDTYPE) { \ + GOOGLE_LOG(FATAL) \ + << "Protocol Buffer map usage error:\n" \ + << METHOD << " type does not match\n" \ + << " Expected : " \ + << FieldDescriptor::CppTypeName(EXPECTEDTYPE) << "\n" \ + << " Actual : " \ + << FieldDescriptor::CppTypeName(type()); \ + } + +// MapKey is an union type for representing any possible +// map key. +class LIBPROTOBUF_EXPORT MapKey { + public: + MapKey() : type_(0) { + } + MapKey(const MapKey& other) : type_(0) { + CopyFrom(other); + } + + ~MapKey() { + if (type_ == FieldDescriptor::CPPTYPE_STRING) { + delete val_.string_value_; + } + } + + FieldDescriptor::CppType type() const { + if (type_ == 0) { + GOOGLE_LOG(FATAL) + << "Protocol Buffer map usage error:\n" + << "MapKey::type MapKey is not initialized. " + << "Call set methods to initialize MapKey."; + } + return (FieldDescriptor::CppType)type_; + } + + void SetInt64Value(int64 value) { + SetType(FieldDescriptor::CPPTYPE_INT64); + val_.int64_value_ = value; + } + void SetUInt64Value(uint64 value) { + SetType(FieldDescriptor::CPPTYPE_UINT64); + val_.uint64_value_ = value; + } + void SetInt32Value(int32 value) { + SetType(FieldDescriptor::CPPTYPE_INT32); + val_.int32_value_ = value; + } + void SetUInt32Value(uint32 value) { + SetType(FieldDescriptor::CPPTYPE_UINT32); + val_.uint32_value_ = value; + } + void SetBoolValue(bool value) { + SetType(FieldDescriptor::CPPTYPE_BOOL); + val_.bool_value_ = value; + } + void SetStringValue(const string& val) { + SetType(FieldDescriptor::CPPTYPE_STRING); + *val_.string_value_ = val; + } + + int64 GetInt64Value() const { + TYPE_CHECK(FieldDescriptor::CPPTYPE_INT64, + "MapKey::GetInt64Value"); + return val_.int64_value_; + } + uint64 GetUInt64Value() const { + TYPE_CHECK(FieldDescriptor::CPPTYPE_UINT64, + "MapKey::GetUInt64Value"); + return val_.uint64_value_; + } + int32 GetInt32Value() const { + TYPE_CHECK(FieldDescriptor::CPPTYPE_INT32, + "MapKey::GetInt32Value"); + return val_.int32_value_; + } + uint32 GetUInt32Value() const { + TYPE_CHECK(FieldDescriptor::CPPTYPE_UINT32, + "MapKey::GetUInt32Value"); + return val_.uint32_value_; + } + bool GetBoolValue() const { + TYPE_CHECK(FieldDescriptor::CPPTYPE_BOOL, + "MapKey::GetBoolValue"); + return val_.bool_value_; + } + const string& GetStringValue() const { + TYPE_CHECK(FieldDescriptor::CPPTYPE_STRING, + "MapKey::GetStringValue"); + return *val_.string_value_; + } + + bool operator<(const MapKey& other) const { + if (type_ != other.type_) { + // We could define a total order that handles this case, but + // there currently no need. So, for now, fail. + GOOGLE_LOG(FATAL) << "Unsupported: type mismatch"; + } + switch (type()) { + case FieldDescriptor::CPPTYPE_DOUBLE: + case FieldDescriptor::CPPTYPE_FLOAT: + case FieldDescriptor::CPPTYPE_ENUM: + case FieldDescriptor::CPPTYPE_MESSAGE: + GOOGLE_LOG(FATAL) << "Unsupported"; + return false; + case FieldDescriptor::CPPTYPE_STRING: + return *val_.string_value_ < *other.val_.string_value_; + case FieldDescriptor::CPPTYPE_INT64: + return val_.int64_value_ < other.val_.int64_value_; + case FieldDescriptor::CPPTYPE_INT32: + return val_.int32_value_ < other.val_.int32_value_; + case FieldDescriptor::CPPTYPE_UINT64: + return val_.uint64_value_ < other.val_.uint64_value_; + case FieldDescriptor::CPPTYPE_UINT32: + return val_.uint32_value_ < other.val_.uint32_value_; + case FieldDescriptor::CPPTYPE_BOOL: + return val_.bool_value_ < other.val_.bool_value_; + } + return false; + } + + bool operator==(const MapKey& other) const { + if (type_ != other.type_) { + // To be consistent with operator<, we don't allow this either. + GOOGLE_LOG(FATAL) << "Unsupported: type mismatch"; + } + switch (type()) { + case FieldDescriptor::CPPTYPE_DOUBLE: + case FieldDescriptor::CPPTYPE_FLOAT: + case FieldDescriptor::CPPTYPE_ENUM: + case FieldDescriptor::CPPTYPE_MESSAGE: + GOOGLE_LOG(FATAL) << "Unsupported"; + break; + case FieldDescriptor::CPPTYPE_STRING: + return *val_.string_value_ == *other.val_.string_value_; + case FieldDescriptor::CPPTYPE_INT64: + return val_.int64_value_ == other.val_.int64_value_; + case FieldDescriptor::CPPTYPE_INT32: + return val_.int32_value_ == other.val_.int32_value_; + case FieldDescriptor::CPPTYPE_UINT64: + return val_.uint64_value_ == other.val_.uint64_value_; + case FieldDescriptor::CPPTYPE_UINT32: + return val_.uint32_value_ == other.val_.uint32_value_; + case FieldDescriptor::CPPTYPE_BOOL: + return val_.bool_value_ == other.val_.bool_value_; + } + GOOGLE_LOG(FATAL) << "Can't get here."; + return false; + } + + void CopyFrom(const MapKey& other) { + SetType(other.type()); + switch (type_) { + case FieldDescriptor::CPPTYPE_DOUBLE: + case FieldDescriptor::CPPTYPE_FLOAT: + case FieldDescriptor::CPPTYPE_ENUM: + case FieldDescriptor::CPPTYPE_MESSAGE: + GOOGLE_LOG(FATAL) << "Unsupported"; + break; + case FieldDescriptor::CPPTYPE_STRING: + *val_.string_value_ = *other.val_.string_value_; + break; + case FieldDescriptor::CPPTYPE_INT64: + val_.int64_value_ = other.val_.int64_value_; + break; + case FieldDescriptor::CPPTYPE_INT32: + val_.int32_value_ = other.val_.int32_value_; + break; + case FieldDescriptor::CPPTYPE_UINT64: + val_.uint64_value_ = other.val_.uint64_value_; + break; + case FieldDescriptor::CPPTYPE_UINT32: + val_.uint32_value_ = other.val_.uint32_value_; + break; + case FieldDescriptor::CPPTYPE_BOOL: + val_.bool_value_ = other.val_.bool_value_; + break; + } + } + + private: + template + friend class internal::TypeDefinedMapFieldBase; + friend class MapIterator; + friend class internal::DynamicMapField; + + union KeyValue { + KeyValue() {} + string* string_value_; + int64 int64_value_; + int32 int32_value_; + uint64 uint64_value_; + uint32 uint32_value_; + bool bool_value_; + } val_; + + void SetType(FieldDescriptor::CppType type) { + if (type_ == type) return; + if (type_ == FieldDescriptor::CPPTYPE_STRING) { + delete val_.string_value_; + } + type_ = type; + if (type_ == FieldDescriptor::CPPTYPE_STRING) { + val_.string_value_ = new string; + } + } + + // type_ is 0 or a valid FieldDescriptor::CppType. + int type_; +}; + +// MapValueRef points to a map value. +class LIBPROTOBUF_EXPORT MapValueRef { + public: + MapValueRef() : data_(NULL), type_(0) {} + + void SetInt64Value(int64 value) { + TYPE_CHECK(FieldDescriptor::CPPTYPE_INT64, + "MapValueRef::SetInt64Value"); + *reinterpret_cast(data_) = value; + } + void SetUInt64Value(uint64 value) { + TYPE_CHECK(FieldDescriptor::CPPTYPE_UINT64, + "MapValueRef::SetUInt64Value"); + *reinterpret_cast(data_) = value; + } + void SetInt32Value(int32 value) { + TYPE_CHECK(FieldDescriptor::CPPTYPE_INT32, + "MapValueRef::SetInt32Value"); + *reinterpret_cast(data_) = value; + } + void SetUInt32Value(uint32 value) { + TYPE_CHECK(FieldDescriptor::CPPTYPE_UINT32, + "MapValueRef::SetUInt32Value"); + *reinterpret_cast(data_) = value; + } + void SetBoolValue(bool value) { + TYPE_CHECK(FieldDescriptor::CPPTYPE_BOOL, + "MapValueRef::SetBoolValue"); + *reinterpret_cast(data_) = value; + } + // TODO(jieluo) - Checks that enum is member. + void SetEnumValue(int value) { + TYPE_CHECK(FieldDescriptor::CPPTYPE_ENUM, + "MapValueRef::SetEnumValue"); + *reinterpret_cast(data_) = value; + } + void SetStringValue(const string& value) { + TYPE_CHECK(FieldDescriptor::CPPTYPE_STRING, + "MapValueRef::SetStringValue"); + *reinterpret_cast(data_) = value; + } + void SetFloatValue(float value) { + TYPE_CHECK(FieldDescriptor::CPPTYPE_FLOAT, + "MapValueRef::SetFloatValue"); + *reinterpret_cast(data_) = value; + } + void SetDoubleValue(double value) { + TYPE_CHECK(FieldDescriptor::CPPTYPE_DOUBLE, + "MapValueRef::SetDoubleValue"); + *reinterpret_cast(data_) = value; + } + + int64 GetInt64Value() const { + TYPE_CHECK(FieldDescriptor::CPPTYPE_INT64, + "MapValueRef::GetInt64Value"); + return *reinterpret_cast(data_); + } + uint64 GetUInt64Value() const { + TYPE_CHECK(FieldDescriptor::CPPTYPE_UINT64, + "MapValueRef::GetUInt64Value"); + return *reinterpret_cast(data_); + } + int32 GetInt32Value() const { + TYPE_CHECK(FieldDescriptor::CPPTYPE_INT32, + "MapValueRef::GetInt32Value"); + return *reinterpret_cast(data_); + } + uint32 GetUInt32Value() const { + TYPE_CHECK(FieldDescriptor::CPPTYPE_UINT32, + "MapValueRef::GetUInt32Value"); + return *reinterpret_cast(data_); + } + bool GetBoolValue() const { + TYPE_CHECK(FieldDescriptor::CPPTYPE_BOOL, + "MapValueRef::GetBoolValue"); + return *reinterpret_cast(data_); + } + int GetEnumValue() const { + TYPE_CHECK(FieldDescriptor::CPPTYPE_ENUM, + "MapValueRef::GetEnumValue"); + return *reinterpret_cast(data_); + } + const string& GetStringValue() const { + TYPE_CHECK(FieldDescriptor::CPPTYPE_STRING, + "MapValueRef::GetStringValue"); + return *reinterpret_cast(data_); + } + float GetFloatValue() const { + TYPE_CHECK(FieldDescriptor::CPPTYPE_FLOAT, + "MapValueRef::GetFloatValue"); + return *reinterpret_cast(data_); + } + double GetDoubleValue() const { + TYPE_CHECK(FieldDescriptor::CPPTYPE_DOUBLE, + "MapValueRef::GetDoubleValue"); + return *reinterpret_cast(data_); + } + + const Message& GetMessageValue() const { + TYPE_CHECK(FieldDescriptor::CPPTYPE_MESSAGE, + "MapValueRef::GetMessageValue"); + return *reinterpret_cast(data_); + } + + Message* MutableMessageValue() { + TYPE_CHECK(FieldDescriptor::CPPTYPE_MESSAGE, + "MapValueRef::MutableMessageValue"); + return reinterpret_cast(data_); + } + + private: + template + friend class internal::MapField; + template + friend class internal::TypeDefinedMapFieldBase; + friend class MapIterator; + friend class internal::GeneratedMessageReflection; + friend class internal::DynamicMapField; + + void SetType(FieldDescriptor::CppType type) { + type_ = type; + } + + FieldDescriptor::CppType type() const { + if (type_ == 0 || data_ == NULL) { + GOOGLE_LOG(FATAL) + << "Protocol Buffer map usage error:\n" + << "MapValueRef::type MapValueRef is not initialized."; + } + return (FieldDescriptor::CppType)type_; + } + void SetValue(const void* val) { + data_ = const_cast(val); + } + void CopyFrom(const MapValueRef& other) { + type_ = other.type_; + data_ = other.data_; + } + // Only used in DynamicMapField + void DeleteData() { + switch (type_) { +#define HANDLE_TYPE(CPPTYPE, TYPE) \ + case google::protobuf::FieldDescriptor::CPPTYPE_##CPPTYPE: { \ + delete reinterpret_cast(data_); \ + break; \ + } + HANDLE_TYPE(INT32, int32); + HANDLE_TYPE(INT64, int64); + HANDLE_TYPE(UINT32, uint32); + HANDLE_TYPE(UINT64, uint64); + HANDLE_TYPE(DOUBLE, double); + HANDLE_TYPE(FLOAT, float); + HANDLE_TYPE(BOOL, bool); + HANDLE_TYPE(STRING, string); + HANDLE_TYPE(ENUM, int32); + HANDLE_TYPE(MESSAGE, Message); +#undef HANDLE_TYPE + } + } + // data_ point to a map value. MapValueRef does not + // own this value. + void* data_; + // type_ is 0 or a valid FieldDescriptor::CppType. + int type_; +}; + +#undef TYPE_CHECK + +// This is the class for google::protobuf::Map's internal value_type. Instead of using +// std::pair as value_type, we use this class which provides us more control of +// its process of construction and destruction. +template +class MapPair { + public: + typedef const Key first_type; + typedef T second_type; + + MapPair(const Key& other_first, const T& other_second) + : first(other_first), second(other_second) {} + explicit MapPair(const Key& other_first) : first(other_first), second() {} + MapPair(const MapPair& other) + : first(other.first), second(other.second) {} + + ~MapPair() {} + + // Implicitly convertible to std::pair of compatible types. + template + operator std::pair() const { + return std::pair(first, second); + } + + const Key first; + T second; + + private: + friend class ::google::protobuf::Arena; + friend class Map; +}; + +// google::protobuf::Map is an associative container type used to store protobuf map +// fields. Each Map instance may or may not use a different hash function, a +// different iteration order, and so on. E.g., please don't examine +// implementation details to decide if the following would work: +// Map m0, m1; +// m0[0] = m1[0] = m0[1] = m1[1] = 0; +// assert(m0.begin()->first == m1.begin()->first); // Bug! +// +// Map's interface is similar to std::unordered_map, except that Map is not +// designed to play well with exceptions. +template +class Map { + public: + typedef Key key_type; + typedef T mapped_type; + typedef MapPair value_type; + + typedef value_type* pointer; + typedef const value_type* const_pointer; + typedef value_type& reference; + typedef const value_type& const_reference; + + typedef size_t size_type; + typedef hash hasher; + + explicit Map(bool old_style = true) + : arena_(NULL), + default_enum_value_(0), + old_style_(old_style) { + Init(); + } + explicit Map(Arena* arena, bool old_style = true) + : arena_(arena), + default_enum_value_(0), + old_style_(old_style) { + Init(); + } + Map(const Map& other) + : arena_(NULL), + default_enum_value_(other.default_enum_value_), + old_style_(other.old_style_) { + Init(); + insert(other.begin(), other.end()); + } + template + Map(const InputIt& first, const InputIt& last, bool old_style = true) + : arena_(NULL), + default_enum_value_(0), + old_style_(old_style) { + Init(); + insert(first, last); + } + + ~Map() { + clear(); + if (arena_ == NULL) { + if (old_style_) + delete deprecated_elements_; + else + delete elements_; + } + } + + private: + void Init() { + if (old_style_) + deprecated_elements_ = Arena::Create( + arena_, 0, hasher(), std::equal_to(), + MapAllocator*> >(arena_)); + else + elements_ = + Arena::Create(arena_, 0, hasher(), Allocator(arena_)); + } + + // re-implement std::allocator to use arena allocator for memory allocation. + // Used for google::protobuf::Map implementation. Users should not use this class + // directly. + template + class MapAllocator { + public: + typedef U value_type; + typedef value_type* pointer; + typedef const value_type* const_pointer; + typedef value_type& reference; + typedef const value_type& const_reference; + typedef size_t size_type; + typedef ptrdiff_t difference_type; + + MapAllocator() : arena_(NULL) {} + explicit MapAllocator(Arena* arena) : arena_(arena) {} + template + MapAllocator(const MapAllocator& allocator) + : arena_(allocator.arena()) {} + + pointer allocate(size_type n, const_pointer hint = 0) { + // If arena is not given, malloc needs to be called which doesn't + // construct element object. + if (arena_ == NULL) { + return static_cast(::operator new(n * sizeof(value_type))); + } else { + return reinterpret_cast( + Arena::CreateArray(arena_, n * sizeof(value_type))); + } + } + + void deallocate(pointer p, size_type n) { + if (arena_ == NULL) { +#if defined(__GXX_DELETE_WITH_SIZE__) || defined(__cpp_sized_deallocation) + ::operator delete(p, n * sizeof(value_type)); +#else + ::operator delete(p); +#endif + } + } + +#if __cplusplus >= 201103L && !defined(GOOGLE_PROTOBUF_OS_APPLE) && \ + !defined(GOOGLE_PROTOBUF_OS_NACL) && \ + !defined(GOOGLE_PROTOBUF_OS_ANDROID) && \ + !defined(GOOGLE_PROTOBUF_OS_EMSCRIPTEN) + template + void construct(NodeType* p, Args&&... args) { + // Clang 3.6 doesn't compile static casting to void* directly. (Issue + // #1266) According C++ standard 5.2.9/1: "The static_cast operator shall + // not cast away constness". So first the maybe const pointer is casted to + // const void* and after the const void* is const casted. + new (const_cast(static_cast(p))) + NodeType(std::forward(args)...); + } + + template + void destroy(NodeType* p) { + p->~NodeType(); + } +#else + void construct(pointer p, const_reference t) { new (p) value_type(t); } + + void destroy(pointer p) { p->~value_type(); } +#endif + + template + struct rebind { + typedef MapAllocator other; + }; + + template + bool operator==(const MapAllocator& other) const { + return arena_ == other.arena_; + } + + template + bool operator!=(const MapAllocator& other) const { + return arena_ != other.arena_; + } + + // To support Visual Studio 2008 + size_type max_size() const { + return std::numeric_limits::max(); + } + + // To support gcc-4.4, which does not properly + // support templated friend classes + Arena* arena() const { + return arena_; + } + + private: + typedef void DestructorSkippable_; + Arena* const arena_; + }; + + // InnerMap's key type is Key and its value type is value_type*. We use a + // custom class here and for Node, below, to ensure that k_ is at offset 0, + // allowing safe conversion from pointer to Node to pointer to Key, and vice + // versa when appropriate. + class KeyValuePair { + public: + KeyValuePair(const Key& k, value_type* v) : k_(k), v_(v) {} + + const Key& key() const { return k_; } + Key& key() { return k_; } + value_type* const value() const { return v_; } + value_type*& value() { return v_; } + + private: + Key k_; + value_type* v_; + }; + + typedef MapAllocator Allocator; + + // InnerMap is a generic hash-based map. It doesn't contain any + // protocol-buffer-specific logic. It is a chaining hash map with the + // additional feature that some buckets can be converted to use an ordered + // container. This ensures O(lg n) bounds on find, insert, and erase, while + // avoiding the overheads of ordered containers most of the time. + // + // The implementation doesn't need the full generality of unordered_map, + // and it doesn't have it. More bells and whistles can be added as needed. + // Some implementation details: + // 1. The hash function has type hasher and the equality function + // equal_to. We inherit from hasher to save space + // (empty-base-class optimization). + // 2. The number of buckets is a power of two. + // 3. Buckets are converted to trees in pairs: if we convert bucket b then + // buckets b and b^1 will share a tree. Invariant: buckets b and b^1 have + // the same non-NULL value iff they are sharing a tree. (An alternative + // implementation strategy would be to have a tag bit per bucket.) + // 4. As is typical for hash_map and such, the Keys and Values are always + // stored in linked list nodes. Pointers to elements are never invalidated + // until the element is deleted. + // 5. The trees' payload type is pointer to linked-list node. Tree-converting + // a bucket doesn't copy Key-Value pairs. + // 6. Once we've tree-converted a bucket, it is never converted back. However, + // the items a tree contains may wind up assigned to trees or lists upon a + // rehash. + // 7. The code requires no C++ features from C++11 or later. + // 8. Mutations to a map do not invalidate the map's iterators, pointers to + // elements, or references to elements. + // 9. Except for erase(iterator), any non-const method can reorder iterators. + class InnerMap : private hasher { + public: + typedef value_type* Value; + + InnerMap(size_type n, hasher h, Allocator alloc) + : hasher(h), + num_elements_(0), + seed_(Seed()), + table_(NULL), + alloc_(alloc) { + n = TableSize(n); + table_ = CreateEmptyTable(n); + num_buckets_ = index_of_first_non_null_ = n; + } + + ~InnerMap() { + if (table_ != NULL) { + clear(); + Dealloc(table_, num_buckets_); + } + } + + private: + enum { kMinTableSize = 8 }; + + // Linked-list nodes, as one would expect for a chaining hash table. + struct Node { + KeyValuePair kv; + Node* next; + }; + + // This is safe only if the given pointer is known to point to a Key that is + // part of a Node. + static Node* NodePtrFromKeyPtr(Key* k) { + return reinterpret_cast(k); + } + + static Key* KeyPtrFromNodePtr(Node* node) { return &node->kv.key(); } + + // Trees. The payload type is pointer to Key, so that we can query the tree + // with Keys that are not in any particular data structure. When we insert, + // though, the pointer is always pointing to a Key that is inside a Node. + struct KeyCompare { + bool operator()(const Key* n0, const Key* n1) const { return *n0 < *n1; } + }; + typedef typename Allocator::template rebind::other KeyPtrAllocator; + typedef std::set Tree; + + // iterator and const_iterator are instantiations of iterator_base. + template + class iterator_base { + public: + typedef KeyValueType& reference; + typedef KeyValueType* pointer; + typedef typename Tree::iterator TreeIterator; + + // Invariants: + // node_ is always correct. This is handy because the most common + // operations are operator* and operator-> and they only use node_. + // When node_ is set to a non-NULL value, all the other non-const fields + // are updated to be correct also, but those fields can become stale + // if the underlying map is modified. When those fields are needed they + // are rechecked, and updated if necessary. + iterator_base() : node_(NULL) {} + + explicit iterator_base(const InnerMap* m) : m_(m) { + SearchFrom(m->index_of_first_non_null_); + } + + // Any iterator_base can convert to any other. This is overkill, and we + // rely on the enclosing class to use it wisely. The standard "iterator + // can convert to const_iterator" is OK but the reverse direction is not. + template + explicit iterator_base(const iterator_base& it) + : node_(it.node_), + m_(it.m_), + bucket_index_(it.bucket_index_), + tree_it_(it.tree_it_) {} + + iterator_base(Node* n, const InnerMap* m, size_type index) + : node_(n), + m_(m), + bucket_index_(index) {} + + iterator_base(TreeIterator tree_it, const InnerMap* m, size_type index) + : node_(NodePtrFromKeyPtr(*tree_it)), + m_(m), + bucket_index_(index), + tree_it_(tree_it) { + // Invariant: iterators that use tree_it_ have an even bucket_index_. + GOOGLE_DCHECK_EQ(bucket_index_ % 2, 0); + } + + // Advance through buckets, looking for the first that isn't empty. + // If nothing non-empty is found then leave node_ == NULL. + void SearchFrom(size_type start_bucket) { + GOOGLE_DCHECK(m_->index_of_first_non_null_ == m_->num_buckets_ || + m_->table_[m_->index_of_first_non_null_] != NULL); + node_ = NULL; + for (bucket_index_ = start_bucket; bucket_index_ < m_->num_buckets_; + bucket_index_++) { + if (m_->TableEntryIsNonEmptyList(bucket_index_)) { + node_ = static_cast(m_->table_[bucket_index_]); + break; + } else if (m_->TableEntryIsTree(bucket_index_)) { + Tree* tree = static_cast(m_->table_[bucket_index_]); + GOOGLE_DCHECK(!tree->empty()); + tree_it_ = tree->begin(); + node_ = NodePtrFromKeyPtr(*tree_it_); + break; + } + } + } + + reference operator*() const { return node_->kv; } + pointer operator->() const { return &(operator*()); } + + friend bool operator==(const iterator_base& a, const iterator_base& b) { + return a.node_ == b.node_; + } + friend bool operator!=(const iterator_base& a, const iterator_base& b) { + return a.node_ != b.node_; + } + + iterator_base& operator++() { + if (node_->next == NULL) { + const bool is_list = revalidate_if_necessary(); + if (is_list) { + SearchFrom(bucket_index_ + 1); + } else { + GOOGLE_DCHECK_EQ(bucket_index_ & 1, 0); + Tree* tree = static_cast(m_->table_[bucket_index_]); + if (++tree_it_ == tree->end()) { + SearchFrom(bucket_index_ + 2); + } else { + node_ = NodePtrFromKeyPtr(*tree_it_); + } + } + } else { + node_ = node_->next; + } + return *this; + } + + iterator_base operator++(int /* unused */) { + iterator_base tmp = *this; + ++*this; + return tmp; + } + + // Assumes node_ and m_ are correct and non-NULL, but other fields may be + // stale. Fix them as needed. Then return true iff node_ points to a + // Node in a list. + bool revalidate_if_necessary() { + GOOGLE_DCHECK(node_ != NULL && m_ != NULL); + // Force bucket_index_ to be in range. + bucket_index_ &= (m_->num_buckets_ - 1); + // Common case: the bucket we think is relevant points to node_. + if (m_->table_[bucket_index_] == static_cast(node_)) + return true; + // Less common: the bucket is a linked list with node_ somewhere in it, + // but not at the head. + if (m_->TableEntryIsNonEmptyList(bucket_index_)) { + Node* l = static_cast(m_->table_[bucket_index_]); + while ((l = l->next) != NULL) { + if (l == node_) { + return true; + } + } + } + // Well, bucket_index_ still might be correct, but probably + // not. Revalidate just to be sure. This case is rare enough that we + // don't worry about potential optimizations, such as having a custom + // find-like method that compares Node* instead of const Key&. + iterator_base i(m_->find(*KeyPtrFromNodePtr(node_))); + bucket_index_ = i.bucket_index_; + tree_it_ = i.tree_it_; + return m_->TableEntryIsList(bucket_index_); + } + + Node* node_; + const InnerMap* m_; + size_type bucket_index_; + TreeIterator tree_it_; + }; + + public: + typedef iterator_base iterator; + typedef iterator_base const_iterator; + + iterator begin() { return iterator(this); } + iterator end() { return iterator(); } + const_iterator begin() const { return const_iterator(this); } + const_iterator end() const { return const_iterator(); } + + void clear() { + for (size_type b = 0; b < num_buckets_; b++) { + if (TableEntryIsNonEmptyList(b)) { + Node* node = static_cast(table_[b]); + table_[b] = NULL; + do { + Node* next = node->next; + DestroyNode(node); + node = next; + } while (node != NULL); + } else if (TableEntryIsTree(b)) { + Tree* tree = static_cast(table_[b]); + GOOGLE_DCHECK(table_[b] == table_[b + 1] && (b & 1) == 0); + table_[b] = table_[b + 1] = NULL; + typename Tree::iterator tree_it = tree->begin(); + do { + Node* node = NodePtrFromKeyPtr(*tree_it); + typename Tree::iterator next = tree_it; + ++next; + tree->erase(tree_it); + DestroyNode(node); + tree_it = next; + } while (tree_it != tree->end()); + DestroyTree(tree); + b++; + } + } + num_elements_ = 0; + index_of_first_non_null_ = num_buckets_; + } + + const hasher& hash_function() const { return *this; } + + static size_type max_size() { + return static_cast(1) << (sizeof(void**) >= 8 ? 60 : 28); + } + size_type size() const { return num_elements_; } + bool empty() const { return size() == 0; } + + iterator find(const Key& k) { return iterator(FindHelper(k).first); } + const_iterator find(const Key& k) const { return FindHelper(k).first; } + + // In traditional C++ style, this performs "insert if not present." + std::pair insert(const KeyValuePair& kv) { + std::pair p = FindHelper(kv.key()); + // Case 1: key was already present. + if (p.first.node_ != NULL) + return std::make_pair(iterator(p.first), false); + // Case 2: insert. + if (ResizeIfLoadIsOutOfRange(num_elements_ + 1)) { + p = FindHelper(kv.key()); + } + const size_type b = p.second; // bucket number + Node* node = Alloc(1); + alloc_.construct(&node->kv, kv); + iterator result = InsertUnique(b, node); + ++num_elements_; + return std::make_pair(result, true); + } + + // The same, but if an insertion is necessary then the value portion of the + // inserted key-value pair is left uninitialized. + std::pair insert(const Key& k) { + std::pair p = FindHelper(k); + // Case 1: key was already present. + if (p.first.node_ != NULL) + return std::make_pair(iterator(p.first), false); + // Case 2: insert. + if (ResizeIfLoadIsOutOfRange(num_elements_ + 1)) { + p = FindHelper(k); + } + const size_type b = p.second; // bucket number + Node* node = Alloc(1); + typedef typename Allocator::template rebind::other KeyAllocator; + KeyAllocator(alloc_).construct(&node->kv.key(), k); + iterator result = InsertUnique(b, node); + ++num_elements_; + return std::make_pair(result, true); + } + + Value& operator[](const Key& k) { + KeyValuePair kv(k, Value()); + return insert(kv).first->value(); + } + + void erase(iterator it) { + GOOGLE_DCHECK_EQ(it.m_, this); + const bool is_list = it.revalidate_if_necessary(); + size_type b = it.bucket_index_; + Node* const item = it.node_; + if (is_list) { + GOOGLE_DCHECK(TableEntryIsNonEmptyList(b)); + Node* head = static_cast(table_[b]); + head = EraseFromLinkedList(item, head); + table_[b] = static_cast(head); + } else { + GOOGLE_DCHECK(TableEntryIsTree(b)); + Tree* tree = static_cast(table_[b]); + tree->erase(it.tree_it_); + if (tree->empty()) { + // Force b to be the minimum of b and b ^ 1. This is important + // only because we want index_of_first_non_null_ to be correct. + b &= ~static_cast(1); + DestroyTree(tree); + table_[b] = table_[b + 1] = NULL; + } + } + DestroyNode(item); + --num_elements_; + if (GOOGLE_PREDICT_FALSE(b == index_of_first_non_null_)) { + while (index_of_first_non_null_ < num_buckets_ && + table_[index_of_first_non_null_] == NULL) { + ++index_of_first_non_null_; + } + } + } + + private: + std::pair FindHelper(const Key& k) const { + size_type b = BucketNumber(k); + if (TableEntryIsNonEmptyList(b)) { + Node* node = static_cast(table_[b]); + do { + if (IsMatch(*KeyPtrFromNodePtr(node), k)) { + return std::make_pair(const_iterator(node, this, b), b); + } else { + node = node->next; + } + } while (node != NULL); + } else if (TableEntryIsTree(b)) { + GOOGLE_DCHECK_EQ(table_[b], table_[b ^ 1]); + b &= ~static_cast(1); + Tree* tree = static_cast(table_[b]); + Key* key = const_cast(&k); + typename Tree::iterator tree_it = tree->find(key); + if (tree_it != tree->end()) { + return std::make_pair(const_iterator(tree_it, this, b), b); + } + } + return std::make_pair(end(), b); + } + + // Insert the given Node in bucket b. If that would make bucket b too big, + // and bucket b is not a tree, create a tree for buckets b and b^1 to share. + // Requires count(*KeyPtrFromNodePtr(node)) == 0 and that b is the correct + // bucket. num_elements_ is not modified. + iterator InsertUnique(size_type b, Node* node) { + GOOGLE_DCHECK(index_of_first_non_null_ == num_buckets_ || + table_[index_of_first_non_null_] != NULL); + // In practice, the code that led to this point may have already + // determined whether we are inserting into an empty list, a short list, + // or whatever. But it's probably cheap enough to recompute that here; + // it's likely that we're inserting into an empty or short list. + iterator result; + GOOGLE_DCHECK(find(*KeyPtrFromNodePtr(node)) == end()); + if (TableEntryIsEmpty(b)) { + result = InsertUniqueInList(b, node); + } else if (TableEntryIsNonEmptyList(b)) { + if (GOOGLE_PREDICT_FALSE(TableEntryIsTooLong(b))) { + TreeConvert(b); + result = InsertUniqueInTree(b, node); + GOOGLE_DCHECK_EQ(result.bucket_index_, b & ~static_cast(1)); + } else { + // Insert into a pre-existing list. This case cannot modify + // index_of_first_non_null_, so we skip the code to update it. + return InsertUniqueInList(b, node); + } + } else { + // Insert into a pre-existing tree. This case cannot modify + // index_of_first_non_null_, so we skip the code to update it. + return InsertUniqueInTree(b, node); + } + index_of_first_non_null_ = + std::min(index_of_first_non_null_, result.bucket_index_); + return result; + } + + // Helper for InsertUnique. Handles the case where bucket b is a + // not-too-long linked list. + iterator InsertUniqueInList(size_type b, Node* node) { + node->next = static_cast(table_[b]); + table_[b] = static_cast(node); + return iterator(node, this, b); + } + + // Helper for InsertUnique. Handles the case where bucket b points to a + // Tree. + iterator InsertUniqueInTree(size_type b, Node* node) { + GOOGLE_DCHECK_EQ(table_[b], table_[b ^ 1]); + // Maintain the invariant that node->next is NULL for all Nodes in Trees. + node->next = NULL; + return iterator(static_cast(table_[b]) + ->insert(KeyPtrFromNodePtr(node)) + .first, + this, b & ~static_cast(1)); + } + + // Returns whether it did resize. Currently this is only used when + // num_elements_ increases, though it could be used in other situations. + // It checks for load too low as well as load too high: because any number + // of erases can occur between inserts, the load could be as low as 0 here. + // Resizing to a lower size is not always helpful, but failing to do so can + // destroy the expected big-O bounds for some operations. By having the + // policy that sometimes we resize down as well as up, clients can easily + // keep O(size()) = O(number of buckets) if they want that. + bool ResizeIfLoadIsOutOfRange(size_type new_size) { + const size_type kMaxMapLoadTimes16 = 12; // controls RAM vs CPU tradeoff + const size_type hi_cutoff = num_buckets_ * kMaxMapLoadTimes16 / 16; + const size_type lo_cutoff = hi_cutoff / 4; + // We don't care how many elements are in trees. If a lot are, + // we may resize even though there are many empty buckets. In + // practice, this seems fine. + if (GOOGLE_PREDICT_FALSE(new_size >= hi_cutoff)) { + if (num_buckets_ <= max_size() / 2) { + Resize(num_buckets_ * 2); + return true; + } + } else if (GOOGLE_PREDICT_FALSE(new_size <= lo_cutoff && + num_buckets_ > kMinTableSize)) { + size_type lg2_of_size_reduction_factor = 1; + // It's possible we want to shrink a lot here... size() could even be 0. + // So, estimate how much to shrink by making sure we don't shrink so + // much that we would need to grow the table after a few inserts. + const size_type hypothetical_size = new_size * 5 / 4 + 1; + while ((hypothetical_size << lg2_of_size_reduction_factor) < + hi_cutoff) { + ++lg2_of_size_reduction_factor; + } + size_type new_num_buckets = std::max( + kMinTableSize, num_buckets_ >> lg2_of_size_reduction_factor); + if (new_num_buckets != num_buckets_) { + Resize(new_num_buckets); + return true; + } + } + return false; + } + + // Resize to the given number of buckets. + void Resize(size_t new_num_buckets) { + GOOGLE_DCHECK_GE(new_num_buckets, kMinTableSize); + void** const old_table = table_; + const size_type old_table_size = num_buckets_; + num_buckets_ = new_num_buckets; + table_ = CreateEmptyTable(num_buckets_); + const size_type start = index_of_first_non_null_; + index_of_first_non_null_ = num_buckets_; + for (size_type i = start; i < old_table_size; i++) { + if (TableEntryIsNonEmptyList(old_table, i)) { + TransferList(old_table, i); + } else if (TableEntryIsTree(old_table, i)) { + TransferTree(old_table, i++); + } + } + Dealloc(old_table, old_table_size); + } + + void TransferList(void* const* table, size_type index) { + Node* node = static_cast(table[index]); + do { + Node* next = node->next; + InsertUnique(BucketNumber(*KeyPtrFromNodePtr(node)), node); + node = next; + } while (node != NULL); + } + + void TransferTree(void* const* table, size_type index) { + Tree* tree = static_cast(table[index]); + typename Tree::iterator tree_it = tree->begin(); + do { + Node* node = NodePtrFromKeyPtr(*tree_it); + InsertUnique(BucketNumber(**tree_it), node); + } while (++tree_it != tree->end()); + DestroyTree(tree); + } + + Node* EraseFromLinkedList(Node* item, Node* head) { + if (head == item) { + return head->next; + } else { + head->next = EraseFromLinkedList(item, head->next); + return head; + } + } + + bool TableEntryIsEmpty(size_type b) const { + return TableEntryIsEmpty(table_, b); + } + bool TableEntryIsNonEmptyList(size_type b) const { + return TableEntryIsNonEmptyList(table_, b); + } + bool TableEntryIsTree(size_type b) const { + return TableEntryIsTree(table_, b); + } + bool TableEntryIsList(size_type b) const { + return TableEntryIsList(table_, b); + } + static bool TableEntryIsEmpty(void* const* table, size_type b) { + return table[b] == NULL; + } + static bool TableEntryIsNonEmptyList(void* const* table, size_type b) { + return table[b] != NULL && table[b] != table[b ^ 1]; + } + static bool TableEntryIsTree(void* const* table, size_type b) { + return !TableEntryIsEmpty(table, b) && + !TableEntryIsNonEmptyList(table, b); + } + static bool TableEntryIsList(void* const* table, size_type b) { + return !TableEntryIsTree(table, b); + } + + void TreeConvert(size_type b) { + GOOGLE_DCHECK(!TableEntryIsTree(b) && !TableEntryIsTree(b ^ 1)); + typename Allocator::template rebind::other tree_allocator(alloc_); + Tree* tree = tree_allocator.allocate(1); + // We want to use the three-arg form of construct, if it exists, but we + // create a temporary and use the two-arg construct that's known to exist. + // It's clunky, but the compiler should be able to generate more-or-less + // the same code. + tree_allocator.construct(tree, + Tree(KeyCompare(), KeyPtrAllocator(alloc_))); + // Now the tree is ready to use. + size_type count = CopyListToTree(b, tree) + CopyListToTree(b ^ 1, tree); + GOOGLE_DCHECK_EQ(count, tree->size()); + table_[b] = table_[b ^ 1] = static_cast(tree); + } + + // Copy a linked list in the given bucket to a tree. + // Returns the number of things it copied. + size_type CopyListToTree(size_type b, Tree* tree) { + size_type count = 0; + Node* node = static_cast(table_[b]); + while (node != NULL) { + tree->insert(KeyPtrFromNodePtr(node)); + ++count; + Node* next = node->next; + node->next = NULL; + node = next; + } + return count; + } + + // Return whether table_[b] is a linked list that seems awfully long. + // Requires table_[b] to point to a non-empty linked list. + bool TableEntryIsTooLong(size_type b) { + const size_type kMaxLength = 8; + size_type count = 0; + Node* node = static_cast(table_[b]); + do { + ++count; + node = node->next; + } while (node != NULL); + // Invariant: no linked list ever is more than kMaxLength in length. + GOOGLE_DCHECK_LE(count, kMaxLength); + return count >= kMaxLength; + } + + size_type BucketNumber(const Key& k) const { + // We inherit from hasher, so one-arg operator() provides a hash function. + size_type h = (*const_cast(this))(k); + // To help prevent people from making assumptions about the hash function, + // we use the seed differently depending on NDEBUG. The default hash + // function, the seeding, etc., are all likely to change in the future. +#ifndef NDEBUG + return (h * (seed_ | 1)) & (num_buckets_ - 1); +#else + return (h + seed_) & (num_buckets_ - 1); +#endif + } + + bool IsMatch(const Key& k0, const Key& k1) const { + return std::equal_to()(k0, k1); + } + + // Return a power of two no less than max(kMinTableSize, n). + // Assumes either n < kMinTableSize or n is a power of two. + size_type TableSize(size_type n) { + return n < kMinTableSize ? kMinTableSize : n; + } + + // Use alloc_ to allocate an array of n objects of type U. + template + U* Alloc(size_type n) { + typedef typename Allocator::template rebind::other alloc_type; + return alloc_type(alloc_).allocate(n); + } + + // Use alloc_ to deallocate an array of n objects of type U. + template + void Dealloc(U* t, size_type n) { + typedef typename Allocator::template rebind::other alloc_type; + alloc_type(alloc_).deallocate(t, n); + } + + void DestroyNode(Node* node) { + alloc_.destroy(&node->kv); + Dealloc(node, 1); + } + + void DestroyTree(Tree* tree) { + typename Allocator::template rebind::other tree_allocator(alloc_); + tree_allocator.destroy(tree); + tree_allocator.deallocate(tree, 1); + } + + void** CreateEmptyTable(size_type n) { + GOOGLE_DCHECK(n >= kMinTableSize); + GOOGLE_DCHECK_EQ(n & (n - 1), 0); + void** result = Alloc(n); + memset(result, 0, n * sizeof(result[0])); + return result; + } + + // Return a randomish value. + size_type Seed() const { + // random_device can throw, so avoid it unless we are compiling with + // exceptions enabled. +#if __cpp_exceptions && LANG_CXX11 + try { + std::random_device rd; + std::knuth_b knuth(rd()); + std::uniform_int_distribution u; + return u(knuth); + } catch (...) { } +#endif + size_type s = static_cast(reinterpret_cast(this)); +#if defined(__x86_64__) && defined(__GNUC__) + uint32 hi, lo; + asm("rdtsc" : "=a" (lo), "=d" (hi)); + s += ((static_cast(hi) << 32) | lo); +#endif + return s; + } + + size_type num_elements_; + size_type num_buckets_; + size_type seed_; + size_type index_of_first_non_null_; + void** table_; // an array with num_buckets_ entries + Allocator alloc_; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(InnerMap); + }; // end of class InnerMap + + typedef hash_map, std::equal_to, + MapAllocator*> > > + DeprecatedInnerMap; + + public: + // Iterators + class iterator_base { + public: + // We support "old style" and "new style" iterators for now. This is + // temporary. Also, for "iterator()" we have an unknown category. + // TODO(gpike): get rid of this. + enum IteratorStyle { kUnknown, kOld, kNew }; + explicit iterator_base(IteratorStyle style) : iterator_style_(style) {} + + bool OldStyle() const { + GOOGLE_DCHECK_NE(iterator_style_, kUnknown); + return iterator_style_ == kOld; + } + bool UnknownStyle() const { + return iterator_style_ == kUnknown; + } + bool SameStyle(const iterator_base& other) const { + return iterator_style_ == other.iterator_style_; + } + + private: + IteratorStyle iterator_style_; + }; + + class const_iterator + : private iterator_base, + public std::iterator { + typedef typename InnerMap::const_iterator InnerIt; + typedef typename DeprecatedInnerMap::const_iterator DeprecatedInnerIt; + + public: + const_iterator() : iterator_base(iterator_base::kUnknown) {} + explicit const_iterator(const DeprecatedInnerIt& dit) + : iterator_base(iterator_base::kOld), dit_(dit) {} + explicit const_iterator(const InnerIt& it) + : iterator_base(iterator_base::kNew), it_(it) {} + + const_iterator(const const_iterator& other) + : iterator_base(other), it_(other.it_), dit_(other.dit_) {} + + const_reference operator*() const { + return this->OldStyle() ? *dit_->second : *it_->value(); + } + const_pointer operator->() const { return &(operator*()); } + + const_iterator& operator++() { + if (this->OldStyle()) + ++dit_; + else + ++it_; + return *this; + } + const_iterator operator++(int) { + return this->OldStyle() ? const_iterator(dit_++) : const_iterator(it_++); + } + + friend bool operator==(const const_iterator& a, const const_iterator& b) { + if (!a.SameStyle(b)) return false; + if (a.UnknownStyle()) return true; + return a.OldStyle() ? (a.dit_ == b.dit_) : (a.it_ == b.it_); + } + friend bool operator!=(const const_iterator& a, const const_iterator& b) { + return !(a == b); + } + + private: + InnerIt it_; + DeprecatedInnerIt dit_; + }; + + class iterator : private iterator_base, + public std::iterator { + typedef typename InnerMap::iterator InnerIt; + typedef typename DeprecatedInnerMap::iterator DeprecatedInnerIt; + + public: + iterator() : iterator_base(iterator_base::kUnknown) {} + explicit iterator(const DeprecatedInnerIt& dit) + : iterator_base(iterator_base::kOld), dit_(dit) {} + explicit iterator(const InnerIt& it) + : iterator_base(iterator_base::kNew), it_(it) {} + + reference operator*() const { + return this->OldStyle() ? *dit_->second : *it_->value(); + } + pointer operator->() const { return &(operator*()); } + + iterator& operator++() { + if (this->OldStyle()) + ++dit_; + else + ++it_; + return *this; + } + iterator operator++(int) { + return this->OldStyle() ? iterator(dit_++) : iterator(it_++); + } + + // Allow implicit conversion to const_iterator. + operator const_iterator() const { + return this->OldStyle() ? + const_iterator(typename DeprecatedInnerMap::const_iterator(dit_)) : + const_iterator(typename InnerMap::const_iterator(it_)); + } + + friend bool operator==(const iterator& a, const iterator& b) { + if (!a.SameStyle(b)) return false; + if (a.UnknownStyle()) return true; + return a.OldStyle() ? a.dit_ == b.dit_ : a.it_ == b.it_; + } + friend bool operator!=(const iterator& a, const iterator& b) { + return !(a == b); + } + + private: + friend class Map; + + InnerIt it_; + DeprecatedInnerIt dit_; + }; + + iterator begin() { + return old_style_ ? iterator(deprecated_elements_->begin()) + : iterator(elements_->begin()); + } + iterator end() { + return old_style_ ? iterator(deprecated_elements_->end()) + : iterator(elements_->end()); + } + const_iterator begin() const { + return old_style_ ? const_iterator(deprecated_elements_->begin()) + : const_iterator(iterator(elements_->begin())); + } + const_iterator end() const { + return old_style_ ? const_iterator(deprecated_elements_->end()) + : const_iterator(iterator(elements_->end())); + } + const_iterator cbegin() const { return begin(); } + const_iterator cend() const { return end(); } + + // Capacity + size_type size() const { + return old_style_ ? deprecated_elements_->size() : elements_->size(); + } + bool empty() const { return size() == 0; } + + // Element access + T& operator[](const key_type& key) { + value_type** value = + old_style_ ? &(*deprecated_elements_)[key] : &(*elements_)[key]; + if (*value == NULL) { + *value = CreateValueTypeInternal(key); + internal::MapValueInitializer::value, + T>::Initialize((*value)->second, + default_enum_value_); + } + return (*value)->second; + } + const T& at(const key_type& key) const { + const_iterator it = find(key); + GOOGLE_CHECK(it != end()); + return it->second; + } + T& at(const key_type& key) { + iterator it = find(key); + GOOGLE_CHECK(it != end()); + return it->second; + } + + // Lookup + size_type count(const key_type& key) const { + if (find(key) != end()) assert(key == find(key)->first); + return find(key) == end() ? 0 : 1; + } + const_iterator find(const key_type& key) const { + return old_style_ ? const_iterator(deprecated_elements_->find(key)) + : const_iterator(iterator(elements_->find(key))); + } + iterator find(const key_type& key) { + return old_style_ ? iterator(deprecated_elements_->find(key)) + : iterator(elements_->find(key)); + } + std::pair equal_range( + const key_type& key) const { + const_iterator it = find(key); + if (it == end()) { + return std::pair(it, it); + } else { + const_iterator begin = it++; + return std::pair(begin, it); + } + } + std::pair equal_range(const key_type& key) { + iterator it = find(key); + if (it == end()) { + return std::pair(it, it); + } else { + iterator begin = it++; + return std::pair(begin, it); + } + } + + // insert + std::pair insert(const value_type& value) { + if (old_style_) { + iterator it = find(value.first); + if (it != end()) { + return std::pair(it, false); + } else { + return std::pair( + iterator(deprecated_elements_->insert(std::pair( + value.first, CreateValueTypeInternal(value))).first), true); + } + } else { + std::pair p = + elements_->insert(value.first); + if (p.second) { + p.first->value() = CreateValueTypeInternal(value); + } + return std::pair(iterator(p.first), p.second); + } + } + template + void insert(InputIt first, InputIt last) { + for (InputIt it = first; it != last; ++it) { + iterator exist_it = find(it->first); + if (exist_it == end()) { + operator[](it->first) = it->second; + } + } + } + + // Erase and clear + size_type erase(const key_type& key) { + iterator it = find(key); + if (it == end()) { + return 0; + } else { + erase(it); + return 1; + } + } + iterator erase(iterator pos) { + if (arena_ == NULL) delete pos.operator->(); + iterator i = pos++; + if (old_style_) + deprecated_elements_->erase(i.dit_); + else + elements_->erase(i.it_); + return pos; + } + void erase(iterator first, iterator last) { + while (first != last) { + first = erase(first); + } + } + void clear() { erase(begin(), end()); } + + // Assign + Map& operator=(const Map& other) { + if (this != &other) { + clear(); + insert(other.begin(), other.end()); + } + return *this; + } + + void swap(Map& other) { + if (arena_ == other.arena_ && old_style_ == other.old_style_) { + std::swap(default_enum_value_, other.default_enum_value_); + if (old_style_) { + std::swap(deprecated_elements_, other.deprecated_elements_); + } else { + std::swap(elements_, other.elements_); + } + } else { + // TODO(zuguang): optimize this. The temporary copy can be allocated + // in the same arena as the other message, and the "other = copy" can + // be replaced with the fast-path swap above. + Map copy = *this; + *this = other; + other = copy; + } + } + + // Access to hasher. Currently this returns a copy, but it may + // be modified to return a const reference in the future. + hasher hash_function() const { + return old_style_ ? deprecated_elements_->hash_function() + : elements_->hash_function(); + } + + private: + // Set default enum value only for proto2 map field whose value is enum type. + void SetDefaultEnumValue(int default_enum_value) { + default_enum_value_ = default_enum_value; + } + + value_type* CreateValueTypeInternal(const Key& key) { + if (arena_ == NULL) { + return new value_type(key); + } else { + value_type* value = reinterpret_cast( + Arena::CreateArray(arena_, sizeof(value_type))); + Arena::CreateInArenaStorage(const_cast(&value->first), arena_); + Arena::CreateInArenaStorage(&value->second, arena_); + const_cast(value->first) = key; + return value; + } + } + + value_type* CreateValueTypeInternal(const value_type& value) { + if (arena_ == NULL) { + return new value_type(value); + } else { + value_type* p = reinterpret_cast( + Arena::CreateArray(arena_, sizeof(value_type))); + Arena::CreateInArenaStorage(const_cast(&p->first), arena_); + Arena::CreateInArenaStorage(&p->second, arena_); + const_cast(p->first) = value.first; + p->second = value.second; + return p; + } + } + + Arena* arena_; + int default_enum_value_; + // The following is a tagged union because we support two map styles + // for now. + // TODO(gpike): get rid of the old style. + const bool old_style_; + union { + InnerMap* elements_; + DeprecatedInnerMap* deprecated_elements_; + }; + + friend class ::google::protobuf::Arena; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + template + friend class internal::MapFieldLite; +}; + +} // namespace protobuf +} // namespace google + +GOOGLE_PROTOBUF_HASH_NAMESPACE_DECLARATION_START +template<> +struct hash { + size_t + operator()(const google::protobuf::MapKey& map_key) const { + switch (map_key.type()) { + case google::protobuf::FieldDescriptor::CPPTYPE_DOUBLE: + case google::protobuf::FieldDescriptor::CPPTYPE_FLOAT: + case google::protobuf::FieldDescriptor::CPPTYPE_ENUM: + case google::protobuf::FieldDescriptor::CPPTYPE_MESSAGE: + GOOGLE_LOG(FATAL) << "Unsupported"; + break; + case google::protobuf::FieldDescriptor::CPPTYPE_STRING: + return hash()(map_key.GetStringValue()); + case google::protobuf::FieldDescriptor::CPPTYPE_INT64: + return hash< ::google::protobuf::int64>()(map_key.GetInt64Value()); + case google::protobuf::FieldDescriptor::CPPTYPE_INT32: + return hash< ::google::protobuf::int32>()(map_key.GetInt32Value()); + case google::protobuf::FieldDescriptor::CPPTYPE_UINT64: + return hash< ::google::protobuf::uint64>()(map_key.GetUInt64Value()); + case google::protobuf::FieldDescriptor::CPPTYPE_UINT32: + return hash< ::google::protobuf::uint32>()(map_key.GetUInt32Value()); + case google::protobuf::FieldDescriptor::CPPTYPE_BOOL: + return hash()(map_key.GetBoolValue()); + } + GOOGLE_LOG(FATAL) << "Can't get here."; + return 0; + } + bool + operator()(const google::protobuf::MapKey& map_key1, + const google::protobuf::MapKey& map_key2) const { + return map_key1 < map_key2; + } +}; +GOOGLE_PROTOBUF_HASH_NAMESPACE_DECLARATION_END + +#endif // GOOGLE_PROTOBUF_MAP_H__ diff --git a/app/src/main/cpp/include/google/protobuf/map_entry.h b/app/src/main/cpp/include/google/protobuf/map_entry.h new file mode 100644 index 0000000..abcd452 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/map_entry.h @@ -0,0 +1,310 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_MAP_ENTRY_H__ +#define GOOGLE_PROTOBUF_MAP_ENTRY_H__ + +#include +#include +#include +#include +#include +#include +#include + +namespace google { +namespace protobuf { +class Arena; +namespace internal { +template +class MapField; +} +} + +namespace protobuf { +namespace internal { + +// Register all MapEntry default instances so we can delete them in +// ShutdownProtobufLibrary(). +void LIBPROTOBUF_EXPORT RegisterMapEntryDefaultInstance( + MessageLite* default_instance); + +// This is the common base class for MapEntry. It is used by MapFieldBase in +// reflection api, in which the static type of key and value is unknown. +class LIBPROTOBUF_EXPORT MapEntryBase : public Message { + public: + ::google::protobuf::Metadata GetMetadata() const { + ::google::protobuf::Metadata metadata; + metadata.descriptor = descriptor_; + metadata.reflection = reflection_; + return metadata; + } + + protected: + MapEntryBase() : descriptor_(NULL), reflection_(NULL) { } + virtual ~MapEntryBase() {} + + const Descriptor* descriptor_; + const Reflection* reflection_; +}; + +// MapEntry is the returned google::protobuf::Message when calling AddMessage of +// google::protobuf::Reflection. In order to let it work with generated message +// reflection, its in-memory type is the same as generated message with the same +// fields. However, in order to decide the in-memory type of key/value, we need +// to know both their cpp type in generated api and proto type. In +// implementation, all in-memory types have related wire format functions to +// support except ArenaStringPtr. Therefore, we need to define another type with +// supporting wire format functions. Since this type is only used as return type +// of MapEntry accessors, it's named MapEntry accessor type. +// +// cpp type: the type visible to users in public API. +// proto type: WireFormatLite::FieldType of the field. +// in-memory type: type of the data member used to stored this field. +// MapEntry accessor type: type used in MapEntry getters/mutators to access the +// field. +// +// cpp type | proto type | in-memory type | MapEntry accessor type +// int32 TYPE_INT32 int32 int32 +// int32 TYPE_FIXED32 int32 int32 +// string TYPE_STRING ArenaStringPtr string +// FooEnum TYPE_ENUM int int +// FooMessage TYPE_MESSAGE FooMessage* FooMessage +// +// The in-memory types of primitive types can be inferred from its proto type, +// while we need to explicitly specify the cpp type if proto type is +// TYPE_MESSAGE to infer the in-memory type. Moreover, default_enum_value is +// used to initialize enum field in proto2. +template +class MapEntry : public MapEntryBase { + // Provide utilities to parse/serialize key/value. Provide utilities to + // manipulate internal stored type. + typedef MapTypeHandler KeyTypeHandler; + typedef MapTypeHandler ValueTypeHandler; + + // Enum type cannot be used for MapTypeHandler::Read. Define a type + // which will replace Enum with int. + typedef typename KeyTypeHandler::MapEntryAccessorType KeyMapEntryAccessorType; + typedef typename ValueTypeHandler::MapEntryAccessorType + ValueMapEntryAccessorType; + + // Abbreviation for MapEntry + typedef typename google::protobuf::internal::MapEntry< + Key, Value, kKeyFieldType, kValueFieldType, default_enum_value> EntryType; + + // Abbreviation for MapEntryLite + typedef typename google::protobuf::internal::MapEntryLite< + Key, Value, kKeyFieldType, kValueFieldType, default_enum_value> + EntryLiteType; + + public: + ~MapEntry() { + if (this == default_instance_) { + delete reflection_; + } + } + + // accessors ====================================================== + + virtual inline const KeyMapEntryAccessorType& key() const { + return entry_lite_.key(); + } + inline KeyMapEntryAccessorType* mutable_key() { + return entry_lite_.mutable_key(); + } + virtual inline const ValueMapEntryAccessorType& value() const { + return entry_lite_.value(); + } + inline ValueMapEntryAccessorType* mutable_value() { + return entry_lite_.mutable_value(); + } + + // implements Message ============================================= + + bool MergePartialFromCodedStream(::google::protobuf::io::CodedInputStream* input) { + return entry_lite_.MergePartialFromCodedStream(input); + } + + size_t ByteSizeLong() const { + return entry_lite_.ByteSizeLong(); + } + + void SerializeWithCachedSizes(::google::protobuf::io::CodedOutputStream* output) const { + entry_lite_.SerializeWithCachedSizes(output); + } + + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(bool deterministic, + ::google::protobuf::uint8* output) const { + return entry_lite_.InternalSerializeWithCachedSizesToArray(deterministic, + output); + } + + int GetCachedSize() const { + return entry_lite_.GetCachedSize(); + } + + bool IsInitialized() const { + return entry_lite_.IsInitialized(); + } + + Message* New() const { + MapEntry* entry = new MapEntry; + entry->descriptor_ = descriptor_; + entry->reflection_ = reflection_; + entry->set_default_instance(default_instance_); + return entry; + } + + Message* New(Arena* arena) const { + MapEntry* entry = Arena::CreateMessage(arena); + entry->descriptor_ = descriptor_; + entry->reflection_ = reflection_; + entry->set_default_instance(default_instance_); + return entry; + } + + int SpaceUsed() const { + int size = sizeof(MapEntry); + size += entry_lite_.SpaceUsed(); + return size; + } + + void CopyFrom(const ::google::protobuf::Message& from) { + Clear(); + MergeFrom(from); + } + + void MergeFrom(const ::google::protobuf::Message& from) { + GOOGLE_CHECK_NE(&from, this); + const MapEntry* source = dynamic_cast_if_available(&from); + if (source == NULL) { + ReflectionOps::Merge(from, this); + } else { + MergeFrom(*source); + } + } + + void CopyFrom(const MapEntry& from) { + Clear(); + MergeFrom(from); + } + + void MergeFrom(const MapEntry& from) { + entry_lite_.MergeFrom(from.entry_lite_); + } + + void Clear() { + entry_lite_.Clear(); + } + + void InitAsDefaultInstance() { + entry_lite_.InitAsDefaultInstance(); + } + + Arena* GetArena() const { + return entry_lite_.GetArena(); + } + + // Create default MapEntry instance for given descriptor. Descriptor has to be + // given when creating default MapEntry instance because different map field + // may have the same type and MapEntry class. The given descriptor is needed + // to distinguish instances of the same MapEntry class. + static MapEntry* CreateDefaultInstance(const Descriptor* descriptor) { + MapEntry* entry = new MapEntry; + const Reflection* reflection = new GeneratedMessageReflection( + descriptor, entry, offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MapEntry, entry_lite_._has_bits_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MapEntry, _unknown_fields_), -1, + DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(MapEntry), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MapEntry, _internal_metadata_)); + entry->descriptor_ = descriptor; + entry->reflection_ = reflection; + entry->set_default_instance(entry); + entry->InitAsDefaultInstance(); + RegisterMapEntryDefaultInstance(entry); + return entry; + } + + private: + MapEntry() + : _internal_metadata_(NULL), default_instance_(NULL), entry_lite_() {} + + explicit MapEntry(Arena* arena) + : _internal_metadata_(arena), + default_instance_(NULL), + entry_lite_(arena) {} + + inline Arena* GetArenaNoVirtual() const { + return entry_lite_.GetArenaNoVirtual(); + } + + void set_default_instance(MapEntry* default_instance) { + default_instance_ = default_instance; + entry_lite_.set_default_instance(&default_instance->entry_lite_); + } + + static int offsets_[2]; + UnknownFieldSet _unknown_fields_; + InternalMetadataWithArena _internal_metadata_; + MapEntry* default_instance_; + EntryLiteType entry_lite_; + + friend class ::google::protobuf::Arena; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + template + friend class internal::MapField; + friend class internal::GeneratedMessageReflection; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MapEntry); +}; + +template +int MapEntry::offsets_[2] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MapEntry, entry_lite_.key_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MapEntry, entry_lite_.value_), +}; + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_MAP_ENTRY_H__ diff --git a/app/src/main/cpp/include/google/protobuf/map_entry_lite.h b/app/src/main/cpp/include/google/protobuf/map_entry_lite.h new file mode 100644 index 0000000..3fb5822 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/map_entry_lite.h @@ -0,0 +1,568 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_MAP_ENTRY_LITE_H__ +#define GOOGLE_PROTOBUF_MAP_ENTRY_LITE_H__ + +#include +#include +#include + +namespace google { +namespace protobuf { +class Arena; +namespace internal { +template +class MapEntry; +template +class MapFieldLite; +} // namespace internal +} // namespace protobuf + +namespace protobuf { +namespace internal { + +// MoveHelper::Move is used to set *dest. It copies *src, or moves it (in +// the C++11 sense), or swaps it. *src is left in a sane state for +// subsequent destruction, but shouldn't be used for anything. +template +struct MoveHelper { // primitives + static void Move(T* src, T* dest) { *dest = *src; } +}; + +template +struct MoveHelper { // enums + static void Move(T* src, T* dest) { *dest = *src; } + // T is an enum here, so allow conversions to and from int. + static void Move(T* src, int* dest) { *dest = static_cast(*src); } + static void Move(int* src, T* dest) { *dest = static_cast(*src); } +}; + +template +struct MoveHelper { // messages + static void Move(T* src, T* dest) { dest->Swap(src); } +}; + +template +struct MoveHelper { // strings and similar + static void Move(T* src, T* dest) { +#if __cplusplus >= 201103L + *dest = std::move(*src); +#else + dest->swap(*src); +#endif + } +}; + +// MapEntryLite is used to implement parsing and serialization of map for lite +// runtime. +template +class MapEntryLite : public MessageLite { + // Provide utilities to parse/serialize key/value. Provide utilities to + // manipulate internal stored type. + typedef MapTypeHandler KeyTypeHandler; + typedef MapTypeHandler ValueTypeHandler; + + // Define internal memory layout. Strings and messages are stored as + // pointers, while other types are stored as values. + typedef typename KeyTypeHandler::TypeOnMemory KeyOnMemory; + typedef typename ValueTypeHandler::TypeOnMemory ValueOnMemory; + + // Enum type cannot be used for MapTypeHandler::Read. Define a type + // which will replace Enum with int. + typedef typename KeyTypeHandler::MapEntryAccessorType KeyMapEntryAccessorType; + typedef typename ValueTypeHandler::MapEntryAccessorType + ValueMapEntryAccessorType; + + // Constants for field number. + static const int kKeyFieldNumber = 1; + static const int kValueFieldNumber = 2; + + // Constants for field tag. + static const uint8 kKeyTag = GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG( + kKeyFieldNumber, KeyTypeHandler::kWireType); + static const uint8 kValueTag = GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG( + kValueFieldNumber, ValueTypeHandler::kWireType); + static const size_t kTagSize = 1; + + public: + ~MapEntryLite() { + if (this != default_instance_) { + if (GetArenaNoVirtual() != NULL) return; + KeyTypeHandler::DeleteNoArena(key_); + ValueTypeHandler::DeleteNoArena(value_); + } + } + + // accessors ====================================================== + + virtual inline const KeyMapEntryAccessorType& key() const { + return KeyTypeHandler::GetExternalReference(key_); + } + virtual inline const ValueMapEntryAccessorType& value() const { + GOOGLE_CHECK(default_instance_ != NULL); + return ValueTypeHandler::DefaultIfNotInitialized(value_, + default_instance_->value_); + } + inline KeyMapEntryAccessorType* mutable_key() { + set_has_key(); + return KeyTypeHandler::EnsureMutable(&key_, GetArenaNoVirtual()); + } + inline ValueMapEntryAccessorType* mutable_value() { + set_has_value(); + return ValueTypeHandler::EnsureMutable(&value_, GetArenaNoVirtual()); + } + + // implements MessageLite ========================================= + + // MapEntryLite is for implementation only and this function isn't called + // anywhere. Just provide a fake implementation here for MessageLite. + string GetTypeName() const { return ""; } + + void CheckTypeAndMergeFrom(const MessageLite& other) { + MergeFrom(*::google::protobuf::down_cast(&other)); + } + + bool MergePartialFromCodedStream(::google::protobuf::io::CodedInputStream* input) { + uint32 tag; + + for (;;) { + // 1) corrupted data: return false; + // 2) unknown field: skip without putting into unknown field set; + // 3) unknown enum value: keep it in parsing. In proto2, caller should + // check the value and put this entry into containing message's unknown + // field set if the value is an unknown enum. In proto3, caller doesn't + // need to care whether the value is unknown enum; + // 4) missing key/value: missed key/value will have default value. caller + // should take this entry as if key/value is set to default value. + tag = input->ReadTag(); + switch (tag) { + case kKeyTag: + if (!KeyTypeHandler::Read(input, mutable_key())) { + return false; + } + set_has_key(); + if (!input->ExpectTag(kValueTag)) break; + GOOGLE_FALLTHROUGH_INTENDED; + + case kValueTag: + if (!ValueTypeHandler::Read(input, mutable_value())) { + return false; + } + set_has_value(); + if (input->ExpectAtEnd()) return true; + break; + + default: + if (tag == 0 || + WireFormatLite::GetTagWireType(tag) == + WireFormatLite::WIRETYPE_END_GROUP) { + return true; + } + if (!WireFormatLite::SkipField(input, tag)) return false; + break; + } + } + } + + size_t ByteSizeLong() const { + size_t size = 0; + size += has_key() ? kTagSize + KeyTypeHandler::ByteSize(key()) : 0; + size += has_value() ? kTagSize + ValueTypeHandler::ByteSize(value()) : 0; + return size; + } + + void SerializeWithCachedSizes(::google::protobuf::io::CodedOutputStream* output) const { + KeyTypeHandler::Write(kKeyFieldNumber, key(), output); + ValueTypeHandler::Write(kValueFieldNumber, value(), output); + } + + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(bool deterministic, + ::google::protobuf::uint8* output) const { + output = KeyTypeHandler::InternalWriteToArray(kKeyFieldNumber, key(), + deterministic, output); + output = ValueTypeHandler::InternalWriteToArray(kValueFieldNumber, value(), + deterministic, output); + return output; + } + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + + int GetCachedSize() const { + int size = 0; + size += has_key() + ? kTagSize + KeyTypeHandler::GetCachedSize(key()) + : 0; + size += has_value() + ? kTagSize + ValueTypeHandler::GetCachedSize( + value()) + : 0; + return size; + } + + bool IsInitialized() const { return ValueTypeHandler::IsInitialized(value_); } + + MessageLite* New() const { + MapEntryLite* entry = new MapEntryLite; + entry->default_instance_ = default_instance_; + return entry; + } + + MessageLite* New(Arena* arena) const { + MapEntryLite* entry = Arena::CreateMessage(arena); + entry->default_instance_ = default_instance_; + return entry; + } + + int SpaceUsed() const { + int size = sizeof(MapEntryLite); + size += KeyTypeHandler::SpaceUsedInMapEntry(key_); + size += ValueTypeHandler::SpaceUsedInMapEntry(value_); + return size; + } + + void MergeFrom(const MapEntryLite& from) { + if (from._has_bits_[0]) { + if (from.has_key()) { + KeyTypeHandler::EnsureMutable(&key_, GetArenaNoVirtual()); + KeyTypeHandler::Merge(from.key(), &key_, GetArenaNoVirtual()); + set_has_key(); + } + if (from.has_value()) { + ValueTypeHandler::EnsureMutable(&value_, GetArenaNoVirtual()); + ValueTypeHandler::Merge(from.value(), &value_, GetArenaNoVirtual()); + set_has_value(); + } + } + } + + void Clear() { + KeyTypeHandler::Clear(&key_, GetArenaNoVirtual()); + ValueTypeHandler::ClearMaybeByDefaultEnum( + &value_, GetArenaNoVirtual(), default_enum_value); + clear_has_key(); + clear_has_value(); + } + + void InitAsDefaultInstance() { + KeyTypeHandler::AssignDefaultValue(&key_); + ValueTypeHandler::AssignDefaultValue(&value_); + } + + Arena* GetArena() const { + return GetArenaNoVirtual(); + } + + // Create a MapEntryLite for given key and value from google::protobuf::Map in + // serialization. This function is only called when value is enum. Enum is + // treated differently because its type in MapEntry is int and its type in + // google::protobuf::Map is enum. We cannot create a reference to int from an enum. + static MapEntryLite* EnumWrap(const Key& key, const Value value, + Arena* arena) { + return Arena::CreateMessage >( + arena, key, value); + } + + // Like above, but for all the other types. This avoids value copy to create + // MapEntryLite from google::protobuf::Map in serialization. + static MapEntryLite* Wrap(const Key& key, const Value& value, Arena* arena) { + return Arena::CreateMessage >( + arena, key, value); + } + + // Parsing using MergePartialFromCodedStream, above, is not as + // efficient as it could be. This helper class provides a speedier way. + template + class Parser { + public: + explicit Parser(MapField* mf) : mf_(mf), map_(mf->MutableMap()) {} + + // This does what the typical MergePartialFromCodedStream() is expected to + // do, with the additional side-effect that if successful (i.e., if true is + // going to be its return value) it inserts the key-value pair into map_. + bool MergePartialFromCodedStream(::google::protobuf::io::CodedInputStream* input) { + // Look for the expected thing: a key and then a value. If it fails, + // invoke the enclosing class's MergePartialFromCodedStream, or return + // false if that would be pointless. + if (input->ExpectTag(kKeyTag)) { + if (!KeyTypeHandler::Read(input, &key_)) { + return false; + } + // Peek at the next byte to see if it is kValueTag. If not, bail out. + const void* data; + int size; + input->GetDirectBufferPointerInline(&data, &size); + // We could use memcmp here, but we don't bother. The tag is one byte. + assert(kTagSize == 1); + if (size > 0 && *reinterpret_cast(data) == kValueTag) { + typename Map::size_type size = map_->size(); + value_ptr_ = &(*map_)[key_]; + if (GOOGLE_PREDICT_TRUE(size != map_->size())) { + // We created a new key-value pair. Fill in the value. + typedef + typename MapIf::type T; + input->Skip(kTagSize); // Skip kValueTag. + if (!ValueTypeHandler::Read(input, + reinterpret_cast(value_ptr_))) { + map_->erase(key_); // Failure! Undo insertion. + return false; + } + if (input->ExpectAtEnd()) return true; + return ReadBeyondKeyValuePair(input); + } + } + } else { + key_ = Key(); + } + + entry_.reset(mf_->NewEntry()); + *entry_->mutable_key() = key_; + if (!entry_->MergePartialFromCodedStream(input)) return false; + return UseKeyAndValueFromEntry(); + } + + const Key& key() const { return key_; } + const Value& value() const { return *value_ptr_; } + + private: + bool UseKeyAndValueFromEntry() GOOGLE_ATTRIBUTE_COLD { + // Update key_ in case we need it later (because key() is called). + // This is potentially inefficient, especially if the key is + // expensive to copy (e.g., a long string), but this is a cold + // path, so it's not a big deal. + key_ = entry_->key(); + value_ptr_ = &(*map_)[key_]; + MoveHelper::Move(entry_->mutable_value(), value_ptr_); + if (entry_->GetArena() != NULL) entry_.release(); + return true; + } + + // After reading a key and value successfully, and inserting that data + // into map_, we are not at the end of the input. This is unusual, but + // allowed by the spec. + bool ReadBeyondKeyValuePair(::google::protobuf::io::CodedInputStream* input) + GOOGLE_ATTRIBUTE_COLD { + typedef MoveHelper KeyMover; + typedef MoveHelper ValueMover; + entry_.reset(mf_->NewEntry()); + ValueMover::Move(value_ptr_, entry_->mutable_value()); + map_->erase(key_); + KeyMover::Move(&key_, entry_->mutable_key()); + if (!entry_->MergePartialFromCodedStream(input)) return false; + return UseKeyAndValueFromEntry(); + } + + MapField* const mf_; + Map* const map_; + Key key_; + Value* value_ptr_; + // On the fast path entry_ is not used. + google::protobuf::scoped_ptr entry_; + }; + + protected: + void set_has_key() { _has_bits_[0] |= 0x00000001u; } + bool has_key() const { return (_has_bits_[0] & 0x00000001u) != 0; } + void clear_has_key() { _has_bits_[0] &= ~0x00000001u; } + void set_has_value() { _has_bits_[0] |= 0x00000002u; } + bool has_value() const { return (_has_bits_[0] & 0x00000002u) != 0; } + void clear_has_value() { _has_bits_[0] &= ~0x00000002u; } + + private: + // Serializing a generated message containing map field involves serializing + // key-value pairs from google::protobuf::Map. The wire format of each key-value pair + // after serialization should be the same as that of a MapEntry message + // containing the same key and value inside it. However, google::protobuf::Map doesn't + // store key and value as MapEntry message, which disables us to use existing + // code to serialize message. In order to use existing code to serialize + // message, we need to construct a MapEntry from key-value pair. But it + // involves copy of key and value to construct a MapEntry. In order to avoid + // this copy in constructing a MapEntry, we need the following class which + // only takes references of given key and value. + template + class MapEntryWrapper + : public MapEntryLite { + typedef MapEntryLite Base; + typedef typename Base::KeyMapEntryAccessorType KeyMapEntryAccessorType; + typedef typename Base::ValueMapEntryAccessorType ValueMapEntryAccessorType; + + public: + MapEntryWrapper(Arena* arena, const K& key, const V& value) + : MapEntryLite(arena), + key_(key), + value_(value) { + Base::set_has_key(); + Base::set_has_value(); + } + inline const KeyMapEntryAccessorType& key() const { return key_; } + inline const ValueMapEntryAccessorType& value() const { return value_; } + + private: + const Key& key_; + const Value& value_; + + friend class ::google::protobuf::Arena; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + }; + + // Like above, but for enum value only, which stores value instead of + // reference of value field inside. This is needed because the type of value + // field in constructor is an enum, while we need to store it as an int. If we + // initialize a reference to int with a reference to enum, compiler will + // generate a temporary int from enum and initialize the reference to int with + // the temporary. + template + class MapEnumEntryWrapper + : public MapEntryLite { + typedef MapEntryLite Base; + typedef typename Base::KeyMapEntryAccessorType KeyMapEntryAccessorType; + typedef typename Base::ValueMapEntryAccessorType ValueMapEntryAccessorType; + + public: + MapEnumEntryWrapper(Arena* arena, const K& key, const V& value) + : MapEntryLite(arena), + key_(key), + value_(value) { + Base::set_has_key(); + Base::set_has_value(); + } + inline const KeyMapEntryAccessorType& key() const { return key_; } + inline const ValueMapEntryAccessorType& value() const { return value_; } + + private: + const KeyMapEntryAccessorType& key_; + const ValueMapEntryAccessorType value_; + + friend class google::protobuf::Arena; + typedef void DestructorSkippable_; + }; + + MapEntryLite() : default_instance_(NULL), arena_(NULL) { + KeyTypeHandler::Initialize(&key_, NULL); + ValueTypeHandler::InitializeMaybeByDefaultEnum( + &value_, default_enum_value, NULL); + _has_bits_[0] = 0; + } + + explicit MapEntryLite(Arena* arena) + : default_instance_(NULL), arena_(arena) { + KeyTypeHandler::Initialize(&key_, arena); + ValueTypeHandler::InitializeMaybeByDefaultEnum( + &value_, default_enum_value, arena); + _has_bits_[0] = 0; + } + + inline Arena* GetArenaNoVirtual() const { + return arena_; + } + + void set_default_instance(MapEntryLite* default_instance) { + default_instance_ = default_instance; + } + + MapEntryLite* default_instance_; + + KeyOnMemory key_; + ValueOnMemory value_; + Arena* arena_; + uint32 _has_bits_[1]; + + friend class ::google::protobuf::Arena; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + template + friend class internal::MapEntry; + template + friend class internal::MapFieldLite; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MapEntryLite); +}; + +// Helpers for deterministic serialization ============================= + +// This struct can be used with any generic sorting algorithm. If the Key +// type is relatively small and easy to copy then copying Keys into an +// array of SortItems can be beneficial. Then all the data the sorting +// algorithm needs to touch is in that one array. +template struct SortItem { + SortItem() {} + explicit SortItem(PtrToKeyValuePair p) : first(p->first), second(p) {} + + Key first; + PtrToKeyValuePair second; +}; + +template struct CompareByFirstField { + bool operator()(const T& a, const T& b) const { + return a.first < b.first; + } +}; + +template struct CompareByDerefFirst { + bool operator()(const T& a, const T& b) const { + return a->first < b->first; + } +}; + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_MAP_ENTRY_LITE_H__ diff --git a/app/src/main/cpp/include/google/protobuf/map_field.h b/app/src/main/cpp/include/google/protobuf/map_field.h new file mode 100644 index 0000000..d6af853 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/map_field.h @@ -0,0 +1,397 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_MAP_FIELD_H__ +#define GOOGLE_PROTOBUF_MAP_FIELD_H__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace google { +namespace protobuf { +class DynamicMessage; +class MapKey; +namespace internal { + +class ContendedMapCleanTest; +class GeneratedMessageReflection; +class MapFieldAccessor; + +// This class provides access to map field using reflection, which is the same +// as those provided for RepeatedPtrField. It is used for internal +// reflection implentation only. Users should never use this directly. +class LIBPROTOBUF_EXPORT MapFieldBase { + public: + MapFieldBase() + : arena_(NULL), + repeated_field_(NULL), + entry_descriptor_(NULL), + assign_descriptor_callback_(NULL), + state_(STATE_MODIFIED_MAP) {} + explicit MapFieldBase(Arena* arena) + : arena_(arena), + repeated_field_(NULL), + entry_descriptor_(NULL), + assign_descriptor_callback_(NULL), + state_(STATE_MODIFIED_MAP) { + // Mutex's destructor needs to be called explicitly to release resources + // acquired in its constructor. + arena->OwnDestructor(&mutex_); + } + virtual ~MapFieldBase(); + + // Returns reference to internal repeated field. Data written using + // google::protobuf::Map's api prior to calling this function is guarantted to be + // included in repeated field. + const RepeatedPtrFieldBase& GetRepeatedField() const; + + // Like above. Returns mutable pointer to the internal repeated field. + RepeatedPtrFieldBase* MutableRepeatedField(); + + // Pure virtual map APIs for Map Reflection. + virtual bool ContainsMapKey(const MapKey& map_key) const = 0; + virtual bool InsertOrLookupMapValue( + const MapKey& map_key, MapValueRef* val) = 0; + virtual bool DeleteMapValue(const MapKey& map_key) = 0; + virtual bool EqualIterator(const MapIterator& a, + const MapIterator& b) const = 0; + virtual void MapBegin(MapIterator* map_iter) const = 0; + virtual void MapEnd(MapIterator* map_iter) const = 0; + // Sync Map with repeated field and returns the size of map. + virtual int size() const = 0; + + // Returns the number of bytes used by the repeated field, excluding + // sizeof(*this) + int SpaceUsedExcludingSelf() const; + + protected: + // Gets the size of space used by map field. + virtual int SpaceUsedExcludingSelfNoLock() const; + + // Synchronizes the content in Map to RepeatedPtrField if there is any change + // to Map after last synchronization. + void SyncRepeatedFieldWithMap() const; + virtual void SyncRepeatedFieldWithMapNoLock() const; + + // Synchronizes the content in RepeatedPtrField to Map if there is any change + // to RepeatedPtrField after last synchronization. + void SyncMapWithRepeatedField() const; + virtual void SyncMapWithRepeatedFieldNoLock() const {} + + // Tells MapFieldBase that there is new change to Map. + void SetMapDirty(); + + // Tells MapFieldBase that there is new change to RepeatedPTrField. + void SetRepeatedDirty(); + + // Provides derived class the access to repeated field. + void* MutableRepeatedPtrField() const; + + // Creates descriptor for only one time. + void InitMetadataOnce() const; + + enum State { + STATE_MODIFIED_MAP = 0, // map has newly added data that has not been + // synchronized to repeated field + STATE_MODIFIED_REPEATED = 1, // repeated field has newly added data that + // has not been synchronized to map + CLEAN = 2, // data in map and repeated field are same + }; + + Arena* arena_; + mutable RepeatedPtrField* repeated_field_; + // MapEntry can only be created from MapField. To create MapEntry, MapField + // needs to know its descriptor, because MapEntry is not generated class which + // cannot initialize its own descriptor by calling generated + // descriptor-assign-function. Thus, we need to register a callback to + // initialize MapEntry's descriptor. + const Descriptor** entry_descriptor_; + void (*assign_descriptor_callback_)(); + + mutable Mutex mutex_; // The thread to synchronize map and repeated field + // needs to get lock first; + mutable volatile Atomic32 state_; // 0: STATE_MODIFIED_MAP + // 1: STATE_MODIFIED_REPEATED + // 2: CLEAN + + private: + friend class ContendedMapCleanTest; + friend class GeneratedMessageReflection; + friend class MapFieldAccessor; + friend class ::google::protobuf::DynamicMessage; + + // Virtual helper methods for MapIterator. MapIterator doesn't have the + // type helper for key and value. Call these help methods to deal with + // different types. Real helper methods are implemented in + // TypeDefinedMapFieldBase. + friend class ::google::protobuf::MapIterator; + // Allocate map<...>::iterator for MapIterator. + virtual void InitializeIterator(MapIterator* map_iter) const = 0; + + // DeleteIterator() is called by the destructor of MapIterator only. + // It deletes map<...>::iterator for MapIterator. + virtual void DeleteIterator(MapIterator* map_iter) const = 0; + + // Copy the map<...>::iterator from other_iterator to + // this_iterator. + virtual void CopyIterator(MapIterator* this_iterator, + const MapIterator& other_iterator) const = 0; + + // IncreaseIterator() is called by operator++() of MapIterator only. + // It implements the ++ operator of MapIterator. + virtual void IncreaseIterator(MapIterator* map_iter) const = 0; +}; + +// This class provides common Map Reflection implementations for generated +// message and dynamic message. +template +class TypeDefinedMapFieldBase : public MapFieldBase { + public: + TypeDefinedMapFieldBase() {} + explicit TypeDefinedMapFieldBase(Arena* arena) : MapFieldBase(arena) {} + ~TypeDefinedMapFieldBase() {} + void MapBegin(MapIterator* map_iter) const; + void MapEnd(MapIterator* map_iter) const; + bool EqualIterator(const MapIterator& a, const MapIterator& b) const; + + virtual const Map& GetMap() const = 0; + virtual Map* MutableMap() = 0; + + protected: + typename Map::const_iterator& InternalGetIterator( + const MapIterator* map_iter) const; + + private: + void InitializeIterator(MapIterator* map_iter) const; + void DeleteIterator(MapIterator* map_iter) const; + void CopyIterator(MapIterator* this_iteratorm, + const MapIterator& that_iterator) const; + void IncreaseIterator(MapIterator* map_iter) const; + + virtual void SetMapIteratorValue(MapIterator* map_iter) const = 0; +}; + +// This class provides access to map field using generated api. It is used for +// internal generated message implentation only. Users should never use this +// directly. +template +class MapField : public TypeDefinedMapFieldBase, + public MapFieldLite { + // Provide utilities to parse/serialize key/value. Provide utilities to + // manipulate internal stored type. + typedef MapTypeHandler KeyTypeHandler; + typedef MapTypeHandler ValueTypeHandler; + + // Define message type for internal repeated field. + typedef MapEntry + EntryType; + typedef MapEntryLite EntryLiteType; + + // Define abbreviation for parent MapFieldLite + typedef MapFieldLite MapFieldLiteType; + + // Enum needs to be handled differently from other types because it has + // different exposed type in google::protobuf::Map's api and repeated field's api. For + // details see the comment in the implementation of + // SyncMapWithRepeatedFieldNoLock. + static const bool kIsValueEnum = ValueTypeHandler::kIsEnum; + typedef typename MapIf::type CastValueType; + + public: + MapField(); + explicit MapField(Arena* arena); + // MapField doesn't own the default_entry, which means default_entry must + // outlive the lifetime of MapField. + MapField(const Message* default_entry); + // For tests only. + MapField(Arena* arena, const Message* default_entry); + ~MapField(); + + // Implement MapFieldBase + bool ContainsMapKey(const MapKey& map_key) const; + bool InsertOrLookupMapValue(const MapKey& map_key, MapValueRef* val); + bool DeleteMapValue(const MapKey& map_key); + + // Accessors + const Map& GetMap() const; + Map* MutableMap(); + + // Convenient methods for generated message implementation. + int size() const; + void Clear(); + void MergeFrom(const MapFieldLiteType& other); + void Swap(MapFieldLiteType* other); + + // Allocates metadata only if this MapField is part of a generated message. + void SetEntryDescriptor(const Descriptor** descriptor); + void SetAssignDescriptorCallback(void (*callback)()); + + private: + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + + // MapField needs MapEntry's default instance to create new MapEntry. + void InitDefaultEntryOnce() const; + + // Manually set default entry instance. For test only. + void SetDefaultEntryOnce(const EntryType* default_entry) const; + + // Convenient methods to get internal google::protobuf::Map + const Map& GetInternalMap() const; + Map* MutableInternalMap(); + + // Implements MapFieldBase + void SyncRepeatedFieldWithMapNoLock() const; + void SyncMapWithRepeatedFieldNoLock() const; + int SpaceUsedExcludingSelfNoLock() const; + + void SetMapIteratorValue(MapIterator* map_iter) const; + + mutable const EntryType* default_entry_; + + friend class ::google::protobuf::Arena; +}; + +class LIBPROTOBUF_EXPORT DynamicMapField: public TypeDefinedMapFieldBase { + public: + explicit DynamicMapField(const Message* default_entry); + DynamicMapField(const Message* default_entry, Arena* arena); + ~DynamicMapField(); + + // Implement MapFieldBase + bool ContainsMapKey(const MapKey& map_key) const; + bool InsertOrLookupMapValue(const MapKey& map_key, MapValueRef* val); + bool DeleteMapValue(const MapKey& map_key); + + const Map& GetMap() const; + Map* MutableMap(); + + int size() const; + + private: + Map map_; + const Message* default_entry_; + + // Implements MapFieldBase + void SyncRepeatedFieldWithMapNoLock() const; + void SyncMapWithRepeatedFieldNoLock() const; + int SpaceUsedExcludingSelfNoLock() const; + void SetMapIteratorValue(MapIterator* map_iter) const; +}; + +} // namespace internal + +class LIBPROTOBUF_EXPORT MapIterator { + public: + MapIterator(Message* message, const FieldDescriptor* field) { + const Reflection* reflection = message->GetReflection(); + map_ = reflection->MapData(message, field); + key_.SetType(field->message_type()->FindFieldByName("key")->cpp_type()); + value_.SetType(field->message_type()->FindFieldByName("value")->cpp_type()); + map_->InitializeIterator(this); + } + MapIterator(const MapIterator& other) { + map_ = other.map_; + map_->InitializeIterator(this); + map_->CopyIterator(this, other); + } + ~MapIterator() { + map_->DeleteIterator(this); + } + friend bool operator==(const MapIterator& a, const MapIterator& b) { + return a.map_->EqualIterator(a, b); + } + friend bool operator!=(const MapIterator& a, const MapIterator& b) { + return !a.map_->EqualIterator(a, b); + } + MapIterator& operator++() { + map_->IncreaseIterator(this); + return *this; + } + MapIterator operator++(int) { + // iter_ is copied from Map<...>::iterator, no need to + // copy from its self again. Use the same implementation + // with operator++() + map_->IncreaseIterator(this); + return *this; + } + const MapKey& GetKey() { + return key_; + } + const MapValueRef& GetValueRef() { + return value_; + } + MapValueRef* MutableValueRef() { + map_->SetMapDirty(); + return &value_; + } + + private: + template + friend class internal::TypeDefinedMapFieldBase; + friend class internal::DynamicMapField; + template + friend class internal::MapField; + + // reinterpret_cast from heap-allocated Map<...>::iterator*. MapIterator owns + // the iterator. It is allocated by MapField<...>::InitializeIterator() called + // in constructor and deleted by MapField<...>::DeleteIterator() called in + // destructor. + void* iter_; + // Point to a MapField to call helper methods implemented in MapField. + // MapIterator does not own this object. + internal::MapFieldBase* map_; + MapKey key_; + MapValueRef value_; +}; + +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_MAP_FIELD_H__ diff --git a/app/src/main/cpp/include/google/protobuf/map_field_inl.h b/app/src/main/cpp/include/google/protobuf/map_field_inl.h new file mode 100644 index 0000000..01c9b89 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/map_field_inl.h @@ -0,0 +1,489 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_MAP_FIELD_INL_H__ +#define GOOGLE_PROTOBUF_MAP_FIELD_INL_H__ + +#include +#ifndef _SHARED_PTR_H +#include +#endif + +#include +#include +#include + +namespace google { +namespace protobuf { +namespace internal { +// UnwrapMapKey template +template +T UnwrapMapKey(const MapKey& map_key); +template<> +inline int32 UnwrapMapKey(const MapKey& map_key) { + return map_key.GetInt32Value(); +} +template<> +inline uint32 UnwrapMapKey(const MapKey& map_key) { + return map_key.GetUInt32Value(); +} +template<> +inline int64 UnwrapMapKey(const MapKey& map_key) { + return map_key.GetInt64Value(); +} +template<> +inline uint64 UnwrapMapKey(const MapKey& map_key) { + return map_key.GetUInt64Value(); +} +template<> +inline bool UnwrapMapKey(const MapKey& map_key) { + return map_key.GetBoolValue(); +} +template<> +inline string UnwrapMapKey(const MapKey& map_key) { + return map_key.GetStringValue(); +} + +// SetMapKey template +template +inline void SetMapKey(MapKey* map_key, const T& value); +template<> +inline void SetMapKey(MapKey* map_key, const int32& value) { + map_key->SetInt32Value(value); +} +template<> +inline void SetMapKey(MapKey* map_key, const uint32& value) { + map_key->SetUInt32Value(value); +} +template<> +inline void SetMapKey(MapKey* map_key, const int64& value) { + map_key->SetInt64Value(value); +} +template<> +inline void SetMapKey(MapKey* map_key, const uint64& value) { + map_key->SetUInt64Value(value); +} +template<> +inline void SetMapKey(MapKey* map_key, const bool& value) { + map_key->SetBoolValue(value); +} +template<> +inline void SetMapKey(MapKey* map_key, const string& value) { + map_key->SetStringValue(value); +} + +// ------------------------TypeDefinedMapFieldBase--------------- +template +typename Map::const_iterator& +TypeDefinedMapFieldBase::InternalGetIterator( + const MapIterator* map_iter) const { + return *reinterpret_cast::const_iterator *>( + map_iter->iter_); +} + +template +void TypeDefinedMapFieldBase::MapBegin(MapIterator* map_iter) const { + InternalGetIterator(map_iter) = GetMap().begin(); + SetMapIteratorValue(map_iter); +} + +template +void TypeDefinedMapFieldBase::MapEnd(MapIterator* map_iter) const { + InternalGetIterator(map_iter) = GetMap().end(); +} + +template +bool TypeDefinedMapFieldBase::EqualIterator(const MapIterator& a, + const MapIterator& b) + const { + return InternalGetIterator(&a) == InternalGetIterator(&b); +} + +template +void TypeDefinedMapFieldBase::IncreaseIterator(MapIterator* map_iter) + const { + ++InternalGetIterator(map_iter); + SetMapIteratorValue(map_iter); +} + +template +void TypeDefinedMapFieldBase::InitializeIterator( + MapIterator* map_iter) const { + map_iter->iter_ = new typename Map::const_iterator; + GOOGLE_CHECK(map_iter->iter_ != NULL); +} + +template +void TypeDefinedMapFieldBase::DeleteIterator(MapIterator* map_iter) + const { + delete reinterpret_cast::const_iterator *>( + map_iter->iter_); +} + +template +void TypeDefinedMapFieldBase::CopyIterator( + MapIterator* this_iter, + const MapIterator& that_iter) const { + InternalGetIterator(this_iter) = InternalGetIterator(&that_iter); + this_iter->key_.SetType(that_iter.key_.type()); + // MapValueRef::type() fails when containing data is null. However, if + // this_iter points to MapEnd, data can be null. + this_iter->value_.SetType( + static_cast(that_iter.value_.type_)); + SetMapIteratorValue(this_iter); +} + +// ---------------------------------------------------------------------- + +template +MapField::MapField() + : default_entry_(NULL) {} + +template +MapField::MapField( + Arena* arena) + : TypeDefinedMapFieldBase(arena), + MapFieldLite( + arena), + default_entry_(NULL) {} + +template +MapField::MapField( + const Message* default_entry) + : default_entry_(down_cast(default_entry)) {} + +template +MapField::MapField( + Arena* arena, const Message* default_entry) + : TypeDefinedMapFieldBase(arena), + MapFieldLite( + arena), + default_entry_(down_cast(default_entry)) {} + +template +MapField::~MapField() {} + +template +int +MapField::size() const { + MapFieldBase::SyncMapWithRepeatedField(); + return MapFieldLiteType::GetInternalMap().size(); +} + +template +void +MapField::Clear() { + MapFieldBase::SyncMapWithRepeatedField(); + MapFieldLiteType::MutableInternalMap()->clear(); + MapFieldBase::SetMapDirty(); +} + +template +void MapField::SetMapIteratorValue( + MapIterator* map_iter) const { + const Map& map = GetMap(); + typename Map::const_iterator iter = + TypeDefinedMapFieldBase::InternalGetIterator(map_iter); + if (iter == map.end()) return; + SetMapKey(&map_iter->key_, iter->first); + map_iter->value_.SetValue(&iter->second); +} + +template +bool MapField::ContainsMapKey( + const MapKey& map_key) const { + const Map& map = GetMap(); + const Key& key = UnwrapMapKey(map_key); + typename Map::const_iterator iter = map.find(key); + return iter != map.end(); +} + +template +bool MapField::InsertOrLookupMapValue( + const MapKey& map_key, + MapValueRef* val) { + // Always use mutable map because users may change the map value by + // MapValueRef. + Map* map = MutableMap(); + const Key& key = UnwrapMapKey(map_key); + typename Map::iterator iter = map->find(key); + if (map->end() == iter) { + val->SetValue(&((*map)[key])); + return true; + } + // Key is already in the map. Make sure (*map)[key] is not called. + // [] may reorder the map and iterators. + val->SetValue(&(iter->second)); + return false; +} + +template +bool MapField::DeleteMapValue( + const MapKey& map_key) { + const Key& key = UnwrapMapKey(map_key); + return MutableMap()->erase(key); +} + +template +const Map& +MapField::GetMap() const { + MapFieldBase::SyncMapWithRepeatedField(); + return MapFieldLiteType::GetInternalMap(); +} + +template +Map* +MapField::MutableMap() { + MapFieldBase::SyncMapWithRepeatedField(); + Map* result = MapFieldLiteType::MutableInternalMap(); + MapFieldBase::SetMapDirty(); + return result; +} + +template +void +MapField::MergeFrom( + const MapFieldLiteType& other) { + const MapField& down_other = down_cast(other); + MapFieldBase::SyncMapWithRepeatedField(); + down_other.SyncMapWithRepeatedField(); + MapFieldLiteType::MergeFrom(other); + MapFieldBase::SetMapDirty(); +} + +template +void +MapField::Swap( + MapFieldLiteType* other) { + MapField* down_other = down_cast(other); + std::swap(MapFieldBase::repeated_field_, down_other->repeated_field_); + MapFieldLiteType::Swap(other); + std::swap(MapFieldBase::state_, down_other->state_); +} + +template +void +MapField::SetEntryDescriptor( + const Descriptor** descriptor) { + MapFieldBase::entry_descriptor_ = descriptor; +} + +template +void +MapField::SetAssignDescriptorCallback(void (*callback)()) { + MapFieldBase::assign_descriptor_callback_ = callback; +} + +template +const Map& +MapField::GetInternalMap() const { + return MapFieldLiteType::GetInternalMap(); +} + +template +Map* +MapField::MutableInternalMap() { + return MapFieldLiteType::MutableInternalMap(); +} + +template +void +MapField::SyncRepeatedFieldWithMapNoLock() const { + if (MapFieldBase::repeated_field_ == NULL) { + if (MapFieldBase::arena_ == NULL) { + MapFieldBase::repeated_field_ = new RepeatedPtrField(); + } else { + MapFieldBase::repeated_field_ = + Arena::CreateMessage >( + MapFieldBase::arena_); + } + } + const Map& map = GetInternalMap(); + RepeatedPtrField* repeated_field = + reinterpret_cast*>( + MapFieldBase::repeated_field_); + + repeated_field->Clear(); + + for (typename Map::const_iterator it = map.begin(); + it != map.end(); ++it) { + InitDefaultEntryOnce(); + GOOGLE_CHECK(default_entry_ != NULL); + EntryType* new_entry = + down_cast(default_entry_->New(MapFieldBase::arena_)); + repeated_field->AddAllocated(new_entry); + (*new_entry->mutable_key()) = it->first; + (*new_entry->mutable_value()) = it->second; + } +} + +template +void +MapField::SyncMapWithRepeatedFieldNoLock() const { + Map* map = const_cast(this)->MutableInternalMap(); + RepeatedPtrField* repeated_field = + reinterpret_cast*>( + MapFieldBase::repeated_field_); + GOOGLE_CHECK(MapFieldBase::repeated_field_ != NULL); + map->clear(); + for (typename RepeatedPtrField::iterator it = + repeated_field->begin(); it != repeated_field->end(); ++it) { + // Cast is needed because Map's api and internal storage is different when + // value is enum. For enum, we cannot cast an int to enum. Thus, we have to + // copy value. For other types, they have same exposed api type and internal + // stored type. We should not introduce value copy for them. We achieve this + // by casting to value for enum while casting to reference for other types. + (*map)[it->key()] = static_cast(it->value()); + } +} + +template +int +MapField::SpaceUsedExcludingSelfNoLock() const { + int size = 0; + if (MapFieldBase::repeated_field_ != NULL) { + size += MapFieldBase::repeated_field_->SpaceUsedExcludingSelf(); + } + Map* map = const_cast(this)->MutableInternalMap(); + size += sizeof(*map); + for (typename Map::iterator it = map->begin(); + it != map->end(); ++it) { + size += KeyTypeHandler::SpaceUsedInMap(it->first); + size += ValueTypeHandler::SpaceUsedInMap(it->second); + } + return size; +} + +template +void +MapField::InitDefaultEntryOnce() + const { + if (default_entry_ == NULL) { + MapFieldBase::InitMetadataOnce(); + GOOGLE_CHECK(*MapFieldBase::entry_descriptor_ != NULL); + default_entry_ = down_cast( + MessageFactory::generated_factory()->GetPrototype( + *MapFieldBase::entry_descriptor_)); + } +} + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_MAP_FIELD_INL_H__ diff --git a/app/src/main/cpp/include/google/protobuf/map_field_lite.h b/app/src/main/cpp/include/google/protobuf/map_field_lite.h new file mode 100644 index 0000000..a9f30f5 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/map_field_lite.h @@ -0,0 +1,278 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_MAP_FIELD_LITE_H__ +#define GOOGLE_PROTOBUF_MAP_FIELD_LITE_H__ + +#include +#include + +namespace google { +namespace protobuf { +namespace internal { + +// This class provides access to map field using generated api. It is used for +// internal generated message implentation only. Users should never use this +// directly. +template +class MapFieldLite { + // Define message type for internal repeated field. + typedef MapEntryLite EntryType; + + public: + MapFieldLite(); + explicit MapFieldLite(Arena* arena); + virtual ~MapFieldLite(); + + // Accessors + virtual const Map& GetMap() const; + virtual Map* MutableMap(); + + // Convenient methods for generated message implementation. + virtual int size() const; + virtual void Clear(); + virtual void MergeFrom(const MapFieldLite& other); + virtual void Swap(MapFieldLite* other); + + // Set default enum value only for proto2 map field whose value is enum type. + void SetDefaultEnumValue(); + + // Used in the implementation of parsing. Caller should take the ownership. + EntryType* NewEntry() const; + // Used in the implementation of serializing enum value type. Caller should + // take the ownership. + EntryType* NewEnumEntryWrapper(const Key& key, const T t) const; + // Used in the implementation of serializing other value types. Caller should + // take the ownership. + EntryType* NewEntryWrapper(const Key& key, const T& t) const; + + protected: + // Convenient methods to get internal google::protobuf::Map + virtual const Map& GetInternalMap() const; + virtual Map* MutableInternalMap(); + + private: + typedef void DestructorSkippable_; + + Arena* arena_; + Map* map_; + + friend class ::google::protobuf::Arena; +}; + +template +MapFieldLite::MapFieldLite() + : arena_(NULL) { + map_ = new Map; + SetDefaultEnumValue(); +} + +template +MapFieldLite::MapFieldLite(Arena* arena) + : arena_(arena) { + map_ = Arena::CreateMessage >(arena); + SetDefaultEnumValue(); +} + +template +MapFieldLite::~MapFieldLite() { + delete map_; +} + +template +const Map& +MapFieldLite::GetMap() const { + return *map_; +} + +template +Map* +MapFieldLite::MutableMap() { + return map_; +} + +template +int +MapFieldLite::size() const { + return map_->size(); +} + +template +void +MapFieldLite::Clear() { + map_->clear(); +} + +template +void +MapFieldLite::MergeFrom( + const MapFieldLite& other) { + for (typename Map::const_iterator it = other.map_->begin(); + it != other.map_->end(); ++it) { + (*map_)[it->first] = it->second; + } +} + +template +void +MapFieldLite::Swap( + MapFieldLite* other) { + std::swap(map_, other->map_); +} + +template +void +MapFieldLite::SetDefaultEnumValue() { + MutableInternalMap()->SetDefaultEnumValue(default_enum_value); +} + +template +const Map& +MapFieldLite::GetInternalMap() const { + return *map_; +} + +template +Map* +MapFieldLite::MutableInternalMap() { + return map_; +} + +#define EntryType \ + MapEntryLite + +template +EntryType* +MapFieldLite::NewEntry() const { + if (arena_ == NULL) { + return new EntryType(); + } else { + return Arena::CreateMessage(arena_); + } +} + +template +EntryType* +MapFieldLite::NewEnumEntryWrapper(const Key& key, + const T t) const { + return EntryType::EnumWrap(key, t, arena_); +} + +template +EntryType* +MapFieldLite::NewEntryWrapper(const Key& key, + const T& t) const { + return EntryType::Wrap(key, t, arena_); +} + +#undef EntryType + +// True if IsInitialized() is true for value field in all elements of t. T is +// expected to be message. It's useful to have this helper here to keep the +// protobuf compiler from ever having to emit loops in IsInitialized() methods. +// We want the C++ compiler to inline this or not as it sees fit. +template +bool AllAreInitialized(const Map& t) { + for (typename Map::const_iterator it = t.begin(); it != t.end(); + ++it) { + if (!it->second.IsInitialized()) return false; + } + return true; +} + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_MAP_FIELD_LITE_H__ diff --git a/app/src/main/cpp/include/google/protobuf/map_type_handler.h b/app/src/main/cpp/include/google/protobuf/map_type_handler.h new file mode 100644 index 0000000..a21c92d --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/map_type_handler.h @@ -0,0 +1,743 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_TYPE_HANDLER_H__ +#define GOOGLE_PROTOBUF_TYPE_HANDLER_H__ + +#include +#include +#include + +namespace google { +namespace protobuf { +namespace internal { + +// Used for compile time type selection. MapIf::type will be TrueType if Flag is +// true and FalseType otherwise. +template +struct MapIf; + +template +struct MapIf { + typedef TrueType type; +}; + +template +struct MapIf { + typedef FalseType type; +}; + +// In proto2 Map, enum needs to be initialized to given default value, while +// other types' default value can be inferred from the type. +template +class MapValueInitializer { + public: + static inline void Initialize(Type& type, int default_enum_value); +}; + +template +class MapValueInitializer { + public: + static inline void Initialize(Type& value, int default_enum_value) { + value = static_cast(default_enum_value); + } +}; + +template +class MapValueInitializer { + public: + static inline void Initialize(Type& value, int default_enum_value) {} +}; + +template +class MapArenaMessageCreator { + public: + // Use arena to create message if Type is arena constructable. Otherwise, + // create the message on heap. + static inline Type* CreateMessage(Arena* arena); +}; +template +class MapArenaMessageCreator { + public: + static inline Type* CreateMessage(Arena* arena) { + return Arena::CreateMessage(arena); + } +}; +template +class MapArenaMessageCreator { + public: + static inline Type* CreateMessage(Arena* arena) { + return Arena::Create(arena); + } +}; + +// Define constants for given wire field type +template +class MapWireFieldTypeTraits {}; + +#define TYPE_TRAITS(FieldType, CType, WireFormatType, IsMessage, IsEnum) \ + template \ + class MapWireFieldTypeTraits { \ + public: \ + static const bool kIsMessage = IsMessage; \ + static const bool kIsEnum = IsEnum; \ + typedef typename MapIf::type TypeOnMemory; \ + typedef typename MapIf::type MapEntryAccessorType; \ + static const WireFormatLite::WireType kWireType = \ + WireFormatLite::WIRETYPE_##WireFormatType; \ + }; + +TYPE_TRAITS(MESSAGE , Type, LENGTH_DELIMITED, true, false) +TYPE_TRAITS(STRING , ArenaStringPtr, LENGTH_DELIMITED, false, false) +TYPE_TRAITS(BYTES , ArenaStringPtr , LENGTH_DELIMITED, false, false) +TYPE_TRAITS(INT64 , int64 , VARINT , false, false) +TYPE_TRAITS(UINT64 , uint64 , VARINT , false, false) +TYPE_TRAITS(INT32 , int32 , VARINT , false, false) +TYPE_TRAITS(UINT32 , uint32 , VARINT , false, false) +TYPE_TRAITS(SINT64 , int64 , VARINT , false, false) +TYPE_TRAITS(SINT32 , int32 , VARINT , false, false) +TYPE_TRAITS(ENUM , int , VARINT , false, true ) +TYPE_TRAITS(DOUBLE , double , FIXED64, false, false) +TYPE_TRAITS(FLOAT , float , FIXED32, false, false) +TYPE_TRAITS(FIXED64 , uint64 , FIXED64, false, false) +TYPE_TRAITS(FIXED32 , uint32 , FIXED32, false, false) +TYPE_TRAITS(SFIXED64, int64 , FIXED64, false, false) +TYPE_TRAITS(SFIXED32, int32 , FIXED32, false, false) +TYPE_TRAITS(BOOL , bool , VARINT , false, false) + +#undef TYPE_TRAITS + +template +class MapTypeHandler {}; + +template +class MapTypeHandler { + public: + // Enum type cannot be used for MapTypeHandler::Read. Define a type which will + // replace Enum with int. + typedef typename MapWireFieldTypeTraits::MapEntryAccessorType MapEntryAccessorType; + // Internal stored type in MapEntryLite for given wire field type. + typedef typename MapWireFieldTypeTraits::TypeOnMemory TypeOnMemory; + // Corresponding wire type for field type. + static const WireFormatLite::WireType kWireType = + MapWireFieldTypeTraits::kWireType; + // Whether wire type is for message. + static const bool kIsMessage = + MapWireFieldTypeTraits::kIsMessage; + // Whether wire type is for enum. + static const bool kIsEnum = + MapWireFieldTypeTraits::kIsEnum; + + // Functions used in parsing and serialization. =================== + static inline size_t ByteSize(const MapEntryAccessorType& value); + static inline int GetCachedSize(const MapEntryAccessorType& value); + static inline bool Read(io::CodedInputStream* input, + MapEntryAccessorType* value); + static inline void Write(int field, const MapEntryAccessorType& value, + io::CodedOutputStream* output); + static inline uint8* InternalWriteToArray(int field, + const MapEntryAccessorType& value, + bool deterministic, uint8* target); + static inline uint8* WriteToArray(int field, + const MapEntryAccessorType& value, + uint8* target); + + // Functions to manipulate data on memory. ======================== + static inline const Type& GetExternalReference(const Type* value); + static inline void DeleteNoArena(const Type* x); + static inline void Merge(const Type& from, Type** to, Arena* arena); + static inline void Clear(Type** value, Arena* arena); + static inline void ClearMaybeByDefaultEnum(Type** value, Arena* arena, + int default_enum_value); + static inline void Initialize(Type** x, Arena* arena); + + static inline void InitializeMaybeByDefaultEnum(Type** x, + int default_enum_value, + Arena* arena); + static inline Type* EnsureMutable(Type** value, Arena* arena); + // SpaceUsedInMapEntry: Return bytes used by value in MapEntry, excluding + // those already calculate in sizeof(MapField). + static inline int SpaceUsedInMapEntry(const Type* value); + // Return bytes used by value in Map. + static inline int SpaceUsedInMap(const Type& value); + // Assign default value to given instance. + static inline void AssignDefaultValue(Type** value); + // Return default instance if value is not initialized when calling const + // reference accessor. + static inline const Type& DefaultIfNotInitialized( + const Type* value, const Type* default_value); + // Check if all required fields have values set. + static inline bool IsInitialized(Type* value); +}; + +#define MAP_HANDLER(FieldType) \ + template \ + class MapTypeHandler { \ + public: \ + typedef typename MapWireFieldTypeTraits::MapEntryAccessorType \ + MapEntryAccessorType; \ + typedef typename MapWireFieldTypeTraits::TypeOnMemory TypeOnMemory; \ + static const WireFormatLite::WireType kWireType = \ + MapWireFieldTypeTraits::kWireType; \ + static const bool kIsMessage = \ + MapWireFieldTypeTraits::kIsMessage; \ + static const bool kIsEnum = \ + MapWireFieldTypeTraits::kIsEnum; \ + static inline int ByteSize(const MapEntryAccessorType& value); \ + static inline int GetCachedSize(const MapEntryAccessorType& value); \ + static inline bool Read(io::CodedInputStream* input, \ + MapEntryAccessorType* value); \ + static inline void Write(int field, const MapEntryAccessorType& value, \ + io::CodedOutputStream* output); \ + static inline uint8* InternalWriteToArray( \ + int field, \ + const MapEntryAccessorType& value, \ + bool deterministic, \ + uint8* target); \ + static inline uint8* WriteToArray(int field, \ + const MapEntryAccessorType& value, \ + uint8* target) { \ + return InternalWriteToArray(field, value, false, target); \ + } \ + static inline const MapEntryAccessorType& GetExternalReference( \ + const TypeOnMemory& value); \ + static inline void DeleteNoArena(const TypeOnMemory& x); \ + static inline void Merge(const MapEntryAccessorType& from, \ + TypeOnMemory* to, Arena* arena); \ + static inline void Clear(TypeOnMemory* value, Arena* arena); \ + static inline void ClearMaybeByDefaultEnum(TypeOnMemory* value, \ + Arena* arena, \ + int default_enum); \ + static inline int SpaceUsedInMapEntry(const TypeOnMemory& value); \ + static inline int SpaceUsedInMap(const TypeOnMemory& value); \ + static inline int SpaceUsedInMap(const string& value); \ + static inline void AssignDefaultValue(TypeOnMemory* value); \ + static inline const MapEntryAccessorType& DefaultIfNotInitialized( \ + const TypeOnMemory& value, const TypeOnMemory& default_value); \ + static inline bool IsInitialized(const TypeOnMemory& value); \ + static void DeleteNoArena(TypeOnMemory& value); \ + static inline void Initialize(TypeOnMemory* value, Arena* arena); \ + static inline void InitializeMaybeByDefaultEnum(TypeOnMemory* value, \ + int default_enum_value, \ + Arena* arena); \ + static inline MapEntryAccessorType* EnsureMutable(TypeOnMemory* value, \ + Arena* arena); \ + }; +MAP_HANDLER(STRING) +MAP_HANDLER(BYTES) +MAP_HANDLER(INT64) +MAP_HANDLER(UINT64) +MAP_HANDLER(INT32) +MAP_HANDLER(UINT32) +MAP_HANDLER(SINT64) +MAP_HANDLER(SINT32) +MAP_HANDLER(ENUM) +MAP_HANDLER(DOUBLE) +MAP_HANDLER(FLOAT) +MAP_HANDLER(FIXED64) +MAP_HANDLER(FIXED32) +MAP_HANDLER(SFIXED64) +MAP_HANDLER(SFIXED32) +MAP_HANDLER(BOOL) +#undef MAP_HANDLER + +template +inline size_t +MapTypeHandler::ByteSize( + const MapEntryAccessorType& value) { + return WireFormatLite::MessageSizeNoVirtual(value); +} + +#define GOOGLE_PROTOBUF_BYTE_SIZE(FieldType, DeclaredType) \ + template \ + inline int MapTypeHandler::ByteSize( \ + const MapEntryAccessorType& value) { \ + return WireFormatLite::DeclaredType##Size(value); \ + } + +GOOGLE_PROTOBUF_BYTE_SIZE(STRING, String) +GOOGLE_PROTOBUF_BYTE_SIZE(BYTES , Bytes) +GOOGLE_PROTOBUF_BYTE_SIZE(INT64 , Int64) +GOOGLE_PROTOBUF_BYTE_SIZE(UINT64, UInt64) +GOOGLE_PROTOBUF_BYTE_SIZE(INT32 , Int32) +GOOGLE_PROTOBUF_BYTE_SIZE(UINT32, UInt32) +GOOGLE_PROTOBUF_BYTE_SIZE(SINT64, SInt64) +GOOGLE_PROTOBUF_BYTE_SIZE(SINT32, SInt32) +GOOGLE_PROTOBUF_BYTE_SIZE(ENUM , Enum) + +#undef GOOGLE_PROTOBUF_BYTE_SIZE + +#define FIXED_BYTE_SIZE(FieldType, DeclaredType) \ + template \ + inline int MapTypeHandler::ByteSize( \ + const MapEntryAccessorType& value) { \ + return WireFormatLite::k##DeclaredType##Size; \ + } + +FIXED_BYTE_SIZE(DOUBLE , Double) +FIXED_BYTE_SIZE(FLOAT , Float) +FIXED_BYTE_SIZE(FIXED64 , Fixed64) +FIXED_BYTE_SIZE(FIXED32 , Fixed32) +FIXED_BYTE_SIZE(SFIXED64, SFixed64) +FIXED_BYTE_SIZE(SFIXED32, SFixed32) +FIXED_BYTE_SIZE(BOOL , Bool) + +#undef FIXED_BYTE_SIZE + +template +inline int +MapTypeHandler::GetCachedSize( + const MapEntryAccessorType& value) { + return WireFormatLite::LengthDelimitedSize(value.GetCachedSize()); +} + +#define GET_CACHED_SIZE(FieldType, DeclaredType) \ + template \ + inline int \ + MapTypeHandler::GetCachedSize( \ + const MapEntryAccessorType& value) { \ + return WireFormatLite::DeclaredType##Size(value); \ + } + +GET_CACHED_SIZE(STRING, String) +GET_CACHED_SIZE(BYTES , Bytes) +GET_CACHED_SIZE(INT64 , Int64) +GET_CACHED_SIZE(UINT64, UInt64) +GET_CACHED_SIZE(INT32 , Int32) +GET_CACHED_SIZE(UINT32, UInt32) +GET_CACHED_SIZE(SINT64, SInt64) +GET_CACHED_SIZE(SINT32, SInt32) +GET_CACHED_SIZE(ENUM , Enum) + +#undef GET_CACHED_SIZE + +#define GET_FIXED_CACHED_SIZE(FieldType, DeclaredType) \ + template \ + inline int \ + MapTypeHandler::GetCachedSize( \ + const MapEntryAccessorType& value) { \ + return WireFormatLite::k##DeclaredType##Size; \ + } + +GET_FIXED_CACHED_SIZE(DOUBLE , Double) +GET_FIXED_CACHED_SIZE(FLOAT , Float) +GET_FIXED_CACHED_SIZE(FIXED64 , Fixed64) +GET_FIXED_CACHED_SIZE(FIXED32 , Fixed32) +GET_FIXED_CACHED_SIZE(SFIXED64, SFixed64) +GET_FIXED_CACHED_SIZE(SFIXED32, SFixed32) +GET_FIXED_CACHED_SIZE(BOOL , Bool) + +#undef GET_FIXED_CACHED_SIZE + +template +inline void MapTypeHandler::Write( + int field, const MapEntryAccessorType& value, + io::CodedOutputStream* output) { + WireFormatLite::WriteMessageMaybeToArray(field, value, output); +} + +template +inline uint8* +MapTypeHandler::InternalWriteToArray( + int field, const MapEntryAccessorType& value, bool deterministic, + uint8* target) { + return WireFormatLite::InternalWriteMessageToArray(field, value, + deterministic, target); +} + +#define WRITE_METHOD(FieldType, DeclaredType) \ + template \ + inline void MapTypeHandler::Write( \ + int field, const MapEntryAccessorType& value, \ + io::CodedOutputStream* output) { \ + return WireFormatLite::Write##DeclaredType(field, value, output); \ + } \ + template \ + inline uint8* \ + MapTypeHandler::InternalWriteToArray( \ + int field, const MapEntryAccessorType& value, bool, uint8* target) { \ + return WireFormatLite::Write##DeclaredType##ToArray(field, value, target); \ + } + +WRITE_METHOD(STRING , String) +WRITE_METHOD(BYTES , Bytes) +WRITE_METHOD(INT64 , Int64) +WRITE_METHOD(UINT64 , UInt64) +WRITE_METHOD(INT32 , Int32) +WRITE_METHOD(UINT32 , UInt32) +WRITE_METHOD(SINT64 , SInt64) +WRITE_METHOD(SINT32 , SInt32) +WRITE_METHOD(ENUM , Enum) +WRITE_METHOD(DOUBLE , Double) +WRITE_METHOD(FLOAT , Float) +WRITE_METHOD(FIXED64 , Fixed64) +WRITE_METHOD(FIXED32 , Fixed32) +WRITE_METHOD(SFIXED64, SFixed64) +WRITE_METHOD(SFIXED32, SFixed32) +WRITE_METHOD(BOOL , Bool) + +#undef WRITE_METHOD + +template +inline bool MapTypeHandler::Read( + io::CodedInputStream* input, MapEntryAccessorType* value) { + return WireFormatLite::ReadMessageNoVirtual(input, value); +} + +template +inline bool MapTypeHandler::Read( + io::CodedInputStream* input, MapEntryAccessorType* value) { + return WireFormatLite::ReadString(input, value); +} + +template +inline bool MapTypeHandler::Read( + io::CodedInputStream* input, MapEntryAccessorType* value) { + return WireFormatLite::ReadBytes(input, value); +} + +#define READ_METHOD(FieldType) \ + template \ + inline bool MapTypeHandler::Read( \ + io::CodedInputStream* input, MapEntryAccessorType* value) { \ + return WireFormatLite::ReadPrimitive( \ + input, value); \ + } + +READ_METHOD(INT64) +READ_METHOD(UINT64) +READ_METHOD(INT32) +READ_METHOD(UINT32) +READ_METHOD(SINT64) +READ_METHOD(SINT32) +READ_METHOD(ENUM) +READ_METHOD(DOUBLE) +READ_METHOD(FLOAT) +READ_METHOD(FIXED64) +READ_METHOD(FIXED32) +READ_METHOD(SFIXED64) +READ_METHOD(SFIXED32) +READ_METHOD(BOOL) + +#undef READ_METHOD + +// Definition for message handler + +template +inline const Type& +MapTypeHandler::GetExternalReference(const Type* value) { + return *value; +} + +template +inline int +MapTypeHandler::SpaceUsedInMapEntry(const Type* value) { + return value->SpaceUsed(); +} + +template +int MapTypeHandler::SpaceUsedInMap( + const Type& value) { + return value.SpaceUsed(); +} + +template +inline void MapTypeHandler::Clear( + Type** value, Arena* arena) { + if (*value != NULL) (*value)->Clear(); +} +template +inline void +MapTypeHandler::ClearMaybeByDefaultEnum(Type** value, + Arena* arena, + int default_enum_value) { + if (*value != NULL) (*value)->Clear(); +} +template +inline void MapTypeHandler::Merge( + const Type& from, Type** to, Arena* arena) { + (*to)->MergeFrom(from); +} + +template +void MapTypeHandler::DeleteNoArena( + const Type* ptr) { + delete ptr; +} + +template +inline void MapTypeHandler::AssignDefaultValue(Type** value) { + *value = const_cast(&Type::default_instance()); +} + +template +inline void MapTypeHandler::Initialize(Type** x, + Arena* arena) { + *x = NULL; +} + +template +inline void MapTypeHandler:: + InitializeMaybeByDefaultEnum(Type** x, int default_enum_value, + Arena* arena) { + *x = NULL; +} + +template +inline Type* MapTypeHandler::EnsureMutable(Type** value, + Arena* arena) { + if (*value == NULL) { + *value = + MapArenaMessageCreator:: + type::value>::CreateMessage(arena); + } + return *value; +} + +template +inline const Type& MapTypeHandler:: + DefaultIfNotInitialized(const Type* value, const Type* default_value) { + return value != NULL ? *value : *default_value; +} + +template +inline bool MapTypeHandler::IsInitialized(Type* value) { + return value->IsInitialized(); +} + +// Definition for string/bytes handler + +#define STRING_OR_BYTES_HANDLER_FUNCTIONS(FieldType) \ + template \ + inline const typename MapTypeHandler::MapEntryAccessorType& \ + MapTypeHandler::GetExternalReference(const TypeOnMemory& value) { \ + return value.Get(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); \ + } \ + template \ + inline int \ + MapTypeHandler::SpaceUsedInMapEntry( \ + const TypeOnMemory& value) { \ + return sizeof(value); \ + } \ + template \ + inline int MapTypeHandler::SpaceUsedInMap(const TypeOnMemory& value) { \ + return sizeof(value); \ + } \ + template \ + inline int MapTypeHandler::SpaceUsedInMap(const string& value) { \ + return sizeof(value); \ + } \ + template \ + inline void MapTypeHandler::Clear( \ + TypeOnMemory* value, Arena* arena) { \ + value->ClearToEmpty(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), \ + arena); \ + } \ + template \ + inline void \ + MapTypeHandler::ClearMaybeByDefaultEnum(TypeOnMemory* value, \ + Arena* arena, \ + int default_enum) { \ + Clear(value, arena); \ + } \ + template \ + inline void MapTypeHandler::Merge( \ + const MapEntryAccessorType& from, TypeOnMemory* to, Arena* arena) { \ + to->Set(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from, arena); \ + } \ + template \ + void MapTypeHandler::DeleteNoArena( \ + TypeOnMemory& value) { \ + value.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); \ + } \ + template \ + inline void MapTypeHandler::AssignDefaultValue(TypeOnMemory* value) {} \ + template \ + inline void \ + MapTypeHandler::Initialize( \ + TypeOnMemory* value, Arena* arena) { \ + value->UnsafeSetDefault( \ + &::google::protobuf::internal::GetEmptyStringAlreadyInited()); \ + } \ + template \ + inline void \ + MapTypeHandler::InitializeMaybeByDefaultEnum(TypeOnMemory* value, \ + int default_enum_value, \ + Arena* arena) { \ + Initialize(value, arena); \ + } \ + template \ + inline typename MapTypeHandler::MapEntryAccessorType* \ + MapTypeHandler::EnsureMutable( \ + TypeOnMemory* value, Arena* arena) { \ + return value->Mutable(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), \ + arena); \ + } \ + template \ + inline const typename MapTypeHandler::MapEntryAccessorType& \ + MapTypeHandler::DefaultIfNotInitialized(const TypeOnMemory& value, \ + const TypeOnMemory& \ + default_value) { \ + return value.Get(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); \ + } \ + template \ + inline bool MapTypeHandler::IsInitialized(const TypeOnMemory& value) { \ + return true; \ + } +STRING_OR_BYTES_HANDLER_FUNCTIONS(STRING) +STRING_OR_BYTES_HANDLER_FUNCTIONS(BYTES) +#undef STRING_OR_BYTES_HANDLER_FUNCTIONS + +#define PRIMITIVE_HANDLER_FUNCTIONS(FieldType) \ + template \ + inline const typename MapTypeHandler::MapEntryAccessorType& \ + MapTypeHandler::GetExternalReference(const TypeOnMemory& value) { \ + return value; \ + } \ + template \ + inline int \ + MapTypeHandler::SpaceUsedInMapEntry( \ + const TypeOnMemory& value) { \ + return 0; \ + } \ + template \ + inline int MapTypeHandler::SpaceUsedInMap(const TypeOnMemory& value) { \ + return sizeof(Type); \ + } \ + template \ + inline void MapTypeHandler::Clear( \ + TypeOnMemory* value, Arena* arena) { \ + *value = 0; \ + } \ + template \ + inline void \ + MapTypeHandler::ClearMaybeByDefaultEnum(TypeOnMemory* value, \ + Arena* arena, \ + int default_enum_value) { \ + *value = static_cast(default_enum_value); \ + } \ + template \ + inline void MapTypeHandler::Merge( \ + const MapEntryAccessorType& from, TypeOnMemory* to, Arena* arena) { \ + *to = from; \ + } \ + template \ + inline void MapTypeHandler::DeleteNoArena(TypeOnMemory& x) {} \ + template \ + inline void MapTypeHandler::AssignDefaultValue(TypeOnMemory* value) {} \ + template \ + inline void \ + MapTypeHandler::Initialize( \ + TypeOnMemory* value, Arena* arena) { \ + *value = 0; \ + } \ + template \ + inline void \ + MapTypeHandler::InitializeMaybeByDefaultEnum(TypeOnMemory* value, \ + int default_enum_value, \ + Arena* arena) { \ + *value = static_cast(default_enum_value); \ + } \ + template \ + inline typename MapTypeHandler::MapEntryAccessorType* \ + MapTypeHandler::EnsureMutable( \ + TypeOnMemory* value, Arena* arena) { \ + return value; \ + } \ + template \ + inline const typename MapTypeHandler::MapEntryAccessorType& \ + MapTypeHandler::DefaultIfNotInitialized(const TypeOnMemory& value, \ + const TypeOnMemory& \ + default_value) { \ + return value; \ + } \ + template \ + inline bool MapTypeHandler::IsInitialized(const TypeOnMemory& value) { \ + return true; \ + } +PRIMITIVE_HANDLER_FUNCTIONS(INT64) +PRIMITIVE_HANDLER_FUNCTIONS(UINT64) +PRIMITIVE_HANDLER_FUNCTIONS(INT32) +PRIMITIVE_HANDLER_FUNCTIONS(UINT32) +PRIMITIVE_HANDLER_FUNCTIONS(SINT64) +PRIMITIVE_HANDLER_FUNCTIONS(SINT32) +PRIMITIVE_HANDLER_FUNCTIONS(ENUM) +PRIMITIVE_HANDLER_FUNCTIONS(DOUBLE) +PRIMITIVE_HANDLER_FUNCTIONS(FLOAT) +PRIMITIVE_HANDLER_FUNCTIONS(FIXED64) +PRIMITIVE_HANDLER_FUNCTIONS(FIXED32) +PRIMITIVE_HANDLER_FUNCTIONS(SFIXED64) +PRIMITIVE_HANDLER_FUNCTIONS(SFIXED32) +PRIMITIVE_HANDLER_FUNCTIONS(BOOL) +#undef PRIMITIVE_HANDLER_FUNCTIONS + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_TYPE_HANDLER_H__ diff --git a/app/src/main/cpp/include/google/protobuf/message.h b/app/src/main/cpp/include/google/protobuf/message.h new file mode 100644 index 0000000..bee25f7 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/message.h @@ -0,0 +1,1150 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// Defines Message, the abstract interface implemented by non-lite +// protocol message objects. Although it's possible to implement this +// interface manually, most users will use the protocol compiler to +// generate implementations. +// +// Example usage: +// +// Say you have a message defined as: +// +// message Foo { +// optional string text = 1; +// repeated int32 numbers = 2; +// } +// +// Then, if you used the protocol compiler to generate a class from the above +// definition, you could use it like so: +// +// string data; // Will store a serialized version of the message. +// +// { +// // Create a message and serialize it. +// Foo foo; +// foo.set_text("Hello World!"); +// foo.add_numbers(1); +// foo.add_numbers(5); +// foo.add_numbers(42); +// +// foo.SerializeToString(&data); +// } +// +// { +// // Parse the serialized message and check that it contains the +// // correct data. +// Foo foo; +// foo.ParseFromString(data); +// +// assert(foo.text() == "Hello World!"); +// assert(foo.numbers_size() == 3); +// assert(foo.numbers(0) == 1); +// assert(foo.numbers(1) == 5); +// assert(foo.numbers(2) == 42); +// } +// +// { +// // Same as the last block, but do it dynamically via the Message +// // reflection interface. +// Message* foo = new Foo; +// const Descriptor* descriptor = foo->GetDescriptor(); +// +// // Get the descriptors for the fields we're interested in and verify +// // their types. +// const FieldDescriptor* text_field = descriptor->FindFieldByName("text"); +// assert(text_field != NULL); +// assert(text_field->type() == FieldDescriptor::TYPE_STRING); +// assert(text_field->label() == FieldDescriptor::LABEL_OPTIONAL); +// const FieldDescriptor* numbers_field = descriptor-> +// FindFieldByName("numbers"); +// assert(numbers_field != NULL); +// assert(numbers_field->type() == FieldDescriptor::TYPE_INT32); +// assert(numbers_field->label() == FieldDescriptor::LABEL_REPEATED); +// +// // Parse the message. +// foo->ParseFromString(data); +// +// // Use the reflection interface to examine the contents. +// const Reflection* reflection = foo->GetReflection(); +// assert(reflection->GetString(*foo, text_field) == "Hello World!"); +// assert(reflection->FieldSize(*foo, numbers_field) == 3); +// assert(reflection->GetRepeatedInt32(*foo, numbers_field, 0) == 1); +// assert(reflection->GetRepeatedInt32(*foo, numbers_field, 1) == 5); +// assert(reflection->GetRepeatedInt32(*foo, numbers_field, 2) == 42); +// +// delete foo; +// } + +#ifndef GOOGLE_PROTOBUF_MESSAGE_H__ +#define GOOGLE_PROTOBUF_MESSAGE_H__ + +#include +#include +#include +#include + +#include +#include + +#include +#include + + +#define GOOGLE_PROTOBUF_HAS_ONEOF +#define GOOGLE_PROTOBUF_HAS_ARENAS + +namespace google { +namespace protobuf { + +// Defined in this file. +class Message; +class Reflection; +class MessageFactory; + +// Defined in other files. +class MapKey; +class MapValueRef; +class MapIterator; +class MapReflectionTester; + +namespace internal { +class MapFieldBase; +} +class UnknownFieldSet; // unknown_field_set.h +namespace io { +class ZeroCopyInputStream; // zero_copy_stream.h +class ZeroCopyOutputStream; // zero_copy_stream.h +class CodedInputStream; // coded_stream.h +class CodedOutputStream; // coded_stream.h +} +namespace python { +class MapReflectionFriend; // scalar_map_container.h +} + + +template +class RepeatedField; // repeated_field.h + +template +class RepeatedPtrField; // repeated_field.h + +// A container to hold message metadata. +struct Metadata { + const Descriptor* descriptor; + const Reflection* reflection; +}; + +// Abstract interface for protocol messages. +// +// See also MessageLite, which contains most every-day operations. Message +// adds descriptors and reflection on top of that. +// +// The methods of this class that are virtual but not pure-virtual have +// default implementations based on reflection. Message classes which are +// optimized for speed will want to override these with faster implementations, +// but classes optimized for code size may be happy with keeping them. See +// the optimize_for option in descriptor.proto. +class LIBPROTOBUF_EXPORT Message : public MessageLite { + public: + inline Message() {} + virtual ~Message() {} + + // Basic Operations ------------------------------------------------ + + // Construct a new instance of the same type. Ownership is passed to the + // caller. (This is also defined in MessageLite, but is defined again here + // for return-type covariance.) + virtual Message* New() const = 0; + + // Construct a new instance on the arena. Ownership is passed to the caller + // if arena is a NULL. Default implementation allows for API compatibility + // during the Arena transition. + virtual Message* New(::google::protobuf::Arena* arena) const { + Message* message = New(); + if (arena != NULL) { + arena->Own(message); + } + return message; + } + + // Make this message into a copy of the given message. The given message + // must have the same descriptor, but need not necessarily be the same class. + // By default this is just implemented as "Clear(); MergeFrom(from);". + virtual void CopyFrom(const Message& from); + + // Merge the fields from the given message into this message. Singular + // fields will be overwritten, if specified in from, except for embedded + // messages which will be merged. Repeated fields will be concatenated. + // The given message must be of the same type as this message (i.e. the + // exact same class). + virtual void MergeFrom(const Message& from); + + // Verifies that IsInitialized() returns true. GOOGLE_CHECK-fails otherwise, with + // a nice error message. + void CheckInitialized() const; + + // Slowly build a list of all required fields that are not set. + // This is much, much slower than IsInitialized() as it is implemented + // purely via reflection. Generally, you should not call this unless you + // have already determined that an error exists by calling IsInitialized(). + void FindInitializationErrors(std::vector* errors) const; + + // Like FindInitializationErrors, but joins all the strings, delimited by + // commas, and returns them. + string InitializationErrorString() const; + + // Clears all unknown fields from this message and all embedded messages. + // Normally, if unknown tag numbers are encountered when parsing a message, + // the tag and value are stored in the message's UnknownFieldSet and + // then written back out when the message is serialized. This allows servers + // which simply route messages to other servers to pass through messages + // that have new field definitions which they don't yet know about. However, + // this behavior can have security implications. To avoid it, call this + // method after parsing. + // + // See Reflection::GetUnknownFields() for more on unknown fields. + virtual void DiscardUnknownFields(); + + // Computes (an estimate of) the total number of bytes currently used for + // storing the message in memory. The default implementation calls the + // Reflection object's SpaceUsed() method. + // + // SpaceUsed() is noticeably slower than ByteSize(), as it is implemented + // using reflection (rather than the generated code implementation for + // ByteSize()). Like ByteSize(), its CPU time is linear in the number of + // fields defined for the proto. + virtual int SpaceUsed() const; + + // Debugging & Testing---------------------------------------------- + + // Generates a human readable form of this message, useful for debugging + // and other purposes. + string DebugString() const; + // Like DebugString(), but with less whitespace. + string ShortDebugString() const; + // Like DebugString(), but do not escape UTF-8 byte sequences. + string Utf8DebugString() const; + // Convenience function useful in GDB. Prints DebugString() to stdout. + void PrintDebugString() const; + + // Heavy I/O ------------------------------------------------------- + // Additional parsing and serialization methods not implemented by + // MessageLite because they are not supported by the lite library. + + // Parse a protocol buffer from a file descriptor. If successful, the entire + // input will be consumed. + bool ParseFromFileDescriptor(int file_descriptor); + // Like ParseFromFileDescriptor(), but accepts messages that are missing + // required fields. + bool ParsePartialFromFileDescriptor(int file_descriptor); + // Parse a protocol buffer from a C++ istream. If successful, the entire + // input will be consumed. + bool ParseFromIstream(std::istream* input); + // Like ParseFromIstream(), but accepts messages that are missing + // required fields. + bool ParsePartialFromIstream(std::istream* input); + + // Serialize the message and write it to the given file descriptor. All + // required fields must be set. + bool SerializeToFileDescriptor(int file_descriptor) const; + // Like SerializeToFileDescriptor(), but allows missing required fields. + bool SerializePartialToFileDescriptor(int file_descriptor) const; + // Serialize the message and write it to the given C++ ostream. All + // required fields must be set. + bool SerializeToOstream(std::ostream* output) const; + // Like SerializeToOstream(), but allows missing required fields. + bool SerializePartialToOstream(std::ostream* output) const; + + + // Reflection-based methods ---------------------------------------- + // These methods are pure-virtual in MessageLite, but Message provides + // reflection-based default implementations. + + virtual string GetTypeName() const; + virtual void Clear(); + virtual bool IsInitialized() const; + virtual void CheckTypeAndMergeFrom(const MessageLite& other); + virtual bool MergePartialFromCodedStream(io::CodedInputStream* input); + virtual size_t ByteSizeLong() const; + virtual void SerializeWithCachedSizes(io::CodedOutputStream* output) const; + + private: + // This is called only by the default implementation of ByteSize(), to + // update the cached size. If you override ByteSize(), you do not need + // to override this. If you do not override ByteSize(), you MUST override + // this; the default implementation will crash. + // + // The method is private because subclasses should never call it; only + // override it. Yes, C++ lets you do that. Crazy, huh? + virtual void SetCachedSize(int size) const; + + public: + + // Introspection --------------------------------------------------- + + // Typedef for backwards-compatibility. + typedef google::protobuf::Reflection Reflection; + + // Get a Descriptor for this message's type. This describes what + // fields the message contains, the types of those fields, etc. + const Descriptor* GetDescriptor() const { return GetMetadata().descriptor; } + + // Get the Reflection interface for this Message, which can be used to + // read and modify the fields of the Message dynamically (in other words, + // without knowing the message type at compile time). This object remains + // property of the Message. + // + // This method remains virtual in case a subclass does not implement + // reflection and wants to override the default behavior. + virtual const Reflection* GetReflection() const { + return GetMetadata().reflection; + } + + protected: + // Get a struct containing the metadata for the Message. Most subclasses only + // need to implement this method, rather than the GetDescriptor() and + // GetReflection() wrappers. + virtual Metadata GetMetadata() const = 0; + + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(Message); +}; + +namespace internal { +// Forward-declare interfaces used to implement RepeatedFieldRef. +// These are protobuf internals that users shouldn't care about. +class RepeatedFieldAccessor; +} // namespace internal + +// Forward-declare RepeatedFieldRef templates. The second type parameter is +// used for SFINAE tricks. Users should ignore it. +template +class RepeatedFieldRef; + +template +class MutableRepeatedFieldRef; + +// This interface contains methods that can be used to dynamically access +// and modify the fields of a protocol message. Their semantics are +// similar to the accessors the protocol compiler generates. +// +// To get the Reflection for a given Message, call Message::GetReflection(). +// +// This interface is separate from Message only for efficiency reasons; +// the vast majority of implementations of Message will share the same +// implementation of Reflection (GeneratedMessageReflection, +// defined in generated_message.h), and all Messages of a particular class +// should share the same Reflection object (though you should not rely on +// the latter fact). +// +// There are several ways that these methods can be used incorrectly. For +// example, any of the following conditions will lead to undefined +// results (probably assertion failures): +// - The FieldDescriptor is not a field of this message type. +// - The method called is not appropriate for the field's type. For +// each field type in FieldDescriptor::TYPE_*, there is only one +// Get*() method, one Set*() method, and one Add*() method that is +// valid for that type. It should be obvious which (except maybe +// for TYPE_BYTES, which are represented using strings in C++). +// - A Get*() or Set*() method for singular fields is called on a repeated +// field. +// - GetRepeated*(), SetRepeated*(), or Add*() is called on a non-repeated +// field. +// - The Message object passed to any method is not of the right type for +// this Reflection object (i.e. message.GetReflection() != reflection). +// +// You might wonder why there is not any abstract representation for a field +// of arbitrary type. E.g., why isn't there just a "GetField()" method that +// returns "const Field&", where "Field" is some class with accessors like +// "GetInt32Value()". The problem is that someone would have to deal with +// allocating these Field objects. For generated message classes, having to +// allocate space for an additional object to wrap every field would at least +// double the message's memory footprint, probably worse. Allocating the +// objects on-demand, on the other hand, would be expensive and prone to +// memory leaks. So, instead we ended up with this flat interface. +// +// TODO(kenton): Create a utility class which callers can use to read and +// write fields from a Reflection without paying attention to the type. +class LIBPROTOBUF_EXPORT Reflection { + public: + inline Reflection() {} + virtual ~Reflection(); + + // Get the UnknownFieldSet for the message. This contains fields which + // were seen when the Message was parsed but were not recognized according + // to the Message's definition. For proto3 protos, this method will always + // return an empty UnknownFieldSet. + virtual const UnknownFieldSet& GetUnknownFields( + const Message& message) const = 0; + // Get a mutable pointer to the UnknownFieldSet for the message. This + // contains fields which were seen when the Message was parsed but were not + // recognized according to the Message's definition. For proto3 protos, this + // method will return a valid mutable UnknownFieldSet pointer but modifying + // it won't affect the serialized bytes of the message. + virtual UnknownFieldSet* MutableUnknownFields(Message* message) const = 0; + + // Estimate the amount of memory used by the message object. + virtual int SpaceUsed(const Message& message) const = 0; + + // Check if the given non-repeated field is set. + virtual bool HasField(const Message& message, + const FieldDescriptor* field) const = 0; + + // Get the number of elements of a repeated field. + virtual int FieldSize(const Message& message, + const FieldDescriptor* field) const = 0; + + // Clear the value of a field, so that HasField() returns false or + // FieldSize() returns zero. + virtual void ClearField(Message* message, + const FieldDescriptor* field) const = 0; + + // Check if the oneof is set. Returns true if any field in oneof + // is set, false otherwise. + // TODO(jieluo) - make it pure virtual after updating all + // the subclasses. + virtual bool HasOneof(const Message& /*message*/, + const OneofDescriptor* /*oneof_descriptor*/) const { + return false; + } + + virtual void ClearOneof(Message* /*message*/, + const OneofDescriptor* /*oneof_descriptor*/) const {} + + // Returns the field descriptor if the oneof is set. NULL otherwise. + // TODO(jieluo) - make it pure virtual. + virtual const FieldDescriptor* GetOneofFieldDescriptor( + const Message& /*message*/, + const OneofDescriptor* /*oneof_descriptor*/) const { + return NULL; + } + + // Removes the last element of a repeated field. + // We don't provide a way to remove any element other than the last + // because it invites inefficient use, such as O(n^2) filtering loops + // that should have been O(n). If you want to remove an element other + // than the last, the best way to do it is to re-arrange the elements + // (using Swap()) so that the one you want removed is at the end, then + // call RemoveLast(). + virtual void RemoveLast(Message* message, + const FieldDescriptor* field) const = 0; + // Removes the last element of a repeated message field, and returns the + // pointer to the caller. Caller takes ownership of the returned pointer. + virtual Message* ReleaseLast(Message* message, + const FieldDescriptor* field) const = 0; + + // Swap the complete contents of two messages. + virtual void Swap(Message* message1, Message* message2) const = 0; + + // Swap fields listed in fields vector of two messages. + virtual void SwapFields(Message* message1, + Message* message2, + const std::vector& fields) + const = 0; + + // Swap two elements of a repeated field. + virtual void SwapElements(Message* message, + const FieldDescriptor* field, + int index1, + int index2) const = 0; + + // List all fields of the message which are currently set. This includes + // extensions. Singular fields will only be listed if HasField(field) would + // return true and repeated fields will only be listed if FieldSize(field) + // would return non-zero. Fields (both normal fields and extension fields) + // will be listed ordered by field number. + virtual void ListFields( + const Message& message, + std::vector* output) const = 0; + + // Singular field getters ------------------------------------------ + // These get the value of a non-repeated field. They return the default + // value for fields that aren't set. + + virtual int32 GetInt32 (const Message& message, + const FieldDescriptor* field) const = 0; + virtual int64 GetInt64 (const Message& message, + const FieldDescriptor* field) const = 0; + virtual uint32 GetUInt32(const Message& message, + const FieldDescriptor* field) const = 0; + virtual uint64 GetUInt64(const Message& message, + const FieldDescriptor* field) const = 0; + virtual float GetFloat (const Message& message, + const FieldDescriptor* field) const = 0; + virtual double GetDouble(const Message& message, + const FieldDescriptor* field) const = 0; + virtual bool GetBool (const Message& message, + const FieldDescriptor* field) const = 0; + virtual string GetString(const Message& message, + const FieldDescriptor* field) const = 0; + virtual const EnumValueDescriptor* GetEnum( + const Message& message, const FieldDescriptor* field) const = 0; + + // GetEnumValue() returns an enum field's value as an integer rather than + // an EnumValueDescriptor*. If the integer value does not correspond to a + // known value descriptor, a new value descriptor is created. (Such a value + // will only be present when the new unknown-enum-value semantics are enabled + // for a message.) + virtual int GetEnumValue( + const Message& message, const FieldDescriptor* field) const; + + // See MutableMessage() for the meaning of the "factory" parameter. + virtual const Message& GetMessage(const Message& message, + const FieldDescriptor* field, + MessageFactory* factory = NULL) const = 0; + + // Get a string value without copying, if possible. + // + // GetString() necessarily returns a copy of the string. This can be + // inefficient when the string is already stored in a string object in the + // underlying message. GetStringReference() will return a reference to the + // underlying string in this case. Otherwise, it will copy the string into + // *scratch and return that. + // + // Note: It is perfectly reasonable and useful to write code like: + // str = reflection->GetStringReference(field, &str); + // This line would ensure that only one copy of the string is made + // regardless of the field's underlying representation. When initializing + // a newly-constructed string, though, it's just as fast and more readable + // to use code like: + // string str = reflection->GetString(message, field); + virtual const string& GetStringReference(const Message& message, + const FieldDescriptor* field, + string* scratch) const = 0; + + + // Singular field mutators ----------------------------------------- + // These mutate the value of a non-repeated field. + + virtual void SetInt32 (Message* message, + const FieldDescriptor* field, int32 value) const = 0; + virtual void SetInt64 (Message* message, + const FieldDescriptor* field, int64 value) const = 0; + virtual void SetUInt32(Message* message, + const FieldDescriptor* field, uint32 value) const = 0; + virtual void SetUInt64(Message* message, + const FieldDescriptor* field, uint64 value) const = 0; + virtual void SetFloat (Message* message, + const FieldDescriptor* field, float value) const = 0; + virtual void SetDouble(Message* message, + const FieldDescriptor* field, double value) const = 0; + virtual void SetBool (Message* message, + const FieldDescriptor* field, bool value) const = 0; + virtual void SetString(Message* message, + const FieldDescriptor* field, + const string& value) const = 0; + virtual void SetEnum (Message* message, + const FieldDescriptor* field, + const EnumValueDescriptor* value) const = 0; + // Set an enum field's value with an integer rather than EnumValueDescriptor. + // If the value does not correspond to a known enum value, either behavior is + // undefined (for proto2 messages), or the value is accepted silently for + // messages with new unknown-enum-value semantics. + virtual void SetEnumValue(Message* message, + const FieldDescriptor* field, + int value) const; + + // Get a mutable pointer to a field with a message type. If a MessageFactory + // is provided, it will be used to construct instances of the sub-message; + // otherwise, the default factory is used. If the field is an extension that + // does not live in the same pool as the containing message's descriptor (e.g. + // it lives in an overlay pool), then a MessageFactory must be provided. + // If you have no idea what that meant, then you probably don't need to worry + // about it (don't provide a MessageFactory). WARNING: If the + // FieldDescriptor is for a compiled-in extension, then + // factory->GetPrototype(field->message_type()) MUST return an instance of + // the compiled-in class for this type, NOT DynamicMessage. + virtual Message* MutableMessage(Message* message, + const FieldDescriptor* field, + MessageFactory* factory = NULL) const = 0; + // Replaces the message specified by 'field' with the already-allocated object + // sub_message, passing ownership to the message. If the field contained a + // message, that message is deleted. If sub_message is NULL, the field is + // cleared. + virtual void SetAllocatedMessage(Message* message, + Message* sub_message, + const FieldDescriptor* field) const = 0; + // Releases the message specified by 'field' and returns the pointer, + // ReleaseMessage() will return the message the message object if it exists. + // Otherwise, it may or may not return NULL. In any case, if the return value + // is non-NULL, the caller takes ownership of the pointer. + // If the field existed (HasField() is true), then the returned pointer will + // be the same as the pointer returned by MutableMessage(). + // This function has the same effect as ClearField(). + virtual Message* ReleaseMessage(Message* message, + const FieldDescriptor* field, + MessageFactory* factory = NULL) const = 0; + + + // Repeated field getters ------------------------------------------ + // These get the value of one element of a repeated field. + + virtual int32 GetRepeatedInt32 (const Message& message, + const FieldDescriptor* field, + int index) const = 0; + virtual int64 GetRepeatedInt64 (const Message& message, + const FieldDescriptor* field, + int index) const = 0; + virtual uint32 GetRepeatedUInt32(const Message& message, + const FieldDescriptor* field, + int index) const = 0; + virtual uint64 GetRepeatedUInt64(const Message& message, + const FieldDescriptor* field, + int index) const = 0; + virtual float GetRepeatedFloat (const Message& message, + const FieldDescriptor* field, + int index) const = 0; + virtual double GetRepeatedDouble(const Message& message, + const FieldDescriptor* field, + int index) const = 0; + virtual bool GetRepeatedBool (const Message& message, + const FieldDescriptor* field, + int index) const = 0; + virtual string GetRepeatedString(const Message& message, + const FieldDescriptor* field, + int index) const = 0; + virtual const EnumValueDescriptor* GetRepeatedEnum( + const Message& message, + const FieldDescriptor* field, int index) const = 0; + // GetRepeatedEnumValue() returns an enum field's value as an integer rather + // than an EnumValueDescriptor*. If the integer value does not correspond to a + // known value descriptor, a new value descriptor is created. (Such a value + // will only be present when the new unknown-enum-value semantics are enabled + // for a message.) + virtual int GetRepeatedEnumValue( + const Message& message, + const FieldDescriptor* field, int index) const; + virtual const Message& GetRepeatedMessage( + const Message& message, + const FieldDescriptor* field, int index) const = 0; + + // See GetStringReference(), above. + virtual const string& GetRepeatedStringReference( + const Message& message, const FieldDescriptor* field, + int index, string* scratch) const = 0; + + + // Repeated field mutators ----------------------------------------- + // These mutate the value of one element of a repeated field. + + virtual void SetRepeatedInt32 (Message* message, + const FieldDescriptor* field, + int index, int32 value) const = 0; + virtual void SetRepeatedInt64 (Message* message, + const FieldDescriptor* field, + int index, int64 value) const = 0; + virtual void SetRepeatedUInt32(Message* message, + const FieldDescriptor* field, + int index, uint32 value) const = 0; + virtual void SetRepeatedUInt64(Message* message, + const FieldDescriptor* field, + int index, uint64 value) const = 0; + virtual void SetRepeatedFloat (Message* message, + const FieldDescriptor* field, + int index, float value) const = 0; + virtual void SetRepeatedDouble(Message* message, + const FieldDescriptor* field, + int index, double value) const = 0; + virtual void SetRepeatedBool (Message* message, + const FieldDescriptor* field, + int index, bool value) const = 0; + virtual void SetRepeatedString(Message* message, + const FieldDescriptor* field, + int index, const string& value) const = 0; + virtual void SetRepeatedEnum(Message* message, + const FieldDescriptor* field, int index, + const EnumValueDescriptor* value) const = 0; + // Set an enum field's value with an integer rather than EnumValueDescriptor. + // If the value does not correspond to a known enum value, either behavior is + // undefined (for proto2 messages), or the value is accepted silently for + // messages with new unknown-enum-value semantics. + virtual void SetRepeatedEnumValue(Message* message, + const FieldDescriptor* field, int index, + int value) const; + // Get a mutable pointer to an element of a repeated field with a message + // type. + virtual Message* MutableRepeatedMessage( + Message* message, const FieldDescriptor* field, int index) const = 0; + + + // Repeated field adders ------------------------------------------- + // These add an element to a repeated field. + + virtual void AddInt32 (Message* message, + const FieldDescriptor* field, int32 value) const = 0; + virtual void AddInt64 (Message* message, + const FieldDescriptor* field, int64 value) const = 0; + virtual void AddUInt32(Message* message, + const FieldDescriptor* field, uint32 value) const = 0; + virtual void AddUInt64(Message* message, + const FieldDescriptor* field, uint64 value) const = 0; + virtual void AddFloat (Message* message, + const FieldDescriptor* field, float value) const = 0; + virtual void AddDouble(Message* message, + const FieldDescriptor* field, double value) const = 0; + virtual void AddBool (Message* message, + const FieldDescriptor* field, bool value) const = 0; + virtual void AddString(Message* message, + const FieldDescriptor* field, + const string& value) const = 0; + virtual void AddEnum (Message* message, + const FieldDescriptor* field, + const EnumValueDescriptor* value) const = 0; + // Set an enum field's value with an integer rather than EnumValueDescriptor. + // If the value does not correspond to a known enum value, either behavior is + // undefined (for proto2 messages), or the value is accepted silently for + // messages with new unknown-enum-value semantics. + virtual void AddEnumValue(Message* message, + const FieldDescriptor* field, + int value) const; + // See MutableMessage() for comments on the "factory" parameter. + virtual Message* AddMessage(Message* message, + const FieldDescriptor* field, + MessageFactory* factory = NULL) const = 0; + + // Appends an already-allocated object 'new_entry' to the repeated field + // specifyed by 'field' passing ownership to the message. + // TODO(tmarek): Make virtual after all subclasses have been + // updated. + virtual void AddAllocatedMessage(Message* /* message */, + const FieldDescriptor* /*field */, + Message* /* new_entry */) const {} + + + // Get a RepeatedFieldRef object that can be used to read the underlying + // repeated field. The type parameter T must be set according to the + // field's cpp type. The following table shows the mapping from cpp type + // to acceptable T. + // + // field->cpp_type() T + // CPPTYPE_INT32 int32 + // CPPTYPE_UINT32 uint32 + // CPPTYPE_INT64 int64 + // CPPTYPE_UINT64 uint64 + // CPPTYPE_DOUBLE double + // CPPTYPE_FLOAT float + // CPPTYPE_BOOL bool + // CPPTYPE_ENUM generated enum type or int32 + // CPPTYPE_STRING string + // CPPTYPE_MESSAGE generated message type or google::protobuf::Message + // + // A RepeatedFieldRef object can be copied and the resulted object will point + // to the same repeated field in the same message. The object can be used as + // long as the message is not destroyed. + // + // Note that to use this method users need to include the header file + // "google/protobuf/reflection.h" (which defines the RepeatedFieldRef + // class templates). + template + RepeatedFieldRef GetRepeatedFieldRef( + const Message& message, const FieldDescriptor* field) const; + + // Like GetRepeatedFieldRef() but return an object that can also be used + // manipulate the underlying repeated field. + template + MutableRepeatedFieldRef GetMutableRepeatedFieldRef( + Message* message, const FieldDescriptor* field) const; + + // DEPRECATED. Please use Get(Mutable)RepeatedFieldRef() for repeated field + // access. The following repeated field accesors will be removed in the + // future. + // + // Repeated field accessors ------------------------------------------------- + // The methods above, e.g. GetRepeatedInt32(msg, fd, index), provide singular + // access to the data in a RepeatedField. The methods below provide aggregate + // access by exposing the RepeatedField object itself with the Message. + // Applying these templates to inappropriate types will lead to an undefined + // reference at link time (e.g. GetRepeatedField<***double>), or possibly a + // template matching error at compile time (e.g. GetRepeatedPtrField). + // + // Usage example: my_doubs = refl->GetRepeatedField(msg, fd); + + // DEPRECATED. Please use GetRepeatedFieldRef(). + // + // for T = Cord and all protobuf scalar types except enums. + template + const RepeatedField& GetRepeatedField( + const Message&, const FieldDescriptor*) const; + + // DEPRECATED. Please use GetMutableRepeatedFieldRef(). + // + // for T = Cord and all protobuf scalar types except enums. + template + RepeatedField* MutableRepeatedField( + Message*, const FieldDescriptor*) const; + + // DEPRECATED. Please use GetRepeatedFieldRef(). + // + // for T = string, google::protobuf::internal::StringPieceField + // google::protobuf::Message & descendants. + template + const RepeatedPtrField& GetRepeatedPtrField( + const Message&, const FieldDescriptor*) const; + + // DEPRECATED. Please use GetMutableRepeatedFieldRef(). + // + // for T = string, google::protobuf::internal::StringPieceField + // google::protobuf::Message & descendants. + template + RepeatedPtrField* MutableRepeatedPtrField( + Message*, const FieldDescriptor*) const; + + // Extensions ---------------------------------------------------------------- + + // Try to find an extension of this message type by fully-qualified field + // name. Returns NULL if no extension is known for this name or number. + virtual const FieldDescriptor* FindKnownExtensionByName( + const string& name) const = 0; + + // Try to find an extension of this message type by field number. + // Returns NULL if no extension is known for this name or number. + virtual const FieldDescriptor* FindKnownExtensionByNumber( + int number) const = 0; + + // Feature Flags ------------------------------------------------------------- + + // Does this message support storing arbitrary integer values in enum fields? + // If |true|, GetEnumValue/SetEnumValue and associated repeated-field versions + // take arbitrary integer values, and the legacy GetEnum() getter will + // dynamically create an EnumValueDescriptor for any integer value without + // one. If |false|, setting an unknown enum value via the integer-based + // setters results in undefined behavior (in practice, GOOGLE_DCHECK-fails). + // + // Generic code that uses reflection to handle messages with enum fields + // should check this flag before using the integer-based setter, and either + // downgrade to a compatible value or use the UnknownFieldSet if not. For + // example: + // + // int new_value = GetValueFromApplicationLogic(); + // if (reflection->SupportsUnknownEnumValues()) { + // reflection->SetEnumValue(message, field, new_value); + // } else { + // if (field_descriptor->enum_type()-> + // FindValueByNumver(new_value) != NULL) { + // reflection->SetEnumValue(message, field, new_value); + // } else if (emit_unknown_enum_values) { + // reflection->MutableUnknownFields(message)->AddVarint( + // field->number(), + // new_value); + // } else { + // // convert value to a compatible/default value. + // new_value = CompatibleDowngrade(new_value); + // reflection->SetEnumValue(message, field, new_value); + // } + // } + virtual bool SupportsUnknownEnumValues() const { return false; } + + // Returns the MessageFactory associated with this message. This can be + // useful for determining if a message is a generated message or not, for + // example: + // + // if (message->GetReflection()->GetMessageFactory() == + // google::protobuf::MessageFactory::generated_factory()) { + // // This is a generated message. + // } + // + // It can also be used to create more messages of this type, though + // Message::New() is an easier way to accomplish this. + virtual MessageFactory* GetMessageFactory() const; + + // --------------------------------------------------------------------------- + + protected: + // Obtain a pointer to a Repeated Field Structure and do some type checking: + // on field->cpp_type(), + // on field->field_option().ctype() (if ctype >= 0) + // of field->message_type() (if message_type != NULL). + // We use 2 routine rather than 4 (const vs mutable) x (scalar vs pointer). + virtual void* MutableRawRepeatedField( + Message* message, const FieldDescriptor* field, FieldDescriptor::CppType, + int ctype, const Descriptor* message_type) const = 0; + + // TODO(jieluo) - make it pure virtual after updating all the subclasses. + virtual const void* GetRawRepeatedField( + const Message& message, const FieldDescriptor* field, + FieldDescriptor::CppType cpptype, int ctype, + const Descriptor* message_type) const { + return MutableRawRepeatedField( + const_cast(&message), field, cpptype, ctype, message_type); + } + + // The following methods are used to implement (Mutable)RepeatedFieldRef. + // A Ref object will store a raw pointer to the repeated field data (obtained + // from RepeatedFieldData()) and a pointer to a Accessor (obtained from + // RepeatedFieldAccessor) which will be used to access the raw data. + // + // TODO(xiaofeng): Make these methods pure-virtual. + + // Returns a raw pointer to the repeated field + // + // "cpp_type" and "message_type" are decuded from the type parameter T passed + // to Get(Mutable)RepeatedFieldRef. If T is a generated message type, + // "message_type" should be set to its descriptor. Otherwise "message_type" + // should be set to NULL. Implementations of this method should check whether + // "cpp_type"/"message_type" is consistent with the actual type of the field. + // We use 1 routine rather than 2 (const vs mutable) because it is protected + // and it doesn't change the message. + virtual void* RepeatedFieldData( + Message* message, const FieldDescriptor* field, + FieldDescriptor::CppType cpp_type, + const Descriptor* message_type) const; + + // The returned pointer should point to a singleton instance which implements + // the RepeatedFieldAccessor interface. + virtual const internal::RepeatedFieldAccessor* RepeatedFieldAccessor( + const FieldDescriptor* field) const; + + private: + template + friend class RepeatedFieldRef; + template + friend class MutableRepeatedFieldRef; + friend class ::google::protobuf::python::MapReflectionFriend; + + // Special version for specialized implementations of string. We can't call + // MutableRawRepeatedField directly here because we don't have access to + // FieldOptions::* which are defined in descriptor.pb.h. Including that + // file here is not possible because it would cause a circular include cycle. + // We use 1 routine rather than 2 (const vs mutable) because it is private + // and mutable a repeated string field doesn't change the message. + void* MutableRawRepeatedString( + Message* message, const FieldDescriptor* field, bool is_string) const; + + friend class MapReflectionTester; + // TODO(jieluo) - make the map APIs pure virtual after updating + // all the subclasses. + // Returns true if key is in map. Returns false if key is not in map field. + virtual bool ContainsMapKey(const Message& /* message*/, + const FieldDescriptor* /* field */, + const MapKey& /* key */) const { + return false; + } + + // If key is in map field: Saves the value pointer to val and returns + // false. If key in not in map field: Insert the key into map, saves + // value pointer to val and retuns true. + virtual bool InsertOrLookupMapValue(Message* /* message */, + const FieldDescriptor* /* field */, + const MapKey& /* key */, + MapValueRef* /* val */) const { + return false; + } + + // Delete and returns true if key is in the map field. Returns false + // otherwise. + virtual bool DeleteMapValue(Message* /* mesage */, + const FieldDescriptor* /* field */, + const MapKey& /* key */) const { + return false; + } + + // Returns a MapIterator referring to the first element in the map field. + // If the map field is empty, this function returns the same as + // reflection::MapEnd. Mutation to the field may invalidate the iterator. + virtual MapIterator MapBegin( + Message* message, + const FieldDescriptor* field) const; + + // Returns a MapIterator referring to the theoretical element that would + // follow the last element in the map field. It does not point to any + // real element. Mutation to the field may invalidate the iterator. + virtual MapIterator MapEnd( + Message* message, + const FieldDescriptor* field) const; + + // Get the number of pair of a map field. The result may be + // different from FieldSize which can have duplicate keys. + virtual int MapSize(const Message& /* message */, + const FieldDescriptor* /* field */) const { + return 0; + } + + // Help method for MapIterator. + friend class MapIterator; + virtual internal::MapFieldBase* MapData( + Message* /* message */, const FieldDescriptor* /* field */) const { + return NULL; + } + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(Reflection); +}; + +// Abstract interface for a factory for message objects. +class LIBPROTOBUF_EXPORT MessageFactory { + public: + inline MessageFactory() {} + virtual ~MessageFactory(); + + // Given a Descriptor, gets or constructs the default (prototype) Message + // of that type. You can then call that message's New() method to construct + // a mutable message of that type. + // + // Calling this method twice with the same Descriptor returns the same + // object. The returned object remains property of the factory. Also, any + // objects created by calling the prototype's New() method share some data + // with the prototype, so these must be destroyed before the MessageFactory + // is destroyed. + // + // The given descriptor must outlive the returned message, and hence must + // outlive the MessageFactory. + // + // Some implementations do not support all types. GetPrototype() will + // return NULL if the descriptor passed in is not supported. + // + // This method may or may not be thread-safe depending on the implementation. + // Each implementation should document its own degree thread-safety. + virtual const Message* GetPrototype(const Descriptor* type) = 0; + + // Gets a MessageFactory which supports all generated, compiled-in messages. + // In other words, for any compiled-in type FooMessage, the following is true: + // MessageFactory::generated_factory()->GetPrototype( + // FooMessage::descriptor()) == FooMessage::default_instance() + // This factory supports all types which are found in + // DescriptorPool::generated_pool(). If given a descriptor from any other + // pool, GetPrototype() will return NULL. (You can also check if a + // descriptor is for a generated message by checking if + // descriptor->file()->pool() == DescriptorPool::generated_pool().) + // + // This factory is 100% thread-safe; calling GetPrototype() does not modify + // any shared data. + // + // This factory is a singleton. The caller must not delete the object. + static MessageFactory* generated_factory(); + + // For internal use only: Registers a .proto file at static initialization + // time, to be placed in generated_factory. The first time GetPrototype() + // is called with a descriptor from this file, |register_messages| will be + // called, with the file name as the parameter. It must call + // InternalRegisterGeneratedMessage() (below) to register each message type + // in the file. This strange mechanism is necessary because descriptors are + // built lazily, so we can't register types by their descriptor until we + // know that the descriptor exists. |filename| must be a permanent string. + static void InternalRegisterGeneratedFile( + const char* filename, void (*register_messages)(const string&)); + + // For internal use only: Registers a message type. Called only by the + // functions which are registered with InternalRegisterGeneratedFile(), + // above. + static void InternalRegisterGeneratedMessage(const Descriptor* descriptor, + const Message* prototype); + + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFactory); +}; + +#define DECLARE_GET_REPEATED_FIELD(TYPE) \ +template<> \ +LIBPROTOBUF_EXPORT \ +const RepeatedField& Reflection::GetRepeatedField( \ + const Message& message, const FieldDescriptor* field) const; \ + \ +template<> \ +LIBPROTOBUF_EXPORT \ +RepeatedField* Reflection::MutableRepeatedField( \ + Message* message, const FieldDescriptor* field) const; + +DECLARE_GET_REPEATED_FIELD(int32) +DECLARE_GET_REPEATED_FIELD(int64) +DECLARE_GET_REPEATED_FIELD(uint32) +DECLARE_GET_REPEATED_FIELD(uint64) +DECLARE_GET_REPEATED_FIELD(float) +DECLARE_GET_REPEATED_FIELD(double) +DECLARE_GET_REPEATED_FIELD(bool) + +#undef DECLARE_GET_REPEATED_FIELD + +// ============================================================================= +// Implementation details for {Get,Mutable}RawRepeatedPtrField. We provide +// specializations for , and and handle +// everything else with the default template which will match any type having +// a method with signature "static const google::protobuf::Descriptor* descriptor()". +// Such a type presumably is a descendant of google::protobuf::Message. + +template<> +inline const RepeatedPtrField& Reflection::GetRepeatedPtrField( + const Message& message, const FieldDescriptor* field) const { + return *static_cast* >( + MutableRawRepeatedString(const_cast(&message), field, true)); +} + +template<> +inline RepeatedPtrField* Reflection::MutableRepeatedPtrField( + Message* message, const FieldDescriptor* field) const { + return static_cast* >( + MutableRawRepeatedString(message, field, true)); +} + + +// ----- + +template<> +inline const RepeatedPtrField& Reflection::GetRepeatedPtrField( + const Message& message, const FieldDescriptor* field) const { + return *static_cast* >( + GetRawRepeatedField(message, field, FieldDescriptor::CPPTYPE_MESSAGE, + -1, NULL)); +} + +template<> +inline RepeatedPtrField* Reflection::MutableRepeatedPtrField( + Message* message, const FieldDescriptor* field) const { + return static_cast* >( + MutableRawRepeatedField(message, field, + FieldDescriptor::CPPTYPE_MESSAGE, -1, + NULL)); +} + +template +inline const RepeatedPtrField& Reflection::GetRepeatedPtrField( + const Message& message, const FieldDescriptor* field) const { + return *static_cast* >( + GetRawRepeatedField(message, field, FieldDescriptor::CPPTYPE_MESSAGE, + -1, PB::default_instance().GetDescriptor())); +} + +template +inline RepeatedPtrField* Reflection::MutableRepeatedPtrField( + Message* message, const FieldDescriptor* field) const { + return static_cast* >( + MutableRawRepeatedField(message, field, + FieldDescriptor::CPPTYPE_MESSAGE, -1, + PB::default_instance().GetDescriptor())); +} +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_MESSAGE_H__ diff --git a/app/src/main/cpp/include/google/protobuf/message_lite.h b/app/src/main/cpp/include/google/protobuf/message_lite.h new file mode 100644 index 0000000..d3c3b1f --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/message_lite.h @@ -0,0 +1,297 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Authors: wink@google.com (Wink Saville), +// kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// Defines MessageLite, the abstract interface implemented by all (lite +// and non-lite) protocol message objects. + +#ifndef GOOGLE_PROTOBUF_MESSAGE_LITE_H__ +#define GOOGLE_PROTOBUF_MESSAGE_LITE_H__ + +#include + + +namespace google { +namespace protobuf { + class Arena; +namespace io { + class CodedInputStream; + class CodedOutputStream; + class ZeroCopyInputStream; + class ZeroCopyOutputStream; +} +namespace internal { + class WireFormatLite; +} + +// Interface to light weight protocol messages. +// +// This interface is implemented by all protocol message objects. Non-lite +// messages additionally implement the Message interface, which is a +// subclass of MessageLite. Use MessageLite instead when you only need +// the subset of features which it supports -- namely, nothing that uses +// descriptors or reflection. You can instruct the protocol compiler +// to generate classes which implement only MessageLite, not the full +// Message interface, by adding the following line to the .proto file: +// +// option optimize_for = LITE_RUNTIME; +// +// This is particularly useful on resource-constrained systems where +// the full protocol buffers runtime library is too big. +// +// Note that on non-constrained systems (e.g. servers) when you need +// to link in lots of protocol definitions, a better way to reduce +// total code footprint is to use optimize_for = CODE_SIZE. This +// will make the generated code smaller while still supporting all the +// same features (at the expense of speed). optimize_for = LITE_RUNTIME +// is best when you only have a small number of message types linked +// into your binary, in which case the size of the protocol buffers +// runtime itself is the biggest problem. +class LIBPROTOBUF_EXPORT MessageLite { + public: + inline MessageLite() {} + virtual ~MessageLite() {} + + // Basic Operations ------------------------------------------------ + + // Get the name of this message type, e.g. "foo.bar.BazProto". + virtual string GetTypeName() const = 0; + + // Construct a new instance of the same type. Ownership is passed to the + // caller. + virtual MessageLite* New() const = 0; + + // Construct a new instance on the arena. Ownership is passed to the caller + // if arena is a NULL. Default implementation for backwards compatibility. + virtual MessageLite* New(::google::protobuf::Arena* arena) const; + + // Get the arena, if any, associated with this message. Virtual method + // required for generic operations but most arena-related operations should + // use the GetArenaNoVirtual() generated-code method. Default implementation + // to reduce code size by avoiding the need for per-type implementations when + // types do not implement arena support. + virtual ::google::protobuf::Arena* GetArena() const { return NULL; } + + // Get a pointer that may be equal to this message's arena, or may not be. If + // the value returned by this method is equal to some arena pointer, then this + // message is on that arena; however, if this message is on some arena, this + // method may or may not return that arena's pointer. As a tradeoff, this + // method may be more efficient than GetArena(). The intent is to allow + // underlying representations that use e.g. tagged pointers to sometimes store + // the arena pointer directly, and sometimes in a more indirect way, and allow + // a fastpath comparison against the arena pointer when it's easy to obtain. + virtual void* GetMaybeArenaPointer() const { return GetArena(); } + + // Clear all fields of the message and set them to their default values. + // Clear() avoids freeing memory, assuming that any memory allocated + // to hold parts of the message will be needed again to hold the next + // message. If you actually want to free the memory used by a Message, + // you must delete it. + virtual void Clear() = 0; + + // Quickly check if all required fields have values set. + virtual bool IsInitialized() const = 0; + + // This is not implemented for Lite messages -- it just returns "(cannot + // determine missing fields for lite message)". However, it is implemented + // for full messages. See message.h. + virtual string InitializationErrorString() const; + + // If |other| is the exact same class as this, calls MergeFrom(). Otherwise, + // results are undefined (probably crash). + virtual void CheckTypeAndMergeFrom(const MessageLite& other) = 0; + + // Parsing --------------------------------------------------------- + // Methods for parsing in protocol buffer format. Most of these are + // just simple wrappers around MergeFromCodedStream(). Clear() will be called + // before merging the input. + + // Fill the message with a protocol buffer parsed from the given input stream. + // Returns false on a read error or if the input is in the wrong format. A + // successful return does not indicate the entire input is consumed, ensure + // you call ConsumedEntireMessage() to check that if applicable. + bool ParseFromCodedStream(io::CodedInputStream* input); + // Like ParseFromCodedStream(), but accepts messages that are missing + // required fields. + bool ParsePartialFromCodedStream(io::CodedInputStream* input); + // Read a protocol buffer from the given zero-copy input stream. If + // successful, the entire input will be consumed. + bool ParseFromZeroCopyStream(io::ZeroCopyInputStream* input); + // Like ParseFromZeroCopyStream(), but accepts messages that are missing + // required fields. + bool ParsePartialFromZeroCopyStream(io::ZeroCopyInputStream* input); + // Read a protocol buffer from the given zero-copy input stream, expecting + // the message to be exactly "size" bytes long. If successful, exactly + // this many bytes will have been consumed from the input. + bool ParseFromBoundedZeroCopyStream(io::ZeroCopyInputStream* input, int size); + // Like ParseFromBoundedZeroCopyStream(), but accepts messages that are + // missing required fields. + bool ParsePartialFromBoundedZeroCopyStream(io::ZeroCopyInputStream* input, + int size); + // Parses a protocol buffer contained in a string. Returns true on success. + // This function takes a string in the (non-human-readable) binary wire + // format, matching the encoding output by MessageLite::SerializeToString(). + // If you'd like to convert a human-readable string into a protocol buffer + // object, see google::protobuf::TextFormat::ParseFromString(). + bool ParseFromString(const string& data); + // Like ParseFromString(), but accepts messages that are missing + // required fields. + bool ParsePartialFromString(const string& data); + // Parse a protocol buffer contained in an array of bytes. + bool ParseFromArray(const void* data, int size); + // Like ParseFromArray(), but accepts messages that are missing + // required fields. + bool ParsePartialFromArray(const void* data, int size); + + + // Reads a protocol buffer from the stream and merges it into this + // Message. Singular fields read from the input overwrite what is + // already in the Message and repeated fields are appended to those + // already present. + // + // It is the responsibility of the caller to call input->LastTagWas() + // (for groups) or input->ConsumedEntireMessage() (for non-groups) after + // this returns to verify that the message's end was delimited correctly. + // + // ParsefromCodedStream() is implemented as Clear() followed by + // MergeFromCodedStream(). + bool MergeFromCodedStream(io::CodedInputStream* input); + + // Like MergeFromCodedStream(), but succeeds even if required fields are + // missing in the input. + // + // MergeFromCodedStream() is just implemented as MergePartialFromCodedStream() + // followed by IsInitialized(). + virtual bool MergePartialFromCodedStream(io::CodedInputStream* input) = 0; + + + // Serialization --------------------------------------------------- + // Methods for serializing in protocol buffer format. Most of these + // are just simple wrappers around ByteSize() and SerializeWithCachedSizes(). + + // Write a protocol buffer of this message to the given output. Returns + // false on a write error. If the message is missing required fields, + // this may GOOGLE_CHECK-fail. + bool SerializeToCodedStream(io::CodedOutputStream* output) const; + // Like SerializeToCodedStream(), but allows missing required fields. + bool SerializePartialToCodedStream(io::CodedOutputStream* output) const; + // Write the message to the given zero-copy output stream. All required + // fields must be set. + bool SerializeToZeroCopyStream(io::ZeroCopyOutputStream* output) const; + // Like SerializeToZeroCopyStream(), but allows missing required fields. + bool SerializePartialToZeroCopyStream(io::ZeroCopyOutputStream* output) const; + // Serialize the message and store it in the given string. All required + // fields must be set. + bool SerializeToString(string* output) const; + // Like SerializeToString(), but allows missing required fields. + bool SerializePartialToString(string* output) const; + // Serialize the message and store it in the given byte array. All required + // fields must be set. + bool SerializeToArray(void* data, int size) const; + // Like SerializeToArray(), but allows missing required fields. + bool SerializePartialToArray(void* data, int size) const; + + // Make a string encoding the message. Is equivalent to calling + // SerializeToString() on a string and using that. Returns the empty + // string if SerializeToString() would have returned an error. + // Note: If you intend to generate many such strings, you may + // reduce heap fragmentation by instead re-using the same string + // object with calls to SerializeToString(). + string SerializeAsString() const; + // Like SerializeAsString(), but allows missing required fields. + string SerializePartialAsString() const; + + // Like SerializeToString(), but appends to the data to the string's existing + // contents. All required fields must be set. + bool AppendToString(string* output) const; + // Like AppendToString(), but allows missing required fields. + bool AppendPartialToString(string* output) const; + + // Computes the serialized size of the message. This recursively calls + // ByteSize() on all embedded messages. Subclasses MUST override either + // ByteSize() or ByteSizeLong() (overriding both is fine). + // + // ByteSize() is generally linear in the number of fields defined for the + // proto. + virtual int ByteSize() const { return ByteSizeLong(); } + virtual size_t ByteSizeLong() const; + + // Serializes the message without recomputing the size. The message must + // not have changed since the last call to ByteSize(); if it has, the results + // are undefined. + virtual void SerializeWithCachedSizes( + io::CodedOutputStream* output) const = 0; + + // A version of SerializeWithCachedSizesToArray, below, that does + // not guarantee deterministic serialization. + virtual uint8* SerializeWithCachedSizesToArray(uint8* target) const { + return InternalSerializeWithCachedSizesToArray(false, target); + } + + // Returns the result of the last call to ByteSize(). An embedded message's + // size is needed both to serialize it (because embedded messages are + // length-delimited) and to compute the outer message's size. Caching + // the size avoids computing it multiple times. + // + // ByteSize() does not automatically use the cached size when available + // because this would require invalidating it every time the message was + // modified, which would be too hard and expensive. (E.g. if a deeply-nested + // sub-message is changed, all of its parents' cached sizes would need to be + // invalidated, which is too much work for an otherwise inlined setter + // method.) + virtual int GetCachedSize() const = 0; + + // Functions below here are not part of the public interface. It isn't + // enforced, but they should be treated as private, and will be private + // at some future time. Unfortunately the implementation of the "friend" + // keyword in GCC is broken at the moment, but we expect it will be fixed. + + // Like SerializeWithCachedSizes, but writes directly to *target, returning + // a pointer to the byte immediately after the last byte written. "target" + // must point at a byte array of at least ByteSize() bytes. If deterministic + // is true then we use deterministic serialization, e.g., map keys are sorted. + // FOR INTERNAL USE ONLY! + virtual uint8* InternalSerializeWithCachedSizesToArray(bool deterministic, + uint8* target) const; + + private: + friend class internal::WireFormatLite; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageLite); +}; + +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_MESSAGE_LITE_H__ diff --git a/app/src/main/cpp/include/google/protobuf/metadata.h b/app/src/main/cpp/include/google/protobuf/metadata.h new file mode 100644 index 0000000..6e3eef6 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/metadata.h @@ -0,0 +1,159 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This header file defines an internal class that encapsulates internal message +// metadata (Unknown-field set, Arena pointer, ...) and allows its +// representation to be made more space-efficient via various optimizations. +// +// Note that this is distinct from google::protobuf::Metadata, which encapsulates +// Descriptor and Reflection pointers. + +#ifndef GOOGLE_PROTOBUF_METADATA_H__ +#define GOOGLE_PROTOBUF_METADATA_H__ + +#include +#include +#include + +namespace google { +namespace protobuf { +namespace internal { + +// This is the representation for messages that support arena allocation. It +// uses a tagged pointer to either store the Arena pointer, if there are no +// unknown fields, or a pointer to a block of memory with both the Arena pointer +// and the UnknownFieldSet, if there are unknown fields. This optimization +// allows for "zero-overhead" storage of the Arena pointer, relative to the +// above baseline implementation. +// +// The tagged pointer uses the LSB to disambiguate cases, and uses bit 0 == 0 to +// indicate an arena pointer and bit 0 == 1 to indicate a UFS+Arena-container +// pointer. +class LIBPROTOBUF_EXPORT InternalMetadataWithArena { + public: + InternalMetadataWithArena() : ptr_(NULL) {} + explicit InternalMetadataWithArena(Arena* arena) + : ptr_ (arena) {} + + ~InternalMetadataWithArena() { + if (have_unknown_fields() && arena() == NULL) { + delete PtrValue(); + } + ptr_ = NULL; + } + + GOOGLE_ATTRIBUTE_ALWAYS_INLINE const UnknownFieldSet& unknown_fields() const { + if (GOOGLE_PREDICT_FALSE(have_unknown_fields())) { + return PtrValue()->unknown_fields_; + } else { + return *UnknownFieldSet::default_instance(); + } + } + + GOOGLE_ATTRIBUTE_ALWAYS_INLINE UnknownFieldSet* mutable_unknown_fields() { + if (GOOGLE_PREDICT_TRUE(have_unknown_fields())) { + return &PtrValue()->unknown_fields_; + } else { + return mutable_unknown_fields_slow(); + } + } + + GOOGLE_ATTRIBUTE_ALWAYS_INLINE Arena* arena() const { + if (GOOGLE_PREDICT_FALSE(have_unknown_fields())) { + return PtrValue()->arena_; + } else { + return PtrValue(); + } + } + + GOOGLE_ATTRIBUTE_ALWAYS_INLINE bool have_unknown_fields() const { + return PtrTag() == kTagContainer; + } + + GOOGLE_ATTRIBUTE_ALWAYS_INLINE void Swap(InternalMetadataWithArena* other) { + // Semantics here are that we swap only the unknown fields, not the arena + // pointer. We cannot simply swap ptr_ with other->ptr_ because we need to + // maintain our own arena ptr. Also, our ptr_ and other's ptr_ may be in + // different states (direct arena pointer vs. container with UFS) so we + // cannot simply swap ptr_ and then restore the arena pointers. We reuse + // UFS's swap implementation instead. + if (have_unknown_fields() || other->have_unknown_fields()) { + mutable_unknown_fields()->Swap(other->mutable_unknown_fields()); + } + } + + GOOGLE_ATTRIBUTE_ALWAYS_INLINE void* raw_arena_ptr() const { + return ptr_; + } + + private: + void* ptr_; + + // Tagged pointer implementation. + enum { + // ptr_ is an Arena*. + kTagArena = 0, + // ptr_ is a Container*. + kTagContainer = 1, + }; + static const intptr_t kPtrTagMask = 1; + static const intptr_t kPtrValueMask = ~kPtrTagMask; + + // Accessors for pointer tag and pointer value. + GOOGLE_ATTRIBUTE_ALWAYS_INLINE int PtrTag() const { + return reinterpret_cast(ptr_) & kPtrTagMask; + } + + template T* PtrValue() const { + return reinterpret_cast( + reinterpret_cast(ptr_) & kPtrValueMask); + } + + // If ptr_'s tag is kTagContainer, it points to an instance of this struct. + struct Container { + UnknownFieldSet unknown_fields_; + Arena* arena_; + }; + + GOOGLE_ATTRIBUTE_NOINLINE UnknownFieldSet* mutable_unknown_fields_slow() { + Arena* my_arena = arena(); + Container* container = Arena::Create(my_arena); + ptr_ = reinterpret_cast( + reinterpret_cast(container) | kTagContainer); + container->arena_ = my_arena; + return &(container->unknown_fields_); + } +}; + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_METADATA_H__ diff --git a/app/src/main/cpp/include/google/protobuf/reflection.h b/app/src/main/cpp/include/google/protobuf/reflection.h new file mode 100644 index 0000000..d5a6653 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/reflection.h @@ -0,0 +1,613 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This header defines the RepeatedFieldRef class template used to access +// repeated fields with protobuf reflection API. +#ifndef GOOGLE_PROTOBUF_REFLECTION_H__ +#define GOOGLE_PROTOBUF_REFLECTION_H__ + +#include +#ifndef _SHARED_PTR_H +#include +#endif + +#include +#include + +namespace google { +namespace protobuf { +namespace internal { +template +struct RefTypeTraits; +} // namespace internal + +template +RepeatedFieldRef Reflection::GetRepeatedFieldRef( + const Message& message, const FieldDescriptor* field) const { + return RepeatedFieldRef(message, field); +} + +template +MutableRepeatedFieldRef Reflection::GetMutableRepeatedFieldRef( + Message* message, const FieldDescriptor* field) const { + return MutableRepeatedFieldRef(message, field); +} + +// RepeatedFieldRef definition for non-message types. +template +class RepeatedFieldRef< + T, typename internal::enable_if::value>::type> { + typedef typename internal::RefTypeTraits::iterator IteratorType; + typedef typename internal::RefTypeTraits::AccessorType AccessorType; + + public: + bool empty() const { + return accessor_->IsEmpty(data_); + } + int size() const { + return accessor_->Size(data_); + } + T Get(int index) const { + return accessor_->template Get(data_, index); + } + + typedef IteratorType iterator; + typedef IteratorType const_iterator; + typedef T value_type; + typedef T& reference; + typedef const T& const_reference; + typedef int size_type; + typedef ptrdiff_t difference_type; + + iterator begin() const { + return iterator(data_, accessor_, true); + } + iterator end() const { + return iterator(data_, accessor_, false); + } + + private: + friend class Reflection; + RepeatedFieldRef( + const Message& message, + const FieldDescriptor* field) { + const Reflection* reflection = message.GetReflection(); + data_ = reflection->RepeatedFieldData( + const_cast(&message), field, + internal::RefTypeTraits::cpp_type, NULL); + accessor_ = reflection->RepeatedFieldAccessor(field); + } + + const void* data_; + const AccessorType* accessor_; +}; + +// MutableRepeatedFieldRef definition for non-message types. +template +class MutableRepeatedFieldRef< + T, typename internal::enable_if::value>::type> { + typedef typename internal::RefTypeTraits::AccessorType AccessorType; + + public: + bool empty() const { + return accessor_->IsEmpty(data_); + } + int size() const { + return accessor_->Size(data_); + } + T Get(int index) const { + return accessor_->template Get(data_, index); + } + + void Set(int index, const T& value) const { + accessor_->template Set(data_, index, value); + } + void Add(const T& value) const { + accessor_->template Add(data_, value); + } + void RemoveLast() const { + accessor_->RemoveLast(data_); + } + void SwapElements(int index1, int index2) const { + accessor_->SwapElements(data_, index1, index2); + } + void Clear() const { + accessor_->Clear(data_); + } + + void Swap(const MutableRepeatedFieldRef& other) const { + accessor_->Swap(data_, other.accessor_, other.data_); + } + + template + void MergeFrom(const Container& container) const { + typedef typename Container::const_iterator Iterator; + for (Iterator it = container.begin(); it != container.end(); ++it) { + Add(*it); + } + } + template + void CopyFrom(const Container& container) const { + Clear(); + MergeFrom(container); + } + + private: + friend class Reflection; + MutableRepeatedFieldRef( + Message* message, + const FieldDescriptor* field) { + const Reflection* reflection = message->GetReflection(); + data_ = reflection->RepeatedFieldData( + message, field, internal::RefTypeTraits::cpp_type, NULL); + accessor_ = reflection->RepeatedFieldAccessor(field); + } + + void* data_; + const AccessorType* accessor_; +}; + +// RepeatedFieldRef definition for message types. +template +class RepeatedFieldRef< + T, typename internal::enable_if::value>::type> { + typedef typename internal::RefTypeTraits::iterator IteratorType; + typedef typename internal::RefTypeTraits::AccessorType AccessorType; + + public: + bool empty() const { + return accessor_->IsEmpty(data_); + } + int size() const { + return accessor_->Size(data_); + } + // This method returns a reference to the underlying message object if it + // exists. If a message object doesn't exist (e.g., data stored in serialized + // form), scratch_space will be filled with the data and a reference to it + // will be returned. + // + // Example: + // RepeatedFieldRef h = ... + // unique_ptr scratch_space(h.NewMessage()); + // const Message& item = h.Get(index, scratch_space.get()); + const T& Get(int index, T* scratch_space) const { + return *static_cast(accessor_->Get(data_, index, scratch_space)); + } + // Create a new message of the same type as the messages stored in this + // repeated field. Caller takes ownership of the returned object. + T* NewMessage() const { + return static_cast(default_instance_->New()); + } + + typedef IteratorType iterator; + typedef IteratorType const_iterator; + typedef T value_type; + typedef T& reference; + typedef const T& const_reference; + typedef int size_type; + typedef ptrdiff_t difference_type; + + iterator begin() const { + return iterator(data_, accessor_, true, NewMessage()); + } + iterator end() const { + // The end iterator must not be dereferenced, no need for scratch space. + return iterator(data_, accessor_, false, NULL); + } + + private: + friend class Reflection; + RepeatedFieldRef( + const Message& message, + const FieldDescriptor* field) { + const Reflection* reflection = message.GetReflection(); + data_ = reflection->RepeatedFieldData( + const_cast(&message), field, + internal::RefTypeTraits::cpp_type, + internal::RefTypeTraits::GetMessageFieldDescriptor()); + accessor_ = reflection->RepeatedFieldAccessor(field); + default_instance_ = + reflection->GetMessageFactory()->GetPrototype(field->message_type()); + } + + const void* data_; + const AccessorType* accessor_; + const Message* default_instance_; +}; + +// MutableRepeatedFieldRef definition for message types. +template +class MutableRepeatedFieldRef< + T, typename internal::enable_if::value>::type> { + typedef typename internal::RefTypeTraits::AccessorType AccessorType; + + public: + bool empty() const { + return accessor_->IsEmpty(data_); + } + int size() const { + return accessor_->Size(data_); + } + // See comments for RepeatedFieldRef::Get() + const T& Get(int index, T* scratch_space) const { + return *static_cast(accessor_->Get(data_, index, scratch_space)); + } + // Create a new message of the same type as the messages stored in this + // repeated field. Caller takes ownership of the returned object. + T* NewMessage() const { + return static_cast(default_instance_->New()); + } + + void Set(int index, const T& value) const { + accessor_->Set(data_, index, &value); + } + void Add(const T& value) const { + accessor_->Add(data_, &value); + } + void RemoveLast() const { + accessor_->RemoveLast(data_); + } + void SwapElements(int index1, int index2) const { + accessor_->SwapElements(data_, index1, index2); + } + void Clear() const { + accessor_->Clear(data_); + } + + void Swap(const MutableRepeatedFieldRef& other) const { + accessor_->Swap(data_, other.accessor_, other.data_); + } + + template + void MergeFrom(const Container& container) const { + typedef typename Container::const_iterator Iterator; + for (Iterator it = container.begin(); it != container.end(); ++it) { + Add(*it); + } + } + template + void CopyFrom(const Container& container) const { + Clear(); + MergeFrom(container); + } + + private: + friend class Reflection; + MutableRepeatedFieldRef( + Message* message, + const FieldDescriptor* field) { + const Reflection* reflection = message->GetReflection(); + data_ = reflection->RepeatedFieldData( + message, field, internal::RefTypeTraits::cpp_type, + internal::RefTypeTraits::GetMessageFieldDescriptor()); + accessor_ = reflection->RepeatedFieldAccessor(field); + default_instance_ = + reflection->GetMessageFactory()->GetPrototype(field->message_type()); + } + + void* data_; + const AccessorType* accessor_; + const Message* default_instance_; +}; + +namespace internal { +// Interfaces used to implement reflection RepeatedFieldRef API. +// Reflection::GetRepeatedAccessor() should return a pointer to an singleton +// object that implements the below interface. +// +// This interface passes/returns values using void pointers. The actual type +// of the value depends on the field's cpp_type. Following is a mapping from +// cpp_type to the type that should be used in this interface: +// +// field->cpp_type() T Actual type of void* +// CPPTYPE_INT32 int32 int32 +// CPPTYPE_UINT32 uint32 uint32 +// CPPTYPE_INT64 int64 int64 +// CPPTYPE_UINT64 uint64 uint64 +// CPPTYPE_DOUBLE double double +// CPPTYPE_FLOAT float float +// CPPTYPE_BOOL bool bool +// CPPTYPE_ENUM generated enum type int32 +// CPPTYPE_STRING string string +// CPPTYPE_MESSAGE generated message type google::protobuf::Message +// or google::protobuf::Message +// +// Note that for enums we use int32 in the interface. +// +// You can map from T to the actual type using RefTypeTraits: +// typedef RefTypeTraits::AccessorValueType ActualType; +class LIBPROTOBUF_EXPORT RepeatedFieldAccessor { + public: + // Typedefs for clarity. + typedef void Field; + typedef void Value; + typedef void Iterator; + + virtual ~RepeatedFieldAccessor(); + virtual bool IsEmpty(const Field* data) const = 0; + virtual int Size(const Field* data) const = 0; + // Depends on the underlying representation of the repeated field, this + // method can return a pointer to the underlying object if such an object + // exists, or fill the data into scratch_space and return scratch_space. + // Callers of this method must ensure scratch_space is a valid pointer + // to a mutable object of the correct type. + virtual const Value* Get( + const Field* data, int index, Value* scratch_space) const = 0; + + virtual void Clear(Field* data) const = 0; + virtual void Set(Field* data, int index, const Value* value) const = 0; + virtual void Add(Field* data, const Value* value) const = 0; + virtual void RemoveLast(Field* data) const = 0; + virtual void SwapElements(Field* data, int index1, int index2) const = 0; + virtual void Swap(Field* data, const RepeatedFieldAccessor* other_mutator, + Field* other_data) const = 0; + + // Create an iterator that points at the beginning of the repeated field. + virtual Iterator* BeginIterator(const Field* data) const = 0; + // Create an iterator that points at the end of the repeated field. + virtual Iterator* EndIterator(const Field* data) const = 0; + // Make a copy of an iterator and return the new copy. + virtual Iterator* CopyIterator(const Field* data, + const Iterator* iterator) const = 0; + // Move an iterator to point to the next element. + virtual Iterator* AdvanceIterator(const Field* data, + Iterator* iterator) const = 0; + // Compare whether two iterators point to the same element. + virtual bool EqualsIterator(const Field* data, const Iterator* a, + const Iterator* b) const = 0; + // Delete an iterator created by BeginIterator(), EndIterator() and + // CopyIterator(). + virtual void DeleteIterator(const Field* data, Iterator* iterator) const = 0; + // Like Get() but for iterators. + virtual const Value* GetIteratorValue(const Field* data, + const Iterator* iterator, + Value* scratch_space) const = 0; + + // Templated methods that make using this interface easier for non-message + // types. + template + T Get(const Field* data, int index) const { + typedef typename RefTypeTraits::AccessorValueType ActualType; + ActualType scratch_space; + return static_cast( + *reinterpret_cast( + Get(data, index, static_cast(&scratch_space)))); + } + + template + void Set(Field* data, int index, const ValueType& value) const { + typedef typename RefTypeTraits::AccessorValueType ActualType; + // In this RepeatedFieldAccessor interface we pass/return data using + // raw pointers. Type of the data these raw pointers point to should + // be ActualType. Here we have a ValueType object and want a ActualType + // pointer. We can't cast a ValueType pointer to an ActualType pointer + // directly because their type might be different (for enums ValueType + // may be a generated enum type while ActualType is int32). To be safe + // we make a copy to get a temporary ActualType object and use it. + ActualType tmp = static_cast(value); + Set(data, index, static_cast(&tmp)); + } + + template + void Add(Field* data, const ValueType& value) const { + typedef typename RefTypeTraits::AccessorValueType ActualType; + // In this RepeatedFieldAccessor interface we pass/return data using + // raw pointers. Type of the data these raw pointers point to should + // be ActualType. Here we have a ValueType object and want a ActualType + // pointer. We can't cast a ValueType pointer to an ActualType pointer + // directly because their type might be different (for enums ValueType + // may be a generated enum type while ActualType is int32). To be safe + // we make a copy to get a temporary ActualType object and use it. + ActualType tmp = static_cast(value); + Add(data, static_cast(&tmp)); + } +}; + +// Implement (Mutable)RepeatedFieldRef::iterator +template +class RepeatedFieldRefIterator + : public std::iterator { + typedef typename RefTypeTraits::AccessorValueType AccessorValueType; + typedef typename RefTypeTraits::IteratorValueType IteratorValueType; + typedef typename RefTypeTraits::IteratorPointerType IteratorPointerType; + + public: + // Constructor for non-message fields. + RepeatedFieldRefIterator(const void* data, + const RepeatedFieldAccessor* accessor, bool begin) + : data_(data), + accessor_(accessor), + iterator_(begin ? accessor->BeginIterator(data) + : accessor->EndIterator(data)), + // The end iterator must not be dereferenced, no need for scratch space. + scratch_space_(begin ? new AccessorValueType : NULL) {} + // Constructor for message fields. + RepeatedFieldRefIterator(const void* data, + const RepeatedFieldAccessor* accessor, + bool begin, + AccessorValueType* scratch_space) + : data_(data), accessor_(accessor), + iterator_(begin ? accessor->BeginIterator(data) : + accessor->EndIterator(data)), + scratch_space_(scratch_space) { + } + ~RepeatedFieldRefIterator() { + accessor_->DeleteIterator(data_, iterator_); + } + RepeatedFieldRefIterator operator++(int) { + RepeatedFieldRefIterator tmp(*this); + iterator_ = accessor_->AdvanceIterator(data_, iterator_); + return tmp; + } + RepeatedFieldRefIterator& operator++() { + iterator_ = accessor_->AdvanceIterator(data_, iterator_); + return *this; + } + IteratorValueType operator*() const { + return static_cast( + *static_cast( + accessor_->GetIteratorValue( + data_, iterator_, scratch_space_.get()))); + } + IteratorPointerType operator->() const { + return static_cast( + accessor_->GetIteratorValue( + data_, iterator_, scratch_space_.get())); + } + bool operator!=(const RepeatedFieldRefIterator& other) const { + assert(data_ == other.data_); + assert(accessor_ == other.accessor_); + return !accessor_->EqualsIterator(data_, iterator_, other.iterator_); + } + bool operator==(const RepeatedFieldRefIterator& other) const { + return !this->operator!=(other); + } + + RepeatedFieldRefIterator(const RepeatedFieldRefIterator& other) + : data_(other.data_), accessor_(other.accessor_), + iterator_(accessor_->CopyIterator(data_, other.iterator_)) { + } + RepeatedFieldRefIterator& operator=(const RepeatedFieldRefIterator& other) { + if (this != &other) { + accessor_->DeleteIterator(data_, iterator_); + data_ = other.data_; + accessor_ = other.accessor_; + iterator_ = accessor_->CopyIterator(data_, other.iterator_); + } + return *this; + } + + protected: + const void* data_; + const RepeatedFieldAccessor* accessor_; + void* iterator_; + google::protobuf::scoped_ptr scratch_space_; +}; + +// TypeTraits that maps the type parameter T of RepeatedFieldRef or +// MutableRepeatedFieldRef to corresponding iterator type, +// RepeatedFieldAccessor type, etc. +template +struct PrimitiveTraits { + static const bool is_primitive = false; +}; +#define DEFINE_PRIMITIVE(TYPE, type) \ + template<> struct PrimitiveTraits { \ + static const bool is_primitive = true; \ + static const FieldDescriptor::CppType cpp_type = \ + FieldDescriptor::CPPTYPE_ ## TYPE; \ + }; +DEFINE_PRIMITIVE(INT32, int32) +DEFINE_PRIMITIVE(UINT32, uint32) +DEFINE_PRIMITIVE(INT64, int64) +DEFINE_PRIMITIVE(UINT64, uint64) +DEFINE_PRIMITIVE(FLOAT, float) +DEFINE_PRIMITIVE(DOUBLE, double) +DEFINE_PRIMITIVE(BOOL, bool) +#undef DEFINE_PRIMITIVE + +template +struct RefTypeTraits< + T, typename internal::enable_if::is_primitive>::type> { + typedef RepeatedFieldRefIterator iterator; + typedef RepeatedFieldAccessor AccessorType; + typedef T AccessorValueType; + typedef T IteratorValueType; + typedef T* IteratorPointerType; + static const FieldDescriptor::CppType cpp_type = + PrimitiveTraits::cpp_type; + static const Descriptor* GetMessageFieldDescriptor() { + return NULL; + } +}; + +template +struct RefTypeTraits< + T, typename internal::enable_if::value>::type> { + typedef RepeatedFieldRefIterator iterator; + typedef RepeatedFieldAccessor AccessorType; + // We use int32 for repeated enums in RepeatedFieldAccessor. + typedef int32 AccessorValueType; + typedef T IteratorValueType; + typedef int32* IteratorPointerType; + static const FieldDescriptor::CppType cpp_type = + FieldDescriptor::CPPTYPE_ENUM; + static const Descriptor* GetMessageFieldDescriptor() { + return NULL; + } +}; + +template +struct RefTypeTraits< + T, typename internal::enable_if< ::google::protobuf::internal::is_same::value>::type> { + typedef RepeatedFieldRefIterator iterator; + typedef RepeatedFieldAccessor AccessorType; + typedef string AccessorValueType; + typedef string IteratorValueType; + typedef string* IteratorPointerType; + static const FieldDescriptor::CppType cpp_type = + FieldDescriptor::CPPTYPE_STRING; + static const Descriptor* GetMessageFieldDescriptor() { + return NULL; + } +}; + +template +struct MessageDescriptorGetter { + static const Descriptor* get() { + return T::default_instance().GetDescriptor(); + } +}; +template<> +struct MessageDescriptorGetter { + static const Descriptor* get() { + return NULL; + } +}; + +template +struct RefTypeTraits< + T, typename internal::enable_if::value>::type> { + typedef RepeatedFieldRefIterator iterator; + typedef RepeatedFieldAccessor AccessorType; + typedef Message AccessorValueType; + typedef const T& IteratorValueType; + typedef const T* IteratorPointerType; + static const FieldDescriptor::CppType cpp_type = + FieldDescriptor::CPPTYPE_MESSAGE; + static const Descriptor* GetMessageFieldDescriptor() { + return MessageDescriptorGetter::get(); + } +}; +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_REFLECTION_H__ diff --git a/app/src/main/cpp/include/google/protobuf/reflection_ops.h b/app/src/main/cpp/include/google/protobuf/reflection_ops.h new file mode 100644 index 0000000..45d8c65 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/reflection_ops.h @@ -0,0 +1,81 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This header is logically internal, but is made public because it is used +// from protocol-compiler-generated code, which may reside in other components. + +#ifndef GOOGLE_PROTOBUF_REFLECTION_OPS_H__ +#define GOOGLE_PROTOBUF_REFLECTION_OPS_H__ + +#include +#include + +namespace google { +namespace protobuf { +namespace internal { + +// Basic operations that can be performed using reflection. +// These can be used as a cheap way to implement the corresponding +// methods of the Message interface, though they are likely to be +// slower than implementations tailored for the specific message type. +// +// This class should stay limited to operations needed to implement +// the Message interface. +// +// This class is really a namespace that contains only static methods. +class LIBPROTOBUF_EXPORT ReflectionOps { + public: + static void Copy(const Message& from, Message* to); + static void Merge(const Message& from, Message* to); + static void Clear(Message* message); + static bool IsInitialized(const Message& message); + static void DiscardUnknownFields(Message* message); + + // Finds all unset required fields in the message and adds their full + // paths (e.g. "foo.bar[5].baz") to *names. "prefix" will be attached to + // the front of each name. + static void FindInitializationErrors(const Message& message, + const string& prefix, + std::vector* errors); + + private: + // All methods are static. No need to construct. + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ReflectionOps); +}; + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_REFLECTION_OPS_H__ diff --git a/app/src/main/cpp/include/google/protobuf/repeated_field.h b/app/src/main/cpp/include/google/protobuf/repeated_field.h new file mode 100644 index 0000000..0a41495 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/repeated_field.h @@ -0,0 +1,2504 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// RepeatedField and RepeatedPtrField are used by generated protocol message +// classes to manipulate repeated fields. These classes are very similar to +// STL's vector, but include a number of optimizations found to be useful +// specifically in the case of Protocol Buffers. RepeatedPtrField is +// particularly different from STL vector as it manages ownership of the +// pointers that it contains. +// +// Typically, clients should not need to access RepeatedField objects directly, +// but should instead use the accessor functions generated automatically by the +// protocol compiler. + +#ifndef GOOGLE_PROTOBUF_REPEATED_FIELD_H__ +#define GOOGLE_PROTOBUF_REPEATED_FIELD_H__ + +#ifdef _MSC_VER +// This is required for min/max on VS2013 only. +#include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace google { + +namespace upb { +namespace google_opensource { +class GMR_Handlers; +} // namespace google_opensource +} // namespace upb + +namespace protobuf { + +class Message; + +namespace internal { + +static const int kMinRepeatedFieldAllocationSize = 4; + +// A utility function for logging that doesn't need any template types. +void LogIndexOutOfBounds(int index, int size); + +template +inline int CalculateReserve(Iter begin, Iter end, std::forward_iterator_tag) { + return std::distance(begin, end); +} + +template +inline int CalculateReserve(Iter /*begin*/, Iter /*end*/, + std::input_iterator_tag /*unused*/) { + return -1; +} + +template +inline int CalculateReserve(Iter begin, Iter end) { + typedef typename std::iterator_traits::iterator_category Category; + return CalculateReserve(begin, end, Category()); +} +} // namespace internal + + +// RepeatedField is used to represent repeated fields of a primitive type (in +// other words, everything except strings and nested Messages). Most users will +// not ever use a RepeatedField directly; they will use the get-by-index, +// set-by-index, and add accessors that are generated for all repeated fields. +template +class RepeatedField { + public: + RepeatedField(); + explicit RepeatedField(Arena* arena); + RepeatedField(const RepeatedField& other); + template + RepeatedField(Iter begin, const Iter& end); + ~RepeatedField(); + + RepeatedField& operator=(const RepeatedField& other); + + bool empty() const; + int size() const; + + const Element& Get(int index) const; + Element* Mutable(int index); + + const Element& operator[](int index) const { return Get(index); } + Element& operator[](int index) { return *Mutable(index); } + + void Set(int index, const Element& value); + void Add(const Element& value); + Element* Add(); + // Remove the last element in the array. + void RemoveLast(); + + // Extract elements with indices in "[start .. start+num-1]". + // Copy them into "elements[0 .. num-1]" if "elements" is not NULL. + // Caution: implementation also moves elements with indices [start+num ..]. + // Calling this routine inside a loop can cause quadratic behavior. + void ExtractSubrange(int start, int num, Element* elements); + + void Clear(); + void MergeFrom(const RepeatedField& other); + void UnsafeMergeFrom(const RepeatedField& other); + void CopyFrom(const RepeatedField& other); + + // Reserve space to expand the field to at least the given size. If the + // array is grown, it will always be at least doubled in size. + void Reserve(int new_size); + + // Resize the RepeatedField to a new, smaller size. This is O(1). + void Truncate(int new_size); + + void AddAlreadyReserved(const Element& value); + Element* AddAlreadyReserved(); + int Capacity() const; + + // Like STL resize. Uses value to fill appended elements. + // Like Truncate() if new_size <= size(), otherwise this is + // O(new_size - size()). + void Resize(int new_size, const Element& value); + + // Gets the underlying array. This pointer is possibly invalidated by + // any add or remove operation. + Element* mutable_data(); + const Element* data() const; + + // Swap entire contents with "other". If they are separate arenas then, copies + // data between each other. + void Swap(RepeatedField* other); + + // Swap entire contents with "other". Should be called only if the caller can + // guarantee that both repeated fields are on the same arena or are on the + // heap. Swapping between different arenas is disallowed and caught by a + // GOOGLE_DCHECK (see API docs for details). + void UnsafeArenaSwap(RepeatedField* other); + + // Swap two elements. + void SwapElements(int index1, int index2); + + // STL-like iterator support + typedef Element* iterator; + typedef const Element* const_iterator; + typedef Element value_type; + typedef value_type& reference; + typedef const value_type& const_reference; + typedef value_type* pointer; + typedef const value_type* const_pointer; + typedef int size_type; + typedef ptrdiff_t difference_type; + + iterator begin(); + const_iterator begin() const; + const_iterator cbegin() const; + iterator end(); + const_iterator end() const; + const_iterator cend() const; + + // Reverse iterator support + typedef std::reverse_iterator const_reverse_iterator; + typedef std::reverse_iterator reverse_iterator; + reverse_iterator rbegin() { + return reverse_iterator(end()); + } + const_reverse_iterator rbegin() const { + return const_reverse_iterator(end()); + } + reverse_iterator rend() { + return reverse_iterator(begin()); + } + const_reverse_iterator rend() const { + return const_reverse_iterator(begin()); + } + + // Returns the number of bytes used by the repeated field, excluding + // sizeof(*this) + int SpaceUsedExcludingSelf() const; + + // Removes the element referenced by position. + // + // Returns an iterator to the element immediately following the removed + // element. + // + // Invalidates all iterators at or after the removed element, including end(). + iterator erase(const_iterator position); + + // Removes the elements in the range [first, last). + // + // Returns an iterator to the element immediately following the removed range. + // + // Invalidates all iterators at or after the removed range, including end(). + iterator erase(const_iterator first, const_iterator last); + + // Get the Arena on which this RepeatedField stores its elements. + ::google::protobuf::Arena* GetArena() const { + return GetArenaNoVirtual(); + } + + private: + static const int kInitialSize = 0; + // A note on the representation here (see also comment below for + // RepeatedPtrFieldBase's struct Rep): + // + // We maintain the same sizeof(RepeatedField) as before we added arena support + // so that we do not degrade performance by bloating memory usage. Directly + // adding an arena_ element to RepeatedField is quite costly. By using + // indirection in this way, we keep the same size when the RepeatedField is + // empty (common case), and add only an 8-byte header to the elements array + // when non-empty. We make sure to place the size fields directly in the + // RepeatedField class to avoid costly cache misses due to the indirection. + int current_size_; + int total_size_; + struct Rep { + Arena* arena; + Element elements[1]; + }; + // We can not use sizeof(Rep) - sizeof(Element) due to the trailing padding on + // the struct. We can not use sizeof(Arena*) as well because there might be + // a "gap" after the field arena and before the field elements (e.g., when + // Element is double and pointer is 32bit). + static const size_t kRepHeaderSize; + // Contains arena ptr and the elements array. We also keep the invariant that + // if rep_ is NULL, then arena is NULL. + Rep* rep_; + + friend class Arena; + typedef void InternalArenaConstructable_; + + // Move the contents of |from| into |to|, possibly clobbering |from| in the + // process. For primitive types this is just a memcpy(), but it could be + // specialized for non-primitive types to, say, swap each element instead. + void MoveArray(Element* to, Element* from, int size); + + // Copy the elements of |from| into |to|. + void CopyArray(Element* to, const Element* from, int size); + + inline void InternalSwap(RepeatedField* other); + + // Internal helper expected by Arena methods. + inline Arena* GetArenaNoVirtual() const { + return (rep_ == NULL) ? NULL : rep_->arena; + } + + // Internal helper to delete all elements and deallocate the storage. + // If Element has a trivial destructor (for example, if it's a fundamental + // type, like int32), the loop will be removed by the optimizer. + void InternalDeallocate(Rep* rep, int size) { + if (rep != NULL) { + Element* e = &rep->elements[0]; + Element* limit = &rep->elements[size]; + for (; e < limit; e++) { + e->Element::~Element(); + } + if (rep->arena == NULL) { +#if defined(__GXX_DELETE_WITH_SIZE__) || defined(__cpp_sized_deallocation) + const size_t bytes = size * sizeof(*e) + kRepHeaderSize; + ::operator delete(static_cast(rep), bytes); +#else + ::operator delete(static_cast(rep)); +#endif + } + } + } +}; + +template +const size_t RepeatedField::kRepHeaderSize = + reinterpret_cast(&reinterpret_cast(16)->elements[0]) - 16; + +namespace internal { +template class RepeatedPtrIterator; +template class RepeatedPtrOverPtrsIterator; +} // namespace internal + +namespace internal { + +// This is a helper template to copy an array of elements effeciently when they +// have a trivial copy constructor, and correctly otherwise. This really +// shouldn't be necessary, but our compiler doesn't optimize std::copy very +// effectively. +template ::value> +struct ElementCopier { + void operator()(Element* to, const Element* from, int array_size); +}; + +} // namespace internal + +namespace internal { + +// type-traits helper for RepeatedPtrFieldBase: we only want to invoke +// arena-related "copy if on different arena" behavior if the necessary methods +// exist on the contained type. In particular, we rely on MergeFrom() existing +// as a general proxy for the fact that a copy will work, and we also provide a +// specific override for string*. +template +struct TypeImplementsMergeBehavior { + typedef char HasMerge; + typedef long HasNoMerge; + + // We accept either of: + // - void MergeFrom(const T& other) + // - bool MergeFrom(const T& other) + // + // We mangle these names a bit to avoid compatibility issues in 'unclean' + // include environments that may have, e.g., "#define test ..." (yes, this + // exists). + template + struct CheckType; + template static HasMerge Check( + CheckType*); + template static HasMerge Check( + CheckType*); + template static HasNoMerge Check(...); + + // Resovles to either google::protobuf::internal::true_type or google::protobuf::internal::false_type. + typedef google::protobuf::internal::integral_constant(0)) == sizeof(HasMerge))> type; +}; + +template<> +struct TypeImplementsMergeBehavior< ::std::string > { + typedef google::protobuf::internal::true_type type; +}; + +// This is the common base class for RepeatedPtrFields. It deals only in void* +// pointers. Users should not use this interface directly. +// +// The methods of this interface correspond to the methods of RepeatedPtrField, +// but may have a template argument called TypeHandler. Its signature is: +// class TypeHandler { +// public: +// typedef MyType Type; +// static Type* New(); +// static void Delete(Type*); +// static void Clear(Type*); +// static void Merge(const Type& from, Type* to); +// +// // Only needs to be implemented if SpaceUsedExcludingSelf() is called. +// static int SpaceUsed(const Type&); +// }; +class LIBPROTOBUF_EXPORT RepeatedPtrFieldBase { + protected: + // The reflection implementation needs to call protected methods directly, + // reinterpreting pointers as being to Message instead of a specific Message + // subclass. + friend class GeneratedMessageReflection; + + // ExtensionSet stores repeated message extensions as + // RepeatedPtrField, but non-lite ExtensionSets need to + // implement SpaceUsed(), and thus need to call SpaceUsedExcludingSelf() + // reinterpreting MessageLite as Message. ExtensionSet also needs to make + // use of AddFromCleared(), which is not part of the public interface. + friend class ExtensionSet; + + // The MapFieldBase implementation needs to call protected methods directly, + // reinterpreting pointers as being to Message instead of a specific Message + // subclass. + friend class MapFieldBase; + + // To parse directly into a proto2 generated class, the upb class GMR_Handlers + // needs to be able to modify a RepeatedPtrFieldBase directly. + friend class upb::google_opensource::GMR_Handlers; + + RepeatedPtrFieldBase(); + explicit RepeatedPtrFieldBase(::google::protobuf::Arena* arena); + ~RepeatedPtrFieldBase() {} + + // Must be called from destructor. + template + void Destroy(); + + bool empty() const; + int size() const; + + template + const typename TypeHandler::Type& Get(int index) const; + template + typename TypeHandler::Type* Mutable(int index); + template + void Delete(int index); + template + typename TypeHandler::Type* Add(typename TypeHandler::Type* prototype = NULL); + + template + void RemoveLast(); + template + void Clear(); + template + void MergeFrom(const RepeatedPtrFieldBase& other); + template + void CopyFrom(const RepeatedPtrFieldBase& other); + + void CloseGap(int start, int num); + + void Reserve(int new_size); + + int Capacity() const; + + // Used for constructing iterators. + void* const* raw_data() const; + void** raw_mutable_data() const; + + template + typename TypeHandler::Type** mutable_data(); + template + const typename TypeHandler::Type* const* data() const; + + template + GOOGLE_ATTRIBUTE_ALWAYS_INLINE void Swap(RepeatedPtrFieldBase* other); + + void SwapElements(int index1, int index2); + + template + int SpaceUsedExcludingSelf() const; + + + // Advanced memory management -------------------------------------- + + // Like Add(), but if there are no cleared objects to use, returns NULL. + template + typename TypeHandler::Type* AddFromCleared(); + + template + void AddAllocated(typename TypeHandler::Type* value) { + typename TypeImplementsMergeBehavior::type t; + AddAllocatedInternal(value, t); + } + + template + void UnsafeArenaAddAllocated(typename TypeHandler::Type* value); + + template + typename TypeHandler::Type* ReleaseLast() { + typename TypeImplementsMergeBehavior::type t; + return ReleaseLastInternal(t); + } + + // Releases last element and returns it, but does not do out-of-arena copy. + // And just returns the raw pointer to the contained element in the arena. + template + typename TypeHandler::Type* UnsafeArenaReleaseLast(); + + int ClearedCount() const; + template + void AddCleared(typename TypeHandler::Type* value); + template + typename TypeHandler::Type* ReleaseCleared(); + + protected: + inline void InternalSwap(RepeatedPtrFieldBase* other); + + template + void AddAllocatedInternal(typename TypeHandler::Type* value, + google::protobuf::internal::true_type); + template + void AddAllocatedInternal(typename TypeHandler::Type* value, + google::protobuf::internal::false_type); + + template GOOGLE_ATTRIBUTE_NOINLINE + void AddAllocatedSlowWithCopy(typename TypeHandler::Type* value, + Arena* value_arena, + Arena* my_arena); + template GOOGLE_ATTRIBUTE_NOINLINE + void AddAllocatedSlowWithoutCopy(typename TypeHandler::Type* value); + + template + typename TypeHandler::Type* ReleaseLastInternal(google::protobuf::internal::true_type); + template + typename TypeHandler::Type* ReleaseLastInternal(google::protobuf::internal::false_type); + + template GOOGLE_ATTRIBUTE_NOINLINE + void SwapFallback(RepeatedPtrFieldBase* other); + + inline Arena* GetArenaNoVirtual() const { + return arena_; + } + + private: + static const int kInitialSize = 0; + // A few notes on internal representation: + // + // We use an indirected approach, with struct Rep, to keep + // sizeof(RepeatedPtrFieldBase) equivalent to what it was before arena support + // was added, namely, 3 8-byte machine words on x86-64. An instance of Rep is + // allocated only when the repeated field is non-empty, and it is a + // dynamically-sized struct (the header is directly followed by elements[]). + // We place arena_ and current_size_ directly in the object to avoid cache + // misses due to the indirection, because these fields are checked frequently. + // Placing all fields directly in the RepeatedPtrFieldBase instance costs + // significant performance for memory-sensitive workloads. + Arena* arena_; + int current_size_; + int total_size_; + struct Rep { + int allocated_size; + void* elements[1]; + }; + static const size_t kRepHeaderSize = sizeof(Rep) - sizeof(void*); + // Contains arena ptr and the elements array. We also keep the invariant that + // if rep_ is NULL, then arena is NULL. + Rep* rep_; + + template + static inline typename TypeHandler::Type* cast(void* element) { + return reinterpret_cast(element); + } + template + static inline const typename TypeHandler::Type* cast(const void* element) { + return reinterpret_cast(element); + } + + // Non-templated inner function to avoid code duplication. Takes a function + // pointer to the type-specific (templated) inner allocate/merge loop. + void MergeFromInternal( + const RepeatedPtrFieldBase& other, + void (RepeatedPtrFieldBase::*inner_loop)(void**, void**, int, int)); + + template + void MergeFromInnerLoop( + void** our_elems, void** other_elems, int length, int already_allocated); + + // Internal helper: extend array space if necessary to contain |extend_amount| + // more elements, and return a pointer to the element immediately following + // the old list of elements. This interface factors out common behavior from + // Reserve() and MergeFrom() to reduce code size. |extend_amount| must be > 0. + void** InternalExtend(int extend_amount); + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedPtrFieldBase); +}; + +template +class GenericTypeHandler { + public: + typedef GenericType Type; + static inline GenericType* New(Arena* arena) { + return ::google::protobuf::Arena::CreateMaybeMessage( + arena, static_cast(0)); + } + // We force NewFromPrototype() to be non-inline to reduce code size: + // else, several other methods get inlined copies of message types' + // constructors. + GOOGLE_ATTRIBUTE_NOINLINE static GenericType* NewFromPrototype( + const GenericType* prototype, ::google::protobuf::Arena* arena = NULL); + static inline void Delete(GenericType* value, Arena* arena) { + if (arena == NULL) { + delete value; + } + } + static inline ::google::protobuf::Arena* GetArena(GenericType* value) { + return ::google::protobuf::Arena::GetArena(value); + } + static inline void* GetMaybeArenaPointer(GenericType* value) { + return ::google::protobuf::Arena::GetArena(value); + } + + static inline void Clear(GenericType* value) { value->Clear(); } + GOOGLE_ATTRIBUTE_NOINLINE static void Merge(const GenericType& from, + GenericType* to); + static inline int SpaceUsed(const GenericType& value) { + return value.SpaceUsed(); + } + static inline const Type& default_instance() { + return Type::default_instance(); + } +}; + +template +GenericType* GenericTypeHandler::NewFromPrototype( + const GenericType* /* prototype */, ::google::protobuf::Arena* arena) { + return New(arena); +} +template +void GenericTypeHandler::Merge(const GenericType& from, + GenericType* to) { + to->MergeFrom(from); +} + +// NewFromPrototype() and Merge() cannot be defined here; if they're declared +// inline the compiler will complain about not matching GOOGLE_ATTRIBUTE_NOINLINE +// above, and if not, compilation will result in multiple definitions. These +// are therefore declared as specializations here and defined in +// message_lite.cc. +template<> +MessageLite* GenericTypeHandler::NewFromPrototype( + const MessageLite* prototype, google::protobuf::Arena* arena); +template<> +inline google::protobuf::Arena* GenericTypeHandler::GetArena( + MessageLite* value) { + return value->GetArena(); +} +template<> +inline void* GenericTypeHandler::GetMaybeArenaPointer( + MessageLite* value) { + return value->GetMaybeArenaPointer(); +} +template <> +void GenericTypeHandler::Merge(const MessageLite& from, + MessageLite* to); +template<> +inline void GenericTypeHandler::Clear(string* value) { + value->clear(); +} +template<> +void GenericTypeHandler::Merge(const string& from, + string* to); + +// Declarations of the specialization as we cannot define them here, as the +// header that defines ProtocolMessage depends on types defined in this header. +#define DECLARE_SPECIALIZATIONS_FOR_BASE_PROTO_TYPES(TypeName) \ + template<> \ + TypeName* GenericTypeHandler::NewFromPrototype( \ + const TypeName* prototype, google::protobuf::Arena* arena); \ + template<> \ + google::protobuf::Arena* GenericTypeHandler::GetArena( \ + TypeName* value); \ + template<> \ + void* GenericTypeHandler::GetMaybeArenaPointer( \ + TypeName* value); + +// Message specialization bodies defined in message.cc. This split is necessary +// to allow proto2-lite (which includes this header) to be independent of +// Message. +DECLARE_SPECIALIZATIONS_FOR_BASE_PROTO_TYPES(Message) + + +#undef DECLARE_SPECIALIZATIONS_FOR_BASE_PROTO_TYPES + +template <> +inline const MessageLite& GenericTypeHandler::default_instance() { + // Yes, the behavior of the code is undefined, but this function is only + // called when we're already deep into the world of undefined, because the + // caller called Get(index) out of bounds. + MessageLite* null = NULL; + return *null; +} + +template <> +inline const Message& GenericTypeHandler::default_instance() { + // Yes, the behavior of the code is undefined, but this function is only + // called when we're already deep into the world of undefined, because the + // caller called Get(index) out of bounds. + Message* null = NULL; + return *null; +} + + +// HACK: If a class is declared as DLL-exported in MSVC, it insists on +// generating copies of all its methods -- even inline ones -- to include +// in the DLL. But SpaceUsed() calls StringSpaceUsedExcludingSelf() which +// isn't in the lite library, therefore the lite library cannot link if +// StringTypeHandler is exported. So, we factor out StringTypeHandlerBase, +// export that, then make StringTypeHandler be a subclass which is NOT +// exported. +// TODO(kenton): Now that StringSpaceUsedExcludingSelf() is in the lite +// library, this can be cleaned up. +class LIBPROTOBUF_EXPORT StringTypeHandlerBase { + public: + typedef string Type; + + static inline string* New(Arena* arena) { + return Arena::Create(arena); + } + static inline string* NewFromPrototype(const string*, + ::google::protobuf::Arena* arena) { + return New(arena); + } + static inline ::google::protobuf::Arena* GetArena(string*) { + return NULL; + } + static inline void* GetMaybeArenaPointer(string* /* value */) { + return NULL; + } + static inline void Delete(string* value, Arena* arena) { + if (arena == NULL) { + delete value; + } + } + static inline void Clear(string* value) { value->clear(); } + static inline void Merge(const string& from, string* to) { *to = from; } + static inline const Type& default_instance() { + return ::google::protobuf::internal::GetEmptyString(); + } +}; + +class StringTypeHandler : public StringTypeHandlerBase { + public: + static int SpaceUsed(const string& value) { + return static_cast(sizeof(value)) + StringSpaceUsedExcludingSelf(value); + } +}; + + +} // namespace internal + +// RepeatedPtrField is like RepeatedField, but used for repeated strings or +// Messages. +template +class RepeatedPtrField : public internal::RepeatedPtrFieldBase { + public: + RepeatedPtrField(); + explicit RepeatedPtrField(::google::protobuf::Arena* arena); + + RepeatedPtrField(const RepeatedPtrField& other); + template + RepeatedPtrField(Iter begin, const Iter& end); + ~RepeatedPtrField(); + + RepeatedPtrField& operator=(const RepeatedPtrField& other); + + bool empty() const; + int size() const; + + const Element& Get(int index) const; + Element* Mutable(int index); + Element* Add(); + + const Element& operator[](int index) const { return Get(index); } + Element& operator[](int index) { return *Mutable(index); } + + // Remove the last element in the array. + // Ownership of the element is retained by the array. + void RemoveLast(); + + // Delete elements with indices in the range [start .. start+num-1]. + // Caution: implementation moves all elements with indices [start+num .. ]. + // Calling this routine inside a loop can cause quadratic behavior. + void DeleteSubrange(int start, int num); + + void Clear(); + void MergeFrom(const RepeatedPtrField& other); + void UnsafeMergeFrom(const RepeatedPtrField& other) { MergeFrom(other); } + void CopyFrom(const RepeatedPtrField& other); + + // Reserve space to expand the field to at least the given size. This only + // resizes the pointer array; it doesn't allocate any objects. If the + // array is grown, it will always be at least doubled in size. + void Reserve(int new_size); + + int Capacity() const; + + // Gets the underlying array. This pointer is possibly invalidated by + // any add or remove operation. + Element** mutable_data(); + const Element* const* data() const; + + // Swap entire contents with "other". If they are on separate arenas, then + // copies data. + void Swap(RepeatedPtrField* other); + + // Swap entire contents with "other". Caller should guarantee that either both + // fields are on the same arena or both are on the heap. Swapping between + // different arenas with this function is disallowed and is caught via + // GOOGLE_DCHECK. + void UnsafeArenaSwap(RepeatedPtrField* other); + + // Swap two elements. + void SwapElements(int index1, int index2); + + // STL-like iterator support + typedef internal::RepeatedPtrIterator iterator; + typedef internal::RepeatedPtrIterator const_iterator; + typedef Element value_type; + typedef value_type& reference; + typedef const value_type& const_reference; + typedef value_type* pointer; + typedef const value_type* const_pointer; + typedef int size_type; + typedef ptrdiff_t difference_type; + + iterator begin(); + const_iterator begin() const; + const_iterator cbegin() const; + iterator end(); + const_iterator end() const; + const_iterator cend() const; + + // Reverse iterator support + typedef std::reverse_iterator const_reverse_iterator; + typedef std::reverse_iterator reverse_iterator; + reverse_iterator rbegin() { + return reverse_iterator(end()); + } + const_reverse_iterator rbegin() const { + return const_reverse_iterator(end()); + } + reverse_iterator rend() { + return reverse_iterator(begin()); + } + const_reverse_iterator rend() const { + return const_reverse_iterator(begin()); + } + + // Custom STL-like iterator that iterates over and returns the underlying + // pointers to Element rather than Element itself. + typedef internal::RepeatedPtrOverPtrsIterator + pointer_iterator; + typedef internal::RepeatedPtrOverPtrsIterator + const_pointer_iterator; + pointer_iterator pointer_begin(); + const_pointer_iterator pointer_begin() const; + pointer_iterator pointer_end(); + const_pointer_iterator pointer_end() const; + + // Returns (an estimate of) the number of bytes used by the repeated field, + // excluding sizeof(*this). + int SpaceUsedExcludingSelf() const; + + // Advanced memory management -------------------------------------- + // When hardcore memory management becomes necessary -- as it sometimes + // does here at Google -- the following methods may be useful. + + // Add an already-allocated object, passing ownership to the + // RepeatedPtrField. + // + // Note that some special behavior occurs with respect to arenas: + // + // (i) if this field holds submessages, the new submessage will be copied if + // the original is in an arena and this RepeatedPtrField is either in a + // different arena, or on the heap. + // (ii) if this field holds strings, the passed-in string *must* be + // heap-allocated, not arena-allocated. There is no way to dynamically check + // this at runtime, so User Beware. + void AddAllocated(Element* value); + + // Remove the last element and return it, passing ownership to the caller. + // Requires: size() > 0 + // + // If this RepeatedPtrField is on an arena, an object copy is required to pass + // ownership back to the user (for compatible semantics). Use + // UnsafeArenaReleaseLast() if this behavior is undesired. + Element* ReleaseLast(); + + // Add an already-allocated object, skipping arena-ownership checks. The user + // must guarantee that the given object is in the same arena as this + // RepeatedPtrField. + // It is also useful in legacy code that uses temporary ownership to avoid + // copies. Example: + // RepeatedPtrField temp_field; + // temp_field.AddAllocated(new T); + // ... // Do something with temp_field + // temp_field.ExtractSubrange(0, temp_field.size(), NULL); + // If you put temp_field on the arena this fails, because the ownership + // transfers to the arena at the "AddAllocated" call and is not released + // anymore causing a double delete. UnsafeArenaAddAllocated prevents this. + void UnsafeArenaAddAllocated(Element* value); + + // Remove the last element and return it. Works only when operating on an + // arena. The returned pointer is to the original object in the arena, hence + // has the arena's lifetime. + // Requires: current_size_ > 0 + Element* UnsafeArenaReleaseLast(); + + // Extract elements with indices in the range "[start .. start+num-1]". + // The caller assumes ownership of the extracted elements and is responsible + // for deleting them when they are no longer needed. + // If "elements" is non-NULL, then pointers to the extracted elements + // are stored in "elements[0 .. num-1]" for the convenience of the caller. + // If "elements" is NULL, then the caller must use some other mechanism + // to perform any further operations (like deletion) on these elements. + // Caution: implementation also moves elements with indices [start+num ..]. + // Calling this routine inside a loop can cause quadratic behavior. + // + // Memory copying behavior is identical to ReleaseLast(), described above: if + // this RepeatedPtrField is on an arena, an object copy is performed for each + // returned element, so that all returned element pointers are to + // heap-allocated copies. If this copy is not desired, the user should call + // UnsafeArenaExtractSubrange(). + void ExtractSubrange(int start, int num, Element** elements); + + // Identical to ExtractSubrange() described above, except that when this + // repeated field is on an arena, no object copies are performed. Instead, the + // raw object pointers are returned. Thus, if on an arena, the returned + // objects must not be freed, because they will not be heap-allocated objects. + void UnsafeArenaExtractSubrange(int start, int num, Element** elements); + + // When elements are removed by calls to RemoveLast() or Clear(), they + // are not actually freed. Instead, they are cleared and kept so that + // they can be reused later. This can save lots of CPU time when + // repeatedly reusing a protocol message for similar purposes. + // + // Hardcore programs may choose to manipulate these cleared objects + // to better optimize memory management using the following routines. + + // Get the number of cleared objects that are currently being kept + // around for reuse. + int ClearedCount() const; + // Add an element to the pool of cleared objects, passing ownership to + // the RepeatedPtrField. The element must be cleared prior to calling + // this method. + // + // This method cannot be called when the repeated field is on an arena or when + // |value| is; both cases will trigger a GOOGLE_DCHECK-failure. + void AddCleared(Element* value); + // Remove a single element from the cleared pool and return it, passing + // ownership to the caller. The element is guaranteed to be cleared. + // Requires: ClearedCount() > 0 + // + // + // This method cannot be called when the repeated field is on an arena; doing + // so will trigger a GOOGLE_DCHECK-failure. + Element* ReleaseCleared(); + + // Removes the element referenced by position. + // + // Returns an iterator to the element immediately following the removed + // element. + // + // Invalidates all iterators at or after the removed element, including end(). + iterator erase(const_iterator position); + + // Removes the elements in the range [first, last). + // + // Returns an iterator to the element immediately following the removed range. + // + // Invalidates all iterators at or after the removed range, including end(). + iterator erase(const_iterator first, const_iterator last); + + // Gets the arena on which this RepeatedPtrField stores its elements. + ::google::protobuf::Arena* GetArena() const { + return GetArenaNoVirtual(); + } + + protected: + // Note: RepeatedPtrField SHOULD NOT be subclassed by users. We only + // subclass it in one place as a hack for compatibility with proto1. The + // subclass needs to know about TypeHandler in order to call protected + // methods on RepeatedPtrFieldBase. + class TypeHandler; + + // Internal arena accessor expected by helpers in Arena. + inline Arena* GetArenaNoVirtual() const; + + private: + // Implementations for ExtractSubrange(). The copying behavior must be + // included only if the type supports the necessary operations (e.g., + // MergeFrom()), so we must resolve this at compile time. ExtractSubrange() + // uses SFINAE to choose one of the below implementations. + void ExtractSubrangeInternal(int start, int num, Element** elements, + google::protobuf::internal::true_type); + void ExtractSubrangeInternal(int start, int num, Element** elements, + google::protobuf::internal::false_type); + + friend class Arena; + typedef void InternalArenaConstructable_; + +}; + +// implementation ==================================================== + +template +inline RepeatedField::RepeatedField() + : current_size_(0), + total_size_(0), + rep_(NULL) { +} + +template +inline RepeatedField::RepeatedField(Arena* arena) + : current_size_(0), + total_size_(0), + rep_(NULL) { + // In case arena is NULL, then we do not create rep_, as code has an invariant + // `rep_ == NULL then arena == NULL`. + if (arena != NULL) { + rep_ = reinterpret_cast( + ::google::protobuf::Arena::CreateArray(arena, kRepHeaderSize)); + rep_->arena = arena; + } +} + +template +inline RepeatedField::RepeatedField(const RepeatedField& other) + : current_size_(0), + total_size_(0), + rep_(NULL) { + CopyFrom(other); +} + +template +template +RepeatedField::RepeatedField(Iter begin, const Iter& end) + : current_size_(0), + total_size_(0), + rep_(NULL) { + int reserve = internal::CalculateReserve(begin, end); + if (reserve != -1) { + Reserve(reserve); + for (; begin != end; ++begin) { + AddAlreadyReserved(*begin); + } + } else { + for (; begin != end; ++begin) { + Add(*begin); + } + } +} + +template +RepeatedField::~RepeatedField() { + // See explanation in Reserve(): we need to invoke destructors here for the + // case that Element has a non-trivial destructor. + InternalDeallocate(rep_, total_size_); +} + +template +inline RepeatedField& +RepeatedField::operator=(const RepeatedField& other) { + if (this != &other) + CopyFrom(other); + return *this; +} + +template +inline bool RepeatedField::empty() const { + return current_size_ == 0; +} + +template +inline int RepeatedField::size() const { + return current_size_; +} + +template +inline int RepeatedField::Capacity() const { + return total_size_; +} + +template +inline void RepeatedField::AddAlreadyReserved(const Element& value) { + GOOGLE_DCHECK_LT(current_size_, total_size_); + rep_->elements[current_size_++] = value; +} + +template +inline Element* RepeatedField::AddAlreadyReserved() { + GOOGLE_DCHECK_LT(current_size_, total_size_); + return &rep_->elements[current_size_++]; +} + +template +inline void RepeatedField::Resize(int new_size, const Element& value) { + GOOGLE_DCHECK_GE(new_size, 0); + if (new_size > current_size_) { + Reserve(new_size); + std::fill(&rep_->elements[current_size_], + &rep_->elements[new_size], value); + } + current_size_ = new_size; +} + +template +inline const Element& RepeatedField::Get(int index) const { + GOOGLE_DCHECK_GE(index, 0); + GOOGLE_DCHECK_LT(index, current_size_); + return rep_->elements[index]; +} + +template +inline Element* RepeatedField::Mutable(int index) { + GOOGLE_DCHECK_GE(index, 0); + GOOGLE_DCHECK_LT(index, current_size_); + return &rep_->elements[index]; +} + +template +inline void RepeatedField::Set(int index, const Element& value) { + GOOGLE_DCHECK_GE(index, 0); + GOOGLE_DCHECK_LT(index, current_size_); + rep_->elements[index] = value; +} + +template +inline void RepeatedField::Add(const Element& value) { + if (current_size_ == total_size_) Reserve(total_size_ + 1); + rep_->elements[current_size_++] = value; +} + +template +inline Element* RepeatedField::Add() { + if (current_size_ == total_size_) Reserve(total_size_ + 1); + return &rep_->elements[current_size_++]; +} + +template +inline void RepeatedField::RemoveLast() { + GOOGLE_DCHECK_GT(current_size_, 0); + current_size_--; +} + +template +void RepeatedField::ExtractSubrange( + int start, int num, Element* elements) { + GOOGLE_DCHECK_GE(start, 0); + GOOGLE_DCHECK_GE(num, 0); + GOOGLE_DCHECK_LE(start + num, this->current_size_); + + // Save the values of the removed elements if requested. + if (elements != NULL) { + for (int i = 0; i < num; ++i) + elements[i] = this->Get(i + start); + } + + // Slide remaining elements down to fill the gap. + if (num > 0) { + for (int i = start + num; i < this->current_size_; ++i) + this->Set(i - num, this->Get(i)); + this->Truncate(this->current_size_ - num); + } +} + +template +inline void RepeatedField::Clear() { + current_size_ = 0; +} + +template +inline void RepeatedField::UnsafeMergeFrom(const RepeatedField& other) { + if (other.current_size_ != 0) { + Reserve(current_size_ + other.current_size_); + CopyArray(rep_->elements + current_size_, + other.rep_->elements, other.current_size_); + current_size_ += other.current_size_; + } +} + +template +inline void RepeatedField::MergeFrom(const RepeatedField& other) { + GOOGLE_CHECK_NE(&other, this); + UnsafeMergeFrom(other); +} + +template +inline void RepeatedField::CopyFrom(const RepeatedField& other) { + if (&other == this) return; + Clear(); + MergeFrom(other); +} + +template +inline typename RepeatedField::iterator RepeatedField::erase( + const_iterator position) { + return erase(position, position + 1); +} + +template +inline typename RepeatedField::iterator RepeatedField::erase( + const_iterator first, const_iterator last) { + size_type first_offset = first - cbegin(); + if (first != last) { + Truncate(std::copy(last, cend(), begin() + first_offset) - cbegin()); + } + return begin() + first_offset; +} + +template +inline Element* RepeatedField::mutable_data() { + return rep_ ? rep_->elements : NULL; +} + +template +inline const Element* RepeatedField::data() const { + return rep_ ? rep_->elements : NULL; +} + + +template +inline void RepeatedField::InternalSwap(RepeatedField* other) { + std::swap(rep_, other->rep_); + std::swap(current_size_, other->current_size_); + std::swap(total_size_, other->total_size_); +} + +template +void RepeatedField::Swap(RepeatedField* other) { + if (this == other) return; + if (GetArenaNoVirtual() == other->GetArenaNoVirtual()) { + InternalSwap(other); + } else { + RepeatedField temp(other->GetArenaNoVirtual()); + temp.MergeFrom(*this); + CopyFrom(*other); + other->UnsafeArenaSwap(&temp); + } +} + +template +void RepeatedField::UnsafeArenaSwap(RepeatedField* other) { + if (this == other) return; + GOOGLE_DCHECK(GetArenaNoVirtual() == other->GetArenaNoVirtual()); + InternalSwap(other); +} + +template +void RepeatedField::SwapElements(int index1, int index2) { + using std::swap; // enable ADL with fallback + swap(rep_->elements[index1], rep_->elements[index2]); +} + +template +inline typename RepeatedField::iterator +RepeatedField::begin() { + return rep_ ? rep_->elements : NULL; +} +template +inline typename RepeatedField::const_iterator +RepeatedField::begin() const { + return rep_ ? rep_->elements : NULL; +} +template +inline typename RepeatedField::const_iterator +RepeatedField::cbegin() const { + return rep_ ? rep_->elements : NULL; +} +template +inline typename RepeatedField::iterator +RepeatedField::end() { + return rep_ ? rep_->elements + current_size_ : NULL; +} +template +inline typename RepeatedField::const_iterator +RepeatedField::end() const { + return rep_ ? rep_->elements + current_size_ : NULL; +} +template +inline typename RepeatedField::const_iterator +RepeatedField::cend() const { + return rep_ ? rep_->elements + current_size_ : NULL; +} + +template +inline int RepeatedField::SpaceUsedExcludingSelf() const { + return rep_ ? + (total_size_ * sizeof(Element) + kRepHeaderSize) : 0; +} + +// Avoid inlining of Reserve(): new, copy, and delete[] lead to a significant +// amount of code bloat. +template +void RepeatedField::Reserve(int new_size) { + if (total_size_ >= new_size) return; + Rep* old_rep = rep_; + Arena* arena = GetArenaNoVirtual(); + new_size = std::max(google::protobuf::internal::kMinRepeatedFieldAllocationSize, + std::max(total_size_ * 2, new_size)); + GOOGLE_CHECK_LE(static_cast(new_size), + (std::numeric_limits::max() - kRepHeaderSize) / + sizeof(Element)) + << "Requested size is too large to fit into size_t."; + size_t bytes = kRepHeaderSize + sizeof(Element) * new_size; + if (arena == NULL) { + rep_ = static_cast(::operator new(bytes)); + } else { + rep_ = reinterpret_cast( + ::google::protobuf::Arena::CreateArray(arena, bytes)); + } + rep_->arena = arena; + int old_total_size = total_size_; + total_size_ = new_size; + // Invoke placement-new on newly allocated elements. We shouldn't have to do + // this, since Element is supposed to be POD, but a previous version of this + // code allocated storage with "new Element[size]" and some code uses + // RepeatedField with non-POD types, relying on constructor invocation. If + // Element has a trivial constructor (e.g., int32), gcc (tested with -O2) + // completely removes this loop because the loop body is empty, so this has no + // effect unless its side-effects are required for correctness. + // Note that we do this before MoveArray() below because Element's copy + // assignment implementation will want an initialized instance first. + Element* e = &rep_->elements[0]; + Element* limit = &rep_->elements[total_size_]; + for (; e < limit; e++) { + new (e) Element(); + } + if (current_size_ > 0) { + MoveArray(rep_->elements, old_rep->elements, current_size_); + } + + // Likewise, we need to invoke destructors on the old array. + InternalDeallocate(old_rep, old_total_size); + +} + +template +inline void RepeatedField::Truncate(int new_size) { + GOOGLE_DCHECK_LE(new_size, current_size_); + if (current_size_ > 0) { + current_size_ = new_size; + } +} + +template +inline void RepeatedField::MoveArray( + Element* to, Element* from, int array_size) { + CopyArray(to, from, array_size); +} + +template +inline void RepeatedField::CopyArray( + Element* to, const Element* from, int array_size) { + internal::ElementCopier()(to, from, array_size); +} + +namespace internal { + +template +void ElementCopier::operator()( + Element* to, const Element* from, int array_size) { + std::copy(from, from + array_size, to); +} + +template +struct ElementCopier { + void operator()(Element* to, const Element* from, int array_size) { + memcpy(to, from, array_size * sizeof(Element)); + } +}; + +} // namespace internal + + +// ------------------------------------------------------------------- + +namespace internal { + +inline RepeatedPtrFieldBase::RepeatedPtrFieldBase() + : arena_(NULL), + current_size_(0), + total_size_(0), + rep_(NULL) { +} + +inline RepeatedPtrFieldBase::RepeatedPtrFieldBase(::google::protobuf::Arena* arena) + : arena_(arena), + current_size_(0), + total_size_(0), + rep_(NULL) { +} + +template +void RepeatedPtrFieldBase::Destroy() { + if (rep_ != NULL && arena_ == NULL) { + int n = rep_->allocated_size; + void* const* elements = rep_->elements; + for (int i = 0; i < n; i++) { + TypeHandler::Delete(cast(elements[i]), NULL); + } +#if defined(__GXX_DELETE_WITH_SIZE__) || defined(__cpp_sized_deallocation) + const size_t size = total_size_ * sizeof(elements[0]) + kRepHeaderSize; + ::operator delete(static_cast(rep_), size); +#else + ::operator delete(static_cast(rep_)); +#endif + } + rep_ = NULL; +} + +template +inline void RepeatedPtrFieldBase::Swap(RepeatedPtrFieldBase* other) { + if (other->GetArenaNoVirtual() == GetArenaNoVirtual()) { + InternalSwap(other); + } else { + SwapFallback(other); + } +} + +template +void RepeatedPtrFieldBase::SwapFallback(RepeatedPtrFieldBase* other) { + GOOGLE_DCHECK(other->GetArenaNoVirtual() != GetArenaNoVirtual()); + + // Copy semantics in this case. We try to improve efficiency by placing the + // temporary on |other|'s arena so that messages are copied cross-arena only + // once, not twice. + RepeatedPtrFieldBase temp(other->GetArenaNoVirtual()); + temp.MergeFrom(*this); + this->Clear(); + this->MergeFrom(*other); + other->Clear(); + other->InternalSwap(&temp); + temp.Destroy(); // Frees rep_ if `other` had no arena. +} + +inline bool RepeatedPtrFieldBase::empty() const { + return current_size_ == 0; +} + +inline int RepeatedPtrFieldBase::size() const { + return current_size_; +} + +template +inline const typename TypeHandler::Type& +RepeatedPtrFieldBase::Get(int index) const { + GOOGLE_DCHECK_GE(index, 0); + GOOGLE_DCHECK_LT(index, current_size_); + return *cast(rep_->elements[index]); +} + + +template +inline typename TypeHandler::Type* +RepeatedPtrFieldBase::Mutable(int index) { + GOOGLE_DCHECK_GE(index, 0); + GOOGLE_DCHECK_LT(index, current_size_); + return cast(rep_->elements[index]); +} + +template +inline void RepeatedPtrFieldBase::Delete(int index) { + GOOGLE_DCHECK_GE(index, 0); + GOOGLE_DCHECK_LT(index, current_size_); + TypeHandler::Delete(cast(rep_->elements[index]), arena_); +} + +template +inline typename TypeHandler::Type* RepeatedPtrFieldBase::Add( + typename TypeHandler::Type* prototype) { + if (rep_ != NULL && current_size_ < rep_->allocated_size) { + return cast(rep_->elements[current_size_++]); + } + if (!rep_ || rep_->allocated_size == total_size_) { + Reserve(total_size_ + 1); + } + ++rep_->allocated_size; + typename TypeHandler::Type* result = + TypeHandler::NewFromPrototype(prototype, arena_); + rep_->elements[current_size_++] = result; + return result; +} + +template +inline void RepeatedPtrFieldBase::RemoveLast() { + GOOGLE_DCHECK_GT(current_size_, 0); + TypeHandler::Clear(cast(rep_->elements[--current_size_])); +} + +template +void RepeatedPtrFieldBase::Clear() { + const int n = current_size_; + GOOGLE_DCHECK_GE(n, 0); + if (n > 0) { + void* const* elements = rep_->elements; + int i = 0; + do { + TypeHandler::Clear(cast(elements[i++])); + } while (i < n); + current_size_ = 0; + } +} + +// To avoid unnecessary code duplication and reduce binary size, we use a +// layered approach to implementing MergeFrom(). The toplevel method is +// templated, so we get a small thunk per concrete message type in the binary. +// This calls a shared implementation with most of the logic, passing a function +// pointer to another type-specific piece of code that calls the object-allocate +// and merge handlers. +template +inline void RepeatedPtrFieldBase::MergeFrom(const RepeatedPtrFieldBase& other) { + GOOGLE_DCHECK_NE(&other, this); + if (other.current_size_ == 0) return; + MergeFromInternal( + other, &RepeatedPtrFieldBase::MergeFromInnerLoop); +} + +inline void RepeatedPtrFieldBase::MergeFromInternal( + const RepeatedPtrFieldBase& other, + void (RepeatedPtrFieldBase::*inner_loop)(void**, void**, int, int)) { + // Note: wrapper has already guaranteed that other.rep_ != NULL here. + int other_size = other.current_size_; + void** other_elements = other.rep_->elements; + void** new_elements = InternalExtend(other_size); + int allocated_elems = rep_->allocated_size - current_size_; + (this->*inner_loop)(new_elements, other_elements, + other_size, allocated_elems); + current_size_ += other_size; + if (rep_->allocated_size < current_size_) { + rep_->allocated_size = current_size_; + } +} + +// Merges other_elems to our_elems. +template +void RepeatedPtrFieldBase::MergeFromInnerLoop( + void** our_elems, void** other_elems, int length, int already_allocated) { + // Split into two loops, over ranges [0, allocated) and [allocated, length), + // to avoid a branch within the loop. + for (int i = 0; i < already_allocated && i < length; i++) { + // Already allocated: use existing element. + typename TypeHandler::Type* other_elem = + reinterpret_cast(other_elems[i]); + typename TypeHandler::Type* new_elem = + reinterpret_cast(our_elems[i]); + TypeHandler::Merge(*other_elem, new_elem); + } + Arena* arena = GetArenaNoVirtual(); + for (int i = already_allocated; i < length; i++) { + // Not allocated: alloc a new element first, then merge it. + typename TypeHandler::Type* other_elem = + reinterpret_cast(other_elems[i]); + typename TypeHandler::Type* new_elem = + TypeHandler::NewFromPrototype(other_elem, arena); + TypeHandler::Merge(*other_elem, new_elem); + our_elems[i] = new_elem; + } +} + +template +inline void RepeatedPtrFieldBase::CopyFrom(const RepeatedPtrFieldBase& other) { + if (&other == this) return; + RepeatedPtrFieldBase::Clear(); + RepeatedPtrFieldBase::MergeFrom(other); +} + +inline int RepeatedPtrFieldBase::Capacity() const { + return total_size_; +} + +inline void* const* RepeatedPtrFieldBase::raw_data() const { + return rep_ ? rep_->elements : NULL; +} + +inline void** RepeatedPtrFieldBase::raw_mutable_data() const { + return rep_ ? const_cast(rep_->elements) : NULL; +} + +template +inline typename TypeHandler::Type** RepeatedPtrFieldBase::mutable_data() { + // TODO(kenton): Breaks C++ aliasing rules. We should probably remove this + // method entirely. + return reinterpret_cast(raw_mutable_data()); +} + +template +inline const typename TypeHandler::Type* const* +RepeatedPtrFieldBase::data() const { + // TODO(kenton): Breaks C++ aliasing rules. We should probably remove this + // method entirely. + return reinterpret_cast(raw_data()); +} + +inline void RepeatedPtrFieldBase::SwapElements(int index1, int index2) { + using std::swap; // enable ADL with fallback + swap(rep_->elements[index1], rep_->elements[index2]); +} + +template +inline int RepeatedPtrFieldBase::SpaceUsedExcludingSelf() const { + int allocated_bytes = total_size_ * sizeof(void*); + if (rep_ != NULL) { + for (int i = 0; i < rep_->allocated_size; ++i) { + allocated_bytes += TypeHandler::SpaceUsed( + *cast(rep_->elements[i])); + } + allocated_bytes += kRepHeaderSize; + } + return allocated_bytes; +} + +template +inline typename TypeHandler::Type* RepeatedPtrFieldBase::AddFromCleared() { + if (rep_ != NULL && current_size_ < rep_->allocated_size) { + return cast(rep_->elements[current_size_++]); + } else { + return NULL; + } +} + +// AddAllocated version that implements arena-safe copying behavior. +template +void RepeatedPtrFieldBase::AddAllocatedInternal( + typename TypeHandler::Type* value, + google::protobuf::internal::true_type) { + Arena* element_arena = reinterpret_cast( + TypeHandler::GetMaybeArenaPointer(value)); + Arena* arena = GetArenaNoVirtual(); + if (arena == element_arena && rep_ && + rep_->allocated_size < total_size_) { + // Fast path: underlying arena representation (tagged pointer) is equal to + // our arena pointer, and we can add to array without resizing it (at least + // one slot that is not allocated). + void** elems = rep_->elements; + if (current_size_ < rep_->allocated_size) { + // Make space at [current] by moving first allocated element to end of + // allocated list. + elems[rep_->allocated_size] = elems[current_size_]; + } + elems[current_size_] = value; + current_size_ = current_size_ + 1; + rep_->allocated_size = rep_->allocated_size + 1; + return; + } else { + AddAllocatedSlowWithCopy( + value, TypeHandler::GetArena(value), arena); + } +} + +// Slowpath handles all cases, copying if necessary. +template +void RepeatedPtrFieldBase::AddAllocatedSlowWithCopy( + // Pass value_arena and my_arena to avoid duplicate virtual call (value) or + // load (mine). + typename TypeHandler::Type* value, Arena* value_arena, Arena* my_arena) { + // Ensure that either the value is in the same arena, or if not, we do the + // appropriate thing: Own() it (if it's on heap and we're in an arena) or copy + // it to our arena/heap (otherwise). + if (my_arena != NULL && value_arena == NULL) { + my_arena->Own(value); + } else if (my_arena != value_arena) { + typename TypeHandler::Type* new_value = + TypeHandler::NewFromPrototype(value, my_arena); + TypeHandler::Merge(*value, new_value); + TypeHandler::Delete(value, value_arena); + value = new_value; + } + + UnsafeArenaAddAllocated(value); +} + +// AddAllocated version that does not implement arena-safe copying behavior. +template +void RepeatedPtrFieldBase::AddAllocatedInternal( + typename TypeHandler::Type* value, + google::protobuf::internal::false_type) { + if (rep_ && rep_->allocated_size < total_size_) { + // Fast path: underlying arena representation (tagged pointer) is equal to + // our arena pointer, and we can add to array without resizing it (at least + // one slot that is not allocated). + void** elems = rep_->elements; + if (current_size_ < rep_->allocated_size) { + // Make space at [current] by moving first allocated element to end of + // allocated list. + elems[rep_->allocated_size] = elems[current_size_]; + } + elems[current_size_] = value; + current_size_ = current_size_ + 1; + ++rep_->allocated_size; + return; + } else { + UnsafeArenaAddAllocated(value); + } +} + +template +void RepeatedPtrFieldBase::UnsafeArenaAddAllocated( + typename TypeHandler::Type* value) { + // Make room for the new pointer. + if (!rep_ || current_size_ == total_size_) { + // The array is completely full with no cleared objects, so grow it. + Reserve(total_size_ + 1); + ++rep_->allocated_size; + } else if (rep_->allocated_size == total_size_) { + // There is no more space in the pointer array because it contains some + // cleared objects awaiting reuse. We don't want to grow the array in this + // case because otherwise a loop calling AddAllocated() followed by Clear() + // would leak memory. + TypeHandler::Delete( + cast(rep_->elements[current_size_]), arena_); + } else if (current_size_ < rep_->allocated_size) { + // We have some cleared objects. We don't care about their order, so we + // can just move the first one to the end to make space. + rep_->elements[rep_->allocated_size] = rep_->elements[current_size_]; + ++rep_->allocated_size; + } else { + // There are no cleared objects. + ++rep_->allocated_size; + } + + rep_->elements[current_size_++] = value; +} + +// ReleaseLast() for types that implement merge/copy behavior. +template +inline typename TypeHandler::Type* +RepeatedPtrFieldBase::ReleaseLastInternal(google::protobuf::internal::true_type) { + // First, release an element. + typename TypeHandler::Type* result = UnsafeArenaReleaseLast(); + // Now perform a copy if we're on an arena. + Arena* arena = GetArenaNoVirtual(); + if (arena == NULL) { + return result; + } else { + typename TypeHandler::Type* new_result = + TypeHandler::NewFromPrototype(result, NULL); + TypeHandler::Merge(*result, new_result); + return new_result; + } +} + +// ReleaseLast() for types that *do not* implement merge/copy behavior -- this +// is the same as UnsafeArenaReleaseLast(). Note that we GOOGLE_DCHECK-fail if we're on +// an arena, since the user really should implement the copy operation in this +// case. +template +inline typename TypeHandler::Type* +RepeatedPtrFieldBase::ReleaseLastInternal(google::protobuf::internal::false_type) { + GOOGLE_DCHECK(GetArenaNoVirtual() == NULL) + << "ReleaseLast() called on a RepeatedPtrField that is on an arena, " + << "with a type that does not implement MergeFrom. This is unsafe; " + << "please implement MergeFrom for your type."; + return UnsafeArenaReleaseLast(); +} + +template +inline typename TypeHandler::Type* + RepeatedPtrFieldBase::UnsafeArenaReleaseLast() { + GOOGLE_DCHECK_GT(current_size_, 0); + typename TypeHandler::Type* result = + cast(rep_->elements[--current_size_]); + --rep_->allocated_size; + if (current_size_ < rep_->allocated_size) { + // There are cleared elements on the end; replace the removed element + // with the last allocated element. + rep_->elements[current_size_] = rep_->elements[rep_->allocated_size]; + } + return result; +} + +inline int RepeatedPtrFieldBase::ClearedCount() const { + return rep_ ? (rep_->allocated_size - current_size_) : 0; +} + +template +inline void RepeatedPtrFieldBase::AddCleared( + typename TypeHandler::Type* value) { + GOOGLE_DCHECK(GetArenaNoVirtual() == NULL) + << "AddCleared() can only be used on a RepeatedPtrField not on an arena."; + GOOGLE_DCHECK(TypeHandler::GetArena(value) == NULL) + << "AddCleared() can only accept values not on an arena."; + if (!rep_ || rep_->allocated_size == total_size_) { + Reserve(total_size_ + 1); + } + rep_->elements[rep_->allocated_size++] = value; +} + +template +inline typename TypeHandler::Type* RepeatedPtrFieldBase::ReleaseCleared() { + GOOGLE_DCHECK(GetArenaNoVirtual() == NULL) + << "ReleaseCleared() can only be used on a RepeatedPtrField not on " + << "an arena."; + GOOGLE_DCHECK(GetArenaNoVirtual() == NULL); + GOOGLE_DCHECK(rep_ != NULL); + GOOGLE_DCHECK_GT(rep_->allocated_size, current_size_); + return cast(rep_->elements[--rep_->allocated_size]); +} + +} // namespace internal + +// ------------------------------------------------------------------- + +template +class RepeatedPtrField::TypeHandler + : public internal::GenericTypeHandler { +}; + +template <> +class RepeatedPtrField::TypeHandler + : public internal::StringTypeHandler { +}; + + +template +inline RepeatedPtrField::RepeatedPtrField() + : RepeatedPtrFieldBase() {} + +template +inline RepeatedPtrField::RepeatedPtrField(::google::protobuf::Arena* arena) : + RepeatedPtrFieldBase(arena) {} + +template +inline RepeatedPtrField::RepeatedPtrField( + const RepeatedPtrField& other) + : RepeatedPtrFieldBase() { + CopyFrom(other); +} + +template +template +inline RepeatedPtrField::RepeatedPtrField( + Iter begin, const Iter& end) { + int reserve = internal::CalculateReserve(begin, end); + if (reserve != -1) { + Reserve(reserve); + } + for (; begin != end; ++begin) { + *Add() = *begin; + } +} + +template +RepeatedPtrField::~RepeatedPtrField() { + Destroy(); +} + +template +inline RepeatedPtrField& RepeatedPtrField::operator=( + const RepeatedPtrField& other) { + if (this != &other) + CopyFrom(other); + return *this; +} + +template +inline bool RepeatedPtrField::empty() const { + return RepeatedPtrFieldBase::empty(); +} + +template +inline int RepeatedPtrField::size() const { + return RepeatedPtrFieldBase::size(); +} + +template +inline const Element& RepeatedPtrField::Get(int index) const { + return RepeatedPtrFieldBase::Get(index); +} + + +template +inline Element* RepeatedPtrField::Mutable(int index) { + return RepeatedPtrFieldBase::Mutable(index); +} + +template +inline Element* RepeatedPtrField::Add() { + return RepeatedPtrFieldBase::Add(); +} + +template +inline void RepeatedPtrField::RemoveLast() { + RepeatedPtrFieldBase::RemoveLast(); +} + +template +inline void RepeatedPtrField::DeleteSubrange(int start, int num) { + GOOGLE_DCHECK_GE(start, 0); + GOOGLE_DCHECK_GE(num, 0); + GOOGLE_DCHECK_LE(start + num, size()); + for (int i = 0; i < num; ++i) { + RepeatedPtrFieldBase::Delete(start + i); + } + ExtractSubrange(start, num, NULL); +} + +template +inline void RepeatedPtrField::ExtractSubrange( + int start, int num, Element** elements) { + typename internal::TypeImplementsMergeBehavior< + typename TypeHandler::Type>::type t; + ExtractSubrangeInternal(start, num, elements, t); +} + +// ExtractSubrange() implementation for types that implement merge/copy +// behavior. +template +inline void RepeatedPtrField::ExtractSubrangeInternal( + int start, int num, Element** elements, google::protobuf::internal::true_type) { + GOOGLE_DCHECK_GE(start, 0); + GOOGLE_DCHECK_GE(num, 0); + GOOGLE_DCHECK_LE(start + num, size()); + + if (num > 0) { + // Save the values of the removed elements if requested. + if (elements != NULL) { + if (GetArenaNoVirtual() != NULL) { + // If we're on an arena, we perform a copy for each element so that the + // returned elements are heap-allocated. + for (int i = 0; i < num; ++i) { + Element* element = RepeatedPtrFieldBase:: + Mutable(i + start); + typename TypeHandler::Type* new_value = + TypeHandler::NewFromPrototype(element, NULL); + TypeHandler::Merge(*element, new_value); + elements[i] = new_value; + } + } else { + for (int i = 0; i < num; ++i) { + elements[i] = RepeatedPtrFieldBase::Mutable(i + start); + } + } + } + CloseGap(start, num); + } +} + +// ExtractSubrange() implementation for types that do not implement merge/copy +// behavior. +template +inline void RepeatedPtrField::ExtractSubrangeInternal( + int start, int num, Element** elements, google::protobuf::internal::false_type) { + // This case is identical to UnsafeArenaExtractSubrange(). However, since + // ExtractSubrange() must return heap-allocated objects by contract, and we + // cannot fulfill this contract if we are an on arena, we must GOOGLE_DCHECK() that + // we are not on an arena. + GOOGLE_DCHECK(GetArenaNoVirtual() == NULL) + << "ExtractSubrange() when arena is non-NULL is only supported when " + << "the Element type supplies a MergeFrom() operation to make copies."; + UnsafeArenaExtractSubrange(start, num, elements); +} + +template +inline void RepeatedPtrField::UnsafeArenaExtractSubrange( + int start, int num, Element** elements) { + GOOGLE_DCHECK_GE(start, 0); + GOOGLE_DCHECK_GE(num, 0); + GOOGLE_DCHECK_LE(start + num, size()); + + if (num > 0) { + // Save the values of the removed elements if requested. + if (elements != NULL) { + for (int i = 0; i < num; ++i) { + elements[i] = RepeatedPtrFieldBase::Mutable(i + start); + } + } + CloseGap(start, num); + } +} + +template +inline void RepeatedPtrField::Clear() { + RepeatedPtrFieldBase::Clear(); +} + +template +inline void RepeatedPtrField::MergeFrom( + const RepeatedPtrField& other) { + RepeatedPtrFieldBase::MergeFrom(other); +} + +template +inline void RepeatedPtrField::CopyFrom( + const RepeatedPtrField& other) { + RepeatedPtrFieldBase::CopyFrom(other); +} + +template +inline typename RepeatedPtrField::iterator +RepeatedPtrField::erase(const_iterator position) { + return erase(position, position + 1); +} + +template +inline typename RepeatedPtrField::iterator +RepeatedPtrField::erase(const_iterator first, const_iterator last) { + size_type pos_offset = std::distance(cbegin(), first); + size_type last_offset = std::distance(cbegin(), last); + DeleteSubrange(pos_offset, last_offset - pos_offset); + return begin() + pos_offset; +} + +template +inline Element** RepeatedPtrField::mutable_data() { + return RepeatedPtrFieldBase::mutable_data(); +} + +template +inline const Element* const* RepeatedPtrField::data() const { + return RepeatedPtrFieldBase::data(); +} + +template +inline void RepeatedPtrField::Swap(RepeatedPtrField* other) { + if (this == other) + return; + RepeatedPtrFieldBase::Swap(other); +} + +template +inline void RepeatedPtrField::UnsafeArenaSwap( + RepeatedPtrField* other) { + GOOGLE_DCHECK(GetArenaNoVirtual() == other->GetArenaNoVirtual()); + if (this == other) + return; + RepeatedPtrFieldBase::InternalSwap(other); +} + +template +inline void RepeatedPtrField::SwapElements(int index1, int index2) { + RepeatedPtrFieldBase::SwapElements(index1, index2); +} + +template +inline Arena* RepeatedPtrField::GetArenaNoVirtual() const { + return RepeatedPtrFieldBase::GetArenaNoVirtual(); +} + +template +inline int RepeatedPtrField::SpaceUsedExcludingSelf() const { + return RepeatedPtrFieldBase::SpaceUsedExcludingSelf(); +} + +template +inline void RepeatedPtrField::AddAllocated(Element* value) { + RepeatedPtrFieldBase::AddAllocated(value); +} + +template +inline void RepeatedPtrField::UnsafeArenaAddAllocated(Element* value) { + RepeatedPtrFieldBase::UnsafeArenaAddAllocated(value); +} + +template +inline Element* RepeatedPtrField::ReleaseLast() { + return RepeatedPtrFieldBase::ReleaseLast(); +} + +template +inline Element* RepeatedPtrField::UnsafeArenaReleaseLast() { + return RepeatedPtrFieldBase::UnsafeArenaReleaseLast(); +} + +template +inline int RepeatedPtrField::ClearedCount() const { + return RepeatedPtrFieldBase::ClearedCount(); +} + +template +inline void RepeatedPtrField::AddCleared(Element* value) { + return RepeatedPtrFieldBase::AddCleared(value); +} + +template +inline Element* RepeatedPtrField::ReleaseCleared() { + return RepeatedPtrFieldBase::ReleaseCleared(); +} + +template +inline void RepeatedPtrField::Reserve(int new_size) { + return RepeatedPtrFieldBase::Reserve(new_size); +} + +template +inline int RepeatedPtrField::Capacity() const { + return RepeatedPtrFieldBase::Capacity(); +} + +// ------------------------------------------------------------------- + +namespace internal { + +// STL-like iterator implementation for RepeatedPtrField. You should not +// refer to this class directly; use RepeatedPtrField::iterator instead. +// +// The iterator for RepeatedPtrField, RepeatedPtrIterator, is +// very similar to iterator_ptr in util/gtl/iterator_adaptors.h, +// but adds random-access operators and is modified to wrap a void** base +// iterator (since RepeatedPtrField stores its array as a void* array and +// casting void** to T** would violate C++ aliasing rules). +// +// This code based on net/proto/proto-array-internal.h by Jeffrey Yasskin +// (jyasskin@google.com). +template +class RepeatedPtrIterator + : public std::iterator< + std::random_access_iterator_tag, Element> { + public: + typedef RepeatedPtrIterator iterator; + typedef std::iterator< + std::random_access_iterator_tag, Element> superclass; + + // Shadow the value_type in std::iterator<> because const_iterator::value_type + // needs to be T, not const T. + typedef typename remove_const::type value_type; + + // Let the compiler know that these are type names, so we don't have to + // write "typename" in front of them everywhere. + typedef typename superclass::reference reference; + typedef typename superclass::pointer pointer; + typedef typename superclass::difference_type difference_type; + + RepeatedPtrIterator() : it_(NULL) {} + explicit RepeatedPtrIterator(void* const* it) : it_(it) {} + + // Allow "upcasting" from RepeatedPtrIterator to + // RepeatedPtrIterator. + template + RepeatedPtrIterator(const RepeatedPtrIterator& other) + : it_(other.it_) { + // Force a compiler error if the other type is not convertible to ours. + if (false) { + implicit_cast(0); + } + } + + // dereferenceable + reference operator*() const { return *reinterpret_cast(*it_); } + pointer operator->() const { return &(operator*()); } + + // {inc,dec}rementable + iterator& operator++() { ++it_; return *this; } + iterator operator++(int) { return iterator(it_++); } + iterator& operator--() { --it_; return *this; } + iterator operator--(int) { return iterator(it_--); } + + // equality_comparable + bool operator==(const iterator& x) const { return it_ == x.it_; } + bool operator!=(const iterator& x) const { return it_ != x.it_; } + + // less_than_comparable + bool operator<(const iterator& x) const { return it_ < x.it_; } + bool operator<=(const iterator& x) const { return it_ <= x.it_; } + bool operator>(const iterator& x) const { return it_ > x.it_; } + bool operator>=(const iterator& x) const { return it_ >= x.it_; } + + // addable, subtractable + iterator& operator+=(difference_type d) { + it_ += d; + return *this; + } + friend iterator operator+(iterator it, const difference_type d) { + it += d; + return it; + } + friend iterator operator+(const difference_type d, iterator it) { + it += d; + return it; + } + iterator& operator-=(difference_type d) { + it_ -= d; + return *this; + } + friend iterator operator-(iterator it, difference_type d) { + it -= d; + return it; + } + + // indexable + reference operator[](difference_type d) const { return *(*this + d); } + + // random access iterator + difference_type operator-(const iterator& x) const { return it_ - x.it_; } + + private: + template + friend class RepeatedPtrIterator; + + // The internal iterator. + void* const* it_; +}; + +// Provide an iterator that operates on pointers to the underlying objects +// rather than the objects themselves as RepeatedPtrIterator does. +// Consider using this when working with stl algorithms that change +// the array. +// The VoidPtr template parameter holds the type-agnostic pointer value +// referenced by the iterator. It should either be "void *" for a mutable +// iterator, or "const void *" for a constant iterator. +template +class RepeatedPtrOverPtrsIterator + : public std::iterator { + public: + typedef RepeatedPtrOverPtrsIterator iterator; + typedef std::iterator< + std::random_access_iterator_tag, Element*> superclass; + + // Shadow the value_type in std::iterator<> because const_iterator::value_type + // needs to be T, not const T. + typedef typename remove_const::type value_type; + + // Let the compiler know that these are type names, so we don't have to + // write "typename" in front of them everywhere. + typedef typename superclass::reference reference; + typedef typename superclass::pointer pointer; + typedef typename superclass::difference_type difference_type; + + RepeatedPtrOverPtrsIterator() : it_(NULL) {} + explicit RepeatedPtrOverPtrsIterator(VoidPtr* it) : it_(it) {} + + // dereferenceable + reference operator*() const { return *reinterpret_cast(it_); } + pointer operator->() const { return &(operator*()); } + + // {inc,dec}rementable + iterator& operator++() { ++it_; return *this; } + iterator operator++(int) { return iterator(it_++); } + iterator& operator--() { --it_; return *this; } + iterator operator--(int) { return iterator(it_--); } + + // equality_comparable + bool operator==(const iterator& x) const { return it_ == x.it_; } + bool operator!=(const iterator& x) const { return it_ != x.it_; } + + // less_than_comparable + bool operator<(const iterator& x) const { return it_ < x.it_; } + bool operator<=(const iterator& x) const { return it_ <= x.it_; } + bool operator>(const iterator& x) const { return it_ > x.it_; } + bool operator>=(const iterator& x) const { return it_ >= x.it_; } + + // addable, subtractable + iterator& operator+=(difference_type d) { + it_ += d; + return *this; + } + friend iterator operator+(iterator it, difference_type d) { + it += d; + return it; + } + friend iterator operator+(difference_type d, iterator it) { + it += d; + return it; + } + iterator& operator-=(difference_type d) { + it_ -= d; + return *this; + } + friend iterator operator-(iterator it, difference_type d) { + it -= d; + return it; + } + + // indexable + reference operator[](difference_type d) const { return *(*this + d); } + + // random access iterator + difference_type operator-(const iterator& x) const { return it_ - x.it_; } + + private: + template + friend class RepeatedPtrIterator; + + // The internal iterator. + VoidPtr* it_; +}; + +void RepeatedPtrFieldBase::InternalSwap(RepeatedPtrFieldBase* other) { + std::swap(rep_, other->rep_); + std::swap(current_size_, other->current_size_); + std::swap(total_size_, other->total_size_); +} + +} // namespace internal + +template +inline typename RepeatedPtrField::iterator +RepeatedPtrField::begin() { + return iterator(raw_data()); +} +template +inline typename RepeatedPtrField::const_iterator +RepeatedPtrField::begin() const { + return iterator(raw_data()); +} +template +inline typename RepeatedPtrField::const_iterator +RepeatedPtrField::cbegin() const { + return begin(); +} +template +inline typename RepeatedPtrField::iterator +RepeatedPtrField::end() { + return iterator(raw_data() + size()); +} +template +inline typename RepeatedPtrField::const_iterator +RepeatedPtrField::end() const { + return iterator(raw_data() + size()); +} +template +inline typename RepeatedPtrField::const_iterator +RepeatedPtrField::cend() const { + return end(); +} + +template +inline typename RepeatedPtrField::pointer_iterator +RepeatedPtrField::pointer_begin() { + return pointer_iterator(raw_mutable_data()); +} +template +inline typename RepeatedPtrField::const_pointer_iterator +RepeatedPtrField::pointer_begin() const { + return const_pointer_iterator(const_cast(raw_mutable_data())); +} +template +inline typename RepeatedPtrField::pointer_iterator +RepeatedPtrField::pointer_end() { + return pointer_iterator(raw_mutable_data() + size()); +} +template +inline typename RepeatedPtrField::const_pointer_iterator +RepeatedPtrField::pointer_end() const { + return const_pointer_iterator( + const_cast(raw_mutable_data() + size())); +} + + +// Iterators and helper functions that follow the spirit of the STL +// std::back_insert_iterator and std::back_inserter but are tailor-made +// for RepeatedField and RepeatedPtrField. Typical usage would be: +// +// std::copy(some_sequence.begin(), some_sequence.end(), +// google::protobuf::RepeatedFieldBackInserter(proto.mutable_sequence())); +// +// Ported by johannes from util/gtl/proto-array-iterators.h + +namespace internal { +// A back inserter for RepeatedField objects. +template class RepeatedFieldBackInsertIterator + : public std::iterator { + public: + explicit RepeatedFieldBackInsertIterator( + RepeatedField* const mutable_field) + : field_(mutable_field) { + } + RepeatedFieldBackInsertIterator& operator=(const T& value) { + field_->Add(value); + return *this; + } + RepeatedFieldBackInsertIterator& operator*() { + return *this; + } + RepeatedFieldBackInsertIterator& operator++() { + return *this; + } + RepeatedFieldBackInsertIterator& operator++(int /* unused */) { + return *this; + } + + private: + RepeatedField* field_; +}; + +// A back inserter for RepeatedPtrField objects. +template class RepeatedPtrFieldBackInsertIterator + : public std::iterator { + public: + RepeatedPtrFieldBackInsertIterator( + RepeatedPtrField* const mutable_field) + : field_(mutable_field) { + } + RepeatedPtrFieldBackInsertIterator& operator=(const T& value) { + *field_->Add() = value; + return *this; + } + RepeatedPtrFieldBackInsertIterator& operator=( + const T* const ptr_to_value) { + *field_->Add() = *ptr_to_value; + return *this; + } + RepeatedPtrFieldBackInsertIterator& operator*() { + return *this; + } + RepeatedPtrFieldBackInsertIterator& operator++() { + return *this; + } + RepeatedPtrFieldBackInsertIterator& operator++(int /* unused */) { + return *this; + } + + private: + RepeatedPtrField* field_; +}; + +// A back inserter for RepeatedPtrFields that inserts by transferring ownership +// of a pointer. +template class AllocatedRepeatedPtrFieldBackInsertIterator + : public std::iterator { + public: + explicit AllocatedRepeatedPtrFieldBackInsertIterator( + RepeatedPtrField* const mutable_field) + : field_(mutable_field) { + } + AllocatedRepeatedPtrFieldBackInsertIterator& operator=( + T* const ptr_to_value) { + field_->AddAllocated(ptr_to_value); + return *this; + } + AllocatedRepeatedPtrFieldBackInsertIterator& operator*() { + return *this; + } + AllocatedRepeatedPtrFieldBackInsertIterator& operator++() { + return *this; + } + AllocatedRepeatedPtrFieldBackInsertIterator& operator++( + int /* unused */) { + return *this; + } + + private: + RepeatedPtrField* field_; +}; + +// Almost identical to AllocatedRepeatedPtrFieldBackInsertIterator. This one +// uses the UnsafeArenaAddAllocated instead. +template +class UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator + : public std::iterator { + public: + explicit UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator( + ::google::protobuf::RepeatedPtrField* const mutable_field) + : field_(mutable_field) { + } + UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator& operator=( + T const* const ptr_to_value) { + field_->UnsafeArenaAddAllocated(const_cast(ptr_to_value)); + return *this; + } + UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator& operator*() { + return *this; + } + UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator& operator++() { + return *this; + } + UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator& operator++( + int /* unused */) { + return *this; + } + + private: + ::google::protobuf::RepeatedPtrField* field_; +}; + +} // namespace internal + +// Provides a back insert iterator for RepeatedField instances, +// similar to std::back_inserter(). +template internal::RepeatedFieldBackInsertIterator +RepeatedFieldBackInserter(RepeatedField* const mutable_field) { + return internal::RepeatedFieldBackInsertIterator(mutable_field); +} + +// Provides a back insert iterator for RepeatedPtrField instances, +// similar to std::back_inserter(). +template internal::RepeatedPtrFieldBackInsertIterator +RepeatedPtrFieldBackInserter(RepeatedPtrField* const mutable_field) { + return internal::RepeatedPtrFieldBackInsertIterator(mutable_field); +} + +// Special back insert iterator for RepeatedPtrField instances, just in +// case someone wants to write generic template code that can access both +// RepeatedFields and RepeatedPtrFields using a common name. +template internal::RepeatedPtrFieldBackInsertIterator +RepeatedFieldBackInserter(RepeatedPtrField* const mutable_field) { + return internal::RepeatedPtrFieldBackInsertIterator(mutable_field); +} + +// Provides a back insert iterator for RepeatedPtrField instances +// similar to std::back_inserter() which transfers the ownership while +// copying elements. +template internal::AllocatedRepeatedPtrFieldBackInsertIterator +AllocatedRepeatedPtrFieldBackInserter( + RepeatedPtrField* const mutable_field) { + return internal::AllocatedRepeatedPtrFieldBackInsertIterator( + mutable_field); +} + +// Similar to AllocatedRepeatedPtrFieldBackInserter, using +// UnsafeArenaAddAllocated instead of AddAllocated. +// This is slightly faster if that matters. It is also useful in legacy code +// that uses temporary ownership to avoid copies. Example: +// RepeatedPtrField temp_field; +// temp_field.AddAllocated(new T); +// ... // Do something with temp_field +// temp_field.ExtractSubrange(0, temp_field.size(), NULL); +// If you put temp_field on the arena this fails, because the ownership +// transfers to the arena at the "AddAllocated" call and is not released anymore +// causing a double delete. Using UnsafeArenaAddAllocated prevents this. +template +internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator +UnsafeArenaAllocatedRepeatedPtrFieldBackInserter( + ::google::protobuf::RepeatedPtrField* const mutable_field) { + return internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator( + mutable_field); +} + +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_REPEATED_FIELD_H__ diff --git a/app/src/main/cpp/include/google/protobuf/service.h b/app/src/main/cpp/include/google/protobuf/service.h new file mode 100644 index 0000000..ad6f968 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/service.h @@ -0,0 +1,292 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// DEPRECATED: This module declares the abstract interfaces underlying proto2 +// RPC services. These are intented to be independent of any particular RPC +// implementation, so that proto2 services can be used on top of a variety +// of implementations. Starting with version 2.3.0, RPC implementations should +// not try to build on these, but should instead provide code generator plugins +// which generate code specific to the particular RPC implementation. This way +// the generated code can be more appropriate for the implementation in use +// and can avoid unnecessary layers of indirection. +// +// +// When you use the protocol compiler to compile a service definition, it +// generates two classes: An abstract interface for the service (with +// methods matching the service definition) and a "stub" implementation. +// A stub is just a type-safe wrapper around an RpcChannel which emulates a +// local implementation of the service. +// +// For example, the service definition: +// service MyService { +// rpc Foo(MyRequest) returns(MyResponse); +// } +// will generate abstract interface "MyService" and class "MyService::Stub". +// You could implement a MyService as follows: +// class MyServiceImpl : public MyService { +// public: +// MyServiceImpl() {} +// ~MyServiceImpl() {} +// +// // implements MyService --------------------------------------- +// +// void Foo(google::protobuf::RpcController* controller, +// const MyRequest* request, +// MyResponse* response, +// Closure* done) { +// // ... read request and fill in response ... +// done->Run(); +// } +// }; +// You would then register an instance of MyServiceImpl with your RPC server +// implementation. (How to do that depends on the implementation.) +// +// To call a remote MyServiceImpl, first you need an RpcChannel connected to it. +// How to construct a channel depends, again, on your RPC implementation. +// Here we use a hypothetical "MyRpcChannel" as an example: +// MyRpcChannel channel("rpc:hostname:1234/myservice"); +// MyRpcController controller; +// MyServiceImpl::Stub stub(&channel); +// FooRequest request; +// FooResponse response; +// +// // ... fill in request ... +// +// stub.Foo(&controller, request, &response, NewCallback(HandleResponse)); +// +// On Thread-Safety: +// +// Different RPC implementations may make different guarantees about what +// threads they may run callbacks on, and what threads the application is +// allowed to use to call the RPC system. Portable software should be ready +// for callbacks to be called on any thread, but should not try to call the +// RPC system from any thread except for the ones on which it received the +// callbacks. Realistically, though, simple software will probably want to +// use a single-threaded RPC system while high-end software will want to +// use multiple threads. RPC implementations should provide multiple +// choices. + +#ifndef GOOGLE_PROTOBUF_SERVICE_H__ +#define GOOGLE_PROTOBUF_SERVICE_H__ + +#include +#include +#include + +namespace google { +namespace protobuf { + +// Defined in this file. +class Service; +class RpcController; +class RpcChannel; + +// Defined in other files. +class Descriptor; // descriptor.h +class ServiceDescriptor; // descriptor.h +class MethodDescriptor; // descriptor.h +class Message; // message.h + +// Abstract base interface for protocol-buffer-based RPC services. Services +// themselves are abstract interfaces (implemented either by servers or as +// stubs), but they subclass this base interface. The methods of this +// interface can be used to call the methods of the Service without knowing +// its exact type at compile time (analogous to Reflection). +class LIBPROTOBUF_EXPORT Service { + public: + inline Service() {} + virtual ~Service(); + + // When constructing a stub, you may pass STUB_OWNS_CHANNEL as the second + // parameter to the constructor to tell it to delete its RpcChannel when + // destroyed. + enum ChannelOwnership { + STUB_OWNS_CHANNEL, + STUB_DOESNT_OWN_CHANNEL + }; + + // Get the ServiceDescriptor describing this service and its methods. + virtual const ServiceDescriptor* GetDescriptor() = 0; + + // Call a method of the service specified by MethodDescriptor. This is + // normally implemented as a simple switch() that calls the standard + // definitions of the service's methods. + // + // Preconditions: + // * method->service() == GetDescriptor() + // * request and response are of the exact same classes as the objects + // returned by GetRequestPrototype(method) and + // GetResponsePrototype(method). + // * After the call has started, the request must not be modified and the + // response must not be accessed at all until "done" is called. + // * "controller" is of the correct type for the RPC implementation being + // used by this Service. For stubs, the "correct type" depends on the + // RpcChannel which the stub is using. Server-side Service + // implementations are expected to accept whatever type of RpcController + // the server-side RPC implementation uses. + // + // Postconditions: + // * "done" will be called when the method is complete. This may be + // before CallMethod() returns or it may be at some point in the future. + // * If the RPC succeeded, "response" contains the response returned by + // the server. + // * If the RPC failed, "response"'s contents are undefined. The + // RpcController can be queried to determine if an error occurred and + // possibly to get more information about the error. + virtual void CallMethod(const MethodDescriptor* method, + RpcController* controller, + const Message* request, + Message* response, + Closure* done) = 0; + + // CallMethod() requires that the request and response passed in are of a + // particular subclass of Message. GetRequestPrototype() and + // GetResponsePrototype() get the default instances of these required types. + // You can then call Message::New() on these instances to construct mutable + // objects which you can then pass to CallMethod(). + // + // Example: + // const MethodDescriptor* method = + // service->GetDescriptor()->FindMethodByName("Foo"); + // Message* request = stub->GetRequestPrototype (method)->New(); + // Message* response = stub->GetResponsePrototype(method)->New(); + // request->ParseFromString(input); + // service->CallMethod(method, *request, response, callback); + virtual const Message& GetRequestPrototype( + const MethodDescriptor* method) const = 0; + virtual const Message& GetResponsePrototype( + const MethodDescriptor* method) const = 0; + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(Service); +}; + +// An RpcController mediates a single method call. The primary purpose of +// the controller is to provide a way to manipulate settings specific to the +// RPC implementation and to find out about RPC-level errors. +// +// The methods provided by the RpcController interface are intended to be a +// "least common denominator" set of features which we expect all +// implementations to support. Specific implementations may provide more +// advanced features (e.g. deadline propagation). +class LIBPROTOBUF_EXPORT RpcController { + public: + inline RpcController() {} + virtual ~RpcController(); + + // Client-side methods --------------------------------------------- + // These calls may be made from the client side only. Their results + // are undefined on the server side (may crash). + + // Resets the RpcController to its initial state so that it may be reused in + // a new call. Must not be called while an RPC is in progress. + virtual void Reset() = 0; + + // After a call has finished, returns true if the call failed. The possible + // reasons for failure depend on the RPC implementation. Failed() must not + // be called before a call has finished. If Failed() returns true, the + // contents of the response message are undefined. + virtual bool Failed() const = 0; + + // If Failed() is true, returns a human-readable description of the error. + virtual string ErrorText() const = 0; + + // Advises the RPC system that the caller desires that the RPC call be + // canceled. The RPC system may cancel it immediately, may wait awhile and + // then cancel it, or may not even cancel the call at all. If the call is + // canceled, the "done" callback will still be called and the RpcController + // will indicate that the call failed at that time. + virtual void StartCancel() = 0; + + // Server-side methods --------------------------------------------- + // These calls may be made from the server side only. Their results + // are undefined on the client side (may crash). + + // Causes Failed() to return true on the client side. "reason" will be + // incorporated into the message returned by ErrorText(). If you find + // you need to return machine-readable information about failures, you + // should incorporate it into your response protocol buffer and should + // NOT call SetFailed(). + virtual void SetFailed(const string& reason) = 0; + + // If true, indicates that the client canceled the RPC, so the server may + // as well give up on replying to it. The server should still call the + // final "done" callback. + virtual bool IsCanceled() const = 0; + + // Asks that the given callback be called when the RPC is canceled. The + // callback will always be called exactly once. If the RPC completes without + // being canceled, the callback will be called after completion. If the RPC + // has already been canceled when NotifyOnCancel() is called, the callback + // will be called immediately. + // + // NotifyOnCancel() must be called no more than once per request. + virtual void NotifyOnCancel(Closure* callback) = 0; + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RpcController); +}; + +// Abstract interface for an RPC channel. An RpcChannel represents a +// communication line to a Service which can be used to call that Service's +// methods. The Service may be running on another machine. Normally, you +// should not call an RpcChannel directly, but instead construct a stub Service +// wrapping it. Example: +// RpcChannel* channel = new MyRpcChannel("remotehost.example.com:1234"); +// MyService* service = new MyService::Stub(channel); +// service->MyMethod(request, &response, callback); +class LIBPROTOBUF_EXPORT RpcChannel { + public: + inline RpcChannel() {} + virtual ~RpcChannel(); + + // Call the given method of the remote service. The signature of this + // procedure looks the same as Service::CallMethod(), but the requirements + // are less strict in one important way: the request and response objects + // need not be of any specific class as long as their descriptors are + // method->input_type() and method->output_type(). + virtual void CallMethod(const MethodDescriptor* method, + RpcController* controller, + const Message* request, + Message* response, + Closure* done) = 0; + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RpcChannel); +}; + +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_SERVICE_H__ diff --git a/app/src/main/cpp/include/google/protobuf/source_context.pb.h b/app/src/main/cpp/include/google/protobuf/source_context.pb.h new file mode 100644 index 0000000..18a5694 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/source_context.pb.h @@ -0,0 +1,198 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/source_context.proto + +#ifndef PROTOBUF_google_2fprotobuf_2fsource_5fcontext_2eproto__INCLUDED +#define PROTOBUF_google_2fprotobuf_2fsource_5fcontext_2eproto__INCLUDED + +#include + +#include + +#if GOOGLE_PROTOBUF_VERSION < 3001000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3001000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) + +namespace google { +namespace protobuf { + +// Internal implementation detail -- do not call these. +void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fsource_5fcontext_2eproto(); +void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fsource_5fcontext_2eproto(); +void protobuf_AssignDesc_google_2fprotobuf_2fsource_5fcontext_2eproto(); +void protobuf_ShutdownFile_google_2fprotobuf_2fsource_5fcontext_2eproto(); + +class SourceContext; + +// =================================================================== + +class LIBPROTOBUF_EXPORT SourceContext : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.SourceContext) */ { + public: + SourceContext(); + virtual ~SourceContext(); + + SourceContext(const SourceContext& from); + + inline SourceContext& operator=(const SourceContext& from) { + CopyFrom(from); + return *this; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const SourceContext& default_instance(); + + static const SourceContext* internal_default_instance(); + + void Swap(SourceContext* other); + + // implements Message ---------------------------------------------- + + inline SourceContext* New() const { return New(NULL); } + + SourceContext* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const SourceContext& from); + void MergeFrom(const SourceContext& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(SourceContext* other); + void UnsafeMergeFrom(const SourceContext& from); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional string file_name = 1; + void clear_file_name(); + static const int kFileNameFieldNumber = 1; + const ::std::string& file_name() const; + void set_file_name(const ::std::string& value); + void set_file_name(const char* value); + void set_file_name(const char* value, size_t size); + ::std::string* mutable_file_name(); + ::std::string* release_file_name(); + void set_allocated_file_name(::std::string* file_name); + + // @@protoc_insertion_point(class_scope:google.protobuf.SourceContext) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::ArenaStringPtr file_name_; + mutable int _cached_size_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fsource_5fcontext_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fsource_5fcontext_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fsource_5fcontext_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fsource_5fcontext_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed SourceContext_default_instance_; + +// =================================================================== + + +// =================================================================== + +#if !PROTOBUF_INLINE_NOT_IN_HEADERS +// SourceContext + +// optional string file_name = 1; +inline void SourceContext::clear_file_name() { + file_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& SourceContext::file_name() const { + // @@protoc_insertion_point(field_get:google.protobuf.SourceContext.file_name) + return file_name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void SourceContext::set_file_name(const ::std::string& value) { + + file_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:google.protobuf.SourceContext.file_name) +} +inline void SourceContext::set_file_name(const char* value) { + + file_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:google.protobuf.SourceContext.file_name) +} +inline void SourceContext::set_file_name(const char* value, size_t size) { + + file_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.SourceContext.file_name) +} +inline ::std::string* SourceContext::mutable_file_name() { + + // @@protoc_insertion_point(field_mutable:google.protobuf.SourceContext.file_name) + return file_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* SourceContext::release_file_name() { + // @@protoc_insertion_point(field_release:google.protobuf.SourceContext.file_name) + + return file_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void SourceContext::set_allocated_file_name(::std::string* file_name) { + if (file_name != NULL) { + + } else { + + } + file_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), file_name); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.SourceContext.file_name) +} + +inline const SourceContext* SourceContext::internal_default_instance() { + return &SourceContext_default_instance_.get(); +} +#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS + +// @@protoc_insertion_point(namespace_scope) + +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) + +#endif // PROTOBUF_google_2fprotobuf_2fsource_5fcontext_2eproto__INCLUDED diff --git a/app/src/main/cpp/include/google/protobuf/source_context.proto b/app/src/main/cpp/include/google/protobuf/source_context.proto new file mode 100644 index 0000000..79137ce --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/source_context.proto @@ -0,0 +1,47 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "SourceContextProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + +// `SourceContext` represents information about the source of a +// protobuf element, like the file in which it is defined. +message SourceContext { + // The path-qualified name of the .proto file that contained the associated + // protobuf element. For example: `"google/protobuf/source_context.proto"`. + string file_name = 1; +} diff --git a/app/src/main/cpp/include/google/protobuf/struct.pb.h b/app/src/main/cpp/include/google/protobuf/struct.pb.h new file mode 100644 index 0000000..ff77bb4 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/struct.pb.h @@ -0,0 +1,971 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/struct.proto + +#ifndef PROTOBUF_google_2fprotobuf_2fstruct_2eproto__INCLUDED +#define PROTOBUF_google_2fprotobuf_2fstruct_2eproto__INCLUDED + +#include + +#include + +#if GOOGLE_PROTOBUF_VERSION < 3001000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3001000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) + +namespace google { +namespace protobuf { + +// Internal implementation detail -- do not call these. +void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fstruct_2eproto(); +void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fstruct_2eproto(); +void protobuf_AssignDesc_google_2fprotobuf_2fstruct_2eproto(); +void protobuf_ShutdownFile_google_2fprotobuf_2fstruct_2eproto(); + +class ListValue; +class Struct; +class Value; + +enum NullValue { + NULL_VALUE = 0, + NullValue_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min, + NullValue_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max +}; +LIBPROTOBUF_EXPORT bool NullValue_IsValid(int value); +const NullValue NullValue_MIN = NULL_VALUE; +const NullValue NullValue_MAX = NULL_VALUE; +const int NullValue_ARRAYSIZE = NullValue_MAX + 1; + +LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* NullValue_descriptor(); +inline const ::std::string& NullValue_Name(NullValue value) { + return ::google::protobuf::internal::NameOfEnum( + NullValue_descriptor(), value); +} +inline bool NullValue_Parse( + const ::std::string& name, NullValue* value) { + return ::google::protobuf::internal::ParseNamedEnum( + NullValue_descriptor(), name, value); +} +// =================================================================== + +class LIBPROTOBUF_EXPORT Struct : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.Struct) */ { + public: + Struct(); + virtual ~Struct(); + + Struct(const Struct& from); + + inline Struct& operator=(const Struct& from) { + CopyFrom(from); + return *this; + } + + inline ::google::protobuf::Arena* GetArena() const { return GetArenaNoVirtual(); } + inline void* GetMaybeArenaPointer() const { + return MaybeArenaPtr(); + } + static const ::google::protobuf::Descriptor* descriptor(); + static const Struct& default_instance(); + + static const Struct* internal_default_instance(); + + void UnsafeArenaSwap(Struct* other); + void Swap(Struct* other); + + // implements Message ---------------------------------------------- + + inline Struct* New() const { return New(NULL); } + + Struct* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const Struct& from); + void MergeFrom(const Struct& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(Struct* other); + void UnsafeMergeFrom(const Struct& from); + protected: + explicit Struct(::google::protobuf::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::google::protobuf::Arena* arena); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + + // accessors ------------------------------------------------------- + + // map fields = 1; + int fields_size() const; + void clear_fields(); + static const int kFieldsFieldNumber = 1; + const ::google::protobuf::Map< ::std::string, ::google::protobuf::Value >& + fields() const; + ::google::protobuf::Map< ::std::string, ::google::protobuf::Value >* + mutable_fields(); + + // @@protoc_insertion_point(class_scope:google.protobuf.Struct) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + friend class ::google::protobuf::Arena; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + typedef ::google::protobuf::internal::MapEntryLite< + ::std::string, ::google::protobuf::Value, + ::google::protobuf::internal::WireFormatLite::TYPE_STRING, + ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE, + 0 > + Struct_FieldsEntry; + ::google::protobuf::internal::MapField< + ::std::string, ::google::protobuf::Value, + ::google::protobuf::internal::WireFormatLite::TYPE_STRING, + ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE, + 0 > fields_; + mutable int _cached_size_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fstruct_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fstruct_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fstruct_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fstruct_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed Struct_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT Value : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.Value) */ { + public: + Value(); + virtual ~Value(); + + Value(const Value& from); + + inline Value& operator=(const Value& from) { + CopyFrom(from); + return *this; + } + + inline ::google::protobuf::Arena* GetArena() const { return GetArenaNoVirtual(); } + inline void* GetMaybeArenaPointer() const { + return MaybeArenaPtr(); + } + static const ::google::protobuf::Descriptor* descriptor(); + static const Value& default_instance(); + + enum KindCase { + kNullValue = 1, + kNumberValue = 2, + kStringValue = 3, + kBoolValue = 4, + kStructValue = 5, + kListValue = 6, + KIND_NOT_SET = 0, + }; + + static const Value* internal_default_instance(); + + void UnsafeArenaSwap(Value* other); + void Swap(Value* other); + + // implements Message ---------------------------------------------- + + inline Value* New() const { return New(NULL); } + + Value* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const Value& from); + void MergeFrom(const Value& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(Value* other); + void UnsafeMergeFrom(const Value& from); + protected: + explicit Value(::google::protobuf::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::google::protobuf::Arena* arena); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional .google.protobuf.NullValue null_value = 1; + private: + bool has_null_value() const; + public: + void clear_null_value(); + static const int kNullValueFieldNumber = 1; + ::google::protobuf::NullValue null_value() const; + void set_null_value(::google::protobuf::NullValue value); + + // optional double number_value = 2; + private: + bool has_number_value() const; + public: + void clear_number_value(); + static const int kNumberValueFieldNumber = 2; + double number_value() const; + void set_number_value(double value); + + // optional string string_value = 3; + private: + bool has_string_value() const; + public: + void clear_string_value(); + static const int kStringValueFieldNumber = 3; + const ::std::string& string_value() const; + void set_string_value(const ::std::string& value); + void set_string_value(const char* value); + void set_string_value(const char* value, size_t size); + ::std::string* mutable_string_value(); + ::std::string* release_string_value(); + void set_allocated_string_value(::std::string* string_value); + ::std::string* unsafe_arena_release_string_value(); + void unsafe_arena_set_allocated_string_value( + ::std::string* string_value); + + // optional bool bool_value = 4; + private: + bool has_bool_value() const; + public: + void clear_bool_value(); + static const int kBoolValueFieldNumber = 4; + bool bool_value() const; + void set_bool_value(bool value); + + // optional .google.protobuf.Struct struct_value = 5; + bool has_struct_value() const; + void clear_struct_value(); + static const int kStructValueFieldNumber = 5; + private: + void _slow_mutable_struct_value(); + void _slow_set_allocated_struct_value( + ::google::protobuf::Arena* message_arena, ::google::protobuf::Struct** struct_value); + ::google::protobuf::Struct* _slow_release_struct_value(); + public: + const ::google::protobuf::Struct& struct_value() const; + ::google::protobuf::Struct* mutable_struct_value(); + ::google::protobuf::Struct* release_struct_value(); + void set_allocated_struct_value(::google::protobuf::Struct* struct_value); + ::google::protobuf::Struct* unsafe_arena_release_struct_value(); + void unsafe_arena_set_allocated_struct_value( + ::google::protobuf::Struct* struct_value); + + // optional .google.protobuf.ListValue list_value = 6; + bool has_list_value() const; + void clear_list_value(); + static const int kListValueFieldNumber = 6; + private: + void _slow_mutable_list_value(); + void _slow_set_allocated_list_value( + ::google::protobuf::Arena* message_arena, ::google::protobuf::ListValue** list_value); + ::google::protobuf::ListValue* _slow_release_list_value(); + public: + const ::google::protobuf::ListValue& list_value() const; + ::google::protobuf::ListValue* mutable_list_value(); + ::google::protobuf::ListValue* release_list_value(); + void set_allocated_list_value(::google::protobuf::ListValue* list_value); + ::google::protobuf::ListValue* unsafe_arena_release_list_value(); + void unsafe_arena_set_allocated_list_value( + ::google::protobuf::ListValue* list_value); + + KindCase kind_case() const; + // @@protoc_insertion_point(class_scope:google.protobuf.Value) + private: + inline void set_has_null_value(); + inline void set_has_number_value(); + inline void set_has_string_value(); + inline void set_has_bool_value(); + inline void set_has_struct_value(); + inline void set_has_list_value(); + + inline bool has_kind() const; + void clear_kind(); + inline void clear_has_kind(); + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + friend class ::google::protobuf::Arena; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + union KindUnion { + KindUnion() {} + int null_value_; + double number_value_; + ::google::protobuf::internal::ArenaStringPtr string_value_; + bool bool_value_; + ::google::protobuf::Struct* struct_value_; + ::google::protobuf::ListValue* list_value_; + } kind_; + mutable int _cached_size_; + ::google::protobuf::uint32 _oneof_case_[1]; + + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fstruct_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fstruct_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fstruct_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fstruct_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed Value_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT ListValue : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.ListValue) */ { + public: + ListValue(); + virtual ~ListValue(); + + ListValue(const ListValue& from); + + inline ListValue& operator=(const ListValue& from) { + CopyFrom(from); + return *this; + } + + inline ::google::protobuf::Arena* GetArena() const { return GetArenaNoVirtual(); } + inline void* GetMaybeArenaPointer() const { + return MaybeArenaPtr(); + } + static const ::google::protobuf::Descriptor* descriptor(); + static const ListValue& default_instance(); + + static const ListValue* internal_default_instance(); + + void UnsafeArenaSwap(ListValue* other); + void Swap(ListValue* other); + + // implements Message ---------------------------------------------- + + inline ListValue* New() const { return New(NULL); } + + ListValue* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const ListValue& from); + void MergeFrom(const ListValue& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(ListValue* other); + void UnsafeMergeFrom(const ListValue& from); + protected: + explicit ListValue(::google::protobuf::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::google::protobuf::Arena* arena); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // repeated .google.protobuf.Value values = 1; + int values_size() const; + void clear_values(); + static const int kValuesFieldNumber = 1; + const ::google::protobuf::Value& values(int index) const; + ::google::protobuf::Value* mutable_values(int index); + ::google::protobuf::Value* add_values(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Value >* + mutable_values(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Value >& + values() const; + + // @@protoc_insertion_point(class_scope:google.protobuf.ListValue) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + friend class ::google::protobuf::Arena; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Value > values_; + mutable int _cached_size_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2fstruct_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2fstruct_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2fstruct_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2fstruct_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed ListValue_default_instance_; + +// =================================================================== + + +// =================================================================== + +#if !PROTOBUF_INLINE_NOT_IN_HEADERS +// Struct + +// map fields = 1; +inline int Struct::fields_size() const { + return fields_.size(); +} +inline void Struct::clear_fields() { + fields_.Clear(); +} +inline const ::google::protobuf::Map< ::std::string, ::google::protobuf::Value >& +Struct::fields() const { + // @@protoc_insertion_point(field_map:google.protobuf.Struct.fields) + return fields_.GetMap(); +} +inline ::google::protobuf::Map< ::std::string, ::google::protobuf::Value >* +Struct::mutable_fields() { + // @@protoc_insertion_point(field_mutable_map:google.protobuf.Struct.fields) + return fields_.MutableMap(); +} + +inline const Struct* Struct::internal_default_instance() { + return &Struct_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// Value + +// optional .google.protobuf.NullValue null_value = 1; +inline bool Value::has_null_value() const { + return kind_case() == kNullValue; +} +inline void Value::set_has_null_value() { + _oneof_case_[0] = kNullValue; +} +inline void Value::clear_null_value() { + if (has_null_value()) { + kind_.null_value_ = 0; + clear_has_kind(); + } +} +inline ::google::protobuf::NullValue Value::null_value() const { + // @@protoc_insertion_point(field_get:google.protobuf.Value.null_value) + if (has_null_value()) { + return static_cast< ::google::protobuf::NullValue >(kind_.null_value_); + } + return static_cast< ::google::protobuf::NullValue >(0); +} +inline void Value::set_null_value(::google::protobuf::NullValue value) { + if (!has_null_value()) { + clear_kind(); + set_has_null_value(); + } + kind_.null_value_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.Value.null_value) +} + +// optional double number_value = 2; +inline bool Value::has_number_value() const { + return kind_case() == kNumberValue; +} +inline void Value::set_has_number_value() { + _oneof_case_[0] = kNumberValue; +} +inline void Value::clear_number_value() { + if (has_number_value()) { + kind_.number_value_ = 0; + clear_has_kind(); + } +} +inline double Value::number_value() const { + // @@protoc_insertion_point(field_get:google.protobuf.Value.number_value) + if (has_number_value()) { + return kind_.number_value_; + } + return 0; +} +inline void Value::set_number_value(double value) { + if (!has_number_value()) { + clear_kind(); + set_has_number_value(); + } + kind_.number_value_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.Value.number_value) +} + +// optional string string_value = 3; +inline bool Value::has_string_value() const { + return kind_case() == kStringValue; +} +inline void Value::set_has_string_value() { + _oneof_case_[0] = kStringValue; +} +inline void Value::clear_string_value() { + if (has_string_value()) { + kind_.string_value_.Destroy(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); + clear_has_kind(); + } +} +inline const ::std::string& Value::string_value() const { + // @@protoc_insertion_point(field_get:google.protobuf.Value.string_value) + if (has_string_value()) { + return kind_.string_value_.Get(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + return *&::google::protobuf::internal::GetEmptyStringAlreadyInited(); +} +inline void Value::set_string_value(const ::std::string& value) { + if (!has_string_value()) { + clear_kind(); + set_has_string_value(); + kind_.string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + kind_.string_value_.Set(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value, + GetArenaNoVirtual()); + // @@protoc_insertion_point(field_set:google.protobuf.Value.string_value) +} +inline void Value::set_string_value(const char* value) { + if (!has_string_value()) { + clear_kind(); + set_has_string_value(); + kind_.string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + kind_.string_value_.Set(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(value), GetArenaNoVirtual()); + // @@protoc_insertion_point(field_set_char:google.protobuf.Value.string_value) +} +inline void Value::set_string_value(const char* value, + size_t size) { + if (!has_string_value()) { + clear_kind(); + set_has_string_value(); + kind_.string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + kind_.string_value_.Set(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string( + reinterpret_cast(value), size), + GetArenaNoVirtual()); + // @@protoc_insertion_point(field_set_pointer:google.protobuf.Value.string_value) +} +inline ::std::string* Value::mutable_string_value() { + if (!has_string_value()) { + clear_kind(); + set_has_string_value(); + kind_.string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + return kind_.string_value_.Mutable(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); + // @@protoc_insertion_point(field_mutable:google.protobuf.Value.string_value) +} +inline ::std::string* Value::release_string_value() { + // @@protoc_insertion_point(field_release:google.protobuf.Value.string_value) + if (has_string_value()) { + clear_has_kind(); + return kind_.string_value_.Release(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); + } else { + return NULL; + } +} +inline ::std::string* Value::unsafe_arena_release_string_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:google.protobuf.Value.string_value) + GOOGLE_DCHECK(GetArenaNoVirtual() != NULL); + if (has_string_value()) { + clear_has_kind(); + return kind_.string_value_.UnsafeArenaRelease( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaNoVirtual()); + } else { + return NULL; + } +} +inline void Value::set_allocated_string_value(::std::string* string_value) { + if (!has_string_value()) { + kind_.string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + clear_kind(); + if (string_value != NULL) { + set_has_string_value(); + kind_.string_value_.SetAllocated(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), string_value, + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_set_allocated:google.protobuf.Value.string_value) +} +inline void Value::unsafe_arena_set_allocated_string_value(::std::string* string_value) { + GOOGLE_DCHECK(GetArenaNoVirtual() != NULL); + if (!has_string_value()) { + kind_.string_value_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + clear_kind(); + if (string_value) { + set_has_string_value(); + kind_.string_value_.UnsafeArenaSetAllocated(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), string_value, GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.Value.string_value) +} + +// optional bool bool_value = 4; +inline bool Value::has_bool_value() const { + return kind_case() == kBoolValue; +} +inline void Value::set_has_bool_value() { + _oneof_case_[0] = kBoolValue; +} +inline void Value::clear_bool_value() { + if (has_bool_value()) { + kind_.bool_value_ = false; + clear_has_kind(); + } +} +inline bool Value::bool_value() const { + // @@protoc_insertion_point(field_get:google.protobuf.Value.bool_value) + if (has_bool_value()) { + return kind_.bool_value_; + } + return false; +} +inline void Value::set_bool_value(bool value) { + if (!has_bool_value()) { + clear_kind(); + set_has_bool_value(); + } + kind_.bool_value_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.Value.bool_value) +} + +// optional .google.protobuf.Struct struct_value = 5; +inline bool Value::has_struct_value() const { + return kind_case() == kStructValue; +} +inline void Value::set_has_struct_value() { + _oneof_case_[0] = kStructValue; +} +inline void Value::clear_struct_value() { + if (has_struct_value()) { + if (GetArenaNoVirtual() == NULL) { + delete kind_.struct_value_; + } + clear_has_kind(); + } +} +inline const ::google::protobuf::Struct& Value::struct_value() const { + // @@protoc_insertion_point(field_get:google.protobuf.Value.struct_value) + return has_struct_value() + ? *kind_.struct_value_ + : ::google::protobuf::Struct::default_instance(); +} +inline ::google::protobuf::Struct* Value::mutable_struct_value() { + if (!has_struct_value()) { + clear_kind(); + set_has_struct_value(); + kind_.struct_value_ = + ::google::protobuf::Arena::CreateMessage< ::google::protobuf::Struct >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:google.protobuf.Value.struct_value) + return kind_.struct_value_; +} +inline ::google::protobuf::Struct* Value::release_struct_value() { + // @@protoc_insertion_point(field_release:google.protobuf.Value.struct_value) + if (has_struct_value()) { + clear_has_kind(); + if (GetArenaNoVirtual() != NULL) { + ::google::protobuf::Struct* temp = new ::google::protobuf::Struct(*kind_.struct_value_); + kind_.struct_value_ = NULL; + return temp; + } else { + ::google::protobuf::Struct* temp = kind_.struct_value_; + kind_.struct_value_ = NULL; + return temp; + } + } else { + return NULL; + } +} +inline void Value::set_allocated_struct_value(::google::protobuf::Struct* struct_value) { + clear_kind(); + if (struct_value) { + if (GetArenaNoVirtual() != NULL && + ::google::protobuf::Arena::GetArena(struct_value) == NULL) { + GetArenaNoVirtual()->Own(struct_value); + } else if (GetArenaNoVirtual() != + ::google::protobuf::Arena::GetArena(struct_value)) { + ::google::protobuf::Struct* new_struct_value = + ::google::protobuf::Arena::CreateMessage< ::google::protobuf::Struct >( + GetArenaNoVirtual()); + new_struct_value->CopyFrom(*struct_value); + struct_value = new_struct_value; + } + set_has_struct_value(); + kind_.struct_value_ = struct_value; + } + // @@protoc_insertion_point(field_set_allocated:google.protobuf.Value.struct_value) +} +inline ::google::protobuf::Struct* Value::unsafe_arena_release_struct_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:google.protobuf.Value.struct_value) + if (has_struct_value()) { + clear_has_kind(); + ::google::protobuf::Struct* temp = kind_.struct_value_; + kind_.struct_value_ = NULL; + return temp; + } else { + return NULL; + } +} +inline void Value::unsafe_arena_set_allocated_struct_value(::google::protobuf::Struct* struct_value) { + clear_kind(); + if (struct_value) { + set_has_struct_value(); + kind_.struct_value_ = struct_value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.Value.struct_value) +} + +// optional .google.protobuf.ListValue list_value = 6; +inline bool Value::has_list_value() const { + return kind_case() == kListValue; +} +inline void Value::set_has_list_value() { + _oneof_case_[0] = kListValue; +} +inline void Value::clear_list_value() { + if (has_list_value()) { + if (GetArenaNoVirtual() == NULL) { + delete kind_.list_value_; + } + clear_has_kind(); + } +} +inline const ::google::protobuf::ListValue& Value::list_value() const { + // @@protoc_insertion_point(field_get:google.protobuf.Value.list_value) + return has_list_value() + ? *kind_.list_value_ + : ::google::protobuf::ListValue::default_instance(); +} +inline ::google::protobuf::ListValue* Value::mutable_list_value() { + if (!has_list_value()) { + clear_kind(); + set_has_list_value(); + kind_.list_value_ = + ::google::protobuf::Arena::CreateMessage< ::google::protobuf::ListValue >( + GetArenaNoVirtual()); + } + // @@protoc_insertion_point(field_mutable:google.protobuf.Value.list_value) + return kind_.list_value_; +} +inline ::google::protobuf::ListValue* Value::release_list_value() { + // @@protoc_insertion_point(field_release:google.protobuf.Value.list_value) + if (has_list_value()) { + clear_has_kind(); + if (GetArenaNoVirtual() != NULL) { + ::google::protobuf::ListValue* temp = new ::google::protobuf::ListValue(*kind_.list_value_); + kind_.list_value_ = NULL; + return temp; + } else { + ::google::protobuf::ListValue* temp = kind_.list_value_; + kind_.list_value_ = NULL; + return temp; + } + } else { + return NULL; + } +} +inline void Value::set_allocated_list_value(::google::protobuf::ListValue* list_value) { + clear_kind(); + if (list_value) { + if (GetArenaNoVirtual() != NULL && + ::google::protobuf::Arena::GetArena(list_value) == NULL) { + GetArenaNoVirtual()->Own(list_value); + } else if (GetArenaNoVirtual() != + ::google::protobuf::Arena::GetArena(list_value)) { + ::google::protobuf::ListValue* new_list_value = + ::google::protobuf::Arena::CreateMessage< ::google::protobuf::ListValue >( + GetArenaNoVirtual()); + new_list_value->CopyFrom(*list_value); + list_value = new_list_value; + } + set_has_list_value(); + kind_.list_value_ = list_value; + } + // @@protoc_insertion_point(field_set_allocated:google.protobuf.Value.list_value) +} +inline ::google::protobuf::ListValue* Value::unsafe_arena_release_list_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:google.protobuf.Value.list_value) + if (has_list_value()) { + clear_has_kind(); + ::google::protobuf::ListValue* temp = kind_.list_value_; + kind_.list_value_ = NULL; + return temp; + } else { + return NULL; + } +} +inline void Value::unsafe_arena_set_allocated_list_value(::google::protobuf::ListValue* list_value) { + clear_kind(); + if (list_value) { + set_has_list_value(); + kind_.list_value_ = list_value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.Value.list_value) +} + +inline bool Value::has_kind() const { + return kind_case() != KIND_NOT_SET; +} +inline void Value::clear_has_kind() { + _oneof_case_[0] = KIND_NOT_SET; +} +inline Value::KindCase Value::kind_case() const { + return Value::KindCase(_oneof_case_[0]); +} +inline const Value* Value::internal_default_instance() { + return &Value_default_instance_.get(); +} +// ------------------------------------------------------------------- + +// ListValue + +// repeated .google.protobuf.Value values = 1; +inline int ListValue::values_size() const { + return values_.size(); +} +inline void ListValue::clear_values() { + values_.Clear(); +} +inline const ::google::protobuf::Value& ListValue::values(int index) const { + // @@protoc_insertion_point(field_get:google.protobuf.ListValue.values) + return values_.Get(index); +} +inline ::google::protobuf::Value* ListValue::mutable_values(int index) { + // @@protoc_insertion_point(field_mutable:google.protobuf.ListValue.values) + return values_.Mutable(index); +} +inline ::google::protobuf::Value* ListValue::add_values() { + // @@protoc_insertion_point(field_add:google.protobuf.ListValue.values) + return values_.Add(); +} +inline ::google::protobuf::RepeatedPtrField< ::google::protobuf::Value >* +ListValue::mutable_values() { + // @@protoc_insertion_point(field_mutable_list:google.protobuf.ListValue.values) + return &values_; +} +inline const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Value >& +ListValue::values() const { + // @@protoc_insertion_point(field_list:google.protobuf.ListValue.values) + return values_; +} + +inline const ListValue* ListValue::internal_default_instance() { + return &ListValue_default_instance_.get(); +} +#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace protobuf +} // namespace google + +#ifndef SWIG +namespace google { +namespace protobuf { + +template <> struct is_proto_enum< ::google::protobuf::NullValue> : ::google::protobuf::internal::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::google::protobuf::NullValue>() { + return ::google::protobuf::NullValue_descriptor(); +} + +} // namespace protobuf +} // namespace google +#endif // SWIG + +// @@protoc_insertion_point(global_scope) + +#endif // PROTOBUF_google_2fprotobuf_2fstruct_2eproto__INCLUDED diff --git a/app/src/main/cpp/include/google/protobuf/struct.proto b/app/src/main/cpp/include/google/protobuf/struct.proto new file mode 100644 index 0000000..7d7808e --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/struct.proto @@ -0,0 +1,96 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option cc_enable_arenas = true; +option go_package = "github.com/golang/protobuf/ptypes/struct;structpb"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "StructProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + + +// `Struct` represents a structured data value, consisting of fields +// which map to dynamically typed values. In some languages, `Struct` +// might be supported by a native representation. For example, in +// scripting languages like JS a struct is represented as an +// object. The details of that representation are described together +// with the proto support for the language. +// +// The JSON representation for `Struct` is JSON object. +message Struct { + // Unordered map of dynamically typed values. + map fields = 1; +} + +// `Value` represents a dynamically typed value which can be either +// null, a number, a string, a boolean, a recursive struct value, or a +// list of values. A producer of value is expected to set one of that +// variants, absence of any variant indicates an error. +// +// The JSON representation for `Value` is JSON value. +message Value { + // The kind of value. + oneof kind { + // Represents a null value. + NullValue null_value = 1; + // Represents a double value. + double number_value = 2; + // Represents a string value. + string string_value = 3; + // Represents a boolean value. + bool bool_value = 4; + // Represents a structured value. + Struct struct_value = 5; + // Represents a repeated `Value`. + ListValue list_value = 6; + } +} + +// `NullValue` is a singleton enumeration to represent the null value for the +// `Value` type union. +// +// The JSON representation for `NullValue` is JSON `null`. +enum NullValue { + // Null value. + NULL_VALUE = 0; +} + +// `ListValue` is a wrapper around a repeated field of values. +// +// The JSON representation for `ListValue` is JSON array. +message ListValue { + // Repeated field of dynamically typed values. + repeated Value values = 1; +} diff --git a/app/src/main/cpp/include/google/protobuf/stubs/atomic_sequence_num.h b/app/src/main/cpp/include/google/protobuf/stubs/atomic_sequence_num.h new file mode 100644 index 0000000..bb20942 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/atomic_sequence_num.h @@ -0,0 +1,54 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2014 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#ifndef GOOGLE_PROTOBUF_ATOMIC_SEQUENCE_NUM_H_ +#define GOOGLE_PROTOBUF_ATOMIC_SEQUENCE_NUM_H_ + +#include + +namespace google { +namespace protobuf { +namespace internal { + +class SequenceNumber { + public: + SequenceNumber() : word_(0) {} + + AtomicWord GetNext() { + return NoBarrier_AtomicIncrement(&word_, 1) - 1; + } + private: + AtomicWord word_; +}; + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_ATOMIC_SEQUENCE_NUM_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/atomicops.h b/app/src/main/cpp/include/google/protobuf/stubs/atomicops.h new file mode 100644 index 0000000..9b3d1e6 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/atomicops.h @@ -0,0 +1,246 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// The routines exported by this module are subtle. If you use them, even if +// you get the code right, it will depend on careful reasoning about atomicity +// and memory ordering; it will be less readable, and harder to maintain. If +// you plan to use these routines, you should have a good reason, such as solid +// evidence that performance would otherwise suffer, or there being no +// alternative. You should assume only properties explicitly guaranteed by the +// specifications in this file. You are almost certainly _not_ writing code +// just for the x86; if you assume x86 semantics, x86 hardware bugs and +// implementations on other archtectures will cause your code to break. If you +// do not know what you are doing, avoid these routines, and use a Mutex. +// +// It is incorrect to make direct assignments to/from an atomic variable. +// You should use one of the Load or Store routines. The NoBarrier +// versions are provided when no barriers are needed: +// NoBarrier_Store() +// NoBarrier_Load() +// Although there are currently no compiler enforcement, you are encouraged +// to use these. + +// This header and the implementations for each platform (located in +// atomicops_internals_*) must be kept in sync with the upstream code (V8). + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_H_ + +// Don't include this file for people not concerned about thread safety. +#ifndef GOOGLE_PROTOBUF_NO_THREAD_SAFETY + +#include +#include + +namespace google { +namespace protobuf { +namespace internal { + +#if defined(GOOGLE_PROTOBUF_ARCH_POWER) +#if defined(_LP64) || defined(__LP64__) +typedef int32 Atomic32; +typedef intptr_t Atomic64; +#else +typedef intptr_t Atomic32; +typedef int64 Atomic64; +#endif +#else +typedef int32 Atomic32; +#ifdef GOOGLE_PROTOBUF_ARCH_64_BIT +// We need to be able to go between Atomic64 and AtomicWord implicitly. This +// means Atomic64 and AtomicWord should be the same type on 64-bit. +#if defined(__ILP32__) || defined(GOOGLE_PROTOBUF_OS_NACL) +// NaCl's intptr_t is not actually 64-bits on 64-bit! +// http://code.google.com/p/nativeclient/issues/detail?id=1162 +// sparcv9's pointer type is 32bits +typedef int64 Atomic64; +#else +typedef intptr_t Atomic64; +#endif +#endif +#endif + +// Use AtomicWord for a machine-sized pointer. It will use the Atomic32 or +// Atomic64 routines below, depending on your architecture. +typedef intptr_t AtomicWord; + +// Atomically execute: +// result = *ptr; +// if (*ptr == old_value) +// *ptr = new_value; +// return result; +// +// I.e., replace "*ptr" with "new_value" if "*ptr" used to be "old_value". +// Always return the old value of "*ptr" +// +// This routine implies no memory barriers. +Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value); + +// Atomically store new_value into *ptr, returning the previous value held in +// *ptr. This routine implies no memory barriers. +Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, Atomic32 new_value); + +// Atomically increment *ptr by "increment". Returns the new value of +// *ptr with the increment applied. This routine implies no memory barriers. +Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, Atomic32 increment); + +Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment); + +// These following lower-level operations are typically useful only to people +// implementing higher-level synchronization operations like spinlocks, +// mutexes, and condition-variables. They combine CompareAndSwap(), a load, or +// a store with appropriate memory-ordering instructions. "Acquire" operations +// ensure that no later memory access can be reordered ahead of the operation. +// "Release" operations ensure that no previous memory access can be reordered +// after the operation. "Barrier" operations have both "Acquire" and "Release" +// semantics. A MemoryBarrier() has "Barrier" semantics, but does no memory +// access. +Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value); +Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value); + +#if defined(__MINGW32__) && defined(MemoryBarrier) +#undef MemoryBarrier +#endif +void MemoryBarrier(); +void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value); +void Acquire_Store(volatile Atomic32* ptr, Atomic32 value); +void Release_Store(volatile Atomic32* ptr, Atomic32 value); + +Atomic32 NoBarrier_Load(volatile const Atomic32* ptr); +Atomic32 Acquire_Load(volatile const Atomic32* ptr); +Atomic32 Release_Load(volatile const Atomic32* ptr); + +// 64-bit atomic operations (only available on 64-bit processors). +#ifdef GOOGLE_PROTOBUF_ARCH_64_BIT +Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value); +Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, Atomic64 new_value); +Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, Atomic64 increment); +Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr, Atomic64 increment); + +Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value); +Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value); +void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value); +void Acquire_Store(volatile Atomic64* ptr, Atomic64 value); +void Release_Store(volatile Atomic64* ptr, Atomic64 value); +Atomic64 NoBarrier_Load(volatile const Atomic64* ptr); +Atomic64 Acquire_Load(volatile const Atomic64* ptr); +Atomic64 Release_Load(volatile const Atomic64* ptr); +#endif // GOOGLE_PROTOBUF_ARCH_64_BIT + +} // namespace internal +} // namespace protobuf +} // namespace google + +// Include our platform specific implementation. +#define GOOGLE_PROTOBUF_ATOMICOPS_ERROR \ +"Atomic operations are not supported on your platform" + +// ThreadSanitizer, http://clang.llvm.org/docs/ThreadSanitizer.html. +#if defined(THREAD_SANITIZER) +#include +// MSVC. +#elif defined(_MSC_VER) +#if defined(GOOGLE_PROTOBUF_ARCH_IA32) || defined(GOOGLE_PROTOBUF_ARCH_X64) +#include +#else +#error GOOGLE_PROTOBUF_ATOMICOPS_ERROR +#endif + +// Solaris +#elif defined(GOOGLE_PROTOBUF_OS_SOLARIS) +#include + +// AIX +#elif defined(GOOGLE_PROTOBUF_OS_AIX) +#include + +// Apple. +#elif defined(GOOGLE_PROTOBUF_OS_APPLE) +#include + +// GCC. +#elif defined(__GNUC__) +#if defined(GOOGLE_PROTOBUF_ARCH_IA32) || defined(GOOGLE_PROTOBUF_ARCH_X64) +#include +#elif defined(GOOGLE_PROTOBUF_ARCH_ARM) && defined(__linux__) +#include +#elif defined(GOOGLE_PROTOBUF_ARCH_AARCH64) +#include +#elif defined(GOOGLE_PROTOBUF_ARCH_ARM_QNX) +#include +#elif defined(GOOGLE_PROTOBUF_ARCH_MIPS) || defined(GOOGLE_PROTOBUF_ARCH_MIPS64) +#include +#elif defined(GOOGLE_PROTOBUF_ARCH_POWER) +#include +#elif defined(__native_client__) +#include +#elif defined(GOOGLE_PROTOBUF_ARCH_PPC) +#include +#elif (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)) +#include +#elif defined(__clang__) +#if __has_extension(c_atomic) +#include +#else +#error GOOGLE_PROTOBUF_ATOMICOPS_ERROR +#endif +#else +#error GOOGLE_PROTOBUF_ATOMICOPS_ERROR +#endif + +// Unknown. +#else +#error GOOGLE_PROTOBUF_ATOMICOPS_ERROR +#endif + +// On some platforms we need additional declarations to make AtomicWord +// compatible with our other Atomic* types. +#if defined(GOOGLE_PROTOBUF_OS_APPLE) +#include +#endif + +#undef GOOGLE_PROTOBUF_ATOMICOPS_ERROR + +#endif // GOOGLE_PROTOBUF_NO_THREAD_SAFETY + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h new file mode 100644 index 0000000..0a2d2b8 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_arm64_gcc.h @@ -0,0 +1,325 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ARM64_GCC_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ARM64_GCC_H_ + +namespace google { +namespace protobuf { +namespace internal { + +inline void MemoryBarrier() { + __asm__ __volatile__ ("dmb ish" ::: "memory"); // NOLINT +} + +// NoBarrier versions of the operation include "memory" in the clobber list. +// This is not required for direct usage of the NoBarrier versions of the +// operations. However this is required for correctness when they are used as +// part of the Acquire or Release versions, to ensure that nothing from outside +// the call is reordered between the operation and the memory barrier. This does +// not change the code generated, so has no or minimal impact on the +// NoBarrier operations. + +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 prev; + int32_t temp; + + __asm__ __volatile__ ( // NOLINT + "0: \n\t" + "ldxr %w[prev], %[ptr] \n\t" // Load the previous value. + "cmp %w[prev], %w[old_value] \n\t" + "bne 1f \n\t" + "stxr %w[temp], %w[new_value], %[ptr] \n\t" // Try to store the new value. + "cbnz %w[temp], 0b \n\t" // Retry if it did not work. + "1: \n\t" + : [prev]"=&r" (prev), + [temp]"=&r" (temp), + [ptr]"+Q" (*ptr) + : [old_value]"IJr" (old_value), + [new_value]"r" (new_value) + : "cc", "memory" + ); // NOLINT + + return prev; +} + +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, + Atomic32 new_value) { + Atomic32 result; + int32_t temp; + + __asm__ __volatile__ ( // NOLINT + "0: \n\t" + "ldxr %w[result], %[ptr] \n\t" // Load the previous value. + "stxr %w[temp], %w[new_value], %[ptr] \n\t" // Try to store the new value. + "cbnz %w[temp], 0b \n\t" // Retry if it did not work. + : [result]"=&r" (result), + [temp]"=&r" (temp), + [ptr]"+Q" (*ptr) + : [new_value]"r" (new_value) + : "memory" + ); // NOLINT + + return result; +} + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + Atomic32 result; + int32_t temp; + + __asm__ __volatile__ ( // NOLINT + "0: \n\t" + "ldxr %w[result], %[ptr] \n\t" // Load the previous value. + "add %w[result], %w[result], %w[increment]\n\t" + "stxr %w[temp], %w[result], %[ptr] \n\t" // Try to store the result. + "cbnz %w[temp], 0b \n\t" // Retry on failure. + : [result]"=&r" (result), + [temp]"=&r" (temp), + [ptr]"+Q" (*ptr) + : [increment]"IJr" (increment) + : "memory" + ); // NOLINT + + return result; +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + MemoryBarrier(); + Atomic32 result = NoBarrier_AtomicIncrement(ptr, increment); + MemoryBarrier(); + + return result; +} + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 prev = NoBarrier_CompareAndSwap(ptr, old_value, new_value); + MemoryBarrier(); + + return prev; +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + MemoryBarrier(); + Atomic32 prev = NoBarrier_CompareAndSwap(ptr, old_value, new_value); + + return prev; +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + __asm__ __volatile__ ( // NOLINT + "stlr %w[value], %[ptr] \n\t" + : [ptr]"=Q" (*ptr) + : [value]"r" (value) + : "memory" + ); // NOLINT +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return *ptr; +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + Atomic32 value; + + __asm__ __volatile__ ( // NOLINT + "ldar %w[value], %[ptr] \n\t" + : [value]"=r" (value) + : [ptr]"Q" (*ptr) + : "memory" + ); // NOLINT + + return value; +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + MemoryBarrier(); + return *ptr; +} + +// 64-bit versions of the operations. +// See the 32-bit versions for comments. + +inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 prev; + int32_t temp; + + __asm__ __volatile__ ( // NOLINT + "0: \n\t" + "ldxr %[prev], %[ptr] \n\t" + "cmp %[prev], %[old_value] \n\t" + "bne 1f \n\t" + "stxr %w[temp], %[new_value], %[ptr] \n\t" + "cbnz %w[temp], 0b \n\t" + "1: \n\t" + : [prev]"=&r" (prev), + [temp]"=&r" (temp), + [ptr]"+Q" (*ptr) + : [old_value]"IJr" (old_value), + [new_value]"r" (new_value) + : "cc", "memory" + ); // NOLINT + + return prev; +} + +inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, + Atomic64 new_value) { + Atomic64 result; + int32_t temp; + + __asm__ __volatile__ ( // NOLINT + "0: \n\t" + "ldxr %[result], %[ptr] \n\t" + "stxr %w[temp], %[new_value], %[ptr] \n\t" + "cbnz %w[temp], 0b \n\t" + : [result]"=&r" (result), + [temp]"=&r" (temp), + [ptr]"+Q" (*ptr) + : [new_value]"r" (new_value) + : "memory" + ); // NOLINT + + return result; +} + +inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + Atomic64 result; + int32_t temp; + + __asm__ __volatile__ ( // NOLINT + "0: \n\t" + "ldxr %[result], %[ptr] \n\t" + "add %[result], %[result], %[increment] \n\t" + "stxr %w[temp], %[result], %[ptr] \n\t" + "cbnz %w[temp], 0b \n\t" + : [result]"=&r" (result), + [temp]"=&r" (temp), + [ptr]"+Q" (*ptr) + : [increment]"IJr" (increment) + : "memory" + ); // NOLINT + + return result; +} + +inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + MemoryBarrier(); + Atomic64 result = NoBarrier_AtomicIncrement(ptr, increment); + MemoryBarrier(); + + return result; +} + +inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 prev = NoBarrier_CompareAndSwap(ptr, old_value, new_value); + MemoryBarrier(); + + return prev; +} + +inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + MemoryBarrier(); + Atomic64 prev = NoBarrier_CompareAndSwap(ptr, old_value, new_value); + + return prev; +} + +inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { + __asm__ __volatile__ ( // NOLINT + "stlr %x[value], %[ptr] \n\t" + : [ptr]"=Q" (*ptr) + : [value]"r" (value) + : "memory" + ); // NOLINT +} + +inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { + return *ptr; +} + +inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { + Atomic64 value; + + __asm__ __volatile__ ( // NOLINT + "ldar %x[value], %[ptr] \n\t" + : [value]"=r" (value) + : [ptr]"Q" (*ptr) + : "memory" + ); // NOLINT + + return value; +} + +inline Atomic64 Release_Load(volatile const Atomic64* ptr) { + MemoryBarrier(); + return *ptr; +} + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ARM64_GCC_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_arm_gcc.h b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_arm_gcc.h new file mode 100644 index 0000000..90e727b --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_arm_gcc.h @@ -0,0 +1,151 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. +// +// LinuxKernelCmpxchg and Barrier_AtomicIncrement are from Google Gears. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ARM_GCC_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ARM_GCC_H_ + +namespace google { +namespace protobuf { +namespace internal { + +// 0xffff0fc0 is the hard coded address of a function provided by +// the kernel which implements an atomic compare-exchange. On older +// ARM architecture revisions (pre-v6) this may be implemented using +// a syscall. This address is stable, and in active use (hard coded) +// by at least glibc-2.7 and the Android C library. +typedef Atomic32 (*LinuxKernelCmpxchgFunc)(Atomic32 old_value, + Atomic32 new_value, + volatile Atomic32* ptr); +LinuxKernelCmpxchgFunc pLinuxKernelCmpxchg __attribute__((weak)) = + (LinuxKernelCmpxchgFunc) 0xffff0fc0; + +typedef void (*LinuxKernelMemoryBarrierFunc)(void); +LinuxKernelMemoryBarrierFunc pLinuxKernelMemoryBarrier __attribute__((weak)) = + (LinuxKernelMemoryBarrierFunc) 0xffff0fa0; + + +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 prev_value = *ptr; + do { + if (!pLinuxKernelCmpxchg(old_value, new_value, + const_cast(ptr))) { + return old_value; + } + prev_value = *ptr; + } while (prev_value == old_value); + return prev_value; +} + +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, + Atomic32 new_value) { + Atomic32 old_value; + do { + old_value = *ptr; + } while (pLinuxKernelCmpxchg(old_value, new_value, + const_cast(ptr))); + return old_value; +} + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return Barrier_AtomicIncrement(ptr, increment); +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + for (;;) { + // Atomic exchange the old value with an incremented one. + Atomic32 old_value = *ptr; + Atomic32 new_value = old_value + increment; + if (pLinuxKernelCmpxchg(old_value, new_value, + const_cast(ptr)) == 0) { + // The exchange took place as expected. + return new_value; + } + // Otherwise, *ptr changed mid-loop and we need to retry. + } +} + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; +} + +inline void MemoryBarrier() { + pLinuxKernelMemoryBarrier(); +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + MemoryBarrier(); + *ptr = value; +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return *ptr; +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + Atomic32 value = *ptr; + MemoryBarrier(); + return value; +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + MemoryBarrier(); + return *ptr; +} + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ARM_GCC_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_arm_qnx.h b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_arm_qnx.h new file mode 100644 index 0000000..17dfaa5 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_arm_qnx.h @@ -0,0 +1,146 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ARM_QNX_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ARM_QNX_H_ + +// For _smp_cmpxchg() +#include + +namespace google { +namespace protobuf { +namespace internal { + +inline Atomic32 QNXCmpxchg(Atomic32 old_value, + Atomic32 new_value, + volatile Atomic32* ptr) { + return static_cast( + _smp_cmpxchg((volatile unsigned *)ptr, + (unsigned)old_value, + (unsigned)new_value)); +} + + +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 prev_value = *ptr; + do { + if (!QNXCmpxchg(old_value, new_value, + const_cast(ptr))) { + return old_value; + } + prev_value = *ptr; + } while (prev_value == old_value); + return prev_value; +} + +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, + Atomic32 new_value) { + Atomic32 old_value; + do { + old_value = *ptr; + } while (QNXCmpxchg(old_value, new_value, + const_cast(ptr))); + return old_value; +} + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return Barrier_AtomicIncrement(ptr, increment); +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + for (;;) { + // Atomic exchange the old value with an incremented one. + Atomic32 old_value = *ptr; + Atomic32 new_value = old_value + increment; + if (QNXCmpxchg(old_value, new_value, + const_cast(ptr)) == 0) { + // The exchange took place as expected. + return new_value; + } + // Otherwise, *ptr changed mid-loop and we need to retry. + } +} + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; +} + +inline void MemoryBarrier() { + __sync_synchronize(); +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + MemoryBarrier(); + *ptr = value; +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return *ptr; +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + Atomic32 value = *ptr; + MemoryBarrier(); + return value; +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + MemoryBarrier(); + return *ptr; +} + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ARM_QNX_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_atomicword_compat.h b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_atomicword_compat.h new file mode 100644 index 0000000..eb198ff --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_atomicword_compat.h @@ -0,0 +1,122 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ATOMICWORD_COMPAT_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ATOMICWORD_COMPAT_H_ + +// AtomicWord is a synonym for intptr_t, and Atomic32 is a synonym for int32, +// which in turn means int. On some LP32 platforms, intptr_t is an int, but +// on others, it's a long. When AtomicWord and Atomic32 are based on different +// fundamental types, their pointers are incompatible. +// +// This file defines function overloads to allow both AtomicWord and Atomic32 +// data to be used with this interface. +// +// On LP64 platforms, AtomicWord and Atomic64 are both always long, +// so this problem doesn't occur. + +#if !defined(GOOGLE_PROTOBUF_ARCH_64_BIT) + +namespace google { +namespace protobuf { +namespace internal { + +inline AtomicWord NoBarrier_CompareAndSwap(volatile AtomicWord* ptr, + AtomicWord old_value, + AtomicWord new_value) { + return NoBarrier_CompareAndSwap( + reinterpret_cast(ptr), old_value, new_value); +} + +inline AtomicWord NoBarrier_AtomicExchange(volatile AtomicWord* ptr, + AtomicWord new_value) { + return NoBarrier_AtomicExchange( + reinterpret_cast(ptr), new_value); +} + +inline AtomicWord NoBarrier_AtomicIncrement(volatile AtomicWord* ptr, + AtomicWord increment) { + return NoBarrier_AtomicIncrement( + reinterpret_cast(ptr), increment); +} + +inline AtomicWord Barrier_AtomicIncrement(volatile AtomicWord* ptr, + AtomicWord increment) { + return Barrier_AtomicIncrement( + reinterpret_cast(ptr), increment); +} + +inline AtomicWord Acquire_CompareAndSwap(volatile AtomicWord* ptr, + AtomicWord old_value, + AtomicWord new_value) { + return Acquire_CompareAndSwap( + reinterpret_cast(ptr), old_value, new_value); +} + +inline AtomicWord Release_CompareAndSwap(volatile AtomicWord* ptr, + AtomicWord old_value, + AtomicWord new_value) { + return Release_CompareAndSwap( + reinterpret_cast(ptr), old_value, new_value); +} + +inline void NoBarrier_Store(volatile AtomicWord *ptr, AtomicWord value) { + NoBarrier_Store(reinterpret_cast(ptr), value); +} + +inline void Acquire_Store(volatile AtomicWord* ptr, AtomicWord value) { + return Acquire_Store(reinterpret_cast(ptr), value); +} + +inline void Release_Store(volatile AtomicWord* ptr, AtomicWord value) { + return Release_Store(reinterpret_cast(ptr), value); +} + +inline AtomicWord NoBarrier_Load(volatile const AtomicWord *ptr) { + return NoBarrier_Load(reinterpret_cast(ptr)); +} + +inline AtomicWord Acquire_Load(volatile const AtomicWord* ptr) { + return Acquire_Load(reinterpret_cast(ptr)); +} + +inline AtomicWord Release_Load(volatile const AtomicWord* ptr) { + return Release_Load(reinterpret_cast(ptr)); +} + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // !defined(GOOGLE_PROTOBUF_ARCH_64_BIT) + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ATOMICWORD_COMPAT_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_generic_gcc.h b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_generic_gcc.h new file mode 100644 index 0000000..7314ee4 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_generic_gcc.h @@ -0,0 +1,155 @@ +// Copyright 2013 Red Hat Inc. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Red Hat Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_GENERIC_GCC_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_GENERIC_GCC_H_ + +namespace google { +namespace protobuf { +namespace internal { + +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + __atomic_compare_exchange_n(ptr, &old_value, new_value, true, + __ATOMIC_RELAXED, __ATOMIC_RELAXED); + return old_value; +} + +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, + Atomic32 new_value) { + return __atomic_exchange_n(ptr, new_value, __ATOMIC_RELAXED); +} + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return __atomic_add_fetch(ptr, increment, __ATOMIC_RELAXED); +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return __atomic_add_fetch(ptr, increment, __ATOMIC_SEQ_CST); +} + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + __atomic_compare_exchange_n(ptr, &old_value, new_value, true, + __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE); + return old_value; +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + __atomic_compare_exchange_n(ptr, &old_value, new_value, true, + __ATOMIC_RELEASE, __ATOMIC_ACQUIRE); + return old_value; +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + __atomic_store_n(ptr, value, __ATOMIC_RELAXED); +} + +inline void MemoryBarrier() { + __sync_synchronize(); +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + __atomic_store_n(ptr, value, __ATOMIC_SEQ_CST); +} + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + __atomic_store_n(ptr, value, __ATOMIC_RELEASE); +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return __atomic_load_n(ptr, __ATOMIC_RELAXED); +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + return __atomic_load_n(ptr, __ATOMIC_ACQUIRE); +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + return __atomic_load_n(ptr, __ATOMIC_SEQ_CST); +} + +#ifdef __LP64__ + +inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { + __atomic_store_n(ptr, value, __ATOMIC_RELEASE); +} + +inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { + return __atomic_load_n(ptr, __ATOMIC_ACQUIRE); +} + +inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + __atomic_compare_exchange_n(ptr, &old_value, new_value, true, + __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE); + return old_value; +} + +inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + __atomic_compare_exchange_n(ptr, &old_value, new_value, true, + __ATOMIC_RELAXED, __ATOMIC_RELAXED); + return old_value; +} + +inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + return __atomic_add_fetch(ptr, increment, __ATOMIC_RELAXED); +} + +inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) { + __atomic_store_n(ptr, value, __ATOMIC_RELAXED); +} + +inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, + Atomic64 new_value) { + return __atomic_exchange_n(ptr, new_value, __ATOMIC_RELAXED); +} + +inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { + return __atomic_load_n(ptr, __ATOMIC_RELAXED); +} + +#endif // defined(__LP64__) + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_GENERIC_GCC_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_macosx.h b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_macosx.h new file mode 100644 index 0000000..7963324 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_macosx.h @@ -0,0 +1,225 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_MACOSX_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_MACOSX_H_ + +#include + +namespace google { +namespace protobuf { +namespace internal { + +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 prev_value; + do { + if (OSAtomicCompareAndSwap32(old_value, new_value, + const_cast(ptr))) { + return old_value; + } + prev_value = *ptr; + } while (prev_value == old_value); + return prev_value; +} + +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, + Atomic32 new_value) { + Atomic32 old_value; + do { + old_value = *ptr; + } while (!OSAtomicCompareAndSwap32(old_value, new_value, + const_cast(ptr))); + return old_value; +} + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return OSAtomicAdd32(increment, const_cast(ptr)); +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return OSAtomicAdd32Barrier(increment, const_cast(ptr)); +} + +inline void MemoryBarrier() { + OSMemoryBarrier(); +} + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 prev_value; + do { + if (OSAtomicCompareAndSwap32Barrier(old_value, new_value, + const_cast(ptr))) { + return old_value; + } + prev_value = *ptr; + } while (prev_value == old_value); + return prev_value; +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return Acquire_CompareAndSwap(ptr, old_value, new_value); +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + MemoryBarrier(); + *ptr = value; +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return *ptr; +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + Atomic32 value = *ptr; + MemoryBarrier(); + return value; +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + MemoryBarrier(); + return *ptr; +} + +#ifdef __LP64__ + +// 64-bit implementation on 64-bit platform + +inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 prev_value; + do { + if (OSAtomicCompareAndSwap64(old_value, new_value, + reinterpret_cast(ptr))) { + return old_value; + } + prev_value = *ptr; + } while (prev_value == old_value); + return prev_value; +} + +inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, + Atomic64 new_value) { + Atomic64 old_value; + do { + old_value = *ptr; + } while (!OSAtomicCompareAndSwap64(old_value, new_value, + reinterpret_cast(ptr))); + return old_value; +} + +inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + return OSAtomicAdd64(increment, reinterpret_cast(ptr)); +} + +inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + return OSAtomicAdd64Barrier(increment, + reinterpret_cast(ptr)); +} + +inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 prev_value; + do { + if (OSAtomicCompareAndSwap64Barrier( + old_value, new_value, reinterpret_cast(ptr))) { + return old_value; + } + prev_value = *ptr; + } while (prev_value == old_value); + return prev_value; +} + +inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + // The lib kern interface does not distinguish between + // Acquire and Release memory barriers; they are equivalent. + return Acquire_CompareAndSwap(ptr, old_value, new_value); +} + +inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { + MemoryBarrier(); + *ptr = value; +} + +inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { + return *ptr; +} + +inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { + Atomic64 value = *ptr; + MemoryBarrier(); + return value; +} + +inline Atomic64 Release_Load(volatile const Atomic64* ptr) { + MemoryBarrier(); + return *ptr; +} + +#endif // defined(__LP64__) + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_MACOSX_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_mips_gcc.h b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_mips_gcc.h new file mode 100644 index 0000000..f5837c9 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_mips_gcc.h @@ -0,0 +1,313 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_MIPS_GCC_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_MIPS_GCC_H_ + +#define ATOMICOPS_COMPILER_BARRIER() __asm__ __volatile__("" : : : "memory") + +namespace google { +namespace protobuf { +namespace internal { + +// Atomically execute: +// result = *ptr; +// if (*ptr == old_value) +// *ptr = new_value; +// return result; +// +// I.e., replace "*ptr" with "new_value" if "*ptr" used to be "old_value". +// Always return the old value of "*ptr" +// +// This routine implies no memory barriers. +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 prev, tmp; + __asm__ __volatile__(".set push\n" + ".set noreorder\n" + "1:\n" + "ll %0, %5\n" // prev = *ptr + "bne %0, %3, 2f\n" // if (prev != old_value) goto 2 + "move %2, %4\n" // tmp = new_value + "sc %2, %1\n" // *ptr = tmp (with atomic check) + "beqz %2, 1b\n" // start again on atomic error + "nop\n" // delay slot nop + "2:\n" + ".set pop\n" + : "=&r" (prev), "=m" (*ptr), "=&r" (tmp) + : "r" (old_value), "r" (new_value), "m" (*ptr) + : "memory"); + return prev; +} + +// Atomically store new_value into *ptr, returning the previous value held in +// *ptr. This routine implies no memory barriers. +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, + Atomic32 new_value) { + Atomic32 temp, old; + __asm__ __volatile__(".set push\n" + ".set noreorder\n" + "1:\n" + "ll %1, %4\n" // old = *ptr + "move %0, %3\n" // temp = new_value + "sc %0, %2\n" // *ptr = temp (with atomic check) + "beqz %0, 1b\n" // start again on atomic error + "nop\n" // delay slot nop + ".set pop\n" + : "=&r" (temp), "=&r" (old), "=m" (*ptr) + : "r" (new_value), "m" (*ptr) + : "memory"); + + return old; +} + +// Atomically increment *ptr by "increment". Returns the new value of +// *ptr with the increment applied. This routine implies no memory barriers. +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + Atomic32 temp, temp2; + + __asm__ __volatile__(".set push\n" + ".set noreorder\n" + "1:\n" + "ll %0, %4\n" // temp = *ptr + "addu %1, %0, %3\n" // temp2 = temp + increment + "sc %1, %2\n" // *ptr = temp2 (with atomic check) + "beqz %1, 1b\n" // start again on atomic error + "addu %1, %0, %3\n" // temp2 = temp + increment + ".set pop\n" + : "=&r" (temp), "=&r" (temp2), "=m" (*ptr) + : "Ir" (increment), "m" (*ptr) + : "memory"); + // temp2 now holds the final value. + return temp2; +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + ATOMICOPS_COMPILER_BARRIER(); + Atomic32 res = NoBarrier_AtomicIncrement(ptr, increment); + ATOMICOPS_COMPILER_BARRIER(); + return res; +} + +// "Acquire" operations +// ensure that no later memory access can be reordered ahead of the operation. +// "Release" operations ensure that no previous memory access can be reordered +// after the operation. "Barrier" operations have both "Acquire" and "Release" +// semantics. A MemoryBarrier() has "Barrier" semantics, but does no memory +// access. +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + ATOMICOPS_COMPILER_BARRIER(); + Atomic32 res = NoBarrier_CompareAndSwap(ptr, old_value, new_value); + ATOMICOPS_COMPILER_BARRIER(); + return res; +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + ATOMICOPS_COMPILER_BARRIER(); + Atomic32 res = NoBarrier_CompareAndSwap(ptr, old_value, new_value); + ATOMICOPS_COMPILER_BARRIER(); + return res; +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; +} + +inline void MemoryBarrier() { + __asm__ __volatile__("sync" : : : "memory"); +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + MemoryBarrier(); + *ptr = value; +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return *ptr; +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + Atomic32 value = *ptr; + MemoryBarrier(); + return value; +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + MemoryBarrier(); + return *ptr; +} + +#if defined(__LP64__) +// 64-bit versions of the atomic ops. + +inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 prev, tmp; + __asm__ __volatile__(".set push\n" + ".set noreorder\n" + "1:\n" + "lld %0, %5\n" // prev = *ptr + "bne %0, %3, 2f\n" // if (prev != old_value) goto 2 + "move %2, %4\n" // tmp = new_value + "scd %2, %1\n" // *ptr = tmp (with atomic check) + "beqz %2, 1b\n" // start again on atomic error + "nop\n" // delay slot nop + "2:\n" + ".set pop\n" + : "=&r" (prev), "=m" (*ptr), "=&r" (tmp) + : "r" (old_value), "r" (new_value), "m" (*ptr) + : "memory"); + return prev; +} + +// Atomically store new_value into *ptr, returning the previous value held in +// *ptr. This routine implies no memory barriers. +inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, + Atomic64 new_value) { + Atomic64 temp, old; + __asm__ __volatile__(".set push\n" + ".set noreorder\n" + "1:\n" + "lld %1, %4\n" // old = *ptr + "move %0, %3\n" // temp = new_value + "scd %0, %2\n" // *ptr = temp (with atomic check) + "beqz %0, 1b\n" // start again on atomic error + "nop\n" // delay slot nop + ".set pop\n" + : "=&r" (temp), "=&r" (old), "=m" (*ptr) + : "r" (new_value), "m" (*ptr) + : "memory"); + + return old; +} + +// Atomically increment *ptr by "increment". Returns the new value of +// *ptr with the increment applied. This routine implies no memory barriers. +inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + Atomic64 temp, temp2; + + __asm__ __volatile__(".set push\n" + ".set noreorder\n" + "1:\n" + "lld %0, %4\n" // temp = *ptr + "daddu %1, %0, %3\n" // temp2 = temp + increment + "scd %1, %2\n" // *ptr = temp2 (with atomic check) + "beqz %1, 1b\n" // start again on atomic error + "daddu %1, %0, %3\n" // temp2 = temp + increment + ".set pop\n" + : "=&r" (temp), "=&r" (temp2), "=m" (*ptr) + : "Ir" (increment), "m" (*ptr) + : "memory"); + // temp2 now holds the final value. + return temp2; +} + +inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + MemoryBarrier(); + Atomic64 res = NoBarrier_AtomicIncrement(ptr, increment); + MemoryBarrier(); + return res; +} + +// "Acquire" operations +// ensure that no later memory access can be reordered ahead of the operation. +// "Release" operations ensure that no previous memory access can be reordered +// after the operation. "Barrier" operations have both "Acquire" and "Release" +// semantics. A MemoryBarrier() has "Barrier" semantics, but does no memory +// access. +inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 res = NoBarrier_CompareAndSwap(ptr, old_value, new_value); + MemoryBarrier(); + return res; +} + +inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + MemoryBarrier(); + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { + MemoryBarrier(); + *ptr = value; +} + +inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { + return *ptr; +} + +inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { + Atomic64 value = *ptr; + MemoryBarrier(); + return value; +} + +inline Atomic64 Release_Load(volatile const Atomic64* ptr) { + MemoryBarrier(); + return *ptr; +} +#endif + +} // namespace internal +} // namespace protobuf +} // namespace google + +#undef ATOMICOPS_COMPILER_BARRIER + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_MIPS_GCC_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_pnacl.h b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_pnacl.h new file mode 100644 index 0000000..3b314fd --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_pnacl.h @@ -0,0 +1,231 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_PNACL_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_PNACL_H_ + +#include + +namespace google { +namespace protobuf { +namespace internal { + +// This implementation is transitional and maintains the original API for +// atomicops.h. This requires casting memory locations to the atomic types, and +// assumes that the API and the C++11 implementation are layout-compatible, +// which isn't true for all implementations or hardware platforms. The static +// assertion should detect this issue, were it to fire then this header +// shouldn't be used. +// +// TODO(jfb) If this header manages to stay committed then the API should be +// modified, and all call sites updated. +typedef volatile std::atomic* AtomicLocation32; +static_assert(sizeof(*(AtomicLocation32) nullptr) == sizeof(Atomic32), + "incompatible 32-bit atomic layout"); + +inline void MemoryBarrier() { +#if defined(__GLIBCXX__) + // Work around libstdc++ bug 51038 where atomic_thread_fence was declared but + // not defined, leading to the linker complaining about undefined references. + __atomic_thread_fence(std::memory_order_seq_cst); +#else + std::atomic_thread_fence(std::memory_order_seq_cst); +#endif +} + +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + ((AtomicLocation32)ptr) + ->compare_exchange_strong(old_value, + new_value, + std::memory_order_relaxed, + std::memory_order_relaxed); + return old_value; +} + +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, + Atomic32 new_value) { + return ((AtomicLocation32)ptr) + ->exchange(new_value, std::memory_order_relaxed); +} + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return increment + + ((AtomicLocation32)ptr) + ->fetch_add(increment, std::memory_order_relaxed); +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return increment + ((AtomicLocation32)ptr)->fetch_add(increment); +} + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + ((AtomicLocation32)ptr) + ->compare_exchange_strong(old_value, + new_value, + std::memory_order_acquire, + std::memory_order_acquire); + return old_value; +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + ((AtomicLocation32)ptr) + ->compare_exchange_strong(old_value, + new_value, + std::memory_order_release, + std::memory_order_relaxed); + return old_value; +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + ((AtomicLocation32)ptr)->store(value, std::memory_order_relaxed); +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + ((AtomicLocation32)ptr)->store(value, std::memory_order_relaxed); + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + ((AtomicLocation32)ptr)->store(value, std::memory_order_release); +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return ((AtomicLocation32)ptr)->load(std::memory_order_relaxed); +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + return ((AtomicLocation32)ptr)->load(std::memory_order_acquire); +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + MemoryBarrier(); + return ((AtomicLocation32)ptr)->load(std::memory_order_relaxed); +} + +#if defined(GOOGLE_PROTOBUF_ARCH_64_BIT) + +typedef volatile std::atomic* AtomicLocation64; +static_assert(sizeof(*(AtomicLocation64) nullptr) == sizeof(Atomic64), + "incompatible 64-bit atomic layout"); + +inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + ((AtomicLocation64)ptr) + ->compare_exchange_strong(old_value, + new_value, + std::memory_order_relaxed, + std::memory_order_relaxed); + return old_value; +} + +inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, + Atomic64 new_value) { + return ((AtomicLocation64)ptr) + ->exchange(new_value, std::memory_order_relaxed); +} + +inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + return increment + + ((AtomicLocation64)ptr) + ->fetch_add(increment, std::memory_order_relaxed); +} + +inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + return increment + ((AtomicLocation64)ptr)->fetch_add(increment); +} + +inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + ((AtomicLocation64)ptr) + ->compare_exchange_strong(old_value, + new_value, + std::memory_order_acquire, + std::memory_order_acquire); + return old_value; +} + +inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + ((AtomicLocation64)ptr) + ->compare_exchange_strong(old_value, + new_value, + std::memory_order_release, + std::memory_order_relaxed); + return old_value; +} + +inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) { + ((AtomicLocation64)ptr)->store(value, std::memory_order_relaxed); +} + +inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) { + ((AtomicLocation64)ptr)->store(value, std::memory_order_relaxed); + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { + ((AtomicLocation64)ptr)->store(value, std::memory_order_release); +} + +inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { + return ((AtomicLocation64)ptr)->load(std::memory_order_relaxed); +} + +inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { + return ((AtomicLocation64)ptr)->load(std::memory_order_acquire); +} + +inline Atomic64 Release_Load(volatile const Atomic64* ptr) { + MemoryBarrier(); + return ((AtomicLocation64)ptr)->load(std::memory_order_relaxed); +} + +#endif // defined(GOOGLE_PROTOBUF_ARCH_64_BIT) + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_PNACL_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_power.h b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_power.h new file mode 100644 index 0000000..b8a42f2 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_power.h @@ -0,0 +1,440 @@ +// Copyright 2014 Bloomberg Finance LP. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Bloomberg Finance LP. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_AIX_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_AIX_H_ + +namespace google { +namespace protobuf { +namespace internal { + +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 result; + + asm volatile ( + "1: lwarx %[res], %[zero], %[obj] \n\t" // load and reserve + " cmpw %[cmp], %[res] \n\t" // compare values + " bne- 2f \n\t" + " stwcx. %[val], %[zero], %[obj] \n\t" // store new value + " bne- 1b \n\t" + "2: \n\t" + : [res] "=&b" (result) + : [obj] "b" (ptr), + [cmp] "b" (old_value), + [val] "b" (new_value), + [zero] "i" (0) + : "cr0", "ctr"); + + return result; +} + +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, + Atomic32 new_value) { + Atomic32 result; + + asm volatile ( + "1: lwarx %[res], %[zero], %[obj] \n\t" + " stwcx. %[val], %[zero], %[obj] \n\t" + " bne- 1b \n\t" + : [res] "=&b" (result) + : [obj] "b" (ptr), + [val] "b" (new_value), + [zero] "i" (0) + : "cr0", "ctr"); + + return result; +} + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + Atomic32 result; + + asm volatile ( + "1: lwarx %[res], %[zero], %[obj] \n\t" // load and reserve + " add %[res], %[val], %[res] \n\t" // add the operand + " stwcx. %[res], %[zero], %[obj] \n\t" // store old value + // if still reserved + " bne- 1b \n\t" + : [res] "=&b" (result) + : [obj] "b" (ptr), + [val] "b" (increment), + [zero] "i" (0) + : "cr0", "ctr"); + + return result; +} + +inline void MemoryBarrier(void) { + asm volatile ( + " lwsync \n\t" + " isync \n\t" + : + : + : "memory"); +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + Atomic32 result; + + asm volatile ( + " lwsync \n\t" + + "1: lwarx %[res], %[zero], %[obj] \n\t" // load and reserve + " add %[res], %[val], %[res] \n\t" // add the operand + " stwcx. %[res], %[zero], %[obj] \n\t" // store old value + // if still reserved + " bne- 1b \n\t" + " isync \n\t" + : [res] "=&b" (result) + : [obj] "b" (ptr), + [val] "b" (increment), + [zero] "i" (0) + : "cr0", "ctr"); + + return result; +} + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 result; + + asm volatile ( + "1: lwarx %[res], %[zero], %[obj] \n\t" // load and reserve + " cmpw %[cmp], %[res] \n\t" // compare values + " bne- 2f \n\t" + " stwcx. %[val], %[zero], %[obj] \n\t" // store new value + " bne- 1b \n\t" + + " isync \n\t" + "2: \n\t" + : [res] "=&b" (result) + : [obj] "b" (ptr), + [cmp] "b" (old_value), + [val] "b" (new_value), + [zero] "i" (0) + : "cr0", "ctr"); + + return result; +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 result; + + asm volatile ( + " lwsync \n\t" + + "1: lwarx %[res], %[zero], %[obj] \n\t" // load and reserve + " cmpw %[cmp], %[res] \n\t" // compare values + " bne- 2f \n\t" + " stwcx. %[val], %[zero], %[obj] \n\t" // store new value + " bne- 1b \n\t" + + "2: \n\t" + : [res] "=&b" (result) + : [obj] "b" (ptr), + [cmp] "b" (old_value), + [val] "b" (new_value), + [zero] "i" (0) + : "cr0", "ctr"); + + return result; +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + asm volatile ( + " stw %[val], %[obj] \n\t" + " isync \n\t" + : [obj] "=m" (*ptr) + : [val] "b" (value)); +} + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + asm volatile ( + " lwsync \n\t" + " stw %[val], %[obj] \n\t" + : [obj] "=m" (*ptr) + : [val] "b" (value)); +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return *ptr; +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + Atomic32 result; + + asm volatile ( + "1: lwz %[res], %[obj] \n\t" + " cmpw %[res], %[res] \n\t" // create data + // dependency for + // load/load ordering + " bne- 1b \n\t" // never taken + + " isync \n\t" + : [res] "=b" (result) + : [obj] "m" (*ptr), + [zero] "i" (0) + : "cr0", "ctr"); + + return result; +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + Atomic32 result; + + asm volatile ( + " lwsync \n\t" + + "1: lwz %[res], %[obj] \n\t" + " cmpw %[res], %[res] \n\t" // create data + // dependency for + // load/load ordering + " bne- 1b \n\t" // never taken + : [res] "=b" (result) + : [obj] "m" (*ptr), + [zero] "i" (0) + : "cr0", "ctr"); + + return result; +} + +#ifdef GOOGLE_PROTOBUF_ARCH_64_BIT +inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 result; + + asm volatile ( + "1: ldarx %[res], %[zero], %[obj] \n\t" // load and reserve + " cmpd %[cmp], %[res] \n\t" // compare values + " bne- 2f \n\t" + + " stdcx. %[val], %[zero], %[obj] \n\t" // store the new value + " bne- 1b \n\t" + "2: \n\t" + : [res] "=&b" (result) + : [obj] "b" (ptr), + [cmp] "b" (old_value), + [val] "b" (new_value), + [zero] "i" (0) + : "cr0", "ctr"); + + return result; +} + +inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, + Atomic64 new_value) { + Atomic64 result; + + asm volatile ( + "1: ldarx %[res], %[zero], %[obj] \n\t" + " stdcx. %[val], %[zero], %[obj] \n\t" + " bne- 1b \n\t" + : [res] "=&b" (result) + : [obj] "b" (ptr), + [val] "b" (new_value), + [zero] "i" (0) + : "cr0", "ctr"); + + return result; +} + +inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + Atomic64 result; + + asm volatile ( + "1: ldarx %[res], %[zero], %[obj] \n\t" // load and reserve + " add %[res], %[res], %[val] \n\t" // add the operand + " stdcx. %[res], %[zero], %[obj] \n\t" // store old value if + // still reserved + + " bne- 1b \n\t" + : [res] "=&b" (result) + : [obj] "b" (ptr), + [val] "b" (increment), + [zero] "i" (0) + : "cr0", "ctr"); + + return result; +} + +inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + + Atomic64 result; + + asm volatile ( + " lwsync \n\t" + + "1: ldarx %[res], %[zero], %[obj] \n\t" // load and reserve + " add %[res], %[res], %[val] \n\t" // add the operand + " stdcx. %[res], %[zero], %[obj] \n\t" // store old value if + // still reserved + + " bne- 1b \n\t" + + " isync \n\t" + : [res] "=&b" (result) + : [obj] "b" (ptr), + [val] "b" (increment), + [zero] "i" (0) + : "cr0", "ctr"); + + return result; +} + +inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 result; + + asm volatile ( + "1: ldarx %[res], %[zero], %[obj] \n\t" // load and reserve + " cmpd %[cmp], %[res] \n\t" // compare values + " bne- 2f \n\t" + + " stdcx. %[val], %[zero], %[obj] \n\t" // store the new value + " bne- 1b \n\t" + " isync \n\t" + "2: \n\t" + : [res] "=&b" (result) + : [obj] "b" (ptr), + [cmp] "b" (old_value), + [val] "b" (new_value), + [zero] "i" (0) + : "cr0", "ctr"); + + return result; +} + +inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 result; + + asm volatile ( + " lwsync \n\t" + + "1: ldarx %[res], %[zero], %[obj] \n\t" // load and reserve + " cmpd %[cmp], %[res] \n\t" // compare values + " bne- 2f \n\t" + + " stdcx. %[val], %[zero], %[obj] \n\t" // store the new value + " bne- 1b \n\t" + "2: \n\t" + : [res] "=&b" (result) + : [obj] "b" (ptr), + [cmp] "b" (old_value), + [val] "b" (new_value), + [zero] "i" (0) + : "cr0", "ctr"); + + return result; +} + +inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) { + asm volatile ( + " std %[val], %[obj] \n\t" + " isync \n\t" + : [obj] "=m" (*ptr) + : [val] "b" (value)); +} + +inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { + asm volatile ( + " lwsync \n\t" + " std %[val], %[obj] \n\t" + : [obj] "=m" (*ptr) + : [val] "b" (value)); +} + +inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { + return *ptr; +} + +inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { + Atomic64 result; + + asm volatile ( + "1: ld %[res], %[obj] \n\t" + " cmpd %[res], %[res] \n\t" // create data + // dependency for + // load/load ordering + " bne- 1b \n\t" // never taken + + " isync \n\t" + : [res] "=b" (result) + : [obj] "m" (*ptr), + [zero] "i" (0) + : "cr0", "ctr"); + + return result; +} + +inline Atomic64 Release_Load(volatile const Atomic64* ptr) { + Atomic64 result; + + asm volatile ( + " lwsync \n\t" + + "1: ld %[res], %[obj] \n\t" + " cmpd %[res], %[res] \n\t" // create data + // dependency for + // load/load ordering + " bne- 1b \n\t" // never taken + : [res] "=b" (result) + : [obj] "m" (*ptr), + [zero] "i" (0) + : "cr0", "ctr"); + + return result; +} +#endif + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_SPARC_GCC_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_ppc_gcc.h b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_ppc_gcc.h new file mode 100644 index 0000000..8231a57 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_ppc_gcc.h @@ -0,0 +1,155 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2015 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: ogabbay@advaoptical.com (Oded Gabbay) +// Cleaned up by: bsilver16384@gmail.com (Brian Silverman) +// +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_PPC_GCC_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_PPC_GCC_H_ + +#define ATOMICOPS_COMPILER_BARRIER() __asm__ __volatile__("" : : : "memory") + +namespace google { +namespace protobuf { +namespace internal { + +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32 *ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 prev; + + __asm__ __volatile__( + "0: \n\t" + "lwarx %[prev],0,%[ptr] \n\t" + "cmpw 0,%[prev],%[old_value] \n\t" + "bne- 1f \n\t" + "stwcx. %[new_value],0,%[ptr] \n\t" + "bne- 0b \n\t" + "1: \n\t" + : [prev] "=&r"(prev), "+m"(*ptr) + : [ptr] "r"(ptr), [old_value] "r"(old_value), [new_value] "r"(new_value) + : "cc", "memory"); + + return prev; +} + +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32 *ptr, + Atomic32 new_value) { + Atomic32 old; + + __asm__ __volatile__( + "0: \n\t" + "lwarx %[old],0,%[ptr] \n\t" + "stwcx. %[new_value],0,%[ptr] \n\t" + "bne- 0b \n\t" + : [old] "=&r"(old), "+m"(*ptr) + : [ptr] "r"(ptr), [new_value] "r"(new_value) + : "cc", "memory"); + + return old; +} + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32 *ptr, + Atomic32 increment) { + Atomic32 temp; + + __asm__ __volatile__( + "0: \n\t" + "lwarx %[temp],0,%[ptr] \n\t" + "add %[temp],%[increment],%[temp] \n\t" + "stwcx. %[temp],0,%[ptr] \n\t" + "bne- 0b \n\t" + : [temp] "=&r"(temp) + : [increment] "r"(increment), [ptr] "r"(ptr) + : "cc", "memory"); + + return temp; +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32 *ptr, + Atomic32 increment) { + MemoryBarrier(); + Atomic32 res = NoBarrier_AtomicIncrement(ptr, increment); + MemoryBarrier(); + return res; +} + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32 *ptr, + Atomic32 old_value, Atomic32 new_value) { + Atomic32 res = NoBarrier_CompareAndSwap(ptr, old_value, new_value); + MemoryBarrier(); + return res; +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32 *ptr, + Atomic32 old_value, Atomic32 new_value) { + MemoryBarrier(); + Atomic32 res = NoBarrier_CompareAndSwap(ptr, old_value, new_value); + return res; +} + +inline void NoBarrier_Store(volatile Atomic32 *ptr, Atomic32 value) { + *ptr = value; +} + +inline void MemoryBarrier() { __asm__ __volatile__("sync" : : : "memory"); } + +inline void Acquire_Store(volatile Atomic32 *ptr, Atomic32 value) { + *ptr = value; + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic32 *ptr, Atomic32 value) { + MemoryBarrier(); + *ptr = value; +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32 *ptr) { return *ptr; } + +inline Atomic32 Acquire_Load(volatile const Atomic32 *ptr) { + Atomic32 value = *ptr; + MemoryBarrier(); + return value; +} + +inline Atomic32 Release_Load(volatile const Atomic32 *ptr) { + MemoryBarrier(); + return *ptr; +} + +} // namespace internal +} // namespace protobuf +} // namespace google + +#undef ATOMICOPS_COMPILER_BARRIER + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_PPC_GCC_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_solaris.h b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_solaris.h new file mode 100644 index 0000000..d8057ec --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_solaris.h @@ -0,0 +1,188 @@ +// Copyright 2014 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_SPARC_GCC_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_SPARC_GCC_H_ + +#include + +namespace google { +namespace protobuf { +namespace internal { + +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return (Atomic32)atomic_cas_32((volatile uint32_t*)ptr, (uint32_t)old_value, (uint32_t)new_value); +} + +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, + Atomic32 new_value) { + return (Atomic32)atomic_swap_32((volatile uint32_t*)ptr, (uint32_t)new_value); +} + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return (Atomic32)atomic_add_32_nv((volatile uint32_t*)ptr, (uint32_t)increment); +} + +inline void MemoryBarrier(void) { + membar_producer(); + membar_consumer(); +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + MemoryBarrier(); + Atomic32 ret = NoBarrier_AtomicIncrement(ptr, increment); + MemoryBarrier(); + + return ret; +} + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 ret = NoBarrier_CompareAndSwap(ptr, old_value, new_value); + MemoryBarrier(); + + return ret; +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + MemoryBarrier(); + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; + membar_producer(); +} + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + membar_consumer(); + *ptr = value; +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return *ptr; +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + Atomic32 val = *ptr; + membar_consumer(); + return val; +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + membar_producer(); + return *ptr; +} + +#ifdef GOOGLE_PROTOBUF_ARCH_64_BIT +inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + return atomic_cas_64((volatile uint64_t*)ptr, (uint64_t)old_value, (uint64_t)new_value); +} + +inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, Atomic64 new_value) { + return atomic_swap_64((volatile uint64_t*)ptr, (uint64_t)new_value); +} + +inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, Atomic64 increment) { + return atomic_add_64_nv((volatile uint64_t*)ptr, increment); +} + +inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr, Atomic64 increment) { + MemoryBarrier(); + Atomic64 ret = atomic_add_64_nv((volatile uint64_t*)ptr, increment); + MemoryBarrier(); + return ret; +} + +inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 ret = NoBarrier_CompareAndSwap(ptr, old_value, new_value); + MemoryBarrier(); + return ret; +} + +inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + MemoryBarrier(); + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; + membar_producer(); +} + +inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { + membar_consumer(); + *ptr = value; +} + +inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { + return *ptr; +} + +inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { + Atomic64 ret = *ptr; + membar_consumer(); + return ret; +} + +inline Atomic64 Release_Load(volatile const Atomic64* ptr) { + membar_producer(); + return *ptr; +} +#endif + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_SPARC_GCC_H_ + diff --git a/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_tsan.h b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_tsan.h new file mode 100644 index 0000000..0c90354 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_tsan.h @@ -0,0 +1,219 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2013 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation for compiler-based +// ThreadSanitizer (http://clang.llvm.org/docs/ThreadSanitizer.html). +// Use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_TSAN_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_TSAN_H_ + +#define ATOMICOPS_COMPILER_BARRIER() __asm__ __volatile__("" : : : "memory") + +#include + +namespace google { +namespace protobuf { +namespace internal { + +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32 *ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 cmp = old_value; + __tsan_atomic32_compare_exchange_strong(ptr, &cmp, new_value, + __tsan_memory_order_relaxed, __tsan_memory_order_relaxed); + return cmp; +} + +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32 *ptr, + Atomic32 new_value) { + return __tsan_atomic32_exchange(ptr, new_value, + __tsan_memory_order_relaxed); +} + +inline Atomic32 Acquire_AtomicExchange(volatile Atomic32 *ptr, + Atomic32 new_value) { + return __tsan_atomic32_exchange(ptr, new_value, + __tsan_memory_order_acquire); +} + +inline Atomic32 Release_AtomicExchange(volatile Atomic32 *ptr, + Atomic32 new_value) { + return __tsan_atomic32_exchange(ptr, new_value, + __tsan_memory_order_release); +} + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32 *ptr, + Atomic32 increment) { + return increment + __tsan_atomic32_fetch_add(ptr, increment, + __tsan_memory_order_relaxed); +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32 *ptr, + Atomic32 increment) { + return increment + __tsan_atomic32_fetch_add(ptr, increment, + __tsan_memory_order_acq_rel); +} + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32 *ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 cmp = old_value; + __tsan_atomic32_compare_exchange_strong(ptr, &cmp, new_value, + __tsan_memory_order_acquire, __tsan_memory_order_acquire); + return cmp; +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32 *ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 cmp = old_value; + __tsan_atomic32_compare_exchange_strong(ptr, &cmp, new_value, + __tsan_memory_order_release, __tsan_memory_order_relaxed); + return cmp; +} + +inline void NoBarrier_Store(volatile Atomic32 *ptr, Atomic32 value) { + __tsan_atomic32_store(ptr, value, __tsan_memory_order_relaxed); +} + +inline void Acquire_Store(volatile Atomic32 *ptr, Atomic32 value) { + __tsan_atomic32_store(ptr, value, __tsan_memory_order_relaxed); + __tsan_atomic_thread_fence(__tsan_memory_order_seq_cst); +} + +inline void Release_Store(volatile Atomic32 *ptr, Atomic32 value) { + __tsan_atomic32_store(ptr, value, __tsan_memory_order_release); +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32 *ptr) { + return __tsan_atomic32_load(ptr, __tsan_memory_order_relaxed); +} + +inline Atomic32 Acquire_Load(volatile const Atomic32 *ptr) { + return __tsan_atomic32_load(ptr, __tsan_memory_order_acquire); +} + +inline Atomic32 Release_Load(volatile const Atomic32 *ptr) { + __tsan_atomic_thread_fence(__tsan_memory_order_seq_cst); + return __tsan_atomic32_load(ptr, __tsan_memory_order_relaxed); +} + +inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64 *ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 cmp = old_value; + __tsan_atomic64_compare_exchange_strong(ptr, &cmp, new_value, + __tsan_memory_order_relaxed, __tsan_memory_order_relaxed); + return cmp; +} + +inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64 *ptr, + Atomic64 new_value) { + return __tsan_atomic64_exchange(ptr, new_value, __tsan_memory_order_relaxed); +} + +inline Atomic64 Acquire_AtomicExchange(volatile Atomic64 *ptr, + Atomic64 new_value) { + return __tsan_atomic64_exchange(ptr, new_value, __tsan_memory_order_acquire); +} + +inline Atomic64 Release_AtomicExchange(volatile Atomic64 *ptr, + Atomic64 new_value) { + return __tsan_atomic64_exchange(ptr, new_value, __tsan_memory_order_release); +} + +inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64 *ptr, + Atomic64 increment) { + return increment + __tsan_atomic64_fetch_add(ptr, increment, + __tsan_memory_order_relaxed); +} + +inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64 *ptr, + Atomic64 increment) { + return increment + __tsan_atomic64_fetch_add(ptr, increment, + __tsan_memory_order_acq_rel); +} + +inline void NoBarrier_Store(volatile Atomic64 *ptr, Atomic64 value) { + __tsan_atomic64_store(ptr, value, __tsan_memory_order_relaxed); +} + +inline void Acquire_Store(volatile Atomic64 *ptr, Atomic64 value) { + __tsan_atomic64_store(ptr, value, __tsan_memory_order_relaxed); + __tsan_atomic_thread_fence(__tsan_memory_order_seq_cst); +} + +inline void Release_Store(volatile Atomic64 *ptr, Atomic64 value) { + __tsan_atomic64_store(ptr, value, __tsan_memory_order_release); +} + +inline Atomic64 NoBarrier_Load(volatile const Atomic64 *ptr) { + return __tsan_atomic64_load(ptr, __tsan_memory_order_relaxed); +} + +inline Atomic64 Acquire_Load(volatile const Atomic64 *ptr) { + return __tsan_atomic64_load(ptr, __tsan_memory_order_acquire); +} + +inline Atomic64 Release_Load(volatile const Atomic64 *ptr) { + __tsan_atomic_thread_fence(__tsan_memory_order_seq_cst); + return __tsan_atomic64_load(ptr, __tsan_memory_order_relaxed); +} + +inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64 *ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 cmp = old_value; + __tsan_atomic64_compare_exchange_strong(ptr, &cmp, new_value, + __tsan_memory_order_acquire, __tsan_memory_order_acquire); + return cmp; +} + +inline Atomic64 Release_CompareAndSwap(volatile Atomic64 *ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 cmp = old_value; + __tsan_atomic64_compare_exchange_strong(ptr, &cmp, new_value, + __tsan_memory_order_release, __tsan_memory_order_relaxed); + return cmp; +} + +inline void MemoryBarrier() { + __tsan_atomic_thread_fence(__tsan_memory_order_seq_cst); +} + +} // namespace internal +} // namespace protobuf +} // namespace google + +#undef ATOMICOPS_COMPILER_BARRIER + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_TSAN_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_x86_gcc.h b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_x86_gcc.h new file mode 100644 index 0000000..edccc59 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_x86_gcc.h @@ -0,0 +1,293 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_X86_GCC_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_X86_GCC_H_ + +namespace google { +namespace protobuf { +namespace internal { + +// This struct is not part of the public API of this module; clients may not +// use it. +// Features of this x86. Values may not be correct before main() is run, +// but are set conservatively. +struct AtomicOps_x86CPUFeatureStruct { + bool has_amd_lock_mb_bug; // Processor has AMD memory-barrier bug; do lfence + // after acquire compare-and-swap. + bool has_sse2; // Processor has SSE2. +}; +extern struct AtomicOps_x86CPUFeatureStruct AtomicOps_Internalx86CPUFeatures; + +#define ATOMICOPS_COMPILER_BARRIER() __asm__ __volatile__("" : : : "memory") + +// 32-bit low-level operations on any platform. + +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 prev; + __asm__ __volatile__("lock; cmpxchgl %1,%2" + : "=a" (prev) + : "q" (new_value), "m" (*ptr), "0" (old_value) + : "memory"); + return prev; +} + +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, + Atomic32 new_value) { + __asm__ __volatile__("xchgl %1,%0" // The lock prefix is implicit for xchg. + : "=r" (new_value) + : "m" (*ptr), "0" (new_value) + : "memory"); + return new_value; // Now it's the previous value. +} + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + Atomic32 temp = increment; + __asm__ __volatile__("lock; xaddl %0,%1" + : "+r" (temp), "+m" (*ptr) + : : "memory"); + // temp now holds the old value of *ptr + return temp + increment; +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + Atomic32 temp = increment; + __asm__ __volatile__("lock; xaddl %0,%1" + : "+r" (temp), "+m" (*ptr) + : : "memory"); + // temp now holds the old value of *ptr + if (AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) { + __asm__ __volatile__("lfence" : : : "memory"); + } + return temp + increment; +} + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 x = NoBarrier_CompareAndSwap(ptr, old_value, new_value); + if (AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) { + __asm__ __volatile__("lfence" : : : "memory"); + } + return x; +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; +} + +#if defined(__x86_64__) + +// 64-bit implementations of memory barrier can be simpler, because it +// "mfence" is guaranteed to exist. +inline void MemoryBarrier() { + __asm__ __volatile__("mfence" : : : "memory"); +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; + MemoryBarrier(); +} + +#else + +inline void MemoryBarrier() { + if (AtomicOps_Internalx86CPUFeatures.has_sse2) { + __asm__ __volatile__("mfence" : : : "memory"); + } else { // mfence is faster but not present on PIII + Atomic32 x = 0; + NoBarrier_AtomicExchange(&x, 0); // acts as a barrier on PIII + } +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + if (AtomicOps_Internalx86CPUFeatures.has_sse2) { + *ptr = value; + __asm__ __volatile__("mfence" : : : "memory"); + } else { + NoBarrier_AtomicExchange(ptr, value); + // acts as a barrier on PIII + } +} +#endif + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + ATOMICOPS_COMPILER_BARRIER(); + *ptr = value; // An x86 store acts as a release barrier. + // See comments in Atomic64 version of Release_Store(), below. +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return *ptr; +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + Atomic32 value = *ptr; // An x86 load acts as a acquire barrier. + // See comments in Atomic64 version of Release_Store(), below. + ATOMICOPS_COMPILER_BARRIER(); + return value; +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + MemoryBarrier(); + return *ptr; +} + +#if defined(__x86_64__) + +// 64-bit low-level operations on 64-bit platform. + +inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 prev; + __asm__ __volatile__("lock; cmpxchgq %1,%2" + : "=a" (prev) + : "q" (new_value), "m" (*ptr), "0" (old_value) + : "memory"); + return prev; +} + +inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, + Atomic64 new_value) { + __asm__ __volatile__("xchgq %1,%0" // The lock prefix is implicit for xchg. + : "=r" (new_value) + : "m" (*ptr), "0" (new_value) + : "memory"); + return new_value; // Now it's the previous value. +} + +inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + Atomic64 temp = increment; + __asm__ __volatile__("lock; xaddq %0,%1" + : "+r" (temp), "+m" (*ptr) + : : "memory"); + // temp now contains the previous value of *ptr + return temp + increment; +} + +inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + Atomic64 temp = increment; + __asm__ __volatile__("lock; xaddq %0,%1" + : "+r" (temp), "+m" (*ptr) + : : "memory"); + // temp now contains the previous value of *ptr + if (AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) { + __asm__ __volatile__("lfence" : : : "memory"); + } + return temp + increment; +} + +inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { + ATOMICOPS_COMPILER_BARRIER(); + + *ptr = value; // An x86 store acts as a release barrier + // for current AMD/Intel chips as of Jan 2008. + // See also Acquire_Load(), below. + + // When new chips come out, check: + // IA-32 Intel Architecture Software Developer's Manual, Volume 3: + // System Programming Guide, Chatper 7: Multiple-processor management, + // Section 7.2, Memory Ordering. + // Last seen at: + // http://developer.intel.com/design/pentium4/manuals/index_new.htm + // + // x86 stores/loads fail to act as barriers for a few instructions (clflush + // maskmovdqu maskmovq movntdq movnti movntpd movntps movntq) but these are + // not generated by the compiler, and are rare. Users of these instructions + // need to know about cache behaviour in any case since all of these involve + // either flushing cache lines or non-temporal cache hints. +} + +inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { + return *ptr; +} + +inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { + Atomic64 value = *ptr; // An x86 load acts as a acquire barrier, + // for current AMD/Intel chips as of Jan 2008. + // See also Release_Store(), above. + ATOMICOPS_COMPILER_BARRIER(); + return value; +} + +inline Atomic64 Release_Load(volatile const Atomic64* ptr) { + MemoryBarrier(); + return *ptr; +} + +inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 x = NoBarrier_CompareAndSwap(ptr, old_value, new_value); + if (AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) { + __asm__ __volatile__("lfence" : : : "memory"); + } + return x; +} + +inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +#endif // defined(__x86_64__) + +} // namespace internal +} // namespace protobuf +} // namespace google + +#undef ATOMICOPS_COMPILER_BARRIER + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_X86_GCC_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_x86_msvc.h b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_x86_msvc.h new file mode 100644 index 0000000..e53a641 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/atomicops_internals_x86_msvc.h @@ -0,0 +1,150 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_X86_MSVC_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_X86_MSVC_H_ + +namespace google { +namespace protobuf { +namespace internal { + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return Barrier_AtomicIncrement(ptr, increment); +} + +#if !(defined(_MSC_VER) && _MSC_VER >= 1400) +#error "We require at least vs2005 for MemoryBarrier" +#endif + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + NoBarrier_AtomicExchange(ptr, value); + // acts as a barrier in this implementation +} + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; // works w/o barrier for current Intel chips as of June 2005 + // See comments in Atomic64 version of Release_Store() below. +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return *ptr; +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + Atomic32 value = *ptr; + return value; +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + MemoryBarrier(); + return *ptr; +} + +#if defined(_WIN64) + +// 64-bit low-level operations on 64-bit platform. + +inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + return Barrier_AtomicIncrement(ptr, increment); +} + +inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) { + NoBarrier_AtomicExchange(ptr, value); + // acts as a barrier in this implementation +} + +inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; // works w/o barrier for current Intel chips as of June 2005 + + // When new chips come out, check: + // IA-32 Intel Architecture Software Developer's Manual, Volume 3: + // System Programming Guide, Chatper 7: Multiple-processor management, + // Section 7.2, Memory Ordering. + // Last seen at: + // http://developer.intel.com/design/pentium4/manuals/index_new.htm +} + +inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { + return *ptr; +} + +inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { + Atomic64 value = *ptr; + return value; +} + +inline Atomic64 Release_Load(volatile const Atomic64* ptr) { + MemoryBarrier(); + return *ptr; +} + +inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +#endif // defined(_WIN64) + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_X86_MSVC_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/bytestream.h b/app/src/main/cpp/include/google/protobuf/stubs/bytestream.h new file mode 100644 index 0000000..07604e1 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/bytestream.h @@ -0,0 +1,348 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file declares the ByteSink and ByteSource abstract interfaces. These +// interfaces represent objects that consume (ByteSink) or produce (ByteSource) +// a sequence of bytes. Using these abstract interfaces in your APIs can help +// make your code work with a variety of input and output types. +// +// This file also declares the following commonly used implementations of these +// interfaces. +// +// ByteSink: +// UncheckedArrayByteSink Writes to an array, without bounds checking +// CheckedArrayByteSink Writes to an array, with bounds checking +// GrowingArrayByteSink Allocates and writes to a growable buffer +// StringByteSink Writes to an STL string +// NullByteSink Consumes a never-ending stream of bytes +// +// ByteSource: +// ArrayByteSource Reads from an array or string/StringPiece +// LimitedByteSource Limits the number of bytes read from an + +#ifndef GOOGLE_PROTOBUF_STUBS_BYTESTREAM_H_ +#define GOOGLE_PROTOBUF_STUBS_BYTESTREAM_H_ + +#include +#include + +#include +#include + +class CordByteSink; +class MemBlock; + +namespace google { +namespace protobuf { +namespace strings { + +// An abstract interface for an object that consumes a sequence of bytes. This +// interface offers 3 different ways to append data, and a Flush() function. +// +// Example: +// +// string my_data; +// ... +// ByteSink* sink = ... +// sink->Append(my_data.data(), my_data.size()); +// sink->Flush(); +// +class LIBPROTOBUF_EXPORT ByteSink { + public: + ByteSink() {} + virtual ~ByteSink() {} + + // Appends the "n" bytes starting at "bytes". + virtual void Append(const char* bytes, size_t n) = 0; + + // Flushes internal buffers. The default implemenation does nothing. ByteSink + // subclasses may use internal buffers that require calling Flush() at the end + // of the stream. + virtual void Flush(); + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ByteSink); +}; + +// An abstract interface for an object that produces a fixed-size sequence of +// bytes. +// +// Example: +// +// ByteSource* source = ... +// while (source->Available() > 0) { +// StringPiece data = source->Peek(); +// ... do something with "data" ... +// source->Skip(data.length()); +// } +// +class LIBPROTOBUF_EXPORT ByteSource { + public: + ByteSource() {} + virtual ~ByteSource() {} + + // Returns the number of bytes left to read from the source. Available() + // should decrease by N each time Skip(N) is called. Available() may not + // increase. Available() returning 0 indicates that the ByteSource is + // exhausted. + // + // Note: Size() may have been a more appropriate name as it's more + // indicative of the fixed-size nature of a ByteSource. + virtual size_t Available() const = 0; + + // Returns a StringPiece of the next contiguous region of the source. Does not + // reposition the source. The returned region is empty iff Available() == 0. + // + // The returned region is valid until the next call to Skip() or until this + // object is destroyed, whichever occurs first. + // + // The length of the returned StringPiece will be <= Available(). + virtual StringPiece Peek() = 0; + + // Skips the next n bytes. Invalidates any StringPiece returned by a previous + // call to Peek(). + // + // REQUIRES: Available() >= n + virtual void Skip(size_t n) = 0; + + // Writes the next n bytes in this ByteSource to the given ByteSink, and + // advances this ByteSource past the copied bytes. The default implementation + // of this method just copies the bytes normally, but subclasses might + // override CopyTo to optimize certain cases. + // + // REQUIRES: Available() >= n + virtual void CopyTo(ByteSink* sink, size_t n); + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ByteSource); +}; + +// +// Some commonly used implementations of ByteSink +// + +// Implementation of ByteSink that writes to an unsized byte array. No +// bounds-checking is performed--it is the caller's responsibility to ensure +// that the destination array is large enough. +// +// Example: +// +// char buf[10]; +// UncheckedArrayByteSink sink(buf); +// sink.Append("hi", 2); // OK +// sink.Append(data, 100); // WOOPS! Overflows buf[10]. +// +class LIBPROTOBUF_EXPORT UncheckedArrayByteSink : public ByteSink { + public: + explicit UncheckedArrayByteSink(char* dest) : dest_(dest) {} + virtual void Append(const char* data, size_t n); + + // Returns the current output pointer so that a caller can see how many bytes + // were produced. + // + // Note: this method is not part of the ByteSink interface. + char* CurrentDestination() const { return dest_; } + + private: + char* dest_; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(UncheckedArrayByteSink); +}; + +// Implementation of ByteSink that writes to a sized byte array. This sink will +// not write more than "capacity" bytes to outbuf. Once "capacity" bytes are +// appended, subsequent bytes will be ignored and Overflowed() will return true. +// Overflowed() does not cause a runtime error (i.e., it does not CHECK fail). +// +// Example: +// +// char buf[10]; +// CheckedArrayByteSink sink(buf, 10); +// sink.Append("hi", 2); // OK +// sink.Append(data, 100); // Will only write 8 more bytes +// +class LIBPROTOBUF_EXPORT CheckedArrayByteSink : public ByteSink { + public: + CheckedArrayByteSink(char* outbuf, size_t capacity); + virtual void Append(const char* bytes, size_t n); + + // Returns the number of bytes actually written to the sink. + size_t NumberOfBytesWritten() const { return size_; } + + // Returns true if any bytes were discarded, i.e., if there was an + // attempt to write more than 'capacity' bytes. + bool Overflowed() const { return overflowed_; } + + private: + char* outbuf_; + const size_t capacity_; + size_t size_; + bool overflowed_; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CheckedArrayByteSink); +}; + +// Implementation of ByteSink that allocates an internal buffer (a char array) +// and expands it as needed to accommodate appended data (similar to a string), +// and allows the caller to take ownership of the internal buffer via the +// GetBuffer() method. The buffer returned from GetBuffer() must be deleted by +// the caller with delete[]. GetBuffer() also sets the internal buffer to be +// empty, and subsequent appends to the sink will create a new buffer. The +// destructor will free the internal buffer if GetBuffer() was not called. +// +// Example: +// +// GrowingArrayByteSink sink(10); +// sink.Append("hi", 2); +// sink.Append(data, n); +// const char* buf = sink.GetBuffer(); // Ownership transferred +// delete[] buf; +// +class LIBPROTOBUF_EXPORT GrowingArrayByteSink : public strings::ByteSink { + public: + explicit GrowingArrayByteSink(size_t estimated_size); + virtual ~GrowingArrayByteSink(); + virtual void Append(const char* bytes, size_t n); + + // Returns the allocated buffer, and sets nbytes to its size. The caller takes + // ownership of the buffer and must delete it with delete[]. + char* GetBuffer(size_t* nbytes); + + private: + void Expand(size_t amount); + void ShrinkToFit(); + + size_t capacity_; + char* buf_; + size_t size_; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(GrowingArrayByteSink); +}; + +// Implementation of ByteSink that appends to the given string. +// Existing contents of "dest" are not modified; new data is appended. +// +// Example: +// +// string dest = "Hello "; +// StringByteSink sink(&dest); +// sink.Append("World", 5); +// assert(dest == "Hello World"); +// +class LIBPROTOBUF_EXPORT StringByteSink : public ByteSink { + public: + explicit StringByteSink(string* dest) : dest_(dest) {} + virtual void Append(const char* data, size_t n); + + private: + string* dest_; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringByteSink); +}; + +// Implementation of ByteSink that discards all data. +// +// Example: +// +// NullByteSink sink; +// sink.Append(data, data.size()); // All data ignored. +// +class LIBPROTOBUF_EXPORT NullByteSink : public ByteSink { + public: + NullByteSink() {} + virtual void Append(const char *data, size_t n) {} + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(NullByteSink); +}; + +// +// Some commonly used implementations of ByteSource +// + +// Implementation of ByteSource that reads from a StringPiece. +// +// Example: +// +// string data = "Hello"; +// ArrayByteSource source(data); +// assert(source.Available() == 5); +// assert(source.Peek() == "Hello"); +// +class LIBPROTOBUF_EXPORT ArrayByteSource : public ByteSource { + public: + explicit ArrayByteSource(StringPiece s) : input_(s) {} + + virtual size_t Available() const; + virtual StringPiece Peek(); + virtual void Skip(size_t n); + + private: + StringPiece input_; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ArrayByteSource); +}; + +// Implementation of ByteSource that wraps another ByteSource, limiting the +// number of bytes returned. +// +// The caller maintains ownership of the underlying source, and may not use the +// underlying source while using the LimitByteSource object. The underlying +// source's pointer is advanced by n bytes every time this LimitByteSource +// object is advanced by n. +// +// Example: +// +// string data = "Hello World"; +// ArrayByteSource abs(data); +// assert(abs.Available() == data.size()); +// +// LimitByteSource limit(abs, 5); +// assert(limit.Available() == 5); +// assert(limit.Peek() == "Hello"); +// +class LIBPROTOBUF_EXPORT LimitByteSource : public ByteSource { + public: + // Returns at most "limit" bytes from "source". + LimitByteSource(ByteSource* source, size_t limit); + + virtual size_t Available() const; + virtual StringPiece Peek(); + virtual void Skip(size_t n); + + // We override CopyTo so that we can forward to the underlying source, in + // case it has an efficient implementation of CopyTo. + virtual void CopyTo(ByteSink* sink, size_t n); + + private: + ByteSource* source_; + size_t limit_; +}; + +} // namespace strings +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_BYTESTREAM_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/callback.h b/app/src/main/cpp/include/google/protobuf/stubs/callback.h new file mode 100644 index 0000000..bbd507a --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/callback.h @@ -0,0 +1,546 @@ +#ifndef GOOGLE_PROTOBUF_STUBS_CALLBACK_H_ +#define GOOGLE_PROTOBUF_STUBS_CALLBACK_H_ + +#include +#include + +// =================================================================== +// emulates google3/base/callback.h + +namespace google { +namespace protobuf { + +// Abstract interface for a callback. When calling an RPC, you must provide +// a Closure to call when the procedure completes. See the Service interface +// in service.h. +// +// To automatically construct a Closure which calls a particular function or +// method with a particular set of parameters, use the NewCallback() function. +// Example: +// void FooDone(const FooResponse* response) { +// ... +// } +// +// void CallFoo() { +// ... +// // When done, call FooDone() and pass it a pointer to the response. +// Closure* callback = NewCallback(&FooDone, response); +// // Make the call. +// service->Foo(controller, request, response, callback); +// } +// +// Example that calls a method: +// class Handler { +// public: +// ... +// +// void FooDone(const FooResponse* response) { +// ... +// } +// +// void CallFoo() { +// ... +// // When done, call FooDone() and pass it a pointer to the response. +// Closure* callback = NewCallback(this, &Handler::FooDone, response); +// // Make the call. +// service->Foo(controller, request, response, callback); +// } +// }; +// +// Currently NewCallback() supports binding zero, one, or two arguments. +// +// Callbacks created with NewCallback() automatically delete themselves when +// executed. They should be used when a callback is to be called exactly +// once (usually the case with RPC callbacks). If a callback may be called +// a different number of times (including zero), create it with +// NewPermanentCallback() instead. You are then responsible for deleting the +// callback (using the "delete" keyword as normal). +// +// Note that NewCallback() is a bit touchy regarding argument types. Generally, +// the values you provide for the parameter bindings must exactly match the +// types accepted by the callback function. For example: +// void Foo(string s); +// NewCallback(&Foo, "foo"); // WON'T WORK: const char* != string +// NewCallback(&Foo, string("foo")); // WORKS +// Also note that the arguments cannot be references: +// void Foo(const string& s); +// string my_str; +// NewCallback(&Foo, my_str); // WON'T WORK: Can't use referecnes. +// However, correctly-typed pointers will work just fine. +class LIBPROTOBUF_EXPORT Closure { + public: + Closure() {} + virtual ~Closure(); + + virtual void Run() = 0; + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(Closure); +}; + +template +class ResultCallback { + public: + ResultCallback() {} + virtual ~ResultCallback() {} + + virtual R Run() = 0; + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ResultCallback); +}; + +template +class LIBPROTOBUF_EXPORT ResultCallback1 { + public: + ResultCallback1() {} + virtual ~ResultCallback1() {} + + virtual R Run(A1) = 0; + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ResultCallback1); +}; + +template +class LIBPROTOBUF_EXPORT ResultCallback2 { + public: + ResultCallback2() {} + virtual ~ResultCallback2() {} + + virtual R Run(A1,A2) = 0; + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ResultCallback2); +}; + +namespace internal { + +class LIBPROTOBUF_EXPORT FunctionClosure0 : public Closure { + public: + typedef void (*FunctionType)(); + + FunctionClosure0(FunctionType function, bool self_deleting) + : function_(function), self_deleting_(self_deleting) {} + ~FunctionClosure0(); + + void Run() { + bool needs_delete = self_deleting_; // read in case callback deletes + function_(); + if (needs_delete) delete this; + } + + private: + FunctionType function_; + bool self_deleting_; +}; + +template +class MethodClosure0 : public Closure { + public: + typedef void (Class::*MethodType)(); + + MethodClosure0(Class* object, MethodType method, bool self_deleting) + : object_(object), method_(method), self_deleting_(self_deleting) {} + ~MethodClosure0() {} + + void Run() { + bool needs_delete = self_deleting_; // read in case callback deletes + (object_->*method_)(); + if (needs_delete) delete this; + } + + private: + Class* object_; + MethodType method_; + bool self_deleting_; +}; + +template +class FunctionClosure1 : public Closure { + public: + typedef void (*FunctionType)(Arg1 arg1); + + FunctionClosure1(FunctionType function, bool self_deleting, + Arg1 arg1) + : function_(function), self_deleting_(self_deleting), + arg1_(arg1) {} + ~FunctionClosure1() {} + + void Run() { + bool needs_delete = self_deleting_; // read in case callback deletes + function_(arg1_); + if (needs_delete) delete this; + } + + private: + FunctionType function_; + bool self_deleting_; + Arg1 arg1_; +}; + +template +class MethodClosure1 : public Closure { + public: + typedef void (Class::*MethodType)(Arg1 arg1); + + MethodClosure1(Class* object, MethodType method, bool self_deleting, + Arg1 arg1) + : object_(object), method_(method), self_deleting_(self_deleting), + arg1_(arg1) {} + ~MethodClosure1() {} + + void Run() { + bool needs_delete = self_deleting_; // read in case callback deletes + (object_->*method_)(arg1_); + if (needs_delete) delete this; + } + + private: + Class* object_; + MethodType method_; + bool self_deleting_; + Arg1 arg1_; +}; + +template +class FunctionClosure2 : public Closure { + public: + typedef void (*FunctionType)(Arg1 arg1, Arg2 arg2); + + FunctionClosure2(FunctionType function, bool self_deleting, + Arg1 arg1, Arg2 arg2) + : function_(function), self_deleting_(self_deleting), + arg1_(arg1), arg2_(arg2) {} + ~FunctionClosure2() {} + + void Run() { + bool needs_delete = self_deleting_; // read in case callback deletes + function_(arg1_, arg2_); + if (needs_delete) delete this; + } + + private: + FunctionType function_; + bool self_deleting_; + Arg1 arg1_; + Arg2 arg2_; +}; + +template +class MethodClosure2 : public Closure { + public: + typedef void (Class::*MethodType)(Arg1 arg1, Arg2 arg2); + + MethodClosure2(Class* object, MethodType method, bool self_deleting, + Arg1 arg1, Arg2 arg2) + : object_(object), method_(method), self_deleting_(self_deleting), + arg1_(arg1), arg2_(arg2) {} + ~MethodClosure2() {} + + void Run() { + bool needs_delete = self_deleting_; // read in case callback deletes + (object_->*method_)(arg1_, arg2_); + if (needs_delete) delete this; + } + + private: + Class* object_; + MethodType method_; + bool self_deleting_; + Arg1 arg1_; + Arg2 arg2_; +}; + +template +class FunctionResultCallback_0_0 : public ResultCallback { + public: + typedef R (*FunctionType)(); + + FunctionResultCallback_0_0(FunctionType function, bool self_deleting) + : function_(function), self_deleting_(self_deleting) {} + ~FunctionResultCallback_0_0() {} + + R Run() { + bool needs_delete = self_deleting_; // read in case callback deletes + R result = function_(); + if (needs_delete) delete this; + return result; + } + + private: + FunctionType function_; + bool self_deleting_; +}; + +template +class FunctionResultCallback_1_0 : public ResultCallback { + public: + typedef R (*FunctionType)(P1); + + FunctionResultCallback_1_0(FunctionType function, bool self_deleting, + P1 p1) + : function_(function), self_deleting_(self_deleting), p1_(p1) {} + ~FunctionResultCallback_1_0() {} + + R Run() { + bool needs_delete = self_deleting_; // read in case callback deletes + R result = function_(p1_); + if (needs_delete) delete this; + return result; + } + + private: + FunctionType function_; + bool self_deleting_; + P1 p1_; +}; + +template +class FunctionResultCallback_0_1 : public ResultCallback1 { + public: + typedef R (*FunctionType)(Arg1 arg1); + + FunctionResultCallback_0_1(FunctionType function, bool self_deleting) + : function_(function), self_deleting_(self_deleting) {} + ~FunctionResultCallback_0_1() {} + + R Run(Arg1 a1) { + bool needs_delete = self_deleting_; // read in case callback deletes + R result = function_(a1); + if (needs_delete) delete this; + return result; + } + + private: + FunctionType function_; + bool self_deleting_; +}; + +template +class FunctionResultCallback_1_1 : public ResultCallback1 { + public: + typedef R (*FunctionType)(P1, A1); + + FunctionResultCallback_1_1(FunctionType function, bool self_deleting, + P1 p1) + : function_(function), self_deleting_(self_deleting), p1_(p1) {} + ~FunctionResultCallback_1_1() {} + + R Run(A1 a1) { + bool needs_delete = self_deleting_; // read in case callback deletes + R result = function_(p1_, a1); + if (needs_delete) delete this; + return result; + } + + private: + FunctionType function_; + bool self_deleting_; + P1 p1_; +}; + +template +struct InternalConstRef { + typedef typename remove_reference::type base_type; + typedef const base_type& type; +}; + +template +class MethodResultCallback_5_2 : public ResultCallback2 { + public: + typedef R (T::*MethodType)(P1, P2, P3, P4, P5, A1, A2); + MethodResultCallback_5_2(T* object, MethodType method, bool self_deleting, + P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) + : object_(object), + method_(method), + self_deleting_(self_deleting), + p1_(p1), + p2_(p2), + p3_(p3), + p4_(p4), + p5_(p5) {} + ~MethodResultCallback_5_2() {} + + R Run(A1 a1, A2 a2) { + bool needs_delete = self_deleting_; + R result = (object_->*method_)(p1_, p2_, p3_, p4_, p5_, a1, a2); + if (needs_delete) delete this; + return result; + } + + private: + T* object_; + MethodType method_; + bool self_deleting_; + typename remove_reference::type p1_; + typename remove_reference::type p2_; + typename remove_reference::type p3_; + typename remove_reference::type p4_; + typename remove_reference::type p5_; +}; + +} // namespace internal + +// See Closure. +inline Closure* NewCallback(void (*function)()) { + return new internal::FunctionClosure0(function, true); +} + +// See Closure. +inline Closure* NewPermanentCallback(void (*function)()) { + return new internal::FunctionClosure0(function, false); +} + +// See Closure. +template +inline Closure* NewCallback(Class* object, void (Class::*method)()) { + return new internal::MethodClosure0(object, method, true); +} + +// See Closure. +template +inline Closure* NewPermanentCallback(Class* object, void (Class::*method)()) { + return new internal::MethodClosure0(object, method, false); +} + +// See Closure. +template +inline Closure* NewCallback(void (*function)(Arg1), + Arg1 arg1) { + return new internal::FunctionClosure1(function, true, arg1); +} + +// See Closure. +template +inline Closure* NewPermanentCallback(void (*function)(Arg1), + Arg1 arg1) { + return new internal::FunctionClosure1(function, false, arg1); +} + +// See Closure. +template +inline Closure* NewCallback(Class* object, void (Class::*method)(Arg1), + Arg1 arg1) { + return new internal::MethodClosure1(object, method, true, arg1); +} + +// See Closure. +template +inline Closure* NewPermanentCallback(Class* object, void (Class::*method)(Arg1), + Arg1 arg1) { + return new internal::MethodClosure1(object, method, false, arg1); +} + +// See Closure. +template +inline Closure* NewCallback(void (*function)(Arg1, Arg2), + Arg1 arg1, Arg2 arg2) { + return new internal::FunctionClosure2( + function, true, arg1, arg2); +} + +// See Closure. +template +inline Closure* NewPermanentCallback(void (*function)(Arg1, Arg2), + Arg1 arg1, Arg2 arg2) { + return new internal::FunctionClosure2( + function, false, arg1, arg2); +} + +// See Closure. +template +inline Closure* NewCallback(Class* object, void (Class::*method)(Arg1, Arg2), + Arg1 arg1, Arg2 arg2) { + return new internal::MethodClosure2( + object, method, true, arg1, arg2); +} + +// See Closure. +template +inline Closure* NewPermanentCallback( + Class* object, void (Class::*method)(Arg1, Arg2), + Arg1 arg1, Arg2 arg2) { + return new internal::MethodClosure2( + object, method, false, arg1, arg2); +} + +// See ResultCallback +template +inline ResultCallback* NewCallback(R (*function)()) { + return new internal::FunctionResultCallback_0_0(function, true); +} + +// See ResultCallback +template +inline ResultCallback* NewPermanentCallback(R (*function)()) { + return new internal::FunctionResultCallback_0_0(function, false); +} + +// See ResultCallback +template +inline ResultCallback* NewCallback(R (*function)(P1), P1 p1) { + return new internal::FunctionResultCallback_1_0( + function, true, p1); +} + +// See ResultCallback +template +inline ResultCallback* NewPermanentCallback( + R (*function)(P1), P1 p1) { + return new internal::FunctionResultCallback_1_0( + function, false, p1); +} + +// See ResultCallback1 +template +inline ResultCallback1* NewCallback(R (*function)(A1)) { + return new internal::FunctionResultCallback_0_1(function, true); +} + +// See ResultCallback1 +template +inline ResultCallback1* NewPermanentCallback(R (*function)(A1)) { + return new internal::FunctionResultCallback_0_1(function, false); +} + +// See ResultCallback1 +template +inline ResultCallback1* NewCallback(R (*function)(P1, A1), P1 p1) { + return new internal::FunctionResultCallback_1_1( + function, true, p1); +} + +// See ResultCallback1 +template +inline ResultCallback1* NewPermanentCallback( + R (*function)(P1, A1), P1 p1) { + return new internal::FunctionResultCallback_1_1( + function, false, p1); +} + +// See MethodResultCallback_5_2 +template +inline ResultCallback2* NewPermanentCallback( + T* object, R (T::*function)(P1, P2, P3, P4, P5, A1, A2), + typename internal::InternalConstRef::type p1, + typename internal::InternalConstRef::type p2, + typename internal::InternalConstRef::type p3, + typename internal::InternalConstRef::type p4, + typename internal::InternalConstRef::type p5) { + return new internal::MethodResultCallback_5_2(object, function, false, p1, + p2, p3, p4, p5); +} + +// A function which does nothing. Useful for creating no-op callbacks, e.g.: +// Closure* nothing = NewCallback(&DoNothing); +void LIBPROTOBUF_EXPORT DoNothing(); + + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_CALLBACK_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/casts.h b/app/src/main/cpp/include/google/protobuf/stubs/casts.h new file mode 100644 index 0000000..be65284 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/casts.h @@ -0,0 +1,133 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2014 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_CASTS_H__ +#define GOOGLE_PROTOBUF_CASTS_H__ + +#include +#include + +namespace google { +namespace protobuf { +namespace internal { +// Use implicit_cast as a safe version of static_cast or const_cast +// for upcasting in the type hierarchy (i.e. casting a pointer to Foo +// to a pointer to SuperclassOfFoo or casting a pointer to Foo to +// a const pointer to Foo). +// When you use implicit_cast, the compiler checks that the cast is safe. +// Such explicit implicit_casts are necessary in surprisingly many +// situations where C++ demands an exact type match instead of an +// argument type convertable to a target type. +// +// The From type can be inferred, so the preferred syntax for using +// implicit_cast is the same as for static_cast etc.: +// +// implicit_cast(expr) +// +// implicit_cast would have been part of the C++ standard library, +// but the proposal was submitted too late. It will probably make +// its way into the language in the future. +template +inline To implicit_cast(From const &f) { + return f; +} + +// When you upcast (that is, cast a pointer from type Foo to type +// SuperclassOfFoo), it's fine to use implicit_cast<>, since upcasts +// always succeed. When you downcast (that is, cast a pointer from +// type Foo to type SubclassOfFoo), static_cast<> isn't safe, because +// how do you know the pointer is really of type SubclassOfFoo? It +// could be a bare Foo, or of type DifferentSubclassOfFoo. Thus, +// when you downcast, you should use this macro. In debug mode, we +// use dynamic_cast<> to double-check the downcast is legal (we die +// if it's not). In normal mode, we do the efficient static_cast<> +// instead. Thus, it's important to test in debug mode to make sure +// the cast is legal! +// This is the only place in the code we should use dynamic_cast<>. +// In particular, you SHOULDN'T be using dynamic_cast<> in order to +// do RTTI (eg code like this: +// if (dynamic_cast(foo)) HandleASubclass1Object(foo); +// if (dynamic_cast(foo)) HandleASubclass2Object(foo); +// You should design the code some other way not to need this. + +template // use like this: down_cast(foo); +inline To down_cast(From* f) { // so we only accept pointers + // Ensures that To is a sub-type of From *. This test is here only + // for compile-time type checking, and has no overhead in an + // optimized build at run-time, as it will be optimized away + // completely. + if (false) { + implicit_cast(0); + } + +#if !defined(NDEBUG) && !defined(GOOGLE_PROTOBUF_NO_RTTI) + assert(f == NULL || dynamic_cast(f) != NULL); // RTTI: debug mode only! +#endif + return static_cast(f); +} + +template // use like this: down_cast(foo); +inline To down_cast(From& f) { + typedef typename remove_reference::type* ToAsPointer; + // Ensures that To is a sub-type of From *. This test is here only + // for compile-time type checking, and has no overhead in an + // optimized build at run-time, as it will be optimized away + // completely. + if (false) { + implicit_cast(0); + } + +#if !defined(NDEBUG) && !defined(GOOGLE_PROTOBUF_NO_RTTI) + // RTTI: debug mode only! + assert(dynamic_cast(&f) != NULL); +#endif + return *static_cast(&f); +} + +template +inline To bit_cast(const From& from) { + GOOGLE_COMPILE_ASSERT(sizeof(From) == sizeof(To), + bit_cast_with_different_sizes); + To dest; + memcpy(&dest, &from, sizeof(dest)); + return dest; +} + +} // namespace internal + +// We made these internal so that they would show up as such in the docs, +// but we don't want to stick "internal::" in front of them everywhere. +using internal::implicit_cast; +using internal::down_cast; +using internal::bit_cast; + +} // namespace protobuf +} // namespace google +#endif // GOOGLE_PROTOBUF_CASTS_H__ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/common.h b/app/src/main/cpp/include/google/protobuf/stubs/common.h new file mode 100644 index 0000000..43e88ff --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/common.h @@ -0,0 +1,225 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) and others +// +// Contains basic types and utilities used by the rest of the library. + +#ifndef GOOGLE_PROTOBUF_COMMON_H__ +#define GOOGLE_PROTOBUF_COMMON_H__ + +#include + +#include +#include +#include + +// TODO(liujisi): Remove the following includes after the include clean-up. +#include +#include +#include +#include + +#ifndef PROTOBUF_USE_EXCEPTIONS +#if defined(_MSC_VER) && defined(_CPPUNWIND) + #define PROTOBUF_USE_EXCEPTIONS 1 +#elif defined(__EXCEPTIONS) + #define PROTOBUF_USE_EXCEPTIONS 1 +#else + #define PROTOBUF_USE_EXCEPTIONS 0 +#endif +#endif + +#if PROTOBUF_USE_EXCEPTIONS +#include +#endif +#if defined(__APPLE__) +#include // for TARGET_OS_IPHONE +#endif + +#if defined(__ANDROID__) || defined(GOOGLE_PROTOBUF_OS_ANDROID) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(GOOGLE_PROTOBUF_OS_IPHONE) +#include +#endif + +#if defined(_WIN32) && defined(GetMessage) +// Allow GetMessage to be used as a valid method name in protobuf classes. +// windows.h defines GetMessage() as a macro. Let's re-define it as an inline +// function. The inline function should be equivalent for C++ users. +inline BOOL GetMessage_Win32( + LPMSG lpMsg, HWND hWnd, + UINT wMsgFilterMin, UINT wMsgFilterMax) { + return GetMessage(lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax); +} +#undef GetMessage +inline BOOL GetMessage( + LPMSG lpMsg, HWND hWnd, + UINT wMsgFilterMin, UINT wMsgFilterMax) { + return GetMessage_Win32(lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax); +} +#endif + +namespace std {} + +namespace google { +namespace protobuf { +namespace internal { + +// Some of these constants are macros rather than const ints so that they can +// be used in #if directives. + +// The current version, represented as a single integer to make comparison +// easier: major * 10^6 + minor * 10^3 + micro +#define GOOGLE_PROTOBUF_VERSION 3001000 + +// The minimum library version which works with the current version of the +// headers. +#define GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION 3001000 + +// The minimum header version which works with the current version of +// the library. This constant should only be used by protoc's C++ code +// generator. +static const int kMinHeaderVersionForLibrary = 3001000; + +// The minimum protoc version which works with the current version of the +// headers. +#define GOOGLE_PROTOBUF_MIN_PROTOC_VERSION 3001000 + +// The minimum header version which works with the current version of +// protoc. This constant should only be used in VerifyVersion(). +static const int kMinHeaderVersionForProtoc = 3001000; + +// Verifies that the headers and libraries are compatible. Use the macro +// below to call this. +void LIBPROTOBUF_EXPORT VerifyVersion(int headerVersion, int minLibraryVersion, + const char* filename); + +// Converts a numeric version number to a string. +std::string LIBPROTOBUF_EXPORT VersionString(int version); + +} // namespace internal + +// Place this macro in your main() function (or somewhere before you attempt +// to use the protobuf library) to verify that the version you link against +// matches the headers you compiled against. If a version mismatch is +// detected, the process will abort. +#define GOOGLE_PROTOBUF_VERIFY_VERSION \ + ::google::protobuf::internal::VerifyVersion( \ + GOOGLE_PROTOBUF_VERSION, GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION, \ + __FILE__) + + +// =================================================================== +// from google3/util/utf8/public/unilib.h + +class StringPiece; +namespace internal { + +// Checks if the buffer contains structurally-valid UTF-8. Implemented in +// structurally_valid.cc. +LIBPROTOBUF_EXPORT bool IsStructurallyValidUTF8(const char* buf, int len); + +inline bool IsStructurallyValidUTF8(const std::string& str) { + return IsStructurallyValidUTF8(str.data(), static_cast(str.length())); +} + +// Returns initial number of bytes of structually valid UTF-8. +LIBPROTOBUF_EXPORT int UTF8SpnStructurallyValid(const StringPiece& str); + +// Coerce UTF-8 byte string in src_str to be +// a structurally-valid equal-length string by selectively +// overwriting illegal bytes with replace_char (typically ' ' or '?'). +// replace_char must be legal printable 7-bit Ascii 0x20..0x7e. +// src_str is read-only. +// +// Returns pointer to output buffer, src_str.data() if no changes were made, +// or idst if some bytes were changed. idst is allocated by the caller +// and must be at least as big as src_str +// +// Optimized for: all structurally valid and no byte copying is done. +// +LIBPROTOBUF_EXPORT char* UTF8CoerceToStructurallyValid( + const StringPiece& str, char* dst, char replace_char); + +} // namespace internal + + +// =================================================================== +// Shutdown support. + +// Shut down the entire protocol buffers library, deleting all static-duration +// objects allocated by the library or by generated .pb.cc files. +// +// There are two reasons you might want to call this: +// * You use a draconian definition of "memory leak" in which you expect +// every single malloc() to have a corresponding free(), even for objects +// which live until program exit. +// * You are writing a dynamically-loaded library which needs to clean up +// after itself when the library is unloaded. +// +// It is safe to call this multiple times. However, it is not safe to use +// any other part of the protocol buffers library after +// ShutdownProtobufLibrary() has been called. +LIBPROTOBUF_EXPORT void ShutdownProtobufLibrary(); + +namespace internal { + +// Register a function to be called when ShutdownProtocolBuffers() is called. +LIBPROTOBUF_EXPORT void OnShutdown(void (*func)()); + +} // namespace internal + +#if PROTOBUF_USE_EXCEPTIONS +class FatalException : public std::exception { + public: + FatalException(const char* filename, int line, const std::string& message) + : filename_(filename), line_(line), message_(message) {} + virtual ~FatalException() throw(); + + virtual const char* what() const throw(); + + const char* filename() const { return filename_; } + int line() const { return line_; } + const std::string& message() const { return message_; } + + private: + const char* filename_; + const int line_; + const std::string message_; +}; +#endif + +// This is at the end of the file instead of the beginning to work around a bug +// in some versions of MSVC. +using namespace std; // Don't do this at home, kids. + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_COMMON_H__ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/fastmem.h b/app/src/main/cpp/include/google/protobuf/stubs/fastmem.h new file mode 100644 index 0000000..763a6e6 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/fastmem.h @@ -0,0 +1,152 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2014 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Fast memory copying and comparison routines. +// strings::fastmemcmp_inlined() replaces memcmp() +// strings::memcpy_inlined() replaces memcpy() +// strings::memeq(a, b, n) replaces memcmp(a, b, n) == 0 +// +// strings::*_inlined() routines are inline versions of the +// routines exported by this module. Sometimes using the inlined +// versions is faster. Measure before using the inlined versions. +// +// Performance measurement: +// strings::fastmemcmp_inlined +// Analysis: memcmp, fastmemcmp_inlined, fastmemcmp +// 2012-01-30 + +#ifndef GOOGLE_PROTOBUF_STUBS_FASTMEM_H_ +#define GOOGLE_PROTOBUF_STUBS_FASTMEM_H_ + +#include +#include +#include + +#include + +namespace google { +namespace protobuf { +namespace internal { + +// Return true if the n bytes at a equal the n bytes at b. +// The regions are allowed to overlap. +// +// The performance is similar to the performance memcmp(), but faster for +// moderately-sized inputs, or inputs that share a common prefix and differ +// somewhere in their last 8 bytes. Further optimizations can be added later +// if it makes sense to do so.:w +inline bool memeq(const char* a, const char* b, size_t n) { + size_t n_rounded_down = n & ~static_cast(7); + if (GOOGLE_PREDICT_FALSE(n_rounded_down == 0)) { // n <= 7 + return memcmp(a, b, n) == 0; + } + // n >= 8 + uint64 u = GOOGLE_UNALIGNED_LOAD64(a) ^ GOOGLE_UNALIGNED_LOAD64(b); + uint64 v = GOOGLE_UNALIGNED_LOAD64(a + n - 8) ^ GOOGLE_UNALIGNED_LOAD64(b + n - 8); + if ((u | v) != 0) { // The first or last 8 bytes differ. + return false; + } + a += 8; + b += 8; + n = n_rounded_down - 8; + if (n > 128) { + // As of 2012, memcmp on x86-64 uses a big unrolled loop with SSE2 + // instructions, and while we could try to do something faster, it + // doesn't seem worth pursuing. + return memcmp(a, b, n) == 0; + } + for (; n >= 16; n -= 16) { + uint64 x = GOOGLE_UNALIGNED_LOAD64(a) ^ GOOGLE_UNALIGNED_LOAD64(b); + uint64 y = GOOGLE_UNALIGNED_LOAD64(a + 8) ^ GOOGLE_UNALIGNED_LOAD64(b + 8); + if ((x | y) != 0) { + return false; + } + a += 16; + b += 16; + } + // n must be 0 or 8 now because it was a multiple of 8 at the top of the loop. + return n == 0 || GOOGLE_UNALIGNED_LOAD64(a) == GOOGLE_UNALIGNED_LOAD64(b); +} + +inline int fastmemcmp_inlined(const char *a, const char *b, size_t n) { + if (n >= 64) { + return memcmp(a, b, n); + } + const char* a_limit = a + n; + while (a + sizeof(uint64) <= a_limit && + GOOGLE_UNALIGNED_LOAD64(a) == GOOGLE_UNALIGNED_LOAD64(b)) { + a += sizeof(uint64); + b += sizeof(uint64); + } + if (a + sizeof(uint32) <= a_limit && + GOOGLE_UNALIGNED_LOAD32(a) == GOOGLE_UNALIGNED_LOAD32(b)) { + a += sizeof(uint32); + b += sizeof(uint32); + } + while (a < a_limit) { + int d = static_cast(*a++) - static_cast(*b++); + if (d) return d; + } + return 0; +} + +// The standard memcpy operation is slow for variable small sizes. +// This implementation inlines the optimal realization for sizes 1 to 16. +// To avoid code bloat don't use it in case of not performance-critical spots, +// nor when you don't expect very frequent values of size <= 16. +inline void memcpy_inlined(char *dst, const char *src, size_t size) { + // Compiler inlines code with minimal amount of data movement when third + // parameter of memcpy is a constant. + switch (size) { + case 1: memcpy(dst, src, 1); break; + case 2: memcpy(dst, src, 2); break; + case 3: memcpy(dst, src, 3); break; + case 4: memcpy(dst, src, 4); break; + case 5: memcpy(dst, src, 5); break; + case 6: memcpy(dst, src, 6); break; + case 7: memcpy(dst, src, 7); break; + case 8: memcpy(dst, src, 8); break; + case 9: memcpy(dst, src, 9); break; + case 10: memcpy(dst, src, 10); break; + case 11: memcpy(dst, src, 11); break; + case 12: memcpy(dst, src, 12); break; + case 13: memcpy(dst, src, 13); break; + case 14: memcpy(dst, src, 14); break; + case 15: memcpy(dst, src, 15); break; + case 16: memcpy(dst, src, 16); break; + default: memcpy(dst, src, size); break; + } +} + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_FASTMEM_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/hash.h b/app/src/main/cpp/include/google/protobuf/stubs/hash.h new file mode 100644 index 0000000..4eac7d5 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/hash.h @@ -0,0 +1,438 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// +// Deals with the fact that hash_map is not defined everywhere. + +#ifndef GOOGLE_PROTOBUF_STUBS_HASH_H__ +#define GOOGLE_PROTOBUF_STUBS_HASH_H__ + +#include +#include + +#define GOOGLE_PROTOBUF_HAVE_HASH_MAP 1 +#define GOOGLE_PROTOBUF_HAVE_HASH_SET 1 + +// Android +#if defined(__ANDROID__) +# undef GOOGLE_PROTOBUF_HAVE_HASH_MAP +# undef GOOGLE_PROTOBUF_HAVE_HASH_MAP + +// Use C++11 unordered_{map|set} if available. +#elif ((_LIBCPP_STD_VER >= 11) || \ + (((__cplusplus >= 201103L) || defined(__GXX_EXPERIMENTAL_CXX0X)) && \ + (__GLIBCXX__ > 20090421))) +# define GOOGLE_PROTOBUF_HAS_CXX11_HASH + +// For XCode >= 4.6: the compiler is clang with libc++. +// For earlier XCode version: the compiler is gcc-4.2.1 with libstdc++. +// libc++ provides and friends even in non C++11 mode, +// and it does not provide the tr1 library. Therefore the following macro +// checks against this special case. +// Note that we should not test the __APPLE_CC__ version number or the +// __clang__ macro, since the new compiler can still use -stdlib=libstdc++, in +// which case is not compilable without -std=c++11 +#elif defined(__APPLE_CC__) +# if __GNUC__ >= 4 +# define GOOGLE_PROTOBUF_HAS_TR1 +# else +// Not tested for gcc < 4... These setting can compile under 4.2.1 though. +# define GOOGLE_PROTOBUF_HASH_NAMESPACE __gnu_cxx +# include +# define GOOGLE_PROTOBUF_HASH_MAP_CLASS hash_map +# include +# define GOOGLE_PROTOBUF_HASH_SET_CLASS hash_set +# endif + +// Version checks for gcc. +#elif defined(__GNUC__) +// For GCC 4.x+, use tr1::unordered_map/set; otherwise, follow the +// instructions from: +// https://gcc.gnu.org/onlinedocs/libstdc++/manual/backwards.html +# if __GNUC__ >= 4 +# define GOOGLE_PROTOBUF_HAS_TR1 +# elif __GNUC__ >= 3 +# include +# define GOOGLE_PROTOBUF_HASH_MAP_CLASS hash_map +# include +# define GOOGLE_PROTOBUF_HASH_SET_CLASS hash_set +# if __GNUC__ == 3 && __GNUC_MINOR__ == 0 +# define GOOGLE_PROTOBUF_HASH_NAMESPACE std // GCC 3.0 +# else +# define GOOGLE_PROTOBUF_HASH_NAMESPACE __gnu_cxx // GCC 3.1 and later +# endif +# else +# define GOOGLE_PROTOBUF_HASH_NAMESPACE +# include +# define GOOGLE_PROTOBUF_HASH_MAP_CLASS hash_map +# include +# define GOOGLE_PROTOBUF_HASH_SET_CLASS hash_set +# endif + +// Version checks for MSC. +// Apparently Microsoft decided to move hash_map *back* to the std namespace in +// MSVC 2010: +// http://blogs.msdn.com/vcblog/archive/2009/05/25/stl-breaking-changes-in-visual-studio-2010-beta-1.aspx +// And.. they are moved back to stdext in MSVC 2013 (haven't checked 2012). That +// said, use unordered_map for MSVC 2010 and beyond is our safest bet. +#elif defined(_MSC_VER) +# if _MSC_VER >= 1600 // Since Visual Studio 2010 +# define GOOGLE_PROTOBUF_HAS_CXX11_HASH +# define GOOGLE_PROTOBUF_HASH_COMPARE std::hash_compare +# elif _MSC_VER >= 1500 // Since Visual Studio 2008 +# define GOOGLE_PROTOBUF_HASH_NAMESPACE stdext +# include +# define GOOGLE_PROTOBUF_HASH_MAP_CLASS hash_map +# include +# define GOOGLE_PROTOBUF_HASH_SET_CLASS hash_set +# define GOOGLE_PROTOBUF_HASH_COMPARE stdext::hash_compare +# define GOOGLE_PROTOBUF_CONTAINERS_NEED_HASH_COMPARE +# elif _MSC_VER >= 1310 +# define GOOGLE_PROTOBUF_HASH_NAMESPACE stdext +# include +# define GOOGLE_PROTOBUF_HASH_MAP_CLASS hash_map +# include +# define GOOGLE_PROTOBUF_HASH_SET_CLASS hash_set +# define GOOGLE_PROTOBUF_HASH_COMPARE stdext::hash_compare +# else +# define GOOGLE_PROTOBUF_HASH_NAMESPACE std +# include +# define GOOGLE_PROTOBUF_HASH_MAP_CLASS hash_map +# include +# define GOOGLE_PROTOBUF_HASH_SET_CLASS hash_set +# define GOOGLE_PROTOBUF_HASH_COMPARE stdext::hash_compare +# endif + +// **ADD NEW COMPILERS SUPPORT HERE.** +// For other compilers, undefine the macro and fallback to use std::map, in +// google/protobuf/stubs/hash.h +#else +# undef GOOGLE_PROTOBUF_HAVE_HASH_MAP +# undef GOOGLE_PROTOBUF_HAVE_HASH_SET +#endif + +#if defined(GOOGLE_PROTOBUF_HAS_CXX11_HASH) +# define GOOGLE_PROTOBUF_HASH_NAMESPACE std +# include +# define GOOGLE_PROTOBUF_HASH_MAP_CLASS unordered_map +# include +# define GOOGLE_PROTOBUF_HASH_SET_CLASS unordered_set +#elif defined(GOOGLE_PROTOBUF_HAS_TR1) +# define GOOGLE_PROTOBUF_HASH_NAMESPACE std::tr1 +# include +# define GOOGLE_PROTOBUF_HASH_MAP_CLASS unordered_map +# include +# define GOOGLE_PROTOBUF_HASH_SET_CLASS unordered_set +#endif + +# define GOOGLE_PROTOBUF_HASH_NAMESPACE_DECLARATION_START \ + namespace google { \ + namespace protobuf { +# define GOOGLE_PROTOBUF_HASH_NAMESPACE_DECLARATION_END }} + +#undef GOOGLE_PROTOBUF_HAS_CXX11_HASH +#undef GOOGLE_PROTOBUF_HAS_TR1 + +#if defined(GOOGLE_PROTOBUF_HAVE_HASH_MAP) && \ + defined(GOOGLE_PROTOBUF_HAVE_HASH_SET) +#else +#define GOOGLE_PROTOBUF_MISSING_HASH +#include +#include +#endif + +namespace google { +namespace protobuf { + +#ifdef GOOGLE_PROTOBUF_MISSING_HASH +#undef GOOGLE_PROTOBUF_MISSING_HASH + +// This system doesn't have hash_map or hash_set. Emulate them using map and +// set. + +// Make hash be the same as less. Note that everywhere where custom +// hash functions are defined in the protobuf code, they are also defined such +// that they can be used as "less" functions, which is required by MSVC anyway. +template +struct hash { + // Dummy, just to make derivative hash functions compile. + int operator()(const Key& key) { + GOOGLE_LOG(FATAL) << "Should never be called."; + return 0; + } + + inline bool operator()(const Key& a, const Key& b) const { + return a < b; + } +}; + +// Make sure char* is compared by value. +template <> +struct hash { + // Dummy, just to make derivative hash functions compile. + int operator()(const char* key) { + GOOGLE_LOG(FATAL) << "Should never be called."; + return 0; + } + + inline bool operator()(const char* a, const char* b) const { + return strcmp(a, b) < 0; + } +}; + +template , + typename EqualKey = std::equal_to, + typename Alloc = std::allocator< std::pair > > +class hash_map : public std::map { + typedef std::map BaseClass; + + public: + hash_map(int a = 0, const HashFcn& b = HashFcn(), + const EqualKey& c = EqualKey(), + const Alloc& d = Alloc()) : BaseClass(b, d) {} + + HashFcn hash_function() const { return HashFcn(); } +}; + +template , + typename EqualKey = std::equal_to > +class hash_set : public std::set { + public: + hash_set(int = 0) {} + + HashFcn hash_function() const { return HashFcn(); } +}; + +#elif defined(_MSC_VER) && !defined(_STLPORT_VERSION) + +template +struct hash : public GOOGLE_PROTOBUF_HASH_COMPARE { +}; + +// MSVC's hash_compare hashes based on the string contents but +// compares based on the string pointer. WTF? +class CstringLess { + public: + inline bool operator()(const char* a, const char* b) const { + return strcmp(a, b) < 0; + } +}; + +template <> +struct hash + : public GOOGLE_PROTOBUF_HASH_COMPARE {}; + +#ifdef GOOGLE_PROTOBUF_CONTAINERS_NEED_HASH_COMPARE + +template +struct InternalHashCompare : public GOOGLE_PROTOBUF_HASH_COMPARE { + InternalHashCompare() {} + InternalHashCompare(HashFcn hashfcn, EqualKey equalkey) + : hashfcn_(hashfcn), equalkey_(equalkey) {} + size_t operator()(const Key& key) const { return hashfcn_(key); } + bool operator()(const Key& key1, const Key& key2) const { + return !equalkey_(key1, key2); + } + HashFcn hashfcn_; + EqualKey equalkey_; +}; + +template , + typename EqualKey = std::equal_to, + typename Alloc = std::allocator< std::pair > > +class hash_map + : public GOOGLE_PROTOBUF_HASH_NAMESPACE::GOOGLE_PROTOBUF_HASH_MAP_CLASS< + Key, Data, InternalHashCompare, Alloc> { + typedef GOOGLE_PROTOBUF_HASH_NAMESPACE::GOOGLE_PROTOBUF_HASH_MAP_CLASS< + Key, Data, InternalHashCompare, Alloc> BaseClass; + + public: + hash_map(int a = 0, const HashFcn& b = HashFcn(), + const EqualKey& c = EqualKey(), const Alloc& d = Alloc()) + : BaseClass(InternalHashCompare(b, c), d) {} + + HashFcn hash_function() const { return HashFcn(); } +}; + +template , + typename EqualKey = std::equal_to > +class hash_set + : public GOOGLE_PROTOBUF_HASH_NAMESPACE::GOOGLE_PROTOBUF_HASH_SET_CLASS< + Key, InternalHashCompare > { + public: + hash_set(int = 0) {} + + HashFcn hash_function() const { return HashFcn(); } +}; + +#else // GOOGLE_PROTOBUF_CONTAINERS_NEED_HASH_COMPARE + +template , + typename EqualKey = std::equal_to, + typename Alloc = std::allocator< std::pair > > +class hash_map + : public GOOGLE_PROTOBUF_HASH_NAMESPACE::GOOGLE_PROTOBUF_HASH_MAP_CLASS< + Key, Data, HashFcn, EqualKey, Alloc> { + typedef GOOGLE_PROTOBUF_HASH_NAMESPACE::GOOGLE_PROTOBUF_HASH_MAP_CLASS< + Key, Data, HashFcn, EqualKey, Alloc> BaseClass; + + public: + hash_map(int a = 0, const HashFcn& b = HashFcn(), + const EqualKey& c = EqualKey(), + const Alloc& d = Alloc()) : BaseClass(a, b, c, d) {} + + HashFcn hash_function() const { return HashFcn(); } +}; + +template , + typename EqualKey = std::equal_to > +class hash_set + : public GOOGLE_PROTOBUF_HASH_NAMESPACE::GOOGLE_PROTOBUF_HASH_SET_CLASS< + Key, HashFcn, EqualKey> { + public: + hash_set(int = 0) {} + + HashFcn hash_function() const { return HashFcn(); } +}; +#endif // GOOGLE_PROTOBUF_CONTAINERS_NEED_HASH_COMPARE + +#else // defined(_MSC_VER) && !defined(_STLPORT_VERSION) + +template +struct hash : public GOOGLE_PROTOBUF_HASH_NAMESPACE::hash { +}; + +template +struct hash { + inline size_t operator()(const Key* key) const { + return reinterpret_cast(key); + } +}; + +// Unlike the old SGI version, the TR1 "hash" does not special-case char*. So, +// we go ahead and provide our own implementation. +template <> +struct hash { + inline size_t operator()(const char* str) const { + size_t result = 0; + for (; *str != '\0'; str++) { + result = 5 * result + *str; + } + return result; + } +}; + +template<> +struct hash { + size_t operator()(bool x) const { + return static_cast(x); + } +}; + +template , + typename EqualKey = std::equal_to, + typename Alloc = std::allocator< std::pair > > +class hash_map + : public GOOGLE_PROTOBUF_HASH_NAMESPACE::GOOGLE_PROTOBUF_HASH_MAP_CLASS< + Key, Data, HashFcn, EqualKey, Alloc> { + typedef GOOGLE_PROTOBUF_HASH_NAMESPACE::GOOGLE_PROTOBUF_HASH_MAP_CLASS< + Key, Data, HashFcn, EqualKey, Alloc> BaseClass; + + public: + hash_map(int a = 0, const HashFcn& b = HashFcn(), + const EqualKey& c = EqualKey(), + const Alloc& d = Alloc()) : BaseClass(a, b, c, d) {} + + HashFcn hash_function() const { return HashFcn(); } +}; + +template , + typename EqualKey = std::equal_to > +class hash_set + : public GOOGLE_PROTOBUF_HASH_NAMESPACE::GOOGLE_PROTOBUF_HASH_SET_CLASS< + Key, HashFcn, EqualKey> { + public: + hash_set(int = 0) {} + + HashFcn hash_function() const { return HashFcn(); } +}; + +#endif // !GOOGLE_PROTOBUF_MISSING_HASH + +template <> +struct hash { + inline size_t operator()(const string& key) const { + return hash()(key.c_str()); + } + + static const size_t bucket_size = 4; + static const size_t min_buckets = 8; + inline bool operator()(const string& a, const string& b) const { + return a < b; + } +}; + +template +struct hash > { + inline size_t operator()(const pair& key) const { + size_t first_hash = hash()(key.first); + size_t second_hash = hash()(key.second); + + // FIXME(kenton): What is the best way to compute this hash? I have + // no idea! This seems a bit better than an XOR. + return first_hash * ((1 << 16) - 1) + second_hash; + } + + static const size_t bucket_size = 4; + static const size_t min_buckets = 8; + inline bool operator()(const pair& a, + const pair& b) const { + return a < b; + } +}; + +// Used by GCC/SGI STL only. (Why isn't this provided by the standard +// library? :( ) +struct streq { + inline bool operator()(const char* a, const char* b) const { + return strcmp(a, b) == 0; + } +}; + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_HASH_H__ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/logging.h b/app/src/main/cpp/include/google/protobuf/stubs/logging.h new file mode 100644 index 0000000..f69605d --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/logging.h @@ -0,0 +1,237 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_STUBS_LOGGING_H_ +#define GOOGLE_PROTOBUF_STUBS_LOGGING_H_ + +#include +#include + +// =================================================================== +// emulates google3/base/logging.h + +namespace google { +namespace protobuf { + +enum LogLevel { + LOGLEVEL_INFO, // Informational. This is never actually used by + // libprotobuf. + LOGLEVEL_WARNING, // Warns about issues that, although not technically a + // problem now, could cause problems in the future. For + // example, a // warning will be printed when parsing a + // message that is near the message size limit. + LOGLEVEL_ERROR, // An error occurred which should never happen during + // normal use. + LOGLEVEL_FATAL, // An error occurred from which the library cannot + // recover. This usually indicates a programming error + // in the code which calls the library, especially when + // compiled in debug mode. + +#ifdef NDEBUG + LOGLEVEL_DFATAL = LOGLEVEL_ERROR +#else + LOGLEVEL_DFATAL = LOGLEVEL_FATAL +#endif +}; + +class StringPiece; +namespace util { +class Status; +} +class uint128; +namespace internal { + +class LogFinisher; + +class LIBPROTOBUF_EXPORT LogMessage { + public: + LogMessage(LogLevel level, const char* filename, int line); + ~LogMessage(); + + LogMessage& operator<<(const std::string& value); + LogMessage& operator<<(const char* value); + LogMessage& operator<<(char value); + LogMessage& operator<<(int value); + LogMessage& operator<<(uint value); + LogMessage& operator<<(long value); + LogMessage& operator<<(unsigned long value); + LogMessage& operator<<(long long value); + LogMessage& operator<<(unsigned long long value); + LogMessage& operator<<(double value); + LogMessage& operator<<(void* value); + LogMessage& operator<<(const StringPiece& value); + LogMessage& operator<<(const ::google::protobuf::util::Status& status); + LogMessage& operator<<(const uint128& value); + + private: + friend class LogFinisher; + void Finish(); + + LogLevel level_; + const char* filename_; + int line_; + std::string message_; +}; + +// Used to make the entire "LOG(BLAH) << etc." expression have a void return +// type and print a newline after each message. +class LIBPROTOBUF_EXPORT LogFinisher { + public: + void operator=(LogMessage& other); +}; + +template +bool IsOk(T status) { return status.ok(); } +template<> +inline bool IsOk(bool status) { return status; } + +} // namespace internal + +// Undef everything in case we're being mixed with some other Google library +// which already defined them itself. Presumably all Google libraries will +// support the same syntax for these so it should not be a big deal if they +// end up using our definitions instead. +#undef GOOGLE_LOG +#undef GOOGLE_LOG_IF + +#undef GOOGLE_CHECK +#undef GOOGLE_CHECK_OK +#undef GOOGLE_CHECK_EQ +#undef GOOGLE_CHECK_NE +#undef GOOGLE_CHECK_LT +#undef GOOGLE_CHECK_LE +#undef GOOGLE_CHECK_GT +#undef GOOGLE_CHECK_GE +#undef GOOGLE_CHECK_NOTNULL + +#undef GOOGLE_DLOG +#undef GOOGLE_DCHECK +#undef GOOGLE_DCHECK_OK +#undef GOOGLE_DCHECK_EQ +#undef GOOGLE_DCHECK_NE +#undef GOOGLE_DCHECK_LT +#undef GOOGLE_DCHECK_LE +#undef GOOGLE_DCHECK_GT +#undef GOOGLE_DCHECK_GE + +#define GOOGLE_LOG(LEVEL) \ + ::google::protobuf::internal::LogFinisher() = \ + ::google::protobuf::internal::LogMessage( \ + ::google::protobuf::LOGLEVEL_##LEVEL, __FILE__, __LINE__) +#define GOOGLE_LOG_IF(LEVEL, CONDITION) \ + !(CONDITION) ? (void)0 : GOOGLE_LOG(LEVEL) + +#define GOOGLE_CHECK(EXPRESSION) \ + GOOGLE_LOG_IF(FATAL, !(EXPRESSION)) << "CHECK failed: " #EXPRESSION ": " +#define GOOGLE_CHECK_OK(A) GOOGLE_CHECK(::google::protobuf::internal::IsOk(A)) +#define GOOGLE_CHECK_EQ(A, B) GOOGLE_CHECK((A) == (B)) +#define GOOGLE_CHECK_NE(A, B) GOOGLE_CHECK((A) != (B)) +#define GOOGLE_CHECK_LT(A, B) GOOGLE_CHECK((A) < (B)) +#define GOOGLE_CHECK_LE(A, B) GOOGLE_CHECK((A) <= (B)) +#define GOOGLE_CHECK_GT(A, B) GOOGLE_CHECK((A) > (B)) +#define GOOGLE_CHECK_GE(A, B) GOOGLE_CHECK((A) >= (B)) + +namespace internal { +template +T* CheckNotNull(const char* /* file */, int /* line */, + const char* name, T* val) { + if (val == NULL) { + GOOGLE_LOG(FATAL) << name; + } + return val; +} +} // namespace internal +#define GOOGLE_CHECK_NOTNULL(A) \ + ::google::protobuf::internal::CheckNotNull(\ + __FILE__, __LINE__, "'" #A "' must not be NULL", (A)) + +#ifdef NDEBUG + +#define GOOGLE_DLOG(LEVEL) GOOGLE_LOG_IF(LEVEL, false) + +#define GOOGLE_DCHECK(EXPRESSION) while(false) GOOGLE_CHECK(EXPRESSION) +#define GOOGLE_DCHECK_OK(E) GOOGLE_DCHECK(::google::protobuf::internal::IsOk(E)) +#define GOOGLE_DCHECK_EQ(A, B) GOOGLE_DCHECK((A) == (B)) +#define GOOGLE_DCHECK_NE(A, B) GOOGLE_DCHECK((A) != (B)) +#define GOOGLE_DCHECK_LT(A, B) GOOGLE_DCHECK((A) < (B)) +#define GOOGLE_DCHECK_LE(A, B) GOOGLE_DCHECK((A) <= (B)) +#define GOOGLE_DCHECK_GT(A, B) GOOGLE_DCHECK((A) > (B)) +#define GOOGLE_DCHECK_GE(A, B) GOOGLE_DCHECK((A) >= (B)) + +#else // NDEBUG + +#define GOOGLE_DLOG GOOGLE_LOG + +#define GOOGLE_DCHECK GOOGLE_CHECK +#define GOOGLE_DCHECK_OK GOOGLE_CHECK_OK +#define GOOGLE_DCHECK_EQ GOOGLE_CHECK_EQ +#define GOOGLE_DCHECK_NE GOOGLE_CHECK_NE +#define GOOGLE_DCHECK_LT GOOGLE_CHECK_LT +#define GOOGLE_DCHECK_LE GOOGLE_CHECK_LE +#define GOOGLE_DCHECK_GT GOOGLE_CHECK_GT +#define GOOGLE_DCHECK_GE GOOGLE_CHECK_GE + +#endif // !NDEBUG + +typedef void LogHandler(LogLevel level, const char* filename, int line, + const std::string& message); + +// The protobuf library sometimes writes warning and error messages to +// stderr. These messages are primarily useful for developers, but may +// also help end users figure out a problem. If you would prefer that +// these messages be sent somewhere other than stderr, call SetLogHandler() +// to set your own handler. This returns the old handler. Set the handler +// to NULL to ignore log messages (but see also LogSilencer, below). +// +// Obviously, SetLogHandler is not thread-safe. You should only call it +// at initialization time, and probably not from library code. If you +// simply want to suppress log messages temporarily (e.g. because you +// have some code that tends to trigger them frequently and you know +// the warnings are not important to you), use the LogSilencer class +// below. +LIBPROTOBUF_EXPORT LogHandler* SetLogHandler(LogHandler* new_func); + +// Create a LogSilencer if you want to temporarily suppress all log +// messages. As long as any LogSilencer objects exist, non-fatal +// log messages will be discarded (the current LogHandler will *not* +// be called). Constructing a LogSilencer is thread-safe. You may +// accidentally suppress log messages occurring in another thread, but +// since messages are generally for debugging purposes only, this isn't +// a big deal. If you want to intercept log messages, use SetLogHandler(). +class LIBPROTOBUF_EXPORT LogSilencer { + public: + LogSilencer(); + ~LogSilencer(); +}; + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_LOGGING_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/macros.h b/app/src/main/cpp/include/google/protobuf/stubs/macros.h new file mode 100644 index 0000000..0e9a9ec --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/macros.h @@ -0,0 +1,168 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_MACROS_H__ +#define GOOGLE_PROTOBUF_MACROS_H__ + +#include + +namespace google { +namespace protobuf { + +#undef GOOGLE_DISALLOW_EVIL_CONSTRUCTORS +#define GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TypeName) \ + TypeName(const TypeName&); \ + void operator=(const TypeName&) + +#undef GOOGLE_DISALLOW_IMPLICIT_CONSTRUCTORS +#define GOOGLE_DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \ + TypeName(); \ + TypeName(const TypeName&); \ + void operator=(const TypeName&) + +// =================================================================== +// from google3/base/basictypes.h + +// The GOOGLE_ARRAYSIZE(arr) macro returns the # of elements in an array arr. +// The expression is a compile-time constant, and therefore can be +// used in defining new arrays, for example. +// +// GOOGLE_ARRAYSIZE catches a few type errors. If you see a compiler error +// +// "warning: division by zero in ..." +// +// when using GOOGLE_ARRAYSIZE, you are (wrongfully) giving it a pointer. +// You should only use GOOGLE_ARRAYSIZE on statically allocated arrays. +// +// The following comments are on the implementation details, and can +// be ignored by the users. +// +// ARRAYSIZE(arr) works by inspecting sizeof(arr) (the # of bytes in +// the array) and sizeof(*(arr)) (the # of bytes in one array +// element). If the former is divisible by the latter, perhaps arr is +// indeed an array, in which case the division result is the # of +// elements in the array. Otherwise, arr cannot possibly be an array, +// and we generate a compiler error to prevent the code from +// compiling. +// +// Since the size of bool is implementation-defined, we need to cast +// !(sizeof(a) & sizeof(*(a))) to size_t in order to ensure the final +// result has type size_t. +// +// This macro is not perfect as it wrongfully accepts certain +// pointers, namely where the pointer size is divisible by the pointee +// size. Since all our code has to go through a 32-bit compiler, +// where a pointer is 4 bytes, this means all pointers to a type whose +// size is 3 or greater than 4 will be (righteously) rejected. +// +// Kudos to Jorg Brown for this simple and elegant implementation. + +#undef GOOGLE_ARRAYSIZE +#define GOOGLE_ARRAYSIZE(a) \ + ((sizeof(a) / sizeof(*(a))) / \ + static_cast(!(sizeof(a) % sizeof(*(a))))) + +// The COMPILE_ASSERT macro can be used to verify that a compile time +// expression is true. For example, you could use it to verify the +// size of a static array: +// +// COMPILE_ASSERT(ARRAYSIZE(content_type_names) == CONTENT_NUM_TYPES, +// content_type_names_incorrect_size); +// +// or to make sure a struct is smaller than a certain size: +// +// COMPILE_ASSERT(sizeof(foo) < 128, foo_too_large); +// +// The second argument to the macro is the name of the variable. If +// the expression is false, most compilers will issue a warning/error +// containing the name of the variable. + +namespace internal { + +template +struct CompileAssert { +}; + +} // namespace internal + +#undef GOOGLE_COMPILE_ASSERT +#if __cplusplus >= 201103L +#define GOOGLE_COMPILE_ASSERT(expr, msg) static_assert(expr, #msg) +#else +#define GOOGLE_COMPILE_ASSERT(expr, msg) \ + ::google::protobuf::internal::CompileAssert<(bool(expr))> \ + msg[bool(expr) ? 1 : -1]; \ + (void)msg +// Implementation details of COMPILE_ASSERT: +// +// - COMPILE_ASSERT works by defining an array type that has -1 +// elements (and thus is invalid) when the expression is false. +// +// - The simpler definition +// +// #define COMPILE_ASSERT(expr, msg) typedef char msg[(expr) ? 1 : -1] +// +// does not work, as gcc supports variable-length arrays whose sizes +// are determined at run-time (this is gcc's extension and not part +// of the C++ standard). As a result, gcc fails to reject the +// following code with the simple definition: +// +// int foo; +// COMPILE_ASSERT(foo, msg); // not supposed to compile as foo is +// // not a compile-time constant. +// +// - By using the type CompileAssert<(bool(expr))>, we ensures that +// expr is a compile-time constant. (Template arguments must be +// determined at compile-time.) +// +// - The outter parentheses in CompileAssert<(bool(expr))> are necessary +// to work around a bug in gcc 3.4.4 and 4.0.1. If we had written +// +// CompileAssert +// +// instead, these compilers will refuse to compile +// +// COMPILE_ASSERT(5 > 0, some_message); +// +// (They seem to think the ">" in "5 > 0" marks the end of the +// template argument list.) +// +// - The array size is (bool(expr) ? 1 : -1), instead of simply +// +// ((expr) ? 1 : -1). +// +// This is to avoid running into a bug in MS VC 7.1, which +// causes ((0.0) ? 1 : -1) to incorrectly evaluate to 1. +#endif // __cplusplus >= 201103L + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_MACROS_H__ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/mutex.h b/app/src/main/cpp/include/google/protobuf/stubs/mutex.h new file mode 100644 index 0000000..7ef1cb6 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/mutex.h @@ -0,0 +1,148 @@ +// Copyright (c) 2006, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_STUBS_MUTEX_H_ +#define GOOGLE_PROTOBUF_STUBS_MUTEX_H_ + +#ifdef GOOGLE_PROTOBUF_NO_THREADLOCAL +#include +#endif + +#include + +// =================================================================== +// emulates google3/base/mutex.h +namespace google { +namespace protobuf { +namespace internal { + +// A Mutex is a non-reentrant (aka non-recursive) mutex. At most one thread T +// may hold a mutex at a given time. If T attempts to Lock() the same Mutex +// while holding it, T will deadlock. +class LIBPROTOBUF_EXPORT Mutex { + public: + // Create a Mutex that is not held by anybody. + Mutex(); + + // Destructor + ~Mutex(); + + // Block if necessary until this Mutex is free, then acquire it exclusively. + void Lock(); + + // Release this Mutex. Caller must hold it exclusively. + void Unlock(); + + // Crash if this Mutex is not held exclusively by this thread. + // May fail to crash when it should; will never crash when it should not. + void AssertHeld(); + + private: + struct Internal; + Internal* mInternal; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(Mutex); +}; + +// Undefine the macros to workaround the conflicts with Google internal +// MutexLock implementation. +// TODO(liujisi): Remove the undef once internal macros are removed. +#undef MutexLock +#undef ReaderMutexLock +#undef WriterMutexLock +#undef MutexLockMaybe + +// MutexLock(mu) acquires mu when constructed and releases it when destroyed. +class LIBPROTOBUF_EXPORT MutexLock { + public: + explicit MutexLock(Mutex *mu) : mu_(mu) { this->mu_->Lock(); } + ~MutexLock() { this->mu_->Unlock(); } + private: + Mutex *const mu_; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MutexLock); +}; + +// TODO(kenton): Implement these? Hard to implement portably. +typedef MutexLock ReaderMutexLock; +typedef MutexLock WriterMutexLock; + +// MutexLockMaybe is like MutexLock, but is a no-op when mu is NULL. +class LIBPROTOBUF_EXPORT MutexLockMaybe { + public: + explicit MutexLockMaybe(Mutex *mu) : + mu_(mu) { if (this->mu_ != NULL) { this->mu_->Lock(); } } + ~MutexLockMaybe() { if (this->mu_ != NULL) { this->mu_->Unlock(); } } + private: + Mutex *const mu_; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MutexLockMaybe); +}; + +#if defined(GOOGLE_PROTOBUF_NO_THREADLOCAL) +template +class ThreadLocalStorage { + public: + ThreadLocalStorage() { + pthread_key_create(&key_, &ThreadLocalStorage::Delete); + } + ~ThreadLocalStorage() { + pthread_key_delete(key_); + } + T* Get() { + T* result = static_cast(pthread_getspecific(key_)); + if (result == NULL) { + result = new T(); + pthread_setspecific(key_, result); + } + return result; + } + private: + static void Delete(void* value) { + delete static_cast(value); + } + pthread_key_t key_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ThreadLocalStorage); +}; +#endif + +} // namespace internal + +// We made these internal so that they would show up as such in the docs, +// but we don't want to stick "internal::" in front of them everywhere. +using internal::Mutex; +using internal::MutexLock; +using internal::ReaderMutexLock; +using internal::WriterMutexLock; +using internal::MutexLockMaybe; + + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_MUTEX_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/once.h b/app/src/main/cpp/include/google/protobuf/stubs/once.h new file mode 100644 index 0000000..1f082c3 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/once.h @@ -0,0 +1,167 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// +// emulates google3/base/once.h +// +// This header is intended to be included only by internal .cc files and +// generated .pb.cc files. Users should not use this directly. +// +// This is basically a portable version of pthread_once(). +// +// This header declares: +// * A type called ProtobufOnceType. +// * A macro GOOGLE_PROTOBUF_DECLARE_ONCE() which declares a variable of type +// ProtobufOnceType. This is the only legal way to declare such a variable. +// The macro may only be used at the global scope (you cannot create local or +// class member variables of this type). +// * A function GoogleOnceInit(ProtobufOnceType* once, void (*init_func)()). +// This function, when invoked multiple times given the same ProtobufOnceType +// object, will invoke init_func on the first call only, and will make sure +// none of the calls return before that first call to init_func has finished. +// * The user can provide a parameter which GoogleOnceInit() forwards to the +// user-provided function when it is called. Usage example: +// int a = 10; +// GoogleOnceInit(&my_once, &MyFunctionExpectingIntArgument, &a); +// * This implementation guarantees that ProtobufOnceType is a POD (i.e. no +// static initializer generated). +// +// This implements a way to perform lazy initialization. It's more efficient +// than using mutexes as no lock is needed if initialization has already +// happened. +// +// Example usage: +// void Init(); +// GOOGLE_PROTOBUF_DECLARE_ONCE(once_init); +// +// // Calls Init() exactly once. +// void InitOnce() { +// GoogleOnceInit(&once_init, &Init); +// } +// +// Note that if GoogleOnceInit() is called before main() has begun, it must +// only be called by the thread that will eventually call main() -- that is, +// the thread that performs dynamic initialization. In general this is a safe +// assumption since people don't usually construct threads before main() starts, +// but it is technically not guaranteed. Unfortunately, Win32 provides no way +// whatsoever to statically-initialize its synchronization primitives, so our +// only choice is to assume that dynamic initialization is single-threaded. + +#ifndef GOOGLE_PROTOBUF_STUBS_ONCE_H__ +#define GOOGLE_PROTOBUF_STUBS_ONCE_H__ + +#include +#include +#include + +namespace google { +namespace protobuf { + +#ifdef GOOGLE_PROTOBUF_NO_THREAD_SAFETY + +typedef bool ProtobufOnceType; + +#define GOOGLE_PROTOBUF_ONCE_INIT false + +inline void GoogleOnceInit(ProtobufOnceType* once, void (*init_func)()) { + if (!*once) { + *once = true; + init_func(); + } +} + +template +inline void GoogleOnceInit(ProtobufOnceType* once, void (*init_func)(Arg), + Arg arg) { + if (!*once) { + *once = true; + init_func(arg); + } +} + +#else + +enum { + ONCE_STATE_UNINITIALIZED = 0, + ONCE_STATE_EXECUTING_CLOSURE = 1, + ONCE_STATE_DONE = 2 +}; + +typedef internal::AtomicWord ProtobufOnceType; + +#define GOOGLE_PROTOBUF_ONCE_INIT ::google::protobuf::ONCE_STATE_UNINITIALIZED + +LIBPROTOBUF_EXPORT +void GoogleOnceInitImpl(ProtobufOnceType* once, Closure* closure); + +inline void GoogleOnceInit(ProtobufOnceType* once, void (*init_func)()) { + if (internal::Acquire_Load(once) != ONCE_STATE_DONE) { + internal::FunctionClosure0 func(init_func, false); + GoogleOnceInitImpl(once, &func); + } +} + +template +inline void GoogleOnceInit(ProtobufOnceType* once, void (*init_func)(Arg*), + Arg* arg) { + if (internal::Acquire_Load(once) != ONCE_STATE_DONE) { + internal::FunctionClosure1 func(init_func, false, arg); + GoogleOnceInitImpl(once, &func); + } +} + +#endif // GOOGLE_PROTOBUF_NO_THREAD_SAFETY + +class GoogleOnceDynamic { + public: + GoogleOnceDynamic() : state_(GOOGLE_PROTOBUF_ONCE_INIT) { } + + // If this->Init() has not been called before by any thread, + // execute (*func_with_arg)(arg) then return. + // Otherwise, wait until that prior invocation has finished + // executing its function, then return. + template + void Init(void (*func_with_arg)(T*), T* arg) { + GoogleOnceInit(&this->state_, + func_with_arg, + arg); + } + private: + ProtobufOnceType state_; +}; + +#define GOOGLE_PROTOBUF_DECLARE_ONCE(NAME) \ + ::google::protobuf::ProtobufOnceType NAME = GOOGLE_PROTOBUF_ONCE_INIT + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_ONCE_H__ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/platform_macros.h b/app/src/main/cpp/include/google/protobuf/stubs/platform_macros.h new file mode 100644 index 0000000..4ba4b34 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/platform_macros.h @@ -0,0 +1,125 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_PLATFORM_MACROS_H_ +#define GOOGLE_PROTOBUF_PLATFORM_MACROS_H_ + +#define GOOGLE_PROTOBUF_PLATFORM_ERROR \ +#error "Host platform was not detected as supported by protobuf" + +// Processor architecture detection. For more info on what's defined, see: +// http://msdn.microsoft.com/en-us/library/b0084kay.aspx +// http://www.agner.org/optimize/calling_conventions.pdf +// or with gcc, run: "echo | gcc -E -dM -" +#if defined(_M_X64) || defined(__x86_64__) +#define GOOGLE_PROTOBUF_ARCH_X64 1 +#define GOOGLE_PROTOBUF_ARCH_64_BIT 1 +#elif defined(_M_IX86) || defined(__i386__) +#define GOOGLE_PROTOBUF_ARCH_IA32 1 +#define GOOGLE_PROTOBUF_ARCH_32_BIT 1 +#elif defined(__QNX__) +#define GOOGLE_PROTOBUF_ARCH_ARM_QNX 1 +#define GOOGLE_PROTOBUF_ARCH_32_BIT 1 +#elif defined(__ARMEL__) +#define GOOGLE_PROTOBUF_ARCH_ARM 1 +#define GOOGLE_PROTOBUF_ARCH_32_BIT 1 +#elif defined(__aarch64__) +#define GOOGLE_PROTOBUF_ARCH_AARCH64 1 +#define GOOGLE_PROTOBUF_ARCH_64_BIT 1 +#elif defined(__MIPSEL__) +#if defined(__LP64__) +#define GOOGLE_PROTOBUF_ARCH_MIPS64 1 +#define GOOGLE_PROTOBUF_ARCH_64_BIT 1 +#else +#define GOOGLE_PROTOBUF_ARCH_MIPS 1 +#define GOOGLE_PROTOBUF_ARCH_32_BIT 1 +#endif +#elif defined(__pnacl__) +#define GOOGLE_PROTOBUF_ARCH_32_BIT 1 +#elif defined(sparc) +#define GOOGLE_PROTOBUF_ARCH_SPARC 1 +#if defined(__sparc_v9__) || defined(__sparcv9) || defined(__arch64__) +#define GOOGLE_PROTOBUF_ARCH_64_BIT 1 +#else +#define GOOGLE_PROTOBUF_ARCH_32_BIT 1 +#endif +#elif defined(_POWER) || defined(__powerpc64__) || defined(__PPC64__) +#define GOOGLE_PROTOBUF_ARCH_POWER 1 +#define GOOGLE_PROTOBUF_ARCH_64_BIT 1 +#elif defined(__PPC__) +#define GOOGLE_PROTOBUF_ARCH_PPC 1 +#define GOOGLE_PROTOBUF_ARCH_32_BIT 1 +#elif defined(__GNUC__) +# if (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)) +// We fallback to the generic Clang/GCC >= 4.7 implementation in atomicops.h +# elif defined(__clang__) +# if !__has_extension(c_atomic) +GOOGLE_PROTOBUF_PLATFORM_ERROR +# endif +// We fallback to the generic Clang/GCC >= 4.7 implementation in atomicops.h +# endif +# if __LP64__ +# define GOOGLE_PROTOBUF_ARCH_64_BIT 1 +# else +# define GOOGLE_PROTOBUF_ARCH_32_BIT 1 +# endif +#else +GOOGLE_PROTOBUF_PLATFORM_ERROR +#endif + +#if defined(__APPLE__) +#define GOOGLE_PROTOBUF_OS_APPLE +#include +#if TARGET_OS_IPHONE +#define GOOGLE_PROTOBUF_OS_IPHONE +#endif +#elif defined(__EMSCRIPTEN__) +#define GOOGLE_PROTOBUF_OS_EMSCRIPTEN +#elif defined(__native_client__) +#define GOOGLE_PROTOBUF_OS_NACL +#elif defined(sun) +#define GOOGLE_PROTOBUF_OS_SOLARIS +#elif defined(_AIX) +#define GOOGLE_PROTOBUF_OS_AIX +#elif defined(__ANDROID__) +#define GOOGLE_PROTOBUF_OS_ANDROID +#endif + +#undef GOOGLE_PROTOBUF_PLATFORM_ERROR + +#if defined(GOOGLE_PROTOBUF_OS_ANDROID) || defined(GOOGLE_PROTOBUF_OS_IPHONE) +// Android ndk does not support the __thread keyword very well yet. Here +// we use pthread_key_create()/pthread_getspecific()/... methods for +// TLS support on android. +// iOS also does not support the __thread keyword. +#define GOOGLE_PROTOBUF_NO_THREADLOCAL +#endif + +#endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/port.h b/app/src/main/cpp/include/google/protobuf/stubs/port.h new file mode 100644 index 0000000..376be5f --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/port.h @@ -0,0 +1,448 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_STUBS_PORT_H_ +#define GOOGLE_PROTOBUF_STUBS_PORT_H_ + +#include +#include +#include +#include +#include +#if defined(__osf__) +// Tru64 lacks stdint.h, but has inttypes.h which defines a superset of +// what stdint.h would define. +#include +#elif !defined(_MSC_VER) +#include +#endif + +#undef PROTOBUF_LITTLE_ENDIAN +#ifdef _WIN32 + // Assuming windows is always little-endian. + // TODO(xiaofeng): The PROTOBUF_LITTLE_ENDIAN is not only used for + // optimization but also for correctness. We should define an + // different macro to test the big-endian code path in coded_stream. + #if !defined(PROTOBUF_DISABLE_LITTLE_ENDIAN_OPT_FOR_TEST) + #define PROTOBUF_LITTLE_ENDIAN 1 + #endif + #if _MSC_VER >= 1300 && !defined(__INTEL_COMPILER) + // If MSVC has "/RTCc" set, it will complain about truncating casts at + // runtime. This file contains some intentional truncating casts. + #pragma runtime_checks("c", off) + #endif +#else + #include // __BYTE_ORDER + #if ((defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)) || \ + (defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN)) && \ + !defined(PROTOBUF_DISABLE_LITTLE_ENDIAN_OPT_FOR_TEST) + #define PROTOBUF_LITTLE_ENDIAN 1 + #endif +#endif +#if defined(_MSC_VER) && defined(PROTOBUF_USE_DLLS) + #ifdef LIBPROTOBUF_EXPORTS + #define LIBPROTOBUF_EXPORT __declspec(dllexport) + #else + #define LIBPROTOBUF_EXPORT __declspec(dllimport) + #endif + #ifdef LIBPROTOC_EXPORTS + #define LIBPROTOC_EXPORT __declspec(dllexport) + #else + #define LIBPROTOC_EXPORT __declspec(dllimport) + #endif +#else + #define LIBPROTOBUF_EXPORT + #define LIBPROTOC_EXPORT +#endif + +// These #includes are for the byte swap functions declared later on. +#ifdef _MSC_VER +#include // NOLINT(build/include) +#elif defined(__APPLE__) +#include +#elif defined(__GLIBC__) || defined(__CYGWIN__) +#include // IWYU pragma: export +#endif + +// =================================================================== +// from google3/base/port.h +namespace google { +namespace protobuf { + +typedef unsigned int uint; + +#ifdef _MSC_VER +typedef signed __int8 int8; +typedef __int16 int16; +typedef __int32 int32; +typedef __int64 int64; + +typedef unsigned __int8 uint8; +typedef unsigned __int16 uint16; +typedef unsigned __int32 uint32; +typedef unsigned __int64 uint64; +#else +typedef int8_t int8; +typedef int16_t int16; +typedef int32_t int32; +typedef int64_t int64; + +typedef uint8_t uint8; +typedef uint16_t uint16; +typedef uint32_t uint32; +typedef uint64_t uint64; +#endif + +// long long macros to be used because gcc and vc++ use different suffixes, +// and different size specifiers in format strings +#undef GOOGLE_LONGLONG +#undef GOOGLE_ULONGLONG +#undef GOOGLE_LL_FORMAT + +#ifdef _MSC_VER +#define GOOGLE_LONGLONG(x) x##I64 +#define GOOGLE_ULONGLONG(x) x##UI64 +#define GOOGLE_LL_FORMAT "I64" // As in printf("%I64d", ...) +#else +// By long long, we actually mean int64. +#define GOOGLE_LONGLONG(x) x##LL +#define GOOGLE_ULONGLONG(x) x##ULL +// Used to format real long long integers. +#define GOOGLE_LL_FORMAT "ll" // As in "%lld". Note that "q" is poor form also. +#endif + +static const int32 kint32max = 0x7FFFFFFF; +static const int32 kint32min = -kint32max - 1; +static const int64 kint64max = GOOGLE_LONGLONG(0x7FFFFFFFFFFFFFFF); +static const int64 kint64min = -kint64max - 1; +static const uint32 kuint32max = 0xFFFFFFFFu; +static const uint64 kuint64max = GOOGLE_ULONGLONG(0xFFFFFFFFFFFFFFFF); + +// ------------------------------------------------------------------- +// Annotations: Some parts of the code have been annotated in ways that might +// be useful to some compilers or tools, but are not supported universally. +// You can #define these annotations yourself if the default implementation +// is not right for you. + +#ifndef GOOGLE_ATTRIBUTE_ALWAYS_INLINE +#if defined(__GNUC__) && (__GNUC__ > 3 ||(__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) +// For functions we want to force inline. +// Introduced in gcc 3.1. +#define GOOGLE_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((always_inline)) +#else +// Other compilers will have to figure it out for themselves. +#define GOOGLE_ATTRIBUTE_ALWAYS_INLINE +#endif +#endif + +#ifndef GOOGLE_ATTRIBUTE_NOINLINE +#if defined(__GNUC__) && (__GNUC__ > 3 ||(__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) +// For functions we want to force not inline. +// Introduced in gcc 3.1. +#define GOOGLE_ATTRIBUTE_NOINLINE __attribute__ ((noinline)) +#elif defined(_MSC_VER) && (_MSC_VER >= 1400) +// Seems to have been around since at least Visual Studio 2005 +#define GOOGLE_ATTRIBUTE_NOINLINE __declspec(noinline) +#else +// Other compilers will have to figure it out for themselves. +#define GOOGLE_ATTRIBUTE_NOINLINE +#endif +#endif + +#ifndef GOOGLE_ATTRIBUTE_NORETURN +#ifdef __GNUC__ +// Tell the compiler that a given function never returns. +#define GOOGLE_ATTRIBUTE_NORETURN __attribute__((noreturn)) +#else +#define GOOGLE_ATTRIBUTE_NORETURN +#endif +#endif + +#ifndef GOOGLE_ATTRIBUTE_DEPRECATED +#ifdef __GNUC__ +// If the method/variable/type is used anywhere, produce a warning. +#define GOOGLE_ATTRIBUTE_DEPRECATED __attribute__((deprecated)) +#else +#define GOOGLE_ATTRIBUTE_DEPRECATED +#endif +#endif + +#ifndef GOOGLE_PREDICT_TRUE +#ifdef __GNUC__ +// Provided at least since GCC 3.0. +#define GOOGLE_PREDICT_TRUE(x) (__builtin_expect(!!(x), 1)) +#else +#define GOOGLE_PREDICT_TRUE(x) (x) +#endif +#endif + +#ifndef GOOGLE_PREDICT_FALSE +#ifdef __GNUC__ +// Provided at least since GCC 3.0. +#define GOOGLE_PREDICT_FALSE(x) (__builtin_expect(x, 0)) +#else +#define GOOGLE_PREDICT_FALSE(x) (x) +#endif +#endif + +// Delimits a block of code which may write to memory which is simultaneously +// written by other threads, but which has been determined to be thread-safe +// (e.g. because it is an idempotent write). +#ifndef GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN +#define GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN() +#endif +#ifndef GOOGLE_SAFE_CONCURRENT_WRITES_END +#define GOOGLE_SAFE_CONCURRENT_WRITES_END() +#endif + +#if defined(__clang__) && defined(__has_cpp_attribute) \ + && !defined(GOOGLE_PROTOBUF_OS_APPLE) +# if defined(GOOGLE_PROTOBUF_OS_NACL) || defined(EMSCRIPTEN) || \ + __has_cpp_attribute(clang::fallthrough) +# define GOOGLE_FALLTHROUGH_INTENDED [[clang::fallthrough]] +# endif +#endif + +#ifndef GOOGLE_FALLTHROUGH_INTENDED +# define GOOGLE_FALLTHROUGH_INTENDED +#endif + +#define GOOGLE_GUARDED_BY(x) +#define GOOGLE_ATTRIBUTE_COLD + +// x86 and x86-64 can perform unaligned loads/stores directly. +#if defined(_M_X64) || defined(__x86_64__) || \ + defined(_M_IX86) || defined(__i386__) + +#define GOOGLE_UNALIGNED_LOAD16(_p) (*reinterpret_cast(_p)) +#define GOOGLE_UNALIGNED_LOAD32(_p) (*reinterpret_cast(_p)) +#define GOOGLE_UNALIGNED_LOAD64(_p) (*reinterpret_cast(_p)) + +#define GOOGLE_UNALIGNED_STORE16(_p, _val) (*reinterpret_cast(_p) = (_val)) +#define GOOGLE_UNALIGNED_STORE32(_p, _val) (*reinterpret_cast(_p) = (_val)) +#define GOOGLE_UNALIGNED_STORE64(_p, _val) (*reinterpret_cast(_p) = (_val)) + +#else +inline uint16 GOOGLE_UNALIGNED_LOAD16(const void *p) { + uint16 t; + memcpy(&t, p, sizeof t); + return t; +} + +inline uint32 GOOGLE_UNALIGNED_LOAD32(const void *p) { + uint32 t; + memcpy(&t, p, sizeof t); + return t; +} + +inline uint64 GOOGLE_UNALIGNED_LOAD64(const void *p) { + uint64 t; + memcpy(&t, p, sizeof t); + return t; +} + +inline void GOOGLE_UNALIGNED_STORE16(void *p, uint16 v) { + memcpy(p, &v, sizeof v); +} + +inline void GOOGLE_UNALIGNED_STORE32(void *p, uint32 v) { + memcpy(p, &v, sizeof v); +} + +inline void GOOGLE_UNALIGNED_STORE64(void *p, uint64 v) { + memcpy(p, &v, sizeof v); +} +#endif + +#if defined(_MSC_VER) +#define GOOGLE_THREAD_LOCAL __declspec(thread) +#else +#define GOOGLE_THREAD_LOCAL __thread +#endif + +// The following guarantees declaration of the byte swap functions. +#ifdef _MSC_VER +#define bswap_16(x) _byteswap_ushort(x) +#define bswap_32(x) _byteswap_ulong(x) +#define bswap_64(x) _byteswap_uint64(x) + +#elif defined(__APPLE__) +// Mac OS X / Darwin features +#define bswap_16(x) OSSwapInt16(x) +#define bswap_32(x) OSSwapInt32(x) +#define bswap_64(x) OSSwapInt64(x) + +#elif !defined(__GLIBC__) && !defined(__CYGWIN__) + +static inline uint16 bswap_16(uint16 x) { + return static_cast(((x & 0xFF) << 8) | ((x & 0xFF00) >> 8)); +} +#define bswap_16(x) bswap_16(x) +static inline uint32 bswap_32(uint32 x) { + return (((x & 0xFF) << 24) | + ((x & 0xFF00) << 8) | + ((x & 0xFF0000) >> 8) | + ((x & 0xFF000000) >> 24)); +} +#define bswap_32(x) bswap_32(x) +static inline uint64 bswap_64(uint64 x) { + return (((x & GOOGLE_ULONGLONG(0xFF)) << 56) | + ((x & GOOGLE_ULONGLONG(0xFF00)) << 40) | + ((x & GOOGLE_ULONGLONG(0xFF0000)) << 24) | + ((x & GOOGLE_ULONGLONG(0xFF000000)) << 8) | + ((x & GOOGLE_ULONGLONG(0xFF00000000)) >> 8) | + ((x & GOOGLE_ULONGLONG(0xFF0000000000)) >> 24) | + ((x & GOOGLE_ULONGLONG(0xFF000000000000)) >> 40) | + ((x & GOOGLE_ULONGLONG(0xFF00000000000000)) >> 56)); +} +#define bswap_64(x) bswap_64(x) + +#endif + +// =================================================================== +// from google3/util/bits/bits.h + +class Bits { + public: + static uint32 Log2FloorNonZero(uint32 n) { +#if defined(__GNUC__) + return 31 ^ __builtin_clz(n); +#elif defined(COMPILER_MSVC) && defined(_M_IX86) + _asm { + bsr ebx, n + mov n, ebx + } + return n; +#else + return Log2FloorNonZero_Portable(n); +#endif + } + + static uint64 Log2FloorNonZero64(uint64 n) { +#if defined(__GNUC__) + return 63 ^ __builtin_clzll(n); +#else + return Log2FloorNonZero64_Portable(n); +#endif + } + private: + static int Log2FloorNonZero_Portable(uint32 n) { + if (n == 0) + return -1; + int log = 0; + uint32 value = n; + for (int i = 4; i >= 0; --i) { + int shift = (1 << i); + uint32 x = value >> shift; + if (x != 0) { + value = x; + log += shift; + } + } + assert(value == 1); + return log; + } + + static int Log2FloorNonZero64_Portable(uint64 n) { + const uint32 topbits = static_cast(n >> 32); + if (topbits == 0) { + // Top bits are zero, so scan in bottom bits + return Log2FloorNonZero(static_cast(n)); + } else { + return 32 + Log2FloorNonZero(topbits); + } + } +}; + +// =================================================================== +// from google3/util/endian/endian.h +LIBPROTOBUF_EXPORT uint32 ghtonl(uint32 x); + +class BigEndian { + public: +#ifdef PROTOBUF_LITTLE_ENDIAN + + static uint16 FromHost16(uint16 x) { return bswap_16(x); } + static uint16 ToHost16(uint16 x) { return bswap_16(x); } + + static uint32 FromHost32(uint32 x) { return bswap_32(x); } + static uint32 ToHost32(uint32 x) { return bswap_32(x); } + + static uint64 FromHost64(uint64 x) { return bswap_64(x); } + static uint64 ToHost64(uint64 x) { return bswap_64(x); } + + static bool IsLittleEndian() { return true; } + +#else + + static uint16 FromHost16(uint16 x) { return x; } + static uint16 ToHost16(uint16 x) { return x; } + + static uint32 FromHost32(uint32 x) { return x; } + static uint32 ToHost32(uint32 x) { return x; } + + static uint64 FromHost64(uint64 x) { return x; } + static uint64 ToHost64(uint64 x) { return x; } + + static bool IsLittleEndian() { return false; } + +#endif /* ENDIAN */ + + // Functions to do unaligned loads and stores in big-endian order. + static uint16 Load16(const void *p) { + return ToHost16(GOOGLE_UNALIGNED_LOAD16(p)); + } + + static void Store16(void *p, uint16 v) { + GOOGLE_UNALIGNED_STORE16(p, FromHost16(v)); + } + + static uint32 Load32(const void *p) { + return ToHost32(GOOGLE_UNALIGNED_LOAD32(p)); + } + + static void Store32(void *p, uint32 v) { + GOOGLE_UNALIGNED_STORE32(p, FromHost32(v)); + } + + static uint64 Load64(const void *p) { + return ToHost64(GOOGLE_UNALIGNED_LOAD64(p)); + } + + static void Store64(void *p, uint64 v) { + GOOGLE_UNALIGNED_STORE64(p, FromHost64(v)); + } +}; + + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_PORT_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/scoped_ptr.h b/app/src/main/cpp/include/google/protobuf/stubs/scoped_ptr.h new file mode 100644 index 0000000..4423c11 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/scoped_ptr.h @@ -0,0 +1,236 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_STUBS_SCOPED_PTR_H_ +#define GOOGLE_PROTOBUF_STUBS_SCOPED_PTR_H_ + +#include + +namespace google { +namespace protobuf { + +// =================================================================== +// from google3/base/scoped_ptr.h + +namespace internal { + +// This is an implementation designed to match the anticipated future TR2 +// implementation of the scoped_ptr class, and its closely-related brethren, +// scoped_array, scoped_ptr_malloc, and make_scoped_ptr. + +template class scoped_ptr; +template class scoped_array; + +// A scoped_ptr is like a T*, except that the destructor of scoped_ptr +// automatically deletes the pointer it holds (if any). +// That is, scoped_ptr owns the T object that it points to. +// Like a T*, a scoped_ptr may hold either NULL or a pointer to a T object. +// +// The size of a scoped_ptr is small: +// sizeof(scoped_ptr) == sizeof(C*) +template +class scoped_ptr { + public: + + // The element type + typedef C element_type; + + // Constructor. Defaults to initializing with NULL. + // There is no way to create an uninitialized scoped_ptr. + // The input parameter must be allocated with new. + explicit scoped_ptr(C* p = NULL) : ptr_(p) { } + + // Destructor. If there is a C object, delete it. + // We don't need to test ptr_ == NULL because C++ does that for us. + ~scoped_ptr() { + enum { type_must_be_complete = sizeof(C) }; + delete ptr_; + } + + // Reset. Deletes the current owned object, if any. + // Then takes ownership of a new object, if given. + // this->reset(this->get()) works. + void reset(C* p = NULL) { + if (p != ptr_) { + enum { type_must_be_complete = sizeof(C) }; + delete ptr_; + ptr_ = p; + } + } + + // Accessors to get the owned object. + // operator* and operator-> will assert() if there is no current object. + C& operator*() const { + assert(ptr_ != NULL); + return *ptr_; + } + C* operator->() const { + assert(ptr_ != NULL); + return ptr_; + } + C* get() const { return ptr_; } + + // Comparison operators. + // These return whether two scoped_ptr refer to the same object, not just to + // two different but equal objects. + bool operator==(C* p) const { return ptr_ == p; } + bool operator!=(C* p) const { return ptr_ != p; } + + // Swap two scoped pointers. + void swap(scoped_ptr& p2) { + C* tmp = ptr_; + ptr_ = p2.ptr_; + p2.ptr_ = tmp; + } + + // Release a pointer. + // The return value is the current pointer held by this object. + // If this object holds a NULL pointer, the return value is NULL. + // After this operation, this object will hold a NULL pointer, + // and will not own the object any more. + C* release() { + C* retVal = ptr_; + ptr_ = NULL; + return retVal; + } + + private: + C* ptr_; + + // Forbid comparison of scoped_ptr types. If C2 != C, it totally doesn't + // make sense, and if C2 == C, it still doesn't make sense because you should + // never have the same object owned by two different scoped_ptrs. + template bool operator==(scoped_ptr const& p2) const; + template bool operator!=(scoped_ptr const& p2) const; + + // Disallow evil constructors + scoped_ptr(const scoped_ptr&); + void operator=(const scoped_ptr&); +}; + +// scoped_array is like scoped_ptr, except that the caller must allocate +// with new [] and the destructor deletes objects with delete []. +// +// As with scoped_ptr, a scoped_array either points to an object +// or is NULL. A scoped_array owns the object that it points to. +// +// Size: sizeof(scoped_array) == sizeof(C*) +template +class scoped_array { + public: + + // The element type + typedef C element_type; + + // Constructor. Defaults to initializing with NULL. + // There is no way to create an uninitialized scoped_array. + // The input parameter must be allocated with new []. + explicit scoped_array(C* p = NULL) : array_(p) { } + + // Destructor. If there is a C object, delete it. + // We don't need to test ptr_ == NULL because C++ does that for us. + ~scoped_array() { + enum { type_must_be_complete = sizeof(C) }; + delete[] array_; + } + + // Reset. Deletes the current owned object, if any. + // Then takes ownership of a new object, if given. + // this->reset(this->get()) works. + void reset(C* p = NULL) { + if (p != array_) { + enum { type_must_be_complete = sizeof(C) }; + delete[] array_; + array_ = p; + } + } + + // Get one element of the current object. + // Will assert() if there is no current object, or index i is negative. + C& operator[](std::ptrdiff_t i) const { + assert(i >= 0); + assert(array_ != NULL); + return array_[i]; + } + + // Get a pointer to the zeroth element of the current object. + // If there is no current object, return NULL. + C* get() const { + return array_; + } + + // Comparison operators. + // These return whether two scoped_array refer to the same object, not just to + // two different but equal objects. + bool operator==(C* p) const { return array_ == p; } + bool operator!=(C* p) const { return array_ != p; } + + // Swap two scoped arrays. + void swap(scoped_array& p2) { + C* tmp = array_; + array_ = p2.array_; + p2.array_ = tmp; + } + + // Release an array. + // The return value is the current pointer held by this object. + // If this object holds a NULL pointer, the return value is NULL. + // After this operation, this object will hold a NULL pointer, + // and will not own the object any more. + C* release() { + C* retVal = array_; + array_ = NULL; + return retVal; + } + + private: + C* array_; + + // Forbid comparison of different scoped_array types. + template bool operator==(scoped_array const& p2) const; + template bool operator!=(scoped_array const& p2) const; + + // Disallow evil constructors + scoped_array(const scoped_array&); + void operator=(const scoped_array&); +}; + +} // namespace internal + +// We made these internal so that they would show up as such in the docs, +// but we don't want to stick "internal::" in front of them everywhere. +using internal::scoped_ptr; +using internal::scoped_array; + + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_SCOPED_PTR_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/shared_ptr.h b/app/src/main/cpp/include/google/protobuf/stubs/shared_ptr.h new file mode 100644 index 0000000..d250bf4 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/shared_ptr.h @@ -0,0 +1,470 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2014 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// from google3/util/gtl/shared_ptr.h + +#ifndef GOOGLE_PROTOBUF_STUBS_SHARED_PTR_H__ +#define GOOGLE_PROTOBUF_STUBS_SHARED_PTR_H__ + +#include + +#include // for swap +#include +#include + +namespace google { +namespace protobuf { +namespace internal { + +// Alias to std::shared_ptr for any C++11 platform, +// and for any supported MSVC compiler. +#if !defined(UTIL_GTL_USE_STD_SHARED_PTR) && \ + (defined(COMPILER_MSVC) || defined(LANG_CXX11)) +#define UTIL_GTL_USE_STD_SHARED_PTR 1 +#endif + +#if defined(UTIL_GTL_USE_STD_SHARED_PTR) && UTIL_GTL_USE_STD_SHARED_PTR + +// These are transitional. They will be going away soon. +// Please just #include and just type std::shared_ptr yourself, instead +// of relying on this file. +// +// Migration doc: http://go/std-shared-ptr-lsc +using std::enable_shared_from_this; +using std::shared_ptr; +using std::static_pointer_cast; +using std::weak_ptr; + +#else // below, UTIL_GTL_USE_STD_SHARED_PTR not set or set to 0. + +// For everything else there is the google3 implementation. +inline bool RefCountDec(volatile Atomic32 *ptr) { + return Barrier_AtomicIncrement(ptr, -1) != 0; +} + +inline void RefCountInc(volatile Atomic32 *ptr) { + NoBarrier_AtomicIncrement(ptr, 1); +} + +template class shared_ptr; +template class weak_ptr; + +// This class is an internal implementation detail for shared_ptr. If two +// shared_ptrs point to the same object, they also share a control block. +// An "empty" shared_pointer refers to NULL and also has a NULL control block. +// It contains all of the state that's needed for reference counting or any +// other kind of resource management. In this implementation the control block +// happens to consist of two atomic words, the reference count (the number +// of shared_ptrs that share ownership of the object) and the weak count +// (the number of weak_ptrs that observe the object, plus 1 if the +// refcount is nonzero). +// +// The "plus 1" is to prevent a race condition in the shared_ptr and +// weak_ptr destructors. We need to make sure the control block is +// only deleted once, so we need to make sure that at most one +// object sees the weak count decremented from 1 to 0. +class SharedPtrControlBlock { + template friend class shared_ptr; + template friend class weak_ptr; + private: + SharedPtrControlBlock() : refcount_(1), weak_count_(1) { } + Atomic32 refcount_; + Atomic32 weak_count_; +}; + +// Forward declaration. The class is defined below. +template class enable_shared_from_this; + +template +class shared_ptr { + template friend class weak_ptr; + public: + typedef T element_type; + + shared_ptr() : ptr_(NULL), control_block_(NULL) {} + + explicit shared_ptr(T* ptr) + : ptr_(ptr), + control_block_(ptr != NULL ? new SharedPtrControlBlock : NULL) { + // If p is non-null and T inherits from enable_shared_from_this, we + // set up the data that shared_from_this needs. + MaybeSetupWeakThis(ptr); + } + + // Copy constructor: makes this object a copy of ptr, and increments + // the reference count. + template + shared_ptr(const shared_ptr& ptr) + : ptr_(NULL), + control_block_(NULL) { + Initialize(ptr); + } + // Need non-templated version to prevent the compiler-generated default + shared_ptr(const shared_ptr& ptr) + : ptr_(NULL), + control_block_(NULL) { + Initialize(ptr); + } + + // Assignment operator. Replaces the existing shared_ptr with ptr. + // Increment ptr's reference count and decrement the one being replaced. + template + shared_ptr& operator=(const shared_ptr& ptr) { + if (ptr_ != ptr.ptr_) { + shared_ptr me(ptr); // will hold our previous state to be destroyed. + swap(me); + } + return *this; + } + + // Need non-templated version to prevent the compiler-generated default + shared_ptr& operator=(const shared_ptr& ptr) { + if (ptr_ != ptr.ptr_) { + shared_ptr me(ptr); // will hold our previous state to be destroyed. + swap(me); + } + return *this; + } + + // TODO(austern): Consider providing this constructor. The draft C++ standard + // (20.8.10.2.1) includes it. However, it says that this constructor throws + // a bad_weak_ptr exception when ptr is expired. Is it better to provide this + // constructor and make it do something else, like fail with a CHECK, or to + // leave this constructor out entirely? + // + // template + // shared_ptr(const weak_ptr& ptr); + + ~shared_ptr() { + if (ptr_ != NULL) { + if (!RefCountDec(&control_block_->refcount_)) { + delete ptr_; + + // weak_count_ is defined as the number of weak_ptrs that observe + // ptr_, plus 1 if refcount_ is nonzero. + if (!RefCountDec(&control_block_->weak_count_)) { + delete control_block_; + } + } + } + } + + // Replaces underlying raw pointer with the one passed in. The reference + // count is set to one (or zero if the pointer is NULL) for the pointer + // being passed in and decremented for the one being replaced. + // + // If you have a compilation error with this code, make sure you aren't + // passing NULL, nullptr, or 0 to this function. Call reset without an + // argument to reset to a null ptr. + template + void reset(Y* p) { + if (p != ptr_) { + shared_ptr tmp(p); + tmp.swap(*this); + } + } + + void reset() { + reset(static_cast(NULL)); + } + + // Exchanges the contents of this with the contents of r. This function + // supports more efficient swapping since it eliminates the need for a + // temporary shared_ptr object. + void swap(shared_ptr& r) { + using std::swap; // http://go/using-std-swap + swap(ptr_, r.ptr_); + swap(control_block_, r.control_block_); + } + + // The following function is useful for gaining access to the underlying + // pointer when a shared_ptr remains in scope so the reference-count is + // known to be > 0 (e.g. for parameter passing). + T* get() const { + return ptr_; + } + + T& operator*() const { + return *ptr_; + } + + T* operator->() const { + return ptr_; + } + + long use_count() const { + return control_block_ ? control_block_->refcount_ : 1; + } + + bool unique() const { + return use_count() == 1; + } + + private: + // If r is non-empty, initialize *this to share ownership with r, + // increasing the underlying reference count. + // If r is empty, *this remains empty. + // Requires: this is empty, namely this->ptr_ == NULL. + template + void Initialize(const shared_ptr& r) { + // This performs a static_cast on r.ptr_ to U*, which is a no-op since it + // is already a U*. So initialization here requires that r.ptr_ is + // implicitly convertible to T*. + InitializeWithStaticCast(r); + } + + // Initializes *this as described in Initialize, but additionally performs a + // static_cast from r.ptr_ (V*) to U*. + // NOTE(gfc): We'd need a more general form to support const_pointer_cast and + // dynamic_pointer_cast, but those operations are sufficiently discouraged + // that supporting static_pointer_cast is sufficient. + template + void InitializeWithStaticCast(const shared_ptr& r) { + if (r.control_block_ != NULL) { + RefCountInc(&r.control_block_->refcount_); + + ptr_ = static_cast(r.ptr_); + control_block_ = r.control_block_; + } + } + + // Helper function for the constructor that takes a raw pointer. If T + // doesn't inherit from enable_shared_from_this then we have nothing to + // do, so this function is trivial and inline. The other version is declared + // out of line, after the class definition of enable_shared_from_this. + void MaybeSetupWeakThis(enable_shared_from_this* ptr); + void MaybeSetupWeakThis(...) { } + + T* ptr_; + SharedPtrControlBlock* control_block_; + +#ifndef SWIG + template + friend class shared_ptr; + + template + friend shared_ptr static_pointer_cast(const shared_ptr& rhs); +#endif +}; + +// Matches the interface of std::swap as an aid to generic programming. +template void swap(shared_ptr& r, shared_ptr& s) { + r.swap(s); +} + +template +shared_ptr static_pointer_cast(const shared_ptr& rhs) { + shared_ptr lhs; + lhs.template InitializeWithStaticCast(rhs); + return lhs; +} + +// See comments at the top of the file for a description of why this +// class exists, and the draft C++ standard (as of July 2009 the +// latest draft is N2914) for the detailed specification. +template +class weak_ptr { + template friend class weak_ptr; + public: + typedef T element_type; + + // Create an empty (i.e. already expired) weak_ptr. + weak_ptr() : ptr_(NULL), control_block_(NULL) { } + + // Create a weak_ptr that observes the same object that ptr points + // to. Note that there is no race condition here: we know that the + // control block can't disappear while we're looking at it because + // it is owned by at least one shared_ptr, ptr. + template weak_ptr(const shared_ptr& ptr) { + CopyFrom(ptr.ptr_, ptr.control_block_); + } + + // Copy a weak_ptr. The object it points to might disappear, but we + // don't care: we're only working with the control block, and it can't + // disappear while we're looking at because it's owned by at least one + // weak_ptr, ptr. + template weak_ptr(const weak_ptr& ptr) { + CopyFrom(ptr.ptr_, ptr.control_block_); + } + + // Need non-templated version to prevent default copy constructor + weak_ptr(const weak_ptr& ptr) { + CopyFrom(ptr.ptr_, ptr.control_block_); + } + + // Destroy the weak_ptr. If no shared_ptr owns the control block, and if + // we are the last weak_ptr to own it, then it can be deleted. Note that + // weak_count_ is defined as the number of weak_ptrs sharing this control + // block, plus 1 if there are any shared_ptrs. We therefore know that it's + // safe to delete the control block when weak_count_ reaches 0, without + // having to perform any additional tests. + ~weak_ptr() { + if (control_block_ != NULL && + !RefCountDec(&control_block_->weak_count_)) { + delete control_block_; + } + } + + weak_ptr& operator=(const weak_ptr& ptr) { + if (&ptr != this) { + weak_ptr tmp(ptr); + tmp.swap(*this); + } + return *this; + } + template weak_ptr& operator=(const weak_ptr& ptr) { + weak_ptr tmp(ptr); + tmp.swap(*this); + return *this; + } + template weak_ptr& operator=(const shared_ptr& ptr) { + weak_ptr tmp(ptr); + tmp.swap(*this); + return *this; + } + + void swap(weak_ptr& ptr) { + using std::swap; // http://go/using-std-swap + swap(ptr_, ptr.ptr_); + swap(control_block_, ptr.control_block_); + } + + void reset() { + weak_ptr tmp; + tmp.swap(*this); + } + + // Return the number of shared_ptrs that own the object we are observing. + // Note that this number can be 0 (if this pointer has expired). + long use_count() const { + return control_block_ != NULL ? control_block_->refcount_ : 0; + } + + bool expired() const { return use_count() == 0; } + + // Return a shared_ptr that owns the object we are observing. If we + // have expired, the shared_ptr will be empty. We have to be careful + // about concurrency, though, since some other thread might be + // destroying the last owning shared_ptr while we're in this + // function. We want to increment the refcount only if it's nonzero + // and get the new value, and we want that whole operation to be + // atomic. + shared_ptr lock() const { + shared_ptr result; + if (control_block_ != NULL) { + Atomic32 old_refcount; + do { + old_refcount = control_block_->refcount_; + if (old_refcount == 0) + break; + } while (old_refcount != + NoBarrier_CompareAndSwap( + &control_block_->refcount_, old_refcount, + old_refcount + 1)); + if (old_refcount > 0) { + result.ptr_ = ptr_; + result.control_block_ = control_block_; + } + } + + return result; + } + + private: + void CopyFrom(T* ptr, SharedPtrControlBlock* control_block) { + ptr_ = ptr; + control_block_ = control_block; + if (control_block_ != NULL) + RefCountInc(&control_block_->weak_count_); + } + + private: + element_type* ptr_; + SharedPtrControlBlock* control_block_; +}; + +template void swap(weak_ptr& r, weak_ptr& s) { + r.swap(s); +} + +// See comments at the top of the file for a description of why this class +// exists, and section 20.8.10.5 of the draft C++ standard (as of July 2009 +// the latest draft is N2914) for the detailed specification. +template +class enable_shared_from_this { + friend class shared_ptr; + public: + // Precondition: there must be a shared_ptr that owns *this and that was + // created, directly or indirectly, from a raw pointer of type T*. (The + // latter part of the condition is technical but not quite redundant; it + // rules out some complicated uses involving inheritance hierarchies.) + shared_ptr shared_from_this() { + // Behavior is undefined if the precondition isn't satisfied; we choose + // to die with a CHECK failure. + CHECK(!weak_this_.expired()) << "No shared_ptr owns this object"; + return weak_this_.lock(); + } + shared_ptr shared_from_this() const { + CHECK(!weak_this_.expired()) << "No shared_ptr owns this object"; + return weak_this_.lock(); + } + + protected: + enable_shared_from_this() { } + enable_shared_from_this(const enable_shared_from_this& other) { } + enable_shared_from_this& operator=(const enable_shared_from_this& other) { + return *this; + } + ~enable_shared_from_this() { } + + private: + weak_ptr weak_this_; +}; + +// This is a helper function called by shared_ptr's constructor from a raw +// pointer. If T inherits from enable_shared_from_this, it sets up +// weak_this_ so that shared_from_this works correctly. If T does not inherit +// from weak_this we get a different overload, defined inline, which does +// nothing. +template +void shared_ptr::MaybeSetupWeakThis(enable_shared_from_this* ptr) { + if (ptr) { + CHECK(ptr->weak_this_.expired()) << "Object already owned by a shared_ptr"; + ptr->weak_this_ = *this; + } +} + +#endif // UTIL_GTL_USE_STD_SHARED_PTR + +} // internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_SHARED_PTR_H__ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/singleton.h b/app/src/main/cpp/include/google/protobuf/stubs/singleton.h new file mode 100644 index 0000000..9301f54 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/singleton.h @@ -0,0 +1,68 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2014 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#ifndef GOOGLE_PROTOBUF_STUBS_SINGLETON_H__ +#define GOOGLE_PROTOBUF_STUBS_SINGLETON_H__ + +#include +#include +#include + +namespace google { +namespace protobuf { +namespace internal { +template +class Singleton { + public: + static T* get() { + GoogleOnceInit(&once_, &Singleton::Init); + return instance_; + } + static void ShutDown() { + delete instance_; + instance_ = NULL; + } + private: + static void Init() { + instance_ = new T(); + } + static ProtobufOnceType once_; + static T* instance_; +}; + +template +ProtobufOnceType Singleton::once_; + +template +T* Singleton::instance_ = NULL; +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_SINGLETON_H__ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/status.h b/app/src/main/cpp/include/google/protobuf/stubs/status.h new file mode 100644 index 0000000..614ab99 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/status.h @@ -0,0 +1,116 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#ifndef GOOGLE_PROTOBUF_STUBS_STATUS_H_ +#define GOOGLE_PROTOBUF_STUBS_STATUS_H_ + +#include +#include + +#include +#include + +namespace google { +namespace protobuf { +namespace util { +namespace error { +// These values must match error codes defined in google/rpc/code.proto. +enum Code { + OK = 0, + CANCELLED = 1, + UNKNOWN = 2, + INVALID_ARGUMENT = 3, + DEADLINE_EXCEEDED = 4, + NOT_FOUND = 5, + ALREADY_EXISTS = 6, + PERMISSION_DENIED = 7, + UNAUTHENTICATED = 16, + RESOURCE_EXHAUSTED = 8, + FAILED_PRECONDITION = 9, + ABORTED = 10, + OUT_OF_RANGE = 11, + UNIMPLEMENTED = 12, + INTERNAL = 13, + UNAVAILABLE = 14, + DATA_LOSS = 15, +}; +} // namespace error + +class LIBPROTOBUF_EXPORT Status { + public: + // Creates a "successful" status. + Status(); + + // Create a status in the canonical error space with the specified + // code, and error message. If "code == 0", error_message is + // ignored and a Status object identical to Status::OK is + // constructed. + Status(error::Code error_code, StringPiece error_message); + Status(const Status&); + Status& operator=(const Status& x); + ~Status() {} + + // Some pre-defined Status objects + static const Status OK; // Identical to 0-arg constructor + static const Status CANCELLED; + static const Status UNKNOWN; + + // Accessor + bool ok() const { + return error_code_ == error::OK; + } + int error_code() const { + return error_code_; + } + StringPiece error_message() const { + return error_message_; + } + + bool operator==(const Status& x) const; + bool operator!=(const Status& x) const { + return !operator==(x); + } + + // Return a combination of the error code name and message. + string ToString() const; + + private: + error::Code error_code_; + string error_message_; +}; + +// Prints a human-readable representation of 'x' to 'os'. +LIBPROTOBUF_EXPORT ostream& operator<<(ostream& os, const Status& x); + +#define EXPECT_OK(value) EXPECT_TRUE((value).ok()) + +} // namespace util +} // namespace protobuf +} // namespace google +#endif // GOOGLE_PROTOBUF_STUBS_STATUS_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/stl_util.h b/app/src/main/cpp/include/google/protobuf/stubs/stl_util.h new file mode 100644 index 0000000..9e4c82a --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/stl_util.h @@ -0,0 +1,121 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// from google3/util/gtl/stl_util.h + +#ifndef GOOGLE_PROTOBUF_STUBS_STL_UTIL_H__ +#define GOOGLE_PROTOBUF_STUBS_STL_UTIL_H__ + +#include + +namespace google { +namespace protobuf { + +// STLDeleteContainerPointers() +// For a range within a container of pointers, calls delete +// (non-array version) on these pointers. +// NOTE: for these three functions, we could just implement a DeleteObject +// functor and then call for_each() on the range and functor, but this +// requires us to pull in all of algorithm.h, which seems expensive. +// For hash_[multi]set, it is important that this deletes behind the iterator +// because the hash_set may call the hash function on the iterator when it is +// advanced, which could result in the hash function trying to deference a +// stale pointer. +template +void STLDeleteContainerPointers(ForwardIterator begin, + ForwardIterator end) { + while (begin != end) { + ForwardIterator temp = begin; + ++begin; + delete *temp; + } +} + +// Inside Google, this function implements a horrible, disgusting hack in which +// we reach into the string's private implementation and resize it without +// initializing the new bytes. In some cases doing this can significantly +// improve performance. However, since it's totally non-portable it has no +// place in open source code. Feel free to fill this function in with your +// own disgusting hack if you want the perf boost. +inline void STLStringResizeUninitialized(string* s, size_t new_size) { + s->resize(new_size); +} + +// Return a mutable char* pointing to a string's internal buffer, +// which may not be null-terminated. Writing through this pointer will +// modify the string. +// +// string_as_array(&str)[i] is valid for 0 <= i < str.size() until the +// next call to a string method that invalidates iterators. +// +// As of 2006-04, there is no standard-blessed way of getting a +// mutable reference to a string's internal buffer. However, issue 530 +// (http://www.open-std.org/JTC1/SC22/WG21/docs/lwg-active.html#530) +// proposes this as the method. According to Matt Austern, this should +// already work on all current implementations. +inline char* string_as_array(string* str) { + // DO NOT USE const_cast(str->data())! See the unittest for why. + return str->empty() ? NULL : &*str->begin(); +} + +// STLDeleteElements() deletes all the elements in an STL container and clears +// the container. This function is suitable for use with a vector, set, +// hash_set, or any other STL container which defines sensible begin(), end(), +// and clear() methods. +// +// If container is NULL, this function is a no-op. +// +// As an alternative to calling STLDeleteElements() directly, consider +// ElementDeleter (defined below), which ensures that your container's elements +// are deleted when the ElementDeleter goes out of scope. +template +void STLDeleteElements(T *container) { + if (!container) return; + STLDeleteContainerPointers(container->begin(), container->end()); + container->clear(); +} + +// Given an STL container consisting of (key, value) pairs, STLDeleteValues +// deletes all the "value" components and clears the container. Does nothing +// in the case it's given a NULL pointer. + +template +void STLDeleteValues(T *v) { + if (!v) return; + for (typename T::iterator i = v->begin(); i != v->end(); ++i) { + delete i->second; + } + v->clear(); +} + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_STL_UTIL_H__ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/stringpiece.h b/app/src/main/cpp/include/google/protobuf/stubs/stringpiece.h new file mode 100644 index 0000000..8910688 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/stringpiece.h @@ -0,0 +1,483 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// A StringPiece points to part or all of a string, Cord, double-quoted string +// literal, or other string-like object. A StringPiece does *not* own the +// string to which it points. A StringPiece is not null-terminated. +// +// You can use StringPiece as a function or method parameter. A StringPiece +// parameter can receive a double-quoted string literal argument, a "const +// char*" argument, a string argument, or a StringPiece argument with no data +// copying. Systematic use of StringPiece for arguments reduces data +// copies and strlen() calls. +// +// Prefer passing StringPieces by value: +// void MyFunction(StringPiece arg); +// If circumstances require, you may also pass by const reference: +// void MyFunction(const StringPiece& arg); // not preferred +// Both of these have the same lifetime semantics. Passing by value +// generates slightly smaller code. For more discussion, see the thread +// go/stringpiecebyvalue on c-users. +// +// StringPiece is also suitable for local variables if you know that +// the lifetime of the underlying object is longer than the lifetime +// of your StringPiece variable. +// +// Beware of binding a StringPiece to a temporary: +// StringPiece sp = obj.MethodReturningString(); // BAD: lifetime problem +// +// This code is okay: +// string str = obj.MethodReturningString(); // str owns its contents +// StringPiece sp(str); // GOOD, because str outlives sp +// +// StringPiece is sometimes a poor choice for a return value and usually a poor +// choice for a data member. If you do use a StringPiece this way, it is your +// responsibility to ensure that the object pointed to by the StringPiece +// outlives the StringPiece. +// +// A StringPiece may represent just part of a string; thus the name "Piece". +// For example, when splitting a string, vector is a natural data +// type for the output. For another example, a Cord is a non-contiguous, +// potentially very long string-like object. The Cord class has an interface +// that iteratively provides StringPiece objects that point to the +// successive pieces of a Cord object. +// +// A StringPiece is not null-terminated. If you write code that scans a +// StringPiece, you must check its length before reading any characters. +// Common idioms that work on null-terminated strings do not work on +// StringPiece objects. +// +// There are several ways to create a null StringPiece: +// StringPiece() +// StringPiece(NULL) +// StringPiece(NULL, 0) +// For all of the above, sp.data() == NULL, sp.length() == 0, +// and sp.empty() == true. Also, if you create a StringPiece with +// a non-NULL pointer then sp.data() != NULL. Once created, +// sp.data() will stay either NULL or not-NULL, except if you call +// sp.clear() or sp.set(). +// +// Thus, you can use StringPiece(NULL) to signal an out-of-band value +// that is different from other StringPiece values. This is similar +// to the way that const char* p1 = NULL; is different from +// const char* p2 = "";. +// +// There are many ways to create an empty StringPiece: +// StringPiece() +// StringPiece(NULL) +// StringPiece(NULL, 0) +// StringPiece("") +// StringPiece("", 0) +// StringPiece("abcdef", 0) +// StringPiece("abcdef"+6, 0) +// For all of the above, sp.length() will be 0 and sp.empty() will be true. +// For some empty StringPiece values, sp.data() will be NULL. +// For some empty StringPiece values, sp.data() will not be NULL. +// +// Be careful not to confuse: null StringPiece and empty StringPiece. +// The set of empty StringPieces properly includes the set of null StringPieces. +// That is, every null StringPiece is an empty StringPiece, +// but some non-null StringPieces are empty Stringpieces too. +// +// All empty StringPiece values compare equal to each other. +// Even a null StringPieces compares equal to a non-null empty StringPiece: +// StringPiece() == StringPiece("", 0) +// StringPiece(NULL) == StringPiece("abc", 0) +// StringPiece(NULL, 0) == StringPiece("abcdef"+6, 0) +// +// Look carefully at this example: +// StringPiece("") == NULL +// True or false? TRUE, because StringPiece::operator== converts +// the right-hand side from NULL to StringPiece(NULL), +// and then compares two zero-length spans of characters. +// However, we are working to make this example produce a compile error. +// +// Suppose you want to write: +// bool TestWhat?(StringPiece sp) { return sp == NULL; } // BAD +// Do not do that. Write one of these instead: +// bool TestNull(StringPiece sp) { return sp.data() == NULL; } +// bool TestEmpty(StringPiece sp) { return sp.empty(); } +// The intent of TestWhat? is unclear. Did you mean TestNull or TestEmpty? +// Right now, TestWhat? behaves likes TestEmpty. +// We are working to make TestWhat? produce a compile error. +// TestNull is good to test for an out-of-band signal. +// TestEmpty is good to test for an empty StringPiece. +// +// Caveats (again): +// (1) The lifetime of the pointed-to string (or piece of a string) +// must be longer than the lifetime of the StringPiece. +// (2) There may or may not be a '\0' character after the end of +// StringPiece data. +// (3) A null StringPiece is empty. +// An empty StringPiece may or may not be a null StringPiece. + +#ifndef GOOGLE_PROTOBUF_STUBS_STRINGPIECE_H_ +#define GOOGLE_PROTOBUF_STUBS_STRINGPIECE_H_ + +#include +#include +#include +#include +#include +#include + +#include +#include + +namespace google { +namespace protobuf { +// StringPiece has *two* size types. +// StringPiece::size_type +// is unsigned +// is 32 bits in LP32, 64 bits in LP64, 64 bits in LLP64 +// no future changes intended +// stringpiece_ssize_type +// is signed +// is 32 bits in LP32, 64 bits in LP64, 64 bits in LLP64 +// future changes intended: http://go/64BitStringPiece +// +typedef string::difference_type stringpiece_ssize_type; + +// STRINGPIECE_CHECK_SIZE protects us from 32-bit overflows. +// TODO(mec): delete this after stringpiece_ssize_type goes 64 bit. +#if !defined(NDEBUG) +#define STRINGPIECE_CHECK_SIZE 1 +#elif defined(_FORTIFY_SOURCE) && _FORTIFY_SOURCE > 0 +#define STRINGPIECE_CHECK_SIZE 1 +#else +#define STRINGPIECE_CHECK_SIZE 0 +#endif + +class LIBPROTOBUF_EXPORT StringPiece { + private: + const char* ptr_; + stringpiece_ssize_type length_; + + // Prevent overflow in debug mode or fortified mode. + // sizeof(stringpiece_ssize_type) may be smaller than sizeof(size_t). + static stringpiece_ssize_type CheckedSsizeTFromSizeT(size_t size) { +#if STRINGPIECE_CHECK_SIZE > 0 +#ifdef max +#undef max +#endif + if (size > static_cast( + std::numeric_limits::max())) { + // Some people grep for this message in logs + // so take care if you ever change it. + LogFatalSizeTooBig(size, "size_t to int conversion"); + } +#endif + return static_cast(size); + } + + // Out-of-line error path. + static void LogFatalSizeTooBig(size_t size, const char* details); + + public: + // We provide non-explicit singleton constructors so users can pass + // in a "const char*" or a "string" wherever a "StringPiece" is + // expected. + // + // Style guide exception granted: + // http://goto/style-guide-exception-20978288 + StringPiece() : ptr_(NULL), length_(0) {} + + StringPiece(const char* str) // NOLINT(runtime/explicit) + : ptr_(str), length_(0) { + if (str != NULL) { + length_ = CheckedSsizeTFromSizeT(strlen(str)); + } + } + + template + StringPiece( // NOLINT(runtime/explicit) + const std::basic_string, Allocator>& str) + : ptr_(str.data()), length_(0) { + length_ = CheckedSsizeTFromSizeT(str.size()); + } + + StringPiece(const char* offset, stringpiece_ssize_type len) + : ptr_(offset), length_(len) { + assert(len >= 0); + } + + // Substring of another StringPiece. + // pos must be non-negative and <= x.length(). + StringPiece(StringPiece x, stringpiece_ssize_type pos); + // Substring of another StringPiece. + // pos must be non-negative and <= x.length(). + // len must be non-negative and will be pinned to at most x.length() - pos. + StringPiece(StringPiece x, + stringpiece_ssize_type pos, + stringpiece_ssize_type len); + + // data() may return a pointer to a buffer with embedded NULs, and the + // returned buffer may or may not be null terminated. Therefore it is + // typically a mistake to pass data() to a routine that expects a NUL + // terminated string. + const char* data() const { return ptr_; } + stringpiece_ssize_type size() const { return length_; } + stringpiece_ssize_type length() const { return length_; } + bool empty() const { return length_ == 0; } + + void clear() { + ptr_ = NULL; + length_ = 0; + } + + void set(const char* data, stringpiece_ssize_type len) { + assert(len >= 0); + ptr_ = data; + length_ = len; + } + + void set(const char* str) { + ptr_ = str; + if (str != NULL) + length_ = CheckedSsizeTFromSizeT(strlen(str)); + else + length_ = 0; + } + + void set(const void* data, stringpiece_ssize_type len) { + ptr_ = reinterpret_cast(data); + length_ = len; + } + + char operator[](stringpiece_ssize_type i) const { + assert(0 <= i); + assert(i < length_); + return ptr_[i]; + } + + void remove_prefix(stringpiece_ssize_type n) { + assert(length_ >= n); + ptr_ += n; + length_ -= n; + } + + void remove_suffix(stringpiece_ssize_type n) { + assert(length_ >= n); + length_ -= n; + } + + // returns {-1, 0, 1} + int compare(StringPiece x) const { + const stringpiece_ssize_type min_size = + length_ < x.length_ ? length_ : x.length_; + int r = memcmp(ptr_, x.ptr_, min_size); + if (r < 0) return -1; + if (r > 0) return 1; + if (length_ < x.length_) return -1; + if (length_ > x.length_) return 1; + return 0; + } + + string as_string() const { + return ToString(); + } + // We also define ToString() here, since many other string-like + // interfaces name the routine that converts to a C++ string + // "ToString", and it's confusing to have the method that does that + // for a StringPiece be called "as_string()". We also leave the + // "as_string()" method defined here for existing code. + string ToString() const { + if (ptr_ == NULL) return string(); + return string(data(), size()); + } + + operator string() const { + return ToString(); + } + + void CopyToString(string* target) const; + void AppendToString(string* target) const; + + bool starts_with(StringPiece x) const { + return (length_ >= x.length_) && (memcmp(ptr_, x.ptr_, x.length_) == 0); + } + + bool ends_with(StringPiece x) const { + return ((length_ >= x.length_) && + (memcmp(ptr_ + (length_-x.length_), x.ptr_, x.length_) == 0)); + } + + // Checks whether StringPiece starts with x and if so advances the beginning + // of it to past the match. It's basically a shortcut for starts_with + // followed by remove_prefix. + bool Consume(StringPiece x); + // Like above but for the end of the string. + bool ConsumeFromEnd(StringPiece x); + + // standard STL container boilerplate + typedef char value_type; + typedef const char* pointer; + typedef const char& reference; + typedef const char& const_reference; + typedef size_t size_type; + typedef ptrdiff_t difference_type; + static const size_type npos; + typedef const char* const_iterator; + typedef const char* iterator; + typedef std::reverse_iterator const_reverse_iterator; + typedef std::reverse_iterator reverse_iterator; + iterator begin() const { return ptr_; } + iterator end() const { return ptr_ + length_; } + const_reverse_iterator rbegin() const { + return const_reverse_iterator(ptr_ + length_); + } + const_reverse_iterator rend() const { + return const_reverse_iterator(ptr_); + } + stringpiece_ssize_type max_size() const { return length_; } + stringpiece_ssize_type capacity() const { return length_; } + + // cpplint.py emits a false positive [build/include_what_you_use] + stringpiece_ssize_type copy(char* buf, size_type n, size_type pos = 0) const; // NOLINT + + bool contains(StringPiece s) const; + + stringpiece_ssize_type find(StringPiece s, size_type pos = 0) const; + stringpiece_ssize_type find(char c, size_type pos = 0) const; + stringpiece_ssize_type rfind(StringPiece s, size_type pos = npos) const; + stringpiece_ssize_type rfind(char c, size_type pos = npos) const; + + stringpiece_ssize_type find_first_of(StringPiece s, size_type pos = 0) const; + stringpiece_ssize_type find_first_of(char c, size_type pos = 0) const { + return find(c, pos); + } + stringpiece_ssize_type find_first_not_of(StringPiece s, + size_type pos = 0) const; + stringpiece_ssize_type find_first_not_of(char c, size_type pos = 0) const; + stringpiece_ssize_type find_last_of(StringPiece s, + size_type pos = npos) const; + stringpiece_ssize_type find_last_of(char c, size_type pos = npos) const { + return rfind(c, pos); + } + stringpiece_ssize_type find_last_not_of(StringPiece s, + size_type pos = npos) const; + stringpiece_ssize_type find_last_not_of(char c, size_type pos = npos) const; + + StringPiece substr(size_type pos, size_type n = npos) const; +}; + +// This large function is defined inline so that in a fairly common case where +// one of the arguments is a literal, the compiler can elide a lot of the +// following comparisons. +inline bool operator==(StringPiece x, StringPiece y) { + stringpiece_ssize_type len = x.size(); + if (len != y.size()) { + return false; + } + + return x.data() == y.data() || len <= 0 || + memcmp(x.data(), y.data(), len) == 0; +} + +inline bool operator!=(StringPiece x, StringPiece y) { + return !(x == y); +} + +inline bool operator<(StringPiece x, StringPiece y) { + const stringpiece_ssize_type min_size = + x.size() < y.size() ? x.size() : y.size(); + const int r = memcmp(x.data(), y.data(), min_size); + return (r < 0) || (r == 0 && x.size() < y.size()); +} + +inline bool operator>(StringPiece x, StringPiece y) { + return y < x; +} + +inline bool operator<=(StringPiece x, StringPiece y) { + return !(x > y); +} + +inline bool operator>=(StringPiece x, StringPiece y) { + return !(x < y); +} + +// allow StringPiece to be logged +extern std::ostream& operator<<(std::ostream& o, StringPiece piece); + +namespace internal { +// StringPiece is not a POD and can not be used in an union (pre C++11). We +// need a POD version of it. +struct StringPiecePod { + // Create from a StringPiece. + static StringPiecePod CreateFromStringPiece(StringPiece str) { + StringPiecePod pod; + pod.data_ = str.data(); + pod.size_ = str.size(); + return pod; + } + + // Cast to StringPiece. + operator StringPiece() const { return StringPiece(data_, size_); } + + bool operator==(const char* value) const { + return StringPiece(data_, size_) == StringPiece(value); + } + + char operator[](stringpiece_ssize_type i) const { + assert(0 <= i); + assert(i < size_); + return data_[i]; + } + + const char* data() const { return data_; } + + stringpiece_ssize_type size() const { + return size_; + } + + std::string ToString() const { return std::string(data_, size_); } + private: + const char* data_; + stringpiece_ssize_type size_; +}; + +} // namespace internal +} // namespace protobuf +} // namespace google + +GOOGLE_PROTOBUF_HASH_NAMESPACE_DECLARATION_START +template<> struct hash { + size_t operator()(const StringPiece& s) const { + size_t result = 0; + for (const char *str = s.data(), *end = str + s.size(); str < end; str++) { + result = 5 * result + *str; + } + return result; + } +}; +GOOGLE_PROTOBUF_HASH_NAMESPACE_DECLARATION_END + +#endif // STRINGS_STRINGPIECE_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/template_util.h b/app/src/main/cpp/include/google/protobuf/stubs/template_util.h new file mode 100644 index 0000000..feef904 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/template_util.h @@ -0,0 +1,138 @@ +// Copyright 2005 Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// ---- +// Author: lar@google.com (Laramie Leavitt) +// +// Template metaprogramming utility functions. +// +// This code is compiled directly on many platforms, including client +// platforms like Windows, Mac, and embedded systems. Before making +// any changes here, make sure that you're not breaking any platforms. +// +// +// The names chosen here reflect those used in tr1 and the boost::mpl +// library, there are similar operations used in the Loki library as +// well. I prefer the boost names for 2 reasons: +// 1. I think that portions of the Boost libraries are more likely to +// be included in the c++ standard. +// 2. It is not impossible that some of the boost libraries will be +// included in our own build in the future. +// Both of these outcomes means that we may be able to directly replace +// some of these with boost equivalents. +// +#ifndef GOOGLE_PROTOBUF_TEMPLATE_UTIL_H_ +#define GOOGLE_PROTOBUF_TEMPLATE_UTIL_H_ + +namespace google { +namespace protobuf { +namespace internal { + +// Types small_ and big_ are guaranteed such that sizeof(small_) < +// sizeof(big_) +typedef char small_; + +struct big_ { + char dummy[2]; +}; + +// Identity metafunction. +template +struct identity_ { + typedef T type; +}; + +// integral_constant, defined in tr1, is a wrapper for an integer +// value. We don't really need this generality; we could get away +// with hardcoding the integer type to bool. We use the fully +// general integer_constant for compatibility with tr1. + +template +struct integral_constant { + static const T value = v; + typedef T value_type; + typedef integral_constant type; +}; + +template const T integral_constant::value; + + +// Abbreviations: true_type and false_type are structs that represent boolean +// true and false values. Also define the boost::mpl versions of those names, +// true_ and false_. +typedef integral_constant true_type; +typedef integral_constant false_type; +typedef true_type true_; +typedef false_type false_; + +// if_ is a templatized conditional statement. +// if_ is a compile time evaluation of cond. +// if_<>::type contains A if cond is true, B otherwise. +template +struct if_{ + typedef A type; +}; + +template +struct if_ { + typedef B type; +}; + + +// type_equals_ is a template type comparator, similar to Loki IsSameType. +// type_equals_::value is true iff "A" is the same type as "B". +// +// New code should prefer base::is_same, defined in base/type_traits.h. +// It is functionally identical, but is_same is the standard spelling. +template +struct type_equals_ : public false_ { +}; + +template +struct type_equals_ : public true_ { +}; + +// and_ is a template && operator. +// and_::value evaluates "A::value && B::value". +template +struct and_ : public integral_constant { +}; + +// or_ is a template || operator. +// or_::value evaluates "A::value || B::value". +template +struct or_ : public integral_constant { +}; + + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_TEMPLATE_UTIL_H_ diff --git a/app/src/main/cpp/include/google/protobuf/stubs/type_traits.h b/app/src/main/cpp/include/google/protobuf/stubs/type_traits.h new file mode 100644 index 0000000..8d48c6a --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/stubs/type_traits.h @@ -0,0 +1,372 @@ +// Copyright (c) 2006, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// ---- +// Author: Matt Austern +// +// This code is compiled directly on many platforms, including client +// platforms like Windows, Mac, and embedded systems. Before making +// any changes here, make sure that you're not breaking any platforms. +// +// Define a small subset of tr1 type traits. The traits we define are: +// enable_if +// is_integral +// is_floating_point +// is_pointer +// is_enum +// is_reference +// is_pod +// has_trivial_constructor +// has_trivial_copy +// has_trivial_assign +// has_trivial_destructor +// remove_const +// remove_volatile +// remove_cv +// remove_reference +// add_reference +// remove_pointer +// is_same +// is_convertible +// We can add more type traits as required. + +#ifndef GOOGLE_PROTOBUF_TYPE_TRAITS_H_ +#define GOOGLE_PROTOBUF_TYPE_TRAITS_H_ + +#include // for NULL +#include // For pair + +#include // For true_type and false_type + +namespace google { +namespace protobuf { +namespace internal { + +template +struct is_base_of { + typedef char (&yes)[1]; + typedef char (&no)[2]; + + // BEGIN GOOGLE LOCAL MODIFICATION -- check is a #define on Mac. + #undef check + // END GOOGLE LOCAL MODIFICATION + + static yes check(const B*); + static no check(const void*); + + enum { + value = sizeof(check(static_cast(NULL))) == sizeof(yes), + }; +}; + +template struct enable_if; +template struct is_integral; +template struct is_floating_point; +template struct is_pointer; +// MSVC can't compile this correctly, and neither can gcc 3.3.5 (at least) +#if !defined(_MSC_VER) && !(defined(__GNUC__) && __GNUC__ <= 3) +// is_enum uses is_convertible, which is not available on MSVC. +template struct is_enum; +#endif +template struct is_reference; +template struct is_pod; +template struct has_trivial_constructor; +template struct has_trivial_copy; +template struct has_trivial_assign; +template struct has_trivial_destructor; +template struct remove_const; +template struct remove_volatile; +template struct remove_cv; +template struct remove_reference; +template struct add_reference; +template struct remove_pointer; +template struct is_same; +#if !(defined(__GNUC__) && __GNUC__ <= 3) +template struct is_convertible; +#endif + +// enable_if, equivalent semantics to c++11 std::enable_if, specifically: +// "If B is true, the member typedef type shall equal T; otherwise, there +// shall be no member typedef type." +// Specified by 20.9.7.6 [Other transformations] + +template struct enable_if { typedef T type; }; +template struct enable_if {}; +// is_integral is false except for the built-in integer types. A +// cv-qualified type is integral if and only if the underlying type is. +template struct is_integral : false_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +#if defined(_MSC_VER) +// wchar_t is not by default a distinct type from unsigned short in +// Microsoft C. +// See http://msdn2.microsoft.com/en-us/library/dh8che7s(VS.80).aspx +template<> struct is_integral<__wchar_t> : true_type { }; +#else +template<> struct is_integral : true_type { }; +#endif +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +#ifdef HAVE_LONG_LONG +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +#endif +#if defined(_MSC_VER) +// With VC, __int8, __int16, and __int32 are synonymous with standard types +// with the same size, but __int64 has not equivalent (i.e., it's neither +// long, nor long long and should be treated differnetly). +// https://msdn.microsoft.com/en-us/library/29dh1w7z.aspx +template<> struct is_integral<__int64> : true_type { }; +template<> struct is_integral : true_type {}; +#endif +template struct is_integral : is_integral { }; +template struct is_integral : is_integral { }; +template struct is_integral : is_integral { }; + +// is_floating_point is false except for the built-in floating-point types. +// A cv-qualified type is integral if and only if the underlying type is. +template struct is_floating_point : false_type { }; +template<> struct is_floating_point : true_type { }; +template<> struct is_floating_point : true_type { }; +template<> struct is_floating_point : true_type { }; +template struct is_floating_point + : is_floating_point { }; +template struct is_floating_point + : is_floating_point { }; +template struct is_floating_point + : is_floating_point { }; + +// is_pointer is false except for pointer types. A cv-qualified type (e.g. +// "int* const", as opposed to "int const*") is cv-qualified if and only if +// the underlying type is. +template struct is_pointer : false_type { }; +template struct is_pointer : true_type { }; +template struct is_pointer : is_pointer { }; +template struct is_pointer : is_pointer { }; +template struct is_pointer : is_pointer { }; + +#if !defined(_MSC_VER) && !(defined(__GNUC__) && __GNUC__ <= 3) + +namespace type_traits_internal { + +template struct is_class_or_union { + template static small_ tester(void (U::*)()); + template static big_ tester(...); + static const bool value = sizeof(tester(0)) == sizeof(small_); +}; + +// is_convertible chokes if the first argument is an array. That's why +// we use add_reference here. +template struct is_enum_impl + : is_convertible::type, int> { }; + +template struct is_enum_impl : false_type { }; + +} // namespace type_traits_internal + +// Specified by TR1 [4.5.1] primary type categories. + +// Implementation note: +// +// Each type is either void, integral, floating point, array, pointer, +// reference, member object pointer, member function pointer, enum, +// union or class. Out of these, only integral, floating point, reference, +// class and enum types are potentially convertible to int. Therefore, +// if a type is not a reference, integral, floating point or class and +// is convertible to int, it's a enum. Adding cv-qualification to a type +// does not change whether it's an enum. +// +// Is-convertible-to-int check is done only if all other checks pass, +// because it can't be used with some types (e.g. void or classes with +// inaccessible conversion operators). +template struct is_enum + : type_traits_internal::is_enum_impl< + is_same::value || + is_integral::value || + is_floating_point::value || + is_reference::value || + type_traits_internal::is_class_or_union::value, + T> { }; + +template struct is_enum : is_enum { }; +template struct is_enum : is_enum { }; +template struct is_enum : is_enum { }; + +#endif + +// is_reference is false except for reference types. +template struct is_reference : false_type {}; +template struct is_reference : true_type {}; + + +// We can't get is_pod right without compiler help, so fail conservatively. +// We will assume it's false except for arithmetic types, enumerations, +// pointers and cv-qualified versions thereof. Note that std::pair +// is not a POD even if T and U are PODs. +template struct is_pod + : integral_constant::value || + is_floating_point::value || +#if !defined(_MSC_VER) && !(defined(__GNUC__) && __GNUC__ <= 3) + // is_enum is not available on MSVC. + is_enum::value || +#endif + is_pointer::value)> { }; +template struct is_pod : is_pod { }; +template struct is_pod : is_pod { }; +template struct is_pod : is_pod { }; + + +// We can't get has_trivial_constructor right without compiler help, so +// fail conservatively. We will assume it's false except for: (1) types +// for which is_pod is true. (2) std::pair of types with trivial +// constructors. (3) array of a type with a trivial constructor. +// (4) const versions thereof. +template struct has_trivial_constructor : is_pod { }; +template struct has_trivial_constructor > + : integral_constant::value && + has_trivial_constructor::value)> { }; +template struct has_trivial_constructor + : has_trivial_constructor { }; +template struct has_trivial_constructor + : has_trivial_constructor { }; + +// We can't get has_trivial_copy right without compiler help, so fail +// conservatively. We will assume it's false except for: (1) types +// for which is_pod is true. (2) std::pair of types with trivial copy +// constructors. (3) array of a type with a trivial copy constructor. +// (4) const versions thereof. +template struct has_trivial_copy : is_pod { }; +template struct has_trivial_copy > + : integral_constant::value && + has_trivial_copy::value)> { }; +template struct has_trivial_copy + : has_trivial_copy { }; +template struct has_trivial_copy : has_trivial_copy { }; + +// We can't get has_trivial_assign right without compiler help, so fail +// conservatively. We will assume it's false except for: (1) types +// for which is_pod is true. (2) std::pair of types with trivial copy +// constructors. (3) array of a type with a trivial assign constructor. +template struct has_trivial_assign : is_pod { }; +template struct has_trivial_assign > + : integral_constant::value && + has_trivial_assign::value)> { }; +template struct has_trivial_assign + : has_trivial_assign { }; + +// We can't get has_trivial_destructor right without compiler help, so +// fail conservatively. We will assume it's false except for: (1) types +// for which is_pod is true. (2) std::pair of types with trivial +// destructors. (3) array of a type with a trivial destructor. +// (4) const versions thereof. +template struct has_trivial_destructor : is_pod { }; +template struct has_trivial_destructor > + : integral_constant::value && + has_trivial_destructor::value)> { }; +template struct has_trivial_destructor + : has_trivial_destructor { }; +template struct has_trivial_destructor + : has_trivial_destructor { }; + +// Specified by TR1 [4.7.1] +template struct remove_const { typedef T type; }; +template struct remove_const { typedef T type; }; +template struct remove_volatile { typedef T type; }; +template struct remove_volatile { typedef T type; }; +template struct remove_cv { + typedef typename remove_const::type>::type type; +}; + + +// Specified by TR1 [4.7.2] Reference modifications. +template struct remove_reference { typedef T type; }; +template struct remove_reference { typedef T type; }; + +template struct add_reference { typedef T& type; }; +template struct add_reference { typedef T& type; }; + +// Specified by TR1 [4.7.4] Pointer modifications. +template struct remove_pointer { typedef T type; }; +template struct remove_pointer { typedef T type; }; +template struct remove_pointer { typedef T type; }; +template struct remove_pointer { typedef T type; }; +template struct remove_pointer { + typedef T type; }; + +// Specified by TR1 [4.6] Relationships between types +template struct is_same : public false_type { }; +template struct is_same : public true_type { }; + +// Specified by TR1 [4.6] Relationships between types +#if !(defined(__GNUC__) && __GNUC__ <= 3) +namespace type_traits_internal { + +// This class is an implementation detail for is_convertible, and you +// don't need to know how it works to use is_convertible. For those +// who care: we declare two different functions, one whose argument is +// of type To and one with a variadic argument list. We give them +// return types of different size, so we can use sizeof to trick the +// compiler into telling us which function it would have chosen if we +// had called it with an argument of type From. See Alexandrescu's +// _Modern C++ Design_ for more details on this sort of trick. + +template +struct ConvertHelper { + static small_ Test(To); + static big_ Test(...); + static From Create(); + enum { + value = sizeof(Test(Create())) == sizeof(small_) + }; +}; +} // namespace type_traits_internal + +// Inherits from true_type if From is convertible to To, false_type otherwise. +template +struct is_convertible + : integral_constant::value> { +}; +#endif + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_TYPE_TRAITS_H_ diff --git a/app/src/main/cpp/include/google/protobuf/text_format.h b/app/src/main/cpp/include/google/protobuf/text_format.h new file mode 100644 index 0000000..2873d33 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/text_format.h @@ -0,0 +1,521 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: jschorr@google.com (Joseph Schorr) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// Utilities for printing and parsing protocol messages in a human-readable, +// text-based format. + +#ifndef GOOGLE_PROTOBUF_TEXT_FORMAT_H__ +#define GOOGLE_PROTOBUF_TEXT_FORMAT_H__ + +#include +#include +#ifndef _SHARED_PTR_H +#include +#endif +#include +#include + +#include +#include +#include + +namespace google { +namespace protobuf { + +namespace io { + class ErrorCollector; // tokenizer.h +} + +// This class implements protocol buffer text format. Printing and parsing +// protocol messages in text format is useful for debugging and human editing +// of messages. +// +// This class is really a namespace that contains only static methods. +class LIBPROTOBUF_EXPORT TextFormat { + public: + // Outputs a textual representation of the given message to the given + // output stream. + static bool Print(const Message& message, io::ZeroCopyOutputStream* output); + + // Print the fields in an UnknownFieldSet. They are printed by tag number + // only. Embedded messages are heuristically identified by attempting to + // parse them. + static bool PrintUnknownFields(const UnknownFieldSet& unknown_fields, + io::ZeroCopyOutputStream* output); + + // Like Print(), but outputs directly to a string. + // Note: output will be cleared before prior to printing, and will + // be left empty even if printing fails. + static bool PrintToString(const Message& message, string* output); + + // Like PrintUnknownFields(), but outputs directly to a string. + static bool PrintUnknownFieldsToString(const UnknownFieldSet& unknown_fields, + string* output); + + // Outputs a textual representation of the value of the field supplied on + // the message supplied. For non-repeated fields, an index of -1 must + // be supplied. Note that this method will print the default value for a + // field if it is not set. + static void PrintFieldValueToString(const Message& message, + const FieldDescriptor* field, + int index, + string* output); + + // The default printer that converts scalar values from fields into + // their string representation. + // You can derive from this FieldValuePrinter if you want to have + // fields to be printed in a different way and register it at the + // Printer. + class LIBPROTOBUF_EXPORT FieldValuePrinter { + public: + FieldValuePrinter(); + virtual ~FieldValuePrinter(); + virtual string PrintBool(bool val) const; + virtual string PrintInt32(int32 val) const; + virtual string PrintUInt32(uint32 val) const; + virtual string PrintInt64(int64 val) const; + virtual string PrintUInt64(uint64 val) const; + virtual string PrintFloat(float val) const; + virtual string PrintDouble(double val) const; + virtual string PrintString(const string& val) const; + virtual string PrintBytes(const string& val) const; + virtual string PrintEnum(int32 val, const string& name) const; + virtual string PrintFieldName(const Message& message, + const Reflection* reflection, + const FieldDescriptor* field) const; + virtual string PrintMessageStart(const Message& message, + int field_index, + int field_count, + bool single_line_mode) const; + virtual string PrintMessageEnd(const Message& message, + int field_index, + int field_count, + bool single_line_mode) const; + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FieldValuePrinter); + }; + + // Class for those users which require more fine-grained control over how + // a protobuffer message is printed out. + class LIBPROTOBUF_EXPORT Printer { + public: + Printer(); + ~Printer(); + + // Like TextFormat::Print + bool Print(const Message& message, io::ZeroCopyOutputStream* output) const; + // Like TextFormat::PrintUnknownFields + bool PrintUnknownFields(const UnknownFieldSet& unknown_fields, + io::ZeroCopyOutputStream* output) const; + // Like TextFormat::PrintToString + bool PrintToString(const Message& message, string* output) const; + // Like TextFormat::PrintUnknownFieldsToString + bool PrintUnknownFieldsToString(const UnknownFieldSet& unknown_fields, + string* output) const; + // Like TextFormat::PrintFieldValueToString + void PrintFieldValueToString(const Message& message, + const FieldDescriptor* field, + int index, + string* output) const; + + // Adjust the initial indent level of all output. Each indent level is + // equal to two spaces. + void SetInitialIndentLevel(int indent_level) { + initial_indent_level_ = indent_level; + } + + // If printing in single line mode, then the entire message will be output + // on a single line with no line breaks. + void SetSingleLineMode(bool single_line_mode) { + single_line_mode_ = single_line_mode; + } + + bool IsInSingleLineMode() { + return single_line_mode_; + } + + // If use_field_number is true, uses field number instead of field name. + void SetUseFieldNumber(bool use_field_number) { + use_field_number_ = use_field_number; + } + + // Set true to print repeated primitives in a format like: + // field_name: [1, 2, 3, 4] + // instead of printing each value on its own line. Short format applies + // only to primitive values -- i.e. everything except strings and + // sub-messages/groups. + void SetUseShortRepeatedPrimitives(bool use_short_repeated_primitives) { + use_short_repeated_primitives_ = use_short_repeated_primitives; + } + + // Set true to output UTF-8 instead of ASCII. The only difference + // is that bytes >= 0x80 in string fields will not be escaped, + // because they are assumed to be part of UTF-8 multi-byte + // sequences. This will change the default FieldValuePrinter. + void SetUseUtf8StringEscaping(bool as_utf8); + + // Set the default FieldValuePrinter that is used for all fields that + // don't have a field-specific printer registered. + // Takes ownership of the printer. + void SetDefaultFieldValuePrinter(const FieldValuePrinter* printer); + + // Sets whether we want to hide unknown fields or not. + // Usually unknown fields are printed in a generic way that includes the + // tag number of the field instead of field name. However, sometimes it + // is useful to be able to print the message without unknown fields (e.g. + // for the python protobuf version to maintain consistency between its pure + // python and c++ implementations). + void SetHideUnknownFields(bool hide) { + hide_unknown_fields_ = hide; + } + + // If print_message_fields_in_index_order is true, print fields of a proto + // message using the order defined in source code instead of the field + // number. By default, use the field number order. + void SetPrintMessageFieldsInIndexOrder( + bool print_message_fields_in_index_order) { + print_message_fields_in_index_order_ = + print_message_fields_in_index_order; + } + + // If expand==true, expand google.protobuf.Any payloads. The output + // will be of form + // [type_url] { } + // + // If expand==false, print Any using the default printer. The output will + // look like + // type_url: "" value: "serialized_content" + void SetExpandAny(bool expand) { + expand_any_ = expand; + } + + // If non-zero, we truncate all string fields that are longer than this + // threshold. This is useful when the proto message has very long strings, + // e.g., dump of encoded image file. + // + // NOTE(hfgong): Setting a non-zero value breaks round-trip safe + // property of TextFormat::Printer. That is, from the printed message, we + // cannot fully recover the original string field any more. + void SetTruncateStringFieldLongerThan( + const int64 truncate_string_field_longer_than) { + truncate_string_field_longer_than_ = truncate_string_field_longer_than; + } + + // Register a custom field-specific FieldValuePrinter for fields + // with a particular FieldDescriptor. + // Returns "true" if the registration succeeded, or "false", if there is + // already a printer for that FieldDescriptor. + // Takes ownership of the printer on successful registration. + bool RegisterFieldValuePrinter(const FieldDescriptor* field, + const FieldValuePrinter* printer); + + private: + // Forward declaration of an internal class used to print the text + // output to the OutputStream (see text_format.cc for implementation). + class TextGenerator; + + // Internal Print method, used for writing to the OutputStream via + // the TextGenerator class. + void Print(const Message& message, + TextGenerator& generator) const; + + // Print a single field. + void PrintField(const Message& message, + const Reflection* reflection, + const FieldDescriptor* field, + TextGenerator& generator) const; + + // Print a repeated primitive field in short form. + void PrintShortRepeatedField(const Message& message, + const Reflection* reflection, + const FieldDescriptor* field, + TextGenerator& generator) const; + + // Print the name of a field -- i.e. everything that comes before the + // ':' for a single name/value pair. + void PrintFieldName(const Message& message, + const Reflection* reflection, + const FieldDescriptor* field, + TextGenerator& generator) const; + + // Outputs a textual representation of the value of the field supplied on + // the message supplied or the default value if not set. + void PrintFieldValue(const Message& message, + const Reflection* reflection, + const FieldDescriptor* field, + int index, + TextGenerator& generator) const; + + // Print the fields in an UnknownFieldSet. They are printed by tag number + // only. Embedded messages are heuristically identified by attempting to + // parse them. + void PrintUnknownFields(const UnknownFieldSet& unknown_fields, + TextGenerator& generator) const; + + bool PrintAny(const Message& message, TextGenerator& generator) const; + + int initial_indent_level_; + + bool single_line_mode_; + + bool use_field_number_; + + bool use_short_repeated_primitives_; + + bool hide_unknown_fields_; + + bool print_message_fields_in_index_order_; + + bool expand_any_; + + int64 truncate_string_field_longer_than_; + + google::protobuf::scoped_ptr default_field_value_printer_; + typedef std::map CustomPrinterMap; + CustomPrinterMap custom_printers_; + }; + + // Parses a text-format protocol message from the given input stream to + // the given message object. This function parses the human-readable format + // written by Print(). Returns true on success. The message is cleared first, + // even if the function fails -- See Merge() to avoid this behavior. + // + // Example input: "user {\n id: 123 extra { gender: MALE language: 'en' }\n}" + // + // One use for this function is parsing handwritten strings in test code. + // Another use is to parse the output from google::protobuf::Message::DebugString() + // (or ShortDebugString()), because these functions output using + // google::protobuf::TextFormat::Print(). + // + // If you would like to read a protocol buffer serialized in the + // (non-human-readable) binary wire format, see + // google::protobuf::MessageLite::ParseFromString(). + static bool Parse(io::ZeroCopyInputStream* input, Message* output); + // Like Parse(), but reads directly from a string. + static bool ParseFromString(const string& input, Message* output); + + // Like Parse(), but the data is merged into the given message, as if + // using Message::MergeFrom(). + static bool Merge(io::ZeroCopyInputStream* input, Message* output); + // Like Merge(), but reads directly from a string. + static bool MergeFromString(const string& input, Message* output); + + // Parse the given text as a single field value and store it into the + // given field of the given message. If the field is a repeated field, + // the new value will be added to the end + static bool ParseFieldValueFromString(const string& input, + const FieldDescriptor* field, + Message* message); + + // Interface that TextFormat::Parser can use to find extensions. + // This class may be extended in the future to find more information + // like fields, etc. + class LIBPROTOBUF_EXPORT Finder { + public: + virtual ~Finder(); + + // Try to find an extension of *message by fully-qualified field + // name. Returns NULL if no extension is known for this name or number. + virtual const FieldDescriptor* FindExtension( + Message* message, + const string& name) const = 0; + }; + + // A location in the parsed text. + struct ParseLocation { + int line; + int column; + + ParseLocation() : line(-1), column(-1) {} + ParseLocation(int line_param, int column_param) + : line(line_param), column(column_param) {} + }; + + // Data structure which is populated with the locations of each field + // value parsed from the text. + class LIBPROTOBUF_EXPORT ParseInfoTree { + public: + ParseInfoTree(); + ~ParseInfoTree(); + + // Returns the parse location for index-th value of the field in the parsed + // text. If none exists, returns a location with line = -1. Index should be + // -1 for not-repeated fields. + ParseLocation GetLocation(const FieldDescriptor* field, int index) const; + + // Returns the parse info tree for the given field, which must be a message + // type. The nested information tree is owned by the root tree and will be + // deleted when it is deleted. + ParseInfoTree* GetTreeForNested(const FieldDescriptor* field, + int index) const; + + private: + // Allow the text format parser to record information into the tree. + friend class TextFormat; + + // Records the starting location of a single value for a field. + void RecordLocation(const FieldDescriptor* field, ParseLocation location); + + // Create and records a nested tree for a nested message field. + ParseInfoTree* CreateNested(const FieldDescriptor* field); + + // Defines the map from the index-th field descriptor to its parse location. + typedef std::map > LocationMap; + + // Defines the map from the index-th field descriptor to the nested parse + // info tree. + typedef std::map > NestedMap; + + LocationMap locations_; + NestedMap nested_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ParseInfoTree); + }; + + // For more control over parsing, use this class. + class LIBPROTOBUF_EXPORT Parser { + public: + Parser(); + ~Parser(); + + // Like TextFormat::Parse(). + bool Parse(io::ZeroCopyInputStream* input, Message* output); + // Like TextFormat::ParseFromString(). + bool ParseFromString(const string& input, Message* output); + // Like TextFormat::Merge(). + bool Merge(io::ZeroCopyInputStream* input, Message* output); + // Like TextFormat::MergeFromString(). + bool MergeFromString(const string& input, Message* output); + + // Set where to report parse errors. If NULL (the default), errors will + // be printed to stderr. + void RecordErrorsTo(io::ErrorCollector* error_collector) { + error_collector_ = error_collector; + } + + // Set how parser finds extensions. If NULL (the default), the + // parser will use the standard Reflection object associated with + // the message being parsed. + void SetFinder(Finder* finder) { + finder_ = finder; + } + + // Sets where location information about the parse will be written. If NULL + // (the default), then no location will be written. + void WriteLocationsTo(ParseInfoTree* tree) { + parse_info_tree_ = tree; + } + + // Normally parsing fails if, after parsing, output->IsInitialized() + // returns false. Call AllowPartialMessage(true) to skip this check. + void AllowPartialMessage(bool allow) { + allow_partial_ = allow; + } + + // Allow field names to be matched case-insensitively. + // This is not advisable if there are fields that only differ in case, or + // if you want to enforce writing in the canonical form. + // This is 'false' by default. + void AllowCaseInsensitiveField(bool allow) { + allow_case_insensitive_field_ = allow; + } + + // Like TextFormat::ParseFieldValueFromString + bool ParseFieldValueFromString(const string& input, + const FieldDescriptor* field, + Message* output); + + + void AllowFieldNumber(bool allow) { + allow_field_number_ = allow; + } + + private: + // Forward declaration of an internal class used to parse text + // representations (see text_format.cc for implementation). + class ParserImpl; + + // Like TextFormat::Merge(). The provided implementation is used + // to do the parsing. + bool MergeUsingImpl(io::ZeroCopyInputStream* input, + Message* output, + ParserImpl* parser_impl); + + io::ErrorCollector* error_collector_; + Finder* finder_; + ParseInfoTree* parse_info_tree_; + bool allow_partial_; + bool allow_case_insensitive_field_; + bool allow_unknown_field_; + bool allow_unknown_enum_; + bool allow_field_number_; + bool allow_relaxed_whitespace_; + bool allow_singular_overwrites_; + }; + + + private: + // Hack: ParseInfoTree declares TextFormat as a friend which should extend + // the friendship to TextFormat::Parser::ParserImpl, but unfortunately some + // old compilers (e.g. GCC 3.4.6) don't implement this correctly. We provide + // helpers for ParserImpl to call methods of ParseInfoTree. + static inline void RecordLocation(ParseInfoTree* info_tree, + const FieldDescriptor* field, + ParseLocation location); + static inline ParseInfoTree* CreateNested(ParseInfoTree* info_tree, + const FieldDescriptor* field); + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TextFormat); +}; + +inline void TextFormat::RecordLocation(ParseInfoTree* info_tree, + const FieldDescriptor* field, + ParseLocation location) { + info_tree->RecordLocation(field, location); +} + + +inline TextFormat::ParseInfoTree* TextFormat::CreateNested( + ParseInfoTree* info_tree, const FieldDescriptor* field) { + return info_tree->CreateNested(field); +} + +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_TEXT_FORMAT_H__ diff --git a/app/src/main/cpp/include/google/protobuf/timestamp.pb.h b/app/src/main/cpp/include/google/protobuf/timestamp.pb.h new file mode 100644 index 0000000..1abe8d0 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/timestamp.pb.h @@ -0,0 +1,197 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/timestamp.proto + +#ifndef PROTOBUF_google_2fprotobuf_2ftimestamp_2eproto__INCLUDED +#define PROTOBUF_google_2fprotobuf_2ftimestamp_2eproto__INCLUDED + +#include + +#include + +#if GOOGLE_PROTOBUF_VERSION < 3001000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3001000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) + +namespace google { +namespace protobuf { + +// Internal implementation detail -- do not call these. +void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2ftimestamp_2eproto(); +void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2ftimestamp_2eproto(); +void protobuf_AssignDesc_google_2fprotobuf_2ftimestamp_2eproto(); +void protobuf_ShutdownFile_google_2fprotobuf_2ftimestamp_2eproto(); + +class Timestamp; + +// =================================================================== + +class LIBPROTOBUF_EXPORT Timestamp : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.Timestamp) */ { + public: + Timestamp(); + virtual ~Timestamp(); + + Timestamp(const Timestamp& from); + + inline Timestamp& operator=(const Timestamp& from) { + CopyFrom(from); + return *this; + } + + inline ::google::protobuf::Arena* GetArena() const { return GetArenaNoVirtual(); } + inline void* GetMaybeArenaPointer() const { + return MaybeArenaPtr(); + } + static const ::google::protobuf::Descriptor* descriptor(); + static const Timestamp& default_instance(); + + static const Timestamp* internal_default_instance(); + + void UnsafeArenaSwap(Timestamp* other); + void Swap(Timestamp* other); + + // implements Message ---------------------------------------------- + + inline Timestamp* New() const { return New(NULL); } + + Timestamp* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const Timestamp& from); + void MergeFrom(const Timestamp& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(Timestamp* other); + void UnsafeMergeFrom(const Timestamp& from); + protected: + explicit Timestamp(::google::protobuf::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::google::protobuf::Arena* arena); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional int64 seconds = 1; + void clear_seconds(); + static const int kSecondsFieldNumber = 1; + ::google::protobuf::int64 seconds() const; + void set_seconds(::google::protobuf::int64 value); + + // optional int32 nanos = 2; + void clear_nanos(); + static const int kNanosFieldNumber = 2; + ::google::protobuf::int32 nanos() const; + void set_nanos(::google::protobuf::int32 value); + + // @@protoc_insertion_point(class_scope:google.protobuf.Timestamp) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + friend class ::google::protobuf::Arena; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::google::protobuf::int64 seconds_; + ::google::protobuf::int32 nanos_; + mutable int _cached_size_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2ftimestamp_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2ftimestamp_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2ftimestamp_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2ftimestamp_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed Timestamp_default_instance_; + +// =================================================================== + + +// =================================================================== + +#if !PROTOBUF_INLINE_NOT_IN_HEADERS +// Timestamp + +// optional int64 seconds = 1; +inline void Timestamp::clear_seconds() { + seconds_ = GOOGLE_LONGLONG(0); +} +inline ::google::protobuf::int64 Timestamp::seconds() const { + // @@protoc_insertion_point(field_get:google.protobuf.Timestamp.seconds) + return seconds_; +} +inline void Timestamp::set_seconds(::google::protobuf::int64 value) { + + seconds_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.Timestamp.seconds) +} + +// optional int32 nanos = 2; +inline void Timestamp::clear_nanos() { + nanos_ = 0; +} +inline ::google::protobuf::int32 Timestamp::nanos() const { + // @@protoc_insertion_point(field_get:google.protobuf.Timestamp.nanos) + return nanos_; +} +inline void Timestamp::set_nanos(::google::protobuf::int32 value) { + + nanos_ = value; + // @@protoc_insertion_point(field_set:google.protobuf.Timestamp.nanos) +} + +inline const Timestamp* Timestamp::internal_default_instance() { + return &Timestamp_default_instance_.get(); +} +#endif // !PROTOBUF_INLINE_NOT_IN_HEADERS + +// @@protoc_insertion_point(namespace_scope) + +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) + +#endif // PROTOBUF_google_2fprotobuf_2ftimestamp_2eproto__INCLUDED diff --git a/app/src/main/cpp/include/google/protobuf/timestamp.proto b/app/src/main/cpp/include/google/protobuf/timestamp.proto new file mode 100644 index 0000000..67e2eba --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/timestamp.proto @@ -0,0 +1,108 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +syntax = "proto3"; + +package google.protobuf; + +option csharp_namespace = "Google.Protobuf.WellKnownTypes"; +option cc_enable_arenas = true; +option go_package = "github.com/golang/protobuf/ptypes/timestamp"; +option java_package = "com.google.protobuf"; +option java_outer_classname = "TimestampProto"; +option java_multiple_files = true; +option objc_class_prefix = "GPB"; + +// A Timestamp represents a point in time independent of any time zone +// or calendar, represented as seconds and fractions of seconds at +// nanosecond resolution in UTC Epoch time. It is encoded using the +// Proleptic Gregorian Calendar which extends the Gregorian calendar +// backwards to year one. It is encoded assuming all minutes are 60 +// seconds long, i.e. leap seconds are "smeared" so that no leap second +// table is needed for interpretation. Range is from +// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. +// By restricting to that range, we ensure that we can convert to +// and from RFC 3339 date strings. +// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). +// +// Example 1: Compute Timestamp from POSIX `time()`. +// +// Timestamp timestamp; +// timestamp.set_seconds(time(NULL)); +// timestamp.set_nanos(0); +// +// Example 2: Compute Timestamp from POSIX `gettimeofday()`. +// +// struct timeval tv; +// gettimeofday(&tv, NULL); +// +// Timestamp timestamp; +// timestamp.set_seconds(tv.tv_sec); +// timestamp.set_nanos(tv.tv_usec * 1000); +// +// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. +// +// FILETIME ft; +// GetSystemTimeAsFileTime(&ft); +// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; +// +// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z +// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. +// Timestamp timestamp; +// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); +// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); +// +// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. +// +// long millis = System.currentTimeMillis(); +// +// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) +// .setNanos((int) ((millis % 1000) * 1000000)).build(); +// +// +// Example 5: Compute Timestamp from current time in Python. +// +// timestamp = Timestamp() +// timestamp.GetCurrentTime() +// +// +message Timestamp { + + // Represents seconds of UTC time since Unix epoch + // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + // 9999-12-31T23:59:59Z inclusive. + int64 seconds = 1; + + // Non-negative fractions of a second at nanosecond resolution. Negative + // second values with fractions must still have non-negative nanos values + // that count forward in time. Must be from 0 to 999,999,999 + // inclusive. + int32 nanos = 2; +} diff --git a/app/src/main/cpp/include/google/protobuf/type.pb.h b/app/src/main/cpp/include/google/protobuf/type.pb.h new file mode 100644 index 0000000..1b6d341 --- /dev/null +++ b/app/src/main/cpp/include/google/protobuf/type.pb.h @@ -0,0 +1,2112 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/protobuf/type.proto + +#ifndef PROTOBUF_google_2fprotobuf_2ftype_2eproto__INCLUDED +#define PROTOBUF_google_2fprotobuf_2ftype_2eproto__INCLUDED + +#include + +#include + +#if GOOGLE_PROTOBUF_VERSION < 3001000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3001000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) + +namespace google { +namespace protobuf { + +// Internal implementation detail -- do not call these. +void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2ftype_2eproto(); +void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2ftype_2eproto(); +void protobuf_AssignDesc_google_2fprotobuf_2ftype_2eproto(); +void protobuf_ShutdownFile_google_2fprotobuf_2ftype_2eproto(); + +class Enum; +class EnumValue; +class Field; +class Option; +class Type; + +enum Field_Kind { + Field_Kind_TYPE_UNKNOWN = 0, + Field_Kind_TYPE_DOUBLE = 1, + Field_Kind_TYPE_FLOAT = 2, + Field_Kind_TYPE_INT64 = 3, + Field_Kind_TYPE_UINT64 = 4, + Field_Kind_TYPE_INT32 = 5, + Field_Kind_TYPE_FIXED64 = 6, + Field_Kind_TYPE_FIXED32 = 7, + Field_Kind_TYPE_BOOL = 8, + Field_Kind_TYPE_STRING = 9, + Field_Kind_TYPE_GROUP = 10, + Field_Kind_TYPE_MESSAGE = 11, + Field_Kind_TYPE_BYTES = 12, + Field_Kind_TYPE_UINT32 = 13, + Field_Kind_TYPE_ENUM = 14, + Field_Kind_TYPE_SFIXED32 = 15, + Field_Kind_TYPE_SFIXED64 = 16, + Field_Kind_TYPE_SINT32 = 17, + Field_Kind_TYPE_SINT64 = 18, + Field_Kind_Field_Kind_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min, + Field_Kind_Field_Kind_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max +}; +LIBPROTOBUF_EXPORT bool Field_Kind_IsValid(int value); +const Field_Kind Field_Kind_Kind_MIN = Field_Kind_TYPE_UNKNOWN; +const Field_Kind Field_Kind_Kind_MAX = Field_Kind_TYPE_SINT64; +const int Field_Kind_Kind_ARRAYSIZE = Field_Kind_Kind_MAX + 1; + +LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* Field_Kind_descriptor(); +inline const ::std::string& Field_Kind_Name(Field_Kind value) { + return ::google::protobuf::internal::NameOfEnum( + Field_Kind_descriptor(), value); +} +inline bool Field_Kind_Parse( + const ::std::string& name, Field_Kind* value) { + return ::google::protobuf::internal::ParseNamedEnum( + Field_Kind_descriptor(), name, value); +} +enum Field_Cardinality { + Field_Cardinality_CARDINALITY_UNKNOWN = 0, + Field_Cardinality_CARDINALITY_OPTIONAL = 1, + Field_Cardinality_CARDINALITY_REQUIRED = 2, + Field_Cardinality_CARDINALITY_REPEATED = 3, + Field_Cardinality_Field_Cardinality_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min, + Field_Cardinality_Field_Cardinality_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max +}; +LIBPROTOBUF_EXPORT bool Field_Cardinality_IsValid(int value); +const Field_Cardinality Field_Cardinality_Cardinality_MIN = Field_Cardinality_CARDINALITY_UNKNOWN; +const Field_Cardinality Field_Cardinality_Cardinality_MAX = Field_Cardinality_CARDINALITY_REPEATED; +const int Field_Cardinality_Cardinality_ARRAYSIZE = Field_Cardinality_Cardinality_MAX + 1; + +LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* Field_Cardinality_descriptor(); +inline const ::std::string& Field_Cardinality_Name(Field_Cardinality value) { + return ::google::protobuf::internal::NameOfEnum( + Field_Cardinality_descriptor(), value); +} +inline bool Field_Cardinality_Parse( + const ::std::string& name, Field_Cardinality* value) { + return ::google::protobuf::internal::ParseNamedEnum( + Field_Cardinality_descriptor(), name, value); +} +enum Syntax { + SYNTAX_PROTO2 = 0, + SYNTAX_PROTO3 = 1, + Syntax_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min, + Syntax_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max +}; +LIBPROTOBUF_EXPORT bool Syntax_IsValid(int value); +const Syntax Syntax_MIN = SYNTAX_PROTO2; +const Syntax Syntax_MAX = SYNTAX_PROTO3; +const int Syntax_ARRAYSIZE = Syntax_MAX + 1; + +LIBPROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* Syntax_descriptor(); +inline const ::std::string& Syntax_Name(Syntax value) { + return ::google::protobuf::internal::NameOfEnum( + Syntax_descriptor(), value); +} +inline bool Syntax_Parse( + const ::std::string& name, Syntax* value) { + return ::google::protobuf::internal::ParseNamedEnum( + Syntax_descriptor(), name, value); +} +// =================================================================== + +class LIBPROTOBUF_EXPORT Type : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.Type) */ { + public: + Type(); + virtual ~Type(); + + Type(const Type& from); + + inline Type& operator=(const Type& from) { + CopyFrom(from); + return *this; + } + + inline ::google::protobuf::Arena* GetArena() const { return GetArenaNoVirtual(); } + inline void* GetMaybeArenaPointer() const { + return MaybeArenaPtr(); + } + static const ::google::protobuf::Descriptor* descriptor(); + static const Type& default_instance(); + + static const Type* internal_default_instance(); + + void UnsafeArenaSwap(Type* other); + void Swap(Type* other); + + // implements Message ---------------------------------------------- + + inline Type* New() const { return New(NULL); } + + Type* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const Type& from); + void MergeFrom(const Type& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(Type* other); + void UnsafeMergeFrom(const Type& from); + protected: + explicit Type(::google::protobuf::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::google::protobuf::Arena* arena); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional string name = 1; + void clear_name(); + static const int kNameFieldNumber = 1; + const ::std::string& name() const; + void set_name(const ::std::string& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + ::std::string* mutable_name(); + ::std::string* release_name(); + void set_allocated_name(::std::string* name); + ::std::string* unsafe_arena_release_name(); + void unsafe_arena_set_allocated_name( + ::std::string* name); + + // repeated .google.protobuf.Field fields = 2; + int fields_size() const; + void clear_fields(); + static const int kFieldsFieldNumber = 2; + const ::google::protobuf::Field& fields(int index) const; + ::google::protobuf::Field* mutable_fields(int index); + ::google::protobuf::Field* add_fields(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Field >* + mutable_fields(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Field >& + fields() const; + + // repeated string oneofs = 3; + int oneofs_size() const; + void clear_oneofs(); + static const int kOneofsFieldNumber = 3; + const ::std::string& oneofs(int index) const; + ::std::string* mutable_oneofs(int index); + void set_oneofs(int index, const ::std::string& value); + void set_oneofs(int index, const char* value); + void set_oneofs(int index, const char* value, size_t size); + ::std::string* add_oneofs(); + void add_oneofs(const ::std::string& value); + void add_oneofs(const char* value); + void add_oneofs(const char* value, size_t size); + const ::google::protobuf::RepeatedPtrField< ::std::string>& oneofs() const; + ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_oneofs(); + + // repeated .google.protobuf.Option options = 4; + int options_size() const; + void clear_options(); + static const int kOptionsFieldNumber = 4; + const ::google::protobuf::Option& options(int index) const; + ::google::protobuf::Option* mutable_options(int index); + ::google::protobuf::Option* add_options(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option >* + mutable_options(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option >& + options() const; + + // optional .google.protobuf.SourceContext source_context = 5; + bool has_source_context() const; + void clear_source_context(); + static const int kSourceContextFieldNumber = 5; + private: + void _slow_mutable_source_context(); + ::google::protobuf::SourceContext* _slow_release_source_context(); + public: + const ::google::protobuf::SourceContext& source_context() const; + ::google::protobuf::SourceContext* mutable_source_context(); + ::google::protobuf::SourceContext* release_source_context(); + void set_allocated_source_context(::google::protobuf::SourceContext* source_context); + ::google::protobuf::SourceContext* unsafe_arena_release_source_context(); + void unsafe_arena_set_allocated_source_context( + ::google::protobuf::SourceContext* source_context); + + // optional .google.protobuf.Syntax syntax = 6; + void clear_syntax(); + static const int kSyntaxFieldNumber = 6; + ::google::protobuf::Syntax syntax() const; + void set_syntax(::google::protobuf::Syntax value); + + // @@protoc_insertion_point(class_scope:google.protobuf.Type) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + friend class ::google::protobuf::Arena; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Field > fields_; + ::google::protobuf::RepeatedPtrField< ::std::string> oneofs_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option > options_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::SourceContext* source_context_; + int syntax_; + mutable int _cached_size_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2ftype_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2ftype_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2ftype_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2ftype_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed Type_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT Field : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.Field) */ { + public: + Field(); + virtual ~Field(); + + Field(const Field& from); + + inline Field& operator=(const Field& from) { + CopyFrom(from); + return *this; + } + + inline ::google::protobuf::Arena* GetArena() const { return GetArenaNoVirtual(); } + inline void* GetMaybeArenaPointer() const { + return MaybeArenaPtr(); + } + static const ::google::protobuf::Descriptor* descriptor(); + static const Field& default_instance(); + + static const Field* internal_default_instance(); + + void UnsafeArenaSwap(Field* other); + void Swap(Field* other); + + // implements Message ---------------------------------------------- + + inline Field* New() const { return New(NULL); } + + Field* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const Field& from); + void MergeFrom(const Field& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(Field* other); + void UnsafeMergeFrom(const Field& from); + protected: + explicit Field(::google::protobuf::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::google::protobuf::Arena* arena); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + typedef Field_Kind Kind; + static const Kind TYPE_UNKNOWN = + Field_Kind_TYPE_UNKNOWN; + static const Kind TYPE_DOUBLE = + Field_Kind_TYPE_DOUBLE; + static const Kind TYPE_FLOAT = + Field_Kind_TYPE_FLOAT; + static const Kind TYPE_INT64 = + Field_Kind_TYPE_INT64; + static const Kind TYPE_UINT64 = + Field_Kind_TYPE_UINT64; + static const Kind TYPE_INT32 = + Field_Kind_TYPE_INT32; + static const Kind TYPE_FIXED64 = + Field_Kind_TYPE_FIXED64; + static const Kind TYPE_FIXED32 = + Field_Kind_TYPE_FIXED32; + static const Kind TYPE_BOOL = + Field_Kind_TYPE_BOOL; + static const Kind TYPE_STRING = + Field_Kind_TYPE_STRING; + static const Kind TYPE_GROUP = + Field_Kind_TYPE_GROUP; + static const Kind TYPE_MESSAGE = + Field_Kind_TYPE_MESSAGE; + static const Kind TYPE_BYTES = + Field_Kind_TYPE_BYTES; + static const Kind TYPE_UINT32 = + Field_Kind_TYPE_UINT32; + static const Kind TYPE_ENUM = + Field_Kind_TYPE_ENUM; + static const Kind TYPE_SFIXED32 = + Field_Kind_TYPE_SFIXED32; + static const Kind TYPE_SFIXED64 = + Field_Kind_TYPE_SFIXED64; + static const Kind TYPE_SINT32 = + Field_Kind_TYPE_SINT32; + static const Kind TYPE_SINT64 = + Field_Kind_TYPE_SINT64; + static inline bool Kind_IsValid(int value) { + return Field_Kind_IsValid(value); + } + static const Kind Kind_MIN = + Field_Kind_Kind_MIN; + static const Kind Kind_MAX = + Field_Kind_Kind_MAX; + static const int Kind_ARRAYSIZE = + Field_Kind_Kind_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* + Kind_descriptor() { + return Field_Kind_descriptor(); + } + static inline const ::std::string& Kind_Name(Kind value) { + return Field_Kind_Name(value); + } + static inline bool Kind_Parse(const ::std::string& name, + Kind* value) { + return Field_Kind_Parse(name, value); + } + + typedef Field_Cardinality Cardinality; + static const Cardinality CARDINALITY_UNKNOWN = + Field_Cardinality_CARDINALITY_UNKNOWN; + static const Cardinality CARDINALITY_OPTIONAL = + Field_Cardinality_CARDINALITY_OPTIONAL; + static const Cardinality CARDINALITY_REQUIRED = + Field_Cardinality_CARDINALITY_REQUIRED; + static const Cardinality CARDINALITY_REPEATED = + Field_Cardinality_CARDINALITY_REPEATED; + static inline bool Cardinality_IsValid(int value) { + return Field_Cardinality_IsValid(value); + } + static const Cardinality Cardinality_MIN = + Field_Cardinality_Cardinality_MIN; + static const Cardinality Cardinality_MAX = + Field_Cardinality_Cardinality_MAX; + static const int Cardinality_ARRAYSIZE = + Field_Cardinality_Cardinality_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* + Cardinality_descriptor() { + return Field_Cardinality_descriptor(); + } + static inline const ::std::string& Cardinality_Name(Cardinality value) { + return Field_Cardinality_Name(value); + } + static inline bool Cardinality_Parse(const ::std::string& name, + Cardinality* value) { + return Field_Cardinality_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + // optional .google.protobuf.Field.Kind kind = 1; + void clear_kind(); + static const int kKindFieldNumber = 1; + ::google::protobuf::Field_Kind kind() const; + void set_kind(::google::protobuf::Field_Kind value); + + // optional .google.protobuf.Field.Cardinality cardinality = 2; + void clear_cardinality(); + static const int kCardinalityFieldNumber = 2; + ::google::protobuf::Field_Cardinality cardinality() const; + void set_cardinality(::google::protobuf::Field_Cardinality value); + + // optional int32 number = 3; + void clear_number(); + static const int kNumberFieldNumber = 3; + ::google::protobuf::int32 number() const; + void set_number(::google::protobuf::int32 value); + + // optional string name = 4; + void clear_name(); + static const int kNameFieldNumber = 4; + const ::std::string& name() const; + void set_name(const ::std::string& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + ::std::string* mutable_name(); + ::std::string* release_name(); + void set_allocated_name(::std::string* name); + ::std::string* unsafe_arena_release_name(); + void unsafe_arena_set_allocated_name( + ::std::string* name); + + // optional string type_url = 6; + void clear_type_url(); + static const int kTypeUrlFieldNumber = 6; + const ::std::string& type_url() const; + void set_type_url(const ::std::string& value); + void set_type_url(const char* value); + void set_type_url(const char* value, size_t size); + ::std::string* mutable_type_url(); + ::std::string* release_type_url(); + void set_allocated_type_url(::std::string* type_url); + ::std::string* unsafe_arena_release_type_url(); + void unsafe_arena_set_allocated_type_url( + ::std::string* type_url); + + // optional int32 oneof_index = 7; + void clear_oneof_index(); + static const int kOneofIndexFieldNumber = 7; + ::google::protobuf::int32 oneof_index() const; + void set_oneof_index(::google::protobuf::int32 value); + + // optional bool packed = 8; + void clear_packed(); + static const int kPackedFieldNumber = 8; + bool packed() const; + void set_packed(bool value); + + // repeated .google.protobuf.Option options = 9; + int options_size() const; + void clear_options(); + static const int kOptionsFieldNumber = 9; + const ::google::protobuf::Option& options(int index) const; + ::google::protobuf::Option* mutable_options(int index); + ::google::protobuf::Option* add_options(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option >* + mutable_options(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option >& + options() const; + + // optional string json_name = 10; + void clear_json_name(); + static const int kJsonNameFieldNumber = 10; + const ::std::string& json_name() const; + void set_json_name(const ::std::string& value); + void set_json_name(const char* value); + void set_json_name(const char* value, size_t size); + ::std::string* mutable_json_name(); + ::std::string* release_json_name(); + void set_allocated_json_name(::std::string* json_name); + ::std::string* unsafe_arena_release_json_name(); + void unsafe_arena_set_allocated_json_name( + ::std::string* json_name); + + // optional string default_value = 11; + void clear_default_value(); + static const int kDefaultValueFieldNumber = 11; + const ::std::string& default_value() const; + void set_default_value(const ::std::string& value); + void set_default_value(const char* value); + void set_default_value(const char* value, size_t size); + ::std::string* mutable_default_value(); + ::std::string* release_default_value(); + void set_allocated_default_value(::std::string* default_value); + ::std::string* unsafe_arena_release_default_value(); + void unsafe_arena_set_allocated_default_value( + ::std::string* default_value); + + // @@protoc_insertion_point(class_scope:google.protobuf.Field) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + friend class ::google::protobuf::Arena; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option > options_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr type_url_; + ::google::protobuf::internal::ArenaStringPtr json_name_; + ::google::protobuf::internal::ArenaStringPtr default_value_; + int kind_; + int cardinality_; + ::google::protobuf::int32 number_; + ::google::protobuf::int32 oneof_index_; + bool packed_; + mutable int _cached_size_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2ftype_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2ftype_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2ftype_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2ftype_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed Field_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT Enum : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.Enum) */ { + public: + Enum(); + virtual ~Enum(); + + Enum(const Enum& from); + + inline Enum& operator=(const Enum& from) { + CopyFrom(from); + return *this; + } + + inline ::google::protobuf::Arena* GetArena() const { return GetArenaNoVirtual(); } + inline void* GetMaybeArenaPointer() const { + return MaybeArenaPtr(); + } + static const ::google::protobuf::Descriptor* descriptor(); + static const Enum& default_instance(); + + static const Enum* internal_default_instance(); + + void UnsafeArenaSwap(Enum* other); + void Swap(Enum* other); + + // implements Message ---------------------------------------------- + + inline Enum* New() const { return New(NULL); } + + Enum* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const Enum& from); + void MergeFrom(const Enum& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(Enum* other); + void UnsafeMergeFrom(const Enum& from); + protected: + explicit Enum(::google::protobuf::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::google::protobuf::Arena* arena); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional string name = 1; + void clear_name(); + static const int kNameFieldNumber = 1; + const ::std::string& name() const; + void set_name(const ::std::string& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + ::std::string* mutable_name(); + ::std::string* release_name(); + void set_allocated_name(::std::string* name); + ::std::string* unsafe_arena_release_name(); + void unsafe_arena_set_allocated_name( + ::std::string* name); + + // repeated .google.protobuf.EnumValue enumvalue = 2; + int enumvalue_size() const; + void clear_enumvalue(); + static const int kEnumvalueFieldNumber = 2; + const ::google::protobuf::EnumValue& enumvalue(int index) const; + ::google::protobuf::EnumValue* mutable_enumvalue(int index); + ::google::protobuf::EnumValue* add_enumvalue(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValue >* + mutable_enumvalue(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValue >& + enumvalue() const; + + // repeated .google.protobuf.Option options = 3; + int options_size() const; + void clear_options(); + static const int kOptionsFieldNumber = 3; + const ::google::protobuf::Option& options(int index) const; + ::google::protobuf::Option* mutable_options(int index); + ::google::protobuf::Option* add_options(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option >* + mutable_options(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option >& + options() const; + + // optional .google.protobuf.SourceContext source_context = 4; + bool has_source_context() const; + void clear_source_context(); + static const int kSourceContextFieldNumber = 4; + private: + void _slow_mutable_source_context(); + ::google::protobuf::SourceContext* _slow_release_source_context(); + public: + const ::google::protobuf::SourceContext& source_context() const; + ::google::protobuf::SourceContext* mutable_source_context(); + ::google::protobuf::SourceContext* release_source_context(); + void set_allocated_source_context(::google::protobuf::SourceContext* source_context); + ::google::protobuf::SourceContext* unsafe_arena_release_source_context(); + void unsafe_arena_set_allocated_source_context( + ::google::protobuf::SourceContext* source_context); + + // optional .google.protobuf.Syntax syntax = 5; + void clear_syntax(); + static const int kSyntaxFieldNumber = 5; + ::google::protobuf::Syntax syntax() const; + void set_syntax(::google::protobuf::Syntax value); + + // @@protoc_insertion_point(class_scope:google.protobuf.Enum) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + friend class ::google::protobuf::Arena; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValue > enumvalue_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option > options_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::SourceContext* source_context_; + int syntax_; + mutable int _cached_size_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2ftype_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2ftype_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2ftype_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2ftype_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed Enum_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT EnumValue : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.EnumValue) */ { + public: + EnumValue(); + virtual ~EnumValue(); + + EnumValue(const EnumValue& from); + + inline EnumValue& operator=(const EnumValue& from) { + CopyFrom(from); + return *this; + } + + inline ::google::protobuf::Arena* GetArena() const { return GetArenaNoVirtual(); } + inline void* GetMaybeArenaPointer() const { + return MaybeArenaPtr(); + } + static const ::google::protobuf::Descriptor* descriptor(); + static const EnumValue& default_instance(); + + static const EnumValue* internal_default_instance(); + + void UnsafeArenaSwap(EnumValue* other); + void Swap(EnumValue* other); + + // implements Message ---------------------------------------------- + + inline EnumValue* New() const { return New(NULL); } + + EnumValue* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const EnumValue& from); + void MergeFrom(const EnumValue& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(EnumValue* other); + void UnsafeMergeFrom(const EnumValue& from); + protected: + explicit EnumValue(::google::protobuf::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::google::protobuf::Arena* arena); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional string name = 1; + void clear_name(); + static const int kNameFieldNumber = 1; + const ::std::string& name() const; + void set_name(const ::std::string& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + ::std::string* mutable_name(); + ::std::string* release_name(); + void set_allocated_name(::std::string* name); + ::std::string* unsafe_arena_release_name(); + void unsafe_arena_set_allocated_name( + ::std::string* name); + + // optional int32 number = 2; + void clear_number(); + static const int kNumberFieldNumber = 2; + ::google::protobuf::int32 number() const; + void set_number(::google::protobuf::int32 value); + + // repeated .google.protobuf.Option options = 3; + int options_size() const; + void clear_options(); + static const int kOptionsFieldNumber = 3; + const ::google::protobuf::Option& options(int index) const; + ::google::protobuf::Option* mutable_options(int index); + ::google::protobuf::Option* add_options(); + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option >* + mutable_options(); + const ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option >& + options() const; + + // @@protoc_insertion_point(class_scope:google.protobuf.EnumValue) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + friend class ::google::protobuf::Arena; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::google::protobuf::RepeatedPtrField< ::google::protobuf::Option > options_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::int32 number_; + mutable int _cached_size_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2ftype_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2ftype_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2ftype_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2ftype_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed EnumValue_default_instance_; + +// ------------------------------------------------------------------- + +class LIBPROTOBUF_EXPORT Option : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.Option) */ { + public: + Option(); + virtual ~Option(); + + Option(const Option& from); + + inline Option& operator=(const Option& from) { + CopyFrom(from); + return *this; + } + + inline ::google::protobuf::Arena* GetArena() const { return GetArenaNoVirtual(); } + inline void* GetMaybeArenaPointer() const { + return MaybeArenaPtr(); + } + static const ::google::protobuf::Descriptor* descriptor(); + static const Option& default_instance(); + + static const Option* internal_default_instance(); + + void UnsafeArenaSwap(Option* other); + void Swap(Option* other); + + // implements Message ---------------------------------------------- + + inline Option* New() const { return New(NULL); } + + Option* New(::google::protobuf::Arena* arena) const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const Option& from); + void MergeFrom(const Option& from); + void Clear(); + bool IsInitialized() const; + + size_t ByteSizeLong() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + bool deterministic, ::google::protobuf::uint8* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const { + return InternalSerializeWithCachedSizesToArray(false, output); + } + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + void InternalSwap(Option* other); + void UnsafeMergeFrom(const Option& from); + protected: + explicit Option(::google::protobuf::Arena* arena); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::google::protobuf::Arena* arena); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return _internal_metadata_.arena(); + } + inline void* MaybeArenaPtr() const { + return _internal_metadata_.raw_arena_ptr(); + } + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // optional string name = 1; + void clear_name(); + static const int kNameFieldNumber = 1; + const ::std::string& name() const; + void set_name(const ::std::string& value); + void set_name(const char* value); + void set_name(const char* value, size_t size); + ::std::string* mutable_name(); + ::std::string* release_name(); + void set_allocated_name(::std::string* name); + ::std::string* unsafe_arena_release_name(); + void unsafe_arena_set_allocated_name( + ::std::string* name); + + // optional .google.protobuf.Any value = 2; + bool has_value() const; + void clear_value(); + static const int kValueFieldNumber = 2; + private: + void _slow_mutable_value(); + ::google::protobuf::Any* _slow_release_value(); + public: + const ::google::protobuf::Any& value() const; + ::google::protobuf::Any* mutable_value(); + ::google::protobuf::Any* release_value(); + void set_allocated_value(::google::protobuf::Any* value); + ::google::protobuf::Any* unsafe_arena_release_value(); + void unsafe_arena_set_allocated_value( + ::google::protobuf::Any* value); + + // @@protoc_insertion_point(class_scope:google.protobuf.Option) + private: + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + friend class ::google::protobuf::Arena; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::Any* value_; + mutable int _cached_size_; + friend void LIBPROTOBUF_EXPORT protobuf_InitDefaults_google_2fprotobuf_2ftype_2eproto_impl(); + friend void LIBPROTOBUF_EXPORT protobuf_AddDesc_google_2fprotobuf_2ftype_2eproto_impl(); + friend void protobuf_AssignDesc_google_2fprotobuf_2ftype_2eproto(); + friend void protobuf_ShutdownFile_google_2fprotobuf_2ftype_2eproto(); + + void InitAsDefaultInstance(); +}; +extern ::google::protobuf::internal::ExplicitlyConstructed + 3 + 3 +
f
+ 1. 0. 0. 0. 1. 0. 0. 0. 1. +
+ +@endcode +YAML: +@code{.yaml} + %YAML:1.0 + A: !!opencv-matrix + rows: 3 + cols: 3 + dt: f + data: [ 1., 0., 0., 0., 1., 0., 0., 0., 1.] +@endcode +As it can be seen from the examples, XML uses nested tags to represent hierarchy, while YAML uses +indentation for that purpose (similar to the Python programming language). + +The same functions can read and write data in both formats; the particular format is determined by +the extension of the opened file, ".xml" for XML files, ".yml" or ".yaml" for YAML and ".json" for +JSON. + */ +typedef struct CvFileStorage CvFileStorage; +typedef struct CvFileNode CvFileNode; +typedef struct CvMat CvMat; +typedef struct CvMatND CvMatND; + +//! @} core_c + +#include "opencv2/core/types.hpp" +#include "opencv2/core/mat.hpp" + +namespace cv { + +/** @addtogroup core_xml + +XML/YAML/JSON file storages. {#xml_storage} +======================= +Writing to a file storage. +-------------------------- +You can store and then restore various OpenCV data structures to/from XML (), +YAML () or JSON () formats. Also, it is possible to store +and load arbitrarily complex data structures, which include OpenCV data structures, as well as +primitive data types (integer and floating-point numbers and text strings) as their elements. + +Use the following procedure to write something to XML, YAML or JSON: +-# Create new FileStorage and open it for writing. It can be done with a single call to +FileStorage::FileStorage constructor that takes a filename, or you can use the default constructor +and then call FileStorage::open. Format of the file (XML, YAML or JSON) is determined from the filename +extension (".xml", ".yml"/".yaml" and ".json", respectively) +-# Write all the data you want using the streaming operator `<<`, just like in the case of STL +streams. +-# Close the file using FileStorage::release. FileStorage destructor also closes the file. + +Here is an example: +@code + #include "opencv2/opencv.hpp" + #include + + using namespace cv; + + int main(int, char** argv) + { + FileStorage fs("test.yml", FileStorage::WRITE); + + fs << "frameCount" << 5; + time_t rawtime; time(&rawtime); + fs << "calibrationDate" << asctime(localtime(&rawtime)); + Mat cameraMatrix = (Mat_(3,3) << 1000, 0, 320, 0, 1000, 240, 0, 0, 1); + Mat distCoeffs = (Mat_(5,1) << 0.1, 0.01, -0.001, 0, 0); + fs << "cameraMatrix" << cameraMatrix << "distCoeffs" << distCoeffs; + fs << "features" << "["; + for( int i = 0; i < 3; i++ ) + { + int x = rand() % 640; + int y = rand() % 480; + uchar lbp = rand() % 256; + + fs << "{:" << "x" << x << "y" << y << "lbp" << "[:"; + for( int j = 0; j < 8; j++ ) + fs << ((lbp >> j) & 1); + fs << "]" << "}"; + } + fs << "]"; + fs.release(); + return 0; + } +@endcode +The sample above stores to YML an integer, a text string (calibration date), 2 matrices, and a custom +structure "feature", which includes feature coordinates and LBP (local binary pattern) value. Here +is output of the sample: +@code{.yaml} +%YAML:1.0 +frameCount: 5 +calibrationDate: "Fri Jun 17 14:09:29 2011\n" +cameraMatrix: !!opencv-matrix + rows: 3 + cols: 3 + dt: d + data: [ 1000., 0., 320., 0., 1000., 240., 0., 0., 1. ] +distCoeffs: !!opencv-matrix + rows: 5 + cols: 1 + dt: d + data: [ 1.0000000000000001e-01, 1.0000000000000000e-02, + -1.0000000000000000e-03, 0., 0. ] +features: + - { x:167, y:49, lbp:[ 1, 0, 0, 1, 1, 0, 1, 1 ] } + - { x:298, y:130, lbp:[ 0, 0, 0, 1, 0, 0, 1, 1 ] } + - { x:344, y:158, lbp:[ 1, 1, 0, 0, 0, 0, 1, 0 ] } +@endcode + +As an exercise, you can replace ".yml" with ".xml" or ".json" in the sample above and see, how the +corresponding XML file will look like. + +Several things can be noted by looking at the sample code and the output: + +- The produced YAML (and XML/JSON) consists of heterogeneous collections that can be nested. There are + 2 types of collections: named collections (mappings) and unnamed collections (sequences). In mappings + each element has a name and is accessed by name. This is similar to structures and std::map in + C/C++ and dictionaries in Python. In sequences elements do not have names, they are accessed by + indices. This is similar to arrays and std::vector in C/C++ and lists, tuples in Python. + "Heterogeneous" means that elements of each single collection can have different types. + + Top-level collection in YAML/XML/JSON is a mapping. Each matrix is stored as a mapping, and the matrix + elements are stored as a sequence. Then, there is a sequence of features, where each feature is + represented a mapping, and lbp value in a nested sequence. + +- When you write to a mapping (a structure), you write element name followed by its value. When you + write to a sequence, you simply write the elements one by one. OpenCV data structures (such as + cv::Mat) are written in absolutely the same way as simple C data structures - using `<<` + operator. + +- To write a mapping, you first write the special string `{` to the storage, then write the + elements as pairs (`fs << << `) and then write the closing + `}`. + +- To write a sequence, you first write the special string `[`, then write the elements, then + write the closing `]`. + +- In YAML/JSON (but not XML), mappings and sequences can be written in a compact Python-like inline + form. In the sample above matrix elements, as well as each feature, including its lbp value, is + stored in such inline form. To store a mapping/sequence in a compact form, put `:` after the + opening character, e.g. use `{:` instead of `{` and `[:` instead of `[`. When the + data is written to XML, those extra `:` are ignored. + +Reading data from a file storage. +--------------------------------- +To read the previously written XML, YAML or JSON file, do the following: +-# Open the file storage using FileStorage::FileStorage constructor or FileStorage::open method. + In the current implementation the whole file is parsed and the whole representation of file + storage is built in memory as a hierarchy of file nodes (see FileNode) + +-# Read the data you are interested in. Use FileStorage::operator [], FileNode::operator [] + and/or FileNodeIterator. + +-# Close the storage using FileStorage::release. + +Here is how to read the file created by the code sample above: +@code + FileStorage fs2("test.yml", FileStorage::READ); + + // first method: use (type) operator on FileNode. + int frameCount = (int)fs2["frameCount"]; + + String date; + // second method: use FileNode::operator >> + fs2["calibrationDate"] >> date; + + Mat cameraMatrix2, distCoeffs2; + fs2["cameraMatrix"] >> cameraMatrix2; + fs2["distCoeffs"] >> distCoeffs2; + + cout << "frameCount: " << frameCount << endl + << "calibration date: " << date << endl + << "camera matrix: " << cameraMatrix2 << endl + << "distortion coeffs: " << distCoeffs2 << endl; + + FileNode features = fs2["features"]; + FileNodeIterator it = features.begin(), it_end = features.end(); + int idx = 0; + std::vector lbpval; + + // iterate through a sequence using FileNodeIterator + for( ; it != it_end; ++it, idx++ ) + { + cout << "feature #" << idx << ": "; + cout << "x=" << (int)(*it)["x"] << ", y=" << (int)(*it)["y"] << ", lbp: ("; + // you can also easily read numerical arrays using FileNode >> std::vector operator. + (*it)["lbp"] >> lbpval; + for( int i = 0; i < (int)lbpval.size(); i++ ) + cout << " " << (int)lbpval[i]; + cout << ")" << endl; + } + fs2.release(); +@endcode + +Format specification {#format_spec} +-------------------- +`([count]{u|c|w|s|i|f|d})`... where the characters correspond to fundamental C++ types: +- `u` 8-bit unsigned number +- `c` 8-bit signed number +- `w` 16-bit unsigned number +- `s` 16-bit signed number +- `i` 32-bit signed number +- `f` single precision floating-point number +- `d` double precision floating-point number +- `r` pointer, 32 lower bits of which are written as a signed integer. The type can be used to + store structures with links between the elements. + +`count` is the optional counter of values of a given type. For example, `2if` means that each array +element is a structure of 2 integers, followed by a single-precision floating-point number. The +equivalent notations of the above specification are `iif`, `2i1f` and so forth. Other examples: `u` +means that the array consists of bytes, and `2d` means the array consists of pairs of doubles. + +@see @ref filestorage.cpp +*/ + +//! @{ + +/** @example filestorage.cpp +A complete example using the FileStorage interface +*/ + +////////////////////////// XML & YAML I/O ////////////////////////// + +class CV_EXPORTS FileNode; +class CV_EXPORTS FileNodeIterator; + +/** @brief XML/YAML/JSON file storage class that encapsulates all the information necessary for writing or +reading data to/from a file. + */ +class CV_EXPORTS_W FileStorage +{ +public: + //! file storage mode + enum Mode + { + READ = 0, //!< value, open the file for reading + WRITE = 1, //!< value, open the file for writing + APPEND = 2, //!< value, open the file for appending + MEMORY = 4, //!< flag, read data from source or write data to the internal buffer (which is + //!< returned by FileStorage::release) + FORMAT_MASK = (7<<3), //!< mask for format flags + FORMAT_AUTO = 0, //!< flag, auto format + FORMAT_XML = (1<<3), //!< flag, XML format + FORMAT_YAML = (2<<3), //!< flag, YAML format + FORMAT_JSON = (3<<3), //!< flag, JSON format + + BASE64 = 64, //!< flag, write rawdata in Base64 by default. (consider using WRITE_BASE64) + WRITE_BASE64 = BASE64 | WRITE, //!< flag, enable both WRITE and BASE64 + }; + enum + { + UNDEFINED = 0, + VALUE_EXPECTED = 1, + NAME_EXPECTED = 2, + INSIDE_MAP = 4 + }; + + /** @brief The constructors. + + The full constructor opens the file. Alternatively you can use the default constructor and then + call FileStorage::open. + */ + CV_WRAP FileStorage(); + + /** @overload + @param source Name of the file to open or the text string to read the data from. Extension of the + file (.xml, .yml/.yaml, or .json) determines its format (XML, YAML or JSON respectively). Also you can + append .gz to work with compressed files, for example myHugeMatrix.xml.gz. If both FileStorage::WRITE + and FileStorage::MEMORY flags are specified, source is used just to specify the output file format (e.g. + mydata.xml, .yml etc.). + @param flags Mode of operation. See FileStorage::Mode + @param encoding Encoding of the file. Note that UTF-16 XML encoding is not supported currently and + you should use 8-bit encoding instead of it. + */ + CV_WRAP FileStorage(const String& source, int flags, const String& encoding=String()); + + /** @overload */ + FileStorage(CvFileStorage* fs, bool owning=true); + + //! the destructor. calls release() + virtual ~FileStorage(); + + /** @brief Opens a file. + + See description of parameters in FileStorage::FileStorage. The method calls FileStorage::release + before opening the file. + @param filename Name of the file to open or the text string to read the data from. + Extension of the file (.xml, .yml/.yaml or .json) determines its format (XML, YAML or JSON + respectively). Also you can append .gz to work with compressed files, for example myHugeMatrix.xml.gz. If both + FileStorage::WRITE and FileStorage::MEMORY flags are specified, source is used just to specify + the output file format (e.g. mydata.xml, .yml etc.). A file name can also contain parameters. + You can use this format, "*?base64" (e.g. "file.json?base64" (case sensitive)), as an alternative to + FileStorage::BASE64 flag. + @param flags Mode of operation. One of FileStorage::Mode + @param encoding Encoding of the file. Note that UTF-16 XML encoding is not supported currently and + you should use 8-bit encoding instead of it. + */ + CV_WRAP virtual bool open(const String& filename, int flags, const String& encoding=String()); + + /** @brief Checks whether the file is opened. + + @returns true if the object is associated with the current file and false otherwise. It is a + good practice to call this method after you tried to open a file. + */ + CV_WRAP virtual bool isOpened() const; + + /** @brief Closes the file and releases all the memory buffers. + + Call this method after all I/O operations with the storage are finished. + */ + CV_WRAP virtual void release(); + + /** @brief Closes the file and releases all the memory buffers. + + Call this method after all I/O operations with the storage are finished. If the storage was + opened for writing data and FileStorage::WRITE was specified + */ + CV_WRAP virtual String releaseAndGetString(); + + /** @brief Returns the first element of the top-level mapping. + @returns The first element of the top-level mapping. + */ + CV_WRAP FileNode getFirstTopLevelNode() const; + + /** @brief Returns the top-level mapping + @param streamidx Zero-based index of the stream. In most cases there is only one stream in the file. + However, YAML supports multiple streams and so there can be several. + @returns The top-level mapping. + */ + CV_WRAP FileNode root(int streamidx=0) const; + + /** @brief Returns the specified element of the top-level mapping. + @param nodename Name of the file node. + @returns Node with the given name. + */ + FileNode operator[](const String& nodename) const; + + /** @overload */ + CV_WRAP_AS(getNode) FileNode operator[](const char* nodename) const; + + /** @brief Returns the obsolete C FileStorage structure. + @returns Pointer to the underlying C FileStorage structure + */ + CvFileStorage* operator *() { return fs.get(); } + + /** @overload */ + const CvFileStorage* operator *() const { return fs.get(); } + + /** @brief Writes multiple numbers. + + Writes one or more numbers of the specified format to the currently written structure. Usually it is + more convenient to use operator `<<` instead of this method. + @param fmt Specification of each array element, see @ref format_spec "format specification" + @param vec Pointer to the written array. + @param len Number of the uchar elements to write. + */ + void writeRaw( const String& fmt, const uchar* vec, size_t len ); + + /** @brief Writes the registered C structure (CvMat, CvMatND, CvSeq). + @param name Name of the written object. + @param obj Pointer to the object. + @see ocvWrite for details. + */ + void writeObj( const String& name, const void* obj ); + + /** + * @brief Simplified writing API to use with bindings. + * @param name Name of the written object + * @param val Value of the written object + */ + CV_WRAP void write(const String& name, double val); + /// @overload + CV_WRAP void write(const String& name, const String& val); + /// @overload + CV_WRAP void write(const String& name, InputArray val); + + /** @brief Writes a comment. + + The function writes a comment into file storage. The comments are skipped when the storage is read. + @param comment The written comment, single-line or multi-line + @param append If true, the function tries to put the comment at the end of current line. + Else if the comment is multi-line, or if it does not fit at the end of the current + line, the comment starts a new line. + */ + CV_WRAP void writeComment(const String& comment, bool append = false); + + /** @brief Returns the normalized object name for the specified name of a file. + @param filename Name of a file + @returns The normalized object name. + */ + static String getDefaultObjectName(const String& filename); + + /** @brief Returns the current format. + * @returns The current format, see FileStorage::Mode + */ + CV_WRAP int getFormat() const; + + Ptr fs; //!< the underlying C FileStorage structure + String elname; //!< the currently written element + std::vector structs; //!< the stack of written structures + int state; //!< the writer state +}; + +template<> CV_EXPORTS void DefaultDeleter::operator ()(CvFileStorage* obj) const; + +/** @brief File Storage Node class. + +The node is used to store each and every element of the file storage opened for reading. When +XML/YAML file is read, it is first parsed and stored in the memory as a hierarchical collection of +nodes. Each node can be a "leaf" that is contain a single number or a string, or be a collection of +other nodes. There can be named collections (mappings) where each element has a name and it is +accessed by a name, and ordered collections (sequences) where elements do not have names but rather +accessed by index. Type of the file node can be determined using FileNode::type method. + +Note that file nodes are only used for navigating file storages opened for reading. When a file +storage is opened for writing, no data is stored in memory after it is written. + */ +class CV_EXPORTS_W_SIMPLE FileNode +{ +public: + //! type of the file storage node + enum Type + { + NONE = 0, //!< empty node + INT = 1, //!< an integer + REAL = 2, //!< floating-point number + FLOAT = REAL, //!< synonym or REAL + STR = 3, //!< text string in UTF-8 encoding + STRING = STR, //!< synonym for STR + REF = 4, //!< integer of size size_t. Typically used for storing complex dynamic structures where some elements reference the others + SEQ = 5, //!< sequence + MAP = 6, //!< mapping + TYPE_MASK = 7, + FLOW = 8, //!< compact representation of a sequence or mapping. Used only by YAML writer + USER = 16, //!< a registered object (e.g. a matrix) + EMPTY = 32, //!< empty structure (sequence or mapping) + NAMED = 64 //!< the node has a name (i.e. it is element of a mapping) + }; + /** @brief The constructors. + + These constructors are used to create a default file node, construct it from obsolete structures or + from the another file node. + */ + CV_WRAP FileNode(); + + /** @overload + @param fs Pointer to the obsolete file storage structure. + @param node File node to be used as initialization for the created file node. + */ + FileNode(const CvFileStorage* fs, const CvFileNode* node); + + /** @overload + @param node File node to be used as initialization for the created file node. + */ + FileNode(const FileNode& node); + + /** @brief Returns element of a mapping node or a sequence node. + @param nodename Name of an element in the mapping node. + @returns Returns the element with the given identifier. + */ + FileNode operator[](const String& nodename) const; + + /** @overload + @param nodename Name of an element in the mapping node. + */ + CV_WRAP_AS(getNode) FileNode operator[](const char* nodename) const; + + /** @overload + @param i Index of an element in the sequence node. + */ + CV_WRAP_AS(at) FileNode operator[](int i) const; + + /** @brief Returns type of the node. + @returns Type of the node. See FileNode::Type + */ + CV_WRAP int type() const; + + //! returns true if the node is empty + CV_WRAP bool empty() const; + //! returns true if the node is a "none" object + CV_WRAP bool isNone() const; + //! returns true if the node is a sequence + CV_WRAP bool isSeq() const; + //! returns true if the node is a mapping + CV_WRAP bool isMap() const; + //! returns true if the node is an integer + CV_WRAP bool isInt() const; + //! returns true if the node is a floating-point number + CV_WRAP bool isReal() const; + //! returns true if the node is a text string + CV_WRAP bool isString() const; + //! returns true if the node has a name + CV_WRAP bool isNamed() const; + //! returns the node name or an empty string if the node is nameless + CV_WRAP String name() const; + //! returns the number of elements in the node, if it is a sequence or mapping, or 1 otherwise. + CV_WRAP size_t size() const; + //! returns the node content as an integer. If the node stores floating-point number, it is rounded. + operator int() const; + //! returns the node content as float + operator float() const; + //! returns the node content as double + operator double() const; + //! returns the node content as text string + operator String() const; + operator std::string() const; + + //! returns pointer to the underlying file node + CvFileNode* operator *(); + //! returns pointer to the underlying file node + const CvFileNode* operator* () const; + + //! returns iterator pointing to the first node element + FileNodeIterator begin() const; + //! returns iterator pointing to the element following the last node element + FileNodeIterator end() const; + + /** @brief Reads node elements to the buffer with the specified format. + + Usually it is more convenient to use operator `>>` instead of this method. + @param fmt Specification of each array element. See @ref format_spec "format specification" + @param vec Pointer to the destination array. + @param len Number of elements to read. If it is greater than number of remaining elements then all + of them will be read. + */ + void readRaw( const String& fmt, uchar* vec, size_t len ) const; + + //! reads the registered object and returns pointer to it + void* readObj() const; + + //! Simplified reading API to use with bindings. + CV_WRAP double real() const; + //! Simplified reading API to use with bindings. + CV_WRAP String string() const; + //! Simplified reading API to use with bindings. + CV_WRAP Mat mat() const; + + // do not use wrapper pointer classes for better efficiency + const CvFileStorage* fs; + const CvFileNode* node; +}; + + +/** @brief used to iterate through sequences and mappings. + +A standard STL notation, with node.begin(), node.end() denoting the beginning and the end of a +sequence, stored in node. See the data reading sample in the beginning of the section. + */ +class CV_EXPORTS FileNodeIterator +{ +public: + /** @brief The constructors. + + These constructors are used to create a default iterator, set it to specific element in a file node + or construct it from another iterator. + */ + FileNodeIterator(); + + /** @overload + @param fs File storage for the iterator. + @param node File node for the iterator. + @param ofs Index of the element in the node. The created iterator will point to this element. + */ + FileNodeIterator(const CvFileStorage* fs, const CvFileNode* node, size_t ofs=0); + + /** @overload + @param it Iterator to be used as initialization for the created iterator. + */ + FileNodeIterator(const FileNodeIterator& it); + + //! returns the currently observed element + FileNode operator *() const; + //! accesses the currently observed element methods + FileNode operator ->() const; + + //! moves iterator to the next node + FileNodeIterator& operator ++ (); + //! moves iterator to the next node + FileNodeIterator operator ++ (int); + //! moves iterator to the previous node + FileNodeIterator& operator -- (); + //! moves iterator to the previous node + FileNodeIterator operator -- (int); + //! moves iterator forward by the specified offset (possibly negative) + FileNodeIterator& operator += (int ofs); + //! moves iterator backward by the specified offset (possibly negative) + FileNodeIterator& operator -= (int ofs); + + /** @brief Reads node elements to the buffer with the specified format. + + Usually it is more convenient to use operator `>>` instead of this method. + @param fmt Specification of each array element. See @ref format_spec "format specification" + @param vec Pointer to the destination array. + @param maxCount Number of elements to read. If it is greater than number of remaining elements then + all of them will be read. + */ + FileNodeIterator& readRaw( const String& fmt, uchar* vec, + size_t maxCount=(size_t)INT_MAX ); + + struct SeqReader + { + int header_size; + void* seq; /* sequence, beign read; CvSeq */ + void* block; /* current block; CvSeqBlock */ + schar* ptr; /* pointer to element be read next */ + schar* block_min; /* pointer to the beginning of block */ + schar* block_max; /* pointer to the end of block */ + int delta_index;/* = seq->first->start_index */ + schar* prev_elem; /* pointer to previous element */ + }; + + const CvFileStorage* fs; + const CvFileNode* container; + SeqReader reader; + size_t remaining; +}; + +//! @} core_xml + +/////////////////// XML & YAML I/O implementation ////////////////// + +//! @relates cv::FileStorage +//! @{ + +CV_EXPORTS void write( FileStorage& fs, const String& name, int value ); +CV_EXPORTS void write( FileStorage& fs, const String& name, float value ); +CV_EXPORTS void write( FileStorage& fs, const String& name, double value ); +CV_EXPORTS void write( FileStorage& fs, const String& name, const String& value ); +CV_EXPORTS void write( FileStorage& fs, const String& name, const Mat& value ); +CV_EXPORTS void write( FileStorage& fs, const String& name, const SparseMat& value ); +#ifdef CV__LEGACY_PERSISTENCE +CV_EXPORTS void write( FileStorage& fs, const String& name, const std::vector& value); +CV_EXPORTS void write( FileStorage& fs, const String& name, const std::vector& value); +#endif + +CV_EXPORTS void writeScalar( FileStorage& fs, int value ); +CV_EXPORTS void writeScalar( FileStorage& fs, float value ); +CV_EXPORTS void writeScalar( FileStorage& fs, double value ); +CV_EXPORTS void writeScalar( FileStorage& fs, const String& value ); + +//! @} + +//! @relates cv::FileNode +//! @{ + +CV_EXPORTS void read(const FileNode& node, int& value, int default_value); +CV_EXPORTS void read(const FileNode& node, float& value, float default_value); +CV_EXPORTS void read(const FileNode& node, double& value, double default_value); +CV_EXPORTS void read(const FileNode& node, String& value, const String& default_value); +CV_EXPORTS void read(const FileNode& node, std::string& value, const std::string& default_value); +CV_EXPORTS void read(const FileNode& node, Mat& mat, const Mat& default_mat = Mat() ); +CV_EXPORTS void read(const FileNode& node, SparseMat& mat, const SparseMat& default_mat = SparseMat() ); +#ifdef CV__LEGACY_PERSISTENCE +CV_EXPORTS void read(const FileNode& node, std::vector& keypoints); +CV_EXPORTS void read(const FileNode& node, std::vector& matches); +#endif +CV_EXPORTS void read(const FileNode& node, KeyPoint& value, const KeyPoint& default_value); +CV_EXPORTS void read(const FileNode& node, DMatch& value, const DMatch& default_value); + +template static inline void read(const FileNode& node, Point_<_Tp>& value, const Point_<_Tp>& default_value) +{ + std::vector<_Tp> temp; FileNodeIterator it = node.begin(); it >> temp; + value = temp.size() != 2 ? default_value : Point_<_Tp>(saturate_cast<_Tp>(temp[0]), saturate_cast<_Tp>(temp[1])); +} + +template static inline void read(const FileNode& node, Point3_<_Tp>& value, const Point3_<_Tp>& default_value) +{ + std::vector<_Tp> temp; FileNodeIterator it = node.begin(); it >> temp; + value = temp.size() != 3 ? default_value : Point3_<_Tp>(saturate_cast<_Tp>(temp[0]), saturate_cast<_Tp>(temp[1]), + saturate_cast<_Tp>(temp[2])); +} + +template static inline void read(const FileNode& node, Size_<_Tp>& value, const Size_<_Tp>& default_value) +{ + std::vector<_Tp> temp; FileNodeIterator it = node.begin(); it >> temp; + value = temp.size() != 2 ? default_value : Size_<_Tp>(saturate_cast<_Tp>(temp[0]), saturate_cast<_Tp>(temp[1])); +} + +template static inline void read(const FileNode& node, Complex<_Tp>& value, const Complex<_Tp>& default_value) +{ + std::vector<_Tp> temp; FileNodeIterator it = node.begin(); it >> temp; + value = temp.size() != 2 ? default_value : Complex<_Tp>(saturate_cast<_Tp>(temp[0]), saturate_cast<_Tp>(temp[1])); +} + +template static inline void read(const FileNode& node, Rect_<_Tp>& value, const Rect_<_Tp>& default_value) +{ + std::vector<_Tp> temp; FileNodeIterator it = node.begin(); it >> temp; + value = temp.size() != 4 ? default_value : Rect_<_Tp>(saturate_cast<_Tp>(temp[0]), saturate_cast<_Tp>(temp[1]), + saturate_cast<_Tp>(temp[2]), saturate_cast<_Tp>(temp[3])); +} + +template static inline void read(const FileNode& node, Vec<_Tp, cn>& value, const Vec<_Tp, cn>& default_value) +{ + std::vector<_Tp> temp; FileNodeIterator it = node.begin(); it >> temp; + value = temp.size() != cn ? default_value : Vec<_Tp, cn>(&temp[0]); +} + +template static inline void read(const FileNode& node, Scalar_<_Tp>& value, const Scalar_<_Tp>& default_value) +{ + std::vector<_Tp> temp; FileNodeIterator it = node.begin(); it >> temp; + value = temp.size() != 4 ? default_value : Scalar_<_Tp>(saturate_cast<_Tp>(temp[0]), saturate_cast<_Tp>(temp[1]), + saturate_cast<_Tp>(temp[2]), saturate_cast<_Tp>(temp[3])); +} + +static inline void read(const FileNode& node, Range& value, const Range& default_value) +{ + Point2i temp(value.start, value.end); const Point2i default_temp = Point2i(default_value.start, default_value.end); + read(node, temp, default_temp); + value.start = temp.x; value.end = temp.y; +} + +//! @} + +/** @brief Writes string to a file storage. +@relates cv::FileStorage + */ +CV_EXPORTS FileStorage& operator << (FileStorage& fs, const String& str); + +//! @cond IGNORED + +namespace internal +{ + class CV_EXPORTS WriteStructContext + { + public: + WriteStructContext(FileStorage& _fs, const String& name, int flags, const String& typeName = String()); + ~WriteStructContext(); + private: + FileStorage* fs; + }; + + template class VecWriterProxy + { + public: + VecWriterProxy( FileStorage* _fs ) : fs(_fs) {} + void operator()(const std::vector<_Tp>& vec) const + { + size_t count = vec.size(); + for (size_t i = 0; i < count; i++) + write(*fs, vec[i]); + } + private: + FileStorage* fs; + }; + + template class VecWriterProxy<_Tp, 1> + { + public: + VecWriterProxy( FileStorage* _fs ) : fs(_fs) {} + void operator()(const std::vector<_Tp>& vec) const + { + int _fmt = traits::SafeFmt<_Tp>::fmt; + char fmt[] = { (char)((_fmt >> 8) + '1'), (char)_fmt, '\0' }; + fs->writeRaw(fmt, !vec.empty() ? (uchar*)&vec[0] : 0, vec.size() * sizeof(_Tp)); + } + private: + FileStorage* fs; + }; + + template class VecReaderProxy + { + public: + VecReaderProxy( FileNodeIterator* _it ) : it(_it) {} + void operator()(std::vector<_Tp>& vec, size_t count) const + { + count = std::min(count, it->remaining); + vec.resize(count); + for (size_t i = 0; i < count; i++, ++(*it)) + read(**it, vec[i], _Tp()); + } + private: + FileNodeIterator* it; + }; + + template class VecReaderProxy<_Tp, 1> + { + public: + VecReaderProxy( FileNodeIterator* _it ) : it(_it) {} + void operator()(std::vector<_Tp>& vec, size_t count) const + { + size_t remaining = it->remaining; + size_t cn = DataType<_Tp>::channels; + int _fmt = traits::SafeFmt<_Tp>::fmt; + char fmt[] = { (char)((_fmt >> 8)+'1'), (char)_fmt, '\0' }; + size_t remaining1 = remaining / cn; + count = count < remaining1 ? count : remaining1; + vec.resize(count); + it->readRaw(fmt, !vec.empty() ? (uchar*)&vec[0] : 0, count*sizeof(_Tp)); + } + private: + FileNodeIterator* it; + }; + +} // internal + +//! @endcond + +//! @relates cv::FileStorage +//! @{ + +template static inline +void write(FileStorage& fs, const _Tp& value) +{ + write(fs, String(), value); +} + +template<> inline +void write( FileStorage& fs, const int& value ) +{ + writeScalar(fs, value); +} + +template<> inline +void write( FileStorage& fs, const float& value ) +{ + writeScalar(fs, value); +} + +template<> inline +void write( FileStorage& fs, const double& value ) +{ + writeScalar(fs, value); +} + +template<> inline +void write( FileStorage& fs, const String& value ) +{ + writeScalar(fs, value); +} + +template static inline +void write(FileStorage& fs, const Point_<_Tp>& pt ) +{ + write(fs, pt.x); + write(fs, pt.y); +} + +template static inline +void write(FileStorage& fs, const Point3_<_Tp>& pt ) +{ + write(fs, pt.x); + write(fs, pt.y); + write(fs, pt.z); +} + +template static inline +void write(FileStorage& fs, const Size_<_Tp>& sz ) +{ + write(fs, sz.width); + write(fs, sz.height); +} + +template static inline +void write(FileStorage& fs, const Complex<_Tp>& c ) +{ + write(fs, c.re); + write(fs, c.im); +} + +template static inline +void write(FileStorage& fs, const Rect_<_Tp>& r ) +{ + write(fs, r.x); + write(fs, r.y); + write(fs, r.width); + write(fs, r.height); +} + +template static inline +void write(FileStorage& fs, const Vec<_Tp, cn>& v ) +{ + for(int i = 0; i < cn; i++) + write(fs, v.val[i]); +} + +template static inline +void write(FileStorage& fs, const Scalar_<_Tp>& s ) +{ + write(fs, s.val[0]); + write(fs, s.val[1]); + write(fs, s.val[2]); + write(fs, s.val[3]); +} + +static inline +void write(FileStorage& fs, const Range& r ) +{ + write(fs, r.start); + write(fs, r.end); +} + +template static inline +void write( FileStorage& fs, const std::vector<_Tp>& vec ) +{ + cv::internal::VecWriterProxy<_Tp, traits::SafeFmt<_Tp>::fmt != 0> w(&fs); + w(vec); +} + +template static inline +void write(FileStorage& fs, const String& name, const Point_<_Tp>& pt ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, pt); +} + +template static inline +void write(FileStorage& fs, const String& name, const Point3_<_Tp>& pt ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, pt); +} + +template static inline +void write(FileStorage& fs, const String& name, const Size_<_Tp>& sz ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, sz); +} + +template static inline +void write(FileStorage& fs, const String& name, const Complex<_Tp>& c ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, c); +} + +template static inline +void write(FileStorage& fs, const String& name, const Rect_<_Tp>& r ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, r); +} + +template static inline +void write(FileStorage& fs, const String& name, const Vec<_Tp, cn>& v ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, v); +} + +template static inline +void write(FileStorage& fs, const String& name, const Scalar_<_Tp>& s ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, s); +} + +static inline +void write(FileStorage& fs, const String& name, const Range& r ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, r); +} + +static inline +void write(FileStorage& fs, const String& name, const KeyPoint& kpt) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, kpt.pt.x); + write(fs, kpt.pt.y); + write(fs, kpt.size); + write(fs, kpt.angle); + write(fs, kpt.response); + write(fs, kpt.octave); + write(fs, kpt.class_id); +} + +static inline +void write(FileStorage& fs, const String& name, const DMatch& m) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, m.queryIdx); + write(fs, m.trainIdx); + write(fs, m.imgIdx); + write(fs, m.distance); +} + +template static inline +void write( FileStorage& fs, const String& name, const std::vector<_Tp>& vec ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+(traits::SafeFmt<_Tp>::fmt != 0 ? FileNode::FLOW : 0)); + write(fs, vec); +} + +template static inline +void write( FileStorage& fs, const String& name, const std::vector< std::vector<_Tp> >& vec ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ); + for(size_t i = 0; i < vec.size(); i++) + { + cv::internal::WriteStructContext ws_(fs, name, FileNode::SEQ+(traits::SafeFmt<_Tp>::fmt != 0 ? FileNode::FLOW : 0)); + write(fs, vec[i]); + } +} + +#ifdef CV__LEGACY_PERSISTENCE +// This code is not needed anymore, but it is preserved here to keep source compatibility +// Implementation is similar to templates instantiations +static inline void write(FileStorage& fs, const KeyPoint& kpt) { write(fs, String(), kpt); } +static inline void write(FileStorage& fs, const DMatch& m) { write(fs, String(), m); } +static inline void write(FileStorage& fs, const std::vector& vec) +{ + cv::internal::VecWriterProxy w(&fs); + w(vec); +} +static inline void write(FileStorage& fs, const std::vector& vec) +{ + cv::internal::VecWriterProxy w(&fs); + w(vec); + +} +#endif + +//! @} FileStorage + +//! @relates cv::FileNode +//! @{ + +static inline +void read(const FileNode& node, bool& value, bool default_value) +{ + int temp; + read(node, temp, (int)default_value); + value = temp != 0; +} + +static inline +void read(const FileNode& node, uchar& value, uchar default_value) +{ + int temp; + read(node, temp, (int)default_value); + value = saturate_cast(temp); +} + +static inline +void read(const FileNode& node, schar& value, schar default_value) +{ + int temp; + read(node, temp, (int)default_value); + value = saturate_cast(temp); +} + +static inline +void read(const FileNode& node, ushort& value, ushort default_value) +{ + int temp; + read(node, temp, (int)default_value); + value = saturate_cast(temp); +} + +static inline +void read(const FileNode& node, short& value, short default_value) +{ + int temp; + read(node, temp, (int)default_value); + value = saturate_cast(temp); +} + +template static inline +void read( FileNodeIterator& it, std::vector<_Tp>& vec, size_t maxCount = (size_t)INT_MAX ) +{ + cv::internal::VecReaderProxy<_Tp, traits::SafeFmt<_Tp>::fmt != 0> r(&it); + r(vec, maxCount); +} + +template static inline +void read( const FileNode& node, std::vector<_Tp>& vec, const std::vector<_Tp>& default_value = std::vector<_Tp>() ) +{ + if(!node.node) + vec = default_value; + else + { + FileNodeIterator it = node.begin(); + read( it, vec ); + } +} + +static inline +void read( const FileNode& node, std::vector& vec, const std::vector& default_value ) +{ + if(!node.node) + vec = default_value; + else + read(node, vec); +} + +static inline +void read( const FileNode& node, std::vector& vec, const std::vector& default_value ) +{ + if(!node.node) + vec = default_value; + else + read(node, vec); +} + +//! @} FileNode + +//! @relates cv::FileStorage +//! @{ + +/** @brief Writes data to a file storage. + */ +template static inline +FileStorage& operator << (FileStorage& fs, const _Tp& value) +{ + if( !fs.isOpened() ) + return fs; + if( fs.state == FileStorage::NAME_EXPECTED + FileStorage::INSIDE_MAP ) + CV_Error( Error::StsError, "No element name has been given" ); + write( fs, fs.elname, value ); + if( fs.state & FileStorage::INSIDE_MAP ) + fs.state = FileStorage::NAME_EXPECTED + FileStorage::INSIDE_MAP; + return fs; +} + +/** @brief Writes data to a file storage. + */ +static inline +FileStorage& operator << (FileStorage& fs, const char* str) +{ + return (fs << String(str)); +} + +/** @brief Writes data to a file storage. + */ +static inline +FileStorage& operator << (FileStorage& fs, char* value) +{ + return (fs << String(value)); +} + +//! @} FileStorage + +//! @relates cv::FileNodeIterator +//! @{ + +/** @brief Reads data from a file storage. + */ +template static inline +FileNodeIterator& operator >> (FileNodeIterator& it, _Tp& value) +{ + read( *it, value, _Tp()); + return ++it; +} + +/** @brief Reads data from a file storage. + */ +template static inline +FileNodeIterator& operator >> (FileNodeIterator& it, std::vector<_Tp>& vec) +{ + cv::internal::VecReaderProxy<_Tp, traits::SafeFmt<_Tp>::fmt != 0> r(&it); + r(vec, (size_t)INT_MAX); + return it; +} + +//! @} FileNodeIterator + +//! @relates cv::FileNode +//! @{ + +/** @brief Reads data from a file storage. + */ +template static inline +void operator >> (const FileNode& n, _Tp& value) +{ + read( n, value, _Tp()); +} + +/** @brief Reads data from a file storage. + */ +template static inline +void operator >> (const FileNode& n, std::vector<_Tp>& vec) +{ + FileNodeIterator it = n.begin(); + it >> vec; +} + +/** @brief Reads KeyPoint from a file storage. +*/ +//It needs special handling because it contains two types of fields, int & float. +static inline +void operator >> (const FileNode& n, KeyPoint& kpt) +{ + FileNodeIterator it = n.begin(); + it >> kpt.pt.x >> kpt.pt.y >> kpt.size >> kpt.angle >> kpt.response >> kpt.octave >> kpt.class_id; +} + +#ifdef CV__LEGACY_PERSISTENCE +static inline +void operator >> (const FileNode& n, std::vector& vec) +{ + read(n, vec); +} +static inline +void operator >> (const FileNode& n, std::vector& vec) +{ + read(n, vec); +} +#endif + +/** @brief Reads DMatch from a file storage. +*/ +//It needs special handling because it contains two types of fields, int & float. +static inline +void operator >> (const FileNode& n, DMatch& m) +{ + FileNodeIterator it = n.begin(); + it >> m.queryIdx >> m.trainIdx >> m.imgIdx >> m.distance; +} + +//! @} FileNode + +//! @relates cv::FileNodeIterator +//! @{ + +static inline +bool operator == (const FileNodeIterator& it1, const FileNodeIterator& it2) +{ + return it1.fs == it2.fs && it1.container == it2.container && + it1.reader.ptr == it2.reader.ptr && it1.remaining == it2.remaining; +} + +static inline +bool operator != (const FileNodeIterator& it1, const FileNodeIterator& it2) +{ + return !(it1 == it2); +} + +static inline +ptrdiff_t operator - (const FileNodeIterator& it1, const FileNodeIterator& it2) +{ + return it2.remaining - it1.remaining; +} + +static inline +bool operator < (const FileNodeIterator& it1, const FileNodeIterator& it2) +{ + return it1.remaining > it2.remaining; +} + +//! @} FileNodeIterator + +//! @cond IGNORED + +inline FileNode FileStorage::getFirstTopLevelNode() const { FileNode r = root(); FileNodeIterator it = r.begin(); return it != r.end() ? *it : FileNode(); } +inline FileNode::FileNode() : fs(0), node(0) {} +inline FileNode::FileNode(const CvFileStorage* _fs, const CvFileNode* _node) : fs(_fs), node(_node) {} +inline FileNode::FileNode(const FileNode& _node) : fs(_node.fs), node(_node.node) {} +inline bool FileNode::empty() const { return node == 0; } +inline bool FileNode::isNone() const { return type() == NONE; } +inline bool FileNode::isSeq() const { return type() == SEQ; } +inline bool FileNode::isMap() const { return type() == MAP; } +inline bool FileNode::isInt() const { return type() == INT; } +inline bool FileNode::isReal() const { return type() == REAL; } +inline bool FileNode::isString() const { return type() == STR; } +inline CvFileNode* FileNode::operator *() { return (CvFileNode*)node; } +inline const CvFileNode* FileNode::operator* () const { return node; } +inline FileNode::operator int() const { int value; read(*this, value, 0); return value; } +inline FileNode::operator float() const { float value; read(*this, value, 0.f); return value; } +inline FileNode::operator double() const { double value; read(*this, value, 0.); return value; } +inline FileNode::operator String() const { String value; read(*this, value, value); return value; } +inline double FileNode::real() const { return double(*this); } +inline String FileNode::string() const { return String(*this); } +inline Mat FileNode::mat() const { Mat value; read(*this, value, value); return value; } +inline FileNodeIterator FileNode::begin() const { return FileNodeIterator(fs, node); } +inline FileNodeIterator FileNode::end() const { return FileNodeIterator(fs, node, size()); } +inline void FileNode::readRaw( const String& fmt, uchar* vec, size_t len ) const { begin().readRaw( fmt, vec, len ); } +inline FileNode FileNodeIterator::operator *() const { return FileNode(fs, (const CvFileNode*)(const void*)reader.ptr); } +inline FileNode FileNodeIterator::operator ->() const { return FileNode(fs, (const CvFileNode*)(const void*)reader.ptr); } +inline String::String(const FileNode& fn): cstr_(0), len_(0) { read(fn, *this, *this); } + +//! @endcond + + +CV_EXPORTS void cvStartWriteRawData_Base64(::CvFileStorage * fs, const char* name, int len, const char* dt); + +CV_EXPORTS void cvWriteRawData_Base64(::CvFileStorage * fs, const void* _data, int len); + +CV_EXPORTS void cvEndWriteRawData_Base64(::CvFileStorage * fs); + +CV_EXPORTS void cvWriteMat_Base64(::CvFileStorage* fs, const char* name, const ::CvMat* mat); + +CV_EXPORTS void cvWriteMatND_Base64(::CvFileStorage* fs, const char* name, const ::CvMatND* mat); + +} // cv + +#endif // OPENCV_CORE_PERSISTENCE_HPP diff --git a/app/src/main/cpp/include/opencv2/core/ptr.inl.hpp b/app/src/main/cpp/include/opencv2/core/ptr.inl.hpp new file mode 100644 index 0000000..3c095a1 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/core/ptr.inl.hpp @@ -0,0 +1,379 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2013, NVIDIA Corporation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the copyright holders or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_PTR_INL_HPP +#define OPENCV_CORE_PTR_INL_HPP + +#include + +//! @cond IGNORED + +namespace cv { + +template +void DefaultDeleter::operator () (Y* p) const +{ + delete p; +} + +namespace detail +{ + +struct PtrOwner +{ + PtrOwner() : refCount(1) + {} + + void incRef() + { + CV_XADD(&refCount, 1); + } + + void decRef() + { + if (CV_XADD(&refCount, -1) == 1) deleteSelf(); + } + +protected: + /* This doesn't really need to be virtual, since PtrOwner is never deleted + directly, but it doesn't hurt and it helps avoid warnings. */ + virtual ~PtrOwner() + {} + + virtual void deleteSelf() = 0; + +private: + unsigned int refCount; + + // noncopyable + PtrOwner(const PtrOwner&); + PtrOwner& operator = (const PtrOwner&); +}; + +template +struct PtrOwnerImpl : PtrOwner +{ + PtrOwnerImpl(Y* p, D d) : owned(p), deleter(d) + {} + + void deleteSelf() + { + deleter(owned); + delete this; + } + +private: + Y* owned; + D deleter; +}; + + +} + +template +Ptr::Ptr() : owner(NULL), stored(NULL) +{} + +template +template +Ptr::Ptr(Y* p) + : owner(p + ? new detail::PtrOwnerImpl >(p, DefaultDeleter()) + : NULL), + stored(p) +{} + +template +template +Ptr::Ptr(Y* p, D d) + : owner(p + ? new detail::PtrOwnerImpl(p, d) + : NULL), + stored(p) +{} + +template +Ptr::Ptr(const Ptr& o) : owner(o.owner), stored(o.stored) +{ + if (owner) owner->incRef(); +} + +template +template +Ptr::Ptr(const Ptr& o) : owner(o.owner), stored(o.stored) +{ + if (owner) owner->incRef(); +} + +template +template +Ptr::Ptr(const Ptr& o, T* p) : owner(o.owner), stored(p) +{ + if (owner) owner->incRef(); +} + +template +Ptr::~Ptr() +{ + release(); +} + +template +Ptr& Ptr::operator = (const Ptr& o) +{ + Ptr(o).swap(*this); + return *this; +} + +template +template +Ptr& Ptr::operator = (const Ptr& o) +{ + Ptr(o).swap(*this); + return *this; +} + +template +void Ptr::release() +{ + if (owner) owner->decRef(); + owner = NULL; + stored = NULL; +} + +template +template +void Ptr::reset(Y* p) +{ + Ptr(p).swap(*this); +} + +template +template +void Ptr::reset(Y* p, D d) +{ + Ptr(p, d).swap(*this); +} + +template +void Ptr::swap(Ptr& o) +{ + std::swap(owner, o.owner); + std::swap(stored, o.stored); +} + +template +T* Ptr::get() const +{ + return stored; +} + +template +typename detail::RefOrVoid::type Ptr::operator * () const +{ + return *stored; +} + +template +T* Ptr::operator -> () const +{ + return stored; +} + +template +Ptr::operator T* () const +{ + return stored; +} + + +template +bool Ptr::empty() const +{ + return !stored; +} + +template +template +Ptr Ptr::staticCast() const +{ + return Ptr(*this, static_cast(stored)); +} + +template +template +Ptr Ptr::constCast() const +{ + return Ptr(*this, const_cast(stored)); +} + +template +template +Ptr Ptr::dynamicCast() const +{ + return Ptr(*this, dynamic_cast(stored)); +} + +#ifdef CV_CXX_MOVE_SEMANTICS + +template +Ptr::Ptr(Ptr&& o) : owner(o.owner), stored(o.stored) +{ + o.owner = NULL; + o.stored = NULL; +} + +template +Ptr& Ptr::operator = (Ptr&& o) +{ + if (this == &o) + return *this; + + release(); + owner = o.owner; + stored = o.stored; + o.owner = NULL; + o.stored = NULL; + return *this; +} + +#endif + + +template +void swap(Ptr& ptr1, Ptr& ptr2){ + ptr1.swap(ptr2); +} + +template +bool operator == (const Ptr& ptr1, const Ptr& ptr2) +{ + return ptr1.get() == ptr2.get(); +} + +template +bool operator != (const Ptr& ptr1, const Ptr& ptr2) +{ + return ptr1.get() != ptr2.get(); +} + +template +Ptr makePtr() +{ + return Ptr(new T()); +} + +template +Ptr makePtr(const A1& a1) +{ + return Ptr(new T(a1)); +} + +template +Ptr makePtr(const A1& a1, const A2& a2) +{ + return Ptr(new T(a1, a2)); +} + +template +Ptr makePtr(const A1& a1, const A2& a2, const A3& a3) +{ + return Ptr(new T(a1, a2, a3)); +} + +template +Ptr makePtr(const A1& a1, const A2& a2, const A3& a3, const A4& a4) +{ + return Ptr(new T(a1, a2, a3, a4)); +} + +template +Ptr makePtr(const A1& a1, const A2& a2, const A3& a3, const A4& a4, const A5& a5) +{ + return Ptr(new T(a1, a2, a3, a4, a5)); +} + +template +Ptr makePtr(const A1& a1, const A2& a2, const A3& a3, const A4& a4, const A5& a5, const A6& a6) +{ + return Ptr(new T(a1, a2, a3, a4, a5, a6)); +} + +template +Ptr makePtr(const A1& a1, const A2& a2, const A3& a3, const A4& a4, const A5& a5, const A6& a6, const A7& a7) +{ + return Ptr(new T(a1, a2, a3, a4, a5, a6, a7)); +} + +template +Ptr makePtr(const A1& a1, const A2& a2, const A3& a3, const A4& a4, const A5& a5, const A6& a6, const A7& a7, const A8& a8) +{ + return Ptr(new T(a1, a2, a3, a4, a5, a6, a7, a8)); +} + +template +Ptr makePtr(const A1& a1, const A2& a2, const A3& a3, const A4& a4, const A5& a5, const A6& a6, const A7& a7, const A8& a8, const A9& a9) +{ + return Ptr(new T(a1, a2, a3, a4, a5, a6, a7, a8, a9)); +} + +template +Ptr makePtr(const A1& a1, const A2& a2, const A3& a3, const A4& a4, const A5& a5, const A6& a6, const A7& a7, const A8& a8, const A9& a9, const A10& a10) +{ + return Ptr(new T(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)); +} + +template +Ptr makePtr(const A1& a1, const A2& a2, const A3& a3, const A4& a4, const A5& a5, const A6& a6, const A7& a7, const A8& a8, const A9& a9, const A10& a10, const A11& a11) +{ + return Ptr(new T(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)); +} + +template +Ptr makePtr(const A1& a1, const A2& a2, const A3& a3, const A4& a4, const A5& a5, const A6& a6, const A7& a7, const A8& a8, const A9& a9, const A10& a10, const A11& a11, const A12& a12) +{ + return Ptr(new T(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)); +} +} // namespace cv + +//! @endcond + +#endif // OPENCV_CORE_PTR_INL_HPP diff --git a/app/src/main/cpp/include/opencv2/core/saturate.hpp b/app/src/main/cpp/include/opencv2/core/saturate.hpp new file mode 100644 index 0000000..79a9a66 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/core/saturate.hpp @@ -0,0 +1,150 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Copyright (C) 2014, Itseez Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_SATURATE_HPP +#define OPENCV_CORE_SATURATE_HPP + +#include "opencv2/core/cvdef.h" +#include "opencv2/core/fast_math.hpp" + +namespace cv +{ + +//! @addtogroup core_utils +//! @{ + +/////////////// saturate_cast (used in image & signal processing) /////////////////// + +/** @brief Template function for accurate conversion from one primitive type to another. + + The functions saturate_cast resemble the standard C++ cast operations, such as static_cast\() + and others. They perform an efficient and accurate conversion from one primitive type to another + (see the introduction chapter). saturate in the name means that when the input value v is out of the + range of the target type, the result is not formed just by taking low bits of the input, but instead + the value is clipped. For example: + @code + uchar a = saturate_cast(-100); // a = 0 (UCHAR_MIN) + short b = saturate_cast(33333.33333); // b = 32767 (SHRT_MAX) + @endcode + Such clipping is done when the target type is unsigned char , signed char , unsigned short or + signed short . For 32-bit integers, no clipping is done. + + When the parameter is a floating-point value and the target type is an integer (8-, 16- or 32-bit), + the floating-point value is first rounded to the nearest integer and then clipped if needed (when + the target type is 8- or 16-bit). + + This operation is used in the simplest or most complex image processing functions in OpenCV. + + @param v Function parameter. + @sa add, subtract, multiply, divide, Mat::convertTo + */ +template static inline _Tp saturate_cast(uchar v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(schar v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(ushort v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(short v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(unsigned v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(int v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(float v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(double v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(int64 v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(uint64 v) { return _Tp(v); } + +template<> inline uchar saturate_cast(schar v) { return (uchar)std::max((int)v, 0); } +template<> inline uchar saturate_cast(ushort v) { return (uchar)std::min((unsigned)v, (unsigned)UCHAR_MAX); } +template<> inline uchar saturate_cast(int v) { return (uchar)((unsigned)v <= UCHAR_MAX ? v : v > 0 ? UCHAR_MAX : 0); } +template<> inline uchar saturate_cast(short v) { return saturate_cast((int)v); } +template<> inline uchar saturate_cast(unsigned v) { return (uchar)std::min(v, (unsigned)UCHAR_MAX); } +template<> inline uchar saturate_cast(float v) { int iv = cvRound(v); return saturate_cast(iv); } +template<> inline uchar saturate_cast(double v) { int iv = cvRound(v); return saturate_cast(iv); } +template<> inline uchar saturate_cast(int64 v) { return (uchar)((uint64)v <= (uint64)UCHAR_MAX ? v : v > 0 ? UCHAR_MAX : 0); } +template<> inline uchar saturate_cast(uint64 v) { return (uchar)std::min(v, (uint64)UCHAR_MAX); } + +template<> inline schar saturate_cast(uchar v) { return (schar)std::min((int)v, SCHAR_MAX); } +template<> inline schar saturate_cast(ushort v) { return (schar)std::min((unsigned)v, (unsigned)SCHAR_MAX); } +template<> inline schar saturate_cast(int v) { return (schar)((unsigned)(v-SCHAR_MIN) <= (unsigned)UCHAR_MAX ? v : v > 0 ? SCHAR_MAX : SCHAR_MIN); } +template<> inline schar saturate_cast(short v) { return saturate_cast((int)v); } +template<> inline schar saturate_cast(unsigned v) { return (schar)std::min(v, (unsigned)SCHAR_MAX); } +template<> inline schar saturate_cast(float v) { int iv = cvRound(v); return saturate_cast(iv); } +template<> inline schar saturate_cast(double v) { int iv = cvRound(v); return saturate_cast(iv); } +template<> inline schar saturate_cast(int64 v) { return (schar)((uint64)((int64)v-SCHAR_MIN) <= (uint64)UCHAR_MAX ? v : v > 0 ? SCHAR_MAX : SCHAR_MIN); } +template<> inline schar saturate_cast(uint64 v) { return (schar)std::min(v, (uint64)SCHAR_MAX); } + +template<> inline ushort saturate_cast(schar v) { return (ushort)std::max((int)v, 0); } +template<> inline ushort saturate_cast(short v) { return (ushort)std::max((int)v, 0); } +template<> inline ushort saturate_cast(int v) { return (ushort)((unsigned)v <= (unsigned)USHRT_MAX ? v : v > 0 ? USHRT_MAX : 0); } +template<> inline ushort saturate_cast(unsigned v) { return (ushort)std::min(v, (unsigned)USHRT_MAX); } +template<> inline ushort saturate_cast(float v) { int iv = cvRound(v); return saturate_cast(iv); } +template<> inline ushort saturate_cast(double v) { int iv = cvRound(v); return saturate_cast(iv); } +template<> inline ushort saturate_cast(int64 v) { return (ushort)((uint64)v <= (uint64)USHRT_MAX ? v : v > 0 ? USHRT_MAX : 0); } +template<> inline ushort saturate_cast(uint64 v) { return (ushort)std::min(v, (uint64)USHRT_MAX); } + +template<> inline short saturate_cast(ushort v) { return (short)std::min((int)v, SHRT_MAX); } +template<> inline short saturate_cast(int v) { return (short)((unsigned)(v - SHRT_MIN) <= (unsigned)USHRT_MAX ? v : v > 0 ? SHRT_MAX : SHRT_MIN); } +template<> inline short saturate_cast(unsigned v) { return (short)std::min(v, (unsigned)SHRT_MAX); } +template<> inline short saturate_cast(float v) { int iv = cvRound(v); return saturate_cast(iv); } +template<> inline short saturate_cast(double v) { int iv = cvRound(v); return saturate_cast(iv); } +template<> inline short saturate_cast(int64 v) { return (short)((uint64)((int64)v - SHRT_MIN) <= (uint64)USHRT_MAX ? v : v > 0 ? SHRT_MAX : SHRT_MIN); } +template<> inline short saturate_cast(uint64 v) { return (short)std::min(v, (uint64)SHRT_MAX); } + +template<> inline int saturate_cast(float v) { return cvRound(v); } +template<> inline int saturate_cast(double v) { return cvRound(v); } + +// we intentionally do not clip negative numbers, to make -1 become 0xffffffff etc. +template<> inline unsigned saturate_cast(float v) { return cvRound(v); } +template<> inline unsigned saturate_cast(double v) { return cvRound(v); } + +//! @} + +} // cv + +#endif // OPENCV_CORE_SATURATE_HPP diff --git a/app/src/main/cpp/include/opencv2/core/softfloat.hpp b/app/src/main/cpp/include/opencv2/core/softfloat.hpp new file mode 100644 index 0000000..d5c77f9 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/core/softfloat.hpp @@ -0,0 +1,505 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html + +// This file is based on files from package issued with the following license: + +/*============================================================================ + +This C header file is part of the SoftFloat IEEE Floating-Point Arithmetic +Package, Release 3c, by John R. Hauser. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions, and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +=============================================================================*/ + +#pragma once +#ifndef softfloat_h +#define softfloat_h 1 + +#include "cvdef.h" + +// int32_t / uint32_t +#if defined(_MSC_VER) && _MSC_VER < 1600 /* MSVS 2010 */ +namespace cv { +typedef signed int int32_t; +typedef unsigned int uint32_t; +} +#elif defined(_MSC_VER) || __cplusplus >= 201103L +#include +#else +#include +#endif + +namespace cv +{ + +/** @addtogroup core_utils_softfloat + + [SoftFloat](http://www.jhauser.us/arithmetic/SoftFloat.html) is a software implementation + of floating-point calculations according to IEEE 754 standard. + All calculations are done in integers, that's why they are machine-independent and bit-exact. + This library can be useful in accuracy-critical parts like look-up tables generation, tests, etc. + OpenCV contains a subset of SoftFloat partially rewritten to C++. + + ### Types + + There are two basic types: @ref softfloat and @ref softdouble. + These types are binary compatible with float and double types respectively + and support conversions to/from them. + Other types from original SoftFloat library like fp16 or fp128 were thrown away + as well as quiet/signaling NaN support, on-the-fly rounding mode switch + and exception flags (though exceptions can be implemented in the future). + + ### Operations + + Both types support the following: + - Construction from signed and unsigned 32-bit and 64 integers, + float/double or raw binary representation + - Conversions betweeen each other, to float or double and to int + using @ref cvRound, @ref cvTrunc, @ref cvFloor, @ref cvCeil or a bunch of + saturate_cast functions + - Add, subtract, multiply, divide, remainder, square root, FMA with absolute precision + - Comparison operations + - Explicit sign, exponent and significand manipulation through get/set methods, + number state indicators (isInf, isNan, isSubnormal) + - Type-specific constants like eps, minimum/maximum value, best pi approximation, etc. + - min(), max(), abs(), exp(), log() and pow() functions + +*/ +//! @{ + +struct softfloat; +struct softdouble; + +struct CV_EXPORTS softfloat +{ +public: + /** @brief Default constructor */ + softfloat() { v = 0; } + /** @brief Copy constructor */ + softfloat( const softfloat& c) { v = c.v; } + /** @brief Assign constructor */ + softfloat& operator=( const softfloat& c ) + { + if(&c != this) v = c.v; + return *this; + } + /** @brief Construct from raw + + Builds new value from raw binary representation + */ + static const softfloat fromRaw( const uint32_t a ) { softfloat x; x.v = a; return x; } + + /** @brief Construct from integer */ + explicit softfloat( const uint32_t ); + explicit softfloat( const uint64_t ); + explicit softfloat( const int32_t ); + explicit softfloat( const int64_t ); + /** @brief Construct from float */ + explicit softfloat( const float a ) { Cv32suf s; s.f = a; v = s.u; } + + /** @brief Type casts */ + operator softdouble() const; + operator float() const { Cv32suf s; s.u = v; return s.f; } + + /** @brief Basic arithmetics */ + softfloat operator + (const softfloat&) const; + softfloat operator - (const softfloat&) const; + softfloat operator * (const softfloat&) const; + softfloat operator / (const softfloat&) const; + softfloat operator - () const { softfloat x; x.v = v ^ (1U << 31); return x; } + + /** @brief Remainder operator + + A quote from original SoftFloat manual: + + > The IEEE Standard remainder operation computes the value + > a - n * b, where n is the integer closest to a / b. + > If a / b is exactly halfway between two integers, n is the even integer + > closest to a / b. The IEEE Standard’s remainder operation is always exact and so requires no rounding. + > Depending on the relative magnitudes of the operands, the remainder functions + > can take considerably longer to execute than the other SoftFloat functions. + > This is an inherent characteristic of the remainder operation itself and is not a flaw + > in the SoftFloat implementation. + */ + softfloat operator % (const softfloat&) const; + + softfloat& operator += (const softfloat& a) { *this = *this + a; return *this; } + softfloat& operator -= (const softfloat& a) { *this = *this - a; return *this; } + softfloat& operator *= (const softfloat& a) { *this = *this * a; return *this; } + softfloat& operator /= (const softfloat& a) { *this = *this / a; return *this; } + softfloat& operator %= (const softfloat& a) { *this = *this % a; return *this; } + + /** @brief Comparison operations + + - Any operation with NaN produces false + + The only exception is when x is NaN: x != y for any y. + - Positive and negative zeros are equal + */ + bool operator == ( const softfloat& ) const; + bool operator != ( const softfloat& ) const; + bool operator > ( const softfloat& ) const; + bool operator >= ( const softfloat& ) const; + bool operator < ( const softfloat& ) const; + bool operator <= ( const softfloat& ) const; + + /** @brief NaN state indicator */ + inline bool isNaN() const { return (v & 0x7fffffff) > 0x7f800000; } + /** @brief Inf state indicator */ + inline bool isInf() const { return (v & 0x7fffffff) == 0x7f800000; } + /** @brief Subnormal number indicator */ + inline bool isSubnormal() const { return ((v >> 23) & 0xFF) == 0; } + + /** @brief Get sign bit */ + inline bool getSign() const { return (v >> 31) != 0; } + /** @brief Construct a copy with new sign bit */ + inline softfloat setSign(bool sign) const { softfloat x; x.v = (v & ((1U << 31) - 1)) | ((uint32_t)sign << 31); return x; } + /** @brief Get 0-based exponent */ + inline int getExp() const { return ((v >> 23) & 0xFF) - 127; } + /** @brief Construct a copy with new 0-based exponent */ + inline softfloat setExp(int e) const { softfloat x; x.v = (v & 0x807fffff) | (((e + 127) & 0xFF) << 23 ); return x; } + + /** @brief Get a fraction part + + Returns a number 1 <= x < 2 with the same significand + */ + inline softfloat getFrac() const + { + uint_fast32_t vv = (v & 0x007fffff) | (127 << 23); + return softfloat::fromRaw(vv); + } + /** @brief Construct a copy with provided significand + + Constructs a copy of a number with significand taken from parameter + */ + inline softfloat setFrac(const softfloat& s) const + { + softfloat x; + x.v = (v & 0xff800000) | (s.v & 0x007fffff); + return x; + } + + /** @brief Zero constant */ + static softfloat zero() { return softfloat::fromRaw( 0 ); } + /** @brief Positive infinity constant */ + static softfloat inf() { return softfloat::fromRaw( 0xFF << 23 ); } + /** @brief Default NaN constant */ + static softfloat nan() { return softfloat::fromRaw( 0x7fffffff ); } + /** @brief One constant */ + static softfloat one() { return softfloat::fromRaw( 127 << 23 ); } + /** @brief Smallest normalized value */ + static softfloat min() { return softfloat::fromRaw( 0x01 << 23 ); } + /** @brief Difference between 1 and next representable value */ + static softfloat eps() { return softfloat::fromRaw( (127 - 23) << 23 ); } + /** @brief Biggest finite value */ + static softfloat max() { return softfloat::fromRaw( (0xFF << 23) - 1 ); } + /** @brief Correct pi approximation */ + static softfloat pi() { return softfloat::fromRaw( 0x40490fdb ); } + + uint32_t v; +}; + +/*---------------------------------------------------------------------------- +*----------------------------------------------------------------------------*/ + +struct CV_EXPORTS softdouble +{ +public: + /** @brief Default constructor */ + softdouble() : v(0) { } + /** @brief Copy constructor */ + softdouble( const softdouble& c) { v = c.v; } + /** @brief Assign constructor */ + softdouble& operator=( const softdouble& c ) + { + if(&c != this) v = c.v; + return *this; + } + /** @brief Construct from raw + + Builds new value from raw binary representation + */ + static softdouble fromRaw( const uint64_t a ) { softdouble x; x.v = a; return x; } + + /** @brief Construct from integer */ + explicit softdouble( const uint32_t ); + explicit softdouble( const uint64_t ); + explicit softdouble( const int32_t ); + explicit softdouble( const int64_t ); + /** @brief Construct from double */ + explicit softdouble( const double a ) { Cv64suf s; s.f = a; v = s.u; } + + /** @brief Type casts */ + operator softfloat() const; + operator double() const { Cv64suf s; s.u = v; return s.f; } + + /** @brief Basic arithmetics */ + softdouble operator + (const softdouble&) const; + softdouble operator - (const softdouble&) const; + softdouble operator * (const softdouble&) const; + softdouble operator / (const softdouble&) const; + softdouble operator - () const { softdouble x; x.v = v ^ (1ULL << 63); return x; } + + /** @brief Remainder operator + + A quote from original SoftFloat manual: + + > The IEEE Standard remainder operation computes the value + > a - n * b, where n is the integer closest to a / b. + > If a / b is exactly halfway between two integers, n is the even integer + > closest to a / b. The IEEE Standard’s remainder operation is always exact and so requires no rounding. + > Depending on the relative magnitudes of the operands, the remainder functions + > can take considerably longer to execute than the other SoftFloat functions. + > This is an inherent characteristic of the remainder operation itself and is not a flaw + > in the SoftFloat implementation. + */ + softdouble operator % (const softdouble&) const; + + softdouble& operator += (const softdouble& a) { *this = *this + a; return *this; } + softdouble& operator -= (const softdouble& a) { *this = *this - a; return *this; } + softdouble& operator *= (const softdouble& a) { *this = *this * a; return *this; } + softdouble& operator /= (const softdouble& a) { *this = *this / a; return *this; } + softdouble& operator %= (const softdouble& a) { *this = *this % a; return *this; } + + /** @brief Comparison operations + + - Any operation with NaN produces false + + The only exception is when x is NaN: x != y for any y. + - Positive and negative zeros are equal + */ + bool operator == ( const softdouble& ) const; + bool operator != ( const softdouble& ) const; + bool operator > ( const softdouble& ) const; + bool operator >= ( const softdouble& ) const; + bool operator < ( const softdouble& ) const; + bool operator <= ( const softdouble& ) const; + + /** @brief NaN state indicator */ + inline bool isNaN() const { return (v & 0x7fffffffffffffff) > 0x7ff0000000000000; } + /** @brief Inf state indicator */ + inline bool isInf() const { return (v & 0x7fffffffffffffff) == 0x7ff0000000000000; } + /** @brief Subnormal number indicator */ + inline bool isSubnormal() const { return ((v >> 52) & 0x7FF) == 0; } + + /** @brief Get sign bit */ + inline bool getSign() const { return (v >> 63) != 0; } + /** @brief Construct a copy with new sign bit */ + softdouble setSign(bool sign) const { softdouble x; x.v = (v & ((1ULL << 63) - 1)) | ((uint_fast64_t)(sign) << 63); return x; } + /** @brief Get 0-based exponent */ + inline int getExp() const { return ((v >> 52) & 0x7FF) - 1023; } + /** @brief Construct a copy with new 0-based exponent */ + inline softdouble setExp(int e) const + { + softdouble x; + x.v = (v & 0x800FFFFFFFFFFFFF) | ((uint_fast64_t)((e + 1023) & 0x7FF) << 52); + return x; + } + + /** @brief Get a fraction part + + Returns a number 1 <= x < 2 with the same significand + */ + inline softdouble getFrac() const + { + uint_fast64_t vv = (v & 0x000FFFFFFFFFFFFF) | ((uint_fast64_t)(1023) << 52); + return softdouble::fromRaw(vv); + } + /** @brief Construct a copy with provided significand + + Constructs a copy of a number with significand taken from parameter + */ + inline softdouble setFrac(const softdouble& s) const + { + softdouble x; + x.v = (v & 0xFFF0000000000000) | (s.v & 0x000FFFFFFFFFFFFF); + return x; + } + + /** @brief Zero constant */ + static softdouble zero() { return softdouble::fromRaw( 0 ); } + /** @brief Positive infinity constant */ + static softdouble inf() { return softdouble::fromRaw( (uint_fast64_t)(0x7FF) << 52 ); } + /** @brief Default NaN constant */ + static softdouble nan() { return softdouble::fromRaw( CV_BIG_INT(0x7FFFFFFFFFFFFFFF) ); } + /** @brief One constant */ + static softdouble one() { return softdouble::fromRaw( (uint_fast64_t)( 1023) << 52 ); } + /** @brief Smallest normalized value */ + static softdouble min() { return softdouble::fromRaw( (uint_fast64_t)( 0x01) << 52 ); } + /** @brief Difference between 1 and next representable value */ + static softdouble eps() { return softdouble::fromRaw( (uint_fast64_t)( 1023 - 52 ) << 52 ); } + /** @brief Biggest finite value */ + static softdouble max() { return softdouble::fromRaw( ((uint_fast64_t)(0x7FF) << 52) - 1 ); } + /** @brief Correct pi approximation */ + static softdouble pi() { return softdouble::fromRaw( CV_BIG_INT(0x400921FB54442D18) ); } + + uint64_t v; +}; + +/*---------------------------------------------------------------------------- +*----------------------------------------------------------------------------*/ + +/** @brief Fused Multiplication and Addition + +Computes (a*b)+c with single rounding +*/ +CV_EXPORTS softfloat mulAdd( const softfloat& a, const softfloat& b, const softfloat & c); +CV_EXPORTS softdouble mulAdd( const softdouble& a, const softdouble& b, const softdouble& c); + +/** @brief Square root */ +CV_EXPORTS softfloat sqrt( const softfloat& a ); +CV_EXPORTS softdouble sqrt( const softdouble& a ); +} + +/*---------------------------------------------------------------------------- +| Ported from OpenCV and added for usability +*----------------------------------------------------------------------------*/ + +/** @brief Truncates number to integer with minimum magnitude */ +CV_EXPORTS int cvTrunc(const cv::softfloat& a); +CV_EXPORTS int cvTrunc(const cv::softdouble& a); + +/** @brief Rounds a number to nearest even integer */ +CV_EXPORTS int cvRound(const cv::softfloat& a); +CV_EXPORTS int cvRound(const cv::softdouble& a); + +/** @brief Rounds a number down to integer */ +CV_EXPORTS int cvFloor(const cv::softfloat& a); +CV_EXPORTS int cvFloor(const cv::softdouble& a); + +/** @brief Rounds number up to integer */ +CV_EXPORTS int cvCeil(const cv::softfloat& a); +CV_EXPORTS int cvCeil(const cv::softdouble& a); + +namespace cv +{ +/** @brief Saturate casts */ +template static inline _Tp saturate_cast(softfloat a) { return _Tp(a); } +template static inline _Tp saturate_cast(softdouble a) { return _Tp(a); } + +template<> inline uchar saturate_cast(softfloat a) { return (uchar)std::max(std::min(cvRound(a), (int)UCHAR_MAX), 0); } +template<> inline uchar saturate_cast(softdouble a) { return (uchar)std::max(std::min(cvRound(a), (int)UCHAR_MAX), 0); } + +template<> inline schar saturate_cast(softfloat a) { return (schar)std::min(std::max(cvRound(a), (int)SCHAR_MIN), (int)SCHAR_MAX); } +template<> inline schar saturate_cast(softdouble a) { return (schar)std::min(std::max(cvRound(a), (int)SCHAR_MIN), (int)SCHAR_MAX); } + +template<> inline ushort saturate_cast(softfloat a) { return (ushort)std::max(std::min(cvRound(a), (int)USHRT_MAX), 0); } +template<> inline ushort saturate_cast(softdouble a) { return (ushort)std::max(std::min(cvRound(a), (int)USHRT_MAX), 0); } + +template<> inline short saturate_cast(softfloat a) { return (short)std::min(std::max(cvRound(a), (int)SHRT_MIN), (int)SHRT_MAX); } +template<> inline short saturate_cast(softdouble a) { return (short)std::min(std::max(cvRound(a), (int)SHRT_MIN), (int)SHRT_MAX); } + +template<> inline int saturate_cast(softfloat a) { return cvRound(a); } +template<> inline int saturate_cast(softdouble a) { return cvRound(a); } + +/** @brief Saturate cast to unsigned integer +We intentionally do not clip negative numbers, to make -1 become 0xffffffff etc. +*/ +template<> inline unsigned saturate_cast(softfloat a) { return cvRound(a); } +template<> inline unsigned saturate_cast(softdouble a) { return cvRound(a); } + +/** @brief Min and Max functions */ +inline softfloat min(const softfloat& a, const softfloat& b) { return (a > b) ? b : a; } +inline softdouble min(const softdouble& a, const softdouble& b) { return (a > b) ? b : a; } + +inline softfloat max(const softfloat& a, const softfloat& b) { return (a > b) ? a : b; } +inline softdouble max(const softdouble& a, const softdouble& b) { return (a > b) ? a : b; } + +/** @brief Absolute value */ +inline softfloat abs( softfloat a) { softfloat x; x.v = a.v & ((1U << 31) - 1); return x; } +inline softdouble abs( softdouble a) { softdouble x; x.v = a.v & ((1ULL << 63) - 1); return x; } + +/** @brief Exponent + +Special cases: +- exp(NaN) is NaN +- exp(-Inf) == 0 +- exp(+Inf) == +Inf +*/ +CV_EXPORTS softfloat exp( const softfloat& a); +CV_EXPORTS softdouble exp( const softdouble& a); + +/** @brief Natural logarithm + +Special cases: +- log(NaN), log(x < 0) are NaN +- log(0) == -Inf +*/ +CV_EXPORTS softfloat log( const softfloat& a ); +CV_EXPORTS softdouble log( const softdouble& a ); + +/** @brief Raising to the power + +Special cases: +- x**NaN is NaN for any x +- ( |x| == 1 )**Inf is NaN +- ( |x| > 1 )**+Inf or ( |x| < 1 )**-Inf is +Inf +- ( |x| > 1 )**-Inf or ( |x| < 1 )**+Inf is 0 +- x ** 0 == 1 for any x +- x ** 1 == 1 for any x +- NaN ** y is NaN for any other y +- Inf**(y < 0) == 0 +- Inf ** y is +Inf for any other y +- (x < 0)**y is NaN for any other y if x can't be correctly rounded to integer +- 0 ** 0 == 1 +- 0 ** (y < 0) is +Inf +- 0 ** (y > 0) is 0 +*/ +CV_EXPORTS softfloat pow( const softfloat& a, const softfloat& b); +CV_EXPORTS softdouble pow( const softdouble& a, const softdouble& b); + +/** @brief Cube root + +Special cases: +- cbrt(NaN) is NaN +- cbrt(+/-Inf) is +/-Inf +*/ +CV_EXPORTS softfloat cbrt( const softfloat& a ); + +/** @brief Sine + +Special cases: +- sin(Inf) or sin(NaN) is NaN +- sin(x) == x when sin(x) is close to zero +*/ +CV_EXPORTS softdouble sin( const softdouble& a ); + +/** @brief Cosine + * +Special cases: +- cos(Inf) or cos(NaN) is NaN +- cos(x) == +/- 1 when cos(x) is close to +/- 1 +*/ +CV_EXPORTS softdouble cos( const softdouble& a ); + +} + +//! @} + +#endif diff --git a/app/src/main/cpp/include/opencv2/core/sse_utils.hpp b/app/src/main/cpp/include/opencv2/core/sse_utils.hpp new file mode 100644 index 0000000..69efffe --- /dev/null +++ b/app/src/main/cpp/include/opencv2/core/sse_utils.hpp @@ -0,0 +1,652 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2015, Itseez Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_SSE_UTILS_HPP +#define OPENCV_CORE_SSE_UTILS_HPP + +#ifndef __cplusplus +# error sse_utils.hpp header must be compiled as C++ +#endif + +#include "opencv2/core/cvdef.h" + +//! @addtogroup core_utils_sse +//! @{ + +#if CV_SSE2 + +inline void _mm_deinterleave_epi8(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, __m128i & v_g1) +{ + __m128i layer1_chunk0 = _mm_unpacklo_epi8(v_r0, v_g0); + __m128i layer1_chunk1 = _mm_unpackhi_epi8(v_r0, v_g0); + __m128i layer1_chunk2 = _mm_unpacklo_epi8(v_r1, v_g1); + __m128i layer1_chunk3 = _mm_unpackhi_epi8(v_r1, v_g1); + + __m128i layer2_chunk0 = _mm_unpacklo_epi8(layer1_chunk0, layer1_chunk2); + __m128i layer2_chunk1 = _mm_unpackhi_epi8(layer1_chunk0, layer1_chunk2); + __m128i layer2_chunk2 = _mm_unpacklo_epi8(layer1_chunk1, layer1_chunk3); + __m128i layer2_chunk3 = _mm_unpackhi_epi8(layer1_chunk1, layer1_chunk3); + + __m128i layer3_chunk0 = _mm_unpacklo_epi8(layer2_chunk0, layer2_chunk2); + __m128i layer3_chunk1 = _mm_unpackhi_epi8(layer2_chunk0, layer2_chunk2); + __m128i layer3_chunk2 = _mm_unpacklo_epi8(layer2_chunk1, layer2_chunk3); + __m128i layer3_chunk3 = _mm_unpackhi_epi8(layer2_chunk1, layer2_chunk3); + + __m128i layer4_chunk0 = _mm_unpacklo_epi8(layer3_chunk0, layer3_chunk2); + __m128i layer4_chunk1 = _mm_unpackhi_epi8(layer3_chunk0, layer3_chunk2); + __m128i layer4_chunk2 = _mm_unpacklo_epi8(layer3_chunk1, layer3_chunk3); + __m128i layer4_chunk3 = _mm_unpackhi_epi8(layer3_chunk1, layer3_chunk3); + + v_r0 = _mm_unpacklo_epi8(layer4_chunk0, layer4_chunk2); + v_r1 = _mm_unpackhi_epi8(layer4_chunk0, layer4_chunk2); + v_g0 = _mm_unpacklo_epi8(layer4_chunk1, layer4_chunk3); + v_g1 = _mm_unpackhi_epi8(layer4_chunk1, layer4_chunk3); +} + +inline void _mm_deinterleave_epi8(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, + __m128i & v_g1, __m128i & v_b0, __m128i & v_b1) +{ + __m128i layer1_chunk0 = _mm_unpacklo_epi8(v_r0, v_g1); + __m128i layer1_chunk1 = _mm_unpackhi_epi8(v_r0, v_g1); + __m128i layer1_chunk2 = _mm_unpacklo_epi8(v_r1, v_b0); + __m128i layer1_chunk3 = _mm_unpackhi_epi8(v_r1, v_b0); + __m128i layer1_chunk4 = _mm_unpacklo_epi8(v_g0, v_b1); + __m128i layer1_chunk5 = _mm_unpackhi_epi8(v_g0, v_b1); + + __m128i layer2_chunk0 = _mm_unpacklo_epi8(layer1_chunk0, layer1_chunk3); + __m128i layer2_chunk1 = _mm_unpackhi_epi8(layer1_chunk0, layer1_chunk3); + __m128i layer2_chunk2 = _mm_unpacklo_epi8(layer1_chunk1, layer1_chunk4); + __m128i layer2_chunk3 = _mm_unpackhi_epi8(layer1_chunk1, layer1_chunk4); + __m128i layer2_chunk4 = _mm_unpacklo_epi8(layer1_chunk2, layer1_chunk5); + __m128i layer2_chunk5 = _mm_unpackhi_epi8(layer1_chunk2, layer1_chunk5); + + __m128i layer3_chunk0 = _mm_unpacklo_epi8(layer2_chunk0, layer2_chunk3); + __m128i layer3_chunk1 = _mm_unpackhi_epi8(layer2_chunk0, layer2_chunk3); + __m128i layer3_chunk2 = _mm_unpacklo_epi8(layer2_chunk1, layer2_chunk4); + __m128i layer3_chunk3 = _mm_unpackhi_epi8(layer2_chunk1, layer2_chunk4); + __m128i layer3_chunk4 = _mm_unpacklo_epi8(layer2_chunk2, layer2_chunk5); + __m128i layer3_chunk5 = _mm_unpackhi_epi8(layer2_chunk2, layer2_chunk5); + + __m128i layer4_chunk0 = _mm_unpacklo_epi8(layer3_chunk0, layer3_chunk3); + __m128i layer4_chunk1 = _mm_unpackhi_epi8(layer3_chunk0, layer3_chunk3); + __m128i layer4_chunk2 = _mm_unpacklo_epi8(layer3_chunk1, layer3_chunk4); + __m128i layer4_chunk3 = _mm_unpackhi_epi8(layer3_chunk1, layer3_chunk4); + __m128i layer4_chunk4 = _mm_unpacklo_epi8(layer3_chunk2, layer3_chunk5); + __m128i layer4_chunk5 = _mm_unpackhi_epi8(layer3_chunk2, layer3_chunk5); + + v_r0 = _mm_unpacklo_epi8(layer4_chunk0, layer4_chunk3); + v_r1 = _mm_unpackhi_epi8(layer4_chunk0, layer4_chunk3); + v_g0 = _mm_unpacklo_epi8(layer4_chunk1, layer4_chunk4); + v_g1 = _mm_unpackhi_epi8(layer4_chunk1, layer4_chunk4); + v_b0 = _mm_unpacklo_epi8(layer4_chunk2, layer4_chunk5); + v_b1 = _mm_unpackhi_epi8(layer4_chunk2, layer4_chunk5); +} + +inline void _mm_deinterleave_epi8(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, __m128i & v_g1, + __m128i & v_b0, __m128i & v_b1, __m128i & v_a0, __m128i & v_a1) +{ + __m128i layer1_chunk0 = _mm_unpacklo_epi8(v_r0, v_b0); + __m128i layer1_chunk1 = _mm_unpackhi_epi8(v_r0, v_b0); + __m128i layer1_chunk2 = _mm_unpacklo_epi8(v_r1, v_b1); + __m128i layer1_chunk3 = _mm_unpackhi_epi8(v_r1, v_b1); + __m128i layer1_chunk4 = _mm_unpacklo_epi8(v_g0, v_a0); + __m128i layer1_chunk5 = _mm_unpackhi_epi8(v_g0, v_a0); + __m128i layer1_chunk6 = _mm_unpacklo_epi8(v_g1, v_a1); + __m128i layer1_chunk7 = _mm_unpackhi_epi8(v_g1, v_a1); + + __m128i layer2_chunk0 = _mm_unpacklo_epi8(layer1_chunk0, layer1_chunk4); + __m128i layer2_chunk1 = _mm_unpackhi_epi8(layer1_chunk0, layer1_chunk4); + __m128i layer2_chunk2 = _mm_unpacklo_epi8(layer1_chunk1, layer1_chunk5); + __m128i layer2_chunk3 = _mm_unpackhi_epi8(layer1_chunk1, layer1_chunk5); + __m128i layer2_chunk4 = _mm_unpacklo_epi8(layer1_chunk2, layer1_chunk6); + __m128i layer2_chunk5 = _mm_unpackhi_epi8(layer1_chunk2, layer1_chunk6); + __m128i layer2_chunk6 = _mm_unpacklo_epi8(layer1_chunk3, layer1_chunk7); + __m128i layer2_chunk7 = _mm_unpackhi_epi8(layer1_chunk3, layer1_chunk7); + + __m128i layer3_chunk0 = _mm_unpacklo_epi8(layer2_chunk0, layer2_chunk4); + __m128i layer3_chunk1 = _mm_unpackhi_epi8(layer2_chunk0, layer2_chunk4); + __m128i layer3_chunk2 = _mm_unpacklo_epi8(layer2_chunk1, layer2_chunk5); + __m128i layer3_chunk3 = _mm_unpackhi_epi8(layer2_chunk1, layer2_chunk5); + __m128i layer3_chunk4 = _mm_unpacklo_epi8(layer2_chunk2, layer2_chunk6); + __m128i layer3_chunk5 = _mm_unpackhi_epi8(layer2_chunk2, layer2_chunk6); + __m128i layer3_chunk6 = _mm_unpacklo_epi8(layer2_chunk3, layer2_chunk7); + __m128i layer3_chunk7 = _mm_unpackhi_epi8(layer2_chunk3, layer2_chunk7); + + __m128i layer4_chunk0 = _mm_unpacklo_epi8(layer3_chunk0, layer3_chunk4); + __m128i layer4_chunk1 = _mm_unpackhi_epi8(layer3_chunk0, layer3_chunk4); + __m128i layer4_chunk2 = _mm_unpacklo_epi8(layer3_chunk1, layer3_chunk5); + __m128i layer4_chunk3 = _mm_unpackhi_epi8(layer3_chunk1, layer3_chunk5); + __m128i layer4_chunk4 = _mm_unpacklo_epi8(layer3_chunk2, layer3_chunk6); + __m128i layer4_chunk5 = _mm_unpackhi_epi8(layer3_chunk2, layer3_chunk6); + __m128i layer4_chunk6 = _mm_unpacklo_epi8(layer3_chunk3, layer3_chunk7); + __m128i layer4_chunk7 = _mm_unpackhi_epi8(layer3_chunk3, layer3_chunk7); + + v_r0 = _mm_unpacklo_epi8(layer4_chunk0, layer4_chunk4); + v_r1 = _mm_unpackhi_epi8(layer4_chunk0, layer4_chunk4); + v_g0 = _mm_unpacklo_epi8(layer4_chunk1, layer4_chunk5); + v_g1 = _mm_unpackhi_epi8(layer4_chunk1, layer4_chunk5); + v_b0 = _mm_unpacklo_epi8(layer4_chunk2, layer4_chunk6); + v_b1 = _mm_unpackhi_epi8(layer4_chunk2, layer4_chunk6); + v_a0 = _mm_unpacklo_epi8(layer4_chunk3, layer4_chunk7); + v_a1 = _mm_unpackhi_epi8(layer4_chunk3, layer4_chunk7); +} + +inline void _mm_interleave_epi8(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, __m128i & v_g1) +{ + __m128i v_mask = _mm_set1_epi16(0x00ff); + + __m128i layer4_chunk0 = _mm_packus_epi16(_mm_and_si128(v_r0, v_mask), _mm_and_si128(v_r1, v_mask)); + __m128i layer4_chunk2 = _mm_packus_epi16(_mm_srli_epi16(v_r0, 8), _mm_srli_epi16(v_r1, 8)); + __m128i layer4_chunk1 = _mm_packus_epi16(_mm_and_si128(v_g0, v_mask), _mm_and_si128(v_g1, v_mask)); + __m128i layer4_chunk3 = _mm_packus_epi16(_mm_srli_epi16(v_g0, 8), _mm_srli_epi16(v_g1, 8)); + + __m128i layer3_chunk0 = _mm_packus_epi16(_mm_and_si128(layer4_chunk0, v_mask), _mm_and_si128(layer4_chunk1, v_mask)); + __m128i layer3_chunk2 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk0, 8), _mm_srli_epi16(layer4_chunk1, 8)); + __m128i layer3_chunk1 = _mm_packus_epi16(_mm_and_si128(layer4_chunk2, v_mask), _mm_and_si128(layer4_chunk3, v_mask)); + __m128i layer3_chunk3 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk2, 8), _mm_srli_epi16(layer4_chunk3, 8)); + + __m128i layer2_chunk0 = _mm_packus_epi16(_mm_and_si128(layer3_chunk0, v_mask), _mm_and_si128(layer3_chunk1, v_mask)); + __m128i layer2_chunk2 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk0, 8), _mm_srli_epi16(layer3_chunk1, 8)); + __m128i layer2_chunk1 = _mm_packus_epi16(_mm_and_si128(layer3_chunk2, v_mask), _mm_and_si128(layer3_chunk3, v_mask)); + __m128i layer2_chunk3 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk2, 8), _mm_srli_epi16(layer3_chunk3, 8)); + + __m128i layer1_chunk0 = _mm_packus_epi16(_mm_and_si128(layer2_chunk0, v_mask), _mm_and_si128(layer2_chunk1, v_mask)); + __m128i layer1_chunk2 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk0, 8), _mm_srli_epi16(layer2_chunk1, 8)); + __m128i layer1_chunk1 = _mm_packus_epi16(_mm_and_si128(layer2_chunk2, v_mask), _mm_and_si128(layer2_chunk3, v_mask)); + __m128i layer1_chunk3 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk2, 8), _mm_srli_epi16(layer2_chunk3, 8)); + + v_r0 = _mm_packus_epi16(_mm_and_si128(layer1_chunk0, v_mask), _mm_and_si128(layer1_chunk1, v_mask)); + v_g0 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk0, 8), _mm_srli_epi16(layer1_chunk1, 8)); + v_r1 = _mm_packus_epi16(_mm_and_si128(layer1_chunk2, v_mask), _mm_and_si128(layer1_chunk3, v_mask)); + v_g1 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk2, 8), _mm_srli_epi16(layer1_chunk3, 8)); +} + +inline void _mm_interleave_epi8(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, + __m128i & v_g1, __m128i & v_b0, __m128i & v_b1) +{ + __m128i v_mask = _mm_set1_epi16(0x00ff); + + __m128i layer4_chunk0 = _mm_packus_epi16(_mm_and_si128(v_r0, v_mask), _mm_and_si128(v_r1, v_mask)); + __m128i layer4_chunk3 = _mm_packus_epi16(_mm_srli_epi16(v_r0, 8), _mm_srli_epi16(v_r1, 8)); + __m128i layer4_chunk1 = _mm_packus_epi16(_mm_and_si128(v_g0, v_mask), _mm_and_si128(v_g1, v_mask)); + __m128i layer4_chunk4 = _mm_packus_epi16(_mm_srli_epi16(v_g0, 8), _mm_srli_epi16(v_g1, 8)); + __m128i layer4_chunk2 = _mm_packus_epi16(_mm_and_si128(v_b0, v_mask), _mm_and_si128(v_b1, v_mask)); + __m128i layer4_chunk5 = _mm_packus_epi16(_mm_srli_epi16(v_b0, 8), _mm_srli_epi16(v_b1, 8)); + + __m128i layer3_chunk0 = _mm_packus_epi16(_mm_and_si128(layer4_chunk0, v_mask), _mm_and_si128(layer4_chunk1, v_mask)); + __m128i layer3_chunk3 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk0, 8), _mm_srli_epi16(layer4_chunk1, 8)); + __m128i layer3_chunk1 = _mm_packus_epi16(_mm_and_si128(layer4_chunk2, v_mask), _mm_and_si128(layer4_chunk3, v_mask)); + __m128i layer3_chunk4 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk2, 8), _mm_srli_epi16(layer4_chunk3, 8)); + __m128i layer3_chunk2 = _mm_packus_epi16(_mm_and_si128(layer4_chunk4, v_mask), _mm_and_si128(layer4_chunk5, v_mask)); + __m128i layer3_chunk5 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk4, 8), _mm_srli_epi16(layer4_chunk5, 8)); + + __m128i layer2_chunk0 = _mm_packus_epi16(_mm_and_si128(layer3_chunk0, v_mask), _mm_and_si128(layer3_chunk1, v_mask)); + __m128i layer2_chunk3 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk0, 8), _mm_srli_epi16(layer3_chunk1, 8)); + __m128i layer2_chunk1 = _mm_packus_epi16(_mm_and_si128(layer3_chunk2, v_mask), _mm_and_si128(layer3_chunk3, v_mask)); + __m128i layer2_chunk4 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk2, 8), _mm_srli_epi16(layer3_chunk3, 8)); + __m128i layer2_chunk2 = _mm_packus_epi16(_mm_and_si128(layer3_chunk4, v_mask), _mm_and_si128(layer3_chunk5, v_mask)); + __m128i layer2_chunk5 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk4, 8), _mm_srli_epi16(layer3_chunk5, 8)); + + __m128i layer1_chunk0 = _mm_packus_epi16(_mm_and_si128(layer2_chunk0, v_mask), _mm_and_si128(layer2_chunk1, v_mask)); + __m128i layer1_chunk3 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk0, 8), _mm_srli_epi16(layer2_chunk1, 8)); + __m128i layer1_chunk1 = _mm_packus_epi16(_mm_and_si128(layer2_chunk2, v_mask), _mm_and_si128(layer2_chunk3, v_mask)); + __m128i layer1_chunk4 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk2, 8), _mm_srli_epi16(layer2_chunk3, 8)); + __m128i layer1_chunk2 = _mm_packus_epi16(_mm_and_si128(layer2_chunk4, v_mask), _mm_and_si128(layer2_chunk5, v_mask)); + __m128i layer1_chunk5 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk4, 8), _mm_srli_epi16(layer2_chunk5, 8)); + + v_r0 = _mm_packus_epi16(_mm_and_si128(layer1_chunk0, v_mask), _mm_and_si128(layer1_chunk1, v_mask)); + v_g1 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk0, 8), _mm_srli_epi16(layer1_chunk1, 8)); + v_r1 = _mm_packus_epi16(_mm_and_si128(layer1_chunk2, v_mask), _mm_and_si128(layer1_chunk3, v_mask)); + v_b0 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk2, 8), _mm_srli_epi16(layer1_chunk3, 8)); + v_g0 = _mm_packus_epi16(_mm_and_si128(layer1_chunk4, v_mask), _mm_and_si128(layer1_chunk5, v_mask)); + v_b1 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk4, 8), _mm_srli_epi16(layer1_chunk5, 8)); +} + +inline void _mm_interleave_epi8(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, __m128i & v_g1, + __m128i & v_b0, __m128i & v_b1, __m128i & v_a0, __m128i & v_a1) +{ + __m128i v_mask = _mm_set1_epi16(0x00ff); + + __m128i layer4_chunk0 = _mm_packus_epi16(_mm_and_si128(v_r0, v_mask), _mm_and_si128(v_r1, v_mask)); + __m128i layer4_chunk4 = _mm_packus_epi16(_mm_srli_epi16(v_r0, 8), _mm_srli_epi16(v_r1, 8)); + __m128i layer4_chunk1 = _mm_packus_epi16(_mm_and_si128(v_g0, v_mask), _mm_and_si128(v_g1, v_mask)); + __m128i layer4_chunk5 = _mm_packus_epi16(_mm_srli_epi16(v_g0, 8), _mm_srli_epi16(v_g1, 8)); + __m128i layer4_chunk2 = _mm_packus_epi16(_mm_and_si128(v_b0, v_mask), _mm_and_si128(v_b1, v_mask)); + __m128i layer4_chunk6 = _mm_packus_epi16(_mm_srli_epi16(v_b0, 8), _mm_srli_epi16(v_b1, 8)); + __m128i layer4_chunk3 = _mm_packus_epi16(_mm_and_si128(v_a0, v_mask), _mm_and_si128(v_a1, v_mask)); + __m128i layer4_chunk7 = _mm_packus_epi16(_mm_srli_epi16(v_a0, 8), _mm_srli_epi16(v_a1, 8)); + + __m128i layer3_chunk0 = _mm_packus_epi16(_mm_and_si128(layer4_chunk0, v_mask), _mm_and_si128(layer4_chunk1, v_mask)); + __m128i layer3_chunk4 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk0, 8), _mm_srli_epi16(layer4_chunk1, 8)); + __m128i layer3_chunk1 = _mm_packus_epi16(_mm_and_si128(layer4_chunk2, v_mask), _mm_and_si128(layer4_chunk3, v_mask)); + __m128i layer3_chunk5 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk2, 8), _mm_srli_epi16(layer4_chunk3, 8)); + __m128i layer3_chunk2 = _mm_packus_epi16(_mm_and_si128(layer4_chunk4, v_mask), _mm_and_si128(layer4_chunk5, v_mask)); + __m128i layer3_chunk6 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk4, 8), _mm_srli_epi16(layer4_chunk5, 8)); + __m128i layer3_chunk3 = _mm_packus_epi16(_mm_and_si128(layer4_chunk6, v_mask), _mm_and_si128(layer4_chunk7, v_mask)); + __m128i layer3_chunk7 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk6, 8), _mm_srli_epi16(layer4_chunk7, 8)); + + __m128i layer2_chunk0 = _mm_packus_epi16(_mm_and_si128(layer3_chunk0, v_mask), _mm_and_si128(layer3_chunk1, v_mask)); + __m128i layer2_chunk4 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk0, 8), _mm_srli_epi16(layer3_chunk1, 8)); + __m128i layer2_chunk1 = _mm_packus_epi16(_mm_and_si128(layer3_chunk2, v_mask), _mm_and_si128(layer3_chunk3, v_mask)); + __m128i layer2_chunk5 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk2, 8), _mm_srli_epi16(layer3_chunk3, 8)); + __m128i layer2_chunk2 = _mm_packus_epi16(_mm_and_si128(layer3_chunk4, v_mask), _mm_and_si128(layer3_chunk5, v_mask)); + __m128i layer2_chunk6 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk4, 8), _mm_srli_epi16(layer3_chunk5, 8)); + __m128i layer2_chunk3 = _mm_packus_epi16(_mm_and_si128(layer3_chunk6, v_mask), _mm_and_si128(layer3_chunk7, v_mask)); + __m128i layer2_chunk7 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk6, 8), _mm_srli_epi16(layer3_chunk7, 8)); + + __m128i layer1_chunk0 = _mm_packus_epi16(_mm_and_si128(layer2_chunk0, v_mask), _mm_and_si128(layer2_chunk1, v_mask)); + __m128i layer1_chunk4 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk0, 8), _mm_srli_epi16(layer2_chunk1, 8)); + __m128i layer1_chunk1 = _mm_packus_epi16(_mm_and_si128(layer2_chunk2, v_mask), _mm_and_si128(layer2_chunk3, v_mask)); + __m128i layer1_chunk5 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk2, 8), _mm_srli_epi16(layer2_chunk3, 8)); + __m128i layer1_chunk2 = _mm_packus_epi16(_mm_and_si128(layer2_chunk4, v_mask), _mm_and_si128(layer2_chunk5, v_mask)); + __m128i layer1_chunk6 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk4, 8), _mm_srli_epi16(layer2_chunk5, 8)); + __m128i layer1_chunk3 = _mm_packus_epi16(_mm_and_si128(layer2_chunk6, v_mask), _mm_and_si128(layer2_chunk7, v_mask)); + __m128i layer1_chunk7 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk6, 8), _mm_srli_epi16(layer2_chunk7, 8)); + + v_r0 = _mm_packus_epi16(_mm_and_si128(layer1_chunk0, v_mask), _mm_and_si128(layer1_chunk1, v_mask)); + v_b0 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk0, 8), _mm_srli_epi16(layer1_chunk1, 8)); + v_r1 = _mm_packus_epi16(_mm_and_si128(layer1_chunk2, v_mask), _mm_and_si128(layer1_chunk3, v_mask)); + v_b1 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk2, 8), _mm_srli_epi16(layer1_chunk3, 8)); + v_g0 = _mm_packus_epi16(_mm_and_si128(layer1_chunk4, v_mask), _mm_and_si128(layer1_chunk5, v_mask)); + v_a0 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk4, 8), _mm_srli_epi16(layer1_chunk5, 8)); + v_g1 = _mm_packus_epi16(_mm_and_si128(layer1_chunk6, v_mask), _mm_and_si128(layer1_chunk7, v_mask)); + v_a1 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk6, 8), _mm_srli_epi16(layer1_chunk7, 8)); +} + +inline void _mm_deinterleave_epi16(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, __m128i & v_g1) +{ + __m128i layer1_chunk0 = _mm_unpacklo_epi16(v_r0, v_g0); + __m128i layer1_chunk1 = _mm_unpackhi_epi16(v_r0, v_g0); + __m128i layer1_chunk2 = _mm_unpacklo_epi16(v_r1, v_g1); + __m128i layer1_chunk3 = _mm_unpackhi_epi16(v_r1, v_g1); + + __m128i layer2_chunk0 = _mm_unpacklo_epi16(layer1_chunk0, layer1_chunk2); + __m128i layer2_chunk1 = _mm_unpackhi_epi16(layer1_chunk0, layer1_chunk2); + __m128i layer2_chunk2 = _mm_unpacklo_epi16(layer1_chunk1, layer1_chunk3); + __m128i layer2_chunk3 = _mm_unpackhi_epi16(layer1_chunk1, layer1_chunk3); + + __m128i layer3_chunk0 = _mm_unpacklo_epi16(layer2_chunk0, layer2_chunk2); + __m128i layer3_chunk1 = _mm_unpackhi_epi16(layer2_chunk0, layer2_chunk2); + __m128i layer3_chunk2 = _mm_unpacklo_epi16(layer2_chunk1, layer2_chunk3); + __m128i layer3_chunk3 = _mm_unpackhi_epi16(layer2_chunk1, layer2_chunk3); + + v_r0 = _mm_unpacklo_epi16(layer3_chunk0, layer3_chunk2); + v_r1 = _mm_unpackhi_epi16(layer3_chunk0, layer3_chunk2); + v_g0 = _mm_unpacklo_epi16(layer3_chunk1, layer3_chunk3); + v_g1 = _mm_unpackhi_epi16(layer3_chunk1, layer3_chunk3); +} + +inline void _mm_deinterleave_epi16(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, + __m128i & v_g1, __m128i & v_b0, __m128i & v_b1) +{ + __m128i layer1_chunk0 = _mm_unpacklo_epi16(v_r0, v_g1); + __m128i layer1_chunk1 = _mm_unpackhi_epi16(v_r0, v_g1); + __m128i layer1_chunk2 = _mm_unpacklo_epi16(v_r1, v_b0); + __m128i layer1_chunk3 = _mm_unpackhi_epi16(v_r1, v_b0); + __m128i layer1_chunk4 = _mm_unpacklo_epi16(v_g0, v_b1); + __m128i layer1_chunk5 = _mm_unpackhi_epi16(v_g0, v_b1); + + __m128i layer2_chunk0 = _mm_unpacklo_epi16(layer1_chunk0, layer1_chunk3); + __m128i layer2_chunk1 = _mm_unpackhi_epi16(layer1_chunk0, layer1_chunk3); + __m128i layer2_chunk2 = _mm_unpacklo_epi16(layer1_chunk1, layer1_chunk4); + __m128i layer2_chunk3 = _mm_unpackhi_epi16(layer1_chunk1, layer1_chunk4); + __m128i layer2_chunk4 = _mm_unpacklo_epi16(layer1_chunk2, layer1_chunk5); + __m128i layer2_chunk5 = _mm_unpackhi_epi16(layer1_chunk2, layer1_chunk5); + + __m128i layer3_chunk0 = _mm_unpacklo_epi16(layer2_chunk0, layer2_chunk3); + __m128i layer3_chunk1 = _mm_unpackhi_epi16(layer2_chunk0, layer2_chunk3); + __m128i layer3_chunk2 = _mm_unpacklo_epi16(layer2_chunk1, layer2_chunk4); + __m128i layer3_chunk3 = _mm_unpackhi_epi16(layer2_chunk1, layer2_chunk4); + __m128i layer3_chunk4 = _mm_unpacklo_epi16(layer2_chunk2, layer2_chunk5); + __m128i layer3_chunk5 = _mm_unpackhi_epi16(layer2_chunk2, layer2_chunk5); + + v_r0 = _mm_unpacklo_epi16(layer3_chunk0, layer3_chunk3); + v_r1 = _mm_unpackhi_epi16(layer3_chunk0, layer3_chunk3); + v_g0 = _mm_unpacklo_epi16(layer3_chunk1, layer3_chunk4); + v_g1 = _mm_unpackhi_epi16(layer3_chunk1, layer3_chunk4); + v_b0 = _mm_unpacklo_epi16(layer3_chunk2, layer3_chunk5); + v_b1 = _mm_unpackhi_epi16(layer3_chunk2, layer3_chunk5); +} + +inline void _mm_deinterleave_epi16(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, __m128i & v_g1, + __m128i & v_b0, __m128i & v_b1, __m128i & v_a0, __m128i & v_a1) +{ + __m128i layer1_chunk0 = _mm_unpacklo_epi16(v_r0, v_b0); + __m128i layer1_chunk1 = _mm_unpackhi_epi16(v_r0, v_b0); + __m128i layer1_chunk2 = _mm_unpacklo_epi16(v_r1, v_b1); + __m128i layer1_chunk3 = _mm_unpackhi_epi16(v_r1, v_b1); + __m128i layer1_chunk4 = _mm_unpacklo_epi16(v_g0, v_a0); + __m128i layer1_chunk5 = _mm_unpackhi_epi16(v_g0, v_a0); + __m128i layer1_chunk6 = _mm_unpacklo_epi16(v_g1, v_a1); + __m128i layer1_chunk7 = _mm_unpackhi_epi16(v_g1, v_a1); + + __m128i layer2_chunk0 = _mm_unpacklo_epi16(layer1_chunk0, layer1_chunk4); + __m128i layer2_chunk1 = _mm_unpackhi_epi16(layer1_chunk0, layer1_chunk4); + __m128i layer2_chunk2 = _mm_unpacklo_epi16(layer1_chunk1, layer1_chunk5); + __m128i layer2_chunk3 = _mm_unpackhi_epi16(layer1_chunk1, layer1_chunk5); + __m128i layer2_chunk4 = _mm_unpacklo_epi16(layer1_chunk2, layer1_chunk6); + __m128i layer2_chunk5 = _mm_unpackhi_epi16(layer1_chunk2, layer1_chunk6); + __m128i layer2_chunk6 = _mm_unpacklo_epi16(layer1_chunk3, layer1_chunk7); + __m128i layer2_chunk7 = _mm_unpackhi_epi16(layer1_chunk3, layer1_chunk7); + + __m128i layer3_chunk0 = _mm_unpacklo_epi16(layer2_chunk0, layer2_chunk4); + __m128i layer3_chunk1 = _mm_unpackhi_epi16(layer2_chunk0, layer2_chunk4); + __m128i layer3_chunk2 = _mm_unpacklo_epi16(layer2_chunk1, layer2_chunk5); + __m128i layer3_chunk3 = _mm_unpackhi_epi16(layer2_chunk1, layer2_chunk5); + __m128i layer3_chunk4 = _mm_unpacklo_epi16(layer2_chunk2, layer2_chunk6); + __m128i layer3_chunk5 = _mm_unpackhi_epi16(layer2_chunk2, layer2_chunk6); + __m128i layer3_chunk6 = _mm_unpacklo_epi16(layer2_chunk3, layer2_chunk7); + __m128i layer3_chunk7 = _mm_unpackhi_epi16(layer2_chunk3, layer2_chunk7); + + v_r0 = _mm_unpacklo_epi16(layer3_chunk0, layer3_chunk4); + v_r1 = _mm_unpackhi_epi16(layer3_chunk0, layer3_chunk4); + v_g0 = _mm_unpacklo_epi16(layer3_chunk1, layer3_chunk5); + v_g1 = _mm_unpackhi_epi16(layer3_chunk1, layer3_chunk5); + v_b0 = _mm_unpacklo_epi16(layer3_chunk2, layer3_chunk6); + v_b1 = _mm_unpackhi_epi16(layer3_chunk2, layer3_chunk6); + v_a0 = _mm_unpacklo_epi16(layer3_chunk3, layer3_chunk7); + v_a1 = _mm_unpackhi_epi16(layer3_chunk3, layer3_chunk7); +} + +#if CV_SSE4_1 + +inline void _mm_interleave_epi16(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, __m128i & v_g1) +{ + __m128i v_mask = _mm_set1_epi32(0x0000ffff); + + __m128i layer3_chunk0 = _mm_packus_epi32(_mm_and_si128(v_r0, v_mask), _mm_and_si128(v_r1, v_mask)); + __m128i layer3_chunk2 = _mm_packus_epi32(_mm_srli_epi32(v_r0, 16), _mm_srli_epi32(v_r1, 16)); + __m128i layer3_chunk1 = _mm_packus_epi32(_mm_and_si128(v_g0, v_mask), _mm_and_si128(v_g1, v_mask)); + __m128i layer3_chunk3 = _mm_packus_epi32(_mm_srli_epi32(v_g0, 16), _mm_srli_epi32(v_g1, 16)); + + __m128i layer2_chunk0 = _mm_packus_epi32(_mm_and_si128(layer3_chunk0, v_mask), _mm_and_si128(layer3_chunk1, v_mask)); + __m128i layer2_chunk2 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk0, 16), _mm_srli_epi32(layer3_chunk1, 16)); + __m128i layer2_chunk1 = _mm_packus_epi32(_mm_and_si128(layer3_chunk2, v_mask), _mm_and_si128(layer3_chunk3, v_mask)); + __m128i layer2_chunk3 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk2, 16), _mm_srli_epi32(layer3_chunk3, 16)); + + __m128i layer1_chunk0 = _mm_packus_epi32(_mm_and_si128(layer2_chunk0, v_mask), _mm_and_si128(layer2_chunk1, v_mask)); + __m128i layer1_chunk2 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk0, 16), _mm_srli_epi32(layer2_chunk1, 16)); + __m128i layer1_chunk1 = _mm_packus_epi32(_mm_and_si128(layer2_chunk2, v_mask), _mm_and_si128(layer2_chunk3, v_mask)); + __m128i layer1_chunk3 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk2, 16), _mm_srli_epi32(layer2_chunk3, 16)); + + v_r0 = _mm_packus_epi32(_mm_and_si128(layer1_chunk0, v_mask), _mm_and_si128(layer1_chunk1, v_mask)); + v_g0 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk0, 16), _mm_srli_epi32(layer1_chunk1, 16)); + v_r1 = _mm_packus_epi32(_mm_and_si128(layer1_chunk2, v_mask), _mm_and_si128(layer1_chunk3, v_mask)); + v_g1 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk2, 16), _mm_srli_epi32(layer1_chunk3, 16)); +} + +inline void _mm_interleave_epi16(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, + __m128i & v_g1, __m128i & v_b0, __m128i & v_b1) +{ + __m128i v_mask = _mm_set1_epi32(0x0000ffff); + + __m128i layer3_chunk0 = _mm_packus_epi32(_mm_and_si128(v_r0, v_mask), _mm_and_si128(v_r1, v_mask)); + __m128i layer3_chunk3 = _mm_packus_epi32(_mm_srli_epi32(v_r0, 16), _mm_srli_epi32(v_r1, 16)); + __m128i layer3_chunk1 = _mm_packus_epi32(_mm_and_si128(v_g0, v_mask), _mm_and_si128(v_g1, v_mask)); + __m128i layer3_chunk4 = _mm_packus_epi32(_mm_srli_epi32(v_g0, 16), _mm_srli_epi32(v_g1, 16)); + __m128i layer3_chunk2 = _mm_packus_epi32(_mm_and_si128(v_b0, v_mask), _mm_and_si128(v_b1, v_mask)); + __m128i layer3_chunk5 = _mm_packus_epi32(_mm_srli_epi32(v_b0, 16), _mm_srli_epi32(v_b1, 16)); + + __m128i layer2_chunk0 = _mm_packus_epi32(_mm_and_si128(layer3_chunk0, v_mask), _mm_and_si128(layer3_chunk1, v_mask)); + __m128i layer2_chunk3 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk0, 16), _mm_srli_epi32(layer3_chunk1, 16)); + __m128i layer2_chunk1 = _mm_packus_epi32(_mm_and_si128(layer3_chunk2, v_mask), _mm_and_si128(layer3_chunk3, v_mask)); + __m128i layer2_chunk4 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk2, 16), _mm_srli_epi32(layer3_chunk3, 16)); + __m128i layer2_chunk2 = _mm_packus_epi32(_mm_and_si128(layer3_chunk4, v_mask), _mm_and_si128(layer3_chunk5, v_mask)); + __m128i layer2_chunk5 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk4, 16), _mm_srli_epi32(layer3_chunk5, 16)); + + __m128i layer1_chunk0 = _mm_packus_epi32(_mm_and_si128(layer2_chunk0, v_mask), _mm_and_si128(layer2_chunk1, v_mask)); + __m128i layer1_chunk3 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk0, 16), _mm_srli_epi32(layer2_chunk1, 16)); + __m128i layer1_chunk1 = _mm_packus_epi32(_mm_and_si128(layer2_chunk2, v_mask), _mm_and_si128(layer2_chunk3, v_mask)); + __m128i layer1_chunk4 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk2, 16), _mm_srli_epi32(layer2_chunk3, 16)); + __m128i layer1_chunk2 = _mm_packus_epi32(_mm_and_si128(layer2_chunk4, v_mask), _mm_and_si128(layer2_chunk5, v_mask)); + __m128i layer1_chunk5 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk4, 16), _mm_srli_epi32(layer2_chunk5, 16)); + + v_r0 = _mm_packus_epi32(_mm_and_si128(layer1_chunk0, v_mask), _mm_and_si128(layer1_chunk1, v_mask)); + v_g1 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk0, 16), _mm_srli_epi32(layer1_chunk1, 16)); + v_r1 = _mm_packus_epi32(_mm_and_si128(layer1_chunk2, v_mask), _mm_and_si128(layer1_chunk3, v_mask)); + v_b0 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk2, 16), _mm_srli_epi32(layer1_chunk3, 16)); + v_g0 = _mm_packus_epi32(_mm_and_si128(layer1_chunk4, v_mask), _mm_and_si128(layer1_chunk5, v_mask)); + v_b1 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk4, 16), _mm_srli_epi32(layer1_chunk5, 16)); +} + +inline void _mm_interleave_epi16(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, __m128i & v_g1, + __m128i & v_b0, __m128i & v_b1, __m128i & v_a0, __m128i & v_a1) +{ + __m128i v_mask = _mm_set1_epi32(0x0000ffff); + + __m128i layer3_chunk0 = _mm_packus_epi32(_mm_and_si128(v_r0, v_mask), _mm_and_si128(v_r1, v_mask)); + __m128i layer3_chunk4 = _mm_packus_epi32(_mm_srli_epi32(v_r0, 16), _mm_srli_epi32(v_r1, 16)); + __m128i layer3_chunk1 = _mm_packus_epi32(_mm_and_si128(v_g0, v_mask), _mm_and_si128(v_g1, v_mask)); + __m128i layer3_chunk5 = _mm_packus_epi32(_mm_srli_epi32(v_g0, 16), _mm_srli_epi32(v_g1, 16)); + __m128i layer3_chunk2 = _mm_packus_epi32(_mm_and_si128(v_b0, v_mask), _mm_and_si128(v_b1, v_mask)); + __m128i layer3_chunk6 = _mm_packus_epi32(_mm_srli_epi32(v_b0, 16), _mm_srli_epi32(v_b1, 16)); + __m128i layer3_chunk3 = _mm_packus_epi32(_mm_and_si128(v_a0, v_mask), _mm_and_si128(v_a1, v_mask)); + __m128i layer3_chunk7 = _mm_packus_epi32(_mm_srli_epi32(v_a0, 16), _mm_srli_epi32(v_a1, 16)); + + __m128i layer2_chunk0 = _mm_packus_epi32(_mm_and_si128(layer3_chunk0, v_mask), _mm_and_si128(layer3_chunk1, v_mask)); + __m128i layer2_chunk4 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk0, 16), _mm_srli_epi32(layer3_chunk1, 16)); + __m128i layer2_chunk1 = _mm_packus_epi32(_mm_and_si128(layer3_chunk2, v_mask), _mm_and_si128(layer3_chunk3, v_mask)); + __m128i layer2_chunk5 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk2, 16), _mm_srli_epi32(layer3_chunk3, 16)); + __m128i layer2_chunk2 = _mm_packus_epi32(_mm_and_si128(layer3_chunk4, v_mask), _mm_and_si128(layer3_chunk5, v_mask)); + __m128i layer2_chunk6 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk4, 16), _mm_srli_epi32(layer3_chunk5, 16)); + __m128i layer2_chunk3 = _mm_packus_epi32(_mm_and_si128(layer3_chunk6, v_mask), _mm_and_si128(layer3_chunk7, v_mask)); + __m128i layer2_chunk7 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk6, 16), _mm_srli_epi32(layer3_chunk7, 16)); + + __m128i layer1_chunk0 = _mm_packus_epi32(_mm_and_si128(layer2_chunk0, v_mask), _mm_and_si128(layer2_chunk1, v_mask)); + __m128i layer1_chunk4 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk0, 16), _mm_srli_epi32(layer2_chunk1, 16)); + __m128i layer1_chunk1 = _mm_packus_epi32(_mm_and_si128(layer2_chunk2, v_mask), _mm_and_si128(layer2_chunk3, v_mask)); + __m128i layer1_chunk5 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk2, 16), _mm_srli_epi32(layer2_chunk3, 16)); + __m128i layer1_chunk2 = _mm_packus_epi32(_mm_and_si128(layer2_chunk4, v_mask), _mm_and_si128(layer2_chunk5, v_mask)); + __m128i layer1_chunk6 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk4, 16), _mm_srli_epi32(layer2_chunk5, 16)); + __m128i layer1_chunk3 = _mm_packus_epi32(_mm_and_si128(layer2_chunk6, v_mask), _mm_and_si128(layer2_chunk7, v_mask)); + __m128i layer1_chunk7 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk6, 16), _mm_srli_epi32(layer2_chunk7, 16)); + + v_r0 = _mm_packus_epi32(_mm_and_si128(layer1_chunk0, v_mask), _mm_and_si128(layer1_chunk1, v_mask)); + v_b0 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk0, 16), _mm_srli_epi32(layer1_chunk1, 16)); + v_r1 = _mm_packus_epi32(_mm_and_si128(layer1_chunk2, v_mask), _mm_and_si128(layer1_chunk3, v_mask)); + v_b1 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk2, 16), _mm_srli_epi32(layer1_chunk3, 16)); + v_g0 = _mm_packus_epi32(_mm_and_si128(layer1_chunk4, v_mask), _mm_and_si128(layer1_chunk5, v_mask)); + v_a0 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk4, 16), _mm_srli_epi32(layer1_chunk5, 16)); + v_g1 = _mm_packus_epi32(_mm_and_si128(layer1_chunk6, v_mask), _mm_and_si128(layer1_chunk7, v_mask)); + v_a1 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk6, 16), _mm_srli_epi32(layer1_chunk7, 16)); +} + +#endif // CV_SSE4_1 + +inline void _mm_deinterleave_ps(__m128 & v_r0, __m128 & v_r1, __m128 & v_g0, __m128 & v_g1) +{ + __m128 layer1_chunk0 = _mm_unpacklo_ps(v_r0, v_g0); + __m128 layer1_chunk1 = _mm_unpackhi_ps(v_r0, v_g0); + __m128 layer1_chunk2 = _mm_unpacklo_ps(v_r1, v_g1); + __m128 layer1_chunk3 = _mm_unpackhi_ps(v_r1, v_g1); + + __m128 layer2_chunk0 = _mm_unpacklo_ps(layer1_chunk0, layer1_chunk2); + __m128 layer2_chunk1 = _mm_unpackhi_ps(layer1_chunk0, layer1_chunk2); + __m128 layer2_chunk2 = _mm_unpacklo_ps(layer1_chunk1, layer1_chunk3); + __m128 layer2_chunk3 = _mm_unpackhi_ps(layer1_chunk1, layer1_chunk3); + + v_r0 = _mm_unpacklo_ps(layer2_chunk0, layer2_chunk2); + v_r1 = _mm_unpackhi_ps(layer2_chunk0, layer2_chunk2); + v_g0 = _mm_unpacklo_ps(layer2_chunk1, layer2_chunk3); + v_g1 = _mm_unpackhi_ps(layer2_chunk1, layer2_chunk3); +} + +inline void _mm_deinterleave_ps(__m128 & v_r0, __m128 & v_r1, __m128 & v_g0, + __m128 & v_g1, __m128 & v_b0, __m128 & v_b1) +{ + __m128 layer1_chunk0 = _mm_unpacklo_ps(v_r0, v_g1); + __m128 layer1_chunk1 = _mm_unpackhi_ps(v_r0, v_g1); + __m128 layer1_chunk2 = _mm_unpacklo_ps(v_r1, v_b0); + __m128 layer1_chunk3 = _mm_unpackhi_ps(v_r1, v_b0); + __m128 layer1_chunk4 = _mm_unpacklo_ps(v_g0, v_b1); + __m128 layer1_chunk5 = _mm_unpackhi_ps(v_g0, v_b1); + + __m128 layer2_chunk0 = _mm_unpacklo_ps(layer1_chunk0, layer1_chunk3); + __m128 layer2_chunk1 = _mm_unpackhi_ps(layer1_chunk0, layer1_chunk3); + __m128 layer2_chunk2 = _mm_unpacklo_ps(layer1_chunk1, layer1_chunk4); + __m128 layer2_chunk3 = _mm_unpackhi_ps(layer1_chunk1, layer1_chunk4); + __m128 layer2_chunk4 = _mm_unpacklo_ps(layer1_chunk2, layer1_chunk5); + __m128 layer2_chunk5 = _mm_unpackhi_ps(layer1_chunk2, layer1_chunk5); + + v_r0 = _mm_unpacklo_ps(layer2_chunk0, layer2_chunk3); + v_r1 = _mm_unpackhi_ps(layer2_chunk0, layer2_chunk3); + v_g0 = _mm_unpacklo_ps(layer2_chunk1, layer2_chunk4); + v_g1 = _mm_unpackhi_ps(layer2_chunk1, layer2_chunk4); + v_b0 = _mm_unpacklo_ps(layer2_chunk2, layer2_chunk5); + v_b1 = _mm_unpackhi_ps(layer2_chunk2, layer2_chunk5); +} + +inline void _mm_deinterleave_ps(__m128 & v_r0, __m128 & v_r1, __m128 & v_g0, __m128 & v_g1, + __m128 & v_b0, __m128 & v_b1, __m128 & v_a0, __m128 & v_a1) +{ + __m128 layer1_chunk0 = _mm_unpacklo_ps(v_r0, v_b0); + __m128 layer1_chunk1 = _mm_unpackhi_ps(v_r0, v_b0); + __m128 layer1_chunk2 = _mm_unpacklo_ps(v_r1, v_b1); + __m128 layer1_chunk3 = _mm_unpackhi_ps(v_r1, v_b1); + __m128 layer1_chunk4 = _mm_unpacklo_ps(v_g0, v_a0); + __m128 layer1_chunk5 = _mm_unpackhi_ps(v_g0, v_a0); + __m128 layer1_chunk6 = _mm_unpacklo_ps(v_g1, v_a1); + __m128 layer1_chunk7 = _mm_unpackhi_ps(v_g1, v_a1); + + __m128 layer2_chunk0 = _mm_unpacklo_ps(layer1_chunk0, layer1_chunk4); + __m128 layer2_chunk1 = _mm_unpackhi_ps(layer1_chunk0, layer1_chunk4); + __m128 layer2_chunk2 = _mm_unpacklo_ps(layer1_chunk1, layer1_chunk5); + __m128 layer2_chunk3 = _mm_unpackhi_ps(layer1_chunk1, layer1_chunk5); + __m128 layer2_chunk4 = _mm_unpacklo_ps(layer1_chunk2, layer1_chunk6); + __m128 layer2_chunk5 = _mm_unpackhi_ps(layer1_chunk2, layer1_chunk6); + __m128 layer2_chunk6 = _mm_unpacklo_ps(layer1_chunk3, layer1_chunk7); + __m128 layer2_chunk7 = _mm_unpackhi_ps(layer1_chunk3, layer1_chunk7); + + v_r0 = _mm_unpacklo_ps(layer2_chunk0, layer2_chunk4); + v_r1 = _mm_unpackhi_ps(layer2_chunk0, layer2_chunk4); + v_g0 = _mm_unpacklo_ps(layer2_chunk1, layer2_chunk5); + v_g1 = _mm_unpackhi_ps(layer2_chunk1, layer2_chunk5); + v_b0 = _mm_unpacklo_ps(layer2_chunk2, layer2_chunk6); + v_b1 = _mm_unpackhi_ps(layer2_chunk2, layer2_chunk6); + v_a0 = _mm_unpacklo_ps(layer2_chunk3, layer2_chunk7); + v_a1 = _mm_unpackhi_ps(layer2_chunk3, layer2_chunk7); +} + +inline void _mm_interleave_ps(__m128 & v_r0, __m128 & v_r1, __m128 & v_g0, __m128 & v_g1) +{ + const int mask_lo = _MM_SHUFFLE(2, 0, 2, 0), mask_hi = _MM_SHUFFLE(3, 1, 3, 1); + + __m128 layer2_chunk0 = _mm_shuffle_ps(v_r0, v_r1, mask_lo); + __m128 layer2_chunk2 = _mm_shuffle_ps(v_r0, v_r1, mask_hi); + __m128 layer2_chunk1 = _mm_shuffle_ps(v_g0, v_g1, mask_lo); + __m128 layer2_chunk3 = _mm_shuffle_ps(v_g0, v_g1, mask_hi); + + __m128 layer1_chunk0 = _mm_shuffle_ps(layer2_chunk0, layer2_chunk1, mask_lo); + __m128 layer1_chunk2 = _mm_shuffle_ps(layer2_chunk0, layer2_chunk1, mask_hi); + __m128 layer1_chunk1 = _mm_shuffle_ps(layer2_chunk2, layer2_chunk3, mask_lo); + __m128 layer1_chunk3 = _mm_shuffle_ps(layer2_chunk2, layer2_chunk3, mask_hi); + + v_r0 = _mm_shuffle_ps(layer1_chunk0, layer1_chunk1, mask_lo); + v_g0 = _mm_shuffle_ps(layer1_chunk0, layer1_chunk1, mask_hi); + v_r1 = _mm_shuffle_ps(layer1_chunk2, layer1_chunk3, mask_lo); + v_g1 = _mm_shuffle_ps(layer1_chunk2, layer1_chunk3, mask_hi); +} + +inline void _mm_interleave_ps(__m128 & v_r0, __m128 & v_r1, __m128 & v_g0, + __m128 & v_g1, __m128 & v_b0, __m128 & v_b1) +{ + const int mask_lo = _MM_SHUFFLE(2, 0, 2, 0), mask_hi = _MM_SHUFFLE(3, 1, 3, 1); + + __m128 layer2_chunk0 = _mm_shuffle_ps(v_r0, v_r1, mask_lo); + __m128 layer2_chunk3 = _mm_shuffle_ps(v_r0, v_r1, mask_hi); + __m128 layer2_chunk1 = _mm_shuffle_ps(v_g0, v_g1, mask_lo); + __m128 layer2_chunk4 = _mm_shuffle_ps(v_g0, v_g1, mask_hi); + __m128 layer2_chunk2 = _mm_shuffle_ps(v_b0, v_b1, mask_lo); + __m128 layer2_chunk5 = _mm_shuffle_ps(v_b0, v_b1, mask_hi); + + __m128 layer1_chunk0 = _mm_shuffle_ps(layer2_chunk0, layer2_chunk1, mask_lo); + __m128 layer1_chunk3 = _mm_shuffle_ps(layer2_chunk0, layer2_chunk1, mask_hi); + __m128 layer1_chunk1 = _mm_shuffle_ps(layer2_chunk2, layer2_chunk3, mask_lo); + __m128 layer1_chunk4 = _mm_shuffle_ps(layer2_chunk2, layer2_chunk3, mask_hi); + __m128 layer1_chunk2 = _mm_shuffle_ps(layer2_chunk4, layer2_chunk5, mask_lo); + __m128 layer1_chunk5 = _mm_shuffle_ps(layer2_chunk4, layer2_chunk5, mask_hi); + + v_r0 = _mm_shuffle_ps(layer1_chunk0, layer1_chunk1, mask_lo); + v_g1 = _mm_shuffle_ps(layer1_chunk0, layer1_chunk1, mask_hi); + v_r1 = _mm_shuffle_ps(layer1_chunk2, layer1_chunk3, mask_lo); + v_b0 = _mm_shuffle_ps(layer1_chunk2, layer1_chunk3, mask_hi); + v_g0 = _mm_shuffle_ps(layer1_chunk4, layer1_chunk5, mask_lo); + v_b1 = _mm_shuffle_ps(layer1_chunk4, layer1_chunk5, mask_hi); +} + +inline void _mm_interleave_ps(__m128 & v_r0, __m128 & v_r1, __m128 & v_g0, __m128 & v_g1, + __m128 & v_b0, __m128 & v_b1, __m128 & v_a0, __m128 & v_a1) +{ + const int mask_lo = _MM_SHUFFLE(2, 0, 2, 0), mask_hi = _MM_SHUFFLE(3, 1, 3, 1); + + __m128 layer2_chunk0 = _mm_shuffle_ps(v_r0, v_r1, mask_lo); + __m128 layer2_chunk4 = _mm_shuffle_ps(v_r0, v_r1, mask_hi); + __m128 layer2_chunk1 = _mm_shuffle_ps(v_g0, v_g1, mask_lo); + __m128 layer2_chunk5 = _mm_shuffle_ps(v_g0, v_g1, mask_hi); + __m128 layer2_chunk2 = _mm_shuffle_ps(v_b0, v_b1, mask_lo); + __m128 layer2_chunk6 = _mm_shuffle_ps(v_b0, v_b1, mask_hi); + __m128 layer2_chunk3 = _mm_shuffle_ps(v_a0, v_a1, mask_lo); + __m128 layer2_chunk7 = _mm_shuffle_ps(v_a0, v_a1, mask_hi); + + __m128 layer1_chunk0 = _mm_shuffle_ps(layer2_chunk0, layer2_chunk1, mask_lo); + __m128 layer1_chunk4 = _mm_shuffle_ps(layer2_chunk0, layer2_chunk1, mask_hi); + __m128 layer1_chunk1 = _mm_shuffle_ps(layer2_chunk2, layer2_chunk3, mask_lo); + __m128 layer1_chunk5 = _mm_shuffle_ps(layer2_chunk2, layer2_chunk3, mask_hi); + __m128 layer1_chunk2 = _mm_shuffle_ps(layer2_chunk4, layer2_chunk5, mask_lo); + __m128 layer1_chunk6 = _mm_shuffle_ps(layer2_chunk4, layer2_chunk5, mask_hi); + __m128 layer1_chunk3 = _mm_shuffle_ps(layer2_chunk6, layer2_chunk7, mask_lo); + __m128 layer1_chunk7 = _mm_shuffle_ps(layer2_chunk6, layer2_chunk7, mask_hi); + + v_r0 = _mm_shuffle_ps(layer1_chunk0, layer1_chunk1, mask_lo); + v_b0 = _mm_shuffle_ps(layer1_chunk0, layer1_chunk1, mask_hi); + v_r1 = _mm_shuffle_ps(layer1_chunk2, layer1_chunk3, mask_lo); + v_b1 = _mm_shuffle_ps(layer1_chunk2, layer1_chunk3, mask_hi); + v_g0 = _mm_shuffle_ps(layer1_chunk4, layer1_chunk5, mask_lo); + v_a0 = _mm_shuffle_ps(layer1_chunk4, layer1_chunk5, mask_hi); + v_g1 = _mm_shuffle_ps(layer1_chunk6, layer1_chunk7, mask_lo); + v_a1 = _mm_shuffle_ps(layer1_chunk6, layer1_chunk7, mask_hi); +} + +#endif // CV_SSE2 + +//! @} + +#endif //OPENCV_CORE_SSE_UTILS_HPP diff --git a/app/src/main/cpp/include/opencv2/core/traits.hpp b/app/src/main/cpp/include/opencv2/core/traits.hpp new file mode 100644 index 0000000..6cb10f4 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/core/traits.hpp @@ -0,0 +1,397 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_TRAITS_HPP +#define OPENCV_CORE_TRAITS_HPP + +#include "opencv2/core/cvdef.h" + +namespace cv +{ + +//#define OPENCV_TRAITS_ENABLE_DEPRECATED + +//! @addtogroup core_basic +//! @{ + +/** @brief Template "trait" class for OpenCV primitive data types. + +@note Deprecated. This is replaced by "single purpose" traits: traits::Type and traits::Depth + +A primitive OpenCV data type is one of unsigned char, bool, signed char, unsigned short, signed +short, int, float, double, or a tuple of values of one of these types, where all the values in the +tuple have the same type. Any primitive type from the list can be defined by an identifier in the +form CV_\{U|S|F}C(\), for example: uchar \~ CV_8UC1, 3-element +floating-point tuple \~ CV_32FC3, and so on. A universal OpenCV structure that is able to store a +single instance of such a primitive data type is Vec. Multiple instances of such a type can be +stored in a std::vector, Mat, Mat_, SparseMat, SparseMat_, or any other container that is able to +store Vec instances. + +The DataType class is basically used to provide a description of such primitive data types without +adding any fields or methods to the corresponding classes (and it is actually impossible to add +anything to primitive C/C++ data types). This technique is known in C++ as class traits. It is not +DataType itself that is used but its specialized versions, such as: +@code + template<> class DataType + { + typedef uchar value_type; + typedef int work_type; + typedef uchar channel_type; + enum { channel_type = CV_8U, channels = 1, fmt='u', type = CV_8U }; + }; + ... + template DataType > + { + typedef std::complex<_Tp> value_type; + typedef std::complex<_Tp> work_type; + typedef _Tp channel_type; + // DataDepth is another helper trait class + enum { depth = DataDepth<_Tp>::value, channels=2, + fmt=(channels-1)*256+DataDepth<_Tp>::fmt, + type=CV_MAKETYPE(depth, channels) }; + }; + ... +@endcode +The main purpose of this class is to convert compilation-time type information to an +OpenCV-compatible data type identifier, for example: +@code + // allocates a 30x40 floating-point matrix + Mat A(30, 40, DataType::type); + + Mat B = Mat_ >(3, 3); + // the statement below will print 6, 2 , that is depth == CV_64F, channels == 2 + cout << B.depth() << ", " << B.channels() << endl; +@endcode +So, such traits are used to tell OpenCV which data type you are working with, even if such a type is +not native to OpenCV. For example, the matrix B initialization above is compiled because OpenCV +defines the proper specialized template class DataType\ \> . This mechanism is also +useful (and used in OpenCV this way) for generic algorithms implementations. + +@note Default values were dropped to stop confusing developers about using of unsupported types (see #7599) +*/ +template class DataType +{ +public: +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + typedef _Tp value_type; + typedef value_type work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 1, + depth = -1, + channels = 1, + fmt = 0, + type = CV_MAKETYPE(depth, channels) + }; +#endif +}; + +template<> class DataType +{ +public: + typedef bool value_type; + typedef int work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_8U, + channels = 1, + fmt = (int)'u', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef uchar value_type; + typedef int work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_8U, + channels = 1, + fmt = (int)'u', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef schar value_type; + typedef int work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_8S, + channels = 1, + fmt = (int)'c', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef schar value_type; + typedef int work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_8S, + channels = 1, + fmt = (int)'c', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef ushort value_type; + typedef int work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_16U, + channels = 1, + fmt = (int)'w', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef short value_type; + typedef int work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_16S, + channels = 1, + fmt = (int)'s', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef int value_type; + typedef value_type work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_32S, + channels = 1, + fmt = (int)'i', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef float value_type; + typedef value_type work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_32F, + channels = 1, + fmt = (int)'f', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef double value_type; + typedef value_type work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_64F, + channels = 1, + fmt = (int)'d', + type = CV_MAKETYPE(depth, channels) + }; +}; + + +/** @brief A helper class for cv::DataType + +The class is specialized for each fundamental numerical data type supported by OpenCV. It provides +DataDepth::value constant. +*/ +template class DataDepth +{ +public: + enum + { + value = DataType<_Tp>::depth, + fmt = DataType<_Tp>::fmt + }; +}; + + +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + +template class TypeDepth +{ +#ifdef OPENCV_TRAITS_ENABLE_LEGACY_DEFAULTS + enum { depth = CV_USRTYPE1 }; + typedef void value_type; +#endif +}; + +template<> class TypeDepth +{ + enum { depth = CV_8U }; + typedef uchar value_type; +}; + +template<> class TypeDepth +{ + enum { depth = CV_8S }; + typedef schar value_type; +}; + +template<> class TypeDepth +{ + enum { depth = CV_16U }; + typedef ushort value_type; +}; + +template<> class TypeDepth +{ + enum { depth = CV_16S }; + typedef short value_type; +}; + +template<> class TypeDepth +{ + enum { depth = CV_32S }; + typedef int value_type; +}; + +template<> class TypeDepth +{ + enum { depth = CV_32F }; + typedef float value_type; +}; + +template<> class TypeDepth +{ + enum { depth = CV_64F }; + typedef double value_type; +}; + +#endif + +//! @} + +namespace traits { + +namespace internal { +#define CV_CREATE_MEMBER_CHECK(X) \ +template class CheckMember_##X { \ + struct Fallback { int X; }; \ + struct Derived : T, Fallback { }; \ + template struct Check; \ + typedef char CV_NO[1]; \ + typedef char CV_YES[2]; \ + template static CV_NO & func(Check *); \ + template static CV_YES & func(...); \ +public: \ + typedef CheckMember_##X type; \ + enum { value = sizeof(func(0)) == sizeof(CV_YES) }; \ +}; + +CV_CREATE_MEMBER_CHECK(fmt) +CV_CREATE_MEMBER_CHECK(type) + +} // namespace internal + + +template +struct Depth +{ enum { value = DataType::depth }; }; + +template +struct Type +{ enum { value = DataType::type }; }; + +/** Similar to traits::Type but has value = -1 in case of unknown type (instead of compiler error) */ +template >::value > +struct SafeType {}; + +template +struct SafeType +{ enum { value = -1 }; }; + +template +struct SafeType +{ enum { value = Type::value }; }; + + +template >::value > +struct SafeFmt {}; + +template +struct SafeFmt +{ enum { fmt = 0 }; }; + +template +struct SafeFmt +{ enum { fmt = DataType::fmt }; }; + + +} // namespace + +} // cv + +#endif // OPENCV_CORE_TRAITS_HPP diff --git a/app/src/main/cpp/include/opencv2/core/types.hpp b/app/src/main/cpp/include/opencv2/core/types.hpp new file mode 100644 index 0000000..f3a7b51 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/core/types.hpp @@ -0,0 +1,2366 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_TYPES_HPP +#define OPENCV_CORE_TYPES_HPP + +#ifndef __cplusplus +# error types.hpp header must be compiled as C++ +#endif + +#include +#include +#include +#include + +#include "opencv2/core/cvdef.h" +#include "opencv2/core/cvstd.hpp" +#include "opencv2/core/matx.hpp" + +namespace cv +{ + +//! @addtogroup core_basic +//! @{ + +//////////////////////////////// Complex ////////////////////////////// + +/** @brief A complex number class. + + The template class is similar and compatible with std::complex, however it provides slightly + more convenient access to the real and imaginary parts using through the simple field access, as opposite + to std::complex::real() and std::complex::imag(). +*/ +template class Complex +{ +public: + + //! constructors + Complex(); + Complex( _Tp _re, _Tp _im = 0 ); + + //! conversion to another data type + template operator Complex() const; + //! conjugation + Complex conj() const; + + _Tp re, im; //< the real and the imaginary parts +}; + +typedef Complex Complexf; +typedef Complex Complexd; + +template class DataType< Complex<_Tp> > +{ +public: + typedef Complex<_Tp> value_type; + typedef value_type work_type; + typedef _Tp channel_type; + + enum { generic_type = 0, + channels = 2, + fmt = DataType::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template +struct Depth< Complex<_Tp> > { enum { value = Depth<_Tp>::value }; }; +template +struct Type< Complex<_Tp> > { enum { value = CV_MAKETYPE(Depth<_Tp>::value, 2) }; }; +} // namespace + + +//////////////////////////////// Point_ //////////////////////////////// + +/** @brief Template class for 2D points specified by its coordinates `x` and `y`. + +An instance of the class is interchangeable with C structures, CvPoint and CvPoint2D32f . There is +also a cast operator to convert point coordinates to the specified type. The conversion from +floating-point coordinates to integer coordinates is done by rounding. Commonly, the conversion +uses this operation for each of the coordinates. Besides the class members listed in the +declaration above, the following operations on points are implemented: +@code + pt1 = pt2 + pt3; + pt1 = pt2 - pt3; + pt1 = pt2 * a; + pt1 = a * pt2; + pt1 = pt2 / a; + pt1 += pt2; + pt1 -= pt2; + pt1 *= a; + pt1 /= a; + double value = norm(pt); // L2 norm + pt1 == pt2; + pt1 != pt2; +@endcode +For your convenience, the following type aliases are defined: +@code + typedef Point_ Point2i; + typedef Point2i Point; + typedef Point_ Point2f; + typedef Point_ Point2d; +@endcode +Example: +@code + Point2f a(0.3f, 0.f), b(0.f, 0.4f); + Point pt = (a + b)*10.f; + cout << pt.x << ", " << pt.y << endl; +@endcode +*/ +template class Point_ +{ +public: + typedef _Tp value_type; + + // various constructors + Point_(); + Point_(_Tp _x, _Tp _y); + Point_(const Point_& pt); + Point_(const Size_<_Tp>& sz); + Point_(const Vec<_Tp, 2>& v); + + Point_& operator = (const Point_& pt); + //! conversion to another data type + template operator Point_<_Tp2>() const; + + //! conversion to the old-style C structures + operator Vec<_Tp, 2>() const; + + //! dot product + _Tp dot(const Point_& pt) const; + //! dot product computed in double-precision arithmetics + double ddot(const Point_& pt) const; + //! cross-product + double cross(const Point_& pt) const; + //! checks whether the point is inside the specified rectangle + bool inside(const Rect_<_Tp>& r) const; + + _Tp x, y; //< the point coordinates +}; + +typedef Point_ Point2i; +typedef Point_ Point2l; +typedef Point_ Point2f; +typedef Point_ Point2d; +typedef Point2i Point; + +template class DataType< Point_<_Tp> > +{ +public: + typedef Point_<_Tp> value_type; + typedef Point_::work_type> work_type; + typedef _Tp channel_type; + + enum { generic_type = 0, + channels = 2, + fmt = traits::SafeFmt::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template +struct Depth< Point_<_Tp> > { enum { value = Depth<_Tp>::value }; }; +template +struct Type< Point_<_Tp> > { enum { value = CV_MAKETYPE(Depth<_Tp>::value, 2) }; }; +} // namespace + + +//////////////////////////////// Point3_ //////////////////////////////// + +/** @brief Template class for 3D points specified by its coordinates `x`, `y` and `z`. + +An instance of the class is interchangeable with the C structure CvPoint2D32f . Similarly to +Point_ , the coordinates of 3D points can be converted to another type. The vector arithmetic and +comparison operations are also supported. + +The following Point3_\<\> aliases are available: +@code + typedef Point3_ Point3i; + typedef Point3_ Point3f; + typedef Point3_ Point3d; +@endcode +@see cv::Point3i, cv::Point3f and cv::Point3d +*/ +template class Point3_ +{ +public: + typedef _Tp value_type; + + // various constructors + Point3_(); + Point3_(_Tp _x, _Tp _y, _Tp _z); + Point3_(const Point3_& pt); + explicit Point3_(const Point_<_Tp>& pt); + Point3_(const Vec<_Tp, 3>& v); + + Point3_& operator = (const Point3_& pt); + //! conversion to another data type + template operator Point3_<_Tp2>() const; + //! conversion to cv::Vec<> +#if OPENCV_ABI_COMPATIBILITY > 300 + template operator Vec<_Tp2, 3>() const; +#else + operator Vec<_Tp, 3>() const; +#endif + + //! dot product + _Tp dot(const Point3_& pt) const; + //! dot product computed in double-precision arithmetics + double ddot(const Point3_& pt) const; + //! cross product of the 2 3D points + Point3_ cross(const Point3_& pt) const; + + _Tp x, y, z; //< the point coordinates +}; + +typedef Point3_ Point3i; +typedef Point3_ Point3f; +typedef Point3_ Point3d; + +template class DataType< Point3_<_Tp> > +{ +public: + typedef Point3_<_Tp> value_type; + typedef Point3_::work_type> work_type; + typedef _Tp channel_type; + + enum { generic_type = 0, + channels = 3, + fmt = traits::SafeFmt::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template +struct Depth< Point3_<_Tp> > { enum { value = Depth<_Tp>::value }; }; +template +struct Type< Point3_<_Tp> > { enum { value = CV_MAKETYPE(Depth<_Tp>::value, 3) }; }; +} // namespace + +//////////////////////////////// Size_ //////////////////////////////// + +/** @brief Template class for specifying the size of an image or rectangle. + +The class includes two members called width and height. The structure can be converted to and from +the old OpenCV structures CvSize and CvSize2D32f . The same set of arithmetic and comparison +operations as for Point_ is available. + +OpenCV defines the following Size_\<\> aliases: +@code + typedef Size_ Size2i; + typedef Size2i Size; + typedef Size_ Size2f; +@endcode +*/ +template class Size_ +{ +public: + typedef _Tp value_type; + + //! various constructors + Size_(); + Size_(_Tp _width, _Tp _height); + Size_(const Size_& sz); + Size_(const Point_<_Tp>& pt); + + Size_& operator = (const Size_& sz); + //! the area (width*height) + _Tp area() const; + //! true if empty + bool empty() const; + + //! conversion of another data type. + template operator Size_<_Tp2>() const; + + _Tp width, height; // the width and the height +}; + +typedef Size_ Size2i; +typedef Size_ Size2l; +typedef Size_ Size2f; +typedef Size_ Size2d; +typedef Size2i Size; + +template class DataType< Size_<_Tp> > +{ +public: + typedef Size_<_Tp> value_type; + typedef Size_::work_type> work_type; + typedef _Tp channel_type; + + enum { generic_type = 0, + channels = 2, + fmt = DataType::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template +struct Depth< Size_<_Tp> > { enum { value = Depth<_Tp>::value }; }; +template +struct Type< Size_<_Tp> > { enum { value = CV_MAKETYPE(Depth<_Tp>::value, 2) }; }; +} // namespace + +//////////////////////////////// Rect_ //////////////////////////////// + +/** @brief Template class for 2D rectangles + +described by the following parameters: +- Coordinates of the top-left corner. This is a default interpretation of Rect_::x and Rect_::y + in OpenCV. Though, in your algorithms you may count x and y from the bottom-left corner. +- Rectangle width and height. + +OpenCV typically assumes that the top and left boundary of the rectangle are inclusive, while the +right and bottom boundaries are not. For example, the method Rect_::contains returns true if + +\f[x \leq pt.x < x+width, + y \leq pt.y < y+height\f] + +Virtually every loop over an image ROI in OpenCV (where ROI is specified by Rect_\ ) is +implemented as: +@code + for(int y = roi.y; y < roi.y + roi.height; y++) + for(int x = roi.x; x < roi.x + roi.width; x++) + { + // ... + } +@endcode +In addition to the class members, the following operations on rectangles are implemented: +- \f$\texttt{rect} = \texttt{rect} \pm \texttt{point}\f$ (shifting a rectangle by a certain offset) +- \f$\texttt{rect} = \texttt{rect} \pm \texttt{size}\f$ (expanding or shrinking a rectangle by a + certain amount) +- rect += point, rect -= point, rect += size, rect -= size (augmenting operations) +- rect = rect1 & rect2 (rectangle intersection) +- rect = rect1 | rect2 (minimum area rectangle containing rect1 and rect2 ) +- rect &= rect1, rect |= rect1 (and the corresponding augmenting operations) +- rect == rect1, rect != rect1 (rectangle comparison) + +This is an example how the partial ordering on rectangles can be established (rect1 \f$\subseteq\f$ +rect2): +@code + template inline bool + operator <= (const Rect_<_Tp>& r1, const Rect_<_Tp>& r2) + { + return (r1 & r2) == r1; + } +@endcode +For your convenience, the Rect_\<\> alias is available: cv::Rect +*/ +template class Rect_ +{ +public: + typedef _Tp value_type; + + //! various constructors + Rect_(); + Rect_(_Tp _x, _Tp _y, _Tp _width, _Tp _height); + Rect_(const Rect_& r); + Rect_(const Point_<_Tp>& org, const Size_<_Tp>& sz); + Rect_(const Point_<_Tp>& pt1, const Point_<_Tp>& pt2); + + Rect_& operator = ( const Rect_& r ); + //! the top-left corner + Point_<_Tp> tl() const; + //! the bottom-right corner + Point_<_Tp> br() const; + + //! size (width, height) of the rectangle + Size_<_Tp> size() const; + //! area (width*height) of the rectangle + _Tp area() const; + //! true if empty + bool empty() const; + + //! conversion to another data type + template operator Rect_<_Tp2>() const; + + //! checks whether the rectangle contains the point + bool contains(const Point_<_Tp>& pt) const; + + _Tp x, y, width, height; //< the top-left corner, as well as width and height of the rectangle +}; + +typedef Rect_ Rect2i; +typedef Rect_ Rect2f; +typedef Rect_ Rect2d; +typedef Rect2i Rect; + +template class DataType< Rect_<_Tp> > +{ +public: + typedef Rect_<_Tp> value_type; + typedef Rect_::work_type> work_type; + typedef _Tp channel_type; + + enum { generic_type = 0, + channels = 4, + fmt = traits::SafeFmt::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template +struct Depth< Rect_<_Tp> > { enum { value = Depth<_Tp>::value }; }; +template +struct Type< Rect_<_Tp> > { enum { value = CV_MAKETYPE(Depth<_Tp>::value, 4) }; }; +} // namespace + +///////////////////////////// RotatedRect ///////////////////////////// + +/** @brief The class represents rotated (i.e. not up-right) rectangles on a plane. + +Each rectangle is specified by the center point (mass center), length of each side (represented by +cv::Size2f structure) and the rotation angle in degrees. + +The sample below demonstrates how to use RotatedRect: +@code + Mat image(200, 200, CV_8UC3, Scalar(0)); + RotatedRect rRect = RotatedRect(Point2f(100,100), Size2f(100,50), 30); + + Point2f vertices[4]; + rRect.points(vertices); + for (int i = 0; i < 4; i++) + line(image, vertices[i], vertices[(i+1)%4], Scalar(0,255,0)); + + Rect brect = rRect.boundingRect(); + rectangle(image, brect, Scalar(255,0,0)); + + imshow("rectangles", image); + waitKey(0); +@endcode +![image](pics/rotatedrect.png) + +@sa CamShift, fitEllipse, minAreaRect, CvBox2D +*/ +class CV_EXPORTS RotatedRect +{ +public: + //! various constructors + RotatedRect(); + /** + @param center The rectangle mass center. + @param size Width and height of the rectangle. + @param angle The rotation angle in a clockwise direction. When the angle is 0, 90, 180, 270 etc., + the rectangle becomes an up-right rectangle. + */ + RotatedRect(const Point2f& center, const Size2f& size, float angle); + /** + Any 3 end points of the RotatedRect. They must be given in order (either clockwise or + anticlockwise). + */ + RotatedRect(const Point2f& point1, const Point2f& point2, const Point2f& point3); + + /** returns 4 vertices of the rectangle + @param pts The points array for storing rectangle vertices. The order is bottomLeft, topLeft, topRight, bottomRight. + */ + void points(Point2f pts[]) const; + //! returns the minimal up-right integer rectangle containing the rotated rectangle + Rect boundingRect() const; + //! returns the minimal (exact) floating point rectangle containing the rotated rectangle, not intended for use with images + Rect_ boundingRect2f() const; + + Point2f center; //< the rectangle mass center + Size2f size; //< width and height of the rectangle + float angle; //< the rotation angle. When the angle is 0, 90, 180, 270 etc., the rectangle becomes an up-right rectangle. +}; + +template<> class DataType< RotatedRect > +{ +public: + typedef RotatedRect value_type; + typedef value_type work_type; + typedef float channel_type; + + enum { generic_type = 0, + channels = (int)sizeof(value_type)/sizeof(channel_type), // 5 + fmt = traits::SafeFmt::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template<> +struct Depth< RotatedRect > { enum { value = Depth::value }; }; +template<> +struct Type< RotatedRect > { enum { value = CV_MAKETYPE(Depth::value, (int)sizeof(RotatedRect)/sizeof(float)) }; }; +} // namespace + + +//////////////////////////////// Range ///////////////////////////////// + +/** @brief Template class specifying a continuous subsequence (slice) of a sequence. + +The class is used to specify a row or a column span in a matrix ( Mat ) and for many other purposes. +Range(a,b) is basically the same as a:b in Matlab or a..b in Python. As in Python, start is an +inclusive left boundary of the range and end is an exclusive right boundary of the range. Such a +half-opened interval is usually denoted as \f$[start,end)\f$ . + +The static method Range::all() returns a special variable that means "the whole sequence" or "the +whole range", just like " : " in Matlab or " ... " in Python. All the methods and functions in +OpenCV that take Range support this special Range::all() value. But, of course, in case of your own +custom processing, you will probably have to check and handle it explicitly: +@code + void my_function(..., const Range& r, ....) + { + if(r == Range::all()) { + // process all the data + } + else { + // process [r.start, r.end) + } + } +@endcode +*/ +class CV_EXPORTS Range +{ +public: + Range(); + Range(int _start, int _end); + int size() const; + bool empty() const; + static Range all(); + + int start, end; +}; + +template<> class DataType +{ +public: + typedef Range value_type; + typedef value_type work_type; + typedef int channel_type; + + enum { generic_type = 0, + channels = 2, + fmt = traits::SafeFmt::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template<> +struct Depth< Range > { enum { value = Depth::value }; }; +template<> +struct Type< Range > { enum { value = CV_MAKETYPE(Depth::value, 2) }; }; +} // namespace + + +//////////////////////////////// Scalar_ /////////////////////////////// + +/** @brief Template class for a 4-element vector derived from Vec. + +Being derived from Vec\<_Tp, 4\> , Scalar\_ and Scalar can be used just as typical 4-element +vectors. In addition, they can be converted to/from CvScalar . The type Scalar is widely used in +OpenCV to pass pixel values. +*/ +template class Scalar_ : public Vec<_Tp, 4> +{ +public: + //! various constructors + Scalar_(); + Scalar_(_Tp v0, _Tp v1, _Tp v2=0, _Tp v3=0); + Scalar_(_Tp v0); + + template + Scalar_(const Vec<_Tp2, cn>& v); + + //! returns a scalar with all elements set to v0 + static Scalar_<_Tp> all(_Tp v0); + + //! conversion to another data type + template operator Scalar_() const; + + //! per-element product + Scalar_<_Tp> mul(const Scalar_<_Tp>& a, double scale=1 ) const; + + // returns (v0, -v1, -v2, -v3) + Scalar_<_Tp> conj() const; + + // returns true iff v1 == v2 == v3 == 0 + bool isReal() const; +}; + +typedef Scalar_ Scalar; + +template class DataType< Scalar_<_Tp> > +{ +public: + typedef Scalar_<_Tp> value_type; + typedef Scalar_::work_type> work_type; + typedef _Tp channel_type; + + enum { generic_type = 0, + channels = 4, + fmt = traits::SafeFmt::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template +struct Depth< Scalar_<_Tp> > { enum { value = Depth<_Tp>::value }; }; +template +struct Type< Scalar_<_Tp> > { enum { value = CV_MAKETYPE(Depth<_Tp>::value, 4) }; }; +} // namespace + + +/////////////////////////////// KeyPoint //////////////////////////////// + +/** @brief Data structure for salient point detectors. + +The class instance stores a keypoint, i.e. a point feature found by one of many available keypoint +detectors, such as Harris corner detector, cv::FAST, cv::StarDetector, cv::SURF, cv::SIFT, +cv::LDetector etc. + +The keypoint is characterized by the 2D position, scale (proportional to the diameter of the +neighborhood that needs to be taken into account), orientation and some other parameters. The +keypoint neighborhood is then analyzed by another algorithm that builds a descriptor (usually +represented as a feature vector). The keypoints representing the same object in different images +can then be matched using cv::KDTree or another method. +*/ +class CV_EXPORTS_W_SIMPLE KeyPoint +{ +public: + //! the default constructor + CV_WRAP KeyPoint(); + /** + @param _pt x & y coordinates of the keypoint + @param _size keypoint diameter + @param _angle keypoint orientation + @param _response keypoint detector response on the keypoint (that is, strength of the keypoint) + @param _octave pyramid octave in which the keypoint has been detected + @param _class_id object id + */ + KeyPoint(Point2f _pt, float _size, float _angle=-1, float _response=0, int _octave=0, int _class_id=-1); + /** + @param x x-coordinate of the keypoint + @param y y-coordinate of the keypoint + @param _size keypoint diameter + @param _angle keypoint orientation + @param _response keypoint detector response on the keypoint (that is, strength of the keypoint) + @param _octave pyramid octave in which the keypoint has been detected + @param _class_id object id + */ + CV_WRAP KeyPoint(float x, float y, float _size, float _angle=-1, float _response=0, int _octave=0, int _class_id=-1); + + size_t hash() const; + + /** + This method converts vector of keypoints to vector of points or the reverse, where each keypoint is + assigned the same size and the same orientation. + + @param keypoints Keypoints obtained from any feature detection algorithm like SIFT/SURF/ORB + @param points2f Array of (x,y) coordinates of each keypoint + @param keypointIndexes Array of indexes of keypoints to be converted to points. (Acts like a mask to + convert only specified keypoints) + */ + CV_WRAP static void convert(const std::vector& keypoints, + CV_OUT std::vector& points2f, + const std::vector& keypointIndexes=std::vector()); + /** @overload + @param points2f Array of (x,y) coordinates of each keypoint + @param keypoints Keypoints obtained from any feature detection algorithm like SIFT/SURF/ORB + @param size keypoint diameter + @param response keypoint detector response on the keypoint (that is, strength of the keypoint) + @param octave pyramid octave in which the keypoint has been detected + @param class_id object id + */ + CV_WRAP static void convert(const std::vector& points2f, + CV_OUT std::vector& keypoints, + float size=1, float response=1, int octave=0, int class_id=-1); + + /** + This method computes overlap for pair of keypoints. Overlap is the ratio between area of keypoint + regions' intersection and area of keypoint regions' union (considering keypoint region as circle). + If they don't overlap, we get zero. If they coincide at same location with same size, we get 1. + @param kp1 First keypoint + @param kp2 Second keypoint + */ + CV_WRAP static float overlap(const KeyPoint& kp1, const KeyPoint& kp2); + + CV_PROP_RW Point2f pt; //!< coordinates of the keypoints + CV_PROP_RW float size; //!< diameter of the meaningful keypoint neighborhood + CV_PROP_RW float angle; //!< computed orientation of the keypoint (-1 if not applicable); + //!< it's in [0,360) degrees and measured relative to + //!< image coordinate system, ie in clockwise. + CV_PROP_RW float response; //!< the response by which the most strong keypoints have been selected. Can be used for the further sorting or subsampling + CV_PROP_RW int octave; //!< octave (pyramid layer) from which the keypoint has been extracted + CV_PROP_RW int class_id; //!< object class (if the keypoints need to be clustered by an object they belong to) +}; + +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED +template<> class DataType +{ +public: + typedef KeyPoint value_type; + typedef float work_type; + typedef float channel_type; + + enum { generic_type = 0, + depth = DataType::depth, + channels = (int)(sizeof(value_type)/sizeof(channel_type)), // 7 + fmt = DataType::fmt + ((channels - 1) << 8), + type = CV_MAKETYPE(depth, channels) + }; + + typedef Vec vec_type; +}; +#endif + + +//////////////////////////////// DMatch ///////////////////////////////// + +/** @brief Class for matching keypoint descriptors + +query descriptor index, train descriptor index, train image index, and distance between +descriptors. +*/ +class CV_EXPORTS_W_SIMPLE DMatch +{ +public: + CV_WRAP DMatch(); + CV_WRAP DMatch(int _queryIdx, int _trainIdx, float _distance); + CV_WRAP DMatch(int _queryIdx, int _trainIdx, int _imgIdx, float _distance); + + CV_PROP_RW int queryIdx; // query descriptor index + CV_PROP_RW int trainIdx; // train descriptor index + CV_PROP_RW int imgIdx; // train image index + + CV_PROP_RW float distance; + + // less is better + bool operator<(const DMatch &m) const; +}; + +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED +template<> class DataType +{ +public: + typedef DMatch value_type; + typedef int work_type; + typedef int channel_type; + + enum { generic_type = 0, + depth = DataType::depth, + channels = (int)(sizeof(value_type)/sizeof(channel_type)), // 4 + fmt = DataType::fmt + ((channels - 1) << 8), + type = CV_MAKETYPE(depth, channels) + }; + + typedef Vec vec_type; +}; +#endif + + +///////////////////////////// TermCriteria ////////////////////////////// + +/** @brief The class defining termination criteria for iterative algorithms. + +You can initialize it by default constructor and then override any parameters, or the structure may +be fully initialized using the advanced variant of the constructor. +*/ +class CV_EXPORTS TermCriteria +{ +public: + /** + Criteria type, can be one of: COUNT, EPS or COUNT + EPS + */ + enum Type + { + COUNT=1, //!< the maximum number of iterations or elements to compute + MAX_ITER=COUNT, //!< ditto + EPS=2 //!< the desired accuracy or change in parameters at which the iterative algorithm stops + }; + + //! default constructor + TermCriteria(); + /** + @param type The type of termination criteria, one of TermCriteria::Type + @param maxCount The maximum number of iterations or elements to compute. + @param epsilon The desired accuracy or change in parameters at which the iterative algorithm stops. + */ + TermCriteria(int type, int maxCount, double epsilon); + + int type; //!< the type of termination criteria: COUNT, EPS or COUNT + EPS + int maxCount; // the maximum number of iterations/elements + double epsilon; // the desired accuracy +}; + + +//! @} core_basic + +///////////////////////// raster image moments ////////////////////////// + +//! @addtogroup imgproc_shape +//! @{ + +/** @brief struct returned by cv::moments + +The spatial moments \f$\texttt{Moments::m}_{ji}\f$ are computed as: + +\f[\texttt{m} _{ji}= \sum _{x,y} \left ( \texttt{array} (x,y) \cdot x^j \cdot y^i \right )\f] + +The central moments \f$\texttt{Moments::mu}_{ji}\f$ are computed as: + +\f[\texttt{mu} _{ji}= \sum _{x,y} \left ( \texttt{array} (x,y) \cdot (x - \bar{x} )^j \cdot (y - \bar{y} )^i \right )\f] + +where \f$(\bar{x}, \bar{y})\f$ is the mass center: + +\f[\bar{x} = \frac{\texttt{m}_{10}}{\texttt{m}_{00}} , \; \bar{y} = \frac{\texttt{m}_{01}}{\texttt{m}_{00}}\f] + +The normalized central moments \f$\texttt{Moments::nu}_{ij}\f$ are computed as: + +\f[\texttt{nu} _{ji}= \frac{\texttt{mu}_{ji}}{\texttt{m}_{00}^{(i+j)/2+1}} .\f] + +@note +\f$\texttt{mu}_{00}=\texttt{m}_{00}\f$, \f$\texttt{nu}_{00}=1\f$ +\f$\texttt{nu}_{10}=\texttt{mu}_{10}=\texttt{mu}_{01}=\texttt{mu}_{10}=0\f$ , hence the values are not +stored. + +The moments of a contour are defined in the same way but computed using the Green's formula (see +). So, due to a limited raster resolution, the moments +computed for a contour are slightly different from the moments computed for the same rasterized +contour. + +@note +Since the contour moments are computed using Green formula, you may get seemingly odd results for +contours with self-intersections, e.g. a zero area (m00) for butterfly-shaped contours. + */ +class CV_EXPORTS_W_MAP Moments +{ +public: + //! the default constructor + Moments(); + //! the full constructor + Moments(double m00, double m10, double m01, double m20, double m11, + double m02, double m30, double m21, double m12, double m03 ); + ////! the conversion from CvMoments + //Moments( const CvMoments& moments ); + ////! the conversion to CvMoments + //operator CvMoments() const; + + //! @name spatial moments + //! @{ + CV_PROP_RW double m00, m10, m01, m20, m11, m02, m30, m21, m12, m03; + //! @} + + //! @name central moments + //! @{ + CV_PROP_RW double mu20, mu11, mu02, mu30, mu21, mu12, mu03; + //! @} + + //! @name central normalized moments + //! @{ + CV_PROP_RW double nu20, nu11, nu02, nu30, nu21, nu12, nu03; + //! @} +}; + +template<> class DataType +{ +public: + typedef Moments value_type; + typedef double work_type; + typedef double channel_type; + + enum { generic_type = 0, + channels = (int)(sizeof(value_type)/sizeof(channel_type)), // 24 + fmt = DataType::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template<> +struct Depth< Moments > { enum { value = Depth::value }; }; +template<> +struct Type< Moments > { enum { value = CV_MAKETYPE(Depth::value, (int)(sizeof(Moments)/sizeof(double))) }; }; +} // namespace + +//! @} imgproc_shape + +//! @cond IGNORED + +///////////////////////////////////////////////////////////////////////// +///////////////////////////// Implementation //////////////////////////// +///////////////////////////////////////////////////////////////////////// + +//////////////////////////////// Complex //////////////////////////////// + +template inline +Complex<_Tp>::Complex() + : re(0), im(0) {} + +template inline +Complex<_Tp>::Complex( _Tp _re, _Tp _im ) + : re(_re), im(_im) {} + +template template inline +Complex<_Tp>::operator Complex() const +{ + return Complex(saturate_cast(re), saturate_cast(im)); +} + +template inline +Complex<_Tp> Complex<_Tp>::conj() const +{ + return Complex<_Tp>(re, -im); +} + + +template static inline +bool operator == (const Complex<_Tp>& a, const Complex<_Tp>& b) +{ + return a.re == b.re && a.im == b.im; +} + +template static inline +bool operator != (const Complex<_Tp>& a, const Complex<_Tp>& b) +{ + return a.re != b.re || a.im != b.im; +} + +template static inline +Complex<_Tp> operator + (const Complex<_Tp>& a, const Complex<_Tp>& b) +{ + return Complex<_Tp>( a.re + b.re, a.im + b.im ); +} + +template static inline +Complex<_Tp>& operator += (Complex<_Tp>& a, const Complex<_Tp>& b) +{ + a.re += b.re; a.im += b.im; + return a; +} + +template static inline +Complex<_Tp> operator - (const Complex<_Tp>& a, const Complex<_Tp>& b) +{ + return Complex<_Tp>( a.re - b.re, a.im - b.im ); +} + +template static inline +Complex<_Tp>& operator -= (Complex<_Tp>& a, const Complex<_Tp>& b) +{ + a.re -= b.re; a.im -= b.im; + return a; +} + +template static inline +Complex<_Tp> operator - (const Complex<_Tp>& a) +{ + return Complex<_Tp>(-a.re, -a.im); +} + +template static inline +Complex<_Tp> operator * (const Complex<_Tp>& a, const Complex<_Tp>& b) +{ + return Complex<_Tp>( a.re*b.re - a.im*b.im, a.re*b.im + a.im*b.re ); +} + +template static inline +Complex<_Tp> operator * (const Complex<_Tp>& a, _Tp b) +{ + return Complex<_Tp>( a.re*b, a.im*b ); +} + +template static inline +Complex<_Tp> operator * (_Tp b, const Complex<_Tp>& a) +{ + return Complex<_Tp>( a.re*b, a.im*b ); +} + +template static inline +Complex<_Tp> operator + (const Complex<_Tp>& a, _Tp b) +{ + return Complex<_Tp>( a.re + b, a.im ); +} + +template static inline +Complex<_Tp> operator - (const Complex<_Tp>& a, _Tp b) +{ return Complex<_Tp>( a.re - b, a.im ); } + +template static inline +Complex<_Tp> operator + (_Tp b, const Complex<_Tp>& a) +{ + return Complex<_Tp>( a.re + b, a.im ); +} + +template static inline +Complex<_Tp> operator - (_Tp b, const Complex<_Tp>& a) +{ + return Complex<_Tp>( b - a.re, -a.im ); +} + +template static inline +Complex<_Tp>& operator += (Complex<_Tp>& a, _Tp b) +{ + a.re += b; return a; +} + +template static inline +Complex<_Tp>& operator -= (Complex<_Tp>& a, _Tp b) +{ + a.re -= b; return a; +} + +template static inline +Complex<_Tp>& operator *= (Complex<_Tp>& a, _Tp b) +{ + a.re *= b; a.im *= b; return a; +} + +template static inline +double abs(const Complex<_Tp>& a) +{ + return std::sqrt( (double)a.re*a.re + (double)a.im*a.im); +} + +template static inline +Complex<_Tp> operator / (const Complex<_Tp>& a, const Complex<_Tp>& b) +{ + double t = 1./((double)b.re*b.re + (double)b.im*b.im); + return Complex<_Tp>( (_Tp)((a.re*b.re + a.im*b.im)*t), + (_Tp)((-a.re*b.im + a.im*b.re)*t) ); +} + +template static inline +Complex<_Tp>& operator /= (Complex<_Tp>& a, const Complex<_Tp>& b) +{ + a = a / b; + return a; +} + +template static inline +Complex<_Tp> operator / (const Complex<_Tp>& a, _Tp b) +{ + _Tp t = (_Tp)1/b; + return Complex<_Tp>( a.re*t, a.im*t ); +} + +template static inline +Complex<_Tp> operator / (_Tp b, const Complex<_Tp>& a) +{ + return Complex<_Tp>(b)/a; +} + +template static inline +Complex<_Tp> operator /= (const Complex<_Tp>& a, _Tp b) +{ + _Tp t = (_Tp)1/b; + a.re *= t; a.im *= t; return a; +} + + + +//////////////////////////////// 2D Point /////////////////////////////// + +template inline +Point_<_Tp>::Point_() + : x(0), y(0) {} + +template inline +Point_<_Tp>::Point_(_Tp _x, _Tp _y) + : x(_x), y(_y) {} + +template inline +Point_<_Tp>::Point_(const Point_& pt) + : x(pt.x), y(pt.y) {} + +template inline +Point_<_Tp>::Point_(const Size_<_Tp>& sz) + : x(sz.width), y(sz.height) {} + +template inline +Point_<_Tp>::Point_(const Vec<_Tp,2>& v) + : x(v[0]), y(v[1]) {} + +template inline +Point_<_Tp>& Point_<_Tp>::operator = (const Point_& pt) +{ + x = pt.x; y = pt.y; + return *this; +} + +template template inline +Point_<_Tp>::operator Point_<_Tp2>() const +{ + return Point_<_Tp2>(saturate_cast<_Tp2>(x), saturate_cast<_Tp2>(y)); +} + +template inline +Point_<_Tp>::operator Vec<_Tp, 2>() const +{ + return Vec<_Tp, 2>(x, y); +} + +template inline +_Tp Point_<_Tp>::dot(const Point_& pt) const +{ + return saturate_cast<_Tp>(x*pt.x + y*pt.y); +} + +template inline +double Point_<_Tp>::ddot(const Point_& pt) const +{ + return (double)x*pt.x + (double)y*pt.y; +} + +template inline +double Point_<_Tp>::cross(const Point_& pt) const +{ + return (double)x*pt.y - (double)y*pt.x; +} + +template inline bool +Point_<_Tp>::inside( const Rect_<_Tp>& r ) const +{ + return r.contains(*this); +} + + +template static inline +Point_<_Tp>& operator += (Point_<_Tp>& a, const Point_<_Tp>& b) +{ + a.x += b.x; + a.y += b.y; + return a; +} + +template static inline +Point_<_Tp>& operator -= (Point_<_Tp>& a, const Point_<_Tp>& b) +{ + a.x -= b.x; + a.y -= b.y; + return a; +} + +template static inline +Point_<_Tp>& operator *= (Point_<_Tp>& a, int b) +{ + a.x = saturate_cast<_Tp>(a.x * b); + a.y = saturate_cast<_Tp>(a.y * b); + return a; +} + +template static inline +Point_<_Tp>& operator *= (Point_<_Tp>& a, float b) +{ + a.x = saturate_cast<_Tp>(a.x * b); + a.y = saturate_cast<_Tp>(a.y * b); + return a; +} + +template static inline +Point_<_Tp>& operator *= (Point_<_Tp>& a, double b) +{ + a.x = saturate_cast<_Tp>(a.x * b); + a.y = saturate_cast<_Tp>(a.y * b); + return a; +} + +template static inline +Point_<_Tp>& operator /= (Point_<_Tp>& a, int b) +{ + a.x = saturate_cast<_Tp>(a.x / b); + a.y = saturate_cast<_Tp>(a.y / b); + return a; +} + +template static inline +Point_<_Tp>& operator /= (Point_<_Tp>& a, float b) +{ + a.x = saturate_cast<_Tp>(a.x / b); + a.y = saturate_cast<_Tp>(a.y / b); + return a; +} + +template static inline +Point_<_Tp>& operator /= (Point_<_Tp>& a, double b) +{ + a.x = saturate_cast<_Tp>(a.x / b); + a.y = saturate_cast<_Tp>(a.y / b); + return a; +} + +template static inline +double norm(const Point_<_Tp>& pt) +{ + return std::sqrt((double)pt.x*pt.x + (double)pt.y*pt.y); +} + +template static inline +bool operator == (const Point_<_Tp>& a, const Point_<_Tp>& b) +{ + return a.x == b.x && a.y == b.y; +} + +template static inline +bool operator != (const Point_<_Tp>& a, const Point_<_Tp>& b) +{ + return a.x != b.x || a.y != b.y; +} + +template static inline +Point_<_Tp> operator + (const Point_<_Tp>& a, const Point_<_Tp>& b) +{ + return Point_<_Tp>( saturate_cast<_Tp>(a.x + b.x), saturate_cast<_Tp>(a.y + b.y) ); +} + +template static inline +Point_<_Tp> operator - (const Point_<_Tp>& a, const Point_<_Tp>& b) +{ + return Point_<_Tp>( saturate_cast<_Tp>(a.x - b.x), saturate_cast<_Tp>(a.y - b.y) ); +} + +template static inline +Point_<_Tp> operator - (const Point_<_Tp>& a) +{ + return Point_<_Tp>( saturate_cast<_Tp>(-a.x), saturate_cast<_Tp>(-a.y) ); +} + +template static inline +Point_<_Tp> operator * (const Point_<_Tp>& a, int b) +{ + return Point_<_Tp>( saturate_cast<_Tp>(a.x*b), saturate_cast<_Tp>(a.y*b) ); +} + +template static inline +Point_<_Tp> operator * (int a, const Point_<_Tp>& b) +{ + return Point_<_Tp>( saturate_cast<_Tp>(b.x*a), saturate_cast<_Tp>(b.y*a) ); +} + +template static inline +Point_<_Tp> operator * (const Point_<_Tp>& a, float b) +{ + return Point_<_Tp>( saturate_cast<_Tp>(a.x*b), saturate_cast<_Tp>(a.y*b) ); +} + +template static inline +Point_<_Tp> operator * (float a, const Point_<_Tp>& b) +{ + return Point_<_Tp>( saturate_cast<_Tp>(b.x*a), saturate_cast<_Tp>(b.y*a) ); +} + +template static inline +Point_<_Tp> operator * (const Point_<_Tp>& a, double b) +{ + return Point_<_Tp>( saturate_cast<_Tp>(a.x*b), saturate_cast<_Tp>(a.y*b) ); +} + +template static inline +Point_<_Tp> operator * (double a, const Point_<_Tp>& b) +{ + return Point_<_Tp>( saturate_cast<_Tp>(b.x*a), saturate_cast<_Tp>(b.y*a) ); +} + +template static inline +Point_<_Tp> operator * (const Matx<_Tp, 2, 2>& a, const Point_<_Tp>& b) +{ + Matx<_Tp, 2, 1> tmp = a * Vec<_Tp,2>(b.x, b.y); + return Point_<_Tp>(tmp.val[0], tmp.val[1]); +} + +template static inline +Point3_<_Tp> operator * (const Matx<_Tp, 3, 3>& a, const Point_<_Tp>& b) +{ + Matx<_Tp, 3, 1> tmp = a * Vec<_Tp,3>(b.x, b.y, 1); + return Point3_<_Tp>(tmp.val[0], tmp.val[1], tmp.val[2]); +} + +template static inline +Point_<_Tp> operator / (const Point_<_Tp>& a, int b) +{ + Point_<_Tp> tmp(a); + tmp /= b; + return tmp; +} + +template static inline +Point_<_Tp> operator / (const Point_<_Tp>& a, float b) +{ + Point_<_Tp> tmp(a); + tmp /= b; + return tmp; +} + +template static inline +Point_<_Tp> operator / (const Point_<_Tp>& a, double b) +{ + Point_<_Tp> tmp(a); + tmp /= b; + return tmp; +} + + + +//////////////////////////////// 3D Point /////////////////////////////// + +template inline +Point3_<_Tp>::Point3_() + : x(0), y(0), z(0) {} + +template inline +Point3_<_Tp>::Point3_(_Tp _x, _Tp _y, _Tp _z) + : x(_x), y(_y), z(_z) {} + +template inline +Point3_<_Tp>::Point3_(const Point3_& pt) + : x(pt.x), y(pt.y), z(pt.z) {} + +template inline +Point3_<_Tp>::Point3_(const Point_<_Tp>& pt) + : x(pt.x), y(pt.y), z(_Tp()) {} + +template inline +Point3_<_Tp>::Point3_(const Vec<_Tp, 3>& v) + : x(v[0]), y(v[1]), z(v[2]) {} + +template template inline +Point3_<_Tp>::operator Point3_<_Tp2>() const +{ + return Point3_<_Tp2>(saturate_cast<_Tp2>(x), saturate_cast<_Tp2>(y), saturate_cast<_Tp2>(z)); +} + +#if OPENCV_ABI_COMPATIBILITY > 300 +template template inline +Point3_<_Tp>::operator Vec<_Tp2, 3>() const +{ + return Vec<_Tp2, 3>(x, y, z); +} +#else +template inline +Point3_<_Tp>::operator Vec<_Tp, 3>() const +{ + return Vec<_Tp, 3>(x, y, z); +} +#endif + +template inline +Point3_<_Tp>& Point3_<_Tp>::operator = (const Point3_& pt) +{ + x = pt.x; y = pt.y; z = pt.z; + return *this; +} + +template inline +_Tp Point3_<_Tp>::dot(const Point3_& pt) const +{ + return saturate_cast<_Tp>(x*pt.x + y*pt.y + z*pt.z); +} + +template inline +double Point3_<_Tp>::ddot(const Point3_& pt) const +{ + return (double)x*pt.x + (double)y*pt.y + (double)z*pt.z; +} + +template inline +Point3_<_Tp> Point3_<_Tp>::cross(const Point3_<_Tp>& pt) const +{ + return Point3_<_Tp>(y*pt.z - z*pt.y, z*pt.x - x*pt.z, x*pt.y - y*pt.x); +} + + +template static inline +Point3_<_Tp>& operator += (Point3_<_Tp>& a, const Point3_<_Tp>& b) +{ + a.x += b.x; + a.y += b.y; + a.z += b.z; + return a; +} + +template static inline +Point3_<_Tp>& operator -= (Point3_<_Tp>& a, const Point3_<_Tp>& b) +{ + a.x -= b.x; + a.y -= b.y; + a.z -= b.z; + return a; +} + +template static inline +Point3_<_Tp>& operator *= (Point3_<_Tp>& a, int b) +{ + a.x = saturate_cast<_Tp>(a.x * b); + a.y = saturate_cast<_Tp>(a.y * b); + a.z = saturate_cast<_Tp>(a.z * b); + return a; +} + +template static inline +Point3_<_Tp>& operator *= (Point3_<_Tp>& a, float b) +{ + a.x = saturate_cast<_Tp>(a.x * b); + a.y = saturate_cast<_Tp>(a.y * b); + a.z = saturate_cast<_Tp>(a.z * b); + return a; +} + +template static inline +Point3_<_Tp>& operator *= (Point3_<_Tp>& a, double b) +{ + a.x = saturate_cast<_Tp>(a.x * b); + a.y = saturate_cast<_Tp>(a.y * b); + a.z = saturate_cast<_Tp>(a.z * b); + return a; +} + +template static inline +Point3_<_Tp>& operator /= (Point3_<_Tp>& a, int b) +{ + a.x = saturate_cast<_Tp>(a.x / b); + a.y = saturate_cast<_Tp>(a.y / b); + a.z = saturate_cast<_Tp>(a.z / b); + return a; +} + +template static inline +Point3_<_Tp>& operator /= (Point3_<_Tp>& a, float b) +{ + a.x = saturate_cast<_Tp>(a.x / b); + a.y = saturate_cast<_Tp>(a.y / b); + a.z = saturate_cast<_Tp>(a.z / b); + return a; +} + +template static inline +Point3_<_Tp>& operator /= (Point3_<_Tp>& a, double b) +{ + a.x = saturate_cast<_Tp>(a.x / b); + a.y = saturate_cast<_Tp>(a.y / b); + a.z = saturate_cast<_Tp>(a.z / b); + return a; +} + +template static inline +double norm(const Point3_<_Tp>& pt) +{ + return std::sqrt((double)pt.x*pt.x + (double)pt.y*pt.y + (double)pt.z*pt.z); +} + +template static inline +bool operator == (const Point3_<_Tp>& a, const Point3_<_Tp>& b) +{ + return a.x == b.x && a.y == b.y && a.z == b.z; +} + +template static inline +bool operator != (const Point3_<_Tp>& a, const Point3_<_Tp>& b) +{ + return a.x != b.x || a.y != b.y || a.z != b.z; +} + +template static inline +Point3_<_Tp> operator + (const Point3_<_Tp>& a, const Point3_<_Tp>& b) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(a.x + b.x), saturate_cast<_Tp>(a.y + b.y), saturate_cast<_Tp>(a.z + b.z)); +} + +template static inline +Point3_<_Tp> operator - (const Point3_<_Tp>& a, const Point3_<_Tp>& b) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(a.x - b.x), saturate_cast<_Tp>(a.y - b.y), saturate_cast<_Tp>(a.z - b.z)); +} + +template static inline +Point3_<_Tp> operator - (const Point3_<_Tp>& a) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(-a.x), saturate_cast<_Tp>(-a.y), saturate_cast<_Tp>(-a.z) ); +} + +template static inline +Point3_<_Tp> operator * (const Point3_<_Tp>& a, int b) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(a.x*b), saturate_cast<_Tp>(a.y*b), saturate_cast<_Tp>(a.z*b) ); +} + +template static inline +Point3_<_Tp> operator * (int a, const Point3_<_Tp>& b) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(b.x * a), saturate_cast<_Tp>(b.y * a), saturate_cast<_Tp>(b.z * a) ); +} + +template static inline +Point3_<_Tp> operator * (const Point3_<_Tp>& a, float b) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(a.x * b), saturate_cast<_Tp>(a.y * b), saturate_cast<_Tp>(a.z * b) ); +} + +template static inline +Point3_<_Tp> operator * (float a, const Point3_<_Tp>& b) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(b.x * a), saturate_cast<_Tp>(b.y * a), saturate_cast<_Tp>(b.z * a) ); +} + +template static inline +Point3_<_Tp> operator * (const Point3_<_Tp>& a, double b) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(a.x * b), saturate_cast<_Tp>(a.y * b), saturate_cast<_Tp>(a.z * b) ); +} + +template static inline +Point3_<_Tp> operator * (double a, const Point3_<_Tp>& b) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(b.x * a), saturate_cast<_Tp>(b.y * a), saturate_cast<_Tp>(b.z * a) ); +} + +template static inline +Point3_<_Tp> operator * (const Matx<_Tp, 3, 3>& a, const Point3_<_Tp>& b) +{ + Matx<_Tp, 3, 1> tmp = a * Vec<_Tp,3>(b.x, b.y, b.z); + return Point3_<_Tp>(tmp.val[0], tmp.val[1], tmp.val[2]); +} + +template static inline +Matx<_Tp, 4, 1> operator * (const Matx<_Tp, 4, 4>& a, const Point3_<_Tp>& b) +{ + return a * Matx<_Tp, 4, 1>(b.x, b.y, b.z, 1); +} + +template static inline +Point3_<_Tp> operator / (const Point3_<_Tp>& a, int b) +{ + Point3_<_Tp> tmp(a); + tmp /= b; + return tmp; +} + +template static inline +Point3_<_Tp> operator / (const Point3_<_Tp>& a, float b) +{ + Point3_<_Tp> tmp(a); + tmp /= b; + return tmp; +} + +template static inline +Point3_<_Tp> operator / (const Point3_<_Tp>& a, double b) +{ + Point3_<_Tp> tmp(a); + tmp /= b; + return tmp; +} + + + +////////////////////////////////// Size ///////////////////////////////// + +template inline +Size_<_Tp>::Size_() + : width(0), height(0) {} + +template inline +Size_<_Tp>::Size_(_Tp _width, _Tp _height) + : width(_width), height(_height) {} + +template inline +Size_<_Tp>::Size_(const Size_& sz) + : width(sz.width), height(sz.height) {} + +template inline +Size_<_Tp>::Size_(const Point_<_Tp>& pt) + : width(pt.x), height(pt.y) {} + +template template inline +Size_<_Tp>::operator Size_<_Tp2>() const +{ + return Size_<_Tp2>(saturate_cast<_Tp2>(width), saturate_cast<_Tp2>(height)); +} + +template inline +Size_<_Tp>& Size_<_Tp>::operator = (const Size_<_Tp>& sz) +{ + width = sz.width; height = sz.height; + return *this; +} + +template inline +_Tp Size_<_Tp>::area() const +{ + const _Tp result = width * height; + CV_DbgAssert(!std::numeric_limits<_Tp>::is_integer + || width == 0 || result / width == height); // make sure the result fits in the return value + return result; +} + +template inline +bool Size_<_Tp>::empty() const +{ + return width <= 0 || height <= 0; +} + + +template static inline +Size_<_Tp>& operator *= (Size_<_Tp>& a, _Tp b) +{ + a.width *= b; + a.height *= b; + return a; +} + +template static inline +Size_<_Tp> operator * (const Size_<_Tp>& a, _Tp b) +{ + Size_<_Tp> tmp(a); + tmp *= b; + return tmp; +} + +template static inline +Size_<_Tp>& operator /= (Size_<_Tp>& a, _Tp b) +{ + a.width /= b; + a.height /= b; + return a; +} + +template static inline +Size_<_Tp> operator / (const Size_<_Tp>& a, _Tp b) +{ + Size_<_Tp> tmp(a); + tmp /= b; + return tmp; +} + +template static inline +Size_<_Tp>& operator += (Size_<_Tp>& a, const Size_<_Tp>& b) +{ + a.width += b.width; + a.height += b.height; + return a; +} + +template static inline +Size_<_Tp> operator + (const Size_<_Tp>& a, const Size_<_Tp>& b) +{ + Size_<_Tp> tmp(a); + tmp += b; + return tmp; +} + +template static inline +Size_<_Tp>& operator -= (Size_<_Tp>& a, const Size_<_Tp>& b) +{ + a.width -= b.width; + a.height -= b.height; + return a; +} + +template static inline +Size_<_Tp> operator - (const Size_<_Tp>& a, const Size_<_Tp>& b) +{ + Size_<_Tp> tmp(a); + tmp -= b; + return tmp; +} + +template static inline +bool operator == (const Size_<_Tp>& a, const Size_<_Tp>& b) +{ + return a.width == b.width && a.height == b.height; +} + +template static inline +bool operator != (const Size_<_Tp>& a, const Size_<_Tp>& b) +{ + return !(a == b); +} + + + +////////////////////////////////// Rect ///////////////////////////////// + +template inline +Rect_<_Tp>::Rect_() + : x(0), y(0), width(0), height(0) {} + +template inline +Rect_<_Tp>::Rect_(_Tp _x, _Tp _y, _Tp _width, _Tp _height) + : x(_x), y(_y), width(_width), height(_height) {} + +template inline +Rect_<_Tp>::Rect_(const Rect_<_Tp>& r) + : x(r.x), y(r.y), width(r.width), height(r.height) {} + +template inline +Rect_<_Tp>::Rect_(const Point_<_Tp>& org, const Size_<_Tp>& sz) + : x(org.x), y(org.y), width(sz.width), height(sz.height) {} + +template inline +Rect_<_Tp>::Rect_(const Point_<_Tp>& pt1, const Point_<_Tp>& pt2) +{ + x = std::min(pt1.x, pt2.x); + y = std::min(pt1.y, pt2.y); + width = std::max(pt1.x, pt2.x) - x; + height = std::max(pt1.y, pt2.y) - y; +} + +template inline +Rect_<_Tp>& Rect_<_Tp>::operator = ( const Rect_<_Tp>& r ) +{ + x = r.x; + y = r.y; + width = r.width; + height = r.height; + return *this; +} + +template inline +Point_<_Tp> Rect_<_Tp>::tl() const +{ + return Point_<_Tp>(x,y); +} + +template inline +Point_<_Tp> Rect_<_Tp>::br() const +{ + return Point_<_Tp>(x + width, y + height); +} + +template inline +Size_<_Tp> Rect_<_Tp>::size() const +{ + return Size_<_Tp>(width, height); +} + +template inline +_Tp Rect_<_Tp>::area() const +{ + const _Tp result = width * height; + CV_DbgAssert(!std::numeric_limits<_Tp>::is_integer + || width == 0 || result / width == height); // make sure the result fits in the return value + return result; +} + +template inline +bool Rect_<_Tp>::empty() const +{ + return width <= 0 || height <= 0; +} + +template template inline +Rect_<_Tp>::operator Rect_<_Tp2>() const +{ + return Rect_<_Tp2>(saturate_cast<_Tp2>(x), saturate_cast<_Tp2>(y), saturate_cast<_Tp2>(width), saturate_cast<_Tp2>(height)); +} + +template inline +bool Rect_<_Tp>::contains(const Point_<_Tp>& pt) const +{ + return x <= pt.x && pt.x < x + width && y <= pt.y && pt.y < y + height; +} + + +template static inline +Rect_<_Tp>& operator += ( Rect_<_Tp>& a, const Point_<_Tp>& b ) +{ + a.x += b.x; + a.y += b.y; + return a; +} + +template static inline +Rect_<_Tp>& operator -= ( Rect_<_Tp>& a, const Point_<_Tp>& b ) +{ + a.x -= b.x; + a.y -= b.y; + return a; +} + +template static inline +Rect_<_Tp>& operator += ( Rect_<_Tp>& a, const Size_<_Tp>& b ) +{ + a.width += b.width; + a.height += b.height; + return a; +} + +template static inline +Rect_<_Tp>& operator -= ( Rect_<_Tp>& a, const Size_<_Tp>& b ) +{ + a.width -= b.width; + a.height -= b.height; + return a; +} + +template static inline +Rect_<_Tp>& operator &= ( Rect_<_Tp>& a, const Rect_<_Tp>& b ) +{ + _Tp x1 = std::max(a.x, b.x); + _Tp y1 = std::max(a.y, b.y); + a.width = std::min(a.x + a.width, b.x + b.width) - x1; + a.height = std::min(a.y + a.height, b.y + b.height) - y1; + a.x = x1; + a.y = y1; + if( a.width <= 0 || a.height <= 0 ) + a = Rect(); + return a; +} + +template static inline +Rect_<_Tp>& operator |= ( Rect_<_Tp>& a, const Rect_<_Tp>& b ) +{ + if (a.empty()) { + a = b; + } + else if (!b.empty()) { + _Tp x1 = std::min(a.x, b.x); + _Tp y1 = std::min(a.y, b.y); + a.width = std::max(a.x + a.width, b.x + b.width) - x1; + a.height = std::max(a.y + a.height, b.y + b.height) - y1; + a.x = x1; + a.y = y1; + } + return a; +} + +template static inline +bool operator == (const Rect_<_Tp>& a, const Rect_<_Tp>& b) +{ + return a.x == b.x && a.y == b.y && a.width == b.width && a.height == b.height; +} + +template static inline +bool operator != (const Rect_<_Tp>& a, const Rect_<_Tp>& b) +{ + return a.x != b.x || a.y != b.y || a.width != b.width || a.height != b.height; +} + +template static inline +Rect_<_Tp> operator + (const Rect_<_Tp>& a, const Point_<_Tp>& b) +{ + return Rect_<_Tp>( a.x + b.x, a.y + b.y, a.width, a.height ); +} + +template static inline +Rect_<_Tp> operator - (const Rect_<_Tp>& a, const Point_<_Tp>& b) +{ + return Rect_<_Tp>( a.x - b.x, a.y - b.y, a.width, a.height ); +} + +template static inline +Rect_<_Tp> operator + (const Rect_<_Tp>& a, const Size_<_Tp>& b) +{ + return Rect_<_Tp>( a.x, a.y, a.width + b.width, a.height + b.height ); +} + +template static inline +Rect_<_Tp> operator & (const Rect_<_Tp>& a, const Rect_<_Tp>& b) +{ + Rect_<_Tp> c = a; + return c &= b; +} + +template static inline +Rect_<_Tp> operator | (const Rect_<_Tp>& a, const Rect_<_Tp>& b) +{ + Rect_<_Tp> c = a; + return c |= b; +} + +/** + * @brief measure dissimilarity between two sample sets + * + * computes the complement of the Jaccard Index as described in . + * For rectangles this reduces to computing the intersection over the union. + */ +template static inline +double jaccardDistance(const Rect_<_Tp>& a, const Rect_<_Tp>& b) { + _Tp Aa = a.area(); + _Tp Ab = b.area(); + + if ((Aa + Ab) <= std::numeric_limits<_Tp>::epsilon()) { + // jaccard_index = 1 -> distance = 0 + return 0.0; + } + + double Aab = (a & b).area(); + // distance = 1 - jaccard_index + return 1.0 - Aab / (Aa + Ab - Aab); +} + +////////////////////////////// RotatedRect ////////////////////////////// + +inline +RotatedRect::RotatedRect() + : center(), size(), angle(0) {} + +inline +RotatedRect::RotatedRect(const Point2f& _center, const Size2f& _size, float _angle) + : center(_center), size(_size), angle(_angle) {} + + + +///////////////////////////////// Range ///////////////////////////////// + +inline +Range::Range() + : start(0), end(0) {} + +inline +Range::Range(int _start, int _end) + : start(_start), end(_end) {} + +inline +int Range::size() const +{ + return end - start; +} + +inline +bool Range::empty() const +{ + return start == end; +} + +inline +Range Range::all() +{ + return Range(INT_MIN, INT_MAX); +} + + +static inline +bool operator == (const Range& r1, const Range& r2) +{ + return r1.start == r2.start && r1.end == r2.end; +} + +static inline +bool operator != (const Range& r1, const Range& r2) +{ + return !(r1 == r2); +} + +static inline +bool operator !(const Range& r) +{ + return r.start == r.end; +} + +static inline +Range operator & (const Range& r1, const Range& r2) +{ + Range r(std::max(r1.start, r2.start), std::min(r1.end, r2.end)); + r.end = std::max(r.end, r.start); + return r; +} + +static inline +Range& operator &= (Range& r1, const Range& r2) +{ + r1 = r1 & r2; + return r1; +} + +static inline +Range operator + (const Range& r1, int delta) +{ + return Range(r1.start + delta, r1.end + delta); +} + +static inline +Range operator + (int delta, const Range& r1) +{ + return Range(r1.start + delta, r1.end + delta); +} + +static inline +Range operator - (const Range& r1, int delta) +{ + return r1 + (-delta); +} + + + +///////////////////////////////// Scalar //////////////////////////////// + +template inline +Scalar_<_Tp>::Scalar_() +{ + this->val[0] = this->val[1] = this->val[2] = this->val[3] = 0; +} + +template inline +Scalar_<_Tp>::Scalar_(_Tp v0, _Tp v1, _Tp v2, _Tp v3) +{ + this->val[0] = v0; + this->val[1] = v1; + this->val[2] = v2; + this->val[3] = v3; +} + +template template inline +Scalar_<_Tp>::Scalar_(const Vec<_Tp2, cn>& v) +{ + int i; + for( i = 0; i < (cn < 4 ? cn : 4); i++ ) + this->val[i] = cv::saturate_cast<_Tp>(v.val[i]); + for( ; i < 4; i++ ) + this->val[i] = 0; +} + +template inline +Scalar_<_Tp>::Scalar_(_Tp v0) +{ + this->val[0] = v0; + this->val[1] = this->val[2] = this->val[3] = 0; +} + +template inline +Scalar_<_Tp> Scalar_<_Tp>::all(_Tp v0) +{ + return Scalar_<_Tp>(v0, v0, v0, v0); +} + + +template inline +Scalar_<_Tp> Scalar_<_Tp>::mul(const Scalar_<_Tp>& a, double scale ) const +{ + return Scalar_<_Tp>(saturate_cast<_Tp>(this->val[0] * a.val[0] * scale), + saturate_cast<_Tp>(this->val[1] * a.val[1] * scale), + saturate_cast<_Tp>(this->val[2] * a.val[2] * scale), + saturate_cast<_Tp>(this->val[3] * a.val[3] * scale)); +} + +template inline +Scalar_<_Tp> Scalar_<_Tp>::conj() const +{ + return Scalar_<_Tp>(saturate_cast<_Tp>( this->val[0]), + saturate_cast<_Tp>(-this->val[1]), + saturate_cast<_Tp>(-this->val[2]), + saturate_cast<_Tp>(-this->val[3])); +} + +template inline +bool Scalar_<_Tp>::isReal() const +{ + return this->val[1] == 0 && this->val[2] == 0 && this->val[3] == 0; +} + + +template template inline +Scalar_<_Tp>::operator Scalar_() const +{ + return Scalar_(saturate_cast(this->val[0]), + saturate_cast(this->val[1]), + saturate_cast(this->val[2]), + saturate_cast(this->val[3])); +} + + +template static inline +Scalar_<_Tp>& operator += (Scalar_<_Tp>& a, const Scalar_<_Tp>& b) +{ + a.val[0] += b.val[0]; + a.val[1] += b.val[1]; + a.val[2] += b.val[2]; + a.val[3] += b.val[3]; + return a; +} + +template static inline +Scalar_<_Tp>& operator -= (Scalar_<_Tp>& a, const Scalar_<_Tp>& b) +{ + a.val[0] -= b.val[0]; + a.val[1] -= b.val[1]; + a.val[2] -= b.val[2]; + a.val[3] -= b.val[3]; + return a; +} + +template static inline +Scalar_<_Tp>& operator *= ( Scalar_<_Tp>& a, _Tp v ) +{ + a.val[0] *= v; + a.val[1] *= v; + a.val[2] *= v; + a.val[3] *= v; + return a; +} + +template static inline +bool operator == ( const Scalar_<_Tp>& a, const Scalar_<_Tp>& b ) +{ + return a.val[0] == b.val[0] && a.val[1] == b.val[1] && + a.val[2] == b.val[2] && a.val[3] == b.val[3]; +} + +template static inline +bool operator != ( const Scalar_<_Tp>& a, const Scalar_<_Tp>& b ) +{ + return a.val[0] != b.val[0] || a.val[1] != b.val[1] || + a.val[2] != b.val[2] || a.val[3] != b.val[3]; +} + +template static inline +Scalar_<_Tp> operator + (const Scalar_<_Tp>& a, const Scalar_<_Tp>& b) +{ + return Scalar_<_Tp>(a.val[0] + b.val[0], + a.val[1] + b.val[1], + a.val[2] + b.val[2], + a.val[3] + b.val[3]); +} + +template static inline +Scalar_<_Tp> operator - (const Scalar_<_Tp>& a, const Scalar_<_Tp>& b) +{ + return Scalar_<_Tp>(saturate_cast<_Tp>(a.val[0] - b.val[0]), + saturate_cast<_Tp>(a.val[1] - b.val[1]), + saturate_cast<_Tp>(a.val[2] - b.val[2]), + saturate_cast<_Tp>(a.val[3] - b.val[3])); +} + +template static inline +Scalar_<_Tp> operator * (const Scalar_<_Tp>& a, _Tp alpha) +{ + return Scalar_<_Tp>(a.val[0] * alpha, + a.val[1] * alpha, + a.val[2] * alpha, + a.val[3] * alpha); +} + +template static inline +Scalar_<_Tp> operator * (_Tp alpha, const Scalar_<_Tp>& a) +{ + return a*alpha; +} + +template static inline +Scalar_<_Tp> operator - (const Scalar_<_Tp>& a) +{ + return Scalar_<_Tp>(saturate_cast<_Tp>(-a.val[0]), + saturate_cast<_Tp>(-a.val[1]), + saturate_cast<_Tp>(-a.val[2]), + saturate_cast<_Tp>(-a.val[3])); +} + + +template static inline +Scalar_<_Tp> operator * (const Scalar_<_Tp>& a, const Scalar_<_Tp>& b) +{ + return Scalar_<_Tp>(saturate_cast<_Tp>(a[0]*b[0] - a[1]*b[1] - a[2]*b[2] - a[3]*b[3]), + saturate_cast<_Tp>(a[0]*b[1] + a[1]*b[0] + a[2]*b[3] - a[3]*b[2]), + saturate_cast<_Tp>(a[0]*b[2] - a[1]*b[3] + a[2]*b[0] + a[3]*b[1]), + saturate_cast<_Tp>(a[0]*b[3] + a[1]*b[2] - a[2]*b[1] + a[3]*b[0])); +} + +template static inline +Scalar_<_Tp>& operator *= (Scalar_<_Tp>& a, const Scalar_<_Tp>& b) +{ + a = a * b; + return a; +} + +template static inline +Scalar_<_Tp> operator / (const Scalar_<_Tp>& a, _Tp alpha) +{ + return Scalar_<_Tp>(a.val[0] / alpha, + a.val[1] / alpha, + a.val[2] / alpha, + a.val[3] / alpha); +} + +template static inline +Scalar_ operator / (const Scalar_& a, float alpha) +{ + float s = 1 / alpha; + return Scalar_(a.val[0] * s, a.val[1] * s, a.val[2] * s, a.val[3] * s); +} + +template static inline +Scalar_ operator / (const Scalar_& a, double alpha) +{ + double s = 1 / alpha; + return Scalar_(a.val[0] * s, a.val[1] * s, a.val[2] * s, a.val[3] * s); +} + +template static inline +Scalar_<_Tp>& operator /= (Scalar_<_Tp>& a, _Tp alpha) +{ + a = a / alpha; + return a; +} + +template static inline +Scalar_<_Tp> operator / (_Tp a, const Scalar_<_Tp>& b) +{ + _Tp s = a / (b[0]*b[0] + b[1]*b[1] + b[2]*b[2] + b[3]*b[3]); + return b.conj() * s; +} + +template static inline +Scalar_<_Tp> operator / (const Scalar_<_Tp>& a, const Scalar_<_Tp>& b) +{ + return a * ((_Tp)1 / b); +} + +template static inline +Scalar_<_Tp>& operator /= (Scalar_<_Tp>& a, const Scalar_<_Tp>& b) +{ + a = a / b; + return a; +} + +template static inline +Scalar operator * (const Matx<_Tp, 4, 4>& a, const Scalar& b) +{ + Matx c((Matx)a, b, Matx_MatMulOp()); + return reinterpret_cast(c); +} + +template<> inline +Scalar operator * (const Matx& a, const Scalar& b) +{ + Matx c(a, b, Matx_MatMulOp()); + return reinterpret_cast(c); +} + + + +//////////////////////////////// KeyPoint /////////////////////////////// + +inline +KeyPoint::KeyPoint() + : pt(0,0), size(0), angle(-1), response(0), octave(0), class_id(-1) {} + +inline +KeyPoint::KeyPoint(Point2f _pt, float _size, float _angle, float _response, int _octave, int _class_id) + : pt(_pt), size(_size), angle(_angle), response(_response), octave(_octave), class_id(_class_id) {} + +inline +KeyPoint::KeyPoint(float x, float y, float _size, float _angle, float _response, int _octave, int _class_id) + : pt(x, y), size(_size), angle(_angle), response(_response), octave(_octave), class_id(_class_id) {} + + + +///////////////////////////////// DMatch //////////////////////////////// + +inline +DMatch::DMatch() + : queryIdx(-1), trainIdx(-1), imgIdx(-1), distance(FLT_MAX) {} + +inline +DMatch::DMatch(int _queryIdx, int _trainIdx, float _distance) + : queryIdx(_queryIdx), trainIdx(_trainIdx), imgIdx(-1), distance(_distance) {} + +inline +DMatch::DMatch(int _queryIdx, int _trainIdx, int _imgIdx, float _distance) + : queryIdx(_queryIdx), trainIdx(_trainIdx), imgIdx(_imgIdx), distance(_distance) {} + +inline +bool DMatch::operator < (const DMatch &m) const +{ + return distance < m.distance; +} + + + +////////////////////////////// TermCriteria ///////////////////////////// + +inline +TermCriteria::TermCriteria() + : type(0), maxCount(0), epsilon(0) {} + +inline +TermCriteria::TermCriteria(int _type, int _maxCount, double _epsilon) + : type(_type), maxCount(_maxCount), epsilon(_epsilon) {} + +//! @endcond + +} // cv + +#endif //OPENCV_CORE_TYPES_HPP diff --git a/app/src/main/cpp/include/opencv2/core/types_c.h b/app/src/main/cpp/include/opencv2/core/types_c.h new file mode 100644 index 0000000..4f04d0c --- /dev/null +++ b/app/src/main/cpp/include/opencv2/core/types_c.h @@ -0,0 +1,1837 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_TYPES_H +#define OPENCV_CORE_TYPES_H + +#ifdef HAVE_IPL +# ifndef __IPL_H__ +# if defined _WIN32 +# include +# else +# include +# endif +# endif +#elif defined __IPL_H__ +# define HAVE_IPL +#endif + +#include "opencv2/core/cvdef.h" + +#ifndef SKIP_INCLUDES +#include +#include +#include +#include +#endif // SKIP_INCLUDES + +#if defined _WIN32 +# define CV_CDECL __cdecl +# define CV_STDCALL __stdcall +#else +# define CV_CDECL +# define CV_STDCALL +#endif + +#ifndef CV_DEFAULT +# ifdef __cplusplus +# define CV_DEFAULT(val) = val +# else +# define CV_DEFAULT(val) +# endif +#endif + +#ifndef CV_EXTERN_C_FUNCPTR +# ifdef __cplusplus +# define CV_EXTERN_C_FUNCPTR(x) extern "C" { typedef x; } +# else +# define CV_EXTERN_C_FUNCPTR(x) typedef x +# endif +#endif + +#ifndef CVAPI +# define CVAPI(rettype) CV_EXTERN_C CV_EXPORTS rettype CV_CDECL +#endif + +#ifndef CV_IMPL +# define CV_IMPL CV_EXTERN_C +#endif + +#ifdef __cplusplus +# include "opencv2/core.hpp" +#endif + +/** @addtogroup core_c + @{ +*/ + +/** @brief This is the "metatype" used *only* as a function parameter. + +It denotes that the function accepts arrays of multiple types, such as IplImage*, CvMat* or even +CvSeq* sometimes. The particular array type is determined at runtime by analyzing the first 4 +bytes of the header. In C++ interface the role of CvArr is played by InputArray and OutputArray. + */ +typedef void CvArr; + +typedef int CVStatus; + +/** @see cv::Error::Code */ +enum { + CV_StsOk= 0, /**< everything is ok */ + CV_StsBackTrace= -1, /**< pseudo error for back trace */ + CV_StsError= -2, /**< unknown /unspecified error */ + CV_StsInternal= -3, /**< internal error (bad state) */ + CV_StsNoMem= -4, /**< insufficient memory */ + CV_StsBadArg= -5, /**< function arg/param is bad */ + CV_StsBadFunc= -6, /**< unsupported function */ + CV_StsNoConv= -7, /**< iter. didn't converge */ + CV_StsAutoTrace= -8, /**< tracing */ + CV_HeaderIsNull= -9, /**< image header is NULL */ + CV_BadImageSize= -10, /**< image size is invalid */ + CV_BadOffset= -11, /**< offset is invalid */ + CV_BadDataPtr= -12, /**/ + CV_BadStep= -13, /**< image step is wrong, this may happen for a non-continuous matrix */ + CV_BadModelOrChSeq= -14, /**/ + CV_BadNumChannels= -15, /**< bad number of channels, for example, some functions accept only single channel matrices */ + CV_BadNumChannel1U= -16, /**/ + CV_BadDepth= -17, /**< input image depth is not supported by the function */ + CV_BadAlphaChannel= -18, /**/ + CV_BadOrder= -19, /**< number of dimensions is out of range */ + CV_BadOrigin= -20, /**< incorrect input origin */ + CV_BadAlign= -21, /**< incorrect input align */ + CV_BadCallBack= -22, /**/ + CV_BadTileSize= -23, /**/ + CV_BadCOI= -24, /**< input COI is not supported */ + CV_BadROISize= -25, /**< incorrect input roi */ + CV_MaskIsTiled= -26, /**/ + CV_StsNullPtr= -27, /**< null pointer */ + CV_StsVecLengthErr= -28, /**< incorrect vector length */ + CV_StsFilterStructContentErr= -29, /**< incorrect filter structure content */ + CV_StsKernelStructContentErr= -30, /**< incorrect transform kernel content */ + CV_StsFilterOffsetErr= -31, /**< incorrect filter offset value */ + CV_StsBadSize= -201, /**< the input/output structure size is incorrect */ + CV_StsDivByZero= -202, /**< division by zero */ + CV_StsInplaceNotSupported= -203, /**< in-place operation is not supported */ + CV_StsObjectNotFound= -204, /**< request can't be completed */ + CV_StsUnmatchedFormats= -205, /**< formats of input/output arrays differ */ + CV_StsBadFlag= -206, /**< flag is wrong or not supported */ + CV_StsBadPoint= -207, /**< bad CvPoint */ + CV_StsBadMask= -208, /**< bad format of mask (neither 8uC1 nor 8sC1)*/ + CV_StsUnmatchedSizes= -209, /**< sizes of input/output structures do not match */ + CV_StsUnsupportedFormat= -210, /**< the data format/type is not supported by the function*/ + CV_StsOutOfRange= -211, /**< some of parameters are out of range */ + CV_StsParseError= -212, /**< invalid syntax/structure of the parsed file */ + CV_StsNotImplemented= -213, /**< the requested function/feature is not implemented */ + CV_StsBadMemBlock= -214, /**< an allocated block has been corrupted */ + CV_StsAssert= -215, /**< assertion failed */ + CV_GpuNotSupported= -216, /**< no CUDA support */ + CV_GpuApiCallError= -217, /**< GPU API call error */ + CV_OpenGlNotSupported= -218, /**< no OpenGL support */ + CV_OpenGlApiCallError= -219, /**< OpenGL API call error */ + CV_OpenCLApiCallError= -220, /**< OpenCL API call error */ + CV_OpenCLDoubleNotSupported= -221, + CV_OpenCLInitError= -222, /**< OpenCL initialization error */ + CV_OpenCLNoAMDBlasFft= -223 +}; + +/****************************************************************************************\ +* Common macros and inline functions * +\****************************************************************************************/ + +#define CV_SWAP(a,b,t) ((t) = (a), (a) = (b), (b) = (t)) + +/** min & max without jumps */ +#define CV_IMIN(a, b) ((a) ^ (((a)^(b)) & (((a) < (b)) - 1))) + +#define CV_IMAX(a, b) ((a) ^ (((a)^(b)) & (((a) > (b)) - 1))) + +/** absolute value without jumps */ +#ifndef __cplusplus +# define CV_IABS(a) (((a) ^ ((a) < 0 ? -1 : 0)) - ((a) < 0 ? -1 : 0)) +#else +# define CV_IABS(a) abs(a) +#endif +#define CV_CMP(a,b) (((a) > (b)) - ((a) < (b))) +#define CV_SIGN(a) CV_CMP((a),0) + +#define cvInvSqrt(value) ((float)(1./sqrt(value))) +#define cvSqrt(value) ((float)sqrt(value)) + + +/*************** Random number generation *******************/ + +typedef uint64 CvRNG; + +#define CV_RNG_COEFF 4164903690U + +/** @brief Initializes a random number generator state. + +The function initializes a random number generator and returns the state. The pointer to the state +can be then passed to the cvRandInt, cvRandReal and cvRandArr functions. In the current +implementation a multiply-with-carry generator is used. +@param seed 64-bit value used to initiate a random sequence +@sa the C++ class RNG replaced CvRNG. + */ +CV_INLINE CvRNG cvRNG( int64 seed CV_DEFAULT(-1)) +{ + CvRNG rng = seed ? (uint64)seed : (uint64)(int64)-1; + return rng; +} + +/** @brief Returns a 32-bit unsigned integer and updates RNG. + +The function returns a uniformly-distributed random 32-bit unsigned integer and updates the RNG +state. It is similar to the rand() function from the C runtime library, except that OpenCV functions +always generates a 32-bit random number, regardless of the platform. +@param rng CvRNG state initialized by cvRNG. + */ +CV_INLINE unsigned cvRandInt( CvRNG* rng ) +{ + uint64 temp = *rng; + temp = (uint64)(unsigned)temp*CV_RNG_COEFF + (temp >> 32); + *rng = temp; + return (unsigned)temp; +} + +/** @brief Returns a floating-point random number and updates RNG. + +The function returns a uniformly-distributed random floating-point number between 0 and 1 (1 is not +included). +@param rng RNG state initialized by cvRNG + */ +CV_INLINE double cvRandReal( CvRNG* rng ) +{ + return cvRandInt(rng)*2.3283064365386962890625e-10 /* 2^-32 */; +} + +/****************************************************************************************\ +* Image type (IplImage) * +\****************************************************************************************/ + +#ifndef HAVE_IPL + +/* + * The following definitions (until #endif) + * is an extract from IPL headers. + * Copyright (c) 1995 Intel Corporation. + */ +#define IPL_DEPTH_SIGN 0x80000000 + +#define IPL_DEPTH_1U 1 +#define IPL_DEPTH_8U 8 +#define IPL_DEPTH_16U 16 +#define IPL_DEPTH_32F 32 + +#define IPL_DEPTH_8S (IPL_DEPTH_SIGN| 8) +#define IPL_DEPTH_16S (IPL_DEPTH_SIGN|16) +#define IPL_DEPTH_32S (IPL_DEPTH_SIGN|32) + +#define IPL_DATA_ORDER_PIXEL 0 +#define IPL_DATA_ORDER_PLANE 1 + +#define IPL_ORIGIN_TL 0 +#define IPL_ORIGIN_BL 1 + +#define IPL_ALIGN_4BYTES 4 +#define IPL_ALIGN_8BYTES 8 +#define IPL_ALIGN_16BYTES 16 +#define IPL_ALIGN_32BYTES 32 + +#define IPL_ALIGN_DWORD IPL_ALIGN_4BYTES +#define IPL_ALIGN_QWORD IPL_ALIGN_8BYTES + +#define IPL_BORDER_CONSTANT 0 +#define IPL_BORDER_REPLICATE 1 +#define IPL_BORDER_REFLECT 2 +#define IPL_BORDER_WRAP 3 + +/** The IplImage is taken from the Intel Image Processing Library, in which the format is native. OpenCV +only supports a subset of possible IplImage formats, as outlined in the parameter list above. + +In addition to the above restrictions, OpenCV handles ROIs differently. OpenCV functions require +that the image size or ROI size of all source and destination images match exactly. On the other +hand, the Intel Image Processing Library processes the area of intersection between the source and +destination images (or ROIs), allowing them to vary independently. +*/ +typedef struct +#ifdef __cplusplus + CV_EXPORTS +#endif +_IplImage +{ + int nSize; /**< sizeof(IplImage) */ + int ID; /**< version (=0)*/ + int nChannels; /**< Most of OpenCV functions support 1,2,3 or 4 channels */ + int alphaChannel; /**< Ignored by OpenCV */ + int depth; /**< Pixel depth in bits: IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_16S, + IPL_DEPTH_32S, IPL_DEPTH_32F and IPL_DEPTH_64F are supported. */ + char colorModel[4]; /**< Ignored by OpenCV */ + char channelSeq[4]; /**< ditto */ + int dataOrder; /**< 0 - interleaved color channels, 1 - separate color channels. + cvCreateImage can only create interleaved images */ + int origin; /**< 0 - top-left origin, + 1 - bottom-left origin (Windows bitmaps style). */ + int align; /**< Alignment of image rows (4 or 8). + OpenCV ignores it and uses widthStep instead. */ + int width; /**< Image width in pixels. */ + int height; /**< Image height in pixels. */ + struct _IplROI *roi; /**< Image ROI. If NULL, the whole image is selected. */ + struct _IplImage *maskROI; /**< Must be NULL. */ + void *imageId; /**< " " */ + struct _IplTileInfo *tileInfo; /**< " " */ + int imageSize; /**< Image data size in bytes + (==image->height*image->widthStep + in case of interleaved data)*/ + char *imageData; /**< Pointer to aligned image data. */ + int widthStep; /**< Size of aligned image row in bytes. */ + int BorderMode[4]; /**< Ignored by OpenCV. */ + int BorderConst[4]; /**< Ditto. */ + char *imageDataOrigin; /**< Pointer to very origin of image data + (not necessarily aligned) - + needed for correct deallocation */ + +#ifdef __cplusplus + _IplImage() {} + _IplImage(const cv::Mat& m); +#endif +} +IplImage; + +typedef struct _IplTileInfo IplTileInfo; + +typedef struct _IplROI +{ + int coi; /**< 0 - no COI (all channels are selected), 1 - 0th channel is selected ...*/ + int xOffset; + int yOffset; + int width; + int height; +} +IplROI; + +typedef struct _IplConvKernel +{ + int nCols; + int nRows; + int anchorX; + int anchorY; + int *values; + int nShiftR; +} +IplConvKernel; + +typedef struct _IplConvKernelFP +{ + int nCols; + int nRows; + int anchorX; + int anchorY; + float *values; +} +IplConvKernelFP; + +#define IPL_IMAGE_HEADER 1 +#define IPL_IMAGE_DATA 2 +#define IPL_IMAGE_ROI 4 + +#endif/*HAVE_IPL*/ + +/** extra border mode */ +#define IPL_BORDER_REFLECT_101 4 +#define IPL_BORDER_TRANSPARENT 5 + +#define IPL_IMAGE_MAGIC_VAL ((int)sizeof(IplImage)) +#define CV_TYPE_NAME_IMAGE "opencv-image" + +#define CV_IS_IMAGE_HDR(img) \ + ((img) != NULL && ((const IplImage*)(img))->nSize == sizeof(IplImage)) + +#define CV_IS_IMAGE(img) \ + (CV_IS_IMAGE_HDR(img) && ((IplImage*)img)->imageData != NULL) + +/** for storing double-precision + floating point data in IplImage's */ +#define IPL_DEPTH_64F 64 + +/** get reference to pixel at (col,row), + for multi-channel images (col) should be multiplied by number of channels */ +#define CV_IMAGE_ELEM( image, elemtype, row, col ) \ + (((elemtype*)((image)->imageData + (image)->widthStep*(row)))[(col)]) + +/****************************************************************************************\ +* Matrix type (CvMat) * +\****************************************************************************************/ + +#define CV_AUTO_STEP 0x7fffffff +#define CV_WHOLE_ARR cvSlice( 0, 0x3fffffff ) + +#define CV_MAGIC_MASK 0xFFFF0000 +#define CV_MAT_MAGIC_VAL 0x42420000 +#define CV_TYPE_NAME_MAT "opencv-matrix" + +/** Matrix elements are stored row by row. Element (i, j) (i - 0-based row index, j - 0-based column +index) of a matrix can be retrieved or modified using CV_MAT_ELEM macro: + + uchar pixval = CV_MAT_ELEM(grayimg, uchar, i, j) + CV_MAT_ELEM(cameraMatrix, float, 0, 2) = image.width*0.5f; + +To access multiple-channel matrices, you can use +CV_MAT_ELEM(matrix, type, i, j\*nchannels + channel_idx). + +@deprecated CvMat is now obsolete; consider using Mat instead. + */ +typedef struct CvMat +{ + int type; + int step; + + /* for internal use only */ + int* refcount; + int hdr_refcount; + + union + { + uchar* ptr; + short* s; + int* i; + float* fl; + double* db; + } data; + +#ifdef __cplusplus + union + { + int rows; + int height; + }; + + union + { + int cols; + int width; + }; +#else + int rows; + int cols; +#endif + + +#ifdef __cplusplus + CvMat() {} + CvMat(const CvMat& m) { memcpy(this, &m, sizeof(CvMat));} + CvMat(const cv::Mat& m); +#endif + +} +CvMat; + + +#define CV_IS_MAT_HDR(mat) \ + ((mat) != NULL && \ + (((const CvMat*)(mat))->type & CV_MAGIC_MASK) == CV_MAT_MAGIC_VAL && \ + ((const CvMat*)(mat))->cols > 0 && ((const CvMat*)(mat))->rows > 0) + +#define CV_IS_MAT_HDR_Z(mat) \ + ((mat) != NULL && \ + (((const CvMat*)(mat))->type & CV_MAGIC_MASK) == CV_MAT_MAGIC_VAL && \ + ((const CvMat*)(mat))->cols >= 0 && ((const CvMat*)(mat))->rows >= 0) + +#define CV_IS_MAT(mat) \ + (CV_IS_MAT_HDR(mat) && ((const CvMat*)(mat))->data.ptr != NULL) + +#define CV_IS_MASK_ARR(mat) \ + (((mat)->type & (CV_MAT_TYPE_MASK & ~CV_8SC1)) == 0) + +#define CV_ARE_TYPES_EQ(mat1, mat2) \ + ((((mat1)->type ^ (mat2)->type) & CV_MAT_TYPE_MASK) == 0) + +#define CV_ARE_CNS_EQ(mat1, mat2) \ + ((((mat1)->type ^ (mat2)->type) & CV_MAT_CN_MASK) == 0) + +#define CV_ARE_DEPTHS_EQ(mat1, mat2) \ + ((((mat1)->type ^ (mat2)->type) & CV_MAT_DEPTH_MASK) == 0) + +#define CV_ARE_SIZES_EQ(mat1, mat2) \ + ((mat1)->rows == (mat2)->rows && (mat1)->cols == (mat2)->cols) + +#define CV_IS_MAT_CONST(mat) \ + (((mat)->rows|(mat)->cols) == 1) + +#define IPL2CV_DEPTH(depth) \ + ((((CV_8U)+(CV_16U<<4)+(CV_32F<<8)+(CV_64F<<16)+(CV_8S<<20)+ \ + (CV_16S<<24)+(CV_32S<<28)) >> ((((depth) & 0xF0) >> 2) + \ + (((depth) & IPL_DEPTH_SIGN) ? 20 : 0))) & 15) + +/** Inline constructor. No data is allocated internally!!! + * (Use together with cvCreateData, or use cvCreateMat instead to + * get a matrix with allocated data): + */ +CV_INLINE CvMat cvMat( int rows, int cols, int type, void* data CV_DEFAULT(NULL)) +{ + CvMat m; + + assert( (unsigned)CV_MAT_DEPTH(type) <= CV_64F ); + type = CV_MAT_TYPE(type); + m.type = CV_MAT_MAGIC_VAL | CV_MAT_CONT_FLAG | type; + m.cols = cols; + m.rows = rows; + m.step = m.cols*CV_ELEM_SIZE(type); + m.data.ptr = (uchar*)data; + m.refcount = NULL; + m.hdr_refcount = 0; + + return m; +} + +#ifdef __cplusplus +inline CvMat::CvMat(const cv::Mat& m) +{ + CV_DbgAssert(m.dims <= 2); + *this = cvMat(m.rows, m.dims == 1 ? 1 : m.cols, m.type(), m.data); + step = (int)m.step[0]; + type = (type & ~cv::Mat::CONTINUOUS_FLAG) | (m.flags & cv::Mat::CONTINUOUS_FLAG); +} +#endif + + +#define CV_MAT_ELEM_PTR_FAST( mat, row, col, pix_size ) \ + (assert( (unsigned)(row) < (unsigned)(mat).rows && \ + (unsigned)(col) < (unsigned)(mat).cols ), \ + (mat).data.ptr + (size_t)(mat).step*(row) + (pix_size)*(col)) + +#define CV_MAT_ELEM_PTR( mat, row, col ) \ + CV_MAT_ELEM_PTR_FAST( mat, row, col, CV_ELEM_SIZE((mat).type) ) + +#define CV_MAT_ELEM( mat, elemtype, row, col ) \ + (*(elemtype*)CV_MAT_ELEM_PTR_FAST( mat, row, col, sizeof(elemtype))) + +/** @brief Returns the particular element of single-channel floating-point matrix. + +The function is a fast replacement for cvGetReal2D in the case of single-channel floating-point +matrices. It is faster because it is inline, it does fewer checks for array type and array element +type, and it checks for the row and column ranges only in debug mode. +@param mat Input matrix +@param row The zero-based index of row +@param col The zero-based index of column + */ +CV_INLINE double cvmGet( const CvMat* mat, int row, int col ) +{ + int type; + + type = CV_MAT_TYPE(mat->type); + assert( (unsigned)row < (unsigned)mat->rows && + (unsigned)col < (unsigned)mat->cols ); + + if( type == CV_32FC1 ) + return ((float*)(void*)(mat->data.ptr + (size_t)mat->step*row))[col]; + else + { + assert( type == CV_64FC1 ); + return ((double*)(void*)(mat->data.ptr + (size_t)mat->step*row))[col]; + } +} + +/** @brief Sets a specific element of a single-channel floating-point matrix. + +The function is a fast replacement for cvSetReal2D in the case of single-channel floating-point +matrices. It is faster because it is inline, it does fewer checks for array type and array element +type, and it checks for the row and column ranges only in debug mode. +@param mat The matrix +@param row The zero-based index of row +@param col The zero-based index of column +@param value The new value of the matrix element + */ +CV_INLINE void cvmSet( CvMat* mat, int row, int col, double value ) +{ + int type; + type = CV_MAT_TYPE(mat->type); + assert( (unsigned)row < (unsigned)mat->rows && + (unsigned)col < (unsigned)mat->cols ); + + if( type == CV_32FC1 ) + ((float*)(void*)(mat->data.ptr + (size_t)mat->step*row))[col] = (float)value; + else + { + assert( type == CV_64FC1 ); + ((double*)(void*)(mat->data.ptr + (size_t)mat->step*row))[col] = value; + } +} + + +CV_INLINE int cvIplDepth( int type ) +{ + int depth = CV_MAT_DEPTH(type); + return CV_ELEM_SIZE1(depth)*8 | (depth == CV_8S || depth == CV_16S || + depth == CV_32S ? IPL_DEPTH_SIGN : 0); +} + + +/****************************************************************************************\ +* Multi-dimensional dense array (CvMatND) * +\****************************************************************************************/ + +#define CV_MATND_MAGIC_VAL 0x42430000 +#define CV_TYPE_NAME_MATND "opencv-nd-matrix" + +#define CV_MAX_DIM 32 +#define CV_MAX_DIM_HEAP 1024 + +/** + @deprecated consider using cv::Mat instead + */ +typedef struct +#ifdef __cplusplus + CV_EXPORTS +#endif +CvMatND +{ + int type; + int dims; + + int* refcount; + int hdr_refcount; + + union + { + uchar* ptr; + float* fl; + double* db; + int* i; + short* s; + } data; + + struct + { + int size; + int step; + } + dim[CV_MAX_DIM]; + +#ifdef __cplusplus + CvMatND() {} + CvMatND(const cv::Mat& m); +#endif +} +CvMatND; + +#define CV_IS_MATND_HDR(mat) \ + ((mat) != NULL && (((const CvMatND*)(mat))->type & CV_MAGIC_MASK) == CV_MATND_MAGIC_VAL) + +#define CV_IS_MATND(mat) \ + (CV_IS_MATND_HDR(mat) && ((const CvMatND*)(mat))->data.ptr != NULL) + + +/****************************************************************************************\ +* Multi-dimensional sparse array (CvSparseMat) * +\****************************************************************************************/ + +#define CV_SPARSE_MAT_MAGIC_VAL 0x42440000 +#define CV_TYPE_NAME_SPARSE_MAT "opencv-sparse-matrix" + +struct CvSet; + +typedef struct +#ifdef __cplusplus + CV_EXPORTS +#endif +CvSparseMat +{ + int type; + int dims; + int* refcount; + int hdr_refcount; + + struct CvSet* heap; + void** hashtable; + int hashsize; + int valoffset; + int idxoffset; + int size[CV_MAX_DIM]; + +#ifdef __cplusplus + void copyToSparseMat(cv::SparseMat& m) const; +#endif +} +CvSparseMat; + +#ifdef __cplusplus + CV_EXPORTS CvSparseMat* cvCreateSparseMat(const cv::SparseMat& m); +#endif + +#define CV_IS_SPARSE_MAT_HDR(mat) \ + ((mat) != NULL && \ + (((const CvSparseMat*)(mat))->type & CV_MAGIC_MASK) == CV_SPARSE_MAT_MAGIC_VAL) + +#define CV_IS_SPARSE_MAT(mat) \ + CV_IS_SPARSE_MAT_HDR(mat) + +/**************** iteration through a sparse array *****************/ + +typedef struct CvSparseNode +{ + unsigned hashval; + struct CvSparseNode* next; +} +CvSparseNode; + +typedef struct CvSparseMatIterator +{ + CvSparseMat* mat; + CvSparseNode* node; + int curidx; +} +CvSparseMatIterator; + +#define CV_NODE_VAL(mat,node) ((void*)((uchar*)(node) + (mat)->valoffset)) +#define CV_NODE_IDX(mat,node) ((int*)((uchar*)(node) + (mat)->idxoffset)) + +/****************************************************************************************\ +* Histogram * +\****************************************************************************************/ + +typedef int CvHistType; + +#define CV_HIST_MAGIC_VAL 0x42450000 +#define CV_HIST_UNIFORM_FLAG (1 << 10) + +/** indicates whether bin ranges are set already or not */ +#define CV_HIST_RANGES_FLAG (1 << 11) + +#define CV_HIST_ARRAY 0 +#define CV_HIST_SPARSE 1 +#define CV_HIST_TREE CV_HIST_SPARSE + +/** should be used as a parameter only, + it turns to CV_HIST_UNIFORM_FLAG of hist->type */ +#define CV_HIST_UNIFORM 1 + +typedef struct CvHistogram +{ + int type; + CvArr* bins; + float thresh[CV_MAX_DIM][2]; /**< For uniform histograms. */ + float** thresh2; /**< For non-uniform histograms. */ + CvMatND mat; /**< Embedded matrix header for array histograms. */ +} +CvHistogram; + +#define CV_IS_HIST( hist ) \ + ((hist) != NULL && \ + (((CvHistogram*)(hist))->type & CV_MAGIC_MASK) == CV_HIST_MAGIC_VAL && \ + (hist)->bins != NULL) + +#define CV_IS_UNIFORM_HIST( hist ) \ + (((hist)->type & CV_HIST_UNIFORM_FLAG) != 0) + +#define CV_IS_SPARSE_HIST( hist ) \ + CV_IS_SPARSE_MAT((hist)->bins) + +#define CV_HIST_HAS_RANGES( hist ) \ + (((hist)->type & CV_HIST_RANGES_FLAG) != 0) + +/****************************************************************************************\ +* Other supplementary data type definitions * +\****************************************************************************************/ + +/*************************************** CvRect *****************************************/ +/** @sa Rect_ */ +typedef struct CvRect +{ + int x; + int y; + int width; + int height; + +#ifdef __cplusplus + CvRect(int _x = 0, int _y = 0, int w = 0, int h = 0): x(_x), y(_y), width(w), height(h) {} + template + CvRect(const cv::Rect_<_Tp>& r): x(cv::saturate_cast(r.x)), y(cv::saturate_cast(r.y)), width(cv::saturate_cast(r.width)), height(cv::saturate_cast(r.height)) {} + template + operator cv::Rect_<_Tp>() const { return cv::Rect_<_Tp>((_Tp)x, (_Tp)y, (_Tp)width, (_Tp)height); } +#endif +} +CvRect; + +/** constructs CvRect structure. */ +CV_INLINE CvRect cvRect( int x, int y, int width, int height ) +{ + CvRect r; + + r.x = x; + r.y = y; + r.width = width; + r.height = height; + + return r; +} + + +CV_INLINE IplROI cvRectToROI( CvRect rect, int coi ) +{ + IplROI roi; + roi.xOffset = rect.x; + roi.yOffset = rect.y; + roi.width = rect.width; + roi.height = rect.height; + roi.coi = coi; + + return roi; +} + + +CV_INLINE CvRect cvROIToRect( IplROI roi ) +{ + return cvRect( roi.xOffset, roi.yOffset, roi.width, roi.height ); +} + +/*********************************** CvTermCriteria *************************************/ + +#define CV_TERMCRIT_ITER 1 +#define CV_TERMCRIT_NUMBER CV_TERMCRIT_ITER +#define CV_TERMCRIT_EPS 2 + +/** @sa TermCriteria + */ +typedef struct CvTermCriteria +{ + int type; /**< may be combination of + CV_TERMCRIT_ITER + CV_TERMCRIT_EPS */ + int max_iter; + double epsilon; + +#ifdef __cplusplus + CvTermCriteria(int _type = 0, int _iter = 0, double _eps = 0) : type(_type), max_iter(_iter), epsilon(_eps) {} + CvTermCriteria(const cv::TermCriteria& t) : type(t.type), max_iter(t.maxCount), epsilon(t.epsilon) {} + operator cv::TermCriteria() const { return cv::TermCriteria(type, max_iter, epsilon); } +#endif + +} +CvTermCriteria; + +CV_INLINE CvTermCriteria cvTermCriteria( int type, int max_iter, double epsilon ) +{ + CvTermCriteria t; + + t.type = type; + t.max_iter = max_iter; + t.epsilon = (float)epsilon; + + return t; +} + + +/******************************* CvPoint and variants ***********************************/ + +typedef struct CvPoint +{ + int x; + int y; + +#ifdef __cplusplus + CvPoint(int _x = 0, int _y = 0): x(_x), y(_y) {} + template + CvPoint(const cv::Point_<_Tp>& pt): x((int)pt.x), y((int)pt.y) {} + template + operator cv::Point_<_Tp>() const { return cv::Point_<_Tp>(cv::saturate_cast<_Tp>(x), cv::saturate_cast<_Tp>(y)); } +#endif +} +CvPoint; + +/** constructs CvPoint structure. */ +CV_INLINE CvPoint cvPoint( int x, int y ) +{ + CvPoint p; + + p.x = x; + p.y = y; + + return p; +} + + +typedef struct CvPoint2D32f +{ + float x; + float y; + +#ifdef __cplusplus + CvPoint2D32f(float _x = 0, float _y = 0): x(_x), y(_y) {} + template + CvPoint2D32f(const cv::Point_<_Tp>& pt): x((float)pt.x), y((float)pt.y) {} + template + operator cv::Point_<_Tp>() const { return cv::Point_<_Tp>(cv::saturate_cast<_Tp>(x), cv::saturate_cast<_Tp>(y)); } +#endif +} +CvPoint2D32f; + +/** constructs CvPoint2D32f structure. */ +CV_INLINE CvPoint2D32f cvPoint2D32f( double x, double y ) +{ + CvPoint2D32f p; + + p.x = (float)x; + p.y = (float)y; + + return p; +} + +/** converts CvPoint to CvPoint2D32f. */ +CV_INLINE CvPoint2D32f cvPointTo32f( CvPoint point ) +{ + return cvPoint2D32f( (float)point.x, (float)point.y ); +} + +/** converts CvPoint2D32f to CvPoint. */ +CV_INLINE CvPoint cvPointFrom32f( CvPoint2D32f point ) +{ + CvPoint ipt; + ipt.x = cvRound(point.x); + ipt.y = cvRound(point.y); + + return ipt; +} + + +typedef struct CvPoint3D32f +{ + float x; + float y; + float z; + +#ifdef __cplusplus + CvPoint3D32f(float _x = 0, float _y = 0, float _z = 0): x(_x), y(_y), z(_z) {} + template + CvPoint3D32f(const cv::Point3_<_Tp>& pt): x((float)pt.x), y((float)pt.y), z((float)pt.z) {} + template + operator cv::Point3_<_Tp>() const { return cv::Point3_<_Tp>(cv::saturate_cast<_Tp>(x), cv::saturate_cast<_Tp>(y), cv::saturate_cast<_Tp>(z)); } +#endif +} +CvPoint3D32f; + +/** constructs CvPoint3D32f structure. */ +CV_INLINE CvPoint3D32f cvPoint3D32f( double x, double y, double z ) +{ + CvPoint3D32f p; + + p.x = (float)x; + p.y = (float)y; + p.z = (float)z; + + return p; +} + + +typedef struct CvPoint2D64f +{ + double x; + double y; +} +CvPoint2D64f; + +/** constructs CvPoint2D64f structure.*/ +CV_INLINE CvPoint2D64f cvPoint2D64f( double x, double y ) +{ + CvPoint2D64f p; + + p.x = x; + p.y = y; + + return p; +} + + +typedef struct CvPoint3D64f +{ + double x; + double y; + double z; +} +CvPoint3D64f; + +/** constructs CvPoint3D64f structure. */ +CV_INLINE CvPoint3D64f cvPoint3D64f( double x, double y, double z ) +{ + CvPoint3D64f p; + + p.x = x; + p.y = y; + p.z = z; + + return p; +} + + +/******************************** CvSize's & CvBox **************************************/ + +typedef struct CvSize +{ + int width; + int height; + +#ifdef __cplusplus + CvSize(int w = 0, int h = 0): width(w), height(h) {} + template + CvSize(const cv::Size_<_Tp>& sz): width(cv::saturate_cast(sz.width)), height(cv::saturate_cast(sz.height)) {} + template + operator cv::Size_<_Tp>() const { return cv::Size_<_Tp>(cv::saturate_cast<_Tp>(width), cv::saturate_cast<_Tp>(height)); } +#endif +} +CvSize; + +/** constructs CvSize structure. */ +CV_INLINE CvSize cvSize( int width, int height ) +{ + CvSize s; + + s.width = width; + s.height = height; + + return s; +} + +typedef struct CvSize2D32f +{ + float width; + float height; + +#ifdef __cplusplus + CvSize2D32f(float w = 0, float h = 0): width(w), height(h) {} + template + CvSize2D32f(const cv::Size_<_Tp>& sz): width(cv::saturate_cast(sz.width)), height(cv::saturate_cast(sz.height)) {} + template + operator cv::Size_<_Tp>() const { return cv::Size_<_Tp>(cv::saturate_cast<_Tp>(width), cv::saturate_cast<_Tp>(height)); } +#endif +} +CvSize2D32f; + +/** constructs CvSize2D32f structure. */ +CV_INLINE CvSize2D32f cvSize2D32f( double width, double height ) +{ + CvSize2D32f s; + + s.width = (float)width; + s.height = (float)height; + + return s; +} + +/** @sa RotatedRect + */ +typedef struct CvBox2D +{ + CvPoint2D32f center; /**< Center of the box. */ + CvSize2D32f size; /**< Box width and length. */ + float angle; /**< Angle between the horizontal axis */ + /**< and the first side (i.e. length) in degrees */ + +#ifdef __cplusplus + CvBox2D(CvPoint2D32f c = CvPoint2D32f(), CvSize2D32f s = CvSize2D32f(), float a = 0) : center(c), size(s), angle(a) {} + CvBox2D(const cv::RotatedRect& rr) : center(rr.center), size(rr.size), angle(rr.angle) {} + operator cv::RotatedRect() const { return cv::RotatedRect(center, size, angle); } +#endif +} +CvBox2D; + + +/** Line iterator state: */ +typedef struct CvLineIterator +{ + /** Pointer to the current point: */ + uchar* ptr; + + /* Bresenham algorithm state: */ + int err; + int plus_delta; + int minus_delta; + int plus_step; + int minus_step; +} +CvLineIterator; + + + +/************************************* CvSlice ******************************************/ +#define CV_WHOLE_SEQ_END_INDEX 0x3fffffff +#define CV_WHOLE_SEQ cvSlice(0, CV_WHOLE_SEQ_END_INDEX) + +typedef struct CvSlice +{ + int start_index, end_index; + +#if defined(__cplusplus) && !defined(__CUDACC__) + CvSlice(int start = 0, int end = 0) : start_index(start), end_index(end) {} + CvSlice(const cv::Range& r) { *this = (r.start != INT_MIN && r.end != INT_MAX) ? CvSlice(r.start, r.end) : CvSlice(0, CV_WHOLE_SEQ_END_INDEX); } + operator cv::Range() const { return (start_index == 0 && end_index == CV_WHOLE_SEQ_END_INDEX ) ? cv::Range::all() : cv::Range(start_index, end_index); } +#endif +} +CvSlice; + +CV_INLINE CvSlice cvSlice( int start, int end ) +{ + CvSlice slice; + slice.start_index = start; + slice.end_index = end; + + return slice; +} + + + +/************************************* CvScalar *****************************************/ +/** @sa Scalar_ + */ +typedef struct CvScalar +{ + double val[4]; + +#ifdef __cplusplus + CvScalar() {} + CvScalar(double d0, double d1 = 0, double d2 = 0, double d3 = 0) { val[0] = d0; val[1] = d1; val[2] = d2; val[3] = d3; } + template + CvScalar(const cv::Scalar_<_Tp>& s) { val[0] = s.val[0]; val[1] = s.val[1]; val[2] = s.val[2]; val[3] = s.val[3]; } + template + operator cv::Scalar_<_Tp>() const { return cv::Scalar_<_Tp>(cv::saturate_cast<_Tp>(val[0]), cv::saturate_cast<_Tp>(val[1]), cv::saturate_cast<_Tp>(val[2]), cv::saturate_cast<_Tp>(val[3])); } + template + CvScalar(const cv::Vec<_Tp, cn>& v) + { + int i; + for( i = 0; i < (cn < 4 ? cn : 4); i++ ) val[i] = v.val[i]; + for( ; i < 4; i++ ) val[i] = 0; + } +#endif +} +CvScalar; + +CV_INLINE CvScalar cvScalar( double val0, double val1 CV_DEFAULT(0), + double val2 CV_DEFAULT(0), double val3 CV_DEFAULT(0)) +{ + CvScalar scalar; + scalar.val[0] = val0; scalar.val[1] = val1; + scalar.val[2] = val2; scalar.val[3] = val3; + return scalar; +} + + +CV_INLINE CvScalar cvRealScalar( double val0 ) +{ + CvScalar scalar; + scalar.val[0] = val0; + scalar.val[1] = scalar.val[2] = scalar.val[3] = 0; + return scalar; +} + +CV_INLINE CvScalar cvScalarAll( double val0123 ) +{ + CvScalar scalar; + scalar.val[0] = val0123; + scalar.val[1] = val0123; + scalar.val[2] = val0123; + scalar.val[3] = val0123; + return scalar; +} + +/****************************************************************************************\ +* Dynamic Data structures * +\****************************************************************************************/ + +/******************************** Memory storage ****************************************/ + +typedef struct CvMemBlock +{ + struct CvMemBlock* prev; + struct CvMemBlock* next; +} +CvMemBlock; + +#define CV_STORAGE_MAGIC_VAL 0x42890000 + +typedef struct CvMemStorage +{ + int signature; + CvMemBlock* bottom; /**< First allocated block. */ + CvMemBlock* top; /**< Current memory block - top of the stack. */ + struct CvMemStorage* parent; /**< We get new blocks from parent as needed. */ + int block_size; /**< Block size. */ + int free_space; /**< Remaining free space in current block. */ +} +CvMemStorage; + +#define CV_IS_STORAGE(storage) \ + ((storage) != NULL && \ + (((CvMemStorage*)(storage))->signature & CV_MAGIC_MASK) == CV_STORAGE_MAGIC_VAL) + + +typedef struct CvMemStoragePos +{ + CvMemBlock* top; + int free_space; +} +CvMemStoragePos; + + +/*********************************** Sequence *******************************************/ + +typedef struct CvSeqBlock +{ + struct CvSeqBlock* prev; /**< Previous sequence block. */ + struct CvSeqBlock* next; /**< Next sequence block. */ + int start_index; /**< Index of the first element in the block + */ + /**< sequence->first->start_index. */ + int count; /**< Number of elements in the block. */ + schar* data; /**< Pointer to the first element of the block. */ +} +CvSeqBlock; + + +#define CV_TREE_NODE_FIELDS(node_type) \ + int flags; /**< Miscellaneous flags. */ \ + int header_size; /**< Size of sequence header. */ \ + struct node_type* h_prev; /**< Previous sequence. */ \ + struct node_type* h_next; /**< Next sequence. */ \ + struct node_type* v_prev; /**< 2nd previous sequence. */ \ + struct node_type* v_next /**< 2nd next sequence. */ + +/** + Read/Write sequence. + Elements can be dynamically inserted to or deleted from the sequence. +*/ +#define CV_SEQUENCE_FIELDS() \ + CV_TREE_NODE_FIELDS(CvSeq); \ + int total; /**< Total number of elements. */ \ + int elem_size; /**< Size of sequence element in bytes. */ \ + schar* block_max; /**< Maximal bound of the last block. */ \ + schar* ptr; /**< Current write pointer. */ \ + int delta_elems; /**< Grow seq this many at a time. */ \ + CvMemStorage* storage; /**< Where the seq is stored. */ \ + CvSeqBlock* free_blocks; /**< Free blocks list. */ \ + CvSeqBlock* first; /**< Pointer to the first sequence block. */ + +typedef struct CvSeq +{ + CV_SEQUENCE_FIELDS() +} +CvSeq; + +#define CV_TYPE_NAME_SEQ "opencv-sequence" +#define CV_TYPE_NAME_SEQ_TREE "opencv-sequence-tree" + +/*************************************** Set ********************************************/ +/** @brief Set + Order is not preserved. There can be gaps between sequence elements. + After the element has been inserted it stays in the same place all the time. + The MSB(most-significant or sign bit) of the first field (flags) is 0 iff the element exists. +*/ +#define CV_SET_ELEM_FIELDS(elem_type) \ + int flags; \ + struct elem_type* next_free; + +typedef struct CvSetElem +{ + CV_SET_ELEM_FIELDS(CvSetElem) +} +CvSetElem; + +#define CV_SET_FIELDS() \ + CV_SEQUENCE_FIELDS() \ + CvSetElem* free_elems; \ + int active_count; + +typedef struct CvSet +{ + CV_SET_FIELDS() +} +CvSet; + + +#define CV_SET_ELEM_IDX_MASK ((1 << 26) - 1) +#define CV_SET_ELEM_FREE_FLAG (1 << (sizeof(int)*8-1)) + +/** Checks whether the element pointed by ptr belongs to a set or not */ +#define CV_IS_SET_ELEM( ptr ) (((CvSetElem*)(ptr))->flags >= 0) + +/************************************* Graph ********************************************/ + +/** @name Graph + +We represent a graph as a set of vertices. Vertices contain their adjacency lists (more exactly, +pointers to first incoming or outcoming edge (or 0 if isolated vertex)). Edges are stored in +another set. There is a singly-linked list of incoming/outcoming edges for each vertex. + +Each edge consists of: + +- Two pointers to the starting and ending vertices (vtx[0] and vtx[1] respectively). + + A graph may be oriented or not. In the latter case, edges between vertex i to vertex j are not +distinguished during search operations. + +- Two pointers to next edges for the starting and ending vertices, where next[0] points to the +next edge in the vtx[0] adjacency list and next[1] points to the next edge in the vtx[1] +adjacency list. + +@see CvGraphEdge, CvGraphVtx, CvGraphVtx2D, CvGraph +@{ +*/ +#define CV_GRAPH_EDGE_FIELDS() \ + int flags; \ + float weight; \ + struct CvGraphEdge* next[2]; \ + struct CvGraphVtx* vtx[2]; + + +#define CV_GRAPH_VERTEX_FIELDS() \ + int flags; \ + struct CvGraphEdge* first; + + +typedef struct CvGraphEdge +{ + CV_GRAPH_EDGE_FIELDS() +} +CvGraphEdge; + +typedef struct CvGraphVtx +{ + CV_GRAPH_VERTEX_FIELDS() +} +CvGraphVtx; + +typedef struct CvGraphVtx2D +{ + CV_GRAPH_VERTEX_FIELDS() + CvPoint2D32f* ptr; +} +CvGraphVtx2D; + +/** + Graph is "derived" from the set (this is set a of vertices) + and includes another set (edges) +*/ +#define CV_GRAPH_FIELDS() \ + CV_SET_FIELDS() \ + CvSet* edges; + +typedef struct CvGraph +{ + CV_GRAPH_FIELDS() +} +CvGraph; + +#define CV_TYPE_NAME_GRAPH "opencv-graph" + +/** @} */ + +/*********************************** Chain/Countour *************************************/ + +typedef struct CvChain +{ + CV_SEQUENCE_FIELDS() + CvPoint origin; +} +CvChain; + +#define CV_CONTOUR_FIELDS() \ + CV_SEQUENCE_FIELDS() \ + CvRect rect; \ + int color; \ + int reserved[3]; + +typedef struct CvContour +{ + CV_CONTOUR_FIELDS() +} +CvContour; + +typedef CvContour CvPoint2DSeq; + +/****************************************************************************************\ +* Sequence types * +\****************************************************************************************/ + +#define CV_SEQ_MAGIC_VAL 0x42990000 + +#define CV_IS_SEQ(seq) \ + ((seq) != NULL && (((CvSeq*)(seq))->flags & CV_MAGIC_MASK) == CV_SEQ_MAGIC_VAL) + +#define CV_SET_MAGIC_VAL 0x42980000 +#define CV_IS_SET(set) \ + ((set) != NULL && (((CvSeq*)(set))->flags & CV_MAGIC_MASK) == CV_SET_MAGIC_VAL) + +#define CV_SEQ_ELTYPE_BITS 12 +#define CV_SEQ_ELTYPE_MASK ((1 << CV_SEQ_ELTYPE_BITS) - 1) + +#define CV_SEQ_ELTYPE_POINT CV_32SC2 /**< (x,y) */ +#define CV_SEQ_ELTYPE_CODE CV_8UC1 /**< freeman code: 0..7 */ +#define CV_SEQ_ELTYPE_GENERIC 0 +#define CV_SEQ_ELTYPE_PTR CV_USRTYPE1 +#define CV_SEQ_ELTYPE_PPOINT CV_SEQ_ELTYPE_PTR /**< &(x,y) */ +#define CV_SEQ_ELTYPE_INDEX CV_32SC1 /**< #(x,y) */ +#define CV_SEQ_ELTYPE_GRAPH_EDGE 0 /**< &next_o, &next_d, &vtx_o, &vtx_d */ +#define CV_SEQ_ELTYPE_GRAPH_VERTEX 0 /**< first_edge, &(x,y) */ +#define CV_SEQ_ELTYPE_TRIAN_ATR 0 /**< vertex of the binary tree */ +#define CV_SEQ_ELTYPE_CONNECTED_COMP 0 /**< connected component */ +#define CV_SEQ_ELTYPE_POINT3D CV_32FC3 /**< (x,y,z) */ + +#define CV_SEQ_KIND_BITS 2 +#define CV_SEQ_KIND_MASK (((1 << CV_SEQ_KIND_BITS) - 1)<flags & CV_SEQ_ELTYPE_MASK) +#define CV_SEQ_KIND( seq ) ((seq)->flags & CV_SEQ_KIND_MASK ) + +/** flag checking */ +#define CV_IS_SEQ_INDEX( seq ) ((CV_SEQ_ELTYPE(seq) == CV_SEQ_ELTYPE_INDEX) && \ + (CV_SEQ_KIND(seq) == CV_SEQ_KIND_GENERIC)) + +#define CV_IS_SEQ_CURVE( seq ) (CV_SEQ_KIND(seq) == CV_SEQ_KIND_CURVE) +#define CV_IS_SEQ_CLOSED( seq ) (((seq)->flags & CV_SEQ_FLAG_CLOSED) != 0) +#define CV_IS_SEQ_CONVEX( seq ) 0 +#define CV_IS_SEQ_HOLE( seq ) (((seq)->flags & CV_SEQ_FLAG_HOLE) != 0) +#define CV_IS_SEQ_SIMPLE( seq ) 1 + +/** type checking macros */ +#define CV_IS_SEQ_POINT_SET( seq ) \ + ((CV_SEQ_ELTYPE(seq) == CV_32SC2 || CV_SEQ_ELTYPE(seq) == CV_32FC2)) + +#define CV_IS_SEQ_POINT_SUBSET( seq ) \ + (CV_IS_SEQ_INDEX( seq ) || CV_SEQ_ELTYPE(seq) == CV_SEQ_ELTYPE_PPOINT) + +#define CV_IS_SEQ_POLYLINE( seq ) \ + (CV_SEQ_KIND(seq) == CV_SEQ_KIND_CURVE && CV_IS_SEQ_POINT_SET(seq)) + +#define CV_IS_SEQ_POLYGON( seq ) \ + (CV_IS_SEQ_POLYLINE(seq) && CV_IS_SEQ_CLOSED(seq)) + +#define CV_IS_SEQ_CHAIN( seq ) \ + (CV_SEQ_KIND(seq) == CV_SEQ_KIND_CURVE && (seq)->elem_size == 1) + +#define CV_IS_SEQ_CONTOUR( seq ) \ + (CV_IS_SEQ_CLOSED(seq) && (CV_IS_SEQ_POLYLINE(seq) || CV_IS_SEQ_CHAIN(seq))) + +#define CV_IS_SEQ_CHAIN_CONTOUR( seq ) \ + (CV_IS_SEQ_CHAIN( seq ) && CV_IS_SEQ_CLOSED( seq )) + +#define CV_IS_SEQ_POLYGON_TREE( seq ) \ + (CV_SEQ_ELTYPE (seq) == CV_SEQ_ELTYPE_TRIAN_ATR && \ + CV_SEQ_KIND( seq ) == CV_SEQ_KIND_BIN_TREE ) + +#define CV_IS_GRAPH( seq ) \ + (CV_IS_SET(seq) && CV_SEQ_KIND((CvSet*)(seq)) == CV_SEQ_KIND_GRAPH) + +#define CV_IS_GRAPH_ORIENTED( seq ) \ + (((seq)->flags & CV_GRAPH_FLAG_ORIENTED) != 0) + +#define CV_IS_SUBDIV2D( seq ) \ + (CV_IS_SET(seq) && CV_SEQ_KIND((CvSet*)(seq)) == CV_SEQ_KIND_SUBDIV2D) + +/****************************************************************************************/ +/* Sequence writer & reader */ +/****************************************************************************************/ + +#define CV_SEQ_WRITER_FIELDS() \ + int header_size; \ + CvSeq* seq; /**< the sequence written */ \ + CvSeqBlock* block; /**< current block */ \ + schar* ptr; /**< pointer to free space */ \ + schar* block_min; /**< pointer to the beginning of block*/\ + schar* block_max; /**< pointer to the end of block */ + +typedef struct CvSeqWriter +{ + CV_SEQ_WRITER_FIELDS() +} +CvSeqWriter; + + +#define CV_SEQ_READER_FIELDS() \ + int header_size; \ + CvSeq* seq; /**< sequence, beign read */ \ + CvSeqBlock* block; /**< current block */ \ + schar* ptr; /**< pointer to element be read next */ \ + schar* block_min; /**< pointer to the beginning of block */\ + schar* block_max; /**< pointer to the end of block */ \ + int delta_index;/**< = seq->first->start_index */ \ + schar* prev_elem; /**< pointer to previous element */ + +typedef struct CvSeqReader +{ + CV_SEQ_READER_FIELDS() +} +CvSeqReader; + +/****************************************************************************************/ +/* Operations on sequences */ +/****************************************************************************************/ + +#define CV_SEQ_ELEM( seq, elem_type, index ) \ +/** assert gives some guarantee that parameter is valid */ \ +( assert(sizeof((seq)->first[0]) == sizeof(CvSeqBlock) && \ + (seq)->elem_size == sizeof(elem_type)), \ + (elem_type*)((seq)->first && (unsigned)index < \ + (unsigned)((seq)->first->count) ? \ + (seq)->first->data + (index) * sizeof(elem_type) : \ + cvGetSeqElem( (CvSeq*)(seq), (index) ))) +#define CV_GET_SEQ_ELEM( elem_type, seq, index ) CV_SEQ_ELEM( (seq), elem_type, (index) ) + +/** Add element to sequence: */ +#define CV_WRITE_SEQ_ELEM_VAR( elem_ptr, writer ) \ +{ \ + if( (writer).ptr >= (writer).block_max ) \ + { \ + cvCreateSeqBlock( &writer); \ + } \ + memcpy((writer).ptr, elem_ptr, (writer).seq->elem_size);\ + (writer).ptr += (writer).seq->elem_size; \ +} + +#define CV_WRITE_SEQ_ELEM( elem, writer ) \ +{ \ + assert( (writer).seq->elem_size == sizeof(elem)); \ + if( (writer).ptr >= (writer).block_max ) \ + { \ + cvCreateSeqBlock( &writer); \ + } \ + assert( (writer).ptr <= (writer).block_max - sizeof(elem));\ + memcpy((writer).ptr, &(elem), sizeof(elem)); \ + (writer).ptr += sizeof(elem); \ +} + + +/** Move reader position forward: */ +#define CV_NEXT_SEQ_ELEM( elem_size, reader ) \ +{ \ + if( ((reader).ptr += (elem_size)) >= (reader).block_max ) \ + { \ + cvChangeSeqBlock( &(reader), 1 ); \ + } \ +} + + +/** Move reader position backward: */ +#define CV_PREV_SEQ_ELEM( elem_size, reader ) \ +{ \ + if( ((reader).ptr -= (elem_size)) < (reader).block_min ) \ + { \ + cvChangeSeqBlock( &(reader), -1 ); \ + } \ +} + +/** Read element and move read position forward: */ +#define CV_READ_SEQ_ELEM( elem, reader ) \ +{ \ + assert( (reader).seq->elem_size == sizeof(elem)); \ + memcpy( &(elem), (reader).ptr, sizeof((elem))); \ + CV_NEXT_SEQ_ELEM( sizeof(elem), reader ) \ +} + +/** Read element and move read position backward: */ +#define CV_REV_READ_SEQ_ELEM( elem, reader ) \ +{ \ + assert( (reader).seq->elem_size == sizeof(elem)); \ + memcpy(&(elem), (reader).ptr, sizeof((elem))); \ + CV_PREV_SEQ_ELEM( sizeof(elem), reader ) \ +} + + +#define CV_READ_CHAIN_POINT( _pt, reader ) \ +{ \ + (_pt) = (reader).pt; \ + if( (reader).ptr ) \ + { \ + CV_READ_SEQ_ELEM( (reader).code, (reader)); \ + assert( ((reader).code & ~7) == 0 ); \ + (reader).pt.x += (reader).deltas[(int)(reader).code][0]; \ + (reader).pt.y += (reader).deltas[(int)(reader).code][1]; \ + } \ +} + +#define CV_CURRENT_POINT( reader ) (*((CvPoint*)((reader).ptr))) +#define CV_PREV_POINT( reader ) (*((CvPoint*)((reader).prev_elem))) + +#define CV_READ_EDGE( pt1, pt2, reader ) \ +{ \ + assert( sizeof(pt1) == sizeof(CvPoint) && \ + sizeof(pt2) == sizeof(CvPoint) && \ + reader.seq->elem_size == sizeof(CvPoint)); \ + (pt1) = CV_PREV_POINT( reader ); \ + (pt2) = CV_CURRENT_POINT( reader ); \ + (reader).prev_elem = (reader).ptr; \ + CV_NEXT_SEQ_ELEM( sizeof(CvPoint), (reader)); \ +} + +/************ Graph macros ************/ + +/** Return next graph edge for given vertex: */ +#define CV_NEXT_GRAPH_EDGE( edge, vertex ) \ + (assert((edge)->vtx[0] == (vertex) || (edge)->vtx[1] == (vertex)), \ + (edge)->next[(edge)->vtx[1] == (vertex)]) + + + +/****************************************************************************************\ +* Data structures for persistence (a.k.a serialization) functionality * +\****************************************************************************************/ + +/** "black box" file storage */ +typedef struct CvFileStorage CvFileStorage; + +/** Storage flags: */ +#define CV_STORAGE_READ 0 +#define CV_STORAGE_WRITE 1 +#define CV_STORAGE_WRITE_TEXT CV_STORAGE_WRITE +#define CV_STORAGE_WRITE_BINARY CV_STORAGE_WRITE +#define CV_STORAGE_APPEND 2 +#define CV_STORAGE_MEMORY 4 +#define CV_STORAGE_FORMAT_MASK (7<<3) +#define CV_STORAGE_FORMAT_AUTO 0 +#define CV_STORAGE_FORMAT_XML 8 +#define CV_STORAGE_FORMAT_YAML 16 +#define CV_STORAGE_FORMAT_JSON 24 +#define CV_STORAGE_BASE64 64 +#define CV_STORAGE_WRITE_BASE64 (CV_STORAGE_BASE64 | CV_STORAGE_WRITE) + +/** @brief List of attributes. : + +In the current implementation, attributes are used to pass extra parameters when writing user +objects (see cvWrite). XML attributes inside tags are not supported, aside from the object type +specification (type_id attribute). +@see cvAttrList, cvAttrValue + */ +typedef struct CvAttrList +{ + const char** attr; /**< NULL-terminated array of (attribute_name,attribute_value) pairs. */ + struct CvAttrList* next; /**< Pointer to next chunk of the attributes list. */ +} +CvAttrList; + +/** initializes CvAttrList structure */ +CV_INLINE CvAttrList cvAttrList( const char** attr CV_DEFAULT(NULL), + CvAttrList* next CV_DEFAULT(NULL) ) +{ + CvAttrList l; + l.attr = attr; + l.next = next; + + return l; +} + +struct CvTypeInfo; + +#define CV_NODE_NONE 0 +#define CV_NODE_INT 1 +#define CV_NODE_INTEGER CV_NODE_INT +#define CV_NODE_REAL 2 +#define CV_NODE_FLOAT CV_NODE_REAL +#define CV_NODE_STR 3 +#define CV_NODE_STRING CV_NODE_STR +#define CV_NODE_REF 4 /**< not used */ +#define CV_NODE_SEQ 5 +#define CV_NODE_MAP 6 +#define CV_NODE_TYPE_MASK 7 + +#define CV_NODE_TYPE(flags) ((flags) & CV_NODE_TYPE_MASK) + +/** file node flags */ +#define CV_NODE_FLOW 8 /**= CV_NODE_SEQ) +#define CV_NODE_IS_FLOW(flags) (((flags) & CV_NODE_FLOW) != 0) +#define CV_NODE_IS_EMPTY(flags) (((flags) & CV_NODE_EMPTY) != 0) +#define CV_NODE_IS_USER(flags) (((flags) & CV_NODE_USER) != 0) +#define CV_NODE_HAS_NAME(flags) (((flags) & CV_NODE_NAMED) != 0) + +#define CV_NODE_SEQ_SIMPLE 256 +#define CV_NODE_SEQ_IS_SIMPLE(seq) (((seq)->flags & CV_NODE_SEQ_SIMPLE) != 0) + +typedef struct CvString +{ + int len; + char* ptr; +} +CvString; + +/** All the keys (names) of elements in the readed file storage + are stored in the hash to speed up the lookup operations: */ +typedef struct CvStringHashNode +{ + unsigned hashval; + CvString str; + struct CvStringHashNode* next; +} +CvStringHashNode; + +typedef struct CvGenericHash CvFileNodeHash; + +/** Basic element of the file storage - scalar or collection: */ +typedef struct CvFileNode +{ + int tag; + struct CvTypeInfo* info; /**< type information + (only for user-defined object, for others it is 0) */ + union + { + double f; /**< scalar floating-point number */ + int i; /**< scalar integer number */ + CvString str; /**< text string */ + CvSeq* seq; /**< sequence (ordered collection of file nodes) */ + CvFileNodeHash* map; /**< map (collection of named file nodes) */ + } data; +} +CvFileNode; + +#ifdef __cplusplus +extern "C" { +#endif +typedef int (CV_CDECL *CvIsInstanceFunc)( const void* struct_ptr ); +typedef void (CV_CDECL *CvReleaseFunc)( void** struct_dblptr ); +typedef void* (CV_CDECL *CvReadFunc)( CvFileStorage* storage, CvFileNode* node ); +typedef void (CV_CDECL *CvWriteFunc)( CvFileStorage* storage, const char* name, + const void* struct_ptr, CvAttrList attributes ); +typedef void* (CV_CDECL *CvCloneFunc)( const void* struct_ptr ); +#ifdef __cplusplus +} +#endif + +/** @brief Type information + +The structure contains information about one of the standard or user-defined types. Instances of the +type may or may not contain a pointer to the corresponding CvTypeInfo structure. In any case, there +is a way to find the type info structure for a given object using the cvTypeOf function. +Alternatively, type info can be found by type name using cvFindType, which is used when an object +is read from file storage. The user can register a new type with cvRegisterType that adds the type +information structure into the beginning of the type list. Thus, it is possible to create +specialized types from generic standard types and override the basic methods. + */ +typedef struct CvTypeInfo +{ + int flags; /**< not used */ + int header_size; /**< sizeof(CvTypeInfo) */ + struct CvTypeInfo* prev; /**< previous registered type in the list */ + struct CvTypeInfo* next; /**< next registered type in the list */ + const char* type_name; /**< type name, written to file storage */ + CvIsInstanceFunc is_instance; /**< checks if the passed object belongs to the type */ + CvReleaseFunc release; /**< releases object (memory etc.) */ + CvReadFunc read; /**< reads object from file storage */ + CvWriteFunc write; /**< writes object to file storage */ + CvCloneFunc clone; /**< creates a copy of the object */ +} +CvTypeInfo; + + +/**** System data types ******/ + +typedef struct CvPluginFuncInfo +{ + void** func_addr; + void* default_func_addr; + const char* func_names; + int search_modules; + int loaded_from; +} +CvPluginFuncInfo; + +typedef struct CvModuleInfo +{ + struct CvModuleInfo* next; + const char* name; + const char* version; + CvPluginFuncInfo* func_tab; +} +CvModuleInfo; + +/** @} */ + +#endif /*OPENCV_CORE_TYPES_H*/ + +/* End of file. */ diff --git a/app/src/main/cpp/include/opencv2/core/utility.hpp b/app/src/main/cpp/include/opencv2/core/utility.hpp new file mode 100644 index 0000000..69d114e --- /dev/null +++ b/app/src/main/cpp/include/opencv2/core/utility.hpp @@ -0,0 +1,1239 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Copyright (C) 2015, Itseez Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_UTILITY_H +#define OPENCV_CORE_UTILITY_H + +#ifndef __cplusplus +# error utility.hpp header must be compiled as C++ +#endif + +#if defined(check) +# warning Detected Apple 'check' macro definition, it can cause build conflicts. Please, include this header before any Apple headers. +#endif + +#include "opencv2/core.hpp" +#include + +#ifdef CV_CXX11 +#include +#endif + +namespace cv +{ + +#ifdef CV_COLLECT_IMPL_DATA +CV_EXPORTS void setImpl(int flags); // set implementation flags and reset storage arrays +CV_EXPORTS void addImpl(int flag, const char* func = 0); // add implementation and function name to storage arrays +// Get stored implementation flags and functions names arrays +// Each implementation entry correspond to function name entry, so you can find which implementation was executed in which function +CV_EXPORTS int getImpl(std::vector &impl, std::vector &funName); + +CV_EXPORTS bool useCollection(); // return implementation collection state +CV_EXPORTS void setUseCollection(bool flag); // set implementation collection state + +#define CV_IMPL_PLAIN 0x01 // native CPU OpenCV implementation +#define CV_IMPL_OCL 0x02 // OpenCL implementation +#define CV_IMPL_IPP 0x04 // IPP implementation +#define CV_IMPL_MT 0x10 // multithreaded implementation + +#define CV_IMPL_ADD(impl) \ + if(cv::useCollection()) \ + { \ + cv::addImpl(impl, CV_Func); \ + } +#else +#define CV_IMPL_ADD(impl) +#endif + +//! @addtogroup core_utils +//! @{ + +/** @brief Automatically Allocated Buffer Class + + The class is used for temporary buffers in functions and methods. + If a temporary buffer is usually small (a few K's of memory), + but its size depends on the parameters, it makes sense to create a small + fixed-size array on stack and use it if it's large enough. If the required buffer size + is larger than the fixed size, another buffer of sufficient size is allocated dynamically + and released after the processing. Therefore, in typical cases, when the buffer size is small, + there is no overhead associated with malloc()/free(). + At the same time, there is no limit on the size of processed data. + + This is what AutoBuffer does. The template takes 2 parameters - type of the buffer elements and + the number of stack-allocated elements. Here is how the class is used: + + \code + void my_func(const cv::Mat& m) + { + cv::AutoBuffer buf(1000); // create automatic buffer containing 1000 floats + + buf.allocate(m.rows); // if m.rows <= 1000, the pre-allocated buffer is used, + // otherwise the buffer of "m.rows" floats will be allocated + // dynamically and deallocated in cv::AutoBuffer destructor + ... + } + \endcode +*/ +template class AutoBuffer +{ +public: + typedef _Tp value_type; + + //! the default constructor + AutoBuffer(); + //! constructor taking the real buffer size + AutoBuffer(size_t _size); + + //! the copy constructor + AutoBuffer(const AutoBuffer<_Tp, fixed_size>& buf); + //! the assignment operator + AutoBuffer<_Tp, fixed_size>& operator = (const AutoBuffer<_Tp, fixed_size>& buf); + + //! destructor. calls deallocate() + ~AutoBuffer(); + + //! allocates the new buffer of size _size. if the _size is small enough, stack-allocated buffer is used + void allocate(size_t _size); + //! deallocates the buffer if it was dynamically allocated + void deallocate(); + //! resizes the buffer and preserves the content + void resize(size_t _size); + //! returns the current buffer size + size_t size() const; + //! returns pointer to the real buffer, stack-allocated or heap-allocated + operator _Tp* (); + //! returns read-only pointer to the real buffer, stack-allocated or heap-allocated + operator const _Tp* () const; + +protected: + //! pointer to the real buffer, can point to buf if the buffer is small enough + _Tp* ptr; + //! size of the real buffer + size_t sz; + //! pre-allocated buffer. At least 1 element to confirm C++ standard requirements + _Tp buf[(fixed_size > 0) ? fixed_size : 1]; +}; + +/** @brief Sets/resets the break-on-error mode. + +When the break-on-error mode is set, the default error handler issues a hardware exception, which +can make debugging more convenient. + +\return the previous state + */ +CV_EXPORTS bool setBreakOnError(bool flag); + +extern "C" typedef int (*ErrorCallback)( int status, const char* func_name, + const char* err_msg, const char* file_name, + int line, void* userdata ); + + +/** @brief Sets the new error handler and the optional user data. + + The function sets the new error handler, called from cv::error(). + + \param errCallback the new error handler. If NULL, the default error handler is used. + \param userdata the optional user data pointer, passed to the callback. + \param prevUserdata the optional output parameter where the previous user data pointer is stored + + \return the previous error handler +*/ +CV_EXPORTS ErrorCallback redirectError( ErrorCallback errCallback, void* userdata=0, void** prevUserdata=0); + +/** @brief Returns a text string formatted using the printf-like expression. + +The function acts like sprintf but forms and returns an STL string. It can be used to form an error +message in the Exception constructor. +@param fmt printf-compatible formatting specifiers. + */ +CV_EXPORTS String format( const char* fmt, ... ); +CV_EXPORTS String tempfile( const char* suffix = 0); +CV_EXPORTS void glob(String pattern, std::vector& result, bool recursive = false); + +/** @brief OpenCV will try to set the number of threads for the next parallel region. + +If threads == 0, OpenCV will disable threading optimizations and run all it's functions +sequentially. Passing threads \< 0 will reset threads number to system default. This function must +be called outside of parallel region. + +OpenCV will try to run its functions with specified threads number, but some behaviour differs from +framework: +- `TBB` - User-defined parallel constructions will run with the same threads number, if + another is not specified. If later on user creates his own scheduler, OpenCV will use it. +- `OpenMP` - No special defined behaviour. +- `Concurrency` - If threads == 1, OpenCV will disable threading optimizations and run its + functions sequentially. +- `GCD` - Supports only values \<= 0. +- `C=` - No special defined behaviour. +@param nthreads Number of threads used by OpenCV. +@sa getNumThreads, getThreadNum + */ +CV_EXPORTS_W void setNumThreads(int nthreads); + +/** @brief Returns the number of threads used by OpenCV for parallel regions. + +Always returns 1 if OpenCV is built without threading support. + +The exact meaning of return value depends on the threading framework used by OpenCV library: +- `TBB` - The number of threads, that OpenCV will try to use for parallel regions. If there is + any tbb::thread_scheduler_init in user code conflicting with OpenCV, then function returns + default number of threads used by TBB library. +- `OpenMP` - An upper bound on the number of threads that could be used to form a new team. +- `Concurrency` - The number of threads, that OpenCV will try to use for parallel regions. +- `GCD` - Unsupported; returns the GCD thread pool limit (512) for compatibility. +- `C=` - The number of threads, that OpenCV will try to use for parallel regions, if before + called setNumThreads with threads \> 0, otherwise returns the number of logical CPUs, + available for the process. +@sa setNumThreads, getThreadNum + */ +CV_EXPORTS_W int getNumThreads(); + +/** @brief Returns the index of the currently executed thread within the current parallel region. Always +returns 0 if called outside of parallel region. + +The exact meaning of the return value depends on the threading framework used by OpenCV library: +- `TBB` - Unsupported with current 4.1 TBB release. Maybe will be supported in future. +- `OpenMP` - The thread number, within the current team, of the calling thread. +- `Concurrency` - An ID for the virtual processor that the current context is executing on (0 + for master thread and unique number for others, but not necessary 1,2,3,...). +- `GCD` - System calling thread's ID. Never returns 0 inside parallel region. +- `C=` - The index of the current parallel task. +@sa setNumThreads, getNumThreads + */ +CV_EXPORTS_W int getThreadNum(); + +/** @brief Returns full configuration time cmake output. + +Returned value is raw cmake output including version control system revision, compiler version, +compiler flags, enabled modules and third party libraries, etc. Output format depends on target +architecture. + */ +CV_EXPORTS_W const String& getBuildInformation(); + +/** @brief Returns the number of ticks. + +The function returns the number of ticks after the certain event (for example, when the machine was +turned on). It can be used to initialize RNG or to measure a function execution time by reading the +tick count before and after the function call. +@sa getTickFrequency, TickMeter + */ +CV_EXPORTS_W int64 getTickCount(); + +/** @brief Returns the number of ticks per second. + +The function returns the number of ticks per second. That is, the following code computes the +execution time in seconds: +@code + double t = (double)getTickCount(); + // do something ... + t = ((double)getTickCount() - t)/getTickFrequency(); +@endcode +@sa getTickCount, TickMeter + */ +CV_EXPORTS_W double getTickFrequency(); + +/** @brief a Class to measure passing time. + +The class computes passing time by counting the number of ticks per second. That is, the following code computes the +execution time in seconds: +@code +TickMeter tm; +tm.start(); +// do something ... +tm.stop(); +std::cout << tm.getTimeSec(); +@endcode + +It is also possible to compute the average time over multiple runs: +@code +TickMeter tm; +for (int i = 0; i < 100; i++) +{ + tm.start(); + // do something ... + tm.stop(); +} +double average_time = tm.getTimeSec() / tm.getCounter(); +std::cout << "Average time in second per iteration is: " << average_time << std::endl; +@endcode +@sa getTickCount, getTickFrequency +*/ + +class CV_EXPORTS_W TickMeter +{ +public: + //! the default constructor + CV_WRAP TickMeter() + { + reset(); + } + + /** + starts counting ticks. + */ + CV_WRAP void start() + { + startTime = cv::getTickCount(); + } + + /** + stops counting ticks. + */ + CV_WRAP void stop() + { + int64 time = cv::getTickCount(); + if (startTime == 0) + return; + ++counter; + sumTime += (time - startTime); + startTime = 0; + } + + /** + returns counted ticks. + */ + CV_WRAP int64 getTimeTicks() const + { + return sumTime; + } + + /** + returns passed time in microseconds. + */ + CV_WRAP double getTimeMicro() const + { + return getTimeMilli()*1e3; + } + + /** + returns passed time in milliseconds. + */ + CV_WRAP double getTimeMilli() const + { + return getTimeSec()*1e3; + } + + /** + returns passed time in seconds. + */ + CV_WRAP double getTimeSec() const + { + return (double)getTimeTicks() / getTickFrequency(); + } + + /** + returns internal counter value. + */ + CV_WRAP int64 getCounter() const + { + return counter; + } + + /** + resets internal values. + */ + CV_WRAP void reset() + { + startTime = 0; + sumTime = 0; + counter = 0; + } + +private: + int64 counter; + int64 sumTime; + int64 startTime; +}; + +/** @brief output operator +@code +TickMeter tm; +tm.start(); +// do something ... +tm.stop(); +std::cout << tm; +@endcode +*/ + +static inline +std::ostream& operator << (std::ostream& out, const TickMeter& tm) +{ + return out << tm.getTimeSec() << "sec"; +} + +/** @brief Returns the number of CPU ticks. + +The function returns the current number of CPU ticks on some architectures (such as x86, x64, +PowerPC). On other platforms the function is equivalent to getTickCount. It can also be used for +very accurate time measurements, as well as for RNG initialization. Note that in case of multi-CPU +systems a thread, from which getCPUTickCount is called, can be suspended and resumed at another CPU +with its own counter. So, theoretically (and practically) the subsequent calls to the function do +not necessary return the monotonously increasing values. Also, since a modern CPU varies the CPU +frequency depending on the load, the number of CPU clocks spent in some code cannot be directly +converted to time units. Therefore, getTickCount is generally a preferable solution for measuring +execution time. + */ +CV_EXPORTS_W int64 getCPUTickCount(); + +/** @brief Returns true if the specified feature is supported by the host hardware. + +The function returns true if the host hardware supports the specified feature. When user calls +setUseOptimized(false), the subsequent calls to checkHardwareSupport() will return false until +setUseOptimized(true) is called. This way user can dynamically switch on and off the optimized code +in OpenCV. +@param feature The feature of interest, one of cv::CpuFeatures + */ +CV_EXPORTS_W bool checkHardwareSupport(int feature); + +/** @brief Returns the number of logical CPUs available for the process. + */ +CV_EXPORTS_W int getNumberOfCPUs(); + + +/** @brief Aligns a pointer to the specified number of bytes. + +The function returns the aligned pointer of the same type as the input pointer: +\f[\texttt{(_Tp*)(((size_t)ptr + n-1) & -n)}\f] +@param ptr Aligned pointer. +@param n Alignment size that must be a power of two. + */ +template static inline _Tp* alignPtr(_Tp* ptr, int n=(int)sizeof(_Tp)) +{ + CV_DbgAssert((n & (n - 1)) == 0); // n is a power of 2 + return (_Tp*)(((size_t)ptr + n-1) & -n); +} + +/** @brief Aligns a buffer size to the specified number of bytes. + +The function returns the minimum number that is greater than or equal to sz and is divisible by n : +\f[\texttt{(sz + n-1) & -n}\f] +@param sz Buffer size to align. +@param n Alignment size that must be a power of two. + */ +static inline size_t alignSize(size_t sz, int n) +{ + CV_DbgAssert((n & (n - 1)) == 0); // n is a power of 2 + return (sz + n-1) & -n; +} + +/** @brief Integer division with result round up. + +Use this function instead of `ceil((float)a / b)` expressions. + +@sa alignSize +*/ +static inline int divUp(int a, unsigned int b) +{ + CV_DbgAssert(a >= 0); + return (a + b - 1) / b; +} +/** @overload */ +static inline size_t divUp(size_t a, unsigned int b) +{ + return (a + b - 1) / b; +} + +/** @brief Enables or disables the optimized code. + +The function can be used to dynamically turn on and off optimized code (code that uses SSE2, AVX, +and other instructions on the platforms that support it). It sets a global flag that is further +checked by OpenCV functions. Since the flag is not checked in the inner OpenCV loops, it is only +safe to call the function on the very top level in your application where you can be sure that no +other OpenCV function is currently executed. + +By default, the optimized code is enabled unless you disable it in CMake. The current status can be +retrieved using useOptimized. +@param onoff The boolean flag specifying whether the optimized code should be used (onoff=true) +or not (onoff=false). + */ +CV_EXPORTS_W void setUseOptimized(bool onoff); + +/** @brief Returns the status of optimized code usage. + +The function returns true if the optimized code is enabled. Otherwise, it returns false. + */ +CV_EXPORTS_W bool useOptimized(); + +static inline size_t getElemSize(int type) { return (size_t)CV_ELEM_SIZE(type); } + +/////////////////////////////// Parallel Primitives ////////////////////////////////// + +/** @brief Base class for parallel data processors +*/ +class CV_EXPORTS ParallelLoopBody +{ +public: + virtual ~ParallelLoopBody(); + virtual void operator() (const Range& range) const = 0; +}; + +/** @brief Parallel data processor +*/ +CV_EXPORTS void parallel_for_(const Range& range, const ParallelLoopBody& body, double nstripes=-1.); + +#ifdef CV_CXX11 +class ParallelLoopBodyLambdaWrapper : public ParallelLoopBody +{ +private: + std::function m_functor; +public: + ParallelLoopBodyLambdaWrapper(std::function functor) : + m_functor(functor) + { } + + virtual void operator() (const cv::Range& range) const + { + m_functor(range); + } +}; + +inline void parallel_for_(const Range& range, std::function functor, double nstripes=-1.) +{ + parallel_for_(range, ParallelLoopBodyLambdaWrapper(functor), nstripes); +} +#endif + +/////////////////////////////// forEach method of cv::Mat //////////////////////////// +template inline +void Mat::forEach_impl(const Functor& operation) { + if (false) { + operation(*reinterpret_cast<_Tp*>(0), reinterpret_cast(0)); + // If your compiler fails in this line. + // Please check that your functor signature is + // (_Tp&, const int*) <- multi-dimensional + // or (_Tp&, void*) <- in case you don't need current idx. + } + + CV_Assert(this->total() / this->size[this->dims - 1] <= INT_MAX); + const int LINES = static_cast(this->total() / this->size[this->dims - 1]); + + class PixelOperationWrapper :public ParallelLoopBody + { + public: + PixelOperationWrapper(Mat_<_Tp>* const frame, const Functor& _operation) + : mat(frame), op(_operation) {} + virtual ~PixelOperationWrapper(){} + // ! Overloaded virtual operator + // convert range call to row call. + virtual void operator()(const Range &range) const { + const int DIMS = mat->dims; + const int COLS = mat->size[DIMS - 1]; + if (DIMS <= 2) { + for (int row = range.start; row < range.end; ++row) { + this->rowCall2(row, COLS); + } + } else { + std::vector idx(DIMS); /// idx is modified in this->rowCall + idx[DIMS - 2] = range.start - 1; + + for (int line_num = range.start; line_num < range.end; ++line_num) { + idx[DIMS - 2]++; + for (int i = DIMS - 2; i >= 0; --i) { + if (idx[i] >= mat->size[i]) { + idx[i - 1] += idx[i] / mat->size[i]; + idx[i] %= mat->size[i]; + continue; // carry-over; + } + else { + break; + } + } + this->rowCall(&idx[0], COLS, DIMS); + } + } + } + private: + Mat_<_Tp>* const mat; + const Functor op; + // ! Call operator for each elements in this row. + inline void rowCall(int* const idx, const int COLS, const int DIMS) const { + int &col = idx[DIMS - 1]; + col = 0; + _Tp* pixel = &(mat->template at<_Tp>(idx)); + + while (col < COLS) { + op(*pixel, const_cast(idx)); + pixel++; col++; + } + col = 0; + } + // ! Call operator for each elements in this row. 2d mat special version. + inline void rowCall2(const int row, const int COLS) const { + union Index{ + int body[2]; + operator const int*() const { + return reinterpret_cast(this); + } + int& operator[](const int i) { + return body[i]; + } + } idx = {{row, 0}}; + // Special union is needed to avoid + // "error: array subscript is above array bounds [-Werror=array-bounds]" + // when call the functor `op` such that access idx[3]. + + _Tp* pixel = &(mat->template at<_Tp>(idx)); + const _Tp* const pixel_end = pixel + COLS; + while(pixel < pixel_end) { + op(*pixel++, static_cast(idx)); + idx[1]++; + } + } + PixelOperationWrapper& operator=(const PixelOperationWrapper &) { + CV_Assert(false); + // We can not remove this implementation because Visual Studio warning C4822. + return *this; + } + }; + + parallel_for_(cv::Range(0, LINES), PixelOperationWrapper(reinterpret_cast*>(this), operation)); +} + +/////////////////////////// Synchronization Primitives /////////////////////////////// + +class CV_EXPORTS Mutex +{ +public: + Mutex(); + ~Mutex(); + Mutex(const Mutex& m); + Mutex& operator = (const Mutex& m); + + void lock(); + bool trylock(); + void unlock(); + + struct Impl; +protected: + Impl* impl; +}; + +class CV_EXPORTS AutoLock +{ +public: + AutoLock(Mutex& m) : mutex(&m) { mutex->lock(); } + ~AutoLock() { mutex->unlock(); } +protected: + Mutex* mutex; +private: + AutoLock(const AutoLock&); + AutoLock& operator = (const AutoLock&); +}; + +// TLS interface +class CV_EXPORTS TLSDataContainer +{ +protected: + TLSDataContainer(); + virtual ~TLSDataContainer(); + + void gatherData(std::vector &data) const; +#if OPENCV_ABI_COMPATIBILITY > 300 + void* getData() const; + void release(); + +private: +#else + void release(); + +public: + void* getData() const; +#endif + virtual void* createDataInstance() const = 0; + virtual void deleteDataInstance(void* pData) const = 0; + + int key_; + +public: + void cleanup(); //! Release created TLS data container objects. It is similar to release() call, but it keeps TLS container valid. +}; + +// Main TLS data class +template +class TLSData : protected TLSDataContainer +{ +public: + inline TLSData() {} + inline ~TLSData() { release(); } // Release key and delete associated data + inline T* get() const { return (T*)getData(); } // Get data associated with key + inline T& getRef() const { T* ptr = (T*)getData(); CV_Assert(ptr); return *ptr; } // Get data associated with key + + // Get data from all threads + inline void gather(std::vector &data) const + { + std::vector &dataVoid = reinterpret_cast&>(data); + gatherData(dataVoid); + } + + inline void cleanup() { TLSDataContainer::cleanup(); } + +private: + virtual void* createDataInstance() const {return new T;} // Wrapper to allocate data by template + virtual void deleteDataInstance(void* pData) const {delete (T*)pData;} // Wrapper to release data by template + + // Disable TLS copy operations + TLSData(TLSData &) {} + TLSData& operator =(const TLSData &) {return *this;} +}; + +/** @brief Designed for command line parsing + +The sample below demonstrates how to use CommandLineParser: +@code + CommandLineParser parser(argc, argv, keys); + parser.about("Application name v1.0.0"); + + if (parser.has("help")) + { + parser.printMessage(); + return 0; + } + + int N = parser.get("N"); + double fps = parser.get("fps"); + String path = parser.get("path"); + + use_time_stamp = parser.has("timestamp"); + + String img1 = parser.get(0); + String img2 = parser.get(1); + + int repeat = parser.get(2); + + if (!parser.check()) + { + parser.printErrors(); + return 0; + } +@endcode + +### Keys syntax + +The keys parameter is a string containing several blocks, each one is enclosed in curly braces and +describes one argument. Each argument contains three parts separated by the `|` symbol: + +-# argument names is a space-separated list of option synonyms (to mark argument as positional, prefix it with the `@` symbol) +-# default value will be used if the argument was not provided (can be empty) +-# help message (can be empty) + +For example: + +@code{.cpp} + const String keys = + "{help h usage ? | | print this message }" + "{@image1 | | image1 for compare }" + "{@image2 || image2 for compare }" + "{@repeat |1 | number }" + "{path |. | path to file }" + "{fps | -1.0 | fps for output video }" + "{N count |100 | count of objects }" + "{ts timestamp | | use time stamp }" + ; +} +@endcode + +Note that there are no default values for `help` and `timestamp` so we can check their presence using the `has()` method. +Arguments with default values are considered to be always present. Use the `get()` method in these cases to check their +actual value instead. + +String keys like `get("@image1")` return the empty string `""` by default - even with an empty default value. +Use the special `` default value to enforce that the returned string must not be empty. (like in `get("@image2")`) + +### Usage + +For the described keys: + +@code{.sh} + # Good call (3 positional parameters: image1, image2 and repeat; N is 200, ts is true) + $ ./app -N=200 1.png 2.jpg 19 -ts + + # Bad call + $ ./app -fps=aaa + ERRORS: + Parameter 'fps': can not convert: [aaa] to [double] +@endcode + */ +class CV_EXPORTS CommandLineParser +{ +public: + + /** @brief Constructor + + Initializes command line parser object + + @param argc number of command line arguments (from main()) + @param argv array of command line arguments (from main()) + @param keys string describing acceptable command line parameters (see class description for syntax) + */ + CommandLineParser(int argc, const char* const argv[], const String& keys); + + /** @brief Copy constructor */ + CommandLineParser(const CommandLineParser& parser); + + /** @brief Assignment operator */ + CommandLineParser& operator = (const CommandLineParser& parser); + + /** @brief Destructor */ + ~CommandLineParser(); + + /** @brief Returns application path + + This method returns the path to the executable from the command line (`argv[0]`). + + For example, if the application has been started with such a command: + @code{.sh} + $ ./bin/my-executable + @endcode + this method will return `./bin`. + */ + String getPathToApplication() const; + + /** @brief Access arguments by name + + Returns argument converted to selected type. If the argument is not known or can not be + converted to selected type, the error flag is set (can be checked with @ref check). + + For example, define: + @code{.cpp} + String keys = "{N count||}"; + @endcode + + Call: + @code{.sh} + $ ./my-app -N=20 + # or + $ ./my-app --count=20 + @endcode + + Access: + @code{.cpp} + int N = parser.get("N"); + @endcode + + @param name name of the argument + @param space_delete remove spaces from the left and right of the string + @tparam T the argument will be converted to this type if possible + + @note You can access positional arguments by their `@`-prefixed name: + @code{.cpp} + parser.get("@image"); + @endcode + */ + template + T get(const String& name, bool space_delete = true) const + { + T val = T(); + getByName(name, space_delete, ParamType::type, (void*)&val); + return val; + } + + /** @brief Access positional arguments by index + + Returns argument converted to selected type. Indexes are counted from zero. + + For example, define: + @code{.cpp} + String keys = "{@arg1||}{@arg2||}" + @endcode + + Call: + @code{.sh} + ./my-app abc qwe + @endcode + + Access arguments: + @code{.cpp} + String val_1 = parser.get(0); // returns "abc", arg1 + String val_2 = parser.get(1); // returns "qwe", arg2 + @endcode + + @param index index of the argument + @param space_delete remove spaces from the left and right of the string + @tparam T the argument will be converted to this type if possible + */ + template + T get(int index, bool space_delete = true) const + { + T val = T(); + getByIndex(index, space_delete, ParamType::type, (void*)&val); + return val; + } + + /** @brief Check if field was provided in the command line + + @param name argument name to check + */ + bool has(const String& name) const; + + /** @brief Check for parsing errors + + Returns true if error occurred while accessing the parameters (bad conversion, missing arguments, + etc.). Call @ref printErrors to print error messages list. + */ + bool check() const; + + /** @brief Set the about message + + The about message will be shown when @ref printMessage is called, right before arguments table. + */ + void about(const String& message); + + /** @brief Print help message + + This method will print standard help message containing the about message and arguments description. + + @sa about + */ + void printMessage() const; + + /** @brief Print list of errors occurred + + @sa check + */ + void printErrors() const; + +protected: + void getByName(const String& name, bool space_delete, int type, void* dst) const; + void getByIndex(int index, bool space_delete, int type, void* dst) const; + + struct Impl; + Impl* impl; +}; + +//! @} core_utils + +//! @cond IGNORED + +/////////////////////////////// AutoBuffer implementation //////////////////////////////////////// + +template inline +AutoBuffer<_Tp, fixed_size>::AutoBuffer() +{ + ptr = buf; + sz = fixed_size; +} + +template inline +AutoBuffer<_Tp, fixed_size>::AutoBuffer(size_t _size) +{ + ptr = buf; + sz = fixed_size; + allocate(_size); +} + +template inline +AutoBuffer<_Tp, fixed_size>::AutoBuffer(const AutoBuffer<_Tp, fixed_size>& abuf ) +{ + ptr = buf; + sz = fixed_size; + allocate(abuf.size()); + for( size_t i = 0; i < sz; i++ ) + ptr[i] = abuf.ptr[i]; +} + +template inline AutoBuffer<_Tp, fixed_size>& +AutoBuffer<_Tp, fixed_size>::operator = (const AutoBuffer<_Tp, fixed_size>& abuf) +{ + if( this != &abuf ) + { + deallocate(); + allocate(abuf.size()); + for( size_t i = 0; i < sz; i++ ) + ptr[i] = abuf.ptr[i]; + } + return *this; +} + +template inline +AutoBuffer<_Tp, fixed_size>::~AutoBuffer() +{ deallocate(); } + +template inline void +AutoBuffer<_Tp, fixed_size>::allocate(size_t _size) +{ + if(_size <= sz) + { + sz = _size; + return; + } + deallocate(); + sz = _size; + if(_size > fixed_size) + { + ptr = new _Tp[_size]; + } +} + +template inline void +AutoBuffer<_Tp, fixed_size>::deallocate() +{ + if( ptr != buf ) + { + delete[] ptr; + ptr = buf; + sz = fixed_size; + } +} + +template inline void +AutoBuffer<_Tp, fixed_size>::resize(size_t _size) +{ + if(_size <= sz) + { + sz = _size; + return; + } + size_t i, prevsize = sz, minsize = MIN(prevsize, _size); + _Tp* prevptr = ptr; + + ptr = _size > fixed_size ? new _Tp[_size] : buf; + sz = _size; + + if( ptr != prevptr ) + for( i = 0; i < minsize; i++ ) + ptr[i] = prevptr[i]; + for( i = prevsize; i < _size; i++ ) + ptr[i] = _Tp(); + + if( prevptr != buf ) + delete[] prevptr; +} + +template inline size_t +AutoBuffer<_Tp, fixed_size>::size() const +{ return sz; } + +template inline +AutoBuffer<_Tp, fixed_size>::operator _Tp* () +{ return ptr; } + +template inline +AutoBuffer<_Tp, fixed_size>::operator const _Tp* () const +{ return ptr; } + +template<> inline std::string CommandLineParser::get(int index, bool space_delete) const +{ + return get(index, space_delete); +} +template<> inline std::string CommandLineParser::get(const String& name, bool space_delete) const +{ + return get(name, space_delete); +} + +//! @endcond + + +// Basic Node class for tree building +template +class CV_EXPORTS Node +{ +public: + Node() + { + m_pParent = 0; + } + Node(OBJECT& payload) : m_payload(payload) + { + m_pParent = 0; + } + ~Node() + { + removeChilds(); + if (m_pParent) + { + int idx = m_pParent->findChild(this); + if (idx >= 0) + m_pParent->m_childs.erase(m_pParent->m_childs.begin() + idx); + } + } + + Node* findChild(OBJECT& payload) const + { + for(size_t i = 0; i < this->m_childs.size(); i++) + { + if(this->m_childs[i]->m_payload == payload) + return this->m_childs[i]; + } + return NULL; + } + + int findChild(Node *pNode) const + { + for (size_t i = 0; i < this->m_childs.size(); i++) + { + if(this->m_childs[i] == pNode) + return (int)i; + } + return -1; + } + + void addChild(Node *pNode) + { + if(!pNode) + return; + + CV_Assert(pNode->m_pParent == 0); + pNode->m_pParent = this; + this->m_childs.push_back(pNode); + } + + void removeChilds() + { + for(size_t i = 0; i < m_childs.size(); i++) + { + m_childs[i]->m_pParent = 0; // avoid excessive parent vector trimming + delete m_childs[i]; + } + m_childs.clear(); + } + + int getDepth() + { + int count = 0; + Node *pParent = m_pParent; + while(pParent) count++, pParent = pParent->m_pParent; + return count; + } + +public: + OBJECT m_payload; + Node* m_pParent; + std::vector*> m_childs; +}; + +// Instrumentation external interface +namespace instr +{ + +#if !defined OPENCV_ABI_CHECK + +enum TYPE +{ + TYPE_GENERAL = 0, // OpenCV API function, e.g. exported function + TYPE_MARKER, // Information marker + TYPE_WRAPPER, // Wrapper function for implementation + TYPE_FUN, // Simple function call +}; + +enum IMPL +{ + IMPL_PLAIN = 0, + IMPL_IPP, + IMPL_OPENCL, +}; + +struct NodeDataTls +{ + NodeDataTls() + { + m_ticksTotal = 0; + } + uint64 m_ticksTotal; +}; + +class CV_EXPORTS NodeData +{ +public: + NodeData(const char* funName = 0, const char* fileName = NULL, int lineNum = 0, void* retAddress = NULL, bool alwaysExpand = false, cv::instr::TYPE instrType = TYPE_GENERAL, cv::instr::IMPL implType = IMPL_PLAIN); + NodeData(NodeData &ref); + ~NodeData(); + NodeData& operator=(const NodeData&); + + cv::String m_funName; + cv::instr::TYPE m_instrType; + cv::instr::IMPL m_implType; + const char* m_fileName; + int m_lineNum; + void* m_retAddress; + bool m_alwaysExpand; + bool m_funError; + + volatile int m_counter; + volatile uint64 m_ticksTotal; + TLSData m_tls; + int m_threads; + + // No synchronization + double getTotalMs() const { return ((double)m_ticksTotal / cv::getTickFrequency()) * 1000; } + double getMeanMs() const { return (((double)m_ticksTotal/m_counter) / cv::getTickFrequency()) * 1000; } +}; +bool operator==(const NodeData& lhs, const NodeData& rhs); + +typedef Node InstrNode; + +CV_EXPORTS InstrNode* getTrace(); + +#endif // !defined OPENCV_ABI_CHECK + + +CV_EXPORTS bool useInstrumentation(); +CV_EXPORTS void setUseInstrumentation(bool flag); +CV_EXPORTS void resetTrace(); + +enum FLAGS +{ + FLAGS_NONE = 0, + FLAGS_MAPPING = 0x01, + FLAGS_EXPAND_SAME_NAMES = 0x02, +}; + +CV_EXPORTS void setFlags(FLAGS modeFlags); +static inline void setFlags(int modeFlags) { setFlags((FLAGS)modeFlags); } +CV_EXPORTS FLAGS getFlags(); +} + +namespace utils { + +CV_EXPORTS int getThreadID(); + +} // namespace + +} //namespace cv + +#ifndef DISABLE_OPENCV_24_COMPATIBILITY +#include "opencv2/core/core_c.h" +#endif + +#endif //OPENCV_CORE_UTILITY_H diff --git a/app/src/main/cpp/include/opencv2/core/utils/logger.hpp b/app/src/main/cpp/include/opencv2/core/utils/logger.hpp new file mode 100644 index 0000000..c7b31ea --- /dev/null +++ b/app/src/main/cpp/include/opencv2/core/utils/logger.hpp @@ -0,0 +1,85 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef OPENCV_LOGGING_HPP +#define OPENCV_LOGGING_HPP + +#include +#include +#include // INT_MAX + +// TODO This file contains just interface part with implementation stubs. + +//! @addtogroup core_logging +// This section describes OpenCV logging utilities. +// +//! @{ + +namespace cv { +namespace utils { +namespace logging { + +// Supported logging levels and their semantic +#define CV_LOG_LEVEL_SILENT 0 //!< for using in setLogVevel() call +#define CV_LOG_LEVEL_FATAL 1 //!< Fatal (critical) error (unrecoverable internal error) +#define CV_LOG_LEVEL_ERROR 2 //!< Error message +#define CV_LOG_LEVEL_WARN 3 //!< Warning message +#define CV_LOG_LEVEL_INFO 4 //!< Info message +#define CV_LOG_LEVEL_DEBUG 5 //!< Debug message. Disabled in the "Release" build. +#define CV_LOG_LEVEL_VERBOSE 6 //!< Verbose (trace) messages. Requires verbosity level. Disabled in the "Release" build. + +//! Supported logging levels and their semantic +enum LogLevel { + LOG_LEVEL_SILENT = 0, //!< for using in setLogVevel() call + LOG_LEVEL_FATAL = 1, //!< Fatal (critical) error (unrecoverable internal error) + LOG_LEVEL_ERROR = 2, //!< Error message + LOG_LEVEL_WARNING = 3, //!< Warning message + LOG_LEVEL_INFO = 4, //!< Info message + LOG_LEVEL_DEBUG = 5, //!< Debug message. Disabled in the "Release" build. + LOG_LEVEL_VERBOSE = 6, //!< Verbose (trace) messages. Requires verbosity level. Disabled in the "Release" build. +#ifndef CV_DOXYGEN + ENUM_LOG_LEVEL_FORCE_INT = INT_MAX +#endif +}; + + +/** + * \def CV_LOG_STRIP_LEVEL + * + * Define CV_LOG_STRIP_LEVEL=CV_LOG_LEVEL_[DEBUG|INFO|WARN|ERROR|FATAL|DISABLED] to compile out anything at that and before that logging level + */ +#ifndef CV_LOG_STRIP_LEVEL +# if defined NDEBUG +# define CV_LOG_STRIP_LEVEL CV_LOG_LEVEL_DEBUG +# else +# define CV_LOG_STRIP_LEVEL CV_LOG_LEVEL_VERBOSE +# endif +#endif + + +#define CV_LOG_FATAL(tag, ...) for(;;) { std::stringstream ss; ss << "[FATAL:" << cv::utils::getThreadID() << "] " << __VA_ARGS__ << std::endl; std::cerr << ss.str(); break; } +#define CV_LOG_ERROR(tag, ...) for(;;) { std::stringstream ss; ss << "[ERROR:" << cv::utils::getThreadID() << "] " << __VA_ARGS__ << std::endl; std::cerr << ss.str(); break; } +#define CV_LOG_WARNING(tag, ...) for(;;) { std::stringstream ss; ss << "[ WARN:" << cv::utils::getThreadID() << "] " << __VA_ARGS__ << std::endl; std::cout << ss.str(); break; } +#if CV_LOG_STRIP_LEVEL <= CV_LOG_LEVEL_INFO +#define CV_LOG_INFO(tag, ...) +#else +#define CV_LOG_INFO(tag, ...) for(;;) { std::stringstream ss; ss << "[ INFO:" << cv::utils::getThreadID() << "] " << __VA_ARGS__ << std::endl; std::cout << ss.str(); break; } +#endif +#if CV_LOG_STRIP_LEVEL <= CV_LOG_LEVEL_DEBUG +#define CV_LOG_DEBUG(tag, ...) +#else +#define CV_LOG_DEBUG(tag, ...) for(;;) { std::stringstream ss; ss << "[DEBUG:" << cv::utils::getThreadID() << "] " << __VA_ARGS__ << std::endl; std::cout << ss.str(); break; } +#endif +#if CV_LOG_STRIP_LEVEL <= CV_LOG_LEVEL_VERBOSE +#define CV_LOG_VERBOSE(tag, v, ...) +#else +#define CV_LOG_VERBOSE(tag, v, ...) for(;;) { std::stringstream ss; ss << "[VERB" << v << ":" << cv::utils::getThreadID() << "] " << __VA_ARGS__ << std::endl; std::cout << ss.str(); break; } +#endif + + +}}} // namespace + +//! @} + +#endif // OPENCV_LOGGING_HPP diff --git a/app/src/main/cpp/include/opencv2/core/utils/trace.hpp b/app/src/main/cpp/include/opencv2/core/utils/trace.hpp new file mode 100644 index 0000000..1539fb9 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/core/utils/trace.hpp @@ -0,0 +1,250 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef OPENCV_TRACE_HPP +#define OPENCV_TRACE_HPP + +#include + +//! @addtogroup core_logging +// This section describes OpenCV tracing utilities. +// +//! @{ + +namespace cv { +namespace utils { +namespace trace { + +//! Macro to trace function +#define CV_TRACE_FUNCTION() + +#define CV_TRACE_FUNCTION_SKIP_NESTED() + +//! Trace code scope. +//! @note Dynamic names are not supported in this macro (on stack or heap). Use string literals here only, like "initialize". +#define CV_TRACE_REGION(name_as_static_string_literal) +//! mark completed of the current opened region and create new one +//! @note Dynamic names are not supported in this macro (on stack or heap). Use string literals here only, like "step1". +#define CV_TRACE_REGION_NEXT(name_as_static_string_literal) + +//! Macro to trace argument value +#define CV_TRACE_ARG(arg_id) + +//! Macro to trace argument value (expanded version) +#define CV_TRACE_ARG_VALUE(arg_id, arg_name, value) + +//! @cond IGNORED +#define CV_TRACE_NS cv::utils::trace + +namespace details { + +#ifndef __OPENCV_TRACE +# if defined __OPENCV_BUILD && !defined __OPENCV_TESTS && !defined __OPENCV_APPS +# define __OPENCV_TRACE 1 +# else +# define __OPENCV_TRACE 0 +# endif +#endif + +#ifndef CV_TRACE_FILENAME +# define CV_TRACE_FILENAME __FILE__ +#endif + +#ifndef CV__TRACE_FUNCTION +# if defined _MSC_VER +# define CV__TRACE_FUNCTION __FUNCSIG__ +# elif defined __GNUC__ +# define CV__TRACE_FUNCTION __PRETTY_FUNCTION__ +# else +# define CV__TRACE_FUNCTION "" +# endif +#endif + +//! Thread-local instance (usually allocated on stack) +class CV_EXPORTS Region +{ +public: + struct LocationExtraData; + struct LocationStaticStorage + { + LocationExtraData** ppExtra; //< implementation specific data + const char* name; //< region name (function name or other custom name) + const char* filename; //< source code filename + int line; //< source code line + int flags; //< flags (implementation code path: Plain, IPP, OpenCL) + }; + + Region(const LocationStaticStorage& location); + inline ~Region() + { + if (implFlags != 0) + destroy(); + CV_DbgAssert(implFlags == 0); + CV_DbgAssert(pImpl == NULL); + } + + class Impl; + Impl* pImpl; // NULL if current region is not active + int implFlags; // see RegionFlag, 0 if region is ignored + + bool isActive() const { return pImpl != NULL; } + + void destroy(); +private: + Region(const Region&); // disabled + Region& operator= (const Region&); // disabled +}; + +//! Specify region flags +enum RegionLocationFlag { + REGION_FLAG_FUNCTION = (1 << 0), //< region is function (=1) / nested named region (=0) + REGION_FLAG_APP_CODE = (1 << 1), //< region is Application code (=1) / OpenCV library code (=0) + REGION_FLAG_SKIP_NESTED = (1 << 2), //< avoid processing of nested regions + + REGION_FLAG_IMPL_IPP = (1 << 16), //< region is part of IPP code path + REGION_FLAG_IMPL_OPENCL = (2 << 16), //< region is part of OpenCL code path + REGION_FLAG_IMPL_OPENVX = (3 << 16), //< region is part of OpenVX code path + + REGION_FLAG_IMPL_MASK = (15 << 16), + + REGION_FLAG_REGION_FORCE = (1 << 30), + REGION_FLAG_REGION_NEXT = (1 << 31), //< close previous region (see #CV_TRACE_REGION_NEXT macro) + + ENUM_REGION_FLAG_FORCE_INT = INT_MAX +}; + +struct CV_EXPORTS TraceArg { +public: + struct ExtraData; + ExtraData** ppExtra; + const char* name; + int flags; +}; +/** @brief Add meta information to current region (function) + * See CV_TRACE_ARG macro + * @param arg argument information structure (global static cache) + * @param value argument value (can by dynamic string literal in case of string, static allocation is not required) + */ +CV_EXPORTS void traceArg(const TraceArg& arg, const char* value); +//! @overload +CV_EXPORTS void traceArg(const TraceArg& arg, int value); +//! @overload +CV_EXPORTS void traceArg(const TraceArg& arg, int64 value); +//! @overload +CV_EXPORTS void traceArg(const TraceArg& arg, double value); + +#define CV__TRACE_LOCATION_VARNAME(loc_id) CVAUX_CONCAT(CVAUX_CONCAT(__cv_trace_location_, loc_id), __LINE__) +#define CV__TRACE_LOCATION_EXTRA_VARNAME(loc_id) CVAUX_CONCAT(CVAUX_CONCAT(__cv_trace_location_extra_, loc_id) , __LINE__) + +#define CV__TRACE_DEFINE_LOCATION_(loc_id, name, flags) \ + static CV_TRACE_NS::details::Region::LocationExtraData* CV__TRACE_LOCATION_EXTRA_VARNAME(loc_id) = 0; \ + static const CV_TRACE_NS::details::Region::LocationStaticStorage \ + CV__TRACE_LOCATION_VARNAME(loc_id) = { &(CV__TRACE_LOCATION_EXTRA_VARNAME(loc_id)), name, CV_TRACE_FILENAME, __LINE__, flags}; + +#define CV__TRACE_DEFINE_LOCATION_FN(name, flags) CV__TRACE_DEFINE_LOCATION_(fn, name, (flags | CV_TRACE_NS::details::REGION_FLAG_FUNCTION)) + + +#define CV__TRACE_OPENCV_FUNCTION() \ + CV__TRACE_DEFINE_LOCATION_FN(CV__TRACE_FUNCTION, 0); \ + const CV_TRACE_NS::details::Region __region_fn(CV__TRACE_LOCATION_VARNAME(fn)); + +#define CV__TRACE_OPENCV_FUNCTION_NAME(name) \ + CV__TRACE_DEFINE_LOCATION_FN(name, 0); \ + const CV_TRACE_NS::details::Region __region_fn(CV__TRACE_LOCATION_VARNAME(fn)); + +#define CV__TRACE_APP_FUNCTION() \ + CV__TRACE_DEFINE_LOCATION_FN(CV__TRACE_FUNCTION, CV_TRACE_NS::details::REGION_FLAG_APP_CODE); \ + const CV_TRACE_NS::details::Region __region_fn(CV__TRACE_LOCATION_VARNAME(fn)); + +#define CV__TRACE_APP_FUNCTION_NAME(name) \ + CV__TRACE_DEFINE_LOCATION_FN(name, CV_TRACE_NS::details::REGION_FLAG_APP_CODE); \ + const CV_TRACE_NS::details::Region __region_fn(CV__TRACE_LOCATION_VARNAME(fn)); + + +#define CV__TRACE_OPENCV_FUNCTION_SKIP_NESTED() \ + CV__TRACE_DEFINE_LOCATION_FN(CV__TRACE_FUNCTION, CV_TRACE_NS::details::REGION_FLAG_SKIP_NESTED); \ + const CV_TRACE_NS::details::Region __region_fn(CV__TRACE_LOCATION_VARNAME(fn)); + +#define CV__TRACE_OPENCV_FUNCTION_NAME_SKIP_NESTED(name) \ + CV__TRACE_DEFINE_LOCATION_FN(name, CV_TRACE_NS::details::REGION_FLAG_SKIP_NESTED); \ + const CV_TRACE_NS::details::Region __region_fn(CV__TRACE_LOCATION_VARNAME(fn)); + +#define CV__TRACE_APP_FUNCTION_SKIP_NESTED() \ + CV__TRACE_DEFINE_LOCATION_FN(CV__TRACE_FUNCTION, CV_TRACE_NS::details::REGION_FLAG_SKIP_NESTED | CV_TRACE_NS::details::REGION_FLAG_APP_CODE); \ + const CV_TRACE_NS::details::Region __region_fn(CV__TRACE_LOCATION_VARNAME(fn)); + + +#define CV__TRACE_REGION_(name_as_static_string_literal, flags) \ + CV__TRACE_DEFINE_LOCATION_(region, name_as_static_string_literal, flags); \ + CV_TRACE_NS::details::Region CVAUX_CONCAT(__region_, __LINE__)(CV__TRACE_LOCATION_VARNAME(region)); + +#define CV__TRACE_REGION(name_as_static_string_literal) CV__TRACE_REGION_(name_as_static_string_literal, 0) +#define CV__TRACE_REGION_NEXT(name_as_static_string_literal) CV__TRACE_REGION_(name_as_static_string_literal, CV_TRACE_NS::details::REGION_FLAG_REGION_NEXT) + +#define CV__TRACE_ARG_VARNAME(arg_id) CVAUX_CONCAT(__cv_trace_arg_ ## arg_id, __LINE__) +#define CV__TRACE_ARG_EXTRA_VARNAME(arg_id) CVAUX_CONCAT(__cv_trace_arg_extra_ ## arg_id, __LINE__) + +#define CV__TRACE_DEFINE_ARG_(arg_id, name, flags) \ + static CV_TRACE_NS::details::TraceArg::ExtraData* CV__TRACE_ARG_EXTRA_VARNAME(arg_id) = 0; \ + static const CV_TRACE_NS::details::TraceArg \ + CV__TRACE_ARG_VARNAME(arg_id) = { &(CV__TRACE_ARG_EXTRA_VARNAME(arg_id)), name, flags }; + +#define CV__TRACE_ARG_VALUE(arg_id, arg_name, value) \ + CV__TRACE_DEFINE_ARG_(arg_id, arg_name, 0); \ + CV_TRACE_NS::details::traceArg((CV__TRACE_ARG_VARNAME(arg_id)), value); + +#define CV__TRACE_ARG(arg_id) CV_TRACE_ARG_VALUE(arg_id, #arg_id, (arg_id)) + +} // namespace + +#ifndef OPENCV_DISABLE_TRACE +#undef CV_TRACE_FUNCTION +#undef CV_TRACE_FUNCTION_SKIP_NESTED +#if __OPENCV_TRACE +#define CV_TRACE_FUNCTION CV__TRACE_OPENCV_FUNCTION +#define CV_TRACE_FUNCTION_SKIP_NESTED CV__TRACE_OPENCV_FUNCTION_SKIP_NESTED +#else +#define CV_TRACE_FUNCTION CV__TRACE_APP_FUNCTION +#define CV_TRACE_FUNCTION_SKIP_NESTED CV__TRACE_APP_FUNCTION_SKIP_NESTED +#endif + +#undef CV_TRACE_REGION +#define CV_TRACE_REGION CV__TRACE_REGION + +#undef CV_TRACE_REGION_NEXT +#define CV_TRACE_REGION_NEXT CV__TRACE_REGION_NEXT + +#undef CV_TRACE_ARG_VALUE +#define CV_TRACE_ARG_VALUE(arg_id, arg_name, value) \ + if (__region_fn.isActive()) \ + { \ + CV__TRACE_ARG_VALUE(arg_id, arg_name, value); \ + } + +#undef CV_TRACE_ARG +#define CV_TRACE_ARG CV__TRACE_ARG + +#endif // OPENCV_DISABLE_TRACE + +#ifdef OPENCV_TRACE_VERBOSE +#define CV_TRACE_FUNCTION_VERBOSE CV_TRACE_FUNCTION +#define CV_TRACE_REGION_VERBOSE CV_TRACE_REGION +#define CV_TRACE_REGION_NEXT_VERBOSE CV_TRACE_REGION_NEXT +#define CV_TRACE_ARG_VALUE_VERBOSE CV_TRACE_ARG_VALUE +#define CV_TRACE_ARG_VERBOSE CV_TRACE_ARG +#else +#define CV_TRACE_FUNCTION_VERBOSE(...) +#define CV_TRACE_REGION_VERBOSE(...) +#define CV_TRACE_REGION_NEXT_VERBOSE(...) +#define CV_TRACE_ARG_VALUE_VERBOSE(...) +#define CV_TRACE_ARG_VERBOSE(...) +#endif + +//! @endcond + +}}} // namespace + +//! @} + +#endif // OPENCV_TRACE_HPP diff --git a/app/src/main/cpp/include/opencv2/core/va_intel.hpp b/app/src/main/cpp/include/opencv2/core/va_intel.hpp new file mode 100644 index 0000000..3325848 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/core/va_intel.hpp @@ -0,0 +1,77 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +// Copyright (C) 2015, Itseez, Inc., all rights reserved. +// Third party copyrights are property of their respective owners. + +#ifndef OPENCV_CORE_VA_INTEL_HPP +#define OPENCV_CORE_VA_INTEL_HPP + +#ifndef __cplusplus +# error va_intel.hpp header must be compiled as C++ +#endif + +#include "opencv2/core.hpp" +#include "ocl.hpp" + +#if defined(HAVE_VA) +# include "va/va.h" +#else // HAVE_VA +# if !defined(_VA_H_) + typedef void* VADisplay; + typedef unsigned int VASurfaceID; +# endif // !_VA_H_ +#endif // HAVE_VA + +namespace cv { namespace va_intel { + +/** @addtogroup core_va_intel +This section describes Intel VA-API/OpenCL (CL-VA) interoperability. + +To enable CL-VA interoperability support, configure OpenCV using CMake with WITH_VA_INTEL=ON . Currently VA-API is +supported on Linux only. You should also install Intel Media Server Studio (MSS) to use this feature. You may +have to specify the path(s) to MSS components for cmake in environment variables: VA_INTEL_MSDK_ROOT for Media SDK +(default is "/opt/intel/mediasdk"), and VA_INTEL_IOCL_ROOT for Intel OpenCL (default is "/opt/intel/opencl"). + +To use CL-VA interoperability you should first create VADisplay (libva), and then call initializeContextFromVA() +function to create OpenCL context and set up interoperability. +*/ +//! @{ + +/////////////////// CL-VA Interoperability Functions /////////////////// + +namespace ocl { +using namespace cv::ocl; + +// TODO static functions in the Context class +/** @brief Creates OpenCL context from VA. +@param display - VADisplay for which CL interop should be established. +@param tryInterop - try to set up for interoperability, if true; set up for use slow copy if false. +@return Returns reference to OpenCL Context + */ +CV_EXPORTS Context& initializeContextFromVA(VADisplay display, bool tryInterop = true); + +} // namespace cv::va_intel::ocl + +/** @brief Converts InputArray to VASurfaceID object. +@param display - VADisplay object. +@param src - source InputArray. +@param surface - destination VASurfaceID object. +@param size - size of image represented by VASurfaceID object. + */ +CV_EXPORTS void convertToVASurface(VADisplay display, InputArray src, VASurfaceID surface, Size size); + +/** @brief Converts VASurfaceID object to OutputArray. +@param display - VADisplay object. +@param surface - source VASurfaceID object. +@param size - size of image represented by VASurfaceID object. +@param dst - destination OutputArray. + */ +CV_EXPORTS void convertFromVASurface(VADisplay display, VASurfaceID surface, Size size, OutputArray dst); + +//! @} + +}} // namespace cv::va_intel + +#endif /* OPENCV_CORE_VA_INTEL_HPP */ diff --git a/app/src/main/cpp/include/opencv2/core/version.hpp b/app/src/main/cpp/include/opencv2/core/version.hpp new file mode 100644 index 0000000..3847da2 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/core/version.hpp @@ -0,0 +1,71 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// Intel License Agreement +// For Open Source Computer Vision Library +// +// Copyright( C) 2000-2015, Intel Corporation, all rights reserved. +// Copyright (C) 2011-2013, NVIDIA Corporation, all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Copyright (C) 2015, Itseez Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of Intel Corporation may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +//(including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort(including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +/* + definition of the current version of OpenCV + Usefull to test in user programs +*/ + +#ifndef OPENCV_VERSION_HPP +#define OPENCV_VERSION_HPP + +#define CV_VERSION_MAJOR 3 +#define CV_VERSION_MINOR 3 +#define CV_VERSION_REVISION 1 +#define CV_VERSION_STATUS "" + +#define CVAUX_STR_EXP(__A) #__A +#define CVAUX_STR(__A) CVAUX_STR_EXP(__A) + +#define CVAUX_STRW_EXP(__A) L ## #__A +#define CVAUX_STRW(__A) CVAUX_STRW_EXP(__A) + +#define CV_VERSION CVAUX_STR(CV_VERSION_MAJOR) "." CVAUX_STR(CV_VERSION_MINOR) "." CVAUX_STR(CV_VERSION_REVISION) CV_VERSION_STATUS + +/* old style version constants*/ +#define CV_MAJOR_VERSION CV_VERSION_MAJOR +#define CV_MINOR_VERSION CV_VERSION_MINOR +#define CV_SUBMINOR_VERSION CV_VERSION_REVISION + +#endif diff --git a/app/src/main/cpp/include/opencv2/core/vsx_utils.hpp b/app/src/main/cpp/include/opencv2/core/vsx_utils.hpp new file mode 100644 index 0000000..3ce190b --- /dev/null +++ b/app/src/main/cpp/include/opencv2/core/vsx_utils.hpp @@ -0,0 +1,945 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Copyright (C) 2015, Itseez Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_HAL_VSX_UTILS_HPP +#define OPENCV_HAL_VSX_UTILS_HPP + +#include "opencv2/core/cvdef.h" + +//! @addtogroup core_utils_vsx +//! @{ +#if CV_VSX + +#define FORCE_INLINE(tp) extern inline tp __attribute__((always_inline)) + +#define VSX_REDIRECT_1RG(rt, rg, fnm, fn2) \ +FORCE_INLINE(rt) fnm(const rg& a) { return fn2(a); } + +#define VSX_REDIRECT_2RG(rt, rg, fnm, fn2) \ +FORCE_INLINE(rt) fnm(const rg& a, const rg& b) { return fn2(a, b); } + +#define VSX_IMPL_PERM(rt, fnm, ...) \ +FORCE_INLINE(rt) fnm(const rt& a, const rt& b) \ + { static const vec_uchar16 perm = {__VA_ARGS__}; return vec_perm(a, b, perm); } + +#define __VSX_S16__(c, v) (c){v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v} +#define __VSX_S8__(c, v) (c){v, v, v, v, v, v, v, v} +#define __VSX_S4__(c, v) (c){v, v, v, v} +#define __VSX_S2__(c, v) (c){v, v} + +typedef __vector unsigned char vec_uchar16; +#define vec_uchar16_set(...) (vec_uchar16){__VA_ARGS__} +#define vec_uchar16_sp(c) (__VSX_S16__(vec_uchar16, c)) +#define vec_uchar16_c(v) ((vec_uchar16)(v)) +#define vec_uchar16_mx vec_uchar16_sp(0xFF) +#define vec_uchar16_mn vec_uchar16_sp(0) +#define vec_uchar16_z vec_uchar16_mn + +typedef __vector signed char vec_char16; +#define vec_char16_set(...) (vec_char16){__VA_ARGS__} +#define vec_char16_sp(c) (__VSX_S16__(vec_char16, c)) +#define vec_char16_c(v) ((vec_char16)(v)) +#define vec_char16_mx vec_char16_sp(0x7F) +#define vec_char16_mn vec_char16_sp(-0x7F-1) +#define vec_char16_z vec_char16_sp(0) + +typedef __vector unsigned short vec_ushort8; +#define vec_ushort8_set(...) (vec_ushort8){__VA_ARGS__} +#define vec_ushort8_sp(c) (__VSX_S8__(vec_ushort8, c)) +#define vec_ushort8_c(v) ((vec_ushort8)(v)) +#define vec_ushort8_mx vec_ushort8_sp(0xFFFF) +#define vec_ushort8_mn vec_ushort8_sp(0) +#define vec_ushort8_z vec_ushort8_mn + +typedef __vector signed short vec_short8; +#define vec_short8_set(...) (vec_short8){__VA_ARGS__} +#define vec_short8_sp(c) (__VSX_S8__(vec_short8, c)) +#define vec_short8_c(v) ((vec_short8)(v)) +#define vec_short8_mx vec_short8_sp(0x7FFF) +#define vec_short8_mn vec_short8_sp(-0x7FFF-1) +#define vec_short8_z vec_short8_sp(0) + +typedef __vector unsigned int vec_uint4; +#define vec_uint4_set(...) (vec_uint4){__VA_ARGS__} +#define vec_uint4_sp(c) (__VSX_S4__(vec_uint4, c)) +#define vec_uint4_c(v) ((vec_uint4)(v)) +#define vec_uint4_mx vec_uint4_sp(0xFFFFFFFFU) +#define vec_uint4_mn vec_uint4_sp(0) +#define vec_uint4_z vec_uint4_mn + +typedef __vector signed int vec_int4; +#define vec_int4_set(...) (vec_int4){__VA_ARGS__} +#define vec_int4_sp(c) (__VSX_S4__(vec_int4, c)) +#define vec_int4_c(v) ((vec_int4)(v)) +#define vec_int4_mx vec_int4_sp(0x7FFFFFFF) +#define vec_int4_mn vec_int4_sp(-0x7FFFFFFF-1) +#define vec_int4_z vec_int4_sp(0) + +typedef __vector float vec_float4; +#define vec_float4_set(...) (vec_float4){__VA_ARGS__} +#define vec_float4_sp(c) (__VSX_S4__(vec_float4, c)) +#define vec_float4_c(v) ((vec_float4)(v)) +#define vec_float4_mx vec_float4_sp(3.40282347E+38F) +#define vec_float4_mn vec_float4_sp(1.17549435E-38F) +#define vec_float4_z vec_float4_sp(0) + +typedef __vector unsigned long long vec_udword2; +#define vec_udword2_set(...) (vec_udword2){__VA_ARGS__} +#define vec_udword2_sp(c) (__VSX_S2__(vec_udword2, c)) +#define vec_udword2_c(v) ((vec_udword2)(v)) +#define vec_udword2_mx vec_udword2_sp(18446744073709551615ULL) +#define vec_udword2_mn vec_udword2_sp(0) +#define vec_udword2_z vec_udword2_mn + +typedef __vector signed long long vec_dword2; +#define vec_dword2_set(...) (vec_dword2){__VA_ARGS__} +#define vec_dword2_sp(c) (__VSX_S2__(vec_dword2, c)) +#define vec_dword2_c(v) ((vec_dword2)(v)) +#define vec_dword2_mx vec_dword2_sp(9223372036854775807LL) +#define vec_dword2_mn vec_dword2_sp(-9223372036854775807LL-1) +#define vec_dword2_z vec_dword2_sp(0) + +typedef __vector double vec_double2; +#define vec_double2_set(...) (vec_double2){__VA_ARGS__} +#define vec_double2_c(v) ((vec_double2)(v)) +#define vec_double2_sp(c) (__VSX_S2__(vec_double2, c)) +#define vec_double2_mx vec_double2_sp(1.7976931348623157E+308) +#define vec_double2_mn vec_double2_sp(2.2250738585072014E-308) +#define vec_double2_z vec_double2_sp(0) + +#define vec_bchar16 __vector __bool char +#define vec_bchar16_set(...) (vec_bchar16){__VA_ARGS__} +#define vec_bchar16_c(v) ((vec_bchar16)(v)) +#define vec_bchar16_f (__VSX_S16__(vec_bchar16, 0)) +#define vec_bchar16_t (__VSX_S16__(vec_bchar16, 1)) + +#define vec_bshort8 __vector __bool short +#define vec_bshort8_set(...) (vec_bshort8){__VA_ARGS__} +#define vec_bshort8_c(v) ((vec_bshort8)(v)) +#define vec_bshort8_f (__VSX_S8__(vec_bshort8, 0)) +#define vec_bshort8_t (__VSX_S8__(vec_bshort8, 1)) + +#define vec_bint4 __vector __bool int +#define vec_bint4_set(...) (vec_bint4){__VA_ARGS__} +#define vec_bint4_c(v) ((vec_bint4)(v)) +#define vec_bint4_f (__VSX_S4__(vec_bint4, 0)) +#define vec_bint4_t (__VSX_S4__(vec_bint4, 1)) + +#define vec_bdword2 __vector __bool long long +#define vec_bdword2_set(...) (vec_bdword2){__VA_ARGS__} +#define vec_bdword2_c(v) ((vec_bdword2)(v)) +#define vec_bdword2_f (__VSX_S2__(vec_bdword2, 0)) +#define vec_bdword2_t (__VSX_S2__(vec_bdword2, 1)) + +/* + * GCC VSX compatibility +**/ +#if defined(__GNUG__) && !defined(__IBMCPP__) && !defined(__clang__) + +// inline asm helper +#define VSX_IMPL_1RG(rt, rto, rg, rgo, opc, fnm) \ +FORCE_INLINE(rt) fnm(const rg& a) \ + { rt rs; __asm__ __volatile__(#opc" %x0,%x1" : "="#rto (rs) : #rgo (a)); return rs; } + +#define VSX_IMPL_1VRG(rt, rg, opc, fnm) \ +FORCE_INLINE(rt) fnm(const rg& a) \ + { rt rs; __asm__ __volatile__(#opc" %0,%1" : "=v" (rs) : "v" (a)); return rs; } + +#define VSX_IMPL_2VRG_F(rt, rg, fopc, fnm) \ +FORCE_INLINE(rt) fnm(const rg& a, const rg& b) \ + { rt rs; __asm__ __volatile__(fopc : "=v" (rs) : "v" (a), "v" (b)); return rs; } + +#define VSX_IMPL_2VRG(rt, rg, opc, fnm) VSX_IMPL_2VRG_F(rt, rg, #opc" %0,%1,%2", fnm) + +#if __GNUG__ < 7 +/* up to GCC 6 vec_mul only supports precisions and llong */ +# ifdef vec_mul +# undef vec_mul +# endif +/* + * there's no a direct instruction for supporting 16-bit multiplication in ISA 2.07, + * XLC Implement it by using instruction "multiply even", "multiply oden" and "permute" + * todo: Do I need to support 8-bit ? +**/ +# define VSX_IMPL_MULH(Tvec, Tcast) \ + FORCE_INLINE(Tvec) vec_mul(const Tvec& a, const Tvec& b) \ + { \ + static const vec_uchar16 even_perm = {0, 1, 16, 17, 4, 5, 20, 21, \ + 8, 9, 24, 25, 12, 13, 28, 29}; \ + return vec_perm(Tcast(vec_mule(a, b)), Tcast(vec_mulo(a, b)), even_perm); \ + } + VSX_IMPL_MULH(vec_short8, vec_short8_c) + VSX_IMPL_MULH(vec_ushort8, vec_ushort8_c) + /* vmuluwm can be used for unsigned or signed integers, that's what they said */ + VSX_IMPL_2VRG(vec_int4, vec_int4, vmuluwm, vec_mul) + VSX_IMPL_2VRG(vec_uint4, vec_uint4, vmuluwm, vec_mul) + /* redirect to GCC builtin vec_mul, since it already supports precisions and llong */ + VSX_REDIRECT_2RG(vec_float4, vec_float4, vec_mul, __builtin_vec_mul) + VSX_REDIRECT_2RG(vec_double2, vec_double2, vec_mul, __builtin_vec_mul) + VSX_REDIRECT_2RG(vec_dword2, vec_dword2, vec_mul, __builtin_vec_mul) + VSX_REDIRECT_2RG(vec_udword2, vec_udword2, vec_mul, __builtin_vec_mul) +#endif // __GNUG__ < 7 + +#if __GNUG__ < 6 +/* + * Instruction "compare greater than or equal" in ISA 2.07 only supports single + * and double precision. + * In XLC and new versions of GCC implement integers by using instruction "greater than" and NOR. +**/ +# ifdef vec_cmpge +# undef vec_cmpge +# endif +# ifdef vec_cmple +# undef vec_cmple +# endif +# define vec_cmple(a, b) vec_cmpge(b, a) +# define VSX_IMPL_CMPGE(rt, rg, opc, fnm) \ + VSX_IMPL_2VRG_F(rt, rg, #opc" %0,%2,%1\n\t xxlnor %x0,%x0,%x0", fnm) + + VSX_IMPL_CMPGE(vec_bchar16, vec_char16, vcmpgtsb, vec_cmpge) + VSX_IMPL_CMPGE(vec_bchar16, vec_uchar16, vcmpgtub, vec_cmpge) + VSX_IMPL_CMPGE(vec_bshort8, vec_short8, vcmpgtsh, vec_cmpge) + VSX_IMPL_CMPGE(vec_bshort8, vec_ushort8, vcmpgtuh, vec_cmpge) + VSX_IMPL_CMPGE(vec_bint4, vec_int4, vcmpgtsw, vec_cmpge) + VSX_IMPL_CMPGE(vec_bint4, vec_uint4, vcmpgtuw, vec_cmpge) + VSX_IMPL_CMPGE(vec_bdword2, vec_dword2, vcmpgtsd, vec_cmpge) + VSX_IMPL_CMPGE(vec_bdword2, vec_udword2, vcmpgtud, vec_cmpge) + /* redirect to GCC builtin cmpge, since it already supports precisions */ + VSX_REDIRECT_2RG(vec_bint4, vec_float4, vec_cmpge, __builtin_vec_cmpge) + VSX_REDIRECT_2RG(vec_bdword2, vec_double2, vec_cmpge, __builtin_vec_cmpge) + +// up to gcc5 vec_nor doesn't support bool long long +# undef vec_nor +template +VSX_REDIRECT_2RG(T, T, vec_nor, __builtin_vec_nor) + +FORCE_INLINE(vec_bdword2) vec_nor(const vec_bdword2& a, const vec_bdword2& b) +{ return vec_bdword2_c(__builtin_vec_nor(vec_dword2_c(a), vec_dword2_c(b))); } +#endif // __GNUG__ < 6 + +// vector population count +#ifndef vec_popcnt + VSX_IMPL_1VRG(vec_uchar16, vec_uchar16, vpopcntb, vec_popcnt) + VSX_IMPL_1VRG(vec_uchar16, vec_char16, vpopcntb, vec_popcnt) + VSX_IMPL_1VRG(vec_ushort8, vec_ushort8, vpopcnth, vec_popcnt) + VSX_IMPL_1VRG(vec_ushort8, vec_short8, vpopcnth, vec_popcnt) + VSX_IMPL_1VRG(vec_uint4, vec_uint4, vpopcntw, vec_popcnt) + VSX_IMPL_1VRG(vec_uint4, vec_int4, vpopcntw, vec_popcnt) + VSX_IMPL_1VRG(vec_udword2, vec_udword2, vpopcntd, vec_popcnt) + VSX_IMPL_1VRG(vec_udword2, vec_dword2, vpopcntd, vec_popcnt) +#endif // vec_popcnt + +#if __GNUG__ < 5 +// vec_xxpermdi in gcc4 missing little-endian supports just like clang +# define vec_permi(a, b, c) vec_xxpermdi(b, a, (3 ^ ((c & 1) << 1 | c >> 1))) +// vec_packs doesn't support double words in gcc4 +# undef vec_packs +VSX_REDIRECT_2RG(vec_char16, vec_short8, vec_packs, __builtin_vec_packs) +VSX_REDIRECT_2RG(vec_uchar16, vec_ushort8, vec_packs, __builtin_vec_packs) +VSX_REDIRECT_2RG(vec_short8, vec_int4, vec_packs, __builtin_vec_packs) +VSX_REDIRECT_2RG(vec_ushort8, vec_uint4, vec_packs, __builtin_vec_packs) +VSX_IMPL_2VRG_F(vec_int4, vec_dword2, "vpksdss %0,%2,%1", vec_packs) +VSX_IMPL_2VRG_F(vec_uint4, vec_udword2, "vpkudus %0,%2,%1", vec_packs) +#else +# define vec_permi vec_xxpermdi +#endif + +// converts between single and double-precision +#ifndef vec_cvf + VSX_REDIRECT_1RG(vec_float4, vec_double2, vec_cvf, __builtin_vsx_xvcvdpsp) + FORCE_INLINE(vec_double2) vec_cvf(const vec_float4& a) + { return __builtin_vsx_xvcvspdp(vec_sld(a, a, 4)); } +#endif + +// converts 32 and 64 bit integers to double-precision +#ifndef vec_ctd +# define vec_ctd(a, b) __vec_ctd(a) + VSX_IMPL_1RG(vec_double2, wd, vec_int4, wa, xvcvsxwdp, __vec_ctd) + VSX_IMPL_1RG(vec_double2, wd, vec_uint4, wa, xvcvuxwdp, __vec_ctd) + VSX_IMPL_1RG(vec_double2, wd, vec_dword2, wi, xvcvsxddp, __vec_ctd) + VSX_IMPL_1RG(vec_double2, wd, vec_udword2, wi, xvcvuxddp, __vec_ctd) +#endif + +// shift left double by word immediate +#ifndef vec_sldw +# define vec_sldw __builtin_vsx_xxsldwi +#endif + +// just in case if GCC doesn't define it +#ifndef vec_xl +# define vec_xl vec_vsx_ld +# define vec_xst vec_vsx_st +#endif + +#endif // GCC VSX compatibility + +/* + * CLANG VSX compatibility +**/ +#if defined(__clang__) && !defined(__IBMCPP__) + +/* + * CLANG doesn't support %x in the inline asm template which fixes register number + * when using any of the register constraints wa, wd, wf + * + * For more explanation checkout PowerPC and IBM RS6000 in https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html + * Also there's already an open bug https://bugs.llvm.org/show_bug.cgi?id=31837 + * + * So we're not able to use inline asm and only use built-in functions that CLANG supports +*/ + +#if __clang_major__ < 5 +// implement vec_permi in a dirty way +# define VSX_IMPL_CLANG_4_PERMI(Tvec) \ + FORCE_INLINE(Tvec) vec_permi(const Tvec& a, const Tvec& b, unsigned const char c) \ + { \ + switch (c) \ + { \ + case 0: \ + return vec_mergeh(a, b); \ + case 1: \ + return vec_mergel(vec_mergeh(a, a), b); \ + case 2: \ + return vec_mergeh(vec_mergel(a, a), b); \ + default: \ + return vec_mergel(a, b); \ + } \ + } + VSX_IMPL_CLANG_4_PERMI(vec_udword2) + VSX_IMPL_CLANG_4_PERMI(vec_dword2) + VSX_IMPL_CLANG_4_PERMI(vec_double2) + +// vec_xxsldwi is missing in clang 4 +# define vec_xxsldwi(a, b, c) vec_sld(a, b, (c) * 4) +#else +// vec_xxpermdi is missing little-endian supports in clang 4 just like gcc4 +# define vec_permi(a, b, c) vec_xxpermdi(b, a, (3 ^ ((c & 1) << 1 | c >> 1))) +#endif // __clang_major__ < 5 + +// shift left double by word immediate +#ifndef vec_sldw +# define vec_sldw vec_xxsldwi +#endif + +/* converts between single and double precision */ +#ifndef vec_cvf + VSX_REDIRECT_1RG(vec_float4, vec_double2, vec_cvf, __builtin_vsx_xvcvdpsp) + FORCE_INLINE(vec_double2) vec_cvf(const vec_float4& a) + { return __builtin_vsx_xvcvspdp(vec_sld(a, a, 4)); } +#endif + +/* converts 32 and 64 bit integers to double-precision */ +#ifndef vec_ctd +# define vec_ctd(a, b) __vec_ctd(a) + VSX_REDIRECT_1RG(vec_double2, vec_int4, __vec_ctd, __builtin_vsx_xvcvsxwdp) + VSX_REDIRECT_1RG(vec_double2, vec_uint4, __vec_ctd, __builtin_vsx_xvcvuxwdp) + // implement vec_ctd for double word in a dirty way since we are missing builtin xvcvsxddp, xvcvuxddp + // please try to avoid using it for double words + FORCE_INLINE(vec_double2) __vec_ctd(const vec_dword2& a) + { return vec_double2_set((double)vec_extract(a, 0), (double)vec_extract(a, 1)); } + FORCE_INLINE(vec_double2) __vec_ctd(const vec_udword2& a) + { return vec_double2_set((double)vec_extract(a, 0), (double)vec_extract(a, 1)); } +#endif + +// Implement vec_rsqrt since clang only supports vec_rsqrte +#ifndef vec_rsqrt + FORCE_INLINE(vec_float4) vec_rsqrt(const vec_float4& a) + { return vec_div(vec_float4_sp(1), vec_sqrt(a)); } + + FORCE_INLINE(vec_double2) vec_rsqrt(const vec_double2& a) + { return vec_div(vec_double2_sp(1), vec_sqrt(a)); } +#endif + + +/* + * __builtin_altivec_vctsxs in clang 5 and 6 causes ambiguous which used by vec_cts + * so we just redefine it and cast it +*/ +#if __clang_major__ > 4 +# undef vec_cts +# define vec_cts(__a, __b) \ + _Generic((__a), vector float \ + : (vector signed int)__builtin_altivec_vctsxs((__a), (__b)), vector double \ + : __extension__({ \ + vector double __ret = \ + (__a) * \ + (vector double)(vector unsigned long long)((0x3ffULL + (__b)) \ + << 52); \ + __builtin_convertvector(__ret, vector signed long long); \ + })) +#endif // __clang_major__ > 4 + +#endif // CLANG VSX compatibility + +/* + * implement vsx_ld(offset, pointer), vsx_st(vector, offset, pointer) + * load and set using offset depend on the pointer type + * + * implement vsx_ldf(offset, pointer), vsx_stf(vector, offset, pointer) + * load and set using offset depend on fixed bytes size + * + * Note: In clang vec_xl and vec_xst fails to load unaligned addresses + * so we are using vec_vsx_ld, vec_vsx_st instead +*/ + +#if defined(__clang__) && !defined(__IBMCPP__) +# define vsx_ldf vec_vsx_ld +# define vsx_stf vec_vsx_st +#else // GCC , XLC +# define vsx_ldf vec_xl +# define vsx_stf vec_xst +#endif + +#define VSX_OFFSET(o, p) ((o) * sizeof(*(p))) +#define vsx_ld(o, p) vsx_ldf(VSX_OFFSET(o, p), p) +#define vsx_st(v, o, p) vsx_stf(v, VSX_OFFSET(o, p), p) + +/* + * implement vsx_ld2(offset, pointer), vsx_st2(vector, offset, pointer) to load and store double words + * In GCC vec_xl and vec_xst it maps to vec_vsx_ld, vec_vsx_st which doesn't support long long + * and in CLANG we are using vec_vsx_ld, vec_vsx_st because vec_xl, vec_xst fails to load unaligned addresses + * + * In XLC vec_xl and vec_xst fail to cast int64(long int) to long long +*/ +#if (defined(__GNUG__) || defined(__clang__)) && !defined(__IBMCPP__) + FORCE_INLINE(vec_udword2) vsx_ld2(long o, const uint64* p) + { return vec_udword2_c(vsx_ldf(VSX_OFFSET(o, p), (unsigned int*)p)); } + + FORCE_INLINE(vec_dword2) vsx_ld2(long o, const int64* p) + { return vec_dword2_c(vsx_ldf(VSX_OFFSET(o, p), (int*)p)); } + + FORCE_INLINE(void) vsx_st2(const vec_udword2& vec, long o, uint64* p) + { vsx_stf(vec_uint4_c(vec), VSX_OFFSET(o, p), (unsigned int*)p); } + + FORCE_INLINE(void) vsx_st2(const vec_dword2& vec, long o, int64* p) + { vsx_stf(vec_int4_c(vec), VSX_OFFSET(o, p), (int*)p); } +#else // XLC + FORCE_INLINE(vec_udword2) vsx_ld2(long o, const uint64* p) + { return vsx_ldf(VSX_OFFSET(o, p), (unsigned long long*)p); } + + FORCE_INLINE(vec_dword2) vsx_ld2(long o, const int64* p) + { return vsx_ldf(VSX_OFFSET(o, p), (long long*)p); } + + FORCE_INLINE(void) vsx_st2(const vec_udword2& vec, long o, uint64* p) + { vsx_stf(vec, VSX_OFFSET(o, p), (unsigned long long*)p); } + + FORCE_INLINE(void) vsx_st2(const vec_dword2& vec, long o, int64* p) + { vsx_stf(vec, VSX_OFFSET(o, p), (long long*)p); } +#endif + +#if defined(__clang__) || defined(__IBMCPP__) + // gcc can find his way in casting log int and XLC, CLANG ambiguous + FORCE_INLINE(vec_udword2) vec_splats(uint64 v) + { return vec_splats((unsigned long long) v); } + + FORCE_INLINE(vec_dword2) vec_splats(int64 v) + { return vec_splats((long long) v); } +#endif + +// Implement store vector bool char for XLC +#if defined(__IBMCPP__) && defined(__clang__) + FORCE_INLINE(void) vec_xst(const vec_bchar16 &vec, long o, uchar* p) + { vec_xst(vec_uchar16_c(vec), VSX_OFFSET(o, p), p); } +#endif + +// Working around vec_popcnt compatibility +/* + * vec_popcnt should return unsigned but clang has different thought just like gcc in vec_vpopcnt + * + * use vec_popcntu instead to deal with it +*/ +#if defined(__clang__) && !defined(__IBMCPP__) +# define VSX_IMPL_CLANG_POPCNTU(Tvec, Tvec2, ucast) \ + FORCE_INLINE(Tvec) vec_popcntu(const Tvec2& a) \ + { return ucast(vec_popcnt(a)); } + + VSX_IMPL_CLANG_POPCNTU(vec_uchar16, vec_char16, vec_uchar16_c); + VSX_IMPL_CLANG_POPCNTU(vec_ushort8, vec_short8, vec_ushort8_c); + VSX_IMPL_CLANG_POPCNTU(vec_uint4, vec_int4, vec_uint4_c); + // redirect unsigned types + VSX_REDIRECT_1RG(vec_uchar16, vec_uchar16, vec_popcntu, vec_popcnt) + VSX_REDIRECT_1RG(vec_ushort8, vec_ushort8, vec_popcntu, vec_popcnt) + VSX_REDIRECT_1RG(vec_uint4, vec_uint4, vec_popcntu, vec_popcnt) +#else +# define vec_popcntu vec_popcnt +#endif + +// Working around vec_cts compatibility +/* + * vec_cts in gcc and clang converts single-precision to signed fixed-point word + * and from double-precision to signed doubleword, also there's no implement for vec_ctsl + * + * vec_cts in xlc converts single and double precision to signed fixed-point word + * and xlc has vec_ctsl which converts single and double precision to signed doubleword + * + * so to deal with this situation, use vec_cts only if you want to convert single-precision to signed fixed-point word + * and use vec_ctsl when you want to convert double-precision to signed doubleword + * + * Also we implemented vec_ctsw(a) to convert double-precision to signed fixed-point word +*/ + +// converts double-precision to signed doubleword for GCC and CLANG +#if !defined(vec_ctsl) && !defined(__IBMCPP__) && (defined(__GNUG__) || defined(__clang__)) +// GCC4 has incorrect results in convert to signed doubleword +# if !defined(__clang__) && __GNUG__ < 5 +# define vec_ctsl(a, b) __vec_ctsl(a) + VSX_IMPL_1RG(vec_dword2, wi, vec_double2, wd, xvcvdpsxds, __vec_ctsl) +# else // GCC > 4 , CLANG +# define vec_ctsl vec_cts +# endif +#endif + +// converts double-precision to signed fixed-point word +#if defined(__IBMCPP__) +# define vec_ctsw(a) vec_cts(a, 0) +#else // GCC, CLANG +# define vec_ctsw(a) vec_int4_c(__builtin_vsx_xvcvdpsxws(a)) +#endif + +// load 4 unsigned bytes into uint4 vector +#define vec_ld_buw(p) vec_uint4_set((p)[0], (p)[1], (p)[2], (p)[3]) + +// load 4 signed bytes into int4 vector +#define vec_ld_bsw(p) vec_int4_set((p)[0], (p)[1], (p)[2], (p)[3]) + +// load 4 unsigned bytes into float vector +#define vec_ld_bps(p) vec_ctf(vec_ld_buw(p), 0) + +// Store lower 8 byte +#define vec_st_l8(v, p) *((uint64*)(p)) = vec_extract(vec_udword2_c(v), 0) + +// Store higher 8 byte +#define vec_st_h8(v, p) *((uint64*)(p)) = vec_extract(vec_udword2_c(v), 1) + +/* + * vec_ld_l8(ptr) -> Load 64-bits of integer data to lower part + * vec_ldz_l8(ptr) -> Load 64-bits of integer data to lower part and zero upper part +**/ +#if defined(__clang__) && !defined(__IBMCPP__) +# define __VSX_LOAD_L8(Tvec, p) (Tvec)((vec_udword2)*((uint64*)(p))) +#else +# define __VSX_LOAD_L8(Tvec, p) *((Tvec*)(p)) +#endif + +#define VSX_IMPL_LOAD_L8(Tvec, Tp) \ +FORCE_INLINE(Tvec) vec_ld_l8(const Tp *p) \ +{ return __VSX_LOAD_L8(Tvec, p); } \ +FORCE_INLINE(Tvec) vec_ldz_l8(const Tp *p) \ +{ \ + static const vec_bdword2 mask = {0xFFFFFFFFFFFFFFFF, 0x0000000000000000}; \ + return vec_and(vec_ld_l8(p), (Tvec)mask); \ +} +VSX_IMPL_LOAD_L8(vec_uchar16, uchar) +VSX_IMPL_LOAD_L8(vec_char16, schar) +VSX_IMPL_LOAD_L8(vec_ushort8, ushort) +VSX_IMPL_LOAD_L8(vec_short8, short) +VSX_IMPL_LOAD_L8(vec_uint4, uint) +VSX_IMPL_LOAD_L8(vec_int4, int) +VSX_IMPL_LOAD_L8(vec_float4, float) +VSX_IMPL_LOAD_L8(vec_udword2, uint64) +VSX_IMPL_LOAD_L8(vec_dword2, int64) +VSX_IMPL_LOAD_L8(vec_double2, double) + +// logical not +#define vec_not(a) vec_nor(a, a) + +// power9 yaya +// not equal +#ifndef vec_cmpne +# define vec_cmpne(a, b) vec_not(vec_cmpeq(a, b)) +#endif + +// absoulte difference +#ifndef vec_absd +# define vec_absd(a, b) vec_sub(vec_max(a, b), vec_min(a, b)) +#endif + +/* + * Implement vec_unpacklu and vec_unpackhu + * since vec_unpackl, vec_unpackh only support signed integers +**/ +#define VSX_IMPL_UNPACKU(rt, rg, zero) \ +FORCE_INLINE(rt) vec_unpacklu(const rg& a) \ +{ return reinterpret_cast(vec_mergel(a, zero)); } \ +FORCE_INLINE(rt) vec_unpackhu(const rg& a) \ +{ return reinterpret_cast(vec_mergeh(a, zero)); } + +VSX_IMPL_UNPACKU(vec_ushort8, vec_uchar16, vec_uchar16_z) +VSX_IMPL_UNPACKU(vec_uint4, vec_ushort8, vec_ushort8_z) +VSX_IMPL_UNPACKU(vec_udword2, vec_uint4, vec_uint4_z) + +/* + * Implement vec_mergesqe and vec_mergesqo + * Merges the sequence values of even and odd elements of two vectors +*/ +// 16 +#define perm16_mergesqe 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 +#define perm16_mergesqo 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 +VSX_IMPL_PERM(vec_uchar16, vec_mergesqe, perm16_mergesqe) +VSX_IMPL_PERM(vec_uchar16, vec_mergesqo, perm16_mergesqo) +VSX_IMPL_PERM(vec_char16, vec_mergesqe, perm16_mergesqe) +VSX_IMPL_PERM(vec_char16, vec_mergesqo, perm16_mergesqo) +// 8 +#define perm8_mergesqe 0, 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29 +#define perm8_mergesqo 2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31 +VSX_IMPL_PERM(vec_ushort8, vec_mergesqe, perm8_mergesqe) +VSX_IMPL_PERM(vec_ushort8, vec_mergesqo, perm8_mergesqo) +VSX_IMPL_PERM(vec_short8, vec_mergesqe, perm8_mergesqe) +VSX_IMPL_PERM(vec_short8, vec_mergesqo, perm8_mergesqo) +// 4 +#define perm4_mergesqe 0, 1, 2, 3, 8, 9, 10, 11, 16, 17, 18, 19, 24, 25, 26, 27 +#define perm4_mergesqo 4, 5, 6, 7, 12, 13, 14, 15, 20, 21, 22, 23, 28, 29, 30, 31 +VSX_IMPL_PERM(vec_uint4, vec_mergesqe, perm4_mergesqe) +VSX_IMPL_PERM(vec_uint4, vec_mergesqo, perm4_mergesqo) +VSX_IMPL_PERM(vec_int4, vec_mergesqe, perm4_mergesqe) +VSX_IMPL_PERM(vec_int4, vec_mergesqo, perm4_mergesqo) +VSX_IMPL_PERM(vec_float4, vec_mergesqe, perm4_mergesqe) +VSX_IMPL_PERM(vec_float4, vec_mergesqo, perm4_mergesqo) +// 2 +VSX_REDIRECT_2RG(vec_double2, vec_double2, vec_mergesqe, vec_mergeh) +VSX_REDIRECT_2RG(vec_double2, vec_double2, vec_mergesqo, vec_mergel) +VSX_REDIRECT_2RG(vec_dword2, vec_dword2, vec_mergesqe, vec_mergeh) +VSX_REDIRECT_2RG(vec_dword2, vec_dword2, vec_mergesqo, vec_mergel) +VSX_REDIRECT_2RG(vec_udword2, vec_udword2, vec_mergesqe, vec_mergeh) +VSX_REDIRECT_2RG(vec_udword2, vec_udword2, vec_mergesqo, vec_mergel) + +/* + * Implement vec_mergesqh and vec_mergesql + * Merges the sequence most and least significant halves of two vectors +*/ +#define VSX_IMPL_MERGESQHL(Tvec) \ +FORCE_INLINE(Tvec) vec_mergesqh(const Tvec& a, const Tvec& b) \ +{ return (Tvec)vec_mergeh(vec_udword2_c(a), vec_udword2_c(b)); } \ +FORCE_INLINE(Tvec) vec_mergesql(const Tvec& a, const Tvec& b) \ +{ return (Tvec)vec_mergel(vec_udword2_c(a), vec_udword2_c(b)); } +VSX_IMPL_MERGESQHL(vec_uchar16) +VSX_IMPL_MERGESQHL(vec_char16) +VSX_IMPL_MERGESQHL(vec_ushort8) +VSX_IMPL_MERGESQHL(vec_short8) +VSX_IMPL_MERGESQHL(vec_uint4) +VSX_IMPL_MERGESQHL(vec_int4) +VSX_IMPL_MERGESQHL(vec_float4) +VSX_REDIRECT_2RG(vec_udword2, vec_udword2, vec_mergesqh, vec_mergeh) +VSX_REDIRECT_2RG(vec_udword2, vec_udword2, vec_mergesql, vec_mergel) +VSX_REDIRECT_2RG(vec_dword2, vec_dword2, vec_mergesqh, vec_mergeh) +VSX_REDIRECT_2RG(vec_dword2, vec_dword2, vec_mergesql, vec_mergel) +VSX_REDIRECT_2RG(vec_double2, vec_double2, vec_mergesqh, vec_mergeh) +VSX_REDIRECT_2RG(vec_double2, vec_double2, vec_mergesql, vec_mergel) + + +// 2 and 4 channels interleave for all types except 2 lanes +#define VSX_IMPL_ST_INTERLEAVE(Tp, Tvec) \ +FORCE_INLINE(void) vec_st_interleave(const Tvec& a, const Tvec& b, Tp* ptr) \ +{ \ + vsx_stf(vec_mergeh(a, b), 0, ptr); \ + vsx_stf(vec_mergel(a, b), 16, ptr); \ +} \ +FORCE_INLINE(void) vec_st_interleave(const Tvec& a, const Tvec& b, \ + const Tvec& c, const Tvec& d, Tp* ptr) \ +{ \ + Tvec ac = vec_mergeh(a, c); \ + Tvec bd = vec_mergeh(b, d); \ + vsx_stf(vec_mergeh(ac, bd), 0, ptr); \ + vsx_stf(vec_mergel(ac, bd), 16, ptr); \ + ac = vec_mergel(a, c); \ + bd = vec_mergel(b, d); \ + vsx_stf(vec_mergeh(ac, bd), 32, ptr); \ + vsx_stf(vec_mergel(ac, bd), 48, ptr); \ +} +VSX_IMPL_ST_INTERLEAVE(uchar, vec_uchar16) +VSX_IMPL_ST_INTERLEAVE(schar, vec_char16) +VSX_IMPL_ST_INTERLEAVE(ushort, vec_ushort8) +VSX_IMPL_ST_INTERLEAVE(short, vec_short8) +VSX_IMPL_ST_INTERLEAVE(uint, vec_uint4) +VSX_IMPL_ST_INTERLEAVE(int, vec_int4) +VSX_IMPL_ST_INTERLEAVE(float, vec_float4) + +// 2 and 4 channels deinterleave for 16 lanes +#define VSX_IMPL_ST_DINTERLEAVE_8(Tp, Tvec) \ +FORCE_INLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b) \ +{ \ + Tvec v0 = vsx_ld(0, ptr); \ + Tvec v1 = vsx_ld(16, ptr); \ + a = vec_mergesqe(v0, v1); \ + b = vec_mergesqo(v0, v1); \ +} \ +FORCE_INLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b, \ + Tvec& c, Tvec& d) \ +{ \ + Tvec v0 = vsx_ld(0, ptr); \ + Tvec v1 = vsx_ld(16, ptr); \ + Tvec v2 = vsx_ld(32, ptr); \ + Tvec v3 = vsx_ld(48, ptr); \ + Tvec m0 = vec_mergesqe(v0, v1); \ + Tvec m1 = vec_mergesqe(v2, v3); \ + a = vec_mergesqe(m0, m1); \ + c = vec_mergesqo(m0, m1); \ + m0 = vec_mergesqo(v0, v1); \ + m1 = vec_mergesqo(v2, v3); \ + b = vec_mergesqe(m0, m1); \ + d = vec_mergesqo(m0, m1); \ +} +VSX_IMPL_ST_DINTERLEAVE_8(uchar, vec_uchar16) +VSX_IMPL_ST_DINTERLEAVE_8(schar, vec_char16) + +// 2 and 4 channels deinterleave for 8 lanes +#define VSX_IMPL_ST_DINTERLEAVE_16(Tp, Tvec) \ +FORCE_INLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b) \ +{ \ + Tvec v0 = vsx_ld(0, ptr); \ + Tvec v1 = vsx_ld(8, ptr); \ + a = vec_mergesqe(v0, v1); \ + b = vec_mergesqo(v0, v1); \ +} \ +FORCE_INLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b, \ + Tvec& c, Tvec& d) \ +{ \ + Tvec v0 = vsx_ld(0, ptr); \ + Tvec v1 = vsx_ld(8, ptr); \ + Tvec m0 = vec_mergeh(v0, v1); \ + Tvec m1 = vec_mergel(v0, v1); \ + Tvec ab0 = vec_mergeh(m0, m1); \ + Tvec cd0 = vec_mergel(m0, m1); \ + v0 = vsx_ld(16, ptr); \ + v1 = vsx_ld(24, ptr); \ + m0 = vec_mergeh(v0, v1); \ + m1 = vec_mergel(v0, v1); \ + Tvec ab1 = vec_mergeh(m0, m1); \ + Tvec cd1 = vec_mergel(m0, m1); \ + a = vec_mergesqh(ab0, ab1); \ + b = vec_mergesql(ab0, ab1); \ + c = vec_mergesqh(cd0, cd1); \ + d = vec_mergesql(cd0, cd1); \ +} +VSX_IMPL_ST_DINTERLEAVE_16(ushort, vec_ushort8) +VSX_IMPL_ST_DINTERLEAVE_16(short, vec_short8) + +// 2 and 4 channels deinterleave for 4 lanes +#define VSX_IMPL_ST_DINTERLEAVE_32(Tp, Tvec) \ +FORCE_INLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b) \ +{ \ + a = vsx_ld(0, ptr); \ + b = vsx_ld(4, ptr); \ + Tvec m0 = vec_mergeh(a, b); \ + Tvec m1 = vec_mergel(a, b); \ + a = vec_mergeh(m0, m1); \ + b = vec_mergel(m0, m1); \ +} \ +FORCE_INLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b, \ + Tvec& c, Tvec& d) \ +{ \ + Tvec v0 = vsx_ld(0, ptr); \ + Tvec v1 = vsx_ld(4, ptr); \ + Tvec v2 = vsx_ld(8, ptr); \ + Tvec v3 = vsx_ld(12, ptr); \ + Tvec m0 = vec_mergeh(v0, v2); \ + Tvec m1 = vec_mergeh(v1, v3); \ + a = vec_mergeh(m0, m1); \ + b = vec_mergel(m0, m1); \ + m0 = vec_mergel(v0, v2); \ + m1 = vec_mergel(v1, v3); \ + c = vec_mergeh(m0, m1); \ + d = vec_mergel(m0, m1); \ +} +VSX_IMPL_ST_DINTERLEAVE_32(uint, vec_uint4) +VSX_IMPL_ST_DINTERLEAVE_32(int, vec_int4) +VSX_IMPL_ST_DINTERLEAVE_32(float, vec_float4) + +// 2 and 4 channels interleave and deinterleave for 2 lanes +#define VSX_IMPL_ST_D_INTERLEAVE_64(Tp, Tvec, ld_func, st_func) \ +FORCE_INLINE(void) vec_st_interleave(const Tvec& a, const Tvec& b, Tp* ptr) \ +{ \ + st_func(vec_mergeh(a, b), 0, ptr); \ + st_func(vec_mergel(a, b), 2, ptr); \ +} \ +FORCE_INLINE(void) vec_st_interleave(const Tvec& a, const Tvec& b, \ + const Tvec& c, const Tvec& d, Tp* ptr) \ +{ \ + st_func(vec_mergeh(a, b), 0, ptr); \ + st_func(vec_mergel(a, b), 2, ptr); \ + st_func(vec_mergeh(c, d), 4, ptr); \ + st_func(vec_mergel(c, d), 6, ptr); \ +} \ +FORCE_INLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b) \ +{ \ + Tvec m0 = ld_func(0, ptr); \ + Tvec m1 = ld_func(2, ptr); \ + a = vec_mergeh(m0, m1); \ + b = vec_mergel(m0, m1); \ +} \ +FORCE_INLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b, \ + Tvec& c, Tvec& d) \ +{ \ + Tvec v0 = ld_func(0, ptr); \ + Tvec v1 = ld_func(2, ptr); \ + a = vec_mergeh(v0, v1); \ + b = vec_mergel(v0, v1); \ + v0 = ld_func(4, ptr); \ + v1 = ld_func(6, ptr); \ + c = vec_mergeh(v0, v1); \ + d = vec_mergel(v0, v1); \ +} +VSX_IMPL_ST_D_INTERLEAVE_64(int64, vec_dword2, vsx_ld2, vsx_st2) +VSX_IMPL_ST_D_INTERLEAVE_64(uint64, vec_udword2, vsx_ld2, vsx_st2) +VSX_IMPL_ST_D_INTERLEAVE_64(double, vec_double2, vsx_ld, vsx_st) + +/* 3 channels */ +#define VSX_IMPL_ST_INTERLEAVE_3CH_16(Tp, Tvec) \ +FORCE_INLINE(void) vec_st_interleave(const Tvec& a, const Tvec& b, \ + const Tvec& c, Tp* ptr) \ +{ \ + static const vec_uchar16 a12 = {0, 16, 0, 1, 17, 0, 2, 18, 0, 3, 19, 0, 4, 20, 0, 5}; \ + static const vec_uchar16 a123 = {0, 1, 16, 3, 4, 17, 6, 7, 18, 9, 10, 19, 12, 13, 20, 15}; \ + vsx_st(vec_perm(vec_perm(a, b, a12), c, a123), 0, ptr); \ + static const vec_uchar16 b12 = {21, 0, 6, 22, 0, 7, 23, 0, 8, 24, 0, 9, 25, 0, 10, 26}; \ + static const vec_uchar16 b123 = {0, 21, 2, 3, 22, 5, 6, 23, 8, 9, 24, 11, 12, 25, 14, 15}; \ + vsx_st(vec_perm(vec_perm(a, b, b12), c, b123), 16, ptr); \ + static const vec_uchar16 c12 = {0, 11, 27, 0, 12, 28, 0, 13, 29, 0, 14, 30, 0, 15, 31, 0}; \ + static const vec_uchar16 c123 = {26, 1, 2, 27, 4, 5, 28, 7, 8, 29, 10, 11, 30, 13, 14, 31}; \ + vsx_st(vec_perm(vec_perm(a, b, c12), c, c123), 32, ptr); \ +} \ +FORCE_INLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b, Tvec& c) \ +{ \ + Tvec v1 = vsx_ld(0, ptr); \ + Tvec v2 = vsx_ld(16, ptr); \ + Tvec v3 = vsx_ld(32, ptr); \ + static const vec_uchar16 a12_perm = {0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 0, 0, 0, 0, 0}; \ + static const vec_uchar16 a123_perm = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 17, 20, 23, 26, 29}; \ + a = vec_perm(vec_perm(v1, v2, a12_perm), v3, a123_perm); \ + static const vec_uchar16 b12_perm = {1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 0, 0, 0, 0, 0}; \ + static const vec_uchar16 b123_perm = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 18, 21, 24, 27, 30}; \ + b = vec_perm(vec_perm(v1, v2, b12_perm), v3, b123_perm); \ + static const vec_uchar16 c12_perm = {2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 0, 0, 0, 0, 0, 0}; \ + static const vec_uchar16 c123_perm = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 16, 19, 22, 25, 28, 31}; \ + c = vec_perm(vec_perm(v1, v2, c12_perm), v3, c123_perm); \ +} +VSX_IMPL_ST_INTERLEAVE_3CH_16(uchar, vec_uchar16) +VSX_IMPL_ST_INTERLEAVE_3CH_16(schar, vec_char16) + +#define VSX_IMPL_ST_INTERLEAVE_3CH_8(Tp, Tvec) \ +FORCE_INLINE(void) vec_st_interleave(const Tvec& a, const Tvec& b, \ + const Tvec& c, Tp* ptr) \ +{ \ + static const vec_uchar16 a12 = {0, 1, 16, 17, 0, 0, 2, 3, 18, 19, 0, 0, 4, 5, 20, 21}; \ + static const vec_uchar16 a123 = {0, 1, 2, 3, 16, 17, 6, 7, 8, 9, 18, 19, 12, 13, 14, 15}; \ + vsx_st(vec_perm(vec_perm(a, b, a12), c, a123), 0, ptr); \ + static const vec_uchar16 b12 = {0, 0, 6, 7, 22, 23, 0, 0, 8, 9, 24, 25, 0, 0, 10, 11}; \ + static const vec_uchar16 b123 = {20, 21, 2, 3, 4, 5, 22, 23, 8, 9, 10, 11, 24, 25, 14, 15}; \ + vsx_st(vec_perm(vec_perm(a, b, b12), c, b123), 8, ptr); \ + static const vec_uchar16 c12 = {26, 27, 0, 0, 12, 13, 28, 29, 0, 0, 14, 15, 30, 31, 0, 0}; \ + static const vec_uchar16 c123 = {0, 1, 26, 27, 4, 5, 6, 7, 28, 29, 10, 11, 12, 13, 30, 31}; \ + vsx_st(vec_perm(vec_perm(a, b, c12), c, c123), 16, ptr); \ +} \ +FORCE_INLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b, Tvec& c) \ +{ \ + Tvec v1 = vsx_ld(0, ptr); \ + Tvec v2 = vsx_ld(8, ptr); \ + Tvec v3 = vsx_ld(16, ptr); \ + static const vec_uchar16 a12_perm = {0, 1, 6, 7, 12, 13, 18, 19, 24, 25, 30, 31, 0, 0, 0, 0}; \ + static const vec_uchar16 a123_perm = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 20, 21, 26, 27}; \ + a = vec_perm(vec_perm(v1, v2, a12_perm), v3, a123_perm); \ + static const vec_uchar16 b12_perm = {2, 3, 8, 9, 14, 15, 20, 21, 26, 27, 0, 0, 0, 0, 0, 0}; \ + static const vec_uchar16 b123_perm = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 16, 17, 22, 23, 28, 29}; \ + b = vec_perm(vec_perm(v1, v2, b12_perm), v3, b123_perm); \ + static const vec_uchar16 c12_perm = {4, 5, 10, 11, 16, 17, 22, 23, 28, 29, 0, 0, 0, 0, 0, 0}; \ + static const vec_uchar16 c123_perm = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 18, 19, 24, 25, 30, 31}; \ + c = vec_perm(vec_perm(v1, v2, c12_perm), v3, c123_perm); \ +} +VSX_IMPL_ST_INTERLEAVE_3CH_8(ushort, vec_ushort8) +VSX_IMPL_ST_INTERLEAVE_3CH_8(short, vec_short8) + +#define VSX_IMPL_ST_INTERLEAVE_3CH_4(Tp, Tvec) \ +FORCE_INLINE(void) vec_st_interleave(const Tvec& a, const Tvec& b, \ + const Tvec& c, Tp* ptr) \ +{ \ + Tvec hbc = vec_mergeh(b, c); \ + static const vec_uchar16 ahbc = {0, 1, 2, 3, 16, 17, 18, 19, 20, 21, 22, 23, 4, 5, 6, 7}; \ + vsx_st(vec_perm(a, hbc, ahbc), 0, ptr); \ + Tvec lab = vec_mergel(a, b); \ + vsx_st(vec_sld(lab, hbc, 8), 4, ptr); \ + static const vec_uchar16 clab = {8, 9, 10, 11, 24, 25, 26, 27, 28, 29, 30, 31, 12, 13, 14, 15};\ + vsx_st(vec_perm(c, lab, clab), 8, ptr); \ +} \ +FORCE_INLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b, Tvec& c) \ +{ \ + Tvec v1 = vsx_ld(0, ptr); \ + Tvec v2 = vsx_ld(4, ptr); \ + Tvec v3 = vsx_ld(8, ptr); \ + static const vec_uchar16 flp = {0, 1, 2, 3, 12, 13, 14, 15, 16, 17, 18, 19, 28, 29, 30, 31}; \ + a = vec_perm(v1, vec_sld(v3, v2, 8), flp); \ + static const vec_uchar16 flp2 = {28, 29, 30, 31, 0, 1, 2, 3, 12, 13, 14, 15, 16, 17, 18, 19}; \ + b = vec_perm(v2, vec_sld(v1, v3, 8), flp2); \ + c = vec_perm(vec_sld(v2, v1, 8), v3, flp); \ +} +VSX_IMPL_ST_INTERLEAVE_3CH_4(uint, vec_uint4) +VSX_IMPL_ST_INTERLEAVE_3CH_4(int, vec_int4) +VSX_IMPL_ST_INTERLEAVE_3CH_4(float, vec_float4) + +#define VSX_IMPL_ST_INTERLEAVE_3CH_2(Tp, Tvec, ld_func, st_func) \ +FORCE_INLINE(void) vec_st_interleave(const Tvec& a, const Tvec& b, \ + const Tvec& c, Tp* ptr) \ +{ \ + st_func(vec_mergeh(a, b), 0, ptr); \ + st_func(vec_permi(c, a, 1), 2, ptr); \ + st_func(vec_mergel(b, c), 4, ptr); \ +} \ +FORCE_INLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, \ + Tvec& b, Tvec& c) \ +{ \ + Tvec v1 = ld_func(0, ptr); \ + Tvec v2 = ld_func(2, ptr); \ + Tvec v3 = ld_func(4, ptr); \ + a = vec_permi(v1, v2, 1); \ + b = vec_permi(v1, v3, 2); \ + c = vec_permi(v2, v3, 1); \ +} +VSX_IMPL_ST_INTERLEAVE_3CH_2(int64, vec_dword2, vsx_ld2, vsx_st2) +VSX_IMPL_ST_INTERLEAVE_3CH_2(uint64, vec_udword2, vsx_ld2, vsx_st2) +VSX_IMPL_ST_INTERLEAVE_3CH_2(double, vec_double2, vsx_ld, vsx_st) + +#endif // CV_VSX + +//! @} + +#endif // OPENCV_HAL_VSX_UTILS_HPP diff --git a/app/src/main/cpp/include/opencv2/core/wimage.hpp b/app/src/main/cpp/include/opencv2/core/wimage.hpp new file mode 100644 index 0000000..b246c89 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/core/wimage.hpp @@ -0,0 +1,603 @@ +/*M////////////////////////////////////////////////////////////////////////////// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to +// this license. If you do not agree to this license, do not download, +// install, copy or use the software. +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2008, Google, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of Intel Corporation or contributors may not be used to endorse +// or promote products derived from this software without specific +// prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" +// and any express or implied warranties, including, but not limited to, the +// implied warranties of merchantability and fitness for a particular purpose +// are disclaimed. In no event shall the Intel Corporation or contributors be +// liable for any direct, indirect, incidental, special, exemplary, or +// consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +///////////////////////////////////////////////////////////////////////////////// +//M*/ + +#ifndef OPENCV_CORE_WIMAGE_HPP +#define OPENCV_CORE_WIMAGE_HPP + +#include "opencv2/core/core_c.h" + +#ifdef __cplusplus + +namespace cv { + +//! @addtogroup core +//! @{ + +template class WImage; +template class WImageBuffer; +template class WImageView; + +template class WImageC; +template class WImageBufferC; +template class WImageViewC; + +// Commonly used typedefs. +typedef WImage WImage_b; +typedef WImageView WImageView_b; +typedef WImageBuffer WImageBuffer_b; + +typedef WImageC WImage1_b; +typedef WImageViewC WImageView1_b; +typedef WImageBufferC WImageBuffer1_b; + +typedef WImageC WImage3_b; +typedef WImageViewC WImageView3_b; +typedef WImageBufferC WImageBuffer3_b; + +typedef WImage WImage_f; +typedef WImageView WImageView_f; +typedef WImageBuffer WImageBuffer_f; + +typedef WImageC WImage1_f; +typedef WImageViewC WImageView1_f; +typedef WImageBufferC WImageBuffer1_f; + +typedef WImageC WImage3_f; +typedef WImageViewC WImageView3_f; +typedef WImageBufferC WImageBuffer3_f; + +// There isn't a standard for signed and unsigned short so be more +// explicit in the typename for these cases. +typedef WImage WImage_16s; +typedef WImageView WImageView_16s; +typedef WImageBuffer WImageBuffer_16s; + +typedef WImageC WImage1_16s; +typedef WImageViewC WImageView1_16s; +typedef WImageBufferC WImageBuffer1_16s; + +typedef WImageC WImage3_16s; +typedef WImageViewC WImageView3_16s; +typedef WImageBufferC WImageBuffer3_16s; + +typedef WImage WImage_16u; +typedef WImageView WImageView_16u; +typedef WImageBuffer WImageBuffer_16u; + +typedef WImageC WImage1_16u; +typedef WImageViewC WImageView1_16u; +typedef WImageBufferC WImageBuffer1_16u; + +typedef WImageC WImage3_16u; +typedef WImageViewC WImageView3_16u; +typedef WImageBufferC WImageBuffer3_16u; + +/** @brief Image class which provides a thin layer around an IplImage. + +The goals of the class design are: + + -# All the data has explicit ownership to avoid memory leaks + -# No hidden allocations or copies for performance. + -# Easy access to OpenCV methods (which will access IPP if available) + -# Can easily treat external data as an image + -# Easy to create images which are subsets of other images + -# Fast pixel access which can take advantage of number of channels if known at compile time. + +The WImage class is the image class which provides the data accessors. The 'W' comes from the fact +that it is also a wrapper around the popular but inconvenient IplImage class. A WImage can be +constructed either using a WImageBuffer class which allocates and frees the data, or using a +WImageView class which constructs a subimage or a view into external data. The view class does no +memory management. Each class actually has two versions, one when the number of channels is known +at compile time and one when it isn't. Using the one with the number of channels specified can +provide some compile time optimizations by using the fact that the number of channels is a +constant. + +We use the convention (c,r) to refer to column c and row r with (0,0) being the upper left corner. +This is similar to standard Euclidean coordinates with the first coordinate varying in the +horizontal direction and the second coordinate varying in the vertical direction. Thus (c,r) is +usually in the domain [0, width) X [0, height) + +Example usage: +@code +WImageBuffer3_b im(5,7); // Make a 5X7 3 channel image of type uchar +WImageView3_b sub_im(im, 2,2, 3,3); // 3X3 submatrix +vector vec(10, 3.0f); +WImageView1_f user_im(&vec[0], 2, 5); // 2X5 image w/ supplied data + +im.SetZero(); // same as cvSetZero(im.Ipl()) +*im(2, 3) = 15; // Modify the element at column 2, row 3 +MySetRand(&sub_im); + +// Copy the second row into the first. This can be done with no memory +// allocation and will use SSE if IPP is available. +int w = im.Width(); +im.View(0,0, w,1).CopyFrom(im.View(0,1, w,1)); + +// Doesn't care about source of data since using WImage +void MySetRand(WImage_b* im) { // Works with any number of channels +for (int r = 0; r < im->Height(); ++r) { + float* row = im->Row(r); + for (int c = 0; c < im->Width(); ++c) { + for (int ch = 0; ch < im->Channels(); ++ch, ++row) { + *row = uchar(rand() & 255); + } + } +} +} +@endcode + +Functions that are not part of the basic image allocation, viewing, and access should come from +OpenCV, except some useful functions that are not part of OpenCV can be found in wimage_util.h +*/ +template +class WImage +{ +public: + typedef T BaseType; + + // WImage is an abstract class with no other virtual methods so make the + // destructor virtual. + virtual ~WImage() = 0; + + // Accessors + IplImage* Ipl() {return image_; } + const IplImage* Ipl() const {return image_; } + T* ImageData() { return reinterpret_cast(image_->imageData); } + const T* ImageData() const { + return reinterpret_cast(image_->imageData); + } + + int Width() const {return image_->width; } + int Height() const {return image_->height; } + + // WidthStep is the number of bytes to go to the pixel with the next y coord + int WidthStep() const {return image_->widthStep; } + + int Channels() const {return image_->nChannels; } + int ChannelSize() const {return sizeof(T); } // number of bytes per channel + + // Number of bytes per pixel + int PixelSize() const {return Channels() * ChannelSize(); } + + // Return depth type (e.g. IPL_DEPTH_8U, IPL_DEPTH_32F) which is the number + // of bits per channel and with the signed bit set. + // This is known at compile time using specializations. + int Depth() const; + + inline const T* Row(int r) const { + return reinterpret_cast(image_->imageData + r*image_->widthStep); + } + + inline T* Row(int r) { + return reinterpret_cast(image_->imageData + r*image_->widthStep); + } + + // Pixel accessors which returns a pointer to the start of the channel + inline T* operator() (int c, int r) { + return reinterpret_cast(image_->imageData + r*image_->widthStep) + + c*Channels(); + } + + inline const T* operator() (int c, int r) const { + return reinterpret_cast(image_->imageData + r*image_->widthStep) + + c*Channels(); + } + + // Copy the contents from another image which is just a convenience to cvCopy + void CopyFrom(const WImage& src) { cvCopy(src.Ipl(), image_); } + + // Set contents to zero which is just a convenient to cvSetZero + void SetZero() { cvSetZero(image_); } + + // Construct a view into a region of this image + WImageView View(int c, int r, int width, int height); + +protected: + // Disallow copy and assignment + WImage(const WImage&); + void operator=(const WImage&); + + explicit WImage(IplImage* img) : image_(img) { + assert(!img || img->depth == Depth()); + } + + void SetIpl(IplImage* image) { + assert(!image || image->depth == Depth()); + image_ = image; + } + + IplImage* image_; +}; + + +/** Image class when both the pixel type and number of channels +are known at compile time. This wrapper will speed up some of the operations +like accessing individual pixels using the () operator. +*/ +template +class WImageC : public WImage +{ +public: + typedef typename WImage::BaseType BaseType; + enum { kChannels = C }; + + explicit WImageC(IplImage* img) : WImage(img) { + assert(!img || img->nChannels == Channels()); + } + + // Construct a view into a region of this image + WImageViewC View(int c, int r, int width, int height); + + // Copy the contents from another image which is just a convenience to cvCopy + void CopyFrom(const WImageC& src) { + cvCopy(src.Ipl(), WImage::image_); + } + + // WImageC is an abstract class with no other virtual methods so make the + // destructor virtual. + virtual ~WImageC() = 0; + + int Channels() const {return C; } + +protected: + // Disallow copy and assignment + WImageC(const WImageC&); + void operator=(const WImageC&); + + void SetIpl(IplImage* image) { + assert(!image || image->depth == WImage::Depth()); + WImage::SetIpl(image); + } +}; + +/** Image class which owns the data, so it can be allocated and is always +freed. It cannot be copied but can be explicity cloned. +*/ +template +class WImageBuffer : public WImage +{ +public: + typedef typename WImage::BaseType BaseType; + + // Default constructor which creates an object that can be + WImageBuffer() : WImage(0) {} + + WImageBuffer(int width, int height, int nchannels) : WImage(0) { + Allocate(width, height, nchannels); + } + + // Constructor which takes ownership of a given IplImage so releases + // the image on destruction. + explicit WImageBuffer(IplImage* img) : WImage(img) {} + + // Allocate an image. Does nothing if current size is the same as + // the new size. + void Allocate(int width, int height, int nchannels); + + // Set the data to point to an image, releasing the old data + void SetIpl(IplImage* img) { + ReleaseImage(); + WImage::SetIpl(img); + } + + // Clone an image which reallocates the image if of a different dimension. + void CloneFrom(const WImage& src) { + Allocate(src.Width(), src.Height(), src.Channels()); + CopyFrom(src); + } + + ~WImageBuffer() { + ReleaseImage(); + } + + // Release the image if it isn't null. + void ReleaseImage() { + if (WImage::image_) { + IplImage* image = WImage::image_; + cvReleaseImage(&image); + WImage::SetIpl(0); + } + } + + bool IsNull() const {return WImage::image_ == NULL; } + +private: + // Disallow copy and assignment + WImageBuffer(const WImageBuffer&); + void operator=(const WImageBuffer&); +}; + +/** Like a WImageBuffer class but when the number of channels is known at compile time. +*/ +template +class WImageBufferC : public WImageC +{ +public: + typedef typename WImage::BaseType BaseType; + enum { kChannels = C }; + + // Default constructor which creates an object that can be + WImageBufferC() : WImageC(0) {} + + WImageBufferC(int width, int height) : WImageC(0) { + Allocate(width, height); + } + + // Constructor which takes ownership of a given IplImage so releases + // the image on destruction. + explicit WImageBufferC(IplImage* img) : WImageC(img) {} + + // Allocate an image. Does nothing if current size is the same as + // the new size. + void Allocate(int width, int height); + + // Set the data to point to an image, releasing the old data + void SetIpl(IplImage* img) { + ReleaseImage(); + WImageC::SetIpl(img); + } + + // Clone an image which reallocates the image if of a different dimension. + void CloneFrom(const WImageC& src) { + Allocate(src.Width(), src.Height()); + CopyFrom(src); + } + + ~WImageBufferC() { + ReleaseImage(); + } + + // Release the image if it isn't null. + void ReleaseImage() { + if (WImage::image_) { + IplImage* image = WImage::image_; + cvReleaseImage(&image); + WImageC::SetIpl(0); + } + } + + bool IsNull() const {return WImage::image_ == NULL; } + +private: + // Disallow copy and assignment + WImageBufferC(const WImageBufferC&); + void operator=(const WImageBufferC&); +}; + +/** View into an image class which allows treating a subimage as an image or treating external data +as an image +*/ +template class WImageView : public WImage +{ +public: + typedef typename WImage::BaseType BaseType; + + // Construct a subimage. No checks are done that the subimage lies + // completely inside the original image. + WImageView(WImage* img, int c, int r, int width, int height); + + // Refer to external data. + // If not given width_step assumed to be same as width. + WImageView(T* data, int width, int height, int channels, int width_step = -1); + + // Refer to external data. This does NOT take ownership + // of the supplied IplImage. + WImageView(IplImage* img) : WImage(img) {} + + // Copy constructor + WImageView(const WImage& img) : WImage(0) { + header_ = *(img.Ipl()); + WImage::SetIpl(&header_); + } + + WImageView& operator=(const WImage& img) { + header_ = *(img.Ipl()); + WImage::SetIpl(&header_); + return *this; + } + +protected: + IplImage header_; +}; + + +template +class WImageViewC : public WImageC +{ +public: + typedef typename WImage::BaseType BaseType; + enum { kChannels = C }; + + // Default constructor needed for vectors of views. + WImageViewC(); + + virtual ~WImageViewC() {} + + // Construct a subimage. No checks are done that the subimage lies + // completely inside the original image. + WImageViewC(WImageC* img, + int c, int r, int width, int height); + + // Refer to external data + WImageViewC(T* data, int width, int height, int width_step = -1); + + // Refer to external data. This does NOT take ownership + // of the supplied IplImage. + WImageViewC(IplImage* img) : WImageC(img) {} + + // Copy constructor which does a shallow copy to allow multiple views + // of same data. gcc-4.1.1 gets confused if both versions of + // the constructor and assignment operator are not provided. + WImageViewC(const WImageC& img) : WImageC(0) { + header_ = *(img.Ipl()); + WImageC::SetIpl(&header_); + } + WImageViewC(const WImageViewC& img) : WImageC(0) { + header_ = *(img.Ipl()); + WImageC::SetIpl(&header_); + } + + WImageViewC& operator=(const WImageC& img) { + header_ = *(img.Ipl()); + WImageC::SetIpl(&header_); + return *this; + } + WImageViewC& operator=(const WImageViewC& img) { + header_ = *(img.Ipl()); + WImageC::SetIpl(&header_); + return *this; + } + +protected: + IplImage header_; +}; + + +// Specializations for depth +template<> +inline int WImage::Depth() const {return IPL_DEPTH_8U; } +template<> +inline int WImage::Depth() const {return IPL_DEPTH_8S; } +template<> +inline int WImage::Depth() const {return IPL_DEPTH_16S; } +template<> +inline int WImage::Depth() const {return IPL_DEPTH_16U; } +template<> +inline int WImage::Depth() const {return IPL_DEPTH_32S; } +template<> +inline int WImage::Depth() const {return IPL_DEPTH_32F; } +template<> +inline int WImage::Depth() const {return IPL_DEPTH_64F; } + +template inline WImage::~WImage() {} +template inline WImageC::~WImageC() {} + +template +inline void WImageBuffer::Allocate(int width, int height, int nchannels) +{ + if (IsNull() || WImage::Width() != width || + WImage::Height() != height || WImage::Channels() != nchannels) { + ReleaseImage(); + WImage::image_ = cvCreateImage(cvSize(width, height), + WImage::Depth(), nchannels); + } +} + +template +inline void WImageBufferC::Allocate(int width, int height) +{ + if (IsNull() || WImage::Width() != width || WImage::Height() != height) { + ReleaseImage(); + WImageC::SetIpl(cvCreateImage(cvSize(width, height),WImage::Depth(), C)); + } +} + +template +WImageView::WImageView(WImage* img, int c, int r, int width, int height) + : WImage(0) +{ + header_ = *(img->Ipl()); + header_.imageData = reinterpret_cast((*img)(c, r)); + header_.width = width; + header_.height = height; + WImage::SetIpl(&header_); +} + +template +WImageView::WImageView(T* data, int width, int height, int nchannels, int width_step) + : WImage(0) +{ + cvInitImageHeader(&header_, cvSize(width, height), WImage::Depth(), nchannels); + header_.imageData = reinterpret_cast(data); + if (width_step > 0) { + header_.widthStep = width_step; + } + WImage::SetIpl(&header_); +} + +template +WImageViewC::WImageViewC(WImageC* img, int c, int r, int width, int height) + : WImageC(0) +{ + header_ = *(img->Ipl()); + header_.imageData = reinterpret_cast((*img)(c, r)); + header_.width = width; + header_.height = height; + WImageC::SetIpl(&header_); +} + +template +WImageViewC::WImageViewC() : WImageC(0) { + cvInitImageHeader(&header_, cvSize(0, 0), WImage::Depth(), C); + header_.imageData = reinterpret_cast(0); + WImageC::SetIpl(&header_); +} + +template +WImageViewC::WImageViewC(T* data, int width, int height, int width_step) + : WImageC(0) +{ + cvInitImageHeader(&header_, cvSize(width, height), WImage::Depth(), C); + header_.imageData = reinterpret_cast(data); + if (width_step > 0) { + header_.widthStep = width_step; + } + WImageC::SetIpl(&header_); +} + +// Construct a view into a region of an image +template +WImageView WImage::View(int c, int r, int width, int height) { + return WImageView(this, c, r, width, height); +} + +template +WImageViewC WImageC::View(int c, int r, int width, int height) { + return WImageViewC(this, c, r, width, height); +} + +//! @} core + +} // end of namespace + +#endif // __cplusplus + +#endif diff --git a/app/src/main/cpp/include/opencv2/cvconfig.h b/app/src/main/cpp/include/opencv2/cvconfig.h new file mode 100644 index 0000000..61e04fe --- /dev/null +++ b/app/src/main/cpp/include/opencv2/cvconfig.h @@ -0,0 +1,248 @@ +#ifndef OPENCV_CVCONFIG_H_INCLUDED +#define OPENCV_CVCONFIG_H_INCLUDED + +/* OpenCV compiled as static or dynamic libs */ +/* #undef BUILD_SHARED_LIBS */ + +/* OpenCV intrinsics optimized code */ +#define CV_ENABLE_INTRINSICS + +/* OpenCV additional optimized code */ +/* #undef CV_DISABLE_OPTIMIZATION */ + +/* Compile for 'real' NVIDIA GPU architectures */ +#define CUDA_ARCH_BIN "" + +/* Create PTX or BIN for 1.0 compute capability */ +/* #undef CUDA_ARCH_BIN_OR_PTX_10 */ + +/* NVIDIA GPU features are used */ +#define CUDA_ARCH_FEATURES "" + +/* Compile for 'virtual' NVIDIA PTX architectures */ +#define CUDA_ARCH_PTX "" + +/* AVFoundation video libraries */ +/* #undef HAVE_AVFOUNDATION */ + +/* V4L capturing support */ +/* #undef HAVE_CAMV4L */ + +/* V4L2 capturing support */ +/* #undef HAVE_CAMV4L2 */ + +/* Carbon windowing environment */ +/* #undef HAVE_CARBON */ + +/* AMD's Basic Linear Algebra Subprograms Library*/ +/* #undef HAVE_CLAMDBLAS */ + +/* AMD's OpenCL Fast Fourier Transform Library*/ +/* #undef HAVE_CLAMDFFT */ + +/* Clp support */ +/* #undef HAVE_CLP */ + +/* Cocoa API */ +/* #undef HAVE_COCOA */ + +/* C= */ +/* #undef HAVE_CSTRIPES */ + +/* NVidia Cuda Basic Linear Algebra Subprograms (BLAS) API*/ +/* #undef HAVE_CUBLAS */ + +/* NVidia Cuda Runtime API*/ +/* #undef HAVE_CUDA */ + +/* NVidia Cuda Fast Fourier Transform (FFT) API*/ +/* #undef HAVE_CUFFT */ + +/* IEEE1394 capturing support */ +/* #undef HAVE_DC1394 */ + +/* IEEE1394 capturing support - libdc1394 v2.x */ +/* #undef HAVE_DC1394_2 */ + +/* DirectX */ +/* #undef HAVE_DIRECTX */ +/* #undef HAVE_DIRECTX_NV12 */ +/* #undef HAVE_D3D11 */ +/* #undef HAVE_D3D10 */ +/* #undef HAVE_D3D9 */ + +/* DirectShow Video Capture library */ +/* #undef HAVE_DSHOW */ + +/* Eigen Matrix & Linear Algebra Library */ +/* #undef HAVE_EIGEN */ + +/* FFMpeg video library */ +/* #undef HAVE_FFMPEG */ + +/* Geospatial Data Abstraction Library */ +/* #undef HAVE_GDAL */ + +/* GStreamer multimedia framework */ +/* #undef HAVE_GSTREAMER */ + +/* GTK+ 2.0 Thread support */ +/* #undef HAVE_GTHREAD */ + +/* GTK+ 2.x toolkit */ +/* #undef HAVE_GTK */ + +/* Halide support */ +/* #undef HAVE_HALIDE */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_INTTYPES_H */ + +/* Intel Perceptual Computing SDK library */ +/* #undef HAVE_INTELPERC */ + +/* Intel Integrated Performance Primitives */ +/* #undef HAVE_IPP */ +/* #undef HAVE_IPP_ICV */ +/* #undef HAVE_IPP_IW */ + +/* Intel IPP Async */ +/* #undef HAVE_IPP_A */ + +/* JPEG-2000 codec */ +#define HAVE_JASPER + +/* IJG JPEG codec */ +#define HAVE_JPEG + +/* libpng/png.h needs to be included */ +/* #undef HAVE_LIBPNG_PNG_H */ + +/* GDCM DICOM codec */ +/* #undef HAVE_GDCM */ + +/* V4L/V4L2 capturing support via libv4l */ +/* #undef HAVE_LIBV4L */ + +/* Microsoft Media Foundation Capture library */ +/* #undef HAVE_MSMF */ + +/* NVidia Video Decoding API*/ +/* #undef HAVE_NVCUVID */ + +/* NVidia Video Encoding API*/ +/* #undef HAVE_NVCUVENC */ + +/* OpenCL Support */ +/* #undef HAVE_OPENCL */ +/* #undef HAVE_OPENCL_STATIC */ +/* #undef HAVE_OPENCL_SVM */ + +/* OpenEXR codec */ +#define HAVE_OPENEXR + +/* OpenGL support*/ +/* #undef HAVE_OPENGL */ + +/* OpenNI library */ +/* #undef HAVE_OPENNI */ + +/* OpenNI library */ +/* #undef HAVE_OPENNI2 */ + +/* PNG codec */ +#define HAVE_PNG + +/* Posix threads (pthreads) */ +#define HAVE_PTHREAD + +/* parallel_for with pthreads */ +#define HAVE_PTHREADS_PF + +/* Qt support */ +/* #undef HAVE_QT */ + +/* Qt OpenGL support */ +/* #undef HAVE_QT_OPENGL */ + +/* QuickTime video libraries */ +/* #undef HAVE_QUICKTIME */ + +/* QTKit video libraries */ +/* #undef HAVE_QTKIT */ + +/* Intel Threading Building Blocks */ +#define HAVE_TBB + +/* TIFF codec */ +#define HAVE_TIFF + +/* Unicap video capture library */ +/* #undef HAVE_UNICAP */ + +/* Video for Windows support */ +/* #undef HAVE_VFW */ + +/* V4L2 capturing support in videoio.h */ +/* #undef HAVE_VIDEOIO */ + +/* Win32 UI */ +/* #undef HAVE_WIN32UI */ + +/* XIMEA camera support */ +/* #undef HAVE_XIMEA */ + +/* Xine video library */ +/* #undef HAVE_XINE */ + +/* Define if your processor stores words with the most significant byte + first (like Motorola and SPARC, unlike Intel and VAX). */ +/* #undef WORDS_BIGENDIAN */ + +/* gPhoto2 library */ +/* #undef HAVE_GPHOTO2 */ + +/* VA library (libva) */ +/* #undef HAVE_VA */ + +/* Intel VA-API/OpenCL */ +/* #undef HAVE_VA_INTEL */ + +/* Intel Media SDK */ +/* #undef HAVE_MFX */ + +/* Lapack */ +/* #undef HAVE_LAPACK */ + +/* Library was compiled with functions instrumentation */ +/* #undef ENABLE_INSTRUMENTATION */ + +/* OpenVX */ +/* #undef HAVE_OPENVX */ + +#if defined(HAVE_XINE) || \ + defined(HAVE_GSTREAMER) || \ + defined(HAVE_QUICKTIME) || \ + defined(HAVE_QTKIT) || \ + defined(HAVE_AVFOUNDATION) || \ + /*defined(HAVE_OPENNI) || too specialized */ \ + defined(HAVE_FFMPEG) || \ + defined(HAVE_MSMF) +#define HAVE_VIDEO_INPUT +#endif + +#if /*defined(HAVE_XINE) || */\ + defined(HAVE_GSTREAMER) || \ + defined(HAVE_QUICKTIME) || \ + defined(HAVE_QTKIT) || \ + defined(HAVE_AVFOUNDATION) || \ + defined(HAVE_FFMPEG) || \ + defined(HAVE_MSMF) +#define HAVE_VIDEO_OUTPUT +#endif + +/* OpenCV trace utilities */ +#define OPENCV_TRACE + + +#endif // OPENCV_CVCONFIG_H_INCLUDED diff --git a/app/src/main/cpp/include/opencv2/dnn.hpp b/app/src/main/cpp/include/opencv2/dnn.hpp new file mode 100644 index 0000000..690a82a --- /dev/null +++ b/app/src/main/cpp/include/opencv2/dnn.hpp @@ -0,0 +1,64 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_DNN_HPP +#define OPENCV_DNN_HPP + +// This is an umbrealla header to include into you project. +// We are free to change headers layout in dnn subfolder, so please include +// this header for future compatibility + + +/** @defgroup dnn Deep Neural Network module + @{ + This module contains: + - API for new layers creation, layers are building bricks of neural networks; + - set of built-in most-useful Layers; + - API to constuct and modify comprehensive neural networks from layers; + - functionality for loading serialized networks models from differnet frameworks. + + Functionality of this module is designed only for forward pass computations (i. e. network testing). + A network training is in principle not supported. + @} +*/ +#include + +#endif /* OPENCV_DNN_HPP */ diff --git a/app/src/main/cpp/include/opencv2/dnn/all_layers.hpp b/app/src/main/cpp/include/opencv2/dnn/all_layers.hpp new file mode 100644 index 0000000..b65f075 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/dnn/all_layers.hpp @@ -0,0 +1,590 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_DNN_DNN_ALL_LAYERS_HPP +#define OPENCV_DNN_DNN_ALL_LAYERS_HPP +#include + +namespace cv { +namespace dnn { +CV__DNN_EXPERIMENTAL_NS_BEGIN +//! @addtogroup dnn +//! @{ + +/** @defgroup dnnLayerList Partial List of Implemented Layers + @{ + This subsection of dnn module contains information about bult-in layers and their descriptions. + + Classes listed here, in fact, provides C++ API for creating intances of bult-in layers. + In addition to this way of layers instantiation, there is a more common factory API (see @ref dnnLayerFactory), it allows to create layers dynamically (by name) and register new ones. + You can use both API, but factory API is less convinient for native C++ programming and basically designed for use inside importers (see @ref readNetFromCaffe(), @ref readNetFromTorch(), @ref readNetFromTensorflow()). + + Bult-in layers partially reproduce functionality of corresponding Caffe and Torch7 layers. + In partuclar, the following layers and Caffe @ref Importer were tested to reproduce Caffe functionality: + - Convolution + - Deconvolution + - Pooling + - InnerProduct + - TanH, ReLU, Sigmoid, BNLL, Power, AbsVal + - Softmax + - Reshape, Flatten, Slice, Split + - LRN + - MVN + - Dropout (since it does nothing on forward pass -)) +*/ + + class CV_EXPORTS BlankLayer : public Layer + { + public: + static Ptr create(const LayerParams ¶ms); + }; + + //! LSTM recurrent layer + class CV_EXPORTS LSTMLayer : public Layer + { + public: + /** Creates instance of LSTM layer */ + static Ptr create(const LayerParams& params); + + /** @deprecated Use LayerParams::blobs instead. + @brief Set trained weights for LSTM layer. + + LSTM behavior on each step is defined by current input, previous output, previous cell state and learned weights. + + Let @f$x_t@f$ be current input, @f$h_t@f$ be current output, @f$c_t@f$ be current state. + Than current output and current cell state is computed as follows: + @f{eqnarray*}{ + h_t &= o_t \odot tanh(c_t), \\ + c_t &= f_t \odot c_{t-1} + i_t \odot g_t, \\ + @f} + where @f$\odot@f$ is per-element multiply operation and @f$i_t, f_t, o_t, g_t@f$ is internal gates that are computed using learned wights. + + Gates are computed as follows: + @f{eqnarray*}{ + i_t &= sigmoid&(W_{xi} x_t + W_{hi} h_{t-1} + b_i), \\ + f_t &= sigmoid&(W_{xf} x_t + W_{hf} h_{t-1} + b_f), \\ + o_t &= sigmoid&(W_{xo} x_t + W_{ho} h_{t-1} + b_o), \\ + g_t &= tanh &(W_{xg} x_t + W_{hg} h_{t-1} + b_g), \\ + @f} + where @f$W_{x?}@f$, @f$W_{h?}@f$ and @f$b_{?}@f$ are learned weights represented as matrices: + @f$W_{x?} \in R^{N_h \times N_x}@f$, @f$W_{h?} \in R^{N_h \times N_h}@f$, @f$b_? \in R^{N_h}@f$. + + For simplicity and performance purposes we use @f$ W_x = [W_{xi}; W_{xf}; W_{xo}, W_{xg}] @f$ + (i.e. @f$W_x@f$ is vertical contacentaion of @f$ W_{x?} @f$), @f$ W_x \in R^{4N_h \times N_x} @f$. + The same for @f$ W_h = [W_{hi}; W_{hf}; W_{ho}, W_{hg}], W_h \in R^{4N_h \times N_h} @f$ + and for @f$ b = [b_i; b_f, b_o, b_g]@f$, @f$b \in R^{4N_h} @f$. + + @param Wh is matrix defining how previous output is transformed to internal gates (i.e. according to abovemtioned notation is @f$ W_h @f$) + @param Wx is matrix defining how current input is transformed to internal gates (i.e. according to abovemtioned notation is @f$ W_x @f$) + @param b is bias vector (i.e. according to abovemtioned notation is @f$ b @f$) + */ + CV_DEPRECATED virtual void setWeights(const Mat &Wh, const Mat &Wx, const Mat &b) = 0; + + /** @brief Specifies shape of output blob which will be [[`T`], `N`] + @p outTailShape. + * @details If this parameter is empty or unset then @p outTailShape = [`Wh`.size(0)] will be used, + * where `Wh` is parameter from setWeights(). + */ + virtual void setOutShape(const MatShape &outTailShape = MatShape()) = 0; + + /** @deprecated Use flag `produce_cell_output` in LayerParams. + * @brief Specifies either interpet first dimension of input blob as timestamp dimenion either as sample. + * + * If flag is set to true then shape of input blob will be interpeted as [`T`, `N`, `[data dims]`] where `T` specifies number of timpestamps, `N` is number of independent streams. + * In this case each forward() call will iterate through `T` timestamps and update layer's state `T` times. + * + * If flag is set to false then shape of input blob will be interpeted as [`N`, `[data dims]`]. + * In this case each forward() call will make one iteration and produce one timestamp with shape [`N`, `[out dims]`]. + */ + CV_DEPRECATED virtual void setUseTimstampsDim(bool use = true) = 0; + + /** @deprecated Use flag `use_timestamp_dim` in LayerParams. + * @brief If this flag is set to true then layer will produce @f$ c_t @f$ as second output. + * @details Shape of the second output is the same as first output. + */ + CV_DEPRECATED virtual void setProduceCellOutput(bool produce = false) = 0; + + /* In common case it use single input with @f$x_t@f$ values to compute output(s) @f$h_t@f$ (and @f$c_t@f$). + * @param input should contain packed values @f$x_t@f$ + * @param output contains computed outputs: @f$h_t@f$ (and @f$c_t@f$ if setProduceCellOutput() flag was set to true). + * + * If setUseTimstampsDim() is set to true then @p input[0] should has at least two dimensions with the following shape: [`T`, `N`, `[data dims]`], + * where `T` specifies number of timpestamps, `N` is number of independent streams (i.e. @f$ x_{t_0 + t}^{stream} @f$ is stored inside @p input[0][t, stream, ...]). + * + * If setUseTimstampsDim() is set to fase then @p input[0] should contain single timestamp, its shape should has form [`N`, `[data dims]`] with at least one dimension. + * (i.e. @f$ x_{t}^{stream} @f$ is stored inside @p input[0][stream, ...]). + */ + + int inputNameToIndex(String inputName); + int outputNameToIndex(String outputName); + }; + + /** @brief Classical recurrent layer + + Accepts two inputs @f$x_t@f$ and @f$h_{t-1}@f$ and compute two outputs @f$o_t@f$ and @f$h_t@f$. + + - input: should contain packed input @f$x_t@f$. + - output: should contain output @f$o_t@f$ (and @f$h_t@f$ if setProduceHiddenOutput() is set to true). + + input[0] should have shape [`T`, `N`, `data_dims`] where `T` and `N` is number of timestamps and number of independent samples of @f$x_t@f$ respectively. + + output[0] will have shape [`T`, `N`, @f$N_o@f$], where @f$N_o@f$ is number of rows in @f$ W_{xo} @f$ matrix. + + If setProduceHiddenOutput() is set to true then @p output[1] will contain a Mat with shape [`T`, `N`, @f$N_h@f$], where @f$N_h@f$ is number of rows in @f$ W_{hh} @f$ matrix. + */ + class CV_EXPORTS RNNLayer : public Layer + { + public: + /** Creates instance of RNNLayer */ + static Ptr create(const LayerParams& params); + + /** Setups learned weights. + + Recurrent-layer behavior on each step is defined by current input @f$ x_t @f$, previous state @f$ h_t @f$ and learned weights as follows: + @f{eqnarray*}{ + h_t &= tanh&(W_{hh} h_{t-1} + W_{xh} x_t + b_h), \\ + o_t &= tanh&(W_{ho} h_t + b_o), + @f} + + @param Wxh is @f$ W_{xh} @f$ matrix + @param bh is @f$ b_{h} @f$ vector + @param Whh is @f$ W_{hh} @f$ matrix + @param Who is @f$ W_{xo} @f$ matrix + @param bo is @f$ b_{o} @f$ vector + */ + virtual void setWeights(const Mat &Wxh, const Mat &bh, const Mat &Whh, const Mat &Who, const Mat &bo) = 0; + + /** @brief If this flag is set to true then layer will produce @f$ h_t @f$ as second output. + * @details Shape of the second output is the same as first output. + */ + virtual void setProduceHiddenOutput(bool produce = false) = 0; + + }; + + class CV_EXPORTS BaseConvolutionLayer : public Layer + { + public: + Size kernel, stride, pad, dilation, adjustPad; + String padMode; + int numOutput; + }; + + class CV_EXPORTS ConvolutionLayer : public BaseConvolutionLayer + { + public: + static Ptr create(const LayerParams& params); + }; + + class CV_EXPORTS DeconvolutionLayer : public BaseConvolutionLayer + { + public: + static Ptr create(const LayerParams& params); + }; + + class CV_EXPORTS LRNLayer : public Layer + { + public: + enum Type + { + CHANNEL_NRM, + SPATIAL_NRM + }; + int type; + + int size; + float alpha, beta, bias; + bool normBySize; + + static Ptr create(const LayerParams& params); + }; + + class CV_EXPORTS PoolingLayer : public Layer + { + public: + enum Type + { + MAX, + AVE, + STOCHASTIC + }; + + int type; + Size kernel, stride, pad; + bool globalPooling; + bool computeMaxIdx; + String padMode; + bool ceilMode; + + static Ptr create(const LayerParams& params); + }; + + class CV_EXPORTS SoftmaxLayer : public Layer + { + public: + bool logSoftMax; + + static Ptr create(const LayerParams& params); + }; + + class CV_EXPORTS InnerProductLayer : public Layer + { + public: + int axis; + static Ptr create(const LayerParams& params); + }; + + class CV_EXPORTS MVNLayer : public Layer + { + public: + float eps; + bool normVariance, acrossChannels; + + static Ptr create(const LayerParams& params); + }; + + /* Reshaping */ + + class CV_EXPORTS ReshapeLayer : public Layer + { + public: + MatShape newShapeDesc; + Range newShapeRange; + + static Ptr create(const LayerParams& params); + }; + + class CV_EXPORTS FlattenLayer : public Layer + { + public: + static Ptr create(const LayerParams ¶ms); + }; + + class CV_EXPORTS ConcatLayer : public Layer + { + public: + int axis; + /** + * @brief Add zero padding in case of concatenation of blobs with different + * spatial sizes. + * + * Details: https://github.com/torch/nn/blob/master/doc/containers.md#depthconcat + */ + bool padding; + + static Ptr create(const LayerParams ¶ms); + }; + + class CV_EXPORTS SplitLayer : public Layer + { + public: + int outputsCount; //!< Number of copies that will be produced (is ignored when negative). + + static Ptr create(const LayerParams ¶ms); + }; + + /** + * Slice layer has several modes: + * 1. Caffe mode + * @param[in] axis Axis of split operation + * @param[in] slice_point Array of split points + * + * Number of output blobs equals to number of split points plus one. The + * first blob is a slice on input from 0 to @p slice_point[0] - 1 by @p axis, + * the second output blob is a slice of input from @p slice_point[0] to + * @p slice_point[1] - 1 by @p axis and the last output blob is a slice of + * input from @p slice_point[-1] up to the end of @p axis size. + * + * 2. TensorFlow mode + * @param begin Vector of start indices + * @param size Vector of sizes + * + * More convinient numpy-like slice. One and only output blob + * is a slice `input[begin[0]:begin[0]+size[0], begin[1]:begin[1]+size[1], ...]` + * + * 3. Torch mode + * @param axis Axis of split operation + * + * Split input blob on the equal parts by @p axis. + */ + class CV_EXPORTS SliceLayer : public Layer + { + public: + /** + * @brief Vector of slice ranges. + * + * The first dimension equals number of output blobs. + * Inner vector has slice ranges for the first number of input dimensions. + */ + std::vector > sliceRanges; + int axis; + + static Ptr create(const LayerParams ¶ms); + }; + + class CV_EXPORTS PermuteLayer : public Layer + { + public: + static Ptr create(const LayerParams& params); + }; + + /** + * @brief Adds extra values for specific axes. + * @param paddings Vector of paddings in format + * @code + * [ pad_before, pad_after, // [0]th dimension + * pad_before, pad_after, // [1]st dimension + * ... + * pad_before, pad_after ] // [n]th dimension + * @endcode + * that represents number of padded values at every dimension + * starting from the first one. The rest of dimensions won't + * be padded. + * @param value Value to be padded. Defaults to zero. + * @param input_dims Torch's parameter. If @p input_dims is not equal to the + * actual input dimensionality then the `[0]th` dimension + * is considered as a batch dimension and @p paddings are shifted + * to a one dimension. Defaults to `-1` that means padding + * corresponding to @p paddings. + */ + class CV_EXPORTS PaddingLayer : public Layer + { + public: + static Ptr create(const LayerParams& params); + }; + + /* Activations */ + class CV_EXPORTS ActivationLayer : public Layer + { + public: + virtual void forwardSlice(const float* src, float* dst, int len, + size_t outPlaneSize, int cn0, int cn1) const = 0; + }; + + class CV_EXPORTS ReLULayer : public ActivationLayer + { + public: + float negativeSlope; + + static Ptr create(const LayerParams ¶ms); + }; + + class CV_EXPORTS ReLU6Layer : public ActivationLayer + { + public: + static Ptr create(const LayerParams ¶ms); + }; + + class CV_EXPORTS ChannelsPReLULayer : public ActivationLayer + { + public: + static Ptr create(const LayerParams& params); + }; + + class CV_EXPORTS ELULayer : public ActivationLayer + { + public: + static Ptr create(const LayerParams ¶ms); + }; + + class CV_EXPORTS TanHLayer : public ActivationLayer + { + public: + static Ptr create(const LayerParams ¶ms); + }; + + class CV_EXPORTS SigmoidLayer : public ActivationLayer + { + public: + static Ptr create(const LayerParams ¶ms); + }; + + class CV_EXPORTS BNLLLayer : public ActivationLayer + { + public: + static Ptr create(const LayerParams ¶ms); + }; + + class CV_EXPORTS AbsLayer : public ActivationLayer + { + public: + static Ptr create(const LayerParams ¶ms); + }; + + class CV_EXPORTS PowerLayer : public ActivationLayer + { + public: + float power, scale, shift; + + static Ptr create(const LayerParams ¶ms); + }; + + /* Layers used in semantic segmentation */ + + class CV_EXPORTS CropLayer : public Layer + { + public: + int startAxis; + std::vector offset; + + static Ptr create(const LayerParams ¶ms); + }; + + class CV_EXPORTS EltwiseLayer : public Layer + { + public: + enum EltwiseOp + { + PROD = 0, + SUM = 1, + MAX = 2, + }; + + static Ptr create(const LayerParams ¶ms); + }; + + class CV_EXPORTS BatchNormLayer : public Layer + { + public: + bool hasWeights, hasBias; + float epsilon; + + virtual void getScaleShift(Mat& scale, Mat& shift) const = 0; + static Ptr create(const LayerParams ¶ms); + }; + + class CV_EXPORTS MaxUnpoolLayer : public Layer + { + public: + Size poolKernel; + Size poolPad; + Size poolStride; + + static Ptr create(const LayerParams ¶ms); + }; + + class CV_EXPORTS ScaleLayer : public Layer + { + public: + bool hasBias; + + static Ptr create(const LayerParams& params); + }; + + class CV_EXPORTS ShiftLayer : public Layer + { + public: + static Ptr create(const LayerParams& params); + }; + + class CV_EXPORTS PriorBoxLayer : public Layer + { + public: + static Ptr create(const LayerParams& params); + }; + + class CV_EXPORTS ReorgLayer : public Layer + { + public: + static Ptr create(const LayerParams& params); + }; + + class CV_EXPORTS RegionLayer : public Layer + { + public: + static Ptr create(const LayerParams& params); + }; + + class CV_EXPORTS DetectionOutputLayer : public Layer + { + public: + static Ptr create(const LayerParams& params); + }; + + /** + * @brief \f$ L_p \f$ - normalization layer. + * @param p Normalization factor. The most common `p = 1` for \f$ L_1 \f$ - + * normalization or `p = 2` for \f$ L_2 \f$ - normalization or a custom one. + * @param eps Parameter \f$ \epsilon \f$ to prevent a division by zero. + * @param across_spatial If true, normalize an input across all non-batch dimensions. + * Otherwise normalize an every channel separately. + * + * Across spatial: + * @f[ + * norm = \sqrt[p]{\epsilon + \sum_{x, y, c} |src(x, y, c)|^p } \\ + * dst(x, y, c) = \frac{ src(x, y, c) }{norm} + * @f] + * + * Channel wise normalization: + * @f[ + * norm(c) = \sqrt[p]{\epsilon + \sum_{x, y} |src(x, y, c)|^p } \\ + * dst(x, y, c) = \frac{ src(x, y, c) }{norm(c)} + * @f] + * + * Where `x, y` - spatial cooridnates, `c` - channel. + * + * An every sample in the batch is normalized separately. Optionally, + * output is scaled by the trained parameters. + */ + class NormalizeBBoxLayer : public Layer + { + public: + float pnorm, epsilon; + bool acrossSpatial; + + static Ptr create(const LayerParams& params); + }; + + /** + * @brief Resize input 4-dimensional blob by nearest neghbor strategy. + * + * Layer is used to support TensorFlow's resize_nearest_neighbor op. + */ + class CV_EXPORTS ResizeNearestNeighborLayer : public Layer + { + public: + static Ptr create(const LayerParams& params); + }; + +//! @} +//! @} +CV__DNN_EXPERIMENTAL_NS_END +} +} +#endif diff --git a/app/src/main/cpp/include/opencv2/dnn/dict.hpp b/app/src/main/cpp/include/opencv2/dnn/dict.hpp new file mode 100644 index 0000000..43cb58a --- /dev/null +++ b/app/src/main/cpp/include/opencv2/dnn/dict.hpp @@ -0,0 +1,152 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#include +#include +#include + +#include + +#ifndef OPENCV_DNN_DNN_DICT_HPP +#define OPENCV_DNN_DNN_DICT_HPP + +namespace cv { +namespace dnn { +CV__DNN_EXPERIMENTAL_NS_BEGIN +//! @addtogroup dnn +//! @{ + +/** @brief This struct stores the scalar value (or array) of one of the following type: double, cv::String or int64. + * @todo Maybe int64 is useless because double type exactly stores at least 2^52 integers. + */ +struct CV_EXPORTS_W DictValue +{ + DictValue(const DictValue &r); + DictValue(int64 i = 0) : type(Param::INT), pi(new AutoBuffer) { (*pi)[0] = i; } //!< Constructs integer scalar + CV_WRAP DictValue(int i) : type(Param::INT), pi(new AutoBuffer) { (*pi)[0] = i; } //!< Constructs integer scalar + DictValue(unsigned p) : type(Param::INT), pi(new AutoBuffer) { (*pi)[0] = p; } //!< Constructs integer scalar + CV_WRAP DictValue(double p) : type(Param::REAL), pd(new AutoBuffer) { (*pd)[0] = p; } //!< Constructs floating point scalar + CV_WRAP DictValue(const String &s) : type(Param::STRING), ps(new AutoBuffer) { (*ps)[0] = s; } //!< Constructs string scalar + DictValue(const char *s) : type(Param::STRING), ps(new AutoBuffer) { (*ps)[0] = s; } //!< @overload + + template + static DictValue arrayInt(TypeIter begin, int size); //!< Constructs integer array + template + static DictValue arrayReal(TypeIter begin, int size); //!< Constructs floating point array + template + static DictValue arrayString(TypeIter begin, int size); //!< Constructs array of strings + + template + T get(int idx = -1) const; //!< Tries to convert array element with specified index to requested type and returns its. + + int size() const; + + CV_WRAP bool isInt() const; + CV_WRAP bool isString() const; + CV_WRAP bool isReal() const; + + CV_WRAP int getIntValue(int idx = -1) const; + CV_WRAP double getRealValue(int idx = -1) const; + CV_WRAP String getStringValue(int idx = -1) const; + + DictValue &operator=(const DictValue &r); + + friend std::ostream &operator<<(std::ostream &stream, const DictValue &dictv); + + ~DictValue(); + +private: + + int type; + + union + { + AutoBuffer *pi; + AutoBuffer *pd; + AutoBuffer *ps; + void *pv; + }; + + DictValue(int _type, void *_p) : type(_type), pv(_p) {} + void release(); +}; + +/** @brief This class implements name-value dictionary, values are instances of DictValue. */ +class CV_EXPORTS Dict +{ + typedef std::map _Dict; + _Dict dict; + +public: + + //! Checks a presence of the @p key in the dictionary. + bool has(const String &key) const; + + //! If the @p key in the dictionary then returns pointer to its value, else returns NULL. + DictValue *ptr(const String &key); + + /** @overload */ + const DictValue *ptr(const String &key) const; + + //! If the @p key in the dictionary then returns its value, else an error will be generated. + const DictValue &get(const String &key) const; + + /** @overload */ + template + T get(const String &key) const; + + //! If the @p key in the dictionary then returns its value, else returns @p defaultValue. + template + T get(const String &key, const T &defaultValue) const; + + //! Sets new @p value for the @p key, or adds new key-value pair into the dictionary. + template + const T &set(const String &key, const T &value); + + friend std::ostream &operator<<(std::ostream &stream, const Dict &dict); +}; + +//! @} +CV__DNN_EXPERIMENTAL_NS_END +} +} + +#endif diff --git a/app/src/main/cpp/include/opencv2/dnn/dnn.hpp b/app/src/main/cpp/include/opencv2/dnn/dnn.hpp new file mode 100644 index 0000000..ff222d7 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/dnn/dnn.hpp @@ -0,0 +1,746 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_DNN_DNN_HPP +#define OPENCV_DNN_DNN_HPP + +#include +#include + +#if !defined CV_DOXYGEN && !defined CV_DNN_DONT_ADD_EXPERIMENTAL_NS +#define CV__DNN_EXPERIMENTAL_NS_BEGIN namespace experimental_dnn_v2 { +#define CV__DNN_EXPERIMENTAL_NS_END } +namespace cv { namespace dnn { namespace experimental_dnn_v2 { } using namespace experimental_dnn_v2; }} +#else +#define CV__DNN_EXPERIMENTAL_NS_BEGIN +#define CV__DNN_EXPERIMENTAL_NS_END +#endif + +#include + +namespace cv { +namespace dnn { +CV__DNN_EXPERIMENTAL_NS_BEGIN +//! @addtogroup dnn +//! @{ + + typedef std::vector MatShape; + + /** + * @brief Enum of computation backends supported by layers. + */ + enum Backend + { + DNN_BACKEND_DEFAULT, + DNN_BACKEND_HALIDE + }; + + /** + * @brief Enum of target devices for computations. + */ + enum Target + { + DNN_TARGET_CPU, + DNN_TARGET_OPENCL + }; + + /** @brief This class provides all data needed to initialize layer. + * + * It includes dictionary with scalar params (which can be readed by using Dict interface), + * blob params #blobs and optional meta information: #name and #type of layer instance. + */ + class CV_EXPORTS LayerParams : public Dict + { + public: + //TODO: Add ability to name blob params + std::vector blobs; //!< List of learned parameters stored as blobs. + + String name; //!< Name of the layer instance (optional, can be used internal purposes). + String type; //!< Type name which was used for creating layer by layer factory (optional). + }; + + /** + * @brief Derivatives of this class encapsulates functions of certain backends. + */ + class BackendNode + { + public: + BackendNode(int backendId); + + virtual ~BackendNode(); //!< Virtual destructor to make polymorphism. + + int backendId; //!< Backend identifier. + }; + + /** + * @brief Derivatives of this class wraps cv::Mat for different backends and targets. + */ + class BackendWrapper + { + public: + BackendWrapper(int backendId, int targetId); + + /** + * @brief Wrap cv::Mat for specific backend and target. + * @param[in] targetId Target identifier. + * @param[in] m cv::Mat for wrapping. + * + * Make CPU->GPU data transfer if it's require for the target. + */ + BackendWrapper(int targetId, const cv::Mat& m); + + /** + * @brief Make wrapper for reused cv::Mat. + * @param[in] base Wrapper of cv::Mat that will be reused. + * @param[in] shape Specific shape. + * + * Initialize wrapper from another one. It'll wrap the same host CPU + * memory and mustn't allocate memory on device(i.e. GPU). It might + * has different shape. Use in case of CPU memory reusing for reuse + * associented memory on device too. + */ + BackendWrapper(const Ptr& base, const MatShape& shape); + + virtual ~BackendWrapper(); //!< Virtual destructor to make polymorphism. + + /** + * @brief Transfer data to CPU host memory. + */ + virtual void copyToHost() = 0; + + /** + * @brief Indicate that an actual data is on CPU. + */ + virtual void setHostDirty() = 0; + + int backendId; //!< Backend identifier. + int targetId; //!< Target identifier. + }; + + class CV_EXPORTS ActivationLayer; + class CV_EXPORTS BatchNormLayer; + class CV_EXPORTS ScaleLayer; + + /** @brief This interface class allows to build new Layers - are building blocks of networks. + * + * Each class, derived from Layer, must implement allocate() methods to declare own outputs and forward() to compute outputs. + * Also before using the new layer into networks you must register your layer by using one of @ref dnnLayerFactory "LayerFactory" macros. + */ + class CV_EXPORTS_W Layer : public Algorithm + { + public: + + //! List of learned parameters must be stored here to allow read them by using Net::getParam(). + CV_PROP_RW std::vector blobs; + + /** @brief Computes and sets internal parameters according to inputs, outputs and blobs. + * @param[in] input vector of already allocated input blobs + * @param[out] output vector of already allocated output blobs + * + * If this method is called after network has allocated all memory for input and output blobs + * and before inferencing. + */ + virtual void finalize(const std::vector &input, std::vector &output); + + /** @brief Given the @p input blobs, computes the output @p blobs. + * @param[in] input the input blobs. + * @param[out] output allocated output blobs, which will store results of the computation. + * @param[out] internals allocated internal blobs + */ + virtual void forward(std::vector &input, std::vector &output, std::vector &internals) = 0; + + /** @brief @overload */ + CV_WRAP void finalize(const std::vector &inputs, CV_OUT std::vector &outputs); + + /** @brief @overload */ + CV_WRAP std::vector finalize(const std::vector &inputs); + + /** @brief @overload */ + CV_WRAP void forward(const std::vector &inputs, CV_IN_OUT std::vector &outputs, + CV_IN_OUT std::vector &internals); + + /** @brief Allocates layer and computes output. */ + CV_WRAP void run(const std::vector &inputs, CV_OUT std::vector &outputs, + CV_IN_OUT std::vector &internals); + + /** @brief Returns index of input blob into the input array. + * @param inputName label of input blob + * + * Each layer input and output can be labeled to easily identify them using "%[.output_name]" notation. + * This method maps label of input blob to its index into input vector. + */ + virtual int inputNameToIndex(String inputName); + /** @brief Returns index of output blob in output array. + * @see inputNameToIndex() + */ + virtual int outputNameToIndex(String outputName); + + /** + * @brief Ask layer if it support specific backend for doing computations. + * @param[in] backendId computation backend identifier. + * @see Backend + */ + virtual bool supportBackend(int backendId); + + /** + * @brief Returns Halide backend node. + * @param[in] inputs Input Halide buffers. + * @see BackendNode, BackendWrapper + * + * Input buffers should be exactly the same that will be used in forward invocations. + * Despite we can use Halide::ImageParam based on input shape only, + * it helps prevent some memory management issues (if something wrong, + * Halide tests will be failed). + */ + virtual Ptr initHalide(const std::vector > &inputs); + + /** + * @brief Automatic Halide scheduling based on layer hyper-parameters. + * @param[in] node Backend node with Halide functions. + * @param[in] inputs Blobs that will be used in forward invocations. + * @param[in] outputs Blobs that will be used in forward invocations. + * @param[in] targetId Target identifier + * @see BackendNode, Target + * + * Layer don't use own Halide::Func members because we can have applied + * layers fusing. In this way the fused function should be scheduled. + */ + virtual void applyHalideScheduler(Ptr& node, + const std::vector &inputs, + const std::vector &outputs, + int targetId) const; + + /** + * @brief Implement layers fusing. + * @param[in] node Backend node of bottom layer. + * @see BackendNode + * + * Actual for graph-based backends. If layer attached successfully, + * returns non-empty cv::Ptr to node of the same backend. + * Fuse only over the last function. + */ + virtual Ptr tryAttach(const Ptr& node); + + /** + * @brief Tries to attach to the layer the subsequent activation layer, i.e. do the layer fusion in a partial case. + * @param[in] layer The subsequent activation layer. + * + * Returns true if the activation layer has been attached successfully. + */ + virtual bool setActivation(const Ptr& layer); + + /** + * @brief Tries to attach to the layer the subsequent batch normalization layer, i.e. do the layer fusion in a partial case. + * @param[in] layer The subsequent batch normalization layer. + * + * Returns true if the batch normalization layer has been attached successfully. + */ + virtual bool setBatchNorm(const Ptr& layer); + + /** + * @brief Tries to attach to the layer the subsequent scaling layer, i.e. do the layer fusion in a partial case. + * @param[in] layer The subsequent scaling layer. + * + * Returns true if the scaling layer has been attached successfully. + */ + virtual bool setScale(const Ptr& layer); + + /** + * @brief "Deattaches" all the layers, attached to particular layer. + */ + virtual void unsetAttached(); + + virtual bool getMemoryShapes(const std::vector &inputs, + const int requiredOutputs, + std::vector &outputs, + std::vector &internals) const; + virtual int64 getFLOPS(const std::vector &inputs, + const std::vector &outputs) const {(void)inputs; (void)outputs; return 0;} + + CV_PROP String name; //!< Name of the layer instance, can be used for logging or other internal purposes. + CV_PROP String type; //!< Type name which was used for creating layer by layer factory. + CV_PROP int preferableTarget; //!< prefer target for layer forwarding + + Layer(); + explicit Layer(const LayerParams ¶ms); //!< Initializes only #name, #type and #blobs fields. + void setParamsFrom(const LayerParams ¶ms); //!< Initializes only #name, #type and #blobs fields. + virtual ~Layer(); + }; + + /** @brief This class allows to create and manipulate comprehensive artificial neural networks. + * + * Neural network is presented as directed acyclic graph (DAG), where vertices are Layer instances, + * and edges specify relationships between layers inputs and outputs. + * + * Each network layer has unique integer id and unique string name inside its network. + * LayerId can store either layer name or layer id. + * + * This class supports reference counting of its instances, i. e. copies point to the same instance. + */ + class CV_EXPORTS_W_SIMPLE Net + { + public: + + CV_WRAP Net(); //!< Default constructor. + CV_WRAP ~Net(); //!< Destructor frees the net only if there aren't references to the net anymore. + + /** Returns true if there are no layers in the network. */ + CV_WRAP bool empty() const; + + /** @brief Adds new layer to the net. + * @param name unique name of the adding layer. + * @param type typename of the adding layer (type must be registered in LayerRegister). + * @param params parameters which will be used to initialize the creating layer. + * @returns unique identifier of created layer, or -1 if a failure will happen. + */ + int addLayer(const String &name, const String &type, LayerParams ¶ms); + /** @brief Adds new layer and connects its first input to the first output of previously added layer. + * @see addLayer() + */ + int addLayerToPrev(const String &name, const String &type, LayerParams ¶ms); + + /** @brief Converts string name of the layer to the integer identifier. + * @returns id of the layer, or -1 if the layer wasn't found. + */ + CV_WRAP int getLayerId(const String &layer); + + CV_WRAP std::vector getLayerNames() const; + + /** @brief Container for strings and integers. */ + typedef DictValue LayerId; + + /** @brief Returns pointer to layer with specified id or name which the network use. */ + CV_WRAP Ptr getLayer(LayerId layerId); + + /** @brief Returns pointers to input layers of specific layer. */ + std::vector > getLayerInputs(LayerId layerId); // FIXIT: CV_WRAP + + /** @brief Delete layer for the network (not implemented yet) */ + CV_WRAP void deleteLayer(LayerId layer); + + /** @brief Connects output of the first layer to input of the second layer. + * @param outPin descriptor of the first layer output. + * @param inpPin descriptor of the second layer input. + * + * Descriptors have the following template <layer_name>[.input_number]: + * - the first part of the template layer_name is sting name of the added layer. + * If this part is empty then the network input pseudo layer will be used; + * - the second optional part of the template input_number + * is either number of the layer input, either label one. + * If this part is omitted then the first layer input will be used. + * + * @see setNetInputs(), Layer::inputNameToIndex(), Layer::outputNameToIndex() + */ + CV_WRAP void connect(String outPin, String inpPin); + + /** @brief Connects #@p outNum output of the first layer to #@p inNum input of the second layer. + * @param outLayerId identifier of the first layer + * @param inpLayerId identifier of the second layer + * @param outNum number of the first layer output + * @param inpNum number of the second layer input + */ + void connect(int outLayerId, int outNum, int inpLayerId, int inpNum); + + /** @brief Sets outputs names of the network input pseudo layer. + * + * Each net always has special own the network input pseudo layer with id=0. + * This layer stores the user blobs only and don't make any computations. + * In fact, this layer provides the only way to pass user data into the network. + * As any other layer, this layer can label its outputs and this function provides an easy way to do this. + */ + CV_WRAP void setInputsNames(const std::vector &inputBlobNames); + + /** @brief Runs forward pass to compute output of layer with name @p outputName. + * @param outputName name for layer which output is needed to get + * @return blob for first output of specified layer. + * @details By default runs forward pass for the whole network. + */ + CV_WRAP Mat forward(const String& outputName = String()); + + /** @brief Runs forward pass to compute output of layer with name @p outputName. + * @param outputBlobs contains all output blobs for specified layer. + * @param outputName name for layer which output is needed to get + * @details If @p outputName is empty, runs forward pass for the whole network. + */ + CV_WRAP void forward(std::vector& outputBlobs, const String& outputName = String()); + + /** @brief Runs forward pass to compute outputs of layers listed in @p outBlobNames. + * @param outputBlobs contains blobs for first outputs of specified layers. + * @param outBlobNames names for layers which outputs are needed to get + */ + CV_WRAP void forward(std::vector& outputBlobs, + const std::vector& outBlobNames); + + /** @brief Runs forward pass to compute outputs of layers listed in @p outBlobNames. + * @param outputBlobs contains all output blobs for each layer specified in @p outBlobNames. + * @param outBlobNames names for layers which outputs are needed to get + */ + CV_WRAP void forward(std::vector >& outputBlobs, + const std::vector& outBlobNames); + + //TODO: + /** @brief Optimized forward. + * @warning Not implemented yet. + * @details Makes forward only those layers which weren't changed after previous forward(). + */ + void forwardOpt(LayerId toLayer); + /** @overload */ + void forwardOpt(const std::vector &toLayers); + + /** + * @brief Compile Halide layers. + * @param[in] scheduler Path to YAML file with scheduling directives. + * @see setPreferableBackend + * + * Schedule layers that support Halide backend. Then compile them for + * specific target. For layers that not represented in scheduling file + * or if no manual scheduling used at all, automatic scheduling will be applied. + */ + CV_WRAP void setHalideScheduler(const String& scheduler); + + /** + * @brief Ask network to use specific computation backend where it supported. + * @param[in] backendId backend identifier. + * @see Backend + */ + CV_WRAP void setPreferableBackend(int backendId); + + /** + * @brief Ask network to make computations on specific target device. + * @param[in] targetId target identifier. + * @see Target + */ + CV_WRAP void setPreferableTarget(int targetId); + + /** @brief Sets the new value for the layer output blob + * @param name descriptor of the updating layer output blob. + * @param blob new blob. + * @see connect(String, String) to know format of the descriptor. + * @note If updating blob is not empty then @p blob must have the same shape, + * because network reshaping is not implemented yet. + */ + CV_WRAP void setInput(const Mat &blob, const String& name = ""); + + /** @brief Sets the new value for the learned param of the layer. + * @param layer name or id of the layer. + * @param numParam index of the layer parameter in the Layer::blobs array. + * @param blob the new value. + * @see Layer::blobs + * @note If shape of the new blob differs from the previous shape, + * then the following forward pass may fail. + */ + CV_WRAP void setParam(LayerId layer, int numParam, const Mat &blob); + + /** @brief Returns parameter blob of the layer. + * @param layer name or id of the layer. + * @param numParam index of the layer parameter in the Layer::blobs array. + * @see Layer::blobs + */ + CV_WRAP Mat getParam(LayerId layer, int numParam = 0); + + /** @brief Returns indexes of layers with unconnected outputs. + */ + CV_WRAP std::vector getUnconnectedOutLayers() const; + /** @brief Returns input and output shapes for all layers in loaded model; + * preliminary inferencing isn't necessary. + * @param netInputShapes shapes for all input blobs in net input layer. + * @param layersIds output parameter for layer IDs. + * @param inLayersShapes output parameter for input layers shapes; + * order is the same as in layersIds + * @param outLayersShapes output parameter for output layers shapes; + * order is the same as in layersIds + */ + CV_WRAP void getLayersShapes(const std::vector& netInputShapes, + CV_OUT std::vector& layersIds, + CV_OUT std::vector >& inLayersShapes, + CV_OUT std::vector >& outLayersShapes) const; + + /** @overload */ + CV_WRAP void getLayersShapes(const MatShape& netInputShape, + CV_OUT std::vector& layersIds, + CV_OUT std::vector >& inLayersShapes, + CV_OUT std::vector >& outLayersShapes) const; + + /** @brief Returns input and output shapes for layer with specified + * id in loaded model; preliminary inferencing isn't necessary. + * @param netInputShape shape input blob in net input layer. + * @param layerId id for layer. + * @param inLayerShapes output parameter for input layers shapes; + * order is the same as in layersIds + * @param outLayerShapes output parameter for output layers shapes; + * order is the same as in layersIds + */ + void getLayerShapes(const MatShape& netInputShape, + const int layerId, + CV_OUT std::vector& inLayerShapes, + CV_OUT std::vector& outLayerShapes) const; // FIXIT: CV_WRAP + + /** @overload */ + void getLayerShapes(const std::vector& netInputShapes, + const int layerId, + CV_OUT std::vector& inLayerShapes, + CV_OUT std::vector& outLayerShapes) const; // FIXIT: CV_WRAP + + /** @brief Computes FLOP for whole loaded model with specified input shapes. + * @param netInputShapes vector of shapes for all net inputs. + * @returns computed FLOP. + */ + CV_WRAP int64 getFLOPS(const std::vector& netInputShapes) const; + /** @overload */ + CV_WRAP int64 getFLOPS(const MatShape& netInputShape) const; + /** @overload */ + CV_WRAP int64 getFLOPS(const int layerId, + const std::vector& netInputShapes) const; + /** @overload */ + CV_WRAP int64 getFLOPS(const int layerId, + const MatShape& netInputShape) const; + + /** @brief Returns list of types for layer used in model. + * @param layersTypes output parameter for returning types. + */ + CV_WRAP void getLayerTypes(CV_OUT std::vector& layersTypes) const; + + /** @brief Returns count of layers of specified type. + * @param layerType type. + * @returns count of layers + */ + CV_WRAP int getLayersCount(const String& layerType) const; + + /** @brief Computes bytes number which are requered to store + * all weights and intermediate blobs for model. + * @param netInputShapes vector of shapes for all net inputs. + * @param weights output parameter to store resulting bytes for weights. + * @param blobs output parameter to store resulting bytes for intermediate blobs. + */ + void getMemoryConsumption(const std::vector& netInputShapes, + CV_OUT size_t& weights, CV_OUT size_t& blobs) const; // FIXIT: CV_WRAP + /** @overload */ + CV_WRAP void getMemoryConsumption(const MatShape& netInputShape, + CV_OUT size_t& weights, CV_OUT size_t& blobs) const; + /** @overload */ + CV_WRAP void getMemoryConsumption(const int layerId, + const std::vector& netInputShapes, + CV_OUT size_t& weights, CV_OUT size_t& blobs) const; + /** @overload */ + CV_WRAP void getMemoryConsumption(const int layerId, + const MatShape& netInputShape, + CV_OUT size_t& weights, CV_OUT size_t& blobs) const; + + /** @brief Computes bytes number which are requered to store + * all weights and intermediate blobs for each layer. + * @param netInputShapes vector of shapes for all net inputs. + * @param layerIds output vector to save layer IDs. + * @param weights output parameter to store resulting bytes for weights. + * @param blobs output parameter to store resulting bytes for intermediate blobs. + */ + void getMemoryConsumption(const std::vector& netInputShapes, + CV_OUT std::vector& layerIds, + CV_OUT std::vector& weights, + CV_OUT std::vector& blobs) const; // FIXIT: CV_WRAP + /** @overload */ + void getMemoryConsumption(const MatShape& netInputShape, + CV_OUT std::vector& layerIds, + CV_OUT std::vector& weights, + CV_OUT std::vector& blobs) const; // FIXIT: CV_WRAP + + /** @brief Enables or disables layer fusion in the network. + * @param fusion true to enable the fusion, false to disable. The fusion is enabled by default. + */ + CV_WRAP void enableFusion(bool fusion); + + /** @brief Returns overall time for inference and timings (in ticks) for layers. + * Indexes in returned vector correspond to layers ids. Some layers can be fused with others, + * in this case zero ticks count will be return for that skipped layers. + * @param timings vector for tick timings for all layers. + * @return overall ticks for model inference. + */ + CV_WRAP int64 getPerfProfile(CV_OUT std::vector& timings); + + private: + struct Impl; + Ptr impl; + }; + + /** + * @deprecated Deprecated as external interface. Will be for internal needs only. + * @brief Small interface class for loading trained serialized models of different dnn-frameworks. */ + class CV_EXPORTS_W Importer : public Algorithm + { + public: + + /** @brief Adds loaded layers into the @p net and sets connections between them. */ + CV_DEPRECATED CV_WRAP virtual void populateNet(Net net) = 0; + + virtual ~Importer(); + }; + + /** @brief Reads a network model stored in Darknet model files. + * @param cfgFile path to the .cfg file with text description of the network architecture. + * @param darknetModel path to the .weights file with learned network. + * @returns Network object that ready to do forward, throw an exception in failure cases. + * @details This is shortcut consisting from DarknetImporter and Net::populateNet calls. + */ + CV_EXPORTS_W Net readNetFromDarknet(const String &cfgFile, const String &darknetModel = String()); + + /** + * @deprecated Use @ref readNetFromCaffe instead. + * @brief Creates the importer of Caffe framework network. + * @param prototxt path to the .prototxt file with text description of the network architecture. + * @param caffeModel path to the .caffemodel file with learned network. + * @returns Pointer to the created importer, NULL in failure cases. + */ + CV_DEPRECATED CV_EXPORTS_W Ptr createCaffeImporter(const String &prototxt, const String &caffeModel = String()); + + /** @brief Reads a network model stored in Caffe model files. + * @details This is shortcut consisting from createCaffeImporter and Net::populateNet calls. + */ + CV_EXPORTS_W Net readNetFromCaffe(const String &prototxt, const String &caffeModel = String()); + + /** @brief Reads a network model stored in Tensorflow model file. + * @details This is shortcut consisting from createTensorflowImporter and Net::populateNet calls. + */ + CV_EXPORTS_W Net readNetFromTensorflow(const String &model, const String &config = String()); + + /** @brief Reads a network model stored in Torch model file. + * @details This is shortcut consisting from createTorchImporter and Net::populateNet calls. + */ + CV_EXPORTS_W Net readNetFromTorch(const String &model, bool isBinary = true); + + /** + * @deprecated Use @ref readNetFromTensorflow instead. + * @brief Creates the importer of TensorFlow framework network. + * @param model path to the .pb file with binary protobuf description of the network architecture. + * @returns Pointer to the created importer, NULL in failure cases. + */ + CV_DEPRECATED CV_EXPORTS_W Ptr createTensorflowImporter(const String &model); + + /** + * @deprecated Use @ref readNetFromTorch instead. + * @brief Creates the importer of Torch7 framework network. + * @param filename path to the file, dumped from Torch by using torch.save() function. + * @param isBinary specifies whether the network was serialized in ascii mode or binary. + * @returns Pointer to the created importer, NULL in failure cases. + * + * @warning Torch7 importer is experimental now, you need explicitly set CMake `opencv_dnn_BUILD_TORCH_IMPORTER` flag to compile its. + * + * @note Ascii mode of Torch serializer is more preferable, because binary mode extensively use `long` type of C language, + * which has various bit-length on different systems. + * + * The loading file must contain serialized nn.Module object + * with importing network. Try to eliminate a custom objects from serialazing data to avoid importing errors. + * + * List of supported layers (i.e. object instances derived from Torch nn.Module class): + * - nn.Sequential + * - nn.Parallel + * - nn.Concat + * - nn.Linear + * - nn.SpatialConvolution + * - nn.SpatialMaxPooling, nn.SpatialAveragePooling + * - nn.ReLU, nn.TanH, nn.Sigmoid + * - nn.Reshape + * - nn.SoftMax, nn.LogSoftMax + * + * Also some equivalents of these classes from cunn, cudnn, and fbcunn may be successfully imported. + */ + CV_DEPRECATED CV_EXPORTS_W Ptr createTorchImporter(const String &filename, bool isBinary = true); + + /** @brief Loads blob which was serialized as torch.Tensor object of Torch7 framework. + * @warning This function has the same limitations as createTorchImporter(). + */ + CV_EXPORTS_W Mat readTorchBlob(const String &filename, bool isBinary = true); + /** @brief Creates 4-dimensional blob from image. Optionally resizes and crops @p image from center, + * subtract @p mean values, scales values by @p scalefactor, swap Blue and Red channels. + * @param image input image (with 1- or 3-channels). + * @param size spatial size for output image + * @param mean scalar with mean values which are subtracted from channels. Values are intended + * to be in (mean-R, mean-G, mean-B) order if @p image has BGR ordering and @p swapRB is true. + * @param scalefactor multiplier for @p image values. + * @param swapRB flag which indicates that swap first and last channels + * in 3-channel image is necessary. + * @param crop flag which indicates whether image will be cropped after resize or not + * @details if @p crop is true, input image is resized so one side after resize is equal to corresponing + * dimension in @p size and another one is equal or larger. Then, crop from the center is performed. + * If @p crop is false, direct resize without cropping and preserving aspect ratio is performed. + * @returns 4-dimansional Mat with NCHW dimensions order. + */ + CV_EXPORTS_W Mat blobFromImage(const Mat& image, double scalefactor=1.0, const Size& size = Size(), + const Scalar& mean = Scalar(), bool swapRB=true, bool crop=true); + /** @brief Creates 4-dimensional blob from series of images. Optionally resizes and + * crops @p images from center, subtract @p mean values, scales values by @p scalefactor, + * swap Blue and Red channels. + * @param images input images (all with 1- or 3-channels). + * @param size spatial size for output image + * @param mean scalar with mean values which are subtracted from channels. Values are intended + * to be in (mean-R, mean-G, mean-B) order if @p image has BGR ordering and @p swapRB is true. + * @param scalefactor multiplier for @p images values. + * @param swapRB flag which indicates that swap first and last channels + * in 3-channel image is necessary. + * @param crop flag which indicates whether image will be cropped after resize or not + * @details if @p crop is true, input image is resized so one side after resize is equal to corresponing + * dimension in @p size and another one is equal or larger. Then, crop from the center is performed. + * If @p crop is false, direct resize without cropping and preserving aspect ratio is performed. + * @returns 4-dimansional Mat with NCHW dimensions order. + */ + CV_EXPORTS_W Mat blobFromImages(const std::vector& images, double scalefactor=1.0, + Size size = Size(), const Scalar& mean = Scalar(), bool swapRB=true, bool crop=true); + + /** @brief Convert all weights of Caffe network to half precision floating point. + * @param src Path to origin model from Caffe framework contains single + * precision floating point weights (usually has `.caffemodel` extension). + * @param dst Path to destination model with updated weights. + * + * @note Shrinked model has no origin float32 weights so it can't be used + * in origin Caffe framework anymore. However the structure of data + * is taken from NVidia's Caffe fork: https://github.com/NVIDIA/caffe. + * So the resulting model may be used there. + */ + CV_EXPORTS_W void shrinkCaffeModel(const String& src, const String& dst); + + +//! @} +CV__DNN_EXPERIMENTAL_NS_END +} +} + +#include +#include + +#endif /* OPENCV_DNN_DNN_HPP */ diff --git a/app/src/main/cpp/include/opencv2/dnn/dnn.inl.hpp b/app/src/main/cpp/include/opencv2/dnn/dnn.inl.hpp new file mode 100644 index 0000000..c30185b --- /dev/null +++ b/app/src/main/cpp/include/opencv2/dnn/dnn.inl.hpp @@ -0,0 +1,373 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_DNN_DNN_INL_HPP +#define OPENCV_DNN_DNN_INL_HPP + +#include + +namespace cv { +namespace dnn { +CV__DNN_EXPERIMENTAL_NS_BEGIN + +template +DictValue DictValue::arrayInt(TypeIter begin, int size) +{ + DictValue res(Param::INT, new AutoBuffer(size)); + for (int j = 0; j < size; begin++, j++) + (*res.pi)[j] = *begin; + return res; +} + +template +DictValue DictValue::arrayReal(TypeIter begin, int size) +{ + DictValue res(Param::REAL, new AutoBuffer(size)); + for (int j = 0; j < size; begin++, j++) + (*res.pd)[j] = *begin; + return res; +} + +template +DictValue DictValue::arrayString(TypeIter begin, int size) +{ + DictValue res(Param::STRING, new AutoBuffer(size)); + for (int j = 0; j < size; begin++, j++) + (*res.ps)[j] = *begin; + return res; +} + +template<> +inline DictValue DictValue::get(int idx) const +{ + CV_Assert(idx == -1); + return *this; +} + +template<> +inline int64 DictValue::get(int idx) const +{ + CV_Assert((idx == -1 && size() == 1) || (idx >= 0 && idx < size())); + idx = (idx == -1) ? 0 : idx; + + if (type == Param::INT) + { + return (*pi)[idx]; + } + else if (type == Param::REAL) + { + double doubleValue = (*pd)[idx]; + + double fracpart, intpart; + fracpart = std::modf(doubleValue, &intpart); + CV_Assert(fracpart == 0.0); + + return (int64)doubleValue; + } + else + { + CV_Assert(isInt() || isReal()); + return 0; + } +} + +template<> +inline int DictValue::get(int idx) const +{ + return (int)get(idx); +} + +inline int DictValue::getIntValue(int idx) const +{ + return (int)get(idx); +} + +template<> +inline unsigned DictValue::get(int idx) const +{ + return (unsigned)get(idx); +} + +template<> +inline bool DictValue::get(int idx) const +{ + return (get(idx) != 0); +} + +template<> +inline double DictValue::get(int idx) const +{ + CV_Assert((idx == -1 && size() == 1) || (idx >= 0 && idx < size())); + idx = (idx == -1) ? 0 : idx; + + if (type == Param::REAL) + { + return (*pd)[idx]; + } + else if (type == Param::INT) + { + return (double)(*pi)[idx]; + } + else + { + CV_Assert(isReal() || isInt()); + return 0; + } +} + +inline double DictValue::getRealValue(int idx) const +{ + return get(idx); +} + +template<> +inline float DictValue::get(int idx) const +{ + return (float)get(idx); +} + +template<> +inline String DictValue::get(int idx) const +{ + CV_Assert(isString()); + CV_Assert((idx == -1 && ps->size() == 1) || (idx >= 0 && idx < (int)ps->size())); + return (*ps)[(idx == -1) ? 0 : idx]; +} + + +inline String DictValue::getStringValue(int idx) const +{ + return get(idx); +} + +inline void DictValue::release() +{ + switch (type) + { + case Param::INT: + delete pi; + break; + case Param::STRING: + delete ps; + break; + case Param::REAL: + delete pd; + break; + } +} + +inline DictValue::~DictValue() +{ + release(); +} + +inline DictValue & DictValue::operator=(const DictValue &r) +{ + if (&r == this) + return *this; + + if (r.type == Param::INT) + { + AutoBuffer *tmp = new AutoBuffer(*r.pi); + release(); + pi = tmp; + } + else if (r.type == Param::STRING) + { + AutoBuffer *tmp = new AutoBuffer(*r.ps); + release(); + ps = tmp; + } + else if (r.type == Param::REAL) + { + AutoBuffer *tmp = new AutoBuffer(*r.pd); + release(); + pd = tmp; + } + + type = r.type; + + return *this; +} + +inline DictValue::DictValue(const DictValue &r) +{ + type = r.type; + + if (r.type == Param::INT) + pi = new AutoBuffer(*r.pi); + else if (r.type == Param::STRING) + ps = new AutoBuffer(*r.ps); + else if (r.type == Param::REAL) + pd = new AutoBuffer(*r.pd); +} + +inline bool DictValue::isString() const +{ + return (type == Param::STRING); +} + +inline bool DictValue::isInt() const +{ + return (type == Param::INT); +} + +inline bool DictValue::isReal() const +{ + return (type == Param::REAL || type == Param::INT); +} + +inline int DictValue::size() const +{ + switch (type) + { + case Param::INT: + return (int)pi->size(); + break; + case Param::STRING: + return (int)ps->size(); + break; + case Param::REAL: + return (int)pd->size(); + break; + default: + CV_Error(Error::StsInternal, ""); + return -1; + } +} + +inline std::ostream &operator<<(std::ostream &stream, const DictValue &dictv) +{ + int i; + + if (dictv.isInt()) + { + for (i = 0; i < dictv.size() - 1; i++) + stream << dictv.get(i) << ", "; + stream << dictv.get(i); + } + else if (dictv.isReal()) + { + for (i = 0; i < dictv.size() - 1; i++) + stream << dictv.get(i) << ", "; + stream << dictv.get(i); + } + else if (dictv.isString()) + { + for (i = 0; i < dictv.size() - 1; i++) + stream << "\"" << dictv.get(i) << "\", "; + stream << dictv.get(i); + } + + return stream; +} + +///////////////////////////////////////////////////////////////// + +inline bool Dict::has(const String &key) const +{ + return dict.count(key) != 0; +} + +inline DictValue *Dict::ptr(const String &key) +{ + _Dict::iterator i = dict.find(key); + return (i == dict.end()) ? NULL : &i->second; +} + +inline const DictValue *Dict::ptr(const String &key) const +{ + _Dict::const_iterator i = dict.find(key); + return (i == dict.end()) ? NULL : &i->second; +} + +inline const DictValue &Dict::get(const String &key) const +{ + _Dict::const_iterator i = dict.find(key); + if (i == dict.end()) + CV_Error(Error::StsObjectNotFound, "Required argument \"" + key + "\" not found into dictionary"); + return i->second; +} + +template +inline T Dict::get(const String &key) const +{ + return this->get(key).get(); +} + +template +inline T Dict::get(const String &key, const T &defaultValue) const +{ + _Dict::const_iterator i = dict.find(key); + + if (i != dict.end()) + return i->second.get(); + else + return defaultValue; +} + +template +inline const T &Dict::set(const String &key, const T &value) +{ + _Dict::iterator i = dict.find(key); + + if (i != dict.end()) + i->second = DictValue(value); + else + dict.insert(std::make_pair(key, DictValue(value))); + + return value; +} + +inline std::ostream &operator<<(std::ostream &stream, const Dict &dict) +{ + Dict::_Dict::const_iterator it; + for (it = dict.dict.begin(); it != dict.dict.end(); it++) + stream << it->first << " : " << it->second << "\n"; + + return stream; +} + +CV__DNN_EXPERIMENTAL_NS_END +} +} + +#endif diff --git a/app/src/main/cpp/include/opencv2/dnn/layer.details.hpp b/app/src/main/cpp/include/opencv2/dnn/layer.details.hpp new file mode 100644 index 0000000..82bd3b1 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/dnn/layer.details.hpp @@ -0,0 +1,78 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. +// +#ifndef OPENCV_DNN_LAYER_DETAILS_HPP +#define OPENCV_DNN_LAYER_DETAILS_HPP + +#include + +namespace cv { +namespace dnn { +CV__DNN_EXPERIMENTAL_NS_BEGIN + +/** @brief Registers layer constructor in runtime. +* @param type string, containing type name of the layer. +* @param constuctorFunc pointer to the function of type LayerRegister::Constuctor, which creates the layer. +* @details This macros must be placed inside the function code. +*/ +#define CV_DNN_REGISTER_LAYER_FUNC(type, constuctorFunc) \ + cv::dnn::LayerFactory::registerLayer(#type, constuctorFunc); + +/** @brief Registers layer class in runtime. + * @param type string, containing type name of the layer. + * @param class C++ class, derived from Layer. + * @details This macros must be placed inside the function code. + */ +#define CV_DNN_REGISTER_LAYER_CLASS(type, class) \ + cv::dnn::LayerFactory::registerLayer(#type, cv::dnn::details::_layerDynamicRegisterer); + +/** @brief Registers layer constructor on module load time. +* @param type string, containing type name of the layer. +* @param constuctorFunc pointer to the function of type LayerRegister::Constuctor, which creates the layer. +* @details This macros must be placed outside the function code. +*/ +#define CV_DNN_REGISTER_LAYER_FUNC_STATIC(type, constuctorFunc) \ +static cv::dnn::details::_LayerStaticRegisterer __LayerStaticRegisterer_##type(#type, constuctorFunc); + +/** @brief Registers layer class on module load time. + * @param type string, containing type name of the layer. + * @param class C++ class, derived from Layer. + * @details This macros must be placed outside the function code. + */ +#define CV_DNN_REGISTER_LAYER_CLASS_STATIC(type, class) \ +Ptr __LayerStaticRegisterer_func_##type(LayerParams ¶ms) \ + { return Ptr(new class(params)); } \ +static cv::dnn::details::_LayerStaticRegisterer __LayerStaticRegisterer_##type(#type, __LayerStaticRegisterer_func_##type); + +namespace details { + +template +Ptr _layerDynamicRegisterer(LayerParams ¶ms) +{ + return Ptr(LayerClass::create(params)); +} + +//allows automatically register created layer on module load time +class _LayerStaticRegisterer +{ + String type; +public: + + _LayerStaticRegisterer(const String &layerType, LayerFactory::Constuctor layerConstuctor) + { + this->type = layerType; + LayerFactory::registerLayer(layerType, layerConstuctor); + } + + ~_LayerStaticRegisterer() + { + LayerFactory::unregisterLayer(type); + } +}; + +} // namespace +CV__DNN_EXPERIMENTAL_NS_END +}} // namespace + +#endif diff --git a/app/src/main/cpp/include/opencv2/dnn/layer.hpp b/app/src/main/cpp/include/opencv2/dnn/layer.hpp new file mode 100644 index 0000000..3fb81f3 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/dnn/layer.hpp @@ -0,0 +1,85 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_DNN_LAYER_HPP +#define OPENCV_DNN_LAYER_HPP +#include + +namespace cv { +namespace dnn { +CV__DNN_EXPERIMENTAL_NS_BEGIN +//! @addtogroup dnn +//! @{ +//! +//! @defgroup dnnLayerFactory Utilities for New Layers Registration +//! @{ + +/** @brief %Layer factory allows to create instances of registered layers. */ +class CV_EXPORTS LayerFactory +{ +public: + + //! Each Layer class must provide this function to the factory + typedef Ptr(*Constuctor)(LayerParams ¶ms); + + //! Registers the layer class with typename @p type and specified @p constructor. Thread-safe. + static void registerLayer(const String &type, Constuctor constructor); + + //! Unregisters registered layer with specified type name. Thread-safe. + static void unregisterLayer(const String &type); + + /** @brief Creates instance of registered layer. + * @param type type name of creating layer. + * @param params parameters which will be used for layer initialization. + * @note Thread-safe. + */ + static Ptr createLayerInstance(const String &type, LayerParams& params); + +private: + LayerFactory(); +}; + +//! @} +//! @} +CV__DNN_EXPERIMENTAL_NS_END +} +} +#endif diff --git a/app/src/main/cpp/include/opencv2/dnn/shape_utils.hpp b/app/src/main/cpp/include/opencv2/dnn/shape_utils.hpp new file mode 100644 index 0000000..e74b53c --- /dev/null +++ b/app/src/main/cpp/include/opencv2/dnn/shape_utils.hpp @@ -0,0 +1,197 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_DNN_DNN_SHAPE_UTILS_HPP +#define OPENCV_DNN_DNN_SHAPE_UTILS_HPP + +#include +#include +#include + +namespace cv { +namespace dnn { +CV__DNN_EXPERIMENTAL_NS_BEGIN + +//Useful shortcut +inline std::ostream &operator<< (std::ostream &s, cv::Range &r) +{ + return s << "[" << r.start << ", " << r.end << ")"; +} + +//Slicing + +struct _Range : public cv::Range +{ + _Range(const Range &r) : cv::Range(r) {} + _Range(int start_, int size_ = 1) : cv::Range(start_, start_ + size_) {} +}; + +static inline Mat slice(const Mat &m, const _Range &r0) +{ + Range ranges[CV_MAX_DIM]; + for (int i = 1; i < m.dims; i++) + ranges[i] = Range::all(); + ranges[0] = r0; + return m(&ranges[0]); +} + +static inline Mat slice(const Mat &m, const _Range &r0, const _Range &r1) +{ + CV_Assert(m.dims >= 2); + Range ranges[CV_MAX_DIM]; + for (int i = 2; i < m.dims; i++) + ranges[i] = Range::all(); + ranges[0] = r0; + ranges[1] = r1; + return m(&ranges[0]); +} + +static inline Mat slice(const Mat &m, const _Range &r0, const _Range &r1, const _Range &r2) +{ + CV_Assert(m.dims >= 3); + Range ranges[CV_MAX_DIM]; + for (int i = 3; i < m.dims; i++) + ranges[i] = Range::all(); + ranges[0] = r0; + ranges[1] = r1; + ranges[2] = r2; + return m(&ranges[0]); +} + +static inline Mat slice(const Mat &m, const _Range &r0, const _Range &r1, const _Range &r2, const _Range &r3) +{ + CV_Assert(m.dims >= 4); + Range ranges[CV_MAX_DIM]; + for (int i = 4; i < m.dims; i++) + ranges[i] = Range::all(); + ranges[0] = r0; + ranges[1] = r1; + ranges[2] = r2; + ranges[3] = r3; + return m(&ranges[0]); +} + +static inline Mat getPlane(const Mat &m, int n, int cn) +{ + CV_Assert(m.dims > 2); + Range range[CV_MAX_DIM]; + int sz[CV_MAX_DIM]; + for(int i = 2; i < m.dims; i++) + { + sz[i-2] = m.size.p[i]; + range[i] = Range::all(); + } + range[0] = Range(n, n+1); + range[1] = Range(cn, cn+1); + return m(range).reshape(1, m.dims-2, sz); +} + +static inline MatShape shape(const int* dims, const int n = 4) +{ + MatShape shape; + shape.assign(dims, dims + n); + return shape; +} + +static inline MatShape shape(const Mat& mat) +{ + return shape(mat.size.p, mat.dims); +} + +namespace {inline bool is_neg(int i) { return i < 0; }} + +static inline MatShape shape(int a0, int a1=-1, int a2=-1, int a3=-1) +{ + int dims[] = {a0, a1, a2, a3}; + MatShape s = shape(dims); + s.erase(std::remove_if(s.begin(), s.end(), is_neg), s.end()); + return s; +} + +static inline int total(const MatShape& shape, int start = -1, int end = -1) +{ + if (start == -1) start = 0; + if (end == -1) end = (int)shape.size(); + + if (shape.empty()) + return 0; + + int elems = 1; + CV_Assert(start < (int)shape.size() && end <= (int)shape.size() && + start <= end); + for(int i = start; i < end; i++) + { + elems *= shape[i]; + } + return elems; +} + +static inline MatShape concat(const MatShape& a, const MatShape& b) +{ + MatShape c = a; + c.insert(c.end(), b.begin(), b.end()); + + return c; +} + +inline void print(const MatShape& shape, const String& name = "") +{ + printf("%s: [", name.c_str()); + size_t i, n = shape.size(); + for( i = 0; i < n; i++ ) + printf(" %d", shape[i]); + printf(" ]\n"); +} + +inline int clamp(int ax, int dims) +{ + return ax < 0 ? ax + dims : ax; +} + +inline int clamp(int ax, const MatShape& shape) +{ + return clamp(ax, (int)shape.size()); +} + +CV__DNN_EXPERIMENTAL_NS_END +} +} +#endif diff --git a/app/src/main/cpp/include/opencv2/features2d.hpp b/app/src/main/cpp/include/opencv2/features2d.hpp new file mode 100644 index 0000000..0ab11b6 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/features2d.hpp @@ -0,0 +1,1414 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_FEATURES_2D_HPP +#define OPENCV_FEATURES_2D_HPP + +#include "opencv2/opencv_modules.hpp" +#include "opencv2/core.hpp" + +#ifdef HAVE_OPENCV_FLANN +#include "opencv2/flann/miniflann.hpp" +#endif + +/** + @defgroup features2d 2D Features Framework + @{ + @defgroup features2d_main Feature Detection and Description + @defgroup features2d_match Descriptor Matchers + +Matchers of keypoint descriptors in OpenCV have wrappers with a common interface that enables you to +easily switch between different algorithms solving the same problem. This section is devoted to +matching descriptors that are represented as vectors in a multidimensional space. All objects that +implement vector descriptor matchers inherit the DescriptorMatcher interface. + +@note + - An example explaining keypoint matching can be found at + opencv_source_code/samples/cpp/descriptor_extractor_matcher.cpp + - An example on descriptor matching evaluation can be found at + opencv_source_code/samples/cpp/detector_descriptor_matcher_evaluation.cpp + - An example on one to many image matching can be found at + opencv_source_code/samples/cpp/matching_to_many_images.cpp + + @defgroup features2d_draw Drawing Function of Keypoints and Matches + @defgroup features2d_category Object Categorization + +This section describes approaches based on local 2D features and used to categorize objects. + +@note + - A complete Bag-Of-Words sample can be found at + opencv_source_code/samples/cpp/bagofwords_classification.cpp + - (Python) An example using the features2D framework to perform object categorization can be + found at opencv_source_code/samples/python/find_obj.py + + @} + */ + +namespace cv +{ + +//! @addtogroup features2d +//! @{ + +// //! writes vector of keypoints to the file storage +// CV_EXPORTS void write(FileStorage& fs, const String& name, const std::vector& keypoints); +// //! reads vector of keypoints from the specified file storage node +// CV_EXPORTS void read(const FileNode& node, CV_OUT std::vector& keypoints); + +/** @brief A class filters a vector of keypoints. + + Because now it is difficult to provide a convenient interface for all usage scenarios of the + keypoints filter class, it has only several needed by now static methods. + */ +class CV_EXPORTS KeyPointsFilter +{ +public: + KeyPointsFilter(){} + + /* + * Remove keypoints within borderPixels of an image edge. + */ + static void runByImageBorder( std::vector& keypoints, Size imageSize, int borderSize ); + /* + * Remove keypoints of sizes out of range. + */ + static void runByKeypointSize( std::vector& keypoints, float minSize, + float maxSize=FLT_MAX ); + /* + * Remove keypoints from some image by mask for pixels of this image. + */ + static void runByPixelsMask( std::vector& keypoints, const Mat& mask ); + /* + * Remove duplicated keypoints. + */ + static void removeDuplicated( std::vector& keypoints ); + /* + * Remove duplicated keypoints and sort the remaining keypoints + */ + static void removeDuplicatedSorted( std::vector& keypoints ); + + /* + * Retain the specified number of the best keypoints (according to the response) + */ + static void retainBest( std::vector& keypoints, int npoints ); +}; + + +/************************************ Base Classes ************************************/ + +/** @brief Abstract base class for 2D image feature detectors and descriptor extractors +*/ +class CV_EXPORTS_W Feature2D : public virtual Algorithm +{ +public: + virtual ~Feature2D(); + + /** @brief Detects keypoints in an image (first variant) or image set (second variant). + + @param image Image. + @param keypoints The detected keypoints. In the second variant of the method keypoints[i] is a set + of keypoints detected in images[i] . + @param mask Mask specifying where to look for keypoints (optional). It must be a 8-bit integer + matrix with non-zero values in the region of interest. + */ + CV_WRAP virtual void detect( InputArray image, + CV_OUT std::vector& keypoints, + InputArray mask=noArray() ); + + /** @overload + @param images Image set. + @param keypoints The detected keypoints. In the second variant of the method keypoints[i] is a set + of keypoints detected in images[i] . + @param masks Masks for each input image specifying where to look for keypoints (optional). + masks[i] is a mask for images[i]. + */ + CV_WRAP virtual void detect( InputArrayOfArrays images, + CV_OUT std::vector >& keypoints, + InputArrayOfArrays masks=noArray() ); + + /** @brief Computes the descriptors for a set of keypoints detected in an image (first variant) or image set + (second variant). + + @param image Image. + @param keypoints Input collection of keypoints. Keypoints for which a descriptor cannot be + computed are removed. Sometimes new keypoints can be added, for example: SIFT duplicates keypoint + with several dominant orientations (for each orientation). + @param descriptors Computed descriptors. In the second variant of the method descriptors[i] are + descriptors computed for a keypoints[i]. Row j is the keypoints (or keypoints[i]) is the + descriptor for keypoint j-th keypoint. + */ + CV_WRAP virtual void compute( InputArray image, + CV_OUT CV_IN_OUT std::vector& keypoints, + OutputArray descriptors ); + + /** @overload + + @param images Image set. + @param keypoints Input collection of keypoints. Keypoints for which a descriptor cannot be + computed are removed. Sometimes new keypoints can be added, for example: SIFT duplicates keypoint + with several dominant orientations (for each orientation). + @param descriptors Computed descriptors. In the second variant of the method descriptors[i] are + descriptors computed for a keypoints[i]. Row j is the keypoints (or keypoints[i]) is the + descriptor for keypoint j-th keypoint. + */ + CV_WRAP virtual void compute( InputArrayOfArrays images, + CV_OUT CV_IN_OUT std::vector >& keypoints, + OutputArrayOfArrays descriptors ); + + /** Detects keypoints and computes the descriptors */ + CV_WRAP virtual void detectAndCompute( InputArray image, InputArray mask, + CV_OUT std::vector& keypoints, + OutputArray descriptors, + bool useProvidedKeypoints=false ); + + CV_WRAP virtual int descriptorSize() const; + CV_WRAP virtual int descriptorType() const; + CV_WRAP virtual int defaultNorm() const; + + CV_WRAP void write( const String& fileName ) const; + + CV_WRAP void read( const String& fileName ); + + virtual void write( FileStorage&) const; + + virtual void read( const FileNode&); + + //! Return true if detector object is empty + CV_WRAP virtual bool empty() const; + CV_WRAP virtual String getDefaultName() const; +}; + +/** Feature detectors in OpenCV have wrappers with a common interface that enables you to easily switch +between different algorithms solving the same problem. All objects that implement keypoint detectors +inherit the FeatureDetector interface. */ +typedef Feature2D FeatureDetector; + +/** Extractors of keypoint descriptors in OpenCV have wrappers with a common interface that enables you +to easily switch between different algorithms solving the same problem. This section is devoted to +computing descriptors represented as vectors in a multidimensional space. All objects that implement +the vector descriptor extractors inherit the DescriptorExtractor interface. + */ +typedef Feature2D DescriptorExtractor; + +//! @addtogroup features2d_main +//! @{ + +/** @brief Class implementing the BRISK keypoint detector and descriptor extractor, described in @cite LCS11 . + */ +class CV_EXPORTS_W BRISK : public Feature2D +{ +public: + /** @brief The BRISK constructor + + @param thresh AGAST detection threshold score. + @param octaves detection octaves. Use 0 to do single scale. + @param patternScale apply this scale to the pattern used for sampling the neighbourhood of a + keypoint. + */ + CV_WRAP static Ptr create(int thresh=30, int octaves=3, float patternScale=1.0f); + + /** @brief The BRISK constructor for a custom pattern + + @param radiusList defines the radii (in pixels) where the samples around a keypoint are taken (for + keypoint scale 1). + @param numberList defines the number of sampling points on the sampling circle. Must be the same + size as radiusList.. + @param dMax threshold for the short pairings used for descriptor formation (in pixels for keypoint + scale 1). + @param dMin threshold for the long pairings used for orientation determination (in pixels for + keypoint scale 1). + @param indexChange index remapping of the bits. */ + CV_WRAP static Ptr create(const std::vector &radiusList, const std::vector &numberList, + float dMax=5.85f, float dMin=8.2f, const std::vector& indexChange=std::vector()); + + /** @brief The BRISK constructor for a custom pattern, detection threshold and octaves + + @param thresh AGAST detection threshold score. + @param octaves detection octaves. Use 0 to do single scale. + @param radiusList defines the radii (in pixels) where the samples around a keypoint are taken (for + keypoint scale 1). + @param numberList defines the number of sampling points on the sampling circle. Must be the same + size as radiusList.. + @param dMax threshold for the short pairings used for descriptor formation (in pixels for keypoint + scale 1). + @param dMin threshold for the long pairings used for orientation determination (in pixels for + keypoint scale 1). + @param indexChange index remapping of the bits. */ + CV_WRAP static Ptr create(int thresh, int octaves, const std::vector &radiusList, + const std::vector &numberList, float dMax=5.85f, float dMin=8.2f, + const std::vector& indexChange=std::vector()); + CV_WRAP virtual String getDefaultName() const; +}; + +/** @brief Class implementing the ORB (*oriented BRIEF*) keypoint detector and descriptor extractor + +described in @cite RRKB11 . The algorithm uses FAST in pyramids to detect stable keypoints, selects +the strongest features using FAST or Harris response, finds their orientation using first-order +moments and computes the descriptors using BRIEF (where the coordinates of random point pairs (or +k-tuples) are rotated according to the measured orientation). + */ +class CV_EXPORTS_W ORB : public Feature2D +{ +public: + enum { kBytes = 32, HARRIS_SCORE=0, FAST_SCORE=1 }; + + /** @brief The ORB constructor + + @param nfeatures The maximum number of features to retain. + @param scaleFactor Pyramid decimation ratio, greater than 1. scaleFactor==2 means the classical + pyramid, where each next level has 4x less pixels than the previous, but such a big scale factor + will degrade feature matching scores dramatically. On the other hand, too close to 1 scale factor + will mean that to cover certain scale range you will need more pyramid levels and so the speed + will suffer. + @param nlevels The number of pyramid levels. The smallest level will have linear size equal to + input_image_linear_size/pow(scaleFactor, nlevels). + @param edgeThreshold This is size of the border where the features are not detected. It should + roughly match the patchSize parameter. + @param firstLevel It should be 0 in the current implementation. + @param WTA_K The number of points that produce each element of the oriented BRIEF descriptor. The + default value 2 means the BRIEF where we take a random point pair and compare their brightnesses, + so we get 0/1 response. Other possible values are 3 and 4. For example, 3 means that we take 3 + random points (of course, those point coordinates are random, but they are generated from the + pre-defined seed, so each element of BRIEF descriptor is computed deterministically from the pixel + rectangle), find point of maximum brightness and output index of the winner (0, 1 or 2). Such + output will occupy 2 bits, and therefore it will need a special variant of Hamming distance, + denoted as NORM_HAMMING2 (2 bits per bin). When WTA_K=4, we take 4 random points to compute each + bin (that will also occupy 2 bits with possible values 0, 1, 2 or 3). + @param scoreType The default HARRIS_SCORE means that Harris algorithm is used to rank features + (the score is written to KeyPoint::score and is used to retain best nfeatures features); + FAST_SCORE is alternative value of the parameter that produces slightly less stable keypoints, + but it is a little faster to compute. + @param patchSize size of the patch used by the oriented BRIEF descriptor. Of course, on smaller + pyramid layers the perceived image area covered by a feature will be larger. + @param fastThreshold + */ + CV_WRAP static Ptr create(int nfeatures=500, float scaleFactor=1.2f, int nlevels=8, int edgeThreshold=31, + int firstLevel=0, int WTA_K=2, int scoreType=ORB::HARRIS_SCORE, int patchSize=31, int fastThreshold=20); + + CV_WRAP virtual void setMaxFeatures(int maxFeatures) = 0; + CV_WRAP virtual int getMaxFeatures() const = 0; + + CV_WRAP virtual void setScaleFactor(double scaleFactor) = 0; + CV_WRAP virtual double getScaleFactor() const = 0; + + CV_WRAP virtual void setNLevels(int nlevels) = 0; + CV_WRAP virtual int getNLevels() const = 0; + + CV_WRAP virtual void setEdgeThreshold(int edgeThreshold) = 0; + CV_WRAP virtual int getEdgeThreshold() const = 0; + + CV_WRAP virtual void setFirstLevel(int firstLevel) = 0; + CV_WRAP virtual int getFirstLevel() const = 0; + + CV_WRAP virtual void setWTA_K(int wta_k) = 0; + CV_WRAP virtual int getWTA_K() const = 0; + + CV_WRAP virtual void setScoreType(int scoreType) = 0; + CV_WRAP virtual int getScoreType() const = 0; + + CV_WRAP virtual void setPatchSize(int patchSize) = 0; + CV_WRAP virtual int getPatchSize() const = 0; + + CV_WRAP virtual void setFastThreshold(int fastThreshold) = 0; + CV_WRAP virtual int getFastThreshold() const = 0; + CV_WRAP virtual String getDefaultName() const; +}; + +/** @brief Maximally stable extremal region extractor + +The class encapsulates all the parameters of the %MSER extraction algorithm (see [wiki +article](http://en.wikipedia.org/wiki/Maximally_stable_extremal_regions)). + +- there are two different implementation of %MSER: one for grey image, one for color image + +- the grey image algorithm is taken from: @cite nister2008linear ; the paper claims to be faster +than union-find method; it actually get 1.5~2m/s on my centrino L7200 1.2GHz laptop. + +- the color image algorithm is taken from: @cite forssen2007maximally ; it should be much slower +than grey image method ( 3~4 times ); the chi_table.h file is taken directly from paper's source +code which is distributed under GPL. + +- (Python) A complete example showing the use of the %MSER detector can be found at samples/python/mser.py +*/ +class CV_EXPORTS_W MSER : public Feature2D +{ +public: + /** @brief Full consturctor for %MSER detector + + @param _delta it compares \f$(size_{i}-size_{i-delta})/size_{i-delta}\f$ + @param _min_area prune the area which smaller than minArea + @param _max_area prune the area which bigger than maxArea + @param _max_variation prune the area have simliar size to its children + @param _min_diversity for color image, trace back to cut off mser with diversity less than min_diversity + @param _max_evolution for color image, the evolution steps + @param _area_threshold for color image, the area threshold to cause re-initialize + @param _min_margin for color image, ignore too small margin + @param _edge_blur_size for color image, the aperture size for edge blur + */ + CV_WRAP static Ptr create( int _delta=5, int _min_area=60, int _max_area=14400, + double _max_variation=0.25, double _min_diversity=.2, + int _max_evolution=200, double _area_threshold=1.01, + double _min_margin=0.003, int _edge_blur_size=5 ); + + /** @brief Detect %MSER regions + + @param image input image (8UC1, 8UC3 or 8UC4, must be greater or equal than 3x3) + @param msers resulting list of point sets + @param bboxes resulting bounding boxes + */ + CV_WRAP virtual void detectRegions( InputArray image, + CV_OUT std::vector >& msers, + CV_OUT std::vector& bboxes ) = 0; + + CV_WRAP virtual void setDelta(int delta) = 0; + CV_WRAP virtual int getDelta() const = 0; + + CV_WRAP virtual void setMinArea(int minArea) = 0; + CV_WRAP virtual int getMinArea() const = 0; + + CV_WRAP virtual void setMaxArea(int maxArea) = 0; + CV_WRAP virtual int getMaxArea() const = 0; + + CV_WRAP virtual void setPass2Only(bool f) = 0; + CV_WRAP virtual bool getPass2Only() const = 0; + CV_WRAP virtual String getDefaultName() const; +}; + +/** @overload */ +CV_EXPORTS void FAST( InputArray image, CV_OUT std::vector& keypoints, + int threshold, bool nonmaxSuppression=true ); + +/** @brief Detects corners using the FAST algorithm + +@param image grayscale image where keypoints (corners) are detected. +@param keypoints keypoints detected on the image. +@param threshold threshold on difference between intensity of the central pixel and pixels of a +circle around this pixel. +@param nonmaxSuppression if true, non-maximum suppression is applied to detected corners +(keypoints). +@param type one of the three neighborhoods as defined in the paper: +FastFeatureDetector::TYPE_9_16, FastFeatureDetector::TYPE_7_12, +FastFeatureDetector::TYPE_5_8 + +Detects corners using the FAST algorithm by @cite Rosten06 . + +@note In Python API, types are given as cv2.FAST_FEATURE_DETECTOR_TYPE_5_8, +cv2.FAST_FEATURE_DETECTOR_TYPE_7_12 and cv2.FAST_FEATURE_DETECTOR_TYPE_9_16. For corner +detection, use cv2.FAST.detect() method. + */ +CV_EXPORTS void FAST( InputArray image, CV_OUT std::vector& keypoints, + int threshold, bool nonmaxSuppression, int type ); + +//! @} features2d_main + +//! @addtogroup features2d_main +//! @{ + +/** @brief Wrapping class for feature detection using the FAST method. : + */ +class CV_EXPORTS_W FastFeatureDetector : public Feature2D +{ +public: + enum + { + TYPE_5_8 = 0, TYPE_7_12 = 1, TYPE_9_16 = 2, + THRESHOLD = 10000, NONMAX_SUPPRESSION=10001, FAST_N=10002, + }; + + CV_WRAP static Ptr create( int threshold=10, + bool nonmaxSuppression=true, + int type=FastFeatureDetector::TYPE_9_16 ); + + CV_WRAP virtual void setThreshold(int threshold) = 0; + CV_WRAP virtual int getThreshold() const = 0; + + CV_WRAP virtual void setNonmaxSuppression(bool f) = 0; + CV_WRAP virtual bool getNonmaxSuppression() const = 0; + + CV_WRAP virtual void setType(int type) = 0; + CV_WRAP virtual int getType() const = 0; + CV_WRAP virtual String getDefaultName() const; +}; + +/** @overload */ +CV_EXPORTS void AGAST( InputArray image, CV_OUT std::vector& keypoints, + int threshold, bool nonmaxSuppression=true ); + +/** @brief Detects corners using the AGAST algorithm + +@param image grayscale image where keypoints (corners) are detected. +@param keypoints keypoints detected on the image. +@param threshold threshold on difference between intensity of the central pixel and pixels of a +circle around this pixel. +@param nonmaxSuppression if true, non-maximum suppression is applied to detected corners +(keypoints). +@param type one of the four neighborhoods as defined in the paper: +AgastFeatureDetector::AGAST_5_8, AgastFeatureDetector::AGAST_7_12d, +AgastFeatureDetector::AGAST_7_12s, AgastFeatureDetector::OAST_9_16 + +For non-Intel platforms, there is a tree optimised variant of AGAST with same numerical results. +The 32-bit binary tree tables were generated automatically from original code using perl script. +The perl script and examples of tree generation are placed in features2d/doc folder. +Detects corners using the AGAST algorithm by @cite mair2010_agast . + + */ +CV_EXPORTS void AGAST( InputArray image, CV_OUT std::vector& keypoints, + int threshold, bool nonmaxSuppression, int type ); +//! @} features2d_main + +//! @addtogroup features2d_main +//! @{ + +/** @brief Wrapping class for feature detection using the AGAST method. : + */ +class CV_EXPORTS_W AgastFeatureDetector : public Feature2D +{ +public: + enum + { + AGAST_5_8 = 0, AGAST_7_12d = 1, AGAST_7_12s = 2, OAST_9_16 = 3, + THRESHOLD = 10000, NONMAX_SUPPRESSION = 10001, + }; + + CV_WRAP static Ptr create( int threshold=10, + bool nonmaxSuppression=true, + int type=AgastFeatureDetector::OAST_9_16 ); + + CV_WRAP virtual void setThreshold(int threshold) = 0; + CV_WRAP virtual int getThreshold() const = 0; + + CV_WRAP virtual void setNonmaxSuppression(bool f) = 0; + CV_WRAP virtual bool getNonmaxSuppression() const = 0; + + CV_WRAP virtual void setType(int type) = 0; + CV_WRAP virtual int getType() const = 0; + CV_WRAP virtual String getDefaultName() const; +}; + +/** @brief Wrapping class for feature detection using the goodFeaturesToTrack function. : + */ +class CV_EXPORTS_W GFTTDetector : public Feature2D +{ +public: + CV_WRAP static Ptr create( int maxCorners=1000, double qualityLevel=0.01, double minDistance=1, + int blockSize=3, bool useHarrisDetector=false, double k=0.04 ); + CV_WRAP static Ptr create( int maxCorners, double qualityLevel, double minDistance, + int blockSize, int gradiantSize, bool useHarrisDetector=false, double k=0.04 ); + CV_WRAP virtual void setMaxFeatures(int maxFeatures) = 0; + CV_WRAP virtual int getMaxFeatures() const = 0; + + CV_WRAP virtual void setQualityLevel(double qlevel) = 0; + CV_WRAP virtual double getQualityLevel() const = 0; + + CV_WRAP virtual void setMinDistance(double minDistance) = 0; + CV_WRAP virtual double getMinDistance() const = 0; + + CV_WRAP virtual void setBlockSize(int blockSize) = 0; + CV_WRAP virtual int getBlockSize() const = 0; + + CV_WRAP virtual void setHarrisDetector(bool val) = 0; + CV_WRAP virtual bool getHarrisDetector() const = 0; + + CV_WRAP virtual void setK(double k) = 0; + CV_WRAP virtual double getK() const = 0; + CV_WRAP virtual String getDefaultName() const; +}; + +/** @brief Class for extracting blobs from an image. : + +The class implements a simple algorithm for extracting blobs from an image: + +1. Convert the source image to binary images by applying thresholding with several thresholds from + minThreshold (inclusive) to maxThreshold (exclusive) with distance thresholdStep between + neighboring thresholds. +2. Extract connected components from every binary image by findContours and calculate their + centers. +3. Group centers from several binary images by their coordinates. Close centers form one group that + corresponds to one blob, which is controlled by the minDistBetweenBlobs parameter. +4. From the groups, estimate final centers of blobs and their radiuses and return as locations and + sizes of keypoints. + +This class performs several filtrations of returned blobs. You should set filterBy\* to true/false +to turn on/off corresponding filtration. Available filtrations: + +- **By color**. This filter compares the intensity of a binary image at the center of a blob to +blobColor. If they differ, the blob is filtered out. Use blobColor = 0 to extract dark blobs +and blobColor = 255 to extract light blobs. +- **By area**. Extracted blobs have an area between minArea (inclusive) and maxArea (exclusive). +- **By circularity**. Extracted blobs have circularity +(\f$\frac{4*\pi*Area}{perimeter * perimeter}\f$) between minCircularity (inclusive) and +maxCircularity (exclusive). +- **By ratio of the minimum inertia to maximum inertia**. Extracted blobs have this ratio +between minInertiaRatio (inclusive) and maxInertiaRatio (exclusive). +- **By convexity**. Extracted blobs have convexity (area / area of blob convex hull) between +minConvexity (inclusive) and maxConvexity (exclusive). + +Default values of parameters are tuned to extract dark circular blobs. + */ +class CV_EXPORTS_W SimpleBlobDetector : public Feature2D +{ +public: + struct CV_EXPORTS_W_SIMPLE Params + { + CV_WRAP Params(); + CV_PROP_RW float thresholdStep; + CV_PROP_RW float minThreshold; + CV_PROP_RW float maxThreshold; + CV_PROP_RW size_t minRepeatability; + CV_PROP_RW float minDistBetweenBlobs; + + CV_PROP_RW bool filterByColor; + CV_PROP_RW uchar blobColor; + + CV_PROP_RW bool filterByArea; + CV_PROP_RW float minArea, maxArea; + + CV_PROP_RW bool filterByCircularity; + CV_PROP_RW float minCircularity, maxCircularity; + + CV_PROP_RW bool filterByInertia; + CV_PROP_RW float minInertiaRatio, maxInertiaRatio; + + CV_PROP_RW bool filterByConvexity; + CV_PROP_RW float minConvexity, maxConvexity; + + void read( const FileNode& fn ); + void write( FileStorage& fs ) const; + }; + + CV_WRAP static Ptr + create(const SimpleBlobDetector::Params ¶meters = SimpleBlobDetector::Params()); + CV_WRAP virtual String getDefaultName() const; +}; + +//! @} features2d_main + +//! @addtogroup features2d_main +//! @{ + +/** @brief Class implementing the KAZE keypoint detector and descriptor extractor, described in @cite ABD12 . + +@note AKAZE descriptor can only be used with KAZE or AKAZE keypoints .. [ABD12] KAZE Features. Pablo +F. Alcantarilla, Adrien Bartoli and Andrew J. Davison. In European Conference on Computer Vision +(ECCV), Fiorenze, Italy, October 2012. +*/ +class CV_EXPORTS_W KAZE : public Feature2D +{ +public: + enum + { + DIFF_PM_G1 = 0, + DIFF_PM_G2 = 1, + DIFF_WEICKERT = 2, + DIFF_CHARBONNIER = 3 + }; + + /** @brief The KAZE constructor + + @param extended Set to enable extraction of extended (128-byte) descriptor. + @param upright Set to enable use of upright descriptors (non rotation-invariant). + @param threshold Detector response threshold to accept point + @param nOctaves Maximum octave evolution of the image + @param nOctaveLayers Default number of sublevels per scale level + @param diffusivity Diffusivity type. DIFF_PM_G1, DIFF_PM_G2, DIFF_WEICKERT or + DIFF_CHARBONNIER + */ + CV_WRAP static Ptr create(bool extended=false, bool upright=false, + float threshold = 0.001f, + int nOctaves = 4, int nOctaveLayers = 4, + int diffusivity = KAZE::DIFF_PM_G2); + + CV_WRAP virtual void setExtended(bool extended) = 0; + CV_WRAP virtual bool getExtended() const = 0; + + CV_WRAP virtual void setUpright(bool upright) = 0; + CV_WRAP virtual bool getUpright() const = 0; + + CV_WRAP virtual void setThreshold(double threshold) = 0; + CV_WRAP virtual double getThreshold() const = 0; + + CV_WRAP virtual void setNOctaves(int octaves) = 0; + CV_WRAP virtual int getNOctaves() const = 0; + + CV_WRAP virtual void setNOctaveLayers(int octaveLayers) = 0; + CV_WRAP virtual int getNOctaveLayers() const = 0; + + CV_WRAP virtual void setDiffusivity(int diff) = 0; + CV_WRAP virtual int getDiffusivity() const = 0; + CV_WRAP virtual String getDefaultName() const; +}; + +/** @brief Class implementing the AKAZE keypoint detector and descriptor extractor, described in @cite ANB13. + +@details AKAZE descriptors can only be used with KAZE or AKAZE keypoints. This class is thread-safe. + +@note When you need descriptors use Feature2D::detectAndCompute, which +provides better performance. When using Feature2D::detect followed by +Feature2D::compute scale space pyramid is computed twice. + +@note AKAZE implements T-API. When image is passed as UMat some parts of the algorithm +will use OpenCL. + +@note [ANB13] Fast Explicit Diffusion for Accelerated Features in Nonlinear +Scale Spaces. Pablo F. Alcantarilla, Jesús Nuevo and Adrien Bartoli. In +British Machine Vision Conference (BMVC), Bristol, UK, September 2013. + +*/ +class CV_EXPORTS_W AKAZE : public Feature2D +{ +public: + // AKAZE descriptor type + enum + { + DESCRIPTOR_KAZE_UPRIGHT = 2, ///< Upright descriptors, not invariant to rotation + DESCRIPTOR_KAZE = 3, + DESCRIPTOR_MLDB_UPRIGHT = 4, ///< Upright descriptors, not invariant to rotation + DESCRIPTOR_MLDB = 5 + }; + + /** @brief The AKAZE constructor + + @param descriptor_type Type of the extracted descriptor: DESCRIPTOR_KAZE, + DESCRIPTOR_KAZE_UPRIGHT, DESCRIPTOR_MLDB or DESCRIPTOR_MLDB_UPRIGHT. + @param descriptor_size Size of the descriptor in bits. 0 -\> Full size + @param descriptor_channels Number of channels in the descriptor (1, 2, 3) + @param threshold Detector response threshold to accept point + @param nOctaves Maximum octave evolution of the image + @param nOctaveLayers Default number of sublevels per scale level + @param diffusivity Diffusivity type. DIFF_PM_G1, DIFF_PM_G2, DIFF_WEICKERT or + DIFF_CHARBONNIER + */ + CV_WRAP static Ptr create(int descriptor_type=AKAZE::DESCRIPTOR_MLDB, + int descriptor_size = 0, int descriptor_channels = 3, + float threshold = 0.001f, int nOctaves = 4, + int nOctaveLayers = 4, int diffusivity = KAZE::DIFF_PM_G2); + + CV_WRAP virtual void setDescriptorType(int dtype) = 0; + CV_WRAP virtual int getDescriptorType() const = 0; + + CV_WRAP virtual void setDescriptorSize(int dsize) = 0; + CV_WRAP virtual int getDescriptorSize() const = 0; + + CV_WRAP virtual void setDescriptorChannels(int dch) = 0; + CV_WRAP virtual int getDescriptorChannels() const = 0; + + CV_WRAP virtual void setThreshold(double threshold) = 0; + CV_WRAP virtual double getThreshold() const = 0; + + CV_WRAP virtual void setNOctaves(int octaves) = 0; + CV_WRAP virtual int getNOctaves() const = 0; + + CV_WRAP virtual void setNOctaveLayers(int octaveLayers) = 0; + CV_WRAP virtual int getNOctaveLayers() const = 0; + + CV_WRAP virtual void setDiffusivity(int diff) = 0; + CV_WRAP virtual int getDiffusivity() const = 0; + CV_WRAP virtual String getDefaultName() const; +}; + +//! @} features2d_main + +/****************************************************************************************\ +* Distance * +\****************************************************************************************/ + +template +struct CV_EXPORTS Accumulator +{ + typedef T Type; +}; + +template<> struct Accumulator { typedef float Type; }; +template<> struct Accumulator { typedef float Type; }; +template<> struct Accumulator { typedef float Type; }; +template<> struct Accumulator { typedef float Type; }; + +/* + * Squared Euclidean distance functor + */ +template +struct CV_EXPORTS SL2 +{ + enum { normType = NORM_L2SQR }; + typedef T ValueType; + typedef typename Accumulator::Type ResultType; + + ResultType operator()( const T* a, const T* b, int size ) const + { + return normL2Sqr(a, b, size); + } +}; + +/* + * Euclidean distance functor + */ +template +struct CV_EXPORTS L2 +{ + enum { normType = NORM_L2 }; + typedef T ValueType; + typedef typename Accumulator::Type ResultType; + + ResultType operator()( const T* a, const T* b, int size ) const + { + return (ResultType)std::sqrt((double)normL2Sqr(a, b, size)); + } +}; + +/* + * Manhattan distance (city block distance) functor + */ +template +struct CV_EXPORTS L1 +{ + enum { normType = NORM_L1 }; + typedef T ValueType; + typedef typename Accumulator::Type ResultType; + + ResultType operator()( const T* a, const T* b, int size ) const + { + return normL1(a, b, size); + } +}; + +/****************************************************************************************\ +* DescriptorMatcher * +\****************************************************************************************/ + +//! @addtogroup features2d_match +//! @{ + +/** @brief Abstract base class for matching keypoint descriptors. + +It has two groups of match methods: for matching descriptors of an image with another image or with +an image set. + */ +class CV_EXPORTS_W DescriptorMatcher : public Algorithm +{ +public: + enum + { + FLANNBASED = 1, + BRUTEFORCE = 2, + BRUTEFORCE_L1 = 3, + BRUTEFORCE_HAMMING = 4, + BRUTEFORCE_HAMMINGLUT = 5, + BRUTEFORCE_SL2 = 6 + }; + virtual ~DescriptorMatcher(); + + /** @brief Adds descriptors to train a CPU(trainDescCollectionis) or GPU(utrainDescCollectionis) descriptor + collection. + + If the collection is not empty, the new descriptors are added to existing train descriptors. + + @param descriptors Descriptors to add. Each descriptors[i] is a set of descriptors from the same + train image. + */ + CV_WRAP virtual void add( InputArrayOfArrays descriptors ); + + /** @brief Returns a constant link to the train descriptor collection trainDescCollection . + */ + CV_WRAP const std::vector& getTrainDescriptors() const; + + /** @brief Clears the train descriptor collections. + */ + CV_WRAP virtual void clear(); + + /** @brief Returns true if there are no train descriptors in the both collections. + */ + CV_WRAP virtual bool empty() const; + + /** @brief Returns true if the descriptor matcher supports masking permissible matches. + */ + CV_WRAP virtual bool isMaskSupported() const = 0; + + /** @brief Trains a descriptor matcher + + Trains a descriptor matcher (for example, the flann index). In all methods to match, the method + train() is run every time before matching. Some descriptor matchers (for example, BruteForceMatcher) + have an empty implementation of this method. Other matchers really train their inner structures (for + example, FlannBasedMatcher trains flann::Index ). + */ + CV_WRAP virtual void train(); + + /** @brief Finds the best match for each descriptor from a query set. + + @param queryDescriptors Query set of descriptors. + @param trainDescriptors Train set of descriptors. This set is not added to the train descriptors + collection stored in the class object. + @param matches Matches. If a query descriptor is masked out in mask , no match is added for this + descriptor. So, matches size may be smaller than the query descriptors count. + @param mask Mask specifying permissible matches between an input query and train matrices of + descriptors. + + In the first variant of this method, the train descriptors are passed as an input argument. In the + second variant of the method, train descriptors collection that was set by DescriptorMatcher::add is + used. Optional mask (or masks) can be passed to specify which query and training descriptors can be + matched. Namely, queryDescriptors[i] can be matched with trainDescriptors[j] only if + mask.at\(i,j) is non-zero. + */ + CV_WRAP void match( InputArray queryDescriptors, InputArray trainDescriptors, + CV_OUT std::vector& matches, InputArray mask=noArray() ) const; + + /** @brief Finds the k best matches for each descriptor from a query set. + + @param queryDescriptors Query set of descriptors. + @param trainDescriptors Train set of descriptors. This set is not added to the train descriptors + collection stored in the class object. + @param mask Mask specifying permissible matches between an input query and train matrices of + descriptors. + @param matches Matches. Each matches[i] is k or less matches for the same query descriptor. + @param k Count of best matches found per each query descriptor or less if a query descriptor has + less than k possible matches in total. + @param compactResult Parameter used when the mask (or masks) is not empty. If compactResult is + false, the matches vector has the same size as queryDescriptors rows. If compactResult is true, + the matches vector does not contain matches for fully masked-out query descriptors. + + These extended variants of DescriptorMatcher::match methods find several best matches for each query + descriptor. The matches are returned in the distance increasing order. See DescriptorMatcher::match + for the details about query and train descriptors. + */ + CV_WRAP void knnMatch( InputArray queryDescriptors, InputArray trainDescriptors, + CV_OUT std::vector >& matches, int k, + InputArray mask=noArray(), bool compactResult=false ) const; + + /** @brief For each query descriptor, finds the training descriptors not farther than the specified distance. + + @param queryDescriptors Query set of descriptors. + @param trainDescriptors Train set of descriptors. This set is not added to the train descriptors + collection stored in the class object. + @param matches Found matches. + @param compactResult Parameter used when the mask (or masks) is not empty. If compactResult is + false, the matches vector has the same size as queryDescriptors rows. If compactResult is true, + the matches vector does not contain matches for fully masked-out query descriptors. + @param maxDistance Threshold for the distance between matched descriptors. Distance means here + metric distance (e.g. Hamming distance), not the distance between coordinates (which is measured + in Pixels)! + @param mask Mask specifying permissible matches between an input query and train matrices of + descriptors. + + For each query descriptor, the methods find such training descriptors that the distance between the + query descriptor and the training descriptor is equal or smaller than maxDistance. Found matches are + returned in the distance increasing order. + */ + CV_WRAP void radiusMatch( InputArray queryDescriptors, InputArray trainDescriptors, + CV_OUT std::vector >& matches, float maxDistance, + InputArray mask=noArray(), bool compactResult=false ) const; + + /** @overload + @param queryDescriptors Query set of descriptors. + @param matches Matches. If a query descriptor is masked out in mask , no match is added for this + descriptor. So, matches size may be smaller than the query descriptors count. + @param masks Set of masks. Each masks[i] specifies permissible matches between the input query + descriptors and stored train descriptors from the i-th image trainDescCollection[i]. + */ + CV_WRAP void match( InputArray queryDescriptors, CV_OUT std::vector& matches, + InputArrayOfArrays masks=noArray() ); + /** @overload + @param queryDescriptors Query set of descriptors. + @param matches Matches. Each matches[i] is k or less matches for the same query descriptor. + @param k Count of best matches found per each query descriptor or less if a query descriptor has + less than k possible matches in total. + @param masks Set of masks. Each masks[i] specifies permissible matches between the input query + descriptors and stored train descriptors from the i-th image trainDescCollection[i]. + @param compactResult Parameter used when the mask (or masks) is not empty. If compactResult is + false, the matches vector has the same size as queryDescriptors rows. If compactResult is true, + the matches vector does not contain matches for fully masked-out query descriptors. + */ + CV_WRAP void knnMatch( InputArray queryDescriptors, CV_OUT std::vector >& matches, int k, + InputArrayOfArrays masks=noArray(), bool compactResult=false ); + /** @overload + @param queryDescriptors Query set of descriptors. + @param matches Found matches. + @param maxDistance Threshold for the distance between matched descriptors. Distance means here + metric distance (e.g. Hamming distance), not the distance between coordinates (which is measured + in Pixels)! + @param masks Set of masks. Each masks[i] specifies permissible matches between the input query + descriptors and stored train descriptors from the i-th image trainDescCollection[i]. + @param compactResult Parameter used when the mask (or masks) is not empty. If compactResult is + false, the matches vector has the same size as queryDescriptors rows. If compactResult is true, + the matches vector does not contain matches for fully masked-out query descriptors. + */ + CV_WRAP void radiusMatch( InputArray queryDescriptors, CV_OUT std::vector >& matches, float maxDistance, + InputArrayOfArrays masks=noArray(), bool compactResult=false ); + + + CV_WRAP void write( const String& fileName ) const + { + FileStorage fs(fileName, FileStorage::WRITE); + write(fs); + } + + CV_WRAP void read( const String& fileName ) + { + FileStorage fs(fileName, FileStorage::READ); + read(fs.root()); + } + // Reads matcher object from a file node + virtual void read( const FileNode& ); + // Writes matcher object to a file storage + virtual void write( FileStorage& ) const; + + /** @brief Clones the matcher. + + @param emptyTrainData If emptyTrainData is false, the method creates a deep copy of the object, + that is, copies both parameters and train data. If emptyTrainData is true, the method creates an + object copy with the current parameters but with empty train data. + */ + CV_WRAP virtual Ptr clone( bool emptyTrainData=false ) const = 0; + + /** @brief Creates a descriptor matcher of a given type with the default parameters (using default + constructor). + + @param descriptorMatcherType Descriptor matcher type. Now the following matcher types are + supported: + - `BruteForce` (it uses L2 ) + - `BruteForce-L1` + - `BruteForce-Hamming` + - `BruteForce-Hamming(2)` + - `FlannBased` + */ + CV_WRAP static Ptr create( const String& descriptorMatcherType ); + + CV_WRAP static Ptr create( int matcherType ); + +protected: + /** + * Class to work with descriptors from several images as with one merged matrix. + * It is used e.g. in FlannBasedMatcher. + */ + class CV_EXPORTS DescriptorCollection + { + public: + DescriptorCollection(); + DescriptorCollection( const DescriptorCollection& collection ); + virtual ~DescriptorCollection(); + + // Vector of matrices "descriptors" will be merged to one matrix "mergedDescriptors" here. + void set( const std::vector& descriptors ); + virtual void clear(); + + const Mat& getDescriptors() const; + const Mat getDescriptor( int imgIdx, int localDescIdx ) const; + const Mat getDescriptor( int globalDescIdx ) const; + void getLocalIdx( int globalDescIdx, int& imgIdx, int& localDescIdx ) const; + + int size() const; + + protected: + Mat mergedDescriptors; + std::vector startIdxs; + }; + + //! In fact the matching is implemented only by the following two methods. These methods suppose + //! that the class object has been trained already. Public match methods call these methods + //! after calling train(). + virtual void knnMatchImpl( InputArray queryDescriptors, std::vector >& matches, int k, + InputArrayOfArrays masks=noArray(), bool compactResult=false ) = 0; + virtual void radiusMatchImpl( InputArray queryDescriptors, std::vector >& matches, float maxDistance, + InputArrayOfArrays masks=noArray(), bool compactResult=false ) = 0; + + static bool isPossibleMatch( InputArray mask, int queryIdx, int trainIdx ); + static bool isMaskedOut( InputArrayOfArrays masks, int queryIdx ); + + static Mat clone_op( Mat m ) { return m.clone(); } + void checkMasks( InputArrayOfArrays masks, int queryDescriptorsCount ) const; + + //! Collection of descriptors from train images. + std::vector trainDescCollection; + std::vector utrainDescCollection; +}; + +/** @brief Brute-force descriptor matcher. + +For each descriptor in the first set, this matcher finds the closest descriptor in the second set +by trying each one. This descriptor matcher supports masking permissible matches of descriptor +sets. + */ +class CV_EXPORTS_W BFMatcher : public DescriptorMatcher +{ +public: + /** @brief Brute-force matcher constructor (obsolete). Please use BFMatcher.create() + * + * + */ + CV_WRAP BFMatcher( int normType=NORM_L2, bool crossCheck=false ); + + virtual ~BFMatcher() {} + + virtual bool isMaskSupported() const { return true; } + + /** @brief Brute-force matcher create method. + @param normType One of NORM_L1, NORM_L2, NORM_HAMMING, NORM_HAMMING2. L1 and L2 norms are + preferable choices for SIFT and SURF descriptors, NORM_HAMMING should be used with ORB, BRISK and + BRIEF, NORM_HAMMING2 should be used with ORB when WTA_K==3 or 4 (see ORB::ORB constructor + description). + @param crossCheck If it is false, this is will be default BFMatcher behaviour when it finds the k + nearest neighbors for each query descriptor. If crossCheck==true, then the knnMatch() method with + k=1 will only return pairs (i,j) such that for i-th query descriptor the j-th descriptor in the + matcher's collection is the nearest and vice versa, i.e. the BFMatcher will only return consistent + pairs. Such technique usually produces best results with minimal number of outliers when there are + enough matches. This is alternative to the ratio test, used by D. Lowe in SIFT paper. + */ + CV_WRAP static Ptr create( int normType=NORM_L2, bool crossCheck=false ) ; + + virtual Ptr clone( bool emptyTrainData=false ) const; +protected: + virtual void knnMatchImpl( InputArray queryDescriptors, std::vector >& matches, int k, + InputArrayOfArrays masks=noArray(), bool compactResult=false ); + virtual void radiusMatchImpl( InputArray queryDescriptors, std::vector >& matches, float maxDistance, + InputArrayOfArrays masks=noArray(), bool compactResult=false ); + + int normType; + bool crossCheck; +}; + +#if defined(HAVE_OPENCV_FLANN) || defined(CV_DOXYGEN) + +/** @brief Flann-based descriptor matcher. + +This matcher trains cv::flann::Index on a train descriptor collection and calls its nearest search +methods to find the best matches. So, this matcher may be faster when matching a large train +collection than the brute force matcher. FlannBasedMatcher does not support masking permissible +matches of descriptor sets because flann::Index does not support this. : + */ +class CV_EXPORTS_W FlannBasedMatcher : public DescriptorMatcher +{ +public: + CV_WRAP FlannBasedMatcher( const Ptr& indexParams=makePtr(), + const Ptr& searchParams=makePtr() ); + + virtual void add( InputArrayOfArrays descriptors ); + virtual void clear(); + + // Reads matcher object from a file node + virtual void read( const FileNode& ); + // Writes matcher object to a file storage + virtual void write( FileStorage& ) const; + + virtual void train(); + virtual bool isMaskSupported() const; + + CV_WRAP static Ptr create(); + + virtual Ptr clone( bool emptyTrainData=false ) const; +protected: + static void convertToDMatches( const DescriptorCollection& descriptors, + const Mat& indices, const Mat& distances, + std::vector >& matches ); + + virtual void knnMatchImpl( InputArray queryDescriptors, std::vector >& matches, int k, + InputArrayOfArrays masks=noArray(), bool compactResult=false ); + virtual void radiusMatchImpl( InputArray queryDescriptors, std::vector >& matches, float maxDistance, + InputArrayOfArrays masks=noArray(), bool compactResult=false ); + + Ptr indexParams; + Ptr searchParams; + Ptr flannIndex; + + DescriptorCollection mergedDescriptors; + int addedDescCount; +}; + +#endif + +//! @} features2d_match + +/****************************************************************************************\ +* Drawing functions * +\****************************************************************************************/ + +//! @addtogroup features2d_draw +//! @{ + +struct CV_EXPORTS DrawMatchesFlags +{ + enum{ DEFAULT = 0, //!< Output image matrix will be created (Mat::create), + //!< i.e. existing memory of output image may be reused. + //!< Two source image, matches and single keypoints will be drawn. + //!< For each keypoint only the center point will be drawn (without + //!< the circle around keypoint with keypoint size and orientation). + DRAW_OVER_OUTIMG = 1, //!< Output image matrix will not be created (Mat::create). + //!< Matches will be drawn on existing content of output image. + NOT_DRAW_SINGLE_POINTS = 2, //!< Single keypoints will not be drawn. + DRAW_RICH_KEYPOINTS = 4 //!< For each keypoint the circle around keypoint with keypoint size and + //!< orientation will be drawn. + }; +}; + +/** @brief Draws keypoints. + +@param image Source image. +@param keypoints Keypoints from the source image. +@param outImage Output image. Its content depends on the flags value defining what is drawn in the +output image. See possible flags bit values below. +@param color Color of keypoints. +@param flags Flags setting drawing features. Possible flags bit values are defined by +DrawMatchesFlags. See details above in drawMatches . + +@note +For Python API, flags are modified as cv2.DRAW_MATCHES_FLAGS_DEFAULT, +cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS, cv2.DRAW_MATCHES_FLAGS_DRAW_OVER_OUTIMG, +cv2.DRAW_MATCHES_FLAGS_NOT_DRAW_SINGLE_POINTS + */ +CV_EXPORTS_W void drawKeypoints( InputArray image, const std::vector& keypoints, InputOutputArray outImage, + const Scalar& color=Scalar::all(-1), int flags=DrawMatchesFlags::DEFAULT ); + +/** @brief Draws the found matches of keypoints from two images. + +@param img1 First source image. +@param keypoints1 Keypoints from the first source image. +@param img2 Second source image. +@param keypoints2 Keypoints from the second source image. +@param matches1to2 Matches from the first image to the second one, which means that keypoints1[i] +has a corresponding point in keypoints2[matches[i]] . +@param outImg Output image. Its content depends on the flags value defining what is drawn in the +output image. See possible flags bit values below. +@param matchColor Color of matches (lines and connected keypoints). If matchColor==Scalar::all(-1) +, the color is generated randomly. +@param singlePointColor Color of single keypoints (circles), which means that keypoints do not +have the matches. If singlePointColor==Scalar::all(-1) , the color is generated randomly. +@param matchesMask Mask determining which matches are drawn. If the mask is empty, all matches are +drawn. +@param flags Flags setting drawing features. Possible flags bit values are defined by +DrawMatchesFlags. + +This function draws matches of keypoints from two images in the output image. Match is a line +connecting two keypoints (circles). See cv::DrawMatchesFlags. + */ +CV_EXPORTS_W void drawMatches( InputArray img1, const std::vector& keypoints1, + InputArray img2, const std::vector& keypoints2, + const std::vector& matches1to2, InputOutputArray outImg, + const Scalar& matchColor=Scalar::all(-1), const Scalar& singlePointColor=Scalar::all(-1), + const std::vector& matchesMask=std::vector(), int flags=DrawMatchesFlags::DEFAULT ); + +/** @overload */ +CV_EXPORTS_AS(drawMatchesKnn) void drawMatches( InputArray img1, const std::vector& keypoints1, + InputArray img2, const std::vector& keypoints2, + const std::vector >& matches1to2, InputOutputArray outImg, + const Scalar& matchColor=Scalar::all(-1), const Scalar& singlePointColor=Scalar::all(-1), + const std::vector >& matchesMask=std::vector >(), int flags=DrawMatchesFlags::DEFAULT ); + +//! @} features2d_draw + +/****************************************************************************************\ +* Functions to evaluate the feature detectors and [generic] descriptor extractors * +\****************************************************************************************/ + +CV_EXPORTS void evaluateFeatureDetector( const Mat& img1, const Mat& img2, const Mat& H1to2, + std::vector* keypoints1, std::vector* keypoints2, + float& repeatability, int& correspCount, + const Ptr& fdetector=Ptr() ); + +CV_EXPORTS void computeRecallPrecisionCurve( const std::vector >& matches1to2, + const std::vector >& correctMatches1to2Mask, + std::vector& recallPrecisionCurve ); + +CV_EXPORTS float getRecall( const std::vector& recallPrecisionCurve, float l_precision ); +CV_EXPORTS int getNearestPoint( const std::vector& recallPrecisionCurve, float l_precision ); + +/****************************************************************************************\ +* Bag of visual words * +\****************************************************************************************/ + +//! @addtogroup features2d_category +//! @{ + +/** @brief Abstract base class for training the *bag of visual words* vocabulary from a set of descriptors. + +For details, see, for example, *Visual Categorization with Bags of Keypoints* by Gabriella Csurka, +Christopher R. Dance, Lixin Fan, Jutta Willamowski, Cedric Bray, 2004. : + */ +class CV_EXPORTS_W BOWTrainer +{ +public: + BOWTrainer(); + virtual ~BOWTrainer(); + + /** @brief Adds descriptors to a training set. + + @param descriptors Descriptors to add to a training set. Each row of the descriptors matrix is a + descriptor. + + The training set is clustered using clustermethod to construct the vocabulary. + */ + CV_WRAP void add( const Mat& descriptors ); + + /** @brief Returns a training set of descriptors. + */ + CV_WRAP const std::vector& getDescriptors() const; + + /** @brief Returns the count of all descriptors stored in the training set. + */ + CV_WRAP int descriptorsCount() const; + + CV_WRAP virtual void clear(); + + /** @overload */ + CV_WRAP virtual Mat cluster() const = 0; + + /** @brief Clusters train descriptors. + + @param descriptors Descriptors to cluster. Each row of the descriptors matrix is a descriptor. + Descriptors are not added to the inner train descriptor set. + + The vocabulary consists of cluster centers. So, this method returns the vocabulary. In the first + variant of the method, train descriptors stored in the object are clustered. In the second variant, + input descriptors are clustered. + */ + CV_WRAP virtual Mat cluster( const Mat& descriptors ) const = 0; + +protected: + std::vector descriptors; + int size; +}; + +/** @brief kmeans -based class to train visual vocabulary using the *bag of visual words* approach. : + */ +class CV_EXPORTS_W BOWKMeansTrainer : public BOWTrainer +{ +public: + /** @brief The constructor. + + @see cv::kmeans + */ + CV_WRAP BOWKMeansTrainer( int clusterCount, const TermCriteria& termcrit=TermCriteria(), + int attempts=3, int flags=KMEANS_PP_CENTERS ); + virtual ~BOWKMeansTrainer(); + + // Returns trained vocabulary (i.e. cluster centers). + CV_WRAP virtual Mat cluster() const; + CV_WRAP virtual Mat cluster( const Mat& descriptors ) const; + +protected: + + int clusterCount; + TermCriteria termcrit; + int attempts; + int flags; +}; + +/** @brief Class to compute an image descriptor using the *bag of visual words*. + +Such a computation consists of the following steps: + +1. Compute descriptors for a given image and its keypoints set. +2. Find the nearest visual words from the vocabulary for each keypoint descriptor. +3. Compute the bag-of-words image descriptor as is a normalized histogram of vocabulary words +encountered in the image. The i-th bin of the histogram is a frequency of i-th word of the +vocabulary in the given image. + */ +class CV_EXPORTS_W BOWImgDescriptorExtractor +{ +public: + /** @brief The constructor. + + @param dextractor Descriptor extractor that is used to compute descriptors for an input image and + its keypoints. + @param dmatcher Descriptor matcher that is used to find the nearest word of the trained vocabulary + for each keypoint descriptor of the image. + */ + CV_WRAP BOWImgDescriptorExtractor( const Ptr& dextractor, + const Ptr& dmatcher ); + /** @overload */ + BOWImgDescriptorExtractor( const Ptr& dmatcher ); + virtual ~BOWImgDescriptorExtractor(); + + /** @brief Sets a visual vocabulary. + + @param vocabulary Vocabulary (can be trained using the inheritor of BOWTrainer ). Each row of the + vocabulary is a visual word (cluster center). + */ + CV_WRAP void setVocabulary( const Mat& vocabulary ); + + /** @brief Returns the set vocabulary. + */ + CV_WRAP const Mat& getVocabulary() const; + + /** @brief Computes an image descriptor using the set visual vocabulary. + + @param image Image, for which the descriptor is computed. + @param keypoints Keypoints detected in the input image. + @param imgDescriptor Computed output image descriptor. + @param pointIdxsOfClusters Indices of keypoints that belong to the cluster. This means that + pointIdxsOfClusters[i] are keypoint indices that belong to the i -th cluster (word of vocabulary) + returned if it is non-zero. + @param descriptors Descriptors of the image keypoints that are returned if they are non-zero. + */ + void compute( InputArray image, std::vector& keypoints, OutputArray imgDescriptor, + std::vector >* pointIdxsOfClusters=0, Mat* descriptors=0 ); + /** @overload + @param keypointDescriptors Computed descriptors to match with vocabulary. + @param imgDescriptor Computed output image descriptor. + @param pointIdxsOfClusters Indices of keypoints that belong to the cluster. This means that + pointIdxsOfClusters[i] are keypoint indices that belong to the i -th cluster (word of vocabulary) + returned if it is non-zero. + */ + void compute( InputArray keypointDescriptors, OutputArray imgDescriptor, + std::vector >* pointIdxsOfClusters=0 ); + // compute() is not constant because DescriptorMatcher::match is not constant + + CV_WRAP_AS(compute) void compute2( const Mat& image, std::vector& keypoints, CV_OUT Mat& imgDescriptor ) + { compute(image,keypoints,imgDescriptor); } + + /** @brief Returns an image descriptor size if the vocabulary is set. Otherwise, it returns 0. + */ + CV_WRAP int descriptorSize() const; + + /** @brief Returns an image descriptor type. + */ + CV_WRAP int descriptorType() const; + +protected: + Mat vocabulary; + Ptr dextractor; + Ptr dmatcher; +}; + +//! @} features2d_category + +//! @} features2d + +} /* namespace cv */ + +#endif diff --git a/app/src/main/cpp/include/opencv2/features2d/features2d.hpp b/app/src/main/cpp/include/opencv2/features2d/features2d.hpp new file mode 100644 index 0000000..e81df0a --- /dev/null +++ b/app/src/main/cpp/include/opencv2/features2d/features2d.hpp @@ -0,0 +1,48 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/features2d.hpp" diff --git a/app/src/main/cpp/include/opencv2/flann.hpp b/app/src/main/cpp/include/opencv2/flann.hpp new file mode 100644 index 0000000..22c6ffc --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann.hpp @@ -0,0 +1,531 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_FLANN_HPP +#define OPENCV_FLANN_HPP + +#include "opencv2/core.hpp" +#include "opencv2/flann/miniflann.hpp" +#include "opencv2/flann/flann_base.hpp" + +/** +@defgroup flann Clustering and Search in Multi-Dimensional Spaces + +This section documents OpenCV's interface to the FLANN library. FLANN (Fast Library for Approximate +Nearest Neighbors) is a library that contains a collection of algorithms optimized for fast nearest +neighbor search in large datasets and for high dimensional features. More information about FLANN +can be found in @cite Muja2009 . +*/ + +namespace cvflann +{ + CV_EXPORTS flann_distance_t flann_distance_type(); + CV_DEPRECATED CV_EXPORTS void set_distance_type(flann_distance_t distance_type, int order); +} + + +namespace cv +{ +namespace flann +{ + + +//! @addtogroup flann +//! @{ + +template struct CvType {}; +template <> struct CvType { static int type() { return CV_8U; } }; +template <> struct CvType { static int type() { return CV_8S; } }; +template <> struct CvType { static int type() { return CV_16U; } }; +template <> struct CvType { static int type() { return CV_16S; } }; +template <> struct CvType { static int type() { return CV_32S; } }; +template <> struct CvType { static int type() { return CV_32F; } }; +template <> struct CvType { static int type() { return CV_64F; } }; + + +// bring the flann parameters into this namespace +using ::cvflann::get_param; +using ::cvflann::print_params; + +// bring the flann distances into this namespace +using ::cvflann::L2_Simple; +using ::cvflann::L2; +using ::cvflann::L1; +using ::cvflann::MinkowskiDistance; +using ::cvflann::MaxDistance; +using ::cvflann::HammingLUT; +using ::cvflann::Hamming; +using ::cvflann::Hamming2; +using ::cvflann::HistIntersectionDistance; +using ::cvflann::HellingerDistance; +using ::cvflann::ChiSquareDistance; +using ::cvflann::KL_Divergence; + + +/** @brief The FLANN nearest neighbor index class. This class is templated with the type of elements for which +the index is built. + */ +template +class GenericIndex +{ +public: + typedef typename Distance::ElementType ElementType; + typedef typename Distance::ResultType DistanceType; + + /** @brief Constructs a nearest neighbor search index for a given dataset. + + @param features Matrix of containing the features(points) to index. The size of the matrix is + num_features x feature_dimensionality and the data type of the elements in the matrix must + coincide with the type of the index. + @param params Structure containing the index parameters. The type of index that will be + constructed depends on the type of this parameter. See the description. + @param distance + + The method constructs a fast search structure from a set of features using the specified algorithm + with specified parameters, as defined by params. params is a reference to one of the following class + IndexParams descendants: + + - **LinearIndexParams** When passing an object of this type, the index will perform a linear, + brute-force search. : + @code + struct LinearIndexParams : public IndexParams + { + }; + @endcode + - **KDTreeIndexParams** When passing an object of this type the index constructed will consist of + a set of randomized kd-trees which will be searched in parallel. : + @code + struct KDTreeIndexParams : public IndexParams + { + KDTreeIndexParams( int trees = 4 ); + }; + @endcode + - **KMeansIndexParams** When passing an object of this type the index constructed will be a + hierarchical k-means tree. : + @code + struct KMeansIndexParams : public IndexParams + { + KMeansIndexParams( + int branching = 32, + int iterations = 11, + flann_centers_init_t centers_init = CENTERS_RANDOM, + float cb_index = 0.2 ); + }; + @endcode + - **CompositeIndexParams** When using a parameters object of this type the index created + combines the randomized kd-trees and the hierarchical k-means tree. : + @code + struct CompositeIndexParams : public IndexParams + { + CompositeIndexParams( + int trees = 4, + int branching = 32, + int iterations = 11, + flann_centers_init_t centers_init = CENTERS_RANDOM, + float cb_index = 0.2 ); + }; + @endcode + - **LshIndexParams** When using a parameters object of this type the index created uses + multi-probe LSH (by Multi-Probe LSH: Efficient Indexing for High-Dimensional Similarity Search + by Qin Lv, William Josephson, Zhe Wang, Moses Charikar, Kai Li., Proceedings of the 33rd + International Conference on Very Large Data Bases (VLDB). Vienna, Austria. September 2007) : + @code + struct LshIndexParams : public IndexParams + { + LshIndexParams( + unsigned int table_number, + unsigned int key_size, + unsigned int multi_probe_level ); + }; + @endcode + - **AutotunedIndexParams** When passing an object of this type the index created is + automatically tuned to offer the best performance, by choosing the optimal index type + (randomized kd-trees, hierarchical kmeans, linear) and parameters for the dataset provided. : + @code + struct AutotunedIndexParams : public IndexParams + { + AutotunedIndexParams( + float target_precision = 0.9, + float build_weight = 0.01, + float memory_weight = 0, + float sample_fraction = 0.1 ); + }; + @endcode + - **SavedIndexParams** This object type is used for loading a previously saved index from the + disk. : + @code + struct SavedIndexParams : public IndexParams + { + SavedIndexParams( String filename ); + }; + @endcode + */ + GenericIndex(const Mat& features, const ::cvflann::IndexParams& params, Distance distance = Distance()); + + ~GenericIndex(); + + /** @brief Performs a K-nearest neighbor search for a given query point using the index. + + @param query The query point + @param indices Vector that will contain the indices of the K-nearest neighbors found. It must have + at least knn size. + @param dists Vector that will contain the distances to the K-nearest neighbors found. It must have + at least knn size. + @param knn Number of nearest neighbors to search for. + @param params SearchParams + */ + void knnSearch(const std::vector& query, std::vector& indices, + std::vector& dists, int knn, const ::cvflann::SearchParams& params); + void knnSearch(const Mat& queries, Mat& indices, Mat& dists, int knn, const ::cvflann::SearchParams& params); + + int radiusSearch(const std::vector& query, std::vector& indices, + std::vector& dists, DistanceType radius, const ::cvflann::SearchParams& params); + int radiusSearch(const Mat& query, Mat& indices, Mat& dists, + DistanceType radius, const ::cvflann::SearchParams& params); + + void save(String filename) { nnIndex->save(filename); } + + int veclen() const { return nnIndex->veclen(); } + + int size() const { return nnIndex->size(); } + + ::cvflann::IndexParams getParameters() { return nnIndex->getParameters(); } + + CV_DEPRECATED const ::cvflann::IndexParams* getIndexParameters() { return nnIndex->getIndexParameters(); } + +private: + ::cvflann::Index* nnIndex; +}; + +//! @cond IGNORED + +#define FLANN_DISTANCE_CHECK \ + if ( ::cvflann::flann_distance_type() != cvflann::FLANN_DIST_L2) { \ + printf("[WARNING] You are using cv::flann::Index (or cv::flann::GenericIndex) and have also changed "\ + "the distance using cvflann::set_distance_type. This is no longer working as expected "\ + "(cv::flann::Index always uses L2). You should create the index templated on the distance, "\ + "for example for L1 distance use: GenericIndex< L1 > \n"); \ + } + + +template +GenericIndex::GenericIndex(const Mat& dataset, const ::cvflann::IndexParams& params, Distance distance) +{ + CV_Assert(dataset.type() == CvType::type()); + CV_Assert(dataset.isContinuous()); + ::cvflann::Matrix m_dataset((ElementType*)dataset.ptr(0), dataset.rows, dataset.cols); + + nnIndex = new ::cvflann::Index(m_dataset, params, distance); + + FLANN_DISTANCE_CHECK + + nnIndex->buildIndex(); +} + +template +GenericIndex::~GenericIndex() +{ + delete nnIndex; +} + +template +void GenericIndex::knnSearch(const std::vector& query, std::vector& indices, std::vector& dists, int knn, const ::cvflann::SearchParams& searchParams) +{ + ::cvflann::Matrix m_query((ElementType*)&query[0], 1, query.size()); + ::cvflann::Matrix m_indices(&indices[0], 1, indices.size()); + ::cvflann::Matrix m_dists(&dists[0], 1, dists.size()); + + FLANN_DISTANCE_CHECK + + nnIndex->knnSearch(m_query,m_indices,m_dists,knn,searchParams); +} + + +template +void GenericIndex::knnSearch(const Mat& queries, Mat& indices, Mat& dists, int knn, const ::cvflann::SearchParams& searchParams) +{ + CV_Assert(queries.type() == CvType::type()); + CV_Assert(queries.isContinuous()); + ::cvflann::Matrix m_queries((ElementType*)queries.ptr(0), queries.rows, queries.cols); + + CV_Assert(indices.type() == CV_32S); + CV_Assert(indices.isContinuous()); + ::cvflann::Matrix m_indices((int*)indices.ptr(0), indices.rows, indices.cols); + + CV_Assert(dists.type() == CvType::type()); + CV_Assert(dists.isContinuous()); + ::cvflann::Matrix m_dists((DistanceType*)dists.ptr(0), dists.rows, dists.cols); + + FLANN_DISTANCE_CHECK + + nnIndex->knnSearch(m_queries,m_indices,m_dists,knn, searchParams); +} + +template +int GenericIndex::radiusSearch(const std::vector& query, std::vector& indices, std::vector& dists, DistanceType radius, const ::cvflann::SearchParams& searchParams) +{ + ::cvflann::Matrix m_query((ElementType*)&query[0], 1, query.size()); + ::cvflann::Matrix m_indices(&indices[0], 1, indices.size()); + ::cvflann::Matrix m_dists(&dists[0], 1, dists.size()); + + FLANN_DISTANCE_CHECK + + return nnIndex->radiusSearch(m_query,m_indices,m_dists,radius,searchParams); +} + +template +int GenericIndex::radiusSearch(const Mat& query, Mat& indices, Mat& dists, DistanceType radius, const ::cvflann::SearchParams& searchParams) +{ + CV_Assert(query.type() == CvType::type()); + CV_Assert(query.isContinuous()); + ::cvflann::Matrix m_query((ElementType*)query.ptr(0), query.rows, query.cols); + + CV_Assert(indices.type() == CV_32S); + CV_Assert(indices.isContinuous()); + ::cvflann::Matrix m_indices((int*)indices.ptr(0), indices.rows, indices.cols); + + CV_Assert(dists.type() == CvType::type()); + CV_Assert(dists.isContinuous()); + ::cvflann::Matrix m_dists((DistanceType*)dists.ptr(0), dists.rows, dists.cols); + + FLANN_DISTANCE_CHECK + + return nnIndex->radiusSearch(m_query,m_indices,m_dists,radius,searchParams); +} + +//! @endcond + +/** + * @deprecated Use GenericIndex class instead + */ +template +class Index_ +{ +public: + typedef typename L2::ElementType ElementType; + typedef typename L2::ResultType DistanceType; + + CV_DEPRECATED Index_(const Mat& dataset, const ::cvflann::IndexParams& params) + { + printf("[WARNING] The cv::flann::Index_ class is deperecated, use cv::flann::GenericIndex instead\n"); + + CV_Assert(dataset.type() == CvType::type()); + CV_Assert(dataset.isContinuous()); + ::cvflann::Matrix m_dataset((ElementType*)dataset.ptr(0), dataset.rows, dataset.cols); + + if ( ::cvflann::flann_distance_type() == cvflann::FLANN_DIST_L2 ) { + nnIndex_L1 = NULL; + nnIndex_L2 = new ::cvflann::Index< L2 >(m_dataset, params); + } + else if ( ::cvflann::flann_distance_type() == cvflann::FLANN_DIST_L1 ) { + nnIndex_L1 = new ::cvflann::Index< L1 >(m_dataset, params); + nnIndex_L2 = NULL; + } + else { + printf("[ERROR] cv::flann::Index_ only provides backwards compatibility for the L1 and L2 distances. " + "For other distance types you must use cv::flann::GenericIndex\n"); + CV_Assert(0); + } + if (nnIndex_L1) nnIndex_L1->buildIndex(); + if (nnIndex_L2) nnIndex_L2->buildIndex(); + } + CV_DEPRECATED ~Index_() + { + if (nnIndex_L1) delete nnIndex_L1; + if (nnIndex_L2) delete nnIndex_L2; + } + + CV_DEPRECATED void knnSearch(const std::vector& query, std::vector& indices, std::vector& dists, int knn, const ::cvflann::SearchParams& searchParams) + { + ::cvflann::Matrix m_query((ElementType*)&query[0], 1, query.size()); + ::cvflann::Matrix m_indices(&indices[0], 1, indices.size()); + ::cvflann::Matrix m_dists(&dists[0], 1, dists.size()); + + if (nnIndex_L1) nnIndex_L1->knnSearch(m_query,m_indices,m_dists,knn,searchParams); + if (nnIndex_L2) nnIndex_L2->knnSearch(m_query,m_indices,m_dists,knn,searchParams); + } + CV_DEPRECATED void knnSearch(const Mat& queries, Mat& indices, Mat& dists, int knn, const ::cvflann::SearchParams& searchParams) + { + CV_Assert(queries.type() == CvType::type()); + CV_Assert(queries.isContinuous()); + ::cvflann::Matrix m_queries((ElementType*)queries.ptr(0), queries.rows, queries.cols); + + CV_Assert(indices.type() == CV_32S); + CV_Assert(indices.isContinuous()); + ::cvflann::Matrix m_indices((int*)indices.ptr(0), indices.rows, indices.cols); + + CV_Assert(dists.type() == CvType::type()); + CV_Assert(dists.isContinuous()); + ::cvflann::Matrix m_dists((DistanceType*)dists.ptr(0), dists.rows, dists.cols); + + if (nnIndex_L1) nnIndex_L1->knnSearch(m_queries,m_indices,m_dists,knn, searchParams); + if (nnIndex_L2) nnIndex_L2->knnSearch(m_queries,m_indices,m_dists,knn, searchParams); + } + + CV_DEPRECATED int radiusSearch(const std::vector& query, std::vector& indices, std::vector& dists, DistanceType radius, const ::cvflann::SearchParams& searchParams) + { + ::cvflann::Matrix m_query((ElementType*)&query[0], 1, query.size()); + ::cvflann::Matrix m_indices(&indices[0], 1, indices.size()); + ::cvflann::Matrix m_dists(&dists[0], 1, dists.size()); + + if (nnIndex_L1) return nnIndex_L1->radiusSearch(m_query,m_indices,m_dists,radius,searchParams); + if (nnIndex_L2) return nnIndex_L2->radiusSearch(m_query,m_indices,m_dists,radius,searchParams); + } + + CV_DEPRECATED int radiusSearch(const Mat& query, Mat& indices, Mat& dists, DistanceType radius, const ::cvflann::SearchParams& searchParams) + { + CV_Assert(query.type() == CvType::type()); + CV_Assert(query.isContinuous()); + ::cvflann::Matrix m_query((ElementType*)query.ptr(0), query.rows, query.cols); + + CV_Assert(indices.type() == CV_32S); + CV_Assert(indices.isContinuous()); + ::cvflann::Matrix m_indices((int*)indices.ptr(0), indices.rows, indices.cols); + + CV_Assert(dists.type() == CvType::type()); + CV_Assert(dists.isContinuous()); + ::cvflann::Matrix m_dists((DistanceType*)dists.ptr(0), dists.rows, dists.cols); + + if (nnIndex_L1) return nnIndex_L1->radiusSearch(m_query,m_indices,m_dists,radius,searchParams); + if (nnIndex_L2) return nnIndex_L2->radiusSearch(m_query,m_indices,m_dists,radius,searchParams); + } + + CV_DEPRECATED void save(String filename) + { + if (nnIndex_L1) nnIndex_L1->save(filename); + if (nnIndex_L2) nnIndex_L2->save(filename); + } + + CV_DEPRECATED int veclen() const + { + if (nnIndex_L1) return nnIndex_L1->veclen(); + if (nnIndex_L2) return nnIndex_L2->veclen(); + } + + CV_DEPRECATED int size() const + { + if (nnIndex_L1) return nnIndex_L1->size(); + if (nnIndex_L2) return nnIndex_L2->size(); + } + + CV_DEPRECATED ::cvflann::IndexParams getParameters() + { + if (nnIndex_L1) return nnIndex_L1->getParameters(); + if (nnIndex_L2) return nnIndex_L2->getParameters(); + + } + + CV_DEPRECATED const ::cvflann::IndexParams* getIndexParameters() + { + if (nnIndex_L1) return nnIndex_L1->getIndexParameters(); + if (nnIndex_L2) return nnIndex_L2->getIndexParameters(); + } + +private: + // providing backwards compatibility for L2 and L1 distances (most common) + ::cvflann::Index< L2 >* nnIndex_L2; + ::cvflann::Index< L1 >* nnIndex_L1; +}; + + +/** @brief Clusters features using hierarchical k-means algorithm. + +@param features The points to be clustered. The matrix must have elements of type +Distance::ElementType. +@param centers The centers of the clusters obtained. The matrix must have type +Distance::ResultType. The number of rows in this matrix represents the number of clusters desired, +however, because of the way the cut in the hierarchical tree is chosen, the number of clusters +computed will be the highest number of the form (branching-1)\*k+1 that's lower than the number of +clusters desired, where branching is the tree's branching factor (see description of the +KMeansIndexParams). +@param params Parameters used in the construction of the hierarchical k-means tree. +@param d Distance to be used for clustering. + +The method clusters the given feature vectors by constructing a hierarchical k-means tree and +choosing a cut in the tree that minimizes the cluster's variance. It returns the number of clusters +found. + */ +template +int hierarchicalClustering(const Mat& features, Mat& centers, const ::cvflann::KMeansIndexParams& params, + Distance d = Distance()) +{ + typedef typename Distance::ElementType ElementType; + typedef typename Distance::ResultType DistanceType; + + CV_Assert(features.type() == CvType::type()); + CV_Assert(features.isContinuous()); + ::cvflann::Matrix m_features((ElementType*)features.ptr(0), features.rows, features.cols); + + CV_Assert(centers.type() == CvType::type()); + CV_Assert(centers.isContinuous()); + ::cvflann::Matrix m_centers((DistanceType*)centers.ptr(0), centers.rows, centers.cols); + + return ::cvflann::hierarchicalClustering(m_features, m_centers, params, d); +} + +/** @deprecated +*/ +template +CV_DEPRECATED int hierarchicalClustering(const Mat& features, Mat& centers, const ::cvflann::KMeansIndexParams& params) +{ + printf("[WARNING] cv::flann::hierarchicalClustering is deprecated, use " + "cv::flann::hierarchicalClustering instead\n"); + + if ( ::cvflann::flann_distance_type() == cvflann::FLANN_DIST_L2 ) { + return hierarchicalClustering< L2 >(features, centers, params); + } + else if ( ::cvflann::flann_distance_type() == cvflann::FLANN_DIST_L1 ) { + return hierarchicalClustering< L1 >(features, centers, params); + } + else { + printf("[ERROR] cv::flann::hierarchicalClustering only provides backwards " + "compatibility for the L1 and L2 distances. " + "For other distance types you must use cv::flann::hierarchicalClustering\n"); + CV_Assert(0); + } +} + +//! @} flann + +} } // namespace cv::flann + +#endif diff --git a/app/src/main/cpp/include/opencv2/flann/all_indices.h b/app/src/main/cpp/include/opencv2/flann/all_indices.h new file mode 100644 index 0000000..ff53fd8 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/all_indices.h @@ -0,0 +1,155 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + + +#ifndef OPENCV_FLANN_ALL_INDICES_H_ +#define OPENCV_FLANN_ALL_INDICES_H_ + +#include "general.h" + +#include "nn_index.h" +#include "kdtree_index.h" +#include "kdtree_single_index.h" +#include "kmeans_index.h" +#include "composite_index.h" +#include "linear_index.h" +#include "hierarchical_clustering_index.h" +#include "lsh_index.h" +#include "autotuned_index.h" + + +namespace cvflann +{ + +template +struct index_creator +{ + static NNIndex* create(const Matrix& dataset, const IndexParams& params, const Distance& distance) + { + flann_algorithm_t index_type = get_param(params, "algorithm"); + + NNIndex* nnIndex; + switch (index_type) { + case FLANN_INDEX_LINEAR: + nnIndex = new LinearIndex(dataset, params, distance); + break; + case FLANN_INDEX_KDTREE_SINGLE: + nnIndex = new KDTreeSingleIndex(dataset, params, distance); + break; + case FLANN_INDEX_KDTREE: + nnIndex = new KDTreeIndex(dataset, params, distance); + break; + case FLANN_INDEX_KMEANS: + nnIndex = new KMeansIndex(dataset, params, distance); + break; + case FLANN_INDEX_COMPOSITE: + nnIndex = new CompositeIndex(dataset, params, distance); + break; + case FLANN_INDEX_AUTOTUNED: + nnIndex = new AutotunedIndex(dataset, params, distance); + break; + case FLANN_INDEX_HIERARCHICAL: + nnIndex = new HierarchicalClusteringIndex(dataset, params, distance); + break; + case FLANN_INDEX_LSH: + nnIndex = new LshIndex(dataset, params, distance); + break; + default: + throw FLANNException("Unknown index type"); + } + + return nnIndex; + } +}; + +template +struct index_creator +{ + static NNIndex* create(const Matrix& dataset, const IndexParams& params, const Distance& distance) + { + flann_algorithm_t index_type = get_param(params, "algorithm"); + + NNIndex* nnIndex; + switch (index_type) { + case FLANN_INDEX_LINEAR: + nnIndex = new LinearIndex(dataset, params, distance); + break; + case FLANN_INDEX_KMEANS: + nnIndex = new KMeansIndex(dataset, params, distance); + break; + case FLANN_INDEX_HIERARCHICAL: + nnIndex = new HierarchicalClusteringIndex(dataset, params, distance); + break; + case FLANN_INDEX_LSH: + nnIndex = new LshIndex(dataset, params, distance); + break; + default: + throw FLANNException("Unknown index type"); + } + + return nnIndex; + } +}; + +template +struct index_creator +{ + static NNIndex* create(const Matrix& dataset, const IndexParams& params, const Distance& distance) + { + flann_algorithm_t index_type = get_param(params, "algorithm"); + + NNIndex* nnIndex; + switch (index_type) { + case FLANN_INDEX_LINEAR: + nnIndex = new LinearIndex(dataset, params, distance); + break; + case FLANN_INDEX_HIERARCHICAL: + nnIndex = new HierarchicalClusteringIndex(dataset, params, distance); + break; + case FLANN_INDEX_LSH: + nnIndex = new LshIndex(dataset, params, distance); + break; + default: + throw FLANNException("Unknown index type"); + } + + return nnIndex; + } +}; + +template +NNIndex* create_index_by_type(const Matrix& dataset, const IndexParams& params, const Distance& distance) +{ + return index_creator::create(dataset, params,distance); +} + +} + +#endif /* OPENCV_FLANN_ALL_INDICES_H_ */ diff --git a/app/src/main/cpp/include/opencv2/flann/allocator.h b/app/src/main/cpp/include/opencv2/flann/allocator.h new file mode 100644 index 0000000..f347f88 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/allocator.h @@ -0,0 +1,192 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_ALLOCATOR_H_ +#define OPENCV_FLANN_ALLOCATOR_H_ + +#include +#include + + +namespace cvflann +{ + +/** + * Allocates (using C's malloc) a generic type T. + * + * Params: + * count = number of instances to allocate. + * Returns: pointer (of type T*) to memory buffer + */ +template +T* allocate(size_t count = 1) +{ + T* mem = (T*) ::malloc(sizeof(T)*count); + return mem; +} + + +/** + * Pooled storage allocator + * + * The following routines allow for the efficient allocation of storage in + * small chunks from a specified pool. Rather than allowing each structure + * to be freed individually, an entire pool of storage is freed at once. + * This method has two advantages over just using malloc() and free(). First, + * it is far more efficient for allocating small objects, as there is + * no overhead for remembering all the information needed to free each + * object or consolidating fragmented memory. Second, the decision about + * how long to keep an object is made at the time of allocation, and there + * is no need to track down all the objects to free them. + * + */ + +const size_t WORDSIZE=16; +const size_t BLOCKSIZE=8192; + +class PooledAllocator +{ + /* We maintain memory alignment to word boundaries by requiring that all + allocations be in multiples of the machine wordsize. */ + /* Size of machine word in bytes. Must be power of 2. */ + /* Minimum number of bytes requested at a time from the system. Must be multiple of WORDSIZE. */ + + + int remaining; /* Number of bytes left in current block of storage. */ + void* base; /* Pointer to base of current block of storage. */ + void* loc; /* Current location in block to next allocate memory. */ + int blocksize; + + +public: + int usedMemory; + int wastedMemory; + + /** + Default constructor. Initializes a new pool. + */ + PooledAllocator(int blockSize = BLOCKSIZE) + { + blocksize = blockSize; + remaining = 0; + base = NULL; + loc = NULL; + + usedMemory = 0; + wastedMemory = 0; + } + + /** + * Destructor. Frees all the memory allocated in this pool. + */ + ~PooledAllocator() + { + void* prev; + + while (base != NULL) { + prev = *((void**) base); /* Get pointer to prev block. */ + ::free(base); + base = prev; + } + } + + /** + * Returns a pointer to a piece of new memory of the given size in bytes + * allocated from the pool. + */ + void* allocateMemory(int size) + { + int blockSize; + + /* Round size up to a multiple of wordsize. The following expression + only works for WORDSIZE that is a power of 2, by masking last bits of + incremented size to zero. + */ + size = (size + (WORDSIZE - 1)) & ~(WORDSIZE - 1); + + /* Check whether a new block must be allocated. Note that the first word + of a block is reserved for a pointer to the previous block. + */ + if (size > remaining) { + + wastedMemory += remaining; + + /* Allocate new storage. */ + blockSize = (size + sizeof(void*) + (WORDSIZE-1) > BLOCKSIZE) ? + size + sizeof(void*) + (WORDSIZE-1) : BLOCKSIZE; + + // use the standard C malloc to allocate memory + void* m = ::malloc(blockSize); + if (!m) { + fprintf(stderr,"Failed to allocate memory.\n"); + return NULL; + } + + /* Fill first word of new block with pointer to previous block. */ + ((void**) m)[0] = base; + base = m; + + int shift = 0; + //int shift = (WORDSIZE - ( (((size_t)m) + sizeof(void*)) & (WORDSIZE-1))) & (WORDSIZE-1); + + remaining = blockSize - sizeof(void*) - shift; + loc = ((char*)m + sizeof(void*) + shift); + } + void* rloc = loc; + loc = (char*)loc + size; + remaining -= size; + + usedMemory += size; + + return rloc; + } + + /** + * Allocates (using this pool) a generic type T. + * + * Params: + * count = number of instances to allocate. + * Returns: pointer (of type T*) to memory buffer + */ + template + T* allocate(size_t count = 1) + { + T* mem = (T*) this->allocateMemory((int)(sizeof(T)*count)); + return mem; + } + +private: + PooledAllocator(const PooledAllocator &); // copy disabled + PooledAllocator& operator=(const PooledAllocator &); // assign disabled +}; + +} + +#endif //OPENCV_FLANN_ALLOCATOR_H_ diff --git a/app/src/main/cpp/include/opencv2/flann/any.h b/app/src/main/cpp/include/opencv2/flann/any.h new file mode 100644 index 0000000..e829162 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/any.h @@ -0,0 +1,330 @@ +#ifndef OPENCV_FLANN_ANY_H_ +#define OPENCV_FLANN_ANY_H_ +/* + * (C) Copyright Christopher Diggins 2005-2011 + * (C) Copyright Pablo Aguilar 2005 + * (C) Copyright Kevlin Henney 2001 + * + * Distributed under the Boost Software License, Version 1.0. (See + * accompanying file LICENSE_1_0.txt or copy at + * http://www.boost.org/LICENSE_1_0.txt + * + * Adapted for FLANN by Marius Muja + */ + +#include "defines.h" +#include +#include +#include + +namespace cvflann +{ + +namespace anyimpl +{ + +struct bad_any_cast +{ +}; + +struct empty_any +{ +}; + +inline std::ostream& operator <<(std::ostream& out, const empty_any&) +{ + out << "[empty_any]"; + return out; +} + +struct base_any_policy +{ + virtual void static_delete(void** x) = 0; + virtual void copy_from_value(void const* src, void** dest) = 0; + virtual void clone(void* const* src, void** dest) = 0; + virtual void move(void* const* src, void** dest) = 0; + virtual void* get_value(void** src) = 0; + virtual const void* get_value(void* const * src) = 0; + virtual ::size_t get_size() = 0; + virtual const std::type_info& type() = 0; + virtual void print(std::ostream& out, void* const* src) = 0; + virtual ~base_any_policy() {} +}; + +template +struct typed_base_any_policy : base_any_policy +{ + virtual ::size_t get_size() { return sizeof(T); } + virtual const std::type_info& type() { return typeid(T); } + +}; + +template +struct small_any_policy : typed_base_any_policy +{ + virtual void static_delete(void**) { } + virtual void copy_from_value(void const* src, void** dest) + { + new (dest) T(* reinterpret_cast(src)); + } + virtual void clone(void* const* src, void** dest) { *dest = *src; } + virtual void move(void* const* src, void** dest) { *dest = *src; } + virtual void* get_value(void** src) { return reinterpret_cast(src); } + virtual const void* get_value(void* const * src) { return reinterpret_cast(src); } + virtual void print(std::ostream& out, void* const* src) { out << *reinterpret_cast(src); } +}; + +template +struct big_any_policy : typed_base_any_policy +{ + virtual void static_delete(void** x) + { + if (* x) delete (* reinterpret_cast(x)); + *x = NULL; + } + virtual void copy_from_value(void const* src, void** dest) + { + *dest = new T(*reinterpret_cast(src)); + } + virtual void clone(void* const* src, void** dest) + { + *dest = new T(**reinterpret_cast(src)); + } + virtual void move(void* const* src, void** dest) + { + (*reinterpret_cast(dest))->~T(); + **reinterpret_cast(dest) = **reinterpret_cast(src); + } + virtual void* get_value(void** src) { return *src; } + virtual const void* get_value(void* const * src) { return *src; } + virtual void print(std::ostream& out, void* const* src) { out << *reinterpret_cast(*src); } +}; + +template<> inline void big_any_policy::print(std::ostream& out, void* const* src) +{ + out << int(*reinterpret_cast(*src)); +} + +template<> inline void big_any_policy::print(std::ostream& out, void* const* src) +{ + out << int(*reinterpret_cast(*src)); +} + +template<> inline void big_any_policy::print(std::ostream& out, void* const* src) +{ + out << (*reinterpret_cast(*src)).c_str(); +} + +template +struct choose_policy +{ + typedef big_any_policy type; +}; + +template +struct choose_policy +{ + typedef small_any_policy type; +}; + +struct any; + +/// Choosing the policy for an any type is illegal, but should never happen. +/// This is designed to throw a compiler error. +template<> +struct choose_policy +{ + typedef void type; +}; + +/// Specializations for small types. +#define SMALL_POLICY(TYPE) \ + template<> \ + struct choose_policy { typedef small_any_policy type; \ + } + +SMALL_POLICY(signed char); +SMALL_POLICY(unsigned char); +SMALL_POLICY(signed short); +SMALL_POLICY(unsigned short); +SMALL_POLICY(signed int); +SMALL_POLICY(unsigned int); +SMALL_POLICY(signed long); +SMALL_POLICY(unsigned long); +SMALL_POLICY(float); +SMALL_POLICY(bool); + +#undef SMALL_POLICY + +template +class SinglePolicy +{ + SinglePolicy(); + SinglePolicy(const SinglePolicy& other); + SinglePolicy& operator=(const SinglePolicy& other); + +public: + static base_any_policy* get_policy(); + +private: + static typename choose_policy::type policy; +}; + +template +typename choose_policy::type SinglePolicy::policy; + +/// This function will return a different policy for each type. +template +inline base_any_policy* SinglePolicy::get_policy() { return &policy; } + +} // namespace anyimpl + +struct any +{ +private: + // fields + anyimpl::base_any_policy* policy; + void* object; + +public: + /// Initializing constructor. + template + any(const T& x) + : policy(anyimpl::SinglePolicy::get_policy()), object(NULL) + { + assign(x); + } + + /// Empty constructor. + any() + : policy(anyimpl::SinglePolicy::get_policy()), object(NULL) + { } + + /// Special initializing constructor for string literals. + any(const char* x) + : policy(anyimpl::SinglePolicy::get_policy()), object(NULL) + { + assign(x); + } + + /// Copy constructor. + any(const any& x) + : policy(anyimpl::SinglePolicy::get_policy()), object(NULL) + { + assign(x); + } + + /// Destructor. + ~any() + { + policy->static_delete(&object); + } + + /// Assignment function from another any. + any& assign(const any& x) + { + reset(); + policy = x.policy; + policy->clone(&x.object, &object); + return *this; + } + + /// Assignment function. + template + any& assign(const T& x) + { + reset(); + policy = anyimpl::SinglePolicy::get_policy(); + policy->copy_from_value(&x, &object); + return *this; + } + + /// Assignment operator. + template + any& operator=(const T& x) + { + return assign(x); + } + + /// Assignment operator. Template-based version above doesn't work as expected. We need regular assignment operator here. + any& operator=(const any& x) + { + return assign(x); + } + + /// Assignment operator, specialed for literal strings. + /// They have types like const char [6] which don't work as expected. + any& operator=(const char* x) + { + return assign(x); + } + + /// Utility functions + any& swap(any& x) + { + std::swap(policy, x.policy); + std::swap(object, x.object); + return *this; + } + + /// Cast operator. You can only cast to the original type. + template + T& cast() + { + if (policy->type() != typeid(T)) throw anyimpl::bad_any_cast(); + T* r = reinterpret_cast(policy->get_value(&object)); + return *r; + } + + /// Cast operator. You can only cast to the original type. + template + const T& cast() const + { + if (policy->type() != typeid(T)) throw anyimpl::bad_any_cast(); + const T* r = reinterpret_cast(policy->get_value(&object)); + return *r; + } + + /// Returns true if the any contains no value. + bool empty() const + { + return policy->type() == typeid(anyimpl::empty_any); + } + + /// Frees any allocated memory, and sets the value to NULL. + void reset() + { + policy->static_delete(&object); + policy = anyimpl::SinglePolicy::get_policy(); + } + + /// Returns true if the two types are the same. + bool compatible(const any& x) const + { + return policy->type() == x.policy->type(); + } + + /// Returns if the type is compatible with the policy + template + bool has_type() + { + return policy->type() == typeid(T); + } + + const std::type_info& type() const + { + return policy->type(); + } + + friend std::ostream& operator <<(std::ostream& out, const any& any_val); +}; + +inline std::ostream& operator <<(std::ostream& out, const any& any_val) +{ + any_val.policy->print(out,&any_val.object); + return out; +} + +} + +#endif // OPENCV_FLANN_ANY_H_ diff --git a/app/src/main/cpp/include/opencv2/flann/autotuned_index.h b/app/src/main/cpp/include/opencv2/flann/autotuned_index.h new file mode 100644 index 0000000..e9abbf7 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/autotuned_index.h @@ -0,0 +1,591 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ +#ifndef OPENCV_FLANN_AUTOTUNED_INDEX_H_ +#define OPENCV_FLANN_AUTOTUNED_INDEX_H_ + +#include + +#include "general.h" +#include "nn_index.h" +#include "ground_truth.h" +#include "index_testing.h" +#include "sampling.h" +#include "kdtree_index.h" +#include "kdtree_single_index.h" +#include "kmeans_index.h" +#include "composite_index.h" +#include "linear_index.h" +#include "logger.h" + +namespace cvflann +{ + +template +NNIndex* create_index_by_type(const Matrix& dataset, const IndexParams& params, const Distance& distance); + + +struct AutotunedIndexParams : public IndexParams +{ + AutotunedIndexParams(float target_precision = 0.8, float build_weight = 0.01, float memory_weight = 0, float sample_fraction = 0.1) + { + (*this)["algorithm"] = FLANN_INDEX_AUTOTUNED; + // precision desired (used for autotuning, -1 otherwise) + (*this)["target_precision"] = target_precision; + // build tree time weighting factor + (*this)["build_weight"] = build_weight; + // index memory weighting factor + (*this)["memory_weight"] = memory_weight; + // what fraction of the dataset to use for autotuning + (*this)["sample_fraction"] = sample_fraction; + } +}; + + +template +class AutotunedIndex : public NNIndex +{ +public: + typedef typename Distance::ElementType ElementType; + typedef typename Distance::ResultType DistanceType; + + AutotunedIndex(const Matrix& inputData, const IndexParams& params = AutotunedIndexParams(), Distance d = Distance()) : + dataset_(inputData), distance_(d) + { + target_precision_ = get_param(params, "target_precision",0.8f); + build_weight_ = get_param(params,"build_weight", 0.01f); + memory_weight_ = get_param(params, "memory_weight", 0.0f); + sample_fraction_ = get_param(params,"sample_fraction", 0.1f); + bestIndex_ = NULL; + speedup_ = 0; + } + + AutotunedIndex(const AutotunedIndex&); + AutotunedIndex& operator=(const AutotunedIndex&); + + virtual ~AutotunedIndex() + { + if (bestIndex_ != NULL) { + delete bestIndex_; + bestIndex_ = NULL; + } + } + + /** + * Method responsible with building the index. + */ + virtual void buildIndex() + { + std::ostringstream stream; + bestParams_ = estimateBuildParams(); + print_params(bestParams_, stream); + Logger::info("----------------------------------------------------\n"); + Logger::info("Autotuned parameters:\n"); + Logger::info("%s", stream.str().c_str()); + Logger::info("----------------------------------------------------\n"); + + bestIndex_ = create_index_by_type(dataset_, bestParams_, distance_); + bestIndex_->buildIndex(); + speedup_ = estimateSearchParams(bestSearchParams_); + stream.str(std::string()); + print_params(bestSearchParams_, stream); + Logger::info("----------------------------------------------------\n"); + Logger::info("Search parameters:\n"); + Logger::info("%s", stream.str().c_str()); + Logger::info("----------------------------------------------------\n"); + } + + /** + * Saves the index to a stream + */ + virtual void saveIndex(FILE* stream) + { + save_value(stream, (int)bestIndex_->getType()); + bestIndex_->saveIndex(stream); + save_value(stream, get_param(bestSearchParams_, "checks")); + } + + /** + * Loads the index from a stream + */ + virtual void loadIndex(FILE* stream) + { + int index_type; + + load_value(stream, index_type); + IndexParams params; + params["algorithm"] = (flann_algorithm_t)index_type; + bestIndex_ = create_index_by_type(dataset_, params, distance_); + bestIndex_->loadIndex(stream); + int checks; + load_value(stream, checks); + bestSearchParams_["checks"] = checks; + } + + /** + * Method that searches for nearest-neighbors + */ + virtual void findNeighbors(ResultSet& result, const ElementType* vec, const SearchParams& searchParams) + { + int checks = get_param(searchParams,"checks",FLANN_CHECKS_AUTOTUNED); + if (checks == FLANN_CHECKS_AUTOTUNED) { + bestIndex_->findNeighbors(result, vec, bestSearchParams_); + } + else { + bestIndex_->findNeighbors(result, vec, searchParams); + } + } + + + IndexParams getParameters() const + { + return bestIndex_->getParameters(); + } + + SearchParams getSearchParameters() const + { + return bestSearchParams_; + } + + float getSpeedup() const + { + return speedup_; + } + + + /** + * Number of features in this index. + */ + virtual size_t size() const + { + return bestIndex_->size(); + } + + /** + * The length of each vector in this index. + */ + virtual size_t veclen() const + { + return bestIndex_->veclen(); + } + + /** + * The amount of memory (in bytes) this index uses. + */ + virtual int usedMemory() const + { + return bestIndex_->usedMemory(); + } + + /** + * Algorithm name + */ + virtual flann_algorithm_t getType() const + { + return FLANN_INDEX_AUTOTUNED; + } + +private: + + struct CostData + { + float searchTimeCost; + float buildTimeCost; + float memoryCost; + float totalCost; + IndexParams params; + }; + + void evaluate_kmeans(CostData& cost) + { + StartStopTimer t; + int checks; + const int nn = 1; + + Logger::info("KMeansTree using params: max_iterations=%d, branching=%d\n", + get_param(cost.params,"iterations"), + get_param(cost.params,"branching")); + KMeansIndex kmeans(sampledDataset_, cost.params, distance_); + // measure index build time + t.start(); + kmeans.buildIndex(); + t.stop(); + float buildTime = (float)t.value; + + // measure search time + float searchTime = test_index_precision(kmeans, sampledDataset_, testDataset_, gt_matches_, target_precision_, checks, distance_, nn); + + float datasetMemory = float(sampledDataset_.rows * sampledDataset_.cols * sizeof(float)); + cost.memoryCost = (kmeans.usedMemory() + datasetMemory) / datasetMemory; + cost.searchTimeCost = searchTime; + cost.buildTimeCost = buildTime; + Logger::info("KMeansTree buildTime=%g, searchTime=%g, build_weight=%g\n", buildTime, searchTime, build_weight_); + } + + + void evaluate_kdtree(CostData& cost) + { + StartStopTimer t; + int checks; + const int nn = 1; + + Logger::info("KDTree using params: trees=%d\n", get_param(cost.params,"trees")); + KDTreeIndex kdtree(sampledDataset_, cost.params, distance_); + + t.start(); + kdtree.buildIndex(); + t.stop(); + float buildTime = (float)t.value; + + //measure search time + float searchTime = test_index_precision(kdtree, sampledDataset_, testDataset_, gt_matches_, target_precision_, checks, distance_, nn); + + float datasetMemory = float(sampledDataset_.rows * sampledDataset_.cols * sizeof(float)); + cost.memoryCost = (kdtree.usedMemory() + datasetMemory) / datasetMemory; + cost.searchTimeCost = searchTime; + cost.buildTimeCost = buildTime; + Logger::info("KDTree buildTime=%g, searchTime=%g\n", buildTime, searchTime); + } + + + // struct KMeansSimpleDownhillFunctor { + // + // Autotune& autotuner; + // KMeansSimpleDownhillFunctor(Autotune& autotuner_) : autotuner(autotuner_) {} + // + // float operator()(int* params) { + // + // float maxFloat = numeric_limits::max(); + // + // if (params[0]<2) return maxFloat; + // if (params[1]<0) return maxFloat; + // + // CostData c; + // c.params["algorithm"] = KMEANS; + // c.params["centers-init"] = CENTERS_RANDOM; + // c.params["branching"] = params[0]; + // c.params["max-iterations"] = params[1]; + // + // autotuner.evaluate_kmeans(c); + // + // return c.timeCost; + // + // } + // }; + // + // struct KDTreeSimpleDownhillFunctor { + // + // Autotune& autotuner; + // KDTreeSimpleDownhillFunctor(Autotune& autotuner_) : autotuner(autotuner_) {} + // + // float operator()(int* params) { + // float maxFloat = numeric_limits::max(); + // + // if (params[0]<1) return maxFloat; + // + // CostData c; + // c.params["algorithm"] = KDTREE; + // c.params["trees"] = params[0]; + // + // autotuner.evaluate_kdtree(c); + // + // return c.timeCost; + // + // } + // }; + + + + void optimizeKMeans(std::vector& costs) + { + Logger::info("KMEANS, Step 1: Exploring parameter space\n"); + + // explore kmeans parameters space using combinations of the parameters below + int maxIterations[] = { 1, 5, 10, 15 }; + int branchingFactors[] = { 16, 32, 64, 128, 256 }; + + int kmeansParamSpaceSize = FLANN_ARRAY_LEN(maxIterations) * FLANN_ARRAY_LEN(branchingFactors); + costs.reserve(costs.size() + kmeansParamSpaceSize); + + // evaluate kmeans for all parameter combinations + for (size_t i = 0; i < FLANN_ARRAY_LEN(maxIterations); ++i) { + for (size_t j = 0; j < FLANN_ARRAY_LEN(branchingFactors); ++j) { + CostData cost; + cost.params["algorithm"] = FLANN_INDEX_KMEANS; + cost.params["centers_init"] = FLANN_CENTERS_RANDOM; + cost.params["iterations"] = maxIterations[i]; + cost.params["branching"] = branchingFactors[j]; + + evaluate_kmeans(cost); + costs.push_back(cost); + } + } + + // Logger::info("KMEANS, Step 2: simplex-downhill optimization\n"); + // + // const int n = 2; + // // choose initial simplex points as the best parameters so far + // int kmeansNMPoints[n*(n+1)]; + // float kmeansVals[n+1]; + // for (int i=0;i& costs) + { + Logger::info("KD-TREE, Step 1: Exploring parameter space\n"); + + // explore kd-tree parameters space using the parameters below + int testTrees[] = { 1, 4, 8, 16, 32 }; + + // evaluate kdtree for all parameter combinations + for (size_t i = 0; i < FLANN_ARRAY_LEN(testTrees); ++i) { + CostData cost; + cost.params["algorithm"] = FLANN_INDEX_KDTREE; + cost.params["trees"] = testTrees[i]; + + evaluate_kdtree(cost); + costs.push_back(cost); + } + + // Logger::info("KD-TREE, Step 2: simplex-downhill optimization\n"); + // + // const int n = 1; + // // choose initial simplex points as the best parameters so far + // int kdtreeNMPoints[n*(n+1)]; + // float kdtreeVals[n+1]; + // for (int i=0;i costs; + + int sampleSize = int(sample_fraction_ * dataset_.rows); + int testSampleSize = std::min(sampleSize / 10, 1000); + + Logger::info("Entering autotuning, dataset size: %d, sampleSize: %d, testSampleSize: %d, target precision: %g\n", dataset_.rows, sampleSize, testSampleSize, target_precision_); + + // For a very small dataset, it makes no sense to build any fancy index, just + // use linear search + if (testSampleSize < 10) { + Logger::info("Choosing linear, dataset too small\n"); + return LinearIndexParams(); + } + + // We use a fraction of the original dataset to speedup the autotune algorithm + sampledDataset_ = random_sample(dataset_, sampleSize); + // We use a cross-validation approach, first we sample a testset from the dataset + testDataset_ = random_sample(sampledDataset_, testSampleSize, true); + + // We compute the ground truth using linear search + Logger::info("Computing ground truth... \n"); + gt_matches_ = Matrix(new int[testDataset_.rows], testDataset_.rows, 1); + StartStopTimer t; + t.start(); + compute_ground_truth(sampledDataset_, testDataset_, gt_matches_, 0, distance_); + t.stop(); + + CostData linear_cost; + linear_cost.searchTimeCost = (float)t.value; + linear_cost.buildTimeCost = 0; + linear_cost.memoryCost = 0; + linear_cost.params["algorithm"] = FLANN_INDEX_LINEAR; + + costs.push_back(linear_cost); + + // Start parameter autotune process + Logger::info("Autotuning parameters...\n"); + + optimizeKMeans(costs); + optimizeKDTree(costs); + + float bestTimeCost = costs[0].searchTimeCost; + for (size_t i = 0; i < costs.size(); ++i) { + float timeCost = costs[i].buildTimeCost * build_weight_ + costs[i].searchTimeCost; + if (timeCost < bestTimeCost) { + bestTimeCost = timeCost; + } + } + + float bestCost = costs[0].searchTimeCost / bestTimeCost; + IndexParams bestParams = costs[0].params; + if (bestTimeCost > 0) { + for (size_t i = 0; i < costs.size(); ++i) { + float crtCost = (costs[i].buildTimeCost * build_weight_ + costs[i].searchTimeCost) / bestTimeCost + + memory_weight_ * costs[i].memoryCost; + if (crtCost < bestCost) { + bestCost = crtCost; + bestParams = costs[i].params; + } + } + } + + delete[] gt_matches_.data; + delete[] testDataset_.data; + delete[] sampledDataset_.data; + + return bestParams; + } + + + + /** + * Estimates the search time parameters needed to get the desired precision. + * Precondition: the index is built + * Postcondition: the searchParams will have the optimum params set, also the speedup obtained over linear search. + */ + float estimateSearchParams(SearchParams& searchParams) + { + const int nn = 1; + const size_t SAMPLE_COUNT = 1000; + + assert(bestIndex_ != NULL); // must have a valid index + + float speedup = 0; + + int samples = (int)std::min(dataset_.rows / 10, SAMPLE_COUNT); + if (samples > 0) { + Matrix testDataset = random_sample(dataset_, samples); + + Logger::info("Computing ground truth\n"); + + // we need to compute the ground truth first + Matrix gt_matches(new int[testDataset.rows], testDataset.rows, 1); + StartStopTimer t; + t.start(); + compute_ground_truth(dataset_, testDataset, gt_matches, 1, distance_); + t.stop(); + float linear = (float)t.value; + + int checks; + Logger::info("Estimating number of checks\n"); + + float searchTime; + float cb_index; + if (bestIndex_->getType() == FLANN_INDEX_KMEANS) { + Logger::info("KMeans algorithm, estimating cluster border factor\n"); + KMeansIndex* kmeans = (KMeansIndex*)bestIndex_; + float bestSearchTime = -1; + float best_cb_index = -1; + int best_checks = -1; + for (cb_index = 0; cb_index < 1.1f; cb_index += 0.2f) { + kmeans->set_cb_index(cb_index); + searchTime = test_index_precision(*kmeans, dataset_, testDataset, gt_matches, target_precision_, checks, distance_, nn, 1); + if ((searchTime < bestSearchTime) || (bestSearchTime == -1)) { + bestSearchTime = searchTime; + best_cb_index = cb_index; + best_checks = checks; + } + } + searchTime = bestSearchTime; + cb_index = best_cb_index; + checks = best_checks; + + kmeans->set_cb_index(best_cb_index); + Logger::info("Optimum cb_index: %g\n", cb_index); + bestParams_["cb_index"] = cb_index; + } + else { + searchTime = test_index_precision(*bestIndex_, dataset_, testDataset, gt_matches, target_precision_, checks, distance_, nn, 1); + } + + Logger::info("Required number of checks: %d \n", checks); + searchParams["checks"] = checks; + + speedup = linear / searchTime; + + delete[] gt_matches.data; + delete[] testDataset.data; + } + + return speedup; + } + +private: + NNIndex* bestIndex_; + + IndexParams bestParams_; + SearchParams bestSearchParams_; + + Matrix sampledDataset_; + Matrix testDataset_; + Matrix gt_matches_; + + float speedup_; + + /** + * The dataset used by this index + */ + const Matrix dataset_; + + /** + * Index parameters + */ + float target_precision_; + float build_weight_; + float memory_weight_; + float sample_fraction_; + + Distance distance_; + + +}; +} + +#endif /* OPENCV_FLANN_AUTOTUNED_INDEX_H_ */ diff --git a/app/src/main/cpp/include/opencv2/flann/composite_index.h b/app/src/main/cpp/include/opencv2/flann/composite_index.h new file mode 100644 index 0000000..527ca1a --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/composite_index.h @@ -0,0 +1,194 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_COMPOSITE_INDEX_H_ +#define OPENCV_FLANN_COMPOSITE_INDEX_H_ + +#include "general.h" +#include "nn_index.h" +#include "kdtree_index.h" +#include "kmeans_index.h" + +namespace cvflann +{ + +/** + * Index parameters for the CompositeIndex. + */ +struct CompositeIndexParams : public IndexParams +{ + CompositeIndexParams(int trees = 4, int branching = 32, int iterations = 11, + flann_centers_init_t centers_init = FLANN_CENTERS_RANDOM, float cb_index = 0.2 ) + { + (*this)["algorithm"] = FLANN_INDEX_KMEANS; + // number of randomized trees to use (for kdtree) + (*this)["trees"] = trees; + // branching factor + (*this)["branching"] = branching; + // max iterations to perform in one kmeans clustering (kmeans tree) + (*this)["iterations"] = iterations; + // algorithm used for picking the initial cluster centers for kmeans tree + (*this)["centers_init"] = centers_init; + // cluster boundary index. Used when searching the kmeans tree + (*this)["cb_index"] = cb_index; + } +}; + + +/** + * This index builds a kd-tree index and a k-means index and performs nearest + * neighbour search both indexes. This gives a slight boost in search performance + * as some of the neighbours that are missed by one index are found by the other. + */ +template +class CompositeIndex : public NNIndex +{ +public: + typedef typename Distance::ElementType ElementType; + typedef typename Distance::ResultType DistanceType; + + /** + * Index constructor + * @param inputData dataset containing the points to index + * @param params Index parameters + * @param d Distance functor + * @return + */ + CompositeIndex(const Matrix& inputData, const IndexParams& params = CompositeIndexParams(), + Distance d = Distance()) : index_params_(params) + { + kdtree_index_ = new KDTreeIndex(inputData, params, d); + kmeans_index_ = new KMeansIndex(inputData, params, d); + + } + + CompositeIndex(const CompositeIndex&); + CompositeIndex& operator=(const CompositeIndex&); + + virtual ~CompositeIndex() + { + delete kdtree_index_; + delete kmeans_index_; + } + + /** + * @return The index type + */ + flann_algorithm_t getType() const + { + return FLANN_INDEX_COMPOSITE; + } + + /** + * @return Size of the index + */ + size_t size() const + { + return kdtree_index_->size(); + } + + /** + * \returns The dimensionality of the features in this index. + */ + size_t veclen() const + { + return kdtree_index_->veclen(); + } + + /** + * \returns The amount of memory (in bytes) used by the index. + */ + int usedMemory() const + { + return kmeans_index_->usedMemory() + kdtree_index_->usedMemory(); + } + + /** + * \brief Builds the index + */ + void buildIndex() + { + Logger::info("Building kmeans tree...\n"); + kmeans_index_->buildIndex(); + Logger::info("Building kdtree tree...\n"); + kdtree_index_->buildIndex(); + } + + /** + * \brief Saves the index to a stream + * \param stream The stream to save the index to + */ + void saveIndex(FILE* stream) + { + kmeans_index_->saveIndex(stream); + kdtree_index_->saveIndex(stream); + } + + /** + * \brief Loads the index from a stream + * \param stream The stream from which the index is loaded + */ + void loadIndex(FILE* stream) + { + kmeans_index_->loadIndex(stream); + kdtree_index_->loadIndex(stream); + } + + /** + * \returns The index parameters + */ + IndexParams getParameters() const + { + return index_params_; + } + + /** + * \brief Method that searches for nearest-neighbours + */ + void findNeighbors(ResultSet& result, const ElementType* vec, const SearchParams& searchParams) + { + kmeans_index_->findNeighbors(result, vec, searchParams); + kdtree_index_->findNeighbors(result, vec, searchParams); + } + +private: + /** The k-means index */ + KMeansIndex* kmeans_index_; + + /** The kd-tree index */ + KDTreeIndex* kdtree_index_; + + /** The index parameters */ + const IndexParams index_params_; +}; + +} + +#endif //OPENCV_FLANN_COMPOSITE_INDEX_H_ diff --git a/app/src/main/cpp/include/opencv2/flann/config.h b/app/src/main/cpp/include/opencv2/flann/config.h new file mode 100644 index 0000000..56832fd --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/config.h @@ -0,0 +1,38 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2011 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2011 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + + +#ifndef OPENCV_FLANN_CONFIG_H_ +#define OPENCV_FLANN_CONFIG_H_ + +#ifdef FLANN_VERSION_ +#undef FLANN_VERSION_ +#endif +#define FLANN_VERSION_ "1.6.10" + +#endif /* OPENCV_FLANN_CONFIG_H_ */ diff --git a/app/src/main/cpp/include/opencv2/flann/defines.h b/app/src/main/cpp/include/opencv2/flann/defines.h new file mode 100644 index 0000000..6fd53c2 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/defines.h @@ -0,0 +1,164 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2011 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2011 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + + +#ifndef OPENCV_FLANN_DEFINES_H_ +#define OPENCV_FLANN_DEFINES_H_ + +#include "config.h" + +#ifdef FLANN_EXPORT +#undef FLANN_EXPORT +#endif +#ifdef _WIN32 +/* win32 dll export/import directives */ + #ifdef FLANN_EXPORTS + #define FLANN_EXPORT __declspec(dllexport) + #elif defined(FLANN_STATIC) + #define FLANN_EXPORT + #else + #define FLANN_EXPORT __declspec(dllimport) + #endif +#else +/* unix needs nothing */ + #define FLANN_EXPORT +#endif + + +#undef FLANN_PLATFORM_32_BIT +#undef FLANN_PLATFORM_64_BIT +#if defined __amd64__ || defined __x86_64__ || defined _WIN64 || defined _M_X64 +#define FLANN_PLATFORM_64_BIT +#else +#define FLANN_PLATFORM_32_BIT +#endif + + +#undef FLANN_ARRAY_LEN +#define FLANN_ARRAY_LEN(a) (sizeof(a)/sizeof(a[0])) + +namespace cvflann { + +/* Nearest neighbour index algorithms */ +enum flann_algorithm_t +{ + FLANN_INDEX_LINEAR = 0, + FLANN_INDEX_KDTREE = 1, + FLANN_INDEX_KMEANS = 2, + FLANN_INDEX_COMPOSITE = 3, + FLANN_INDEX_KDTREE_SINGLE = 4, + FLANN_INDEX_HIERARCHICAL = 5, + FLANN_INDEX_LSH = 6, + FLANN_INDEX_SAVED = 254, + FLANN_INDEX_AUTOTUNED = 255, + + // deprecated constants, should use the FLANN_INDEX_* ones instead + LINEAR = 0, + KDTREE = 1, + KMEANS = 2, + COMPOSITE = 3, + KDTREE_SINGLE = 4, + SAVED = 254, + AUTOTUNED = 255 +}; + + + +enum flann_centers_init_t +{ + FLANN_CENTERS_RANDOM = 0, + FLANN_CENTERS_GONZALES = 1, + FLANN_CENTERS_KMEANSPP = 2, + FLANN_CENTERS_GROUPWISE = 3, + + // deprecated constants, should use the FLANN_CENTERS_* ones instead + CENTERS_RANDOM = 0, + CENTERS_GONZALES = 1, + CENTERS_KMEANSPP = 2 +}; + +enum flann_log_level_t +{ + FLANN_LOG_NONE = 0, + FLANN_LOG_FATAL = 1, + FLANN_LOG_ERROR = 2, + FLANN_LOG_WARN = 3, + FLANN_LOG_INFO = 4 +}; + +enum flann_distance_t +{ + FLANN_DIST_EUCLIDEAN = 1, + FLANN_DIST_L2 = 1, + FLANN_DIST_MANHATTAN = 2, + FLANN_DIST_L1 = 2, + FLANN_DIST_MINKOWSKI = 3, + FLANN_DIST_MAX = 4, + FLANN_DIST_HIST_INTERSECT = 5, + FLANN_DIST_HELLINGER = 6, + FLANN_DIST_CHI_SQUARE = 7, + FLANN_DIST_CS = 7, + FLANN_DIST_KULLBACK_LEIBLER = 8, + FLANN_DIST_KL = 8, + FLANN_DIST_HAMMING = 9, + + // deprecated constants, should use the FLANN_DIST_* ones instead + EUCLIDEAN = 1, + MANHATTAN = 2, + MINKOWSKI = 3, + MAX_DIST = 4, + HIST_INTERSECT = 5, + HELLINGER = 6, + CS = 7, + KL = 8, + KULLBACK_LEIBLER = 8 +}; + +enum flann_datatype_t +{ + FLANN_INT8 = 0, + FLANN_INT16 = 1, + FLANN_INT32 = 2, + FLANN_INT64 = 3, + FLANN_UINT8 = 4, + FLANN_UINT16 = 5, + FLANN_UINT32 = 6, + FLANN_UINT64 = 7, + FLANN_FLOAT32 = 8, + FLANN_FLOAT64 = 9 +}; + +enum +{ + FLANN_CHECKS_UNLIMITED = -1, + FLANN_CHECKS_AUTOTUNED = -2 +}; + +} + +#endif /* OPENCV_FLANN_DEFINES_H_ */ diff --git a/app/src/main/cpp/include/opencv2/flann/dist.h b/app/src/main/cpp/include/opencv2/flann/dist.h new file mode 100644 index 0000000..9e2c512 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/dist.h @@ -0,0 +1,905 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_DIST_H_ +#define OPENCV_FLANN_DIST_H_ + +#include +#include +#include +#ifdef _MSC_VER +typedef unsigned __int32 uint32_t; +typedef unsigned __int64 uint64_t; +#else +#include +#endif + +#include "defines.h" + +#if defined _WIN32 && defined(_M_ARM) +# include +#endif + +#ifdef __ARM_NEON__ +# include "arm_neon.h" +#endif + +namespace cvflann +{ + +template +inline T abs(T x) { return (x<0) ? -x : x; } + +template<> +inline int abs(int x) { return ::abs(x); } + +template<> +inline float abs(float x) { return fabsf(x); } + +template<> +inline double abs(double x) { return fabs(x); } + +template +struct Accumulator { typedef T Type; }; +template<> +struct Accumulator { typedef float Type; }; +template<> +struct Accumulator { typedef float Type; }; +template<> +struct Accumulator { typedef float Type; }; +template<> +struct Accumulator { typedef float Type; }; +template<> +struct Accumulator { typedef float Type; }; +template<> +struct Accumulator { typedef float Type; }; + +#undef True +#undef False + +class True +{ +}; + +class False +{ +}; + + +/** + * Squared Euclidean distance functor. + * + * This is the simpler, unrolled version. This is preferable for + * very low dimensionality data (eg 3D points) + */ +template +struct L2_Simple +{ + typedef True is_kdtree_distance; + typedef True is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator::Type ResultType; + + template + ResultType operator()(Iterator1 a, Iterator2 b, size_t size, ResultType /*worst_dist*/ = -1) const + { + ResultType result = ResultType(); + ResultType diff; + for(size_t i = 0; i < size; ++i ) { + diff = *a++ - *b++; + result += diff*diff; + } + return result; + } + + template + inline ResultType accum_dist(const U& a, const V& b, int) const + { + return (a-b)*(a-b); + } +}; + + + +/** + * Squared Euclidean distance functor, optimized version + */ +template +struct L2 +{ + typedef True is_kdtree_distance; + typedef True is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator::Type ResultType; + + /** + * Compute the squared Euclidean distance between two vectors. + * + * This is highly optimised, with loop unrolling, as it is one + * of the most expensive inner loops. + * + * The computation of squared root at the end is omitted for + * efficiency. + */ + template + ResultType operator()(Iterator1 a, Iterator2 b, size_t size, ResultType worst_dist = -1) const + { + ResultType result = ResultType(); + ResultType diff0, diff1, diff2, diff3; + Iterator1 last = a + size; + Iterator1 lastgroup = last - 3; + + /* Process 4 items with each loop for efficiency. */ + while (a < lastgroup) { + diff0 = (ResultType)(a[0] - b[0]); + diff1 = (ResultType)(a[1] - b[1]); + diff2 = (ResultType)(a[2] - b[2]); + diff3 = (ResultType)(a[3] - b[3]); + result += diff0 * diff0 + diff1 * diff1 + diff2 * diff2 + diff3 * diff3; + a += 4; + b += 4; + + if ((worst_dist>0)&&(result>worst_dist)) { + return result; + } + } + /* Process last 0-3 pixels. Not needed for standard vector lengths. */ + while (a < last) { + diff0 = (ResultType)(*a++ - *b++); + result += diff0 * diff0; + } + return result; + } + + /** + * Partial euclidean distance, using just one dimension. This is used by the + * kd-tree when computing partial distances while traversing the tree. + * + * Squared root is omitted for efficiency. + */ + template + inline ResultType accum_dist(const U& a, const V& b, int) const + { + return (a-b)*(a-b); + } +}; + + +/* + * Manhattan distance functor, optimized version + */ +template +struct L1 +{ + typedef True is_kdtree_distance; + typedef True is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator::Type ResultType; + + /** + * Compute the Manhattan (L_1) distance between two vectors. + * + * This is highly optimised, with loop unrolling, as it is one + * of the most expensive inner loops. + */ + template + ResultType operator()(Iterator1 a, Iterator2 b, size_t size, ResultType worst_dist = -1) const + { + ResultType result = ResultType(); + ResultType diff0, diff1, diff2, diff3; + Iterator1 last = a + size; + Iterator1 lastgroup = last - 3; + + /* Process 4 items with each loop for efficiency. */ + while (a < lastgroup) { + diff0 = (ResultType)abs(a[0] - b[0]); + diff1 = (ResultType)abs(a[1] - b[1]); + diff2 = (ResultType)abs(a[2] - b[2]); + diff3 = (ResultType)abs(a[3] - b[3]); + result += diff0 + diff1 + diff2 + diff3; + a += 4; + b += 4; + + if ((worst_dist>0)&&(result>worst_dist)) { + return result; + } + } + /* Process last 0-3 pixels. Not needed for standard vector lengths. */ + while (a < last) { + diff0 = (ResultType)abs(*a++ - *b++); + result += diff0; + } + return result; + } + + /** + * Partial distance, used by the kd-tree. + */ + template + inline ResultType accum_dist(const U& a, const V& b, int) const + { + return abs(a-b); + } +}; + + + +template +struct MinkowskiDistance +{ + typedef True is_kdtree_distance; + typedef True is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator::Type ResultType; + + int order; + + MinkowskiDistance(int order_) : order(order_) {} + + /** + * Compute the Minkowsky (L_p) distance between two vectors. + * + * This is highly optimised, with loop unrolling, as it is one + * of the most expensive inner loops. + * + * The computation of squared root at the end is omitted for + * efficiency. + */ + template + ResultType operator()(Iterator1 a, Iterator2 b, size_t size, ResultType worst_dist = -1) const + { + ResultType result = ResultType(); + ResultType diff0, diff1, diff2, diff3; + Iterator1 last = a + size; + Iterator1 lastgroup = last - 3; + + /* Process 4 items with each loop for efficiency. */ + while (a < lastgroup) { + diff0 = (ResultType)abs(a[0] - b[0]); + diff1 = (ResultType)abs(a[1] - b[1]); + diff2 = (ResultType)abs(a[2] - b[2]); + diff3 = (ResultType)abs(a[3] - b[3]); + result += pow(diff0,order) + pow(diff1,order) + pow(diff2,order) + pow(diff3,order); + a += 4; + b += 4; + + if ((worst_dist>0)&&(result>worst_dist)) { + return result; + } + } + /* Process last 0-3 pixels. Not needed for standard vector lengths. */ + while (a < last) { + diff0 = (ResultType)abs(*a++ - *b++); + result += pow(diff0,order); + } + return result; + } + + /** + * Partial distance, used by the kd-tree. + */ + template + inline ResultType accum_dist(const U& a, const V& b, int) const + { + return pow(static_cast(abs(a-b)),order); + } +}; + + + +template +struct MaxDistance +{ + typedef False is_kdtree_distance; + typedef True is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator::Type ResultType; + + /** + * Compute the max distance (L_infinity) between two vectors. + * + * This distance is not a valid kdtree distance, it's not dimensionwise additive. + */ + template + ResultType operator()(Iterator1 a, Iterator2 b, size_t size, ResultType worst_dist = -1) const + { + ResultType result = ResultType(); + ResultType diff0, diff1, diff2, diff3; + Iterator1 last = a + size; + Iterator1 lastgroup = last - 3; + + /* Process 4 items with each loop for efficiency. */ + while (a < lastgroup) { + diff0 = abs(a[0] - b[0]); + diff1 = abs(a[1] - b[1]); + diff2 = abs(a[2] - b[2]); + diff3 = abs(a[3] - b[3]); + if (diff0>result) {result = diff0; } + if (diff1>result) {result = diff1; } + if (diff2>result) {result = diff2; } + if (diff3>result) {result = diff3; } + a += 4; + b += 4; + + if ((worst_dist>0)&&(result>worst_dist)) { + return result; + } + } + /* Process last 0-3 pixels. Not needed for standard vector lengths. */ + while (a < last) { + diff0 = abs(*a++ - *b++); + result = (diff0>result) ? diff0 : result; + } + return result; + } + + /* This distance functor is not dimension-wise additive, which + * makes it an invalid kd-tree distance, not implementing the accum_dist method */ + +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * Hamming distance functor - counts the bit differences between two strings - useful for the Brief descriptor + * bit count of A exclusive XOR'ed with B + */ +struct HammingLUT +{ + typedef False is_kdtree_distance; + typedef False is_vector_space_distance; + + typedef unsigned char ElementType; + typedef int ResultType; + + /** this will count the bits in a ^ b + */ + ResultType operator()(const unsigned char* a, const unsigned char* b, size_t size) const + { + static const uchar popCountTable[] = + { + 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8 + }; + ResultType result = 0; + for (size_t i = 0; i < size; i++) { + result += popCountTable[a[i] ^ b[i]]; + } + return result; + } +}; + +/** + * Hamming distance functor (pop count between two binary vectors, i.e. xor them and count the number of bits set) + * That code was taken from brief.cpp in OpenCV + */ +template +struct Hamming +{ + typedef False is_kdtree_distance; + typedef False is_vector_space_distance; + + + typedef T ElementType; + typedef int ResultType; + + template + ResultType operator()(Iterator1 a, Iterator2 b, size_t size, ResultType /*worst_dist*/ = -1) const + { + ResultType result = 0; +#ifdef __ARM_NEON__ + { + uint32x4_t bits = vmovq_n_u32(0); + for (size_t i = 0; i < size; i += 16) { + uint8x16_t A_vec = vld1q_u8 (a + i); + uint8x16_t B_vec = vld1q_u8 (b + i); + uint8x16_t AxorB = veorq_u8 (A_vec, B_vec); + uint8x16_t bitsSet = vcntq_u8 (AxorB); + uint16x8_t bitSet8 = vpaddlq_u8 (bitsSet); + uint32x4_t bitSet4 = vpaddlq_u16 (bitSet8); + bits = vaddq_u32(bits, bitSet4); + } + uint64x2_t bitSet2 = vpaddlq_u32 (bits); + result = vgetq_lane_s32 (vreinterpretq_s32_u64(bitSet2),0); + result += vgetq_lane_s32 (vreinterpretq_s32_u64(bitSet2),2); + } +#elif __GNUC__ + { + //for portability just use unsigned long -- and use the __builtin_popcountll (see docs for __builtin_popcountll) + typedef unsigned long long pop_t; + const size_t modulo = size % sizeof(pop_t); + const pop_t* a2 = reinterpret_cast (a); + const pop_t* b2 = reinterpret_cast (b); + const pop_t* a2_end = a2 + (size / sizeof(pop_t)); + + for (; a2 != a2_end; ++a2, ++b2) result += __builtin_popcountll((*a2) ^ (*b2)); + + if (modulo) { + //in the case where size is not dividable by sizeof(size_t) + //need to mask off the bits at the end + pop_t a_final = 0, b_final = 0; + memcpy(&a_final, a2, modulo); + memcpy(&b_final, b2, modulo); + result += __builtin_popcountll(a_final ^ b_final); + } + } +#else // NO NEON and NOT GNUC + typedef unsigned long long pop_t; + HammingLUT lut; + result = lut(reinterpret_cast (a), + reinterpret_cast (b), size * sizeof(pop_t)); +#endif + return result; + } +}; + +template +struct Hamming2 +{ + typedef False is_kdtree_distance; + typedef False is_vector_space_distance; + + typedef T ElementType; + typedef int ResultType; + + /** This is popcount_3() from: + * http://en.wikipedia.org/wiki/Hamming_weight */ + unsigned int popcnt32(uint32_t n) const + { + n -= ((n >> 1) & 0x55555555); + n = (n & 0x33333333) + ((n >> 2) & 0x33333333); + return (((n + (n >> 4))& 0xF0F0F0F)* 0x1010101) >> 24; + } + +#ifdef FLANN_PLATFORM_64_BIT + unsigned int popcnt64(uint64_t n) const + { + n -= ((n >> 1) & 0x5555555555555555); + n = (n & 0x3333333333333333) + ((n >> 2) & 0x3333333333333333); + return (((n + (n >> 4))& 0x0f0f0f0f0f0f0f0f)* 0x0101010101010101) >> 56; + } +#endif + + template + ResultType operator()(Iterator1 a, Iterator2 b, size_t size, ResultType /*worst_dist*/ = -1) const + { +#ifdef FLANN_PLATFORM_64_BIT + const uint64_t* pa = reinterpret_cast(a); + const uint64_t* pb = reinterpret_cast(b); + ResultType result = 0; + size /= (sizeof(uint64_t)/sizeof(unsigned char)); + for(size_t i = 0; i < size; ++i ) { + result += popcnt64(*pa ^ *pb); + ++pa; + ++pb; + } +#else + const uint32_t* pa = reinterpret_cast(a); + const uint32_t* pb = reinterpret_cast(b); + ResultType result = 0; + size /= (sizeof(uint32_t)/sizeof(unsigned char)); + for(size_t i = 0; i < size; ++i ) { + result += popcnt32(*pa ^ *pb); + ++pa; + ++pb; + } +#endif + return result; + } +}; + + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +template +struct HistIntersectionDistance +{ + typedef True is_kdtree_distance; + typedef True is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator::Type ResultType; + + /** + * Compute the histogram intersection distance + */ + template + ResultType operator()(Iterator1 a, Iterator2 b, size_t size, ResultType worst_dist = -1) const + { + ResultType result = ResultType(); + ResultType min0, min1, min2, min3; + Iterator1 last = a + size; + Iterator1 lastgroup = last - 3; + + /* Process 4 items with each loop for efficiency. */ + while (a < lastgroup) { + min0 = (ResultType)(a[0] < b[0] ? a[0] : b[0]); + min1 = (ResultType)(a[1] < b[1] ? a[1] : b[1]); + min2 = (ResultType)(a[2] < b[2] ? a[2] : b[2]); + min3 = (ResultType)(a[3] < b[3] ? a[3] : b[3]); + result += min0 + min1 + min2 + min3; + a += 4; + b += 4; + if ((worst_dist>0)&&(result>worst_dist)) { + return result; + } + } + /* Process last 0-3 pixels. Not needed for standard vector lengths. */ + while (a < last) { + min0 = (ResultType)(*a < *b ? *a : *b); + result += min0; + ++a; + ++b; + } + return result; + } + + /** + * Partial distance, used by the kd-tree. + */ + template + inline ResultType accum_dist(const U& a, const V& b, int) const + { + return a +struct HellingerDistance +{ + typedef True is_kdtree_distance; + typedef True is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator::Type ResultType; + + /** + * Compute the Hellinger distance + */ + template + ResultType operator()(Iterator1 a, Iterator2 b, size_t size, ResultType /*worst_dist*/ = -1) const + { + ResultType result = ResultType(); + ResultType diff0, diff1, diff2, diff3; + Iterator1 last = a + size; + Iterator1 lastgroup = last - 3; + + /* Process 4 items with each loop for efficiency. */ + while (a < lastgroup) { + diff0 = sqrt(static_cast(a[0])) - sqrt(static_cast(b[0])); + diff1 = sqrt(static_cast(a[1])) - sqrt(static_cast(b[1])); + diff2 = sqrt(static_cast(a[2])) - sqrt(static_cast(b[2])); + diff3 = sqrt(static_cast(a[3])) - sqrt(static_cast(b[3])); + result += diff0 * diff0 + diff1 * diff1 + diff2 * diff2 + diff3 * diff3; + a += 4; + b += 4; + } + while (a < last) { + diff0 = sqrt(static_cast(*a++)) - sqrt(static_cast(*b++)); + result += diff0 * diff0; + } + return result; + } + + /** + * Partial distance, used by the kd-tree. + */ + template + inline ResultType accum_dist(const U& a, const V& b, int) const + { + ResultType diff = sqrt(static_cast(a)) - sqrt(static_cast(b)); + return diff * diff; + } +}; + + +template +struct ChiSquareDistance +{ + typedef True is_kdtree_distance; + typedef True is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator::Type ResultType; + + /** + * Compute the chi-square distance + */ + template + ResultType operator()(Iterator1 a, Iterator2 b, size_t size, ResultType worst_dist = -1) const + { + ResultType result = ResultType(); + ResultType sum, diff; + Iterator1 last = a + size; + + while (a < last) { + sum = (ResultType)(*a + *b); + if (sum>0) { + diff = (ResultType)(*a - *b); + result += diff*diff/sum; + } + ++a; + ++b; + + if ((worst_dist>0)&&(result>worst_dist)) { + return result; + } + } + return result; + } + + /** + * Partial distance, used by the kd-tree. + */ + template + inline ResultType accum_dist(const U& a, const V& b, int) const + { + ResultType result = ResultType(); + ResultType sum, diff; + + sum = (ResultType)(a+b); + if (sum>0) { + diff = (ResultType)(a-b); + result = diff*diff/sum; + } + return result; + } +}; + + +template +struct KL_Divergence +{ + typedef True is_kdtree_distance; + typedef True is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator::Type ResultType; + + /** + * Compute the Kullback-Leibler divergence + */ + template + ResultType operator()(Iterator1 a, Iterator2 b, size_t size, ResultType worst_dist = -1) const + { + ResultType result = ResultType(); + Iterator1 last = a + size; + + while (a < last) { + if (* b != 0) { + ResultType ratio = (ResultType)(*a / *b); + if (ratio>0) { + result += *a * log(ratio); + } + } + ++a; + ++b; + + if ((worst_dist>0)&&(result>worst_dist)) { + return result; + } + } + return result; + } + + /** + * Partial distance, used by the kd-tree. + */ + template + inline ResultType accum_dist(const U& a, const V& b, int) const + { + ResultType result = ResultType(); + if( *b != 0 ) { + ResultType ratio = (ResultType)(a / b); + if (ratio>0) { + result = a * log(ratio); + } + } + return result; + } +}; + + + +/* + * This is a "zero iterator". It basically behaves like a zero filled + * array to all algorithms that use arrays as iterators (STL style). + * It's useful when there's a need to compute the distance between feature + * and origin it and allows for better compiler optimisation than using a + * zero-filled array. + */ +template +struct ZeroIterator +{ + + T operator*() + { + return 0; + } + + T operator[](int) + { + return 0; + } + + const ZeroIterator& operator ++() + { + return *this; + } + + ZeroIterator operator ++(int) + { + return *this; + } + + ZeroIterator& operator+=(int) + { + return *this; + } + +}; + + +/* + * Depending on processed distances, some of them are already squared (e.g. L2) + * and some are not (e.g.Hamming). In KMeans++ for instance we want to be sure + * we are working on ^2 distances, thus following templates to ensure that. + */ +template +struct squareDistance +{ + typedef typename Distance::ResultType ResultType; + ResultType operator()( ResultType dist ) { return dist*dist; } +}; + + +template +struct squareDistance, ElementType> +{ + typedef typename L2_Simple::ResultType ResultType; + ResultType operator()( ResultType dist ) { return dist; } +}; + +template +struct squareDistance, ElementType> +{ + typedef typename L2::ResultType ResultType; + ResultType operator()( ResultType dist ) { return dist; } +}; + + +template +struct squareDistance, ElementType> +{ + typedef typename MinkowskiDistance::ResultType ResultType; + ResultType operator()( ResultType dist ) { return dist; } +}; + +template +struct squareDistance, ElementType> +{ + typedef typename HellingerDistance::ResultType ResultType; + ResultType operator()( ResultType dist ) { return dist; } +}; + +template +struct squareDistance, ElementType> +{ + typedef typename ChiSquareDistance::ResultType ResultType; + ResultType operator()( ResultType dist ) { return dist; } +}; + + +template +typename Distance::ResultType ensureSquareDistance( typename Distance::ResultType dist ) +{ + typedef typename Distance::ElementType ElementType; + + squareDistance dummy; + return dummy( dist ); +} + + +/* + * ...and a template to ensure the user that he will process the normal distance, + * and not squared distance, without loosing processing time calling sqrt(ensureSquareDistance) + * that will result in doing actually sqrt(dist*dist) for L1 distance for instance. + */ +template +struct simpleDistance +{ + typedef typename Distance::ResultType ResultType; + ResultType operator()( ResultType dist ) { return dist; } +}; + + +template +struct simpleDistance, ElementType> +{ + typedef typename L2_Simple::ResultType ResultType; + ResultType operator()( ResultType dist ) { return sqrt(dist); } +}; + +template +struct simpleDistance, ElementType> +{ + typedef typename L2::ResultType ResultType; + ResultType operator()( ResultType dist ) { return sqrt(dist); } +}; + + +template +struct simpleDistance, ElementType> +{ + typedef typename MinkowskiDistance::ResultType ResultType; + ResultType operator()( ResultType dist ) { return sqrt(dist); } +}; + +template +struct simpleDistance, ElementType> +{ + typedef typename HellingerDistance::ResultType ResultType; + ResultType operator()( ResultType dist ) { return sqrt(dist); } +}; + +template +struct simpleDistance, ElementType> +{ + typedef typename ChiSquareDistance::ResultType ResultType; + ResultType operator()( ResultType dist ) { return sqrt(dist); } +}; + + +template +typename Distance::ResultType ensureSimpleDistance( typename Distance::ResultType dist ) +{ + typedef typename Distance::ElementType ElementType; + + simpleDistance dummy; + return dummy( dist ); +} + +} + +#endif //OPENCV_FLANN_DIST_H_ diff --git a/app/src/main/cpp/include/opencv2/flann/dummy.h b/app/src/main/cpp/include/opencv2/flann/dummy.h new file mode 100644 index 0000000..8b1fa63 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/dummy.h @@ -0,0 +1,16 @@ + +#ifndef OPENCV_FLANN_DUMMY_H_ +#define OPENCV_FLANN_DUMMY_H_ + +namespace cvflann +{ + +#if (defined _WIN32 || defined WINCE) && defined CVAPI_EXPORTS +__declspec(dllexport) +#endif +void dummyfunc(); + +} + + +#endif /* OPENCV_FLANN_DUMMY_H_ */ diff --git a/app/src/main/cpp/include/opencv2/flann/dynamic_bitset.h b/app/src/main/cpp/include/opencv2/flann/dynamic_bitset.h new file mode 100644 index 0000000..923b658 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/dynamic_bitset.h @@ -0,0 +1,159 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +/*********************************************************************** + * Author: Vincent Rabaud + *************************************************************************/ + +#ifndef OPENCV_FLANN_DYNAMIC_BITSET_H_ +#define OPENCV_FLANN_DYNAMIC_BITSET_H_ + +#ifndef FLANN_USE_BOOST +# define FLANN_USE_BOOST 0 +#endif +//#define FLANN_USE_BOOST 1 +#if FLANN_USE_BOOST +#include +typedef boost::dynamic_bitset<> DynamicBitset; +#else + +#include + +#include "dist.h" + +namespace cvflann { + +/** Class re-implementing the boost version of it + * This helps not depending on boost, it also does not do the bound checks + * and has a way to reset a block for speed + */ +class DynamicBitset +{ +public: + /** default constructor + */ + DynamicBitset() : size_(0) + { + } + + /** only constructor we use in our code + * @param sz the size of the bitset (in bits) + */ + DynamicBitset(size_t sz) + { + resize(sz); + reset(); + } + + /** Sets all the bits to 0 + */ + void clear() + { + std::fill(bitset_.begin(), bitset_.end(), 0); + } + + /** @brief checks if the bitset is empty + * @return true if the bitset is empty + */ + bool empty() const + { + return bitset_.empty(); + } + + /** set all the bits to 0 + */ + void reset() + { + std::fill(bitset_.begin(), bitset_.end(), 0); + } + + /** @brief set one bit to 0 + * @param index + */ + void reset(size_t index) + { + bitset_[index / cell_bit_size_] &= ~(size_t(1) << (index % cell_bit_size_)); + } + + /** @brief sets a specific bit to 0, and more bits too + * This function is useful when resetting a given set of bits so that the + * whole bitset ends up being 0: if that's the case, we don't care about setting + * other bits to 0 + * @param index + */ + void reset_block(size_t index) + { + bitset_[index / cell_bit_size_] = 0; + } + + /** resize the bitset so that it contains at least sz bits + * @param sz + */ + void resize(size_t sz) + { + size_ = sz; + bitset_.resize(sz / cell_bit_size_ + 1); + } + + /** set a bit to true + * @param index the index of the bit to set to 1 + */ + void set(size_t index) + { + bitset_[index / cell_bit_size_] |= size_t(1) << (index % cell_bit_size_); + } + + /** gives the number of contained bits + */ + size_t size() const + { + return size_; + } + + /** check if a bit is set + * @param index the index of the bit to check + * @return true if the bit is set + */ + bool test(size_t index) const + { + return (bitset_[index / cell_bit_size_] & (size_t(1) << (index % cell_bit_size_))) != 0; + } + +private: + std::vector bitset_; + size_t size_; + static const unsigned int cell_bit_size_ = CHAR_BIT * sizeof(size_t); +}; + +} // namespace cvflann + +#endif + +#endif // OPENCV_FLANN_DYNAMIC_BITSET_H_ diff --git a/app/src/main/cpp/include/opencv2/flann/flann.hpp b/app/src/main/cpp/include/opencv2/flann/flann.hpp new file mode 100644 index 0000000..227683f --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/flann.hpp @@ -0,0 +1,48 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/flann.hpp" diff --git a/app/src/main/cpp/include/opencv2/flann/flann_base.hpp b/app/src/main/cpp/include/opencv2/flann/flann_base.hpp new file mode 100644 index 0000000..f3fd4fb --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/flann_base.hpp @@ -0,0 +1,295 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_BASE_HPP_ +#define OPENCV_FLANN_BASE_HPP_ + +#include +#include +#include + +#include "general.h" +#include "matrix.h" +#include "params.h" +#include "saving.h" + +#include "all_indices.h" + +namespace cvflann +{ + +/** + * Sets the log level used for all flann functions + * @param level Verbosity level + */ +inline void log_verbosity(int level) +{ + if (level >= 0) { + Logger::setLevel(level); + } +} + +/** + * (Deprecated) Index parameters for creating a saved index. + */ +struct SavedIndexParams : public IndexParams +{ + SavedIndexParams(cv::String filename) + { + (* this)["algorithm"] = FLANN_INDEX_SAVED; + (*this)["filename"] = filename; + } +}; + + +template +NNIndex* load_saved_index(const Matrix& dataset, const cv::String& filename, Distance distance) +{ + typedef typename Distance::ElementType ElementType; + + FILE* fin = fopen(filename.c_str(), "rb"); + if (fin == NULL) { + return NULL; + } + IndexHeader header = load_header(fin); + if (header.data_type != Datatype::type()) { + fclose(fin); + throw FLANNException("Datatype of saved index is different than of the one to be created."); + } + if ((size_t(header.rows) != dataset.rows)||(size_t(header.cols) != dataset.cols)) { + fclose(fin); + throw FLANNException("The index saved belongs to a different dataset"); + } + + IndexParams params; + params["algorithm"] = header.index_type; + NNIndex* nnIndex = create_index_by_type(dataset, params, distance); + nnIndex->loadIndex(fin); + fclose(fin); + + return nnIndex; +} + + +template +class Index : public NNIndex +{ +public: + typedef typename Distance::ElementType ElementType; + typedef typename Distance::ResultType DistanceType; + + Index(const Matrix& features, const IndexParams& params, Distance distance = Distance() ) + : index_params_(params) + { + flann_algorithm_t index_type = get_param(params,"algorithm"); + loaded_ = false; + + if (index_type == FLANN_INDEX_SAVED) { + nnIndex_ = load_saved_index(features, get_param(params,"filename"), distance); + loaded_ = true; + } + else { + nnIndex_ = create_index_by_type(features, params, distance); + } + } + + ~Index() + { + delete nnIndex_; + } + + /** + * Builds the index. + */ + void buildIndex() + { + if (!loaded_) { + nnIndex_->buildIndex(); + } + } + + void save(cv::String filename) + { + FILE* fout = fopen(filename.c_str(), "wb"); + if (fout == NULL) { + throw FLANNException("Cannot open file"); + } + save_header(fout, *nnIndex_); + saveIndex(fout); + fclose(fout); + } + + /** + * \brief Saves the index to a stream + * \param stream The stream to save the index to + */ + virtual void saveIndex(FILE* stream) + { + nnIndex_->saveIndex(stream); + } + + /** + * \brief Loads the index from a stream + * \param stream The stream from which the index is loaded + */ + virtual void loadIndex(FILE* stream) + { + nnIndex_->loadIndex(stream); + } + + /** + * \returns number of features in this index. + */ + size_t veclen() const + { + return nnIndex_->veclen(); + } + + /** + * \returns The dimensionality of the features in this index. + */ + size_t size() const + { + return nnIndex_->size(); + } + + /** + * \returns The index type (kdtree, kmeans,...) + */ + flann_algorithm_t getType() const + { + return nnIndex_->getType(); + } + + /** + * \returns The amount of memory (in bytes) used by the index. + */ + virtual int usedMemory() const + { + return nnIndex_->usedMemory(); + } + + + /** + * \returns The index parameters + */ + IndexParams getParameters() const + { + return nnIndex_->getParameters(); + } + + /** + * \brief Perform k-nearest neighbor search + * \param[in] queries The query points for which to find the nearest neighbors + * \param[out] indices The indices of the nearest neighbors found + * \param[out] dists Distances to the nearest neighbors found + * \param[in] knn Number of nearest neighbors to return + * \param[in] params Search parameters + */ + void knnSearch(const Matrix& queries, Matrix& indices, Matrix& dists, int knn, const SearchParams& params) + { + nnIndex_->knnSearch(queries, indices, dists, knn, params); + } + + /** + * \brief Perform radius search + * \param[in] query The query point + * \param[out] indices The indinces of the neighbors found within the given radius + * \param[out] dists The distances to the nearest neighbors found + * \param[in] radius The radius used for search + * \param[in] params Search parameters + * \returns Number of neighbors found + */ + int radiusSearch(const Matrix& query, Matrix& indices, Matrix& dists, float radius, const SearchParams& params) + { + return nnIndex_->radiusSearch(query, indices, dists, radius, params); + } + + /** + * \brief Method that searches for nearest-neighbours + */ + void findNeighbors(ResultSet& result, const ElementType* vec, const SearchParams& searchParams) + { + nnIndex_->findNeighbors(result, vec, searchParams); + } + + /** + * \brief Returns actual index + */ + CV_DEPRECATED NNIndex* getIndex() + { + return nnIndex_; + } + + /** + * \brief Returns index parameters. + * \deprecated use getParameters() instead. + */ + CV_DEPRECATED const IndexParams* getIndexParameters() + { + return &index_params_; + } + +private: + /** Pointer to actual index class */ + NNIndex* nnIndex_; + /** Indices if the index was loaded from a file */ + bool loaded_; + /** Parameters passed to the index */ + IndexParams index_params_; + + Index(const Index &); // copy disabled + Index& operator=(const Index &); // assign disabled +}; + +/** + * Performs a hierarchical clustering of the points passed as argument and then takes a cut in the + * the clustering tree to return a flat clustering. + * @param[in] points Points to be clustered + * @param centers The computed cluster centres. Matrix should be preallocated and centers.rows is the + * number of clusters requested. + * @param params Clustering parameters (The same as for cvflann::KMeansIndex) + * @param d Distance to be used for clustering (eg: cvflann::L2) + * @return number of clusters computed (can be different than clusters.rows and is the highest number + * of the form (branching-1)*K+1 smaller than clusters.rows). + */ +template +int hierarchicalClustering(const Matrix& points, Matrix& centers, + const KMeansIndexParams& params, Distance d = Distance()) +{ + KMeansIndex kmeans(points, params, d); + kmeans.buildIndex(); + + int clusterNum = kmeans.getClusterCenters(centers); + return clusterNum; +} + +} +#endif /* OPENCV_FLANN_BASE_HPP_ */ diff --git a/app/src/main/cpp/include/opencv2/flann/general.h b/app/src/main/cpp/include/opencv2/flann/general.h new file mode 100644 index 0000000..9d5402a --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/general.h @@ -0,0 +1,50 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_GENERAL_H_ +#define OPENCV_FLANN_GENERAL_H_ + +#include "opencv2/core.hpp" + +namespace cvflann +{ + +class FLANNException : public cv::Exception +{ +public: + FLANNException(const char* message) : cv::Exception(0, message, "", __FILE__, __LINE__) { } + + FLANNException(const cv::String& message) : cv::Exception(0, message, "", __FILE__, __LINE__) { } +}; + +} + + +#endif /* OPENCV_FLANN_GENERAL_H_ */ diff --git a/app/src/main/cpp/include/opencv2/flann/ground_truth.h b/app/src/main/cpp/include/opencv2/flann/ground_truth.h new file mode 100644 index 0000000..fd8f3ae --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/ground_truth.h @@ -0,0 +1,94 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_GROUND_TRUTH_H_ +#define OPENCV_FLANN_GROUND_TRUTH_H_ + +#include "dist.h" +#include "matrix.h" + + +namespace cvflann +{ + +template +void find_nearest(const Matrix& dataset, typename Distance::ElementType* query, int* matches, int nn, + int skip = 0, Distance distance = Distance()) +{ + typedef typename Distance::ResultType DistanceType; + int n = nn + skip; + + std::vector match(n); + std::vector dists(n); + + dists[0] = distance(dataset[0], query, dataset.cols); + match[0] = 0; + int dcnt = 1; + + for (size_t i=1; i=1 && dists[j] +void compute_ground_truth(const Matrix& dataset, const Matrix& testset, Matrix& matches, + int skip=0, Distance d = Distance()) +{ + for (size_t i=0; i(dataset, testset[i], matches[i], (int)matches.cols, skip, d); + } +} + + +} + +#endif //OPENCV_FLANN_GROUND_TRUTH_H_ diff --git a/app/src/main/cpp/include/opencv2/flann/hdf5.h b/app/src/main/cpp/include/opencv2/flann/hdf5.h new file mode 100644 index 0000000..80d23b9 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/hdf5.h @@ -0,0 +1,231 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + + +#ifndef OPENCV_FLANN_HDF5_H_ +#define OPENCV_FLANN_HDF5_H_ + +#include + +#include "matrix.h" + + +namespace cvflann +{ + +namespace +{ + +template +hid_t get_hdf5_type() +{ + throw FLANNException("Unsupported type for IO operations"); +} + +template<> +hid_t get_hdf5_type() { return H5T_NATIVE_CHAR; } +template<> +hid_t get_hdf5_type() { return H5T_NATIVE_UCHAR; } +template<> +hid_t get_hdf5_type() { return H5T_NATIVE_SHORT; } +template<> +hid_t get_hdf5_type() { return H5T_NATIVE_USHORT; } +template<> +hid_t get_hdf5_type() { return H5T_NATIVE_INT; } +template<> +hid_t get_hdf5_type() { return H5T_NATIVE_UINT; } +template<> +hid_t get_hdf5_type() { return H5T_NATIVE_LONG; } +template<> +hid_t get_hdf5_type() { return H5T_NATIVE_ULONG; } +template<> +hid_t get_hdf5_type() { return H5T_NATIVE_FLOAT; } +template<> +hid_t get_hdf5_type() { return H5T_NATIVE_DOUBLE; } +} + + +#define CHECK_ERROR(x,y) if ((x)<0) throw FLANNException((y)); + +template +void save_to_file(const cvflann::Matrix& dataset, const String& filename, const String& name) +{ + +#if H5Eset_auto_vers == 2 + H5Eset_auto( H5E_DEFAULT, NULL, NULL ); +#else + H5Eset_auto( NULL, NULL ); +#endif + + herr_t status; + hid_t file_id; + file_id = H5Fopen(filename.c_str(), H5F_ACC_RDWR, H5P_DEFAULT); + if (file_id < 0) { + file_id = H5Fcreate(filename.c_str(), H5F_ACC_EXCL, H5P_DEFAULT, H5P_DEFAULT); + } + CHECK_ERROR(file_id,"Error creating hdf5 file."); + + hsize_t dimsf[2]; // dataset dimensions + dimsf[0] = dataset.rows; + dimsf[1] = dataset.cols; + + hid_t space_id = H5Screate_simple(2, dimsf, NULL); + hid_t memspace_id = H5Screate_simple(2, dimsf, NULL); + + hid_t dataset_id; +#if H5Dcreate_vers == 2 + dataset_id = H5Dcreate2(file_id, name.c_str(), get_hdf5_type(), space_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); +#else + dataset_id = H5Dcreate(file_id, name.c_str(), get_hdf5_type(), space_id, H5P_DEFAULT); +#endif + + if (dataset_id<0) { +#if H5Dopen_vers == 2 + dataset_id = H5Dopen2(file_id, name.c_str(), H5P_DEFAULT); +#else + dataset_id = H5Dopen(file_id, name.c_str()); +#endif + } + CHECK_ERROR(dataset_id,"Error creating or opening dataset in file."); + + status = H5Dwrite(dataset_id, get_hdf5_type(), memspace_id, space_id, H5P_DEFAULT, dataset.data ); + CHECK_ERROR(status, "Error writing to dataset"); + + H5Sclose(memspace_id); + H5Sclose(space_id); + H5Dclose(dataset_id); + H5Fclose(file_id); + +} + + +template +void load_from_file(cvflann::Matrix& dataset, const String& filename, const String& name) +{ + herr_t status; + hid_t file_id = H5Fopen(filename.c_str(), H5F_ACC_RDWR, H5P_DEFAULT); + CHECK_ERROR(file_id,"Error opening hdf5 file."); + + hid_t dataset_id; +#if H5Dopen_vers == 2 + dataset_id = H5Dopen2(file_id, name.c_str(), H5P_DEFAULT); +#else + dataset_id = H5Dopen(file_id, name.c_str()); +#endif + CHECK_ERROR(dataset_id,"Error opening dataset in file."); + + hid_t space_id = H5Dget_space(dataset_id); + + hsize_t dims_out[2]; + H5Sget_simple_extent_dims(space_id, dims_out, NULL); + + dataset = cvflann::Matrix(new T[dims_out[0]*dims_out[1]], dims_out[0], dims_out[1]); + + status = H5Dread(dataset_id, get_hdf5_type(), H5S_ALL, H5S_ALL, H5P_DEFAULT, dataset[0]); + CHECK_ERROR(status, "Error reading dataset"); + + H5Sclose(space_id); + H5Dclose(dataset_id); + H5Fclose(file_id); +} + + +#ifdef HAVE_MPI + +namespace mpi +{ +/** + * Loads a the hyperslice corresponding to this processor from a hdf5 file. + * @param flann_dataset Dataset where the data is loaded + * @param filename HDF5 file name + * @param name Name of dataset inside file + */ +template +void load_from_file(cvflann::Matrix& dataset, const String& filename, const String& name) +{ + MPI_Comm comm = MPI_COMM_WORLD; + MPI_Info info = MPI_INFO_NULL; + + int mpi_size, mpi_rank; + MPI_Comm_size(comm, &mpi_size); + MPI_Comm_rank(comm, &mpi_rank); + + herr_t status; + + hid_t plist_id = H5Pcreate(H5P_FILE_ACCESS); + H5Pset_fapl_mpio(plist_id, comm, info); + hid_t file_id = H5Fopen(filename.c_str(), H5F_ACC_RDWR, plist_id); + CHECK_ERROR(file_id,"Error opening hdf5 file."); + H5Pclose(plist_id); + hid_t dataset_id; +#if H5Dopen_vers == 2 + dataset_id = H5Dopen2(file_id, name.c_str(), H5P_DEFAULT); +#else + dataset_id = H5Dopen(file_id, name.c_str()); +#endif + CHECK_ERROR(dataset_id,"Error opening dataset in file."); + + hid_t space_id = H5Dget_space(dataset_id); + hsize_t dims[2]; + H5Sget_simple_extent_dims(space_id, dims, NULL); + + hsize_t count[2]; + hsize_t offset[2]; + + hsize_t item_cnt = dims[0]/mpi_size+(dims[0]%mpi_size==0 ? 0 : 1); + hsize_t cnt = (mpi_rank(), memspace_id, space_id, plist_id, dataset.data); + CHECK_ERROR(status, "Error reading dataset"); + + H5Pclose(plist_id); + H5Sclose(space_id); + H5Sclose(memspace_id); + H5Dclose(dataset_id); + H5Fclose(file_id); +} +} +#endif // HAVE_MPI +} // namespace cvflann::mpi + +#endif /* OPENCV_FLANN_HDF5_H_ */ diff --git a/app/src/main/cpp/include/opencv2/flann/heap.h b/app/src/main/cpp/include/opencv2/flann/heap.h new file mode 100644 index 0000000..92a6ea6 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/heap.h @@ -0,0 +1,165 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_HEAP_H_ +#define OPENCV_FLANN_HEAP_H_ + +#include +#include + +namespace cvflann +{ + +/** + * Priority Queue Implementation + * + * The priority queue is implemented with a heap. A heap is a complete + * (full) binary tree in which each parent is less than both of its + * children, but the order of the children is unspecified. + */ +template +class Heap +{ + + /** + * Storage array for the heap. + * Type T must be comparable. + */ + std::vector heap; + int length; + + /** + * Number of element in the heap + */ + int count; + + + +public: + /** + * Constructor. + * + * Params: + * sz = heap size + */ + + Heap(int sz) + { + length = sz; + heap.reserve(length); + count = 0; + } + + /** + * + * Returns: heap size + */ + int size() + { + return count; + } + + /** + * Tests if the heap is empty + * + * Returns: true is heap empty, false otherwise + */ + bool empty() + { + return size()==0; + } + + /** + * Clears the heap. + */ + void clear() + { + heap.clear(); + count = 0; + } + + struct CompareT + { + bool operator()(const T& t_1, const T& t_2) const + { + return t_2 < t_1; + } + }; + + /** + * Insert a new element in the heap. + * + * We select the next empty leaf node, and then keep moving any larger + * parents down until the right location is found to store this element. + * + * Params: + * value = the new element to be inserted in the heap + */ + void insert(T value) + { + /* If heap is full, then return without adding this element. */ + if (count == length) { + return; + } + + heap.push_back(value); + static CompareT compareT; + std::push_heap(heap.begin(), heap.end(), compareT); + ++count; + } + + + + /** + * Returns the node of minimum value from the heap (top of the heap). + * + * Params: + * value = out parameter used to return the min element + * Returns: false if heap empty + */ + bool popMin(T& value) + { + if (count == 0) { + return false; + } + + value = heap[0]; + static CompareT compareT; + std::pop_heap(heap.begin(), heap.end(), compareT); + heap.pop_back(); + --count; + + return true; /* Return old last node. */ + } +}; + +} + +#endif //OPENCV_FLANN_HEAP_H_ diff --git a/app/src/main/cpp/include/opencv2/flann/hierarchical_clustering_index.h b/app/src/main/cpp/include/opencv2/flann/hierarchical_clustering_index.h new file mode 100644 index 0000000..9d890d4 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/hierarchical_clustering_index.h @@ -0,0 +1,848 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2011 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2011 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_HIERARCHICAL_CLUSTERING_INDEX_H_ +#define OPENCV_FLANN_HIERARCHICAL_CLUSTERING_INDEX_H_ + +#include +#include +#include +#include +#include + +#include "general.h" +#include "nn_index.h" +#include "dist.h" +#include "matrix.h" +#include "result_set.h" +#include "heap.h" +#include "allocator.h" +#include "random.h" +#include "saving.h" + + +namespace cvflann +{ + +struct HierarchicalClusteringIndexParams : public IndexParams +{ + HierarchicalClusteringIndexParams(int branching = 32, + flann_centers_init_t centers_init = FLANN_CENTERS_RANDOM, + int trees = 4, int leaf_size = 100) + { + (*this)["algorithm"] = FLANN_INDEX_HIERARCHICAL; + // The branching factor used in the hierarchical clustering + (*this)["branching"] = branching; + // Algorithm used for picking the initial cluster centers + (*this)["centers_init"] = centers_init; + // number of parallel trees to build + (*this)["trees"] = trees; + // maximum leaf size + (*this)["leaf_size"] = leaf_size; + } +}; + + +/** + * Hierarchical index + * + * Contains a tree constructed through a hierarchical clustering + * and other information for indexing a set of points for nearest-neighbour matching. + */ +template +class HierarchicalClusteringIndex : public NNIndex +{ +public: + typedef typename Distance::ElementType ElementType; + typedef typename Distance::ResultType DistanceType; + +private: + + + typedef void (HierarchicalClusteringIndex::* centersAlgFunction)(int, int*, int, int*, int&); + + /** + * The function used for choosing the cluster centers. + */ + centersAlgFunction chooseCenters; + + + + /** + * Chooses the initial centers in the k-means clustering in a random manner. + * + * Params: + * k = number of centers + * vecs = the dataset of points + * indices = indices in the dataset + * indices_length = length of indices vector + * + */ + void chooseCentersRandom(int k, int* dsindices, int indices_length, int* centers, int& centers_length) + { + UniqueRandom r(indices_length); + + int index; + for (index=0; index=0 && rnd < n); + + centers[0] = dsindices[rnd]; + + int index; + for (index=1; indexbest_val) { + best_val = dist; + best_index = j; + } + } + if (best_index!=-1) { + centers[index] = dsindices[best_index]; + } + else { + break; + } + } + centers_length = index; + } + + + /** + * Chooses the initial centers in the k-means using the algorithm + * proposed in the KMeans++ paper: + * Arthur, David; Vassilvitskii, Sergei - k-means++: The Advantages of Careful Seeding + * + * Implementation of this function was converted from the one provided in Arthur's code. + * + * Params: + * k = number of centers + * vecs = the dataset of points + * indices = indices in the dataset + * Returns: + */ + void chooseCentersKMeanspp(int k, int* dsindices, int indices_length, int* centers, int& centers_length) + { + int n = indices_length; + + double currentPot = 0; + DistanceType* closestDistSq = new DistanceType[n]; + + // Choose one random center and set the closestDistSq values + int index = rand_int(n); + assert(index >=0 && index < n); + centers[0] = dsindices[index]; + + // Computing distance^2 will have the advantage of even higher probability further to pick new centers + // far from previous centers (and this complies to "k-means++: the advantages of careful seeding" article) + for (int i = 0; i < n; i++) { + closestDistSq[i] = distance(dataset[dsindices[i]], dataset[dsindices[index]], dataset.cols); + closestDistSq[i] = ensureSquareDistance( closestDistSq[i] ); + currentPot += closestDistSq[i]; + } + + + const int numLocalTries = 1; + + // Choose each center + int centerCount; + for (centerCount = 1; centerCount < k; centerCount++) { + + // Repeat several trials + double bestNewPot = -1; + int bestNewIndex = 0; + for (int localTrial = 0; localTrial < numLocalTries; localTrial++) { + + // Choose our center - have to be slightly careful to return a valid answer even accounting + // for possible rounding errors + double randVal = rand_double(currentPot); + for (index = 0; index < n-1; index++) { + if (randVal <= closestDistSq[index]) break; + else randVal -= closestDistSq[index]; + } + + // Compute the new potential + double newPot = 0; + for (int i = 0; i < n; i++) { + DistanceType dist = distance(dataset[dsindices[i]], dataset[dsindices[index]], dataset.cols); + newPot += std::min( ensureSquareDistance(dist), closestDistSq[i] ); + } + + // Store the best result + if ((bestNewPot < 0)||(newPot < bestNewPot)) { + bestNewPot = newPot; + bestNewIndex = index; + } + } + + // Add the appropriate center + centers[centerCount] = dsindices[bestNewIndex]; + currentPot = bestNewPot; + for (int i = 0; i < n; i++) { + DistanceType dist = distance(dataset[dsindices[i]], dataset[dsindices[bestNewIndex]], dataset.cols); + closestDistSq[i] = std::min( ensureSquareDistance(dist), closestDistSq[i] ); + } + } + + centers_length = centerCount; + + delete[] closestDistSq; + } + + + /** + * Chooses the initial centers in a way inspired by Gonzales (by Pierre-Emmanuel Viel): + * select the first point of the list as a candidate, then parse the points list. If another + * point is further than current candidate from the other centers, test if it is a good center + * of a local aggregation. If it is, replace current candidate by this point. And so on... + * + * Used with KMeansIndex that computes centers coordinates by averaging positions of clusters points, + * this doesn't make a real difference with previous methods. But used with HierarchicalClusteringIndex + * class that pick centers among existing points instead of computing the barycenters, there is a real + * improvement. + * + * Params: + * k = number of centers + * vecs = the dataset of points + * indices = indices in the dataset + * Returns: + */ + void GroupWiseCenterChooser(int k, int* dsindices, int indices_length, int* centers, int& centers_length) + { + const float kSpeedUpFactor = 1.3f; + + int n = indices_length; + + DistanceType* closestDistSq = new DistanceType[n]; + + // Choose one random center and set the closestDistSq values + int index = rand_int(n); + assert(index >=0 && index < n); + centers[0] = dsindices[index]; + + for (int i = 0; i < n; i++) { + closestDistSq[i] = distance(dataset[dsindices[i]], dataset[dsindices[index]], dataset.cols); + } + + + // Choose each center + int centerCount; + for (centerCount = 1; centerCount < k; centerCount++) { + + // Repeat several trials + double bestNewPot = -1; + int bestNewIndex = 0; + DistanceType furthest = 0; + for (index = 0; index < n; index++) { + + // We will test only the potential of the points further than current candidate + if( closestDistSq[index] > kSpeedUpFactor * (float)furthest ) { + + // Compute the new potential + double newPot = 0; + for (int i = 0; i < n; i++) { + newPot += std::min( distance(dataset[dsindices[i]], dataset[dsindices[index]], dataset.cols) + , closestDistSq[i] ); + } + + // Store the best result + if ((bestNewPot < 0)||(newPot <= bestNewPot)) { + bestNewPot = newPot; + bestNewIndex = index; + furthest = closestDistSq[index]; + } + } + } + + // Add the appropriate center + centers[centerCount] = dsindices[bestNewIndex]; + for (int i = 0; i < n; i++) { + closestDistSq[i] = std::min( distance(dataset[dsindices[i]], dataset[dsindices[bestNewIndex]], dataset.cols) + , closestDistSq[i] ); + } + } + + centers_length = centerCount; + + delete[] closestDistSq; + } + + +public: + + + /** + * Index constructor + * + * Params: + * inputData = dataset with the input features + * params = parameters passed to the hierarchical k-means algorithm + */ + HierarchicalClusteringIndex(const Matrix& inputData, const IndexParams& index_params = HierarchicalClusteringIndexParams(), + Distance d = Distance()) + : dataset(inputData), params(index_params), root(NULL), indices(NULL), distance(d) + { + memoryCounter = 0; + + size_ = dataset.rows; + veclen_ = dataset.cols; + + branching_ = get_param(params,"branching",32); + centers_init_ = get_param(params,"centers_init", FLANN_CENTERS_RANDOM); + trees_ = get_param(params,"trees",4); + leaf_size_ = get_param(params,"leaf_size",100); + + if (centers_init_==FLANN_CENTERS_RANDOM) { + chooseCenters = &HierarchicalClusteringIndex::chooseCentersRandom; + } + else if (centers_init_==FLANN_CENTERS_GONZALES) { + chooseCenters = &HierarchicalClusteringIndex::chooseCentersGonzales; + } + else if (centers_init_==FLANN_CENTERS_KMEANSPP) { + chooseCenters = &HierarchicalClusteringIndex::chooseCentersKMeanspp; + } + else if (centers_init_==FLANN_CENTERS_GROUPWISE) { + chooseCenters = &HierarchicalClusteringIndex::GroupWiseCenterChooser; + } + else { + throw FLANNException("Unknown algorithm for choosing initial centers."); + } + + trees_ = get_param(params,"trees",4); + root = new NodePtr[trees_]; + indices = new int*[trees_]; + + for (int i=0; i(); + computeClustering(root[i], indices[i], (int)size_, branching_,0); + } + } + + + flann_algorithm_t getType() const + { + return FLANN_INDEX_HIERARCHICAL; + } + + + void saveIndex(FILE* stream) + { + save_value(stream, branching_); + save_value(stream, trees_); + save_value(stream, centers_init_); + save_value(stream, leaf_size_); + save_value(stream, memoryCounter); + for (int i=0; i& result, const ElementType* vec, const SearchParams& searchParams) + { + + int maxChecks = get_param(searchParams,"checks",32); + + // Priority queue storing intermediate branches in the best-bin-first search + Heap* heap = new Heap((int)size_); + + std::vector checked(size_,false); + int checks = 0; + for (int i=0; ipopMin(branch) && (checks BranchSt; + + + + void save_tree(FILE* stream, NodePtr node, int num) + { + save_value(stream, *node); + if (node->childs==NULL) { + int indices_offset = (int)(node->indices - indices[num]); + save_value(stream, indices_offset); + } + else { + for(int i=0; ichilds[i], num); + } + } + } + + + void load_tree(FILE* stream, NodePtr& node, int num) + { + node = pool.allocate(); + load_value(stream, *node); + if (node->childs==NULL) { + int indices_offset; + load_value(stream, indices_offset); + node->indices = indices[num] + indices_offset; + } + else { + node->childs = pool.allocate(branching_); + for(int i=0; ichilds[i], num); + } + } + } + + + + + void computeLabels(int* dsindices, int indices_length, int* centers, int centers_length, int* labels, DistanceType& cost) + { + cost = 0; + for (int i=0; inew_dist) { + labels[i] = j; + dist = new_dist; + } + } + cost += dist; + } + } + + /** + * The method responsible with actually doing the recursive hierarchical + * clustering + * + * Params: + * node = the node to cluster + * indices = indices of the points belonging to the current node + * branching = the branching factor to use in the clustering + * + * TODO: for 1-sized clusters don't store a cluster center (it's the same as the single cluster point) + */ + void computeClustering(NodePtr node, int* dsindices, int indices_length, int branching, int level) + { + node->size = indices_length; + node->level = level; + + if (indices_length < leaf_size_) { // leaf node + node->indices = dsindices; + std::sort(node->indices,node->indices+indices_length); + node->childs = NULL; + return; + } + + std::vector centers(branching); + std::vector labels(indices_length); + + int centers_length; + (this->*chooseCenters)(branching, dsindices, indices_length, ¢ers[0], centers_length); + + if (centers_lengthindices = dsindices; + std::sort(node->indices,node->indices+indices_length); + node->childs = NULL; + return; + } + + + // assign points to clusters + DistanceType cost; + computeLabels(dsindices, indices_length, ¢ers[0], centers_length, &labels[0], cost); + + node->childs = pool.allocate(branching); + int start = 0; + int end = start; + for (int i=0; ichilds[i] = pool.allocate(); + node->childs[i]->pivot = centers[i]; + node->childs[i]->indices = NULL; + computeClustering(node->childs[i],dsindices+start, end-start, branching, level+1); + start=end; + } + } + + + + /** + * Performs one descent in the hierarchical k-means tree. The branches not + * visited are stored in a priority queue. + * + * Params: + * node = node to explore + * result = container for the k-nearest neighbors found + * vec = query points + * checks = how many points in the dataset have been checked so far + * maxChecks = maximum dataset points to checks + */ + + + void findNN(NodePtr node, ResultSet& result, const ElementType* vec, int& checks, int maxChecks, + Heap* heap, std::vector& checked) + { + if (node->childs==NULL) { + if (checks>=maxChecks) { + if (result.full()) return; + } + for (int i=0; isize; ++i) { + int index = node->indices[i]; + if (!checked[index]) { + DistanceType dist = distance(dataset[index], vec, veclen_); + result.addPoint(dist, index); + checked[index] = true; + ++checks; + } + } + } + else { + DistanceType* domain_distances = new DistanceType[branching_]; + int best_index = 0; + domain_distances[best_index] = distance(vec, dataset[node->childs[best_index]->pivot], veclen_); + for (int i=1; ichilds[i]->pivot], veclen_); + if (domain_distances[i]insert(BranchSt(node->childs[i],domain_distances[i])); + } + } + delete[] domain_distances; + findNN(node->childs[best_index],result,vec, checks, maxChecks, heap, checked); + } + } + +private: + + + /** + * The dataset used by this index + */ + const Matrix dataset; + + /** + * Parameters used by this index + */ + IndexParams params; + + + /** + * Number of features in the dataset. + */ + size_t size_; + + /** + * Length of each feature. + */ + size_t veclen_; + + /** + * The root node in the tree. + */ + NodePtr* root; + + /** + * Array of indices to vectors in the dataset. + */ + int** indices; + + + /** + * The distance + */ + Distance distance; + + /** + * Pooled memory allocator. + * + * Using a pooled memory allocator is more efficient + * than allocating memory directly when there is a large + * number small of memory allocations. + */ + PooledAllocator pool; + + /** + * Memory occupied by the index. + */ + int memoryCounter; + + /** index parameters */ + int branching_; + int trees_; + flann_centers_init_t centers_init_; + int leaf_size_; + + +}; + +} + +#endif /* OPENCV_FLANN_HIERARCHICAL_CLUSTERING_INDEX_H_ */ diff --git a/app/src/main/cpp/include/opencv2/flann/index_testing.h b/app/src/main/cpp/include/opencv2/flann/index_testing.h new file mode 100644 index 0000000..d764004 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/index_testing.h @@ -0,0 +1,318 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_INDEX_TESTING_H_ +#define OPENCV_FLANN_INDEX_TESTING_H_ + +#include +#include +#include + +#include "matrix.h" +#include "nn_index.h" +#include "result_set.h" +#include "logger.h" +#include "timer.h" + + +namespace cvflann +{ + +inline int countCorrectMatches(int* neighbors, int* groundTruth, int n) +{ + int count = 0; + for (int i=0; i +typename Distance::ResultType computeDistanceRaport(const Matrix& inputData, typename Distance::ElementType* target, + int* neighbors, int* groundTruth, int veclen, int n, const Distance& distance) +{ + typedef typename Distance::ResultType DistanceType; + + DistanceType ret = 0; + for (int i=0; i +float search_with_ground_truth(NNIndex& index, const Matrix& inputData, + const Matrix& testData, const Matrix& matches, int nn, int checks, + float& time, typename Distance::ResultType& dist, const Distance& distance, int skipMatches) +{ + typedef typename Distance::ResultType DistanceType; + + if (matches.cols resultSet(nn+skipMatches); + SearchParams searchParams(checks); + + std::vector indices(nn+skipMatches); + std::vector dists(nn+skipMatches); + int* neighbors = &indices[skipMatches]; + + int correct = 0; + DistanceType distR = 0; + StartStopTimer t; + int repeats = 0; + while (t.value<0.2) { + repeats++; + t.start(); + correct = 0; + distR = 0; + for (size_t i = 0; i < testData.rows; i++) { + resultSet.init(&indices[0], &dists[0]); + index.findNeighbors(resultSet, testData[i], searchParams); + + correct += countCorrectMatches(neighbors,matches[i], nn); + distR += computeDistanceRaport(inputData, testData[i], neighbors, matches[i], (int)testData.cols, nn, distance); + } + t.stop(); + } + time = float(t.value/repeats); + + float precicion = (float)correct/(nn*testData.rows); + + dist = distR/(testData.rows*nn); + + Logger::info("%8d %10.4g %10.5g %10.5g %10.5g\n", + checks, precicion, time, 1000.0 * time / testData.rows, dist); + + return precicion; +} + + +template +float test_index_checks(NNIndex& index, const Matrix& inputData, + const Matrix& testData, const Matrix& matches, + int checks, float& precision, const Distance& distance, int nn = 1, int skipMatches = 0) +{ + typedef typename Distance::ResultType DistanceType; + + Logger::info(" Nodes Precision(%) Time(s) Time/vec(ms) Mean dist\n"); + Logger::info("---------------------------------------------------------\n"); + + float time = 0; + DistanceType dist = 0; + precision = search_with_ground_truth(index, inputData, testData, matches, nn, checks, time, dist, distance, skipMatches); + + return time; +} + +template +float test_index_precision(NNIndex& index, const Matrix& inputData, + const Matrix& testData, const Matrix& matches, + float precision, int& checks, const Distance& distance, int nn = 1, int skipMatches = 0) +{ + typedef typename Distance::ResultType DistanceType; + const float SEARCH_EPS = 0.001f; + + Logger::info(" Nodes Precision(%) Time(s) Time/vec(ms) Mean dist\n"); + Logger::info("---------------------------------------------------------\n"); + + int c2 = 1; + float p2; + int c1 = 1; + //float p1; + float time; + DistanceType dist; + + p2 = search_with_ground_truth(index, inputData, testData, matches, nn, c2, time, dist, distance, skipMatches); + + if (p2>precision) { + Logger::info("Got as close as I can\n"); + checks = c2; + return time; + } + + while (p2SEARCH_EPS) { + Logger::info("Start linear estimation\n"); + // after we got to values in the vecinity of the desired precision + // use linear approximation get a better estimation + + cx = (c1+c2)/2; + realPrecision = search_with_ground_truth(index, inputData, testData, matches, nn, cx, time, dist, distance, skipMatches); + while (fabs(realPrecision-precision)>SEARCH_EPS) { + + if (realPrecision +void test_index_precisions(NNIndex& index, const Matrix& inputData, + const Matrix& testData, const Matrix& matches, + float* precisions, int precisions_length, const Distance& distance, int nn = 1, int skipMatches = 0, float maxTime = 0) +{ + typedef typename Distance::ResultType DistanceType; + + const float SEARCH_EPS = 0.001; + + // make sure precisions array is sorted + std::sort(precisions, precisions+precisions_length); + + int pindex = 0; + float precision = precisions[pindex]; + + Logger::info(" Nodes Precision(%) Time(s) Time/vec(ms) Mean dist\n"); + Logger::info("---------------------------------------------------------\n"); + + int c2 = 1; + float p2; + + int c1 = 1; + float p1; + + float time; + DistanceType dist; + + p2 = search_with_ground_truth(index, inputData, testData, matches, nn, c2, time, dist, distance, skipMatches); + + // if precision for 1 run down the tree is already + // better then some of the requested precisions, then + // skip those + while (precisions[pindex] 0)&&(time > maxTime)&&(p2SEARCH_EPS) { + Logger::info("Start linear estimation\n"); + // after we got to values in the vecinity of the desired precision + // use linear approximation get a better estimation + + cx = (c1+c2)/2; + realPrecision = search_with_ground_truth(index, inputData, testData, matches, nn, cx, time, dist, distance, skipMatches); + while (fabs(realPrecision-precision)>SEARCH_EPS) { + + if (realPrecision +#include +#include +#include + +#include "general.h" +#include "nn_index.h" +#include "dynamic_bitset.h" +#include "matrix.h" +#include "result_set.h" +#include "heap.h" +#include "allocator.h" +#include "random.h" +#include "saving.h" + + +namespace cvflann +{ + +struct KDTreeIndexParams : public IndexParams +{ + KDTreeIndexParams(int trees = 4) + { + (*this)["algorithm"] = FLANN_INDEX_KDTREE; + (*this)["trees"] = trees; + } +}; + + +/** + * Randomized kd-tree index + * + * Contains the k-d trees and other information for indexing a set of points + * for nearest-neighbor matching. + */ +template +class KDTreeIndex : public NNIndex +{ +public: + typedef typename Distance::ElementType ElementType; + typedef typename Distance::ResultType DistanceType; + + + /** + * KDTree constructor + * + * Params: + * inputData = dataset with the input features + * params = parameters passed to the kdtree algorithm + */ + KDTreeIndex(const Matrix& inputData, const IndexParams& params = KDTreeIndexParams(), + Distance d = Distance() ) : + dataset_(inputData), index_params_(params), distance_(d) + { + size_ = dataset_.rows; + veclen_ = dataset_.cols; + + trees_ = get_param(index_params_,"trees",4); + tree_roots_ = new NodePtr[trees_]; + + // Create a permutable array of indices to the input vectors. + vind_.resize(size_); + for (size_t i = 0; i < size_; ++i) { + vind_[i] = int(i); + } + + mean_ = new DistanceType[veclen_]; + var_ = new DistanceType[veclen_]; + } + + + KDTreeIndex(const KDTreeIndex&); + KDTreeIndex& operator=(const KDTreeIndex&); + + /** + * Standard destructor + */ + ~KDTreeIndex() + { + if (tree_roots_!=NULL) { + delete[] tree_roots_; + } + delete[] mean_; + delete[] var_; + } + + /** + * Builds the index + */ + void buildIndex() + { + /* Construct the randomized trees. */ + for (int i = 0; i < trees_; i++) { + /* Randomize the order of vectors to allow for unbiased sampling. */ +#ifndef OPENCV_FLANN_USE_STD_RAND + cv::randShuffle(vind_); +#else + std::random_shuffle(vind_.begin(), vind_.end()); +#endif + + tree_roots_[i] = divideTree(&vind_[0], int(size_) ); + } + } + + + flann_algorithm_t getType() const + { + return FLANN_INDEX_KDTREE; + } + + + void saveIndex(FILE* stream) + { + save_value(stream, trees_); + for (int i=0; i& result, const ElementType* vec, const SearchParams& searchParams) + { + int maxChecks = get_param(searchParams,"checks", 32); + float epsError = 1+get_param(searchParams,"eps",0.0f); + + if (maxChecks==FLANN_CHECKS_UNLIMITED) { + getExactNeighbors(result, vec, epsError); + } + else { + getNeighbors(result, vec, maxChecks, epsError); + } + } + + IndexParams getParameters() const + { + return index_params_; + } + +private: + + + /*--------------------- Internal Data Structures --------------------------*/ + struct Node + { + /** + * Dimension used for subdivision. + */ + int divfeat; + /** + * The values used for subdivision. + */ + DistanceType divval; + /** + * The child nodes. + */ + Node* child1, * child2; + }; + typedef Node* NodePtr; + typedef BranchStruct BranchSt; + typedef BranchSt* Branch; + + + + void save_tree(FILE* stream, NodePtr tree) + { + save_value(stream, *tree); + if (tree->child1!=NULL) { + save_tree(stream, tree->child1); + } + if (tree->child2!=NULL) { + save_tree(stream, tree->child2); + } + } + + + void load_tree(FILE* stream, NodePtr& tree) + { + tree = pool_.allocate(); + load_value(stream, *tree); + if (tree->child1!=NULL) { + load_tree(stream, tree->child1); + } + if (tree->child2!=NULL) { + load_tree(stream, tree->child2); + } + } + + + /** + * Create a tree node that subdivides the list of vecs from vind[first] + * to vind[last]. The routine is called recursively on each sublist. + * Place a pointer to this new tree node in the location pTree. + * + * Params: pTree = the new node to create + * first = index of the first vector + * last = index of the last vector + */ + NodePtr divideTree(int* ind, int count) + { + NodePtr node = pool_.allocate(); // allocate memory + + /* If too few exemplars remain, then make this a leaf node. */ + if ( count == 1) { + node->child1 = node->child2 = NULL; /* Mark as leaf node. */ + node->divfeat = *ind; /* Store index of this vec. */ + } + else { + int idx; + int cutfeat; + DistanceType cutval; + meanSplit(ind, count, idx, cutfeat, cutval); + + node->divfeat = cutfeat; + node->divval = cutval; + node->child1 = divideTree(ind, idx); + node->child2 = divideTree(ind+idx, count-idx); + } + + return node; + } + + + /** + * Choose which feature to use in order to subdivide this set of vectors. + * Make a random choice among those with the highest variance, and use + * its variance as the threshold value. + */ + void meanSplit(int* ind, int count, int& index, int& cutfeat, DistanceType& cutval) + { + memset(mean_,0,veclen_*sizeof(DistanceType)); + memset(var_,0,veclen_*sizeof(DistanceType)); + + /* Compute mean values. Only the first SAMPLE_MEAN values need to be + sampled to get a good estimate. + */ + int cnt = std::min((int)SAMPLE_MEAN+1, count); + for (int j = 0; j < cnt; ++j) { + ElementType* v = dataset_[ind[j]]; + for (size_t k=0; kcount/2) index = lim1; + else if (lim2 v[topind[num-1]])) { + /* Put this element at end of topind. */ + if (num < RAND_DIM) { + topind[num++] = i; /* Add to list. */ + } + else { + topind[num-1] = i; /* Replace last element. */ + } + /* Bubble end value down to right location by repeated swapping. */ + int j = num - 1; + while (j > 0 && v[topind[j]] > v[topind[j-1]]) { + std::swap(topind[j], topind[j-1]); + --j; + } + } + } + /* Select a random integer in range [0,num-1], and return that index. */ + int rnd = rand_int(num); + return (int)topind[rnd]; + } + + + /** + * Subdivide the list of points by a plane perpendicular on axe corresponding + * to the 'cutfeat' dimension at 'cutval' position. + * + * On return: + * dataset[ind[0..lim1-1]][cutfeat]cutval + */ + void planeSplit(int* ind, int count, int cutfeat, DistanceType cutval, int& lim1, int& lim2) + { + /* Move vector indices for left subtree to front of list. */ + int left = 0; + int right = count-1; + for (;; ) { + while (left<=right && dataset_[ind[left]][cutfeat]=cutval) --right; + if (left>right) break; + std::swap(ind[left], ind[right]); ++left; --right; + } + lim1 = left; + right = count-1; + for (;; ) { + while (left<=right && dataset_[ind[left]][cutfeat]<=cutval) ++left; + while (left<=right && dataset_[ind[right]][cutfeat]>cutval) --right; + if (left>right) break; + std::swap(ind[left], ind[right]); ++left; --right; + } + lim2 = left; + } + + /** + * Performs an exact nearest neighbor search. The exact search performs a full + * traversal of the tree. + */ + void getExactNeighbors(ResultSet& result, const ElementType* vec, float epsError) + { + // checkID -= 1; /* Set a different unique ID for each search. */ + + if (trees_ > 1) { + fprintf(stderr,"It doesn't make any sense to use more than one tree for exact search"); + } + if (trees_>0) { + searchLevelExact(result, vec, tree_roots_[0], 0.0, epsError); + } + assert(result.full()); + } + + /** + * Performs the approximate nearest-neighbor search. The search is approximate + * because the tree traversal is abandoned after a given number of descends in + * the tree. + */ + void getNeighbors(ResultSet& result, const ElementType* vec, int maxCheck, float epsError) + { + int i; + BranchSt branch; + + int checkCount = 0; + Heap* heap = new Heap((int)size_); + DynamicBitset checked(size_); + + /* Search once through each tree down to root. */ + for (i = 0; i < trees_; ++i) { + searchLevel(result, vec, tree_roots_[i], 0, checkCount, maxCheck, epsError, heap, checked); + } + + /* Keep searching other branches from heap until finished. */ + while ( heap->popMin(branch) && (checkCount < maxCheck || !result.full() )) { + searchLevel(result, vec, branch.node, branch.mindist, checkCount, maxCheck, epsError, heap, checked); + } + + delete heap; + + assert(result.full()); + } + + + /** + * Search starting from a given node of the tree. Based on any mismatches at + * higher levels, all exemplars below this level must have a distance of + * at least "mindistsq". + */ + void searchLevel(ResultSet& result_set, const ElementType* vec, NodePtr node, DistanceType mindist, int& checkCount, int maxCheck, + float epsError, Heap* heap, DynamicBitset& checked) + { + if (result_set.worstDist()child1 == NULL)&&(node->child2 == NULL)) { + /* Do not check same node more than once when searching multiple trees. + Once a vector is checked, we set its location in vind to the + current checkID. + */ + int index = node->divfeat; + if ( checked.test(index) || ((checkCount>=maxCheck)&& result_set.full()) ) return; + checked.set(index); + checkCount++; + + DistanceType dist = distance_(dataset_[index], vec, veclen_); + result_set.addPoint(dist,index); + + return; + } + + /* Which child branch should be taken first? */ + ElementType val = vec[node->divfeat]; + DistanceType diff = val - node->divval; + NodePtr bestChild = (diff < 0) ? node->child1 : node->child2; + NodePtr otherChild = (diff < 0) ? node->child2 : node->child1; + + /* Create a branch record for the branch not taken. Add distance + of this feature boundary (we don't attempt to correct for any + use of this feature in a parent node, which is unlikely to + happen and would have only a small effect). Don't bother + adding more branches to heap after halfway point, as cost of + adding exceeds their value. + */ + + DistanceType new_distsq = mindist + distance_.accum_dist(val, node->divval, node->divfeat); + // if (2 * checkCount < maxCheck || !result.full()) { + if ((new_distsq*epsError < result_set.worstDist())|| !result_set.full()) { + heap->insert( BranchSt(otherChild, new_distsq) ); + } + + /* Call recursively to search next level down. */ + searchLevel(result_set, vec, bestChild, mindist, checkCount, maxCheck, epsError, heap, checked); + } + + /** + * Performs an exact search in the tree starting from a node. + */ + void searchLevelExact(ResultSet& result_set, const ElementType* vec, const NodePtr node, DistanceType mindist, const float epsError) + { + /* If this is a leaf node, then do check and return. */ + if ((node->child1 == NULL)&&(node->child2 == NULL)) { + int index = node->divfeat; + DistanceType dist = distance_(dataset_[index], vec, veclen_); + result_set.addPoint(dist,index); + return; + } + + /* Which child branch should be taken first? */ + ElementType val = vec[node->divfeat]; + DistanceType diff = val - node->divval; + NodePtr bestChild = (diff < 0) ? node->child1 : node->child2; + NodePtr otherChild = (diff < 0) ? node->child2 : node->child1; + + /* Create a branch record for the branch not taken. Add distance + of this feature boundary (we don't attempt to correct for any + use of this feature in a parent node, which is unlikely to + happen and would have only a small effect). Don't bother + adding more branches to heap after halfway point, as cost of + adding exceeds their value. + */ + + DistanceType new_distsq = mindist + distance_.accum_dist(val, node->divval, node->divfeat); + + /* Call recursively to search next level down. */ + searchLevelExact(result_set, vec, bestChild, mindist, epsError); + + if (new_distsq*epsError<=result_set.worstDist()) { + searchLevelExact(result_set, vec, otherChild, new_distsq, epsError); + } + } + + +private: + + enum + { + /** + * To improve efficiency, only SAMPLE_MEAN random values are used to + * compute the mean and variance at each level when building a tree. + * A value of 100 seems to perform as well as using all values. + */ + SAMPLE_MEAN = 100, + /** + * Top random dimensions to consider + * + * When creating random trees, the dimension on which to subdivide is + * selected at random from among the top RAND_DIM dimensions with the + * highest variance. A value of 5 works well. + */ + RAND_DIM=5 + }; + + + /** + * Number of randomized trees that are used + */ + int trees_; + + /** + * Array of indices to vectors in the dataset. + */ + std::vector vind_; + + /** + * The dataset used by this index + */ + const Matrix dataset_; + + IndexParams index_params_; + + size_t size_; + size_t veclen_; + + + DistanceType* mean_; + DistanceType* var_; + + + /** + * Array of k-d trees used to find neighbours. + */ + NodePtr* tree_roots_; + + /** + * Pooled memory allocator. + * + * Using a pooled memory allocator is more efficient + * than allocating memory directly when there is a large + * number small of memory allocations. + */ + PooledAllocator pool_; + + Distance distance_; + + +}; // class KDTreeForest + +} + +#endif //OPENCV_FLANN_KDTREE_INDEX_H_ diff --git a/app/src/main/cpp/include/opencv2/flann/kdtree_single_index.h b/app/src/main/cpp/include/opencv2/flann/kdtree_single_index.h new file mode 100644 index 0000000..ef15392 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/kdtree_single_index.h @@ -0,0 +1,635 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_KDTREE_SINGLE_INDEX_H_ +#define OPENCV_FLANN_KDTREE_SINGLE_INDEX_H_ + +#include +#include +#include +#include + +#include "general.h" +#include "nn_index.h" +#include "matrix.h" +#include "result_set.h" +#include "heap.h" +#include "allocator.h" +#include "random.h" +#include "saving.h" + +namespace cvflann +{ + +struct KDTreeSingleIndexParams : public IndexParams +{ + KDTreeSingleIndexParams(int leaf_max_size = 10, bool reorder = true, int dim = -1) + { + (*this)["algorithm"] = FLANN_INDEX_KDTREE_SINGLE; + (*this)["leaf_max_size"] = leaf_max_size; + (*this)["reorder"] = reorder; + (*this)["dim"] = dim; + } +}; + + +/** + * Randomized kd-tree index + * + * Contains the k-d trees and other information for indexing a set of points + * for nearest-neighbor matching. + */ +template +class KDTreeSingleIndex : public NNIndex +{ +public: + typedef typename Distance::ElementType ElementType; + typedef typename Distance::ResultType DistanceType; + + + /** + * KDTree constructor + * + * Params: + * inputData = dataset with the input features + * params = parameters passed to the kdtree algorithm + */ + KDTreeSingleIndex(const Matrix& inputData, const IndexParams& params = KDTreeSingleIndexParams(), + Distance d = Distance() ) : + dataset_(inputData), index_params_(params), distance_(d) + { + size_ = dataset_.rows; + dim_ = dataset_.cols; + root_node_ = 0; + int dim_param = get_param(params,"dim",-1); + if (dim_param>0) dim_ = dim_param; + leaf_max_size_ = get_param(params,"leaf_max_size",10); + reorder_ = get_param(params,"reorder",true); + + // Create a permutable array of indices to the input vectors. + vind_.resize(size_); + for (size_t i = 0; i < size_; i++) { + vind_[i] = (int)i; + } + } + + KDTreeSingleIndex(const KDTreeSingleIndex&); + KDTreeSingleIndex& operator=(const KDTreeSingleIndex&); + + /** + * Standard destructor + */ + ~KDTreeSingleIndex() + { + if (reorder_) delete[] data_.data; + } + + /** + * Builds the index + */ + void buildIndex() + { + computeBoundingBox(root_bbox_); + root_node_ = divideTree(0, (int)size_, root_bbox_ ); // construct the tree + + if (reorder_) { + delete[] data_.data; + data_ = cvflann::Matrix(new ElementType[size_*dim_], size_, dim_); + for (size_t i=0; i& queries, Matrix& indices, Matrix& dists, int knn, const SearchParams& params) + { + assert(queries.cols == veclen()); + assert(indices.rows >= queries.rows); + assert(dists.rows >= queries.rows); + assert(int(indices.cols) >= knn); + assert(int(dists.cols) >= knn); + + KNNSimpleResultSet resultSet(knn); + for (size_t i = 0; i < queries.rows; i++) { + resultSet.init(indices[i], dists[i]); + findNeighbors(resultSet, queries[i], params); + } + } + + IndexParams getParameters() const + { + return index_params_; + } + + /** + * Find set of nearest neighbors to vec. Their indices are stored inside + * the result object. + * + * Params: + * result = the result object in which the indices of the nearest-neighbors are stored + * vec = the vector for which to search the nearest neighbors + * maxCheck = the maximum number of restarts (in a best-bin-first manner) + */ + void findNeighbors(ResultSet& result, const ElementType* vec, const SearchParams& searchParams) + { + float epsError = 1+get_param(searchParams,"eps",0.0f); + + std::vector dists(dim_,0); + DistanceType distsq = computeInitialDistances(vec, dists); + searchLevel(result, vec, root_node_, distsq, dists, epsError); + } + +private: + + + /*--------------------- Internal Data Structures --------------------------*/ + struct Node + { + /** + * Indices of points in leaf node + */ + int left, right; + /** + * Dimension used for subdivision. + */ + int divfeat; + /** + * The values used for subdivision. + */ + DistanceType divlow, divhigh; + /** + * The child nodes. + */ + Node* child1, * child2; + }; + typedef Node* NodePtr; + + + struct Interval + { + DistanceType low, high; + }; + + typedef std::vector BoundingBox; + + typedef BranchStruct BranchSt; + typedef BranchSt* Branch; + + + + + void save_tree(FILE* stream, NodePtr tree) + { + save_value(stream, *tree); + if (tree->child1!=NULL) { + save_tree(stream, tree->child1); + } + if (tree->child2!=NULL) { + save_tree(stream, tree->child2); + } + } + + + void load_tree(FILE* stream, NodePtr& tree) + { + tree = pool_.allocate(); + load_value(stream, *tree); + if (tree->child1!=NULL) { + load_tree(stream, tree->child1); + } + if (tree->child2!=NULL) { + load_tree(stream, tree->child2); + } + } + + + void computeBoundingBox(BoundingBox& bbox) + { + bbox.resize(dim_); + for (size_t i=0; ibbox[i].high) bbox[i].high = (DistanceType)dataset_[k][i]; + } + } + } + + + /** + * Create a tree node that subdivides the list of vecs from vind[first] + * to vind[last]. The routine is called recursively on each sublist. + * Place a pointer to this new tree node in the location pTree. + * + * Params: pTree = the new node to create + * first = index of the first vector + * last = index of the last vector + */ + NodePtr divideTree(int left, int right, BoundingBox& bbox) + { + NodePtr node = pool_.allocate(); // allocate memory + + /* If too few exemplars remain, then make this a leaf node. */ + if ( (right-left) <= leaf_max_size_) { + node->child1 = node->child2 = NULL; /* Mark as leaf node. */ + node->left = left; + node->right = right; + + // compute bounding-box of leaf points + for (size_t i=0; idataset_[vind_[k]][i]) bbox[i].low=(DistanceType)dataset_[vind_[k]][i]; + if (bbox[i].highdivfeat = cutfeat; + + BoundingBox left_bbox(bbox); + left_bbox[cutfeat].high = cutval; + node->child1 = divideTree(left, left+idx, left_bbox); + + BoundingBox right_bbox(bbox); + right_bbox[cutfeat].low = cutval; + node->child2 = divideTree(left+idx, right, right_bbox); + + node->divlow = left_bbox[cutfeat].high; + node->divhigh = right_bbox[cutfeat].low; + + for (size_t i=0; imax_elem) max_elem = val; + } + } + + void middleSplit(int* ind, int count, int& index, int& cutfeat, DistanceType& cutval, const BoundingBox& bbox) + { + // find the largest span from the approximate bounding box + ElementType max_span = bbox[0].high-bbox[0].low; + cutfeat = 0; + cutval = (bbox[0].high+bbox[0].low)/2; + for (size_t i=1; imax_span) { + max_span = span; + cutfeat = i; + cutval = (bbox[i].high+bbox[i].low)/2; + } + } + + // compute exact span on the found dimension + ElementType min_elem, max_elem; + computeMinMax(ind, count, cutfeat, min_elem, max_elem); + cutval = (min_elem+max_elem)/2; + max_span = max_elem - min_elem; + + // check if a dimension of a largest span exists + size_t k = cutfeat; + for (size_t i=0; imax_span) { + computeMinMax(ind, count, i, min_elem, max_elem); + span = max_elem - min_elem; + if (span>max_span) { + max_span = span; + cutfeat = i; + cutval = (min_elem+max_elem)/2; + } + } + } + int lim1, lim2; + planeSplit(ind, count, cutfeat, cutval, lim1, lim2); + + if (lim1>count/2) index = lim1; + else if (lim2max_span) { + max_span = span; + } + } + DistanceType max_spread = -1; + cutfeat = 0; + for (size_t i=0; i(DistanceType)((1-EPS)*max_span)) { + ElementType min_elem, max_elem; + computeMinMax(ind, count, cutfeat, min_elem, max_elem); + DistanceType spread = (DistanceType)(max_elem-min_elem); + if (spread>max_spread) { + cutfeat = (int)i; + max_spread = spread; + } + } + } + // split in the middle + DistanceType split_val = (bbox[cutfeat].low+bbox[cutfeat].high)/2; + ElementType min_elem, max_elem; + computeMinMax(ind, count, cutfeat, min_elem, max_elem); + + if (split_valmax_elem) cutval = (DistanceType)max_elem; + else cutval = split_val; + + int lim1, lim2; + planeSplit(ind, count, cutfeat, cutval, lim1, lim2); + + if (lim1>count/2) index = lim1; + else if (lim2cutval + */ + void planeSplit(int* ind, int count, int cutfeat, DistanceType cutval, int& lim1, int& lim2) + { + /* Move vector indices for left subtree to front of list. */ + int left = 0; + int right = count-1; + for (;; ) { + while (left<=right && dataset_[ind[left]][cutfeat]=cutval) --right; + if (left>right) break; + std::swap(ind[left], ind[right]); ++left; --right; + } + /* If either list is empty, it means that all remaining features + * are identical. Split in the middle to maintain a balanced tree. + */ + lim1 = left; + right = count-1; + for (;; ) { + while (left<=right && dataset_[ind[left]][cutfeat]<=cutval) ++left; + while (left<=right && dataset_[ind[right]][cutfeat]>cutval) --right; + if (left>right) break; + std::swap(ind[left], ind[right]); ++left; --right; + } + lim2 = left; + } + + DistanceType computeInitialDistances(const ElementType* vec, std::vector& dists) + { + DistanceType distsq = 0.0; + + for (size_t i = 0; i < dim_; ++i) { + if (vec[i] < root_bbox_[i].low) { + dists[i] = distance_.accum_dist(vec[i], root_bbox_[i].low, (int)i); + distsq += dists[i]; + } + if (vec[i] > root_bbox_[i].high) { + dists[i] = distance_.accum_dist(vec[i], root_bbox_[i].high, (int)i); + distsq += dists[i]; + } + } + + return distsq; + } + + /** + * Performs an exact search in the tree starting from a node. + */ + void searchLevel(ResultSet& result_set, const ElementType* vec, const NodePtr node, DistanceType mindistsq, + std::vector& dists, const float epsError) + { + /* If this is a leaf node, then do check and return. */ + if ((node->child1 == NULL)&&(node->child2 == NULL)) { + DistanceType worst_dist = result_set.worstDist(); + for (int i=node->left; iright; ++i) { + int index = reorder_ ? i : vind_[i]; + DistanceType dist = distance_(vec, data_[index], dim_, worst_dist); + if (distdivfeat; + ElementType val = vec[idx]; + DistanceType diff1 = val - node->divlow; + DistanceType diff2 = val - node->divhigh; + + NodePtr bestChild; + NodePtr otherChild; + DistanceType cut_dist; + if ((diff1+diff2)<0) { + bestChild = node->child1; + otherChild = node->child2; + cut_dist = distance_.accum_dist(val, node->divhigh, idx); + } + else { + bestChild = node->child2; + otherChild = node->child1; + cut_dist = distance_.accum_dist( val, node->divlow, idx); + } + + /* Call recursively to search next level down. */ + searchLevel(result_set, vec, bestChild, mindistsq, dists, epsError); + + DistanceType dst = dists[idx]; + mindistsq = mindistsq + cut_dist - dst; + dists[idx] = cut_dist; + if (mindistsq*epsError<=result_set.worstDist()) { + searchLevel(result_set, vec, otherChild, mindistsq, dists, epsError); + } + dists[idx] = dst; + } + +private: + + /** + * The dataset used by this index + */ + const Matrix dataset_; + + IndexParams index_params_; + + int leaf_max_size_; + bool reorder_; + + + /** + * Array of indices to vectors in the dataset. + */ + std::vector vind_; + + Matrix data_; + + size_t size_; + size_t dim_; + + /** + * Array of k-d trees used to find neighbours. + */ + NodePtr root_node_; + + BoundingBox root_bbox_; + + /** + * Pooled memory allocator. + * + * Using a pooled memory allocator is more efficient + * than allocating memory directly when there is a large + * number small of memory allocations. + */ + PooledAllocator pool_; + + Distance distance_; +}; // class KDTree + +} + +#endif //OPENCV_FLANN_KDTREE_SINGLE_INDEX_H_ diff --git a/app/src/main/cpp/include/opencv2/flann/kmeans_index.h b/app/src/main/cpp/include/opencv2/flann/kmeans_index.h new file mode 100644 index 0000000..98ad0c8 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/kmeans_index.h @@ -0,0 +1,1171 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_KMEANS_INDEX_H_ +#define OPENCV_FLANN_KMEANS_INDEX_H_ + +#include +#include +#include +#include +#include + +#include "general.h" +#include "nn_index.h" +#include "dist.h" +#include "matrix.h" +#include "result_set.h" +#include "heap.h" +#include "allocator.h" +#include "random.h" +#include "saving.h" +#include "logger.h" + + +namespace cvflann +{ + +struct KMeansIndexParams : public IndexParams +{ + KMeansIndexParams(int branching = 32, int iterations = 11, + flann_centers_init_t centers_init = FLANN_CENTERS_RANDOM, float cb_index = 0.2 ) + { + (*this)["algorithm"] = FLANN_INDEX_KMEANS; + // branching factor + (*this)["branching"] = branching; + // max iterations to perform in one kmeans clustering (kmeans tree) + (*this)["iterations"] = iterations; + // algorithm used for picking the initial cluster centers for kmeans tree + (*this)["centers_init"] = centers_init; + // cluster boundary index. Used when searching the kmeans tree + (*this)["cb_index"] = cb_index; + } +}; + + +/** + * Hierarchical kmeans index + * + * Contains a tree constructed through a hierarchical kmeans clustering + * and other information for indexing a set of points for nearest-neighbour matching. + */ +template +class KMeansIndex : public NNIndex +{ +public: + typedef typename Distance::ElementType ElementType; + typedef typename Distance::ResultType DistanceType; + + + + typedef void (KMeansIndex::* centersAlgFunction)(int, int*, int, int*, int&); + + /** + * The function used for choosing the cluster centers. + */ + centersAlgFunction chooseCenters; + + + + /** + * Chooses the initial centers in the k-means clustering in a random manner. + * + * Params: + * k = number of centers + * vecs = the dataset of points + * indices = indices in the dataset + * indices_length = length of indices vector + * + */ + void chooseCentersRandom(int k, int* indices, int indices_length, int* centers, int& centers_length) + { + UniqueRandom r(indices_length); + + int index; + for (index=0; index=0 && rnd < n); + + centers[0] = indices[rnd]; + + int index; + for (index=1; indexbest_val) { + best_val = dist; + best_index = j; + } + } + if (best_index!=-1) { + centers[index] = indices[best_index]; + } + else { + break; + } + } + centers_length = index; + } + + + /** + * Chooses the initial centers in the k-means using the algorithm + * proposed in the KMeans++ paper: + * Arthur, David; Vassilvitskii, Sergei - k-means++: The Advantages of Careful Seeding + * + * Implementation of this function was converted from the one provided in Arthur's code. + * + * Params: + * k = number of centers + * vecs = the dataset of points + * indices = indices in the dataset + * Returns: + */ + void chooseCentersKMeanspp(int k, int* indices, int indices_length, int* centers, int& centers_length) + { + int n = indices_length; + + double currentPot = 0; + DistanceType* closestDistSq = new DistanceType[n]; + + // Choose one random center and set the closestDistSq values + int index = rand_int(n); + assert(index >=0 && index < n); + centers[0] = indices[index]; + + for (int i = 0; i < n; i++) { + closestDistSq[i] = distance_(dataset_[indices[i]], dataset_[indices[index]], dataset_.cols); + closestDistSq[i] = ensureSquareDistance( closestDistSq[i] ); + currentPot += closestDistSq[i]; + } + + + const int numLocalTries = 1; + + // Choose each center + int centerCount; + for (centerCount = 1; centerCount < k; centerCount++) { + + // Repeat several trials + double bestNewPot = -1; + int bestNewIndex = -1; + for (int localTrial = 0; localTrial < numLocalTries; localTrial++) { + + // Choose our center - have to be slightly careful to return a valid answer even accounting + // for possible rounding errors + double randVal = rand_double(currentPot); + for (index = 0; index < n-1; index++) { + if (randVal <= closestDistSq[index]) break; + else randVal -= closestDistSq[index]; + } + + // Compute the new potential + double newPot = 0; + for (int i = 0; i < n; i++) { + DistanceType dist = distance_(dataset_[indices[i]], dataset_[indices[index]], dataset_.cols); + newPot += std::min( ensureSquareDistance(dist), closestDistSq[i] ); + } + + // Store the best result + if ((bestNewPot < 0)||(newPot < bestNewPot)) { + bestNewPot = newPot; + bestNewIndex = index; + } + } + + // Add the appropriate center + centers[centerCount] = indices[bestNewIndex]; + currentPot = bestNewPot; + for (int i = 0; i < n; i++) { + DistanceType dist = distance_(dataset_[indices[i]], dataset_[indices[bestNewIndex]], dataset_.cols); + closestDistSq[i] = std::min( ensureSquareDistance(dist), closestDistSq[i] ); + } + } + + centers_length = centerCount; + + delete[] closestDistSq; + } + + + +public: + + flann_algorithm_t getType() const + { + return FLANN_INDEX_KMEANS; + } + + class KMeansDistanceComputer : public cv::ParallelLoopBody + { + public: + KMeansDistanceComputer(Distance _distance, const Matrix& _dataset, + const int _branching, const int* _indices, const Matrix& _dcenters, const size_t _veclen, + int* _count, int* _belongs_to, std::vector& _radiuses, bool& _converged, cv::Mutex& _mtx) + : distance(_distance) + , dataset(_dataset) + , branching(_branching) + , indices(_indices) + , dcenters(_dcenters) + , veclen(_veclen) + , count(_count) + , belongs_to(_belongs_to) + , radiuses(_radiuses) + , converged(_converged) + , mtx(_mtx) + { + } + + void operator()(const cv::Range& range) const + { + const int begin = range.start; + const int end = range.end; + + for( int i = begin; inew_sq_dist) { + new_centroid = j; + sq_dist = new_sq_dist; + } + } + if (sq_dist > radiuses[new_centroid]) { + radiuses[new_centroid] = sq_dist; + } + if (new_centroid != belongs_to[i]) { + count[belongs_to[i]]--; + count[new_centroid]++; + belongs_to[i] = new_centroid; + mtx.lock(); + converged = false; + mtx.unlock(); + } + } + } + + private: + Distance distance; + const Matrix& dataset; + const int branching; + const int* indices; + const Matrix& dcenters; + const size_t veclen; + int* count; + int* belongs_to; + std::vector& radiuses; + bool& converged; + cv::Mutex& mtx; + KMeansDistanceComputer& operator=( const KMeansDistanceComputer & ) { return *this; } + }; + + /** + * Index constructor + * + * Params: + * inputData = dataset with the input features + * params = parameters passed to the hierarchical k-means algorithm + */ + KMeansIndex(const Matrix& inputData, const IndexParams& params = KMeansIndexParams(), + Distance d = Distance()) + : dataset_(inputData), index_params_(params), root_(NULL), indices_(NULL), distance_(d) + { + memoryCounter_ = 0; + + size_ = dataset_.rows; + veclen_ = dataset_.cols; + + branching_ = get_param(params,"branching",32); + iterations_ = get_param(params,"iterations",11); + if (iterations_<0) { + iterations_ = (std::numeric_limits::max)(); + } + centers_init_ = get_param(params,"centers_init",FLANN_CENTERS_RANDOM); + + if (centers_init_==FLANN_CENTERS_RANDOM) { + chooseCenters = &KMeansIndex::chooseCentersRandom; + } + else if (centers_init_==FLANN_CENTERS_GONZALES) { + chooseCenters = &KMeansIndex::chooseCentersGonzales; + } + else if (centers_init_==FLANN_CENTERS_KMEANSPP) { + chooseCenters = &KMeansIndex::chooseCentersKMeanspp; + } + else { + throw FLANNException("Unknown algorithm for choosing initial centers."); + } + cb_index_ = 0.4f; + + } + + + KMeansIndex(const KMeansIndex&); + KMeansIndex& operator=(const KMeansIndex&); + + + /** + * Index destructor. + * + * Release the memory used by the index. + */ + virtual ~KMeansIndex() + { + if (root_ != NULL) { + free_centers(root_); + } + if (indices_!=NULL) { + delete[] indices_; + } + } + + /** + * Returns size of index. + */ + size_t size() const + { + return size_; + } + + /** + * Returns the length of an index feature. + */ + size_t veclen() const + { + return veclen_; + } + + + void set_cb_index( float index) + { + cb_index_ = index; + } + + /** + * Computes the inde memory usage + * Returns: memory used by the index + */ + int usedMemory() const + { + return pool_.usedMemory+pool_.wastedMemory+memoryCounter_; + } + + /** + * Builds the index + */ + void buildIndex() + { + if (branching_<2) { + throw FLANNException("Branching factor must be at least 2"); + } + + indices_ = new int[size_]; + for (size_t i=0; i(); + std::memset(root_, 0, sizeof(KMeansNode)); + + computeNodeStatistics(root_, indices_, (int)size_); + computeClustering(root_, indices_, (int)size_, branching_,0); + } + + + void saveIndex(FILE* stream) + { + save_value(stream, branching_); + save_value(stream, iterations_); + save_value(stream, memoryCounter_); + save_value(stream, cb_index_); + save_value(stream, *indices_, (int)size_); + + save_tree(stream, root_); + } + + + void loadIndex(FILE* stream) + { + load_value(stream, branching_); + load_value(stream, iterations_); + load_value(stream, memoryCounter_); + load_value(stream, cb_index_); + if (indices_!=NULL) { + delete[] indices_; + } + indices_ = new int[size_]; + load_value(stream, *indices_, size_); + + if (root_!=NULL) { + free_centers(root_); + } + load_tree(stream, root_); + + index_params_["algorithm"] = getType(); + index_params_["branching"] = branching_; + index_params_["iterations"] = iterations_; + index_params_["centers_init"] = centers_init_; + index_params_["cb_index"] = cb_index_; + + } + + + /** + * Find set of nearest neighbors to vec. Their indices are stored inside + * the result object. + * + * Params: + * result = the result object in which the indices of the nearest-neighbors are stored + * vec = the vector for which to search the nearest neighbors + * searchParams = parameters that influence the search algorithm (checks, cb_index) + */ + void findNeighbors(ResultSet& result, const ElementType* vec, const SearchParams& searchParams) + { + + int maxChecks = get_param(searchParams,"checks",32); + + if (maxChecks==FLANN_CHECKS_UNLIMITED) { + findExactNN(root_, result, vec); + } + else { + // Priority queue storing intermediate branches in the best-bin-first search + Heap* heap = new Heap((int)size_); + + int checks = 0; + findNN(root_, result, vec, checks, maxChecks, heap); + + BranchSt branch; + while (heap->popMin(branch) && (checks& centers) + { + int numClusters = centers.rows; + if (numClusters<1) { + throw FLANNException("Number of clusters must be at least 1"); + } + + DistanceType variance; + KMeansNodePtr* clusters = new KMeansNodePtr[numClusters]; + + int clusterCount = getMinVarianceClusters(root_, clusters, numClusters, variance); + + Logger::info("Clusters requested: %d, returning %d\n",numClusters, clusterCount); + + for (int i=0; ipivot; + for (size_t j=0; j BranchSt; + + + + + void save_tree(FILE* stream, KMeansNodePtr node) + { + save_value(stream, *node); + save_value(stream, *(node->pivot), (int)veclen_); + if (node->childs==NULL) { + int indices_offset = (int)(node->indices - indices_); + save_value(stream, indices_offset); + } + else { + for(int i=0; ichilds[i]); + } + } + } + + + void load_tree(FILE* stream, KMeansNodePtr& node) + { + node = pool_.allocate(); + load_value(stream, *node); + node->pivot = new DistanceType[veclen_]; + load_value(stream, *(node->pivot), (int)veclen_); + if (node->childs==NULL) { + int indices_offset; + load_value(stream, indices_offset); + node->indices = indices_ + indices_offset; + } + else { + node->childs = pool_.allocate(branching_); + for(int i=0; ichilds[i]); + } + } + } + + + /** + * Helper function + */ + void free_centers(KMeansNodePtr node) + { + delete[] node->pivot; + if (node->childs!=NULL) { + for (int k=0; kchilds[k]); + } + } + } + + /** + * Computes the statistics of a node (mean, radius, variance). + * + * Params: + * node = the node to use + * indices = the indices of the points belonging to the node + */ + void computeNodeStatistics(KMeansNodePtr node, int* indices, int indices_length) + { + + DistanceType radius = 0; + DistanceType variance = 0; + DistanceType* mean = new DistanceType[veclen_]; + memoryCounter_ += int(veclen_*sizeof(DistanceType)); + + memset(mean,0,veclen_*sizeof(DistanceType)); + + for (size_t i=0; i(), veclen_); + } + for (size_t j=0; j(), veclen_); + + DistanceType tmp = 0; + for (int i=0; iradius) { + radius = tmp; + } + } + + node->variance = variance; + node->radius = radius; + node->pivot = mean; + } + + + /** + * The method responsible with actually doing the recursive hierarchical + * clustering + * + * Params: + * node = the node to cluster + * indices = indices of the points belonging to the current node + * branching = the branching factor to use in the clustering + * + * TODO: for 1-sized clusters don't store a cluster center (it's the same as the single cluster point) + */ + void computeClustering(KMeansNodePtr node, int* indices, int indices_length, int branching, int level) + { + node->size = indices_length; + node->level = level; + + if (indices_length < branching) { + node->indices = indices; + std::sort(node->indices,node->indices+indices_length); + node->childs = NULL; + return; + } + + cv::AutoBuffer centers_idx_buf(branching); + int* centers_idx = (int*)centers_idx_buf; + int centers_length; + (this->*chooseCenters)(branching, indices, indices_length, centers_idx, centers_length); + + if (centers_lengthindices = indices; + std::sort(node->indices,node->indices+indices_length); + node->childs = NULL; + return; + } + + + cv::AutoBuffer dcenters_buf(branching*veclen_); + Matrix dcenters((double*)dcenters_buf,branching,veclen_); + for (int i=0; i radiuses(branching); + cv::AutoBuffer count_buf(branching); + int* count = (int*)count_buf; + for (int i=0; i belongs_to_buf(indices_length); + int* belongs_to = (int*)belongs_to_buf; + for (int i=0; inew_sq_dist) { + belongs_to[i] = j; + sq_dist = new_sq_dist; + } + } + if (sq_dist>radiuses[belongs_to[i]]) { + radiuses[belongs_to[i]] = sq_dist; + } + count[belongs_to[i]]++; + } + + bool converged = false; + int iteration = 0; + while (!converged && iterationchilds = pool_.allocate(branching); + int start = 0; + int end = start; + for (int c=0; c(), veclen_); + variance += d; + mean_radius += sqrt(d); + std::swap(indices[i],indices[end]); + std::swap(belongs_to[i],belongs_to[end]); + end++; + } + } + variance /= s; + mean_radius /= s; + variance -= distance_(centers[c], ZeroIterator(), veclen_); + + node->childs[c] = pool_.allocate(); + std::memset(node->childs[c], 0, sizeof(KMeansNode)); + node->childs[c]->radius = radiuses[c]; + node->childs[c]->pivot = centers[c]; + node->childs[c]->variance = variance; + node->childs[c]->mean_radius = mean_radius; + computeClustering(node->childs[c],indices+start, end-start, branching, level+1); + start=end; + } + + delete[] centers; + } + + + + /** + * Performs one descent in the hierarchical k-means tree. The branches not + * visited are stored in a priority queue. + * + * Params: + * node = node to explore + * result = container for the k-nearest neighbors found + * vec = query points + * checks = how many points in the dataset have been checked so far + * maxChecks = maximum dataset points to checks + */ + + + void findNN(KMeansNodePtr node, ResultSet& result, const ElementType* vec, int& checks, int maxChecks, + Heap* heap) + { + // Ignore those clusters that are too far away + { + DistanceType bsq = distance_(vec, node->pivot, veclen_); + DistanceType rsq = node->radius; + DistanceType wsq = result.worstDist(); + + DistanceType val = bsq-rsq-wsq; + DistanceType val2 = val*val-4*rsq*wsq; + + //if (val>0) { + if ((val>0)&&(val2>0)) { + return; + } + } + + if (node->childs==NULL) { + if (checks>=maxChecks) { + if (result.full()) return; + } + checks += node->size; + for (int i=0; isize; ++i) { + int index = node->indices[i]; + DistanceType dist = distance_(dataset_[index], vec, veclen_); + result.addPoint(dist, index); + } + } + else { + DistanceType* domain_distances = new DistanceType[branching_]; + int closest_center = exploreNodeBranches(node, vec, domain_distances, heap); + delete[] domain_distances; + findNN(node->childs[closest_center],result,vec, checks, maxChecks, heap); + } + } + + /** + * Helper function that computes the nearest childs of a node to a given query point. + * Params: + * node = the node + * q = the query point + * distances = array with the distances to each child node. + * Returns: + */ + int exploreNodeBranches(KMeansNodePtr node, const ElementType* q, DistanceType* domain_distances, Heap* heap) + { + + int best_index = 0; + domain_distances[best_index] = distance_(q, node->childs[best_index]->pivot, veclen_); + for (int i=1; ichilds[i]->pivot, veclen_); + if (domain_distances[i]childs[best_index]->pivot; + for (int i=0; ichilds[i]->variance; + + // float dist_to_border = getDistanceToBorder(node.childs[i].pivot,best_center,q); + // if (domain_distances[i]insert(BranchSt(node->childs[i],domain_distances[i])); + } + } + + return best_index; + } + + + /** + * Function the performs exact nearest neighbor search by traversing the entire tree. + */ + void findExactNN(KMeansNodePtr node, ResultSet& result, const ElementType* vec) + { + // Ignore those clusters that are too far away + { + DistanceType bsq = distance_(vec, node->pivot, veclen_); + DistanceType rsq = node->radius; + DistanceType wsq = result.worstDist(); + + DistanceType val = bsq-rsq-wsq; + DistanceType val2 = val*val-4*rsq*wsq; + + // if (val>0) { + if ((val>0)&&(val2>0)) { + return; + } + } + + + if (node->childs==NULL) { + for (int i=0; isize; ++i) { + int index = node->indices[i]; + DistanceType dist = distance_(dataset_[index], vec, veclen_); + result.addPoint(dist, index); + } + } + else { + int* sort_indices = new int[branching_]; + + getCenterOrdering(node, vec, sort_indices); + + for (int i=0; ichilds[sort_indices[i]],result,vec); + } + + delete[] sort_indices; + } + } + + + /** + * Helper function. + * + * I computes the order in which to traverse the child nodes of a particular node. + */ + void getCenterOrdering(KMeansNodePtr node, const ElementType* q, int* sort_indices) + { + DistanceType* domain_distances = new DistanceType[branching_]; + for (int i=0; ichilds[i]->pivot, veclen_); + + int j=0; + while (domain_distances[j]j; --k) { + domain_distances[k] = domain_distances[k-1]; + sort_indices[k] = sort_indices[k-1]; + } + domain_distances[j] = dist; + sort_indices[j] = i; + } + delete[] domain_distances; + } + + /** + * Method that computes the squared distance from the query point q + * from inside region with center c to the border between this + * region and the region with center p + */ + DistanceType getDistanceToBorder(DistanceType* p, DistanceType* c, DistanceType* q) + { + DistanceType sum = 0; + DistanceType sum2 = 0; + + for (int i=0; ivariance*root->size; + + while (clusterCount::max)(); + int splitIndex = -1; + + for (int i=0; ichilds != NULL) { + + DistanceType variance = meanVariance - clusters[i]->variance*clusters[i]->size; + + for (int j=0; jchilds[j]->variance*clusters[i]->childs[j]->size; + } + if (variance clusters_length) break; + + meanVariance = minVariance; + + // split node + KMeansNodePtr toSplit = clusters[splitIndex]; + clusters[splitIndex] = toSplit->childs[0]; + for (int i=1; ichilds[i]; + } + } + + varianceValue = meanVariance/root->size; + return clusterCount; + } + +private: + /** The branching factor used in the hierarchical k-means clustering */ + int branching_; + + /** Maximum number of iterations to use when performing k-means clustering */ + int iterations_; + + /** Algorithm for choosing the cluster centers */ + flann_centers_init_t centers_init_; + + /** + * Cluster border index. This is used in the tree search phase when determining + * the closest cluster to explore next. A zero value takes into account only + * the cluster centres, a value greater then zero also take into account the size + * of the cluster. + */ + float cb_index_; + + /** + * The dataset used by this index + */ + const Matrix dataset_; + + /** Index parameters */ + IndexParams index_params_; + + /** + * Number of features in the dataset. + */ + size_t size_; + + /** + * Length of each feature. + */ + size_t veclen_; + + /** + * The root node in the tree. + */ + KMeansNodePtr root_; + + /** + * Array of indices to vectors in the dataset. + */ + int* indices_; + + /** + * The distance + */ + Distance distance_; + + /** + * Pooled memory allocator. + */ + PooledAllocator pool_; + + /** + * Memory occupied by the index. + */ + int memoryCounter_; +}; + +} + +#endif //OPENCV_FLANN_KMEANS_INDEX_H_ diff --git a/app/src/main/cpp/include/opencv2/flann/linear_index.h b/app/src/main/cpp/include/opencv2/flann/linear_index.h new file mode 100644 index 0000000..5aa7a5c --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/linear_index.h @@ -0,0 +1,132 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_LINEAR_INDEX_H_ +#define OPENCV_FLANN_LINEAR_INDEX_H_ + +#include "general.h" +#include "nn_index.h" + +namespace cvflann +{ + +struct LinearIndexParams : public IndexParams +{ + LinearIndexParams() + { + (* this)["algorithm"] = FLANN_INDEX_LINEAR; + } +}; + +template +class LinearIndex : public NNIndex +{ +public: + + typedef typename Distance::ElementType ElementType; + typedef typename Distance::ResultType DistanceType; + + + LinearIndex(const Matrix& inputData, const IndexParams& params = LinearIndexParams(), + Distance d = Distance()) : + dataset_(inputData), index_params_(params), distance_(d) + { + } + + LinearIndex(const LinearIndex&); + LinearIndex& operator=(const LinearIndex&); + + flann_algorithm_t getType() const + { + return FLANN_INDEX_LINEAR; + } + + + size_t size() const + { + return dataset_.rows; + } + + size_t veclen() const + { + return dataset_.cols; + } + + + int usedMemory() const + { + return 0; + } + + void buildIndex() + { + /* nothing to do here for linear search */ + } + + void saveIndex(FILE*) + { + /* nothing to do here for linear search */ + } + + + void loadIndex(FILE*) + { + /* nothing to do here for linear search */ + + index_params_["algorithm"] = getType(); + } + + void findNeighbors(ResultSet& resultSet, const ElementType* vec, const SearchParams& /*searchParams*/) + { + ElementType* data = dataset_.data; + for (size_t i = 0; i < dataset_.rows; ++i, data += dataset_.cols) { + DistanceType dist = distance_(data, vec, dataset_.cols); + resultSet.addPoint(dist, (int)i); + } + } + + IndexParams getParameters() const + { + return index_params_; + } + +private: + /** The dataset */ + const Matrix dataset_; + /** Index parameters */ + IndexParams index_params_; + /** Index distance */ + Distance distance_; + +}; + +} + +#endif // OPENCV_FLANN_LINEAR_INDEX_H_ diff --git a/app/src/main/cpp/include/opencv2/flann/logger.h b/app/src/main/cpp/include/opencv2/flann/logger.h new file mode 100644 index 0000000..32618db --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/logger.h @@ -0,0 +1,135 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_LOGGER_H +#define OPENCV_FLANN_LOGGER_H + +#include +#include + +#include "defines.h" + + +namespace cvflann +{ + +class Logger +{ + Logger() : stream(stdout), logLevel(FLANN_LOG_WARN) {} + + ~Logger() + { + if ((stream!=NULL)&&(stream!=stdout)) { + fclose(stream); + } + } + + static Logger& instance() + { + static Logger logger; + return logger; + } + + void _setDestination(const char* name) + { + if (name==NULL) { + stream = stdout; + } + else { +#ifdef _MSC_VER + if (fopen_s(&stream, name, "w") != 0) + stream = NULL; +#else + stream = fopen(name,"w"); +#endif + if (stream == NULL) { + stream = stdout; + } + } + } + + int _log(int level, const char* fmt, va_list arglist) + { + if (level > logLevel ) return -1; + int ret = vfprintf(stream, fmt, arglist); + return ret; + } + +public: + /** + * Sets the logging level. All messages with lower priority will be ignored. + * @param level Logging level + */ + static void setLevel(int level) { instance().logLevel = level; } + + /** + * Sets the logging destination + * @param name Filename or NULL for console + */ + static void setDestination(const char* name) { instance()._setDestination(name); } + + /** + * Print log message + * @param level Log level + * @param fmt Message format + * @return + */ + static int log(int level, const char* fmt, ...) + { + va_list arglist; + va_start(arglist, fmt); + int ret = instance()._log(level,fmt,arglist); + va_end(arglist); + return ret; + } + +#define LOG_METHOD(NAME,LEVEL) \ + static int NAME(const char* fmt, ...) \ + { \ + va_list ap; \ + va_start(ap, fmt); \ + int ret = instance()._log(LEVEL, fmt, ap); \ + va_end(ap); \ + return ret; \ + } + + LOG_METHOD(fatal, FLANN_LOG_FATAL) + LOG_METHOD(error, FLANN_LOG_ERROR) + LOG_METHOD(warn, FLANN_LOG_WARN) + LOG_METHOD(info, FLANN_LOG_INFO) + +private: + FILE* stream; + int logLevel; +}; + +} + +#endif //OPENCV_FLANN_LOGGER_H diff --git a/app/src/main/cpp/include/opencv2/flann/lsh_index.h b/app/src/main/cpp/include/opencv2/flann/lsh_index.h new file mode 100644 index 0000000..4d4670e --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/lsh_index.h @@ -0,0 +1,392 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +/*********************************************************************** + * Author: Vincent Rabaud + *************************************************************************/ + +#ifndef OPENCV_FLANN_LSH_INDEX_H_ +#define OPENCV_FLANN_LSH_INDEX_H_ + +#include +#include +#include +#include +#include + +#include "general.h" +#include "nn_index.h" +#include "matrix.h" +#include "result_set.h" +#include "heap.h" +#include "lsh_table.h" +#include "allocator.h" +#include "random.h" +#include "saving.h" + +namespace cvflann +{ + +struct LshIndexParams : public IndexParams +{ + LshIndexParams(unsigned int table_number = 12, unsigned int key_size = 20, unsigned int multi_probe_level = 2) + { + (* this)["algorithm"] = FLANN_INDEX_LSH; + // The number of hash tables to use + (*this)["table_number"] = table_number; + // The length of the key in the hash tables + (*this)["key_size"] = key_size; + // Number of levels to use in multi-probe (0 for standard LSH) + (*this)["multi_probe_level"] = multi_probe_level; + } +}; + +/** + * Randomized kd-tree index + * + * Contains the k-d trees and other information for indexing a set of points + * for nearest-neighbor matching. + */ +template +class LshIndex : public NNIndex +{ +public: + typedef typename Distance::ElementType ElementType; + typedef typename Distance::ResultType DistanceType; + + /** Constructor + * @param input_data dataset with the input features + * @param params parameters passed to the LSH algorithm + * @param d the distance used + */ + LshIndex(const Matrix& input_data, const IndexParams& params = LshIndexParams(), + Distance d = Distance()) : + dataset_(input_data), index_params_(params), distance_(d) + { + // cv::flann::IndexParams sets integer params as 'int', so it is used with get_param + // in place of 'unsigned int' + table_number_ = (unsigned int)get_param(index_params_,"table_number",12); + key_size_ = (unsigned int)get_param(index_params_,"key_size",20); + multi_probe_level_ = (unsigned int)get_param(index_params_,"multi_probe_level",2); + + feature_size_ = (unsigned)dataset_.cols; + fill_xor_mask(0, key_size_, multi_probe_level_, xor_masks_); + } + + + LshIndex(const LshIndex&); + LshIndex& operator=(const LshIndex&); + + /** + * Builds the index + */ + void buildIndex() + { + tables_.resize(table_number_); + for (unsigned int i = 0; i < table_number_; ++i) { + lsh::LshTable& table = tables_[i]; + table = lsh::LshTable(feature_size_, key_size_); + + // Add the features to the table + table.add(dataset_); + } + } + + flann_algorithm_t getType() const + { + return FLANN_INDEX_LSH; + } + + + void saveIndex(FILE* stream) + { + save_value(stream,table_number_); + save_value(stream,key_size_); + save_value(stream,multi_probe_level_); + save_value(stream, dataset_); + } + + void loadIndex(FILE* stream) + { + load_value(stream, table_number_); + load_value(stream, key_size_); + load_value(stream, multi_probe_level_); + load_value(stream, dataset_); + // Building the index is so fast we can afford not storing it + buildIndex(); + + index_params_["algorithm"] = getType(); + index_params_["table_number"] = table_number_; + index_params_["key_size"] = key_size_; + index_params_["multi_probe_level"] = multi_probe_level_; + } + + /** + * Returns size of index. + */ + size_t size() const + { + return dataset_.rows; + } + + /** + * Returns the length of an index feature. + */ + size_t veclen() const + { + return feature_size_; + } + + /** + * Computes the index memory usage + * Returns: memory used by the index + */ + int usedMemory() const + { + return (int)(dataset_.rows * sizeof(int)); + } + + + IndexParams getParameters() const + { + return index_params_; + } + + /** + * \brief Perform k-nearest neighbor search + * \param[in] queries The query points for which to find the nearest neighbors + * \param[out] indices The indices of the nearest neighbors found + * \param[out] dists Distances to the nearest neighbors found + * \param[in] knn Number of nearest neighbors to return + * \param[in] params Search parameters + */ + virtual void knnSearch(const Matrix& queries, Matrix& indices, Matrix& dists, int knn, const SearchParams& params) + { + assert(queries.cols == veclen()); + assert(indices.rows >= queries.rows); + assert(dists.rows >= queries.rows); + assert(int(indices.cols) >= knn); + assert(int(dists.cols) >= knn); + + + KNNUniqueResultSet resultSet(knn); + for (size_t i = 0; i < queries.rows; i++) { + resultSet.clear(); + std::fill_n(indices[i], knn, -1); + std::fill_n(dists[i], knn, std::numeric_limits::max()); + findNeighbors(resultSet, queries[i], params); + if (get_param(params,"sorted",true)) resultSet.sortAndCopy(indices[i], dists[i], knn); + else resultSet.copy(indices[i], dists[i], knn); + } + } + + + /** + * Find set of nearest neighbors to vec. Their indices are stored inside + * the result object. + * + * Params: + * result = the result object in which the indices of the nearest-neighbors are stored + * vec = the vector for which to search the nearest neighbors + * maxCheck = the maximum number of restarts (in a best-bin-first manner) + */ + void findNeighbors(ResultSet& result, const ElementType* vec, const SearchParams& /*searchParams*/) + { + getNeighbors(vec, result); + } + +private: + /** Defines the comparator on score and index + */ + typedef std::pair ScoreIndexPair; + struct SortScoreIndexPairOnSecond + { + bool operator()(const ScoreIndexPair& left, const ScoreIndexPair& right) const + { + return left.second < right.second; + } + }; + + /** Fills the different xor masks to use when getting the neighbors in multi-probe LSH + * @param key the key we build neighbors from + * @param lowest_index the lowest index of the bit set + * @param level the multi-probe level we are at + * @param xor_masks all the xor mask + */ + void fill_xor_mask(lsh::BucketKey key, int lowest_index, unsigned int level, + std::vector& xor_masks) + { + xor_masks.push_back(key); + if (level == 0) return; + for (int index = lowest_index - 1; index >= 0; --index) { + // Create a new key + lsh::BucketKey new_key = key | (1 << index); + fill_xor_mask(new_key, index, level - 1, xor_masks); + } + } + + /** Performs the approximate nearest-neighbor search. + * @param vec the feature to analyze + * @param do_radius flag indicating if we check the radius too + * @param radius the radius if it is a radius search + * @param do_k flag indicating if we limit the number of nn + * @param k_nn the number of nearest neighbors + * @param checked_average used for debugging + */ + void getNeighbors(const ElementType* vec, bool /*do_radius*/, float radius, bool do_k, unsigned int k_nn, + float& /*checked_average*/) + { + static std::vector score_index_heap; + + if (do_k) { + unsigned int worst_score = std::numeric_limits::max(); + typename std::vector >::const_iterator table = tables_.begin(); + typename std::vector >::const_iterator table_end = tables_.end(); + for (; table != table_end; ++table) { + size_t key = table->getKey(vec); + std::vector::const_iterator xor_mask = xor_masks_.begin(); + std::vector::const_iterator xor_mask_end = xor_masks_.end(); + for (; xor_mask != xor_mask_end; ++xor_mask) { + size_t sub_key = key ^ (*xor_mask); + const lsh::Bucket* bucket = table->getBucketFromKey(sub_key); + if (bucket == 0) continue; + + // Go over each descriptor index + std::vector::const_iterator training_index = bucket->begin(); + std::vector::const_iterator last_training_index = bucket->end(); + DistanceType hamming_distance; + + // Process the rest of the candidates + for (; training_index < last_training_index; ++training_index) { + hamming_distance = distance_(vec, dataset_[*training_index], dataset_.cols); + + if (hamming_distance < worst_score) { + // Insert the new element + score_index_heap.push_back(ScoreIndexPair(hamming_distance, training_index)); + std::push_heap(score_index_heap.begin(), score_index_heap.end()); + + if (score_index_heap.size() > (unsigned int)k_nn) { + // Remove the highest distance value as we have too many elements + std::pop_heap(score_index_heap.begin(), score_index_heap.end()); + score_index_heap.pop_back(); + // Keep track of the worst score + worst_score = score_index_heap.front().first; + } + } + } + } + } + } + else { + typename std::vector >::const_iterator table = tables_.begin(); + typename std::vector >::const_iterator table_end = tables_.end(); + for (; table != table_end; ++table) { + size_t key = table->getKey(vec); + std::vector::const_iterator xor_mask = xor_masks_.begin(); + std::vector::const_iterator xor_mask_end = xor_masks_.end(); + for (; xor_mask != xor_mask_end; ++xor_mask) { + size_t sub_key = key ^ (*xor_mask); + const lsh::Bucket* bucket = table->getBucketFromKey(sub_key); + if (bucket == 0) continue; + + // Go over each descriptor index + std::vector::const_iterator training_index = bucket->begin(); + std::vector::const_iterator last_training_index = bucket->end(); + DistanceType hamming_distance; + + // Process the rest of the candidates + for (; training_index < last_training_index; ++training_index) { + // Compute the Hamming distance + hamming_distance = distance_(vec, dataset_[*training_index], dataset_.cols); + if (hamming_distance < radius) score_index_heap.push_back(ScoreIndexPair(hamming_distance, training_index)); + } + } + } + } + } + + /** Performs the approximate nearest-neighbor search. + * This is a slower version than the above as it uses the ResultSet + * @param vec the feature to analyze + */ + void getNeighbors(const ElementType* vec, ResultSet& result) + { + typename std::vector >::const_iterator table = tables_.begin(); + typename std::vector >::const_iterator table_end = tables_.end(); + for (; table != table_end; ++table) { + size_t key = table->getKey(vec); + std::vector::const_iterator xor_mask = xor_masks_.begin(); + std::vector::const_iterator xor_mask_end = xor_masks_.end(); + for (; xor_mask != xor_mask_end; ++xor_mask) { + size_t sub_key = key ^ (*xor_mask); + const lsh::Bucket* bucket = table->getBucketFromKey((lsh::BucketKey)sub_key); + if (bucket == 0) continue; + + // Go over each descriptor index + std::vector::const_iterator training_index = bucket->begin(); + std::vector::const_iterator last_training_index = bucket->end(); + DistanceType hamming_distance; + + // Process the rest of the candidates + for (; training_index < last_training_index; ++training_index) { + // Compute the Hamming distance + hamming_distance = distance_(vec, dataset_[*training_index], (int)dataset_.cols); + result.addPoint(hamming_distance, *training_index); + } + } + } + } + + /** The different hash tables */ + std::vector > tables_; + + /** The data the LSH tables where built from */ + Matrix dataset_; + + /** The size of the features (as ElementType[]) */ + unsigned int feature_size_; + + IndexParams index_params_; + + /** table number */ + unsigned int table_number_; + /** key size */ + unsigned int key_size_; + /** How far should we look for neighbors in multi-probe LSH */ + unsigned int multi_probe_level_; + + /** The XOR masks to apply to a key to get the neighboring buckets */ + std::vector xor_masks_; + + Distance distance_; +}; +} + +#endif //OPENCV_FLANN_LSH_INDEX_H_ diff --git a/app/src/main/cpp/include/opencv2/flann/lsh_table.h b/app/src/main/cpp/include/opencv2/flann/lsh_table.h new file mode 100644 index 0000000..1db9960 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/lsh_table.h @@ -0,0 +1,513 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +/*********************************************************************** + * Author: Vincent Rabaud + *************************************************************************/ + +#ifndef OPENCV_FLANN_LSH_TABLE_H_ +#define OPENCV_FLANN_LSH_TABLE_H_ + +#include +#include +#include +#include +// TODO as soon as we use C++0x, use the code in USE_UNORDERED_MAP +#ifdef __GXX_EXPERIMENTAL_CXX0X__ +# define USE_UNORDERED_MAP 1 +#else +# define USE_UNORDERED_MAP 0 +#endif +#if USE_UNORDERED_MAP +#include +#else +#include +#endif +#include +#include + +#include "dynamic_bitset.h" +#include "matrix.h" + +namespace cvflann +{ + +namespace lsh +{ + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** What is stored in an LSH bucket + */ +typedef uint32_t FeatureIndex; +/** The id from which we can get a bucket back in an LSH table + */ +typedef unsigned int BucketKey; + +/** A bucket in an LSH table + */ +typedef std::vector Bucket; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** POD for stats about an LSH table + */ +struct LshStats +{ + std::vector bucket_sizes_; + size_t n_buckets_; + size_t bucket_size_mean_; + size_t bucket_size_median_; + size_t bucket_size_min_; + size_t bucket_size_max_; + size_t bucket_size_std_dev; + /** Each contained vector contains three value: beginning/end for interval, number of elements in the bin + */ + std::vector > size_histogram_; +}; + +/** Overload the << operator for LshStats + * @param out the streams + * @param stats the stats to display + * @return the streams + */ +inline std::ostream& operator <<(std::ostream& out, const LshStats& stats) +{ + int w = 20; + out << "Lsh Table Stats:\n" << std::setw(w) << std::setiosflags(std::ios::right) << "N buckets : " + << stats.n_buckets_ << "\n" << std::setw(w) << std::setiosflags(std::ios::right) << "mean size : " + << std::setiosflags(std::ios::left) << stats.bucket_size_mean_ << "\n" << std::setw(w) + << std::setiosflags(std::ios::right) << "median size : " << stats.bucket_size_median_ << "\n" << std::setw(w) + << std::setiosflags(std::ios::right) << "min size : " << std::setiosflags(std::ios::left) + << stats.bucket_size_min_ << "\n" << std::setw(w) << std::setiosflags(std::ios::right) << "max size : " + << std::setiosflags(std::ios::left) << stats.bucket_size_max_; + + // Display the histogram + out << std::endl << std::setw(w) << std::setiosflags(std::ios::right) << "histogram : " + << std::setiosflags(std::ios::left); + for (std::vector >::const_iterator iterator = stats.size_histogram_.begin(), end = + stats.size_histogram_.end(); iterator != end; ++iterator) out << (*iterator)[0] << "-" << (*iterator)[1] << ": " << (*iterator)[2] << ", "; + + return out; +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** Lsh hash table. As its key is a sub-feature, and as usually + * the size of it is pretty small, we keep it as a continuous memory array. + * The value is an index in the corpus of features (we keep it as an unsigned + * int for pure memory reasons, it could be a size_t) + */ +template +class LshTable +{ +public: + /** A container of all the feature indices. Optimized for space + */ +#if USE_UNORDERED_MAP + typedef std::unordered_map BucketsSpace; +#else + typedef std::map BucketsSpace; +#endif + + /** A container of all the feature indices. Optimized for speed + */ + typedef std::vector BucketsSpeed; + + /** Default constructor + */ + LshTable() + { + key_size_ = 0; + feature_size_ = 0; + speed_level_ = kArray; + } + + /** Default constructor + * Create the mask and allocate the memory + * @param feature_size is the size of the feature (considered as a ElementType[]) + * @param key_size is the number of bits that are turned on in the feature + */ + LshTable(unsigned int feature_size, unsigned int key_size) + { + feature_size_ = feature_size; + (void)key_size; + std::cerr << "LSH is not implemented for that type" << std::endl; + assert(0); + } + + /** Add a feature to the table + * @param value the value to store for that feature + * @param feature the feature itself + */ + void add(unsigned int value, const ElementType* feature) + { + // Add the value to the corresponding bucket + BucketKey key = (lsh::BucketKey)getKey(feature); + + switch (speed_level_) { + case kArray: + // That means we get the buckets from an array + buckets_speed_[key].push_back(value); + break; + case kBitsetHash: + // That means we can check the bitset for the presence of a key + key_bitset_.set(key); + buckets_space_[key].push_back(value); + break; + case kHash: + { + // That means we have to check for the hash table for the presence of a key + buckets_space_[key].push_back(value); + break; + } + } + } + + /** Add a set of features to the table + * @param dataset the values to store + */ + void add(Matrix dataset) + { +#if USE_UNORDERED_MAP + buckets_space_.rehash((buckets_space_.size() + dataset.rows) * 1.2); +#endif + // Add the features to the table + for (unsigned int i = 0; i < dataset.rows; ++i) add(i, dataset[i]); + // Now that the table is full, optimize it for speed/space + optimize(); + } + + /** Get a bucket given the key + * @param key + * @return + */ + inline const Bucket* getBucketFromKey(BucketKey key) const + { + // Generate other buckets + switch (speed_level_) { + case kArray: + // That means we get the buckets from an array + return &buckets_speed_[key]; + break; + case kBitsetHash: + // That means we can check the bitset for the presence of a key + if (key_bitset_.test(key)) return &buckets_space_.find(key)->second; + else return 0; + break; + case kHash: + { + // That means we have to check for the hash table for the presence of a key + BucketsSpace::const_iterator bucket_it, bucket_end = buckets_space_.end(); + bucket_it = buckets_space_.find(key); + // Stop here if that bucket does not exist + if (bucket_it == bucket_end) return 0; + else return &bucket_it->second; + break; + } + } + return 0; + } + + /** Compute the sub-signature of a feature + */ + size_t getKey(const ElementType* /*feature*/) const + { + std::cerr << "LSH is not implemented for that type" << std::endl; + assert(0); + return 1; + } + + /** Get statistics about the table + * @return + */ + LshStats getStats() const; + +private: + /** defines the speed fo the implementation + * kArray uses a vector for storing data + * kBitsetHash uses a hash map but checks for the validity of a key with a bitset + * kHash uses a hash map only + */ + enum SpeedLevel + { + kArray, kBitsetHash, kHash + }; + + /** Initialize some variables + */ + void initialize(size_t key_size) + { + const size_t key_size_lower_bound = 1; + //a value (size_t(1) << key_size) must fit the size_t type so key_size has to be strictly less than size of size_t + const size_t key_size_upper_bound = (std::min)(sizeof(BucketKey) * CHAR_BIT + 1, sizeof(size_t) * CHAR_BIT); + if (key_size < key_size_lower_bound || key_size >= key_size_upper_bound) + { + CV_Error(cv::Error::StsBadArg, cv::format("Invalid key_size (=%d). Valid values for your system are %d <= key_size < %d.", (int)key_size, (int)key_size_lower_bound, (int)key_size_upper_bound)); + } + + speed_level_ = kHash; + key_size_ = (unsigned)key_size; + } + + /** Optimize the table for speed/space + */ + void optimize() + { + // If we are already using the fast storage, no need to do anything + if (speed_level_ == kArray) return; + + // Use an array if it will be more than half full + if (buckets_space_.size() > ((size_t(1) << key_size_) / 2)) { + speed_level_ = kArray; + // Fill the array version of it + buckets_speed_.resize(size_t(1) << key_size_); + for (BucketsSpace::const_iterator key_bucket = buckets_space_.begin(); key_bucket != buckets_space_.end(); ++key_bucket) buckets_speed_[key_bucket->first] = key_bucket->second; + + // Empty the hash table + buckets_space_.clear(); + return; + } + + // If the bitset is going to use less than 10% of the RAM of the hash map (at least 1 size_t for the key and two + // for the vector) or less than 512MB (key_size_ <= 30) + if (((std::max(buckets_space_.size(), buckets_speed_.size()) * CHAR_BIT * 3 * sizeof(BucketKey)) / 10 + >= (size_t(1) << key_size_)) || (key_size_ <= 32)) { + speed_level_ = kBitsetHash; + key_bitset_.resize(size_t(1) << key_size_); + key_bitset_.reset(); + // Try with the BucketsSpace + for (BucketsSpace::const_iterator key_bucket = buckets_space_.begin(); key_bucket != buckets_space_.end(); ++key_bucket) key_bitset_.set(key_bucket->first); + } + else { + speed_level_ = kHash; + key_bitset_.clear(); + } + } + + /** The vector of all the buckets if they are held for speed + */ + BucketsSpeed buckets_speed_; + + /** The hash table of all the buckets in case we cannot use the speed version + */ + BucketsSpace buckets_space_; + + /** What is used to store the data */ + SpeedLevel speed_level_; + + /** If the subkey is small enough, it will keep track of which subkeys are set through that bitset + * That is just a speedup so that we don't look in the hash table (which can be mush slower that checking a bitset) + */ + DynamicBitset key_bitset_; + + /** The size of the sub-signature in bits + */ + unsigned int key_size_; + + unsigned int feature_size_; + + // Members only used for the unsigned char specialization + /** The mask to apply to a feature to get the hash key + * Only used in the unsigned char case + */ + std::vector mask_; +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Specialization for unsigned char + +template<> +inline LshTable::LshTable(unsigned int feature_size, unsigned int subsignature_size) +{ + feature_size_ = feature_size; + initialize(subsignature_size); + // Allocate the mask + mask_ = std::vector((feature_size * sizeof(char) + sizeof(size_t) - 1) / sizeof(size_t), 0); + + // A bit brutal but fast to code + std::vector indices(feature_size * CHAR_BIT); + for (size_t i = 0; i < feature_size * CHAR_BIT; ++i) indices[i] = (int)i; +#ifndef OPENCV_FLANN_USE_STD_RAND + cv::randShuffle(indices); +#else + std::random_shuffle(indices.begin(), indices.end()); +#endif + + // Generate a random set of order of subsignature_size_ bits + for (unsigned int i = 0; i < key_size_; ++i) { + size_t index = indices[i]; + + // Set that bit in the mask + size_t divisor = CHAR_BIT * sizeof(size_t); + size_t idx = index / divisor; //pick the right size_t index + mask_[idx] |= size_t(1) << (index % divisor); //use modulo to find the bit offset + } + + // Set to 1 if you want to display the mask for debug +#if 0 + { + size_t bcount = 0; + BOOST_FOREACH(size_t mask_block, mask_){ + out << std::setw(sizeof(size_t) * CHAR_BIT / 4) << std::setfill('0') << std::hex << mask_block + << std::endl; + bcount += __builtin_popcountll(mask_block); + } + out << "bit count : " << std::dec << bcount << std::endl; + out << "mask size : " << mask_.size() << std::endl; + return out; + } +#endif +} + +/** Return the Subsignature of a feature + * @param feature the feature to analyze + */ +template<> +inline size_t LshTable::getKey(const unsigned char* feature) const +{ + // no need to check if T is dividable by sizeof(size_t) like in the Hamming + // distance computation as we have a mask + // FIXIT: This is bad assumption, because we reading tail bytes after of the allocated features buffer + const size_t* feature_block_ptr = reinterpret_cast ((const void*)feature); + + // Figure out the subsignature of the feature + // Given the feature ABCDEF, and the mask 001011, the output will be + // 000CEF + size_t subsignature = 0; + size_t bit_index = 1; + + for (unsigned i = 0; i < feature_size_; i += sizeof(size_t)) { + // get the mask and signature blocks + size_t feature_block; + if (i <= feature_size_ - sizeof(size_t)) + { + feature_block = *feature_block_ptr; + } + else + { + size_t tmp = 0; + memcpy(&tmp, feature_block_ptr, feature_size_ - i); // preserve bytes order + feature_block = tmp; + } + size_t mask_block = mask_[i / sizeof(size_t)]; + while (mask_block) { + // Get the lowest set bit in the mask block + size_t lowest_bit = mask_block & (-(ptrdiff_t)mask_block); + // Add it to the current subsignature if necessary + subsignature += (feature_block & lowest_bit) ? bit_index : 0; + // Reset the bit in the mask block + mask_block ^= lowest_bit; + // increment the bit index for the subsignature + bit_index <<= 1; + } + // Check the next feature block + ++feature_block_ptr; + } + return subsignature; +} + +template<> +inline LshStats LshTable::getStats() const +{ + LshStats stats; + stats.bucket_size_mean_ = 0; + if ((buckets_speed_.empty()) && (buckets_space_.empty())) { + stats.n_buckets_ = 0; + stats.bucket_size_median_ = 0; + stats.bucket_size_min_ = 0; + stats.bucket_size_max_ = 0; + return stats; + } + + if (!buckets_speed_.empty()) { + for (BucketsSpeed::const_iterator pbucket = buckets_speed_.begin(); pbucket != buckets_speed_.end(); ++pbucket) { + stats.bucket_sizes_.push_back((lsh::FeatureIndex)pbucket->size()); + stats.bucket_size_mean_ += pbucket->size(); + } + stats.bucket_size_mean_ /= buckets_speed_.size(); + stats.n_buckets_ = buckets_speed_.size(); + } + else { + for (BucketsSpace::const_iterator x = buckets_space_.begin(); x != buckets_space_.end(); ++x) { + stats.bucket_sizes_.push_back((lsh::FeatureIndex)x->second.size()); + stats.bucket_size_mean_ += x->second.size(); + } + stats.bucket_size_mean_ /= buckets_space_.size(); + stats.n_buckets_ = buckets_space_.size(); + } + + std::sort(stats.bucket_sizes_.begin(), stats.bucket_sizes_.end()); + + // BOOST_FOREACH(int size, stats.bucket_sizes_) + // std::cout << size << " "; + // std::cout << std::endl; + stats.bucket_size_median_ = stats.bucket_sizes_[stats.bucket_sizes_.size() / 2]; + stats.bucket_size_min_ = stats.bucket_sizes_.front(); + stats.bucket_size_max_ = stats.bucket_sizes_.back(); + + // TODO compute mean and std + /*float mean, stddev; + stats.bucket_size_mean_ = mean; + stats.bucket_size_std_dev = stddev;*/ + + // Include a histogram of the buckets + unsigned int bin_start = 0; + unsigned int bin_end = 20; + bool is_new_bin = true; + for (std::vector::iterator iterator = stats.bucket_sizes_.begin(), end = stats.bucket_sizes_.end(); iterator + != end; ) + if (*iterator < bin_end) { + if (is_new_bin) { + stats.size_histogram_.push_back(std::vector(3, 0)); + stats.size_histogram_.back()[0] = bin_start; + stats.size_histogram_.back()[1] = bin_end - 1; + is_new_bin = false; + } + ++stats.size_histogram_.back()[2]; + ++iterator; + } + else { + bin_start += 20; + bin_end += 20; + is_new_bin = true; + } + + return stats; +} + +// End the two namespaces +} +} + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +#endif /* OPENCV_FLANN_LSH_TABLE_H_ */ diff --git a/app/src/main/cpp/include/opencv2/flann/matrix.h b/app/src/main/cpp/include/opencv2/flann/matrix.h new file mode 100644 index 0000000..f6092d1 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/matrix.h @@ -0,0 +1,116 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_DATASET_H_ +#define OPENCV_FLANN_DATASET_H_ + +#include + +#include "general.h" + +namespace cvflann +{ + +/** + * Class that implements a simple rectangular matrix stored in a memory buffer and + * provides convenient matrix-like access using the [] operators. + */ +template +class Matrix +{ +public: + typedef T type; + + size_t rows; + size_t cols; + size_t stride; + T* data; + + Matrix() : rows(0), cols(0), stride(0), data(NULL) + { + } + + Matrix(T* data_, size_t rows_, size_t cols_, size_t stride_ = 0) : + rows(rows_), cols(cols_), stride(stride_), data(data_) + { + if (stride==0) stride = cols; + } + + /** + * Convenience function for deallocating the storage data. + */ + CV_DEPRECATED void free() + { + fprintf(stderr, "The cvflann::Matrix::free() method is deprecated " + "and it does not do any memory deallocation any more. You are" + "responsible for deallocating the matrix memory (by doing" + "'delete[] matrix.data' for example)"); + } + + /** + * Operator that return a (pointer to a) row of the data. + */ + T* operator[](size_t index) const + { + return data+index*stride; + } +}; + + +class UntypedMatrix +{ +public: + size_t rows; + size_t cols; + void* data; + flann_datatype_t type; + + UntypedMatrix(void* data_, long rows_, long cols_) : + rows(rows_), cols(cols_), data(data_) + { + } + + ~UntypedMatrix() + { + } + + + template + Matrix as() + { + return Matrix((T*)data, rows, cols); + } +}; + + + +} + +#endif //OPENCV_FLANN_DATASET_H_ diff --git a/app/src/main/cpp/include/opencv2/flann/miniflann.hpp b/app/src/main/cpp/include/opencv2/flann/miniflann.hpp new file mode 100644 index 0000000..bda2ed4 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/miniflann.hpp @@ -0,0 +1,162 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_MINIFLANN_HPP +#define OPENCV_MINIFLANN_HPP + +#include "opencv2/core.hpp" +#include "opencv2/flann/defines.h" + +namespace cv +{ + +namespace flann +{ + +struct CV_EXPORTS IndexParams +{ + IndexParams(); + ~IndexParams(); + + String getString(const String& key, const String& defaultVal=String()) const; + int getInt(const String& key, int defaultVal=-1) const; + double getDouble(const String& key, double defaultVal=-1) const; + + void setString(const String& key, const String& value); + void setInt(const String& key, int value); + void setDouble(const String& key, double value); + void setFloat(const String& key, float value); + void setBool(const String& key, bool value); + void setAlgorithm(int value); + + void getAll(std::vector& names, + std::vector& types, + std::vector& strValues, + std::vector& numValues) const; + + void* params; + +private: + IndexParams(const IndexParams &); // copy disabled + IndexParams& operator=(const IndexParams &); // assign disabled +}; + +struct CV_EXPORTS KDTreeIndexParams : public IndexParams +{ + KDTreeIndexParams(int trees=4); +}; + +struct CV_EXPORTS LinearIndexParams : public IndexParams +{ + LinearIndexParams(); +}; + +struct CV_EXPORTS CompositeIndexParams : public IndexParams +{ + CompositeIndexParams(int trees = 4, int branching = 32, int iterations = 11, + cvflann::flann_centers_init_t centers_init = cvflann::FLANN_CENTERS_RANDOM, float cb_index = 0.2f ); +}; + +struct CV_EXPORTS AutotunedIndexParams : public IndexParams +{ + AutotunedIndexParams(float target_precision = 0.8f, float build_weight = 0.01f, + float memory_weight = 0, float sample_fraction = 0.1f); +}; + +struct CV_EXPORTS HierarchicalClusteringIndexParams : public IndexParams +{ + HierarchicalClusteringIndexParams(int branching = 32, + cvflann::flann_centers_init_t centers_init = cvflann::FLANN_CENTERS_RANDOM, int trees = 4, int leaf_size = 100 ); +}; + +struct CV_EXPORTS KMeansIndexParams : public IndexParams +{ + KMeansIndexParams(int branching = 32, int iterations = 11, + cvflann::flann_centers_init_t centers_init = cvflann::FLANN_CENTERS_RANDOM, float cb_index = 0.2f ); +}; + +struct CV_EXPORTS LshIndexParams : public IndexParams +{ + LshIndexParams(int table_number, int key_size, int multi_probe_level); +}; + +struct CV_EXPORTS SavedIndexParams : public IndexParams +{ + SavedIndexParams(const String& filename); +}; + +struct CV_EXPORTS SearchParams : public IndexParams +{ + SearchParams( int checks = 32, float eps = 0, bool sorted = true ); +}; + +class CV_EXPORTS_W Index +{ +public: + CV_WRAP Index(); + CV_WRAP Index(InputArray features, const IndexParams& params, cvflann::flann_distance_t distType=cvflann::FLANN_DIST_L2); + virtual ~Index(); + + CV_WRAP virtual void build(InputArray features, const IndexParams& params, cvflann::flann_distance_t distType=cvflann::FLANN_DIST_L2); + CV_WRAP virtual void knnSearch(InputArray query, OutputArray indices, + OutputArray dists, int knn, const SearchParams& params=SearchParams()); + + CV_WRAP virtual int radiusSearch(InputArray query, OutputArray indices, + OutputArray dists, double radius, int maxResults, + const SearchParams& params=SearchParams()); + + CV_WRAP virtual void save(const String& filename) const; + CV_WRAP virtual bool load(InputArray features, const String& filename); + CV_WRAP virtual void release(); + CV_WRAP cvflann::flann_distance_t getDistance() const; + CV_WRAP cvflann::flann_algorithm_t getAlgorithm() const; + +protected: + cvflann::flann_distance_t distType; + cvflann::flann_algorithm_t algo; + int featureType; + void* index; +}; + +} } // namespace cv::flann + +#endif diff --git a/app/src/main/cpp/include/opencv2/flann/nn_index.h b/app/src/main/cpp/include/opencv2/flann/nn_index.h new file mode 100644 index 0000000..381d4bc --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/nn_index.h @@ -0,0 +1,177 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_NNINDEX_H +#define OPENCV_FLANN_NNINDEX_H + +#include "general.h" +#include "matrix.h" +#include "result_set.h" +#include "params.h" + +namespace cvflann +{ + +/** + * Nearest-neighbour index base class + */ +template +class NNIndex +{ + typedef typename Distance::ElementType ElementType; + typedef typename Distance::ResultType DistanceType; + +public: + + virtual ~NNIndex() {} + + /** + * \brief Builds the index + */ + virtual void buildIndex() = 0; + + /** + * \brief Perform k-nearest neighbor search + * \param[in] queries The query points for which to find the nearest neighbors + * \param[out] indices The indices of the nearest neighbors found + * \param[out] dists Distances to the nearest neighbors found + * \param[in] knn Number of nearest neighbors to return + * \param[in] params Search parameters + */ + virtual void knnSearch(const Matrix& queries, Matrix& indices, Matrix& dists, int knn, const SearchParams& params) + { + assert(queries.cols == veclen()); + assert(indices.rows >= queries.rows); + assert(dists.rows >= queries.rows); + assert(int(indices.cols) >= knn); + assert(int(dists.cols) >= knn); + +#if 0 + KNNResultSet resultSet(knn); + for (size_t i = 0; i < queries.rows; i++) { + resultSet.init(indices[i], dists[i]); + findNeighbors(resultSet, queries[i], params); + } +#else + KNNUniqueResultSet resultSet(knn); + for (size_t i = 0; i < queries.rows; i++) { + resultSet.clear(); + findNeighbors(resultSet, queries[i], params); + if (get_param(params,"sorted",true)) resultSet.sortAndCopy(indices[i], dists[i], knn); + else resultSet.copy(indices[i], dists[i], knn); + } +#endif + } + + /** + * \brief Perform radius search + * \param[in] query The query point + * \param[out] indices The indinces of the neighbors found within the given radius + * \param[out] dists The distances to the nearest neighbors found + * \param[in] radius The radius used for search + * \param[in] params Search parameters + * \returns Number of neighbors found + */ + virtual int radiusSearch(const Matrix& query, Matrix& indices, Matrix& dists, float radius, const SearchParams& params) + { + if (query.rows != 1) { + fprintf(stderr, "I can only search one feature at a time for range search\n"); + return -1; + } + assert(query.cols == veclen()); + assert(indices.cols == dists.cols); + + int n = 0; + int* indices_ptr = NULL; + DistanceType* dists_ptr = NULL; + if (indices.cols > 0) { + n = (int)indices.cols; + indices_ptr = indices[0]; + dists_ptr = dists[0]; + } + + RadiusUniqueResultSet resultSet((DistanceType)radius); + resultSet.clear(); + findNeighbors(resultSet, query[0], params); + if (n>0) { + if (get_param(params,"sorted",true)) resultSet.sortAndCopy(indices_ptr, dists_ptr, n); + else resultSet.copy(indices_ptr, dists_ptr, n); + } + + return (int)resultSet.size(); + } + + /** + * \brief Saves the index to a stream + * \param stream The stream to save the index to + */ + virtual void saveIndex(FILE* stream) = 0; + + /** + * \brief Loads the index from a stream + * \param stream The stream from which the index is loaded + */ + virtual void loadIndex(FILE* stream) = 0; + + /** + * \returns number of features in this index. + */ + virtual size_t size() const = 0; + + /** + * \returns The dimensionality of the features in this index. + */ + virtual size_t veclen() const = 0; + + /** + * \returns The amount of memory (in bytes) used by the index. + */ + virtual int usedMemory() const = 0; + + /** + * \returns The index type (kdtree, kmeans,...) + */ + virtual flann_algorithm_t getType() const = 0; + + /** + * \returns The index parameters + */ + virtual IndexParams getParameters() const = 0; + + + /** + * \brief Method that searches for nearest-neighbours + */ + virtual void findNeighbors(ResultSet& result, const ElementType* vec, const SearchParams& searchParams) = 0; +}; + +} + +#endif //OPENCV_FLANN_NNINDEX_H diff --git a/app/src/main/cpp/include/opencv2/flann/object_factory.h b/app/src/main/cpp/include/opencv2/flann/object_factory.h new file mode 100644 index 0000000..7f971c5 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/object_factory.h @@ -0,0 +1,91 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_OBJECT_FACTORY_H_ +#define OPENCV_FLANN_OBJECT_FACTORY_H_ + +#include + +namespace cvflann +{ + +class CreatorNotFound +{ +}; + +template +class ObjectFactory +{ + typedef ObjectFactory ThisClass; + typedef std::map ObjectRegistry; + + // singleton class, private constructor + ObjectFactory() {} + +public: + + bool subscribe(UniqueIdType id, ObjectCreator creator) + { + if (object_registry.find(id) != object_registry.end()) return false; + + object_registry[id] = creator; + return true; + } + + bool unregister(UniqueIdType id) + { + return object_registry.erase(id) == 1; + } + + ObjectCreator create(UniqueIdType id) + { + typename ObjectRegistry::const_iterator iter = object_registry.find(id); + + if (iter == object_registry.end()) { + throw CreatorNotFound(); + } + + return iter->second; + } + + static ThisClass& instance() + { + static ThisClass the_factory; + return the_factory; + } +private: + ObjectRegistry object_registry; +}; + +} + +#endif /* OPENCV_FLANN_OBJECT_FACTORY_H_ */ diff --git a/app/src/main/cpp/include/opencv2/flann/params.h b/app/src/main/cpp/include/opencv2/flann/params.h new file mode 100644 index 0000000..95ef4cd --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/params.h @@ -0,0 +1,99 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2011 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2011 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + + +#ifndef OPENCV_FLANN_PARAMS_H_ +#define OPENCV_FLANN_PARAMS_H_ + +#include "any.h" +#include "general.h" +#include +#include + + +namespace cvflann +{ + +typedef std::map IndexParams; + +struct SearchParams : public IndexParams +{ + SearchParams(int checks = 32, float eps = 0, bool sorted = true ) + { + // how many leafs to visit when searching for neighbours (-1 for unlimited) + (*this)["checks"] = checks; + // search for eps-approximate neighbours (default: 0) + (*this)["eps"] = eps; + // only for radius search, require neighbours sorted by distance (default: true) + (*this)["sorted"] = sorted; + } +}; + + +template +T get_param(const IndexParams& params, cv::String name, const T& default_value) +{ + IndexParams::const_iterator it = params.find(name); + if (it != params.end()) { + return it->second.cast(); + } + else { + return default_value; + } +} + +template +T get_param(const IndexParams& params, cv::String name) +{ + IndexParams::const_iterator it = params.find(name); + if (it != params.end()) { + return it->second.cast(); + } + else { + throw FLANNException(cv::String("Missing parameter '")+name+cv::String("' in the parameters given")); + } +} + +inline void print_params(const IndexParams& params, std::ostream& stream) +{ + IndexParams::const_iterator it; + + for(it=params.begin(); it!=params.end(); ++it) { + stream << it->first << " : " << it->second << std::endl; + } +} + +inline void print_params(const IndexParams& params) +{ + print_params(params, std::cout); +} + +} + + +#endif /* OPENCV_FLANN_PARAMS_H_ */ diff --git a/app/src/main/cpp/include/opencv2/flann/random.h b/app/src/main/cpp/include/opencv2/flann/random.h new file mode 100644 index 0000000..d678474 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/random.h @@ -0,0 +1,155 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_RANDOM_H +#define OPENCV_FLANN_RANDOM_H + +#include +#include +#include + +#include "general.h" + +namespace cvflann +{ + +inline int rand() +{ +#ifndef OPENCV_FLANN_USE_STD_RAND +# if INT_MAX == RAND_MAX + int v = cv::theRNG().next() & INT_MAX; +# else + int v = cv::theRNG().uniform(0, RAND_MAX + 1); +# endif +#else + int v = std::rand(); +#endif // OPENCV_FLANN_USE_STD_RAND + return v; +} + +/** + * Seeds the random number generator + * @param seed Random seed + */ +inline void seed_random(unsigned int seed) +{ +#ifndef OPENCV_FLANN_USE_STD_RAND + cv::theRNG() = cv::RNG(seed); +#else + std::srand(seed); +#endif +} + +/* + * Generates a random double value. + */ +/** + * Generates a random double value. + * @param high Upper limit + * @param low Lower limit + * @return Random double value + */ +inline double rand_double(double high = 1.0, double low = 0) +{ + return low + ((high-low) * (rand() / (RAND_MAX + 1.0))); +} + +/** + * Generates a random integer value. + * @param high Upper limit + * @param low Lower limit + * @return Random integer value + */ +inline int rand_int(int high = RAND_MAX, int low = 0) +{ + return low + (int) ( double(high-low) * (rand() / (RAND_MAX + 1.0))); +} + +/** + * Random number generator that returns a distinct number from + * the [0,n) interval each time. + */ +class UniqueRandom +{ + std::vector vals_; + int size_; + int counter_; + +public: + /** + * Constructor. + * @param n Size of the interval from which to generate + * @return + */ + UniqueRandom(int n) + { + init(n); + } + + /** + * Initializes the number generator. + * @param n the size of the interval from which to generate random numbers. + */ + void init(int n) + { + // create and initialize an array of size n + vals_.resize(n); + size_ = n; + for (int i = 0; i < size_; ++i) vals_[i] = i; + + // shuffle the elements in the array +#ifndef OPENCV_FLANN_USE_STD_RAND + cv::randShuffle(vals_); +#else + std::random_shuffle(vals_.begin(), vals_.end()); +#endif + + counter_ = 0; + } + + /** + * Return a distinct random integer in greater or equal to 0 and less + * than 'n' on each call. It should be called maximum 'n' times. + * Returns: a random integer + */ + int next() + { + if (counter_ == size_) { + return -1; + } + else { + return vals_[counter_++]; + } + } +}; + +} + +#endif //OPENCV_FLANN_RANDOM_H diff --git a/app/src/main/cpp/include/opencv2/flann/result_set.h b/app/src/main/cpp/include/opencv2/flann/result_set.h new file mode 100644 index 0000000..7c09093 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/result_set.h @@ -0,0 +1,543 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_RESULTSET_H +#define OPENCV_FLANN_RESULTSET_H + +#include +#include +#include +#include +#include +#include + +namespace cvflann +{ + +/* This record represents a branch point when finding neighbors in + the tree. It contains a record of the minimum distance to the query + point, as well as the node at which the search resumes. + */ + +template +struct BranchStruct +{ + T node; /* Tree node at which search resumes */ + DistanceType mindist; /* Minimum distance to query for all nodes below. */ + + BranchStruct() {} + BranchStruct(const T& aNode, DistanceType dist) : node(aNode), mindist(dist) {} + + bool operator<(const BranchStruct& rhs) const + { + return mindist +class ResultSet +{ +public: + virtual ~ResultSet() {} + + virtual bool full() const = 0; + + virtual void addPoint(DistanceType dist, int index) = 0; + + virtual DistanceType worstDist() const = 0; + +}; + +/** + * KNNSimpleResultSet does not ensure that the element it holds are unique. + * Is used in those cases where the nearest neighbour algorithm used does not + * attempt to insert the same element multiple times. + */ +template +class KNNSimpleResultSet : public ResultSet +{ + int* indices; + DistanceType* dists; + int capacity; + int count; + DistanceType worst_distance_; + +public: + KNNSimpleResultSet(int capacity_) : capacity(capacity_), count(0) + { + } + + void init(int* indices_, DistanceType* dists_) + { + indices = indices_; + dists = dists_; + count = 0; + worst_distance_ = (std::numeric_limits::max)(); + dists[capacity-1] = worst_distance_; + } + + size_t size() const + { + return count; + } + + bool full() const + { + return count == capacity; + } + + + void addPoint(DistanceType dist, int index) + { + if (dist >= worst_distance_) return; + int i; + for (i=count; i>0; --i) { +#ifdef FLANN_FIRST_MATCH + if ( (dists[i-1]>dist) || ((dist==dists[i-1])&&(indices[i-1]>index)) ) +#else + if (dists[i-1]>dist) +#endif + { + if (i +class KNNResultSet : public ResultSet +{ + int* indices; + DistanceType* dists; + int capacity; + int count; + DistanceType worst_distance_; + +public: + KNNResultSet(int capacity_) : capacity(capacity_), count(0) + { + } + + void init(int* indices_, DistanceType* dists_) + { + indices = indices_; + dists = dists_; + count = 0; + worst_distance_ = (std::numeric_limits::max)(); + dists[capacity-1] = worst_distance_; + } + + size_t size() const + { + return count; + } + + bool full() const + { + return count == capacity; + } + + + void addPoint(DistanceType dist, int index) + { + if (dist >= worst_distance_) return; + int i; + for (i = count; i > 0; --i) { +#ifdef FLANN_FIRST_MATCH + if ( (dists[i-1]<=dist) && ((dist!=dists[i-1])||(indices[i-1]<=index)) ) +#else + if (dists[i-1]<=dist) +#endif + { + // Check for duplicate indices + int j = i - 1; + while ((j >= 0) && (dists[j] == dist)) { + if (indices[j] == index) { + return; + } + --j; + } + break; + } + } + + if (count < capacity) ++count; + for (int j = count-1; j > i; --j) { + dists[j] = dists[j-1]; + indices[j] = indices[j-1]; + } + dists[i] = dist; + indices[i] = index; + worst_distance_ = dists[capacity-1]; + } + + DistanceType worstDist() const + { + return worst_distance_; + } +}; + + +/** + * A result-set class used when performing a radius based search. + */ +template +class RadiusResultSet : public ResultSet +{ + DistanceType radius; + int* indices; + DistanceType* dists; + size_t capacity; + size_t count; + +public: + RadiusResultSet(DistanceType radius_, int* indices_, DistanceType* dists_, int capacity_) : + radius(radius_), indices(indices_), dists(dists_), capacity(capacity_) + { + init(); + } + + ~RadiusResultSet() + { + } + + void init() + { + count = 0; + } + + size_t size() const + { + return count; + } + + bool full() const + { + return true; + } + + void addPoint(DistanceType dist, int index) + { + if (dist0)&&(count < capacity)) { + dists[count] = dist; + indices[count] = index; + } + count++; + } + } + + DistanceType worstDist() const + { + return radius; + } + +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** Class that holds the k NN neighbors + * Faster than KNNResultSet as it uses a binary heap and does not maintain two arrays + */ +template +class UniqueResultSet : public ResultSet +{ +public: + struct DistIndex + { + DistIndex(DistanceType dist, unsigned int index) : + dist_(dist), index_(index) + { + } + bool operator<(const DistIndex dist_index) const + { + return (dist_ < dist_index.dist_) || ((dist_ == dist_index.dist_) && index_ < dist_index.index_); + } + DistanceType dist_; + unsigned int index_; + }; + + /** Default cosntructor */ + UniqueResultSet() : + is_full_(false), worst_distance_(std::numeric_limits::max()) + { + } + + /** Check the status of the set + * @return true if we have k NN + */ + inline bool full() const + { + return is_full_; + } + + /** Remove all elements in the set + */ + virtual void clear() = 0; + + /** Copy the set to two C arrays + * @param indices pointer to a C array of indices + * @param dist pointer to a C array of distances + * @param n_neighbors the number of neighbors to copy + */ + virtual void copy(int* indices, DistanceType* dist, int n_neighbors = -1) const + { + if (n_neighbors < 0) { + for (typename std::set::const_iterator dist_index = dist_indices_.begin(), dist_index_end = + dist_indices_.end(); dist_index != dist_index_end; ++dist_index, ++indices, ++dist) { + *indices = dist_index->index_; + *dist = dist_index->dist_; + } + } + else { + int i = 0; + for (typename std::set::const_iterator dist_index = dist_indices_.begin(), dist_index_end = + dist_indices_.end(); (dist_index != dist_index_end) && (i < n_neighbors); ++dist_index, ++indices, ++dist, ++i) { + *indices = dist_index->index_; + *dist = dist_index->dist_; + } + } + } + + /** Copy the set to two C arrays but sort it according to the distance first + * @param indices pointer to a C array of indices + * @param dist pointer to a C array of distances + * @param n_neighbors the number of neighbors to copy + */ + virtual void sortAndCopy(int* indices, DistanceType* dist, int n_neighbors = -1) const + { + copy(indices, dist, n_neighbors); + } + + /** The number of neighbors in the set + * @return + */ + size_t size() const + { + return dist_indices_.size(); + } + + /** The distance of the furthest neighbor + * If we don't have enough neighbors, it returns the max possible value + * @return + */ + inline DistanceType worstDist() const + { + return worst_distance_; + } +protected: + /** Flag to say if the set is full */ + bool is_full_; + + /** The worst distance found so far */ + DistanceType worst_distance_; + + /** The best candidates so far */ + std::set dist_indices_; +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** Class that holds the k NN neighbors + * Faster than KNNResultSet as it uses a binary heap and does not maintain two arrays + */ +template +class KNNUniqueResultSet : public UniqueResultSet +{ +public: + /** Constructor + * @param capacity the number of neighbors to store at max + */ + KNNUniqueResultSet(unsigned int capacity) : capacity_(capacity) + { + this->is_full_ = false; + this->clear(); + } + + /** Add a possible candidate to the best neighbors + * @param dist distance for that neighbor + * @param index index of that neighbor + */ + inline void addPoint(DistanceType dist, int index) + { + // Don't do anything if we are worse than the worst + if (dist >= worst_distance_) return; + dist_indices_.insert(DistIndex(dist, index)); + + if (is_full_) { + if (dist_indices_.size() > capacity_) { + dist_indices_.erase(*dist_indices_.rbegin()); + worst_distance_ = dist_indices_.rbegin()->dist_; + } + } + else if (dist_indices_.size() == capacity_) { + is_full_ = true; + worst_distance_ = dist_indices_.rbegin()->dist_; + } + } + + /** Remove all elements in the set + */ + void clear() + { + dist_indices_.clear(); + worst_distance_ = std::numeric_limits::max(); + is_full_ = false; + } + +protected: + typedef typename UniqueResultSet::DistIndex DistIndex; + using UniqueResultSet::is_full_; + using UniqueResultSet::worst_distance_; + using UniqueResultSet::dist_indices_; + + /** The number of neighbors to keep */ + unsigned int capacity_; +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** Class that holds the radius nearest neighbors + * It is more accurate than RadiusResult as it is not limited in the number of neighbors + */ +template +class RadiusUniqueResultSet : public UniqueResultSet +{ +public: + /** Constructor + * @param radius the maximum distance of a neighbor + */ + RadiusUniqueResultSet(DistanceType radius) : + radius_(radius) + { + is_full_ = true; + } + + /** Add a possible candidate to the best neighbors + * @param dist distance for that neighbor + * @param index index of that neighbor + */ + void addPoint(DistanceType dist, int index) + { + if (dist <= radius_) dist_indices_.insert(DistIndex(dist, index)); + } + + /** Remove all elements in the set + */ + inline void clear() + { + dist_indices_.clear(); + } + + + /** Check the status of the set + * @return alwys false + */ + inline bool full() const + { + return true; + } + + /** The distance of the furthest neighbor + * If we don't have enough neighbors, it returns the max possible value + * @return + */ + inline DistanceType worstDist() const + { + return radius_; + } +private: + typedef typename UniqueResultSet::DistIndex DistIndex; + using UniqueResultSet::dist_indices_; + using UniqueResultSet::is_full_; + + /** The furthest distance a neighbor can be */ + DistanceType radius_; +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** Class that holds the k NN neighbors within a radius distance + */ +template +class KNNRadiusUniqueResultSet : public KNNUniqueResultSet +{ +public: + /** Constructor + * @param capacity the number of neighbors to store at max + * @param radius the maximum distance of a neighbor + */ + KNNRadiusUniqueResultSet(unsigned int capacity, DistanceType radius) + { + this->capacity_ = capacity; + this->radius_ = radius; + this->dist_indices_.reserve(capacity_); + this->clear(); + } + + /** Remove all elements in the set + */ + void clear() + { + dist_indices_.clear(); + worst_distance_ = radius_; + is_full_ = false; + } +private: + using KNNUniqueResultSet::dist_indices_; + using KNNUniqueResultSet::is_full_; + using KNNUniqueResultSet::worst_distance_; + + /** The maximum number of neighbors to consider */ + unsigned int capacity_; + + /** The maximum distance of a neighbor */ + DistanceType radius_; +}; +} + +#endif //OPENCV_FLANN_RESULTSET_H diff --git a/app/src/main/cpp/include/opencv2/flann/sampling.h b/app/src/main/cpp/include/opencv2/flann/sampling.h new file mode 100644 index 0000000..396f177 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/sampling.h @@ -0,0 +1,81 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + + +#ifndef OPENCV_FLANN_SAMPLING_H_ +#define OPENCV_FLANN_SAMPLING_H_ + +#include "matrix.h" +#include "random.h" + +namespace cvflann +{ + +template +Matrix random_sample(Matrix& srcMatrix, long size, bool remove = false) +{ + Matrix newSet(new T[size * srcMatrix.cols], size,srcMatrix.cols); + + T* src,* dest; + for (long i=0; i +Matrix random_sample(const Matrix& srcMatrix, size_t size) +{ + UniqueRandom rand((int)srcMatrix.rows); + Matrix newSet(new T[size * srcMatrix.cols], size,srcMatrix.cols); + + T* src,* dest; + for (size_t i=0; i +#include + +#include "general.h" +#include "nn_index.h" + +#ifdef FLANN_SIGNATURE_ +#undef FLANN_SIGNATURE_ +#endif +#define FLANN_SIGNATURE_ "FLANN_INDEX" + +namespace cvflann +{ + +template +struct Datatype {}; +template<> +struct Datatype { static flann_datatype_t type() { return FLANN_INT8; } }; +template<> +struct Datatype { static flann_datatype_t type() { return FLANN_INT16; } }; +template<> +struct Datatype { static flann_datatype_t type() { return FLANN_INT32; } }; +template<> +struct Datatype { static flann_datatype_t type() { return FLANN_UINT8; } }; +template<> +struct Datatype { static flann_datatype_t type() { return FLANN_UINT16; } }; +template<> +struct Datatype { static flann_datatype_t type() { return FLANN_UINT32; } }; +template<> +struct Datatype { static flann_datatype_t type() { return FLANN_FLOAT32; } }; +template<> +struct Datatype { static flann_datatype_t type() { return FLANN_FLOAT64; } }; + + +/** + * Structure representing the index header. + */ +struct IndexHeader +{ + char signature[16]; + char version[16]; + flann_datatype_t data_type; + flann_algorithm_t index_type; + size_t rows; + size_t cols; +}; + +/** + * Saves index header to stream + * + * @param stream - Stream to save to + * @param index - The index to save + */ +template +void save_header(FILE* stream, const NNIndex& index) +{ + IndexHeader header; + memset(header.signature, 0, sizeof(header.signature)); + strcpy(header.signature, FLANN_SIGNATURE_); + memset(header.version, 0, sizeof(header.version)); + strcpy(header.version, FLANN_VERSION_); + header.data_type = Datatype::type(); + header.index_type = index.getType(); + header.rows = index.size(); + header.cols = index.veclen(); + + std::fwrite(&header, sizeof(header),1,stream); +} + + +/** + * + * @param stream - Stream to load from + * @return Index header + */ +inline IndexHeader load_header(FILE* stream) +{ + IndexHeader header; + size_t read_size = fread(&header,sizeof(header),1,stream); + + if (read_size!=(size_t)1) { + throw FLANNException("Invalid index file, cannot read"); + } + + if (strcmp(header.signature,FLANN_SIGNATURE_)!=0) { + throw FLANNException("Invalid index file, wrong signature"); + } + + return header; + +} + + +template +void save_value(FILE* stream, const T& value, size_t count = 1) +{ + fwrite(&value, sizeof(value),count, stream); +} + +template +void save_value(FILE* stream, const cvflann::Matrix& value) +{ + fwrite(&value, sizeof(value),1, stream); + fwrite(value.data, sizeof(T),value.rows*value.cols, stream); +} + +template +void save_value(FILE* stream, const std::vector& value) +{ + size_t size = value.size(); + fwrite(&size, sizeof(size_t), 1, stream); + fwrite(&value[0], sizeof(T), size, stream); +} + +template +void load_value(FILE* stream, T& value, size_t count = 1) +{ + size_t read_cnt = fread(&value, sizeof(value), count, stream); + if (read_cnt != count) { + throw FLANNException("Cannot read from file"); + } +} + +template +void load_value(FILE* stream, cvflann::Matrix& value) +{ + size_t read_cnt = fread(&value, sizeof(value), 1, stream); + if (read_cnt != 1) { + throw FLANNException("Cannot read from file"); + } + value.data = new T[value.rows*value.cols]; + read_cnt = fread(value.data, sizeof(T), value.rows*value.cols, stream); + if (read_cnt != (size_t)(value.rows*value.cols)) { + throw FLANNException("Cannot read from file"); + } +} + + +template +void load_value(FILE* stream, std::vector& value) +{ + size_t size; + size_t read_cnt = fread(&size, sizeof(size_t), 1, stream); + if (read_cnt!=1) { + throw FLANNException("Cannot read from file"); + } + value.resize(size); + read_cnt = fread(&value[0], sizeof(T), size, stream); + if (read_cnt != size) { + throw FLANNException("Cannot read from file"); + } +} + +} + +#endif /* OPENCV_FLANN_SAVING_H_ */ diff --git a/app/src/main/cpp/include/opencv2/flann/simplex_downhill.h b/app/src/main/cpp/include/opencv2/flann/simplex_downhill.h new file mode 100644 index 0000000..145901a --- /dev/null +++ b/app/src/main/cpp/include/opencv2/flann/simplex_downhill.h @@ -0,0 +1,186 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +#ifndef OPENCV_FLANN_SIMPLEX_DOWNHILL_H_ +#define OPENCV_FLANN_SIMPLEX_DOWNHILL_H_ + +namespace cvflann +{ + +/** + Adds val to array vals (and point to array points) and keeping the arrays sorted by vals. + */ +template +void addValue(int pos, float val, float* vals, T* point, T* points, int n) +{ + vals[pos] = val; + for (int i=0; i0 && vals[j] +float optimizeSimplexDownhill(T* points, int n, F func, float* vals = NULL ) +{ + const int MAX_ITERATIONS = 10; + + assert(n>0); + + T* p_o = new T[n]; + T* p_r = new T[n]; + T* p_e = new T[n]; + + int alpha = 1; + + int iterations = 0; + + bool ownVals = false; + if (vals == NULL) { + ownVals = true; + vals = new float[n+1]; + for (int i=0; i MAX_ITERATIONS) break; + + // compute average of simplex points (except the highest point) + for (int j=0; j=vals[0])&&(val_r=vals[n]) { + for (int i=0; i +#include "opencv2/core.hpp" +#include "opencv2/core/utility.hpp" + +namespace cvflann +{ + +/** + * A start-stop timer class. + * + * Can be used to time portions of code. + */ +class StartStopTimer +{ + int64 startTime; + +public: + /** + * Value of the timer. + */ + double value; + + + /** + * Constructor. + */ + StartStopTimer() + { + reset(); + } + + /** + * Starts the timer. + */ + void start() + { + startTime = cv::getTickCount(); + } + + /** + * Stops the timer and updates timer value. + */ + void stop() + { + int64 stopTime = cv::getTickCount(); + value += ( (double)stopTime - startTime) / cv::getTickFrequency(); + } + + /** + * Resets the timer value to 0. + */ + void reset() + { + value = 0; + } + +}; + +} + +#endif // FLANN_TIMER_H diff --git a/app/src/main/cpp/include/opencv2/highgui.hpp b/app/src/main/cpp/include/opencv2/highgui.hpp new file mode 100644 index 0000000..e8aff6d --- /dev/null +++ b/app/src/main/cpp/include/opencv2/highgui.hpp @@ -0,0 +1,834 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_HIGHGUI_HPP +#define OPENCV_HIGHGUI_HPP + +#include "opencv2/core.hpp" +#ifdef HAVE_OPENCV_IMGCODECS +#include "opencv2/imgcodecs.hpp" +#endif +#ifdef HAVE_OPENCV_VIDEOIO +#include "opencv2/videoio.hpp" +#endif + +/** +@defgroup highgui High-level GUI + +While OpenCV was designed for use in full-scale applications and can be used within functionally +rich UI frameworks (such as Qt\*, WinForms\*, or Cocoa\*) or without any UI at all, sometimes there +it is required to try functionality quickly and visualize the results. This is what the HighGUI +module has been designed for. + +It provides easy interface to: + +- Create and manipulate windows that can display images and "remember" their content (no need to + handle repaint events from OS). +- Add trackbars to the windows, handle simple mouse events as well as keyboard commands. + +@{ + @defgroup highgui_opengl OpenGL support + @defgroup highgui_qt Qt New Functions + + ![image](pics/qtgui.png) + + This figure explains new functionality implemented with Qt\* GUI. The new GUI provides a statusbar, + a toolbar, and a control panel. The control panel can have trackbars and buttonbars attached to it. + If you cannot see the control panel, press Ctrl+P or right-click any Qt window and select **Display + properties window**. + + - To attach a trackbar, the window name parameter must be NULL. + + - To attach a buttonbar, a button must be created. If the last bar attached to the control panel + is a buttonbar, the new button is added to the right of the last button. If the last bar + attached to the control panel is a trackbar, or the control panel is empty, a new buttonbar is + created. Then, a new button is attached to it. + + See below the example used to generate the figure: + @code + int main(int argc, char *argv[]) + { + + int value = 50; + int value2 = 0; + + + namedWindow("main1",WINDOW_NORMAL); + namedWindow("main2",WINDOW_AUTOSIZE | CV_GUI_NORMAL); + createTrackbar( "track1", "main1", &value, 255, NULL); + + String nameb1 = "button1"; + String nameb2 = "button2"; + + createButton(nameb1,callbackButton,&nameb1,QT_CHECKBOX,1); + createButton(nameb2,callbackButton,NULL,QT_CHECKBOX,0); + createTrackbar( "track2", NULL, &value2, 255, NULL); + createButton("button5",callbackButton1,NULL,QT_RADIOBOX,0); + createButton("button6",callbackButton2,NULL,QT_RADIOBOX,1); + + setMouseCallback( "main2",on_mouse,NULL ); + + Mat img1 = imread("files/flower.jpg"); + VideoCapture video; + video.open("files/hockey.avi"); + + Mat img2,img3; + + while( waitKey(33) != 27 ) + { + img1.convertTo(img2,-1,1,value); + video >> img3; + + imshow("main1",img2); + imshow("main2",img3); + } + + destroyAllWindows(); + + return 0; + } + @endcode + + + @defgroup highgui_winrt WinRT support + + This figure explains new functionality implemented with WinRT GUI. The new GUI provides an Image control, + and a slider panel. Slider panel holds trackbars attached to it. + + Sliders are attached below the image control. Every new slider is added below the previous one. + + See below the example used to generate the figure: + @code + void sample_app::MainPage::ShowWindow() + { + static cv::String windowName("sample"); + cv::winrt_initContainer(this->cvContainer); + cv::namedWindow(windowName); // not required + + cv::Mat image = cv::imread("Assets/sample.jpg"); + cv::Mat converted = cv::Mat(image.rows, image.cols, CV_8UC4); + cv::cvtColor(image, converted, COLOR_BGR2BGRA); + cv::imshow(windowName, converted); // this will create window if it hasn't been created before + + int state = 42; + cv::TrackbarCallback callback = [](int pos, void* userdata) + { + if (pos == 0) { + cv::destroyWindow(windowName); + } + }; + cv::TrackbarCallback callbackTwin = [](int pos, void* userdata) + { + if (pos >= 70) { + cv::destroyAllWindows(); + } + }; + cv::createTrackbar("Sample trackbar", windowName, &state, 100, callback); + cv::createTrackbar("Twin brother", windowName, &state, 100, callbackTwin); + } + @endcode + + @defgroup highgui_c C API +@} +*/ + +///////////////////////// graphical user interface ////////////////////////// +namespace cv +{ + +//! @addtogroup highgui +//! @{ + +//! Flags for cv::namedWindow +enum WindowFlags { + WINDOW_NORMAL = 0x00000000, //!< the user can resize the window (no constraint) / also use to switch a fullscreen window to a normal size. + WINDOW_AUTOSIZE = 0x00000001, //!< the user cannot resize the window, the size is constrainted by the image displayed. + WINDOW_OPENGL = 0x00001000, //!< window with opengl support. + + WINDOW_FULLSCREEN = 1, //!< change the window to fullscreen. + WINDOW_FREERATIO = 0x00000100, //!< the image expends as much as it can (no ratio constraint). + WINDOW_KEEPRATIO = 0x00000000, //!< the ratio of the image is respected. + WINDOW_GUI_EXPANDED=0x00000000, //!< status bar and tool bar + WINDOW_GUI_NORMAL = 0x00000010, //!< old fashious way + }; + +//! Flags for cv::setWindowProperty / cv::getWindowProperty +enum WindowPropertyFlags { + WND_PROP_FULLSCREEN = 0, //!< fullscreen property (can be WINDOW_NORMAL or WINDOW_FULLSCREEN). + WND_PROP_AUTOSIZE = 1, //!< autosize property (can be WINDOW_NORMAL or WINDOW_AUTOSIZE). + WND_PROP_ASPECT_RATIO = 2, //!< window's aspect ration (can be set to WINDOW_FREERATIO or WINDOW_KEEPRATIO). + WND_PROP_OPENGL = 3, //!< opengl support. + WND_PROP_VISIBLE = 4 //!< checks whether the window exists and is visible + }; + +//! Mouse Events see cv::MouseCallback +enum MouseEventTypes { + EVENT_MOUSEMOVE = 0, //!< indicates that the mouse pointer has moved over the window. + EVENT_LBUTTONDOWN = 1, //!< indicates that the left mouse button is pressed. + EVENT_RBUTTONDOWN = 2, //!< indicates that the right mouse button is pressed. + EVENT_MBUTTONDOWN = 3, //!< indicates that the middle mouse button is pressed. + EVENT_LBUTTONUP = 4, //!< indicates that left mouse button is released. + EVENT_RBUTTONUP = 5, //!< indicates that right mouse button is released. + EVENT_MBUTTONUP = 6, //!< indicates that middle mouse button is released. + EVENT_LBUTTONDBLCLK = 7, //!< indicates that left mouse button is double clicked. + EVENT_RBUTTONDBLCLK = 8, //!< indicates that right mouse button is double clicked. + EVENT_MBUTTONDBLCLK = 9, //!< indicates that middle mouse button is double clicked. + EVENT_MOUSEWHEEL = 10,//!< positive and negative values mean forward and backward scrolling, respectively. + EVENT_MOUSEHWHEEL = 11 //!< positive and negative values mean right and left scrolling, respectively. + }; + +//! Mouse Event Flags see cv::MouseCallback +enum MouseEventFlags { + EVENT_FLAG_LBUTTON = 1, //!< indicates that the left mouse button is down. + EVENT_FLAG_RBUTTON = 2, //!< indicates that the right mouse button is down. + EVENT_FLAG_MBUTTON = 4, //!< indicates that the middle mouse button is down. + EVENT_FLAG_CTRLKEY = 8, //!< indicates that CTRL Key is pressed. + EVENT_FLAG_SHIFTKEY = 16,//!< indicates that SHIFT Key is pressed. + EVENT_FLAG_ALTKEY = 32 //!< indicates that ALT Key is pressed. + }; + +//! Qt font weight +enum QtFontWeights { + QT_FONT_LIGHT = 25, //!< Weight of 25 + QT_FONT_NORMAL = 50, //!< Weight of 50 + QT_FONT_DEMIBOLD = 63, //!< Weight of 63 + QT_FONT_BOLD = 75, //!< Weight of 75 + QT_FONT_BLACK = 87 //!< Weight of 87 + }; + +//! Qt font style +enum QtFontStyles { + QT_STYLE_NORMAL = 0, //!< Normal font. + QT_STYLE_ITALIC = 1, //!< Italic font. + QT_STYLE_OBLIQUE = 2 //!< Oblique font. + }; + +//! Qt "button" type +enum QtButtonTypes { + QT_PUSH_BUTTON = 0, //!< Push button. + QT_CHECKBOX = 1, //!< Checkbox button. + QT_RADIOBOX = 2, //!< Radiobox button. + QT_NEW_BUTTONBAR = 1024 //!< Button should create a new buttonbar + }; + +/** @brief Callback function for mouse events. see cv::setMouseCallback +@param event one of the cv::MouseEventTypes constants. +@param x The x-coordinate of the mouse event. +@param y The y-coordinate of the mouse event. +@param flags one of the cv::MouseEventFlags constants. +@param userdata The optional parameter. + */ +typedef void (*MouseCallback)(int event, int x, int y, int flags, void* userdata); + +/** @brief Callback function for Trackbar see cv::createTrackbar +@param pos current position of the specified trackbar. +@param userdata The optional parameter. + */ +typedef void (*TrackbarCallback)(int pos, void* userdata); + +/** @brief Callback function defined to be called every frame. See cv::setOpenGlDrawCallback +@param userdata The optional parameter. + */ +typedef void (*OpenGlDrawCallback)(void* userdata); + +/** @brief Callback function for a button created by cv::createButton +@param state current state of the button. It could be -1 for a push button, 0 or 1 for a check/radio box button. +@param userdata The optional parameter. + */ +typedef void (*ButtonCallback)(int state, void* userdata); + +/** @brief Creates a window. + +The function namedWindow creates a window that can be used as a placeholder for images and +trackbars. Created windows are referred to by their names. + +If a window with the same name already exists, the function does nothing. + +You can call cv::destroyWindow or cv::destroyAllWindows to close the window and de-allocate any associated +memory usage. For a simple program, you do not really have to call these functions because all the +resources and windows of the application are closed automatically by the operating system upon exit. + +@note + +Qt backend supports additional flags: + - **WINDOW_NORMAL or WINDOW_AUTOSIZE:** WINDOW_NORMAL enables you to resize the + window, whereas WINDOW_AUTOSIZE adjusts automatically the window size to fit the + displayed image (see imshow ), and you cannot change the window size manually. + - **WINDOW_FREERATIO or WINDOW_KEEPRATIO:** WINDOW_FREERATIO adjusts the image + with no respect to its ratio, whereas WINDOW_KEEPRATIO keeps the image ratio. + - **WINDOW_GUI_NORMAL or WINDOW_GUI_EXPANDED:** WINDOW_GUI_NORMAL is the old way to draw the window + without statusbar and toolbar, whereas WINDOW_GUI_EXPANDED is a new enhanced GUI. +By default, flags == WINDOW_AUTOSIZE | WINDOW_KEEPRATIO | WINDOW_GUI_EXPANDED + +@param winname Name of the window in the window caption that may be used as a window identifier. +@param flags Flags of the window. The supported flags are: (cv::WindowFlags) + */ +CV_EXPORTS_W void namedWindow(const String& winname, int flags = WINDOW_AUTOSIZE); + +/** @brief Destroys the specified window. + +The function destroyWindow destroys the window with the given name. + +@param winname Name of the window to be destroyed. + */ +CV_EXPORTS_W void destroyWindow(const String& winname); + +/** @brief Destroys all of the HighGUI windows. + +The function destroyAllWindows destroys all of the opened HighGUI windows. + */ +CV_EXPORTS_W void destroyAllWindows(); + +CV_EXPORTS_W int startWindowThread(); + +/** @brief Similar to #waitKey, but returns full key code. + +@note + +Key code is implementation specific and depends on used backend: QT/GTK/Win32/etc + +*/ +CV_EXPORTS_W int waitKeyEx(int delay = 0); + +/** @brief Waits for a pressed key. + +The function waitKey waits for a key event infinitely (when \f$\texttt{delay}\leq 0\f$ ) or for delay +milliseconds, when it is positive. Since the OS has a minimum time between switching threads, the +function will not wait exactly delay ms, it will wait at least delay ms, depending on what else is +running on your computer at that time. It returns the code of the pressed key or -1 if no key was +pressed before the specified time had elapsed. + +@note + +This function is the only method in HighGUI that can fetch and handle events, so it needs to be +called periodically for normal event processing unless HighGUI is used within an environment that +takes care of event processing. + +@note + +The function only works if there is at least one HighGUI window created and the window is active. +If there are several HighGUI windows, any of them can be active. + +@param delay Delay in milliseconds. 0 is the special value that means "forever". + */ +CV_EXPORTS_W int waitKey(int delay = 0); + +/** @brief Displays an image in the specified window. + +The function imshow displays an image in the specified window. If the window was created with the +cv::WINDOW_AUTOSIZE flag, the image is shown with its original size, however it is still limited by the screen resolution. +Otherwise, the image is scaled to fit the window. The function may scale the image, depending on its depth: + +- If the image is 8-bit unsigned, it is displayed as is. +- If the image is 16-bit unsigned or 32-bit integer, the pixels are divided by 256. That is, the + value range [0,255\*256] is mapped to [0,255]. +- If the image is 32-bit or 64-bit floating-point, the pixel values are multiplied by 255. That is, the + value range [0,1] is mapped to [0,255]. + +If window was created with OpenGL support, cv::imshow also support ogl::Buffer , ogl::Texture2D and +cuda::GpuMat as input. + +If the window was not created before this function, it is assumed creating a window with cv::WINDOW_AUTOSIZE. + +If you need to show an image that is bigger than the screen resolution, you will need to call namedWindow("", WINDOW_NORMAL) before the imshow. + +@note This function should be followed by cv::waitKey function which displays the image for specified +milliseconds. Otherwise, it won't display the image. For example, **waitKey(0)** will display the window +infinitely until any keypress (it is suitable for image display). **waitKey(25)** will display a frame +for 25 ms, after which display will be automatically closed. (If you put it in a loop to read +videos, it will display the video frame-by-frame) + +@note + +[__Windows Backend Only__] Pressing Ctrl+C will copy the image to the clipboard. + +[__Windows Backend Only__] Pressing Ctrl+S will show a dialog to save the image. + +@param winname Name of the window. +@param mat Image to be shown. + */ +CV_EXPORTS_W void imshow(const String& winname, InputArray mat); + +/** @brief Resizes window to the specified size + +@note + +- The specified window size is for the image area. Toolbars are not counted. +- Only windows created without cv::WINDOW_AUTOSIZE flag can be resized. + +@param winname Window name. +@param width The new window width. +@param height The new window height. + */ +CV_EXPORTS_W void resizeWindow(const String& winname, int width, int height); + +/** @overload +@param winname Window name. +@param size The new window size. +*/ +CV_EXPORTS_W void resizeWindow(const String& winname, const cv::Size& size); + +/** @brief Moves window to the specified position + +@param winname Name of the window. +@param x The new x-coordinate of the window. +@param y The new y-coordinate of the window. + */ +CV_EXPORTS_W void moveWindow(const String& winname, int x, int y); + +/** @brief Changes parameters of a window dynamically. + +The function setWindowProperty enables changing properties of a window. + +@param winname Name of the window. +@param prop_id Window property to edit. The supported operation flags are: (cv::WindowPropertyFlags) +@param prop_value New value of the window property. The supported flags are: (cv::WindowFlags) + */ +CV_EXPORTS_W void setWindowProperty(const String& winname, int prop_id, double prop_value); + +/** @brief Updates window title +@param winname Name of the window. +@param title New title. +*/ +CV_EXPORTS_W void setWindowTitle(const String& winname, const String& title); + +/** @brief Provides parameters of a window. + +The function getWindowProperty returns properties of a window. + +@param winname Name of the window. +@param prop_id Window property to retrieve. The following operation flags are available: (cv::WindowPropertyFlags) + +@sa setWindowProperty + */ +CV_EXPORTS_W double getWindowProperty(const String& winname, int prop_id); + +/** @brief Sets mouse handler for the specified window + +@param winname Name of the window. +@param onMouse Mouse callback. See OpenCV samples, such as +, on how to specify and +use the callback. +@param userdata The optional parameter passed to the callback. + */ +CV_EXPORTS void setMouseCallback(const String& winname, MouseCallback onMouse, void* userdata = 0); + +/** @brief Gets the mouse-wheel motion delta, when handling mouse-wheel events cv::EVENT_MOUSEWHEEL and +cv::EVENT_MOUSEHWHEEL. + +For regular mice with a scroll-wheel, delta will be a multiple of 120. The value 120 corresponds to +a one notch rotation of the wheel or the threshold for action to be taken and one such action should +occur for each delta. Some high-precision mice with higher-resolution freely-rotating wheels may +generate smaller values. + +For cv::EVENT_MOUSEWHEEL positive and negative values mean forward and backward scrolling, +respectively. For cv::EVENT_MOUSEHWHEEL, where available, positive and negative values mean right and +left scrolling, respectively. + +With the C API, the macro CV_GET_WHEEL_DELTA(flags) can be used alternatively. + +@note + +Mouse-wheel events are currently supported only on Windows. + +@param flags The mouse callback flags parameter. + */ +CV_EXPORTS int getMouseWheelDelta(int flags); + +/** @brief Selects ROI on the given image. +Function creates a window and allows user to select a ROI using mouse. +Controls: use `space` or `enter` to finish selection, use key `c` to cancel selection (function will return the zero cv::Rect). + +@param windowName name of the window where selection process will be shown. +@param img image to select a ROI. +@param showCrosshair if true crosshair of selection rectangle will be shown. +@param fromCenter if true center of selection will match initial mouse position. In opposite case a corner of +selection rectangle will correspont to the initial mouse position. +@return selected ROI or empty rect if selection canceled. + +@note The function sets it's own mouse callback for specified window using cv::setMouseCallback(windowName, ...). +After finish of work an empty callback will be set for the used window. + */ +CV_EXPORTS_W Rect selectROI(const String& windowName, InputArray img, bool showCrosshair = true, bool fromCenter = false); + +/** @overload + */ +CV_EXPORTS_W Rect selectROI(InputArray img, bool showCrosshair = true, bool fromCenter = false); + +/** @brief Selects ROIs on the given image. +Function creates a window and allows user to select a ROIs using mouse. +Controls: use `space` or `enter` to finish current selection and start a new one, +use `esc` to terminate multiple ROI selection process. + +@param windowName name of the window where selection process will be shown. +@param img image to select a ROI. +@param boundingBoxes selected ROIs. +@param showCrosshair if true crosshair of selection rectangle will be shown. +@param fromCenter if true center of selection will match initial mouse position. In opposite case a corner of +selection rectangle will correspont to the initial mouse position. + +@note The function sets it's own mouse callback for specified window using cv::setMouseCallback(windowName, ...). +After finish of work an empty callback will be set for the used window. + */ +CV_EXPORTS_W void selectROIs(const String& windowName, InputArray img, + CV_OUT std::vector& boundingBoxes, bool showCrosshair = true, bool fromCenter = false); + +/** @brief Creates a trackbar and attaches it to the specified window. + +The function createTrackbar creates a trackbar (a slider or range control) with the specified name +and range, assigns a variable value to be a position synchronized with the trackbar and specifies +the callback function onChange to be called on the trackbar position change. The created trackbar is +displayed in the specified window winname. + +@note + +[__Qt Backend Only__] winname can be empty (or NULL) if the trackbar should be attached to the +control panel. + +Clicking the label of each trackbar enables editing the trackbar values manually. + +@param trackbarname Name of the created trackbar. +@param winname Name of the window that will be used as a parent of the created trackbar. +@param value Optional pointer to an integer variable whose value reflects the position of the +slider. Upon creation, the slider position is defined by this variable. +@param count Maximal position of the slider. The minimal position is always 0. +@param onChange Pointer to the function to be called every time the slider changes position. This +function should be prototyped as void Foo(int,void\*); , where the first parameter is the trackbar +position and the second parameter is the user data (see the next parameter). If the callback is +the NULL pointer, no callbacks are called, but only value is updated. +@param userdata User data that is passed as is to the callback. It can be used to handle trackbar +events without using global variables. + */ +CV_EXPORTS int createTrackbar(const String& trackbarname, const String& winname, + int* value, int count, + TrackbarCallback onChange = 0, + void* userdata = 0); + +/** @brief Returns the trackbar position. + +The function returns the current position of the specified trackbar. + +@note + +[__Qt Backend Only__] winname can be empty (or NULL) if the trackbar is attached to the control +panel. + +@param trackbarname Name of the trackbar. +@param winname Name of the window that is the parent of the trackbar. + */ +CV_EXPORTS_W int getTrackbarPos(const String& trackbarname, const String& winname); + +/** @brief Sets the trackbar position. + +The function sets the position of the specified trackbar in the specified window. + +@note + +[__Qt Backend Only__] winname can be empty (or NULL) if the trackbar is attached to the control +panel. + +@param trackbarname Name of the trackbar. +@param winname Name of the window that is the parent of trackbar. +@param pos New position. + */ +CV_EXPORTS_W void setTrackbarPos(const String& trackbarname, const String& winname, int pos); + +/** @brief Sets the trackbar maximum position. + +The function sets the maximum position of the specified trackbar in the specified window. + +@note + +[__Qt Backend Only__] winname can be empty (or NULL) if the trackbar is attached to the control +panel. + +@param trackbarname Name of the trackbar. +@param winname Name of the window that is the parent of trackbar. +@param maxval New maximum position. + */ +CV_EXPORTS_W void setTrackbarMax(const String& trackbarname, const String& winname, int maxval); + +/** @brief Sets the trackbar minimum position. + +The function sets the minimum position of the specified trackbar in the specified window. + +@note + +[__Qt Backend Only__] winname can be empty (or NULL) if the trackbar is attached to the control +panel. + +@param trackbarname Name of the trackbar. +@param winname Name of the window that is the parent of trackbar. +@param minval New minimum position. + */ +CV_EXPORTS_W void setTrackbarMin(const String& trackbarname, const String& winname, int minval); + +//! @addtogroup highgui_opengl OpenGL support +//! @{ + +/** @brief Displays OpenGL 2D texture in the specified window. + +@param winname Name of the window. +@param tex OpenGL 2D texture data. + */ +CV_EXPORTS void imshow(const String& winname, const ogl::Texture2D& tex); + +/** @brief Sets a callback function to be called to draw on top of displayed image. + +The function setOpenGlDrawCallback can be used to draw 3D data on the window. See the example of +callback function below: +@code + void on_opengl(void* param) + { + glLoadIdentity(); + + glTranslated(0.0, 0.0, -1.0); + + glRotatef( 55, 1, 0, 0 ); + glRotatef( 45, 0, 1, 0 ); + glRotatef( 0, 0, 0, 1 ); + + static const int coords[6][4][3] = { + { { +1, -1, -1 }, { -1, -1, -1 }, { -1, +1, -1 }, { +1, +1, -1 } }, + { { +1, +1, -1 }, { -1, +1, -1 }, { -1, +1, +1 }, { +1, +1, +1 } }, + { { +1, -1, +1 }, { +1, -1, -1 }, { +1, +1, -1 }, { +1, +1, +1 } }, + { { -1, -1, -1 }, { -1, -1, +1 }, { -1, +1, +1 }, { -1, +1, -1 } }, + { { +1, -1, +1 }, { -1, -1, +1 }, { -1, -1, -1 }, { +1, -1, -1 } }, + { { -1, -1, +1 }, { +1, -1, +1 }, { +1, +1, +1 }, { -1, +1, +1 } } + }; + + for (int i = 0; i < 6; ++i) { + glColor3ub( i*20, 100+i*10, i*42 ); + glBegin(GL_QUADS); + for (int j = 0; j < 4; ++j) { + glVertex3d(0.2 * coords[i][j][0], 0.2 * coords[i][j][1], 0.2 * coords[i][j][2]); + } + glEnd(); + } + } +@endcode + +@param winname Name of the window. +@param onOpenGlDraw Pointer to the function to be called every frame. This function should be +prototyped as void Foo(void\*) . +@param userdata Pointer passed to the callback function.(__Optional__) + */ +CV_EXPORTS void setOpenGlDrawCallback(const String& winname, OpenGlDrawCallback onOpenGlDraw, void* userdata = 0); + +/** @brief Sets the specified window as current OpenGL context. + +@param winname Name of the window. + */ +CV_EXPORTS void setOpenGlContext(const String& winname); + +/** @brief Force window to redraw its context and call draw callback ( See cv::setOpenGlDrawCallback ). + +@param winname Name of the window. + */ +CV_EXPORTS void updateWindow(const String& winname); + +//! @} highgui_opengl + +//! @addtogroup highgui_qt +//! @{ + +/** @brief QtFont available only for Qt. See cv::fontQt + */ +struct QtFont +{ + const char* nameFont; //!< Name of the font + Scalar color; //!< Color of the font. Scalar(blue_component, green_component, red_component[, alpha_component]) + int font_face; //!< See cv::QtFontStyles + const int* ascii; //!< font data and metrics + const int* greek; + const int* cyrillic; + float hscale, vscale; + float shear; //!< slope coefficient: 0 - normal, >0 - italic + int thickness; //!< See cv::QtFontWeights + float dx; //!< horizontal interval between letters + int line_type; //!< PointSize +}; + +/** @brief Creates the font to draw a text on an image. + +The function fontQt creates a cv::QtFont object. This cv::QtFont is not compatible with putText . + +A basic usage of this function is the following: : +@code + QtFont font = fontQt("Times"); + addText( img1, "Hello World !", Point(50,50), font); +@endcode + +@param nameFont Name of the font. The name should match the name of a system font (such as +*Times*). If the font is not found, a default one is used. +@param pointSize Size of the font. If not specified, equal zero or negative, the point size of the +font is set to a system-dependent default value. Generally, this is 12 points. +@param color Color of the font in BGRA where A = 255 is fully transparent. Use the macro CV_RGB +for simplicity. +@param weight Font weight. Available operation flags are : cv::QtFontWeights You can also specify a positive integer for better control. +@param style Font style. Available operation flags are : cv::QtFontStyles +@param spacing Spacing between characters. It can be negative or positive. + */ +CV_EXPORTS QtFont fontQt(const String& nameFont, int pointSize = -1, + Scalar color = Scalar::all(0), int weight = QT_FONT_NORMAL, + int style = QT_STYLE_NORMAL, int spacing = 0); + +/** @brief Draws a text on the image. + +The function addText draws *text* on the image *img* using a specific font *font* (see example cv::fontQt +) + +@param img 8-bit 3-channel image where the text should be drawn. +@param text Text to write on an image. +@param org Point(x,y) where the text should start on an image. +@param font Font to use to draw a text. + */ +CV_EXPORTS void addText( const Mat& img, const String& text, Point org, const QtFont& font); + +/** @brief Draws a text on the image. + +@param img 8-bit 3-channel image where the text should be drawn. +@param text Text to write on an image. +@param org Point(x,y) where the text should start on an image. +@param nameFont Name of the font. The name should match the name of a system font (such as +*Times*). If the font is not found, a default one is used. +@param pointSize Size of the font. If not specified, equal zero or negative, the point size of the +font is set to a system-dependent default value. Generally, this is 12 points. +@param color Color of the font in BGRA where A = 255 is fully transparent. +@param weight Font weight. Available operation flags are : cv::QtFontWeights You can also specify a positive integer for better control. +@param style Font style. Available operation flags are : cv::QtFontStyles +@param spacing Spacing between characters. It can be negative or positive. + */ +CV_EXPORTS_W void addText(const Mat& img, const String& text, Point org, const String& nameFont, int pointSize = -1, Scalar color = Scalar::all(0), + int weight = QT_FONT_NORMAL, int style = QT_STYLE_NORMAL, int spacing = 0); + +/** @brief Displays a text on a window image as an overlay for a specified duration. + +The function displayOverlay displays useful information/tips on top of the window for a certain +amount of time *delayms*. The function does not modify the image, displayed in the window, that is, +after the specified delay the original content of the window is restored. + +@param winname Name of the window. +@param text Overlay text to write on a window image. +@param delayms The period (in milliseconds), during which the overlay text is displayed. If this +function is called before the previous overlay text timed out, the timer is restarted and the text +is updated. If this value is zero, the text never disappears. + */ +CV_EXPORTS_W void displayOverlay(const String& winname, const String& text, int delayms = 0); + +/** @brief Displays a text on the window statusbar during the specified period of time. + +The function displayStatusBar displays useful information/tips on top of the window for a certain +amount of time *delayms* . This information is displayed on the window statusbar (the window must be +created with the CV_GUI_EXPANDED flags). + +@param winname Name of the window. +@param text Text to write on the window statusbar. +@param delayms Duration (in milliseconds) to display the text. If this function is called before +the previous text timed out, the timer is restarted and the text is updated. If this value is +zero, the text never disappears. + */ +CV_EXPORTS_W void displayStatusBar(const String& winname, const String& text, int delayms = 0); + +/** @brief Saves parameters of the specified window. + +The function saveWindowParameters saves size, location, flags, trackbars value, zoom and panning +location of the window windowName. + +@param windowName Name of the window. + */ +CV_EXPORTS void saveWindowParameters(const String& windowName); + +/** @brief Loads parameters of the specified window. + +The function loadWindowParameters loads size, location, flags, trackbars value, zoom and panning +location of the window windowName. + +@param windowName Name of the window. + */ +CV_EXPORTS void loadWindowParameters(const String& windowName); + +CV_EXPORTS int startLoop(int (*pt2Func)(int argc, char *argv[]), int argc, char* argv[]); + +CV_EXPORTS void stopLoop(); + +/** @brief Attaches a button to the control panel. + +The function createButton attaches a button to the control panel. Each button is added to a +buttonbar to the right of the last button. A new buttonbar is created if nothing was attached to the +control panel before, or if the last element attached to the control panel was a trackbar or if the +QT_NEW_BUTTONBAR flag is added to the type. + +See below various examples of the cv::createButton function call: : +@code + createButton(NULL,callbackButton);//create a push button "button 0", that will call callbackButton. + createButton("button2",callbackButton,NULL,QT_CHECKBOX,0); + createButton("button3",callbackButton,&value); + createButton("button5",callbackButton1,NULL,QT_RADIOBOX); + createButton("button6",callbackButton2,NULL,QT_PUSH_BUTTON,1); + createButton("button6",callbackButton2,NULL,QT_PUSH_BUTTON|QT_NEW_BUTTONBAR);// create a push button in a new row +@endcode + +@param bar_name Name of the button. +@param on_change Pointer to the function to be called every time the button changes its state. +This function should be prototyped as void Foo(int state,\*void); . *state* is the current state +of the button. It could be -1 for a push button, 0 or 1 for a check/radio box button. +@param userdata Pointer passed to the callback function. +@param type Optional type of the button. Available types are: (cv::QtButtonTypes) +@param initial_button_state Default state of the button. Use for checkbox and radiobox. Its +value could be 0 or 1. (__Optional__) +*/ +CV_EXPORTS int createButton( const String& bar_name, ButtonCallback on_change, + void* userdata = 0, int type = QT_PUSH_BUTTON, + bool initial_button_state = false); + +//! @} highgui_qt + +//! @} highgui + +} // cv + +#ifndef DISABLE_OPENCV_24_COMPATIBILITY +#include "opencv2/highgui/highgui_c.h" +#endif + +#endif diff --git a/app/src/main/cpp/include/opencv2/highgui/highgui.hpp b/app/src/main/cpp/include/opencv2/highgui/highgui.hpp new file mode 100644 index 0000000..160c9cf --- /dev/null +++ b/app/src/main/cpp/include/opencv2/highgui/highgui.hpp @@ -0,0 +1,48 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/highgui.hpp" diff --git a/app/src/main/cpp/include/opencv2/highgui/highgui_c.h b/app/src/main/cpp/include/opencv2/highgui/highgui_c.h new file mode 100644 index 0000000..d8323d0 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/highgui/highgui_c.h @@ -0,0 +1,257 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// Intel License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000, Intel Corporation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of Intel Corporation may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_HIGHGUI_H +#define OPENCV_HIGHGUI_H + +#include "opencv2/core/core_c.h" +#include "opencv2/imgproc/imgproc_c.h" +#ifdef HAVE_OPENCV_IMGCODECS +#include "opencv2/imgcodecs/imgcodecs_c.h" +#endif +#ifdef HAVE_OPENCV_VIDEOIO +#include "opencv2/videoio/videoio_c.h" +#endif + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/** @addtogroup highgui_c + @{ + */ + +/****************************************************************************************\ +* Basic GUI functions * +\****************************************************************************************/ +//YV +//-----------New for Qt +/* For font */ +enum { CV_FONT_LIGHT = 25,//QFont::Light, + CV_FONT_NORMAL = 50,//QFont::Normal, + CV_FONT_DEMIBOLD = 63,//QFont::DemiBold, + CV_FONT_BOLD = 75,//QFont::Bold, + CV_FONT_BLACK = 87 //QFont::Black +}; + +enum { CV_STYLE_NORMAL = 0,//QFont::StyleNormal, + CV_STYLE_ITALIC = 1,//QFont::StyleItalic, + CV_STYLE_OBLIQUE = 2 //QFont::StyleOblique +}; +/* ---------*/ + +//for color cvScalar(blue_component, green_component, red_component[, alpha_component]) +//and alpha= 0 <-> 0xFF (not transparent <-> transparent) +CVAPI(CvFont) cvFontQt(const char* nameFont, int pointSize CV_DEFAULT(-1), CvScalar color CV_DEFAULT(cvScalarAll(0)), int weight CV_DEFAULT(CV_FONT_NORMAL), int style CV_DEFAULT(CV_STYLE_NORMAL), int spacing CV_DEFAULT(0)); + +CVAPI(void) cvAddText(const CvArr* img, const char* text, CvPoint org, CvFont *arg2); + +CVAPI(void) cvDisplayOverlay(const char* name, const char* text, int delayms CV_DEFAULT(0)); +CVAPI(void) cvDisplayStatusBar(const char* name, const char* text, int delayms CV_DEFAULT(0)); + +CVAPI(void) cvSaveWindowParameters(const char* name); +CVAPI(void) cvLoadWindowParameters(const char* name); +CVAPI(int) cvStartLoop(int (*pt2Func)(int argc, char *argv[]), int argc, char* argv[]); +CVAPI(void) cvStopLoop( void ); + +typedef void (CV_CDECL *CvButtonCallback)(int state, void* userdata); +enum {CV_PUSH_BUTTON = 0, CV_CHECKBOX = 1, CV_RADIOBOX = 2}; +CVAPI(int) cvCreateButton( const char* button_name CV_DEFAULT(NULL),CvButtonCallback on_change CV_DEFAULT(NULL), void* userdata CV_DEFAULT(NULL) , int button_type CV_DEFAULT(CV_PUSH_BUTTON), int initial_button_state CV_DEFAULT(0)); +//---------------------- + + +/* this function is used to set some external parameters in case of X Window */ +CVAPI(int) cvInitSystem( int argc, char** argv ); + +CVAPI(int) cvStartWindowThread( void ); + +// --------- YV --------- +enum +{ + //These 3 flags are used by cvSet/GetWindowProperty + CV_WND_PROP_FULLSCREEN = 0, //to change/get window's fullscreen property + CV_WND_PROP_AUTOSIZE = 1, //to change/get window's autosize property + CV_WND_PROP_ASPECTRATIO= 2, //to change/get window's aspectratio property + CV_WND_PROP_OPENGL = 3, //to change/get window's opengl support + CV_WND_PROP_VISIBLE = 4, + + //These 2 flags are used by cvNamedWindow and cvSet/GetWindowProperty + CV_WINDOW_NORMAL = 0x00000000, //the user can resize the window (no constraint) / also use to switch a fullscreen window to a normal size + CV_WINDOW_AUTOSIZE = 0x00000001, //the user cannot resize the window, the size is constrainted by the image displayed + CV_WINDOW_OPENGL = 0x00001000, //window with opengl support + + //Those flags are only for Qt + CV_GUI_EXPANDED = 0x00000000, //status bar and tool bar + CV_GUI_NORMAL = 0x00000010, //old fashious way + + //These 3 flags are used by cvNamedWindow and cvSet/GetWindowProperty + CV_WINDOW_FULLSCREEN = 1,//change the window to fullscreen + CV_WINDOW_FREERATIO = 0x00000100,//the image expends as much as it can (no ratio constraint) + CV_WINDOW_KEEPRATIO = 0x00000000//the ration image is respected. +}; + +/* create window */ +CVAPI(int) cvNamedWindow( const char* name, int flags CV_DEFAULT(CV_WINDOW_AUTOSIZE) ); + +/* Set and Get Property of the window */ +CVAPI(void) cvSetWindowProperty(const char* name, int prop_id, double prop_value); +CVAPI(double) cvGetWindowProperty(const char* name, int prop_id); + +/* display image within window (highgui windows remember their content) */ +CVAPI(void) cvShowImage( const char* name, const CvArr* image ); + +/* resize/move window */ +CVAPI(void) cvResizeWindow( const char* name, int width, int height ); +CVAPI(void) cvMoveWindow( const char* name, int x, int y ); + + +/* destroy window and all the trackers associated with it */ +CVAPI(void) cvDestroyWindow( const char* name ); + +CVAPI(void) cvDestroyAllWindows(void); + +/* get native window handle (HWND in case of Win32 and Widget in case of X Window) */ +CVAPI(void*) cvGetWindowHandle( const char* name ); + +/* get name of highgui window given its native handle */ +CVAPI(const char*) cvGetWindowName( void* window_handle ); + + +typedef void (CV_CDECL *CvTrackbarCallback)(int pos); + +/* create trackbar and display it on top of given window, set callback */ +CVAPI(int) cvCreateTrackbar( const char* trackbar_name, const char* window_name, + int* value, int count, CvTrackbarCallback on_change CV_DEFAULT(NULL)); + +typedef void (CV_CDECL *CvTrackbarCallback2)(int pos, void* userdata); + +CVAPI(int) cvCreateTrackbar2( const char* trackbar_name, const char* window_name, + int* value, int count, CvTrackbarCallback2 on_change, + void* userdata CV_DEFAULT(0)); + +/* retrieve or set trackbar position */ +CVAPI(int) cvGetTrackbarPos( const char* trackbar_name, const char* window_name ); +CVAPI(void) cvSetTrackbarPos( const char* trackbar_name, const char* window_name, int pos ); +CVAPI(void) cvSetTrackbarMax(const char* trackbar_name, const char* window_name, int maxval); +CVAPI(void) cvSetTrackbarMin(const char* trackbar_name, const char* window_name, int minval); + +enum +{ + CV_EVENT_MOUSEMOVE =0, + CV_EVENT_LBUTTONDOWN =1, + CV_EVENT_RBUTTONDOWN =2, + CV_EVENT_MBUTTONDOWN =3, + CV_EVENT_LBUTTONUP =4, + CV_EVENT_RBUTTONUP =5, + CV_EVENT_MBUTTONUP =6, + CV_EVENT_LBUTTONDBLCLK =7, + CV_EVENT_RBUTTONDBLCLK =8, + CV_EVENT_MBUTTONDBLCLK =9, + CV_EVENT_MOUSEWHEEL =10, + CV_EVENT_MOUSEHWHEEL =11 +}; + +enum +{ + CV_EVENT_FLAG_LBUTTON =1, + CV_EVENT_FLAG_RBUTTON =2, + CV_EVENT_FLAG_MBUTTON =4, + CV_EVENT_FLAG_CTRLKEY =8, + CV_EVENT_FLAG_SHIFTKEY =16, + CV_EVENT_FLAG_ALTKEY =32 +}; + + +#define CV_GET_WHEEL_DELTA(flags) ((short)((flags >> 16) & 0xffff)) // upper 16 bits + +typedef void (CV_CDECL *CvMouseCallback )(int event, int x, int y, int flags, void* param); + +/* assign callback for mouse events */ +CVAPI(void) cvSetMouseCallback( const char* window_name, CvMouseCallback on_mouse, + void* param CV_DEFAULT(NULL)); + +/* wait for key event infinitely (delay<=0) or for "delay" milliseconds */ +CVAPI(int) cvWaitKey(int delay CV_DEFAULT(0)); + +// OpenGL support + +typedef void (CV_CDECL *CvOpenGlDrawCallback)(void* userdata); +CVAPI(void) cvSetOpenGlDrawCallback(const char* window_name, CvOpenGlDrawCallback callback, void* userdata CV_DEFAULT(NULL)); + +CVAPI(void) cvSetOpenGlContext(const char* window_name); +CVAPI(void) cvUpdateWindow(const char* window_name); + + +/****************************************************************************************\ + +* Obsolete functions/synonyms * +\****************************************************************************************/ + +#define cvAddSearchPath(path) +#define cvvInitSystem cvInitSystem +#define cvvNamedWindow cvNamedWindow +#define cvvShowImage cvShowImage +#define cvvResizeWindow cvResizeWindow +#define cvvDestroyWindow cvDestroyWindow +#define cvvCreateTrackbar cvCreateTrackbar +#define cvvAddSearchPath cvAddSearchPath +#define cvvWaitKey(name) cvWaitKey(0) +#define cvvWaitKeyEx(name,delay) cvWaitKey(delay) +#define HG_AUTOSIZE CV_WINDOW_AUTOSIZE +#define set_preprocess_func cvSetPreprocessFuncWin32 +#define set_postprocess_func cvSetPostprocessFuncWin32 + +#if defined _WIN32 + +CVAPI(void) cvSetPreprocessFuncWin32_(const void* callback); +CVAPI(void) cvSetPostprocessFuncWin32_(const void* callback); +#define cvSetPreprocessFuncWin32(callback) cvSetPreprocessFuncWin32_((const void*)(callback)) +#define cvSetPostprocessFuncWin32(callback) cvSetPostprocessFuncWin32_((const void*)(callback)) + +#endif + +/** @} highgui_c */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/app/src/main/cpp/include/opencv2/imgcodecs.hpp b/app/src/main/cpp/include/opencv2/imgcodecs.hpp new file mode 100644 index 0000000..46bb355 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/imgcodecs.hpp @@ -0,0 +1,281 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_IMGCODECS_HPP +#define OPENCV_IMGCODECS_HPP + +#include "opencv2/core.hpp" + +/** + @defgroup imgcodecs Image file reading and writing + @{ + @defgroup imgcodecs_c C API + @defgroup imgcodecs_ios iOS glue + @} +*/ + +//////////////////////////////// image codec //////////////////////////////// +namespace cv +{ + +//! @addtogroup imgcodecs +//! @{ + +//! Imread flags +enum ImreadModes { + IMREAD_UNCHANGED = -1, //!< If set, return the loaded image as is (with alpha channel, otherwise it gets cropped). + IMREAD_GRAYSCALE = 0, //!< If set, always convert image to the single channel grayscale image. + IMREAD_COLOR = 1, //!< If set, always convert image to the 3 channel BGR color image. + IMREAD_ANYDEPTH = 2, //!< If set, return 16-bit/32-bit image when the input has the corresponding depth, otherwise convert it to 8-bit. + IMREAD_ANYCOLOR = 4, //!< If set, the image is read in any possible color format. + IMREAD_LOAD_GDAL = 8, //!< If set, use the gdal driver for loading the image. + IMREAD_REDUCED_GRAYSCALE_2 = 16, //!< If set, always convert image to the single channel grayscale image and the image size reduced 1/2. + IMREAD_REDUCED_COLOR_2 = 17, //!< If set, always convert image to the 3 channel BGR color image and the image size reduced 1/2. + IMREAD_REDUCED_GRAYSCALE_4 = 32, //!< If set, always convert image to the single channel grayscale image and the image size reduced 1/4. + IMREAD_REDUCED_COLOR_4 = 33, //!< If set, always convert image to the 3 channel BGR color image and the image size reduced 1/4. + IMREAD_REDUCED_GRAYSCALE_8 = 64, //!< If set, always convert image to the single channel grayscale image and the image size reduced 1/8. + IMREAD_REDUCED_COLOR_8 = 65, //!< If set, always convert image to the 3 channel BGR color image and the image size reduced 1/8. + IMREAD_IGNORE_ORIENTATION = 128 //!< If set, do not rotate the image according to EXIF's orientation flag. + }; + +//! Imwrite flags +enum ImwriteFlags { + IMWRITE_JPEG_QUALITY = 1, //!< For JPEG, it can be a quality from 0 to 100 (the higher is the better). Default value is 95. + IMWRITE_JPEG_PROGRESSIVE = 2, //!< Enable JPEG features, 0 or 1, default is False. + IMWRITE_JPEG_OPTIMIZE = 3, //!< Enable JPEG features, 0 or 1, default is False. + IMWRITE_JPEG_RST_INTERVAL = 4, //!< JPEG restart interval, 0 - 65535, default is 0 - no restart. + IMWRITE_JPEG_LUMA_QUALITY = 5, //!< Separate luma quality level, 0 - 100, default is 0 - don't use. + IMWRITE_JPEG_CHROMA_QUALITY = 6, //!< Separate chroma quality level, 0 - 100, default is 0 - don't use. + IMWRITE_PNG_COMPRESSION = 16, //!< For PNG, it can be the compression level from 0 to 9. A higher value means a smaller size and longer compression time. If specified, strategy is changed to IMWRITE_PNG_STRATEGY_DEFAULT (Z_DEFAULT_STRATEGY). Default value is 1 (best speed setting). + IMWRITE_PNG_STRATEGY = 17, //!< One of cv::ImwritePNGFlags, default is IMWRITE_PNG_STRATEGY_RLE. + IMWRITE_PNG_BILEVEL = 18, //!< Binary level PNG, 0 or 1, default is 0. + IMWRITE_PXM_BINARY = 32, //!< For PPM, PGM, or PBM, it can be a binary format flag, 0 or 1. Default value is 1. + IMWRITE_WEBP_QUALITY = 64, //!< For WEBP, it can be a quality from 1 to 100 (the higher is the better). By default (without any parameter) and for quality above 100 the lossless compression is used. + IMWRITE_PAM_TUPLETYPE = 128,//!< For PAM, sets the TUPLETYPE field to the corresponding string value that is defined for the format + }; + +//! Imwrite PNG specific flags used to tune the compression algorithm. +/** These flags will be modify the way of PNG image compression and will be passed to the underlying zlib processing stage. + +- The effect of IMWRITE_PNG_STRATEGY_FILTERED is to force more Huffman coding and less string matching; it is somewhat intermediate between IMWRITE_PNG_STRATEGY_DEFAULT and IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY. +- IMWRITE_PNG_STRATEGY_RLE is designed to be almost as fast as IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY, but give better compression for PNG image data. +- The strategy parameter only affects the compression ratio but not the correctness of the compressed output even if it is not set appropriately. +- IMWRITE_PNG_STRATEGY_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler decoder for special applications. +*/ +enum ImwritePNGFlags { + IMWRITE_PNG_STRATEGY_DEFAULT = 0, //!< Use this value for normal data. + IMWRITE_PNG_STRATEGY_FILTERED = 1, //!< Use this value for data produced by a filter (or predictor).Filtered data consists mostly of small values with a somewhat random distribution. In this case, the compression algorithm is tuned to compress them better. + IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY = 2, //!< Use this value to force Huffman encoding only (no string match). + IMWRITE_PNG_STRATEGY_RLE = 3, //!< Use this value to limit match distances to one (run-length encoding). + IMWRITE_PNG_STRATEGY_FIXED = 4 //!< Using this value prevents the use of dynamic Huffman codes, allowing for a simpler decoder for special applications. + }; + +//! Imwrite PAM specific tupletype flags used to define the 'TUPETYPE' field of a PAM file. +enum ImwritePAMFlags { + IMWRITE_PAM_FORMAT_NULL = 0, + IMWRITE_PAM_FORMAT_BLACKANDWHITE = 1, + IMWRITE_PAM_FORMAT_GRAYSCALE = 2, + IMWRITE_PAM_FORMAT_GRAYSCALE_ALPHA = 3, + IMWRITE_PAM_FORMAT_RGB = 4, + IMWRITE_PAM_FORMAT_RGB_ALPHA = 5, + }; + +/** @brief Loads an image from a file. + +@anchor imread + +The function imread loads an image from the specified file and returns it. If the image cannot be +read (because of missing file, improper permissions, unsupported or invalid format), the function +returns an empty matrix ( Mat::data==NULL ). + +Currently, the following file formats are supported: + +- Windows bitmaps - \*.bmp, \*.dib (always supported) +- JPEG files - \*.jpeg, \*.jpg, \*.jpe (see the *Notes* section) +- JPEG 2000 files - \*.jp2 (see the *Notes* section) +- Portable Network Graphics - \*.png (see the *Notes* section) +- WebP - \*.webp (see the *Notes* section) +- Portable image format - \*.pbm, \*.pgm, \*.ppm \*.pxm, \*.pnm (always supported) +- Sun rasters - \*.sr, \*.ras (always supported) +- TIFF files - \*.tiff, \*.tif (see the *Notes* section) +- OpenEXR Image files - \*.exr (see the *Notes* section) +- Radiance HDR - \*.hdr, \*.pic (always supported) +- Raster and Vector geospatial data supported by Gdal (see the *Notes* section) + +@note + +- The function determines the type of an image by the content, not by the file extension. +- In the case of color images, the decoded images will have the channels stored in **B G R** order. +- On Microsoft Windows\* OS and MacOSX\*, the codecs shipped with an OpenCV image (libjpeg, + libpng, libtiff, and libjasper) are used by default. So, OpenCV can always read JPEGs, PNGs, + and TIFFs. On MacOSX, there is also an option to use native MacOSX image readers. But beware + that currently these native image loaders give images with different pixel values because of + the color management embedded into MacOSX. +- On Linux\*, BSD flavors and other Unix-like open-source operating systems, OpenCV looks for + codecs supplied with an OS image. Install the relevant packages (do not forget the development + files, for example, "libjpeg-dev", in Debian\* and Ubuntu\*) to get the codec support or turn + on the OPENCV_BUILD_3RDPARTY_LIBS flag in CMake. +- In the case you set *WITH_GDAL* flag to true in CMake and @ref IMREAD_LOAD_GDAL to load the image, + then [GDAL](http://www.gdal.org) driver will be used in order to decode the image by supporting + the following formats: [Raster](http://www.gdal.org/formats_list.html), + [Vector](http://www.gdal.org/ogr_formats.html). +- If EXIF information are embedded in the image file, the EXIF orientation will be taken into account + and thus the image will be rotated accordingly except if the flag @ref IMREAD_IGNORE_ORIENTATION is passed. +@param filename Name of file to be loaded. +@param flags Flag that can take values of cv::ImreadModes +*/ +CV_EXPORTS_W Mat imread( const String& filename, int flags = IMREAD_COLOR ); + +/** @brief Loads a multi-page image from a file. + +The function imreadmulti loads a multi-page image from the specified file into a vector of Mat objects. +@param filename Name of file to be loaded. +@param flags Flag that can take values of cv::ImreadModes, default with cv::IMREAD_ANYCOLOR. +@param mats A vector of Mat objects holding each page, if more than one. +@sa cv::imread +*/ +CV_EXPORTS_W bool imreadmulti(const String& filename, CV_OUT std::vector& mats, int flags = IMREAD_ANYCOLOR); + +/** @brief Saves an image to a specified file. + +The function imwrite saves the image to the specified file. The image format is chosen based on the +filename extension (see cv::imread for the list of extensions). Only 8-bit (or 16-bit unsigned (CV_16U) +in case of PNG, JPEG 2000, and TIFF) single-channel or 3-channel (with 'BGR' channel order) images +can be saved using this function. If the format, depth or channel order is different, use +Mat::convertTo , and cv::cvtColor to convert it before saving. Or, use the universal FileStorage I/O +functions to save the image to XML or YAML format. + +It is possible to store PNG images with an alpha channel using this function. To do this, create +8-bit (or 16-bit) 4-channel image BGRA, where the alpha channel goes last. Fully transparent pixels +should have alpha set to 0, fully opaque pixels should have alpha set to 255/65535. + +The sample below shows how to create such a BGRA image and store to PNG file. It also demonstrates how to set custom +compression parameters : +@code + #include + + using namespace cv; + using namespace std; + + void createAlphaMat(Mat &mat) + { + CV_Assert(mat.channels() == 4); + for (int i = 0; i < mat.rows; ++i) { + for (int j = 0; j < mat.cols; ++j) { + Vec4b& bgra = mat.at(i, j); + bgra[0] = UCHAR_MAX; // Blue + bgra[1] = saturate_cast((float (mat.cols - j)) / ((float)mat.cols) * UCHAR_MAX); // Green + bgra[2] = saturate_cast((float (mat.rows - i)) / ((float)mat.rows) * UCHAR_MAX); // Red + bgra[3] = saturate_cast(0.5 * (bgra[1] + bgra[2])); // Alpha + } + } + } + + int main(int argv, char **argc) + { + // Create mat with alpha channel + Mat mat(480, 640, CV_8UC4); + createAlphaMat(mat); + + vector compression_params; + compression_params.push_back(IMWRITE_PNG_COMPRESSION); + compression_params.push_back(9); + + try { + imwrite("alpha.png", mat, compression_params); + } + catch (cv::Exception& ex) { + fprintf(stderr, "Exception converting image to PNG format: %s\n", ex.what()); + return 1; + } + + fprintf(stdout, "Saved PNG file with alpha data.\n"); + return 0; + } +@endcode +@param filename Name of the file. +@param img Image to be saved. +@param params Format-specific parameters encoded as pairs (paramId_1, paramValue_1, paramId_2, paramValue_2, ... .) see cv::ImwriteFlags +*/ +CV_EXPORTS_W bool imwrite( const String& filename, InputArray img, + const std::vector& params = std::vector()); + +/** @brief Reads an image from a buffer in memory. + +The function imdecode reads an image from the specified buffer in the memory. If the buffer is too short or +contains invalid data, the function returns an empty matrix ( Mat::data==NULL ). + +See cv::imread for the list of supported formats and flags description. + +@note In the case of color images, the decoded images will have the channels stored in **B G R** order. +@param buf Input array or vector of bytes. +@param flags The same flags as in cv::imread, see cv::ImreadModes. +*/ +CV_EXPORTS_W Mat imdecode( InputArray buf, int flags ); + +/** @overload +@param buf +@param flags +@param dst The optional output placeholder for the decoded matrix. It can save the image +reallocations when the function is called repeatedly for images of the same size. +*/ +CV_EXPORTS Mat imdecode( InputArray buf, int flags, Mat* dst); + +/** @brief Encodes an image into a memory buffer. + +The function imencode compresses the image and stores it in the memory buffer that is resized to fit the +result. See cv::imwrite for the list of supported formats and flags description. + +@param ext File extension that defines the output format. +@param img Image to be written. +@param buf Output buffer resized to fit the compressed image. +@param params Format-specific parameters. See cv::imwrite and cv::ImwriteFlags. +*/ +CV_EXPORTS_W bool imencode( const String& ext, InputArray img, + CV_OUT std::vector& buf, + const std::vector& params = std::vector()); + +//! @} imgcodecs + +} // cv + +#endif //OPENCV_IMGCODECS_HPP diff --git a/app/src/main/cpp/include/opencv2/imgcodecs/imgcodecs.hpp b/app/src/main/cpp/include/opencv2/imgcodecs/imgcodecs.hpp new file mode 100644 index 0000000..a3cd232 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/imgcodecs/imgcodecs.hpp @@ -0,0 +1,48 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/imgcodecs.hpp" diff --git a/app/src/main/cpp/include/opencv2/imgcodecs/imgcodecs_c.h b/app/src/main/cpp/include/opencv2/imgcodecs/imgcodecs_c.h new file mode 100644 index 0000000..3130710 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/imgcodecs/imgcodecs_c.h @@ -0,0 +1,148 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// Intel License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000, Intel Corporation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of Intel Corporation may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_IMGCODECS_H +#define OPENCV_IMGCODECS_H + +#include "opencv2/core/core_c.h" + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/** @addtogroup imgcodecs_c + @{ + */ + +enum +{ +/* 8bit, color or not */ + CV_LOAD_IMAGE_UNCHANGED =-1, +/* 8bit, gray */ + CV_LOAD_IMAGE_GRAYSCALE =0, +/* ?, color */ + CV_LOAD_IMAGE_COLOR =1, +/* any depth, ? */ + CV_LOAD_IMAGE_ANYDEPTH =2, +/* ?, any color */ + CV_LOAD_IMAGE_ANYCOLOR =4, +/* ?, no rotate */ + CV_LOAD_IMAGE_IGNORE_ORIENTATION =128 +}; + +/* load image from file + iscolor can be a combination of above flags where CV_LOAD_IMAGE_UNCHANGED + overrides the other flags + using CV_LOAD_IMAGE_ANYCOLOR alone is equivalent to CV_LOAD_IMAGE_UNCHANGED + unless CV_LOAD_IMAGE_ANYDEPTH is specified images are converted to 8bit +*/ +CVAPI(IplImage*) cvLoadImage( const char* filename, int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR)); +CVAPI(CvMat*) cvLoadImageM( const char* filename, int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR)); + +enum +{ + CV_IMWRITE_JPEG_QUALITY =1, + CV_IMWRITE_JPEG_PROGRESSIVE =2, + CV_IMWRITE_JPEG_OPTIMIZE =3, + CV_IMWRITE_JPEG_RST_INTERVAL =4, + CV_IMWRITE_JPEG_LUMA_QUALITY =5, + CV_IMWRITE_JPEG_CHROMA_QUALITY =6, + CV_IMWRITE_PNG_COMPRESSION =16, + CV_IMWRITE_PNG_STRATEGY =17, + CV_IMWRITE_PNG_BILEVEL =18, + CV_IMWRITE_PNG_STRATEGY_DEFAULT =0, + CV_IMWRITE_PNG_STRATEGY_FILTERED =1, + CV_IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY =2, + CV_IMWRITE_PNG_STRATEGY_RLE =3, + CV_IMWRITE_PNG_STRATEGY_FIXED =4, + CV_IMWRITE_PXM_BINARY =32, + CV_IMWRITE_WEBP_QUALITY =64, + CV_IMWRITE_PAM_TUPLETYPE = 128, + CV_IMWRITE_PAM_FORMAT_NULL = 0, + CV_IMWRITE_PAM_FORMAT_BLACKANDWHITE = 1, + CV_IMWRITE_PAM_FORMAT_GRAYSCALE = 2, + CV_IMWRITE_PAM_FORMAT_GRAYSCALE_ALPHA = 3, + CV_IMWRITE_PAM_FORMAT_RGB = 4, + CV_IMWRITE_PAM_FORMAT_RGB_ALPHA = 5, +}; + + + +/* save image to file */ +CVAPI(int) cvSaveImage( const char* filename, const CvArr* image, + const int* params CV_DEFAULT(0) ); + +/* decode image stored in the buffer */ +CVAPI(IplImage*) cvDecodeImage( const CvMat* buf, int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR)); +CVAPI(CvMat*) cvDecodeImageM( const CvMat* buf, int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR)); + +/* encode image and store the result as a byte vector (single-row 8uC1 matrix) */ +CVAPI(CvMat*) cvEncodeImage( const char* ext, const CvArr* image, + const int* params CV_DEFAULT(0) ); + +enum +{ + CV_CVTIMG_FLIP =1, + CV_CVTIMG_SWAP_RB =2 +}; + +/* utility function: convert one image to another with optional vertical flip */ +CVAPI(void) cvConvertImage( const CvArr* src, CvArr* dst, int flags CV_DEFAULT(0)); + +CVAPI(int) cvHaveImageReader(const char* filename); +CVAPI(int) cvHaveImageWriter(const char* filename); + + +/****************************************************************************************\ +* Obsolete functions/synonyms * +\****************************************************************************************/ + +#define cvvLoadImage(name) cvLoadImage((name),1) +#define cvvSaveImage cvSaveImage +#define cvvConvertImage cvConvertImage + +/** @} imgcodecs_c */ + +#ifdef __cplusplus +} +#endif + +#endif // OPENCV_IMGCODECS_H diff --git a/app/src/main/cpp/include/opencv2/imgcodecs/ios.h b/app/src/main/cpp/include/opencv2/imgcodecs/ios.h new file mode 100644 index 0000000..fbd6371 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/imgcodecs/ios.h @@ -0,0 +1,57 @@ + +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#import +#import +#import +#import +#include "opencv2/core/core.hpp" + +//! @addtogroup imgcodecs_ios +//! @{ + +UIImage* MatToUIImage(const cv::Mat& image); +void UIImageToMat(const UIImage* image, + cv::Mat& m, bool alphaExist = false); + +//! @} diff --git a/app/src/main/cpp/include/opencv2/imgproc.hpp b/app/src/main/cpp/include/opencv2/imgproc.hpp new file mode 100644 index 0000000..7dafcc0 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/imgproc.hpp @@ -0,0 +1,4837 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_IMGPROC_HPP +#define OPENCV_IMGPROC_HPP + +#include "opencv2/core.hpp" + +/** + @defgroup imgproc Image processing + @{ + @defgroup imgproc_filter Image Filtering + +Functions and classes described in this section are used to perform various linear or non-linear +filtering operations on 2D images (represented as Mat's). It means that for each pixel location +\f$(x,y)\f$ in the source image (normally, rectangular), its neighborhood is considered and used to +compute the response. In case of a linear filter, it is a weighted sum of pixel values. In case of +morphological operations, it is the minimum or maximum values, and so on. The computed response is +stored in the destination image at the same location \f$(x,y)\f$. It means that the output image +will be of the same size as the input image. Normally, the functions support multi-channel arrays, +in which case every channel is processed independently. Therefore, the output image will also have +the same number of channels as the input one. + +Another common feature of the functions and classes described in this section is that, unlike +simple arithmetic functions, they need to extrapolate values of some non-existing pixels. For +example, if you want to smooth an image using a Gaussian \f$3 \times 3\f$ filter, then, when +processing the left-most pixels in each row, you need pixels to the left of them, that is, outside +of the image. You can let these pixels be the same as the left-most image pixels ("replicated +border" extrapolation method), or assume that all the non-existing pixels are zeros ("constant +border" extrapolation method), and so on. OpenCV enables you to specify the extrapolation method. +For details, see cv::BorderTypes + +@anchor filter_depths +### Depth combinations +Input depth (src.depth()) | Output depth (ddepth) +--------------------------|---------------------- +CV_8U | -1/CV_16S/CV_32F/CV_64F +CV_16U/CV_16S | -1/CV_32F/CV_64F +CV_32F | -1/CV_32F/CV_64F +CV_64F | -1/CV_64F + +@note when ddepth=-1, the output image will have the same depth as the source. + + @defgroup imgproc_transform Geometric Image Transformations + +The functions in this section perform various geometrical transformations of 2D images. They do not +change the image content but deform the pixel grid and map this deformed grid to the destination +image. In fact, to avoid sampling artifacts, the mapping is done in the reverse order, from +destination to the source. That is, for each pixel \f$(x, y)\f$ of the destination image, the +functions compute coordinates of the corresponding "donor" pixel in the source image and copy the +pixel value: + +\f[\texttt{dst} (x,y)= \texttt{src} (f_x(x,y), f_y(x,y))\f] + +In case when you specify the forward mapping \f$\left: \texttt{src} \rightarrow +\texttt{dst}\f$, the OpenCV functions first compute the corresponding inverse mapping +\f$\left: \texttt{dst} \rightarrow \texttt{src}\f$ and then use the above formula. + +The actual implementations of the geometrical transformations, from the most generic remap and to +the simplest and the fastest resize, need to solve two main problems with the above formula: + +- Extrapolation of non-existing pixels. Similarly to the filtering functions described in the +previous section, for some \f$(x,y)\f$, either one of \f$f_x(x,y)\f$, or \f$f_y(x,y)\f$, or both +of them may fall outside of the image. In this case, an extrapolation method needs to be used. +OpenCV provides the same selection of extrapolation methods as in the filtering functions. In +addition, it provides the method BORDER_TRANSPARENT. This means that the corresponding pixels in +the destination image will not be modified at all. + +- Interpolation of pixel values. Usually \f$f_x(x,y)\f$ and \f$f_y(x,y)\f$ are floating-point +numbers. This means that \f$\left\f$ can be either an affine or perspective +transformation, or radial lens distortion correction, and so on. So, a pixel value at fractional +coordinates needs to be retrieved. In the simplest case, the coordinates can be just rounded to the +nearest integer coordinates and the corresponding pixel can be used. This is called a +nearest-neighbor interpolation. However, a better result can be achieved by using more +sophisticated [interpolation methods](http://en.wikipedia.org/wiki/Multivariate_interpolation) , +where a polynomial function is fit into some neighborhood of the computed pixel \f$(f_x(x,y), +f_y(x,y))\f$, and then the value of the polynomial at \f$(f_x(x,y), f_y(x,y))\f$ is taken as the +interpolated pixel value. In OpenCV, you can choose between several interpolation methods. See +resize for details. + + @defgroup imgproc_misc Miscellaneous Image Transformations + @defgroup imgproc_draw Drawing Functions + +Drawing functions work with matrices/images of arbitrary depth. The boundaries of the shapes can be +rendered with antialiasing (implemented only for 8-bit images for now). All the functions include +the parameter color that uses an RGB value (that may be constructed with the Scalar constructor ) +for color images and brightness for grayscale images. For color images, the channel ordering is +normally *Blue, Green, Red*. This is what imshow, imread, and imwrite expect. So, if you form a +color using the Scalar constructor, it should look like: + +\f[\texttt{Scalar} (blue \_ component, green \_ component, red \_ component[, alpha \_ component])\f] + +If you are using your own image rendering and I/O functions, you can use any channel ordering. The +drawing functions process each channel independently and do not depend on the channel order or even +on the used color space. The whole image can be converted from BGR to RGB or to a different color +space using cvtColor . + +If a drawn figure is partially or completely outside the image, the drawing functions clip it. Also, +many drawing functions can handle pixel coordinates specified with sub-pixel accuracy. This means +that the coordinates can be passed as fixed-point numbers encoded as integers. The number of +fractional bits is specified by the shift parameter and the real point coordinates are calculated as +\f$\texttt{Point}(x,y)\rightarrow\texttt{Point2f}(x*2^{-shift},y*2^{-shift})\f$ . This feature is +especially effective when rendering antialiased shapes. + +@note The functions do not support alpha-transparency when the target image is 4-channel. In this +case, the color[3] is simply copied to the repainted pixels. Thus, if you want to paint +semi-transparent shapes, you can paint them in a separate buffer and then blend it with the main +image. + + @defgroup imgproc_colormap ColorMaps in OpenCV + +The human perception isn't built for observing fine changes in grayscale images. Human eyes are more +sensitive to observing changes between colors, so you often need to recolor your grayscale images to +get a clue about them. OpenCV now comes with various colormaps to enhance the visualization in your +computer vision application. + +In OpenCV you only need applyColorMap to apply a colormap on a given image. The following sample +code reads the path to an image from command line, applies a Jet colormap on it and shows the +result: + +@code +#include +#include +#include +#include +using namespace cv; + +#include +using namespace std; + +int main(int argc, const char *argv[]) +{ + // We need an input image. (can be grayscale or color) + if (argc < 2) + { + cerr << "We need an image to process here. Please run: colorMap [path_to_image]" << endl; + return -1; + } + Mat img_in = imread(argv[1]); + if(img_in.empty()) + { + cerr << "Sample image (" << argv[1] << ") is empty. Please adjust your path, so it points to a valid input image!" << endl; + return -1; + } + // Holds the colormap version of the image: + Mat img_color; + // Apply the colormap: + applyColorMap(img_in, img_color, COLORMAP_JET); + // Show the result: + imshow("colorMap", img_color); + waitKey(0); + return 0; +} +@endcode + +@see cv::ColormapTypes + + @defgroup imgproc_subdiv2d Planar Subdivision + +The Subdiv2D class described in this section is used to perform various planar subdivision on +a set of 2D points (represented as vector of Point2f). OpenCV subdivides a plane into triangles +using the Delaunay's algorithm, which corresponds to the dual graph of the Voronoi diagram. +In the figure below, the Delaunay's triangulation is marked with black lines and the Voronoi +diagram with red lines. + +![Delaunay triangulation (black) and Voronoi (red)](pics/delaunay_voronoi.png) + +The subdivisions can be used for the 3D piece-wise transformation of a plane, morphing, fast +location of points on the plane, building special graphs (such as NNG,RNG), and so forth. + + @defgroup imgproc_hist Histograms + @defgroup imgproc_shape Structural Analysis and Shape Descriptors + @defgroup imgproc_motion Motion Analysis and Object Tracking + @defgroup imgproc_feature Feature Detection + @defgroup imgproc_object Object Detection + @defgroup imgproc_c C API + @defgroup imgproc_hal Hardware Acceleration Layer + @{ + @defgroup imgproc_hal_functions Functions + @defgroup imgproc_hal_interface Interface + @} + @} +*/ + +namespace cv +{ + +/** @addtogroup imgproc +@{ +*/ + +//! @addtogroup imgproc_filter +//! @{ + +//! type of morphological operation +enum MorphTypes{ + MORPH_ERODE = 0, //!< see cv::erode + MORPH_DILATE = 1, //!< see cv::dilate + MORPH_OPEN = 2, //!< an opening operation + //!< \f[\texttt{dst} = \mathrm{open} ( \texttt{src} , \texttt{element} )= \mathrm{dilate} ( \mathrm{erode} ( \texttt{src} , \texttt{element} ))\f] + MORPH_CLOSE = 3, //!< a closing operation + //!< \f[\texttt{dst} = \mathrm{close} ( \texttt{src} , \texttt{element} )= \mathrm{erode} ( \mathrm{dilate} ( \texttt{src} , \texttt{element} ))\f] + MORPH_GRADIENT = 4, //!< a morphological gradient + //!< \f[\texttt{dst} = \mathrm{morph\_grad} ( \texttt{src} , \texttt{element} )= \mathrm{dilate} ( \texttt{src} , \texttt{element} )- \mathrm{erode} ( \texttt{src} , \texttt{element} )\f] + MORPH_TOPHAT = 5, //!< "top hat" + //!< \f[\texttt{dst} = \mathrm{tophat} ( \texttt{src} , \texttt{element} )= \texttt{src} - \mathrm{open} ( \texttt{src} , \texttt{element} )\f] + MORPH_BLACKHAT = 6, //!< "black hat" + //!< \f[\texttt{dst} = \mathrm{blackhat} ( \texttt{src} , \texttt{element} )= \mathrm{close} ( \texttt{src} , \texttt{element} )- \texttt{src}\f] + MORPH_HITMISS = 7 //!< "hit or miss" + //!< .- Only supported for CV_8UC1 binary images. A tutorial can be found in the documentation +}; + +//! shape of the structuring element +enum MorphShapes { + MORPH_RECT = 0, //!< a rectangular structuring element: \f[E_{ij}=1\f] + MORPH_CROSS = 1, //!< a cross-shaped structuring element: + //!< \f[E_{ij} = \fork{1}{if i=\texttt{anchor.y} or j=\texttt{anchor.x}}{0}{otherwise}\f] + MORPH_ELLIPSE = 2 //!< an elliptic structuring element, that is, a filled ellipse inscribed + //!< into the rectangle Rect(0, 0, esize.width, 0.esize.height) +}; + +//! @} imgproc_filter + +//! @addtogroup imgproc_transform +//! @{ + +//! interpolation algorithm +enum InterpolationFlags{ + /** nearest neighbor interpolation */ + INTER_NEAREST = 0, + /** bilinear interpolation */ + INTER_LINEAR = 1, + /** bicubic interpolation */ + INTER_CUBIC = 2, + /** resampling using pixel area relation. It may be a preferred method for image decimation, as + it gives moire'-free results. But when the image is zoomed, it is similar to the INTER_NEAREST + method. */ + INTER_AREA = 3, + /** Lanczos interpolation over 8x8 neighborhood */ + INTER_LANCZOS4 = 4, + /** mask for interpolation codes */ + INTER_MAX = 7, + /** flag, fills all of the destination image pixels. If some of them correspond to outliers in the + source image, they are set to zero */ + WARP_FILL_OUTLIERS = 8, + /** flag, inverse transformation + + For example, @ref cv::linearPolar or @ref cv::logPolar transforms: + - flag is __not__ set: \f$dst( \rho , \phi ) = src(x,y)\f$ + - flag is set: \f$dst(x,y) = src( \rho , \phi )\f$ + */ + WARP_INVERSE_MAP = 16 +}; + +enum InterpolationMasks { + INTER_BITS = 5, + INTER_BITS2 = INTER_BITS * 2, + INTER_TAB_SIZE = 1 << INTER_BITS, + INTER_TAB_SIZE2 = INTER_TAB_SIZE * INTER_TAB_SIZE + }; + +//! @} imgproc_transform + +//! @addtogroup imgproc_misc +//! @{ + +//! Distance types for Distance Transform and M-estimators +//! @see cv::distanceTransform, cv::fitLine +enum DistanceTypes { + DIST_USER = -1, //!< User defined distance + DIST_L1 = 1, //!< distance = |x1-x2| + |y1-y2| + DIST_L2 = 2, //!< the simple euclidean distance + DIST_C = 3, //!< distance = max(|x1-x2|,|y1-y2|) + DIST_L12 = 4, //!< L1-L2 metric: distance = 2(sqrt(1+x*x/2) - 1)) + DIST_FAIR = 5, //!< distance = c^2(|x|/c-log(1+|x|/c)), c = 1.3998 + DIST_WELSCH = 6, //!< distance = c^2/2(1-exp(-(x/c)^2)), c = 2.9846 + DIST_HUBER = 7 //!< distance = |x| \texttt{thresh}\)}{0}{otherwise}\f] + THRESH_BINARY_INV = 1, //!< \f[\texttt{dst} (x,y) = \fork{0}{if \(\texttt{src}(x,y) > \texttt{thresh}\)}{\texttt{maxval}}{otherwise}\f] + THRESH_TRUNC = 2, //!< \f[\texttt{dst} (x,y) = \fork{\texttt{threshold}}{if \(\texttt{src}(x,y) > \texttt{thresh}\)}{\texttt{src}(x,y)}{otherwise}\f] + THRESH_TOZERO = 3, //!< \f[\texttt{dst} (x,y) = \fork{\texttt{src}(x,y)}{if \(\texttt{src}(x,y) > \texttt{thresh}\)}{0}{otherwise}\f] + THRESH_TOZERO_INV = 4, //!< \f[\texttt{dst} (x,y) = \fork{0}{if \(\texttt{src}(x,y) > \texttt{thresh}\)}{\texttt{src}(x,y)}{otherwise}\f] + THRESH_MASK = 7, + THRESH_OTSU = 8, //!< flag, use Otsu algorithm to choose the optimal threshold value + THRESH_TRIANGLE = 16 //!< flag, use Triangle algorithm to choose the optimal threshold value +}; + +//! adaptive threshold algorithm +//! see cv::adaptiveThreshold +enum AdaptiveThresholdTypes { + /** the threshold value \f$T(x,y)\f$ is a mean of the \f$\texttt{blockSize} \times + \texttt{blockSize}\f$ neighborhood of \f$(x, y)\f$ minus C */ + ADAPTIVE_THRESH_MEAN_C = 0, + /** the threshold value \f$T(x, y)\f$ is a weighted sum (cross-correlation with a Gaussian + window) of the \f$\texttt{blockSize} \times \texttt{blockSize}\f$ neighborhood of \f$(x, y)\f$ + minus C . The default sigma (standard deviation) is used for the specified blockSize . See + cv::getGaussianKernel*/ + ADAPTIVE_THRESH_GAUSSIAN_C = 1 +}; + +//! cv::undistort mode +enum UndistortTypes { + PROJ_SPHERICAL_ORTHO = 0, + PROJ_SPHERICAL_EQRECT = 1 + }; + +//! class of the pixel in GrabCut algorithm +enum GrabCutClasses { + GC_BGD = 0, //!< an obvious background pixels + GC_FGD = 1, //!< an obvious foreground (object) pixel + GC_PR_BGD = 2, //!< a possible background pixel + GC_PR_FGD = 3 //!< a possible foreground pixel +}; + +//! GrabCut algorithm flags +enum GrabCutModes { + /** The function initializes the state and the mask using the provided rectangle. After that it + runs iterCount iterations of the algorithm. */ + GC_INIT_WITH_RECT = 0, + /** The function initializes the state using the provided mask. Note that GC_INIT_WITH_RECT + and GC_INIT_WITH_MASK can be combined. Then, all the pixels outside of the ROI are + automatically initialized with GC_BGD .*/ + GC_INIT_WITH_MASK = 1, + /** The value means that the algorithm should just resume. */ + GC_EVAL = 2 +}; + +//! distanceTransform algorithm flags +enum DistanceTransformLabelTypes { + /** each connected component of zeros in src (as well as all the non-zero pixels closest to the + connected component) will be assigned the same label */ + DIST_LABEL_CCOMP = 0, + /** each zero pixel (and all the non-zero pixels closest to it) gets its own label. */ + DIST_LABEL_PIXEL = 1 +}; + +//! floodfill algorithm flags +enum FloodFillFlags { + /** If set, the difference between the current pixel and seed pixel is considered. Otherwise, + the difference between neighbor pixels is considered (that is, the range is floating). */ + FLOODFILL_FIXED_RANGE = 1 << 16, + /** If set, the function does not change the image ( newVal is ignored), and only fills the + mask with the value specified in bits 8-16 of flags as described above. This option only make + sense in function variants that have the mask parameter. */ + FLOODFILL_MASK_ONLY = 1 << 17 +}; + +//! @} imgproc_misc + +//! @addtogroup imgproc_shape +//! @{ + +//! connected components algorithm output formats +enum ConnectedComponentsTypes { + CC_STAT_LEFT = 0, //!< The leftmost (x) coordinate which is the inclusive start of the bounding + //!< box in the horizontal direction. + CC_STAT_TOP = 1, //!< The topmost (y) coordinate which is the inclusive start of the bounding + //!< box in the vertical direction. + CC_STAT_WIDTH = 2, //!< The horizontal size of the bounding box + CC_STAT_HEIGHT = 3, //!< The vertical size of the bounding box + CC_STAT_AREA = 4, //!< The total area (in pixels) of the connected component + CC_STAT_MAX = 5 +}; + +//! connected components algorithm +enum ConnectedComponentsAlgorithmsTypes { + CCL_WU = 0, //!< SAUF algorithm for 8-way connectivity, SAUF algorithm for 4-way connectivity + CCL_DEFAULT = -1, //!< BBDT algorithm for 8-way connectivity, SAUF algorithm for 4-way connectivity + CCL_GRANA = 1 //!< BBDT algorithm for 8-way connectivity, SAUF algorithm for 4-way connectivity +}; + +//! mode of the contour retrieval algorithm +enum RetrievalModes { + /** retrieves only the extreme outer contours. It sets `hierarchy[i][2]=hierarchy[i][3]=-1` for + all the contours. */ + RETR_EXTERNAL = 0, + /** retrieves all of the contours without establishing any hierarchical relationships. */ + RETR_LIST = 1, + /** retrieves all of the contours and organizes them into a two-level hierarchy. At the top + level, there are external boundaries of the components. At the second level, there are + boundaries of the holes. If there is another contour inside a hole of a connected component, it + is still put at the top level. */ + RETR_CCOMP = 2, + /** retrieves all of the contours and reconstructs a full hierarchy of nested contours.*/ + RETR_TREE = 3, + RETR_FLOODFILL = 4 //!< +}; + +//! the contour approximation algorithm +enum ContourApproximationModes { + /** stores absolutely all the contour points. That is, any 2 subsequent points (x1,y1) and + (x2,y2) of the contour will be either horizontal, vertical or diagonal neighbors, that is, + max(abs(x1-x2),abs(y2-y1))==1. */ + CHAIN_APPROX_NONE = 1, + /** compresses horizontal, vertical, and diagonal segments and leaves only their end points. + For example, an up-right rectangular contour is encoded with 4 points. */ + CHAIN_APPROX_SIMPLE = 2, + /** applies one of the flavors of the Teh-Chin chain approximation algorithm @cite TehChin89 */ + CHAIN_APPROX_TC89_L1 = 3, + /** applies one of the flavors of the Teh-Chin chain approximation algorithm @cite TehChin89 */ + CHAIN_APPROX_TC89_KCOS = 4 +}; + +/** @brief Shape matching methods + +\f$A\f$ denotes object1,\f$B\f$ denotes object2 + +\f$\begin{array}{l} m^A_i = \mathrm{sign} (h^A_i) \cdot \log{h^A_i} \\ m^B_i = \mathrm{sign} (h^B_i) \cdot \log{h^B_i} \end{array}\f$ + +and \f$h^A_i, h^B_i\f$ are the Hu moments of \f$A\f$ and \f$B\f$ , respectively. +*/ +enum ShapeMatchModes { + CONTOURS_MATCH_I1 =1, //!< \f[I_1(A,B) = \sum _{i=1...7} \left | \frac{1}{m^A_i} - \frac{1}{m^B_i} \right |\f] + CONTOURS_MATCH_I2 =2, //!< \f[I_2(A,B) = \sum _{i=1...7} \left | m^A_i - m^B_i \right |\f] + CONTOURS_MATCH_I3 =3 //!< \f[I_3(A,B) = \max _{i=1...7} \frac{ \left| m^A_i - m^B_i \right| }{ \left| m^A_i \right| }\f] +}; + +//! @} imgproc_shape + +//! Variants of a Hough transform +enum HoughModes { + + /** classical or standard Hough transform. Every line is represented by two floating-point + numbers \f$(\rho, \theta)\f$ , where \f$\rho\f$ is a distance between (0,0) point and the line, + and \f$\theta\f$ is the angle between x-axis and the normal to the line. Thus, the matrix must + be (the created sequence will be) of CV_32FC2 type */ + HOUGH_STANDARD = 0, + /** probabilistic Hough transform (more efficient in case if the picture contains a few long + linear segments). It returns line segments rather than the whole line. Each segment is + represented by starting and ending points, and the matrix must be (the created sequence will + be) of the CV_32SC4 type. */ + HOUGH_PROBABILISTIC = 1, + /** multi-scale variant of the classical Hough transform. The lines are encoded the same way as + HOUGH_STANDARD. */ + HOUGH_MULTI_SCALE = 2, + HOUGH_GRADIENT = 3 //!< basically *21HT*, described in @cite Yuen90 +}; + +//! Variants of Line Segment %Detector +//! @ingroup imgproc_feature +enum LineSegmentDetectorModes { + LSD_REFINE_NONE = 0, //!< No refinement applied + LSD_REFINE_STD = 1, //!< Standard refinement is applied. E.g. breaking arches into smaller straighter line approximations. + LSD_REFINE_ADV = 2 //!< Advanced refinement. Number of false alarms is calculated, lines are + //!< refined through increase of precision, decrement in size, etc. +}; + +/** Histogram comparison methods + @ingroup imgproc_hist +*/ +enum HistCompMethods { + /** Correlation + \f[d(H_1,H_2) = \frac{\sum_I (H_1(I) - \bar{H_1}) (H_2(I) - \bar{H_2})}{\sqrt{\sum_I(H_1(I) - \bar{H_1})^2 \sum_I(H_2(I) - \bar{H_2})^2}}\f] + where + \f[\bar{H_k} = \frac{1}{N} \sum _J H_k(J)\f] + and \f$N\f$ is a total number of histogram bins. */ + HISTCMP_CORREL = 0, + /** Chi-Square + \f[d(H_1,H_2) = \sum _I \frac{\left(H_1(I)-H_2(I)\right)^2}{H_1(I)}\f] */ + HISTCMP_CHISQR = 1, + /** Intersection + \f[d(H_1,H_2) = \sum _I \min (H_1(I), H_2(I))\f] */ + HISTCMP_INTERSECT = 2, + /** Bhattacharyya distance + (In fact, OpenCV computes Hellinger distance, which is related to Bhattacharyya coefficient.) + \f[d(H_1,H_2) = \sqrt{1 - \frac{1}{\sqrt{\bar{H_1} \bar{H_2} N^2}} \sum_I \sqrt{H_1(I) \cdot H_2(I)}}\f] */ + HISTCMP_BHATTACHARYYA = 3, + HISTCMP_HELLINGER = HISTCMP_BHATTACHARYYA, //!< Synonym for HISTCMP_BHATTACHARYYA + /** Alternative Chi-Square + \f[d(H_1,H_2) = 2 * \sum _I \frac{\left(H_1(I)-H_2(I)\right)^2}{H_1(I)+H_2(I)}\f] + This alternative formula is regularly used for texture comparison. See e.g. @cite Puzicha1997 */ + HISTCMP_CHISQR_ALT = 4, + /** Kullback-Leibler divergence + \f[d(H_1,H_2) = \sum _I H_1(I) \log \left(\frac{H_1(I)}{H_2(I)}\right)\f] */ + HISTCMP_KL_DIV = 5 +}; + +/** the color conversion code +@see @ref imgproc_color_conversions +@ingroup imgproc_misc + */ +enum ColorConversionCodes { + COLOR_BGR2BGRA = 0, //!< add alpha channel to RGB or BGR image + COLOR_RGB2RGBA = COLOR_BGR2BGRA, + + COLOR_BGRA2BGR = 1, //!< remove alpha channel from RGB or BGR image + COLOR_RGBA2RGB = COLOR_BGRA2BGR, + + COLOR_BGR2RGBA = 2, //!< convert between RGB and BGR color spaces (with or without alpha channel) + COLOR_RGB2BGRA = COLOR_BGR2RGBA, + + COLOR_RGBA2BGR = 3, + COLOR_BGRA2RGB = COLOR_RGBA2BGR, + + COLOR_BGR2RGB = 4, + COLOR_RGB2BGR = COLOR_BGR2RGB, + + COLOR_BGRA2RGBA = 5, + COLOR_RGBA2BGRA = COLOR_BGRA2RGBA, + + COLOR_BGR2GRAY = 6, //!< convert between RGB/BGR and grayscale, @ref color_convert_rgb_gray "color conversions" + COLOR_RGB2GRAY = 7, + COLOR_GRAY2BGR = 8, + COLOR_GRAY2RGB = COLOR_GRAY2BGR, + COLOR_GRAY2BGRA = 9, + COLOR_GRAY2RGBA = COLOR_GRAY2BGRA, + COLOR_BGRA2GRAY = 10, + COLOR_RGBA2GRAY = 11, + + COLOR_BGR2BGR565 = 12, //!< convert between RGB/BGR and BGR565 (16-bit images) + COLOR_RGB2BGR565 = 13, + COLOR_BGR5652BGR = 14, + COLOR_BGR5652RGB = 15, + COLOR_BGRA2BGR565 = 16, + COLOR_RGBA2BGR565 = 17, + COLOR_BGR5652BGRA = 18, + COLOR_BGR5652RGBA = 19, + + COLOR_GRAY2BGR565 = 20, //!< convert between grayscale to BGR565 (16-bit images) + COLOR_BGR5652GRAY = 21, + + COLOR_BGR2BGR555 = 22, //!< convert between RGB/BGR and BGR555 (16-bit images) + COLOR_RGB2BGR555 = 23, + COLOR_BGR5552BGR = 24, + COLOR_BGR5552RGB = 25, + COLOR_BGRA2BGR555 = 26, + COLOR_RGBA2BGR555 = 27, + COLOR_BGR5552BGRA = 28, + COLOR_BGR5552RGBA = 29, + + COLOR_GRAY2BGR555 = 30, //!< convert between grayscale and BGR555 (16-bit images) + COLOR_BGR5552GRAY = 31, + + COLOR_BGR2XYZ = 32, //!< convert RGB/BGR to CIE XYZ, @ref color_convert_rgb_xyz "color conversions" + COLOR_RGB2XYZ = 33, + COLOR_XYZ2BGR = 34, + COLOR_XYZ2RGB = 35, + + COLOR_BGR2YCrCb = 36, //!< convert RGB/BGR to luma-chroma (aka YCC), @ref color_convert_rgb_ycrcb "color conversions" + COLOR_RGB2YCrCb = 37, + COLOR_YCrCb2BGR = 38, + COLOR_YCrCb2RGB = 39, + + COLOR_BGR2HSV = 40, //!< convert RGB/BGR to HSV (hue saturation value), @ref color_convert_rgb_hsv "color conversions" + COLOR_RGB2HSV = 41, + + COLOR_BGR2Lab = 44, //!< convert RGB/BGR to CIE Lab, @ref color_convert_rgb_lab "color conversions" + COLOR_RGB2Lab = 45, + + COLOR_BGR2Luv = 50, //!< convert RGB/BGR to CIE Luv, @ref color_convert_rgb_luv "color conversions" + COLOR_RGB2Luv = 51, + COLOR_BGR2HLS = 52, //!< convert RGB/BGR to HLS (hue lightness saturation), @ref color_convert_rgb_hls "color conversions" + COLOR_RGB2HLS = 53, + + COLOR_HSV2BGR = 54, //!< backward conversions to RGB/BGR + COLOR_HSV2RGB = 55, + + COLOR_Lab2BGR = 56, + COLOR_Lab2RGB = 57, + COLOR_Luv2BGR = 58, + COLOR_Luv2RGB = 59, + COLOR_HLS2BGR = 60, + COLOR_HLS2RGB = 61, + + COLOR_BGR2HSV_FULL = 66, //!< + COLOR_RGB2HSV_FULL = 67, + COLOR_BGR2HLS_FULL = 68, + COLOR_RGB2HLS_FULL = 69, + + COLOR_HSV2BGR_FULL = 70, + COLOR_HSV2RGB_FULL = 71, + COLOR_HLS2BGR_FULL = 72, + COLOR_HLS2RGB_FULL = 73, + + COLOR_LBGR2Lab = 74, + COLOR_LRGB2Lab = 75, + COLOR_LBGR2Luv = 76, + COLOR_LRGB2Luv = 77, + + COLOR_Lab2LBGR = 78, + COLOR_Lab2LRGB = 79, + COLOR_Luv2LBGR = 80, + COLOR_Luv2LRGB = 81, + + COLOR_BGR2YUV = 82, //!< convert between RGB/BGR and YUV + COLOR_RGB2YUV = 83, + COLOR_YUV2BGR = 84, + COLOR_YUV2RGB = 85, + + //! YUV 4:2:0 family to RGB + COLOR_YUV2RGB_NV12 = 90, + COLOR_YUV2BGR_NV12 = 91, + COLOR_YUV2RGB_NV21 = 92, + COLOR_YUV2BGR_NV21 = 93, + COLOR_YUV420sp2RGB = COLOR_YUV2RGB_NV21, + COLOR_YUV420sp2BGR = COLOR_YUV2BGR_NV21, + + COLOR_YUV2RGBA_NV12 = 94, + COLOR_YUV2BGRA_NV12 = 95, + COLOR_YUV2RGBA_NV21 = 96, + COLOR_YUV2BGRA_NV21 = 97, + COLOR_YUV420sp2RGBA = COLOR_YUV2RGBA_NV21, + COLOR_YUV420sp2BGRA = COLOR_YUV2BGRA_NV21, + + COLOR_YUV2RGB_YV12 = 98, + COLOR_YUV2BGR_YV12 = 99, + COLOR_YUV2RGB_IYUV = 100, + COLOR_YUV2BGR_IYUV = 101, + COLOR_YUV2RGB_I420 = COLOR_YUV2RGB_IYUV, + COLOR_YUV2BGR_I420 = COLOR_YUV2BGR_IYUV, + COLOR_YUV420p2RGB = COLOR_YUV2RGB_YV12, + COLOR_YUV420p2BGR = COLOR_YUV2BGR_YV12, + + COLOR_YUV2RGBA_YV12 = 102, + COLOR_YUV2BGRA_YV12 = 103, + COLOR_YUV2RGBA_IYUV = 104, + COLOR_YUV2BGRA_IYUV = 105, + COLOR_YUV2RGBA_I420 = COLOR_YUV2RGBA_IYUV, + COLOR_YUV2BGRA_I420 = COLOR_YUV2BGRA_IYUV, + COLOR_YUV420p2RGBA = COLOR_YUV2RGBA_YV12, + COLOR_YUV420p2BGRA = COLOR_YUV2BGRA_YV12, + + COLOR_YUV2GRAY_420 = 106, + COLOR_YUV2GRAY_NV21 = COLOR_YUV2GRAY_420, + COLOR_YUV2GRAY_NV12 = COLOR_YUV2GRAY_420, + COLOR_YUV2GRAY_YV12 = COLOR_YUV2GRAY_420, + COLOR_YUV2GRAY_IYUV = COLOR_YUV2GRAY_420, + COLOR_YUV2GRAY_I420 = COLOR_YUV2GRAY_420, + COLOR_YUV420sp2GRAY = COLOR_YUV2GRAY_420, + COLOR_YUV420p2GRAY = COLOR_YUV2GRAY_420, + + //! YUV 4:2:2 family to RGB + COLOR_YUV2RGB_UYVY = 107, + COLOR_YUV2BGR_UYVY = 108, + //COLOR_YUV2RGB_VYUY = 109, + //COLOR_YUV2BGR_VYUY = 110, + COLOR_YUV2RGB_Y422 = COLOR_YUV2RGB_UYVY, + COLOR_YUV2BGR_Y422 = COLOR_YUV2BGR_UYVY, + COLOR_YUV2RGB_UYNV = COLOR_YUV2RGB_UYVY, + COLOR_YUV2BGR_UYNV = COLOR_YUV2BGR_UYVY, + + COLOR_YUV2RGBA_UYVY = 111, + COLOR_YUV2BGRA_UYVY = 112, + //COLOR_YUV2RGBA_VYUY = 113, + //COLOR_YUV2BGRA_VYUY = 114, + COLOR_YUV2RGBA_Y422 = COLOR_YUV2RGBA_UYVY, + COLOR_YUV2BGRA_Y422 = COLOR_YUV2BGRA_UYVY, + COLOR_YUV2RGBA_UYNV = COLOR_YUV2RGBA_UYVY, + COLOR_YUV2BGRA_UYNV = COLOR_YUV2BGRA_UYVY, + + COLOR_YUV2RGB_YUY2 = 115, + COLOR_YUV2BGR_YUY2 = 116, + COLOR_YUV2RGB_YVYU = 117, + COLOR_YUV2BGR_YVYU = 118, + COLOR_YUV2RGB_YUYV = COLOR_YUV2RGB_YUY2, + COLOR_YUV2BGR_YUYV = COLOR_YUV2BGR_YUY2, + COLOR_YUV2RGB_YUNV = COLOR_YUV2RGB_YUY2, + COLOR_YUV2BGR_YUNV = COLOR_YUV2BGR_YUY2, + + COLOR_YUV2RGBA_YUY2 = 119, + COLOR_YUV2BGRA_YUY2 = 120, + COLOR_YUV2RGBA_YVYU = 121, + COLOR_YUV2BGRA_YVYU = 122, + COLOR_YUV2RGBA_YUYV = COLOR_YUV2RGBA_YUY2, + COLOR_YUV2BGRA_YUYV = COLOR_YUV2BGRA_YUY2, + COLOR_YUV2RGBA_YUNV = COLOR_YUV2RGBA_YUY2, + COLOR_YUV2BGRA_YUNV = COLOR_YUV2BGRA_YUY2, + + COLOR_YUV2GRAY_UYVY = 123, + COLOR_YUV2GRAY_YUY2 = 124, + //CV_YUV2GRAY_VYUY = CV_YUV2GRAY_UYVY, + COLOR_YUV2GRAY_Y422 = COLOR_YUV2GRAY_UYVY, + COLOR_YUV2GRAY_UYNV = COLOR_YUV2GRAY_UYVY, + COLOR_YUV2GRAY_YVYU = COLOR_YUV2GRAY_YUY2, + COLOR_YUV2GRAY_YUYV = COLOR_YUV2GRAY_YUY2, + COLOR_YUV2GRAY_YUNV = COLOR_YUV2GRAY_YUY2, + + //! alpha premultiplication + COLOR_RGBA2mRGBA = 125, + COLOR_mRGBA2RGBA = 126, + + //! RGB to YUV 4:2:0 family + COLOR_RGB2YUV_I420 = 127, + COLOR_BGR2YUV_I420 = 128, + COLOR_RGB2YUV_IYUV = COLOR_RGB2YUV_I420, + COLOR_BGR2YUV_IYUV = COLOR_BGR2YUV_I420, + + COLOR_RGBA2YUV_I420 = 129, + COLOR_BGRA2YUV_I420 = 130, + COLOR_RGBA2YUV_IYUV = COLOR_RGBA2YUV_I420, + COLOR_BGRA2YUV_IYUV = COLOR_BGRA2YUV_I420, + COLOR_RGB2YUV_YV12 = 131, + COLOR_BGR2YUV_YV12 = 132, + COLOR_RGBA2YUV_YV12 = 133, + COLOR_BGRA2YUV_YV12 = 134, + + //! Demosaicing + COLOR_BayerBG2BGR = 46, + COLOR_BayerGB2BGR = 47, + COLOR_BayerRG2BGR = 48, + COLOR_BayerGR2BGR = 49, + + COLOR_BayerBG2RGB = COLOR_BayerRG2BGR, + COLOR_BayerGB2RGB = COLOR_BayerGR2BGR, + COLOR_BayerRG2RGB = COLOR_BayerBG2BGR, + COLOR_BayerGR2RGB = COLOR_BayerGB2BGR, + + COLOR_BayerBG2GRAY = 86, + COLOR_BayerGB2GRAY = 87, + COLOR_BayerRG2GRAY = 88, + COLOR_BayerGR2GRAY = 89, + + //! Demosaicing using Variable Number of Gradients + COLOR_BayerBG2BGR_VNG = 62, + COLOR_BayerGB2BGR_VNG = 63, + COLOR_BayerRG2BGR_VNG = 64, + COLOR_BayerGR2BGR_VNG = 65, + + COLOR_BayerBG2RGB_VNG = COLOR_BayerRG2BGR_VNG, + COLOR_BayerGB2RGB_VNG = COLOR_BayerGR2BGR_VNG, + COLOR_BayerRG2RGB_VNG = COLOR_BayerBG2BGR_VNG, + COLOR_BayerGR2RGB_VNG = COLOR_BayerGB2BGR_VNG, + + //! Edge-Aware Demosaicing + COLOR_BayerBG2BGR_EA = 135, + COLOR_BayerGB2BGR_EA = 136, + COLOR_BayerRG2BGR_EA = 137, + COLOR_BayerGR2BGR_EA = 138, + + COLOR_BayerBG2RGB_EA = COLOR_BayerRG2BGR_EA, + COLOR_BayerGB2RGB_EA = COLOR_BayerGR2BGR_EA, + COLOR_BayerRG2RGB_EA = COLOR_BayerBG2BGR_EA, + COLOR_BayerGR2RGB_EA = COLOR_BayerGB2BGR_EA, + + //! Demosaicing with alpha channel + COLOR_BayerBG2BGRA = 139, + COLOR_BayerGB2BGRA = 140, + COLOR_BayerRG2BGRA = 141, + COLOR_BayerGR2BGRA = 142, + + COLOR_BayerBG2RGBA = COLOR_BayerRG2BGRA, + COLOR_BayerGB2RGBA = COLOR_BayerGR2BGRA, + COLOR_BayerRG2RGBA = COLOR_BayerBG2BGRA, + COLOR_BayerGR2RGBA = COLOR_BayerGB2BGRA, + + COLOR_COLORCVT_MAX = 143 +}; + +/** types of intersection between rectangles +@ingroup imgproc_shape +*/ +enum RectanglesIntersectTypes { + INTERSECT_NONE = 0, //!< No intersection + INTERSECT_PARTIAL = 1, //!< There is a partial intersection + INTERSECT_FULL = 2 //!< One of the rectangle is fully enclosed in the other +}; + +//! finds arbitrary template in the grayscale image using Generalized Hough Transform +class CV_EXPORTS GeneralizedHough : public Algorithm +{ +public: + //! set template to search + virtual void setTemplate(InputArray templ, Point templCenter = Point(-1, -1)) = 0; + virtual void setTemplate(InputArray edges, InputArray dx, InputArray dy, Point templCenter = Point(-1, -1)) = 0; + + //! find template on image + virtual void detect(InputArray image, OutputArray positions, OutputArray votes = noArray()) = 0; + virtual void detect(InputArray edges, InputArray dx, InputArray dy, OutputArray positions, OutputArray votes = noArray()) = 0; + + //! Canny low threshold. + virtual void setCannyLowThresh(int cannyLowThresh) = 0; + virtual int getCannyLowThresh() const = 0; + + //! Canny high threshold. + virtual void setCannyHighThresh(int cannyHighThresh) = 0; + virtual int getCannyHighThresh() const = 0; + + //! Minimum distance between the centers of the detected objects. + virtual void setMinDist(double minDist) = 0; + virtual double getMinDist() const = 0; + + //! Inverse ratio of the accumulator resolution to the image resolution. + virtual void setDp(double dp) = 0; + virtual double getDp() const = 0; + + //! Maximal size of inner buffers. + virtual void setMaxBufferSize(int maxBufferSize) = 0; + virtual int getMaxBufferSize() const = 0; +}; + +//! Ballard, D.H. (1981). Generalizing the Hough transform to detect arbitrary shapes. Pattern Recognition 13 (2): 111-122. +//! Detects position only without translation and rotation +class CV_EXPORTS GeneralizedHoughBallard : public GeneralizedHough +{ +public: + //! R-Table levels. + virtual void setLevels(int levels) = 0; + virtual int getLevels() const = 0; + + //! The accumulator threshold for the template centers at the detection stage. The smaller it is, the more false positions may be detected. + virtual void setVotesThreshold(int votesThreshold) = 0; + virtual int getVotesThreshold() const = 0; +}; + +//! Guil, N., González-Linares, J.M. and Zapata, E.L. (1999). Bidimensional shape detection using an invariant approach. Pattern Recognition 32 (6): 1025-1038. +//! Detects position, translation and rotation +class CV_EXPORTS GeneralizedHoughGuil : public GeneralizedHough +{ +public: + //! Angle difference in degrees between two points in feature. + virtual void setXi(double xi) = 0; + virtual double getXi() const = 0; + + //! Feature table levels. + virtual void setLevels(int levels) = 0; + virtual int getLevels() const = 0; + + //! Maximal difference between angles that treated as equal. + virtual void setAngleEpsilon(double angleEpsilon) = 0; + virtual double getAngleEpsilon() const = 0; + + //! Minimal rotation angle to detect in degrees. + virtual void setMinAngle(double minAngle) = 0; + virtual double getMinAngle() const = 0; + + //! Maximal rotation angle to detect in degrees. + virtual void setMaxAngle(double maxAngle) = 0; + virtual double getMaxAngle() const = 0; + + //! Angle step in degrees. + virtual void setAngleStep(double angleStep) = 0; + virtual double getAngleStep() const = 0; + + //! Angle votes threshold. + virtual void setAngleThresh(int angleThresh) = 0; + virtual int getAngleThresh() const = 0; + + //! Minimal scale to detect. + virtual void setMinScale(double minScale) = 0; + virtual double getMinScale() const = 0; + + //! Maximal scale to detect. + virtual void setMaxScale(double maxScale) = 0; + virtual double getMaxScale() const = 0; + + //! Scale step. + virtual void setScaleStep(double scaleStep) = 0; + virtual double getScaleStep() const = 0; + + //! Scale votes threshold. + virtual void setScaleThresh(int scaleThresh) = 0; + virtual int getScaleThresh() const = 0; + + //! Position votes threshold. + virtual void setPosThresh(int posThresh) = 0; + virtual int getPosThresh() const = 0; +}; + + +class CV_EXPORTS_W CLAHE : public Algorithm +{ +public: + CV_WRAP virtual void apply(InputArray src, OutputArray dst) = 0; + + CV_WRAP virtual void setClipLimit(double clipLimit) = 0; + CV_WRAP virtual double getClipLimit() const = 0; + + CV_WRAP virtual void setTilesGridSize(Size tileGridSize) = 0; + CV_WRAP virtual Size getTilesGridSize() const = 0; + + CV_WRAP virtual void collectGarbage() = 0; +}; + + +//! @addtogroup imgproc_subdiv2d +//! @{ + +class CV_EXPORTS_W Subdiv2D +{ +public: + /** Subdiv2D point location cases */ + enum { PTLOC_ERROR = -2, //!< Point location error + PTLOC_OUTSIDE_RECT = -1, //!< Point outside the subdivision bounding rect + PTLOC_INSIDE = 0, //!< Point inside some facet + PTLOC_VERTEX = 1, //!< Point coincides with one of the subdivision vertices + PTLOC_ON_EDGE = 2 //!< Point on some edge + }; + + /** Subdiv2D edge type navigation (see: getEdge()) */ + enum { NEXT_AROUND_ORG = 0x00, + NEXT_AROUND_DST = 0x22, + PREV_AROUND_ORG = 0x11, + PREV_AROUND_DST = 0x33, + NEXT_AROUND_LEFT = 0x13, + NEXT_AROUND_RIGHT = 0x31, + PREV_AROUND_LEFT = 0x20, + PREV_AROUND_RIGHT = 0x02 + }; + + /** creates an empty Subdiv2D object. + To create a new empty Delaunay subdivision you need to use the initDelaunay() function. + */ + CV_WRAP Subdiv2D(); + + /** @overload + + @param rect Rectangle that includes all of the 2D points that are to be added to the subdivision. + + The function creates an empty Delaunay subdivision where 2D points can be added using the function + insert() . All of the points to be added must be within the specified rectangle, otherwise a runtime + error is raised. + */ + CV_WRAP Subdiv2D(Rect rect); + + /** @brief Creates a new empty Delaunay subdivision + + @param rect Rectangle that includes all of the 2D points that are to be added to the subdivision. + + */ + CV_WRAP void initDelaunay(Rect rect); + + /** @brief Insert a single point into a Delaunay triangulation. + + @param pt Point to insert. + + The function inserts a single point into a subdivision and modifies the subdivision topology + appropriately. If a point with the same coordinates exists already, no new point is added. + @returns the ID of the point. + + @note If the point is outside of the triangulation specified rect a runtime error is raised. + */ + CV_WRAP int insert(Point2f pt); + + /** @brief Insert multiple points into a Delaunay triangulation. + + @param ptvec Points to insert. + + The function inserts a vector of points into a subdivision and modifies the subdivision topology + appropriately. + */ + CV_WRAP void insert(const std::vector& ptvec); + + /** @brief Returns the location of a point within a Delaunay triangulation. + + @param pt Point to locate. + @param edge Output edge that the point belongs to or is located to the right of it. + @param vertex Optional output vertex the input point coincides with. + + The function locates the input point within the subdivision and gives one of the triangle edges + or vertices. + + @returns an integer which specify one of the following five cases for point location: + - The point falls into some facet. The function returns PTLOC_INSIDE and edge will contain one of + edges of the facet. + - The point falls onto the edge. The function returns PTLOC_ON_EDGE and edge will contain this edge. + - The point coincides with one of the subdivision vertices. The function returns PTLOC_VERTEX and + vertex will contain a pointer to the vertex. + - The point is outside the subdivision reference rectangle. The function returns PTLOC_OUTSIDE_RECT + and no pointers are filled. + - One of input arguments is invalid. A runtime error is raised or, if silent or "parent" error + processing mode is selected, CV_PTLOC_ERROR is returned. + */ + CV_WRAP int locate(Point2f pt, CV_OUT int& edge, CV_OUT int& vertex); + + /** @brief Finds the subdivision vertex closest to the given point. + + @param pt Input point. + @param nearestPt Output subdivision vertex point. + + The function is another function that locates the input point within the subdivision. It finds the + subdivision vertex that is the closest to the input point. It is not necessarily one of vertices + of the facet containing the input point, though the facet (located using locate() ) is used as a + starting point. + + @returns vertex ID. + */ + CV_WRAP int findNearest(Point2f pt, CV_OUT Point2f* nearestPt = 0); + + /** @brief Returns a list of all edges. + + @param edgeList Output vector. + + The function gives each edge as a 4 numbers vector, where each two are one of the edge + vertices. i.e. org_x = v[0], org_y = v[1], dst_x = v[2], dst_y = v[3]. + */ + CV_WRAP void getEdgeList(CV_OUT std::vector& edgeList) const; + + /** @brief Returns a list of the leading edge ID connected to each triangle. + + @param leadingEdgeList Output vector. + + The function gives one edge ID for each triangle. + */ + CV_WRAP void getLeadingEdgeList(CV_OUT std::vector& leadingEdgeList) const; + + /** @brief Returns a list of all triangles. + + @param triangleList Output vector. + + The function gives each triangle as a 6 numbers vector, where each two are one of the triangle + vertices. i.e. p1_x = v[0], p1_y = v[1], p2_x = v[2], p2_y = v[3], p3_x = v[4], p3_y = v[5]. + */ + CV_WRAP void getTriangleList(CV_OUT std::vector& triangleList) const; + + /** @brief Returns a list of all Voroni facets. + + @param idx Vector of vertices IDs to consider. For all vertices you can pass empty vector. + @param facetList Output vector of the Voroni facets. + @param facetCenters Output vector of the Voroni facets center points. + + */ + CV_WRAP void getVoronoiFacetList(const std::vector& idx, CV_OUT std::vector >& facetList, + CV_OUT std::vector& facetCenters); + + /** @brief Returns vertex location from vertex ID. + + @param vertex vertex ID. + @param firstEdge Optional. The first edge ID which is connected to the vertex. + @returns vertex (x,y) + + */ + CV_WRAP Point2f getVertex(int vertex, CV_OUT int* firstEdge = 0) const; + + /** @brief Returns one of the edges related to the given edge. + + @param edge Subdivision edge ID. + @param nextEdgeType Parameter specifying which of the related edges to return. + The following values are possible: + - NEXT_AROUND_ORG next around the edge origin ( eOnext on the picture below if e is the input edge) + - NEXT_AROUND_DST next around the edge vertex ( eDnext ) + - PREV_AROUND_ORG previous around the edge origin (reversed eRnext ) + - PREV_AROUND_DST previous around the edge destination (reversed eLnext ) + - NEXT_AROUND_LEFT next around the left facet ( eLnext ) + - NEXT_AROUND_RIGHT next around the right facet ( eRnext ) + - PREV_AROUND_LEFT previous around the left facet (reversed eOnext ) + - PREV_AROUND_RIGHT previous around the right facet (reversed eDnext ) + + ![sample output](pics/quadedge.png) + + @returns edge ID related to the input edge. + */ + CV_WRAP int getEdge( int edge, int nextEdgeType ) const; + + /** @brief Returns next edge around the edge origin. + + @param edge Subdivision edge ID. + + @returns an integer which is next edge ID around the edge origin: eOnext on the + picture above if e is the input edge). + */ + CV_WRAP int nextEdge(int edge) const; + + /** @brief Returns another edge of the same quad-edge. + + @param edge Subdivision edge ID. + @param rotate Parameter specifying which of the edges of the same quad-edge as the input + one to return. The following values are possible: + - 0 - the input edge ( e on the picture below if e is the input edge) + - 1 - the rotated edge ( eRot ) + - 2 - the reversed edge (reversed e (in green)) + - 3 - the reversed rotated edge (reversed eRot (in green)) + + @returns one of the edges ID of the same quad-edge as the input edge. + */ + CV_WRAP int rotateEdge(int edge, int rotate) const; + CV_WRAP int symEdge(int edge) const; + + /** @brief Returns the edge origin. + + @param edge Subdivision edge ID. + @param orgpt Output vertex location. + + @returns vertex ID. + */ + CV_WRAP int edgeOrg(int edge, CV_OUT Point2f* orgpt = 0) const; + + /** @brief Returns the edge destination. + + @param edge Subdivision edge ID. + @param dstpt Output vertex location. + + @returns vertex ID. + */ + CV_WRAP int edgeDst(int edge, CV_OUT Point2f* dstpt = 0) const; + +protected: + int newEdge(); + void deleteEdge(int edge); + int newPoint(Point2f pt, bool isvirtual, int firstEdge = 0); + void deletePoint(int vtx); + void setEdgePoints( int edge, int orgPt, int dstPt ); + void splice( int edgeA, int edgeB ); + int connectEdges( int edgeA, int edgeB ); + void swapEdges( int edge ); + int isRightOf(Point2f pt, int edge) const; + void calcVoronoi(); + void clearVoronoi(); + void checkSubdiv() const; + + struct CV_EXPORTS Vertex + { + Vertex(); + Vertex(Point2f pt, bool _isvirtual, int _firstEdge=0); + bool isvirtual() const; + bool isfree() const; + + int firstEdge; + int type; + Point2f pt; + }; + + struct CV_EXPORTS QuadEdge + { + QuadEdge(); + QuadEdge(int edgeidx); + bool isfree() const; + + int next[4]; + int pt[4]; + }; + + //! All of the vertices + std::vector vtx; + //! All of the edges + std::vector qedges; + int freeQEdge; + int freePoint; + bool validGeometry; + + int recentEdge; + //! Top left corner of the bounding rect + Point2f topLeft; + //! Bottom right corner of the bounding rect + Point2f bottomRight; +}; + +//! @} imgproc_subdiv2d + +//! @addtogroup imgproc_feature +//! @{ + +/** @example lsd_lines.cpp +An example using the LineSegmentDetector +\image html building_lsd.png "Sample output image" width=434 height=300 +*/ + +/** @brief Line segment detector class + +following the algorithm described at @cite Rafael12 . +*/ +class CV_EXPORTS_W LineSegmentDetector : public Algorithm +{ +public: + + /** @brief Finds lines in the input image. + + This is the output of the default parameters of the algorithm on the above shown image. + + ![image](pics/building_lsd.png) + + @param _image A grayscale (CV_8UC1) input image. If only a roi needs to be selected, use: + `lsd_ptr-\>detect(image(roi), lines, ...); lines += Scalar(roi.x, roi.y, roi.x, roi.y);` + @param _lines A vector of Vec4i or Vec4f elements specifying the beginning and ending point of a line. Where + Vec4i/Vec4f is (x1, y1, x2, y2), point 1 is the start, point 2 - end. Returned lines are strictly + oriented depending on the gradient. + @param width Vector of widths of the regions, where the lines are found. E.g. Width of line. + @param prec Vector of precisions with which the lines are found. + @param nfa Vector containing number of false alarms in the line region, with precision of 10%. The + bigger the value, logarithmically better the detection. + - -1 corresponds to 10 mean false alarms + - 0 corresponds to 1 mean false alarm + - 1 corresponds to 0.1 mean false alarms + This vector will be calculated only when the objects type is LSD_REFINE_ADV. + */ + CV_WRAP virtual void detect(InputArray _image, OutputArray _lines, + OutputArray width = noArray(), OutputArray prec = noArray(), + OutputArray nfa = noArray()) = 0; + + /** @brief Draws the line segments on a given image. + @param _image The image, where the lines will be drawn. Should be bigger or equal to the image, + where the lines were found. + @param lines A vector of the lines that needed to be drawn. + */ + CV_WRAP virtual void drawSegments(InputOutputArray _image, InputArray lines) = 0; + + /** @brief Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels. + + @param size The size of the image, where lines1 and lines2 were found. + @param lines1 The first group of lines that needs to be drawn. It is visualized in blue color. + @param lines2 The second group of lines. They visualized in red color. + @param _image Optional image, where the lines will be drawn. The image should be color(3-channel) + in order for lines1 and lines2 to be drawn in the above mentioned colors. + */ + CV_WRAP virtual int compareSegments(const Size& size, InputArray lines1, InputArray lines2, InputOutputArray _image = noArray()) = 0; + + virtual ~LineSegmentDetector() { } +}; + +/** @brief Creates a smart pointer to a LineSegmentDetector object and initializes it. + +The LineSegmentDetector algorithm is defined using the standard values. Only advanced users may want +to edit those, as to tailor it for their own application. + +@param _refine The way found lines will be refined, see cv::LineSegmentDetectorModes +@param _scale The scale of the image that will be used to find the lines. Range (0..1]. +@param _sigma_scale Sigma for Gaussian filter. It is computed as sigma = _sigma_scale/_scale. +@param _quant Bound to the quantization error on the gradient norm. +@param _ang_th Gradient angle tolerance in degrees. +@param _log_eps Detection threshold: -log10(NFA) \> log_eps. Used only when advancent refinement +is chosen. +@param _density_th Minimal density of aligned region points in the enclosing rectangle. +@param _n_bins Number of bins in pseudo-ordering of gradient modulus. + */ +CV_EXPORTS_W Ptr createLineSegmentDetector( + int _refine = LSD_REFINE_STD, double _scale = 0.8, + double _sigma_scale = 0.6, double _quant = 2.0, double _ang_th = 22.5, + double _log_eps = 0, double _density_th = 0.7, int _n_bins = 1024); + +//! @} imgproc_feature + +//! @addtogroup imgproc_filter +//! @{ + +/** @brief Returns Gaussian filter coefficients. + +The function computes and returns the \f$\texttt{ksize} \times 1\f$ matrix of Gaussian filter +coefficients: + +\f[G_i= \alpha *e^{-(i-( \texttt{ksize} -1)/2)^2/(2* \texttt{sigma}^2)},\f] + +where \f$i=0..\texttt{ksize}-1\f$ and \f$\alpha\f$ is the scale factor chosen so that \f$\sum_i G_i=1\f$. + +Two of such generated kernels can be passed to sepFilter2D. Those functions automatically recognize +smoothing kernels (a symmetrical kernel with sum of weights equal to 1) and handle them accordingly. +You may also use the higher-level GaussianBlur. +@param ksize Aperture size. It should be odd ( \f$\texttt{ksize} \mod 2 = 1\f$ ) and positive. +@param sigma Gaussian standard deviation. If it is non-positive, it is computed from ksize as +`sigma = 0.3*((ksize-1)*0.5 - 1) + 0.8`. +@param ktype Type of filter coefficients. It can be CV_32F or CV_64F . +@sa sepFilter2D, getDerivKernels, getStructuringElement, GaussianBlur + */ +CV_EXPORTS_W Mat getGaussianKernel( int ksize, double sigma, int ktype = CV_64F ); + +/** @brief Returns filter coefficients for computing spatial image derivatives. + +The function computes and returns the filter coefficients for spatial image derivatives. When +`ksize=CV_SCHARR`, the Scharr \f$3 \times 3\f$ kernels are generated (see cv::Scharr). Otherwise, Sobel +kernels are generated (see cv::Sobel). The filters are normally passed to sepFilter2D or to + +@param kx Output matrix of row filter coefficients. It has the type ktype . +@param ky Output matrix of column filter coefficients. It has the type ktype . +@param dx Derivative order in respect of x. +@param dy Derivative order in respect of y. +@param ksize Aperture size. It can be CV_SCHARR, 1, 3, 5, or 7. +@param normalize Flag indicating whether to normalize (scale down) the filter coefficients or not. +Theoretically, the coefficients should have the denominator \f$=2^{ksize*2-dx-dy-2}\f$. If you are +going to filter floating-point images, you are likely to use the normalized kernels. But if you +compute derivatives of an 8-bit image, store the results in a 16-bit image, and wish to preserve +all the fractional bits, you may want to set normalize=false . +@param ktype Type of filter coefficients. It can be CV_32f or CV_64F . + */ +CV_EXPORTS_W void getDerivKernels( OutputArray kx, OutputArray ky, + int dx, int dy, int ksize, + bool normalize = false, int ktype = CV_32F ); + +/** @brief Returns Gabor filter coefficients. + +For more details about gabor filter equations and parameters, see: [Gabor +Filter](http://en.wikipedia.org/wiki/Gabor_filter). + +@param ksize Size of the filter returned. +@param sigma Standard deviation of the gaussian envelope. +@param theta Orientation of the normal to the parallel stripes of a Gabor function. +@param lambd Wavelength of the sinusoidal factor. +@param gamma Spatial aspect ratio. +@param psi Phase offset. +@param ktype Type of filter coefficients. It can be CV_32F or CV_64F . + */ +CV_EXPORTS_W Mat getGaborKernel( Size ksize, double sigma, double theta, double lambd, + double gamma, double psi = CV_PI*0.5, int ktype = CV_64F ); + +//! returns "magic" border value for erosion and dilation. It is automatically transformed to Scalar::all(-DBL_MAX) for dilation. +static inline Scalar morphologyDefaultBorderValue() { return Scalar::all(DBL_MAX); } + +/** @brief Returns a structuring element of the specified size and shape for morphological operations. + +The function constructs and returns the structuring element that can be further passed to cv::erode, +cv::dilate or cv::morphologyEx. But you can also construct an arbitrary binary mask yourself and use it as +the structuring element. + +@param shape Element shape that could be one of cv::MorphShapes +@param ksize Size of the structuring element. +@param anchor Anchor position within the element. The default value \f$(-1, -1)\f$ means that the +anchor is at the center. Note that only the shape of a cross-shaped element depends on the anchor +position. In other cases the anchor just regulates how much the result of the morphological +operation is shifted. + */ +CV_EXPORTS_W Mat getStructuringElement(int shape, Size ksize, Point anchor = Point(-1,-1)); + +/** @example Smoothing.cpp +Sample code for simple filters +![Sample screenshot](Smoothing_Tutorial_Result_Median_Filter.jpg) +Check @ref tutorial_gausian_median_blur_bilateral_filter "the corresponding tutorial" for more details + */ +/** @brief Blurs an image using the median filter. + +The function smoothes an image using the median filter with the \f$\texttt{ksize} \times +\texttt{ksize}\f$ aperture. Each channel of a multi-channel image is processed independently. +In-place operation is supported. + +@note The median filter uses BORDER_REPLICATE internally to cope with border pixels, see cv::BorderTypes + +@param src input 1-, 3-, or 4-channel image; when ksize is 3 or 5, the image depth should be +CV_8U, CV_16U, or CV_32F, for larger aperture sizes, it can only be CV_8U. +@param dst destination array of the same size and type as src. +@param ksize aperture linear size; it must be odd and greater than 1, for example: 3, 5, 7 ... +@sa bilateralFilter, blur, boxFilter, GaussianBlur + */ +CV_EXPORTS_W void medianBlur( InputArray src, OutputArray dst, int ksize ); + +/** @brief Blurs an image using a Gaussian filter. + +The function convolves the source image with the specified Gaussian kernel. In-place filtering is +supported. + +@param src input image; the image can have any number of channels, which are processed +independently, but the depth should be CV_8U, CV_16U, CV_16S, CV_32F or CV_64F. +@param dst output image of the same size and type as src. +@param ksize Gaussian kernel size. ksize.width and ksize.height can differ but they both must be +positive and odd. Or, they can be zero's and then they are computed from sigma. +@param sigmaX Gaussian kernel standard deviation in X direction. +@param sigmaY Gaussian kernel standard deviation in Y direction; if sigmaY is zero, it is set to be +equal to sigmaX, if both sigmas are zeros, they are computed from ksize.width and ksize.height, +respectively (see cv::getGaussianKernel for details); to fully control the result regardless of +possible future modifications of all this semantics, it is recommended to specify all of ksize, +sigmaX, and sigmaY. +@param borderType pixel extrapolation method, see cv::BorderTypes + +@sa sepFilter2D, filter2D, blur, boxFilter, bilateralFilter, medianBlur + */ +CV_EXPORTS_W void GaussianBlur( InputArray src, OutputArray dst, Size ksize, + double sigmaX, double sigmaY = 0, + int borderType = BORDER_DEFAULT ); + +/** @brief Applies the bilateral filter to an image. + +The function applies bilateral filtering to the input image, as described in +http://www.dai.ed.ac.uk/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html +bilateralFilter can reduce unwanted noise very well while keeping edges fairly sharp. However, it is +very slow compared to most filters. + +_Sigma values_: For simplicity, you can set the 2 sigma values to be the same. If they are small (\< +10), the filter will not have much effect, whereas if they are large (\> 150), they will have a very +strong effect, making the image look "cartoonish". + +_Filter size_: Large filters (d \> 5) are very slow, so it is recommended to use d=5 for real-time +applications, and perhaps d=9 for offline applications that need heavy noise filtering. + +This filter does not work inplace. +@param src Source 8-bit or floating-point, 1-channel or 3-channel image. +@param dst Destination image of the same size and type as src . +@param d Diameter of each pixel neighborhood that is used during filtering. If it is non-positive, +it is computed from sigmaSpace. +@param sigmaColor Filter sigma in the color space. A larger value of the parameter means that +farther colors within the pixel neighborhood (see sigmaSpace) will be mixed together, resulting +in larger areas of semi-equal color. +@param sigmaSpace Filter sigma in the coordinate space. A larger value of the parameter means that +farther pixels will influence each other as long as their colors are close enough (see sigmaColor +). When d\>0, it specifies the neighborhood size regardless of sigmaSpace. Otherwise, d is +proportional to sigmaSpace. +@param borderType border mode used to extrapolate pixels outside of the image, see cv::BorderTypes + */ +CV_EXPORTS_W void bilateralFilter( InputArray src, OutputArray dst, int d, + double sigmaColor, double sigmaSpace, + int borderType = BORDER_DEFAULT ); + +/** @brief Blurs an image using the box filter. + +The function smooths an image using the kernel: + +\f[\texttt{K} = \alpha \begin{bmatrix} 1 & 1 & 1 & \cdots & 1 & 1 \\ 1 & 1 & 1 & \cdots & 1 & 1 \\ \hdotsfor{6} \\ 1 & 1 & 1 & \cdots & 1 & 1 \end{bmatrix}\f] + +where + +\f[\alpha = \fork{\frac{1}{\texttt{ksize.width*ksize.height}}}{when \texttt{normalize=true}}{1}{otherwise}\f] + +Unnormalized box filter is useful for computing various integral characteristics over each pixel +neighborhood, such as covariance matrices of image derivatives (used in dense optical flow +algorithms, and so on). If you need to compute pixel sums over variable-size windows, use cv::integral. + +@param src input image. +@param dst output image of the same size and type as src. +@param ddepth the output image depth (-1 to use src.depth()). +@param ksize blurring kernel size. +@param anchor anchor point; default value Point(-1,-1) means that the anchor is at the kernel +center. +@param normalize flag, specifying whether the kernel is normalized by its area or not. +@param borderType border mode used to extrapolate pixels outside of the image, see cv::BorderTypes +@sa blur, bilateralFilter, GaussianBlur, medianBlur, integral + */ +CV_EXPORTS_W void boxFilter( InputArray src, OutputArray dst, int ddepth, + Size ksize, Point anchor = Point(-1,-1), + bool normalize = true, + int borderType = BORDER_DEFAULT ); + +/** @brief Calculates the normalized sum of squares of the pixel values overlapping the filter. + +For every pixel \f$ (x, y) \f$ in the source image, the function calculates the sum of squares of those neighboring +pixel values which overlap the filter placed over the pixel \f$ (x, y) \f$. + +The unnormalized square box filter can be useful in computing local image statistics such as the the local +variance and standard deviation around the neighborhood of a pixel. + +@param _src input image +@param _dst output image of the same size and type as _src +@param ddepth the output image depth (-1 to use src.depth()) +@param ksize kernel size +@param anchor kernel anchor point. The default value of Point(-1, -1) denotes that the anchor is at the kernel +center. +@param normalize flag, specifying whether the kernel is to be normalized by it's area or not. +@param borderType border mode used to extrapolate pixels outside of the image, see cv::BorderTypes +@sa boxFilter +*/ +CV_EXPORTS_W void sqrBoxFilter( InputArray _src, OutputArray _dst, int ddepth, + Size ksize, Point anchor = Point(-1, -1), + bool normalize = true, + int borderType = BORDER_DEFAULT ); + +/** @brief Blurs an image using the normalized box filter. + +The function smooths an image using the kernel: + +\f[\texttt{K} = \frac{1}{\texttt{ksize.width*ksize.height}} \begin{bmatrix} 1 & 1 & 1 & \cdots & 1 & 1 \\ 1 & 1 & 1 & \cdots & 1 & 1 \\ \hdotsfor{6} \\ 1 & 1 & 1 & \cdots & 1 & 1 \\ \end{bmatrix}\f] + +The call `blur(src, dst, ksize, anchor, borderType)` is equivalent to `boxFilter(src, dst, src.type(), +anchor, true, borderType)`. + +@param src input image; it can have any number of channels, which are processed independently, but +the depth should be CV_8U, CV_16U, CV_16S, CV_32F or CV_64F. +@param dst output image of the same size and type as src. +@param ksize blurring kernel size. +@param anchor anchor point; default value Point(-1,-1) means that the anchor is at the kernel +center. +@param borderType border mode used to extrapolate pixels outside of the image, see cv::BorderTypes +@sa boxFilter, bilateralFilter, GaussianBlur, medianBlur + */ +CV_EXPORTS_W void blur( InputArray src, OutputArray dst, + Size ksize, Point anchor = Point(-1,-1), + int borderType = BORDER_DEFAULT ); + +/** @brief Convolves an image with the kernel. + +The function applies an arbitrary linear filter to an image. In-place operation is supported. When +the aperture is partially outside the image, the function interpolates outlier pixel values +according to the specified border mode. + +The function does actually compute correlation, not the convolution: + +\f[\texttt{dst} (x,y) = \sum _{ \stackrel{0\leq x' < \texttt{kernel.cols},}{0\leq y' < \texttt{kernel.rows}} } \texttt{kernel} (x',y')* \texttt{src} (x+x'- \texttt{anchor.x} ,y+y'- \texttt{anchor.y} )\f] + +That is, the kernel is not mirrored around the anchor point. If you need a real convolution, flip +the kernel using cv::flip and set the new anchor to `(kernel.cols - anchor.x - 1, kernel.rows - +anchor.y - 1)`. + +The function uses the DFT-based algorithm in case of sufficiently large kernels (~`11 x 11` or +larger) and the direct algorithm for small kernels. + +@param src input image. +@param dst output image of the same size and the same number of channels as src. +@param ddepth desired depth of the destination image, see @ref filter_depths "combinations" +@param kernel convolution kernel (or rather a correlation kernel), a single-channel floating point +matrix; if you want to apply different kernels to different channels, split the image into +separate color planes using split and process them individually. +@param anchor anchor of the kernel that indicates the relative position of a filtered point within +the kernel; the anchor should lie within the kernel; default value (-1,-1) means that the anchor +is at the kernel center. +@param delta optional value added to the filtered pixels before storing them in dst. +@param borderType pixel extrapolation method, see cv::BorderTypes +@sa sepFilter2D, dft, matchTemplate + */ +CV_EXPORTS_W void filter2D( InputArray src, OutputArray dst, int ddepth, + InputArray kernel, Point anchor = Point(-1,-1), + double delta = 0, int borderType = BORDER_DEFAULT ); + +/** @brief Applies a separable linear filter to an image. + +The function applies a separable linear filter to the image. That is, first, every row of src is +filtered with the 1D kernel kernelX. Then, every column of the result is filtered with the 1D +kernel kernelY. The final result shifted by delta is stored in dst . + +@param src Source image. +@param dst Destination image of the same size and the same number of channels as src . +@param ddepth Destination image depth, see @ref filter_depths "combinations" +@param kernelX Coefficients for filtering each row. +@param kernelY Coefficients for filtering each column. +@param anchor Anchor position within the kernel. The default value \f$(-1,-1)\f$ means that the anchor +is at the kernel center. +@param delta Value added to the filtered results before storing them. +@param borderType Pixel extrapolation method, see cv::BorderTypes +@sa filter2D, Sobel, GaussianBlur, boxFilter, blur + */ +CV_EXPORTS_W void sepFilter2D( InputArray src, OutputArray dst, int ddepth, + InputArray kernelX, InputArray kernelY, + Point anchor = Point(-1,-1), + double delta = 0, int borderType = BORDER_DEFAULT ); + +/** @example Sobel_Demo.cpp +Sample code using Sobel and/or Scharr OpenCV functions to make a simple Edge Detector +![Sample screenshot](Sobel_Derivatives_Tutorial_Result.jpg) +Check @ref tutorial_sobel_derivatives "the corresponding tutorial" for more details + */ +/** @brief Calculates the first, second, third, or mixed image derivatives using an extended Sobel operator. + +In all cases except one, the \f$\texttt{ksize} \times \texttt{ksize}\f$ separable kernel is used to +calculate the derivative. When \f$\texttt{ksize = 1}\f$, the \f$3 \times 1\f$ or \f$1 \times 3\f$ +kernel is used (that is, no Gaussian smoothing is done). `ksize = 1` can only be used for the first +or the second x- or y- derivatives. + +There is also the special value `ksize = CV_SCHARR (-1)` that corresponds to the \f$3\times3\f$ Scharr +filter that may give more accurate results than the \f$3\times3\f$ Sobel. The Scharr aperture is + +\f[\vecthreethree{-3}{0}{3}{-10}{0}{10}{-3}{0}{3}\f] + +for the x-derivative, or transposed for the y-derivative. + +The function calculates an image derivative by convolving the image with the appropriate kernel: + +\f[\texttt{dst} = \frac{\partial^{xorder+yorder} \texttt{src}}{\partial x^{xorder} \partial y^{yorder}}\f] + +The Sobel operators combine Gaussian smoothing and differentiation, so the result is more or less +resistant to the noise. Most often, the function is called with ( xorder = 1, yorder = 0, ksize = 3) +or ( xorder = 0, yorder = 1, ksize = 3) to calculate the first x- or y- image derivative. The first +case corresponds to a kernel of: + +\f[\vecthreethree{-1}{0}{1}{-2}{0}{2}{-1}{0}{1}\f] + +The second case corresponds to a kernel of: + +\f[\vecthreethree{-1}{-2}{-1}{0}{0}{0}{1}{2}{1}\f] + +@param src input image. +@param dst output image of the same size and the same number of channels as src . +@param ddepth output image depth, see @ref filter_depths "combinations"; in the case of + 8-bit input images it will result in truncated derivatives. +@param dx order of the derivative x. +@param dy order of the derivative y. +@param ksize size of the extended Sobel kernel; it must be 1, 3, 5, or 7. +@param scale optional scale factor for the computed derivative values; by default, no scaling is +applied (see cv::getDerivKernels for details). +@param delta optional delta value that is added to the results prior to storing them in dst. +@param borderType pixel extrapolation method, see cv::BorderTypes +@sa Scharr, Laplacian, sepFilter2D, filter2D, GaussianBlur, cartToPolar + */ +CV_EXPORTS_W void Sobel( InputArray src, OutputArray dst, int ddepth, + int dx, int dy, int ksize = 3, + double scale = 1, double delta = 0, + int borderType = BORDER_DEFAULT ); + +/** @brief Calculates the first order image derivative in both x and y using a Sobel operator + +Equivalent to calling: + +@code +Sobel( src, dx, CV_16SC1, 1, 0, 3 ); +Sobel( src, dy, CV_16SC1, 0, 1, 3 ); +@endcode + +@param src input image. +@param dx output image with first-order derivative in x. +@param dy output image with first-order derivative in y. +@param ksize size of Sobel kernel. It must be 3. +@param borderType pixel extrapolation method, see cv::BorderTypes + +@sa Sobel + */ + +CV_EXPORTS_W void spatialGradient( InputArray src, OutputArray dx, + OutputArray dy, int ksize = 3, + int borderType = BORDER_DEFAULT ); + +/** @brief Calculates the first x- or y- image derivative using Scharr operator. + +The function computes the first x- or y- spatial image derivative using the Scharr operator. The +call + +\f[\texttt{Scharr(src, dst, ddepth, dx, dy, scale, delta, borderType)}\f] + +is equivalent to + +\f[\texttt{Sobel(src, dst, ddepth, dx, dy, CV\_SCHARR, scale, delta, borderType)} .\f] + +@param src input image. +@param dst output image of the same size and the same number of channels as src. +@param ddepth output image depth, see @ref filter_depths "combinations" +@param dx order of the derivative x. +@param dy order of the derivative y. +@param scale optional scale factor for the computed derivative values; by default, no scaling is +applied (see getDerivKernels for details). +@param delta optional delta value that is added to the results prior to storing them in dst. +@param borderType pixel extrapolation method, see cv::BorderTypes +@sa cartToPolar + */ +CV_EXPORTS_W void Scharr( InputArray src, OutputArray dst, int ddepth, + int dx, int dy, double scale = 1, double delta = 0, + int borderType = BORDER_DEFAULT ); + +/** @example laplace.cpp + An example using Laplace transformations for edge detection +*/ + +/** @brief Calculates the Laplacian of an image. + +The function calculates the Laplacian of the source image by adding up the second x and y +derivatives calculated using the Sobel operator: + +\f[\texttt{dst} = \Delta \texttt{src} = \frac{\partial^2 \texttt{src}}{\partial x^2} + \frac{\partial^2 \texttt{src}}{\partial y^2}\f] + +This is done when `ksize > 1`. When `ksize == 1`, the Laplacian is computed by filtering the image +with the following \f$3 \times 3\f$ aperture: + +\f[\vecthreethree {0}{1}{0}{1}{-4}{1}{0}{1}{0}\f] + +@param src Source image. +@param dst Destination image of the same size and the same number of channels as src . +@param ddepth Desired depth of the destination image. +@param ksize Aperture size used to compute the second-derivative filters. See getDerivKernels for +details. The size must be positive and odd. +@param scale Optional scale factor for the computed Laplacian values. By default, no scaling is +applied. See getDerivKernels for details. +@param delta Optional delta value that is added to the results prior to storing them in dst . +@param borderType Pixel extrapolation method, see cv::BorderTypes +@sa Sobel, Scharr + */ +CV_EXPORTS_W void Laplacian( InputArray src, OutputArray dst, int ddepth, + int ksize = 1, double scale = 1, double delta = 0, + int borderType = BORDER_DEFAULT ); + +//! @} imgproc_filter + +//! @addtogroup imgproc_feature +//! @{ + +/** @example edge.cpp + This program demonstrates usage of the Canny edge detector + + Check @ref tutorial_canny_detector "the corresponding tutorial" for more details +*/ + +/** @brief Finds edges in an image using the Canny algorithm @cite Canny86 . + +The function finds edges in the input image image and marks them in the output map edges using the +Canny algorithm. The smallest value between threshold1 and threshold2 is used for edge linking. The +largest value is used to find initial segments of strong edges. See + + +@param image 8-bit input image. +@param edges output edge map; single channels 8-bit image, which has the same size as image . +@param threshold1 first threshold for the hysteresis procedure. +@param threshold2 second threshold for the hysteresis procedure. +@param apertureSize aperture size for the Sobel operator. +@param L2gradient a flag, indicating whether a more accurate \f$L_2\f$ norm +\f$=\sqrt{(dI/dx)^2 + (dI/dy)^2}\f$ should be used to calculate the image gradient magnitude ( +L2gradient=true ), or whether the default \f$L_1\f$ norm \f$=|dI/dx|+|dI/dy|\f$ is enough ( +L2gradient=false ). + */ +CV_EXPORTS_W void Canny( InputArray image, OutputArray edges, + double threshold1, double threshold2, + int apertureSize = 3, bool L2gradient = false ); + +/** \overload + +Finds edges in an image using the Canny algorithm with custom image gradient. + +@param dx 16-bit x derivative of input image (CV_16SC1 or CV_16SC3). +@param dy 16-bit y derivative of input image (same type as dx). +@param edges,threshold1,threshold2,L2gradient See cv::Canny + */ +CV_EXPORTS_W void Canny( InputArray dx, InputArray dy, + OutputArray edges, + double threshold1, double threshold2, + bool L2gradient = false ); + +/** @brief Calculates the minimal eigenvalue of gradient matrices for corner detection. + +The function is similar to cornerEigenValsAndVecs but it calculates and stores only the minimal +eigenvalue of the covariance matrix of derivatives, that is, \f$\min(\lambda_1, \lambda_2)\f$ in terms +of the formulae in the cornerEigenValsAndVecs description. + +@param src Input single-channel 8-bit or floating-point image. +@param dst Image to store the minimal eigenvalues. It has the type CV_32FC1 and the same size as +src . +@param blockSize Neighborhood size (see the details on cornerEigenValsAndVecs ). +@param ksize Aperture parameter for the Sobel operator. +@param borderType Pixel extrapolation method. See cv::BorderTypes. + */ +CV_EXPORTS_W void cornerMinEigenVal( InputArray src, OutputArray dst, + int blockSize, int ksize = 3, + int borderType = BORDER_DEFAULT ); + +/** @brief Harris corner detector. + +The function runs the Harris corner detector on the image. Similarly to cornerMinEigenVal and +cornerEigenValsAndVecs , for each pixel \f$(x, y)\f$ it calculates a \f$2\times2\f$ gradient covariance +matrix \f$M^{(x,y)}\f$ over a \f$\texttt{blockSize} \times \texttt{blockSize}\f$ neighborhood. Then, it +computes the following characteristic: + +\f[\texttt{dst} (x,y) = \mathrm{det} M^{(x,y)} - k \cdot \left ( \mathrm{tr} M^{(x,y)} \right )^2\f] + +Corners in the image can be found as the local maxima of this response map. + +@param src Input single-channel 8-bit or floating-point image. +@param dst Image to store the Harris detector responses. It has the type CV_32FC1 and the same +size as src . +@param blockSize Neighborhood size (see the details on cornerEigenValsAndVecs ). +@param ksize Aperture parameter for the Sobel operator. +@param k Harris detector free parameter. See the formula below. +@param borderType Pixel extrapolation method. See cv::BorderTypes. + */ +CV_EXPORTS_W void cornerHarris( InputArray src, OutputArray dst, int blockSize, + int ksize, double k, + int borderType = BORDER_DEFAULT ); + +/** @brief Calculates eigenvalues and eigenvectors of image blocks for corner detection. + +For every pixel \f$p\f$ , the function cornerEigenValsAndVecs considers a blockSize \f$\times\f$ blockSize +neighborhood \f$S(p)\f$ . It calculates the covariation matrix of derivatives over the neighborhood as: + +\f[M = \begin{bmatrix} \sum _{S(p)}(dI/dx)^2 & \sum _{S(p)}dI/dx dI/dy \\ \sum _{S(p)}dI/dx dI/dy & \sum _{S(p)}(dI/dy)^2 \end{bmatrix}\f] + +where the derivatives are computed using the Sobel operator. + +After that, it finds eigenvectors and eigenvalues of \f$M\f$ and stores them in the destination image as +\f$(\lambda_1, \lambda_2, x_1, y_1, x_2, y_2)\f$ where + +- \f$\lambda_1, \lambda_2\f$ are the non-sorted eigenvalues of \f$M\f$ +- \f$x_1, y_1\f$ are the eigenvectors corresponding to \f$\lambda_1\f$ +- \f$x_2, y_2\f$ are the eigenvectors corresponding to \f$\lambda_2\f$ + +The output of the function can be used for robust edge or corner detection. + +@param src Input single-channel 8-bit or floating-point image. +@param dst Image to store the results. It has the same size as src and the type CV_32FC(6) . +@param blockSize Neighborhood size (see details below). +@param ksize Aperture parameter for the Sobel operator. +@param borderType Pixel extrapolation method. See cv::BorderTypes. + +@sa cornerMinEigenVal, cornerHarris, preCornerDetect + */ +CV_EXPORTS_W void cornerEigenValsAndVecs( InputArray src, OutputArray dst, + int blockSize, int ksize, + int borderType = BORDER_DEFAULT ); + +/** @brief Calculates a feature map for corner detection. + +The function calculates the complex spatial derivative-based function of the source image + +\f[\texttt{dst} = (D_x \texttt{src} )^2 \cdot D_{yy} \texttt{src} + (D_y \texttt{src} )^2 \cdot D_{xx} \texttt{src} - 2 D_x \texttt{src} \cdot D_y \texttt{src} \cdot D_{xy} \texttt{src}\f] + +where \f$D_x\f$,\f$D_y\f$ are the first image derivatives, \f$D_{xx}\f$,\f$D_{yy}\f$ are the second image +derivatives, and \f$D_{xy}\f$ is the mixed derivative. + +The corners can be found as local maximums of the functions, as shown below: +@code + Mat corners, dilated_corners; + preCornerDetect(image, corners, 3); + // dilation with 3x3 rectangular structuring element + dilate(corners, dilated_corners, Mat(), 1); + Mat corner_mask = corners == dilated_corners; +@endcode + +@param src Source single-channel 8-bit of floating-point image. +@param dst Output image that has the type CV_32F and the same size as src . +@param ksize %Aperture size of the Sobel . +@param borderType Pixel extrapolation method. See cv::BorderTypes. + */ +CV_EXPORTS_W void preCornerDetect( InputArray src, OutputArray dst, int ksize, + int borderType = BORDER_DEFAULT ); + +/** @brief Refines the corner locations. + +The function iterates to find the sub-pixel accurate location of corners or radial saddle points, as +shown on the figure below. + +![image](pics/cornersubpix.png) + +Sub-pixel accurate corner locator is based on the observation that every vector from the center \f$q\f$ +to a point \f$p\f$ located within a neighborhood of \f$q\f$ is orthogonal to the image gradient at \f$p\f$ +subject to image and measurement noise. Consider the expression: + +\f[\epsilon _i = {DI_{p_i}}^T \cdot (q - p_i)\f] + +where \f${DI_{p_i}}\f$ is an image gradient at one of the points \f$p_i\f$ in a neighborhood of \f$q\f$ . The +value of \f$q\f$ is to be found so that \f$\epsilon_i\f$ is minimized. A system of equations may be set up +with \f$\epsilon_i\f$ set to zero: + +\f[\sum _i(DI_{p_i} \cdot {DI_{p_i}}^T) - \sum _i(DI_{p_i} \cdot {DI_{p_i}}^T \cdot p_i)\f] + +where the gradients are summed within a neighborhood ("search window") of \f$q\f$ . Calling the first +gradient term \f$G\f$ and the second gradient term \f$b\f$ gives: + +\f[q = G^{-1} \cdot b\f] + +The algorithm sets the center of the neighborhood window at this new center \f$q\f$ and then iterates +until the center stays within a set threshold. + +@param image Input image. +@param corners Initial coordinates of the input corners and refined coordinates provided for +output. +@param winSize Half of the side length of the search window. For example, if winSize=Size(5,5) , +then a \f$5*2+1 \times 5*2+1 = 11 \times 11\f$ search window is used. +@param zeroZone Half of the size of the dead region in the middle of the search zone over which +the summation in the formula below is not done. It is used sometimes to avoid possible +singularities of the autocorrelation matrix. The value of (-1,-1) indicates that there is no such +a size. +@param criteria Criteria for termination of the iterative process of corner refinement. That is, +the process of corner position refinement stops either after criteria.maxCount iterations or when +the corner position moves by less than criteria.epsilon on some iteration. + */ +CV_EXPORTS_W void cornerSubPix( InputArray image, InputOutputArray corners, + Size winSize, Size zeroZone, + TermCriteria criteria ); + +/** @brief Determines strong corners on an image. + +The function finds the most prominent corners in the image or in the specified image region, as +described in @cite Shi94 + +- Function calculates the corner quality measure at every source image pixel using the + cornerMinEigenVal or cornerHarris . +- Function performs a non-maximum suppression (the local maximums in *3 x 3* neighborhood are + retained). +- The corners with the minimal eigenvalue less than + \f$\texttt{qualityLevel} \cdot \max_{x,y} qualityMeasureMap(x,y)\f$ are rejected. +- The remaining corners are sorted by the quality measure in the descending order. +- Function throws away each corner for which there is a stronger corner at a distance less than + maxDistance. + +The function can be used to initialize a point-based tracker of an object. + +@note If the function is called with different values A and B of the parameter qualityLevel , and +A \> B, the vector of returned corners with qualityLevel=A will be the prefix of the output vector +with qualityLevel=B . + +@param image Input 8-bit or floating-point 32-bit, single-channel image. +@param corners Output vector of detected corners. +@param maxCorners Maximum number of corners to return. If there are more corners than are found, +the strongest of them is returned. `maxCorners <= 0` implies that no limit on the maximum is set +and all detected corners are returned. +@param qualityLevel Parameter characterizing the minimal accepted quality of image corners. The +parameter value is multiplied by the best corner quality measure, which is the minimal eigenvalue +(see cornerMinEigenVal ) or the Harris function response (see cornerHarris ). The corners with the +quality measure less than the product are rejected. For example, if the best corner has the +quality measure = 1500, and the qualityLevel=0.01 , then all the corners with the quality measure +less than 15 are rejected. +@param minDistance Minimum possible Euclidean distance between the returned corners. +@param mask Optional region of interest. If the image is not empty (it needs to have the type +CV_8UC1 and the same size as image ), it specifies the region in which the corners are detected. +@param blockSize Size of an average block for computing a derivative covariation matrix over each +pixel neighborhood. See cornerEigenValsAndVecs . +@param useHarrisDetector Parameter indicating whether to use a Harris detector (see cornerHarris) +or cornerMinEigenVal. +@param k Free parameter of the Harris detector. + +@sa cornerMinEigenVal, cornerHarris, calcOpticalFlowPyrLK, estimateRigidTransform, + */ + +CV_EXPORTS_W void goodFeaturesToTrack( InputArray image, OutputArray corners, + int maxCorners, double qualityLevel, double minDistance, + InputArray mask = noArray(), int blockSize = 3, + bool useHarrisDetector = false, double k = 0.04 ); + +CV_EXPORTS_W void goodFeaturesToTrack( InputArray image, OutputArray corners, + int maxCorners, double qualityLevel, double minDistance, + InputArray mask, int blockSize, + int gradientSize, bool useHarrisDetector = false, + double k = 0.04 ); +/** @example houghlines.cpp +An example using the Hough line detector +![Sample input image](Hough_Lines_Tutorial_Original_Image.jpg) ![Output image](Hough_Lines_Tutorial_Result.jpg) +*/ + +/** @brief Finds lines in a binary image using the standard Hough transform. + +The function implements the standard or standard multi-scale Hough transform algorithm for line +detection. See for a good explanation of Hough +transform. + +@param image 8-bit, single-channel binary source image. The image may be modified by the function. +@param lines Output vector of lines. Each line is represented by a two-element vector +\f$(\rho, \theta)\f$ . \f$\rho\f$ is the distance from the coordinate origin \f$(0,0)\f$ (top-left corner of +the image). \f$\theta\f$ is the line rotation angle in radians ( +\f$0 \sim \textrm{vertical line}, \pi/2 \sim \textrm{horizontal line}\f$ ). +@param rho Distance resolution of the accumulator in pixels. +@param theta Angle resolution of the accumulator in radians. +@param threshold Accumulator threshold parameter. Only those lines are returned that get enough +votes ( \f$>\texttt{threshold}\f$ ). +@param srn For the multi-scale Hough transform, it is a divisor for the distance resolution rho . +The coarse accumulator distance resolution is rho and the accurate accumulator resolution is +rho/srn . If both srn=0 and stn=0 , the classical Hough transform is used. Otherwise, both these +parameters should be positive. +@param stn For the multi-scale Hough transform, it is a divisor for the distance resolution theta. +@param min_theta For standard and multi-scale Hough transform, minimum angle to check for lines. +Must fall between 0 and max_theta. +@param max_theta For standard and multi-scale Hough transform, maximum angle to check for lines. +Must fall between min_theta and CV_PI. + */ +CV_EXPORTS_W void HoughLines( InputArray image, OutputArray lines, + double rho, double theta, int threshold, + double srn = 0, double stn = 0, + double min_theta = 0, double max_theta = CV_PI ); + +/** @brief Finds line segments in a binary image using the probabilistic Hough transform. + +The function implements the probabilistic Hough transform algorithm for line detection, described +in @cite Matas00 + +See the line detection example below: + +@code + #include + #include + + using namespace cv; + using namespace std; + + int main(int argc, char** argv) + { + Mat src, dst, color_dst; + if( argc != 2 || !(src=imread(argv[1], 0)).data) + return -1; + + Canny( src, dst, 50, 200, 3 ); + cvtColor( dst, color_dst, COLOR_GRAY2BGR ); + + #if 0 + vector lines; + HoughLines( dst, lines, 1, CV_PI/180, 100 ); + + for( size_t i = 0; i < lines.size(); i++ ) + { + float rho = lines[i][0]; + float theta = lines[i][1]; + double a = cos(theta), b = sin(theta); + double x0 = a*rho, y0 = b*rho; + Point pt1(cvRound(x0 + 1000*(-b)), + cvRound(y0 + 1000*(a))); + Point pt2(cvRound(x0 - 1000*(-b)), + cvRound(y0 - 1000*(a))); + line( color_dst, pt1, pt2, Scalar(0,0,255), 3, 8 ); + } + #else + vector lines; + HoughLinesP( dst, lines, 1, CV_PI/180, 80, 30, 10 ); + for( size_t i = 0; i < lines.size(); i++ ) + { + line( color_dst, Point(lines[i][0], lines[i][1]), + Point(lines[i][2], lines[i][3]), Scalar(0,0,255), 3, 8 ); + } + #endif + namedWindow( "Source", 1 ); + imshow( "Source", src ); + + namedWindow( "Detected Lines", 1 ); + imshow( "Detected Lines", color_dst ); + + waitKey(0); + return 0; + } +@endcode +This is a sample picture the function parameters have been tuned for: + +![image](pics/building.jpg) + +And this is the output of the above program in case of the probabilistic Hough transform: + +![image](pics/houghp.png) + +@param image 8-bit, single-channel binary source image. The image may be modified by the function. +@param lines Output vector of lines. Each line is represented by a 4-element vector +\f$(x_1, y_1, x_2, y_2)\f$ , where \f$(x_1,y_1)\f$ and \f$(x_2, y_2)\f$ are the ending points of each detected +line segment. +@param rho Distance resolution of the accumulator in pixels. +@param theta Angle resolution of the accumulator in radians. +@param threshold Accumulator threshold parameter. Only those lines are returned that get enough +votes ( \f$>\texttt{threshold}\f$ ). +@param minLineLength Minimum line length. Line segments shorter than that are rejected. +@param maxLineGap Maximum allowed gap between points on the same line to link them. + +@sa LineSegmentDetector + */ +CV_EXPORTS_W void HoughLinesP( InputArray image, OutputArray lines, + double rho, double theta, int threshold, + double minLineLength = 0, double maxLineGap = 0 ); + +/** @example houghcircles.cpp +An example using the Hough circle detector +*/ + +/** @brief Finds circles in a grayscale image using the Hough transform. + +The function finds circles in a grayscale image using a modification of the Hough transform. + +Example: : +@code + #include + #include + #include + + using namespace cv; + using namespace std; + + int main(int argc, char** argv) + { + Mat img, gray; + if( argc != 2 || !(img=imread(argv[1], 1)).data) + return -1; + cvtColor(img, gray, COLOR_BGR2GRAY); + // smooth it, otherwise a lot of false circles may be detected + GaussianBlur( gray, gray, Size(9, 9), 2, 2 ); + vector circles; + HoughCircles(gray, circles, HOUGH_GRADIENT, + 2, gray.rows/4, 200, 100 ); + for( size_t i = 0; i < circles.size(); i++ ) + { + Point center(cvRound(circles[i][0]), cvRound(circles[i][1])); + int radius = cvRound(circles[i][2]); + // draw the circle center + circle( img, center, 3, Scalar(0,255,0), -1, 8, 0 ); + // draw the circle outline + circle( img, center, radius, Scalar(0,0,255), 3, 8, 0 ); + } + namedWindow( "circles", 1 ); + imshow( "circles", img ); + + waitKey(0); + return 0; + } +@endcode + +@note Usually the function detects the centers of circles well. However, it may fail to find correct +radii. You can assist to the function by specifying the radius range ( minRadius and maxRadius ) if +you know it. Or, you may ignore the returned radius, use only the center, and find the correct +radius using an additional procedure. + +@param image 8-bit, single-channel, grayscale input image. +@param circles Output vector of found circles. Each vector is encoded as a 3-element +floating-point vector \f$(x, y, radius)\f$ . +@param method Detection method, see cv::HoughModes. Currently, the only implemented method is HOUGH_GRADIENT +@param dp Inverse ratio of the accumulator resolution to the image resolution. For example, if +dp=1 , the accumulator has the same resolution as the input image. If dp=2 , the accumulator has +half as big width and height. +@param minDist Minimum distance between the centers of the detected circles. If the parameter is +too small, multiple neighbor circles may be falsely detected in addition to a true one. If it is +too large, some circles may be missed. +@param param1 First method-specific parameter. In case of CV_HOUGH_GRADIENT , it is the higher +threshold of the two passed to the Canny edge detector (the lower one is twice smaller). +@param param2 Second method-specific parameter. In case of CV_HOUGH_GRADIENT , it is the +accumulator threshold for the circle centers at the detection stage. The smaller it is, the more +false circles may be detected. Circles, corresponding to the larger accumulator values, will be +returned first. +@param minRadius Minimum circle radius. +@param maxRadius Maximum circle radius. + +@sa fitEllipse, minEnclosingCircle + */ +CV_EXPORTS_W void HoughCircles( InputArray image, OutputArray circles, + int method, double dp, double minDist, + double param1 = 100, double param2 = 100, + int minRadius = 0, int maxRadius = 0 ); + +//! @} imgproc_feature + +//! @addtogroup imgproc_filter +//! @{ + +/** @example morphology2.cpp +Advanced morphology Transformations sample code +![Sample screenshot](Morphology_2_Tutorial_Result.jpg) +Check @ref tutorial_opening_closing_hats "the corresponding tutorial" for more details +*/ + +/** @brief Erodes an image by using a specific structuring element. + +The function erodes the source image using the specified structuring element that determines the +shape of a pixel neighborhood over which the minimum is taken: + +\f[\texttt{dst} (x,y) = \min _{(x',y'): \, \texttt{element} (x',y') \ne0 } \texttt{src} (x+x',y+y')\f] + +The function supports the in-place mode. Erosion can be applied several ( iterations ) times. In +case of multi-channel images, each channel is processed independently. + +@param src input image; the number of channels can be arbitrary, but the depth should be one of +CV_8U, CV_16U, CV_16S, CV_32F or CV_64F. +@param dst output image of the same size and type as src. +@param kernel structuring element used for erosion; if `element=Mat()`, a `3 x 3` rectangular +structuring element is used. Kernel can be created using getStructuringElement. +@param anchor position of the anchor within the element; default value (-1, -1) means that the +anchor is at the element center. +@param iterations number of times erosion is applied. +@param borderType pixel extrapolation method, see cv::BorderTypes +@param borderValue border value in case of a constant border +@sa dilate, morphologyEx, getStructuringElement + */ +CV_EXPORTS_W void erode( InputArray src, OutputArray dst, InputArray kernel, + Point anchor = Point(-1,-1), int iterations = 1, + int borderType = BORDER_CONSTANT, + const Scalar& borderValue = morphologyDefaultBorderValue() ); + +/** @example Morphology_1.cpp +Erosion and Dilation sample code +![Sample Screenshot-Erosion](Morphology_1_Tutorial_Erosion_Result.jpg)![Sample Screenshot-Dilation](Morphology_1_Tutorial_Dilation_Result.jpg) +Check @ref tutorial_erosion_dilatation "the corresponding tutorial" for more details + */ +/** @brief Dilates an image by using a specific structuring element. + +The function dilates the source image using the specified structuring element that determines the +shape of a pixel neighborhood over which the maximum is taken: +\f[\texttt{dst} (x,y) = \max _{(x',y'): \, \texttt{element} (x',y') \ne0 } \texttt{src} (x+x',y+y')\f] + +The function supports the in-place mode. Dilation can be applied several ( iterations ) times. In +case of multi-channel images, each channel is processed independently. + +@param src input image; the number of channels can be arbitrary, but the depth should be one of +CV_8U, CV_16U, CV_16S, CV_32F or CV_64F. +@param dst output image of the same size and type as src\`. +@param kernel structuring element used for dilation; if elemenat=Mat(), a 3 x 3 rectangular +structuring element is used. Kernel can be created using getStructuringElement +@param anchor position of the anchor within the element; default value (-1, -1) means that the +anchor is at the element center. +@param iterations number of times dilation is applied. +@param borderType pixel extrapolation method, see cv::BorderTypes +@param borderValue border value in case of a constant border +@sa erode, morphologyEx, getStructuringElement + */ +CV_EXPORTS_W void dilate( InputArray src, OutputArray dst, InputArray kernel, + Point anchor = Point(-1,-1), int iterations = 1, + int borderType = BORDER_CONSTANT, + const Scalar& borderValue = morphologyDefaultBorderValue() ); + +/** @brief Performs advanced morphological transformations. + +The function morphologyEx can perform advanced morphological transformations using an erosion and dilation as +basic operations. + +Any of the operations can be done in-place. In case of multi-channel images, each channel is +processed independently. + +@param src Source image. The number of channels can be arbitrary. The depth should be one of +CV_8U, CV_16U, CV_16S, CV_32F or CV_64F. +@param dst Destination image of the same size and type as source image. +@param op Type of a morphological operation, see cv::MorphTypes +@param kernel Structuring element. It can be created using cv::getStructuringElement. +@param anchor Anchor position with the kernel. Negative values mean that the anchor is at the +kernel center. +@param iterations Number of times erosion and dilation are applied. +@param borderType Pixel extrapolation method, see cv::BorderTypes +@param borderValue Border value in case of a constant border. The default value has a special +meaning. +@sa dilate, erode, getStructuringElement +@note The number of iterations is the number of times erosion or dilatation operation will be applied. +For instance, an opening operation (#MORPH_OPEN) with two iterations is equivalent to apply +successively: erode -> erode -> dilate -> dilate (and not erode -> dilate -> erode -> dilate). + */ +CV_EXPORTS_W void morphologyEx( InputArray src, OutputArray dst, + int op, InputArray kernel, + Point anchor = Point(-1,-1), int iterations = 1, + int borderType = BORDER_CONSTANT, + const Scalar& borderValue = morphologyDefaultBorderValue() ); + +//! @} imgproc_filter + +//! @addtogroup imgproc_transform +//! @{ + +/** @brief Resizes an image. + +The function resize resizes the image src down to or up to the specified size. Note that the +initial dst type or size are not taken into account. Instead, the size and type are derived from +the `src`,`dsize`,`fx`, and `fy`. If you want to resize src so that it fits the pre-created dst, +you may call the function as follows: +@code + // explicitly specify dsize=dst.size(); fx and fy will be computed from that. + resize(src, dst, dst.size(), 0, 0, interpolation); +@endcode +If you want to decimate the image by factor of 2 in each direction, you can call the function this +way: +@code + // specify fx and fy and let the function compute the destination image size. + resize(src, dst, Size(), 0.5, 0.5, interpolation); +@endcode +To shrink an image, it will generally look best with cv::INTER_AREA interpolation, whereas to +enlarge an image, it will generally look best with cv::INTER_CUBIC (slow) or cv::INTER_LINEAR +(faster but still looks OK). + +@param src input image. +@param dst output image; it has the size dsize (when it is non-zero) or the size computed from +src.size(), fx, and fy; the type of dst is the same as of src. +@param dsize output image size; if it equals zero, it is computed as: + \f[\texttt{dsize = Size(round(fx*src.cols), round(fy*src.rows))}\f] + Either dsize or both fx and fy must be non-zero. +@param fx scale factor along the horizontal axis; when it equals 0, it is computed as +\f[\texttt{(double)dsize.width/src.cols}\f] +@param fy scale factor along the vertical axis; when it equals 0, it is computed as +\f[\texttt{(double)dsize.height/src.rows}\f] +@param interpolation interpolation method, see cv::InterpolationFlags + +@sa warpAffine, warpPerspective, remap + */ +CV_EXPORTS_W void resize( InputArray src, OutputArray dst, + Size dsize, double fx = 0, double fy = 0, + int interpolation = INTER_LINEAR ); + +/** @brief Applies an affine transformation to an image. + +The function warpAffine transforms the source image using the specified matrix: + +\f[\texttt{dst} (x,y) = \texttt{src} ( \texttt{M} _{11} x + \texttt{M} _{12} y + \texttt{M} _{13}, \texttt{M} _{21} x + \texttt{M} _{22} y + \texttt{M} _{23})\f] + +when the flag WARP_INVERSE_MAP is set. Otherwise, the transformation is first inverted +with cv::invertAffineTransform and then put in the formula above instead of M. The function cannot +operate in-place. + +@param src input image. +@param dst output image that has the size dsize and the same type as src . +@param M \f$2\times 3\f$ transformation matrix. +@param dsize size of the output image. +@param flags combination of interpolation methods (see cv::InterpolationFlags) and the optional +flag WARP_INVERSE_MAP that means that M is the inverse transformation ( +\f$\texttt{dst}\rightarrow\texttt{src}\f$ ). +@param borderMode pixel extrapolation method (see cv::BorderTypes); when +borderMode=BORDER_TRANSPARENT, it means that the pixels in the destination image corresponding to +the "outliers" in the source image are not modified by the function. +@param borderValue value used in case of a constant border; by default, it is 0. + +@sa warpPerspective, resize, remap, getRectSubPix, transform + */ +CV_EXPORTS_W void warpAffine( InputArray src, OutputArray dst, + InputArray M, Size dsize, + int flags = INTER_LINEAR, + int borderMode = BORDER_CONSTANT, + const Scalar& borderValue = Scalar()); + +/** @example warpPerspective_demo.cpp +An example program shows using cv::findHomography and cv::warpPerspective for image warping + */ +/** @brief Applies a perspective transformation to an image. + +The function warpPerspective transforms the source image using the specified matrix: + +\f[\texttt{dst} (x,y) = \texttt{src} \left ( \frac{M_{11} x + M_{12} y + M_{13}}{M_{31} x + M_{32} y + M_{33}} , + \frac{M_{21} x + M_{22} y + M_{23}}{M_{31} x + M_{32} y + M_{33}} \right )\f] + +when the flag WARP_INVERSE_MAP is set. Otherwise, the transformation is first inverted with invert +and then put in the formula above instead of M. The function cannot operate in-place. + +@param src input image. +@param dst output image that has the size dsize and the same type as src . +@param M \f$3\times 3\f$ transformation matrix. +@param dsize size of the output image. +@param flags combination of interpolation methods (INTER_LINEAR or INTER_NEAREST) and the +optional flag WARP_INVERSE_MAP, that sets M as the inverse transformation ( +\f$\texttt{dst}\rightarrow\texttt{src}\f$ ). +@param borderMode pixel extrapolation method (BORDER_CONSTANT or BORDER_REPLICATE). +@param borderValue value used in case of a constant border; by default, it equals 0. + +@sa warpAffine, resize, remap, getRectSubPix, perspectiveTransform + */ +CV_EXPORTS_W void warpPerspective( InputArray src, OutputArray dst, + InputArray M, Size dsize, + int flags = INTER_LINEAR, + int borderMode = BORDER_CONSTANT, + const Scalar& borderValue = Scalar()); + +/** @brief Applies a generic geometrical transformation to an image. + +The function remap transforms the source image using the specified map: + +\f[\texttt{dst} (x,y) = \texttt{src} (map_x(x,y),map_y(x,y))\f] + +where values of pixels with non-integer coordinates are computed using one of available +interpolation methods. \f$map_x\f$ and \f$map_y\f$ can be encoded as separate floating-point maps +in \f$map_1\f$ and \f$map_2\f$ respectively, or interleaved floating-point maps of \f$(x,y)\f$ in +\f$map_1\f$, or fixed-point maps created by using convertMaps. The reason you might want to +convert from floating to fixed-point representations of a map is that they can yield much faster +(\~2x) remapping operations. In the converted case, \f$map_1\f$ contains pairs (cvFloor(x), +cvFloor(y)) and \f$map_2\f$ contains indices in a table of interpolation coefficients. + +This function cannot operate in-place. + +@param src Source image. +@param dst Destination image. It has the same size as map1 and the same type as src . +@param map1 The first map of either (x,y) points or just x values having the type CV_16SC2 , +CV_32FC1, or CV_32FC2. See convertMaps for details on converting a floating point +representation to fixed-point for speed. +@param map2 The second map of y values having the type CV_16UC1, CV_32FC1, or none (empty map +if map1 is (x,y) points), respectively. +@param interpolation Interpolation method (see cv::InterpolationFlags). The method INTER_AREA is +not supported by this function. +@param borderMode Pixel extrapolation method (see cv::BorderTypes). When +borderMode=BORDER_TRANSPARENT, it means that the pixels in the destination image that +corresponds to the "outliers" in the source image are not modified by the function. +@param borderValue Value used in case of a constant border. By default, it is 0. +@note +Due to current implementaion limitations the size of an input and output images should be less than 32767x32767. + */ +CV_EXPORTS_W void remap( InputArray src, OutputArray dst, + InputArray map1, InputArray map2, + int interpolation, int borderMode = BORDER_CONSTANT, + const Scalar& borderValue = Scalar()); + +/** @brief Converts image transformation maps from one representation to another. + +The function converts a pair of maps for remap from one representation to another. The following +options ( (map1.type(), map2.type()) \f$\rightarrow\f$ (dstmap1.type(), dstmap2.type()) ) are +supported: + +- \f$\texttt{(CV_32FC1, CV_32FC1)} \rightarrow \texttt{(CV_16SC2, CV_16UC1)}\f$. This is the +most frequently used conversion operation, in which the original floating-point maps (see remap ) +are converted to a more compact and much faster fixed-point representation. The first output array +contains the rounded coordinates and the second array (created only when nninterpolation=false ) +contains indices in the interpolation tables. + +- \f$\texttt{(CV_32FC2)} \rightarrow \texttt{(CV_16SC2, CV_16UC1)}\f$. The same as above but +the original maps are stored in one 2-channel matrix. + +- Reverse conversion. Obviously, the reconstructed floating-point maps will not be exactly the same +as the originals. + +@param map1 The first input map of type CV_16SC2, CV_32FC1, or CV_32FC2 . +@param map2 The second input map of type CV_16UC1, CV_32FC1, or none (empty matrix), +respectively. +@param dstmap1 The first output map that has the type dstmap1type and the same size as src . +@param dstmap2 The second output map. +@param dstmap1type Type of the first output map that should be CV_16SC2, CV_32FC1, or +CV_32FC2 . +@param nninterpolation Flag indicating whether the fixed-point maps are used for the +nearest-neighbor or for a more complex interpolation. + +@sa remap, undistort, initUndistortRectifyMap + */ +CV_EXPORTS_W void convertMaps( InputArray map1, InputArray map2, + OutputArray dstmap1, OutputArray dstmap2, + int dstmap1type, bool nninterpolation = false ); + +/** @brief Calculates an affine matrix of 2D rotation. + +The function calculates the following matrix: + +\f[\begin{bmatrix} \alpha & \beta & (1- \alpha ) \cdot \texttt{center.x} - \beta \cdot \texttt{center.y} \\ - \beta & \alpha & \beta \cdot \texttt{center.x} + (1- \alpha ) \cdot \texttt{center.y} \end{bmatrix}\f] + +where + +\f[\begin{array}{l} \alpha = \texttt{scale} \cdot \cos \texttt{angle} , \\ \beta = \texttt{scale} \cdot \sin \texttt{angle} \end{array}\f] + +The transformation maps the rotation center to itself. If this is not the target, adjust the shift. + +@param center Center of the rotation in the source image. +@param angle Rotation angle in degrees. Positive values mean counter-clockwise rotation (the +coordinate origin is assumed to be the top-left corner). +@param scale Isotropic scale factor. + +@sa getAffineTransform, warpAffine, transform + */ +CV_EXPORTS_W Mat getRotationMatrix2D( Point2f center, double angle, double scale ); + +//! returns 3x3 perspective transformation for the corresponding 4 point pairs. +CV_EXPORTS Mat getPerspectiveTransform( const Point2f src[], const Point2f dst[] ); + +/** @brief Calculates an affine transform from three pairs of the corresponding points. + +The function calculates the \f$2 \times 3\f$ matrix of an affine transform so that: + +\f[\begin{bmatrix} x'_i \\ y'_i \end{bmatrix} = \texttt{map_matrix} \cdot \begin{bmatrix} x_i \\ y_i \\ 1 \end{bmatrix}\f] + +where + +\f[dst(i)=(x'_i,y'_i), src(i)=(x_i, y_i), i=0,1,2\f] + +@param src Coordinates of triangle vertices in the source image. +@param dst Coordinates of the corresponding triangle vertices in the destination image. + +@sa warpAffine, transform + */ +CV_EXPORTS Mat getAffineTransform( const Point2f src[], const Point2f dst[] ); + +/** @brief Inverts an affine transformation. + +The function computes an inverse affine transformation represented by \f$2 \times 3\f$ matrix M: + +\f[\begin{bmatrix} a_{11} & a_{12} & b_1 \\ a_{21} & a_{22} & b_2 \end{bmatrix}\f] + +The result is also a \f$2 \times 3\f$ matrix of the same type as M. + +@param M Original affine transformation. +@param iM Output reverse affine transformation. + */ +CV_EXPORTS_W void invertAffineTransform( InputArray M, OutputArray iM ); + +/** @brief Calculates a perspective transform from four pairs of the corresponding points. + +The function calculates the \f$3 \times 3\f$ matrix of a perspective transform so that: + +\f[\begin{bmatrix} t_i x'_i \\ t_i y'_i \\ t_i \end{bmatrix} = \texttt{map_matrix} \cdot \begin{bmatrix} x_i \\ y_i \\ 1 \end{bmatrix}\f] + +where + +\f[dst(i)=(x'_i,y'_i), src(i)=(x_i, y_i), i=0,1,2,3\f] + +@param src Coordinates of quadrangle vertices in the source image. +@param dst Coordinates of the corresponding quadrangle vertices in the destination image. + +@sa findHomography, warpPerspective, perspectiveTransform + */ +CV_EXPORTS_W Mat getPerspectiveTransform( InputArray src, InputArray dst ); + +CV_EXPORTS_W Mat getAffineTransform( InputArray src, InputArray dst ); + +/** @brief Retrieves a pixel rectangle from an image with sub-pixel accuracy. + +The function getRectSubPix extracts pixels from src: + +\f[dst(x, y) = src(x + \texttt{center.x} - ( \texttt{dst.cols} -1)*0.5, y + \texttt{center.y} - ( \texttt{dst.rows} -1)*0.5)\f] + +where the values of the pixels at non-integer coordinates are retrieved using bilinear +interpolation. Every channel of multi-channel images is processed independently. While the center of +the rectangle must be inside the image, parts of the rectangle may be outside. In this case, the +replication border mode (see cv::BorderTypes) is used to extrapolate the pixel values outside of +the image. + +@param image Source image. +@param patchSize Size of the extracted patch. +@param center Floating point coordinates of the center of the extracted rectangle within the +source image. The center must be inside the image. +@param patch Extracted patch that has the size patchSize and the same number of channels as src . +@param patchType Depth of the extracted pixels. By default, they have the same depth as src . + +@sa warpAffine, warpPerspective + */ +CV_EXPORTS_W void getRectSubPix( InputArray image, Size patchSize, + Point2f center, OutputArray patch, int patchType = -1 ); + +/** @example polar_transforms.cpp +An example using the cv::linearPolar and cv::logPolar operations +*/ + +/** @brief Remaps an image to semilog-polar coordinates space. + +Transform the source image using the following transformation (See @ref polar_remaps_reference_image "Polar remaps reference image"): +\f[\begin{array}{l} + dst( \rho , \phi ) = src(x,y) \\ + dst.size() \leftarrow src.size() +\end{array}\f] + +where +\f[\begin{array}{l} + I = (dx,dy) = (x - center.x,y - center.y) \\ + \rho = M \cdot log_e(\texttt{magnitude} (I)) ,\\ + \phi = Ky \cdot \texttt{angle} (I)_{0..360 deg} \\ +\end{array}\f] + +and +\f[\begin{array}{l} + M = src.cols / log_e(maxRadius) \\ + Ky = src.rows / 360 \\ +\end{array}\f] + +The function emulates the human "foveal" vision and can be used for fast scale and +rotation-invariant template matching, for object tracking and so forth. +@param src Source image +@param dst Destination image. It will have same size and type as src. +@param center The transformation center; where the output precision is maximal +@param M Magnitude scale parameter. It determines the radius of the bounding circle to transform too. +@param flags A combination of interpolation methods, see cv::InterpolationFlags + +@note +- The function can not operate in-place. +- To calculate magnitude and angle in degrees @ref cv::cartToPolar is used internally thus angles are measured from 0 to 360 with accuracy about 0.3 degrees. +*/ +CV_EXPORTS_W void logPolar( InputArray src, OutputArray dst, + Point2f center, double M, int flags ); + +/** @brief Remaps an image to polar coordinates space. + +@anchor polar_remaps_reference_image +![Polar remaps reference](pics/polar_remap_doc.png) + +Transform the source image using the following transformation: +\f[\begin{array}{l} + dst( \rho , \phi ) = src(x,y) \\ + dst.size() \leftarrow src.size() +\end{array}\f] + +where +\f[\begin{array}{l} + I = (dx,dy) = (x - center.x,y - center.y) \\ + \rho = Kx \cdot \texttt{magnitude} (I) ,\\ + \phi = Ky \cdot \texttt{angle} (I)_{0..360 deg} +\end{array}\f] + +and +\f[\begin{array}{l} + Kx = src.cols / maxRadius \\ + Ky = src.rows / 360 +\end{array}\f] + + +@param src Source image +@param dst Destination image. It will have same size and type as src. +@param center The transformation center; +@param maxRadius The radius of the bounding circle to transform. It determines the inverse magnitude scale parameter too. +@param flags A combination of interpolation methods, see cv::InterpolationFlags + +@note +- The function can not operate in-place. +- To calculate magnitude and angle in degrees @ref cv::cartToPolar is used internally thus angles are measured from 0 to 360 with accuracy about 0.3 degrees. + +*/ +CV_EXPORTS_W void linearPolar( InputArray src, OutputArray dst, + Point2f center, double maxRadius, int flags ); + +//! @} imgproc_transform + +//! @addtogroup imgproc_misc +//! @{ + +/** @overload */ +CV_EXPORTS_W void integral( InputArray src, OutputArray sum, int sdepth = -1 ); + +/** @overload */ +CV_EXPORTS_AS(integral2) void integral( InputArray src, OutputArray sum, + OutputArray sqsum, int sdepth = -1, int sqdepth = -1 ); + +/** @brief Calculates the integral of an image. + +The function calculates one or more integral images for the source image as follows: + +\f[\texttt{sum} (X,Y) = \sum _{x + +Calculates the cross-power spectrum of two supplied source arrays. The arrays are padded if needed +with getOptimalDFTSize. + +The function performs the following equations: +- First it applies a Hanning window (see ) to each +image to remove possible edge effects. This window is cached until the array size changes to speed +up processing time. +- Next it computes the forward DFTs of each source array: +\f[\mathbf{G}_a = \mathcal{F}\{src_1\}, \; \mathbf{G}_b = \mathcal{F}\{src_2\}\f] +where \f$\mathcal{F}\f$ is the forward DFT. +- It then computes the cross-power spectrum of each frequency domain array: +\f[R = \frac{ \mathbf{G}_a \mathbf{G}_b^*}{|\mathbf{G}_a \mathbf{G}_b^*|}\f] +- Next the cross-correlation is converted back into the time domain via the inverse DFT: +\f[r = \mathcal{F}^{-1}\{R\}\f] +- Finally, it computes the peak location and computes a 5x5 weighted centroid around the peak to +achieve sub-pixel accuracy. +\f[(\Delta x, \Delta y) = \texttt{weightedCentroid} \{\arg \max_{(x, y)}\{r\}\}\f] +- If non-zero, the response parameter is computed as the sum of the elements of r within the 5x5 +centroid around the peak location. It is normalized to a maximum of 1 (meaning there is a single +peak) and will be smaller when there are multiple peaks. + +@param src1 Source floating point array (CV_32FC1 or CV_64FC1) +@param src2 Source floating point array (CV_32FC1 or CV_64FC1) +@param window Floating point array with windowing coefficients to reduce edge effects (optional). +@param response Signal power within the 5x5 centroid around the peak, between 0 and 1 (optional). +@returns detected phase shift (sub-pixel) between the two arrays. + +@sa dft, getOptimalDFTSize, idft, mulSpectrums createHanningWindow + */ +CV_EXPORTS_W Point2d phaseCorrelate(InputArray src1, InputArray src2, + InputArray window = noArray(), CV_OUT double* response = 0); + +/** @brief This function computes a Hanning window coefficients in two dimensions. + +See (http://en.wikipedia.org/wiki/Hann_function) and (http://en.wikipedia.org/wiki/Window_function) +for more information. + +An example is shown below: +@code + // create hanning window of size 100x100 and type CV_32F + Mat hann; + createHanningWindow(hann, Size(100, 100), CV_32F); +@endcode +@param dst Destination array to place Hann coefficients in +@param winSize The window size specifications (both width and height must be > 1) +@param type Created array type + */ +CV_EXPORTS_W void createHanningWindow(OutputArray dst, Size winSize, int type); + +//! @} imgproc_motion + +//! @addtogroup imgproc_misc +//! @{ + +/** @brief Applies a fixed-level threshold to each array element. + +The function applies fixed-level thresholding to a multiple-channel array. The function is typically +used to get a bi-level (binary) image out of a grayscale image ( cv::compare could be also used for +this purpose) or for removing a noise, that is, filtering out pixels with too small or too large +values. There are several types of thresholding supported by the function. They are determined by +type parameter. + +Also, the special values cv::THRESH_OTSU or cv::THRESH_TRIANGLE may be combined with one of the +above values. In these cases, the function determines the optimal threshold value using the Otsu's +or Triangle algorithm and uses it instead of the specified thresh . The function returns the +computed threshold value. Currently, the Otsu's and Triangle methods are implemented only for 8-bit +images. + +@note Input image should be single channel only in case of CV_THRESH_OTSU or CV_THRESH_TRIANGLE flags + +@param src input array (multiple-channel, 8-bit or 32-bit floating point). +@param dst output array of the same size and type and the same number of channels as src. +@param thresh threshold value. +@param maxval maximum value to use with the THRESH_BINARY and THRESH_BINARY_INV thresholding +types. +@param type thresholding type (see the cv::ThresholdTypes). + +@sa adaptiveThreshold, findContours, compare, min, max + */ +CV_EXPORTS_W double threshold( InputArray src, OutputArray dst, + double thresh, double maxval, int type ); + + +/** @brief Applies an adaptive threshold to an array. + +The function transforms a grayscale image to a binary image according to the formulae: +- **THRESH_BINARY** + \f[dst(x,y) = \fork{\texttt{maxValue}}{if \(src(x,y) > T(x,y)\)}{0}{otherwise}\f] +- **THRESH_BINARY_INV** + \f[dst(x,y) = \fork{0}{if \(src(x,y) > T(x,y)\)}{\texttt{maxValue}}{otherwise}\f] +where \f$T(x,y)\f$ is a threshold calculated individually for each pixel (see adaptiveMethod parameter). + +The function can process the image in-place. + +@param src Source 8-bit single-channel image. +@param dst Destination image of the same size and the same type as src. +@param maxValue Non-zero value assigned to the pixels for which the condition is satisfied +@param adaptiveMethod Adaptive thresholding algorithm to use, see cv::AdaptiveThresholdTypes +@param thresholdType Thresholding type that must be either THRESH_BINARY or THRESH_BINARY_INV, +see cv::ThresholdTypes. +@param blockSize Size of a pixel neighborhood that is used to calculate a threshold value for the +pixel: 3, 5, 7, and so on. +@param C Constant subtracted from the mean or weighted mean (see the details below). Normally, it +is positive but may be zero or negative as well. + +@sa threshold, blur, GaussianBlur + */ +CV_EXPORTS_W void adaptiveThreshold( InputArray src, OutputArray dst, + double maxValue, int adaptiveMethod, + int thresholdType, int blockSize, double C ); + +//! @} imgproc_misc + +//! @addtogroup imgproc_filter +//! @{ + +/** @example Pyramids.cpp +An example using pyrDown and pyrUp functions + */ +/** @brief Blurs an image and downsamples it. + +By default, size of the output image is computed as `Size((src.cols+1)/2, (src.rows+1)/2)`, but in +any case, the following conditions should be satisfied: + +\f[\begin{array}{l} | \texttt{dstsize.width} *2-src.cols| \leq 2 \\ | \texttt{dstsize.height} *2-src.rows| \leq 2 \end{array}\f] + +The function performs the downsampling step of the Gaussian pyramid construction. First, it +convolves the source image with the kernel: + +\f[\frac{1}{256} \begin{bmatrix} 1 & 4 & 6 & 4 & 1 \\ 4 & 16 & 24 & 16 & 4 \\ 6 & 24 & 36 & 24 & 6 \\ 4 & 16 & 24 & 16 & 4 \\ 1 & 4 & 6 & 4 & 1 \end{bmatrix}\f] + +Then, it downsamples the image by rejecting even rows and columns. + +@param src input image. +@param dst output image; it has the specified size and the same type as src. +@param dstsize size of the output image. +@param borderType Pixel extrapolation method, see cv::BorderTypes (BORDER_CONSTANT isn't supported) + */ +CV_EXPORTS_W void pyrDown( InputArray src, OutputArray dst, + const Size& dstsize = Size(), int borderType = BORDER_DEFAULT ); + +/** @brief Upsamples an image and then blurs it. + +By default, size of the output image is computed as `Size(src.cols\*2, (src.rows\*2)`, but in any +case, the following conditions should be satisfied: + +\f[\begin{array}{l} | \texttt{dstsize.width} -src.cols*2| \leq ( \texttt{dstsize.width} \mod 2) \\ | \texttt{dstsize.height} -src.rows*2| \leq ( \texttt{dstsize.height} \mod 2) \end{array}\f] + +The function performs the upsampling step of the Gaussian pyramid construction, though it can +actually be used to construct the Laplacian pyramid. First, it upsamples the source image by +injecting even zero rows and columns and then convolves the result with the same kernel as in +pyrDown multiplied by 4. + +@param src input image. +@param dst output image. It has the specified size and the same type as src . +@param dstsize size of the output image. +@param borderType Pixel extrapolation method, see cv::BorderTypes (only BORDER_DEFAULT is supported) + */ +CV_EXPORTS_W void pyrUp( InputArray src, OutputArray dst, + const Size& dstsize = Size(), int borderType = BORDER_DEFAULT ); + +/** @brief Constructs the Gaussian pyramid for an image. + +The function constructs a vector of images and builds the Gaussian pyramid by recursively applying +pyrDown to the previously built pyramid layers, starting from `dst[0]==src`. + +@param src Source image. Check pyrDown for the list of supported types. +@param dst Destination vector of maxlevel+1 images of the same type as src. dst[0] will be the +same as src. dst[1] is the next pyramid layer, a smoothed and down-sized src, and so on. +@param maxlevel 0-based index of the last (the smallest) pyramid layer. It must be non-negative. +@param borderType Pixel extrapolation method, see cv::BorderTypes (BORDER_CONSTANT isn't supported) + */ +CV_EXPORTS void buildPyramid( InputArray src, OutputArrayOfArrays dst, + int maxlevel, int borderType = BORDER_DEFAULT ); + +//! @} imgproc_filter + +//! @addtogroup imgproc_transform +//! @{ + +/** @brief Transforms an image to compensate for lens distortion. + +The function transforms an image to compensate radial and tangential lens distortion. + +The function is simply a combination of cv::initUndistortRectifyMap (with unity R ) and cv::remap +(with bilinear interpolation). See the former function for details of the transformation being +performed. + +Those pixels in the destination image, for which there is no correspondent pixels in the source +image, are filled with zeros (black color). + +A particular subset of the source image that will be visible in the corrected image can be regulated +by newCameraMatrix. You can use cv::getOptimalNewCameraMatrix to compute the appropriate +newCameraMatrix depending on your requirements. + +The camera matrix and the distortion parameters can be determined using cv::calibrateCamera. If +the resolution of images is different from the resolution used at the calibration stage, \f$f_x, +f_y, c_x\f$ and \f$c_y\f$ need to be scaled accordingly, while the distortion coefficients remain +the same. + +@param src Input (distorted) image. +@param dst Output (corrected) image that has the same size and type as src . +@param cameraMatrix Input camera matrix \f$A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\f$ . +@param distCoeffs Input vector of distortion coefficients +\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6[, s_1, s_2, s_3, s_4[, \tau_x, \tau_y]]]])\f$ +of 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are assumed. +@param newCameraMatrix Camera matrix of the distorted image. By default, it is the same as +cameraMatrix but you may additionally scale and shift the result by using a different matrix. + */ +CV_EXPORTS_W void undistort( InputArray src, OutputArray dst, + InputArray cameraMatrix, + InputArray distCoeffs, + InputArray newCameraMatrix = noArray() ); + +/** @brief Computes the undistortion and rectification transformation map. + +The function computes the joint undistortion and rectification transformation and represents the +result in the form of maps for remap. The undistorted image looks like original, as if it is +captured with a camera using the camera matrix =newCameraMatrix and zero distortion. In case of a +monocular camera, newCameraMatrix is usually equal to cameraMatrix, or it can be computed by +cv::getOptimalNewCameraMatrix for a better control over scaling. In case of a stereo camera, +newCameraMatrix is normally set to P1 or P2 computed by cv::stereoRectify . + +Also, this new camera is oriented differently in the coordinate space, according to R. That, for +example, helps to align two heads of a stereo camera so that the epipolar lines on both images +become horizontal and have the same y- coordinate (in case of a horizontally aligned stereo camera). + +The function actually builds the maps for the inverse mapping algorithm that is used by remap. That +is, for each pixel \f$(u, v)\f$ in the destination (corrected and rectified) image, the function +computes the corresponding coordinates in the source image (that is, in the original image from +camera). The following process is applied: +\f[ +\begin{array}{l} +x \leftarrow (u - {c'}_x)/{f'}_x \\ +y \leftarrow (v - {c'}_y)/{f'}_y \\ +{[X\,Y\,W]} ^T \leftarrow R^{-1}*[x \, y \, 1]^T \\ +x' \leftarrow X/W \\ +y' \leftarrow Y/W \\ +r^2 \leftarrow x'^2 + y'^2 \\ +x'' \leftarrow x' \frac{1 + k_1 r^2 + k_2 r^4 + k_3 r^6}{1 + k_4 r^2 + k_5 r^4 + k_6 r^6} ++ 2p_1 x' y' + p_2(r^2 + 2 x'^2) + s_1 r^2 + s_2 r^4\\ +y'' \leftarrow y' \frac{1 + k_1 r^2 + k_2 r^4 + k_3 r^6}{1 + k_4 r^2 + k_5 r^4 + k_6 r^6} ++ p_1 (r^2 + 2 y'^2) + 2 p_2 x' y' + s_3 r^2 + s_4 r^4 \\ +s\vecthree{x'''}{y'''}{1} = +\vecthreethree{R_{33}(\tau_x, \tau_y)}{0}{-R_{13}((\tau_x, \tau_y)} +{0}{R_{33}(\tau_x, \tau_y)}{-R_{23}(\tau_x, \tau_y)} +{0}{0}{1} R(\tau_x, \tau_y) \vecthree{x''}{y''}{1}\\ +map_x(u,v) \leftarrow x''' f_x + c_x \\ +map_y(u,v) \leftarrow y''' f_y + c_y +\end{array} +\f] +where \f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6[, s_1, s_2, s_3, s_4[, \tau_x, \tau_y]]]])\f$ +are the distortion coefficients. + +In case of a stereo camera, this function is called twice: once for each camera head, after +stereoRectify, which in its turn is called after cv::stereoCalibrate. But if the stereo camera +was not calibrated, it is still possible to compute the rectification transformations directly from +the fundamental matrix using cv::stereoRectifyUncalibrated. For each camera, the function computes +homography H as the rectification transformation in a pixel domain, not a rotation matrix R in 3D +space. R can be computed from H as +\f[\texttt{R} = \texttt{cameraMatrix} ^{-1} \cdot \texttt{H} \cdot \texttt{cameraMatrix}\f] +where cameraMatrix can be chosen arbitrarily. + +@param cameraMatrix Input camera matrix \f$A=\vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\f$ . +@param distCoeffs Input vector of distortion coefficients +\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6[, s_1, s_2, s_3, s_4[, \tau_x, \tau_y]]]])\f$ +of 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are assumed. +@param R Optional rectification transformation in the object space (3x3 matrix). R1 or R2 , +computed by stereoRectify can be passed here. If the matrix is empty, the identity transformation +is assumed. In cvInitUndistortMap R assumed to be an identity matrix. +@param newCameraMatrix New camera matrix \f$A'=\vecthreethree{f_x'}{0}{c_x'}{0}{f_y'}{c_y'}{0}{0}{1}\f$. +@param size Undistorted image size. +@param m1type Type of the first output map that can be CV_32FC1, CV_32FC2 or CV_16SC2, see cv::convertMaps +@param map1 The first output map. +@param map2 The second output map. + */ +CV_EXPORTS_W void initUndistortRectifyMap( InputArray cameraMatrix, InputArray distCoeffs, + InputArray R, InputArray newCameraMatrix, + Size size, int m1type, OutputArray map1, OutputArray map2 ); + +//! initializes maps for cv::remap() for wide-angle +CV_EXPORTS_W float initWideAngleProjMap( InputArray cameraMatrix, InputArray distCoeffs, + Size imageSize, int destImageWidth, + int m1type, OutputArray map1, OutputArray map2, + int projType = PROJ_SPHERICAL_EQRECT, double alpha = 0); + +/** @brief Returns the default new camera matrix. + +The function returns the camera matrix that is either an exact copy of the input cameraMatrix (when +centerPrinicipalPoint=false ), or the modified one (when centerPrincipalPoint=true). + +In the latter case, the new camera matrix will be: + +\f[\begin{bmatrix} f_x && 0 && ( \texttt{imgSize.width} -1)*0.5 \\ 0 && f_y && ( \texttt{imgSize.height} -1)*0.5 \\ 0 && 0 && 1 \end{bmatrix} ,\f] + +where \f$f_x\f$ and \f$f_y\f$ are \f$(0,0)\f$ and \f$(1,1)\f$ elements of cameraMatrix, respectively. + +By default, the undistortion functions in OpenCV (see initUndistortRectifyMap, undistort) do not +move the principal point. However, when you work with stereo, it is important to move the principal +points in both views to the same y-coordinate (which is required by most of stereo correspondence +algorithms), and may be to the same x-coordinate too. So, you can form the new camera matrix for +each view where the principal points are located at the center. + +@param cameraMatrix Input camera matrix. +@param imgsize Camera view image size in pixels. +@param centerPrincipalPoint Location of the principal point in the new camera matrix. The +parameter indicates whether this location should be at the image center or not. + */ +CV_EXPORTS_W Mat getDefaultNewCameraMatrix( InputArray cameraMatrix, Size imgsize = Size(), + bool centerPrincipalPoint = false ); + +/** @brief Computes the ideal point coordinates from the observed point coordinates. + +The function is similar to cv::undistort and cv::initUndistortRectifyMap but it operates on a +sparse set of points instead of a raster image. Also the function performs a reverse transformation +to projectPoints. In case of a 3D object, it does not reconstruct its 3D coordinates, but for a +planar object, it does, up to a translation vector, if the proper R is specified. + +For each observed point coordinate \f$(u, v)\f$ the function computes: +\f[ +\begin{array}{l} +x^{"} \leftarrow (u - c_x)/f_x \\ +y^{"} \leftarrow (v - c_y)/f_y \\ +(x',y') = undistort(x^{"},y^{"}, \texttt{distCoeffs}) \\ +{[X\,Y\,W]} ^T \leftarrow R*[x' \, y' \, 1]^T \\ +x \leftarrow X/W \\ +y \leftarrow Y/W \\ +\text{only performed if P is specified:} \\ +u' \leftarrow x {f'}_x + {c'}_x \\ +v' \leftarrow y {f'}_y + {c'}_y +\end{array} +\f] + +where *undistort* is an approximate iterative algorithm that estimates the normalized original +point coordinates out of the normalized distorted point coordinates ("normalized" means that the +coordinates do not depend on the camera matrix). + +The function can be used for both a stereo camera head or a monocular camera (when R is empty). + +@param src Observed point coordinates, 1xN or Nx1 2-channel (CV_32FC2 or CV_64FC2). +@param dst Output ideal point coordinates after undistortion and reverse perspective +transformation. If matrix P is identity or omitted, dst will contain normalized point coordinates. +@param cameraMatrix Camera matrix \f$\vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\f$ . +@param distCoeffs Input vector of distortion coefficients +\f$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6[, s_1, s_2, s_3, s_4[, \tau_x, \tau_y]]]])\f$ +of 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are assumed. +@param R Rectification transformation in the object space (3x3 matrix). R1 or R2 computed by +cv::stereoRectify can be passed here. If the matrix is empty, the identity transformation is used. +@param P New camera matrix (3x3) or new projection matrix (3x4) \f$\begin{bmatrix} {f'}_x & 0 & {c'}_x & t_x \\ 0 & {f'}_y & {c'}_y & t_y \\ 0 & 0 & 1 & t_z \end{bmatrix}\f$. P1 or P2 computed by +cv::stereoRectify can be passed here. If the matrix is empty, the identity new camera matrix is used. + */ +CV_EXPORTS_W void undistortPoints( InputArray src, OutputArray dst, + InputArray cameraMatrix, InputArray distCoeffs, + InputArray R = noArray(), InputArray P = noArray()); +/** @overload + @note Default version of cv::undistortPoints does 5 iterations to compute undistorted points. + + */ +CV_EXPORTS_AS(undistortPointsIter) void undistortPoints( InputArray src, OutputArray dst, + InputArray cameraMatrix, InputArray distCoeffs, + InputArray R, InputArray P, TermCriteria criteria); + +//! @} imgproc_transform + +//! @addtogroup imgproc_hist +//! @{ + +/** @example demhist.cpp +An example for creating histograms of an image +*/ + +/** @brief Calculates a histogram of a set of arrays. + +The function cv::calcHist calculates the histogram of one or more arrays. The elements of a tuple used +to increment a histogram bin are taken from the corresponding input arrays at the same location. The +sample below shows how to compute a 2D Hue-Saturation histogram for a color image. : +@code + #include + #include + + using namespace cv; + + int main( int argc, char** argv ) + { + Mat src, hsv; + if( argc != 2 || !(src=imread(argv[1], 1)).data ) + return -1; + + cvtColor(src, hsv, COLOR_BGR2HSV); + + // Quantize the hue to 30 levels + // and the saturation to 32 levels + int hbins = 30, sbins = 32; + int histSize[] = {hbins, sbins}; + // hue varies from 0 to 179, see cvtColor + float hranges[] = { 0, 180 }; + // saturation varies from 0 (black-gray-white) to + // 255 (pure spectrum color) + float sranges[] = { 0, 256 }; + const float* ranges[] = { hranges, sranges }; + MatND hist; + // we compute the histogram from the 0-th and 1-st channels + int channels[] = {0, 1}; + + calcHist( &hsv, 1, channels, Mat(), // do not use mask + hist, 2, histSize, ranges, + true, // the histogram is uniform + false ); + double maxVal=0; + minMaxLoc(hist, 0, &maxVal, 0, 0); + + int scale = 10; + Mat histImg = Mat::zeros(sbins*scale, hbins*10, CV_8UC3); + + for( int h = 0; h < hbins; h++ ) + for( int s = 0; s < sbins; s++ ) + { + float binVal = hist.at(h, s); + int intensity = cvRound(binVal*255/maxVal); + rectangle( histImg, Point(h*scale, s*scale), + Point( (h+1)*scale - 1, (s+1)*scale - 1), + Scalar::all(intensity), + CV_FILLED ); + } + + namedWindow( "Source", 1 ); + imshow( "Source", src ); + + namedWindow( "H-S Histogram", 1 ); + imshow( "H-S Histogram", histImg ); + waitKey(); + } +@endcode + +@param images Source arrays. They all should have the same depth, CV_8U, CV_16U or CV_32F , and the same +size. Each of them can have an arbitrary number of channels. +@param nimages Number of source images. +@param channels List of the dims channels used to compute the histogram. The first array channels +are numerated from 0 to images[0].channels()-1 , the second array channels are counted from +images[0].channels() to images[0].channels() + images[1].channels()-1, and so on. +@param mask Optional mask. If the matrix is not empty, it must be an 8-bit array of the same size +as images[i] . The non-zero mask elements mark the array elements counted in the histogram. +@param hist Output histogram, which is a dense or sparse dims -dimensional array. +@param dims Histogram dimensionality that must be positive and not greater than CV_MAX_DIMS +(equal to 32 in the current OpenCV version). +@param histSize Array of histogram sizes in each dimension. +@param ranges Array of the dims arrays of the histogram bin boundaries in each dimension. When the +histogram is uniform ( uniform =true), then for each dimension i it is enough to specify the lower +(inclusive) boundary \f$L_0\f$ of the 0-th histogram bin and the upper (exclusive) boundary +\f$U_{\texttt{histSize}[i]-1}\f$ for the last histogram bin histSize[i]-1 . That is, in case of a +uniform histogram each of ranges[i] is an array of 2 elements. When the histogram is not uniform ( +uniform=false ), then each of ranges[i] contains histSize[i]+1 elements: +\f$L_0, U_0=L_1, U_1=L_2, ..., U_{\texttt{histSize[i]}-2}=L_{\texttt{histSize[i]}-1}, U_{\texttt{histSize[i]}-1}\f$ +. The array elements, that are not between \f$L_0\f$ and \f$U_{\texttt{histSize[i]}-1}\f$ , are not +counted in the histogram. +@param uniform Flag indicating whether the histogram is uniform or not (see above). +@param accumulate Accumulation flag. If it is set, the histogram is not cleared in the beginning +when it is allocated. This feature enables you to compute a single histogram from several sets of +arrays, or to update the histogram in time. +*/ +CV_EXPORTS void calcHist( const Mat* images, int nimages, + const int* channels, InputArray mask, + OutputArray hist, int dims, const int* histSize, + const float** ranges, bool uniform = true, bool accumulate = false ); + +/** @overload + +this variant uses cv::SparseMat for output +*/ +CV_EXPORTS void calcHist( const Mat* images, int nimages, + const int* channels, InputArray mask, + SparseMat& hist, int dims, + const int* histSize, const float** ranges, + bool uniform = true, bool accumulate = false ); + +/** @overload */ +CV_EXPORTS_W void calcHist( InputArrayOfArrays images, + const std::vector& channels, + InputArray mask, OutputArray hist, + const std::vector& histSize, + const std::vector& ranges, + bool accumulate = false ); + +/** @brief Calculates the back projection of a histogram. + +The function cv::calcBackProject calculates the back project of the histogram. That is, similarly to +cv::calcHist , at each location (x, y) the function collects the values from the selected channels +in the input images and finds the corresponding histogram bin. But instead of incrementing it, the +function reads the bin value, scales it by scale , and stores in backProject(x,y) . In terms of +statistics, the function computes probability of each element value in respect with the empirical +probability distribution represented by the histogram. See how, for example, you can find and track +a bright-colored object in a scene: + +- Before tracking, show the object to the camera so that it covers almost the whole frame. +Calculate a hue histogram. The histogram may have strong maximums, corresponding to the dominant +colors in the object. + +- When tracking, calculate a back projection of a hue plane of each input video frame using that +pre-computed histogram. Threshold the back projection to suppress weak colors. It may also make +sense to suppress pixels with non-sufficient color saturation and too dark or too bright pixels. + +- Find connected components in the resulting picture and choose, for example, the largest +component. + +This is an approximate algorithm of the CamShift color object tracker. + +@param images Source arrays. They all should have the same depth, CV_8U, CV_16U or CV_32F , and the same +size. Each of them can have an arbitrary number of channels. +@param nimages Number of source images. +@param channels The list of channels used to compute the back projection. The number of channels +must match the histogram dimensionality. The first array channels are numerated from 0 to +images[0].channels()-1 , the second array channels are counted from images[0].channels() to +images[0].channels() + images[1].channels()-1, and so on. +@param hist Input histogram that can be dense or sparse. +@param backProject Destination back projection array that is a single-channel array of the same +size and depth as images[0] . +@param ranges Array of arrays of the histogram bin boundaries in each dimension. See cv::calcHist . +@param scale Optional scale factor for the output back projection. +@param uniform Flag indicating whether the histogram is uniform or not (see above). + +@sa cv::calcHist, cv::compareHist + */ +CV_EXPORTS void calcBackProject( const Mat* images, int nimages, + const int* channels, InputArray hist, + OutputArray backProject, const float** ranges, + double scale = 1, bool uniform = true ); + +/** @overload */ +CV_EXPORTS void calcBackProject( const Mat* images, int nimages, + const int* channels, const SparseMat& hist, + OutputArray backProject, const float** ranges, + double scale = 1, bool uniform = true ); + +/** @overload */ +CV_EXPORTS_W void calcBackProject( InputArrayOfArrays images, const std::vector& channels, + InputArray hist, OutputArray dst, + const std::vector& ranges, + double scale ); + +/** @brief Compares two histograms. + +The function cv::compareHist compares two dense or two sparse histograms using the specified method. + +The function returns \f$d(H_1, H_2)\f$ . + +While the function works well with 1-, 2-, 3-dimensional dense histograms, it may not be suitable +for high-dimensional sparse histograms. In such histograms, because of aliasing and sampling +problems, the coordinates of non-zero histogram bins can slightly shift. To compare such histograms +or more general sparse configurations of weighted points, consider using the cv::EMD function. + +@param H1 First compared histogram. +@param H2 Second compared histogram of the same size as H1 . +@param method Comparison method, see cv::HistCompMethods + */ +CV_EXPORTS_W double compareHist( InputArray H1, InputArray H2, int method ); + +/** @overload */ +CV_EXPORTS double compareHist( const SparseMat& H1, const SparseMat& H2, int method ); + +/** @brief Equalizes the histogram of a grayscale image. + +The function equalizes the histogram of the input image using the following algorithm: + +- Calculate the histogram \f$H\f$ for src . +- Normalize the histogram so that the sum of histogram bins is 255. +- Compute the integral of the histogram: +\f[H'_i = \sum _{0 \le j < i} H(j)\f] +- Transform the image using \f$H'\f$ as a look-up table: \f$\texttt{dst}(x,y) = H'(\texttt{src}(x,y))\f$ + +The algorithm normalizes the brightness and increases the contrast of the image. + +@param src Source 8-bit single channel image. +@param dst Destination image of the same size and type as src . + */ +CV_EXPORTS_W void equalizeHist( InputArray src, OutputArray dst ); + +/** @brief Computes the "minimal work" distance between two weighted point configurations. + +The function computes the earth mover distance and/or a lower boundary of the distance between the +two weighted point configurations. One of the applications described in @cite RubnerSept98, +@cite Rubner2000 is multi-dimensional histogram comparison for image retrieval. EMD is a transportation +problem that is solved using some modification of a simplex algorithm, thus the complexity is +exponential in the worst case, though, on average it is much faster. In the case of a real metric +the lower boundary can be calculated even faster (using linear-time algorithm) and it can be used +to determine roughly whether the two signatures are far enough so that they cannot relate to the +same object. + +@param signature1 First signature, a \f$\texttt{size1}\times \texttt{dims}+1\f$ floating-point matrix. +Each row stores the point weight followed by the point coordinates. The matrix is allowed to have +a single column (weights only) if the user-defined cost matrix is used. The weights must be +non-negative and have at least one non-zero value. +@param signature2 Second signature of the same format as signature1 , though the number of rows +may be different. The total weights may be different. In this case an extra "dummy" point is added +to either signature1 or signature2. The weights must be non-negative and have at least one non-zero +value. +@param distType Used metric. See cv::DistanceTypes. +@param cost User-defined \f$\texttt{size1}\times \texttt{size2}\f$ cost matrix. Also, if a cost matrix +is used, lower boundary lowerBound cannot be calculated because it needs a metric function. +@param lowerBound Optional input/output parameter: lower boundary of a distance between the two +signatures that is a distance between mass centers. The lower boundary may not be calculated if +the user-defined cost matrix is used, the total weights of point configurations are not equal, or +if the signatures consist of weights only (the signature matrices have a single column). You +**must** initialize \*lowerBound . If the calculated distance between mass centers is greater or +equal to \*lowerBound (it means that the signatures are far enough), the function does not +calculate EMD. In any case \*lowerBound is set to the calculated distance between mass centers on +return. Thus, if you want to calculate both distance between mass centers and EMD, \*lowerBound +should be set to 0. +@param flow Resultant \f$\texttt{size1} \times \texttt{size2}\f$ flow matrix: \f$\texttt{flow}_{i,j}\f$ is +a flow from \f$i\f$ -th point of signature1 to \f$j\f$ -th point of signature2 . + */ +CV_EXPORTS float EMD( InputArray signature1, InputArray signature2, + int distType, InputArray cost=noArray(), + float* lowerBound = 0, OutputArray flow = noArray() ); + +CV_EXPORTS_AS(EMD) float wrapperEMD( InputArray signature1, InputArray signature2, + int distType, InputArray cost=noArray(), + CV_IN_OUT Ptr lowerBound = Ptr(), OutputArray flow = noArray() ); + +//! @} imgproc_hist + +/** @example watershed.cpp +An example using the watershed algorithm + */ + +/** @brief Performs a marker-based image segmentation using the watershed algorithm. + +The function implements one of the variants of watershed, non-parametric marker-based segmentation +algorithm, described in @cite Meyer92 . + +Before passing the image to the function, you have to roughly outline the desired regions in the +image markers with positive (\>0) indices. So, every region is represented as one or more connected +components with the pixel values 1, 2, 3, and so on. Such markers can be retrieved from a binary +mask using findContours and drawContours (see the watershed.cpp demo). The markers are "seeds" of +the future image regions. All the other pixels in markers , whose relation to the outlined regions +is not known and should be defined by the algorithm, should be set to 0's. In the function output, +each pixel in markers is set to a value of the "seed" components or to -1 at boundaries between the +regions. + +@note Any two neighbor connected components are not necessarily separated by a watershed boundary +(-1's pixels); for example, they can touch each other in the initial marker image passed to the +function. + +@param image Input 8-bit 3-channel image. +@param markers Input/output 32-bit single-channel image (map) of markers. It should have the same +size as image . + +@sa findContours + +@ingroup imgproc_misc + */ +CV_EXPORTS_W void watershed( InputArray image, InputOutputArray markers ); + +//! @addtogroup imgproc_filter +//! @{ + +/** @brief Performs initial step of meanshift segmentation of an image. + +The function implements the filtering stage of meanshift segmentation, that is, the output of the +function is the filtered "posterized" image with color gradients and fine-grain texture flattened. +At every pixel (X,Y) of the input image (or down-sized input image, see below) the function executes +meanshift iterations, that is, the pixel (X,Y) neighborhood in the joint space-color hyperspace is +considered: + +\f[(x,y): X- \texttt{sp} \le x \le X+ \texttt{sp} , Y- \texttt{sp} \le y \le Y+ \texttt{sp} , ||(R,G,B)-(r,g,b)|| \le \texttt{sr}\f] + +where (R,G,B) and (r,g,b) are the vectors of color components at (X,Y) and (x,y), respectively +(though, the algorithm does not depend on the color space used, so any 3-component color space can +be used instead). Over the neighborhood the average spatial value (X',Y') and average color vector +(R',G',B') are found and they act as the neighborhood center on the next iteration: + +\f[(X,Y)~(X',Y'), (R,G,B)~(R',G',B').\f] + +After the iterations over, the color components of the initial pixel (that is, the pixel from where +the iterations started) are set to the final value (average color at the last iteration): + +\f[I(X,Y) <- (R*,G*,B*)\f] + +When maxLevel \> 0, the gaussian pyramid of maxLevel+1 levels is built, and the above procedure is +run on the smallest layer first. After that, the results are propagated to the larger layer and the +iterations are run again only on those pixels where the layer colors differ by more than sr from the +lower-resolution layer of the pyramid. That makes boundaries of color regions sharper. Note that the +results will be actually different from the ones obtained by running the meanshift procedure on the +whole original image (i.e. when maxLevel==0). + +@param src The source 8-bit, 3-channel image. +@param dst The destination image of the same format and the same size as the source. +@param sp The spatial window radius. +@param sr The color window radius. +@param maxLevel Maximum level of the pyramid for the segmentation. +@param termcrit Termination criteria: when to stop meanshift iterations. + */ +CV_EXPORTS_W void pyrMeanShiftFiltering( InputArray src, OutputArray dst, + double sp, double sr, int maxLevel = 1, + TermCriteria termcrit=TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS,5,1) ); + +//! @} + +//! @addtogroup imgproc_misc +//! @{ + +/** @example grabcut.cpp +An example using the GrabCut algorithm +![Sample Screenshot](grabcut_output1.jpg) + */ + +/** @brief Runs the GrabCut algorithm. + +The function implements the [GrabCut image segmentation algorithm](http://en.wikipedia.org/wiki/GrabCut). + +@param img Input 8-bit 3-channel image. +@param mask Input/output 8-bit single-channel mask. The mask is initialized by the function when +mode is set to GC_INIT_WITH_RECT. Its elements may have one of the cv::GrabCutClasses. +@param rect ROI containing a segmented object. The pixels outside of the ROI are marked as +"obvious background". The parameter is only used when mode==GC_INIT_WITH_RECT . +@param bgdModel Temporary array for the background model. Do not modify it while you are +processing the same image. +@param fgdModel Temporary arrays for the foreground model. Do not modify it while you are +processing the same image. +@param iterCount Number of iterations the algorithm should make before returning the result. Note +that the result can be refined with further calls with mode==GC_INIT_WITH_MASK or +mode==GC_EVAL . +@param mode Operation mode that could be one of the cv::GrabCutModes + */ +CV_EXPORTS_W void grabCut( InputArray img, InputOutputArray mask, Rect rect, + InputOutputArray bgdModel, InputOutputArray fgdModel, + int iterCount, int mode = GC_EVAL ); + +/** @example distrans.cpp +An example on using the distance transform\ +*/ + + +/** @brief Calculates the distance to the closest zero pixel for each pixel of the source image. + +The function cv::distanceTransform calculates the approximate or precise distance from every binary +image pixel to the nearest zero pixel. For zero image pixels, the distance will obviously be zero. + +When maskSize == DIST_MASK_PRECISE and distanceType == DIST_L2 , the function runs the +algorithm described in @cite Felzenszwalb04 . This algorithm is parallelized with the TBB library. + +In other cases, the algorithm @cite Borgefors86 is used. This means that for a pixel the function +finds the shortest path to the nearest zero pixel consisting of basic shifts: horizontal, vertical, +diagonal, or knight's move (the latest is available for a \f$5\times 5\f$ mask). The overall +distance is calculated as a sum of these basic distances. Since the distance function should be +symmetric, all of the horizontal and vertical shifts must have the same cost (denoted as a ), all +the diagonal shifts must have the same cost (denoted as `b`), and all knight's moves must have the +same cost (denoted as `c`). For the cv::DIST_C and cv::DIST_L1 types, the distance is calculated +precisely, whereas for cv::DIST_L2 (Euclidean distance) the distance can be calculated only with a +relative error (a \f$5\times 5\f$ mask gives more accurate results). For `a`,`b`, and `c`, OpenCV +uses the values suggested in the original paper: +- DIST_L1: `a = 1, b = 2` +- DIST_L2: + - `3 x 3`: `a=0.955, b=1.3693` + - `5 x 5`: `a=1, b=1.4, c=2.1969` +- DIST_C: `a = 1, b = 1` + +Typically, for a fast, coarse distance estimation DIST_L2, a \f$3\times 3\f$ mask is used. For a +more accurate distance estimation DIST_L2, a \f$5\times 5\f$ mask or the precise algorithm is used. +Note that both the precise and the approximate algorithms are linear on the number of pixels. + +This variant of the function does not only compute the minimum distance for each pixel \f$(x, y)\f$ +but also identifies the nearest connected component consisting of zero pixels +(labelType==DIST_LABEL_CCOMP) or the nearest zero pixel (labelType==DIST_LABEL_PIXEL). Index of the +component/pixel is stored in `labels(x, y)`. When labelType==DIST_LABEL_CCOMP, the function +automatically finds connected components of zero pixels in the input image and marks them with +distinct labels. When labelType==DIST_LABEL_CCOMP, the function scans through the input image and +marks all the zero pixels with distinct labels. + +In this mode, the complexity is still linear. That is, the function provides a very fast way to +compute the Voronoi diagram for a binary image. Currently, the second variant can use only the +approximate distance transform algorithm, i.e. maskSize=DIST_MASK_PRECISE is not supported +yet. + +@param src 8-bit, single-channel (binary) source image. +@param dst Output image with calculated distances. It is a 8-bit or 32-bit floating-point, +single-channel image of the same size as src. +@param labels Output 2D array of labels (the discrete Voronoi diagram). It has the type +CV_32SC1 and the same size as src. +@param distanceType Type of distance, see cv::DistanceTypes +@param maskSize Size of the distance transform mask, see cv::DistanceTransformMasks. +DIST_MASK_PRECISE is not supported by this variant. In case of the DIST_L1 or DIST_C distance type, +the parameter is forced to 3 because a \f$3\times 3\f$ mask gives the same result as \f$5\times +5\f$ or any larger aperture. +@param labelType Type of the label array to build, see cv::DistanceTransformLabelTypes. + */ +CV_EXPORTS_AS(distanceTransformWithLabels) void distanceTransform( InputArray src, OutputArray dst, + OutputArray labels, int distanceType, int maskSize, + int labelType = DIST_LABEL_CCOMP ); + +/** @overload +@param src 8-bit, single-channel (binary) source image. +@param dst Output image with calculated distances. It is a 8-bit or 32-bit floating-point, +single-channel image of the same size as src . +@param distanceType Type of distance, see cv::DistanceTypes +@param maskSize Size of the distance transform mask, see cv::DistanceTransformMasks. In case of the +DIST_L1 or DIST_C distance type, the parameter is forced to 3 because a \f$3\times 3\f$ mask gives +the same result as \f$5\times 5\f$ or any larger aperture. +@param dstType Type of output image. It can be CV_8U or CV_32F. Type CV_8U can be used only for +the first variant of the function and distanceType == DIST_L1. +*/ +CV_EXPORTS_W void distanceTransform( InputArray src, OutputArray dst, + int distanceType, int maskSize, int dstType=CV_32F); + +/** @example ffilldemo.cpp + An example using the FloodFill technique +*/ + +/** @overload + +variant without `mask` parameter +*/ +CV_EXPORTS int floodFill( InputOutputArray image, + Point seedPoint, Scalar newVal, CV_OUT Rect* rect = 0, + Scalar loDiff = Scalar(), Scalar upDiff = Scalar(), + int flags = 4 ); + +/** @brief Fills a connected component with the given color. + +The function cv::floodFill fills a connected component starting from the seed point with the specified +color. The connectivity is determined by the color/brightness closeness of the neighbor pixels. The +pixel at \f$(x,y)\f$ is considered to belong to the repainted domain if: + +- in case of a grayscale image and floating range +\f[\texttt{src} (x',y')- \texttt{loDiff} \leq \texttt{src} (x,y) \leq \texttt{src} (x',y')+ \texttt{upDiff}\f] + + +- in case of a grayscale image and fixed range +\f[\texttt{src} ( \texttt{seedPoint} .x, \texttt{seedPoint} .y)- \texttt{loDiff} \leq \texttt{src} (x,y) \leq \texttt{src} ( \texttt{seedPoint} .x, \texttt{seedPoint} .y)+ \texttt{upDiff}\f] + + +- in case of a color image and floating range +\f[\texttt{src} (x',y')_r- \texttt{loDiff} _r \leq \texttt{src} (x,y)_r \leq \texttt{src} (x',y')_r+ \texttt{upDiff} _r,\f] +\f[\texttt{src} (x',y')_g- \texttt{loDiff} _g \leq \texttt{src} (x,y)_g \leq \texttt{src} (x',y')_g+ \texttt{upDiff} _g\f] +and +\f[\texttt{src} (x',y')_b- \texttt{loDiff} _b \leq \texttt{src} (x,y)_b \leq \texttt{src} (x',y')_b+ \texttt{upDiff} _b\f] + + +- in case of a color image and fixed range +\f[\texttt{src} ( \texttt{seedPoint} .x, \texttt{seedPoint} .y)_r- \texttt{loDiff} _r \leq \texttt{src} (x,y)_r \leq \texttt{src} ( \texttt{seedPoint} .x, \texttt{seedPoint} .y)_r+ \texttt{upDiff} _r,\f] +\f[\texttt{src} ( \texttt{seedPoint} .x, \texttt{seedPoint} .y)_g- \texttt{loDiff} _g \leq \texttt{src} (x,y)_g \leq \texttt{src} ( \texttt{seedPoint} .x, \texttt{seedPoint} .y)_g+ \texttt{upDiff} _g\f] +and +\f[\texttt{src} ( \texttt{seedPoint} .x, \texttt{seedPoint} .y)_b- \texttt{loDiff} _b \leq \texttt{src} (x,y)_b \leq \texttt{src} ( \texttt{seedPoint} .x, \texttt{seedPoint} .y)_b+ \texttt{upDiff} _b\f] + + +where \f$src(x',y')\f$ is the value of one of pixel neighbors that is already known to belong to the +component. That is, to be added to the connected component, a color/brightness of the pixel should +be close enough to: +- Color/brightness of one of its neighbors that already belong to the connected component in case +of a floating range. +- Color/brightness of the seed point in case of a fixed range. + +Use these functions to either mark a connected component with the specified color in-place, or build +a mask and then extract the contour, or copy the region to another image, and so on. + +@param image Input/output 1- or 3-channel, 8-bit, or floating-point image. It is modified by the +function unless the FLOODFILL_MASK_ONLY flag is set in the second variant of the function. See +the details below. +@param mask Operation mask that should be a single-channel 8-bit image, 2 pixels wider and 2 pixels +taller than image. Since this is both an input and output parameter, you must take responsibility +of initializing it. Flood-filling cannot go across non-zero pixels in the input mask. For example, +an edge detector output can be used as a mask to stop filling at edges. On output, pixels in the +mask corresponding to filled pixels in the image are set to 1 or to the a value specified in flags +as described below. It is therefore possible to use the same mask in multiple calls to the function +to make sure the filled areas do not overlap. +@param seedPoint Starting point. +@param newVal New value of the repainted domain pixels. +@param loDiff Maximal lower brightness/color difference between the currently observed pixel and +one of its neighbors belonging to the component, or a seed pixel being added to the component. +@param upDiff Maximal upper brightness/color difference between the currently observed pixel and +one of its neighbors belonging to the component, or a seed pixel being added to the component. +@param rect Optional output parameter set by the function to the minimum bounding rectangle of the +repainted domain. +@param flags Operation flags. The first 8 bits contain a connectivity value. The default value of +4 means that only the four nearest neighbor pixels (those that share an edge) are considered. A +connectivity value of 8 means that the eight nearest neighbor pixels (those that share a corner) +will be considered. The next 8 bits (8-16) contain a value between 1 and 255 with which to fill +the mask (the default value is 1). For example, 4 | ( 255 \<\< 8 ) will consider 4 nearest +neighbours and fill the mask with a value of 255. The following additional options occupy higher +bits and therefore may be further combined with the connectivity and mask fill values using +bit-wise or (|), see cv::FloodFillFlags. + +@note Since the mask is larger than the filled image, a pixel \f$(x, y)\f$ in image corresponds to the +pixel \f$(x+1, y+1)\f$ in the mask . + +@sa findContours + */ +CV_EXPORTS_W int floodFill( InputOutputArray image, InputOutputArray mask, + Point seedPoint, Scalar newVal, CV_OUT Rect* rect=0, + Scalar loDiff = Scalar(), Scalar upDiff = Scalar(), + int flags = 4 ); + +/** @brief Converts an image from one color space to another. + +The function converts an input image from one color space to another. In case of a transformation +to-from RGB color space, the order of the channels should be specified explicitly (RGB or BGR). Note +that the default color format in OpenCV is often referred to as RGB but it is actually BGR (the +bytes are reversed). So the first byte in a standard (24-bit) color image will be an 8-bit Blue +component, the second byte will be Green, and the third byte will be Red. The fourth, fifth, and +sixth bytes would then be the second pixel (Blue, then Green, then Red), and so on. + +The conventional ranges for R, G, and B channel values are: +- 0 to 255 for CV_8U images +- 0 to 65535 for CV_16U images +- 0 to 1 for CV_32F images + +In case of linear transformations, the range does not matter. But in case of a non-linear +transformation, an input RGB image should be normalized to the proper value range to get the correct +results, for example, for RGB \f$\rightarrow\f$ L\*u\*v\* transformation. For example, if you have a +32-bit floating-point image directly converted from an 8-bit image without any scaling, then it will +have the 0..255 value range instead of 0..1 assumed by the function. So, before calling cvtColor , +you need first to scale the image down: +@code + img *= 1./255; + cvtColor(img, img, COLOR_BGR2Luv); +@endcode +If you use cvtColor with 8-bit images, the conversion will have some information lost. For many +applications, this will not be noticeable but it is recommended to use 32-bit images in applications +that need the full range of colors or that convert an image before an operation and then convert +back. + +If conversion adds the alpha channel, its value will set to the maximum of corresponding channel +range: 255 for CV_8U, 65535 for CV_16U, 1 for CV_32F. + +@param src input image: 8-bit unsigned, 16-bit unsigned ( CV_16UC... ), or single-precision +floating-point. +@param dst output image of the same size and depth as src. +@param code color space conversion code (see cv::ColorConversionCodes). +@param dstCn number of channels in the destination image; if the parameter is 0, the number of the +channels is derived automatically from src and code. + +@see @ref imgproc_color_conversions + */ +CV_EXPORTS_W void cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 ); + +//! @} imgproc_misc + +// main function for all demosaicing processes +CV_EXPORTS_W void demosaicing(InputArray _src, OutputArray _dst, int code, int dcn = 0); + +//! @addtogroup imgproc_shape +//! @{ + +/** @brief Calculates all of the moments up to the third order of a polygon or rasterized shape. + +The function computes moments, up to the 3rd order, of a vector shape or a rasterized shape. The +results are returned in the structure cv::Moments. + +@param array Raster image (single-channel, 8-bit or floating-point 2D array) or an array ( +\f$1 \times N\f$ or \f$N \times 1\f$ ) of 2D points (Point or Point2f ). +@param binaryImage If it is true, all non-zero image pixels are treated as 1's. The parameter is +used for images only. +@returns moments. + +@note Only applicable to contour moments calculations from Python bindings: Note that the numpy +type for the input array should be either np.int32 or np.float32. + +@sa contourArea, arcLength + */ +CV_EXPORTS_W Moments moments( InputArray array, bool binaryImage = false ); + +/** @brief Calculates seven Hu invariants. + +The function calculates seven Hu invariants (introduced in @cite Hu62; see also +) defined as: + +\f[\begin{array}{l} hu[0]= \eta _{20}+ \eta _{02} \\ hu[1]=( \eta _{20}- \eta _{02})^{2}+4 \eta _{11}^{2} \\ hu[2]=( \eta _{30}-3 \eta _{12})^{2}+ (3 \eta _{21}- \eta _{03})^{2} \\ hu[3]=( \eta _{30}+ \eta _{12})^{2}+ ( \eta _{21}+ \eta _{03})^{2} \\ hu[4]=( \eta _{30}-3 \eta _{12})( \eta _{30}+ \eta _{12})[( \eta _{30}+ \eta _{12})^{2}-3( \eta _{21}+ \eta _{03})^{2}]+(3 \eta _{21}- \eta _{03})( \eta _{21}+ \eta _{03})[3( \eta _{30}+ \eta _{12})^{2}-( \eta _{21}+ \eta _{03})^{2}] \\ hu[5]=( \eta _{20}- \eta _{02})[( \eta _{30}+ \eta _{12})^{2}- ( \eta _{21}+ \eta _{03})^{2}]+4 \eta _{11}( \eta _{30}+ \eta _{12})( \eta _{21}+ \eta _{03}) \\ hu[6]=(3 \eta _{21}- \eta _{03})( \eta _{21}+ \eta _{03})[3( \eta _{30}+ \eta _{12})^{2}-( \eta _{21}+ \eta _{03})^{2}]-( \eta _{30}-3 \eta _{12})( \eta _{21}+ \eta _{03})[3( \eta _{30}+ \eta _{12})^{2}-( \eta _{21}+ \eta _{03})^{2}] \\ \end{array}\f] + +where \f$\eta_{ji}\f$ stands for \f$\texttt{Moments::nu}_{ji}\f$ . + +These values are proved to be invariants to the image scale, rotation, and reflection except the +seventh one, whose sign is changed by reflection. This invariance is proved with the assumption of +infinite image resolution. In case of raster images, the computed Hu invariants for the original and +transformed images are a bit different. + +@param moments Input moments computed with moments . +@param hu Output Hu invariants. + +@sa matchShapes + */ +CV_EXPORTS void HuMoments( const Moments& moments, double hu[7] ); + +/** @overload */ +CV_EXPORTS_W void HuMoments( const Moments& m, OutputArray hu ); + +//! @} imgproc_shape + +//! @addtogroup imgproc_object +//! @{ + +//! type of the template matching operation +enum TemplateMatchModes { + TM_SQDIFF = 0, //!< \f[R(x,y)= \sum _{x',y'} (T(x',y')-I(x+x',y+y'))^2\f] + TM_SQDIFF_NORMED = 1, //!< \f[R(x,y)= \frac{\sum_{x',y'} (T(x',y')-I(x+x',y+y'))^2}{\sqrt{\sum_{x',y'}T(x',y')^2 \cdot \sum_{x',y'} I(x+x',y+y')^2}}\f] + TM_CCORR = 2, //!< \f[R(x,y)= \sum _{x',y'} (T(x',y') \cdot I(x+x',y+y'))\f] + TM_CCORR_NORMED = 3, //!< \f[R(x,y)= \frac{\sum_{x',y'} (T(x',y') \cdot I(x+x',y+y'))}{\sqrt{\sum_{x',y'}T(x',y')^2 \cdot \sum_{x',y'} I(x+x',y+y')^2}}\f] + TM_CCOEFF = 4, //!< \f[R(x,y)= \sum _{x',y'} (T'(x',y') \cdot I'(x+x',y+y'))\f] + //!< where + //!< \f[\begin{array}{l} T'(x',y')=T(x',y') - 1/(w \cdot h) \cdot \sum _{x'',y''} T(x'',y'') \\ I'(x+x',y+y')=I(x+x',y+y') - 1/(w \cdot h) \cdot \sum _{x'',y''} I(x+x'',y+y'') \end{array}\f] + TM_CCOEFF_NORMED = 5 //!< \f[R(x,y)= \frac{ \sum_{x',y'} (T'(x',y') \cdot I'(x+x',y+y')) }{ \sqrt{\sum_{x',y'}T'(x',y')^2 \cdot \sum_{x',y'} I'(x+x',y+y')^2} }\f] +}; + +/** @example MatchTemplate_Demo.cpp +An example using Template Matching algorithm + */ +/** @brief Compares a template against overlapped image regions. + +The function slides through image , compares the overlapped patches of size \f$w \times h\f$ against +templ using the specified method and stores the comparison results in result . Here are the formulae +for the available comparison methods ( \f$I\f$ denotes image, \f$T\f$ template, \f$R\f$ result ). The summation +is done over template and/or the image patch: \f$x' = 0...w-1, y' = 0...h-1\f$ + +After the function finishes the comparison, the best matches can be found as global minimums (when +TM_SQDIFF was used) or maximums (when TM_CCORR or TM_CCOEFF was used) using the +minMaxLoc function. In case of a color image, template summation in the numerator and each sum in +the denominator is done over all of the channels and separate mean values are used for each channel. +That is, the function can take a color template and a color image. The result will still be a +single-channel image, which is easier to analyze. + +@param image Image where the search is running. It must be 8-bit or 32-bit floating-point. +@param templ Searched template. It must be not greater than the source image and have the same +data type. +@param result Map of comparison results. It must be single-channel 32-bit floating-point. If image +is \f$W \times H\f$ and templ is \f$w \times h\f$ , then result is \f$(W-w+1) \times (H-h+1)\f$ . +@param method Parameter specifying the comparison method, see cv::TemplateMatchModes +@param mask Mask of searched template. It must have the same datatype and size with templ. It is +not set by default. Currently, only the TM_SQDIFF and TM_CCORR_NORMED methods are supported. + */ +CV_EXPORTS_W void matchTemplate( InputArray image, InputArray templ, + OutputArray result, int method, InputArray mask = noArray() ); + +//! @} + +//! @addtogroup imgproc_shape +//! @{ + +/** @brief computes the connected components labeled image of boolean image + +image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0 +represents the background label. ltype specifies the output label image type, an important +consideration based on the total number of labels or alternatively the total number of pixels in +the source image. ccltype specifies the connected components labeling algorithm to use, currently +Grana (BBDT) and Wu's (SAUF) algorithms are supported, see the cv::ConnectedComponentsAlgorithmsTypes +for details. Note that SAUF algorithm forces a row major ordering of labels while BBDT does not. +This function uses parallel version of both Grana and Wu's algorithms if at least one allowed +parallel framework is enabled and if the rows of the image are at least twice the number returned by getNumberOfCPUs. + +@param image the 8-bit single-channel image to be labeled +@param labels destination labeled image +@param connectivity 8 or 4 for 8-way or 4-way connectivity respectively +@param ltype output image label type. Currently CV_32S and CV_16U are supported. +@param ccltype connected components algorithm type (see the cv::ConnectedComponentsAlgorithmsTypes). +*/ +CV_EXPORTS_AS(connectedComponentsWithAlgorithm) int connectedComponents(InputArray image, OutputArray labels, + int connectivity, int ltype, int ccltype); + + +/** @overload + +@param image the 8-bit single-channel image to be labeled +@param labels destination labeled image +@param connectivity 8 or 4 for 8-way or 4-way connectivity respectively +@param ltype output image label type. Currently CV_32S and CV_16U are supported. +*/ +CV_EXPORTS_W int connectedComponents(InputArray image, OutputArray labels, + int connectivity = 8, int ltype = CV_32S); + + +/** @brief computes the connected components labeled image of boolean image and also produces a statistics output for each label + +image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0 +represents the background label. ltype specifies the output label image type, an important +consideration based on the total number of labels or alternatively the total number of pixels in +the source image. ccltype specifies the connected components labeling algorithm to use, currently +Grana's (BBDT) and Wu's (SAUF) algorithms are supported, see the cv::ConnectedComponentsAlgorithmsTypes +for details. Note that SAUF algorithm forces a row major ordering of labels while BBDT does not. +This function uses parallel version of both Grana and Wu's algorithms (statistics included) if at least one allowed +parallel framework is enabled and if the rows of the image are at least twice the number returned by getNumberOfCPUs. + +@param image the 8-bit single-channel image to be labeled +@param labels destination labeled image +@param stats statistics output for each label, including the background label, see below for +available statistics. Statistics are accessed via stats(label, COLUMN) where COLUMN is one of +cv::ConnectedComponentsTypes. The data type is CV_32S. +@param centroids centroid output for each label, including the background label. Centroids are +accessed via centroids(label, 0) for x and centroids(label, 1) for y. The data type CV_64F. +@param connectivity 8 or 4 for 8-way or 4-way connectivity respectively +@param ltype output image label type. Currently CV_32S and CV_16U are supported. +@param ccltype connected components algorithm type (see the cv::ConnectedComponentsAlgorithmsTypes). +*/ +CV_EXPORTS_AS(connectedComponentsWithStatsWithAlgorithm) int connectedComponentsWithStats(InputArray image, OutputArray labels, + OutputArray stats, OutputArray centroids, + int connectivity, int ltype, int ccltype); + +/** @overload +@param image the 8-bit single-channel image to be labeled +@param labels destination labeled image +@param stats statistics output for each label, including the background label, see below for +available statistics. Statistics are accessed via stats(label, COLUMN) where COLUMN is one of +cv::ConnectedComponentsTypes. The data type is CV_32S. +@param centroids centroid output for each label, including the background label. Centroids are +accessed via centroids(label, 0) for x and centroids(label, 1) for y. The data type CV_64F. +@param connectivity 8 or 4 for 8-way or 4-way connectivity respectively +@param ltype output image label type. Currently CV_32S and CV_16U are supported. +*/ +CV_EXPORTS_W int connectedComponentsWithStats(InputArray image, OutputArray labels, + OutputArray stats, OutputArray centroids, + int connectivity = 8, int ltype = CV_32S); + + +/** @brief Finds contours in a binary image. + +The function retrieves contours from the binary image using the algorithm @cite Suzuki85 . The contours +are a useful tool for shape analysis and object detection and recognition. See squares.cpp in the +OpenCV sample directory. +@note Since opencv 3.2 source image is not modified by this function. + +@param image Source, an 8-bit single-channel image. Non-zero pixels are treated as 1's. Zero +pixels remain 0's, so the image is treated as binary . You can use cv::compare, cv::inRange, cv::threshold , +cv::adaptiveThreshold, cv::Canny, and others to create a binary image out of a grayscale or color one. +If mode equals to cv::RETR_CCOMP or cv::RETR_FLOODFILL, the input can also be a 32-bit integer image of labels (CV_32SC1). +@param contours Detected contours. Each contour is stored as a vector of points (e.g. +std::vector >). +@param hierarchy Optional output vector (e.g. std::vector), containing information about the image topology. It has +as many elements as the number of contours. For each i-th contour contours[i], the elements +hierarchy[i][0] , hierarchy[i][1] , hierarchy[i][2] , and hierarchy[i][3] are set to 0-based indices +in contours of the next and previous contours at the same hierarchical level, the first child +contour and the parent contour, respectively. If for the contour i there are no next, previous, +parent, or nested contours, the corresponding elements of hierarchy[i] will be negative. +@param mode Contour retrieval mode, see cv::RetrievalModes +@param method Contour approximation method, see cv::ContourApproximationModes +@param offset Optional offset by which every contour point is shifted. This is useful if the +contours are extracted from the image ROI and then they should be analyzed in the whole image +context. + */ +CV_EXPORTS_W void findContours( InputOutputArray image, OutputArrayOfArrays contours, + OutputArray hierarchy, int mode, + int method, Point offset = Point()); + +/** @overload */ +CV_EXPORTS void findContours( InputOutputArray image, OutputArrayOfArrays contours, + int mode, int method, Point offset = Point()); + +/** @brief Approximates a polygonal curve(s) with the specified precision. + +The function cv::approxPolyDP approximates a curve or a polygon with another curve/polygon with less +vertices so that the distance between them is less or equal to the specified precision. It uses the +Douglas-Peucker algorithm + +@param curve Input vector of a 2D point stored in std::vector or Mat +@param approxCurve Result of the approximation. The type should match the type of the input curve. +@param epsilon Parameter specifying the approximation accuracy. This is the maximum distance +between the original curve and its approximation. +@param closed If true, the approximated curve is closed (its first and last vertices are +connected). Otherwise, it is not closed. + */ +CV_EXPORTS_W void approxPolyDP( InputArray curve, + OutputArray approxCurve, + double epsilon, bool closed ); + +/** @brief Calculates a contour perimeter or a curve length. + +The function computes a curve length or a closed contour perimeter. + +@param curve Input vector of 2D points, stored in std::vector or Mat. +@param closed Flag indicating whether the curve is closed or not. + */ +CV_EXPORTS_W double arcLength( InputArray curve, bool closed ); + +/** @brief Calculates the up-right bounding rectangle of a point set. + +The function calculates and returns the minimal up-right bounding rectangle for the specified point set. + +@param points Input 2D point set, stored in std::vector or Mat. + */ +CV_EXPORTS_W Rect boundingRect( InputArray points ); + +/** @brief Calculates a contour area. + +The function computes a contour area. Similarly to moments , the area is computed using the Green +formula. Thus, the returned area and the number of non-zero pixels, if you draw the contour using +drawContours or fillPoly , can be different. Also, the function will most certainly give a wrong +results for contours with self-intersections. + +Example: +@code + vector contour; + contour.push_back(Point2f(0, 0)); + contour.push_back(Point2f(10, 0)); + contour.push_back(Point2f(10, 10)); + contour.push_back(Point2f(5, 4)); + + double area0 = contourArea(contour); + vector approx; + approxPolyDP(contour, approx, 5, true); + double area1 = contourArea(approx); + + cout << "area0 =" << area0 << endl << + "area1 =" << area1 << endl << + "approx poly vertices" << approx.size() << endl; +@endcode +@param contour Input vector of 2D points (contour vertices), stored in std::vector or Mat. +@param oriented Oriented area flag. If it is true, the function returns a signed area value, +depending on the contour orientation (clockwise or counter-clockwise). Using this feature you can +determine orientation of a contour by taking the sign of an area. By default, the parameter is +false, which means that the absolute value is returned. + */ +CV_EXPORTS_W double contourArea( InputArray contour, bool oriented = false ); + +/** @brief Finds a rotated rectangle of the minimum area enclosing the input 2D point set. + +The function calculates and returns the minimum-area bounding rectangle (possibly rotated) for a +specified point set. Developer should keep in mind that the returned RotatedRect can contain negative +indices when data is close to the containing Mat element boundary. + +@param points Input vector of 2D points, stored in std::vector\<\> or Mat + */ +CV_EXPORTS_W RotatedRect minAreaRect( InputArray points ); + +/** @brief Finds the four vertices of a rotated rect. Useful to draw the rotated rectangle. + +The function finds the four vertices of a rotated rectangle. This function is useful to draw the +rectangle. In C++, instead of using this function, you can directly use box.points() method. Please +visit the [tutorial on bounding +rectangle](http://docs.opencv.org/doc/tutorials/imgproc/shapedescriptors/bounding_rects_circles/bounding_rects_circles.html#bounding-rects-circles) +for more information. + +@param box The input rotated rectangle. It may be the output of +@param points The output array of four vertices of rectangles. + */ +CV_EXPORTS_W void boxPoints(RotatedRect box, OutputArray points); + +/** @brief Finds a circle of the minimum area enclosing a 2D point set. + +The function finds the minimal enclosing circle of a 2D point set using an iterative algorithm. + +@param points Input vector of 2D points, stored in std::vector\<\> or Mat +@param center Output center of the circle. +@param radius Output radius of the circle. + */ +CV_EXPORTS_W void minEnclosingCircle( InputArray points, + CV_OUT Point2f& center, CV_OUT float& radius ); + +/** @example minarea.cpp + */ + +/** @brief Finds a triangle of minimum area enclosing a 2D point set and returns its area. + +The function finds a triangle of minimum area enclosing the given set of 2D points and returns its +area. The output for a given 2D point set is shown in the image below. 2D points are depicted in +*red* and the enclosing triangle in *yellow*. + +![Sample output of the minimum enclosing triangle function](pics/minenclosingtriangle.png) + +The implementation of the algorithm is based on O'Rourke's @cite ORourke86 and Klee and Laskowski's +@cite KleeLaskowski85 papers. O'Rourke provides a \f$\theta(n)\f$ algorithm for finding the minimal +enclosing triangle of a 2D convex polygon with n vertices. Since the minEnclosingTriangle function +takes a 2D point set as input an additional preprocessing step of computing the convex hull of the +2D point set is required. The complexity of the convexHull function is \f$O(n log(n))\f$ which is higher +than \f$\theta(n)\f$. Thus the overall complexity of the function is \f$O(n log(n))\f$. + +@param points Input vector of 2D points with depth CV_32S or CV_32F, stored in std::vector\<\> or Mat +@param triangle Output vector of three 2D points defining the vertices of the triangle. The depth +of the OutputArray must be CV_32F. + */ +CV_EXPORTS_W double minEnclosingTriangle( InputArray points, CV_OUT OutputArray triangle ); + +/** @brief Compares two shapes. + +The function compares two shapes. All three implemented methods use the Hu invariants (see cv::HuMoments) + +@param contour1 First contour or grayscale image. +@param contour2 Second contour or grayscale image. +@param method Comparison method, see cv::ShapeMatchModes +@param parameter Method-specific parameter (not supported now). + */ +CV_EXPORTS_W double matchShapes( InputArray contour1, InputArray contour2, + int method, double parameter ); + +/** @example convexhull.cpp +An example using the convexHull functionality +*/ + +/** @brief Finds the convex hull of a point set. + +The function cv::convexHull finds the convex hull of a 2D point set using the Sklansky's algorithm @cite Sklansky82 +that has *O(N logN)* complexity in the current implementation. See the OpenCV sample convexhull.cpp +that demonstrates the usage of different function variants. + +@param points Input 2D point set, stored in std::vector or Mat. +@param hull Output convex hull. It is either an integer vector of indices or vector of points. In +the first case, the hull elements are 0-based indices of the convex hull points in the original +array (since the set of convex hull points is a subset of the original point set). In the second +case, hull elements are the convex hull points themselves. +@param clockwise Orientation flag. If it is true, the output convex hull is oriented clockwise. +Otherwise, it is oriented counter-clockwise. The assumed coordinate system has its X axis pointing +to the right, and its Y axis pointing upwards. +@param returnPoints Operation flag. In case of a matrix, when the flag is true, the function +returns convex hull points. Otherwise, it returns indices of the convex hull points. When the +output array is std::vector, the flag is ignored, and the output depends on the type of the +vector: std::vector\ implies returnPoints=false, std::vector\ implies +returnPoints=true. + +@note `points` and `hull` should be different arrays, inplace processing isn't supported. + */ +CV_EXPORTS_W void convexHull( InputArray points, OutputArray hull, + bool clockwise = false, bool returnPoints = true ); + +/** @brief Finds the convexity defects of a contour. + +The figure below displays convexity defects of a hand contour: + +![image](pics/defects.png) + +@param contour Input contour. +@param convexhull Convex hull obtained using convexHull that should contain indices of the contour +points that make the hull. +@param convexityDefects The output vector of convexity defects. In C++ and the new Python/Java +interface each convexity defect is represented as 4-element integer vector (a.k.a. cv::Vec4i): +(start_index, end_index, farthest_pt_index, fixpt_depth), where indices are 0-based indices +in the original contour of the convexity defect beginning, end and the farthest point, and +fixpt_depth is fixed-point approximation (with 8 fractional bits) of the distance between the +farthest contour point and the hull. That is, to get the floating-point value of the depth will be +fixpt_depth/256.0. + */ +CV_EXPORTS_W void convexityDefects( InputArray contour, InputArray convexhull, OutputArray convexityDefects ); + +/** @brief Tests a contour convexity. + +The function tests whether the input contour is convex or not. The contour must be simple, that is, +without self-intersections. Otherwise, the function output is undefined. + +@param contour Input vector of 2D points, stored in std::vector\<\> or Mat + */ +CV_EXPORTS_W bool isContourConvex( InputArray contour ); + +//! finds intersection of two convex polygons +CV_EXPORTS_W float intersectConvexConvex( InputArray _p1, InputArray _p2, + OutputArray _p12, bool handleNested = true ); + +/** @example fitellipse.cpp + An example using the fitEllipse technique +*/ + +/** @brief Fits an ellipse around a set of 2D points. + +The function calculates the ellipse that fits (in a least-squares sense) a set of 2D points best of +all. It returns the rotated rectangle in which the ellipse is inscribed. The first algorithm described by @cite Fitzgibbon95 +is used. Developer should keep in mind that it is possible that the returned +ellipse/rotatedRect data contains negative indices, due to the data points being close to the +border of the containing Mat element. + +@param points Input 2D point set, stored in std::vector\<\> or Mat + */ +CV_EXPORTS_W RotatedRect fitEllipse( InputArray points ); + +/** @brief Fits an ellipse around a set of 2D points. + + The function calculates the ellipse that fits a set of 2D points. + It returns the rotated rectangle in which the ellipse is inscribed. + The Approximate Mean Square (AMS) proposed by @cite Taubin1991 is used. + + For an ellipse, this basis set is \f$ \chi= \left(x^2, x y, y^2, x, y, 1\right) \f$, + which is a set of six free coefficients \f$ A^T=\left\{A_{\text{xx}},A_{\text{xy}},A_{\text{yy}},A_x,A_y,A_0\right\} \f$. + However, to specify an ellipse, all that is needed is five numbers; the major and minor axes lengths \f$ (a,b) \f$, + the position \f$ (x_0,y_0) \f$, and the orientation \f$ \theta \f$. This is because the basis set includes lines, + quadratics, parabolic and hyperbolic functions as well as elliptical functions as possible fits. + If the fit is found to be a parabolic or hyperbolic function then the standard fitEllipse method is used. + The AMS method restricts the fit to parabolic, hyperbolic and elliptical curves + by imposing the condition that \f$ A^T ( D_x^T D_x + D_y^T D_y) A = 1 \f$ where + the matrices \f$ Dx \f$ and \f$ Dy \f$ are the partial derivatives of the design matrix \f$ D \f$ with + respect to x and y. The matrices are formed row by row applying the following to + each of the points in the set: + \f{align*}{ + D(i,:)&=\left\{x_i^2, x_i y_i, y_i^2, x_i, y_i, 1\right\} & + D_x(i,:)&=\left\{2 x_i,y_i,0,1,0,0\right\} & + D_y(i,:)&=\left\{0,x_i,2 y_i,0,1,0\right\} + \f} + The AMS method minimizes the cost function + \f{equation*}{ + \epsilon ^2=\frac{ A^T D^T D A }{ A^T (D_x^T D_x + D_y^T D_y) A^T } + \f} + + The minimum cost is found by solving the generalized eigenvalue problem. + + \f{equation*}{ + D^T D A = \lambda \left( D_x^T D_x + D_y^T D_y\right) A + \f} + + @param points Input 2D point set, stored in std::vector\<\> or Mat + */ +CV_EXPORTS_W RotatedRect fitEllipseAMS( InputArray points ); + + +/** @brief Fits an ellipse around a set of 2D points. + + The function calculates the ellipse that fits a set of 2D points. + It returns the rotated rectangle in which the ellipse is inscribed. + The Direct least square (Direct) method by @cite Fitzgibbon1999 is used. + + For an ellipse, this basis set is \f$ \chi= \left(x^2, x y, y^2, x, y, 1\right) \f$, + which is a set of six free coefficients \f$ A^T=\left\{A_{\text{xx}},A_{\text{xy}},A_{\text{yy}},A_x,A_y,A_0\right\} \f$. + However, to specify an ellipse, all that is needed is five numbers; the major and minor axes lengths \f$ (a,b) \f$, + the position \f$ (x_0,y_0) \f$, and the orientation \f$ \theta \f$. This is because the basis set includes lines, + quadratics, parabolic and hyperbolic functions as well as elliptical functions as possible fits. + The Direct method confines the fit to ellipses by ensuring that \f$ 4 A_{xx} A_{yy}- A_{xy}^2 > 0 \f$. + The condition imposed is that \f$ 4 A_{xx} A_{yy}- A_{xy}^2=1 \f$ which satisfies the inequality + and as the coefficients can be arbitrarily scaled is not overly restrictive. + + \f{equation*}{ + \epsilon ^2= A^T D^T D A \quad \text{with} \quad A^T C A =1 \quad \text{and} \quad C=\left(\begin{matrix} + 0 & 0 & 2 & 0 & 0 & 0 \\ + 0 & -1 & 0 & 0 & 0 & 0 \\ + 2 & 0 & 0 & 0 & 0 & 0 \\ + 0 & 0 & 0 & 0 & 0 & 0 \\ + 0 & 0 & 0 & 0 & 0 & 0 \\ + 0 & 0 & 0 & 0 & 0 & 0 + \end{matrix} \right) + \f} + + The minimum cost is found by solving the generalized eigenvalue problem. + + \f{equation*}{ + D^T D A = \lambda \left( C\right) A + \f} + + The system produces only one positive eigenvalue \f$ \lambda\f$ which is chosen as the solution + with its eigenvector \f$\mathbf{u}\f$. These are used to find the coefficients + + \f{equation*}{ + A = \sqrt{\frac{1}{\mathbf{u}^T C \mathbf{u}}} \mathbf{u} + \f} + The scaling factor guarantees that \f$A^T C A =1\f$. + + @param points Input 2D point set, stored in std::vector\<\> or Mat + */ +CV_EXPORTS_W RotatedRect fitEllipseDirect( InputArray points ); + +/** @brief Fits a line to a 2D or 3D point set. + +The function fitLine fits a line to a 2D or 3D point set by minimizing \f$\sum_i \rho(r_i)\f$ where +\f$r_i\f$ is a distance between the \f$i^{th}\f$ point, the line and \f$\rho(r)\f$ is a distance function, one +of the following: +- DIST_L2 +\f[\rho (r) = r^2/2 \quad \text{(the simplest and the fastest least-squares method)}\f] +- DIST_L1 +\f[\rho (r) = r\f] +- DIST_L12 +\f[\rho (r) = 2 \cdot ( \sqrt{1 + \frac{r^2}{2}} - 1)\f] +- DIST_FAIR +\f[\rho \left (r \right ) = C^2 \cdot \left ( \frac{r}{C} - \log{\left(1 + \frac{r}{C}\right)} \right ) \quad \text{where} \quad C=1.3998\f] +- DIST_WELSCH +\f[\rho \left (r \right ) = \frac{C^2}{2} \cdot \left ( 1 - \exp{\left(-\left(\frac{r}{C}\right)^2\right)} \right ) \quad \text{where} \quad C=2.9846\f] +- DIST_HUBER +\f[\rho (r) = \fork{r^2/2}{if \(r < C\)}{C \cdot (r-C/2)}{otherwise} \quad \text{where} \quad C=1.345\f] + +The algorithm is based on the M-estimator ( ) technique +that iteratively fits the line using the weighted least-squares algorithm. After each iteration the +weights \f$w_i\f$ are adjusted to be inversely proportional to \f$\rho(r_i)\f$ . + +@param points Input vector of 2D or 3D points, stored in std::vector\<\> or Mat. +@param line Output line parameters. In case of 2D fitting, it should be a vector of 4 elements +(like Vec4f) - (vx, vy, x0, y0), where (vx, vy) is a normalized vector collinear to the line and +(x0, y0) is a point on the line. In case of 3D fitting, it should be a vector of 6 elements (like +Vec6f) - (vx, vy, vz, x0, y0, z0), where (vx, vy, vz) is a normalized vector collinear to the line +and (x0, y0, z0) is a point on the line. +@param distType Distance used by the M-estimator, see cv::DistanceTypes +@param param Numerical parameter ( C ) for some types of distances. If it is 0, an optimal value +is chosen. +@param reps Sufficient accuracy for the radius (distance between the coordinate origin and the line). +@param aeps Sufficient accuracy for the angle. 0.01 would be a good default value for reps and aeps. + */ +CV_EXPORTS_W void fitLine( InputArray points, OutputArray line, int distType, + double param, double reps, double aeps ); + +/** @brief Performs a point-in-contour test. + +The function determines whether the point is inside a contour, outside, or lies on an edge (or +coincides with a vertex). It returns positive (inside), negative (outside), or zero (on an edge) +value, correspondingly. When measureDist=false , the return value is +1, -1, and 0, respectively. +Otherwise, the return value is a signed distance between the point and the nearest contour edge. + +See below a sample output of the function where each image pixel is tested against the contour: + +![sample output](pics/pointpolygon.png) + +@param contour Input contour. +@param pt Point tested against the contour. +@param measureDist If true, the function estimates the signed distance from the point to the +nearest contour edge. Otherwise, the function only checks if the point is inside a contour or not. + */ +CV_EXPORTS_W double pointPolygonTest( InputArray contour, Point2f pt, bool measureDist ); + +/** @brief Finds out if there is any intersection between two rotated rectangles. + +If there is then the vertices of the intersecting region are returned as well. + +Below are some examples of intersection configurations. The hatched pattern indicates the +intersecting region and the red vertices are returned by the function. + +![intersection examples](pics/intersection.png) + +@param rect1 First rectangle +@param rect2 Second rectangle +@param intersectingRegion The output array of the verticies of the intersecting region. It returns +at most 8 vertices. Stored as std::vector\ or cv::Mat as Mx1 of type CV_32FC2. +@returns One of cv::RectanglesIntersectTypes + */ +CV_EXPORTS_W int rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& rect2, OutputArray intersectingRegion ); + +//! @} imgproc_shape + +CV_EXPORTS_W Ptr createCLAHE(double clipLimit = 40.0, Size tileGridSize = Size(8, 8)); + +//! Ballard, D.H. (1981). Generalizing the Hough transform to detect arbitrary shapes. Pattern Recognition 13 (2): 111-122. +//! Detects position only without translation and rotation +CV_EXPORTS Ptr createGeneralizedHoughBallard(); + +//! Guil, N., González-Linares, J.M. and Zapata, E.L. (1999). Bidimensional shape detection using an invariant approach. Pattern Recognition 32 (6): 1025-1038. +//! Detects position, translation and rotation +CV_EXPORTS Ptr createGeneralizedHoughGuil(); + +//! Performs linear blending of two images: +//! \f[ \texttt{dst}(i,j) = \texttt{weights1}(i,j)*\texttt{src1}(i,j) + \texttt{weights2}(i,j)*\texttt{src2}(i,j) \f] +//! @param src1 It has a type of CV_8UC(n) or CV_32FC(n), where n is a positive integer. +//! @param src2 It has the same type and size as src1. +//! @param weights1 It has a type of CV_32FC1 and the same size with src1. +//! @param weights2 It has a type of CV_32FC1 and the same size with src1. +//! @param dst It is created if it does not have the same size and type with src1. +CV_EXPORTS void blendLinear(InputArray src1, InputArray src2, InputArray weights1, InputArray weights2, OutputArray dst); + +//! @addtogroup imgproc_colormap +//! @{ + +//! GNU Octave/MATLAB equivalent colormaps +enum ColormapTypes +{ + COLORMAP_AUTUMN = 0, //!< ![autumn](pics/colormaps/colorscale_autumn.jpg) + COLORMAP_BONE = 1, //!< ![bone](pics/colormaps/colorscale_bone.jpg) + COLORMAP_JET = 2, //!< ![jet](pics/colormaps/colorscale_jet.jpg) + COLORMAP_WINTER = 3, //!< ![winter](pics/colormaps/colorscale_winter.jpg) + COLORMAP_RAINBOW = 4, //!< ![rainbow](pics/colormaps/colorscale_rainbow.jpg) + COLORMAP_OCEAN = 5, //!< ![ocean](pics/colormaps/colorscale_ocean.jpg) + COLORMAP_SUMMER = 6, //!< ![summer](pics/colormaps/colorscale_summer.jpg) + COLORMAP_SPRING = 7, //!< ![spring](pics/colormaps/colorscale_spring.jpg) + COLORMAP_COOL = 8, //!< ![cool](pics/colormaps/colorscale_cool.jpg) + COLORMAP_HSV = 9, //!< ![HSV](pics/colormaps/colorscale_hsv.jpg) + COLORMAP_PINK = 10, //!< ![pink](pics/colormaps/colorscale_pink.jpg) + COLORMAP_HOT = 11, //!< ![hot](pics/colormaps/colorscale_hot.jpg) + COLORMAP_PARULA = 12 //!< ![parula](pics/colormaps/colorscale_parula.jpg) +}; + +/** @example falsecolor.cpp +An example using applyColorMap function +*/ +/** @brief Applies a GNU Octave/MATLAB equivalent colormap on a given image. + +@param src The source image, grayscale or colored of type CV_8UC1 or CV_8UC3. +@param dst The result is the colormapped source image. Note: Mat::create is called on dst. +@param colormap The colormap to apply, see cv::ColormapTypes +*/ +CV_EXPORTS_W void applyColorMap(InputArray src, OutputArray dst, int colormap); + +/** @brief Applies a user colormap on a given image. + +@param src The source image, grayscale or colored of type CV_8UC1 or CV_8UC3. +@param dst The result is the colormapped source image. Note: Mat::create is called on dst. +@param userColor The colormap to apply of type CV_8UC1 or CV_8UC3 and size 256 +*/ +CV_EXPORTS_W void applyColorMap(InputArray src, OutputArray dst, InputArray userColor); + +//! @} imgproc_colormap + +//! @addtogroup imgproc_draw +//! @{ + +/** @brief Draws a line segment connecting two points. + +The function line draws the line segment between pt1 and pt2 points in the image. The line is +clipped by the image boundaries. For non-antialiased lines with integer coordinates, the 8-connected +or 4-connected Bresenham algorithm is used. Thick lines are drawn with rounding endings. Antialiased +lines are drawn using Gaussian filtering. + +@param img Image. +@param pt1 First point of the line segment. +@param pt2 Second point of the line segment. +@param color Line color. +@param thickness Line thickness. +@param lineType Type of the line, see cv::LineTypes. +@param shift Number of fractional bits in the point coordinates. + */ +CV_EXPORTS_W void line(InputOutputArray img, Point pt1, Point pt2, const Scalar& color, + int thickness = 1, int lineType = LINE_8, int shift = 0); + +/** @brief Draws a arrow segment pointing from the first point to the second one. + +The function arrowedLine draws an arrow between pt1 and pt2 points in the image. See also cv::line. + +@param img Image. +@param pt1 The point the arrow starts from. +@param pt2 The point the arrow points to. +@param color Line color. +@param thickness Line thickness. +@param line_type Type of the line, see cv::LineTypes +@param shift Number of fractional bits in the point coordinates. +@param tipLength The length of the arrow tip in relation to the arrow length + */ +CV_EXPORTS_W void arrowedLine(InputOutputArray img, Point pt1, Point pt2, const Scalar& color, + int thickness=1, int line_type=8, int shift=0, double tipLength=0.1); + +/** @brief Draws a simple, thick, or filled up-right rectangle. + +The function rectangle draws a rectangle outline or a filled rectangle whose two opposite corners +are pt1 and pt2. + +@param img Image. +@param pt1 Vertex of the rectangle. +@param pt2 Vertex of the rectangle opposite to pt1 . +@param color Rectangle color or brightness (grayscale image). +@param thickness Thickness of lines that make up the rectangle. Negative values, like CV_FILLED , +mean that the function has to draw a filled rectangle. +@param lineType Type of the line. See the line description. +@param shift Number of fractional bits in the point coordinates. + */ +CV_EXPORTS_W void rectangle(InputOutputArray img, Point pt1, Point pt2, + const Scalar& color, int thickness = 1, + int lineType = LINE_8, int shift = 0); + +/** @overload + +use `rec` parameter as alternative specification of the drawn rectangle: `r.tl() and +r.br()-Point(1,1)` are opposite corners +*/ +CV_EXPORTS void rectangle(CV_IN_OUT Mat& img, Rect rec, + const Scalar& color, int thickness = 1, + int lineType = LINE_8, int shift = 0); + +/** @example Drawing_2.cpp +An example using drawing functions + */ +/** @brief Draws a circle. + +The function circle draws a simple or filled circle with a given center and radius. +@param img Image where the circle is drawn. +@param center Center of the circle. +@param radius Radius of the circle. +@param color Circle color. +@param thickness Thickness of the circle outline, if positive. Negative thickness means that a +filled circle is to be drawn. +@param lineType Type of the circle boundary. See the line description. +@param shift Number of fractional bits in the coordinates of the center and in the radius value. + */ +CV_EXPORTS_W void circle(InputOutputArray img, Point center, int radius, + const Scalar& color, int thickness = 1, + int lineType = LINE_8, int shift = 0); + +/** @brief Draws a simple or thick elliptic arc or fills an ellipse sector. + +The function cv::ellipse with more parameters draws an ellipse outline, a filled ellipse, an elliptic +arc, or a filled ellipse sector. The drawing code uses general parametric form. +A piecewise-linear curve is used to approximate the elliptic arc +boundary. If you need more control of the ellipse rendering, you can retrieve the curve using +cv::ellipse2Poly and then render it with polylines or fill it with cv::fillPoly. If you use the first +variant of the function and want to draw the whole ellipse, not an arc, pass `startAngle=0` and +`endAngle=360`. If `startAngle` is greater than `endAngle`, they are swapped. The figure below explains +the meaning of the parameters to draw the blue arc. + +![Parameters of Elliptic Arc](pics/ellipse.svg) + +@param img Image. +@param center Center of the ellipse. +@param axes Half of the size of the ellipse main axes. +@param angle Ellipse rotation angle in degrees. +@param startAngle Starting angle of the elliptic arc in degrees. +@param endAngle Ending angle of the elliptic arc in degrees. +@param color Ellipse color. +@param thickness Thickness of the ellipse arc outline, if positive. Otherwise, this indicates that +a filled ellipse sector is to be drawn. +@param lineType Type of the ellipse boundary. See the line description. +@param shift Number of fractional bits in the coordinates of the center and values of axes. + */ +CV_EXPORTS_W void ellipse(InputOutputArray img, Point center, Size axes, + double angle, double startAngle, double endAngle, + const Scalar& color, int thickness = 1, + int lineType = LINE_8, int shift = 0); + +/** @overload +@param img Image. +@param box Alternative ellipse representation via RotatedRect. This means that the function draws +an ellipse inscribed in the rotated rectangle. +@param color Ellipse color. +@param thickness Thickness of the ellipse arc outline, if positive. Otherwise, this indicates that +a filled ellipse sector is to be drawn. +@param lineType Type of the ellipse boundary. See the line description. +*/ +CV_EXPORTS_W void ellipse(InputOutputArray img, const RotatedRect& box, const Scalar& color, + int thickness = 1, int lineType = LINE_8); + +/* ----------------------------------------------------------------------------------------- */ +/* ADDING A SET OF PREDEFINED MARKERS WHICH COULD BE USED TO HIGHLIGHT POSITIONS IN AN IMAGE */ +/* ----------------------------------------------------------------------------------------- */ + +//! Possible set of marker types used for the cv::drawMarker function +enum MarkerTypes +{ + MARKER_CROSS = 0, //!< A crosshair marker shape + MARKER_TILTED_CROSS = 1, //!< A 45 degree tilted crosshair marker shape + MARKER_STAR = 2, //!< A star marker shape, combination of cross and tilted cross + MARKER_DIAMOND = 3, //!< A diamond marker shape + MARKER_SQUARE = 4, //!< A square marker shape + MARKER_TRIANGLE_UP = 5, //!< An upwards pointing triangle marker shape + MARKER_TRIANGLE_DOWN = 6 //!< A downwards pointing triangle marker shape +}; + +/** @brief Draws a marker on a predefined position in an image. + +The function drawMarker draws a marker on a given position in the image. For the moment several +marker types are supported, see cv::MarkerTypes for more information. + +@param img Image. +@param position The point where the crosshair is positioned. +@param color Line color. +@param markerType The specific type of marker you want to use, see cv::MarkerTypes +@param thickness Line thickness. +@param line_type Type of the line, see cv::LineTypes +@param markerSize The length of the marker axis [default = 20 pixels] + */ +CV_EXPORTS_W void drawMarker(CV_IN_OUT Mat& img, Point position, const Scalar& color, + int markerType = MARKER_CROSS, int markerSize=20, int thickness=1, + int line_type=8); + +/* ----------------------------------------------------------------------------------------- */ +/* END OF MARKER SECTION */ +/* ----------------------------------------------------------------------------------------- */ + +/** @overload */ +CV_EXPORTS void fillConvexPoly(Mat& img, const Point* pts, int npts, + const Scalar& color, int lineType = LINE_8, + int shift = 0); + +/** @brief Fills a convex polygon. + +The function fillConvexPoly draws a filled convex polygon. This function is much faster than the +function cv::fillPoly . It can fill not only convex polygons but any monotonic polygon without +self-intersections, that is, a polygon whose contour intersects every horizontal line (scan line) +twice at the most (though, its top-most and/or the bottom edge could be horizontal). + +@param img Image. +@param points Polygon vertices. +@param color Polygon color. +@param lineType Type of the polygon boundaries. See the line description. +@param shift Number of fractional bits in the vertex coordinates. + */ +CV_EXPORTS_W void fillConvexPoly(InputOutputArray img, InputArray points, + const Scalar& color, int lineType = LINE_8, + int shift = 0); + +/** @overload */ +CV_EXPORTS void fillPoly(Mat& img, const Point** pts, + const int* npts, int ncontours, + const Scalar& color, int lineType = LINE_8, int shift = 0, + Point offset = Point() ); + +/** @example Drawing_1.cpp +An example using drawing functions + */ +/** @brief Fills the area bounded by one or more polygons. + +The function fillPoly fills an area bounded by several polygonal contours. The function can fill +complex areas, for example, areas with holes, contours with self-intersections (some of their +parts), and so forth. + +@param img Image. +@param pts Array of polygons where each polygon is represented as an array of points. +@param color Polygon color. +@param lineType Type of the polygon boundaries. See the line description. +@param shift Number of fractional bits in the vertex coordinates. +@param offset Optional offset of all points of the contours. + */ +CV_EXPORTS_W void fillPoly(InputOutputArray img, InputArrayOfArrays pts, + const Scalar& color, int lineType = LINE_8, int shift = 0, + Point offset = Point() ); + +/** @overload */ +CV_EXPORTS void polylines(Mat& img, const Point* const* pts, const int* npts, + int ncontours, bool isClosed, const Scalar& color, + int thickness = 1, int lineType = LINE_8, int shift = 0 ); + +/** @brief Draws several polygonal curves. + +@param img Image. +@param pts Array of polygonal curves. +@param isClosed Flag indicating whether the drawn polylines are closed or not. If they are closed, +the function draws a line from the last vertex of each curve to its first vertex. +@param color Polyline color. +@param thickness Thickness of the polyline edges. +@param lineType Type of the line segments. See the line description. +@param shift Number of fractional bits in the vertex coordinates. + +The function polylines draws one or more polygonal curves. + */ +CV_EXPORTS_W void polylines(InputOutputArray img, InputArrayOfArrays pts, + bool isClosed, const Scalar& color, + int thickness = 1, int lineType = LINE_8, int shift = 0 ); + +/** @example contours2.cpp + An example program illustrates the use of cv::findContours and cv::drawContours + \image html WindowsQtContoursOutput.png "Screenshot of the program" +*/ + +/** @example segment_objects.cpp +An example using drawContours to clean up a background segmentation result + */ + +/** @brief Draws contours outlines or filled contours. + +The function draws contour outlines in the image if \f$\texttt{thickness} \ge 0\f$ or fills the area +bounded by the contours if \f$\texttt{thickness}<0\f$ . The example below shows how to retrieve +connected components from the binary image and label them: : +@code + #include "opencv2/imgproc.hpp" + #include "opencv2/highgui.hpp" + + using namespace cv; + using namespace std; + + int main( int argc, char** argv ) + { + Mat src; + // the first command-line parameter must be a filename of the binary + // (black-n-white) image + if( argc != 2 || !(src=imread(argv[1], 0)).data) + return -1; + + Mat dst = Mat::zeros(src.rows, src.cols, CV_8UC3); + + src = src > 1; + namedWindow( "Source", 1 ); + imshow( "Source", src ); + + vector > contours; + vector hierarchy; + + findContours( src, contours, hierarchy, + RETR_CCOMP, CHAIN_APPROX_SIMPLE ); + + // iterate through all the top-level contours, + // draw each connected component with its own random color + int idx = 0; + for( ; idx >= 0; idx = hierarchy[idx][0] ) + { + Scalar color( rand()&255, rand()&255, rand()&255 ); + drawContours( dst, contours, idx, color, FILLED, 8, hierarchy ); + } + + namedWindow( "Components", 1 ); + imshow( "Components", dst ); + waitKey(0); + } +@endcode + +@param image Destination image. +@param contours All the input contours. Each contour is stored as a point vector. +@param contourIdx Parameter indicating a contour to draw. If it is negative, all the contours are drawn. +@param color Color of the contours. +@param thickness Thickness of lines the contours are drawn with. If it is negative (for example, +thickness=CV_FILLED ), the contour interiors are drawn. +@param lineType Line connectivity. See cv::LineTypes. +@param hierarchy Optional information about hierarchy. It is only needed if you want to draw only +some of the contours (see maxLevel ). +@param maxLevel Maximal level for drawn contours. If it is 0, only the specified contour is drawn. +If it is 1, the function draws the contour(s) and all the nested contours. If it is 2, the function +draws the contours, all the nested contours, all the nested-to-nested contours, and so on. This +parameter is only taken into account when there is hierarchy available. +@param offset Optional contour shift parameter. Shift all the drawn contours by the specified +\f$\texttt{offset}=(dx,dy)\f$ . + */ +CV_EXPORTS_W void drawContours( InputOutputArray image, InputArrayOfArrays contours, + int contourIdx, const Scalar& color, + int thickness = 1, int lineType = LINE_8, + InputArray hierarchy = noArray(), + int maxLevel = INT_MAX, Point offset = Point() ); + +/** @brief Clips the line against the image rectangle. + +The function cv::clipLine calculates a part of the line segment that is entirely within the specified +rectangle. it returns false if the line segment is completely outside the rectangle. Otherwise, +it returns true . +@param imgSize Image size. The image rectangle is Rect(0, 0, imgSize.width, imgSize.height) . +@param pt1 First line point. +@param pt2 Second line point. + */ +CV_EXPORTS bool clipLine(Size imgSize, CV_IN_OUT Point& pt1, CV_IN_OUT Point& pt2); + +/** @overload +@param imgSize Image size. The image rectangle is Rect(0, 0, imgSize.width, imgSize.height) . +@param pt1 First line point. +@param pt2 Second line point. +*/ +CV_EXPORTS bool clipLine(Size2l imgSize, CV_IN_OUT Point2l& pt1, CV_IN_OUT Point2l& pt2); + +/** @overload +@param imgRect Image rectangle. +@param pt1 First line point. +@param pt2 Second line point. +*/ +CV_EXPORTS_W bool clipLine(Rect imgRect, CV_OUT CV_IN_OUT Point& pt1, CV_OUT CV_IN_OUT Point& pt2); + +/** @brief Approximates an elliptic arc with a polyline. + +The function ellipse2Poly computes the vertices of a polyline that approximates the specified +elliptic arc. It is used by cv::ellipse. If `arcStart` is greater than `arcEnd`, they are swapped. + +@param center Center of the arc. +@param axes Half of the size of the ellipse main axes. See the ellipse for details. +@param angle Rotation angle of the ellipse in degrees. See the ellipse for details. +@param arcStart Starting angle of the elliptic arc in degrees. +@param arcEnd Ending angle of the elliptic arc in degrees. +@param delta Angle between the subsequent polyline vertices. It defines the approximation +accuracy. +@param pts Output vector of polyline vertices. + */ +CV_EXPORTS_W void ellipse2Poly( Point center, Size axes, int angle, + int arcStart, int arcEnd, int delta, + CV_OUT std::vector& pts ); + +/** @overload +@param center Center of the arc. +@param axes Half of the size of the ellipse main axes. See the ellipse for details. +@param angle Rotation angle of the ellipse in degrees. See the ellipse for details. +@param arcStart Starting angle of the elliptic arc in degrees. +@param arcEnd Ending angle of the elliptic arc in degrees. +@param delta Angle between the subsequent polyline vertices. It defines the approximation +accuracy. +@param pts Output vector of polyline vertices. +*/ +CV_EXPORTS void ellipse2Poly(Point2d center, Size2d axes, int angle, + int arcStart, int arcEnd, int delta, + CV_OUT std::vector& pts); + +/** @brief Draws a text string. + +The function putText renders the specified text string in the image. Symbols that cannot be rendered +using the specified font are replaced by question marks. See getTextSize for a text rendering code +example. + +@param img Image. +@param text Text string to be drawn. +@param org Bottom-left corner of the text string in the image. +@param fontFace Font type, see cv::HersheyFonts. +@param fontScale Font scale factor that is multiplied by the font-specific base size. +@param color Text color. +@param thickness Thickness of the lines used to draw a text. +@param lineType Line type. See the line for details. +@param bottomLeftOrigin When true, the image data origin is at the bottom-left corner. Otherwise, +it is at the top-left corner. + */ +CV_EXPORTS_W void putText( InputOutputArray img, const String& text, Point org, + int fontFace, double fontScale, Scalar color, + int thickness = 1, int lineType = LINE_8, + bool bottomLeftOrigin = false ); + +/** @brief Calculates the width and height of a text string. + +The function getTextSize calculates and returns the size of a box that contains the specified text. +That is, the following code renders some text, the tight box surrounding it, and the baseline: : +@code + String text = "Funny text inside the box"; + int fontFace = FONT_HERSHEY_SCRIPT_SIMPLEX; + double fontScale = 2; + int thickness = 3; + + Mat img(600, 800, CV_8UC3, Scalar::all(0)); + + int baseline=0; + Size textSize = getTextSize(text, fontFace, + fontScale, thickness, &baseline); + baseline += thickness; + + // center the text + Point textOrg((img.cols - textSize.width)/2, + (img.rows + textSize.height)/2); + + // draw the box + rectangle(img, textOrg + Point(0, baseline), + textOrg + Point(textSize.width, -textSize.height), + Scalar(0,0,255)); + // ... and the baseline first + line(img, textOrg + Point(0, thickness), + textOrg + Point(textSize.width, thickness), + Scalar(0, 0, 255)); + + // then put the text itself + putText(img, text, textOrg, fontFace, fontScale, + Scalar::all(255), thickness, 8); +@endcode + +@param text Input text string. +@param fontFace Font to use, see cv::HersheyFonts. +@param fontScale Font scale factor that is multiplied by the font-specific base size. +@param thickness Thickness of lines used to render the text. See putText for details. +@param[out] baseLine y-coordinate of the baseline relative to the bottom-most text +point. +@return The size of a box that contains the specified text. + +@see cv::putText + */ +CV_EXPORTS_W Size getTextSize(const String& text, int fontFace, + double fontScale, int thickness, + CV_OUT int* baseLine); + +/** @brief Line iterator + +The class is used to iterate over all the pixels on the raster line +segment connecting two specified points. + +The class LineIterator is used to get each pixel of a raster line. It +can be treated as versatile implementation of the Bresenham algorithm +where you can stop at each pixel and do some extra processing, for +example, grab pixel values along the line or draw a line with an effect +(for example, with XOR operation). + +The number of pixels along the line is stored in LineIterator::count. +The method LineIterator::pos returns the current position in the image: + +@code{.cpp} +// grabs pixels along the line (pt1, pt2) +// from 8-bit 3-channel image to the buffer +LineIterator it(img, pt1, pt2, 8); +LineIterator it2 = it; +vector buf(it.count); + +for(int i = 0; i < it.count; i++, ++it) + buf[i] = *(const Vec3b)*it; + +// alternative way of iterating through the line +for(int i = 0; i < it2.count; i++, ++it2) +{ + Vec3b val = img.at(it2.pos()); + CV_Assert(buf[i] == val); +} +@endcode +*/ +class CV_EXPORTS LineIterator +{ +public: + /** @brief intializes the iterator + + creates iterators for the line connecting pt1 and pt2 + the line will be clipped on the image boundaries + the line is 8-connected or 4-connected + If leftToRight=true, then the iteration is always done + from the left-most point to the right most, + not to depend on the ordering of pt1 and pt2 parameters + */ + LineIterator( const Mat& img, Point pt1, Point pt2, + int connectivity = 8, bool leftToRight = false ); + /** @brief returns pointer to the current pixel + */ + uchar* operator *(); + /** @brief prefix increment operator (++it). shifts iterator to the next pixel + */ + LineIterator& operator ++(); + /** @brief postfix increment operator (it++). shifts iterator to the next pixel + */ + LineIterator operator ++(int); + /** @brief returns coordinates of the current pixel + */ + Point pos() const; + + uchar* ptr; + const uchar* ptr0; + int step, elemSize; + int err, count; + int minusDelta, plusDelta; + int minusStep, plusStep; +}; + +//! @cond IGNORED + +// === LineIterator implementation === + +inline +uchar* LineIterator::operator *() +{ + return ptr; +} + +inline +LineIterator& LineIterator::operator ++() +{ + int mask = err < 0 ? -1 : 0; + err += minusDelta + (plusDelta & mask); + ptr += minusStep + (plusStep & mask); + return *this; +} + +inline +LineIterator LineIterator::operator ++(int) +{ + LineIterator it = *this; + ++(*this); + return it; +} + +inline +Point LineIterator::pos() const +{ + Point p; + p.y = (int)((ptr - ptr0)/step); + p.x = (int)(((ptr - ptr0) - p.y*step)/elemSize); + return p; +} + +//! @endcond + +//! @} imgproc_draw + +//! @} imgproc + +} // cv + +#ifndef DISABLE_OPENCV_24_COMPATIBILITY +#include "opencv2/imgproc/imgproc_c.h" +#endif + +#endif diff --git a/app/src/main/cpp/include/opencv2/imgproc/detail/distortion_model.hpp b/app/src/main/cpp/include/opencv2/imgproc/detail/distortion_model.hpp new file mode 100644 index 0000000..a9c3dde --- /dev/null +++ b/app/src/main/cpp/include/opencv2/imgproc/detail/distortion_model.hpp @@ -0,0 +1,123 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_IMGPROC_DETAIL_DISTORTION_MODEL_HPP +#define OPENCV_IMGPROC_DETAIL_DISTORTION_MODEL_HPP + +//! @cond IGNORED + +namespace cv { namespace detail { +/** +Computes the matrix for the projection onto a tilted image sensor +\param tauX angular parameter rotation around x-axis +\param tauY angular parameter rotation around y-axis +\param matTilt if not NULL returns the matrix +\f[ +\vecthreethree{R_{33}(\tau_x, \tau_y)}{0}{-R_{13}((\tau_x, \tau_y)} +{0}{R_{33}(\tau_x, \tau_y)}{-R_{23}(\tau_x, \tau_y)} +{0}{0}{1} R(\tau_x, \tau_y) +\f] +where +\f[ +R(\tau_x, \tau_y) = +\vecthreethree{\cos(\tau_y)}{0}{-\sin(\tau_y)}{0}{1}{0}{\sin(\tau_y)}{0}{\cos(\tau_y)} +\vecthreethree{1}{0}{0}{0}{\cos(\tau_x)}{\sin(\tau_x)}{0}{-\sin(\tau_x)}{\cos(\tau_x)} = +\vecthreethree{\cos(\tau_y)}{\sin(\tau_y)\sin(\tau_x)}{-\sin(\tau_y)\cos(\tau_x)} +{0}{\cos(\tau_x)}{\sin(\tau_x)} +{\sin(\tau_y)}{-\cos(\tau_y)\sin(\tau_x)}{\cos(\tau_y)\cos(\tau_x)}. +\f] +\param dMatTiltdTauX if not NULL it returns the derivative of matTilt with +respect to \f$\tau_x\f$. +\param dMatTiltdTauY if not NULL it returns the derivative of matTilt with +respect to \f$\tau_y\f$. +\param invMatTilt if not NULL it returns the inverse of matTilt +**/ +template +void computeTiltProjectionMatrix(FLOAT tauX, + FLOAT tauY, + Matx* matTilt = 0, + Matx* dMatTiltdTauX = 0, + Matx* dMatTiltdTauY = 0, + Matx* invMatTilt = 0) +{ + FLOAT cTauX = cos(tauX); + FLOAT sTauX = sin(tauX); + FLOAT cTauY = cos(tauY); + FLOAT sTauY = sin(tauY); + Matx matRotX = Matx(1,0,0,0,cTauX,sTauX,0,-sTauX,cTauX); + Matx matRotY = Matx(cTauY,0,-sTauY,0,1,0,sTauY,0,cTauY); + Matx matRotXY = matRotY * matRotX; + Matx matProjZ = Matx(matRotXY(2,2),0,-matRotXY(0,2),0,matRotXY(2,2),-matRotXY(1,2),0,0,1); + if (matTilt) + { + // Matrix for trapezoidal distortion of tilted image sensor + *matTilt = matProjZ * matRotXY; + } + if (dMatTiltdTauX) + { + // Derivative with respect to tauX + Matx dMatRotXYdTauX = matRotY * Matx(0,0,0,0,-sTauX,cTauX,0,-cTauX,-sTauX); + Matx dMatProjZdTauX = Matx(dMatRotXYdTauX(2,2),0,-dMatRotXYdTauX(0,2), + 0,dMatRotXYdTauX(2,2),-dMatRotXYdTauX(1,2),0,0,0); + *dMatTiltdTauX = (matProjZ * dMatRotXYdTauX) + (dMatProjZdTauX * matRotXY); + } + if (dMatTiltdTauY) + { + // Derivative with respect to tauY + Matx dMatRotXYdTauY = Matx(-sTauY,0,-cTauY,0,0,0,cTauY,0,-sTauY) * matRotX; + Matx dMatProjZdTauY = Matx(dMatRotXYdTauY(2,2),0,-dMatRotXYdTauY(0,2), + 0,dMatRotXYdTauY(2,2),-dMatRotXYdTauY(1,2),0,0,0); + *dMatTiltdTauY = (matProjZ * dMatRotXYdTauY) + (dMatProjZdTauY * matRotXY); + } + if (invMatTilt) + { + FLOAT inv = 1./matRotXY(2,2); + Matx invMatProjZ = Matx(inv,0,inv*matRotXY(0,2),0,inv,inv*matRotXY(1,2),0,0,1); + *invMatTilt = matRotXY.t()*invMatProjZ; + } +} +}} // namespace detail, cv + + +//! @endcond + +#endif // OPENCV_IMGPROC_DETAIL_DISTORTION_MODEL_HPP diff --git a/app/src/main/cpp/include/opencv2/imgproc/hal/hal.hpp b/app/src/main/cpp/include/opencv2/imgproc/hal/hal.hpp new file mode 100644 index 0000000..5523df2 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/imgproc/hal/hal.hpp @@ -0,0 +1,229 @@ +#ifndef CV_IMGPROC_HAL_HPP +#define CV_IMGPROC_HAL_HPP + +#include "opencv2/core/cvdef.h" +#include "opencv2/core/cvstd.hpp" +#include "opencv2/core/hal/interface.h" + +namespace cv { namespace hal { + +//! @addtogroup imgproc_hal_functions +//! @{ + +//--------------------------- +//! @cond IGNORED + +struct CV_EXPORTS Filter2D +{ + CV_DEPRECATED static Ptr create(uchar * , size_t , int , + int , int , + int , int , + int , int , + int , double , + int , int , + bool , bool ); + virtual void apply(uchar * , size_t , + uchar * , size_t , + int , int , + int , int , + int , int ) = 0; + virtual ~Filter2D() {} +}; + +struct CV_EXPORTS SepFilter2D +{ + CV_DEPRECATED static Ptr create(int , int , int , + uchar * , int , + uchar * , int , + int , int , + double , int ); + virtual void apply(uchar * , size_t , + uchar * , size_t , + int , int , + int , int , + int , int ) = 0; + virtual ~SepFilter2D() {} +}; + + +struct CV_EXPORTS Morph +{ + CV_DEPRECATED static Ptr create(int , int , int , int , int , + int , uchar * , size_t , + int , int , + int , int , + int , const double *, + int , bool , bool ); + virtual void apply(uchar * , size_t , uchar * , size_t , int , int , + int , int , int , int , + int , int , int , int ) = 0; + virtual ~Morph() {} +}; + +//! @endcond +//--------------------------- + +CV_EXPORTS void filter2D(int stype, int dtype, int kernel_type, + uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int full_width, int full_height, + int offset_x, int offset_y, + uchar * kernel_data, size_t kernel_step, + int kernel_width, int kernel_height, + int anchor_x, int anchor_y, + double delta, int borderType, + bool isSubmatrix); + +CV_EXPORTS void sepFilter2D(int stype, int dtype, int ktype, + uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int full_width, int full_height, + int offset_x, int offset_y, + uchar * kernelx_data, int kernelx_len, + uchar * kernely_data, int kernely_len, + int anchor_x, int anchor_y, + double delta, int borderType); + +CV_EXPORTS void morph(int op, int src_type, int dst_type, + uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int roi_width, int roi_height, int roi_x, int roi_y, + int roi_width2, int roi_height2, int roi_x2, int roi_y2, + int kernel_type, uchar * kernel_data, size_t kernel_step, + int kernel_width, int kernel_height, int anchor_x, int anchor_y, + int borderType, const double borderValue[4], + int iterations, bool isSubmatrix); + + +CV_EXPORTS void resize(int src_type, + const uchar * src_data, size_t src_step, int src_width, int src_height, + uchar * dst_data, size_t dst_step, int dst_width, int dst_height, + double inv_scale_x, double inv_scale_y, int interpolation); + +CV_EXPORTS void warpAffine(int src_type, + const uchar * src_data, size_t src_step, int src_width, int src_height, + uchar * dst_data, size_t dst_step, int dst_width, int dst_height, + const double M[6], int interpolation, int borderType, const double borderValue[4]); + +CV_EXPORTS void warpPerspectve(int src_type, + const uchar * src_data, size_t src_step, int src_width, int src_height, + uchar * dst_data, size_t dst_step, int dst_width, int dst_height, + const double M[9], int interpolation, int borderType, const double borderValue[4]); + +CV_EXPORTS void cvtBGRtoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int scn, int dcn, bool swapBlue); + +CV_EXPORTS void cvtBGRtoBGR5x5(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int scn, bool swapBlue, int greenBits); + +CV_EXPORTS void cvtBGR5x5toBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int dcn, bool swapBlue, int greenBits); + +CV_EXPORTS void cvtBGRtoGray(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int scn, bool swapBlue); + +CV_EXPORTS void cvtGraytoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int dcn); + +CV_EXPORTS void cvtBGR5x5toGray(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int greenBits); + +CV_EXPORTS void cvtGraytoBGR5x5(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int greenBits); +CV_EXPORTS void cvtBGRtoYUV(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int scn, bool swapBlue, bool isCbCr); + +CV_EXPORTS void cvtYUVtoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int dcn, bool swapBlue, bool isCbCr); + +CV_EXPORTS void cvtBGRtoXYZ(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int scn, bool swapBlue); + +CV_EXPORTS void cvtXYZtoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int dcn, bool swapBlue); + +CV_EXPORTS void cvtBGRtoHSV(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int scn, bool swapBlue, bool isFullRange, bool isHSV); + +CV_EXPORTS void cvtHSVtoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int dcn, bool swapBlue, bool isFullRange, bool isHSV); + +CV_EXPORTS void cvtBGRtoLab(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int scn, bool swapBlue, bool isLab, bool srgb); + +CV_EXPORTS void cvtLabtoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int dcn, bool swapBlue, bool isLab, bool srgb); + +CV_EXPORTS void cvtTwoPlaneYUVtoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int dst_width, int dst_height, + int dcn, bool swapBlue, int uIdx); + +CV_EXPORTS void cvtThreePlaneYUVtoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int dst_width, int dst_height, + int dcn, bool swapBlue, int uIdx); + +CV_EXPORTS void cvtBGRtoThreePlaneYUV(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int scn, bool swapBlue, int uIdx); + +CV_EXPORTS void cvtOnePlaneYUVtoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int dcn, bool swapBlue, int uIdx, int ycn); + +CV_EXPORTS void cvtRGBAtoMultipliedRGBA(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height); + +CV_EXPORTS void cvtMultipliedRGBAtoRGBA(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height); + +CV_EXPORTS void integral(int depth, int sdepth, int sqdepth, + const uchar* src, size_t srcstep, + uchar* sum, size_t sumstep, + uchar* sqsum, size_t sqsumstep, + uchar* tilted, size_t tstep, + int width, int height, int cn); + +//! @} + +}} + +#endif // CV_IMGPROC_HAL_HPP diff --git a/app/src/main/cpp/include/opencv2/imgproc/hal/interface.h b/app/src/main/cpp/include/opencv2/imgproc/hal/interface.h new file mode 100644 index 0000000..23eb0ba --- /dev/null +++ b/app/src/main/cpp/include/opencv2/imgproc/hal/interface.h @@ -0,0 +1,26 @@ +#ifndef OPENCV_IMGPROC_HAL_INTERFACE_H +#define OPENCV_IMGPROC_HAL_INTERFACE_H + +//! @addtogroup imgproc_hal_interface +//! @{ + +//! @name Interpolation modes +//! @sa cv::InterpolationFlags +//! @{ +#define CV_HAL_INTER_NEAREST 0 +#define CV_HAL_INTER_LINEAR 1 +#define CV_HAL_INTER_CUBIC 2 +#define CV_HAL_INTER_AREA 3 +#define CV_HAL_INTER_LANCZOS4 4 +//! @} + +//! @name Morphology operations +//! @sa cv::MorphTypes +//! @{ +#define CV_HAL_MORPH_ERODE 0 +#define CV_HAL_MORPH_DILATE 1 +//! @} + +//! @} + +#endif diff --git a/app/src/main/cpp/include/opencv2/imgproc/imgproc.hpp b/app/src/main/cpp/include/opencv2/imgproc/imgproc.hpp new file mode 100644 index 0000000..4175bd0 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/imgproc/imgproc.hpp @@ -0,0 +1,48 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/imgproc.hpp" diff --git a/app/src/main/cpp/include/opencv2/imgproc/imgproc_c.h b/app/src/main/cpp/include/opencv2/imgproc/imgproc_c.h new file mode 100644 index 0000000..d11db4b --- /dev/null +++ b/app/src/main/cpp/include/opencv2/imgproc/imgproc_c.h @@ -0,0 +1,1210 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_IMGPROC_IMGPROC_C_H +#define OPENCV_IMGPROC_IMGPROC_C_H + +#include "opencv2/imgproc/types_c.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** @addtogroup imgproc_c +@{ +*/ + +/*********************** Background statistics accumulation *****************************/ + +/** @brief Adds image to accumulator +@see cv::accumulate +*/ +CVAPI(void) cvAcc( const CvArr* image, CvArr* sum, + const CvArr* mask CV_DEFAULT(NULL) ); + +/** @brief Adds squared image to accumulator +@see cv::accumulateSquare +*/ +CVAPI(void) cvSquareAcc( const CvArr* image, CvArr* sqsum, + const CvArr* mask CV_DEFAULT(NULL) ); + +/** @brief Adds a product of two images to accumulator +@see cv::accumulateProduct +*/ +CVAPI(void) cvMultiplyAcc( const CvArr* image1, const CvArr* image2, CvArr* acc, + const CvArr* mask CV_DEFAULT(NULL) ); + +/** @brief Adds image to accumulator with weights: acc = acc*(1-alpha) + image*alpha +@see cv::accumulateWeighted +*/ +CVAPI(void) cvRunningAvg( const CvArr* image, CvArr* acc, double alpha, + const CvArr* mask CV_DEFAULT(NULL) ); + +/****************************************************************************************\ +* Image Processing * +\****************************************************************************************/ + +/** Copies source 2D array inside of the larger destination array and + makes a border of the specified type (IPL_BORDER_*) around the copied area. */ +CVAPI(void) cvCopyMakeBorder( const CvArr* src, CvArr* dst, CvPoint offset, + int bordertype, CvScalar value CV_DEFAULT(cvScalarAll(0))); + +/** @brief Smooths the image in one of several ways. + +@param src The source image +@param dst The destination image +@param smoothtype Type of the smoothing, see SmoothMethod_c +@param size1 The first parameter of the smoothing operation, the aperture width. Must be a +positive odd number (1, 3, 5, ...) +@param size2 The second parameter of the smoothing operation, the aperture height. Ignored by +CV_MEDIAN and CV_BILATERAL methods. In the case of simple scaled/non-scaled and Gaussian blur if +size2 is zero, it is set to size1. Otherwise it must be a positive odd number. +@param sigma1 In the case of a Gaussian parameter this parameter may specify Gaussian \f$\sigma\f$ +(standard deviation). If it is zero, it is calculated from the kernel size: +\f[\sigma = 0.3 (n/2 - 1) + 0.8 \quad \text{where} \quad n= \begin{array}{l l} \mbox{\texttt{size1} for horizontal kernel} \\ \mbox{\texttt{size2} for vertical kernel} \end{array}\f] +Using standard sigma for small kernels ( \f$3\times 3\f$ to \f$7\times 7\f$ ) gives better speed. If +sigma1 is not zero, while size1 and size2 are zeros, the kernel size is calculated from the +sigma (to provide accurate enough operation). +@param sigma2 additional parameter for bilateral filtering + +@see cv::GaussianBlur, cv::blur, cv::medianBlur, cv::bilateralFilter. + */ +CVAPI(void) cvSmooth( const CvArr* src, CvArr* dst, + int smoothtype CV_DEFAULT(CV_GAUSSIAN), + int size1 CV_DEFAULT(3), + int size2 CV_DEFAULT(0), + double sigma1 CV_DEFAULT(0), + double sigma2 CV_DEFAULT(0)); + +/** @brief Convolves an image with the kernel. + +@param src input image. +@param dst output image of the same size and the same number of channels as src. +@param kernel convolution kernel (or rather a correlation kernel), a single-channel floating point +matrix; if you want to apply different kernels to different channels, split the image into +separate color planes using split and process them individually. +@param anchor anchor of the kernel that indicates the relative position of a filtered point within +the kernel; the anchor should lie within the kernel; default value (-1,-1) means that the anchor +is at the kernel center. + +@see cv::filter2D + */ +CVAPI(void) cvFilter2D( const CvArr* src, CvArr* dst, const CvMat* kernel, + CvPoint anchor CV_DEFAULT(cvPoint(-1,-1))); + +/** @brief Finds integral image: SUM(X,Y) = sum(x \texttt{hist1}(I)\)}{\frac{\texttt{hist2}(I) \cdot \texttt{scale}}{\texttt{hist1}(I)}}{if \(\texttt{hist1}(I) \ne 0\) and \(\texttt{hist2}(I) \le \texttt{hist1}(I)\)}\f] + +@param hist1 First histogram (the divisor). +@param hist2 Second histogram. +@param dst_hist Destination histogram. +@param scale Scale factor for the destination histogram. + */ +CVAPI(void) cvCalcProbDensity( const CvHistogram* hist1, const CvHistogram* hist2, + CvHistogram* dst_hist, double scale CV_DEFAULT(255) ); + +/** @brief equalizes histogram of 8-bit single-channel image +@see cv::equalizeHist +*/ +CVAPI(void) cvEqualizeHist( const CvArr* src, CvArr* dst ); + + +/** @brief Applies distance transform to binary image +@see cv::distanceTransform +*/ +CVAPI(void) cvDistTransform( const CvArr* src, CvArr* dst, + int distance_type CV_DEFAULT(CV_DIST_L2), + int mask_size CV_DEFAULT(3), + const float* mask CV_DEFAULT(NULL), + CvArr* labels CV_DEFAULT(NULL), + int labelType CV_DEFAULT(CV_DIST_LABEL_CCOMP)); + + +/** @brief Applies fixed-level threshold to grayscale image. + + This is a basic operation applied before retrieving contours +@see cv::threshold +*/ +CVAPI(double) cvThreshold( const CvArr* src, CvArr* dst, + double threshold, double max_value, + int threshold_type ); + +/** @brief Applies adaptive threshold to grayscale image. + + The two parameters for methods CV_ADAPTIVE_THRESH_MEAN_C and + CV_ADAPTIVE_THRESH_GAUSSIAN_C are: + neighborhood size (3, 5, 7 etc.), + and a constant subtracted from mean (...,-3,-2,-1,0,1,2,3,...) +@see cv::adaptiveThreshold +*/ +CVAPI(void) cvAdaptiveThreshold( const CvArr* src, CvArr* dst, double max_value, + int adaptive_method CV_DEFAULT(CV_ADAPTIVE_THRESH_MEAN_C), + int threshold_type CV_DEFAULT(CV_THRESH_BINARY), + int block_size CV_DEFAULT(3), + double param1 CV_DEFAULT(5)); + +/** @brief Fills the connected component until the color difference gets large enough +@see cv::floodFill +*/ +CVAPI(void) cvFloodFill( CvArr* image, CvPoint seed_point, + CvScalar new_val, CvScalar lo_diff CV_DEFAULT(cvScalarAll(0)), + CvScalar up_diff CV_DEFAULT(cvScalarAll(0)), + CvConnectedComp* comp CV_DEFAULT(NULL), + int flags CV_DEFAULT(4), + CvArr* mask CV_DEFAULT(NULL)); + +/****************************************************************************************\ +* Feature detection * +\****************************************************************************************/ + +/** @brief Runs canny edge detector +@see cv::Canny +*/ +CVAPI(void) cvCanny( const CvArr* image, CvArr* edges, double threshold1, + double threshold2, int aperture_size CV_DEFAULT(3) ); + +/** @brief Calculates constraint image for corner detection + + Dx^2 * Dyy + Dxx * Dy^2 - 2 * Dx * Dy * Dxy. + Applying threshold to the result gives coordinates of corners +@see cv::preCornerDetect +*/ +CVAPI(void) cvPreCornerDetect( const CvArr* image, CvArr* corners, + int aperture_size CV_DEFAULT(3) ); + +/** @brief Calculates eigen values and vectors of 2x2 + gradient covariation matrix at every image pixel +@see cv::cornerEigenValsAndVecs +*/ +CVAPI(void) cvCornerEigenValsAndVecs( const CvArr* image, CvArr* eigenvv, + int block_size, int aperture_size CV_DEFAULT(3) ); + +/** @brief Calculates minimal eigenvalue for 2x2 gradient covariation matrix at + every image pixel +@see cv::cornerMinEigenVal +*/ +CVAPI(void) cvCornerMinEigenVal( const CvArr* image, CvArr* eigenval, + int block_size, int aperture_size CV_DEFAULT(3) ); + +/** @brief Harris corner detector: + + Calculates det(M) - k*(trace(M)^2), where M is 2x2 gradient covariation matrix for each pixel +@see cv::cornerHarris +*/ +CVAPI(void) cvCornerHarris( const CvArr* image, CvArr* harris_response, + int block_size, int aperture_size CV_DEFAULT(3), + double k CV_DEFAULT(0.04) ); + +/** @brief Adjust corner position using some sort of gradient search +@see cv::cornerSubPix +*/ +CVAPI(void) cvFindCornerSubPix( const CvArr* image, CvPoint2D32f* corners, + int count, CvSize win, CvSize zero_zone, + CvTermCriteria criteria ); + +/** @brief Finds a sparse set of points within the selected region + that seem to be easy to track +@see cv::goodFeaturesToTrack +*/ +CVAPI(void) cvGoodFeaturesToTrack( const CvArr* image, CvArr* eig_image, + CvArr* temp_image, CvPoint2D32f* corners, + int* corner_count, double quality_level, + double min_distance, + const CvArr* mask CV_DEFAULT(NULL), + int block_size CV_DEFAULT(3), + int use_harris CV_DEFAULT(0), + double k CV_DEFAULT(0.04) ); + +/** @brief Finds lines on binary image using one of several methods. + + line_storage is either memory storage or 1 x _max number of lines_ CvMat, its + number of columns is changed by the function. + method is one of CV_HOUGH_*; + rho, theta and threshold are used for each of those methods; + param1 ~ line length, param2 ~ line gap - for probabilistic, + param1 ~ srn, param2 ~ stn - for multi-scale +@see cv::HoughLines +*/ +CVAPI(CvSeq*) cvHoughLines2( CvArr* image, void* line_storage, int method, + double rho, double theta, int threshold, + double param1 CV_DEFAULT(0), double param2 CV_DEFAULT(0), + double min_theta CV_DEFAULT(0), double max_theta CV_DEFAULT(CV_PI)); + +/** @brief Finds circles in the image +@see cv::HoughCircles +*/ +CVAPI(CvSeq*) cvHoughCircles( CvArr* image, void* circle_storage, + int method, double dp, double min_dist, + double param1 CV_DEFAULT(100), + double param2 CV_DEFAULT(100), + int min_radius CV_DEFAULT(0), + int max_radius CV_DEFAULT(0)); + +/** @brief Fits a line into set of 2d or 3d points in a robust way (M-estimator technique) +@see cv::fitLine +*/ +CVAPI(void) cvFitLine( const CvArr* points, int dist_type, double param, + double reps, double aeps, float* line ); + +/****************************************************************************************\ +* Drawing * +\****************************************************************************************/ + +/****************************************************************************************\ +* Drawing functions work with images/matrices of arbitrary type. * +* For color images the channel order is BGR[A] * +* Antialiasing is supported only for 8-bit image now. * +* All the functions include parameter color that means rgb value (that may be * +* constructed with CV_RGB macro) for color images and brightness * +* for grayscale images. * +* If a drawn figure is partially or completely outside of the image, it is clipped.* +\****************************************************************************************/ + +#define CV_RGB( r, g, b ) cvScalar( (b), (g), (r), 0 ) +#define CV_FILLED -1 + +#define CV_AA 16 + +/** @brief Draws 4-connected, 8-connected or antialiased line segment connecting two points +@see cv::line +*/ +CVAPI(void) cvLine( CvArr* img, CvPoint pt1, CvPoint pt2, + CvScalar color, int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0) ); + +/** @brief Draws a rectangle given two opposite corners of the rectangle (pt1 & pt2) + + if thickness<0 (e.g. thickness == CV_FILLED), the filled box is drawn +@see cv::rectangle +*/ +CVAPI(void) cvRectangle( CvArr* img, CvPoint pt1, CvPoint pt2, + CvScalar color, int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8), + int shift CV_DEFAULT(0)); + +/** @brief Draws a rectangle specified by a CvRect structure +@see cv::rectangle +*/ +CVAPI(void) cvRectangleR( CvArr* img, CvRect r, + CvScalar color, int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8), + int shift CV_DEFAULT(0)); + + +/** @brief Draws a circle with specified center and radius. + + Thickness works in the same way as with cvRectangle +@see cv::circle +*/ +CVAPI(void) cvCircle( CvArr* img, CvPoint center, int radius, + CvScalar color, int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0)); + +/** @brief Draws ellipse outline, filled ellipse, elliptic arc or filled elliptic sector + + depending on _thickness_, _start_angle_ and _end_angle_ parameters. The resultant figure + is rotated by _angle_. All the angles are in degrees +@see cv::ellipse +*/ +CVAPI(void) cvEllipse( CvArr* img, CvPoint center, CvSize axes, + double angle, double start_angle, double end_angle, + CvScalar color, int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0)); + +CV_INLINE void cvEllipseBox( CvArr* img, CvBox2D box, CvScalar color, + int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0) ) +{ + CvSize axes; + axes.width = cvRound(box.size.width*0.5); + axes.height = cvRound(box.size.height*0.5); + + cvEllipse( img, cvPointFrom32f( box.center ), axes, box.angle, + 0, 360, color, thickness, line_type, shift ); +} + +/** @brief Fills convex or monotonous polygon. +@see cv::fillConvexPoly +*/ +CVAPI(void) cvFillConvexPoly( CvArr* img, const CvPoint* pts, int npts, CvScalar color, + int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0)); + +/** @brief Fills an area bounded by one or more arbitrary polygons +@see cv::fillPoly +*/ +CVAPI(void) cvFillPoly( CvArr* img, CvPoint** pts, const int* npts, + int contours, CvScalar color, + int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0) ); + +/** @brief Draws one or more polygonal curves +@see cv::polylines +*/ +CVAPI(void) cvPolyLine( CvArr* img, CvPoint** pts, const int* npts, int contours, + int is_closed, CvScalar color, int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0) ); + +#define cvDrawRect cvRectangle +#define cvDrawLine cvLine +#define cvDrawCircle cvCircle +#define cvDrawEllipse cvEllipse +#define cvDrawPolyLine cvPolyLine + +/** @brief Clips the line segment connecting *pt1 and *pt2 + by the rectangular window + + (0<=xptr will point to pt1 (or pt2, see left_to_right description) location in +the image. Returns the number of pixels on the line between the ending points. +@see cv::LineIterator +*/ +CVAPI(int) cvInitLineIterator( const CvArr* image, CvPoint pt1, CvPoint pt2, + CvLineIterator* line_iterator, + int connectivity CV_DEFAULT(8), + int left_to_right CV_DEFAULT(0)); + +#define CV_NEXT_LINE_POINT( line_iterator ) \ +{ \ + int _line_iterator_mask = (line_iterator).err < 0 ? -1 : 0; \ + (line_iterator).err += (line_iterator).minus_delta + \ + ((line_iterator).plus_delta & _line_iterator_mask); \ + (line_iterator).ptr += (line_iterator).minus_step + \ + ((line_iterator).plus_step & _line_iterator_mask); \ +} + + +#define CV_FONT_HERSHEY_SIMPLEX 0 +#define CV_FONT_HERSHEY_PLAIN 1 +#define CV_FONT_HERSHEY_DUPLEX 2 +#define CV_FONT_HERSHEY_COMPLEX 3 +#define CV_FONT_HERSHEY_TRIPLEX 4 +#define CV_FONT_HERSHEY_COMPLEX_SMALL 5 +#define CV_FONT_HERSHEY_SCRIPT_SIMPLEX 6 +#define CV_FONT_HERSHEY_SCRIPT_COMPLEX 7 + +#define CV_FONT_ITALIC 16 + +#define CV_FONT_VECTOR0 CV_FONT_HERSHEY_SIMPLEX + + +/** Font structure */ +typedef struct CvFont +{ + const char* nameFont; //Qt:nameFont + CvScalar color; //Qt:ColorFont -> cvScalar(blue_component, green_component, red_component[, alpha_component]) + int font_face; //Qt: bool italic /** =CV_FONT_* */ + const int* ascii; //!< font data and metrics + const int* greek; + const int* cyrillic; + float hscale, vscale; + float shear; //!< slope coefficient: 0 - normal, >0 - italic + int thickness; //!< Qt: weight /** letters thickness */ + float dx; //!< horizontal interval between letters + int line_type; //!< Qt: PointSize +} +CvFont; + +/** @brief Initializes font structure (OpenCV 1.x API). + +The function initializes the font structure that can be passed to text rendering functions. + +@param font Pointer to the font structure initialized by the function +@param font_face Font name identifier. See cv::HersheyFonts and corresponding old CV_* identifiers. +@param hscale Horizontal scale. If equal to 1.0f , the characters have the original width +depending on the font type. If equal to 0.5f , the characters are of half the original width. +@param vscale Vertical scale. If equal to 1.0f , the characters have the original height depending +on the font type. If equal to 0.5f , the characters are of half the original height. +@param shear Approximate tangent of the character slope relative to the vertical line. A zero +value means a non-italic font, 1.0f means about a 45 degree slope, etc. +@param thickness Thickness of the text strokes +@param line_type Type of the strokes, see line description + +@sa cvPutText + */ +CVAPI(void) cvInitFont( CvFont* font, int font_face, + double hscale, double vscale, + double shear CV_DEFAULT(0), + int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8)); + +CV_INLINE CvFont cvFont( double scale, int thickness CV_DEFAULT(1) ) +{ + CvFont font; + cvInitFont( &font, CV_FONT_HERSHEY_PLAIN, scale, scale, 0, thickness, CV_AA ); + return font; +} + +/** @brief Renders text stroke with specified font and color at specified location. + CvFont should be initialized with cvInitFont +@see cvInitFont, cvGetTextSize, cvFont, cv::putText +*/ +CVAPI(void) cvPutText( CvArr* img, const char* text, CvPoint org, + const CvFont* font, CvScalar color ); + +/** @brief Calculates bounding box of text stroke (useful for alignment) +@see cv::getTextSize +*/ +CVAPI(void) cvGetTextSize( const char* text_string, const CvFont* font, + CvSize* text_size, int* baseline ); + +/** @brief Unpacks color value + +if arrtype is CV_8UC?, _color_ is treated as packed color value, otherwise the first channels +(depending on arrtype) of destination scalar are set to the same value = _color_ +*/ +CVAPI(CvScalar) cvColorToScalar( double packed_color, int arrtype ); + +/** @brief Returns the polygon points which make up the given ellipse. + +The ellipse is define by the box of size 'axes' rotated 'angle' around the 'center'. A partial +sweep of the ellipse arc can be done by spcifying arc_start and arc_end to be something other than +0 and 360, respectively. The input array 'pts' must be large enough to hold the result. The total +number of points stored into 'pts' is returned by this function. +@see cv::ellipse2Poly +*/ +CVAPI(int) cvEllipse2Poly( CvPoint center, CvSize axes, + int angle, int arc_start, int arc_end, CvPoint * pts, int delta ); + +/** @brief Draws contour outlines or filled interiors on the image +@see cv::drawContours +*/ +CVAPI(void) cvDrawContours( CvArr *img, CvSeq* contour, + CvScalar external_color, CvScalar hole_color, + int max_level, int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8), + CvPoint offset CV_DEFAULT(cvPoint(0,0))); + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/app/src/main/cpp/include/opencv2/imgproc/types_c.h b/app/src/main/cpp/include/opencv2/imgproc/types_c.h new file mode 100644 index 0000000..13ffe1b --- /dev/null +++ b/app/src/main/cpp/include/opencv2/imgproc/types_c.h @@ -0,0 +1,629 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_IMGPROC_TYPES_C_H +#define OPENCV_IMGPROC_TYPES_C_H + +#include "opencv2/core/core_c.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** @addtogroup imgproc_c + @{ +*/ + +/** Connected component structure */ +typedef struct CvConnectedComp +{ + double area; /** DBL_EPSILON ? 1./std::sqrt(am00) : 0; + } + operator cv::Moments() const + { + return cv::Moments(m00, m10, m01, m20, m11, m02, m30, m21, m12, m03); + } +#endif +} +CvMoments; + +/** Hu invariants */ +typedef struct CvHuMoments +{ + double hu1, hu2, hu3, hu4, hu5, hu6, hu7; /**< Hu invariants */ +} +CvHuMoments; + +/** Template matching methods */ +enum +{ + CV_TM_SQDIFF =0, + CV_TM_SQDIFF_NORMED =1, + CV_TM_CCORR =2, + CV_TM_CCORR_NORMED =3, + CV_TM_CCOEFF =4, + CV_TM_CCOEFF_NORMED =5 +}; + +typedef float (CV_CDECL * CvDistanceFunction)( const float* a, const float* b, void* user_param ); + +/** Contour retrieval modes */ +enum +{ + CV_RETR_EXTERNAL=0, + CV_RETR_LIST=1, + CV_RETR_CCOMP=2, + CV_RETR_TREE=3, + CV_RETR_FLOODFILL=4 +}; + +/** Contour approximation methods */ +enum +{ + CV_CHAIN_CODE=0, + CV_CHAIN_APPROX_NONE=1, + CV_CHAIN_APPROX_SIMPLE=2, + CV_CHAIN_APPROX_TC89_L1=3, + CV_CHAIN_APPROX_TC89_KCOS=4, + CV_LINK_RUNS=5 +}; + +/* +Internal structure that is used for sequential retrieving contours from the image. +It supports both hierarchical and plane variants of Suzuki algorithm. +*/ +typedef struct _CvContourScanner* CvContourScanner; + +/** Freeman chain reader state */ +typedef struct CvChainPtReader +{ + CV_SEQ_READER_FIELDS() + char code; + CvPoint pt; + schar deltas[8][2]; +} +CvChainPtReader; + +/** initializes 8-element array for fast access to 3x3 neighborhood of a pixel */ +#define CV_INIT_3X3_DELTAS( deltas, step, nch ) \ + ((deltas)[0] = (nch), (deltas)[1] = -(step) + (nch), \ + (deltas)[2] = -(step), (deltas)[3] = -(step) - (nch), \ + (deltas)[4] = -(nch), (deltas)[5] = (step) - (nch), \ + (deltas)[6] = (step), (deltas)[7] = (step) + (nch)) + + +/** Contour approximation algorithms */ +enum +{ + CV_POLY_APPROX_DP = 0 +}; + +/** Shape matching methods */ +enum +{ + CV_CONTOURS_MATCH_I1 =1, //!< \f[I_1(A,B) = \sum _{i=1...7} \left | \frac{1}{m^A_i} - \frac{1}{m^B_i} \right |\f] + CV_CONTOURS_MATCH_I2 =2, //!< \f[I_2(A,B) = \sum _{i=1...7} \left | m^A_i - m^B_i \right |\f] + CV_CONTOURS_MATCH_I3 =3 //!< \f[I_3(A,B) = \max _{i=1...7} \frac{ \left| m^A_i - m^B_i \right| }{ \left| m^A_i \right| }\f] +}; + +/** Shape orientation */ +enum +{ + CV_CLOCKWISE =1, + CV_COUNTER_CLOCKWISE =2 +}; + + +/** Convexity defect */ +typedef struct CvConvexityDefect +{ + CvPoint* start; /**< point of the contour where the defect begins */ + CvPoint* end; /**< point of the contour where the defect ends */ + CvPoint* depth_point; /**< the farthest from the convex hull point within the defect */ + float depth; /**< distance between the farthest point and the convex hull */ +} CvConvexityDefect; + + +/** Histogram comparison methods */ +enum +{ + CV_COMP_CORREL =0, + CV_COMP_CHISQR =1, + CV_COMP_INTERSECT =2, + CV_COMP_BHATTACHARYYA =3, + CV_COMP_HELLINGER =CV_COMP_BHATTACHARYYA, + CV_COMP_CHISQR_ALT =4, + CV_COMP_KL_DIV =5 +}; + +/** Mask size for distance transform */ +enum +{ + CV_DIST_MASK_3 =3, + CV_DIST_MASK_5 =5, + CV_DIST_MASK_PRECISE =0 +}; + +/** Content of output label array: connected components or pixels */ +enum +{ + CV_DIST_LABEL_CCOMP = 0, + CV_DIST_LABEL_PIXEL = 1 +}; + +/** Distance types for Distance Transform and M-estimators */ +enum +{ + CV_DIST_USER =-1, /**< User defined distance */ + CV_DIST_L1 =1, /**< distance = |x1-x2| + |y1-y2| */ + CV_DIST_L2 =2, /**< the simple euclidean distance */ + CV_DIST_C =3, /**< distance = max(|x1-x2|,|y1-y2|) */ + CV_DIST_L12 =4, /**< L1-L2 metric: distance = 2(sqrt(1+x*x/2) - 1)) */ + CV_DIST_FAIR =5, /**< distance = c^2(|x|/c-log(1+|x|/c)), c = 1.3998 */ + CV_DIST_WELSCH =6, /**< distance = c^2/2(1-exp(-(x/c)^2)), c = 2.9846 */ + CV_DIST_HUBER =7 /**< distance = |x| threshold ? max_value : 0 */ + CV_THRESH_BINARY_INV =1, /**< value = value > threshold ? 0 : max_value */ + CV_THRESH_TRUNC =2, /**< value = value > threshold ? threshold : value */ + CV_THRESH_TOZERO =3, /**< value = value > threshold ? value : 0 */ + CV_THRESH_TOZERO_INV =4, /**< value = value > threshold ? 0 : value */ + CV_THRESH_MASK =7, + CV_THRESH_OTSU =8, /**< use Otsu algorithm to choose the optimal threshold value; + combine the flag with one of the above CV_THRESH_* values */ + CV_THRESH_TRIANGLE =16 /**< use Triangle algorithm to choose the optimal threshold value; + combine the flag with one of the above CV_THRESH_* values, but not + with CV_THRESH_OTSU */ +}; + +/** Adaptive threshold methods */ +enum +{ + CV_ADAPTIVE_THRESH_MEAN_C =0, + CV_ADAPTIVE_THRESH_GAUSSIAN_C =1 +}; + +/** FloodFill flags */ +enum +{ + CV_FLOODFILL_FIXED_RANGE =(1 << 16), + CV_FLOODFILL_MASK_ONLY =(1 << 17) +}; + + +/** Canny edge detector flags */ +enum +{ + CV_CANNY_L2_GRADIENT =(1 << 31) +}; + +/** Variants of a Hough transform */ +enum +{ + CV_HOUGH_STANDARD =0, + CV_HOUGH_PROBABILISTIC =1, + CV_HOUGH_MULTI_SCALE =2, + CV_HOUGH_GRADIENT =3 +}; + + +/* Fast search data structures */ +struct CvFeatureTree; +struct CvLSH; +struct CvLSHOperations; + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/app/src/main/cpp/include/opencv2/ml.hpp b/app/src/main/cpp/include/opencv2/ml.hpp new file mode 100644 index 0000000..a8b7114 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/ml.hpp @@ -0,0 +1,1845 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000, Intel Corporation, all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Copyright (C) 2014, Itseez Inc, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_ML_HPP +#define OPENCV_ML_HPP + +#ifdef __cplusplus +# include "opencv2/core.hpp" +#endif + +#ifdef __cplusplus + +#include +#include +#include + +/** + @defgroup ml Machine Learning + + The Machine Learning Library (MLL) is a set of classes and functions for statistical + classification, regression, and clustering of data. + + Most of the classification and regression algorithms are implemented as C++ classes. As the + algorithms have different sets of features (like an ability to handle missing measurements or + categorical input variables), there is a little common ground between the classes. This common + ground is defined by the class cv::ml::StatModel that all the other ML classes are derived from. + + See detailed overview here: @ref ml_intro. + */ + +namespace cv +{ + +namespace ml +{ + +//! @addtogroup ml +//! @{ + +/** @brief Variable types */ +enum VariableTypes +{ + VAR_NUMERICAL =0, //!< same as VAR_ORDERED + VAR_ORDERED =0, //!< ordered variables + VAR_CATEGORICAL =1 //!< categorical variables +}; + +/** @brief %Error types */ +enum ErrorTypes +{ + TEST_ERROR = 0, + TRAIN_ERROR = 1 +}; + +/** @brief Sample types */ +enum SampleTypes +{ + ROW_SAMPLE = 0, //!< each training sample is a row of samples + COL_SAMPLE = 1 //!< each training sample occupies a column of samples +}; + +/** @brief The structure represents the logarithmic grid range of statmodel parameters. + +It is used for optimizing statmodel accuracy by varying model parameters, the accuracy estimate +being computed by cross-validation. + */ +class CV_EXPORTS_W ParamGrid +{ +public: + /** @brief Default constructor */ + ParamGrid(); + /** @brief Constructor with parameters */ + ParamGrid(double _minVal, double _maxVal, double _logStep); + + CV_PROP_RW double minVal; //!< Minimum value of the statmodel parameter. Default value is 0. + CV_PROP_RW double maxVal; //!< Maximum value of the statmodel parameter. Default value is 0. + /** @brief Logarithmic step for iterating the statmodel parameter. + + The grid determines the following iteration sequence of the statmodel parameter values: + \f[(minVal, minVal*step, minVal*{step}^2, \dots, minVal*{logStep}^n),\f] + where \f$n\f$ is the maximal index satisfying + \f[\texttt{minVal} * \texttt{logStep} ^n < \texttt{maxVal}\f] + The grid is logarithmic, so logStep must always be greater then 1. Default value is 1. + */ + CV_PROP_RW double logStep; + + /** @brief Creates a ParamGrid Ptr that can be given to the %SVM::trainAuto method + + @param minVal minimum value of the parameter grid + @param maxVal maximum value of the parameter grid + @param logstep Logarithmic step for iterating the statmodel parameter + */ + CV_WRAP static Ptr create(double minVal=0., double maxVal=0., double logstep=1.); +}; + +/** @brief Class encapsulating training data. + +Please note that the class only specifies the interface of training data, but not implementation. +All the statistical model classes in _ml_ module accepts Ptr\ as parameter. In other +words, you can create your own class derived from TrainData and pass smart pointer to the instance +of this class into StatModel::train. + +@sa @ref ml_intro_data + */ +class CV_EXPORTS_W TrainData +{ +public: + static inline float missingValue() { return FLT_MAX; } + virtual ~TrainData(); + + CV_WRAP virtual int getLayout() const = 0; + CV_WRAP virtual int getNTrainSamples() const = 0; + CV_WRAP virtual int getNTestSamples() const = 0; + CV_WRAP virtual int getNSamples() const = 0; + CV_WRAP virtual int getNVars() const = 0; + CV_WRAP virtual int getNAllVars() const = 0; + + CV_WRAP virtual void getSample(InputArray varIdx, int sidx, float* buf) const = 0; + CV_WRAP virtual Mat getSamples() const = 0; + CV_WRAP virtual Mat getMissing() const = 0; + + /** @brief Returns matrix of train samples + + @param layout The requested layout. If it's different from the initial one, the matrix is + transposed. See ml::SampleTypes. + @param compressSamples if true, the function returns only the training samples (specified by + sampleIdx) + @param compressVars if true, the function returns the shorter training samples, containing only + the active variables. + + In current implementation the function tries to avoid physical data copying and returns the + matrix stored inside TrainData (unless the transposition or compression is needed). + */ + CV_WRAP virtual Mat getTrainSamples(int layout=ROW_SAMPLE, + bool compressSamples=true, + bool compressVars=true) const = 0; + + /** @brief Returns the vector of responses + + The function returns ordered or the original categorical responses. Usually it's used in + regression algorithms. + */ + CV_WRAP virtual Mat getTrainResponses() const = 0; + + /** @brief Returns the vector of normalized categorical responses + + The function returns vector of responses. Each response is integer from `0` to `-1`. The actual label value can be retrieved then from the class label vector, see + TrainData::getClassLabels. + */ + CV_WRAP virtual Mat getTrainNormCatResponses() const = 0; + CV_WRAP virtual Mat getTestResponses() const = 0; + CV_WRAP virtual Mat getTestNormCatResponses() const = 0; + CV_WRAP virtual Mat getResponses() const = 0; + CV_WRAP virtual Mat getNormCatResponses() const = 0; + CV_WRAP virtual Mat getSampleWeights() const = 0; + CV_WRAP virtual Mat getTrainSampleWeights() const = 0; + CV_WRAP virtual Mat getTestSampleWeights() const = 0; + CV_WRAP virtual Mat getVarIdx() const = 0; + CV_WRAP virtual Mat getVarType() const = 0; + CV_WRAP Mat getVarSymbolFlags() const; + CV_WRAP virtual int getResponseType() const = 0; + CV_WRAP virtual Mat getTrainSampleIdx() const = 0; + CV_WRAP virtual Mat getTestSampleIdx() const = 0; + CV_WRAP virtual void getValues(int vi, InputArray sidx, float* values) const = 0; + virtual void getNormCatValues(int vi, InputArray sidx, int* values) const = 0; + CV_WRAP virtual Mat getDefaultSubstValues() const = 0; + + CV_WRAP virtual int getCatCount(int vi) const = 0; + + /** @brief Returns the vector of class labels + + The function returns vector of unique labels occurred in the responses. + */ + CV_WRAP virtual Mat getClassLabels() const = 0; + + CV_WRAP virtual Mat getCatOfs() const = 0; + CV_WRAP virtual Mat getCatMap() const = 0; + + /** @brief Splits the training data into the training and test parts + @sa TrainData::setTrainTestSplitRatio + */ + CV_WRAP virtual void setTrainTestSplit(int count, bool shuffle=true) = 0; + + /** @brief Splits the training data into the training and test parts + + The function selects a subset of specified relative size and then returns it as the training + set. If the function is not called, all the data is used for training. Please, note that for + each of TrainData::getTrain\* there is corresponding TrainData::getTest\*, so that the test + subset can be retrieved and processed as well. + @sa TrainData::setTrainTestSplit + */ + CV_WRAP virtual void setTrainTestSplitRatio(double ratio, bool shuffle=true) = 0; + CV_WRAP virtual void shuffleTrainTest() = 0; + + /** @brief Returns matrix of test samples */ + CV_WRAP Mat getTestSamples() const; + + /** @brief Returns vector of symbolic names captured in loadFromCSV() */ + CV_WRAP void getNames(std::vector& names) const; + + CV_WRAP static Mat getSubVector(const Mat& vec, const Mat& idx); + + /** @brief Reads the dataset from a .csv file and returns the ready-to-use training data. + + @param filename The input file name + @param headerLineCount The number of lines in the beginning to skip; besides the header, the + function also skips empty lines and lines staring with `#` + @param responseStartIdx Index of the first output variable. If -1, the function considers the + last variable as the response + @param responseEndIdx Index of the last output variable + 1. If -1, then there is single + response variable at responseStartIdx. + @param varTypeSpec The optional text string that specifies the variables' types. It has the + format `ord[n1-n2,n3,n4-n5,...]cat[n6,n7-n8,...]`. That is, variables from `n1 to n2` + (inclusive range), `n3`, `n4 to n5` ... are considered ordered and `n6`, `n7 to n8` ... are + considered as categorical. The range `[n1..n2] + [n3] + [n4..n5] + ... + [n6] + [n7..n8]` + should cover all the variables. If varTypeSpec is not specified, then algorithm uses the + following rules: + - all input variables are considered ordered by default. If some column contains has non- + numerical values, e.g. 'apple', 'pear', 'apple', 'apple', 'mango', the corresponding + variable is considered categorical. + - if there are several output variables, they are all considered as ordered. Error is + reported when non-numerical values are used. + - if there is a single output variable, then if its values are non-numerical or are all + integers, then it's considered categorical. Otherwise, it's considered ordered. + @param delimiter The character used to separate values in each line. + @param missch The character used to specify missing measurements. It should not be a digit. + Although it's a non-numerical value, it surely does not affect the decision of whether the + variable ordered or categorical. + @note If the dataset only contains input variables and no responses, use responseStartIdx = -2 + and responseEndIdx = 0. The output variables vector will just contain zeros. + */ + static Ptr loadFromCSV(const String& filename, + int headerLineCount, + int responseStartIdx=-1, + int responseEndIdx=-1, + const String& varTypeSpec=String(), + char delimiter=',', + char missch='?'); + + /** @brief Creates training data from in-memory arrays. + + @param samples matrix of samples. It should have CV_32F type. + @param layout see ml::SampleTypes. + @param responses matrix of responses. If the responses are scalar, they should be stored as a + single row or as a single column. The matrix should have type CV_32F or CV_32S (in the + former case the responses are considered as ordered by default; in the latter case - as + categorical) + @param varIdx vector specifying which variables to use for training. It can be an integer vector + (CV_32S) containing 0-based variable indices or byte vector (CV_8U) containing a mask of + active variables. + @param sampleIdx vector specifying which samples to use for training. It can be an integer + vector (CV_32S) containing 0-based sample indices or byte vector (CV_8U) containing a mask + of training samples. + @param sampleWeights optional vector with weights for each sample. It should have CV_32F type. + @param varType optional vector of type CV_8U and size ` + + `, containing types of each input and output variable. See + ml::VariableTypes. + */ + CV_WRAP static Ptr create(InputArray samples, int layout, InputArray responses, + InputArray varIdx=noArray(), InputArray sampleIdx=noArray(), + InputArray sampleWeights=noArray(), InputArray varType=noArray()); +}; + +/** @brief Base class for statistical models in OpenCV ML. + */ +class CV_EXPORTS_W StatModel : public Algorithm +{ +public: + /** Predict options */ + enum Flags { + UPDATE_MODEL = 1, + RAW_OUTPUT=1, //!< makes the method return the raw results (the sum), not the class label + COMPRESSED_INPUT=2, + PREPROCESSED_INPUT=4 + }; + + /** @brief Returns the number of variables in training samples */ + CV_WRAP virtual int getVarCount() const = 0; + + CV_WRAP virtual bool empty() const; + + /** @brief Returns true if the model is trained */ + CV_WRAP virtual bool isTrained() const = 0; + /** @brief Returns true if the model is classifier */ + CV_WRAP virtual bool isClassifier() const = 0; + + /** @brief Trains the statistical model + + @param trainData training data that can be loaded from file using TrainData::loadFromCSV or + created with TrainData::create. + @param flags optional flags, depending on the model. Some of the models can be updated with the + new training samples, not completely overwritten (such as NormalBayesClassifier or ANN_MLP). + */ + CV_WRAP virtual bool train( const Ptr& trainData, int flags=0 ); + + /** @brief Trains the statistical model + + @param samples training samples + @param layout See ml::SampleTypes. + @param responses vector of responses associated with the training samples. + */ + CV_WRAP virtual bool train( InputArray samples, int layout, InputArray responses ); + + /** @brief Computes error on the training or test dataset + + @param data the training data + @param test if true, the error is computed over the test subset of the data, otherwise it's + computed over the training subset of the data. Please note that if you loaded a completely + different dataset to evaluate already trained classifier, you will probably want not to set + the test subset at all with TrainData::setTrainTestSplitRatio and specify test=false, so + that the error is computed for the whole new set. Yes, this sounds a bit confusing. + @param resp the optional output responses. + + The method uses StatModel::predict to compute the error. For regression models the error is + computed as RMS, for classifiers - as a percent of missclassified samples (0%-100%). + */ + CV_WRAP virtual float calcError( const Ptr& data, bool test, OutputArray resp ) const; + + /** @brief Predicts response(s) for the provided sample(s) + + @param samples The input samples, floating-point matrix + @param results The optional output matrix of results. + @param flags The optional flags, model-dependent. See cv::ml::StatModel::Flags. + */ + CV_WRAP virtual float predict( InputArray samples, OutputArray results=noArray(), int flags=0 ) const = 0; + + /** @brief Create and train model with default parameters + + The class must implement static `create()` method with no parameters or with all default parameter values + */ + template static Ptr<_Tp> train(const Ptr& data, int flags=0) + { + Ptr<_Tp> model = _Tp::create(); + return !model.empty() && model->train(data, flags) ? model : Ptr<_Tp>(); + } +}; + +/****************************************************************************************\ +* Normal Bayes Classifier * +\****************************************************************************************/ + +/** @brief Bayes classifier for normally distributed data. + +@sa @ref ml_intro_bayes + */ +class CV_EXPORTS_W NormalBayesClassifier : public StatModel +{ +public: + /** @brief Predicts the response for sample(s). + + The method estimates the most probable classes for input vectors. Input vectors (one or more) + are stored as rows of the matrix inputs. In case of multiple input vectors, there should be one + output vector outputs. The predicted class for a single input vector is returned by the method. + The vector outputProbs contains the output probabilities corresponding to each element of + result. + */ + CV_WRAP virtual float predictProb( InputArray inputs, OutputArray outputs, + OutputArray outputProbs, int flags=0 ) const = 0; + + /** Creates empty model + Use StatModel::train to train the model after creation. */ + CV_WRAP static Ptr create(); + + /** @brief Loads and creates a serialized NormalBayesClassifier from a file + * + * Use NormalBayesClassifier::save to serialize and store an NormalBayesClassifier to disk. + * Load the NormalBayesClassifier from this file again, by calling this function with the path to the file. + * Optionally specify the node for the file containing the classifier + * + * @param filepath path to serialized NormalBayesClassifier + * @param nodeName name of node containing the classifier + */ + CV_WRAP static Ptr load(const String& filepath , const String& nodeName = String()); +}; + +/****************************************************************************************\ +* K-Nearest Neighbour Classifier * +\****************************************************************************************/ + +/** @brief The class implements K-Nearest Neighbors model + +@sa @ref ml_intro_knn + */ +class CV_EXPORTS_W KNearest : public StatModel +{ +public: + + /** Default number of neighbors to use in predict method. */ + /** @see setDefaultK */ + CV_WRAP virtual int getDefaultK() const = 0; + /** @copybrief getDefaultK @see getDefaultK */ + CV_WRAP virtual void setDefaultK(int val) = 0; + + /** Whether classification or regression model should be trained. */ + /** @see setIsClassifier */ + CV_WRAP virtual bool getIsClassifier() const = 0; + /** @copybrief getIsClassifier @see getIsClassifier */ + CV_WRAP virtual void setIsClassifier(bool val) = 0; + + /** Parameter for KDTree implementation. */ + /** @see setEmax */ + CV_WRAP virtual int getEmax() const = 0; + /** @copybrief getEmax @see getEmax */ + CV_WRAP virtual void setEmax(int val) = 0; + + /** %Algorithm type, one of KNearest::Types. */ + /** @see setAlgorithmType */ + CV_WRAP virtual int getAlgorithmType() const = 0; + /** @copybrief getAlgorithmType @see getAlgorithmType */ + CV_WRAP virtual void setAlgorithmType(int val) = 0; + + /** @brief Finds the neighbors and predicts responses for input vectors. + + @param samples Input samples stored by rows. It is a single-precision floating-point matrix of + ` * k` size. + @param k Number of used nearest neighbors. Should be greater than 1. + @param results Vector with results of prediction (regression or classification) for each input + sample. It is a single-precision floating-point vector with `` elements. + @param neighborResponses Optional output values for corresponding neighbors. It is a single- + precision floating-point matrix of ` * k` size. + @param dist Optional output distances from the input vectors to the corresponding neighbors. It + is a single-precision floating-point matrix of ` * k` size. + + For each input vector (a row of the matrix samples), the method finds the k nearest neighbors. + In case of regression, the predicted result is a mean value of the particular vector's neighbor + responses. In case of classification, the class is determined by voting. + + For each input vector, the neighbors are sorted by their distances to the vector. + + In case of C++ interface you can use output pointers to empty matrices and the function will + allocate memory itself. + + If only a single input vector is passed, all output matrices are optional and the predicted + value is returned by the method. + + The function is parallelized with the TBB library. + */ + CV_WRAP virtual float findNearest( InputArray samples, int k, + OutputArray results, + OutputArray neighborResponses=noArray(), + OutputArray dist=noArray() ) const = 0; + + /** @brief Implementations of KNearest algorithm + */ + enum Types + { + BRUTE_FORCE=1, + KDTREE=2 + }; + + /** @brief Creates the empty model + + The static method creates empty %KNearest classifier. It should be then trained using StatModel::train method. + */ + CV_WRAP static Ptr create(); +}; + +/****************************************************************************************\ +* Support Vector Machines * +\****************************************************************************************/ + +/** @brief Support Vector Machines. + +@sa @ref ml_intro_svm + */ +class CV_EXPORTS_W SVM : public StatModel +{ +public: + + class CV_EXPORTS Kernel : public Algorithm + { + public: + virtual int getType() const = 0; + virtual void calc( int vcount, int n, const float* vecs, const float* another, float* results ) = 0; + }; + + /** Type of a %SVM formulation. + See SVM::Types. Default value is SVM::C_SVC. */ + /** @see setType */ + CV_WRAP virtual int getType() const = 0; + /** @copybrief getType @see getType */ + CV_WRAP virtual void setType(int val) = 0; + + /** Parameter \f$\gamma\f$ of a kernel function. + For SVM::POLY, SVM::RBF, SVM::SIGMOID or SVM::CHI2. Default value is 1. */ + /** @see setGamma */ + CV_WRAP virtual double getGamma() const = 0; + /** @copybrief getGamma @see getGamma */ + CV_WRAP virtual void setGamma(double val) = 0; + + /** Parameter _coef0_ of a kernel function. + For SVM::POLY or SVM::SIGMOID. Default value is 0.*/ + /** @see setCoef0 */ + CV_WRAP virtual double getCoef0() const = 0; + /** @copybrief getCoef0 @see getCoef0 */ + CV_WRAP virtual void setCoef0(double val) = 0; + + /** Parameter _degree_ of a kernel function. + For SVM::POLY. Default value is 0. */ + /** @see setDegree */ + CV_WRAP virtual double getDegree() const = 0; + /** @copybrief getDegree @see getDegree */ + CV_WRAP virtual void setDegree(double val) = 0; + + /** Parameter _C_ of a %SVM optimization problem. + For SVM::C_SVC, SVM::EPS_SVR or SVM::NU_SVR. Default value is 0. */ + /** @see setC */ + CV_WRAP virtual double getC() const = 0; + /** @copybrief getC @see getC */ + CV_WRAP virtual void setC(double val) = 0; + + /** Parameter \f$\nu\f$ of a %SVM optimization problem. + For SVM::NU_SVC, SVM::ONE_CLASS or SVM::NU_SVR. Default value is 0. */ + /** @see setNu */ + CV_WRAP virtual double getNu() const = 0; + /** @copybrief getNu @see getNu */ + CV_WRAP virtual void setNu(double val) = 0; + + /** Parameter \f$\epsilon\f$ of a %SVM optimization problem. + For SVM::EPS_SVR. Default value is 0. */ + /** @see setP */ + CV_WRAP virtual double getP() const = 0; + /** @copybrief getP @see getP */ + CV_WRAP virtual void setP(double val) = 0; + + /** Optional weights in the SVM::C_SVC problem, assigned to particular classes. + They are multiplied by _C_ so the parameter _C_ of class _i_ becomes `classWeights(i) * C`. Thus + these weights affect the misclassification penalty for different classes. The larger weight, + the larger penalty on misclassification of data from the corresponding class. Default value is + empty Mat. */ + /** @see setClassWeights */ + CV_WRAP virtual cv::Mat getClassWeights() const = 0; + /** @copybrief getClassWeights @see getClassWeights */ + CV_WRAP virtual void setClassWeights(const cv::Mat &val) = 0; + + /** Termination criteria of the iterative %SVM training procedure which solves a partial + case of constrained quadratic optimization problem. + You can specify tolerance and/or the maximum number of iterations. Default value is + `TermCriteria( TermCriteria::MAX_ITER + TermCriteria::EPS, 1000, FLT_EPSILON )`; */ + /** @see setTermCriteria */ + CV_WRAP virtual cv::TermCriteria getTermCriteria() const = 0; + /** @copybrief getTermCriteria @see getTermCriteria */ + CV_WRAP virtual void setTermCriteria(const cv::TermCriteria &val) = 0; + + /** Type of a %SVM kernel. + See SVM::KernelTypes. Default value is SVM::RBF. */ + CV_WRAP virtual int getKernelType() const = 0; + + /** Initialize with one of predefined kernels. + See SVM::KernelTypes. */ + CV_WRAP virtual void setKernel(int kernelType) = 0; + + /** Initialize with custom kernel. + See SVM::Kernel class for implementation details */ + virtual void setCustomKernel(const Ptr &_kernel) = 0; + + //! %SVM type + enum Types { + /** C-Support Vector Classification. n-class classification (n \f$\geq\f$ 2), allows + imperfect separation of classes with penalty multiplier C for outliers. */ + C_SVC=100, + /** \f$\nu\f$-Support Vector Classification. n-class classification with possible + imperfect separation. Parameter \f$\nu\f$ (in the range 0..1, the larger the value, the smoother + the decision boundary) is used instead of C. */ + NU_SVC=101, + /** Distribution Estimation (One-class %SVM). All the training data are from + the same class, %SVM builds a boundary that separates the class from the rest of the feature + space. */ + ONE_CLASS=102, + /** \f$\epsilon\f$-Support Vector Regression. The distance between feature vectors + from the training set and the fitting hyper-plane must be less than p. For outliers the + penalty multiplier C is used. */ + EPS_SVR=103, + /** \f$\nu\f$-Support Vector Regression. \f$\nu\f$ is used instead of p. + See @cite LibSVM for details. */ + NU_SVR=104 + }; + + /** @brief %SVM kernel type + + A comparison of different kernels on the following 2D test case with four classes. Four + SVM::C_SVC SVMs have been trained (one against rest) with auto_train. Evaluation on three + different kernels (SVM::CHI2, SVM::INTER, SVM::RBF). The color depicts the class with max score. + Bright means max-score \> 0, dark means max-score \< 0. + ![image](pics/SVM_Comparison.png) + */ + enum KernelTypes { + /** Returned by SVM::getKernelType in case when custom kernel has been set */ + CUSTOM=-1, + /** Linear kernel. No mapping is done, linear discrimination (or regression) is + done in the original feature space. It is the fastest option. \f$K(x_i, x_j) = x_i^T x_j\f$. */ + LINEAR=0, + /** Polynomial kernel: + \f$K(x_i, x_j) = (\gamma x_i^T x_j + coef0)^{degree}, \gamma > 0\f$. */ + POLY=1, + /** Radial basis function (RBF), a good choice in most cases. + \f$K(x_i, x_j) = e^{-\gamma ||x_i - x_j||^2}, \gamma > 0\f$. */ + RBF=2, + /** Sigmoid kernel: \f$K(x_i, x_j) = \tanh(\gamma x_i^T x_j + coef0)\f$. */ + SIGMOID=3, + /** Exponential Chi2 kernel, similar to the RBF kernel: + \f$K(x_i, x_j) = e^{-\gamma \chi^2(x_i,x_j)}, \chi^2(x_i,x_j) = (x_i-x_j)^2/(x_i+x_j), \gamma > 0\f$. */ + CHI2=4, + /** Histogram intersection kernel. A fast kernel. \f$K(x_i, x_j) = min(x_i,x_j)\f$. */ + INTER=5 + }; + + //! %SVM params type + enum ParamTypes { + C=0, + GAMMA=1, + P=2, + NU=3, + COEF=4, + DEGREE=5 + }; + + /** @brief Trains an %SVM with optimal parameters. + + @param data the training data that can be constructed using TrainData::create or + TrainData::loadFromCSV. + @param kFold Cross-validation parameter. The training set is divided into kFold subsets. One + subset is used to test the model, the others form the train set. So, the %SVM algorithm is + executed kFold times. + @param Cgrid grid for C + @param gammaGrid grid for gamma + @param pGrid grid for p + @param nuGrid grid for nu + @param coeffGrid grid for coeff + @param degreeGrid grid for degree + @param balanced If true and the problem is 2-class classification then the method creates more + balanced cross-validation subsets that is proportions between classes in subsets are close + to such proportion in the whole train dataset. + + The method trains the %SVM model automatically by choosing the optimal parameters C, gamma, p, + nu, coef0, degree. Parameters are considered optimal when the cross-validation + estimate of the test set error is minimal. + + If there is no need to optimize a parameter, the corresponding grid step should be set to any + value less than or equal to 1. For example, to avoid optimization in gamma, set `gammaGrid.step + = 0`, `gammaGrid.minVal`, `gamma_grid.maxVal` as arbitrary numbers. In this case, the value + `Gamma` is taken for gamma. + + And, finally, if the optimization in a parameter is required but the corresponding grid is + unknown, you may call the function SVM::getDefaultGrid. To generate a grid, for example, for + gamma, call `SVM::getDefaultGrid(SVM::GAMMA)`. + + This function works for the classification (SVM::C_SVC or SVM::NU_SVC) as well as for the + regression (SVM::EPS_SVR or SVM::NU_SVR). If it is SVM::ONE_CLASS, no optimization is made and + the usual %SVM with parameters specified in params is executed. + */ + virtual bool trainAuto( const Ptr& data, int kFold = 10, + ParamGrid Cgrid = getDefaultGrid(C), + ParamGrid gammaGrid = getDefaultGrid(GAMMA), + ParamGrid pGrid = getDefaultGrid(P), + ParamGrid nuGrid = getDefaultGrid(NU), + ParamGrid coeffGrid = getDefaultGrid(COEF), + ParamGrid degreeGrid = getDefaultGrid(DEGREE), + bool balanced=false) = 0; + + /** @brief Trains an %SVM with optimal parameters + + @param samples training samples + @param layout See ml::SampleTypes. + @param responses vector of responses associated with the training samples. + @param kFold Cross-validation parameter. The training set is divided into kFold subsets. One + subset is used to test the model, the others form the train set. So, the %SVM algorithm is + @param Cgrid grid for C + @param gammaGrid grid for gamma + @param pGrid grid for p + @param nuGrid grid for nu + @param coeffGrid grid for coeff + @param degreeGrid grid for degree + @param balanced If true and the problem is 2-class classification then the method creates more + balanced cross-validation subsets that is proportions between classes in subsets are close + to such proportion in the whole train dataset. + + The method trains the %SVM model automatically by choosing the optimal parameters C, gamma, p, + nu, coef0, degree. Parameters are considered optimal when the cross-validation + estimate of the test set error is minimal. + + This function only makes use of SVM::getDefaultGrid for parameter optimization and thus only + offers rudimentary parameter options. + + This function works for the classification (SVM::C_SVC or SVM::NU_SVC) as well as for the + regression (SVM::EPS_SVR or SVM::NU_SVR). If it is SVM::ONE_CLASS, no optimization is made and + the usual %SVM with parameters specified in params is executed. + */ + CV_WRAP bool trainAuto(InputArray samples, + int layout, + InputArray responses, + int kFold = 10, + Ptr Cgrid = SVM::getDefaultGridPtr(SVM::C), + Ptr gammaGrid = SVM::getDefaultGridPtr(SVM::GAMMA), + Ptr pGrid = SVM::getDefaultGridPtr(SVM::P), + Ptr nuGrid = SVM::getDefaultGridPtr(SVM::NU), + Ptr coeffGrid = SVM::getDefaultGridPtr(SVM::COEF), + Ptr degreeGrid = SVM::getDefaultGridPtr(SVM::DEGREE), + bool balanced=false); + + /** @brief Retrieves all the support vectors + + The method returns all the support vectors as a floating-point matrix, where support vectors are + stored as matrix rows. + */ + CV_WRAP virtual Mat getSupportVectors() const = 0; + + /** @brief Retrieves all the uncompressed support vectors of a linear %SVM + + The method returns all the uncompressed support vectors of a linear %SVM that the compressed + support vector, used for prediction, was derived from. They are returned in a floating-point + matrix, where the support vectors are stored as matrix rows. + */ + CV_WRAP Mat getUncompressedSupportVectors() const; + + /** @brief Retrieves the decision function + + @param i the index of the decision function. If the problem solved is regression, 1-class or + 2-class classification, then there will be just one decision function and the index should + always be 0. Otherwise, in the case of N-class classification, there will be \f$N(N-1)/2\f$ + decision functions. + @param alpha the optional output vector for weights, corresponding to different support vectors. + In the case of linear %SVM all the alpha's will be 1's. + @param svidx the optional output vector of indices of support vectors within the matrix of + support vectors (which can be retrieved by SVM::getSupportVectors). In the case of linear + %SVM each decision function consists of a single "compressed" support vector. + + The method returns rho parameter of the decision function, a scalar subtracted from the weighted + sum of kernel responses. + */ + CV_WRAP virtual double getDecisionFunction(int i, OutputArray alpha, OutputArray svidx) const = 0; + + /** @brief Generates a grid for %SVM parameters. + + @param param_id %SVM parameters IDs that must be one of the SVM::ParamTypes. The grid is + generated for the parameter with this ID. + + The function generates a grid for the specified parameter of the %SVM algorithm. The grid may be + passed to the function SVM::trainAuto. + */ + static ParamGrid getDefaultGrid( int param_id ); + + /** @brief Generates a grid for %SVM parameters. + + @param param_id %SVM parameters IDs that must be one of the SVM::ParamTypes. The grid is + generated for the parameter with this ID. + + The function generates a grid pointer for the specified parameter of the %SVM algorithm. + The grid may be passed to the function SVM::trainAuto. + */ + CV_WRAP static Ptr getDefaultGridPtr( int param_id ); + + /** Creates empty model. + Use StatModel::train to train the model. Since %SVM has several parameters, you may want to + find the best parameters for your problem, it can be done with SVM::trainAuto. */ + CV_WRAP static Ptr create(); + + /** @brief Loads and creates a serialized svm from a file + * + * Use SVM::save to serialize and store an SVM to disk. + * Load the SVM from this file again, by calling this function with the path to the file. + * + * @param filepath path to serialized svm + */ + CV_WRAP static Ptr load(const String& filepath); +}; + +/****************************************************************************************\ +* Expectation - Maximization * +\****************************************************************************************/ + +/** @brief The class implements the Expectation Maximization algorithm. + +@sa @ref ml_intro_em + */ +class CV_EXPORTS_W EM : public StatModel +{ +public: + //! Type of covariation matrices + enum Types { + /** A scaled identity matrix \f$\mu_k * I\f$. There is the only + parameter \f$\mu_k\f$ to be estimated for each matrix. The option may be used in special cases, + when the constraint is relevant, or as a first step in the optimization (for example in case + when the data is preprocessed with PCA). The results of such preliminary estimation may be + passed again to the optimization procedure, this time with + covMatType=EM::COV_MAT_DIAGONAL. */ + COV_MAT_SPHERICAL=0, + /** A diagonal matrix with positive diagonal elements. The number of + free parameters is d for each matrix. This is most commonly used option yielding good + estimation results. */ + COV_MAT_DIAGONAL=1, + /** A symmetric positively defined matrix. The number of free + parameters in each matrix is about \f$d^2/2\f$. It is not recommended to use this option, unless + there is pretty accurate initial estimation of the parameters and/or a huge number of + training samples. */ + COV_MAT_GENERIC=2, + COV_MAT_DEFAULT=COV_MAT_DIAGONAL + }; + + //! Default parameters + enum {DEFAULT_NCLUSTERS=5, DEFAULT_MAX_ITERS=100}; + + //! The initial step + enum {START_E_STEP=1, START_M_STEP=2, START_AUTO_STEP=0}; + + /** The number of mixture components in the Gaussian mixture model. + Default value of the parameter is EM::DEFAULT_NCLUSTERS=5. Some of %EM implementation could + determine the optimal number of mixtures within a specified value range, but that is not the + case in ML yet. */ + /** @see setClustersNumber */ + CV_WRAP virtual int getClustersNumber() const = 0; + /** @copybrief getClustersNumber @see getClustersNumber */ + CV_WRAP virtual void setClustersNumber(int val) = 0; + + /** Constraint on covariance matrices which defines type of matrices. + See EM::Types. */ + /** @see setCovarianceMatrixType */ + CV_WRAP virtual int getCovarianceMatrixType() const = 0; + /** @copybrief getCovarianceMatrixType @see getCovarianceMatrixType */ + CV_WRAP virtual void setCovarianceMatrixType(int val) = 0; + + /** The termination criteria of the %EM algorithm. + The %EM algorithm can be terminated by the number of iterations termCrit.maxCount (number of + M-steps) or when relative change of likelihood logarithm is less than termCrit.epsilon. Default + maximum number of iterations is EM::DEFAULT_MAX_ITERS=100. */ + /** @see setTermCriteria */ + CV_WRAP virtual TermCriteria getTermCriteria() const = 0; + /** @copybrief getTermCriteria @see getTermCriteria */ + CV_WRAP virtual void setTermCriteria(const TermCriteria &val) = 0; + + /** @brief Returns weights of the mixtures + + Returns vector with the number of elements equal to the number of mixtures. + */ + CV_WRAP virtual Mat getWeights() const = 0; + /** @brief Returns the cluster centers (means of the Gaussian mixture) + + Returns matrix with the number of rows equal to the number of mixtures and number of columns + equal to the space dimensionality. + */ + CV_WRAP virtual Mat getMeans() const = 0; + /** @brief Returns covariation matrices + + Returns vector of covariation matrices. Number of matrices is the number of gaussian mixtures, + each matrix is a square floating-point matrix NxN, where N is the space dimensionality. + */ + CV_WRAP virtual void getCovs(CV_OUT std::vector& covs) const = 0; + + /** @brief Returns posterior probabilities for the provided samples + + @param samples The input samples, floating-point matrix + @param results The optional output \f$ nSamples \times nClusters\f$ matrix of results. It contains + posterior probabilities for each sample from the input + @param flags This parameter will be ignored + */ + CV_WRAP virtual float predict( InputArray samples, OutputArray results=noArray(), int flags=0 ) const = 0; + + /** @brief Returns a likelihood logarithm value and an index of the most probable mixture component + for the given sample. + + @param sample A sample for classification. It should be a one-channel matrix of + \f$1 \times dims\f$ or \f$dims \times 1\f$ size. + @param probs Optional output matrix that contains posterior probabilities of each component + given the sample. It has \f$1 \times nclusters\f$ size and CV_64FC1 type. + + The method returns a two-element double vector. Zero element is a likelihood logarithm value for + the sample. First element is an index of the most probable mixture component for the given + sample. + */ + CV_WRAP virtual Vec2d predict2(InputArray sample, OutputArray probs) const = 0; + + /** @brief Estimate the Gaussian mixture parameters from a samples set. + + This variation starts with Expectation step. Initial values of the model parameters will be + estimated by the k-means algorithm. + + Unlike many of the ML models, %EM is an unsupervised learning algorithm and it does not take + responses (class labels or function values) as input. Instead, it computes the *Maximum + Likelihood Estimate* of the Gaussian mixture parameters from an input sample set, stores all the + parameters inside the structure: \f$p_{i,k}\f$ in probs, \f$a_k\f$ in means , \f$S_k\f$ in + covs[k], \f$\pi_k\f$ in weights , and optionally computes the output "class label" for each + sample: \f$\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\f$ (indices of the most + probable mixture component for each sample). + + The trained model can be used further for prediction, just like any other classifier. The + trained model is similar to the NormalBayesClassifier. + + @param samples Samples from which the Gaussian mixture model will be estimated. It should be a + one-channel matrix, each row of which is a sample. If the matrix does not have CV_64F type + it will be converted to the inner matrix of such type for the further computing. + @param logLikelihoods The optional output matrix that contains a likelihood logarithm value for + each sample. It has \f$nsamples \times 1\f$ size and CV_64FC1 type. + @param labels The optional output "class label" for each sample: + \f$\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\f$ (indices of the most probable + mixture component for each sample). It has \f$nsamples \times 1\f$ size and CV_32SC1 type. + @param probs The optional output matrix that contains posterior probabilities of each Gaussian + mixture component given the each sample. It has \f$nsamples \times nclusters\f$ size and + CV_64FC1 type. + */ + CV_WRAP virtual bool trainEM(InputArray samples, + OutputArray logLikelihoods=noArray(), + OutputArray labels=noArray(), + OutputArray probs=noArray()) = 0; + + /** @brief Estimate the Gaussian mixture parameters from a samples set. + + This variation starts with Expectation step. You need to provide initial means \f$a_k\f$ of + mixture components. Optionally you can pass initial weights \f$\pi_k\f$ and covariance matrices + \f$S_k\f$ of mixture components. + + @param samples Samples from which the Gaussian mixture model will be estimated. It should be a + one-channel matrix, each row of which is a sample. If the matrix does not have CV_64F type + it will be converted to the inner matrix of such type for the further computing. + @param means0 Initial means \f$a_k\f$ of mixture components. It is a one-channel matrix of + \f$nclusters \times dims\f$ size. If the matrix does not have CV_64F type it will be + converted to the inner matrix of such type for the further computing. + @param covs0 The vector of initial covariance matrices \f$S_k\f$ of mixture components. Each of + covariance matrices is a one-channel matrix of \f$dims \times dims\f$ size. If the matrices + do not have CV_64F type they will be converted to the inner matrices of such type for the + further computing. + @param weights0 Initial weights \f$\pi_k\f$ of mixture components. It should be a one-channel + floating-point matrix with \f$1 \times nclusters\f$ or \f$nclusters \times 1\f$ size. + @param logLikelihoods The optional output matrix that contains a likelihood logarithm value for + each sample. It has \f$nsamples \times 1\f$ size and CV_64FC1 type. + @param labels The optional output "class label" for each sample: + \f$\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\f$ (indices of the most probable + mixture component for each sample). It has \f$nsamples \times 1\f$ size and CV_32SC1 type. + @param probs The optional output matrix that contains posterior probabilities of each Gaussian + mixture component given the each sample. It has \f$nsamples \times nclusters\f$ size and + CV_64FC1 type. + */ + CV_WRAP virtual bool trainE(InputArray samples, InputArray means0, + InputArray covs0=noArray(), + InputArray weights0=noArray(), + OutputArray logLikelihoods=noArray(), + OutputArray labels=noArray(), + OutputArray probs=noArray()) = 0; + + /** @brief Estimate the Gaussian mixture parameters from a samples set. + + This variation starts with Maximization step. You need to provide initial probabilities + \f$p_{i,k}\f$ to use this option. + + @param samples Samples from which the Gaussian mixture model will be estimated. It should be a + one-channel matrix, each row of which is a sample. If the matrix does not have CV_64F type + it will be converted to the inner matrix of such type for the further computing. + @param probs0 + @param logLikelihoods The optional output matrix that contains a likelihood logarithm value for + each sample. It has \f$nsamples \times 1\f$ size and CV_64FC1 type. + @param labels The optional output "class label" for each sample: + \f$\texttt{labels}_i=\texttt{arg max}_k(p_{i,k}), i=1..N\f$ (indices of the most probable + mixture component for each sample). It has \f$nsamples \times 1\f$ size and CV_32SC1 type. + @param probs The optional output matrix that contains posterior probabilities of each Gaussian + mixture component given the each sample. It has \f$nsamples \times nclusters\f$ size and + CV_64FC1 type. + */ + CV_WRAP virtual bool trainM(InputArray samples, InputArray probs0, + OutputArray logLikelihoods=noArray(), + OutputArray labels=noArray(), + OutputArray probs=noArray()) = 0; + + /** Creates empty %EM model. + The model should be trained then using StatModel::train(traindata, flags) method. Alternatively, you + can use one of the EM::train\* methods or load it from file using Algorithm::load\(filename). + */ + CV_WRAP static Ptr create(); + + /** @brief Loads and creates a serialized EM from a file + * + * Use EM::save to serialize and store an EM to disk. + * Load the EM from this file again, by calling this function with the path to the file. + * Optionally specify the node for the file containing the classifier + * + * @param filepath path to serialized EM + * @param nodeName name of node containing the classifier + */ + CV_WRAP static Ptr load(const String& filepath , const String& nodeName = String()); +}; + +/****************************************************************************************\ +* Decision Tree * +\****************************************************************************************/ + +/** @brief The class represents a single decision tree or a collection of decision trees. + +The current public interface of the class allows user to train only a single decision tree, however +the class is capable of storing multiple decision trees and using them for prediction (by summing +responses or using a voting schemes), and the derived from DTrees classes (such as RTrees and Boost) +use this capability to implement decision tree ensembles. + +@sa @ref ml_intro_trees +*/ +class CV_EXPORTS_W DTrees : public StatModel +{ +public: + /** Predict options */ + enum Flags { PREDICT_AUTO=0, PREDICT_SUM=(1<<8), PREDICT_MAX_VOTE=(2<<8), PREDICT_MASK=(3<<8) }; + + /** Cluster possible values of a categorical variable into K\<=maxCategories clusters to + find a suboptimal split. + If a discrete variable, on which the training procedure tries to make a split, takes more than + maxCategories values, the precise best subset estimation may take a very long time because the + algorithm is exponential. Instead, many decision trees engines (including our implementation) + try to find sub-optimal split in this case by clustering all the samples into maxCategories + clusters that is some categories are merged together. The clustering is applied only in n \> + 2-class classification problems for categorical variables with N \> max_categories possible + values. In case of regression and 2-class classification the optimal split can be found + efficiently without employing clustering, thus the parameter is not used in these cases. + Default value is 10.*/ + /** @see setMaxCategories */ + CV_WRAP virtual int getMaxCategories() const = 0; + /** @copybrief getMaxCategories @see getMaxCategories */ + CV_WRAP virtual void setMaxCategories(int val) = 0; + + /** The maximum possible depth of the tree. + That is the training algorithms attempts to split a node while its depth is less than maxDepth. + The root node has zero depth. The actual depth may be smaller if the other termination criteria + are met (see the outline of the training procedure @ref ml_intro_trees "here"), and/or if the + tree is pruned. Default value is INT_MAX.*/ + /** @see setMaxDepth */ + CV_WRAP virtual int getMaxDepth() const = 0; + /** @copybrief getMaxDepth @see getMaxDepth */ + CV_WRAP virtual void setMaxDepth(int val) = 0; + + /** If the number of samples in a node is less than this parameter then the node will not be split. + + Default value is 10.*/ + /** @see setMinSampleCount */ + CV_WRAP virtual int getMinSampleCount() const = 0; + /** @copybrief getMinSampleCount @see getMinSampleCount */ + CV_WRAP virtual void setMinSampleCount(int val) = 0; + + /** If CVFolds \> 1 then algorithms prunes the built decision tree using K-fold + cross-validation procedure where K is equal to CVFolds. + Default value is 10.*/ + /** @see setCVFolds */ + CV_WRAP virtual int getCVFolds() const = 0; + /** @copybrief getCVFolds @see getCVFolds */ + CV_WRAP virtual void setCVFolds(int val) = 0; + + /** If true then surrogate splits will be built. + These splits allow to work with missing data and compute variable importance correctly. + Default value is false. + @note currently it's not implemented.*/ + /** @see setUseSurrogates */ + CV_WRAP virtual bool getUseSurrogates() const = 0; + /** @copybrief getUseSurrogates @see getUseSurrogates */ + CV_WRAP virtual void setUseSurrogates(bool val) = 0; + + /** If true then a pruning will be harsher. + This will make a tree more compact and more resistant to the training data noise but a bit less + accurate. Default value is true.*/ + /** @see setUse1SERule */ + CV_WRAP virtual bool getUse1SERule() const = 0; + /** @copybrief getUse1SERule @see getUse1SERule */ + CV_WRAP virtual void setUse1SERule(bool val) = 0; + + /** If true then pruned branches are physically removed from the tree. + Otherwise they are retained and it is possible to get results from the original unpruned (or + pruned less aggressively) tree. Default value is true.*/ + /** @see setTruncatePrunedTree */ + CV_WRAP virtual bool getTruncatePrunedTree() const = 0; + /** @copybrief getTruncatePrunedTree @see getTruncatePrunedTree */ + CV_WRAP virtual void setTruncatePrunedTree(bool val) = 0; + + /** Termination criteria for regression trees. + If all absolute differences between an estimated value in a node and values of train samples + in this node are less than this parameter then the node will not be split further. Default + value is 0.01f*/ + /** @see setRegressionAccuracy */ + CV_WRAP virtual float getRegressionAccuracy() const = 0; + /** @copybrief getRegressionAccuracy @see getRegressionAccuracy */ + CV_WRAP virtual void setRegressionAccuracy(float val) = 0; + + /** @brief The array of a priori class probabilities, sorted by the class label value. + + The parameter can be used to tune the decision tree preferences toward a certain class. For + example, if you want to detect some rare anomaly occurrence, the training base will likely + contain much more normal cases than anomalies, so a very good classification performance + will be achieved just by considering every case as normal. To avoid this, the priors can be + specified, where the anomaly probability is artificially increased (up to 0.5 or even + greater), so the weight of the misclassified anomalies becomes much bigger, and the tree is + adjusted properly. + + You can also think about this parameter as weights of prediction categories which determine + relative weights that you give to misclassification. That is, if the weight of the first + category is 1 and the weight of the second category is 10, then each mistake in predicting + the second category is equivalent to making 10 mistakes in predicting the first category. + Default value is empty Mat.*/ + /** @see setPriors */ + CV_WRAP virtual cv::Mat getPriors() const = 0; + /** @copybrief getPriors @see getPriors */ + CV_WRAP virtual void setPriors(const cv::Mat &val) = 0; + + /** @brief The class represents a decision tree node. + */ + class CV_EXPORTS Node + { + public: + Node(); + double value; //!< Value at the node: a class label in case of classification or estimated + //!< function value in case of regression. + int classIdx; //!< Class index normalized to 0..class_count-1 range and assigned to the + //!< node. It is used internally in classification trees and tree ensembles. + int parent; //!< Index of the parent node + int left; //!< Index of the left child node + int right; //!< Index of right child node + int defaultDir; //!< Default direction where to go (-1: left or +1: right). It helps in the + //!< case of missing values. + int split; //!< Index of the first split + }; + + /** @brief The class represents split in a decision tree. + */ + class CV_EXPORTS Split + { + public: + Split(); + int varIdx; //!< Index of variable on which the split is created. + bool inversed; //!< If true, then the inverse split rule is used (i.e. left and right + //!< branches are exchanged in the rule expressions below). + float quality; //!< The split quality, a positive number. It is used to choose the best split. + int next; //!< Index of the next split in the list of splits for the node + float c; /**< The threshold value in case of split on an ordered variable. + The rule is: + @code{.none} + if var_value < c + then next_node <- left + else next_node <- right + @endcode */ + int subsetOfs; /**< Offset of the bitset used by the split on a categorical variable. + The rule is: + @code{.none} + if bitset[var_value] == 1 + then next_node <- left + else next_node <- right + @endcode */ + }; + + /** @brief Returns indices of root nodes + */ + virtual const std::vector& getRoots() const = 0; + /** @brief Returns all the nodes + + all the node indices are indices in the returned vector + */ + virtual const std::vector& getNodes() const = 0; + /** @brief Returns all the splits + + all the split indices are indices in the returned vector + */ + virtual const std::vector& getSplits() const = 0; + /** @brief Returns all the bitsets for categorical splits + + Split::subsetOfs is an offset in the returned vector + */ + virtual const std::vector& getSubsets() const = 0; + + /** @brief Creates the empty model + + The static method creates empty decision tree with the specified parameters. It should be then + trained using train method (see StatModel::train). Alternatively, you can load the model from + file using Algorithm::load\(filename). + */ + CV_WRAP static Ptr create(); + + /** @brief Loads and creates a serialized DTrees from a file + * + * Use DTree::save to serialize and store an DTree to disk. + * Load the DTree from this file again, by calling this function with the path to the file. + * Optionally specify the node for the file containing the classifier + * + * @param filepath path to serialized DTree + * @param nodeName name of node containing the classifier + */ + CV_WRAP static Ptr load(const String& filepath , const String& nodeName = String()); +}; + +/****************************************************************************************\ +* Random Trees Classifier * +\****************************************************************************************/ + +/** @brief The class implements the random forest predictor. + +@sa @ref ml_intro_rtrees + */ +class CV_EXPORTS_W RTrees : public DTrees +{ +public: + + /** If true then variable importance will be calculated and then it can be retrieved by RTrees::getVarImportance. + Default value is false.*/ + /** @see setCalculateVarImportance */ + CV_WRAP virtual bool getCalculateVarImportance() const = 0; + /** @copybrief getCalculateVarImportance @see getCalculateVarImportance */ + CV_WRAP virtual void setCalculateVarImportance(bool val) = 0; + + /** The size of the randomly selected subset of features at each tree node and that are used + to find the best split(s). + If you set it to 0 then the size will be set to the square root of the total number of + features. Default value is 0.*/ + /** @see setActiveVarCount */ + CV_WRAP virtual int getActiveVarCount() const = 0; + /** @copybrief getActiveVarCount @see getActiveVarCount */ + CV_WRAP virtual void setActiveVarCount(int val) = 0; + + /** The termination criteria that specifies when the training algorithm stops. + Either when the specified number of trees is trained and added to the ensemble or when + sufficient accuracy (measured as OOB error) is achieved. Typically the more trees you have the + better the accuracy. However, the improvement in accuracy generally diminishes and asymptotes + pass a certain number of trees. Also to keep in mind, the number of tree increases the + prediction time linearly. Default value is TermCriteria(TermCriteria::MAX_ITERS + + TermCriteria::EPS, 50, 0.1)*/ + /** @see setTermCriteria */ + CV_WRAP virtual TermCriteria getTermCriteria() const = 0; + /** @copybrief getTermCriteria @see getTermCriteria */ + CV_WRAP virtual void setTermCriteria(const TermCriteria &val) = 0; + + /** Returns the variable importance array. + The method returns the variable importance vector, computed at the training stage when + CalculateVarImportance is set to true. If this flag was set to false, the empty matrix is + returned. + */ + CV_WRAP virtual Mat getVarImportance() const = 0; + + /** Returns the result of each individual tree in the forest. + In case the model is a regression problem, the method will return each of the trees' + results for each of the sample cases. If the model is a classifier, it will return + a Mat with samples + 1 rows, where the first row gives the class number and the + following rows return the votes each class had for each sample. + @param samples Array containg the samples for which votes will be calculated. + @param results Array where the result of the calculation will be written. + @param flags Flags for defining the type of RTrees. + */ + CV_WRAP void getVotes(InputArray samples, OutputArray results, int flags) const; + + /** Creates the empty model. + Use StatModel::train to train the model, StatModel::train to create and train the model, + Algorithm::load to load the pre-trained model. + */ + CV_WRAP static Ptr create(); + + /** @brief Loads and creates a serialized RTree from a file + * + * Use RTree::save to serialize and store an RTree to disk. + * Load the RTree from this file again, by calling this function with the path to the file. + * Optionally specify the node for the file containing the classifier + * + * @param filepath path to serialized RTree + * @param nodeName name of node containing the classifier + */ + CV_WRAP static Ptr load(const String& filepath , const String& nodeName = String()); +}; + +/****************************************************************************************\ +* Boosted tree classifier * +\****************************************************************************************/ + +/** @brief Boosted tree classifier derived from DTrees + +@sa @ref ml_intro_boost + */ +class CV_EXPORTS_W Boost : public DTrees +{ +public: + /** Type of the boosting algorithm. + See Boost::Types. Default value is Boost::REAL. */ + /** @see setBoostType */ + CV_WRAP virtual int getBoostType() const = 0; + /** @copybrief getBoostType @see getBoostType */ + CV_WRAP virtual void setBoostType(int val) = 0; + + /** The number of weak classifiers. + Default value is 100. */ + /** @see setWeakCount */ + CV_WRAP virtual int getWeakCount() const = 0; + /** @copybrief getWeakCount @see getWeakCount */ + CV_WRAP virtual void setWeakCount(int val) = 0; + + /** A threshold between 0 and 1 used to save computational time. + Samples with summary weight \f$\leq 1 - weight_trim_rate\f$ do not participate in the *next* + iteration of training. Set this parameter to 0 to turn off this functionality. Default value is 0.95.*/ + /** @see setWeightTrimRate */ + CV_WRAP virtual double getWeightTrimRate() const = 0; + /** @copybrief getWeightTrimRate @see getWeightTrimRate */ + CV_WRAP virtual void setWeightTrimRate(double val) = 0; + + /** Boosting type. + Gentle AdaBoost and Real AdaBoost are often the preferable choices. */ + enum Types { + DISCRETE=0, //!< Discrete AdaBoost. + REAL=1, //!< Real AdaBoost. It is a technique that utilizes confidence-rated predictions + //!< and works well with categorical data. + LOGIT=2, //!< LogitBoost. It can produce good regression fits. + GENTLE=3 //!< Gentle AdaBoost. It puts less weight on outlier data points and for that + //!(filename) to load the pre-trained model. */ + CV_WRAP static Ptr create(); + + /** @brief Loads and creates a serialized Boost from a file + * + * Use Boost::save to serialize and store an RTree to disk. + * Load the Boost from this file again, by calling this function with the path to the file. + * Optionally specify the node for the file containing the classifier + * + * @param filepath path to serialized Boost + * @param nodeName name of node containing the classifier + */ + CV_WRAP static Ptr load(const String& filepath , const String& nodeName = String()); +}; + +/****************************************************************************************\ +* Gradient Boosted Trees * +\****************************************************************************************/ + +/*class CV_EXPORTS_W GBTrees : public DTrees +{ +public: + struct CV_EXPORTS_W_MAP Params : public DTrees::Params + { + CV_PROP_RW int weakCount; + CV_PROP_RW int lossFunctionType; + CV_PROP_RW float subsamplePortion; + CV_PROP_RW float shrinkage; + + Params(); + Params( int lossFunctionType, int weakCount, float shrinkage, + float subsamplePortion, int maxDepth, bool useSurrogates ); + }; + + enum {SQUARED_LOSS=0, ABSOLUTE_LOSS, HUBER_LOSS=3, DEVIANCE_LOSS}; + + virtual void setK(int k) = 0; + + virtual float predictSerial( InputArray samples, + OutputArray weakResponses, int flags) const = 0; + + static Ptr create(const Params& p); +};*/ + +/****************************************************************************************\ +* Artificial Neural Networks (ANN) * +\****************************************************************************************/ + +/////////////////////////////////// Multi-Layer Perceptrons ////////////////////////////// + +/** @brief Artificial Neural Networks - Multi-Layer Perceptrons. + +Unlike many other models in ML that are constructed and trained at once, in the MLP model these +steps are separated. First, a network with the specified topology is created using the non-default +constructor or the method ANN_MLP::create. All the weights are set to zeros. Then, the network is +trained using a set of input and output vectors. The training procedure can be repeated more than +once, that is, the weights can be adjusted based on the new training data. + +Additional flags for StatModel::train are available: ANN_MLP::TrainFlags. + +@sa @ref ml_intro_ann + */ +class CV_EXPORTS_W ANN_MLP : public StatModel +{ +public: + /** Available training methods */ + enum TrainingMethods { + BACKPROP=0, //!< The back-propagation algorithm. + RPROP=1 //!< The RPROP algorithm. See @cite RPROP93 for details. + }; + + /** Sets training method and common parameters. + @param method Default value is ANN_MLP::RPROP. See ANN_MLP::TrainingMethods. + @param param1 passed to setRpropDW0 for ANN_MLP::RPROP and to setBackpropWeightScale for ANN_MLP::BACKPROP + @param param2 passed to setRpropDWMin for ANN_MLP::RPROP and to setBackpropMomentumScale for ANN_MLP::BACKPROP. + */ + CV_WRAP virtual void setTrainMethod(int method, double param1 = 0, double param2 = 0) = 0; + + /** Returns current training method */ + CV_WRAP virtual int getTrainMethod() const = 0; + + /** Initialize the activation function for each neuron. + Currently the default and the only fully supported activation function is ANN_MLP::SIGMOID_SYM. + @param type The type of activation function. See ANN_MLP::ActivationFunctions. + @param param1 The first parameter of the activation function, \f$\alpha\f$. Default value is 0. + @param param2 The second parameter of the activation function, \f$\beta\f$. Default value is 0. + */ + CV_WRAP virtual void setActivationFunction(int type, double param1 = 0, double param2 = 0) = 0; + + /** Integer vector specifying the number of neurons in each layer including the input and output layers. + The very first element specifies the number of elements in the input layer. + The last element - number of elements in the output layer. Default value is empty Mat. + @sa getLayerSizes */ + CV_WRAP virtual void setLayerSizes(InputArray _layer_sizes) = 0; + + /** Integer vector specifying the number of neurons in each layer including the input and output layers. + The very first element specifies the number of elements in the input layer. + The last element - number of elements in the output layer. + @sa setLayerSizes */ + CV_WRAP virtual cv::Mat getLayerSizes() const = 0; + + /** Termination criteria of the training algorithm. + You can specify the maximum number of iterations (maxCount) and/or how much the error could + change between the iterations to make the algorithm continue (epsilon). Default value is + TermCriteria(TermCriteria::MAX_ITER + TermCriteria::EPS, 1000, 0.01).*/ + /** @see setTermCriteria */ + CV_WRAP virtual TermCriteria getTermCriteria() const = 0; + /** @copybrief getTermCriteria @see getTermCriteria */ + CV_WRAP virtual void setTermCriteria(TermCriteria val) = 0; + + /** BPROP: Strength of the weight gradient term. + The recommended value is about 0.1. Default value is 0.1.*/ + /** @see setBackpropWeightScale */ + CV_WRAP virtual double getBackpropWeightScale() const = 0; + /** @copybrief getBackpropWeightScale @see getBackpropWeightScale */ + CV_WRAP virtual void setBackpropWeightScale(double val) = 0; + + /** BPROP: Strength of the momentum term (the difference between weights on the 2 previous iterations). + This parameter provides some inertia to smooth the random fluctuations of the weights. It can + vary from 0 (the feature is disabled) to 1 and beyond. The value 0.1 or so is good enough. + Default value is 0.1.*/ + /** @see setBackpropMomentumScale */ + CV_WRAP virtual double getBackpropMomentumScale() const = 0; + /** @copybrief getBackpropMomentumScale @see getBackpropMomentumScale */ + CV_WRAP virtual void setBackpropMomentumScale(double val) = 0; + + /** RPROP: Initial value \f$\Delta_0\f$ of update-values \f$\Delta_{ij}\f$. + Default value is 0.1.*/ + /** @see setRpropDW0 */ + CV_WRAP virtual double getRpropDW0() const = 0; + /** @copybrief getRpropDW0 @see getRpropDW0 */ + CV_WRAP virtual void setRpropDW0(double val) = 0; + + /** RPROP: Increase factor \f$\eta^+\f$. + It must be \>1. Default value is 1.2.*/ + /** @see setRpropDWPlus */ + CV_WRAP virtual double getRpropDWPlus() const = 0; + /** @copybrief getRpropDWPlus @see getRpropDWPlus */ + CV_WRAP virtual void setRpropDWPlus(double val) = 0; + + /** RPROP: Decrease factor \f$\eta^-\f$. + It must be \<1. Default value is 0.5.*/ + /** @see setRpropDWMinus */ + CV_WRAP virtual double getRpropDWMinus() const = 0; + /** @copybrief getRpropDWMinus @see getRpropDWMinus */ + CV_WRAP virtual void setRpropDWMinus(double val) = 0; + + /** RPROP: Update-values lower limit \f$\Delta_{min}\f$. + It must be positive. Default value is FLT_EPSILON.*/ + /** @see setRpropDWMin */ + CV_WRAP virtual double getRpropDWMin() const = 0; + /** @copybrief getRpropDWMin @see getRpropDWMin */ + CV_WRAP virtual void setRpropDWMin(double val) = 0; + + /** RPROP: Update-values upper limit \f$\Delta_{max}\f$. + It must be \>1. Default value is 50.*/ + /** @see setRpropDWMax */ + CV_WRAP virtual double getRpropDWMax() const = 0; + /** @copybrief getRpropDWMax @see getRpropDWMax */ + CV_WRAP virtual void setRpropDWMax(double val) = 0; + + /** possible activation functions */ + enum ActivationFunctions { + /** Identity function: \f$f(x)=x\f$ */ + IDENTITY = 0, + /** Symmetrical sigmoid: \f$f(x)=\beta*(1-e^{-\alpha x})/(1+e^{-\alpha x}\f$ + @note + If you are using the default sigmoid activation function with the default parameter values + fparam1=0 and fparam2=0 then the function used is y = 1.7159\*tanh(2/3 \* x), so the output + will range from [-1.7159, 1.7159], instead of [0,1].*/ + SIGMOID_SYM = 1, + /** Gaussian function: \f$f(x)=\beta e^{-\alpha x*x}\f$ */ + GAUSSIAN = 2 + }; + + /** Train options */ + enum TrainFlags { + /** Update the network weights, rather than compute them from scratch. In the latter case + the weights are initialized using the Nguyen-Widrow algorithm. */ + UPDATE_WEIGHTS = 1, + /** Do not normalize the input vectors. If this flag is not set, the training algorithm + normalizes each input feature independently, shifting its mean value to 0 and making the + standard deviation equal to 1. If the network is assumed to be updated frequently, the new + training data could be much different from original one. In this case, you should take care + of proper normalization. */ + NO_INPUT_SCALE = 2, + /** Do not normalize the output vectors. If the flag is not set, the training algorithm + normalizes each output feature independently, by transforming it to the certain range + depending on the used activation function. */ + NO_OUTPUT_SCALE = 4 + }; + + CV_WRAP virtual Mat getWeights(int layerIdx) const = 0; + + /** @brief Creates empty model + + Use StatModel::train to train the model, Algorithm::load\(filename) to load the pre-trained model. + Note that the train method has optional flags: ANN_MLP::TrainFlags. + */ + CV_WRAP static Ptr create(); + + /** @brief Loads and creates a serialized ANN from a file + * + * Use ANN::save to serialize and store an ANN to disk. + * Load the ANN from this file again, by calling this function with the path to the file. + * + * @param filepath path to serialized ANN + */ + CV_WRAP static Ptr load(const String& filepath); + +}; + +/****************************************************************************************\ +* Logistic Regression * +\****************************************************************************************/ + +/** @brief Implements Logistic Regression classifier. + +@sa @ref ml_intro_lr + */ +class CV_EXPORTS_W LogisticRegression : public StatModel +{ +public: + + /** Learning rate. */ + /** @see setLearningRate */ + CV_WRAP virtual double getLearningRate() const = 0; + /** @copybrief getLearningRate @see getLearningRate */ + CV_WRAP virtual void setLearningRate(double val) = 0; + + /** Number of iterations. */ + /** @see setIterations */ + CV_WRAP virtual int getIterations() const = 0; + /** @copybrief getIterations @see getIterations */ + CV_WRAP virtual void setIterations(int val) = 0; + + /** Kind of regularization to be applied. See LogisticRegression::RegKinds. */ + /** @see setRegularization */ + CV_WRAP virtual int getRegularization() const = 0; + /** @copybrief getRegularization @see getRegularization */ + CV_WRAP virtual void setRegularization(int val) = 0; + + /** Kind of training method used. See LogisticRegression::Methods. */ + /** @see setTrainMethod */ + CV_WRAP virtual int getTrainMethod() const = 0; + /** @copybrief getTrainMethod @see getTrainMethod */ + CV_WRAP virtual void setTrainMethod(int val) = 0; + + /** Specifies the number of training samples taken in each step of Mini-Batch Gradient + Descent. Will only be used if using LogisticRegression::MINI_BATCH training algorithm. It + has to take values less than the total number of training samples. */ + /** @see setMiniBatchSize */ + CV_WRAP virtual int getMiniBatchSize() const = 0; + /** @copybrief getMiniBatchSize @see getMiniBatchSize */ + CV_WRAP virtual void setMiniBatchSize(int val) = 0; + + /** Termination criteria of the algorithm. */ + /** @see setTermCriteria */ + CV_WRAP virtual TermCriteria getTermCriteria() const = 0; + /** @copybrief getTermCriteria @see getTermCriteria */ + CV_WRAP virtual void setTermCriteria(TermCriteria val) = 0; + + //! Regularization kinds + enum RegKinds { + REG_DISABLE = -1, //!< Regularization disabled + REG_L1 = 0, //!< %L1 norm + REG_L2 = 1 //!< %L2 norm + }; + + //! Training methods + enum Methods { + BATCH = 0, + MINI_BATCH = 1 //!< Set MiniBatchSize to a positive integer when using this method. + }; + + /** @brief Predicts responses for input samples and returns a float type. + + @param samples The input data for the prediction algorithm. Matrix [m x n], where each row + contains variables (features) of one object being classified. Should have data type CV_32F. + @param results Predicted labels as a column matrix of type CV_32S. + @param flags Not used. + */ + CV_WRAP virtual float predict( InputArray samples, OutputArray results=noArray(), int flags=0 ) const = 0; + + /** @brief This function returns the trained paramters arranged across rows. + + For a two class classifcation problem, it returns a row matrix. It returns learnt paramters of + the Logistic Regression as a matrix of type CV_32F. + */ + CV_WRAP virtual Mat get_learnt_thetas() const = 0; + + /** @brief Creates empty model. + + Creates Logistic Regression model with parameters given. + */ + CV_WRAP static Ptr create(); + + /** @brief Loads and creates a serialized LogisticRegression from a file + * + * Use LogisticRegression::save to serialize and store an LogisticRegression to disk. + * Load the LogisticRegression from this file again, by calling this function with the path to the file. + * Optionally specify the node for the file containing the classifier + * + * @param filepath path to serialized LogisticRegression + * @param nodeName name of node containing the classifier + */ + CV_WRAP static Ptr load(const String& filepath , const String& nodeName = String()); +}; + + +/****************************************************************************************\ +* Stochastic Gradient Descent SVM Classifier * +\****************************************************************************************/ + +/*! +@brief Stochastic Gradient Descent SVM classifier + +SVMSGD provides a fast and easy-to-use implementation of the SVM classifier using the Stochastic Gradient Descent approach, +as presented in @cite bottou2010large. + +The classifier has following parameters: +- model type, +- margin type, +- margin regularization (\f$\lambda\f$), +- initial step size (\f$\gamma_0\f$), +- step decreasing power (\f$c\f$), +- and termination criteria. + +The model type may have one of the following values: \ref SGD and \ref ASGD. + +- \ref SGD is the classic version of SVMSGD classifier: every next step is calculated by the formula + \f[w_{t+1} = w_t - \gamma(t) \frac{dQ_i}{dw} |_{w = w_t}\f] + where + - \f$w_t\f$ is the weights vector for decision function at step \f$t\f$, + - \f$\gamma(t)\f$ is the step size of model parameters at the iteration \f$t\f$, it is decreased on each step by the formula + \f$\gamma(t) = \gamma_0 (1 + \lambda \gamma_0 t) ^ {-c}\f$ + - \f$Q_i\f$ is the target functional from SVM task for sample with number \f$i\f$, this sample is chosen stochastically on each step of the algorithm. + +- \ref ASGD is Average Stochastic Gradient Descent SVM Classifier. ASGD classifier averages weights vector on each step of algorithm by the formula +\f$\widehat{w}_{t+1} = \frac{t}{1+t}\widehat{w}_{t} + \frac{1}{1+t}w_{t+1}\f$ + +The recommended model type is ASGD (following @cite bottou2010large). + +The margin type may have one of the following values: \ref SOFT_MARGIN or \ref HARD_MARGIN. + +- You should use \ref HARD_MARGIN type, if you have linearly separable sets. +- You should use \ref SOFT_MARGIN type, if you have non-linearly separable sets or sets with outliers. +- In the general case (if you know nothing about linear separability of your sets), use SOFT_MARGIN. + +The other parameters may be described as follows: +- Margin regularization parameter is responsible for weights decreasing at each step and for the strength of restrictions on outliers + (the less the parameter, the less probability that an outlier will be ignored). + Recommended value for SGD model is 0.0001, for ASGD model is 0.00001. + +- Initial step size parameter is the initial value for the step size \f$\gamma(t)\f$. + You will have to find the best initial step for your problem. + +- Step decreasing power is the power parameter for \f$\gamma(t)\f$ decreasing by the formula, mentioned above. + Recommended value for SGD model is 1, for ASGD model is 0.75. + +- Termination criteria can be TermCriteria::COUNT, TermCriteria::EPS or TermCriteria::COUNT + TermCriteria::EPS. + You will have to find the best termination criteria for your problem. + +Note that the parameters margin regularization, initial step size, and step decreasing power should be positive. + +To use SVMSGD algorithm do as follows: + +- first, create the SVMSGD object. The algoorithm will set optimal parameters by default, but you can set your own parameters via functions setSvmsgdType(), + setMarginType(), setMarginRegularization(), setInitialStepSize(), and setStepDecreasingPower(). + +- then the SVM model can be trained using the train features and the correspondent labels by the method train(). + +- after that, the label of a new feature vector can be predicted using the method predict(). + +@code +// Create empty object +cv::Ptr svmsgd = SVMSGD::create(); + +// Train the Stochastic Gradient Descent SVM +svmsgd->train(trainData); + +// Predict labels for the new samples +svmsgd->predict(samples, responses); +@endcode + +*/ + +class CV_EXPORTS_W SVMSGD : public cv::ml::StatModel +{ +public: + + /** SVMSGD type. + ASGD is often the preferable choice. */ + enum SvmsgdType + { + SGD, //!< Stochastic Gradient Descent + ASGD //!< Average Stochastic Gradient Descent + }; + + /** Margin type.*/ + enum MarginType + { + SOFT_MARGIN, //!< General case, suits to the case of non-linearly separable sets, allows outliers. + HARD_MARGIN //!< More accurate for the case of linearly separable sets. + }; + + /** + * @return the weights of the trained model (decision function f(x) = weights * x + shift). + */ + CV_WRAP virtual Mat getWeights() = 0; + + /** + * @return the shift of the trained model (decision function f(x) = weights * x + shift). + */ + CV_WRAP virtual float getShift() = 0; + + /** @brief Creates empty model. + * Use StatModel::train to train the model. Since %SVMSGD has several parameters, you may want to + * find the best parameters for your problem or use setOptimalParameters() to set some default parameters. + */ + CV_WRAP static Ptr create(); + + /** @brief Loads and creates a serialized SVMSGD from a file + * + * Use SVMSGD::save to serialize and store an SVMSGD to disk. + * Load the SVMSGD from this file again, by calling this function with the path to the file. + * Optionally specify the node for the file containing the classifier + * + * @param filepath path to serialized SVMSGD + * @param nodeName name of node containing the classifier + */ + CV_WRAP static Ptr load(const String& filepath , const String& nodeName = String()); + + /** @brief Function sets optimal parameters values for chosen SVM SGD model. + * @param svmsgdType is the type of SVMSGD classifier. + * @param marginType is the type of margin constraint. + */ + CV_WRAP virtual void setOptimalParameters(int svmsgdType = SVMSGD::ASGD, int marginType = SVMSGD::SOFT_MARGIN) = 0; + + /** @brief %Algorithm type, one of SVMSGD::SvmsgdType. */ + /** @see setSvmsgdType */ + CV_WRAP virtual int getSvmsgdType() const = 0; + /** @copybrief getSvmsgdType @see getSvmsgdType */ + CV_WRAP virtual void setSvmsgdType(int svmsgdType) = 0; + + /** @brief %Margin type, one of SVMSGD::MarginType. */ + /** @see setMarginType */ + CV_WRAP virtual int getMarginType() const = 0; + /** @copybrief getMarginType @see getMarginType */ + CV_WRAP virtual void setMarginType(int marginType) = 0; + + /** @brief Parameter marginRegularization of a %SVMSGD optimization problem. */ + /** @see setMarginRegularization */ + CV_WRAP virtual float getMarginRegularization() const = 0; + /** @copybrief getMarginRegularization @see getMarginRegularization */ + CV_WRAP virtual void setMarginRegularization(float marginRegularization) = 0; + + /** @brief Parameter initialStepSize of a %SVMSGD optimization problem. */ + /** @see setInitialStepSize */ + CV_WRAP virtual float getInitialStepSize() const = 0; + /** @copybrief getInitialStepSize @see getInitialStepSize */ + CV_WRAP virtual void setInitialStepSize(float InitialStepSize) = 0; + + /** @brief Parameter stepDecreasingPower of a %SVMSGD optimization problem. */ + /** @see setStepDecreasingPower */ + CV_WRAP virtual float getStepDecreasingPower() const = 0; + /** @copybrief getStepDecreasingPower @see getStepDecreasingPower */ + CV_WRAP virtual void setStepDecreasingPower(float stepDecreasingPower) = 0; + + /** @brief Termination criteria of the training algorithm. + You can specify the maximum number of iterations (maxCount) and/or how much the error could + change between the iterations to make the algorithm continue (epsilon).*/ + /** @see setTermCriteria */ + CV_WRAP virtual TermCriteria getTermCriteria() const = 0; + /** @copybrief getTermCriteria @see getTermCriteria */ + CV_WRAP virtual void setTermCriteria(const cv::TermCriteria &val) = 0; +}; + + +/****************************************************************************************\ +* Auxilary functions declarations * +\****************************************************************************************/ + +/** @brief Generates _sample_ from multivariate normal distribution + +@param mean an average row vector +@param cov symmetric covariation matrix +@param nsamples returned samples count +@param samples returned samples array +*/ +CV_EXPORTS void randMVNormal( InputArray mean, InputArray cov, int nsamples, OutputArray samples); + +/** @brief Creates test set */ +CV_EXPORTS void createConcentricSpheresTestSet( int nsamples, int nfeatures, int nclasses, + OutputArray samples, OutputArray responses); + +//! @} ml + +} +} + +#endif // __cplusplus +#endif // OPENCV_ML_HPP + +/* End of file. */ diff --git a/app/src/main/cpp/include/opencv2/ml/ml.hpp b/app/src/main/cpp/include/opencv2/ml/ml.hpp new file mode 100644 index 0000000..f6f9cd8 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/ml/ml.hpp @@ -0,0 +1,48 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/ml.hpp" diff --git a/app/src/main/cpp/include/opencv2/objdetect.hpp b/app/src/main/cpp/include/opencv2/objdetect.hpp new file mode 100644 index 0000000..40ebf56 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/objdetect.hpp @@ -0,0 +1,683 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_OBJDETECT_HPP +#define OPENCV_OBJDETECT_HPP + +#include "opencv2/core.hpp" + +/** +@defgroup objdetect Object Detection + +Haar Feature-based Cascade Classifier for Object Detection +---------------------------------------------------------- + +The object detector described below has been initially proposed by Paul Viola @cite Viola01 and +improved by Rainer Lienhart @cite Lienhart02 . + +First, a classifier (namely a *cascade of boosted classifiers working with haar-like features*) is +trained with a few hundred sample views of a particular object (i.e., a face or a car), called +positive examples, that are scaled to the same size (say, 20x20), and negative examples - arbitrary +images of the same size. + +After a classifier is trained, it can be applied to a region of interest (of the same size as used +during the training) in an input image. The classifier outputs a "1" if the region is likely to show +the object (i.e., face/car), and "0" otherwise. To search for the object in the whole image one can +move the search window across the image and check every location using the classifier. The +classifier is designed so that it can be easily "resized" in order to be able to find the objects of +interest at different sizes, which is more efficient than resizing the image itself. So, to find an +object of an unknown size in the image the scan procedure should be done several times at different +scales. + +The word "cascade" in the classifier name means that the resultant classifier consists of several +simpler classifiers (*stages*) that are applied subsequently to a region of interest until at some +stage the candidate is rejected or all the stages are passed. The word "boosted" means that the +classifiers at every stage of the cascade are complex themselves and they are built out of basic +classifiers using one of four different boosting techniques (weighted voting). Currently Discrete +Adaboost, Real Adaboost, Gentle Adaboost and Logitboost are supported. The basic classifiers are +decision-tree classifiers with at least 2 leaves. Haar-like features are the input to the basic +classifiers, and are calculated as described below. The current algorithm uses the following +Haar-like features: + +![image](pics/haarfeatures.png) + +The feature used in a particular classifier is specified by its shape (1a, 2b etc.), position within +the region of interest and the scale (this scale is not the same as the scale used at the detection +stage, though these two scales are multiplied). For example, in the case of the third line feature +(2c) the response is calculated as the difference between the sum of image pixels under the +rectangle covering the whole feature (including the two white stripes and the black stripe in the +middle) and the sum of the image pixels under the black stripe multiplied by 3 in order to +compensate for the differences in the size of areas. The sums of pixel values over a rectangular +regions are calculated rapidly using integral images (see below and the integral description). + +To see the object detector at work, have a look at the facedetect demo: + + +The following reference is for the detection part only. There is a separate application called +opencv_traincascade that can train a cascade of boosted classifiers from a set of samples. + +@note In the new C++ interface it is also possible to use LBP (local binary pattern) features in +addition to Haar-like features. .. [Viola01] Paul Viola and Michael J. Jones. Rapid Object Detection +using a Boosted Cascade of Simple Features. IEEE CVPR, 2001. The paper is available online at + + +@{ + @defgroup objdetect_c C API +@} + */ + +typedef struct CvHaarClassifierCascade CvHaarClassifierCascade; + +namespace cv +{ + +//! @addtogroup objdetect +//! @{ + +///////////////////////////// Object Detection //////////////////////////// + +//! class for grouping object candidates, detected by Cascade Classifier, HOG etc. +//! instance of the class is to be passed to cv::partition (see cxoperations.hpp) +class CV_EXPORTS SimilarRects +{ +public: + SimilarRects(double _eps) : eps(_eps) {} + inline bool operator()(const Rect& r1, const Rect& r2) const + { + double delta = eps * ((std::min)(r1.width, r2.width) + (std::min)(r1.height, r2.height)) * 0.5; + return std::abs(r1.x - r2.x) <= delta && + std::abs(r1.y - r2.y) <= delta && + std::abs(r1.x + r1.width - r2.x - r2.width) <= delta && + std::abs(r1.y + r1.height - r2.y - r2.height) <= delta; + } + double eps; +}; + +/** @brief Groups the object candidate rectangles. + +@param rectList Input/output vector of rectangles. Output vector includes retained and grouped +rectangles. (The Python list is not modified in place.) +@param groupThreshold Minimum possible number of rectangles minus 1. The threshold is used in a +group of rectangles to retain it. +@param eps Relative difference between sides of the rectangles to merge them into a group. + +The function is a wrapper for the generic function partition . It clusters all the input rectangles +using the rectangle equivalence criteria that combines rectangles with similar sizes and similar +locations. The similarity is defined by eps. When eps=0 , no clustering is done at all. If +\f$\texttt{eps}\rightarrow +\inf\f$ , all the rectangles are put in one cluster. Then, the small +clusters containing less than or equal to groupThreshold rectangles are rejected. In each other +cluster, the average rectangle is computed and put into the output rectangle list. + */ +CV_EXPORTS void groupRectangles(std::vector& rectList, int groupThreshold, double eps = 0.2); +/** @overload */ +CV_EXPORTS_W void groupRectangles(CV_IN_OUT std::vector& rectList, CV_OUT std::vector& weights, + int groupThreshold, double eps = 0.2); +/** @overload */ +CV_EXPORTS void groupRectangles(std::vector& rectList, int groupThreshold, + double eps, std::vector* weights, std::vector* levelWeights ); +/** @overload */ +CV_EXPORTS void groupRectangles(std::vector& rectList, std::vector& rejectLevels, + std::vector& levelWeights, int groupThreshold, double eps = 0.2); +/** @overload */ +CV_EXPORTS void groupRectangles_meanshift(std::vector& rectList, std::vector& foundWeights, + std::vector& foundScales, + double detectThreshold = 0.0, Size winDetSize = Size(64, 128)); + +template<> CV_EXPORTS void DefaultDeleter::operator ()(CvHaarClassifierCascade* obj) const; + +enum { CASCADE_DO_CANNY_PRUNING = 1, + CASCADE_SCALE_IMAGE = 2, + CASCADE_FIND_BIGGEST_OBJECT = 4, + CASCADE_DO_ROUGH_SEARCH = 8 + }; + +class CV_EXPORTS_W BaseCascadeClassifier : public Algorithm +{ +public: + virtual ~BaseCascadeClassifier(); + virtual bool empty() const = 0; + virtual bool load( const String& filename ) = 0; + virtual void detectMultiScale( InputArray image, + CV_OUT std::vector& objects, + double scaleFactor, + int minNeighbors, int flags, + Size minSize, Size maxSize ) = 0; + + virtual void detectMultiScale( InputArray image, + CV_OUT std::vector& objects, + CV_OUT std::vector& numDetections, + double scaleFactor, + int minNeighbors, int flags, + Size minSize, Size maxSize ) = 0; + + virtual void detectMultiScale( InputArray image, + CV_OUT std::vector& objects, + CV_OUT std::vector& rejectLevels, + CV_OUT std::vector& levelWeights, + double scaleFactor, + int minNeighbors, int flags, + Size minSize, Size maxSize, + bool outputRejectLevels ) = 0; + + virtual bool isOldFormatCascade() const = 0; + virtual Size getOriginalWindowSize() const = 0; + virtual int getFeatureType() const = 0; + virtual void* getOldCascade() = 0; + + class CV_EXPORTS MaskGenerator + { + public: + virtual ~MaskGenerator() {} + virtual Mat generateMask(const Mat& src)=0; + virtual void initializeMask(const Mat& /*src*/) { } + }; + virtual void setMaskGenerator(const Ptr& maskGenerator) = 0; + virtual Ptr getMaskGenerator() = 0; +}; + +/** @example facedetect.cpp +This program demonstrates usage of the Cascade classifier class +\image html Cascade_Classifier_Tutorial_Result_Haar.jpg "Sample screenshot" width=321 height=254 +*/ +/** @brief Cascade classifier class for object detection. + */ +class CV_EXPORTS_W CascadeClassifier +{ +public: + CV_WRAP CascadeClassifier(); + /** @brief Loads a classifier from a file. + + @param filename Name of the file from which the classifier is loaded. + */ + CV_WRAP CascadeClassifier(const String& filename); + ~CascadeClassifier(); + /** @brief Checks whether the classifier has been loaded. + */ + CV_WRAP bool empty() const; + /** @brief Loads a classifier from a file. + + @param filename Name of the file from which the classifier is loaded. The file may contain an old + HAAR classifier trained by the haartraining application or a new cascade classifier trained by the + traincascade application. + */ + CV_WRAP bool load( const String& filename ); + /** @brief Reads a classifier from a FileStorage node. + + @note The file may contain a new cascade classifier (trained traincascade application) only. + */ + CV_WRAP bool read( const FileNode& node ); + + /** @brief Detects objects of different sizes in the input image. The detected objects are returned as a list + of rectangles. + + @param image Matrix of the type CV_8U containing an image where objects are detected. + @param objects Vector of rectangles where each rectangle contains the detected object, the + rectangles may be partially outside the original image. + @param scaleFactor Parameter specifying how much the image size is reduced at each image scale. + @param minNeighbors Parameter specifying how many neighbors each candidate rectangle should have + to retain it. + @param flags Parameter with the same meaning for an old cascade as in the function + cvHaarDetectObjects. It is not used for a new cascade. + @param minSize Minimum possible object size. Objects smaller than that are ignored. + @param maxSize Maximum possible object size. Objects larger than that are ignored. If `maxSize == minSize` model is evaluated on single scale. + + The function is parallelized with the TBB library. + + @note + - (Python) A face detection example using cascade classifiers can be found at + opencv_source_code/samples/python/facedetect.py + */ + CV_WRAP void detectMultiScale( InputArray image, + CV_OUT std::vector& objects, + double scaleFactor = 1.1, + int minNeighbors = 3, int flags = 0, + Size minSize = Size(), + Size maxSize = Size() ); + + /** @overload + @param image Matrix of the type CV_8U containing an image where objects are detected. + @param objects Vector of rectangles where each rectangle contains the detected object, the + rectangles may be partially outside the original image. + @param numDetections Vector of detection numbers for the corresponding objects. An object's number + of detections is the number of neighboring positively classified rectangles that were joined + together to form the object. + @param scaleFactor Parameter specifying how much the image size is reduced at each image scale. + @param minNeighbors Parameter specifying how many neighbors each candidate rectangle should have + to retain it. + @param flags Parameter with the same meaning for an old cascade as in the function + cvHaarDetectObjects. It is not used for a new cascade. + @param minSize Minimum possible object size. Objects smaller than that are ignored. + @param maxSize Maximum possible object size. Objects larger than that are ignored. If `maxSize == minSize` model is evaluated on single scale. + */ + CV_WRAP_AS(detectMultiScale2) void detectMultiScale( InputArray image, + CV_OUT std::vector& objects, + CV_OUT std::vector& numDetections, + double scaleFactor=1.1, + int minNeighbors=3, int flags=0, + Size minSize=Size(), + Size maxSize=Size() ); + + /** @overload + This function allows you to retrieve the final stage decision certainty of classification. + For this, one needs to set `outputRejectLevels` on true and provide the `rejectLevels` and `levelWeights` parameter. + For each resulting detection, `levelWeights` will then contain the certainty of classification at the final stage. + This value can then be used to separate strong from weaker classifications. + + A code sample on how to use it efficiently can be found below: + @code + Mat img; + vector weights; + vector levels; + vector detections; + CascadeClassifier model("/path/to/your/model.xml"); + model.detectMultiScale(img, detections, levels, weights, 1.1, 3, 0, Size(), Size(), true); + cerr << "Detection " << detections[0] << " with weight " << weights[0] << endl; + @endcode + */ + CV_WRAP_AS(detectMultiScale3) void detectMultiScale( InputArray image, + CV_OUT std::vector& objects, + CV_OUT std::vector& rejectLevels, + CV_OUT std::vector& levelWeights, + double scaleFactor = 1.1, + int minNeighbors = 3, int flags = 0, + Size minSize = Size(), + Size maxSize = Size(), + bool outputRejectLevels = false ); + + CV_WRAP bool isOldFormatCascade() const; + CV_WRAP Size getOriginalWindowSize() const; + CV_WRAP int getFeatureType() const; + void* getOldCascade(); + + CV_WRAP static bool convert(const String& oldcascade, const String& newcascade); + + void setMaskGenerator(const Ptr& maskGenerator); + Ptr getMaskGenerator(); + + Ptr cc; +}; + +CV_EXPORTS Ptr createFaceDetectionMaskGenerator(); + +//////////////// HOG (Histogram-of-Oriented-Gradients) Descriptor and Object Detector ////////////// + +//! struct for detection region of interest (ROI) +struct DetectionROI +{ + //! scale(size) of the bounding box + double scale; + //! set of requrested locations to be evaluated + std::vector locations; + //! vector that will contain confidence values for each location + std::vector confidences; +}; + +/**@brief Implementation of HOG (Histogram of Oriented Gradients) descriptor and object detector. + +the HOG descriptor algorithm introduced by Navneet Dalal and Bill Triggs @cite Dalal2005 . + +useful links: + +https://hal.inria.fr/inria-00548512/document/ + +https://en.wikipedia.org/wiki/Histogram_of_oriented_gradients + +https://software.intel.com/en-us/ipp-dev-reference-histogram-of-oriented-gradients-hog-descriptor + +http://www.learnopencv.com/histogram-of-oriented-gradients + +http://www.learnopencv.com/handwritten-digits-classification-an-opencv-c-python-tutorial + + */ +struct CV_EXPORTS_W HOGDescriptor +{ +public: + enum { L2Hys = 0 //!< Default histogramNormType + }; + enum { DEFAULT_NLEVELS = 64 //!< Default nlevels value. + }; + /**@brief Creates the HOG descriptor and detector with default params. + + aqual to HOGDescriptor(Size(64,128), Size(16,16), Size(8,8), Size(8,8), 9, 1 ) + */ + CV_WRAP HOGDescriptor() : winSize(64,128), blockSize(16,16), blockStride(8,8), + cellSize(8,8), nbins(9), derivAperture(1), winSigma(-1), + histogramNormType(HOGDescriptor::L2Hys), L2HysThreshold(0.2), gammaCorrection(true), + free_coef(-1.f), nlevels(HOGDescriptor::DEFAULT_NLEVELS), signedGradient(false) + {} + + /** @overload + @param _winSize sets winSize with given value. + @param _blockSize sets blockSize with given value. + @param _blockStride sets blockStride with given value. + @param _cellSize sets cellSize with given value. + @param _nbins sets nbins with given value. + @param _derivAperture sets derivAperture with given value. + @param _winSigma sets winSigma with given value. + @param _histogramNormType sets histogramNormType with given value. + @param _L2HysThreshold sets L2HysThreshold with given value. + @param _gammaCorrection sets gammaCorrection with given value. + @param _nlevels sets nlevels with given value. + @param _signedGradient sets signedGradient with given value. + */ + CV_WRAP HOGDescriptor(Size _winSize, Size _blockSize, Size _blockStride, + Size _cellSize, int _nbins, int _derivAperture=1, double _winSigma=-1, + int _histogramNormType=HOGDescriptor::L2Hys, + double _L2HysThreshold=0.2, bool _gammaCorrection=false, + int _nlevels=HOGDescriptor::DEFAULT_NLEVELS, bool _signedGradient=false) + : winSize(_winSize), blockSize(_blockSize), blockStride(_blockStride), cellSize(_cellSize), + nbins(_nbins), derivAperture(_derivAperture), winSigma(_winSigma), + histogramNormType(_histogramNormType), L2HysThreshold(_L2HysThreshold), + gammaCorrection(_gammaCorrection), free_coef(-1.f), nlevels(_nlevels), signedGradient(_signedGradient) + {} + + /** @overload + @param filename the file name containing HOGDescriptor properties and coefficients of the trained classifier + */ + CV_WRAP HOGDescriptor(const String& filename) + { + load(filename); + } + + /** @overload + @param d the HOGDescriptor which cloned to create a new one. + */ + HOGDescriptor(const HOGDescriptor& d) + { + d.copyTo(*this); + } + + /**@brief Default destructor. + */ + virtual ~HOGDescriptor() {} + + /**@brief Returns the number of coefficients required for the classification. + */ + CV_WRAP size_t getDescriptorSize() const; + + /** @brief Checks if detector size equal to descriptor size. + */ + CV_WRAP bool checkDetectorSize() const; + + /** @brief Returns winSigma value + */ + CV_WRAP double getWinSigma() const; + + /**@example peopledetect.cpp + */ + /**@brief Sets coefficients for the linear SVM classifier. + @param _svmdetector coefficients for the linear SVM classifier. + */ + CV_WRAP virtual void setSVMDetector(InputArray _svmdetector); + + /** @brief Reads HOGDescriptor parameters from a file node. + @param fn File node + */ + virtual bool read(FileNode& fn); + + /** @brief Stores HOGDescriptor parameters in a file storage. + @param fs File storage + @param objname Object name + */ + virtual void write(FileStorage& fs, const String& objname) const; + + /** @brief loads coefficients for the linear SVM classifier from a file + @param filename Name of the file to read. + @param objname The optional name of the node to read (if empty, the first top-level node will be used). + */ + CV_WRAP virtual bool load(const String& filename, const String& objname = String()); + + /** @brief saves coefficients for the linear SVM classifier to a file + @param filename File name + @param objname Object name + */ + CV_WRAP virtual void save(const String& filename, const String& objname = String()) const; + + /** @brief clones the HOGDescriptor + @param c cloned HOGDescriptor + */ + virtual void copyTo(HOGDescriptor& c) const; + + /**@example train_HOG.cpp + */ + /** @brief Computes HOG descriptors of given image. + @param img Matrix of the type CV_8U containing an image where HOG features will be calculated. + @param descriptors Matrix of the type CV_32F + @param winStride Window stride. It must be a multiple of block stride. + @param padding Padding + @param locations Vector of Point + */ + CV_WRAP virtual void compute(InputArray img, + CV_OUT std::vector& descriptors, + Size winStride = Size(), Size padding = Size(), + const std::vector& locations = std::vector()) const; + + /** @brief Performs object detection without a multi-scale window. + @param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected. + @param foundLocations Vector of point where each point contains left-top corner point of detected object boundaries. + @param weights Vector that will contain confidence values for each detected object. + @param hitThreshold Threshold for the distance between features and SVM classifying plane. + Usually it is 0 and should be specfied in the detector coefficients (as the last free coefficient). + But if the free coefficient is omitted (which is allowed), you can specify it manually here. + @param winStride Window stride. It must be a multiple of block stride. + @param padding Padding + @param searchLocations Vector of Point includes set of requrested locations to be evaluated. + */ + CV_WRAP virtual void detect(const Mat& img, CV_OUT std::vector& foundLocations, + CV_OUT std::vector& weights, + double hitThreshold = 0, Size winStride = Size(), + Size padding = Size(), + const std::vector& searchLocations = std::vector()) const; + + /** @brief Performs object detection without a multi-scale window. + @param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected. + @param foundLocations Vector of point where each point contains left-top corner point of detected object boundaries. + @param hitThreshold Threshold for the distance between features and SVM classifying plane. + Usually it is 0 and should be specfied in the detector coefficients (as the last free coefficient). + But if the free coefficient is omitted (which is allowed), you can specify it manually here. + @param winStride Window stride. It must be a multiple of block stride. + @param padding Padding + @param searchLocations Vector of Point includes locations to search. + */ + virtual void detect(const Mat& img, CV_OUT std::vector& foundLocations, + double hitThreshold = 0, Size winStride = Size(), + Size padding = Size(), + const std::vector& searchLocations=std::vector()) const; + + /** @brief Detects objects of different sizes in the input image. The detected objects are returned as a list + of rectangles. + @param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected. + @param foundLocations Vector of rectangles where each rectangle contains the detected object. + @param foundWeights Vector that will contain confidence values for each detected object. + @param hitThreshold Threshold for the distance between features and SVM classifying plane. + Usually it is 0 and should be specfied in the detector coefficients (as the last free coefficient). + But if the free coefficient is omitted (which is allowed), you can specify it manually here. + @param winStride Window stride. It must be a multiple of block stride. + @param padding Padding + @param scale Coefficient of the detection window increase. + @param finalThreshold Final threshold + @param useMeanshiftGrouping indicates grouping algorithm + */ + CV_WRAP virtual void detectMultiScale(InputArray img, CV_OUT std::vector& foundLocations, + CV_OUT std::vector& foundWeights, double hitThreshold = 0, + Size winStride = Size(), Size padding = Size(), double scale = 1.05, + double finalThreshold = 2.0,bool useMeanshiftGrouping = false) const; + + /** @brief Detects objects of different sizes in the input image. The detected objects are returned as a list + of rectangles. + @param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected. + @param foundLocations Vector of rectangles where each rectangle contains the detected object. + @param hitThreshold Threshold for the distance between features and SVM classifying plane. + Usually it is 0 and should be specfied in the detector coefficients (as the last free coefficient). + But if the free coefficient is omitted (which is allowed), you can specify it manually here. + @param winStride Window stride. It must be a multiple of block stride. + @param padding Padding + @param scale Coefficient of the detection window increase. + @param finalThreshold Final threshold + @param useMeanshiftGrouping indicates grouping algorithm + */ + virtual void detectMultiScale(InputArray img, CV_OUT std::vector& foundLocations, + double hitThreshold = 0, Size winStride = Size(), + Size padding = Size(), double scale = 1.05, + double finalThreshold = 2.0, bool useMeanshiftGrouping = false) const; + + /** @brief Computes gradients and quantized gradient orientations. + @param img Matrix contains the image to be computed + @param grad Matrix of type CV_32FC2 contains computed gradients + @param angleOfs Matrix of type CV_8UC2 contains quantized gradient orientations + @param paddingTL Padding from top-left + @param paddingBR Padding from bottom-right + */ + CV_WRAP virtual void computeGradient(const Mat& img, CV_OUT Mat& grad, CV_OUT Mat& angleOfs, + Size paddingTL = Size(), Size paddingBR = Size()) const; + + /** @brief Returns coefficients of the classifier trained for people detection (for 64x128 windows). + */ + CV_WRAP static std::vector getDefaultPeopleDetector(); + + /**@example hog.cpp + */ + /** @brief Returns coefficients of the classifier trained for people detection (for 48x96 windows). + */ + CV_WRAP static std::vector getDaimlerPeopleDetector(); + + //! Detection window size. Align to block size and block stride. Default value is Size(64,128). + CV_PROP Size winSize; + + //! Block size in pixels. Align to cell size. Default value is Size(16,16). + CV_PROP Size blockSize; + + //! Block stride. It must be a multiple of cell size. Default value is Size(8,8). + CV_PROP Size blockStride; + + //! Cell size. Default value is Size(8,8). + CV_PROP Size cellSize; + + //! Number of bins used in the calculation of histogram of gradients. Default value is 9. + CV_PROP int nbins; + + //! not documented + CV_PROP int derivAperture; + + //! Gaussian smoothing window parameter. + CV_PROP double winSigma; + + //! histogramNormType + CV_PROP int histogramNormType; + + //! L2-Hys normalization method shrinkage. + CV_PROP double L2HysThreshold; + + //! Flag to specify whether the gamma correction preprocessing is required or not. + CV_PROP bool gammaCorrection; + + //! coefficients for the linear SVM classifier. + CV_PROP std::vector svmDetector; + + //! coefficients for the linear SVM classifier used when OpenCL is enabled + UMat oclSvmDetector; + + //! not documented + float free_coef; + + //! Maximum number of detection window increases. Default value is 64 + CV_PROP int nlevels; + + //! Indicates signed gradient will be used or not + CV_PROP bool signedGradient; + + /** @brief evaluate specified ROI and return confidence value for each location + @param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected. + @param locations Vector of Point + @param foundLocations Vector of Point where each Point is detected object's top-left point. + @param confidences confidences + @param hitThreshold Threshold for the distance between features and SVM classifying plane. Usually + it is 0 and should be specfied in the detector coefficients (as the last free coefficient). But if + the free coefficient is omitted (which is allowed), you can specify it manually here + @param winStride winStride + @param padding padding + */ + virtual void detectROI(const cv::Mat& img, const std::vector &locations, + CV_OUT std::vector& foundLocations, CV_OUT std::vector& confidences, + double hitThreshold = 0, cv::Size winStride = Size(), + cv::Size padding = Size()) const; + + /** @brief evaluate specified ROI and return confidence value for each location in multiple scales + @param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected. + @param foundLocations Vector of rectangles where each rectangle contains the detected object. + @param locations Vector of DetectionROI + @param hitThreshold Threshold for the distance between features and SVM classifying plane. Usually it is 0 and should be specfied + in the detector coefficients (as the last free coefficient). But if the free coefficient is omitted (which is allowed), you can specify it manually here. + @param groupThreshold Minimum possible number of rectangles minus 1. The threshold is used in a group of rectangles to retain it. + */ + virtual void detectMultiScaleROI(const cv::Mat& img, + CV_OUT std::vector& foundLocations, + std::vector& locations, + double hitThreshold = 0, + int groupThreshold = 0) const; + + /** @brief read/parse Dalal's alt model file + @param modelfile Path of Dalal's alt model file. + */ + void readALTModel(String modelfile); + + /** @brief Groups the object candidate rectangles. + @param rectList Input/output vector of rectangles. Output vector includes retained and grouped rectangles. (The Python list is not modified in place.) + @param weights Input/output vector of weights of rectangles. Output vector includes weights of retained and grouped rectangles. (The Python list is not modified in place.) + @param groupThreshold Minimum possible number of rectangles minus 1. The threshold is used in a group of rectangles to retain it. + @param eps Relative difference between sides of the rectangles to merge them into a group. + */ + void groupRectangles(std::vector& rectList, std::vector& weights, int groupThreshold, double eps) const; +}; + +//! @} objdetect + +} + +#include "opencv2/objdetect/detection_based_tracker.hpp" + +#ifndef DISABLE_OPENCV_24_COMPATIBILITY +#include "opencv2/objdetect/objdetect_c.h" +#endif + +#endif diff --git a/app/src/main/cpp/include/opencv2/objdetect/detection_based_tracker.hpp b/app/src/main/cpp/include/opencv2/objdetect/detection_based_tracker.hpp new file mode 100644 index 0000000..07dd587 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/objdetect/detection_based_tracker.hpp @@ -0,0 +1,227 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_OBJDETECT_DBT_HPP +#define OPENCV_OBJDETECT_DBT_HPP + +#include + +// After this condition removal update blacklist for bindings: modules/python/common.cmake +#if defined(__linux__) || defined(LINUX) || defined(__APPLE__) || defined(__ANDROID__) || \ + defined(CV_CXX11) + +#include + +namespace cv +{ + +//! @addtogroup objdetect +//! @{ + +class CV_EXPORTS DetectionBasedTracker +{ + public: + struct CV_EXPORTS Parameters + { + int maxTrackLifetime; + int minDetectionPeriod; //the minimal time between run of the big object detector (on the whole frame) in ms (1000 mean 1 sec), default=0 + + Parameters(); + }; + + class IDetector + { + public: + IDetector(): + minObjSize(96, 96), + maxObjSize(INT_MAX, INT_MAX), + minNeighbours(2), + scaleFactor(1.1f) + {} + + virtual void detect(const cv::Mat& image, std::vector& objects) = 0; + + void setMinObjectSize(const cv::Size& min) + { + minObjSize = min; + } + void setMaxObjectSize(const cv::Size& max) + { + maxObjSize = max; + } + cv::Size getMinObjectSize() const + { + return minObjSize; + } + cv::Size getMaxObjectSize() const + { + return maxObjSize; + } + float getScaleFactor() + { + return scaleFactor; + } + void setScaleFactor(float value) + { + scaleFactor = value; + } + int getMinNeighbours() + { + return minNeighbours; + } + void setMinNeighbours(int value) + { + minNeighbours = value; + } + virtual ~IDetector() {} + + protected: + cv::Size minObjSize; + cv::Size maxObjSize; + int minNeighbours; + float scaleFactor; + }; + + DetectionBasedTracker(cv::Ptr mainDetector, cv::Ptr trackingDetector, const Parameters& params); + virtual ~DetectionBasedTracker(); + + virtual bool run(); + virtual void stop(); + virtual void resetTracking(); + + virtual void process(const cv::Mat& imageGray); + + bool setParameters(const Parameters& params); + const Parameters& getParameters() const; + + + typedef std::pair Object; + virtual void getObjects(std::vector& result) const; + virtual void getObjects(std::vector& result) const; + + enum ObjectStatus + { + DETECTED_NOT_SHOWN_YET, + DETECTED, + DETECTED_TEMPORARY_LOST, + WRONG_OBJECT + }; + struct ExtObject + { + int id; + cv::Rect location; + ObjectStatus status; + ExtObject(int _id, cv::Rect _location, ObjectStatus _status) + :id(_id), location(_location), status(_status) + { + } + }; + virtual void getObjects(std::vector& result) const; + + + virtual int addObject(const cv::Rect& location); //returns id of the new object + + protected: + class SeparateDetectionWork; + cv::Ptr separateDetectionWork; + friend void* workcycleObjectDetectorFunction(void* p); + + struct InnerParameters + { + int numLastPositionsToTrack; + int numStepsToWaitBeforeFirstShow; + int numStepsToTrackWithoutDetectingIfObjectHasNotBeenShown; + int numStepsToShowWithoutDetecting; + + float coeffTrackingWindowSize; + float coeffObjectSizeToTrack; + float coeffObjectSpeedUsingInPrediction; + + InnerParameters(); + }; + Parameters parameters; + InnerParameters innerParameters; + + struct TrackedObject + { + typedef std::vector PositionsVector; + + PositionsVector lastPositions; + + int numDetectedFrames; + int numFramesNotDetected; + int id; + + TrackedObject(const cv::Rect& rect):numDetectedFrames(1), numFramesNotDetected(0) + { + lastPositions.push_back(rect); + id=getNextId(); + }; + + static int getNextId() + { + static int _id=0; + return _id++; + } + }; + + int numTrackedSteps; + std::vector trackedObjects; + + std::vector weightsPositionsSmoothing; + std::vector weightsSizesSmoothing; + + cv::Ptr cascadeForTracking; + + void updateTrackedObjects(const std::vector& detectedObjects); + cv::Rect calcTrackedObjectPositionToShow(int i) const; + cv::Rect calcTrackedObjectPositionToShow(int i, ObjectStatus& status) const; + void detectInRegion(const cv::Mat& img, const cv::Rect& r, std::vector& detectedObjectsInRegions); +}; + +//! @} objdetect + +} //end of cv namespace +#endif + +#endif diff --git a/app/src/main/cpp/include/opencv2/objdetect/objdetect.hpp b/app/src/main/cpp/include/opencv2/objdetect/objdetect.hpp new file mode 100644 index 0000000..3ee284f --- /dev/null +++ b/app/src/main/cpp/include/opencv2/objdetect/objdetect.hpp @@ -0,0 +1,48 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/objdetect.hpp" diff --git a/app/src/main/cpp/include/opencv2/objdetect/objdetect_c.h b/app/src/main/cpp/include/opencv2/objdetect/objdetect_c.h new file mode 100644 index 0000000..67dc2f4 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/objdetect/objdetect_c.h @@ -0,0 +1,166 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_OBJDETECT_C_H +#define OPENCV_OBJDETECT_C_H + +#include "opencv2/core/core_c.h" + +#ifdef __cplusplus +#include +#include + +extern "C" { +#endif + +/** @addtogroup objdetect_c + @{ + */ + +/****************************************************************************************\ +* Haar-like Object Detection functions * +\****************************************************************************************/ + +#define CV_HAAR_MAGIC_VAL 0x42500000 +#define CV_TYPE_NAME_HAAR "opencv-haar-classifier" + +#define CV_IS_HAAR_CLASSIFIER( haar ) \ + ((haar) != NULL && \ + (((const CvHaarClassifierCascade*)(haar))->flags & CV_MAGIC_MASK)==CV_HAAR_MAGIC_VAL) + +#define CV_HAAR_FEATURE_MAX 3 +#define CV_HAAR_STAGE_MAX 1000 + +typedef struct CvHaarFeature +{ + int tilted; + struct + { + CvRect r; + float weight; + } rect[CV_HAAR_FEATURE_MAX]; +} CvHaarFeature; + +typedef struct CvHaarClassifier +{ + int count; + CvHaarFeature* haar_feature; + float* threshold; + int* left; + int* right; + float* alpha; +} CvHaarClassifier; + +typedef struct CvHaarStageClassifier +{ + int count; + float threshold; + CvHaarClassifier* classifier; + + int next; + int child; + int parent; +} CvHaarStageClassifier; + +typedef struct CvHidHaarClassifierCascade CvHidHaarClassifierCascade; + +typedef struct CvHaarClassifierCascade +{ + int flags; + int count; + CvSize orig_window_size; + CvSize real_window_size; + double scale; + CvHaarStageClassifier* stage_classifier; + CvHidHaarClassifierCascade* hid_cascade; +} CvHaarClassifierCascade; + +typedef struct CvAvgComp +{ + CvRect rect; + int neighbors; +} CvAvgComp; + +/* Loads haar classifier cascade from a directory. + It is obsolete: convert your cascade to xml and use cvLoad instead */ +CVAPI(CvHaarClassifierCascade*) cvLoadHaarClassifierCascade( + const char* directory, CvSize orig_window_size); + +CVAPI(void) cvReleaseHaarClassifierCascade( CvHaarClassifierCascade** cascade ); + +#define CV_HAAR_DO_CANNY_PRUNING 1 +#define CV_HAAR_SCALE_IMAGE 2 +#define CV_HAAR_FIND_BIGGEST_OBJECT 4 +#define CV_HAAR_DO_ROUGH_SEARCH 8 + +CVAPI(CvSeq*) cvHaarDetectObjects( const CvArr* image, + CvHaarClassifierCascade* cascade, CvMemStorage* storage, + double scale_factor CV_DEFAULT(1.1), + int min_neighbors CV_DEFAULT(3), int flags CV_DEFAULT(0), + CvSize min_size CV_DEFAULT(cvSize(0,0)), CvSize max_size CV_DEFAULT(cvSize(0,0))); + +/* sets images for haar classifier cascade */ +CVAPI(void) cvSetImagesForHaarClassifierCascade( CvHaarClassifierCascade* cascade, + const CvArr* sum, const CvArr* sqsum, + const CvArr* tilted_sum, double scale ); + +/* runs the cascade on the specified window */ +CVAPI(int) cvRunHaarClassifierCascade( const CvHaarClassifierCascade* cascade, + CvPoint pt, int start_stage CV_DEFAULT(0)); + +/** @} objdetect_c */ + +#ifdef __cplusplus +} + +CV_EXPORTS CvSeq* cvHaarDetectObjectsForROC( const CvArr* image, + CvHaarClassifierCascade* cascade, CvMemStorage* storage, + std::vector& rejectLevels, std::vector& levelWeightds, + double scale_factor = 1.1, + int min_neighbors = 3, int flags = 0, + CvSize min_size = cvSize(0, 0), CvSize max_size = cvSize(0, 0), + bool outputRejectLevels = false ); + +#endif + +#endif /* OPENCV_OBJDETECT_C_H */ diff --git a/app/src/main/cpp/include/opencv2/opencv.hpp b/app/src/main/cpp/include/opencv2/opencv.hpp new file mode 100644 index 0000000..532d7a3 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/opencv.hpp @@ -0,0 +1,136 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2010, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_ALL_HPP +#define OPENCV_ALL_HPP + +// File that defines what modules where included during the build of OpenCV +// These are purely the defines of the correct HAVE_OPENCV_modulename values +#include "opencv2/opencv_modules.hpp" + +// Then the list of defines is checked to include the correct headers +// Core library is always included --> without no OpenCV functionality available +#include "opencv2/core.hpp" + +// Then the optional modules are checked +#ifdef HAVE_OPENCV_CALIB3D +#include "opencv2/calib3d.hpp" +#endif +#ifdef HAVE_OPENCV_FEATURES2D +#include "opencv2/features2d.hpp" +#endif +#ifdef HAVE_OPENCV_FLANN +#include "opencv2/flann.hpp" +#endif +#ifdef HAVE_OPENCV_HIGHGUI +#include "opencv2/highgui.hpp" +#endif +#ifdef HAVE_OPENCV_IMGCODECS +#include "opencv2/imgcodecs.hpp" +#endif +#ifdef HAVE_OPENCV_IMGPROC +#include "opencv2/imgproc.hpp" +#endif +#ifdef HAVE_OPENCV_ML +#include "opencv2/ml.hpp" +#endif +#ifdef HAVE_OPENCV_OBJDETECT +#include "opencv2/objdetect.hpp" +#endif +#ifdef HAVE_OPENCV_PHOTO +#include "opencv2/photo.hpp" +#endif +#ifdef HAVE_OPENCV_SHAPE +#include "opencv2/shape.hpp" +#endif +#ifdef HAVE_OPENCV_STITCHING +#include "opencv2/stitching.hpp" +#endif +#ifdef HAVE_OPENCV_SUPERRES +#include "opencv2/superres.hpp" +#endif +#ifdef HAVE_OPENCV_VIDEO +#include "opencv2/video.hpp" +#endif +#ifdef HAVE_OPENCV_VIDEOIO +#include "opencv2/videoio.hpp" +#endif +#ifdef HAVE_OPENCV_VIDEOSTAB +#include "opencv2/videostab.hpp" +#endif +#ifdef HAVE_OPENCV_VIZ +#include "opencv2/viz.hpp" +#endif + +// Finally CUDA specific entries are checked and added +#ifdef HAVE_OPENCV_CUDAARITHM +#include "opencv2/cudaarithm.hpp" +#endif +#ifdef HAVE_OPENCV_CUDABGSEGM +#include "opencv2/cudabgsegm.hpp" +#endif +#ifdef HAVE_OPENCV_CUDACODEC +#include "opencv2/cudacodec.hpp" +#endif +#ifdef HAVE_OPENCV_CUDAFEATURES2D +#include "opencv2/cudafeatures2d.hpp" +#endif +#ifdef HAVE_OPENCV_CUDAFILTERS +#include "opencv2/cudafilters.hpp" +#endif +#ifdef HAVE_OPENCV_CUDAIMGPROC +#include "opencv2/cudaimgproc.hpp" +#endif +#ifdef HAVE_OPENCV_CUDAOBJDETECT +#include "opencv2/cudaobjdetect.hpp" +#endif +#ifdef HAVE_OPENCV_CUDAOPTFLOW +#include "opencv2/cudaoptflow.hpp" +#endif +#ifdef HAVE_OPENCV_CUDASTEREO +#include "opencv2/cudastereo.hpp" +#endif +#ifdef HAVE_OPENCV_CUDAWARPING +#include "opencv2/cudawarping.hpp" +#endif + +#endif diff --git a/app/src/main/cpp/include/opencv2/opencv_modules.hpp b/app/src/main/cpp/include/opencv2/opencv_modules.hpp new file mode 100644 index 0000000..e14f3ec --- /dev/null +++ b/app/src/main/cpp/include/opencv2/opencv_modules.hpp @@ -0,0 +1,31 @@ +/* + * ** File generated automatically, do not modify ** + * + * This file defines the list of modules available in current build configuration + * + * +*/ + +// This definition means that OpenCV is built with enabled non-free code. +// For example, patented algorithms for non-profit/non-commercial use only. +/* #undef OPENCV_ENABLE_NONFREE */ + +#define HAVE_OPENCV_CALIB3D +#define HAVE_OPENCV_CORE +#define HAVE_OPENCV_DNN +#define HAVE_OPENCV_FEATURES2D +#define HAVE_OPENCV_FLANN +#define HAVE_OPENCV_HIGHGUI +#define HAVE_OPENCV_IMGCODECS +#define HAVE_OPENCV_IMGPROC +#define HAVE_OPENCV_ML +#define HAVE_OPENCV_OBJDETECT +#define HAVE_OPENCV_PHOTO +#define HAVE_OPENCV_SHAPE +#define HAVE_OPENCV_STITCHING +#define HAVE_OPENCV_SUPERRES +#define HAVE_OPENCV_VIDEO +#define HAVE_OPENCV_VIDEOIO +#define HAVE_OPENCV_VIDEOSTAB + + diff --git a/app/src/main/cpp/include/opencv2/photo.hpp b/app/src/main/cpp/include/opencv2/photo.hpp new file mode 100644 index 0000000..6651ac8 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/photo.hpp @@ -0,0 +1,876 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2008-2012, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_PHOTO_HPP +#define OPENCV_PHOTO_HPP + +#include "opencv2/core.hpp" +#include "opencv2/imgproc.hpp" + +/** +@defgroup photo Computational Photography +@{ + @defgroup photo_denoise Denoising + @defgroup photo_hdr HDR imaging + +This section describes high dynamic range imaging algorithms namely tonemapping, exposure alignment, +camera calibration with multiple exposures and exposure fusion. + + @defgroup photo_clone Seamless Cloning + @defgroup photo_render Non-Photorealistic Rendering + @defgroup photo_c C API +@} + */ + +namespace cv +{ + +//! @addtogroup photo +//! @{ + +//! the inpainting algorithm +enum +{ + INPAINT_NS = 0, // Navier-Stokes algorithm + INPAINT_TELEA = 1 // A. Telea algorithm +}; + +enum +{ + NORMAL_CLONE = 1, + MIXED_CLONE = 2, + MONOCHROME_TRANSFER = 3 +}; + +enum +{ + RECURS_FILTER = 1, + NORMCONV_FILTER = 2 +}; + +/** @brief Restores the selected region in an image using the region neighborhood. + +@param src Input 8-bit, 16-bit unsigned or 32-bit float 1-channel or 8-bit 3-channel image. +@param inpaintMask Inpainting mask, 8-bit 1-channel image. Non-zero pixels indicate the area that +needs to be inpainted. +@param dst Output image with the same size and type as src . +@param inpaintRadius Radius of a circular neighborhood of each point inpainted that is considered +by the algorithm. +@param flags Inpainting method that could be one of the following: +- **INPAINT_NS** Navier-Stokes based method [Navier01] +- **INPAINT_TELEA** Method by Alexandru Telea @cite Telea04 . + +The function reconstructs the selected image area from the pixel near the area boundary. The +function may be used to remove dust and scratches from a scanned photo, or to remove undesirable +objects from still images or video. See for more details. + +@note + - An example using the inpainting technique can be found at + opencv_source_code/samples/cpp/inpaint.cpp + - (Python) An example using the inpainting technique can be found at + opencv_source_code/samples/python/inpaint.py + */ +CV_EXPORTS_W void inpaint( InputArray src, InputArray inpaintMask, + OutputArray dst, double inpaintRadius, int flags ); + +//! @addtogroup photo_denoise +//! @{ + +/** @brief Perform image denoising using Non-local Means Denoising algorithm + with several computational +optimizations. Noise expected to be a gaussian white noise + +@param src Input 8-bit 1-channel, 2-channel, 3-channel or 4-channel image. +@param dst Output image with the same size and type as src . +@param templateWindowSize Size in pixels of the template patch that is used to compute weights. +Should be odd. Recommended value 7 pixels +@param searchWindowSize Size in pixels of the window that is used to compute weighted average for +given pixel. Should be odd. Affect performance linearly: greater searchWindowsSize - greater +denoising time. Recommended value 21 pixels +@param h Parameter regulating filter strength. Big h value perfectly removes noise but also +removes image details, smaller h value preserves details but also preserves some noise + +This function expected to be applied to grayscale images. For colored images look at +fastNlMeansDenoisingColored. Advanced usage of this functions can be manual denoising of colored +image in different colorspaces. Such approach is used in fastNlMeansDenoisingColored by converting +image to CIELAB colorspace and then separately denoise L and AB components with different h +parameter. + */ +CV_EXPORTS_W void fastNlMeansDenoising( InputArray src, OutputArray dst, float h = 3, + int templateWindowSize = 7, int searchWindowSize = 21); + +/** @brief Perform image denoising using Non-local Means Denoising algorithm + with several computational +optimizations. Noise expected to be a gaussian white noise + +@param src Input 8-bit or 16-bit (only with NORM_L1) 1-channel, +2-channel, 3-channel or 4-channel image. +@param dst Output image with the same size and type as src . +@param templateWindowSize Size in pixels of the template patch that is used to compute weights. +Should be odd. Recommended value 7 pixels +@param searchWindowSize Size in pixels of the window that is used to compute weighted average for +given pixel. Should be odd. Affect performance linearly: greater searchWindowsSize - greater +denoising time. Recommended value 21 pixels +@param h Array of parameters regulating filter strength, either one +parameter applied to all channels or one per channel in dst. Big h value +perfectly removes noise but also removes image details, smaller h +value preserves details but also preserves some noise +@param normType Type of norm used for weight calculation. Can be either NORM_L2 or NORM_L1 + +This function expected to be applied to grayscale images. For colored images look at +fastNlMeansDenoisingColored. Advanced usage of this functions can be manual denoising of colored +image in different colorspaces. Such approach is used in fastNlMeansDenoisingColored by converting +image to CIELAB colorspace and then separately denoise L and AB components with different h +parameter. + */ +CV_EXPORTS_W void fastNlMeansDenoising( InputArray src, OutputArray dst, + const std::vector& h, + int templateWindowSize = 7, int searchWindowSize = 21, + int normType = NORM_L2); + +/** @brief Modification of fastNlMeansDenoising function for colored images + +@param src Input 8-bit 3-channel image. +@param dst Output image with the same size and type as src . +@param templateWindowSize Size in pixels of the template patch that is used to compute weights. +Should be odd. Recommended value 7 pixels +@param searchWindowSize Size in pixels of the window that is used to compute weighted average for +given pixel. Should be odd. Affect performance linearly: greater searchWindowsSize - greater +denoising time. Recommended value 21 pixels +@param h Parameter regulating filter strength for luminance component. Bigger h value perfectly +removes noise but also removes image details, smaller h value preserves details but also preserves +some noise +@param hColor The same as h but for color components. For most images value equals 10 +will be enough to remove colored noise and do not distort colors + +The function converts image to CIELAB colorspace and then separately denoise L and AB components +with given h parameters using fastNlMeansDenoising function. + */ +CV_EXPORTS_W void fastNlMeansDenoisingColored( InputArray src, OutputArray dst, + float h = 3, float hColor = 3, + int templateWindowSize = 7, int searchWindowSize = 21); + +/** @brief Modification of fastNlMeansDenoising function for images sequence where consequtive images have been +captured in small period of time. For example video. This version of the function is for grayscale +images or for manual manipulation with colorspaces. For more details see + + +@param srcImgs Input 8-bit 1-channel, 2-channel, 3-channel or +4-channel images sequence. All images should have the same type and +size. +@param imgToDenoiseIndex Target image to denoise index in srcImgs sequence +@param temporalWindowSize Number of surrounding images to use for target image denoising. Should +be odd. Images from imgToDenoiseIndex - temporalWindowSize / 2 to +imgToDenoiseIndex - temporalWindowSize / 2 from srcImgs will be used to denoise +srcImgs[imgToDenoiseIndex] image. +@param dst Output image with the same size and type as srcImgs images. +@param templateWindowSize Size in pixels of the template patch that is used to compute weights. +Should be odd. Recommended value 7 pixels +@param searchWindowSize Size in pixels of the window that is used to compute weighted average for +given pixel. Should be odd. Affect performance linearly: greater searchWindowsSize - greater +denoising time. Recommended value 21 pixels +@param h Parameter regulating filter strength. Bigger h value +perfectly removes noise but also removes image details, smaller h +value preserves details but also preserves some noise + */ +CV_EXPORTS_W void fastNlMeansDenoisingMulti( InputArrayOfArrays srcImgs, OutputArray dst, + int imgToDenoiseIndex, int temporalWindowSize, + float h = 3, int templateWindowSize = 7, int searchWindowSize = 21); + +/** @brief Modification of fastNlMeansDenoising function for images sequence where consequtive images have been +captured in small period of time. For example video. This version of the function is for grayscale +images or for manual manipulation with colorspaces. For more details see + + +@param srcImgs Input 8-bit or 16-bit (only with NORM_L1) 1-channel, +2-channel, 3-channel or 4-channel images sequence. All images should +have the same type and size. +@param imgToDenoiseIndex Target image to denoise index in srcImgs sequence +@param temporalWindowSize Number of surrounding images to use for target image denoising. Should +be odd. Images from imgToDenoiseIndex - temporalWindowSize / 2 to +imgToDenoiseIndex - temporalWindowSize / 2 from srcImgs will be used to denoise +srcImgs[imgToDenoiseIndex] image. +@param dst Output image with the same size and type as srcImgs images. +@param templateWindowSize Size in pixels of the template patch that is used to compute weights. +Should be odd. Recommended value 7 pixels +@param searchWindowSize Size in pixels of the window that is used to compute weighted average for +given pixel. Should be odd. Affect performance linearly: greater searchWindowsSize - greater +denoising time. Recommended value 21 pixels +@param h Array of parameters regulating filter strength, either one +parameter applied to all channels or one per channel in dst. Big h value +perfectly removes noise but also removes image details, smaller h +value preserves details but also preserves some noise +@param normType Type of norm used for weight calculation. Can be either NORM_L2 or NORM_L1 + */ +CV_EXPORTS_W void fastNlMeansDenoisingMulti( InputArrayOfArrays srcImgs, OutputArray dst, + int imgToDenoiseIndex, int temporalWindowSize, + const std::vector& h, + int templateWindowSize = 7, int searchWindowSize = 21, + int normType = NORM_L2); + +/** @brief Modification of fastNlMeansDenoisingMulti function for colored images sequences + +@param srcImgs Input 8-bit 3-channel images sequence. All images should have the same type and +size. +@param imgToDenoiseIndex Target image to denoise index in srcImgs sequence +@param temporalWindowSize Number of surrounding images to use for target image denoising. Should +be odd. Images from imgToDenoiseIndex - temporalWindowSize / 2 to +imgToDenoiseIndex - temporalWindowSize / 2 from srcImgs will be used to denoise +srcImgs[imgToDenoiseIndex] image. +@param dst Output image with the same size and type as srcImgs images. +@param templateWindowSize Size in pixels of the template patch that is used to compute weights. +Should be odd. Recommended value 7 pixels +@param searchWindowSize Size in pixels of the window that is used to compute weighted average for +given pixel. Should be odd. Affect performance linearly: greater searchWindowsSize - greater +denoising time. Recommended value 21 pixels +@param h Parameter regulating filter strength for luminance component. Bigger h value perfectly +removes noise but also removes image details, smaller h value preserves details but also preserves +some noise. +@param hColor The same as h but for color components. + +The function converts images to CIELAB colorspace and then separately denoise L and AB components +with given h parameters using fastNlMeansDenoisingMulti function. + */ +CV_EXPORTS_W void fastNlMeansDenoisingColoredMulti( InputArrayOfArrays srcImgs, OutputArray dst, + int imgToDenoiseIndex, int temporalWindowSize, + float h = 3, float hColor = 3, + int templateWindowSize = 7, int searchWindowSize = 21); + +/** @brief Primal-dual algorithm is an algorithm for solving special types of variational problems (that is, +finding a function to minimize some functional). As the image denoising, in particular, may be seen +as the variational problem, primal-dual algorithm then can be used to perform denoising and this is +exactly what is implemented. + +It should be noted, that this implementation was taken from the July 2013 blog entry +@cite MA13 , which also contained (slightly more general) ready-to-use source code on Python. +Subsequently, that code was rewritten on C++ with the usage of openCV by Vadim Pisarevsky at the end +of July 2013 and finally it was slightly adapted by later authors. + +Although the thorough discussion and justification of the algorithm involved may be found in +@cite ChambolleEtAl, it might make sense to skim over it here, following @cite MA13 . To begin +with, we consider the 1-byte gray-level images as the functions from the rectangular domain of +pixels (it may be seen as set +\f$\left\{(x,y)\in\mathbb{N}\times\mathbb{N}\mid 1\leq x\leq n,\;1\leq y\leq m\right\}\f$ for some +\f$m,\;n\in\mathbb{N}\f$) into \f$\{0,1,\dots,255\}\f$. We shall denote the noised images as \f$f_i\f$ and with +this view, given some image \f$x\f$ of the same size, we may measure how bad it is by the formula + +\f[\left\|\left\|\nabla x\right\|\right\| + \lambda\sum_i\left\|\left\|x-f_i\right\|\right\|\f] + +\f$\|\|\cdot\|\|\f$ here denotes \f$L_2\f$-norm and as you see, the first addend states that we want our +image to be smooth (ideally, having zero gradient, thus being constant) and the second states that +we want our result to be close to the observations we've got. If we treat \f$x\f$ as a function, this is +exactly the functional what we seek to minimize and here the Primal-Dual algorithm comes into play. + +@param observations This array should contain one or more noised versions of the image that is to +be restored. +@param result Here the denoised image will be stored. There is no need to do pre-allocation of +storage space, as it will be automatically allocated, if necessary. +@param lambda Corresponds to \f$\lambda\f$ in the formulas above. As it is enlarged, the smooth +(blurred) images are treated more favorably than detailed (but maybe more noised) ones. Roughly +speaking, as it becomes smaller, the result will be more blur but more sever outliers will be +removed. +@param niters Number of iterations that the algorithm will run. Of course, as more iterations as +better, but it is hard to quantitatively refine this statement, so just use the default and +increase it if the results are poor. + */ +CV_EXPORTS_W void denoise_TVL1(const std::vector& observations,Mat& result, double lambda=1.0, int niters=30); + +//! @} photo_denoise + +//! @addtogroup photo_hdr +//! @{ + +enum { LDR_SIZE = 256 }; + +/** @brief Base class for tonemapping algorithms - tools that are used to map HDR image to 8-bit range. + */ +class CV_EXPORTS_W Tonemap : public Algorithm +{ +public: + /** @brief Tonemaps image + + @param src source image - 32-bit 3-channel Mat + @param dst destination image - 32-bit 3-channel Mat with values in [0, 1] range + */ + CV_WRAP virtual void process(InputArray src, OutputArray dst) = 0; + + CV_WRAP virtual float getGamma() const = 0; + CV_WRAP virtual void setGamma(float gamma) = 0; +}; + +/** @brief Creates simple linear mapper with gamma correction + +@param gamma positive value for gamma correction. Gamma value of 1.0 implies no correction, gamma +equal to 2.2f is suitable for most displays. +Generally gamma \> 1 brightens the image and gamma \< 1 darkens it. + */ +CV_EXPORTS_W Ptr createTonemap(float gamma = 1.0f); + +/** @brief Adaptive logarithmic mapping is a fast global tonemapping algorithm that scales the image in +logarithmic domain. + +Since it's a global operator the same function is applied to all the pixels, it is controlled by the +bias parameter. + +Optional saturation enhancement is possible as described in @cite FL02 . + +For more information see @cite DM03 . + */ +class CV_EXPORTS_W TonemapDrago : public Tonemap +{ +public: + + CV_WRAP virtual float getSaturation() const = 0; + CV_WRAP virtual void setSaturation(float saturation) = 0; + + CV_WRAP virtual float getBias() const = 0; + CV_WRAP virtual void setBias(float bias) = 0; +}; + +/** @brief Creates TonemapDrago object + +@param gamma gamma value for gamma correction. See createTonemap +@param saturation positive saturation enhancement value. 1.0 preserves saturation, values greater +than 1 increase saturation and values less than 1 decrease it. +@param bias value for bias function in [0, 1] range. Values from 0.7 to 0.9 usually give best +results, default value is 0.85. + */ +CV_EXPORTS_W Ptr createTonemapDrago(float gamma = 1.0f, float saturation = 1.0f, float bias = 0.85f); + +/** @brief This algorithm decomposes image into two layers: base layer and detail layer using bilateral filter +and compresses contrast of the base layer thus preserving all the details. + +This implementation uses regular bilateral filter from opencv. + +Saturation enhancement is possible as in ocvTonemapDrago. + +For more information see @cite DD02 . + */ +class CV_EXPORTS_W TonemapDurand : public Tonemap +{ +public: + + CV_WRAP virtual float getSaturation() const = 0; + CV_WRAP virtual void setSaturation(float saturation) = 0; + + CV_WRAP virtual float getContrast() const = 0; + CV_WRAP virtual void setContrast(float contrast) = 0; + + CV_WRAP virtual float getSigmaSpace() const = 0; + CV_WRAP virtual void setSigmaSpace(float sigma_space) = 0; + + CV_WRAP virtual float getSigmaColor() const = 0; + CV_WRAP virtual void setSigmaColor(float sigma_color) = 0; +}; + +/** @brief Creates TonemapDurand object + +@param gamma gamma value for gamma correction. See createTonemap +@param contrast resulting contrast on logarithmic scale, i. e. log(max / min), where max and min +are maximum and minimum luminance values of the resulting image. +@param saturation saturation enhancement value. See createTonemapDrago +@param sigma_space bilateral filter sigma in color space +@param sigma_color bilateral filter sigma in coordinate space + */ +CV_EXPORTS_W Ptr +createTonemapDurand(float gamma = 1.0f, float contrast = 4.0f, float saturation = 1.0f, float sigma_space = 2.0f, float sigma_color = 2.0f); + +/** @brief This is a global tonemapping operator that models human visual system. + +Mapping function is controlled by adaptation parameter, that is computed using light adaptation and +color adaptation. + +For more information see @cite RD05 . + */ +class CV_EXPORTS_W TonemapReinhard : public Tonemap +{ +public: + CV_WRAP virtual float getIntensity() const = 0; + CV_WRAP virtual void setIntensity(float intensity) = 0; + + CV_WRAP virtual float getLightAdaptation() const = 0; + CV_WRAP virtual void setLightAdaptation(float light_adapt) = 0; + + CV_WRAP virtual float getColorAdaptation() const = 0; + CV_WRAP virtual void setColorAdaptation(float color_adapt) = 0; +}; + +/** @brief Creates TonemapReinhard object + +@param gamma gamma value for gamma correction. See createTonemap +@param intensity result intensity in [-8, 8] range. Greater intensity produces brighter results. +@param light_adapt light adaptation in [0, 1] range. If 1 adaptation is based only on pixel +value, if 0 it's global, otherwise it's a weighted mean of this two cases. +@param color_adapt chromatic adaptation in [0, 1] range. If 1 channels are treated independently, +if 0 adaptation level is the same for each channel. + */ +CV_EXPORTS_W Ptr +createTonemapReinhard(float gamma = 1.0f, float intensity = 0.0f, float light_adapt = 1.0f, float color_adapt = 0.0f); + +/** @brief This algorithm transforms image to contrast using gradients on all levels of gaussian pyramid, +transforms contrast values to HVS response and scales the response. After this the image is +reconstructed from new contrast values. + +For more information see @cite MM06 . + */ +class CV_EXPORTS_W TonemapMantiuk : public Tonemap +{ +public: + CV_WRAP virtual float getScale() const = 0; + CV_WRAP virtual void setScale(float scale) = 0; + + CV_WRAP virtual float getSaturation() const = 0; + CV_WRAP virtual void setSaturation(float saturation) = 0; +}; + +/** @brief Creates TonemapMantiuk object + +@param gamma gamma value for gamma correction. See createTonemap +@param scale contrast scale factor. HVS response is multiplied by this parameter, thus compressing +dynamic range. Values from 0.6 to 0.9 produce best results. +@param saturation saturation enhancement value. See createTonemapDrago + */ +CV_EXPORTS_W Ptr +createTonemapMantiuk(float gamma = 1.0f, float scale = 0.7f, float saturation = 1.0f); + +/** @brief The base class for algorithms that align images of the same scene with different exposures + */ +class CV_EXPORTS_W AlignExposures : public Algorithm +{ +public: + /** @brief Aligns images + + @param src vector of input images + @param dst vector of aligned images + @param times vector of exposure time values for each image + @param response 256x1 matrix with inverse camera response function for each pixel value, it should + have the same number of channels as images. + */ + CV_WRAP virtual void process(InputArrayOfArrays src, std::vector& dst, + InputArray times, InputArray response) = 0; +}; + +/** @brief This algorithm converts images to median threshold bitmaps (1 for pixels brighter than median +luminance and 0 otherwise) and than aligns the resulting bitmaps using bit operations. + +It is invariant to exposure, so exposure values and camera response are not necessary. + +In this implementation new image regions are filled with zeros. + +For more information see @cite GW03 . + */ +class CV_EXPORTS_W AlignMTB : public AlignExposures +{ +public: + CV_WRAP virtual void process(InputArrayOfArrays src, std::vector& dst, + InputArray times, InputArray response) = 0; + + /** @brief Short version of process, that doesn't take extra arguments. + + @param src vector of input images + @param dst vector of aligned images + */ + CV_WRAP virtual void process(InputArrayOfArrays src, std::vector& dst) = 0; + + /** @brief Calculates shift between two images, i. e. how to shift the second image to correspond it with the + first. + + @param img0 first image + @param img1 second image + */ + CV_WRAP virtual Point calculateShift(InputArray img0, InputArray img1) = 0; + /** @brief Helper function, that shift Mat filling new regions with zeros. + + @param src input image + @param dst result image + @param shift shift value + */ + CV_WRAP virtual void shiftMat(InputArray src, OutputArray dst, const Point shift) = 0; + /** @brief Computes median threshold and exclude bitmaps of given image. + + @param img input image + @param tb median threshold bitmap + @param eb exclude bitmap + */ + CV_WRAP virtual void computeBitmaps(InputArray img, OutputArray tb, OutputArray eb) = 0; + + CV_WRAP virtual int getMaxBits() const = 0; + CV_WRAP virtual void setMaxBits(int max_bits) = 0; + + CV_WRAP virtual int getExcludeRange() const = 0; + CV_WRAP virtual void setExcludeRange(int exclude_range) = 0; + + CV_WRAP virtual bool getCut() const = 0; + CV_WRAP virtual void setCut(bool value) = 0; +}; + +/** @brief Creates AlignMTB object + +@param max_bits logarithm to the base 2 of maximal shift in each dimension. Values of 5 and 6 are +usually good enough (31 and 63 pixels shift respectively). +@param exclude_range range for exclusion bitmap that is constructed to suppress noise around the +median value. +@param cut if true cuts images, otherwise fills the new regions with zeros. + */ +CV_EXPORTS_W Ptr createAlignMTB(int max_bits = 6, int exclude_range = 4, bool cut = true); + +/** @brief The base class for camera response calibration algorithms. + */ +class CV_EXPORTS_W CalibrateCRF : public Algorithm +{ +public: + /** @brief Recovers inverse camera response. + + @param src vector of input images + @param dst 256x1 matrix with inverse camera response function + @param times vector of exposure time values for each image + */ + CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, InputArray times) = 0; +}; + +/** @brief Inverse camera response function is extracted for each brightness value by minimizing an objective +function as linear system. Objective function is constructed using pixel values on the same position +in all images, extra term is added to make the result smoother. + +For more information see @cite DM97 . + */ +class CV_EXPORTS_W CalibrateDebevec : public CalibrateCRF +{ +public: + CV_WRAP virtual float getLambda() const = 0; + CV_WRAP virtual void setLambda(float lambda) = 0; + + CV_WRAP virtual int getSamples() const = 0; + CV_WRAP virtual void setSamples(int samples) = 0; + + CV_WRAP virtual bool getRandom() const = 0; + CV_WRAP virtual void setRandom(bool random) = 0; +}; + +/** @brief Creates CalibrateDebevec object + +@param samples number of pixel locations to use +@param lambda smoothness term weight. Greater values produce smoother results, but can alter the +response. +@param random if true sample pixel locations are chosen at random, otherwise they form a +rectangular grid. + */ +CV_EXPORTS_W Ptr createCalibrateDebevec(int samples = 70, float lambda = 10.0f, bool random = false); + +/** @brief Inverse camera response function is extracted for each brightness value by minimizing an objective +function as linear system. This algorithm uses all image pixels. + +For more information see @cite RB99 . + */ +class CV_EXPORTS_W CalibrateRobertson : public CalibrateCRF +{ +public: + CV_WRAP virtual int getMaxIter() const = 0; + CV_WRAP virtual void setMaxIter(int max_iter) = 0; + + CV_WRAP virtual float getThreshold() const = 0; + CV_WRAP virtual void setThreshold(float threshold) = 0; + + CV_WRAP virtual Mat getRadiance() const = 0; +}; + +/** @brief Creates CalibrateRobertson object + +@param max_iter maximal number of Gauss-Seidel solver iterations. +@param threshold target difference between results of two successive steps of the minimization. + */ +CV_EXPORTS_W Ptr createCalibrateRobertson(int max_iter = 30, float threshold = 0.01f); + +/** @brief The base class algorithms that can merge exposure sequence to a single image. + */ +class CV_EXPORTS_W MergeExposures : public Algorithm +{ +public: + /** @brief Merges images. + + @param src vector of input images + @param dst result image + @param times vector of exposure time values for each image + @param response 256x1 matrix with inverse camera response function for each pixel value, it should + have the same number of channels as images. + */ + CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, + InputArray times, InputArray response) = 0; +}; + +/** @brief The resulting HDR image is calculated as weighted average of the exposures considering exposure +values and camera response. + +For more information see @cite DM97 . + */ +class CV_EXPORTS_W MergeDebevec : public MergeExposures +{ +public: + CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, + InputArray times, InputArray response) = 0; + CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, InputArray times) = 0; +}; + +/** @brief Creates MergeDebevec object + */ +CV_EXPORTS_W Ptr createMergeDebevec(); + +/** @brief Pixels are weighted using contrast, saturation and well-exposedness measures, than images are +combined using laplacian pyramids. + +The resulting image weight is constructed as weighted average of contrast, saturation and +well-exposedness measures. + +The resulting image doesn't require tonemapping and can be converted to 8-bit image by multiplying +by 255, but it's recommended to apply gamma correction and/or linear tonemapping. + +For more information see @cite MK07 . + */ +class CV_EXPORTS_W MergeMertens : public MergeExposures +{ +public: + CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, + InputArray times, InputArray response) = 0; + /** @brief Short version of process, that doesn't take extra arguments. + + @param src vector of input images + @param dst result image + */ + CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst) = 0; + + CV_WRAP virtual float getContrastWeight() const = 0; + CV_WRAP virtual void setContrastWeight(float contrast_weiht) = 0; + + CV_WRAP virtual float getSaturationWeight() const = 0; + CV_WRAP virtual void setSaturationWeight(float saturation_weight) = 0; + + CV_WRAP virtual float getExposureWeight() const = 0; + CV_WRAP virtual void setExposureWeight(float exposure_weight) = 0; +}; + +/** @brief Creates MergeMertens object + +@param contrast_weight contrast measure weight. See MergeMertens. +@param saturation_weight saturation measure weight +@param exposure_weight well-exposedness measure weight + */ +CV_EXPORTS_W Ptr +createMergeMertens(float contrast_weight = 1.0f, float saturation_weight = 1.0f, float exposure_weight = 0.0f); + +/** @brief The resulting HDR image is calculated as weighted average of the exposures considering exposure +values and camera response. + +For more information see @cite RB99 . + */ +class CV_EXPORTS_W MergeRobertson : public MergeExposures +{ +public: + CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, + InputArray times, InputArray response) = 0; + CV_WRAP virtual void process(InputArrayOfArrays src, OutputArray dst, InputArray times) = 0; +}; + +/** @brief Creates MergeRobertson object + */ +CV_EXPORTS_W Ptr createMergeRobertson(); + +//! @} photo_hdr + +/** @brief Transforms a color image to a grayscale image. It is a basic tool in digital printing, stylized +black-and-white photograph rendering, and in many single channel image processing applications +@cite CL12 . + +@param src Input 8-bit 3-channel image. +@param grayscale Output 8-bit 1-channel image. +@param color_boost Output 8-bit 3-channel image. + +This function is to be applied on color images. + */ +CV_EXPORTS_W void decolor( InputArray src, OutputArray grayscale, OutputArray color_boost); + +//! @addtogroup photo_clone +//! @{ + +/** @example cloning_demo.cpp +An example using seamlessClone function +*/ +/** @brief Image editing tasks concern either global changes (color/intensity corrections, filters, +deformations) or local changes concerned to a selection. Here we are interested in achieving local +changes, ones that are restricted to a region manually selected (ROI), in a seamless and effortless +manner. The extent of the changes ranges from slight distortions to complete replacement by novel +content @cite PM03 . + +@param src Input 8-bit 3-channel image. +@param dst Input 8-bit 3-channel image. +@param mask Input 8-bit 1 or 3-channel image. +@param p Point in dst image where object is placed. +@param blend Output image with the same size and type as dst. +@param flags Cloning method that could be one of the following: +- **NORMAL_CLONE** The power of the method is fully expressed when inserting objects with +complex outlines into a new background +- **MIXED_CLONE** The classic method, color-based selection and alpha masking might be time +consuming and often leaves an undesirable halo. Seamless cloning, even averaged with the +original image, is not effective. Mixed seamless cloning based on a loose selection proves +effective. +- **MONOCHROME_TRANSFER** Monochrome transfer allows the user to easily replace certain features of +one object by alternative features. + */ +CV_EXPORTS_W void seamlessClone( InputArray src, InputArray dst, InputArray mask, Point p, + OutputArray blend, int flags); + +/** @brief Given an original color image, two differently colored versions of this image can be mixed +seamlessly. + +@param src Input 8-bit 3-channel image. +@param mask Input 8-bit 1 or 3-channel image. +@param dst Output image with the same size and type as src . +@param red_mul R-channel multiply factor. +@param green_mul G-channel multiply factor. +@param blue_mul B-channel multiply factor. + +Multiplication factor is between .5 to 2.5. + */ +CV_EXPORTS_W void colorChange(InputArray src, InputArray mask, OutputArray dst, float red_mul = 1.0f, + float green_mul = 1.0f, float blue_mul = 1.0f); + +/** @brief Applying an appropriate non-linear transformation to the gradient field inside the selection and +then integrating back with a Poisson solver, modifies locally the apparent illumination of an image. + +@param src Input 8-bit 3-channel image. +@param mask Input 8-bit 1 or 3-channel image. +@param dst Output image with the same size and type as src. +@param alpha Value ranges between 0-2. +@param beta Value ranges between 0-2. + +This is useful to highlight under-exposed foreground objects or to reduce specular reflections. + */ +CV_EXPORTS_W void illuminationChange(InputArray src, InputArray mask, OutputArray dst, + float alpha = 0.2f, float beta = 0.4f); + +/** @brief By retaining only the gradients at edge locations, before integrating with the Poisson solver, one +washes out the texture of the selected region, giving its contents a flat aspect. Here Canny Edge +Detector is used. + +@param src Input 8-bit 3-channel image. +@param mask Input 8-bit 1 or 3-channel image. +@param dst Output image with the same size and type as src. +@param low_threshold Range from 0 to 100. +@param high_threshold Value \> 100. +@param kernel_size The size of the Sobel kernel to be used. + +**NOTE:** + +The algorithm assumes that the color of the source image is close to that of the destination. This +assumption means that when the colors don't match, the source image color gets tinted toward the +color of the destination image. + */ +CV_EXPORTS_W void textureFlattening(InputArray src, InputArray mask, OutputArray dst, + float low_threshold = 30, float high_threshold = 45, + int kernel_size = 3); + +//! @} photo_clone + +//! @addtogroup photo_render +//! @{ + +/** @brief Filtering is the fundamental operation in image and video processing. Edge-preserving smoothing +filters are used in many different applications @cite EM11 . + +@param src Input 8-bit 3-channel image. +@param dst Output 8-bit 3-channel image. +@param flags Edge preserving filters: +- **RECURS_FILTER** = 1 +- **NORMCONV_FILTER** = 2 +@param sigma_s Range between 0 to 200. +@param sigma_r Range between 0 to 1. + */ +CV_EXPORTS_W void edgePreservingFilter(InputArray src, OutputArray dst, int flags = 1, + float sigma_s = 60, float sigma_r = 0.4f); + +/** @brief This filter enhances the details of a particular image. + +@param src Input 8-bit 3-channel image. +@param dst Output image with the same size and type as src. +@param sigma_s Range between 0 to 200. +@param sigma_r Range between 0 to 1. + */ +CV_EXPORTS_W void detailEnhance(InputArray src, OutputArray dst, float sigma_s = 10, + float sigma_r = 0.15f); + +/** @example npr_demo.cpp +An example using non-photorealistic line drawing functions +*/ +/** @brief Pencil-like non-photorealistic line drawing + +@param src Input 8-bit 3-channel image. +@param dst1 Output 8-bit 1-channel image. +@param dst2 Output image with the same size and type as src. +@param sigma_s Range between 0 to 200. +@param sigma_r Range between 0 to 1. +@param shade_factor Range between 0 to 0.1. + */ +CV_EXPORTS_W void pencilSketch(InputArray src, OutputArray dst1, OutputArray dst2, + float sigma_s = 60, float sigma_r = 0.07f, float shade_factor = 0.02f); + +/** @brief Stylization aims to produce digital imagery with a wide variety of effects not focused on +photorealism. Edge-aware filters are ideal for stylization, as they can abstract regions of low +contrast while preserving, or enhancing, high-contrast features. + +@param src Input 8-bit 3-channel image. +@param dst Output image with the same size and type as src. +@param sigma_s Range between 0 to 200. +@param sigma_r Range between 0 to 1. + */ +CV_EXPORTS_W void stylization(InputArray src, OutputArray dst, float sigma_s = 60, + float sigma_r = 0.45f); + +//! @} photo_render + +//! @} photo + +} // cv + +#ifndef DISABLE_OPENCV_24_COMPATIBILITY +#include "opencv2/photo/photo_c.h" +#endif + +#endif diff --git a/app/src/main/cpp/include/opencv2/photo/cuda.hpp b/app/src/main/cpp/include/opencv2/photo/cuda.hpp new file mode 100644 index 0000000..a2f3816 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/photo/cuda.hpp @@ -0,0 +1,132 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2008-2012, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_PHOTO_CUDA_HPP +#define OPENCV_PHOTO_CUDA_HPP + +#include "opencv2/core/cuda.hpp" + +namespace cv { namespace cuda { + +//! @addtogroup photo_denoise +//! @{ + +/** @brief Performs pure non local means denoising without any simplification, and thus it is not fast. + +@param src Source image. Supports only CV_8UC1, CV_8UC2 and CV_8UC3. +@param dst Destination image. +@param h Filter sigma regulating filter strength for color. +@param search_window Size of search window. +@param block_size Size of block used for computing weights. +@param borderMode Border type. See borderInterpolate for details. BORDER_REFLECT101 , +BORDER_REPLICATE , BORDER_CONSTANT , BORDER_REFLECT and BORDER_WRAP are supported for now. +@param stream Stream for the asynchronous version. + +@sa + fastNlMeansDenoising + */ +CV_EXPORTS void nonLocalMeans(InputArray src, OutputArray dst, + float h, + int search_window = 21, + int block_size = 7, + int borderMode = BORDER_DEFAULT, + Stream& stream = Stream::Null()); + +/** @brief Perform image denoising using Non-local Means Denoising algorithm + with several computational +optimizations. Noise expected to be a gaussian white noise + +@param src Input 8-bit 1-channel, 2-channel or 3-channel image. +@param dst Output image with the same size and type as src . +@param h Parameter regulating filter strength. Big h value perfectly removes noise but also +removes image details, smaller h value preserves details but also preserves some noise +@param search_window Size in pixels of the window that is used to compute weighted average for +given pixel. Should be odd. Affect performance linearly: greater search_window - greater +denoising time. Recommended value 21 pixels +@param block_size Size in pixels of the template patch that is used to compute weights. Should be +odd. Recommended value 7 pixels +@param stream Stream for the asynchronous invocations. + +This function expected to be applied to grayscale images. For colored images look at +FastNonLocalMeansDenoising::labMethod. + +@sa + fastNlMeansDenoising + */ +CV_EXPORTS void fastNlMeansDenoising(InputArray src, OutputArray dst, + float h, + int search_window = 21, + int block_size = 7, + Stream& stream = Stream::Null()); + +/** @brief Modification of fastNlMeansDenoising function for colored images + +@param src Input 8-bit 3-channel image. +@param dst Output image with the same size and type as src . +@param h_luminance Parameter regulating filter strength. Big h value perfectly removes noise but +also removes image details, smaller h value preserves details but also preserves some noise +@param photo_render float The same as h but for color components. For most images value equals 10 will be +enough to remove colored noise and do not distort colors +@param search_window Size in pixels of the window that is used to compute weighted average for +given pixel. Should be odd. Affect performance linearly: greater search_window - greater +denoising time. Recommended value 21 pixels +@param block_size Size in pixels of the template patch that is used to compute weights. Should be +odd. Recommended value 7 pixels +@param stream Stream for the asynchronous invocations. + +The function converts image to CIELAB colorspace and then separately denoise L and AB components +with given h parameters using FastNonLocalMeansDenoising::simpleMethod function. + +@sa + fastNlMeansDenoisingColored + */ +CV_EXPORTS void fastNlMeansDenoisingColored(InputArray src, OutputArray dst, + float h_luminance, float photo_render, + int search_window = 21, + int block_size = 7, + Stream& stream = Stream::Null()); + +//! @} photo + +}} // namespace cv { namespace cuda { + +#endif /* OPENCV_PHOTO_CUDA_HPP */ diff --git a/app/src/main/cpp/include/opencv2/photo/photo.hpp b/app/src/main/cpp/include/opencv2/photo/photo.hpp new file mode 100644 index 0000000..8af5e9f --- /dev/null +++ b/app/src/main/cpp/include/opencv2/photo/photo.hpp @@ -0,0 +1,48 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/photo.hpp" diff --git a/app/src/main/cpp/include/opencv2/photo/photo_c.h b/app/src/main/cpp/include/opencv2/photo/photo_c.h new file mode 100644 index 0000000..cd623c1 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/photo/photo_c.h @@ -0,0 +1,74 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2008-2012, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_PHOTO_C_H +#define OPENCV_PHOTO_C_H + +#include "opencv2/core/core_c.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** @addtogroup photo_c + @{ + */ + +/* Inpainting algorithms */ +enum InpaintingModes +{ + CV_INPAINT_NS =0, + CV_INPAINT_TELEA =1 +}; + + +/* Inpaints the selected region in the image */ +CVAPI(void) cvInpaint( const CvArr* src, const CvArr* inpaint_mask, + CvArr* dst, double inpaintRange, int flags ); + +/** @} */ + +#ifdef __cplusplus +} //extern "C" +#endif + +#endif //OPENCV_PHOTO_C_H diff --git a/app/src/main/cpp/include/opencv2/shape.hpp b/app/src/main/cpp/include/opencv2/shape.hpp new file mode 100644 index 0000000..f302b6b --- /dev/null +++ b/app/src/main/cpp/include/opencv2/shape.hpp @@ -0,0 +1,57 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2012, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_SHAPE_HPP +#define OPENCV_SHAPE_HPP + +#include "opencv2/shape/emdL1.hpp" +#include "opencv2/shape/shape_transformer.hpp" +#include "opencv2/shape/hist_cost.hpp" +#include "opencv2/shape/shape_distance.hpp" + +/** + @defgroup shape Shape Distance and Matching + */ + +#endif + +/* End of file. */ diff --git a/app/src/main/cpp/include/opencv2/shape/emdL1.hpp b/app/src/main/cpp/include/opencv2/shape/emdL1.hpp new file mode 100644 index 0000000..a15d68c --- /dev/null +++ b/app/src/main/cpp/include/opencv2/shape/emdL1.hpp @@ -0,0 +1,72 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2012, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_EMD_L1_HPP +#define OPENCV_EMD_L1_HPP + +#include "opencv2/core.hpp" + +namespace cv +{ +/****************************************************************************************\ +* EMDL1 Function * +\****************************************************************************************/ + +//! @addtogroup shape +//! @{ + +/** @brief Computes the "minimal work" distance between two weighted point configurations base on the papers +"EMD-L1: An efficient and Robust Algorithm for comparing histogram-based descriptors", by Haibin +Ling and Kazunori Okuda; and "The Earth Mover's Distance is the Mallows Distance: Some Insights from +Statistics", by Elizaveta Levina and Peter Bickel. + +@param signature1 First signature, a single column floating-point matrix. Each row is the value of +the histogram in each bin. +@param signature2 Second signature of the same format and size as signature1. + */ +CV_EXPORTS float EMDL1(InputArray signature1, InputArray signature2); + +//! @} + +}//namespace cv + +#endif diff --git a/app/src/main/cpp/include/opencv2/shape/hist_cost.hpp b/app/src/main/cpp/include/opencv2/shape/hist_cost.hpp new file mode 100644 index 0000000..21d0d68 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/shape/hist_cost.hpp @@ -0,0 +1,111 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_HIST_COST_HPP +#define OPENCV_HIST_COST_HPP + +#include "opencv2/imgproc.hpp" + +namespace cv +{ + +//! @addtogroup shape +//! @{ + +/** @brief Abstract base class for histogram cost algorithms. + */ +class CV_EXPORTS_W HistogramCostExtractor : public Algorithm +{ +public: + CV_WRAP virtual void buildCostMatrix(InputArray descriptors1, InputArray descriptors2, OutputArray costMatrix) = 0; + + CV_WRAP virtual void setNDummies(int nDummies) = 0; + CV_WRAP virtual int getNDummies() const = 0; + + CV_WRAP virtual void setDefaultCost(float defaultCost) = 0; + CV_WRAP virtual float getDefaultCost() const = 0; +}; + +/** @brief A norm based cost extraction. : + */ +class CV_EXPORTS_W NormHistogramCostExtractor : public HistogramCostExtractor +{ +public: + CV_WRAP virtual void setNormFlag(int flag) = 0; + CV_WRAP virtual int getNormFlag() const = 0; +}; + +CV_EXPORTS_W Ptr + createNormHistogramCostExtractor(int flag=DIST_L2, int nDummies=25, float defaultCost=0.2f); + +/** @brief An EMD based cost extraction. : + */ +class CV_EXPORTS_W EMDHistogramCostExtractor : public HistogramCostExtractor +{ +public: + CV_WRAP virtual void setNormFlag(int flag) = 0; + CV_WRAP virtual int getNormFlag() const = 0; +}; + +CV_EXPORTS_W Ptr + createEMDHistogramCostExtractor(int flag=DIST_L2, int nDummies=25, float defaultCost=0.2f); + +/** @brief An Chi based cost extraction. : + */ +class CV_EXPORTS_W ChiHistogramCostExtractor : public HistogramCostExtractor +{}; + +CV_EXPORTS_W Ptr createChiHistogramCostExtractor(int nDummies=25, float defaultCost=0.2f); + +/** @brief An EMD-L1 based cost extraction. : + */ +class CV_EXPORTS_W EMDL1HistogramCostExtractor : public HistogramCostExtractor +{}; + +CV_EXPORTS_W Ptr + createEMDL1HistogramCostExtractor(int nDummies=25, float defaultCost=0.2f); + +//! @} + +} // cv +#endif diff --git a/app/src/main/cpp/include/opencv2/shape/shape.hpp b/app/src/main/cpp/include/opencv2/shape/shape.hpp new file mode 100644 index 0000000..5c4da3c --- /dev/null +++ b/app/src/main/cpp/include/opencv2/shape/shape.hpp @@ -0,0 +1,48 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/shape.hpp" diff --git a/app/src/main/cpp/include/opencv2/shape/shape_distance.hpp b/app/src/main/cpp/include/opencv2/shape/shape_distance.hpp new file mode 100644 index 0000000..3a778f0 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/shape/shape_distance.hpp @@ -0,0 +1,227 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_SHAPE_SHAPE_DISTANCE_HPP +#define OPENCV_SHAPE_SHAPE_DISTANCE_HPP +#include "opencv2/core.hpp" +#include "opencv2/shape/hist_cost.hpp" +#include "opencv2/shape/shape_transformer.hpp" + +namespace cv +{ + +//! @addtogroup shape +//! @{ + +/** @example shape_example.cpp +An example using shape distance algorithm +*/ +/** @brief Abstract base class for shape distance algorithms. + */ +class CV_EXPORTS_W ShapeDistanceExtractor : public Algorithm +{ +public: + /** @brief Compute the shape distance between two shapes defined by its contours. + + @param contour1 Contour defining first shape. + @param contour2 Contour defining second shape. + */ + CV_WRAP virtual float computeDistance(InputArray contour1, InputArray contour2) = 0; +}; + +/***********************************************************************************/ +/***********************************************************************************/ +/***********************************************************************************/ +/** @brief Implementation of the Shape Context descriptor and matching algorithm + +proposed by Belongie et al. in "Shape Matching and Object Recognition Using Shape Contexts" (PAMI +2002). This implementation is packaged in a generic scheme, in order to allow you the +implementation of the common variations of the original pipeline. +*/ +class CV_EXPORTS_W ShapeContextDistanceExtractor : public ShapeDistanceExtractor +{ +public: + /** @brief Establish the number of angular bins for the Shape Context Descriptor used in the shape matching + pipeline. + + @param nAngularBins The number of angular bins in the shape context descriptor. + */ + CV_WRAP virtual void setAngularBins(int nAngularBins) = 0; + CV_WRAP virtual int getAngularBins() const = 0; + + /** @brief Establish the number of radial bins for the Shape Context Descriptor used in the shape matching + pipeline. + + @param nRadialBins The number of radial bins in the shape context descriptor. + */ + CV_WRAP virtual void setRadialBins(int nRadialBins) = 0; + CV_WRAP virtual int getRadialBins() const = 0; + + /** @brief Set the inner radius of the shape context descriptor. + + @param innerRadius The value of the inner radius. + */ + CV_WRAP virtual void setInnerRadius(float innerRadius) = 0; + CV_WRAP virtual float getInnerRadius() const = 0; + + /** @brief Set the outer radius of the shape context descriptor. + + @param outerRadius The value of the outer radius. + */ + CV_WRAP virtual void setOuterRadius(float outerRadius) = 0; + CV_WRAP virtual float getOuterRadius() const = 0; + + CV_WRAP virtual void setRotationInvariant(bool rotationInvariant) = 0; + CV_WRAP virtual bool getRotationInvariant() const = 0; + + /** @brief Set the weight of the shape context distance in the final value of the shape distance. The shape + context distance between two shapes is defined as the symmetric sum of shape context matching costs + over best matching points. The final value of the shape distance is a user-defined linear + combination of the shape context distance, an image appearance distance, and a bending energy. + + @param shapeContextWeight The weight of the shape context distance in the final distance value. + */ + CV_WRAP virtual void setShapeContextWeight(float shapeContextWeight) = 0; + CV_WRAP virtual float getShapeContextWeight() const = 0; + + /** @brief Set the weight of the Image Appearance cost in the final value of the shape distance. The image + appearance cost is defined as the sum of squared brightness differences in Gaussian windows around + corresponding image points. The final value of the shape distance is a user-defined linear + combination of the shape context distance, an image appearance distance, and a bending energy. If + this value is set to a number different from 0, is mandatory to set the images that correspond to + each shape. + + @param imageAppearanceWeight The weight of the appearance cost in the final distance value. + */ + CV_WRAP virtual void setImageAppearanceWeight(float imageAppearanceWeight) = 0; + CV_WRAP virtual float getImageAppearanceWeight() const = 0; + + /** @brief Set the weight of the Bending Energy in the final value of the shape distance. The bending energy + definition depends on what transformation is being used to align the shapes. The final value of the + shape distance is a user-defined linear combination of the shape context distance, an image + appearance distance, and a bending energy. + + @param bendingEnergyWeight The weight of the Bending Energy in the final distance value. + */ + CV_WRAP virtual void setBendingEnergyWeight(float bendingEnergyWeight) = 0; + CV_WRAP virtual float getBendingEnergyWeight() const = 0; + + /** @brief Set the images that correspond to each shape. This images are used in the calculation of the Image + Appearance cost. + + @param image1 Image corresponding to the shape defined by contours1. + @param image2 Image corresponding to the shape defined by contours2. + */ + CV_WRAP virtual void setImages(InputArray image1, InputArray image2) = 0; + CV_WRAP virtual void getImages(OutputArray image1, OutputArray image2) const = 0; + + CV_WRAP virtual void setIterations(int iterations) = 0; + CV_WRAP virtual int getIterations() const = 0; + + /** @brief Set the algorithm used for building the shape context descriptor cost matrix. + + @param comparer Smart pointer to a HistogramCostExtractor, an algorithm that defines the cost + matrix between descriptors. + */ + CV_WRAP virtual void setCostExtractor(Ptr comparer) = 0; + CV_WRAP virtual Ptr getCostExtractor() const = 0; + + /** @brief Set the value of the standard deviation for the Gaussian window for the image appearance cost. + + @param sigma Standard Deviation. + */ + CV_WRAP virtual void setStdDev(float sigma) = 0; + CV_WRAP virtual float getStdDev() const = 0; + + /** @brief Set the algorithm used for aligning the shapes. + + @param transformer Smart pointer to a ShapeTransformer, an algorithm that defines the aligning + transformation. + */ + CV_WRAP virtual void setTransformAlgorithm(Ptr transformer) = 0; + CV_WRAP virtual Ptr getTransformAlgorithm() const = 0; +}; + +/* Complete constructor */ +CV_EXPORTS_W Ptr + createShapeContextDistanceExtractor(int nAngularBins=12, int nRadialBins=4, + float innerRadius=0.2f, float outerRadius=2, int iterations=3, + const Ptr &comparer = createChiHistogramCostExtractor(), + const Ptr &transformer = createThinPlateSplineShapeTransformer()); + +/***********************************************************************************/ +/***********************************************************************************/ +/***********************************************************************************/ +/** @brief A simple Hausdorff distance measure between shapes defined by contours + +according to the paper "Comparing Images using the Hausdorff distance." by D.P. Huttenlocher, G.A. +Klanderman, and W.J. Rucklidge. (PAMI 1993). : + */ +class CV_EXPORTS_W HausdorffDistanceExtractor : public ShapeDistanceExtractor +{ +public: + /** @brief Set the norm used to compute the Hausdorff value between two shapes. It can be L1 or L2 norm. + + @param distanceFlag Flag indicating which norm is used to compute the Hausdorff distance + (NORM_L1, NORM_L2). + */ + CV_WRAP virtual void setDistanceFlag(int distanceFlag) = 0; + CV_WRAP virtual int getDistanceFlag() const = 0; + + /** @brief This method sets the rank proportion (or fractional value) that establish the Kth ranked value of + the partial Hausdorff distance. Experimentally had been shown that 0.6 is a good value to compare + shapes. + + @param rankProportion fractional value (between 0 and 1). + */ + CV_WRAP virtual void setRankProportion(float rankProportion) = 0; + CV_WRAP virtual float getRankProportion() const = 0; +}; + +/* Constructor */ +CV_EXPORTS_W Ptr createHausdorffDistanceExtractor(int distanceFlag=cv::NORM_L2, float rankProp=0.6f); + +//! @} + +} // cv +#endif diff --git a/app/src/main/cpp/include/opencv2/shape/shape_transformer.hpp b/app/src/main/cpp/include/opencv2/shape/shape_transformer.hpp new file mode 100644 index 0000000..ace104e --- /dev/null +++ b/app/src/main/cpp/include/opencv2/shape/shape_transformer.hpp @@ -0,0 +1,132 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_SHAPE_SHAPE_TRANSFORM_HPP +#define OPENCV_SHAPE_SHAPE_TRANSFORM_HPP +#include +#include "opencv2/core.hpp" +#include "opencv2/imgproc.hpp" + +namespace cv +{ + +//! @addtogroup shape +//! @{ + +/** @brief Abstract base class for shape transformation algorithms. + */ +class CV_EXPORTS_W ShapeTransformer : public Algorithm +{ +public: + /** @brief Estimate the transformation parameters of the current transformer algorithm, based on point matches. + + @param transformingShape Contour defining first shape. + @param targetShape Contour defining second shape (Target). + @param matches Standard vector of Matches between points. + */ + CV_WRAP virtual void estimateTransformation(InputArray transformingShape, InputArray targetShape, + std::vector& matches) = 0; + + /** @brief Apply a transformation, given a pre-estimated transformation parameters. + + @param input Contour (set of points) to apply the transformation. + @param output Output contour. + */ + CV_WRAP virtual float applyTransformation(InputArray input, OutputArray output=noArray()) = 0; + + /** @brief Apply a transformation, given a pre-estimated transformation parameters, to an Image. + + @param transformingImage Input image. + @param output Output image. + @param flags Image interpolation method. + @param borderMode border style. + @param borderValue border value. + */ + CV_WRAP virtual void warpImage(InputArray transformingImage, OutputArray output, + int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, + const Scalar& borderValue=Scalar()) const = 0; +}; + +/***********************************************************************************/ +/***********************************************************************************/ + +/** @brief Definition of the transformation + +ocupied in the paper "Principal Warps: Thin-Plate Splines and Decomposition of Deformations", by +F.L. Bookstein (PAMI 1989). : + */ +class CV_EXPORTS_W ThinPlateSplineShapeTransformer : public ShapeTransformer +{ +public: + /** @brief Set the regularization parameter for relaxing the exact interpolation requirements of the TPS + algorithm. + + @param beta value of the regularization parameter. + */ + CV_WRAP virtual void setRegularizationParameter(double beta) = 0; + CV_WRAP virtual double getRegularizationParameter() const = 0; +}; + +/** Complete constructor */ +CV_EXPORTS_W Ptr + createThinPlateSplineShapeTransformer(double regularizationParameter=0); + +/***********************************************************************************/ +/***********************************************************************************/ + +/** @brief Wrapper class for the OpenCV Affine Transformation algorithm. : + */ +class CV_EXPORTS_W AffineTransformer : public ShapeTransformer +{ +public: + CV_WRAP virtual void setFullAffine(bool fullAffine) = 0; + CV_WRAP virtual bool getFullAffine() const = 0; +}; + +/** Complete constructor */ +CV_EXPORTS_W Ptr createAffineTransformer(bool fullAffine); + +//! @} + +} // cv +#endif diff --git a/app/src/main/cpp/include/opencv2/stitching.hpp b/app/src/main/cpp/include/opencv2/stitching.hpp new file mode 100644 index 0000000..387e1de --- /dev/null +++ b/app/src/main/cpp/include/opencv2/stitching.hpp @@ -0,0 +1,320 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_STITCHING_STITCHER_HPP +#define OPENCV_STITCHING_STITCHER_HPP + +#include "opencv2/core.hpp" +#include "opencv2/features2d.hpp" +#include "opencv2/stitching/warpers.hpp" +#include "opencv2/stitching/detail/matchers.hpp" +#include "opencv2/stitching/detail/motion_estimators.hpp" +#include "opencv2/stitching/detail/exposure_compensate.hpp" +#include "opencv2/stitching/detail/seam_finders.hpp" +#include "opencv2/stitching/detail/blenders.hpp" +#include "opencv2/stitching/detail/camera.hpp" + + +#if defined(Status) +# warning Detected X11 'Status' macro definition, it can cause build conflicts. Please, include this header before any X11 headers. +#endif + + +/** +@defgroup stitching Images stitching + +This figure illustrates the stitching module pipeline implemented in the Stitcher class. Using that +class it's possible to configure/remove some steps, i.e. adjust the stitching pipeline according to +the particular needs. All building blocks from the pipeline are available in the detail namespace, +one can combine and use them separately. + +The implemented stitching pipeline is very similar to the one proposed in @cite BL07 . + +![stitching pipeline](StitchingPipeline.jpg) + +Camera models +------------- + +There are currently 2 camera models implemented in stitching pipeline. + +- _Homography model_ expecting perspective transformations between images + implemented in @ref cv::detail::BestOf2NearestMatcher cv::detail::HomographyBasedEstimator + cv::detail::BundleAdjusterReproj cv::detail::BundleAdjusterRay +- _Affine model_ expecting affine transformation with 6 DOF or 4 DOF implemented in + @ref cv::detail::AffineBestOf2NearestMatcher cv::detail::AffineBasedEstimator + cv::detail::BundleAdjusterAffine cv::detail::BundleAdjusterAffinePartial cv::AffineWarper + +Homography model is useful for creating photo panoramas captured by camera, +while affine-based model can be used to stitch scans and object captured by +specialized devices. Use @ref cv::Stitcher::create to get preconfigured pipeline for one +of those models. + +@note +Certain detailed settings of @ref cv::Stitcher might not make sense. Especially +you should not mix classes implementing affine model and classes implementing +Homography model, as they work with different transformations. + +@{ + @defgroup stitching_match Features Finding and Images Matching + @defgroup stitching_rotation Rotation Estimation + @defgroup stitching_autocalib Autocalibration + @defgroup stitching_warp Images Warping + @defgroup stitching_seam Seam Estimation + @defgroup stitching_exposure Exposure Compensation + @defgroup stitching_blend Image Blenders +@} + */ + +namespace cv { + +//! @addtogroup stitching +//! @{ + +/** @brief High level image stitcher. + +It's possible to use this class without being aware of the entire stitching pipeline. However, to +be able to achieve higher stitching stability and quality of the final images at least being +familiar with the theory is recommended. + +@note + - A basic example on image stitching can be found at + opencv_source_code/samples/cpp/stitching.cpp + - A detailed example on image stitching can be found at + opencv_source_code/samples/cpp/stitching_detailed.cpp + */ +class CV_EXPORTS_W Stitcher +{ +public: + enum { ORIG_RESOL = -1 }; + enum Status + { + OK = 0, + ERR_NEED_MORE_IMGS = 1, + ERR_HOMOGRAPHY_EST_FAIL = 2, + ERR_CAMERA_PARAMS_ADJUST_FAIL = 3 + }; + enum Mode + { + /** Mode for creating photo panoramas. Expects images under perspective + transformation and projects resulting pano to sphere. + + @sa detail::BestOf2NearestMatcher SphericalWarper + */ + PANORAMA = 0, + /** Mode for composing scans. Expects images under affine transformation does + not compensate exposure by default. + + @sa detail::AffineBestOf2NearestMatcher AffineWarper + */ + SCANS = 1, + + }; + + // Stitcher() {} + /** @brief Creates a stitcher with the default parameters. + + @param try_use_gpu Flag indicating whether GPU should be used whenever it's possible. + @return Stitcher class instance. + */ + static Stitcher createDefault(bool try_use_gpu = false); + /** @brief Creates a Stitcher configured in one of the stitching modes. + + @param mode Scenario for stitcher operation. This is usually determined by source of images + to stitch and their transformation. Default parameters will be chosen for operation in given + scenario. + @param try_use_gpu Flag indicating whether GPU should be used whenever it's possible. + @return Stitcher class instance. + */ + static Ptr create(Mode mode = PANORAMA, bool try_use_gpu = false); + + CV_WRAP double registrationResol() const { return registr_resol_; } + CV_WRAP void setRegistrationResol(double resol_mpx) { registr_resol_ = resol_mpx; } + + CV_WRAP double seamEstimationResol() const { return seam_est_resol_; } + CV_WRAP void setSeamEstimationResol(double resol_mpx) { seam_est_resol_ = resol_mpx; } + + CV_WRAP double compositingResol() const { return compose_resol_; } + CV_WRAP void setCompositingResol(double resol_mpx) { compose_resol_ = resol_mpx; } + + CV_WRAP double panoConfidenceThresh() const { return conf_thresh_; } + CV_WRAP void setPanoConfidenceThresh(double conf_thresh) { conf_thresh_ = conf_thresh; } + + CV_WRAP bool waveCorrection() const { return do_wave_correct_; } + CV_WRAP void setWaveCorrection(bool flag) { do_wave_correct_ = flag; } + + detail::WaveCorrectKind waveCorrectKind() const { return wave_correct_kind_; } + void setWaveCorrectKind(detail::WaveCorrectKind kind) { wave_correct_kind_ = kind; } + + Ptr featuresFinder() { return features_finder_; } + const Ptr featuresFinder() const { return features_finder_; } + void setFeaturesFinder(Ptr features_finder) + { features_finder_ = features_finder; } + + Ptr featuresMatcher() { return features_matcher_; } + const Ptr featuresMatcher() const { return features_matcher_; } + void setFeaturesMatcher(Ptr features_matcher) + { features_matcher_ = features_matcher; } + + const cv::UMat& matchingMask() const { return matching_mask_; } + void setMatchingMask(const cv::UMat &mask) + { + CV_Assert(mask.type() == CV_8U && mask.cols == mask.rows); + matching_mask_ = mask.clone(); + } + + Ptr bundleAdjuster() { return bundle_adjuster_; } + const Ptr bundleAdjuster() const { return bundle_adjuster_; } + void setBundleAdjuster(Ptr bundle_adjuster) + { bundle_adjuster_ = bundle_adjuster; } + + /* TODO OpenCV ABI 4.x + Ptr estimator() { return estimator_; } + const Ptr estimator() const { return estimator_; } + void setEstimator(Ptr estimator) + { estimator_ = estimator; } + */ + + Ptr warper() { return warper_; } + const Ptr warper() const { return warper_; } + void setWarper(Ptr creator) { warper_ = creator; } + + Ptr exposureCompensator() { return exposure_comp_; } + const Ptr exposureCompensator() const { return exposure_comp_; } + void setExposureCompensator(Ptr exposure_comp) + { exposure_comp_ = exposure_comp; } + + Ptr seamFinder() { return seam_finder_; } + const Ptr seamFinder() const { return seam_finder_; } + void setSeamFinder(Ptr seam_finder) { seam_finder_ = seam_finder; } + + Ptr blender() { return blender_; } + const Ptr blender() const { return blender_; } + void setBlender(Ptr b) { blender_ = b; } + + /** @overload */ + CV_WRAP Status estimateTransform(InputArrayOfArrays images); + /** @brief These functions try to match the given images and to estimate rotations of each camera. + + @note Use the functions only if you're aware of the stitching pipeline, otherwise use + Stitcher::stitch. + + @param images Input images. + @param rois Region of interest rectangles. + @return Status code. + */ + Status estimateTransform(InputArrayOfArrays images, const std::vector > &rois); + + /** @overload */ + CV_WRAP Status composePanorama(OutputArray pano); + /** @brief These functions try to compose the given images (or images stored internally from the other function + calls) into the final pano under the assumption that the image transformations were estimated + before. + + @note Use the functions only if you're aware of the stitching pipeline, otherwise use + Stitcher::stitch. + + @param images Input images. + @param pano Final pano. + @return Status code. + */ + Status composePanorama(InputArrayOfArrays images, OutputArray pano); + + /** @overload */ + CV_WRAP Status stitch(InputArrayOfArrays images, OutputArray pano); + /** @brief These functions try to stitch the given images. + + @param images Input images. + @param rois Region of interest rectangles. + @param pano Final pano. + @return Status code. + */ + Status stitch(InputArrayOfArrays images, const std::vector > &rois, OutputArray pano); + + std::vector component() const { return indices_; } + std::vector cameras() const { return cameras_; } + CV_WRAP double workScale() const { return work_scale_; } + +private: + //Stitcher() {} + + Status matchImages(); + Status estimateCameraParams(); + + double registr_resol_; + double seam_est_resol_; + double compose_resol_; + double conf_thresh_; + Ptr features_finder_; + Ptr features_matcher_; + cv::UMat matching_mask_; + Ptr bundle_adjuster_; + /* TODO OpenCV ABI 4.x + Ptr estimator_; + */ + bool do_wave_correct_; + detail::WaveCorrectKind wave_correct_kind_; + Ptr warper_; + Ptr exposure_comp_; + Ptr seam_finder_; + Ptr blender_; + + std::vector imgs_; + std::vector > rois_; + std::vector full_img_sizes_; + std::vector features_; + std::vector pairwise_matches_; + std::vector seam_est_imgs_; + std::vector indices_; + std::vector cameras_; + double work_scale_; + double seam_scale_; + double seam_work_aspect_; + double warped_image_scale_; +}; + +CV_EXPORTS_W Ptr createStitcher(bool try_use_gpu = false); + +//! @} stitching + +} // namespace cv + +#endif // OPENCV_STITCHING_STITCHER_HPP diff --git a/app/src/main/cpp/include/opencv2/stitching/detail/autocalib.hpp b/app/src/main/cpp/include/opencv2/stitching/detail/autocalib.hpp new file mode 100644 index 0000000..19705e2 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/stitching/detail/autocalib.hpp @@ -0,0 +1,86 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_STITCHING_AUTOCALIB_HPP +#define OPENCV_STITCHING_AUTOCALIB_HPP + +#include "opencv2/core.hpp" +#include "matchers.hpp" + +namespace cv { +namespace detail { + +//! @addtogroup stitching_autocalib +//! @{ + +/** @brief Tries to estimate focal lengths from the given homography under the assumption that the camera +undergoes rotations around its centre only. + +@param H Homography. +@param f0 Estimated focal length along X axis. +@param f1 Estimated focal length along Y axis. +@param f0_ok True, if f0 was estimated successfully, false otherwise. +@param f1_ok True, if f1 was estimated successfully, false otherwise. + +See "Construction of Panoramic Image Mosaics with Global and Local Alignment" +by Heung-Yeung Shum and Richard Szeliski. + */ +void CV_EXPORTS focalsFromHomography(const Mat &H, double &f0, double &f1, bool &f0_ok, bool &f1_ok); + +/** @brief Estimates focal lengths for each given camera. + +@param features Features of images. +@param pairwise_matches Matches between all image pairs. +@param focals Estimated focal lengths for each camera. + */ +void CV_EXPORTS estimateFocal(const std::vector &features, + const std::vector &pairwise_matches, + std::vector &focals); + +bool CV_EXPORTS calibrateRotatingCamera(const std::vector &Hs, Mat &K); + +//! @} stitching_autocalib + +} // namespace detail +} // namespace cv + +#endif // OPENCV_STITCHING_AUTOCALIB_HPP diff --git a/app/src/main/cpp/include/opencv2/stitching/detail/blenders.hpp b/app/src/main/cpp/include/opencv2/stitching/detail/blenders.hpp new file mode 100644 index 0000000..c89e003 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/stitching/detail/blenders.hpp @@ -0,0 +1,171 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_STITCHING_BLENDERS_HPP +#define OPENCV_STITCHING_BLENDERS_HPP + +#if defined(NO) +# warning Detected Apple 'NO' macro definition, it can cause build conflicts. Please, include this header before any Apple headers. +#endif + +#include "opencv2/core.hpp" + +namespace cv { +namespace detail { + +//! @addtogroup stitching_blend +//! @{ + +/** @brief Base class for all blenders. + +Simple blender which puts one image over another +*/ +class CV_EXPORTS Blender +{ +public: + virtual ~Blender() {} + + enum { NO, FEATHER, MULTI_BAND }; + static Ptr createDefault(int type, bool try_gpu = false); + + /** @brief Prepares the blender for blending. + + @param corners Source images top-left corners + @param sizes Source image sizes + */ + void prepare(const std::vector &corners, const std::vector &sizes); + /** @overload */ + virtual void prepare(Rect dst_roi); + /** @brief Processes the image. + + @param img Source image + @param mask Source image mask + @param tl Source image top-left corners + */ + virtual void feed(InputArray img, InputArray mask, Point tl); + /** @brief Blends and returns the final pano. + + @param dst Final pano + @param dst_mask Final pano mask + */ + virtual void blend(InputOutputArray dst, InputOutputArray dst_mask); + +protected: + UMat dst_, dst_mask_; + Rect dst_roi_; +}; + +/** @brief Simple blender which mixes images at its borders. + */ +class CV_EXPORTS FeatherBlender : public Blender +{ +public: + FeatherBlender(float sharpness = 0.02f); + + float sharpness() const { return sharpness_; } + void setSharpness(float val) { sharpness_ = val; } + + void prepare(Rect dst_roi); + void feed(InputArray img, InputArray mask, Point tl); + void blend(InputOutputArray dst, InputOutputArray dst_mask); + + //! Creates weight maps for fixed set of source images by their masks and top-left corners. + //! Final image can be obtained by simple weighting of the source images. + Rect createWeightMaps(const std::vector &masks, const std::vector &corners, + std::vector &weight_maps); + +private: + float sharpness_; + UMat weight_map_; + UMat dst_weight_map_; +}; + +inline FeatherBlender::FeatherBlender(float _sharpness) { setSharpness(_sharpness); } + +/** @brief Blender which uses multi-band blending algorithm (see @cite BA83). + */ +class CV_EXPORTS MultiBandBlender : public Blender +{ +public: + MultiBandBlender(int try_gpu = false, int num_bands = 5, int weight_type = CV_32F); + + int numBands() const { return actual_num_bands_; } + void setNumBands(int val) { actual_num_bands_ = val; } + + void prepare(Rect dst_roi); + void feed(InputArray img, InputArray mask, Point tl); + void blend(InputOutputArray dst, InputOutputArray dst_mask); + +private: + int actual_num_bands_, num_bands_; + std::vector dst_pyr_laplace_; + std::vector dst_band_weights_; + Rect dst_roi_final_; + bool can_use_gpu_; + int weight_type_; //CV_32F or CV_16S +#if defined(HAVE_OPENCV_CUDAARITHM) && defined(HAVE_OPENCV_CUDAWARPING) + std::vector gpu_dst_pyr_laplace_; + std::vector gpu_dst_band_weights_; +#endif +}; + + +////////////////////////////////////////////////////////////////////////////// +// Auxiliary functions + +void CV_EXPORTS normalizeUsingWeightMap(InputArray weight, InputOutputArray src); + +void CV_EXPORTS createWeightMap(InputArray mask, float sharpness, InputOutputArray weight); + +void CV_EXPORTS createLaplacePyr(InputArray img, int num_levels, std::vector& pyr); +void CV_EXPORTS createLaplacePyrGpu(InputArray img, int num_levels, std::vector& pyr); + +// Restores source image +void CV_EXPORTS restoreImageFromLaplacePyr(std::vector& pyr); +void CV_EXPORTS restoreImageFromLaplacePyrGpu(std::vector& pyr); + +//! @} + +} // namespace detail +} // namespace cv + +#endif // OPENCV_STITCHING_BLENDERS_HPP diff --git a/app/src/main/cpp/include/opencv2/stitching/detail/camera.hpp b/app/src/main/cpp/include/opencv2/stitching/detail/camera.hpp new file mode 100644 index 0000000..07c6b5b --- /dev/null +++ b/app/src/main/cpp/include/opencv2/stitching/detail/camera.hpp @@ -0,0 +1,78 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_STITCHING_CAMERA_HPP +#define OPENCV_STITCHING_CAMERA_HPP + +#include "opencv2/core.hpp" + +namespace cv { +namespace detail { + +//! @addtogroup stitching +//! @{ + +/** @brief Describes camera parameters. + +@note Translation is assumed to be zero during the whole stitching pipeline. : + */ +struct CV_EXPORTS CameraParams +{ + CameraParams(); + CameraParams(const CameraParams& other); + CameraParams& operator =(const CameraParams& other); + Mat K() const; + + double focal; // Focal length + double aspect; // Aspect ratio + double ppx; // Principal point X + double ppy; // Principal point Y + Mat R; // Rotation + Mat t; // Translation +}; + +//! @} + +} // namespace detail +} // namespace cv + +#endif // #ifndef OPENCV_STITCHING_CAMERA_HPP diff --git a/app/src/main/cpp/include/opencv2/stitching/detail/exposure_compensate.hpp b/app/src/main/cpp/include/opencv2/stitching/detail/exposure_compensate.hpp new file mode 100644 index 0000000..f5a8122 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/stitching/detail/exposure_compensate.hpp @@ -0,0 +1,136 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_STITCHING_EXPOSURE_COMPENSATE_HPP +#define OPENCV_STITCHING_EXPOSURE_COMPENSATE_HPP + +#if defined(NO) +# warning Detected Apple 'NO' macro definition, it can cause build conflicts. Please, include this header before any Apple headers. +#endif + +#include "opencv2/core.hpp" + +namespace cv { +namespace detail { + +//! @addtogroup stitching_exposure +//! @{ + +/** @brief Base class for all exposure compensators. + */ +class CV_EXPORTS ExposureCompensator +{ +public: + virtual ~ExposureCompensator() {} + + enum { NO, GAIN, GAIN_BLOCKS }; + static Ptr createDefault(int type); + + /** + @param corners Source image top-left corners + @param images Source images + @param masks Image masks to update (second value in pair specifies the value which should be used + to detect where image is) + */ + void feed(const std::vector &corners, const std::vector &images, + const std::vector &masks); + /** @overload */ + virtual void feed(const std::vector &corners, const std::vector &images, + const std::vector > &masks) = 0; + /** @brief Compensate exposure in the specified image. + + @param index Image index + @param corner Image top-left corner + @param image Image to process + @param mask Image mask + */ + virtual void apply(int index, Point corner, InputOutputArray image, InputArray mask) = 0; +}; + +/** @brief Stub exposure compensator which does nothing. + */ +class CV_EXPORTS NoExposureCompensator : public ExposureCompensator +{ +public: + void feed(const std::vector &/*corners*/, const std::vector &/*images*/, + const std::vector > &/*masks*/) { } + void apply(int /*index*/, Point /*corner*/, InputOutputArray /*image*/, InputArray /*mask*/) { } +}; + +/** @brief Exposure compensator which tries to remove exposure related artifacts by adjusting image +intensities, see @cite BL07 and @cite WJ10 for details. + */ +class CV_EXPORTS GainCompensator : public ExposureCompensator +{ +public: + void feed(const std::vector &corners, const std::vector &images, + const std::vector > &masks); + void apply(int index, Point corner, InputOutputArray image, InputArray mask); + std::vector gains() const; + +private: + Mat_ gains_; +}; + +/** @brief Exposure compensator which tries to remove exposure related artifacts by adjusting image block +intensities, see @cite UES01 for details. + */ +class CV_EXPORTS BlocksGainCompensator : public ExposureCompensator +{ +public: + BlocksGainCompensator(int bl_width = 32, int bl_height = 32) + : bl_width_(bl_width), bl_height_(bl_height) {} + void feed(const std::vector &corners, const std::vector &images, + const std::vector > &masks); + void apply(int index, Point corner, InputOutputArray image, InputArray mask); + +private: + int bl_width_, bl_height_; + std::vector gain_maps_; +}; + +//! @} + +} // namespace detail +} // namespace cv + +#endif // OPENCV_STITCHING_EXPOSURE_COMPENSATE_HPP diff --git a/app/src/main/cpp/include/opencv2/stitching/detail/matchers.hpp b/app/src/main/cpp/include/opencv2/stitching/detail/matchers.hpp new file mode 100644 index 0000000..009bdd9 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/stitching/detail/matchers.hpp @@ -0,0 +1,355 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_STITCHING_MATCHERS_HPP +#define OPENCV_STITCHING_MATCHERS_HPP + +#include "opencv2/core.hpp" +#include "opencv2/features2d.hpp" + +#include "opencv2/opencv_modules.hpp" + +#ifdef HAVE_OPENCV_XFEATURES2D +# include "opencv2/xfeatures2d/cuda.hpp" +#endif + +namespace cv { +namespace detail { + +//! @addtogroup stitching_match +//! @{ + +/** @brief Structure containing image keypoints and descriptors. */ +struct CV_EXPORTS ImageFeatures +{ + int img_idx; + Size img_size; + std::vector keypoints; + UMat descriptors; +}; + +/** @brief Feature finders base class */ +class CV_EXPORTS FeaturesFinder +{ +public: + virtual ~FeaturesFinder() {} + /** @overload */ + void operator ()(InputArray image, ImageFeatures &features); + /** @brief Finds features in the given image. + + @param image Source image + @param features Found features + @param rois Regions of interest + + @sa detail::ImageFeatures, Rect_ + */ + void operator ()(InputArray image, ImageFeatures &features, const std::vector &rois); + /** @brief Finds features in the given images in parallel. + + @param images Source images + @param features Found features for each image + @param rois Regions of interest for each image + + @sa detail::ImageFeatures, Rect_ + */ + void operator ()(InputArrayOfArrays images, std::vector &features, + const std::vector > &rois); + /** @overload */ + void operator ()(InputArrayOfArrays images, std::vector &features); + /** @brief Frees unused memory allocated before if there is any. */ + virtual void collectGarbage() {} + + /* TODO OpenCV ABI 4.x + reimplement this as public method similar to FeaturesMatcher and remove private function hack + @return True, if it's possible to use the same finder instance in parallel, false otherwise + bool isThreadSafe() const { return is_thread_safe_; } + */ + +protected: + /** @brief This method must implement features finding logic in order to make the wrappers + detail::FeaturesFinder::operator()_ work. + + @param image Source image + @param features Found features + + @sa detail::ImageFeatures */ + virtual void find(InputArray image, ImageFeatures &features) = 0; + /** @brief uses dynamic_cast to determine thread-safety + @return True, if it's possible to use the same finder instance in parallel, false otherwise + */ + bool isThreadSafe() const; +}; + +/** @brief SURF features finder. + +@sa detail::FeaturesFinder, SURF +*/ +class CV_EXPORTS SurfFeaturesFinder : public FeaturesFinder +{ +public: + SurfFeaturesFinder(double hess_thresh = 300., int num_octaves = 3, int num_layers = 4, + int num_octaves_descr = /*4*/3, int num_layers_descr = /*2*/4); + +private: + void find(InputArray image, ImageFeatures &features); + + Ptr detector_; + Ptr extractor_; + Ptr surf; +}; + +/** @brief ORB features finder. : + +@sa detail::FeaturesFinder, ORB +*/ +class CV_EXPORTS OrbFeaturesFinder : public FeaturesFinder +{ +public: + OrbFeaturesFinder(Size _grid_size = Size(3,1), int nfeatures=1500, float scaleFactor=1.3f, int nlevels=5); + +private: + void find(InputArray image, ImageFeatures &features); + + Ptr orb; + Size grid_size; +}; + +/** @brief AKAZE features finder. : + +@sa detail::FeaturesFinder, AKAZE +*/ +class CV_EXPORTS AKAZEFeaturesFinder : public detail::FeaturesFinder +{ +public: + AKAZEFeaturesFinder(int descriptor_type = AKAZE::DESCRIPTOR_MLDB, + int descriptor_size = 0, + int descriptor_channels = 3, + float threshold = 0.001f, + int nOctaves = 4, + int nOctaveLayers = 4, + int diffusivity = KAZE::DIFF_PM_G2); + +private: + void find(InputArray image, detail::ImageFeatures &features); + + Ptr akaze; +}; + +#ifdef HAVE_OPENCV_XFEATURES2D +class CV_EXPORTS SurfFeaturesFinderGpu : public FeaturesFinder +{ +public: + SurfFeaturesFinderGpu(double hess_thresh = 300., int num_octaves = 3, int num_layers = 4, + int num_octaves_descr = 4, int num_layers_descr = 2); + + void collectGarbage(); + +private: + void find(InputArray image, ImageFeatures &features); + + cuda::GpuMat image_; + cuda::GpuMat gray_image_; + cuda::SURF_CUDA surf_; + cuda::GpuMat keypoints_; + cuda::GpuMat descriptors_; + int num_octaves_, num_layers_; + int num_octaves_descr_, num_layers_descr_; +}; +#endif + +/** @brief Structure containing information about matches between two images. + +It's assumed that there is a transformation between those images. Transformation may be +homography or affine transformation based on selected matcher. + +@sa detail::FeaturesMatcher +*/ +struct CV_EXPORTS MatchesInfo +{ + MatchesInfo(); + MatchesInfo(const MatchesInfo &other); + MatchesInfo& operator =(const MatchesInfo &other); + + int src_img_idx, dst_img_idx; //!< Images indices (optional) + std::vector matches; + std::vector inliers_mask; //!< Geometrically consistent matches mask + int num_inliers; //!< Number of geometrically consistent matches + Mat H; //!< Estimated transformation + double confidence; //!< Confidence two images are from the same panorama +}; + +/** @brief Feature matchers base class. */ +class CV_EXPORTS FeaturesMatcher +{ +public: + virtual ~FeaturesMatcher() {} + + /** @overload + @param features1 First image features + @param features2 Second image features + @param matches_info Found matches + */ + void operator ()(const ImageFeatures &features1, const ImageFeatures &features2, + MatchesInfo& matches_info) { match(features1, features2, matches_info); } + + /** @brief Performs images matching. + + @param features Features of the source images + @param pairwise_matches Found pairwise matches + @param mask Mask indicating which image pairs must be matched + + The function is parallelized with the TBB library. + + @sa detail::MatchesInfo + */ + void operator ()(const std::vector &features, std::vector &pairwise_matches, + const cv::UMat &mask = cv::UMat()); + + /** @return True, if it's possible to use the same matcher instance in parallel, false otherwise + */ + bool isThreadSafe() const { return is_thread_safe_; } + + /** @brief Frees unused memory allocated before if there is any. + */ + virtual void collectGarbage() {} + +protected: + FeaturesMatcher(bool is_thread_safe = false) : is_thread_safe_(is_thread_safe) {} + + /** @brief This method must implement matching logic in order to make the wrappers + detail::FeaturesMatcher::operator()_ work. + + @param features1 first image features + @param features2 second image features + @param matches_info found matches + */ + virtual void match(const ImageFeatures &features1, const ImageFeatures &features2, + MatchesInfo& matches_info) = 0; + + bool is_thread_safe_; +}; + +/** @brief Features matcher which finds two best matches for each feature and leaves the best one only if the +ratio between descriptor distances is greater than the threshold match_conf + +@sa detail::FeaturesMatcher + */ +class CV_EXPORTS BestOf2NearestMatcher : public FeaturesMatcher +{ +public: + /** @brief Constructs a "best of 2 nearest" matcher. + + @param try_use_gpu Should try to use GPU or not + @param match_conf Match distances ration threshold + @param num_matches_thresh1 Minimum number of matches required for the 2D projective transform + estimation used in the inliers classification step + @param num_matches_thresh2 Minimum number of matches required for the 2D projective transform + re-estimation on inliers + */ + BestOf2NearestMatcher(bool try_use_gpu = false, float match_conf = 0.3f, int num_matches_thresh1 = 6, + int num_matches_thresh2 = 6); + + void collectGarbage(); + +protected: + void match(const ImageFeatures &features1, const ImageFeatures &features2, MatchesInfo &matches_info); + + int num_matches_thresh1_; + int num_matches_thresh2_; + Ptr impl_; +}; + +class CV_EXPORTS BestOf2NearestRangeMatcher : public BestOf2NearestMatcher +{ +public: + BestOf2NearestRangeMatcher(int range_width = 5, bool try_use_gpu = false, float match_conf = 0.3f, + int num_matches_thresh1 = 6, int num_matches_thresh2 = 6); + + void operator ()(const std::vector &features, std::vector &pairwise_matches, + const cv::UMat &mask = cv::UMat()); + + +protected: + int range_width_; +}; + +/** @brief Features matcher similar to cv::detail::BestOf2NearestMatcher which +finds two best matches for each feature and leaves the best one only if the +ratio between descriptor distances is greater than the threshold match_conf. + +Unlike cv::detail::BestOf2NearestMatcher this matcher uses affine +transformation (affine trasformation estimate will be placed in matches_info). + +@sa cv::detail::FeaturesMatcher cv::detail::BestOf2NearestMatcher + */ +class CV_EXPORTS AffineBestOf2NearestMatcher : public BestOf2NearestMatcher +{ +public: + /** @brief Constructs a "best of 2 nearest" matcher that expects affine trasformation + between images + + @param full_affine whether to use full affine transformation with 6 degress of freedom or reduced + transformation with 4 degrees of freedom using only rotation, translation and uniform scaling + @param try_use_gpu Should try to use GPU or not + @param match_conf Match distances ration threshold + @param num_matches_thresh1 Minimum number of matches required for the 2D affine transform + estimation used in the inliers classification step + + @sa cv::estimateAffine2D cv::estimateAffinePartial2D + */ + AffineBestOf2NearestMatcher(bool full_affine = false, bool try_use_gpu = false, + float match_conf = 0.3f, int num_matches_thresh1 = 6) : + BestOf2NearestMatcher(try_use_gpu, match_conf, num_matches_thresh1, num_matches_thresh1), + full_affine_(full_affine) {} + +protected: + void match(const ImageFeatures &features1, const ImageFeatures &features2, MatchesInfo &matches_info); + + bool full_affine_; +}; + +//! @} stitching_match + +} // namespace detail +} // namespace cv + +#endif // OPENCV_STITCHING_MATCHERS_HPP diff --git a/app/src/main/cpp/include/opencv2/stitching/detail/motion_estimators.hpp b/app/src/main/cpp/include/opencv2/stitching/detail/motion_estimators.hpp new file mode 100644 index 0000000..a0e6900 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/stitching/detail/motion_estimators.hpp @@ -0,0 +1,359 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_STITCHING_MOTION_ESTIMATORS_HPP +#define OPENCV_STITCHING_MOTION_ESTIMATORS_HPP + +#include "opencv2/core.hpp" +#include "matchers.hpp" +#include "util.hpp" +#include "camera.hpp" + +namespace cv { +namespace detail { + +//! @addtogroup stitching_rotation +//! @{ + +/** @brief Rotation estimator base class. + +It takes features of all images, pairwise matches between all images and estimates rotations of all +cameras. + +@note The coordinate system origin is implementation-dependent, but you can always normalize the +rotations in respect to the first camera, for instance. : + */ +class CV_EXPORTS Estimator +{ +public: + virtual ~Estimator() {} + + /** @brief Estimates camera parameters. + + @param features Features of images + @param pairwise_matches Pairwise matches of images + @param cameras Estimated camera parameters + @return True in case of success, false otherwise + */ + bool operator ()(const std::vector &features, + const std::vector &pairwise_matches, + std::vector &cameras) + { return estimate(features, pairwise_matches, cameras); } + +protected: + /** @brief This method must implement camera parameters estimation logic in order to make the wrapper + detail::Estimator::operator()_ work. + + @param features Features of images + @param pairwise_matches Pairwise matches of images + @param cameras Estimated camera parameters + @return True in case of success, false otherwise + */ + virtual bool estimate(const std::vector &features, + const std::vector &pairwise_matches, + std::vector &cameras) = 0; +}; + +/** @brief Homography based rotation estimator. + */ +class CV_EXPORTS HomographyBasedEstimator : public Estimator +{ +public: + HomographyBasedEstimator(bool is_focals_estimated = false) + : is_focals_estimated_(is_focals_estimated) {} + +private: + virtual bool estimate(const std::vector &features, + const std::vector &pairwise_matches, + std::vector &cameras); + + bool is_focals_estimated_; +}; + +/** @brief Affine transformation based estimator. + +This estimator uses pairwise tranformations estimated by matcher to estimate +final transformation for each camera. + +@sa cv::detail::HomographyBasedEstimator + */ +class CV_EXPORTS AffineBasedEstimator : public Estimator +{ +private: + virtual bool estimate(const std::vector &features, + const std::vector &pairwise_matches, + std::vector &cameras); +}; + +/** @brief Base class for all camera parameters refinement methods. + */ +class CV_EXPORTS BundleAdjusterBase : public Estimator +{ +public: + const Mat refinementMask() const { return refinement_mask_.clone(); } + void setRefinementMask(const Mat &mask) + { + CV_Assert(mask.type() == CV_8U && mask.size() == Size(3, 3)); + refinement_mask_ = mask.clone(); + } + + double confThresh() const { return conf_thresh_; } + void setConfThresh(double conf_thresh) { conf_thresh_ = conf_thresh; } + + TermCriteria termCriteria() { return term_criteria_; } + void setTermCriteria(const TermCriteria& term_criteria) { term_criteria_ = term_criteria; } + +protected: + /** @brief Construct a bundle adjuster base instance. + + @param num_params_per_cam Number of parameters per camera + @param num_errs_per_measurement Number of error terms (components) per match + */ + BundleAdjusterBase(int num_params_per_cam, int num_errs_per_measurement) + : num_images_(0), total_num_matches_(0), + num_params_per_cam_(num_params_per_cam), + num_errs_per_measurement_(num_errs_per_measurement), + features_(0), pairwise_matches_(0), conf_thresh_(0) + { + setRefinementMask(Mat::ones(3, 3, CV_8U)); + setConfThresh(1.); + setTermCriteria(TermCriteria(TermCriteria::EPS + TermCriteria::COUNT, 1000, DBL_EPSILON)); + } + + // Runs bundle adjustment + virtual bool estimate(const std::vector &features, + const std::vector &pairwise_matches, + std::vector &cameras); + + /** @brief Sets initial camera parameter to refine. + + @param cameras Camera parameters + */ + virtual void setUpInitialCameraParams(const std::vector &cameras) = 0; + /** @brief Gets the refined camera parameters. + + @param cameras Refined camera parameters + */ + virtual void obtainRefinedCameraParams(std::vector &cameras) const = 0; + /** @brief Calculates error vector. + + @param err Error column-vector of length total_num_matches \* num_errs_per_measurement + */ + virtual void calcError(Mat &err) = 0; + /** @brief Calculates the cost function jacobian. + + @param jac Jacobian matrix of dimensions + (total_num_matches \* num_errs_per_measurement) x (num_images \* num_params_per_cam) + */ + virtual void calcJacobian(Mat &jac) = 0; + + // 3x3 8U mask, where 0 means don't refine respective parameter, != 0 means refine + Mat refinement_mask_; + + int num_images_; + int total_num_matches_; + + int num_params_per_cam_; + int num_errs_per_measurement_; + + const ImageFeatures *features_; + const MatchesInfo *pairwise_matches_; + + // Threshold to filter out poorly matched image pairs + double conf_thresh_; + + //Levenberg-Marquardt algorithm termination criteria + TermCriteria term_criteria_; + + // Camera parameters matrix (CV_64F) + Mat cam_params_; + + // Connected images pairs + std::vector > edges_; +}; + + +/** @brief Stub bundle adjuster that does nothing. + */ +class CV_EXPORTS NoBundleAdjuster : public BundleAdjusterBase +{ +public: + NoBundleAdjuster() : BundleAdjusterBase(0, 0) {} + +private: + bool estimate(const std::vector &, const std::vector &, + std::vector &) + { + return true; + } + void setUpInitialCameraParams(const std::vector &) {} + void obtainRefinedCameraParams(std::vector &) const {} + void calcError(Mat &) {} + void calcJacobian(Mat &) {} +}; + + +/** @brief Implementation of the camera parameters refinement algorithm which minimizes sum of the reprojection +error squares + +It can estimate focal length, aspect ratio, principal point. +You can affect only on them via the refinement mask. + */ +class CV_EXPORTS BundleAdjusterReproj : public BundleAdjusterBase +{ +public: + BundleAdjusterReproj() : BundleAdjusterBase(7, 2) {} + +private: + void setUpInitialCameraParams(const std::vector &cameras); + void obtainRefinedCameraParams(std::vector &cameras) const; + void calcError(Mat &err); + void calcJacobian(Mat &jac); + + Mat err1_, err2_; +}; + + +/** @brief Implementation of the camera parameters refinement algorithm which minimizes sum of the distances +between the rays passing through the camera center and a feature. : + +It can estimate focal length. It ignores the refinement mask for now. + */ +class CV_EXPORTS BundleAdjusterRay : public BundleAdjusterBase +{ +public: + BundleAdjusterRay() : BundleAdjusterBase(4, 3) {} + +private: + void setUpInitialCameraParams(const std::vector &cameras); + void obtainRefinedCameraParams(std::vector &cameras) const; + void calcError(Mat &err); + void calcJacobian(Mat &jac); + + Mat err1_, err2_; +}; + + +/** @brief Bundle adjuster that expects affine transformation +represented in homogeneous coordinates in R for each camera param. Implements +camera parameters refinement algorithm which minimizes sum of the reprojection +error squares + +It estimates all transformation parameters. Refinement mask is ignored. + +@sa AffineBasedEstimator AffineBestOf2NearestMatcher BundleAdjusterAffinePartial + */ +class CV_EXPORTS BundleAdjusterAffine : public BundleAdjusterBase +{ +public: + BundleAdjusterAffine() : BundleAdjusterBase(6, 2) {} + +private: + void setUpInitialCameraParams(const std::vector &cameras); + void obtainRefinedCameraParams(std::vector &cameras) const; + void calcError(Mat &err); + void calcJacobian(Mat &jac); + + Mat err1_, err2_; +}; + + +/** @brief Bundle adjuster that expects affine transformation with 4 DOF +represented in homogeneous coordinates in R for each camera param. Implements +camera parameters refinement algorithm which minimizes sum of the reprojection +error squares + +It estimates all transformation parameters. Refinement mask is ignored. + +@sa AffineBasedEstimator AffineBestOf2NearestMatcher BundleAdjusterAffine + */ +class CV_EXPORTS BundleAdjusterAffinePartial : public BundleAdjusterBase +{ +public: + BundleAdjusterAffinePartial() : BundleAdjusterBase(4, 2) {} + +private: + void setUpInitialCameraParams(const std::vector &cameras); + void obtainRefinedCameraParams(std::vector &cameras) const; + void calcError(Mat &err); + void calcJacobian(Mat &jac); + + Mat err1_, err2_; +}; + + +enum WaveCorrectKind +{ + WAVE_CORRECT_HORIZ, + WAVE_CORRECT_VERT +}; + +/** @brief Tries to make panorama more horizontal (or vertical). + +@param rmats Camera rotation matrices. +@param kind Correction kind, see detail::WaveCorrectKind. + */ +void CV_EXPORTS waveCorrect(std::vector &rmats, WaveCorrectKind kind); + + +////////////////////////////////////////////////////////////////////////////// +// Auxiliary functions + +// Returns matches graph representation in DOT language +String CV_EXPORTS matchesGraphAsString(std::vector &pathes, std::vector &pairwise_matches, + float conf_threshold); + +std::vector CV_EXPORTS leaveBiggestComponent( + std::vector &features, + std::vector &pairwise_matches, + float conf_threshold); + +void CV_EXPORTS findMaxSpanningTree( + int num_images, const std::vector &pairwise_matches, + Graph &span_tree, std::vector ¢ers); + +//! @} stitching_rotation + +} // namespace detail +} // namespace cv + +#endif // OPENCV_STITCHING_MOTION_ESTIMATORS_HPP diff --git a/app/src/main/cpp/include/opencv2/stitching/detail/seam_finders.hpp b/app/src/main/cpp/include/opencv2/stitching/detail/seam_finders.hpp new file mode 100644 index 0000000..a251f48 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/stitching/detail/seam_finders.hpp @@ -0,0 +1,285 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_STITCHING_SEAM_FINDERS_HPP +#define OPENCV_STITCHING_SEAM_FINDERS_HPP + +#include +#include "opencv2/core.hpp" +#include "opencv2/opencv_modules.hpp" + +namespace cv { +namespace detail { + +//! @addtogroup stitching_seam +//! @{ + +/** @brief Base class for a seam estimator. + */ +class CV_EXPORTS SeamFinder +{ +public: + virtual ~SeamFinder() {} + /** @brief Estimates seams. + + @param src Source images + @param corners Source image top-left corners + @param masks Source image masks to update + */ + virtual void find(const std::vector &src, const std::vector &corners, + std::vector &masks) = 0; +}; + +/** @brief Stub seam estimator which does nothing. + */ +class CV_EXPORTS NoSeamFinder : public SeamFinder +{ +public: + void find(const std::vector&, const std::vector&, std::vector&) {} +}; + +/** @brief Base class for all pairwise seam estimators. + */ +class CV_EXPORTS PairwiseSeamFinder : public SeamFinder +{ +public: + virtual void find(const std::vector &src, const std::vector &corners, + std::vector &masks); + +protected: + void run(); + /** @brief Resolves masks intersection of two specified images in the given ROI. + + @param first First image index + @param second Second image index + @param roi Region of interest + */ + virtual void findInPair(size_t first, size_t second, Rect roi) = 0; + + std::vector images_; + std::vector sizes_; + std::vector corners_; + std::vector masks_; +}; + +/** @brief Voronoi diagram-based seam estimator. + */ +class CV_EXPORTS VoronoiSeamFinder : public PairwiseSeamFinder +{ +public: + virtual void find(const std::vector &src, const std::vector &corners, + std::vector &masks); + virtual void find(const std::vector &size, const std::vector &corners, + std::vector &masks); +private: + void findInPair(size_t first, size_t second, Rect roi); +}; + + +class CV_EXPORTS DpSeamFinder : public SeamFinder +{ +public: + enum CostFunction { COLOR, COLOR_GRAD }; + + DpSeamFinder(CostFunction costFunc = COLOR); + + CostFunction costFunction() const { return costFunc_; } + void setCostFunction(CostFunction val) { costFunc_ = val; } + + virtual void find(const std::vector &src, const std::vector &corners, + std::vector &masks); + +private: + enum ComponentState + { + FIRST = 1, SECOND = 2, INTERS = 4, + INTERS_FIRST = INTERS | FIRST, + INTERS_SECOND = INTERS | SECOND + }; + + class ImagePairLess + { + public: + ImagePairLess(const std::vector &images, const std::vector &corners) + : src_(&images[0]), corners_(&corners[0]) {} + + bool operator() (const std::pair &l, const std::pair &r) const + { + Point c1 = corners_[l.first] + Point(src_[l.first].cols / 2, src_[l.first].rows / 2); + Point c2 = corners_[l.second] + Point(src_[l.second].cols / 2, src_[l.second].rows / 2); + int d1 = (c1 - c2).dot(c1 - c2); + + c1 = corners_[r.first] + Point(src_[r.first].cols / 2, src_[r.first].rows / 2); + c2 = corners_[r.second] + Point(src_[r.second].cols / 2, src_[r.second].rows / 2); + int d2 = (c1 - c2).dot(c1 - c2); + + return d1 < d2; + } + + private: + const Mat *src_; + const Point *corners_; + }; + + class ClosePoints + { + public: + ClosePoints(int minDist) : minDist_(minDist) {} + + bool operator() (const Point &p1, const Point &p2) const + { + int dist2 = (p1.x-p2.x) * (p1.x-p2.x) + (p1.y-p2.y) * (p1.y-p2.y); + return dist2 < minDist_ * minDist_; + } + + private: + int minDist_; + }; + + void process( + const Mat &image1, const Mat &image2, Point tl1, Point tl2, Mat &mask1, Mat &mask2); + + void findComponents(); + + void findEdges(); + + void resolveConflicts( + const Mat &image1, const Mat &image2, Point tl1, Point tl2, Mat &mask1, Mat &mask2); + + void computeGradients(const Mat &image1, const Mat &image2); + + bool hasOnlyOneNeighbor(int comp); + + bool closeToContour(int y, int x, const Mat_ &contourMask); + + bool getSeamTips(int comp1, int comp2, Point &p1, Point &p2); + + void computeCosts( + const Mat &image1, const Mat &image2, Point tl1, Point tl2, + int comp, Mat_ &costV, Mat_ &costH); + + bool estimateSeam( + const Mat &image1, const Mat &image2, Point tl1, Point tl2, int comp, + Point p1, Point p2, std::vector &seam, bool &isHorizontal); + + void updateLabelsUsingSeam( + int comp1, int comp2, const std::vector &seam, bool isHorizontalSeam); + + CostFunction costFunc_; + + // processing images pair data + Point unionTl_, unionBr_; + Size unionSize_; + Mat_ mask1_, mask2_; + Mat_ contour1mask_, contour2mask_; + Mat_ gradx1_, grady1_; + Mat_ gradx2_, grady2_; + + // components data + int ncomps_; + Mat_ labels_; + std::vector states_; + std::vector tls_, brs_; + std::vector > contours_; + std::set > edges_; +}; + +/** @brief Base class for all minimum graph-cut-based seam estimators. + */ +class CV_EXPORTS GraphCutSeamFinderBase +{ +public: + enum CostType { COST_COLOR, COST_COLOR_GRAD }; +}; + +/** @brief Minimum graph cut-based seam estimator. See details in @cite V03 . + */ +class CV_EXPORTS GraphCutSeamFinder : public GraphCutSeamFinderBase, public SeamFinder +{ +public: + GraphCutSeamFinder(int cost_type = COST_COLOR_GRAD, float terminal_cost = 10000.f, + float bad_region_penalty = 1000.f); + + ~GraphCutSeamFinder(); + + void find(const std::vector &src, const std::vector &corners, + std::vector &masks); + +private: + // To avoid GCGraph dependency + class Impl; + Ptr impl_; +}; + + +#ifdef HAVE_OPENCV_CUDALEGACY +class CV_EXPORTS GraphCutSeamFinderGpu : public GraphCutSeamFinderBase, public PairwiseSeamFinder +{ +public: + GraphCutSeamFinderGpu(int cost_type = COST_COLOR_GRAD, float terminal_cost = 10000.f, + float bad_region_penalty = 1000.f) + : cost_type_(cost_type), terminal_cost_(terminal_cost), + bad_region_penalty_(bad_region_penalty) {} + + void find(const std::vector &src, const std::vector &corners, + std::vector &masks); + void findInPair(size_t first, size_t second, Rect roi); + +private: + void setGraphWeightsColor(const cv::Mat &img1, const cv::Mat &img2, const cv::Mat &mask1, const cv::Mat &mask2, + cv::Mat &terminals, cv::Mat &leftT, cv::Mat &rightT, cv::Mat &top, cv::Mat &bottom); + void setGraphWeightsColorGrad(const cv::Mat &img1, const cv::Mat &img2, const cv::Mat &dx1, const cv::Mat &dx2, + const cv::Mat &dy1, const cv::Mat &dy2, const cv::Mat &mask1, const cv::Mat &mask2, + cv::Mat &terminals, cv::Mat &leftT, cv::Mat &rightT, cv::Mat &top, cv::Mat &bottom); + std::vector dx_, dy_; + int cost_type_; + float terminal_cost_; + float bad_region_penalty_; +}; +#endif + +//! @} + +} // namespace detail +} // namespace cv + +#endif // OPENCV_STITCHING_SEAM_FINDERS_HPP diff --git a/app/src/main/cpp/include/opencv2/stitching/detail/timelapsers.hpp b/app/src/main/cpp/include/opencv2/stitching/detail/timelapsers.hpp new file mode 100644 index 0000000..ae37b03 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/stitching/detail/timelapsers.hpp @@ -0,0 +1,91 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + + +#ifndef OPENCV_STITCHING_TIMELAPSERS_HPP +#define OPENCV_STITCHING_TIMELAPSERS_HPP + +#include "opencv2/core.hpp" + +namespace cv { +namespace detail { + +//! @addtogroup stitching +//! @{ + +// Base Timelapser class, takes a sequence of images, applies appropriate shift, stores result in dst_. + +class CV_EXPORTS Timelapser +{ +public: + + enum {AS_IS, CROP}; + + virtual ~Timelapser() {} + + static Ptr createDefault(int type); + + virtual void initialize(const std::vector &corners, const std::vector &sizes); + virtual void process(InputArray img, InputArray mask, Point tl); + virtual const UMat& getDst() {return dst_;} + +protected: + + virtual bool test_point(Point pt); + + UMat dst_; + Rect dst_roi_; +}; + + +class CV_EXPORTS TimelapserCrop : public Timelapser +{ +public: + virtual void initialize(const std::vector &corners, const std::vector &sizes); +}; + +//! @} + +} // namespace detail +} // namespace cv + +#endif // OPENCV_STITCHING_TIMELAPSERS_HPP diff --git a/app/src/main/cpp/include/opencv2/stitching/detail/util.hpp b/app/src/main/cpp/include/opencv2/stitching/detail/util.hpp new file mode 100644 index 0000000..78301b8 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/stitching/detail/util.hpp @@ -0,0 +1,121 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_STITCHING_UTIL_HPP +#define OPENCV_STITCHING_UTIL_HPP + +#include +#include "opencv2/core.hpp" + +namespace cv { +namespace detail { + +//! @addtogroup stitching +//! @{ + +class CV_EXPORTS DisjointSets +{ +public: + DisjointSets(int elem_count = 0) { createOneElemSets(elem_count); } + + void createOneElemSets(int elem_count); + int findSetByElem(int elem); + int mergeSets(int set1, int set2); + + std::vector parent; + std::vector size; + +private: + std::vector rank_; +}; + + +struct CV_EXPORTS GraphEdge +{ + GraphEdge(int from, int to, float weight); + bool operator <(const GraphEdge& other) const { return weight < other.weight; } + bool operator >(const GraphEdge& other) const { return weight > other.weight; } + + int from, to; + float weight; +}; + +inline GraphEdge::GraphEdge(int _from, int _to, float _weight) : from(_from), to(_to), weight(_weight) {} + + +class CV_EXPORTS Graph +{ +public: + Graph(int num_vertices = 0) { create(num_vertices); } + void create(int num_vertices) { edges_.assign(num_vertices, std::list()); } + int numVertices() const { return static_cast(edges_.size()); } + void addEdge(int from, int to, float weight); + template B forEach(B body) const; + template B walkBreadthFirst(int from, B body) const; + +private: + std::vector< std::list > edges_; +}; + + +////////////////////////////////////////////////////////////////////////////// +// Auxiliary functions + +CV_EXPORTS bool overlapRoi(Point tl1, Point tl2, Size sz1, Size sz2, Rect &roi); +CV_EXPORTS Rect resultRoi(const std::vector &corners, const std::vector &images); +CV_EXPORTS Rect resultRoi(const std::vector &corners, const std::vector &sizes); +CV_EXPORTS Rect resultRoiIntersection(const std::vector &corners, const std::vector &sizes); +CV_EXPORTS Point resultTl(const std::vector &corners); + +// Returns random 'count' element subset of the {0,1,...,size-1} set +CV_EXPORTS void selectRandomSubset(int count, int size, std::vector &subset); + +CV_EXPORTS int& stitchingLogLevel(); + +//! @} + +} // namespace detail +} // namespace cv + +#include "util_inl.hpp" + +#endif // OPENCV_STITCHING_UTIL_HPP diff --git a/app/src/main/cpp/include/opencv2/stitching/detail/util_inl.hpp b/app/src/main/cpp/include/opencv2/stitching/detail/util_inl.hpp new file mode 100644 index 0000000..dafab8b --- /dev/null +++ b/app/src/main/cpp/include/opencv2/stitching/detail/util_inl.hpp @@ -0,0 +1,131 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_STITCHING_UTIL_INL_HPP +#define OPENCV_STITCHING_UTIL_INL_HPP + +#include +#include "opencv2/core.hpp" +#include "util.hpp" // Make your IDE see declarations + +//! @cond IGNORED + +namespace cv { +namespace detail { + +template +B Graph::forEach(B body) const +{ + for (int i = 0; i < numVertices(); ++i) + { + std::list::const_iterator edge = edges_[i].begin(); + for (; edge != edges_[i].end(); ++edge) + body(*edge); + } + return body; +} + + +template +B Graph::walkBreadthFirst(int from, B body) const +{ + std::vector was(numVertices(), false); + std::queue vertices; + + was[from] = true; + vertices.push(from); + + while (!vertices.empty()) + { + int vertex = vertices.front(); + vertices.pop(); + + std::list::const_iterator edge = edges_[vertex].begin(); + for (; edge != edges_[vertex].end(); ++edge) + { + if (!was[edge->to]) + { + body(*edge); + was[edge->to] = true; + vertices.push(edge->to); + } + } + } + + return body; +} + + +////////////////////////////////////////////////////////////////////////////// +// Some auxiliary math functions + +static inline +float normL2(const Point3f& a) +{ + return a.x * a.x + a.y * a.y + a.z * a.z; +} + + +static inline +float normL2(const Point3f& a, const Point3f& b) +{ + return normL2(a - b); +} + + +static inline +double normL2sq(const Mat &r) +{ + return r.dot(r); +} + + +static inline int sqr(int x) { return x * x; } +static inline float sqr(float x) { return x * x; } +static inline double sqr(double x) { return x * x; } + +} // namespace detail +} // namespace cv + +//! @endcond + +#endif // OPENCV_STITCHING_UTIL_INL_HPP diff --git a/app/src/main/cpp/include/opencv2/stitching/detail/warpers.hpp b/app/src/main/cpp/include/opencv2/stitching/detail/warpers.hpp new file mode 100644 index 0000000..cfaf225 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/stitching/detail/warpers.hpp @@ -0,0 +1,616 @@ + /*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_STITCHING_WARPERS_HPP +#define OPENCV_STITCHING_WARPERS_HPP + +#include "opencv2/core.hpp" +#include "opencv2/core/cuda.hpp" +#include "opencv2/imgproc.hpp" +#include "opencv2/opencv_modules.hpp" + +namespace cv { +namespace detail { + +//! @addtogroup stitching_warp +//! @{ + +/** @brief Rotation-only model image warper interface. + */ +class CV_EXPORTS RotationWarper +{ +public: + virtual ~RotationWarper() {} + + /** @brief Projects the image point. + + @param pt Source point + @param K Camera intrinsic parameters + @param R Camera rotation matrix + @return Projected point + */ + virtual Point2f warpPoint(const Point2f &pt, InputArray K, InputArray R) = 0; + + /** @brief Builds the projection maps according to the given camera data. + + @param src_size Source image size + @param K Camera intrinsic parameters + @param R Camera rotation matrix + @param xmap Projection map for the x axis + @param ymap Projection map for the y axis + @return Projected image minimum bounding box + */ + virtual Rect buildMaps(Size src_size, InputArray K, InputArray R, OutputArray xmap, OutputArray ymap) = 0; + + /** @brief Projects the image. + + @param src Source image + @param K Camera intrinsic parameters + @param R Camera rotation matrix + @param interp_mode Interpolation mode + @param border_mode Border extrapolation mode + @param dst Projected image + @return Project image top-left corner + */ + virtual Point warp(InputArray src, InputArray K, InputArray R, int interp_mode, int border_mode, + OutputArray dst) = 0; + + /** @brief Projects the image backward. + + @param src Projected image + @param K Camera intrinsic parameters + @param R Camera rotation matrix + @param interp_mode Interpolation mode + @param border_mode Border extrapolation mode + @param dst_size Backward-projected image size + @param dst Backward-projected image + */ + virtual void warpBackward(InputArray src, InputArray K, InputArray R, int interp_mode, int border_mode, + Size dst_size, OutputArray dst) = 0; + + /** + @param src_size Source image bounding box + @param K Camera intrinsic parameters + @param R Camera rotation matrix + @return Projected image minimum bounding box + */ + virtual Rect warpRoi(Size src_size, InputArray K, InputArray R) = 0; + + virtual float getScale() const { return 1.f; } + virtual void setScale(float) {} +}; + +/** @brief Base class for warping logic implementation. + */ +struct CV_EXPORTS ProjectorBase +{ + void setCameraParams(InputArray K = Mat::eye(3, 3, CV_32F), + InputArray R = Mat::eye(3, 3, CV_32F), + InputArray T = Mat::zeros(3, 1, CV_32F)); + + float scale; + float k[9]; + float rinv[9]; + float r_kinv[9]; + float k_rinv[9]; + float t[3]; +}; + +/** @brief Base class for rotation-based warper using a detail::ProjectorBase_ derived class. + */ +template +class CV_EXPORTS RotationWarperBase : public RotationWarper +{ +public: + Point2f warpPoint(const Point2f &pt, InputArray K, InputArray R); + + Rect buildMaps(Size src_size, InputArray K, InputArray R, OutputArray xmap, OutputArray ymap); + + Point warp(InputArray src, InputArray K, InputArray R, int interp_mode, int border_mode, + OutputArray dst); + + void warpBackward(InputArray src, InputArray K, InputArray R, int interp_mode, int border_mode, + Size dst_size, OutputArray dst); + + Rect warpRoi(Size src_size, InputArray K, InputArray R); + + float getScale() const { return projector_.scale; } + void setScale(float val) { projector_.scale = val; } + +protected: + + // Detects ROI of the destination image. It's correct for any projection. + virtual void detectResultRoi(Size src_size, Point &dst_tl, Point &dst_br); + + // Detects ROI of the destination image by walking over image border. + // Correctness for any projection isn't guaranteed. + void detectResultRoiByBorder(Size src_size, Point &dst_tl, Point &dst_br); + + P projector_; +}; + + +struct CV_EXPORTS PlaneProjector : ProjectorBase +{ + void mapForward(float x, float y, float &u, float &v); + void mapBackward(float u, float v, float &x, float &y); +}; + +/** @brief Warper that maps an image onto the z = 1 plane. + */ +class CV_EXPORTS PlaneWarper : public RotationWarperBase +{ +public: + /** @brief Construct an instance of the plane warper class. + + @param scale Projected image scale multiplier + */ + PlaneWarper(float scale = 1.f) { projector_.scale = scale; } + + Point2f warpPoint(const Point2f &pt, InputArray K, InputArray R); + Point2f warpPoint(const Point2f &pt, InputArray K, InputArray R, InputArray T); + + virtual Rect buildMaps(Size src_size, InputArray K, InputArray R, InputArray T, OutputArray xmap, OutputArray ymap); + Rect buildMaps(Size src_size, InputArray K, InputArray R, OutputArray xmap, OutputArray ymap); + + Point warp(InputArray src, InputArray K, InputArray R, + int interp_mode, int border_mode, OutputArray dst); + virtual Point warp(InputArray src, InputArray K, InputArray R, InputArray T, int interp_mode, int border_mode, + OutputArray dst); + + Rect warpRoi(Size src_size, InputArray K, InputArray R); + Rect warpRoi(Size src_size, InputArray K, InputArray R, InputArray T); + +protected: + void detectResultRoi(Size src_size, Point &dst_tl, Point &dst_br); +}; + + +/** @brief Affine warper that uses rotations and translations + + Uses affine transformation in homogeneous coordinates to represent both rotation and + translation in camera rotation matrix. + */ +class CV_EXPORTS AffineWarper : public PlaneWarper +{ +public: + /** @brief Construct an instance of the affine warper class. + + @param scale Projected image scale multiplier + */ + AffineWarper(float scale = 1.f) : PlaneWarper(scale) {} + + Point2f warpPoint(const Point2f &pt, InputArray K, InputArray R); + Rect buildMaps(Size src_size, InputArray K, InputArray R, OutputArray xmap, OutputArray ymap); + Point warp(InputArray src, InputArray K, InputArray R, + int interp_mode, int border_mode, OutputArray dst); + Rect warpRoi(Size src_size, InputArray K, InputArray R); + +protected: + /** @brief Extracts rotation and translation matrices from matrix H representing + affine transformation in homogeneous coordinates + */ + void getRTfromHomogeneous(InputArray H, Mat &R, Mat &T); +}; + + +struct CV_EXPORTS SphericalProjector : ProjectorBase +{ + void mapForward(float x, float y, float &u, float &v); + void mapBackward(float u, float v, float &x, float &y); +}; + + +/** @brief Warper that maps an image onto the unit sphere located at the origin. + + Projects image onto unit sphere with origin at (0, 0, 0) and radius scale, measured in pixels. + A 360 panorama would therefore have a resulting width of 2 * scale * PI pixels. + Poles are located at (0, -1, 0) and (0, 1, 0) points. +*/ +class CV_EXPORTS SphericalWarper : public RotationWarperBase +{ +public: + /** @brief Construct an instance of the spherical warper class. + + @param scale Radius of the projected sphere, in pixels. An image spanning the + whole sphere will have a width of 2 * scale * PI pixels. + */ + SphericalWarper(float scale) { projector_.scale = scale; } + + Rect buildMaps(Size src_size, InputArray K, InputArray R, OutputArray xmap, OutputArray ymap); + Point warp(InputArray src, InputArray K, InputArray R, int interp_mode, int border_mode, OutputArray dst); +protected: + void detectResultRoi(Size src_size, Point &dst_tl, Point &dst_br); +}; + + +struct CV_EXPORTS CylindricalProjector : ProjectorBase +{ + void mapForward(float x, float y, float &u, float &v); + void mapBackward(float u, float v, float &x, float &y); +}; + + +/** @brief Warper that maps an image onto the x\*x + z\*z = 1 cylinder. + */ +class CV_EXPORTS CylindricalWarper : public RotationWarperBase +{ +public: + /** @brief Construct an instance of the cylindrical warper class. + + @param scale Projected image scale multiplier + */ + CylindricalWarper(float scale) { projector_.scale = scale; } + + Rect buildMaps(Size src_size, InputArray K, InputArray R, OutputArray xmap, OutputArray ymap); + Point warp(InputArray src, InputArray K, InputArray R, int interp_mode, int border_mode, OutputArray dst); +protected: + void detectResultRoi(Size src_size, Point &dst_tl, Point &dst_br) + { + RotationWarperBase::detectResultRoiByBorder(src_size, dst_tl, dst_br); + } +}; + + +struct CV_EXPORTS FisheyeProjector : ProjectorBase +{ + void mapForward(float x, float y, float &u, float &v); + void mapBackward(float u, float v, float &x, float &y); +}; + + +class CV_EXPORTS FisheyeWarper : public RotationWarperBase +{ +public: + FisheyeWarper(float scale) { projector_.scale = scale; } +}; + + +struct CV_EXPORTS StereographicProjector : ProjectorBase +{ + void mapForward(float x, float y, float &u, float &v); + void mapBackward(float u, float v, float &x, float &y); +}; + + +class CV_EXPORTS StereographicWarper : public RotationWarperBase +{ +public: + StereographicWarper(float scale) { projector_.scale = scale; } +}; + + +struct CV_EXPORTS CompressedRectilinearProjector : ProjectorBase +{ + float a, b; + + void mapForward(float x, float y, float &u, float &v); + void mapBackward(float u, float v, float &x, float &y); +}; + + +class CV_EXPORTS CompressedRectilinearWarper : public RotationWarperBase +{ +public: + CompressedRectilinearWarper(float scale, float A = 1, float B = 1) + { + projector_.a = A; + projector_.b = B; + projector_.scale = scale; + } +}; + + +struct CV_EXPORTS CompressedRectilinearPortraitProjector : ProjectorBase +{ + float a, b; + + void mapForward(float x, float y, float &u, float &v); + void mapBackward(float u, float v, float &x, float &y); +}; + + +class CV_EXPORTS CompressedRectilinearPortraitWarper : public RotationWarperBase +{ +public: + CompressedRectilinearPortraitWarper(float scale, float A = 1, float B = 1) + { + projector_.a = A; + projector_.b = B; + projector_.scale = scale; + } +}; + + +struct CV_EXPORTS PaniniProjector : ProjectorBase +{ + float a, b; + + void mapForward(float x, float y, float &u, float &v); + void mapBackward(float u, float v, float &x, float &y); +}; + + +class CV_EXPORTS PaniniWarper : public RotationWarperBase +{ +public: + PaniniWarper(float scale, float A = 1, float B = 1) + { + projector_.a = A; + projector_.b = B; + projector_.scale = scale; + } +}; + + +struct CV_EXPORTS PaniniPortraitProjector : ProjectorBase +{ + float a, b; + + void mapForward(float x, float y, float &u, float &v); + void mapBackward(float u, float v, float &x, float &y); +}; + + +class CV_EXPORTS PaniniPortraitWarper : public RotationWarperBase +{ +public: + PaniniPortraitWarper(float scale, float A = 1, float B = 1) + { + projector_.a = A; + projector_.b = B; + projector_.scale = scale; + } + +}; + + +struct CV_EXPORTS MercatorProjector : ProjectorBase +{ + void mapForward(float x, float y, float &u, float &v); + void mapBackward(float u, float v, float &x, float &y); +}; + + +class CV_EXPORTS MercatorWarper : public RotationWarperBase +{ +public: + MercatorWarper(float scale) { projector_.scale = scale; } +}; + + +struct CV_EXPORTS TransverseMercatorProjector : ProjectorBase +{ + void mapForward(float x, float y, float &u, float &v); + void mapBackward(float u, float v, float &x, float &y); +}; + + +class CV_EXPORTS TransverseMercatorWarper : public RotationWarperBase +{ +public: + TransverseMercatorWarper(float scale) { projector_.scale = scale; } +}; + + +class CV_EXPORTS PlaneWarperGpu : public PlaneWarper +{ +public: + PlaneWarperGpu(float scale = 1.f) : PlaneWarper(scale) {} + + Rect buildMaps(Size src_size, InputArray K, InputArray R, OutputArray xmap, OutputArray ymap) + { + Rect result = buildMaps(src_size, K, R, d_xmap_, d_ymap_); + d_xmap_.download(xmap); + d_ymap_.download(ymap); + return result; + } + + Rect buildMaps(Size src_size, InputArray K, InputArray R, InputArray T, OutputArray xmap, OutputArray ymap) + { + Rect result = buildMaps(src_size, K, R, T, d_xmap_, d_ymap_); + d_xmap_.download(xmap); + d_ymap_.download(ymap); + return result; + } + + Point warp(InputArray src, InputArray K, InputArray R, int interp_mode, int border_mode, + OutputArray dst) + { + d_src_.upload(src); + Point result = warp(d_src_, K, R, interp_mode, border_mode, d_dst_); + d_dst_.download(dst); + return result; + } + + Point warp(InputArray src, InputArray K, InputArray R, InputArray T, int interp_mode, int border_mode, + OutputArray dst) + { + d_src_.upload(src); + Point result = warp(d_src_, K, R, T, interp_mode, border_mode, d_dst_); + d_dst_.download(dst); + return result; + } + + Rect buildMaps(Size src_size, InputArray K, InputArray R, cuda::GpuMat & xmap, cuda::GpuMat & ymap); + + Rect buildMaps(Size src_size, InputArray K, InputArray R, InputArray T, cuda::GpuMat & xmap, cuda::GpuMat & ymap); + + Point warp(const cuda::GpuMat & src, InputArray K, InputArray R, int interp_mode, int border_mode, + cuda::GpuMat & dst); + + Point warp(const cuda::GpuMat & src, InputArray K, InputArray R, InputArray T, int interp_mode, int border_mode, + cuda::GpuMat & dst); + +private: + cuda::GpuMat d_xmap_, d_ymap_, d_src_, d_dst_; +}; + + +class CV_EXPORTS SphericalWarperGpu : public SphericalWarper +{ +public: + SphericalWarperGpu(float scale) : SphericalWarper(scale) {} + + Rect buildMaps(Size src_size, InputArray K, InputArray R, OutputArray xmap, OutputArray ymap) + { + Rect result = buildMaps(src_size, K, R, d_xmap_, d_ymap_); + d_xmap_.download(xmap); + d_ymap_.download(ymap); + return result; + } + + Point warp(InputArray src, InputArray K, InputArray R, int interp_mode, int border_mode, + OutputArray dst) + { + d_src_.upload(src); + Point result = warp(d_src_, K, R, interp_mode, border_mode, d_dst_); + d_dst_.download(dst); + return result; + } + + Rect buildMaps(Size src_size, InputArray K, InputArray R, cuda::GpuMat & xmap, cuda::GpuMat & ymap); + + Point warp(const cuda::GpuMat & src, InputArray K, InputArray R, int interp_mode, int border_mode, + cuda::GpuMat & dst); + +private: + cuda::GpuMat d_xmap_, d_ymap_, d_src_, d_dst_; +}; + + +class CV_EXPORTS CylindricalWarperGpu : public CylindricalWarper +{ +public: + CylindricalWarperGpu(float scale) : CylindricalWarper(scale) {} + + Rect buildMaps(Size src_size, InputArray K, InputArray R, OutputArray xmap, OutputArray ymap) + { + Rect result = buildMaps(src_size, K, R, d_xmap_, d_ymap_); + d_xmap_.download(xmap); + d_ymap_.download(ymap); + return result; + } + + Point warp(InputArray src, InputArray K, InputArray R, int interp_mode, int border_mode, + OutputArray dst) + { + d_src_.upload(src); + Point result = warp(d_src_, K, R, interp_mode, border_mode, d_dst_); + d_dst_.download(dst); + return result; + } + + Rect buildMaps(Size src_size, InputArray K, InputArray R, cuda::GpuMat & xmap, cuda::GpuMat & ymap); + + Point warp(const cuda::GpuMat & src, InputArray K, InputArray R, int interp_mode, int border_mode, + cuda::GpuMat & dst); + +private: + cuda::GpuMat d_xmap_, d_ymap_, d_src_, d_dst_; +}; + + +struct SphericalPortraitProjector : ProjectorBase +{ + void mapForward(float x, float y, float &u, float &v); + void mapBackward(float u, float v, float &x, float &y); +}; + + +// Projects image onto unit sphere with origin at (0, 0, 0). +// Poles are located NOT at (0, -1, 0) and (0, 1, 0) points, BUT at (1, 0, 0) and (-1, 0, 0) points. +class CV_EXPORTS SphericalPortraitWarper : public RotationWarperBase +{ +public: + SphericalPortraitWarper(float scale) { projector_.scale = scale; } + +protected: + void detectResultRoi(Size src_size, Point &dst_tl, Point &dst_br); +}; + +struct CylindricalPortraitProjector : ProjectorBase +{ + void mapForward(float x, float y, float &u, float &v); + void mapBackward(float u, float v, float &x, float &y); +}; + + +class CV_EXPORTS CylindricalPortraitWarper : public RotationWarperBase +{ +public: + CylindricalPortraitWarper(float scale) { projector_.scale = scale; } + +protected: + void detectResultRoi(Size src_size, Point &dst_tl, Point &dst_br) + { + RotationWarperBase::detectResultRoiByBorder(src_size, dst_tl, dst_br); + } +}; + +struct PlanePortraitProjector : ProjectorBase +{ + void mapForward(float x, float y, float &u, float &v); + void mapBackward(float u, float v, float &x, float &y); +}; + + +class CV_EXPORTS PlanePortraitWarper : public RotationWarperBase +{ +public: + PlanePortraitWarper(float scale) { projector_.scale = scale; } + +protected: + void detectResultRoi(Size src_size, Point &dst_tl, Point &dst_br) + { + RotationWarperBase::detectResultRoiByBorder(src_size, dst_tl, dst_br); + } +}; + +//! @} stitching_warp + +} // namespace detail +} // namespace cv + +#include "warpers_inl.hpp" + +#endif // OPENCV_STITCHING_WARPERS_HPP diff --git a/app/src/main/cpp/include/opencv2/stitching/detail/warpers_inl.hpp b/app/src/main/cpp/include/opencv2/stitching/detail/warpers_inl.hpp new file mode 100644 index 0000000..f4a19d9 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/stitching/detail/warpers_inl.hpp @@ -0,0 +1,774 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_STITCHING_WARPERS_INL_HPP +#define OPENCV_STITCHING_WARPERS_INL_HPP + +#include "opencv2/core.hpp" +#include "warpers.hpp" // Make your IDE see declarations +#include + +//! @cond IGNORED + +namespace cv { +namespace detail { + +template +Point2f RotationWarperBase

::warpPoint(const Point2f &pt, InputArray K, InputArray R) +{ + projector_.setCameraParams(K, R); + Point2f uv; + projector_.mapForward(pt.x, pt.y, uv.x, uv.y); + return uv; +} + + +template +Rect RotationWarperBase

::buildMaps(Size src_size, InputArray K, InputArray R, OutputArray _xmap, OutputArray _ymap) +{ + projector_.setCameraParams(K, R); + + Point dst_tl, dst_br; + detectResultRoi(src_size, dst_tl, dst_br); + + _xmap.create(dst_br.y - dst_tl.y + 1, dst_br.x - dst_tl.x + 1, CV_32F); + _ymap.create(dst_br.y - dst_tl.y + 1, dst_br.x - dst_tl.x + 1, CV_32F); + + Mat xmap = _xmap.getMat(), ymap = _ymap.getMat(); + + float x, y; + for (int v = dst_tl.y; v <= dst_br.y; ++v) + { + for (int u = dst_tl.x; u <= dst_br.x; ++u) + { + projector_.mapBackward(static_cast(u), static_cast(v), x, y); + xmap.at(v - dst_tl.y, u - dst_tl.x) = x; + ymap.at(v - dst_tl.y, u - dst_tl.x) = y; + } + } + + return Rect(dst_tl, dst_br); +} + + +template +Point RotationWarperBase

::warp(InputArray src, InputArray K, InputArray R, int interp_mode, int border_mode, + OutputArray dst) +{ + UMat xmap, ymap; + Rect dst_roi = buildMaps(src.size(), K, R, xmap, ymap); + + dst.create(dst_roi.height + 1, dst_roi.width + 1, src.type()); + remap(src, dst, xmap, ymap, interp_mode, border_mode); + + return dst_roi.tl(); +} + + +template +void RotationWarperBase

::warpBackward(InputArray src, InputArray K, InputArray R, int interp_mode, int border_mode, + Size dst_size, OutputArray dst) +{ + projector_.setCameraParams(K, R); + + Point src_tl, src_br; + detectResultRoi(dst_size, src_tl, src_br); + + Size size = src.size(); + CV_Assert(src_br.x - src_tl.x + 1 == size.width && src_br.y - src_tl.y + 1 == size.height); + + Mat xmap(dst_size, CV_32F); + Mat ymap(dst_size, CV_32F); + + float u, v; + for (int y = 0; y < dst_size.height; ++y) + { + for (int x = 0; x < dst_size.width; ++x) + { + projector_.mapForward(static_cast(x), static_cast(y), u, v); + xmap.at(y, x) = u - src_tl.x; + ymap.at(y, x) = v - src_tl.y; + } + } + + dst.create(dst_size, src.type()); + remap(src, dst, xmap, ymap, interp_mode, border_mode); +} + + +template +Rect RotationWarperBase

::warpRoi(Size src_size, InputArray K, InputArray R) +{ + projector_.setCameraParams(K, R); + + Point dst_tl, dst_br; + detectResultRoi(src_size, dst_tl, dst_br); + + return Rect(dst_tl, Point(dst_br.x + 1, dst_br.y + 1)); +} + + +template +void RotationWarperBase

::detectResultRoi(Size src_size, Point &dst_tl, Point &dst_br) +{ + float tl_uf = (std::numeric_limits::max)(); + float tl_vf = (std::numeric_limits::max)(); + float br_uf = -(std::numeric_limits::max)(); + float br_vf = -(std::numeric_limits::max)(); + + float u, v; + for (int y = 0; y < src_size.height; ++y) + { + for (int x = 0; x < src_size.width; ++x) + { + projector_.mapForward(static_cast(x), static_cast(y), u, v); + tl_uf = (std::min)(tl_uf, u); tl_vf = (std::min)(tl_vf, v); + br_uf = (std::max)(br_uf, u); br_vf = (std::max)(br_vf, v); + } + } + + dst_tl.x = static_cast(tl_uf); + dst_tl.y = static_cast(tl_vf); + dst_br.x = static_cast(br_uf); + dst_br.y = static_cast(br_vf); +} + + +template +void RotationWarperBase

::detectResultRoiByBorder(Size src_size, Point &dst_tl, Point &dst_br) +{ + float tl_uf = (std::numeric_limits::max)(); + float tl_vf = (std::numeric_limits::max)(); + float br_uf = -(std::numeric_limits::max)(); + float br_vf = -(std::numeric_limits::max)(); + + float u, v; + for (float x = 0; x < src_size.width; ++x) + { + projector_.mapForward(static_cast(x), 0, u, v); + tl_uf = (std::min)(tl_uf, u); tl_vf = (std::min)(tl_vf, v); + br_uf = (std::max)(br_uf, u); br_vf = (std::max)(br_vf, v); + + projector_.mapForward(static_cast(x), static_cast(src_size.height - 1), u, v); + tl_uf = (std::min)(tl_uf, u); tl_vf = (std::min)(tl_vf, v); + br_uf = (std::max)(br_uf, u); br_vf = (std::max)(br_vf, v); + } + for (int y = 0; y < src_size.height; ++y) + { + projector_.mapForward(0, static_cast(y), u, v); + tl_uf = (std::min)(tl_uf, u); tl_vf = (std::min)(tl_vf, v); + br_uf = (std::max)(br_uf, u); br_vf = (std::max)(br_vf, v); + + projector_.mapForward(static_cast(src_size.width - 1), static_cast(y), u, v); + tl_uf = (std::min)(tl_uf, u); tl_vf = (std::min)(tl_vf, v); + br_uf = (std::max)(br_uf, u); br_vf = (std::max)(br_vf, v); + } + + dst_tl.x = static_cast(tl_uf); + dst_tl.y = static_cast(tl_vf); + dst_br.x = static_cast(br_uf); + dst_br.y = static_cast(br_vf); +} + + +inline +void PlaneProjector::mapForward(float x, float y, float &u, float &v) +{ + float x_ = r_kinv[0] * x + r_kinv[1] * y + r_kinv[2]; + float y_ = r_kinv[3] * x + r_kinv[4] * y + r_kinv[5]; + float z_ = r_kinv[6] * x + r_kinv[7] * y + r_kinv[8]; + + x_ = t[0] + x_ / z_ * (1 - t[2]); + y_ = t[1] + y_ / z_ * (1 - t[2]); + + u = scale * x_; + v = scale * y_; +} + + +inline +void PlaneProjector::mapBackward(float u, float v, float &x, float &y) +{ + u = u / scale - t[0]; + v = v / scale - t[1]; + + float z; + x = k_rinv[0] * u + k_rinv[1] * v + k_rinv[2] * (1 - t[2]); + y = k_rinv[3] * u + k_rinv[4] * v + k_rinv[5] * (1 - t[2]); + z = k_rinv[6] * u + k_rinv[7] * v + k_rinv[8] * (1 - t[2]); + + x /= z; + y /= z; +} + + +inline +void SphericalProjector::mapForward(float x, float y, float &u, float &v) +{ + float x_ = r_kinv[0] * x + r_kinv[1] * y + r_kinv[2]; + float y_ = r_kinv[3] * x + r_kinv[4] * y + r_kinv[5]; + float z_ = r_kinv[6] * x + r_kinv[7] * y + r_kinv[8]; + + u = scale * atan2f(x_, z_); + float w = y_ / sqrtf(x_ * x_ + y_ * y_ + z_ * z_); + v = scale * (static_cast(CV_PI) - acosf(w == w ? w : 0)); +} + + +inline +void SphericalProjector::mapBackward(float u, float v, float &x, float &y) +{ + u /= scale; + v /= scale; + + float sinv = sinf(static_cast(CV_PI) - v); + float x_ = sinv * sinf(u); + float y_ = cosf(static_cast(CV_PI) - v); + float z_ = sinv * cosf(u); + + float z; + x = k_rinv[0] * x_ + k_rinv[1] * y_ + k_rinv[2] * z_; + y = k_rinv[3] * x_ + k_rinv[4] * y_ + k_rinv[5] * z_; + z = k_rinv[6] * x_ + k_rinv[7] * y_ + k_rinv[8] * z_; + + if (z > 0) { x /= z; y /= z; } + else x = y = -1; +} + + +inline +void CylindricalProjector::mapForward(float x, float y, float &u, float &v) +{ + float x_ = r_kinv[0] * x + r_kinv[1] * y + r_kinv[2]; + float y_ = r_kinv[3] * x + r_kinv[4] * y + r_kinv[5]; + float z_ = r_kinv[6] * x + r_kinv[7] * y + r_kinv[8]; + + u = scale * atan2f(x_, z_); + v = scale * y_ / sqrtf(x_ * x_ + z_ * z_); +} + + +inline +void CylindricalProjector::mapBackward(float u, float v, float &x, float &y) +{ + u /= scale; + v /= scale; + + float x_ = sinf(u); + float y_ = v; + float z_ = cosf(u); + + float z; + x = k_rinv[0] * x_ + k_rinv[1] * y_ + k_rinv[2] * z_; + y = k_rinv[3] * x_ + k_rinv[4] * y_ + k_rinv[5] * z_; + z = k_rinv[6] * x_ + k_rinv[7] * y_ + k_rinv[8] * z_; + + if (z > 0) { x /= z; y /= z; } + else x = y = -1; +} + +inline +void FisheyeProjector::mapForward(float x, float y, float &u, float &v) +{ + float x_ = r_kinv[0] * x + r_kinv[1] * y + r_kinv[2]; + float y_ = r_kinv[3] * x + r_kinv[4] * y + r_kinv[5]; + float z_ = r_kinv[6] * x + r_kinv[7] * y + r_kinv[8]; + + float u_ = atan2f(x_, z_); + float v_ = (float)CV_PI - acosf(y_ / sqrtf(x_ * x_ + y_ * y_ + z_ * z_)); + + u = scale * v_ * cosf(u_); + v = scale * v_ * sinf(u_); +} + +inline +void FisheyeProjector::mapBackward(float u, float v, float &x, float &y) +{ + u /= scale; + v /= scale; + + float u_ = atan2f(v, u); + float v_ = sqrtf(u*u + v*v); + + float sinv = sinf((float)CV_PI - v_); + float x_ = sinv * sinf(u_); + float y_ = cosf((float)CV_PI - v_); + float z_ = sinv * cosf(u_); + + float z; + x = k_rinv[0] * x_ + k_rinv[1] * y_ + k_rinv[2] * z_; + y = k_rinv[3] * x_ + k_rinv[4] * y_ + k_rinv[5] * z_; + z = k_rinv[6] * x_ + k_rinv[7] * y_ + k_rinv[8] * z_; + + if (z > 0) { x /= z; y /= z; } + else x = y = -1; +} + +inline +void StereographicProjector::mapForward(float x, float y, float &u, float &v) +{ + float x_ = r_kinv[0] * x + r_kinv[1] * y + r_kinv[2]; + float y_ = r_kinv[3] * x + r_kinv[4] * y + r_kinv[5]; + float z_ = r_kinv[6] * x + r_kinv[7] * y + r_kinv[8]; + + float u_ = atan2f(x_, z_); + float v_ = (float)CV_PI - acosf(y_ / sqrtf(x_ * x_ + y_ * y_ + z_ * z_)); + + float r = sinf(v_) / (1 - cosf(v_)); + + u = scale * r * cos(u_); + v = scale * r * sin(u_); +} + +inline +void StereographicProjector::mapBackward(float u, float v, float &x, float &y) +{ + u /= scale; + v /= scale; + + float u_ = atan2f(v, u); + float r = sqrtf(u*u + v*v); + float v_ = 2 * atanf(1.f / r); + + float sinv = sinf((float)CV_PI - v_); + float x_ = sinv * sinf(u_); + float y_ = cosf((float)CV_PI - v_); + float z_ = sinv * cosf(u_); + + float z; + x = k_rinv[0] * x_ + k_rinv[1] * y_ + k_rinv[2] * z_; + y = k_rinv[3] * x_ + k_rinv[4] * y_ + k_rinv[5] * z_; + z = k_rinv[6] * x_ + k_rinv[7] * y_ + k_rinv[8] * z_; + + if (z > 0) { x /= z; y /= z; } + else x = y = -1; +} + +inline +void CompressedRectilinearProjector::mapForward(float x, float y, float &u, float &v) +{ + float x_ = r_kinv[0] * x + r_kinv[1] * y + r_kinv[2]; + float y_ = r_kinv[3] * x + r_kinv[4] * y + r_kinv[5]; + float z_ = r_kinv[6] * x + r_kinv[7] * y + r_kinv[8]; + + float u_ = atan2f(x_, z_); + float v_ = asinf(y_ / sqrtf(x_ * x_ + y_ * y_ + z_ * z_)); + + u = scale * a * tanf(u_ / a); + v = scale * b * tanf(v_) / cosf(u_); +} + +inline +void CompressedRectilinearProjector::mapBackward(float u, float v, float &x, float &y) +{ + u /= scale; + v /= scale; + + float aatg = a * atanf(u / a); + float u_ = aatg; + float v_ = atanf(v * cosf(aatg) / b); + + float cosv = cosf(v_); + float x_ = cosv * sinf(u_); + float y_ = sinf(v_); + float z_ = cosv * cosf(u_); + + float z; + x = k_rinv[0] * x_ + k_rinv[1] * y_ + k_rinv[2] * z_; + y = k_rinv[3] * x_ + k_rinv[4] * y_ + k_rinv[5] * z_; + z = k_rinv[6] * x_ + k_rinv[7] * y_ + k_rinv[8] * z_; + + if (z > 0) { x /= z; y /= z; } + else x = y = -1; +} + +inline +void CompressedRectilinearPortraitProjector::mapForward(float x, float y, float &u, float &v) +{ + float y_ = r_kinv[0] * x + r_kinv[1] * y + r_kinv[2]; + float x_ = r_kinv[3] * x + r_kinv[4] * y + r_kinv[5]; + float z_ = r_kinv[6] * x + r_kinv[7] * y + r_kinv[8]; + + float u_ = atan2f(x_, z_); + float v_ = asinf(y_ / sqrtf(x_ * x_ + y_ * y_ + z_ * z_)); + + u = - scale * a * tanf(u_ / a); + v = scale * b * tanf(v_) / cosf(u_); +} + +inline +void CompressedRectilinearPortraitProjector::mapBackward(float u, float v, float &x, float &y) +{ + u /= - scale; + v /= scale; + + float aatg = a * atanf(u / a); + float u_ = aatg; + float v_ = atanf(v * cosf( aatg ) / b); + + float cosv = cosf(v_); + float y_ = cosv * sinf(u_); + float x_ = sinf(v_); + float z_ = cosv * cosf(u_); + + float z; + x = k_rinv[0] * x_ + k_rinv[1] * y_ + k_rinv[2] * z_; + y = k_rinv[3] * x_ + k_rinv[4] * y_ + k_rinv[5] * z_; + z = k_rinv[6] * x_ + k_rinv[7] * y_ + k_rinv[8] * z_; + + if (z > 0) { x /= z; y /= z; } + else x = y = -1; +} + +inline +void PaniniProjector::mapForward(float x, float y, float &u, float &v) +{ + float x_ = r_kinv[0] * x + r_kinv[1] * y + r_kinv[2]; + float y_ = r_kinv[3] * x + r_kinv[4] * y + r_kinv[5]; + float z_ = r_kinv[6] * x + r_kinv[7] * y + r_kinv[8]; + + float u_ = atan2f(x_, z_); + float v_ = asinf(y_ / sqrtf(x_ * x_ + y_ * y_ + z_ * z_)); + + float tg = a * tanf(u_ / a); + u = scale * tg; + + float sinu = sinf(u_); + if ( fabs(sinu) < 1E-7 ) + v = scale * b * tanf(v_); + else + v = scale * b * tg * tanf(v_) / sinu; +} + +inline +void PaniniProjector::mapBackward(float u, float v, float &x, float &y) +{ + u /= scale; + v /= scale; + + float lamda = a * atanf(u / a); + float u_ = lamda; + + float v_; + if ( fabs(lamda) > 1E-7) + v_ = atanf(v * sinf(lamda) / (b * a * tanf(lamda / a))); + else + v_ = atanf(v / b); + + float cosv = cosf(v_); + float x_ = cosv * sinf(u_); + float y_ = sinf(v_); + float z_ = cosv * cosf(u_); + + float z; + x = k_rinv[0] * x_ + k_rinv[1] * y_ + k_rinv[2] * z_; + y = k_rinv[3] * x_ + k_rinv[4] * y_ + k_rinv[5] * z_; + z = k_rinv[6] * x_ + k_rinv[7] * y_ + k_rinv[8] * z_; + + if (z > 0) { x /= z; y /= z; } + else x = y = -1; +} + +inline +void PaniniPortraitProjector::mapForward(float x, float y, float &u, float &v) +{ + float y_ = r_kinv[0] * x + r_kinv[1] * y + r_kinv[2]; + float x_ = r_kinv[3] * x + r_kinv[4] * y + r_kinv[5]; + float z_ = r_kinv[6] * x + r_kinv[7] * y + r_kinv[8]; + + float u_ = atan2f(x_, z_); + float v_ = asinf(y_ / sqrtf(x_ * x_ + y_ * y_ + z_ * z_)); + + float tg = a * tanf(u_ / a); + u = - scale * tg; + + float sinu = sinf( u_ ); + if ( fabs(sinu) < 1E-7 ) + v = scale * b * tanf(v_); + else + v = scale * b * tg * tanf(v_) / sinu; +} + +inline +void PaniniPortraitProjector::mapBackward(float u, float v, float &x, float &y) +{ + u /= - scale; + v /= scale; + + float lamda = a * atanf(u / a); + float u_ = lamda; + + float v_; + if ( fabs(lamda) > 1E-7) + v_ = atanf(v * sinf(lamda) / (b * a * tanf(lamda/a))); + else + v_ = atanf(v / b); + + float cosv = cosf(v_); + float y_ = cosv * sinf(u_); + float x_ = sinf(v_); + float z_ = cosv * cosf(u_); + + float z; + x = k_rinv[0] * x_ + k_rinv[1] * y_ + k_rinv[2] * z_; + y = k_rinv[3] * x_ + k_rinv[4] * y_ + k_rinv[5] * z_; + z = k_rinv[6] * x_ + k_rinv[7] * y_ + k_rinv[8] * z_; + + if (z > 0) { x /= z; y /= z; } + else x = y = -1; +} + +inline +void MercatorProjector::mapForward(float x, float y, float &u, float &v) +{ + float x_ = r_kinv[0] * x + r_kinv[1] * y + r_kinv[2]; + float y_ = r_kinv[3] * x + r_kinv[4] * y + r_kinv[5]; + float z_ = r_kinv[6] * x + r_kinv[7] * y + r_kinv[8]; + + float u_ = atan2f(x_, z_); + float v_ = asinf(y_ / sqrtf(x_ * x_ + y_ * y_ + z_ * z_)); + + u = scale * u_; + v = scale * logf( tanf( (float)(CV_PI/4) + v_/2 ) ); +} + +inline +void MercatorProjector::mapBackward(float u, float v, float &x, float &y) +{ + u /= scale; + v /= scale; + + float v_ = atanf( sinhf(v) ); + float u_ = u; + + float cosv = cosf(v_); + float x_ = cosv * sinf(u_); + float y_ = sinf(v_); + float z_ = cosv * cosf(u_); + + float z; + x = k_rinv[0] * x_ + k_rinv[1] * y_ + k_rinv[2] * z_; + y = k_rinv[3] * x_ + k_rinv[4] * y_ + k_rinv[5] * z_; + z = k_rinv[6] * x_ + k_rinv[7] * y_ + k_rinv[8] * z_; + + if (z > 0) { x /= z; y /= z; } + else x = y = -1; +} + +inline +void TransverseMercatorProjector::mapForward(float x, float y, float &u, float &v) +{ + float x_ = r_kinv[0] * x + r_kinv[1] * y + r_kinv[2]; + float y_ = r_kinv[3] * x + r_kinv[4] * y + r_kinv[5]; + float z_ = r_kinv[6] * x + r_kinv[7] * y + r_kinv[8]; + + float u_ = atan2f(x_, z_); + float v_ = asinf(y_ / sqrtf(x_ * x_ + y_ * y_ + z_ * z_)); + + float B = cosf(v_) * sinf(u_); + + u = scale / 2 * logf( (1+B) / (1-B) ); + v = scale * atan2f(tanf(v_), cosf(u_)); +} + +inline +void TransverseMercatorProjector::mapBackward(float u, float v, float &x, float &y) +{ + u /= scale; + v /= scale; + + float v_ = asinf( sinf(v) / coshf(u) ); + float u_ = atan2f( sinhf(u), cos(v) ); + + float cosv = cosf(v_); + float x_ = cosv * sinf(u_); + float y_ = sinf(v_); + float z_ = cosv * cosf(u_); + + float z; + x = k_rinv[0] * x_ + k_rinv[1] * y_ + k_rinv[2] * z_; + y = k_rinv[3] * x_ + k_rinv[4] * y_ + k_rinv[5] * z_; + z = k_rinv[6] * x_ + k_rinv[7] * y_ + k_rinv[8] * z_; + + if (z > 0) { x /= z; y /= z; } + else x = y = -1; +} + +inline +void SphericalPortraitProjector::mapForward(float x, float y, float &u0, float &v0) +{ + float x0_ = r_kinv[0] * x + r_kinv[1] * y + r_kinv[2]; + float y0_ = r_kinv[3] * x + r_kinv[4] * y + r_kinv[5]; + float z_ = r_kinv[6] * x + r_kinv[7] * y + r_kinv[8]; + + float x_ = y0_; + float y_ = x0_; + float u, v; + + u = scale * atan2f(x_, z_); + v = scale * (static_cast(CV_PI) - acosf(y_ / sqrtf(x_ * x_ + y_ * y_ + z_ * z_))); + + u0 = -u;//v; + v0 = v;//u; +} + + +inline +void SphericalPortraitProjector::mapBackward(float u0, float v0, float &x, float &y) +{ + float u, v; + u = -u0;//v0; + v = v0;//u0; + + u /= scale; + v /= scale; + + float sinv = sinf(static_cast(CV_PI) - v); + float x0_ = sinv * sinf(u); + float y0_ = cosf(static_cast(CV_PI) - v); + float z_ = sinv * cosf(u); + + float x_ = y0_; + float y_ = x0_; + + float z; + x = k_rinv[0] * x_ + k_rinv[1] * y_ + k_rinv[2] * z_; + y = k_rinv[3] * x_ + k_rinv[4] * y_ + k_rinv[5] * z_; + z = k_rinv[6] * x_ + k_rinv[7] * y_ + k_rinv[8] * z_; + + if (z > 0) { x /= z; y /= z; } + else x = y = -1; +} + +inline +void CylindricalPortraitProjector::mapForward(float x, float y, float &u0, float &v0) +{ + float x0_ = r_kinv[0] * x + r_kinv[1] * y + r_kinv[2]; + float y0_ = r_kinv[3] * x + r_kinv[4] * y + r_kinv[5]; + float z_ = r_kinv[6] * x + r_kinv[7] * y + r_kinv[8]; + + float x_ = y0_; + float y_ = x0_; + float u, v; + + u = scale * atan2f(x_, z_); + v = scale * y_ / sqrtf(x_ * x_ + z_ * z_); + + u0 = -u;//v; + v0 = v;//u; +} + + +inline +void CylindricalPortraitProjector::mapBackward(float u0, float v0, float &x, float &y) +{ + float u, v; + u = -u0;//v0; + v = v0;//u0; + + u /= scale; + v /= scale; + + float x0_ = sinf(u); + float y0_ = v; + float z_ = cosf(u); + + float x_ = y0_; + float y_ = x0_; + + float z; + x = k_rinv[0] * x_ + k_rinv[1] * y_ + k_rinv[2] * z_; + y = k_rinv[3] * x_ + k_rinv[4] * y_ + k_rinv[5] * z_; + z = k_rinv[6] * x_ + k_rinv[7] * y_ + k_rinv[8] * z_; + + if (z > 0) { x /= z; y /= z; } + else x = y = -1; +} + +inline +void PlanePortraitProjector::mapForward(float x, float y, float &u0, float &v0) +{ + float x0_ = r_kinv[0] * x + r_kinv[1] * y + r_kinv[2]; + float y0_ = r_kinv[3] * x + r_kinv[4] * y + r_kinv[5]; + float z_ = r_kinv[6] * x + r_kinv[7] * y + r_kinv[8]; + + float x_ = y0_; + float y_ = x0_; + + x_ = t[0] + x_ / z_ * (1 - t[2]); + y_ = t[1] + y_ / z_ * (1 - t[2]); + + float u,v; + u = scale * x_; + v = scale * y_; + + u0 = -u; + v0 = v; +} + + +inline +void PlanePortraitProjector::mapBackward(float u0, float v0, float &x, float &y) +{ + float u, v; + u = -u0; + v = v0; + + u = u / scale - t[0]; + v = v / scale - t[1]; + + float z; + x = k_rinv[0] * v + k_rinv[1] * u + k_rinv[2] * (1 - t[2]); + y = k_rinv[3] * v + k_rinv[4] * u + k_rinv[5] * (1 - t[2]); + z = k_rinv[6] * v + k_rinv[7] * u + k_rinv[8] * (1 - t[2]); + + x /= z; + y /= z; +} + + +} // namespace detail +} // namespace cv + +//! @endcond + +#endif // OPENCV_STITCHING_WARPERS_INL_HPP diff --git a/app/src/main/cpp/include/opencv2/stitching/warpers.hpp b/app/src/main/cpp/include/opencv2/stitching/warpers.hpp new file mode 100644 index 0000000..139e052 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/stitching/warpers.hpp @@ -0,0 +1,192 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_STITCHING_WARPER_CREATORS_HPP +#define OPENCV_STITCHING_WARPER_CREATORS_HPP + +#include "opencv2/stitching/detail/warpers.hpp" + +namespace cv { + +//! @addtogroup stitching_warp +//! @{ + +/** @brief Image warper factories base class. + */ +class WarperCreator +{ +public: + virtual ~WarperCreator() {} + virtual Ptr create(float scale) const = 0; +}; + +/** @brief Plane warper factory class. + @sa detail::PlaneWarper + */ +class PlaneWarper : public WarperCreator +{ +public: + Ptr create(float scale) const { return makePtr(scale); } +}; + +/** @brief Affine warper factory class. + @sa detail::AffineWarper + */ +class AffineWarper : public WarperCreator +{ +public: + Ptr create(float scale) const { return makePtr(scale); } +}; + +/** @brief Cylindrical warper factory class. +@sa detail::CylindricalWarper +*/ +class CylindricalWarper: public WarperCreator +{ +public: + Ptr create(float scale) const { return makePtr(scale); } +}; + +/** @brief Spherical warper factory class */ +class SphericalWarper: public WarperCreator +{ +public: + Ptr create(float scale) const { return makePtr(scale); } +}; + +class FisheyeWarper : public WarperCreator +{ +public: + Ptr create(float scale) const { return makePtr(scale); } +}; + +class StereographicWarper: public WarperCreator +{ +public: + Ptr create(float scale) const { return makePtr(scale); } +}; + +class CompressedRectilinearWarper: public WarperCreator +{ + float a, b; +public: + CompressedRectilinearWarper(float A = 1, float B = 1) + { + a = A; b = B; + } + Ptr create(float scale) const { return makePtr(scale, a, b); } +}; + +class CompressedRectilinearPortraitWarper: public WarperCreator +{ + float a, b; +public: + CompressedRectilinearPortraitWarper(float A = 1, float B = 1) + { + a = A; b = B; + } + Ptr create(float scale) const { return makePtr(scale, a, b); } +}; + +class PaniniWarper: public WarperCreator +{ + float a, b; +public: + PaniniWarper(float A = 1, float B = 1) + { + a = A; b = B; + } + Ptr create(float scale) const { return makePtr(scale, a, b); } +}; + +class PaniniPortraitWarper: public WarperCreator +{ + float a, b; +public: + PaniniPortraitWarper(float A = 1, float B = 1) + { + a = A; b = B; + } + Ptr create(float scale) const { return makePtr(scale, a, b); } +}; + +class MercatorWarper: public WarperCreator +{ +public: + Ptr create(float scale) const { return makePtr(scale); } +}; + +class TransverseMercatorWarper: public WarperCreator +{ +public: + Ptr create(float scale) const { return makePtr(scale); } +}; + + + +#ifdef HAVE_OPENCV_CUDAWARPING +class PlaneWarperGpu: public WarperCreator +{ +public: + Ptr create(float scale) const { return makePtr(scale); } +}; + + +class CylindricalWarperGpu: public WarperCreator +{ +public: + Ptr create(float scale) const { return makePtr(scale); } +}; + + +class SphericalWarperGpu: public WarperCreator +{ +public: + Ptr create(float scale) const { return makePtr(scale); } +}; +#endif + +//! @} stitching_warp + +} // namespace cv + +#endif // OPENCV_STITCHING_WARPER_CREATORS_HPP diff --git a/app/src/main/cpp/include/opencv2/superres.hpp b/app/src/main/cpp/include/opencv2/superres.hpp new file mode 100644 index 0000000..60d4faa --- /dev/null +++ b/app/src/main/cpp/include/opencv2/superres.hpp @@ -0,0 +1,207 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_SUPERRES_HPP +#define OPENCV_SUPERRES_HPP + +#include "opencv2/core.hpp" +#include "opencv2/superres/optical_flow.hpp" + +/** + @defgroup superres Super Resolution + +The Super Resolution module contains a set of functions and classes that can be used to solve the +problem of resolution enhancement. There are a few methods implemented, most of them are descibed in +the papers @cite Farsiu03 and @cite Mitzel09 . + + */ + +namespace cv +{ + namespace superres + { + +//! @addtogroup superres +//! @{ + + class CV_EXPORTS FrameSource + { + public: + virtual ~FrameSource(); + + virtual void nextFrame(OutputArray frame) = 0; + virtual void reset() = 0; + }; + + CV_EXPORTS Ptr createFrameSource_Empty(); + + CV_EXPORTS Ptr createFrameSource_Video(const String& fileName); + CV_EXPORTS Ptr createFrameSource_Video_CUDA(const String& fileName); + + CV_EXPORTS Ptr createFrameSource_Camera(int deviceId = 0); + + /** @brief Base class for Super Resolution algorithms. + + The class is only used to define the common interface for the whole family of Super Resolution + algorithms. + */ + class CV_EXPORTS SuperResolution : public cv::Algorithm, public FrameSource + { + public: + /** @brief Set input frame source for Super Resolution algorithm. + + @param frameSource Input frame source + */ + void setInput(const Ptr& frameSource); + + /** @brief Process next frame from input and return output result. + + @param frame Output result + */ + void nextFrame(OutputArray frame); + void reset(); + + /** @brief Clear all inner buffers. + */ + virtual void collectGarbage(); + + //! @brief Scale factor + /** @see setScale */ + virtual int getScale() const = 0; + /** @copybrief getScale @see getScale */ + virtual void setScale(int val) = 0; + + //! @brief Iterations count + /** @see setIterations */ + virtual int getIterations() const = 0; + /** @copybrief getIterations @see getIterations */ + virtual void setIterations(int val) = 0; + + //! @brief Asymptotic value of steepest descent method + /** @see setTau */ + virtual double getTau() const = 0; + /** @copybrief getTau @see getTau */ + virtual void setTau(double val) = 0; + + //! @brief Weight parameter to balance data term and smoothness term + /** @see setLabmda */ + virtual double getLabmda() const = 0; + /** @copybrief getLabmda @see getLabmda */ + virtual void setLabmda(double val) = 0; + + //! @brief Parameter of spacial distribution in Bilateral-TV + /** @see setAlpha */ + virtual double getAlpha() const = 0; + /** @copybrief getAlpha @see getAlpha */ + virtual void setAlpha(double val) = 0; + + //! @brief Kernel size of Bilateral-TV filter + /** @see setKernelSize */ + virtual int getKernelSize() const = 0; + /** @copybrief getKernelSize @see getKernelSize */ + virtual void setKernelSize(int val) = 0; + + //! @brief Gaussian blur kernel size + /** @see setBlurKernelSize */ + virtual int getBlurKernelSize() const = 0; + /** @copybrief getBlurKernelSize @see getBlurKernelSize */ + virtual void setBlurKernelSize(int val) = 0; + + //! @brief Gaussian blur sigma + /** @see setBlurSigma */ + virtual double getBlurSigma() const = 0; + /** @copybrief getBlurSigma @see getBlurSigma */ + virtual void setBlurSigma(double val) = 0; + + //! @brief Radius of the temporal search area + /** @see setTemporalAreaRadius */ + virtual int getTemporalAreaRadius() const = 0; + /** @copybrief getTemporalAreaRadius @see getTemporalAreaRadius */ + virtual void setTemporalAreaRadius(int val) = 0; + + //! @brief Dense optical flow algorithm + /** @see setOpticalFlow */ + virtual Ptr getOpticalFlow() const = 0; + /** @copybrief getOpticalFlow @see getOpticalFlow */ + virtual void setOpticalFlow(const Ptr &val) = 0; + + protected: + SuperResolution(); + + virtual void initImpl(Ptr& frameSource) = 0; + virtual void processImpl(Ptr& frameSource, OutputArray output) = 0; + + bool isUmat_; + + private: + Ptr frameSource_; + bool firstCall_; + }; + + /** @brief Create Bilateral TV-L1 Super Resolution. + + This class implements Super Resolution algorithm described in the papers @cite Farsiu03 and + @cite Mitzel09 . + + Here are important members of the class that control the algorithm, which you can set after + constructing the class instance: + + - **int scale** Scale factor. + - **int iterations** Iteration count. + - **double tau** Asymptotic value of steepest descent method. + - **double lambda** Weight parameter to balance data term and smoothness term. + - **double alpha** Parameter of spacial distribution in Bilateral-TV. + - **int btvKernelSize** Kernel size of Bilateral-TV filter. + - **int blurKernelSize** Gaussian blur kernel size. + - **double blurSigma** Gaussian blur sigma. + - **int temporalAreaRadius** Radius of the temporal search area. + - **Ptr\ opticalFlow** Dense optical flow algorithm. + */ + CV_EXPORTS Ptr createSuperResolution_BTVL1(); + CV_EXPORTS Ptr createSuperResolution_BTVL1_CUDA(); + +//! @} superres + + } +} + +#endif // OPENCV_SUPERRES_HPP diff --git a/app/src/main/cpp/include/opencv2/superres/optical_flow.hpp b/app/src/main/cpp/include/opencv2/superres/optical_flow.hpp new file mode 100644 index 0000000..07e7ca9 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/superres/optical_flow.hpp @@ -0,0 +1,203 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_SUPERRES_OPTICAL_FLOW_HPP +#define OPENCV_SUPERRES_OPTICAL_FLOW_HPP + +#include "opencv2/core.hpp" + +namespace cv +{ + namespace superres + { + +//! @addtogroup superres +//! @{ + + class CV_EXPORTS DenseOpticalFlowExt : public cv::Algorithm + { + public: + virtual void calc(InputArray frame0, InputArray frame1, OutputArray flow1, OutputArray flow2 = noArray()) = 0; + virtual void collectGarbage() = 0; + }; + + + class CV_EXPORTS FarnebackOpticalFlow : public virtual DenseOpticalFlowExt + { + public: + /** @see setPyrScale */ + virtual double getPyrScale() const = 0; + /** @copybrief getPyrScale @see getPyrScale */ + virtual void setPyrScale(double val) = 0; + /** @see setLevelsNumber */ + virtual int getLevelsNumber() const = 0; + /** @copybrief getLevelsNumber @see getLevelsNumber */ + virtual void setLevelsNumber(int val) = 0; + /** @see setWindowSize */ + virtual int getWindowSize() const = 0; + /** @copybrief getWindowSize @see getWindowSize */ + virtual void setWindowSize(int val) = 0; + /** @see setIterations */ + virtual int getIterations() const = 0; + /** @copybrief getIterations @see getIterations */ + virtual void setIterations(int val) = 0; + /** @see setPolyN */ + virtual int getPolyN() const = 0; + /** @copybrief getPolyN @see getPolyN */ + virtual void setPolyN(int val) = 0; + /** @see setPolySigma */ + virtual double getPolySigma() const = 0; + /** @copybrief getPolySigma @see getPolySigma */ + virtual void setPolySigma(double val) = 0; + /** @see setFlags */ + virtual int getFlags() const = 0; + /** @copybrief getFlags @see getFlags */ + virtual void setFlags(int val) = 0; + }; + CV_EXPORTS Ptr createOptFlow_Farneback(); + CV_EXPORTS Ptr createOptFlow_Farneback_CUDA(); + + +// CV_EXPORTS Ptr createOptFlow_Simple(); + + + class CV_EXPORTS DualTVL1OpticalFlow : public virtual DenseOpticalFlowExt + { + public: + /** @see setTau */ + virtual double getTau() const = 0; + /** @copybrief getTau @see getTau */ + virtual void setTau(double val) = 0; + /** @see setLambda */ + virtual double getLambda() const = 0; + /** @copybrief getLambda @see getLambda */ + virtual void setLambda(double val) = 0; + /** @see setTheta */ + virtual double getTheta() const = 0; + /** @copybrief getTheta @see getTheta */ + virtual void setTheta(double val) = 0; + /** @see setScalesNumber */ + virtual int getScalesNumber() const = 0; + /** @copybrief getScalesNumber @see getScalesNumber */ + virtual void setScalesNumber(int val) = 0; + /** @see setWarpingsNumber */ + virtual int getWarpingsNumber() const = 0; + /** @copybrief getWarpingsNumber @see getWarpingsNumber */ + virtual void setWarpingsNumber(int val) = 0; + /** @see setEpsilon */ + virtual double getEpsilon() const = 0; + /** @copybrief getEpsilon @see getEpsilon */ + virtual void setEpsilon(double val) = 0; + /** @see setIterations */ + virtual int getIterations() const = 0; + /** @copybrief getIterations @see getIterations */ + virtual void setIterations(int val) = 0; + /** @see setUseInitialFlow */ + virtual bool getUseInitialFlow() const = 0; + /** @copybrief getUseInitialFlow @see getUseInitialFlow */ + virtual void setUseInitialFlow(bool val) = 0; + }; + CV_EXPORTS Ptr createOptFlow_DualTVL1(); + CV_EXPORTS Ptr createOptFlow_DualTVL1_CUDA(); + + + class CV_EXPORTS BroxOpticalFlow : public virtual DenseOpticalFlowExt + { + public: + //! @brief Flow smoothness + /** @see setAlpha */ + virtual double getAlpha() const = 0; + /** @copybrief getAlpha @see getAlpha */ + virtual void setAlpha(double val) = 0; + //! @brief Gradient constancy importance + /** @see setGamma */ + virtual double getGamma() const = 0; + /** @copybrief getGamma @see getGamma */ + virtual void setGamma(double val) = 0; + //! @brief Pyramid scale factor + /** @see setScaleFactor */ + virtual double getScaleFactor() const = 0; + /** @copybrief getScaleFactor @see getScaleFactor */ + virtual void setScaleFactor(double val) = 0; + //! @brief Number of lagged non-linearity iterations (inner loop) + /** @see setInnerIterations */ + virtual int getInnerIterations() const = 0; + /** @copybrief getInnerIterations @see getInnerIterations */ + virtual void setInnerIterations(int val) = 0; + //! @brief Number of warping iterations (number of pyramid levels) + /** @see setOuterIterations */ + virtual int getOuterIterations() const = 0; + /** @copybrief getOuterIterations @see getOuterIterations */ + virtual void setOuterIterations(int val) = 0; + //! @brief Number of linear system solver iterations + /** @see setSolverIterations */ + virtual int getSolverIterations() const = 0; + /** @copybrief getSolverIterations @see getSolverIterations */ + virtual void setSolverIterations(int val) = 0; + }; + CV_EXPORTS Ptr createOptFlow_Brox_CUDA(); + + + class PyrLKOpticalFlow : public virtual DenseOpticalFlowExt + { + public: + /** @see setWindowSize */ + virtual int getWindowSize() const = 0; + /** @copybrief getWindowSize @see getWindowSize */ + virtual void setWindowSize(int val) = 0; + /** @see setMaxLevel */ + virtual int getMaxLevel() const = 0; + /** @copybrief getMaxLevel @see getMaxLevel */ + virtual void setMaxLevel(int val) = 0; + /** @see setIterations */ + virtual int getIterations() const = 0; + /** @copybrief getIterations @see getIterations */ + virtual void setIterations(int val) = 0; + }; + CV_EXPORTS Ptr createOptFlow_PyrLK_CUDA(); + +//! @} + + } +} + +#endif // OPENCV_SUPERRES_OPTICAL_FLOW_HPP diff --git a/app/src/main/cpp/include/opencv2/video.hpp b/app/src/main/cpp/include/opencv2/video.hpp new file mode 100644 index 0000000..aa644a9 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/video.hpp @@ -0,0 +1,63 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEO_HPP +#define OPENCV_VIDEO_HPP + +/** + @defgroup video Video Analysis + @{ + @defgroup video_motion Motion Analysis + @defgroup video_track Object Tracking + @defgroup video_c C API + @} +*/ + +#include "opencv2/video/tracking.hpp" +#include "opencv2/video/background_segm.hpp" + +#ifndef DISABLE_OPENCV_24_COMPATIBILITY +#include "opencv2/video/tracking_c.h" +#endif + +#endif //OPENCV_VIDEO_HPP diff --git a/app/src/main/cpp/include/opencv2/video/background_segm.hpp b/app/src/main/cpp/include/opencv2/video/background_segm.hpp new file mode 100644 index 0000000..8a2d40b --- /dev/null +++ b/app/src/main/cpp/include/opencv2/video/background_segm.hpp @@ -0,0 +1,317 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_BACKGROUND_SEGM_HPP +#define OPENCV_BACKGROUND_SEGM_HPP + +#include "opencv2/core.hpp" + +namespace cv +{ + +//! @addtogroup video_motion +//! @{ + +/** @brief Base class for background/foreground segmentation. : + +The class is only used to define the common interface for the whole family of background/foreground +segmentation algorithms. + */ +class CV_EXPORTS_W BackgroundSubtractor : public Algorithm +{ +public: + /** @brief Computes a foreground mask. + + @param image Next video frame. + @param fgmask The output foreground mask as an 8-bit binary image. + @param learningRate The value between 0 and 1 that indicates how fast the background model is + learnt. Negative parameter value makes the algorithm to use some automatically chosen learning + rate. 0 means that the background model is not updated at all, 1 means that the background model + is completely reinitialized from the last frame. + */ + CV_WRAP virtual void apply(InputArray image, OutputArray fgmask, double learningRate=-1) = 0; + + /** @brief Computes a background image. + + @param backgroundImage The output background image. + + @note Sometimes the background image can be very blurry, as it contain the average background + statistics. + */ + CV_WRAP virtual void getBackgroundImage(OutputArray backgroundImage) const = 0; +}; + + +/** @brief Gaussian Mixture-based Background/Foreground Segmentation Algorithm. + +The class implements the Gaussian mixture model background subtraction described in @cite Zivkovic2004 +and @cite Zivkovic2006 . + */ +class CV_EXPORTS_W BackgroundSubtractorMOG2 : public BackgroundSubtractor +{ +public: + /** @brief Returns the number of last frames that affect the background model + */ + CV_WRAP virtual int getHistory() const = 0; + /** @brief Sets the number of last frames that affect the background model + */ + CV_WRAP virtual void setHistory(int history) = 0; + + /** @brief Returns the number of gaussian components in the background model + */ + CV_WRAP virtual int getNMixtures() const = 0; + /** @brief Sets the number of gaussian components in the background model. + + The model needs to be reinitalized to reserve memory. + */ + CV_WRAP virtual void setNMixtures(int nmixtures) = 0;//needs reinitialization! + + /** @brief Returns the "background ratio" parameter of the algorithm + + If a foreground pixel keeps semi-constant value for about backgroundRatio\*history frames, it's + considered background and added to the model as a center of a new component. It corresponds to TB + parameter in the paper. + */ + CV_WRAP virtual double getBackgroundRatio() const = 0; + /** @brief Sets the "background ratio" parameter of the algorithm + */ + CV_WRAP virtual void setBackgroundRatio(double ratio) = 0; + + /** @brief Returns the variance threshold for the pixel-model match + + The main threshold on the squared Mahalanobis distance to decide if the sample is well described by + the background model or not. Related to Cthr from the paper. + */ + CV_WRAP virtual double getVarThreshold() const = 0; + /** @brief Sets the variance threshold for the pixel-model match + */ + CV_WRAP virtual void setVarThreshold(double varThreshold) = 0; + + /** @brief Returns the variance threshold for the pixel-model match used for new mixture component generation + + Threshold for the squared Mahalanobis distance that helps decide when a sample is close to the + existing components (corresponds to Tg in the paper). If a pixel is not close to any component, it + is considered foreground or added as a new component. 3 sigma =\> Tg=3\*3=9 is default. A smaller Tg + value generates more components. A higher Tg value may result in a small number of components but + they can grow too large. + */ + CV_WRAP virtual double getVarThresholdGen() const = 0; + /** @brief Sets the variance threshold for the pixel-model match used for new mixture component generation + */ + CV_WRAP virtual void setVarThresholdGen(double varThresholdGen) = 0; + + /** @brief Returns the initial variance of each gaussian component + */ + CV_WRAP virtual double getVarInit() const = 0; + /** @brief Sets the initial variance of each gaussian component + */ + CV_WRAP virtual void setVarInit(double varInit) = 0; + + CV_WRAP virtual double getVarMin() const = 0; + CV_WRAP virtual void setVarMin(double varMin) = 0; + + CV_WRAP virtual double getVarMax() const = 0; + CV_WRAP virtual void setVarMax(double varMax) = 0; + + /** @brief Returns the complexity reduction threshold + + This parameter defines the number of samples needed to accept to prove the component exists. CT=0.05 + is a default value for all the samples. By setting CT=0 you get an algorithm very similar to the + standard Stauffer&Grimson algorithm. + */ + CV_WRAP virtual double getComplexityReductionThreshold() const = 0; + /** @brief Sets the complexity reduction threshold + */ + CV_WRAP virtual void setComplexityReductionThreshold(double ct) = 0; + + /** @brief Returns the shadow detection flag + + If true, the algorithm detects shadows and marks them. See createBackgroundSubtractorMOG2 for + details. + */ + CV_WRAP virtual bool getDetectShadows() const = 0; + /** @brief Enables or disables shadow detection + */ + CV_WRAP virtual void setDetectShadows(bool detectShadows) = 0; + + /** @brief Returns the shadow value + + Shadow value is the value used to mark shadows in the foreground mask. Default value is 127. Value 0 + in the mask always means background, 255 means foreground. + */ + CV_WRAP virtual int getShadowValue() const = 0; + /** @brief Sets the shadow value + */ + CV_WRAP virtual void setShadowValue(int value) = 0; + + /** @brief Returns the shadow threshold + + A shadow is detected if pixel is a darker version of the background. The shadow threshold (Tau in + the paper) is a threshold defining how much darker the shadow can be. Tau= 0.5 means that if a pixel + is more than twice darker then it is not shadow. See Prati, Mikic, Trivedi and Cucchiara, + *Detecting Moving Shadows...*, IEEE PAMI,2003. + */ + CV_WRAP virtual double getShadowThreshold() const = 0; + /** @brief Sets the shadow threshold + */ + CV_WRAP virtual void setShadowThreshold(double threshold) = 0; + + /** @brief Computes a foreground mask. + + @param image Next video frame. Floating point frame will be used without scaling and should be in range \f$[0,255]\f$. + @param fgmask The output foreground mask as an 8-bit binary image. + @param learningRate The value between 0 and 1 that indicates how fast the background model is + learnt. Negative parameter value makes the algorithm to use some automatically chosen learning + rate. 0 means that the background model is not updated at all, 1 means that the background model + is completely reinitialized from the last frame. + */ + CV_WRAP virtual void apply(InputArray image, OutputArray fgmask, double learningRate=-1) = 0; +}; + +/** @brief Creates MOG2 Background Subtractor + +@param history Length of the history. +@param varThreshold Threshold on the squared Mahalanobis distance between the pixel and the model +to decide whether a pixel is well described by the background model. This parameter does not +affect the background update. +@param detectShadows If true, the algorithm will detect shadows and mark them. It decreases the +speed a bit, so if you do not need this feature, set the parameter to false. + */ +CV_EXPORTS_W Ptr + createBackgroundSubtractorMOG2(int history=500, double varThreshold=16, + bool detectShadows=true); + +/** @brief K-nearest neigbours - based Background/Foreground Segmentation Algorithm. + +The class implements the K-nearest neigbours background subtraction described in @cite Zivkovic2006 . +Very efficient if number of foreground pixels is low. + */ +class CV_EXPORTS_W BackgroundSubtractorKNN : public BackgroundSubtractor +{ +public: + /** @brief Returns the number of last frames that affect the background model + */ + CV_WRAP virtual int getHistory() const = 0; + /** @brief Sets the number of last frames that affect the background model + */ + CV_WRAP virtual void setHistory(int history) = 0; + + /** @brief Returns the number of data samples in the background model + */ + CV_WRAP virtual int getNSamples() const = 0; + /** @brief Sets the number of data samples in the background model. + + The model needs to be reinitalized to reserve memory. + */ + CV_WRAP virtual void setNSamples(int _nN) = 0;//needs reinitialization! + + /** @brief Returns the threshold on the squared distance between the pixel and the sample + + The threshold on the squared distance between the pixel and the sample to decide whether a pixel is + close to a data sample. + */ + CV_WRAP virtual double getDist2Threshold() const = 0; + /** @brief Sets the threshold on the squared distance + */ + CV_WRAP virtual void setDist2Threshold(double _dist2Threshold) = 0; + + /** @brief Returns the number of neighbours, the k in the kNN. + + K is the number of samples that need to be within dist2Threshold in order to decide that that + pixel is matching the kNN background model. + */ + CV_WRAP virtual int getkNNSamples() const = 0; + /** @brief Sets the k in the kNN. How many nearest neigbours need to match. + */ + CV_WRAP virtual void setkNNSamples(int _nkNN) = 0; + + /** @brief Returns the shadow detection flag + + If true, the algorithm detects shadows and marks them. See createBackgroundSubtractorKNN for + details. + */ + CV_WRAP virtual bool getDetectShadows() const = 0; + /** @brief Enables or disables shadow detection + */ + CV_WRAP virtual void setDetectShadows(bool detectShadows) = 0; + + /** @brief Returns the shadow value + + Shadow value is the value used to mark shadows in the foreground mask. Default value is 127. Value 0 + in the mask always means background, 255 means foreground. + */ + CV_WRAP virtual int getShadowValue() const = 0; + /** @brief Sets the shadow value + */ + CV_WRAP virtual void setShadowValue(int value) = 0; + + /** @brief Returns the shadow threshold + + A shadow is detected if pixel is a darker version of the background. The shadow threshold (Tau in + the paper) is a threshold defining how much darker the shadow can be. Tau= 0.5 means that if a pixel + is more than twice darker then it is not shadow. See Prati, Mikic, Trivedi and Cucchiara, + *Detecting Moving Shadows...*, IEEE PAMI,2003. + */ + CV_WRAP virtual double getShadowThreshold() const = 0; + /** @brief Sets the shadow threshold + */ + CV_WRAP virtual void setShadowThreshold(double threshold) = 0; +}; + +/** @brief Creates KNN Background Subtractor + +@param history Length of the history. +@param dist2Threshold Threshold on the squared distance between the pixel and the sample to decide +whether a pixel is close to that sample. This parameter does not affect the background update. +@param detectShadows If true, the algorithm will detect shadows and mark them. It decreases the +speed a bit, so if you do not need this feature, set the parameter to false. + */ +CV_EXPORTS_W Ptr + createBackgroundSubtractorKNN(int history=500, double dist2Threshold=400.0, + bool detectShadows=true); + +//! @} video_motion + +} // cv + +#endif diff --git a/app/src/main/cpp/include/opencv2/video/tracking.hpp b/app/src/main/cpp/include/opencv2/video/tracking.hpp new file mode 100644 index 0000000..d397ac7 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/video/tracking.hpp @@ -0,0 +1,628 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_TRACKING_HPP +#define OPENCV_TRACKING_HPP + +#include "opencv2/core.hpp" +#include "opencv2/imgproc.hpp" + +namespace cv +{ + +//! @addtogroup video_track +//! @{ + +enum { OPTFLOW_USE_INITIAL_FLOW = 4, + OPTFLOW_LK_GET_MIN_EIGENVALS = 8, + OPTFLOW_FARNEBACK_GAUSSIAN = 256 + }; + +/** @brief Finds an object center, size, and orientation. + +@param probImage Back projection of the object histogram. See calcBackProject. +@param window Initial search window. +@param criteria Stop criteria for the underlying meanShift. +returns +(in old interfaces) Number of iterations CAMSHIFT took to converge +The function implements the CAMSHIFT object tracking algorithm @cite Bradski98 . First, it finds an +object center using meanShift and then adjusts the window size and finds the optimal rotation. The +function returns the rotated rectangle structure that includes the object position, size, and +orientation. The next position of the search window can be obtained with RotatedRect::boundingRect() + +See the OpenCV sample camshiftdemo.c that tracks colored objects. + +@note +- (Python) A sample explaining the camshift tracking algorithm can be found at + opencv_source_code/samples/python/camshift.py + */ +CV_EXPORTS_W RotatedRect CamShift( InputArray probImage, CV_IN_OUT Rect& window, + TermCriteria criteria ); +/** @example camshiftdemo.cpp +An example using the mean-shift tracking algorithm +*/ +/** @brief Finds an object on a back projection image. + +@param probImage Back projection of the object histogram. See calcBackProject for details. +@param window Initial search window. +@param criteria Stop criteria for the iterative search algorithm. +returns +: Number of iterations CAMSHIFT took to converge. +The function implements the iterative object search algorithm. It takes the input back projection of +an object and the initial position. The mass center in window of the back projection image is +computed and the search window center shifts to the mass center. The procedure is repeated until the +specified number of iterations criteria.maxCount is done or until the window center shifts by less +than criteria.epsilon. The algorithm is used inside CamShift and, unlike CamShift , the search +window size or orientation do not change during the search. You can simply pass the output of +calcBackProject to this function. But better results can be obtained if you pre-filter the back +projection and remove the noise. For example, you can do this by retrieving connected components +with findContours , throwing away contours with small area ( contourArea ), and rendering the +remaining contours with drawContours. + + */ +CV_EXPORTS_W int meanShift( InputArray probImage, CV_IN_OUT Rect& window, TermCriteria criteria ); + +/** @brief Constructs the image pyramid which can be passed to calcOpticalFlowPyrLK. + +@param img 8-bit input image. +@param pyramid output pyramid. +@param winSize window size of optical flow algorithm. Must be not less than winSize argument of +calcOpticalFlowPyrLK. It is needed to calculate required padding for pyramid levels. +@param maxLevel 0-based maximal pyramid level number. +@param withDerivatives set to precompute gradients for the every pyramid level. If pyramid is +constructed without the gradients then calcOpticalFlowPyrLK will calculate them internally. +@param pyrBorder the border mode for pyramid layers. +@param derivBorder the border mode for gradients. +@param tryReuseInputImage put ROI of input image into the pyramid if possible. You can pass false +to force data copying. +@return number of levels in constructed pyramid. Can be less than maxLevel. + */ +CV_EXPORTS_W int buildOpticalFlowPyramid( InputArray img, OutputArrayOfArrays pyramid, + Size winSize, int maxLevel, bool withDerivatives = true, + int pyrBorder = BORDER_REFLECT_101, + int derivBorder = BORDER_CONSTANT, + bool tryReuseInputImage = true ); + +/** @example lkdemo.cpp +An example using the Lucas-Kanade optical flow algorithm + */ +/** @brief Calculates an optical flow for a sparse feature set using the iterative Lucas-Kanade method with +pyramids. + +@param prevImg first 8-bit input image or pyramid constructed by buildOpticalFlowPyramid. +@param nextImg second input image or pyramid of the same size and the same type as prevImg. +@param prevPts vector of 2D points for which the flow needs to be found; point coordinates must be +single-precision floating-point numbers. +@param nextPts output vector of 2D points (with single-precision floating-point coordinates) +containing the calculated new positions of input features in the second image; when +OPTFLOW_USE_INITIAL_FLOW flag is passed, the vector must have the same size as in the input. +@param status output status vector (of unsigned chars); each element of the vector is set to 1 if +the flow for the corresponding features has been found, otherwise, it is set to 0. +@param err output vector of errors; each element of the vector is set to an error for the +corresponding feature, type of the error measure can be set in flags parameter; if the flow wasn't +found then the error is not defined (use the status parameter to find such cases). +@param winSize size of the search window at each pyramid level. +@param maxLevel 0-based maximal pyramid level number; if set to 0, pyramids are not used (single +level), if set to 1, two levels are used, and so on; if pyramids are passed to input then +algorithm will use as many levels as pyramids have but no more than maxLevel. +@param criteria parameter, specifying the termination criteria of the iterative search algorithm +(after the specified maximum number of iterations criteria.maxCount or when the search window +moves by less than criteria.epsilon. +@param flags operation flags: + - **OPTFLOW_USE_INITIAL_FLOW** uses initial estimations, stored in nextPts; if the flag is + not set, then prevPts is copied to nextPts and is considered the initial estimate. + - **OPTFLOW_LK_GET_MIN_EIGENVALS** use minimum eigen values as an error measure (see + minEigThreshold description); if the flag is not set, then L1 distance between patches + around the original and a moved point, divided by number of pixels in a window, is used as a + error measure. +@param minEigThreshold the algorithm calculates the minimum eigen value of a 2x2 normal matrix of +optical flow equations (this matrix is called a spatial gradient matrix in @cite Bouguet00), divided +by number of pixels in a window; if this value is less than minEigThreshold, then a corresponding +feature is filtered out and its flow is not processed, so it allows to remove bad points and get a +performance boost. + +The function implements a sparse iterative version of the Lucas-Kanade optical flow in pyramids. See +@cite Bouguet00 . The function is parallelized with the TBB library. + +@note + +- An example using the Lucas-Kanade optical flow algorithm can be found at + opencv_source_code/samples/cpp/lkdemo.cpp +- (Python) An example using the Lucas-Kanade optical flow algorithm can be found at + opencv_source_code/samples/python/lk_track.py +- (Python) An example using the Lucas-Kanade tracker for homography matching can be found at + opencv_source_code/samples/python/lk_homography.py + */ +CV_EXPORTS_W void calcOpticalFlowPyrLK( InputArray prevImg, InputArray nextImg, + InputArray prevPts, InputOutputArray nextPts, + OutputArray status, OutputArray err, + Size winSize = Size(21,21), int maxLevel = 3, + TermCriteria criteria = TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 30, 0.01), + int flags = 0, double minEigThreshold = 1e-4 ); + +/** @brief Computes a dense optical flow using the Gunnar Farneback's algorithm. + +@param prev first 8-bit single-channel input image. +@param next second input image of the same size and the same type as prev. +@param flow computed flow image that has the same size as prev and type CV_32FC2. +@param pyr_scale parameter, specifying the image scale (\<1) to build pyramids for each image; +pyr_scale=0.5 means a classical pyramid, where each next layer is twice smaller than the previous +one. +@param levels number of pyramid layers including the initial image; levels=1 means that no extra +layers are created and only the original images are used. +@param winsize averaging window size; larger values increase the algorithm robustness to image +noise and give more chances for fast motion detection, but yield more blurred motion field. +@param iterations number of iterations the algorithm does at each pyramid level. +@param poly_n size of the pixel neighborhood used to find polynomial expansion in each pixel; +larger values mean that the image will be approximated with smoother surfaces, yielding more +robust algorithm and more blurred motion field, typically poly_n =5 or 7. +@param poly_sigma standard deviation of the Gaussian that is used to smooth derivatives used as a +basis for the polynomial expansion; for poly_n=5, you can set poly_sigma=1.1, for poly_n=7, a +good value would be poly_sigma=1.5. +@param flags operation flags that can be a combination of the following: + - **OPTFLOW_USE_INITIAL_FLOW** uses the input flow as an initial flow approximation. + - **OPTFLOW_FARNEBACK_GAUSSIAN** uses the Gaussian \f$\texttt{winsize}\times\texttt{winsize}\f$ + filter instead of a box filter of the same size for optical flow estimation; usually, this + option gives z more accurate flow than with a box filter, at the cost of lower speed; + normally, winsize for a Gaussian window should be set to a larger value to achieve the same + level of robustness. + +The function finds an optical flow for each prev pixel using the @cite Farneback2003 algorithm so that + +\f[\texttt{prev} (y,x) \sim \texttt{next} ( y + \texttt{flow} (y,x)[1], x + \texttt{flow} (y,x)[0])\f] + +@note + +- An example using the optical flow algorithm described by Gunnar Farneback can be found at + opencv_source_code/samples/cpp/fback.cpp +- (Python) An example using the optical flow algorithm described by Gunnar Farneback can be + found at opencv_source_code/samples/python/opt_flow.py + */ +CV_EXPORTS_W void calcOpticalFlowFarneback( InputArray prev, InputArray next, InputOutputArray flow, + double pyr_scale, int levels, int winsize, + int iterations, int poly_n, double poly_sigma, + int flags ); + +/** @brief Computes an optimal affine transformation between two 2D point sets. + +@param src First input 2D point set stored in std::vector or Mat, or an image stored in Mat. +@param dst Second input 2D point set of the same size and the same type as A, or another image. +@param fullAffine If true, the function finds an optimal affine transformation with no additional +restrictions (6 degrees of freedom). Otherwise, the class of transformations to choose from is +limited to combinations of translation, rotation, and uniform scaling (4 degrees of freedom). + +The function finds an optimal affine transform *[A|b]* (a 2 x 3 floating-point matrix) that +approximates best the affine transformation between: + +* Two point sets +* Two raster images. In this case, the function first finds some features in the src image and + finds the corresponding features in dst image. After that, the problem is reduced to the first + case. +In case of point sets, the problem is formulated as follows: you need to find a 2x2 matrix *A* and +2x1 vector *b* so that: + +\f[[A^*|b^*] = arg \min _{[A|b]} \sum _i \| \texttt{dst}[i] - A { \texttt{src}[i]}^T - b \| ^2\f] +where src[i] and dst[i] are the i-th points in src and dst, respectively +\f$[A|b]\f$ can be either arbitrary (when fullAffine=true ) or have a form of +\f[\begin{bmatrix} a_{11} & a_{12} & b_1 \\ -a_{12} & a_{11} & b_2 \end{bmatrix}\f] +when fullAffine=false. + +@sa +estimateAffine2D, estimateAffinePartial2D, getAffineTransform, getPerspectiveTransform, findHomography + */ +CV_EXPORTS_W Mat estimateRigidTransform( InputArray src, InputArray dst, bool fullAffine ); + + +enum +{ + MOTION_TRANSLATION = 0, + MOTION_EUCLIDEAN = 1, + MOTION_AFFINE = 2, + MOTION_HOMOGRAPHY = 3 +}; + +/** @example image_alignment.cpp +An example using the image alignment ECC algorithm + */ + +/** @brief Finds the geometric transform (warp) between two images in terms of the ECC criterion @cite EP08 . + +@param templateImage single-channel template image; CV_8U or CV_32F array. +@param inputImage single-channel input image which should be warped with the final warpMatrix in +order to provide an image similar to templateImage, same type as temlateImage. +@param warpMatrix floating-point \f$2\times 3\f$ or \f$3\times 3\f$ mapping matrix (warp). +@param motionType parameter, specifying the type of motion: + - **MOTION_TRANSLATION** sets a translational motion model; warpMatrix is \f$2\times 3\f$ with + the first \f$2\times 2\f$ part being the unity matrix and the rest two parameters being + estimated. + - **MOTION_EUCLIDEAN** sets a Euclidean (rigid) transformation as motion model; three + parameters are estimated; warpMatrix is \f$2\times 3\f$. + - **MOTION_AFFINE** sets an affine motion model (DEFAULT); six parameters are estimated; + warpMatrix is \f$2\times 3\f$. + - **MOTION_HOMOGRAPHY** sets a homography as a motion model; eight parameters are + estimated;\`warpMatrix\` is \f$3\times 3\f$. +@param criteria parameter, specifying the termination criteria of the ECC algorithm; +criteria.epsilon defines the threshold of the increment in the correlation coefficient between two +iterations (a negative criteria.epsilon makes criteria.maxcount the only termination criterion). +Default values are shown in the declaration above. +@param inputMask An optional mask to indicate valid values of inputImage. + +The function estimates the optimum transformation (warpMatrix) with respect to ECC criterion +(@cite EP08), that is + +\f[\texttt{warpMatrix} = \texttt{warpMatrix} = \arg\max_{W} \texttt{ECC}(\texttt{templateImage}(x,y),\texttt{inputImage}(x',y'))\f] + +where + +\f[\begin{bmatrix} x' \\ y' \end{bmatrix} = W \cdot \begin{bmatrix} x \\ y \\ 1 \end{bmatrix}\f] + +(the equation holds with homogeneous coordinates for homography). It returns the final enhanced +correlation coefficient, that is the correlation coefficient between the template image and the +final warped input image. When a \f$3\times 3\f$ matrix is given with motionType =0, 1 or 2, the third +row is ignored. + +Unlike findHomography and estimateRigidTransform, the function findTransformECC implements an +area-based alignment that builds on intensity similarities. In essence, the function updates the +initial transformation that roughly aligns the images. If this information is missing, the identity +warp (unity matrix) is used as an initialization. Note that if images undergo strong +displacements/rotations, an initial transformation that roughly aligns the images is necessary +(e.g., a simple euclidean/similarity transform that allows for the images showing the same image +content approximately). Use inverse warping in the second image to take an image close to the first +one, i.e. use the flag WARP_INVERSE_MAP with warpAffine or warpPerspective. See also the OpenCV +sample image_alignment.cpp that demonstrates the use of the function. Note that the function throws +an exception if algorithm does not converges. + +@sa +estimateAffine2D, estimateAffinePartial2D, findHomography + */ +CV_EXPORTS_W double findTransformECC( InputArray templateImage, InputArray inputImage, + InputOutputArray warpMatrix, int motionType = MOTION_AFFINE, + TermCriteria criteria = TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 50, 0.001), + InputArray inputMask = noArray()); + +/** @example kalman.cpp +An example using the standard Kalman filter +*/ +/** @brief Kalman filter class. + +The class implements a standard Kalman filter , +@cite Welch95 . However, you can modify transitionMatrix, controlMatrix, and measurementMatrix to get +an extended Kalman filter functionality. +@note In C API when CvKalman\* kalmanFilter structure is not needed anymore, it should be released +with cvReleaseKalman(&kalmanFilter) + */ +class CV_EXPORTS_W KalmanFilter +{ +public: + CV_WRAP KalmanFilter(); + /** @overload + @param dynamParams Dimensionality of the state. + @param measureParams Dimensionality of the measurement. + @param controlParams Dimensionality of the control vector. + @param type Type of the created matrices that should be CV_32F or CV_64F. + */ + CV_WRAP KalmanFilter( int dynamParams, int measureParams, int controlParams = 0, int type = CV_32F ); + + /** @brief Re-initializes Kalman filter. The previous content is destroyed. + + @param dynamParams Dimensionality of the state. + @param measureParams Dimensionality of the measurement. + @param controlParams Dimensionality of the control vector. + @param type Type of the created matrices that should be CV_32F or CV_64F. + */ + void init( int dynamParams, int measureParams, int controlParams = 0, int type = CV_32F ); + + /** @brief Computes a predicted state. + + @param control The optional input control + */ + CV_WRAP const Mat& predict( const Mat& control = Mat() ); + + /** @brief Updates the predicted state from the measurement. + + @param measurement The measured system parameters + */ + CV_WRAP const Mat& correct( const Mat& measurement ); + + CV_PROP_RW Mat statePre; //!< predicted state (x'(k)): x(k)=A*x(k-1)+B*u(k) + CV_PROP_RW Mat statePost; //!< corrected state (x(k)): x(k)=x'(k)+K(k)*(z(k)-H*x'(k)) + CV_PROP_RW Mat transitionMatrix; //!< state transition matrix (A) + CV_PROP_RW Mat controlMatrix; //!< control matrix (B) (not used if there is no control) + CV_PROP_RW Mat measurementMatrix; //!< measurement matrix (H) + CV_PROP_RW Mat processNoiseCov; //!< process noise covariance matrix (Q) + CV_PROP_RW Mat measurementNoiseCov;//!< measurement noise covariance matrix (R) + CV_PROP_RW Mat errorCovPre; //!< priori error estimate covariance matrix (P'(k)): P'(k)=A*P(k-1)*At + Q)*/ + CV_PROP_RW Mat gain; //!< Kalman gain matrix (K(k)): K(k)=P'(k)*Ht*inv(H*P'(k)*Ht+R) + CV_PROP_RW Mat errorCovPost; //!< posteriori error estimate covariance matrix (P(k)): P(k)=(I-K(k)*H)*P'(k) + + // temporary matrices + Mat temp1; + Mat temp2; + Mat temp3; + Mat temp4; + Mat temp5; +}; + + +class CV_EXPORTS_W DenseOpticalFlow : public Algorithm +{ +public: + /** @brief Calculates an optical flow. + + @param I0 first 8-bit single-channel input image. + @param I1 second input image of the same size and the same type as prev. + @param flow computed flow image that has the same size as prev and type CV_32FC2. + */ + CV_WRAP virtual void calc( InputArray I0, InputArray I1, InputOutputArray flow ) = 0; + /** @brief Releases all inner buffers. + */ + CV_WRAP virtual void collectGarbage() = 0; +}; + +/** @brief Base interface for sparse optical flow algorithms. + */ +class CV_EXPORTS_W SparseOpticalFlow : public Algorithm +{ +public: + /** @brief Calculates a sparse optical flow. + + @param prevImg First input image. + @param nextImg Second input image of the same size and the same type as prevImg. + @param prevPts Vector of 2D points for which the flow needs to be found. + @param nextPts Output vector of 2D points containing the calculated new positions of input features in the second image. + @param status Output status vector. Each element of the vector is set to 1 if the + flow for the corresponding features has been found. Otherwise, it is set to 0. + @param err Optional output vector that contains error response for each point (inverse confidence). + */ + CV_WRAP virtual void calc(InputArray prevImg, InputArray nextImg, + InputArray prevPts, InputOutputArray nextPts, + OutputArray status, + OutputArray err = cv::noArray()) = 0; +}; + +/** @brief "Dual TV L1" Optical Flow Algorithm. + +The class implements the "Dual TV L1" optical flow algorithm described in @cite Zach2007 and +@cite Javier2012 . +Here are important members of the class that control the algorithm, which you can set after +constructing the class instance: + +- member double tau + Time step of the numerical scheme. + +- member double lambda + Weight parameter for the data term, attachment parameter. This is the most relevant + parameter, which determines the smoothness of the output. The smaller this parameter is, + the smoother the solutions we obtain. It depends on the range of motions of the images, so + its value should be adapted to each image sequence. + +- member double theta + Weight parameter for (u - v)\^2, tightness parameter. It serves as a link between the + attachment and the regularization terms. In theory, it should have a small value in order + to maintain both parts in correspondence. The method is stable for a large range of values + of this parameter. + +- member int nscales + Number of scales used to create the pyramid of images. + +- member int warps + Number of warpings per scale. Represents the number of times that I1(x+u0) and grad( + I1(x+u0) ) are computed per scale. This is a parameter that assures the stability of the + method. It also affects the running time, so it is a compromise between speed and + accuracy. + +- member double epsilon + Stopping criterion threshold used in the numerical scheme, which is a trade-off between + precision and running time. A small value will yield more accurate solutions at the + expense of a slower convergence. + +- member int iterations + Stopping criterion iterations number used in the numerical scheme. + +C. Zach, T. Pock and H. Bischof, "A Duality Based Approach for Realtime TV-L1 Optical Flow". +Javier Sanchez, Enric Meinhardt-Llopis and Gabriele Facciolo. "TV-L1 Optical Flow Estimation". +*/ +class CV_EXPORTS_W DualTVL1OpticalFlow : public DenseOpticalFlow +{ +public: + //! @brief Time step of the numerical scheme + /** @see setTau */ + CV_WRAP virtual double getTau() const = 0; + /** @copybrief getTau @see getTau */ + CV_WRAP virtual void setTau(double val) = 0; + //! @brief Weight parameter for the data term, attachment parameter + /** @see setLambda */ + CV_WRAP virtual double getLambda() const = 0; + /** @copybrief getLambda @see getLambda */ + CV_WRAP virtual void setLambda(double val) = 0; + //! @brief Weight parameter for (u - v)^2, tightness parameter + /** @see setTheta */ + CV_WRAP virtual double getTheta() const = 0; + /** @copybrief getTheta @see getTheta */ + CV_WRAP virtual void setTheta(double val) = 0; + //! @brief coefficient for additional illumination variation term + /** @see setGamma */ + CV_WRAP virtual double getGamma() const = 0; + /** @copybrief getGamma @see getGamma */ + CV_WRAP virtual void setGamma(double val) = 0; + //! @brief Number of scales used to create the pyramid of images + /** @see setScalesNumber */ + CV_WRAP virtual int getScalesNumber() const = 0; + /** @copybrief getScalesNumber @see getScalesNumber */ + CV_WRAP virtual void setScalesNumber(int val) = 0; + //! @brief Number of warpings per scale + /** @see setWarpingsNumber */ + CV_WRAP virtual int getWarpingsNumber() const = 0; + /** @copybrief getWarpingsNumber @see getWarpingsNumber */ + CV_WRAP virtual void setWarpingsNumber(int val) = 0; + //! @brief Stopping criterion threshold used in the numerical scheme, which is a trade-off between precision and running time + /** @see setEpsilon */ + CV_WRAP virtual double getEpsilon() const = 0; + /** @copybrief getEpsilon @see getEpsilon */ + CV_WRAP virtual void setEpsilon(double val) = 0; + //! @brief Inner iterations (between outlier filtering) used in the numerical scheme + /** @see setInnerIterations */ + CV_WRAP virtual int getInnerIterations() const = 0; + /** @copybrief getInnerIterations @see getInnerIterations */ + CV_WRAP virtual void setInnerIterations(int val) = 0; + //! @brief Outer iterations (number of inner loops) used in the numerical scheme + /** @see setOuterIterations */ + CV_WRAP virtual int getOuterIterations() const = 0; + /** @copybrief getOuterIterations @see getOuterIterations */ + CV_WRAP virtual void setOuterIterations(int val) = 0; + //! @brief Use initial flow + /** @see setUseInitialFlow */ + CV_WRAP virtual bool getUseInitialFlow() const = 0; + /** @copybrief getUseInitialFlow @see getUseInitialFlow */ + CV_WRAP virtual void setUseInitialFlow(bool val) = 0; + //! @brief Step between scales (<1) + /** @see setScaleStep */ + CV_WRAP virtual double getScaleStep() const = 0; + /** @copybrief getScaleStep @see getScaleStep */ + CV_WRAP virtual void setScaleStep(double val) = 0; + //! @brief Median filter kernel size (1 = no filter) (3 or 5) + /** @see setMedianFiltering */ + CV_WRAP virtual int getMedianFiltering() const = 0; + /** @copybrief getMedianFiltering @see getMedianFiltering */ + CV_WRAP virtual void setMedianFiltering(int val) = 0; + + /** @brief Creates instance of cv::DualTVL1OpticalFlow*/ + CV_WRAP static Ptr create( + double tau = 0.25, + double lambda = 0.15, + double theta = 0.3, + int nscales = 5, + int warps = 5, + double epsilon = 0.01, + int innnerIterations = 30, + int outerIterations = 10, + double scaleStep = 0.8, + double gamma = 0.0, + int medianFiltering = 5, + bool useInitialFlow = false); +}; + +/** @brief Creates instance of cv::DenseOpticalFlow +*/ +CV_EXPORTS_W Ptr createOptFlow_DualTVL1(); + +/** @brief Class computing a dense optical flow using the Gunnar Farneback's algorithm. + */ +class CV_EXPORTS_W FarnebackOpticalFlow : public DenseOpticalFlow +{ +public: + CV_WRAP virtual int getNumLevels() const = 0; + CV_WRAP virtual void setNumLevels(int numLevels) = 0; + + CV_WRAP virtual double getPyrScale() const = 0; + CV_WRAP virtual void setPyrScale(double pyrScale) = 0; + + CV_WRAP virtual bool getFastPyramids() const = 0; + CV_WRAP virtual void setFastPyramids(bool fastPyramids) = 0; + + CV_WRAP virtual int getWinSize() const = 0; + CV_WRAP virtual void setWinSize(int winSize) = 0; + + CV_WRAP virtual int getNumIters() const = 0; + CV_WRAP virtual void setNumIters(int numIters) = 0; + + CV_WRAP virtual int getPolyN() const = 0; + CV_WRAP virtual void setPolyN(int polyN) = 0; + + CV_WRAP virtual double getPolySigma() const = 0; + CV_WRAP virtual void setPolySigma(double polySigma) = 0; + + CV_WRAP virtual int getFlags() const = 0; + CV_WRAP virtual void setFlags(int flags) = 0; + + CV_WRAP static Ptr create( + int numLevels = 5, + double pyrScale = 0.5, + bool fastPyramids = false, + int winSize = 13, + int numIters = 10, + int polyN = 5, + double polySigma = 1.1, + int flags = 0); +}; + + +/** @brief Class used for calculating a sparse optical flow. + +The class can calculate an optical flow for a sparse feature set using the +iterative Lucas-Kanade method with pyramids. + +@sa calcOpticalFlowPyrLK + +*/ +class CV_EXPORTS_W SparsePyrLKOpticalFlow : public SparseOpticalFlow +{ +public: + CV_WRAP virtual Size getWinSize() const = 0; + CV_WRAP virtual void setWinSize(Size winSize) = 0; + + CV_WRAP virtual int getMaxLevel() const = 0; + CV_WRAP virtual void setMaxLevel(int maxLevel) = 0; + + CV_WRAP virtual TermCriteria getTermCriteria() const = 0; + CV_WRAP virtual void setTermCriteria(TermCriteria& crit) = 0; + + CV_WRAP virtual int getFlags() const = 0; + CV_WRAP virtual void setFlags(int flags) = 0; + + CV_WRAP virtual double getMinEigThreshold() const = 0; + CV_WRAP virtual void setMinEigThreshold(double minEigThreshold) = 0; + + CV_WRAP static Ptr create( + Size winSize = Size(21, 21), + int maxLevel = 3, TermCriteria crit = + TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 30, 0.01), + int flags = 0, + double minEigThreshold = 1e-4); +}; + +//! @} video_track + +} // cv + +#endif diff --git a/app/src/main/cpp/include/opencv2/video/tracking_c.h b/app/src/main/cpp/include/opencv2/video/tracking_c.h new file mode 100644 index 0000000..3e32fbd --- /dev/null +++ b/app/src/main/cpp/include/opencv2/video/tracking_c.h @@ -0,0 +1,232 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_TRACKING_C_H +#define OPENCV_TRACKING_C_H + +#include "opencv2/imgproc/types_c.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** @addtogroup video_c + @{ +*/ + +/****************************************************************************************\ +* Motion Analysis * +\****************************************************************************************/ + +/************************************ optical flow ***************************************/ + +#define CV_LKFLOW_PYR_A_READY 1 +#define CV_LKFLOW_PYR_B_READY 2 +#define CV_LKFLOW_INITIAL_GUESSES 4 +#define CV_LKFLOW_GET_MIN_EIGENVALS 8 + +/* It is Lucas & Kanade method, modified to use pyramids. + Also it does several iterations to get optical flow for + every point at every pyramid level. + Calculates optical flow between two images for certain set of points (i.e. + it is a "sparse" optical flow, which is opposite to the previous 3 methods) */ +CVAPI(void) cvCalcOpticalFlowPyrLK( const CvArr* prev, const CvArr* curr, + CvArr* prev_pyr, CvArr* curr_pyr, + const CvPoint2D32f* prev_features, + CvPoint2D32f* curr_features, + int count, + CvSize win_size, + int level, + char* status, + float* track_error, + CvTermCriteria criteria, + int flags ); + + +/* Modification of a previous sparse optical flow algorithm to calculate + affine flow */ +CVAPI(void) cvCalcAffineFlowPyrLK( const CvArr* prev, const CvArr* curr, + CvArr* prev_pyr, CvArr* curr_pyr, + const CvPoint2D32f* prev_features, + CvPoint2D32f* curr_features, + float* matrices, int count, + CvSize win_size, int level, + char* status, float* track_error, + CvTermCriteria criteria, int flags ); + +/* Estimate rigid transformation between 2 images or 2 point sets */ +CVAPI(int) cvEstimateRigidTransform( const CvArr* A, const CvArr* B, + CvMat* M, int full_affine ); + +/* Estimate optical flow for each pixel using the two-frame G. Farneback algorithm */ +CVAPI(void) cvCalcOpticalFlowFarneback( const CvArr* prev, const CvArr* next, + CvArr* flow, double pyr_scale, int levels, + int winsize, int iterations, int poly_n, + double poly_sigma, int flags ); + +/********************************* motion templates *************************************/ + +/****************************************************************************************\ +* All the motion template functions work only with single channel images. * +* Silhouette image must have depth IPL_DEPTH_8U or IPL_DEPTH_8S * +* Motion history image must have depth IPL_DEPTH_32F, * +* Gradient mask - IPL_DEPTH_8U or IPL_DEPTH_8S, * +* Motion orientation image - IPL_DEPTH_32F * +* Segmentation mask - IPL_DEPTH_32F * +* All the angles are in degrees, all the times are in milliseconds * +\****************************************************************************************/ + +/* Updates motion history image given motion silhouette */ +CVAPI(void) cvUpdateMotionHistory( const CvArr* silhouette, CvArr* mhi, + double timestamp, double duration ); + +/* Calculates gradient of the motion history image and fills + a mask indicating where the gradient is valid */ +CVAPI(void) cvCalcMotionGradient( const CvArr* mhi, CvArr* mask, CvArr* orientation, + double delta1, double delta2, + int aperture_size CV_DEFAULT(3)); + +/* Calculates average motion direction within a selected motion region + (region can be selected by setting ROIs and/or by composing a valid gradient mask + with the region mask) */ +CVAPI(double) cvCalcGlobalOrientation( const CvArr* orientation, const CvArr* mask, + const CvArr* mhi, double timestamp, + double duration ); + +/* Splits a motion history image into a few parts corresponding to separate independent motions + (e.g. left hand, right hand) */ +CVAPI(CvSeq*) cvSegmentMotion( const CvArr* mhi, CvArr* seg_mask, + CvMemStorage* storage, + double timestamp, double seg_thresh ); + +/****************************************************************************************\ +* Tracking * +\****************************************************************************************/ + +/* Implements CAMSHIFT algorithm - determines object position, size and orientation + from the object histogram back project (extension of meanshift) */ +CVAPI(int) cvCamShift( const CvArr* prob_image, CvRect window, + CvTermCriteria criteria, CvConnectedComp* comp, + CvBox2D* box CV_DEFAULT(NULL) ); + +/* Implements MeanShift algorithm - determines object position + from the object histogram back project */ +CVAPI(int) cvMeanShift( const CvArr* prob_image, CvRect window, + CvTermCriteria criteria, CvConnectedComp* comp ); + +/* +standard Kalman filter (in G. Welch' and G. Bishop's notation): + + x(k)=A*x(k-1)+B*u(k)+w(k) p(w)~N(0,Q) + z(k)=H*x(k)+v(k), p(v)~N(0,R) +*/ +typedef struct CvKalman +{ + int MP; /* number of measurement vector dimensions */ + int DP; /* number of state vector dimensions */ + int CP; /* number of control vector dimensions */ + + /* backward compatibility fields */ +#if 1 + float* PosterState; /* =state_pre->data.fl */ + float* PriorState; /* =state_post->data.fl */ + float* DynamMatr; /* =transition_matrix->data.fl */ + float* MeasurementMatr; /* =measurement_matrix->data.fl */ + float* MNCovariance; /* =measurement_noise_cov->data.fl */ + float* PNCovariance; /* =process_noise_cov->data.fl */ + float* KalmGainMatr; /* =gain->data.fl */ + float* PriorErrorCovariance;/* =error_cov_pre->data.fl */ + float* PosterErrorCovariance;/* =error_cov_post->data.fl */ + float* Temp1; /* temp1->data.fl */ + float* Temp2; /* temp2->data.fl */ +#endif + + CvMat* state_pre; /* predicted state (x'(k)): + x(k)=A*x(k-1)+B*u(k) */ + CvMat* state_post; /* corrected state (x(k)): + x(k)=x'(k)+K(k)*(z(k)-H*x'(k)) */ + CvMat* transition_matrix; /* state transition matrix (A) */ + CvMat* control_matrix; /* control matrix (B) + (it is not used if there is no control)*/ + CvMat* measurement_matrix; /* measurement matrix (H) */ + CvMat* process_noise_cov; /* process noise covariance matrix (Q) */ + CvMat* measurement_noise_cov; /* measurement noise covariance matrix (R) */ + CvMat* error_cov_pre; /* priori error estimate covariance matrix (P'(k)): + P'(k)=A*P(k-1)*At + Q)*/ + CvMat* gain; /* Kalman gain matrix (K(k)): + K(k)=P'(k)*Ht*inv(H*P'(k)*Ht+R)*/ + CvMat* error_cov_post; /* posteriori error estimate covariance matrix (P(k)): + P(k)=(I-K(k)*H)*P'(k) */ + CvMat* temp1; /* temporary matrices */ + CvMat* temp2; + CvMat* temp3; + CvMat* temp4; + CvMat* temp5; +} CvKalman; + +/* Creates Kalman filter and sets A, B, Q, R and state to some initial values */ +CVAPI(CvKalman*) cvCreateKalman( int dynam_params, int measure_params, + int control_params CV_DEFAULT(0)); + +/* Releases Kalman filter state */ +CVAPI(void) cvReleaseKalman( CvKalman** kalman); + +/* Updates Kalman filter by time (predicts future state of the system) */ +CVAPI(const CvMat*) cvKalmanPredict( CvKalman* kalman, + const CvMat* control CV_DEFAULT(NULL)); + +/* Updates Kalman filter by measurement + (corrects state of the system and internal matrices) */ +CVAPI(const CvMat*) cvKalmanCorrect( CvKalman* kalman, const CvMat* measurement ); + +#define cvKalmanUpdateByTime cvKalmanPredict +#define cvKalmanUpdateByMeasurement cvKalmanCorrect + +/** @} video_c */ + +#ifdef __cplusplus +} // extern "C" +#endif + + +#endif // OPENCV_TRACKING_C_H diff --git a/app/src/main/cpp/include/opencv2/video/video.hpp b/app/src/main/cpp/include/opencv2/video/video.hpp new file mode 100644 index 0000000..8267b85 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/video/video.hpp @@ -0,0 +1,48 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/video.hpp" diff --git a/app/src/main/cpp/include/opencv2/videoio.hpp b/app/src/main/cpp/include/opencv2/videoio.hpp new file mode 100644 index 0000000..96d8df6 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videoio.hpp @@ -0,0 +1,952 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOIO_HPP +#define OPENCV_VIDEOIO_HPP + +#include "opencv2/core.hpp" + +/** + @defgroup videoio Video I/O + + @brief Read and write video or images sequence with OpenCV + + ### See also: + - @ref videoio_overview + - Tutorials: @ref tutorial_table_of_content_videoio + @{ + @defgroup videoio_flags_base Flags for video I/O + @defgroup videoio_flags_others Additional flags for video I/O API backends + @defgroup videoio_c C API for video I/O + @defgroup videoio_ios iOS glue for video I/O + @defgroup videoio_winrt WinRT glue for video I/O + @} +*/ + +////////////////////////////////// video io ///////////////////////////////// + +typedef struct CvCapture CvCapture; +typedef struct CvVideoWriter CvVideoWriter; + +namespace cv +{ + +//! @addtogroup videoio +//! @{ + +//! @addtogroup videoio_flags_base +//! @{ + + +/** @brief %VideoCapture API backends identifier. + +Select preferred API for a capture object. +To be used in the VideoCapture::VideoCapture() constructor or VideoCapture::open() + +@note Backends are available only if they have been built with your OpenCV binaries. +See @ref videoio_overview for more information. +*/ +enum VideoCaptureAPIs { + CAP_ANY = 0, //!< Auto detect == 0 + CAP_VFW = 200, //!< Video For Windows (platform native) + CAP_V4L = 200, //!< V4L/V4L2 capturing support via libv4l + CAP_V4L2 = CAP_V4L, //!< Same as CAP_V4L + CAP_FIREWIRE = 300, //!< IEEE 1394 drivers + CAP_FIREWARE = CAP_FIREWIRE, //!< Same as CAP_FIREWIRE + CAP_IEEE1394 = CAP_FIREWIRE, //!< Same as CAP_FIREWIRE + CAP_DC1394 = CAP_FIREWIRE, //!< Same as CAP_FIREWIRE + CAP_CMU1394 = CAP_FIREWIRE, //!< Same as CAP_FIREWIRE + CAP_QT = 500, //!< QuickTime + CAP_UNICAP = 600, //!< Unicap drivers + CAP_DSHOW = 700, //!< DirectShow (via videoInput) + CAP_PVAPI = 800, //!< PvAPI, Prosilica GigE SDK + CAP_OPENNI = 900, //!< OpenNI (for Kinect) + CAP_OPENNI_ASUS = 910, //!< OpenNI (for Asus Xtion) + CAP_ANDROID = 1000, //!< Android - not used + CAP_XIAPI = 1100, //!< XIMEA Camera API + CAP_AVFOUNDATION = 1200, //!< AVFoundation framework for iOS (OS X Lion will have the same API) + CAP_GIGANETIX = 1300, //!< Smartek Giganetix GigEVisionSDK + CAP_MSMF = 1400, //!< Microsoft Media Foundation (via videoInput) + CAP_WINRT = 1410, //!< Microsoft Windows Runtime using Media Foundation + CAP_INTELPERC = 1500, //!< Intel Perceptual Computing SDK + CAP_OPENNI2 = 1600, //!< OpenNI2 (for Kinect) + CAP_OPENNI2_ASUS = 1610, //!< OpenNI2 (for Asus Xtion and Occipital Structure sensors) + CAP_GPHOTO2 = 1700, //!< gPhoto2 connection + CAP_GSTREAMER = 1800, //!< GStreamer + CAP_FFMPEG = 1900, //!< Open and record video file or stream using the FFMPEG library + CAP_IMAGES = 2000, //!< OpenCV Image Sequence (e.g. img_%02d.jpg) + CAP_ARAVIS = 2100, //!< Aravis SDK + CAP_OPENCV_MJPEG = 2200, //!< Built-in OpenCV MotionJPEG codec + CAP_INTEL_MFX = 2300 //!< Intel MediaSDK + }; + +/** @brief %VideoCapture generic properties identifier. + + Reading / writing properties involves many layers. Some unexpected result might happens along this chain. + Effective behaviour depends from device hardware, driver and API Backend. + @sa videoio_flags_others, VideoCapture::get(), VideoCapture::set() +*/ +enum VideoCaptureProperties { + CAP_PROP_POS_MSEC =0, //!< Current position of the video file in milliseconds. + CAP_PROP_POS_FRAMES =1, //!< 0-based index of the frame to be decoded/captured next. + CAP_PROP_POS_AVI_RATIO =2, //!< Relative position of the video file: 0=start of the film, 1=end of the film. + CAP_PROP_FRAME_WIDTH =3, //!< Width of the frames in the video stream. + CAP_PROP_FRAME_HEIGHT =4, //!< Height of the frames in the video stream. + CAP_PROP_FPS =5, //!< Frame rate. + CAP_PROP_FOURCC =6, //!< 4-character code of codec. see VideoWriter::fourcc . + CAP_PROP_FRAME_COUNT =7, //!< Number of frames in the video file. + CAP_PROP_FORMAT =8, //!< Format of the %Mat objects returned by VideoCapture::retrieve(). + CAP_PROP_MODE =9, //!< Backend-specific value indicating the current capture mode. + CAP_PROP_BRIGHTNESS =10, //!< Brightness of the image (only for those cameras that support). + CAP_PROP_CONTRAST =11, //!< Contrast of the image (only for cameras). + CAP_PROP_SATURATION =12, //!< Saturation of the image (only for cameras). + CAP_PROP_HUE =13, //!< Hue of the image (only for cameras). + CAP_PROP_GAIN =14, //!< Gain of the image (only for those cameras that support). + CAP_PROP_EXPOSURE =15, //!< Exposure (only for those cameras that support). + CAP_PROP_CONVERT_RGB =16, //!< Boolean flags indicating whether images should be converted to RGB. + CAP_PROP_WHITE_BALANCE_BLUE_U =17, //!< Currently unsupported. + CAP_PROP_RECTIFICATION =18, //!< Rectification flag for stereo cameras (note: only supported by DC1394 v 2.x backend currently). + CAP_PROP_MONOCHROME =19, + CAP_PROP_SHARPNESS =20, + CAP_PROP_AUTO_EXPOSURE =21, //!< DC1394: exposure control done by camera, user can adjust reference level using this feature. + CAP_PROP_GAMMA =22, + CAP_PROP_TEMPERATURE =23, + CAP_PROP_TRIGGER =24, + CAP_PROP_TRIGGER_DELAY =25, + CAP_PROP_WHITE_BALANCE_RED_V =26, + CAP_PROP_ZOOM =27, + CAP_PROP_FOCUS =28, + CAP_PROP_GUID =29, + CAP_PROP_ISO_SPEED =30, + CAP_PROP_BACKLIGHT =32, + CAP_PROP_PAN =33, + CAP_PROP_TILT =34, + CAP_PROP_ROLL =35, + CAP_PROP_IRIS =36, + CAP_PROP_SETTINGS =37, //!< Pop up video/camera filter dialog (note: only supported by DSHOW backend currently. The property value is ignored) + CAP_PROP_BUFFERSIZE =38, + CAP_PROP_AUTOFOCUS =39 + }; + + +/** @brief Generic camera output modes identifier. +@note Currently, these are supported through the libv4l backend only. +*/ +enum VideoCaptureModes { + CAP_MODE_BGR = 0, //!< BGR24 (default) + CAP_MODE_RGB = 1, //!< RGB24 + CAP_MODE_GRAY = 2, //!< Y8 + CAP_MODE_YUYV = 3 //!< YUYV + }; + +/** @brief %VideoWriter generic properties identifier. + @sa VideoWriter::get(), VideoWriter::set() +*/ +enum VideoWriterProperties { + VIDEOWRITER_PROP_QUALITY = 1, //!< Current quality (0..100%) of the encoded videostream. Can be adjusted dynamically in some codecs. + VIDEOWRITER_PROP_FRAMEBYTES = 2, //!< (Read-only): Size of just encoded video frame. Note that the encoding order may be different from representation order. + VIDEOWRITER_PROP_NSTRIPES = 3 //!< Number of stripes for parallel encoding. -1 for auto detection. +}; + +//! @} videoio_flags_base + +//! @addtogroup videoio_flags_others +//! @{ + +/** @name IEEE 1394 drivers + @{ +*/ + +/** @brief Modes of the IEEE 1394 controlling registers +(can be: auto, manual, auto single push, absolute Latter allowed with any other mode) +every feature can have only one mode turned on at a time +*/ +enum { CAP_PROP_DC1394_OFF = -4, //!< turn the feature off (not controlled manually nor automatically). + CAP_PROP_DC1394_MODE_MANUAL = -3, //!< set automatically when a value of the feature is set by the user. + CAP_PROP_DC1394_MODE_AUTO = -2, + CAP_PROP_DC1394_MODE_ONE_PUSH_AUTO = -1, + CAP_PROP_DC1394_MAX = 31 + }; + +//! @} IEEE 1394 drivers + +/** @name OpenNI (for Kinect) + @{ +*/ + +//! OpenNI map generators +enum { CAP_OPENNI_DEPTH_GENERATOR = 1 << 31, + CAP_OPENNI_IMAGE_GENERATOR = 1 << 30, + CAP_OPENNI_IR_GENERATOR = 1 << 29, + CAP_OPENNI_GENERATORS_MASK = CAP_OPENNI_DEPTH_GENERATOR + CAP_OPENNI_IMAGE_GENERATOR + CAP_OPENNI_IR_GENERATOR + }; + +//! Properties of cameras available through OpenNI backend +enum { CAP_PROP_OPENNI_OUTPUT_MODE = 100, + CAP_PROP_OPENNI_FRAME_MAX_DEPTH = 101, //!< In mm + CAP_PROP_OPENNI_BASELINE = 102, //!< In mm + CAP_PROP_OPENNI_FOCAL_LENGTH = 103, //!< In pixels + CAP_PROP_OPENNI_REGISTRATION = 104, //!< Flag that synchronizes the remapping depth map to image map + //!< by changing depth generator's view point (if the flag is "on") or + //!< sets this view point to its normal one (if the flag is "off"). + CAP_PROP_OPENNI_REGISTRATION_ON = CAP_PROP_OPENNI_REGISTRATION, + CAP_PROP_OPENNI_APPROX_FRAME_SYNC = 105, + CAP_PROP_OPENNI_MAX_BUFFER_SIZE = 106, + CAP_PROP_OPENNI_CIRCLE_BUFFER = 107, + CAP_PROP_OPENNI_MAX_TIME_DURATION = 108, + CAP_PROP_OPENNI_GENERATOR_PRESENT = 109, + CAP_PROP_OPENNI2_SYNC = 110, + CAP_PROP_OPENNI2_MIRROR = 111 + }; + +//! OpenNI shortcuts +enum { CAP_OPENNI_IMAGE_GENERATOR_PRESENT = CAP_OPENNI_IMAGE_GENERATOR + CAP_PROP_OPENNI_GENERATOR_PRESENT, + CAP_OPENNI_IMAGE_GENERATOR_OUTPUT_MODE = CAP_OPENNI_IMAGE_GENERATOR + CAP_PROP_OPENNI_OUTPUT_MODE, + CAP_OPENNI_DEPTH_GENERATOR_PRESENT = CAP_OPENNI_DEPTH_GENERATOR + CAP_PROP_OPENNI_GENERATOR_PRESENT, + CAP_OPENNI_DEPTH_GENERATOR_BASELINE = CAP_OPENNI_DEPTH_GENERATOR + CAP_PROP_OPENNI_BASELINE, + CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH = CAP_OPENNI_DEPTH_GENERATOR + CAP_PROP_OPENNI_FOCAL_LENGTH, + CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION = CAP_OPENNI_DEPTH_GENERATOR + CAP_PROP_OPENNI_REGISTRATION, + CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION_ON = CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION, + CAP_OPENNI_IR_GENERATOR_PRESENT = CAP_OPENNI_IR_GENERATOR + CAP_PROP_OPENNI_GENERATOR_PRESENT, + }; + +//! OpenNI data given from depth generator +enum { CAP_OPENNI_DEPTH_MAP = 0, //!< Depth values in mm (CV_16UC1) + CAP_OPENNI_POINT_CLOUD_MAP = 1, //!< XYZ in meters (CV_32FC3) + CAP_OPENNI_DISPARITY_MAP = 2, //!< Disparity in pixels (CV_8UC1) + CAP_OPENNI_DISPARITY_MAP_32F = 3, //!< Disparity in pixels (CV_32FC1) + CAP_OPENNI_VALID_DEPTH_MASK = 4, //!< CV_8UC1 + + CAP_OPENNI_BGR_IMAGE = 5, //!< Data given from RGB image generator + CAP_OPENNI_GRAY_IMAGE = 6, //!< Data given from RGB image generator + + CAP_OPENNI_IR_IMAGE = 7 //!< Data given from IR image generator + }; + +//! Supported output modes of OpenNI image generator +enum { CAP_OPENNI_VGA_30HZ = 0, + CAP_OPENNI_SXGA_15HZ = 1, + CAP_OPENNI_SXGA_30HZ = 2, + CAP_OPENNI_QVGA_30HZ = 3, + CAP_OPENNI_QVGA_60HZ = 4 + }; + +//! @} OpenNI + +/** @name GStreamer + @{ +*/ + +enum { CAP_PROP_GSTREAMER_QUEUE_LENGTH = 200 //!< Default is 1 + }; + +//! @} GStreamer + +/** @name PvAPI, Prosilica GigE SDK + @{ +*/ + +//! PVAPI +enum { CAP_PROP_PVAPI_MULTICASTIP = 300, //!< IP for enable multicast master mode. 0 for disable multicast. + CAP_PROP_PVAPI_FRAMESTARTTRIGGERMODE = 301, //!< FrameStartTriggerMode: Determines how a frame is initiated. + CAP_PROP_PVAPI_DECIMATIONHORIZONTAL = 302, //!< Horizontal sub-sampling of the image. + CAP_PROP_PVAPI_DECIMATIONVERTICAL = 303, //!< Vertical sub-sampling of the image. + CAP_PROP_PVAPI_BINNINGX = 304, //!< Horizontal binning factor. + CAP_PROP_PVAPI_BINNINGY = 305, //!< Vertical binning factor. + CAP_PROP_PVAPI_PIXELFORMAT = 306 //!< Pixel format. + }; + +//! PVAPI: FrameStartTriggerMode +enum { CAP_PVAPI_FSTRIGMODE_FREERUN = 0, //!< Freerun + CAP_PVAPI_FSTRIGMODE_SYNCIN1 = 1, //!< SyncIn1 + CAP_PVAPI_FSTRIGMODE_SYNCIN2 = 2, //!< SyncIn2 + CAP_PVAPI_FSTRIGMODE_FIXEDRATE = 3, //!< FixedRate + CAP_PVAPI_FSTRIGMODE_SOFTWARE = 4 //!< Software + }; + +//! PVAPI: DecimationHorizontal, DecimationVertical +enum { CAP_PVAPI_DECIMATION_OFF = 1, //!< Off + CAP_PVAPI_DECIMATION_2OUTOF4 = 2, //!< 2 out of 4 decimation + CAP_PVAPI_DECIMATION_2OUTOF8 = 4, //!< 2 out of 8 decimation + CAP_PVAPI_DECIMATION_2OUTOF16 = 8 //!< 2 out of 16 decimation + }; + +//! PVAPI: PixelFormat +enum { CAP_PVAPI_PIXELFORMAT_MONO8 = 1, //!< Mono8 + CAP_PVAPI_PIXELFORMAT_MONO16 = 2, //!< Mono16 + CAP_PVAPI_PIXELFORMAT_BAYER8 = 3, //!< Bayer8 + CAP_PVAPI_PIXELFORMAT_BAYER16 = 4, //!< Bayer16 + CAP_PVAPI_PIXELFORMAT_RGB24 = 5, //!< Rgb24 + CAP_PVAPI_PIXELFORMAT_BGR24 = 6, //!< Bgr24 + CAP_PVAPI_PIXELFORMAT_RGBA32 = 7, //!< Rgba32 + CAP_PVAPI_PIXELFORMAT_BGRA32 = 8, //!< Bgra32 + }; + +//! @} PvAPI + +/** @name XIMEA Camera API + @{ +*/ + +//! Properties of cameras available through XIMEA SDK backend +enum { CAP_PROP_XI_DOWNSAMPLING = 400, //!< Change image resolution by binning or skipping. + CAP_PROP_XI_DATA_FORMAT = 401, //!< Output data format. + CAP_PROP_XI_OFFSET_X = 402, //!< Horizontal offset from the origin to the area of interest (in pixels). + CAP_PROP_XI_OFFSET_Y = 403, //!< Vertical offset from the origin to the area of interest (in pixels). + CAP_PROP_XI_TRG_SOURCE = 404, //!< Defines source of trigger. + CAP_PROP_XI_TRG_SOFTWARE = 405, //!< Generates an internal trigger. PRM_TRG_SOURCE must be set to TRG_SOFTWARE. + CAP_PROP_XI_GPI_SELECTOR = 406, //!< Selects general purpose input. + CAP_PROP_XI_GPI_MODE = 407, //!< Set general purpose input mode. + CAP_PROP_XI_GPI_LEVEL = 408, //!< Get general purpose level. + CAP_PROP_XI_GPO_SELECTOR = 409, //!< Selects general purpose output. + CAP_PROP_XI_GPO_MODE = 410, //!< Set general purpose output mode. + CAP_PROP_XI_LED_SELECTOR = 411, //!< Selects camera signalling LED. + CAP_PROP_XI_LED_MODE = 412, //!< Define camera signalling LED functionality. + CAP_PROP_XI_MANUAL_WB = 413, //!< Calculates White Balance(must be called during acquisition). + CAP_PROP_XI_AUTO_WB = 414, //!< Automatic white balance. + CAP_PROP_XI_AEAG = 415, //!< Automatic exposure/gain. + CAP_PROP_XI_EXP_PRIORITY = 416, //!< Exposure priority (0.5 - exposure 50%, gain 50%). + CAP_PROP_XI_AE_MAX_LIMIT = 417, //!< Maximum limit of exposure in AEAG procedure. + CAP_PROP_XI_AG_MAX_LIMIT = 418, //!< Maximum limit of gain in AEAG procedure. + CAP_PROP_XI_AEAG_LEVEL = 419, //!< Average intensity of output signal AEAG should achieve(in %). + CAP_PROP_XI_TIMEOUT = 420, //!< Image capture timeout in milliseconds. + CAP_PROP_XI_EXPOSURE = 421, //!< Exposure time in microseconds. + CAP_PROP_XI_EXPOSURE_BURST_COUNT = 422, //!< Sets the number of times of exposure in one frame. + CAP_PROP_XI_GAIN_SELECTOR = 423, //!< Gain selector for parameter Gain allows to select different type of gains. + CAP_PROP_XI_GAIN = 424, //!< Gain in dB. + CAP_PROP_XI_DOWNSAMPLING_TYPE = 426, //!< Change image downsampling type. + CAP_PROP_XI_BINNING_SELECTOR = 427, //!< Binning engine selector. + CAP_PROP_XI_BINNING_VERTICAL = 428, //!< Vertical Binning - number of vertical photo-sensitive cells to combine together. + CAP_PROP_XI_BINNING_HORIZONTAL = 429, //!< Horizontal Binning - number of horizontal photo-sensitive cells to combine together. + CAP_PROP_XI_BINNING_PATTERN = 430, //!< Binning pattern type. + CAP_PROP_XI_DECIMATION_SELECTOR = 431, //!< Decimation engine selector. + CAP_PROP_XI_DECIMATION_VERTICAL = 432, //!< Vertical Decimation - vertical sub-sampling of the image - reduces the vertical resolution of the image by the specified vertical decimation factor. + CAP_PROP_XI_DECIMATION_HORIZONTAL = 433, //!< Horizontal Decimation - horizontal sub-sampling of the image - reduces the horizontal resolution of the image by the specified vertical decimation factor. + CAP_PROP_XI_DECIMATION_PATTERN = 434, //!< Decimation pattern type. + CAP_PROP_XI_TEST_PATTERN_GENERATOR_SELECTOR = 587, //!< Selects which test pattern generator is controlled by the TestPattern feature. + CAP_PROP_XI_TEST_PATTERN = 588, //!< Selects which test pattern type is generated by the selected generator. + CAP_PROP_XI_IMAGE_DATA_FORMAT = 435, //!< Output data format. + CAP_PROP_XI_SHUTTER_TYPE = 436, //!< Change sensor shutter type(CMOS sensor). + CAP_PROP_XI_SENSOR_TAPS = 437, //!< Number of taps. + CAP_PROP_XI_AEAG_ROI_OFFSET_X = 439, //!< Automatic exposure/gain ROI offset X. + CAP_PROP_XI_AEAG_ROI_OFFSET_Y = 440, //!< Automatic exposure/gain ROI offset Y. + CAP_PROP_XI_AEAG_ROI_WIDTH = 441, //!< Automatic exposure/gain ROI Width. + CAP_PROP_XI_AEAG_ROI_HEIGHT = 442, //!< Automatic exposure/gain ROI Height. + CAP_PROP_XI_BPC = 445, //!< Correction of bad pixels. + CAP_PROP_XI_WB_KR = 448, //!< White balance red coefficient. + CAP_PROP_XI_WB_KG = 449, //!< White balance green coefficient. + CAP_PROP_XI_WB_KB = 450, //!< White balance blue coefficient. + CAP_PROP_XI_WIDTH = 451, //!< Width of the Image provided by the device (in pixels). + CAP_PROP_XI_HEIGHT = 452, //!< Height of the Image provided by the device (in pixels). + CAP_PROP_XI_REGION_SELECTOR = 589, //!< Selects Region in Multiple ROI which parameters are set by width, height, ... ,region mode. + CAP_PROP_XI_REGION_MODE = 595, //!< Activates/deactivates Region selected by Region Selector. + CAP_PROP_XI_LIMIT_BANDWIDTH = 459, //!< Set/get bandwidth(datarate)(in Megabits). + CAP_PROP_XI_SENSOR_DATA_BIT_DEPTH = 460, //!< Sensor output data bit depth. + CAP_PROP_XI_OUTPUT_DATA_BIT_DEPTH = 461, //!< Device output data bit depth. + CAP_PROP_XI_IMAGE_DATA_BIT_DEPTH = 462, //!< bitdepth of data returned by function xiGetImage. + CAP_PROP_XI_OUTPUT_DATA_PACKING = 463, //!< Device output data packing (or grouping) enabled. Packing could be enabled if output_data_bit_depth > 8 and packing capability is available. + CAP_PROP_XI_OUTPUT_DATA_PACKING_TYPE = 464, //!< Data packing type. Some cameras supports only specific packing type. + CAP_PROP_XI_IS_COOLED = 465, //!< Returns 1 for cameras that support cooling. + CAP_PROP_XI_COOLING = 466, //!< Start camera cooling. + CAP_PROP_XI_TARGET_TEMP = 467, //!< Set sensor target temperature for cooling. + CAP_PROP_XI_CHIP_TEMP = 468, //!< Camera sensor temperature. + CAP_PROP_XI_HOUS_TEMP = 469, //!< Camera housing temperature. + CAP_PROP_XI_HOUS_BACK_SIDE_TEMP = 590, //!< Camera housing back side temperature. + CAP_PROP_XI_SENSOR_BOARD_TEMP = 596, //!< Camera sensor board temperature. + CAP_PROP_XI_CMS = 470, //!< Mode of color management system. + CAP_PROP_XI_APPLY_CMS = 471, //!< Enable applying of CMS profiles to xiGetImage (see XI_PRM_INPUT_CMS_PROFILE, XI_PRM_OUTPUT_CMS_PROFILE). + CAP_PROP_XI_IMAGE_IS_COLOR = 474, //!< Returns 1 for color cameras. + CAP_PROP_XI_COLOR_FILTER_ARRAY = 475, //!< Returns color filter array type of RAW data. + CAP_PROP_XI_GAMMAY = 476, //!< Luminosity gamma. + CAP_PROP_XI_GAMMAC = 477, //!< Chromaticity gamma. + CAP_PROP_XI_SHARPNESS = 478, //!< Sharpness Strength. + CAP_PROP_XI_CC_MATRIX_00 = 479, //!< Color Correction Matrix element [0][0]. + CAP_PROP_XI_CC_MATRIX_01 = 480, //!< Color Correction Matrix element [0][1]. + CAP_PROP_XI_CC_MATRIX_02 = 481, //!< Color Correction Matrix element [0][2]. + CAP_PROP_XI_CC_MATRIX_03 = 482, //!< Color Correction Matrix element [0][3]. + CAP_PROP_XI_CC_MATRIX_10 = 483, //!< Color Correction Matrix element [1][0]. + CAP_PROP_XI_CC_MATRIX_11 = 484, //!< Color Correction Matrix element [1][1]. + CAP_PROP_XI_CC_MATRIX_12 = 485, //!< Color Correction Matrix element [1][2]. + CAP_PROP_XI_CC_MATRIX_13 = 486, //!< Color Correction Matrix element [1][3]. + CAP_PROP_XI_CC_MATRIX_20 = 487, //!< Color Correction Matrix element [2][0]. + CAP_PROP_XI_CC_MATRIX_21 = 488, //!< Color Correction Matrix element [2][1]. + CAP_PROP_XI_CC_MATRIX_22 = 489, //!< Color Correction Matrix element [2][2]. + CAP_PROP_XI_CC_MATRIX_23 = 490, //!< Color Correction Matrix element [2][3]. + CAP_PROP_XI_CC_MATRIX_30 = 491, //!< Color Correction Matrix element [3][0]. + CAP_PROP_XI_CC_MATRIX_31 = 492, //!< Color Correction Matrix element [3][1]. + CAP_PROP_XI_CC_MATRIX_32 = 493, //!< Color Correction Matrix element [3][2]. + CAP_PROP_XI_CC_MATRIX_33 = 494, //!< Color Correction Matrix element [3][3]. + CAP_PROP_XI_DEFAULT_CC_MATRIX = 495, //!< Set default Color Correction Matrix. + CAP_PROP_XI_TRG_SELECTOR = 498, //!< Selects the type of trigger. + CAP_PROP_XI_ACQ_FRAME_BURST_COUNT = 499, //!< Sets number of frames acquired by burst. This burst is used only if trigger is set to FrameBurstStart. + CAP_PROP_XI_DEBOUNCE_EN = 507, //!< Enable/Disable debounce to selected GPI. + CAP_PROP_XI_DEBOUNCE_T0 = 508, //!< Debounce time (x * 10us). + CAP_PROP_XI_DEBOUNCE_T1 = 509, //!< Debounce time (x * 10us). + CAP_PROP_XI_DEBOUNCE_POL = 510, //!< Debounce polarity (pol = 1 t0 - falling edge, t1 - rising edge). + CAP_PROP_XI_LENS_MODE = 511, //!< Status of lens control interface. This shall be set to XI_ON before any Lens operations. + CAP_PROP_XI_LENS_APERTURE_VALUE = 512, //!< Current lens aperture value in stops. Examples: 2.8, 4, 5.6, 8, 11. + CAP_PROP_XI_LENS_FOCUS_MOVEMENT_VALUE = 513, //!< Lens current focus movement value to be used by XI_PRM_LENS_FOCUS_MOVE in motor steps. + CAP_PROP_XI_LENS_FOCUS_MOVE = 514, //!< Moves lens focus motor by steps set in XI_PRM_LENS_FOCUS_MOVEMENT_VALUE. + CAP_PROP_XI_LENS_FOCUS_DISTANCE = 515, //!< Lens focus distance in cm. + CAP_PROP_XI_LENS_FOCAL_LENGTH = 516, //!< Lens focal distance in mm. + CAP_PROP_XI_LENS_FEATURE_SELECTOR = 517, //!< Selects the current feature which is accessible by XI_PRM_LENS_FEATURE. + CAP_PROP_XI_LENS_FEATURE = 518, //!< Allows access to lens feature value currently selected by XI_PRM_LENS_FEATURE_SELECTOR. + CAP_PROP_XI_DEVICE_MODEL_ID = 521, //!< Returns device model id. + CAP_PROP_XI_DEVICE_SN = 522, //!< Returns device serial number. + CAP_PROP_XI_IMAGE_DATA_FORMAT_RGB32_ALPHA = 529, //!< The alpha channel of RGB32 output image format. + CAP_PROP_XI_IMAGE_PAYLOAD_SIZE = 530, //!< Buffer size in bytes sufficient for output image returned by xiGetImage. + CAP_PROP_XI_TRANSPORT_PIXEL_FORMAT = 531, //!< Current format of pixels on transport layer. + CAP_PROP_XI_SENSOR_CLOCK_FREQ_HZ = 532, //!< Sensor clock frequency in Hz. + CAP_PROP_XI_SENSOR_CLOCK_FREQ_INDEX = 533, //!< Sensor clock frequency index. Sensor with selected frequencies have possibility to set the frequency only by this index. + CAP_PROP_XI_SENSOR_OUTPUT_CHANNEL_COUNT = 534, //!< Number of output channels from sensor used for data transfer. + CAP_PROP_XI_FRAMERATE = 535, //!< Define framerate in Hz. + CAP_PROP_XI_COUNTER_SELECTOR = 536, //!< Select counter. + CAP_PROP_XI_COUNTER_VALUE = 537, //!< Counter status. + CAP_PROP_XI_ACQ_TIMING_MODE = 538, //!< Type of sensor frames timing. + CAP_PROP_XI_AVAILABLE_BANDWIDTH = 539, //!< Calculate and returns available interface bandwidth(int Megabits). + CAP_PROP_XI_BUFFER_POLICY = 540, //!< Data move policy. + CAP_PROP_XI_LUT_EN = 541, //!< Activates LUT. + CAP_PROP_XI_LUT_INDEX = 542, //!< Control the index (offset) of the coefficient to access in the LUT. + CAP_PROP_XI_LUT_VALUE = 543, //!< Value at entry LUTIndex of the LUT. + CAP_PROP_XI_TRG_DELAY = 544, //!< Specifies the delay in microseconds (us) to apply after the trigger reception before activating it. + CAP_PROP_XI_TS_RST_MODE = 545, //!< Defines how time stamp reset engine will be armed. + CAP_PROP_XI_TS_RST_SOURCE = 546, //!< Defines which source will be used for timestamp reset. Writing this parameter will trigger settings of engine (arming). + CAP_PROP_XI_IS_DEVICE_EXIST = 547, //!< Returns 1 if camera connected and works properly. + CAP_PROP_XI_ACQ_BUFFER_SIZE = 548, //!< Acquisition buffer size in buffer_size_unit. Default bytes. + CAP_PROP_XI_ACQ_BUFFER_SIZE_UNIT = 549, //!< Acquisition buffer size unit in bytes. Default 1. E.g. Value 1024 means that buffer_size is in KiBytes. + CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_SIZE = 550, //!< Acquisition transport buffer size in bytes. + CAP_PROP_XI_BUFFERS_QUEUE_SIZE = 551, //!< Queue of field/frame buffers. + CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_COMMIT = 552, //!< Number of buffers to commit to low level. + CAP_PROP_XI_RECENT_FRAME = 553, //!< GetImage returns most recent frame. + CAP_PROP_XI_DEVICE_RESET = 554, //!< Resets the camera to default state. + CAP_PROP_XI_COLUMN_FPN_CORRECTION = 555, //!< Correction of column FPN. + CAP_PROP_XI_ROW_FPN_CORRECTION = 591, //!< Correction of row FPN. + CAP_PROP_XI_SENSOR_MODE = 558, //!< Current sensor mode. Allows to select sensor mode by one integer. Setting of this parameter affects: image dimensions and downsampling. + CAP_PROP_XI_HDR = 559, //!< Enable High Dynamic Range feature. + CAP_PROP_XI_HDR_KNEEPOINT_COUNT = 560, //!< The number of kneepoints in the PWLR. + CAP_PROP_XI_HDR_T1 = 561, //!< Position of first kneepoint(in % of XI_PRM_EXPOSURE). + CAP_PROP_XI_HDR_T2 = 562, //!< Position of second kneepoint (in % of XI_PRM_EXPOSURE). + CAP_PROP_XI_KNEEPOINT1 = 563, //!< Value of first kneepoint (% of sensor saturation). + CAP_PROP_XI_KNEEPOINT2 = 564, //!< Value of second kneepoint (% of sensor saturation). + CAP_PROP_XI_IMAGE_BLACK_LEVEL = 565, //!< Last image black level counts. Can be used for Offline processing to recall it. + CAP_PROP_XI_HW_REVISION = 571, //!< Returns hardware revision number. + CAP_PROP_XI_DEBUG_LEVEL = 572, //!< Set debug level. + CAP_PROP_XI_AUTO_BANDWIDTH_CALCULATION = 573, //!< Automatic bandwidth calculation. + CAP_PROP_XI_FFS_FILE_ID = 594, //!< File number. + CAP_PROP_XI_FFS_FILE_SIZE = 580, //!< Size of file. + CAP_PROP_XI_FREE_FFS_SIZE = 581, //!< Size of free camera FFS. + CAP_PROP_XI_USED_FFS_SIZE = 582, //!< Size of used camera FFS. + CAP_PROP_XI_FFS_ACCESS_KEY = 583, //!< Setting of key enables file operations on some cameras. + CAP_PROP_XI_SENSOR_FEATURE_SELECTOR = 585, //!< Selects the current feature which is accessible by XI_PRM_SENSOR_FEATURE_VALUE. + CAP_PROP_XI_SENSOR_FEATURE_VALUE = 586, //!< Allows access to sensor feature value currently selected by XI_PRM_SENSOR_FEATURE_SELECTOR. + }; + +//! @} XIMEA + +/** @name AVFoundation framework for iOS + OS X Lion will have the same API + @{ +*/ + +//! Properties of cameras available through AVFOUNDATION backend +enum { CAP_PROP_IOS_DEVICE_FOCUS = 9001, + CAP_PROP_IOS_DEVICE_EXPOSURE = 9002, + CAP_PROP_IOS_DEVICE_FLASH = 9003, + CAP_PROP_IOS_DEVICE_WHITEBALANCE = 9004, + CAP_PROP_IOS_DEVICE_TORCH = 9005 + }; + +/** @name Smartek Giganetix GigEVisionSDK + @{ +*/ + +//! Properties of cameras available through Smartek Giganetix Ethernet Vision backend +/* --- Vladimir Litvinenko (litvinenko.vladimir@gmail.com) --- */ +enum { CAP_PROP_GIGA_FRAME_OFFSET_X = 10001, + CAP_PROP_GIGA_FRAME_OFFSET_Y = 10002, + CAP_PROP_GIGA_FRAME_WIDTH_MAX = 10003, + CAP_PROP_GIGA_FRAME_HEIGH_MAX = 10004, + CAP_PROP_GIGA_FRAME_SENS_WIDTH = 10005, + CAP_PROP_GIGA_FRAME_SENS_HEIGH = 10006 + }; + +//! @} Smartek + +/** @name Intel Perceptual Computing SDK + @{ +*/ +enum { CAP_PROP_INTELPERC_PROFILE_COUNT = 11001, + CAP_PROP_INTELPERC_PROFILE_IDX = 11002, + CAP_PROP_INTELPERC_DEPTH_LOW_CONFIDENCE_VALUE = 11003, + CAP_PROP_INTELPERC_DEPTH_SATURATION_VALUE = 11004, + CAP_PROP_INTELPERC_DEPTH_CONFIDENCE_THRESHOLD = 11005, + CAP_PROP_INTELPERC_DEPTH_FOCAL_LENGTH_HORZ = 11006, + CAP_PROP_INTELPERC_DEPTH_FOCAL_LENGTH_VERT = 11007 + }; + +//! Intel Perceptual Streams +enum { CAP_INTELPERC_DEPTH_GENERATOR = 1 << 29, + CAP_INTELPERC_IMAGE_GENERATOR = 1 << 28, + CAP_INTELPERC_GENERATORS_MASK = CAP_INTELPERC_DEPTH_GENERATOR + CAP_INTELPERC_IMAGE_GENERATOR + }; + +enum { CAP_INTELPERC_DEPTH_MAP = 0, //!< Each pixel is a 16-bit integer. The value indicates the distance from an object to the camera's XY plane or the Cartesian depth. + CAP_INTELPERC_UVDEPTH_MAP = 1, //!< Each pixel contains two 32-bit floating point values in the range of 0-1, representing the mapping of depth coordinates to the color coordinates. + CAP_INTELPERC_IR_MAP = 2, //!< Each pixel is a 16-bit integer. The value indicates the intensity of the reflected laser beam. + CAP_INTELPERC_IMAGE = 3 + }; + +//! @} Intel Perceptual + +/** @name gPhoto2 connection + @{ +*/ + +/** @brief gPhoto2 properties + +If `propertyId` is less than 0 then work on widget with that __additive inversed__ camera setting ID +Get IDs by using CAP_PROP_GPHOTO2_WIDGET_ENUMERATE. +@see CvCaptureCAM_GPHOTO2 for more info +*/ +enum { CAP_PROP_GPHOTO2_PREVIEW = 17001, //!< Capture only preview from liveview mode. + CAP_PROP_GPHOTO2_WIDGET_ENUMERATE = 17002, //!< Readonly, returns (const char *). + CAP_PROP_GPHOTO2_RELOAD_CONFIG = 17003, //!< Trigger, only by set. Reload camera settings. + CAP_PROP_GPHOTO2_RELOAD_ON_CHANGE = 17004, //!< Reload all settings on set. + CAP_PROP_GPHOTO2_COLLECT_MSGS = 17005, //!< Collect messages with details. + CAP_PROP_GPHOTO2_FLUSH_MSGS = 17006, //!< Readonly, returns (const char *). + CAP_PROP_SPEED = 17007, //!< Exposure speed. Can be readonly, depends on camera program. + CAP_PROP_APERTURE = 17008, //!< Aperture. Can be readonly, depends on camera program. + CAP_PROP_EXPOSUREPROGRAM = 17009, //!< Camera exposure program. + CAP_PROP_VIEWFINDER = 17010 //!< Enter liveview mode. + }; + +//! @} gPhoto2 + + +/** @name Images backend + @{ +*/ + +/** @brief Images backend properties + +*/ +enum { CAP_PROP_IMAGES_BASE = 18000, + CAP_PROP_IMAGES_LAST = 19000 // excluding + }; + +//! @} Images + +//! @} videoio_flags_others + + +class IVideoCapture; + +/** @brief Class for video capturing from video files, image sequences or cameras. + +The class provides C++ API for capturing video from cameras or for reading video files and image sequences. + +Here is how the class can be used: +@include samples/cpp/videocapture_basic.cpp + +@note In @ref videoio_c "C API" the black-box structure `CvCapture` is used instead of %VideoCapture. +@note +- (C++) A basic sample on using the %VideoCapture interface can be found at + `OPENCV_SOURCE_CODE/samples/cpp/videocapture_starter.cpp` +- (Python) A basic sample on using the %VideoCapture interface can be found at + `OPENCV_SOURCE_CODE/samples/python/video.py` +- (Python) A multi threaded video processing sample can be found at + `OPENCV_SOURCE_CODE/samples/python/video_threaded.py` +- (Python) %VideoCapture sample showcasing some features of the Video4Linux2 backend + `OPENCV_SOURCE_CODE/samples/python/video_v4l2.py` + */ +class CV_EXPORTS_W VideoCapture +{ +public: + /** @brief Default constructor + @note In @ref videoio_c "C API", when you finished working with video, release CvCapture structure with + cvReleaseCapture(), or use Ptr\ that calls cvReleaseCapture() automatically in the + destructor. + */ + CV_WRAP VideoCapture(); + + /** @overload + @brief Open video file or a capturing device or a IP video stream for video capturing + + Same as VideoCapture(const String& filename, int apiPreference) but using default Capture API backends + */ + CV_WRAP VideoCapture(const String& filename); + + /** @overload + @brief Open video file or a capturing device or a IP video stream for video capturing with API Preference + + @param filename it can be: + - name of video file (eg. `video.avi`) + - or image sequence (eg. `img_%02d.jpg`, which will read samples like `img_00.jpg, img_01.jpg, img_02.jpg, ...`) + - or URL of video stream (eg. `protocol://host:port/script_name?script_params|auth`). + Note that each video stream or IP camera feed has its own URL scheme. Please refer to the + documentation of source stream to know the right URL. + @param apiPreference preferred Capture API backends to use. Can be used to enforce a specific reader + implementation if multiple are available: e.g. cv::CAP_FFMPEG or cv::CAP_IMAGES or cv::CAP_DSHOW. + @sa The list of supported API backends cv::VideoCaptureAPIs + */ + CV_WRAP VideoCapture(const String& filename, int apiPreference); + + /** @overload + @brief Open a camera for video capturing + + @param index camera_id + domain_offset (CAP_*) id of the video capturing device to open. To open default camera using default backend just pass 0. + Use a `domain_offset` to enforce a specific reader implementation if multiple are available like cv::CAP_FFMPEG or cv::CAP_IMAGES or cv::CAP_DSHOW. + e.g. to open Camera 1 using the MS Media Foundation API use `index = 1 + cv::CAP_MSMF` + + @sa The list of supported API backends cv::VideoCaptureAPIs + */ + CV_WRAP VideoCapture(int index); + + /** @brief Default destructor + + The method first calls VideoCapture::release to close the already opened file or camera. + */ + virtual ~VideoCapture(); + + /** @brief Open video file or a capturing device or a IP video stream for video capturing + + @overload + + Parameters are same as the constructor VideoCapture(const String& filename) + @return `true` if the file has been successfully opened + + The method first calls VideoCapture::release to close the already opened file or camera. + */ + CV_WRAP virtual bool open(const String& filename); + + /** @brief Open a camera for video capturing + + @overload + + Parameters are same as the constructor VideoCapture(int index) + @return `true` if the camera has been successfully opened. + + The method first calls VideoCapture::release to close the already opened file or camera. + */ + CV_WRAP virtual bool open(int index); + + /** @brief Open a camera for video capturing + + @overload + + Parameters are similar as the constructor VideoCapture(int index),except it takes an additional argument apiPreference. + Definitely, is same as open(int index) where `index=cameraNum + apiPreference` + @return `true` if the camera has been successfully opened. + */ + CV_WRAP bool open(int cameraNum, int apiPreference); + + /** @brief Returns true if video capturing has been initialized already. + + If the previous call to VideoCapture constructor or VideoCapture::open() succeeded, the method returns + true. + */ + CV_WRAP virtual bool isOpened() const; + + /** @brief Closes video file or capturing device. + + The method is automatically called by subsequent VideoCapture::open and by VideoCapture + destructor. + + The C function also deallocates memory and clears \*capture pointer. + */ + CV_WRAP virtual void release(); + + /** @brief Grabs the next frame from video file or capturing device. + + @return `true` (non-zero) in the case of success. + + The method/function grabs the next frame from video file or camera and returns true (non-zero) in + the case of success. + + The primary use of the function is in multi-camera environments, especially when the cameras do not + have hardware synchronization. That is, you call VideoCapture::grab() for each camera and after that + call the slower method VideoCapture::retrieve() to decode and get frame from each camera. This way + the overhead on demosaicing or motion jpeg decompression etc. is eliminated and the retrieved frames + from different cameras will be closer in time. + + Also, when a connected camera is multi-head (for example, a stereo camera or a Kinect device), the + correct way of retrieving data from it is to call VideoCapture::grab() first and then call + VideoCapture::retrieve() one or more times with different values of the channel parameter. + + @ref tutorial_kinect_openni + */ + CV_WRAP virtual bool grab(); + + /** @brief Decodes and returns the grabbed video frame. + + @param [out] image the video frame is returned here. If no frames has been grabbed the image will be empty. + @param flag it could be a frame index or a driver specific flag + @return `false` if no frames has been grabbed + + The method decodes and returns the just grabbed frame. If no frames has been grabbed + (camera has been disconnected, or there are no more frames in video file), the method returns false + and the function returns an empty image (with %cv::Mat, test it with Mat::empty()). + + @sa read() + + @note In @ref videoio_c "C API", functions cvRetrieveFrame() and cv.RetrieveFrame() return image stored inside the video + capturing structure. It is not allowed to modify or release the image! You can copy the frame using + :ocvcvCloneImage and then do whatever you want with the copy. + */ + CV_WRAP virtual bool retrieve(OutputArray image, int flag = 0); + + /** @brief Stream operator to read the next video frame. + @sa read() + */ + virtual VideoCapture& operator >> (CV_OUT Mat& image); + + /** @overload + @sa read() + */ + virtual VideoCapture& operator >> (CV_OUT UMat& image); + + /** @brief Grabs, decodes and returns the next video frame. + + @param [out] image the video frame is returned here. If no frames has been grabbed the image will be empty. + @return `false` if no frames has been grabbed + + The method/function combines VideoCapture::grab() and VideoCapture::retrieve() in one call. This is the + most convenient method for reading video files or capturing data from decode and returns the just + grabbed frame. If no frames has been grabbed (camera has been disconnected, or there are no more + frames in video file), the method returns false and the function returns empty image (with %cv::Mat, test it with Mat::empty()). + + @note In @ref videoio_c "C API", functions cvRetrieveFrame() and cv.RetrieveFrame() return image stored inside the video + capturing structure. It is not allowed to modify or release the image! You can copy the frame using + :ocvcvCloneImage and then do whatever you want with the copy. + */ + CV_WRAP virtual bool read(OutputArray image); + + /** @brief Sets a property in the VideoCapture. + + @param propId Property identifier from cv::VideoCaptureProperties (eg. cv::CAP_PROP_POS_MSEC, cv::CAP_PROP_POS_FRAMES, ...) + or one from @ref videoio_flags_others + @param value Value of the property. + @return `true` if the property is supported by backend used by the VideoCapture instance. + @note Even if it returns `true` this doesn't ensure that the property + value has been accepted by the capture device. See note in VideoCapture::get() + */ + CV_WRAP virtual bool set(int propId, double value); + + /** @brief Returns the specified VideoCapture property + + @param propId Property identifier from cv::VideoCaptureProperties (eg. cv::CAP_PROP_POS_MSEC, cv::CAP_PROP_POS_FRAMES, ...) + or one from @ref videoio_flags_others + @return Value for the specified property. Value 0 is returned when querying a property that is + not supported by the backend used by the VideoCapture instance. + + @note Reading / writing properties involves many layers. Some unexpected result might happens + along this chain. + @code {.txt} + `VideoCapture -> API Backend -> Operating System -> Device Driver -> Device Hardware` + @endcode + The returned value might be different from what really used by the device or it could be encoded + using device dependant rules (eg. steps or percentage). Effective behaviour depends from device + driver and API Backend + + */ + CV_WRAP virtual double get(int propId) const; + + /** @brief Open video file or a capturing device or a IP video stream for video capturing with API Preference + + @overload + + Parameters are same as the constructor VideoCapture(const String& filename, int apiPreference) + @return `true` if the file has been successfully opened + + The method first calls VideoCapture::release to close the already opened file or camera. + */ + CV_WRAP virtual bool open(const String& filename, int apiPreference); + +protected: + Ptr cap; + Ptr icap; +}; + +class IVideoWriter; + +/** @example videowriter_basic.cpp +An example using VideoCapture and VideoWriter class + */ +/** @brief Video writer class. + +The class provides C++ API for writing video files or image sequences. + */ +class CV_EXPORTS_W VideoWriter +{ +public: + /** @brief Default constructors + + The constructors/functions initialize video writers. + - On Linux FFMPEG is used to write videos; + - On Windows FFMPEG or VFW is used; + - On MacOSX QTKit is used. + */ + CV_WRAP VideoWriter(); + + /** @overload + @param filename Name of the output video file. + @param fourcc 4-character code of codec used to compress the frames. For example, + VideoWriter::fourcc('P','I','M','1') is a MPEG-1 codec, VideoWriter::fourcc('M','J','P','G') is a + motion-jpeg codec etc. List of codes can be obtained at [Video Codecs by + FOURCC](http://www.fourcc.org/codecs.php) page. FFMPEG backend with MP4 container natively uses + other values as fourcc code: see [ObjectType](http://www.mp4ra.org/codecs.html), + so you may receive a warning message from OpenCV about fourcc code conversion. + @param fps Framerate of the created video stream. + @param frameSize Size of the video frames. + @param isColor If it is not zero, the encoder will expect and encode color frames, otherwise it + will work with grayscale frames (the flag is currently supported on Windows only). + + @b Tips: + - With some backends `fourcc=-1` pops up the codec selection dialog from the system. + - To save image sequence use a proper filename (eg. `img_%02d.jpg`) and `fourcc=0` + OR `fps=0`. Use uncompressed image format (eg. `img_%02d.BMP`) to save raw frames. + - Most codecs are lossy. If you want lossless video file you need to use a lossless codecs + (eg. FFMPEG FFV1, Huffman HFYU, Lagarith LAGS, etc...) + - If FFMPEG is enabled, using `codec=0; fps=0;` you can create an uncompressed (raw) video file. + */ + CV_WRAP VideoWriter(const String& filename, int fourcc, double fps, + Size frameSize, bool isColor = true); + + /** @overload + The `apiPreference` parameter allows to specify API backends to use. Can be used to enforce a specific reader implementation + if multiple are available: e.g. cv::CAP_FFMPEG or cv::CAP_GSTREAMER. + */ + CV_WRAP VideoWriter(const String& filename, int apiPreference, int fourcc, double fps, + Size frameSize, bool isColor = true); + + /** @brief Default destructor + + The method first calls VideoWriter::release to close the already opened file. + */ + virtual ~VideoWriter(); + + /** @brief Initializes or reinitializes video writer. + + The method opens video writer. Parameters are the same as in the constructor + VideoWriter::VideoWriter. + @return `true` if video writer has been successfully initialized + + The method first calls VideoWriter::release to close the already opened file. + */ + CV_WRAP virtual bool open(const String& filename, int fourcc, double fps, + Size frameSize, bool isColor = true); + + /** @overload + */ + CV_WRAP bool open(const String& filename, int apiPreference, int fourcc, double fps, + Size frameSize, bool isColor = true); + + /** @brief Returns true if video writer has been successfully initialized. + */ + CV_WRAP virtual bool isOpened() const; + + /** @brief Closes the video writer. + + The method is automatically called by subsequent VideoWriter::open and by the VideoWriter + destructor. + */ + CV_WRAP virtual void release(); + + /** @brief Stream operator to write the next video frame. + @sa write + */ + virtual VideoWriter& operator << (const Mat& image); + + /** @brief Writes the next video frame + + @param image The written frame + + The function/method writes the specified image to video file. It must have the same size as has + been specified when opening the video writer. + */ + CV_WRAP virtual void write(const Mat& image); + + /** @brief Sets a property in the VideoWriter. + + @param propId Property identifier from cv::VideoWriterProperties (eg. cv::VIDEOWRITER_PROP_QUALITY) + or one of @ref videoio_flags_others + + @param value Value of the property. + @return `true` if the property is supported by the backend used by the VideoWriter instance. + */ + CV_WRAP virtual bool set(int propId, double value); + + /** @brief Returns the specified VideoWriter property + + @param propId Property identifier from cv::VideoWriterProperties (eg. cv::VIDEOWRITER_PROP_QUALITY) + or one of @ref videoio_flags_others + + @return Value for the specified property. Value 0 is returned when querying a property that is + not supported by the backend used by the VideoWriter instance. + */ + CV_WRAP virtual double get(int propId) const; + + /** @brief Concatenates 4 chars to a fourcc code + + @return a fourcc code + + This static method constructs the fourcc code of the codec to be used in the constructor + VideoWriter::VideoWriter or VideoWriter::open. + */ + CV_WRAP static int fourcc(char c1, char c2, char c3, char c4); + +protected: + Ptr writer; + Ptr iwriter; + + static Ptr create(const String& filename, int fourcc, double fps, + Size frameSize, bool isColor = true); +}; + +template<> CV_EXPORTS void DefaultDeleter::operator ()(CvCapture* obj) const; +template<> CV_EXPORTS void DefaultDeleter::operator ()(CvVideoWriter* obj) const; + +//! @} videoio + +} // cv + +#endif //OPENCV_VIDEOIO_HPP diff --git a/app/src/main/cpp/include/opencv2/videoio/cap_ios.h b/app/src/main/cpp/include/opencv2/videoio/cap_ios.h new file mode 100644 index 0000000..0691420 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videoio/cap_ios.h @@ -0,0 +1,150 @@ +/* For iOS video I/O + * by Eduard Feicho on 29/07/12 + * Copyright 2012. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#import +#import +#import +#import +#include "opencv2/core.hpp" + +//! @addtogroup videoio_ios +//! @{ + +/////////////////////////////////////// CvAbstractCamera ///////////////////////////////////// + +@class CvAbstractCamera; + +CV_EXPORTS @interface CvAbstractCamera : NSObject +{ + UIDeviceOrientation currentDeviceOrientation; + + BOOL cameraAvailable; +} + +@property (nonatomic, strong) AVCaptureSession* captureSession; +@property (nonatomic, strong) AVCaptureConnection* videoCaptureConnection; + +@property (nonatomic, readonly) BOOL running; +@property (nonatomic, readonly) BOOL captureSessionLoaded; + +@property (nonatomic, assign) int defaultFPS; +@property (nonatomic, readonly) AVCaptureVideoPreviewLayer *captureVideoPreviewLayer; +@property (nonatomic, assign) AVCaptureDevicePosition defaultAVCaptureDevicePosition; +@property (nonatomic, assign) AVCaptureVideoOrientation defaultAVCaptureVideoOrientation; +@property (nonatomic, assign) BOOL useAVCaptureVideoPreviewLayer; +@property (nonatomic, strong) NSString *const defaultAVCaptureSessionPreset; + +@property (nonatomic, assign) int imageWidth; +@property (nonatomic, assign) int imageHeight; + +@property (nonatomic, strong) UIView* parentView; + +- (void)start; +- (void)stop; +- (void)switchCameras; + +- (id)initWithParentView:(UIView*)parent; + +- (void)createCaptureOutput; +- (void)createVideoPreviewLayer; +- (void)updateOrientation; + +- (void)lockFocus; +- (void)unlockFocus; +- (void)lockExposure; +- (void)unlockExposure; +- (void)lockBalance; +- (void)unlockBalance; + +@end + +///////////////////////////////// CvVideoCamera /////////////////////////////////////////// + +@class CvVideoCamera; + +CV_EXPORTS @protocol CvVideoCameraDelegate + +#ifdef __cplusplus +// delegate method for processing image frames +- (void)processImage:(cv::Mat&)image; +#endif + +@end + +CV_EXPORTS @interface CvVideoCamera : CvAbstractCamera +{ + AVCaptureVideoDataOutput *videoDataOutput; + + dispatch_queue_t videoDataOutputQueue; + CALayer *customPreviewLayer; + + CMTime lastSampleTime; + +} + +@property (nonatomic, weak) id delegate; +@property (nonatomic, assign) BOOL grayscaleMode; + +@property (nonatomic, assign) BOOL recordVideo; +@property (nonatomic, assign) BOOL rotateVideo; +@property (nonatomic, strong) AVAssetWriterInput* recordAssetWriterInput; +@property (nonatomic, strong) AVAssetWriterInputPixelBufferAdaptor* recordPixelBufferAdaptor; +@property (nonatomic, strong) AVAssetWriter* recordAssetWriter; + +- (void)adjustLayoutToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation; +- (void)layoutPreviewLayer; +- (void)saveVideo; +- (NSURL *)videoFileURL; +- (NSString *)videoFileString; + + +@end + +///////////////////////////////// CvPhotoCamera /////////////////////////////////////////// + +@class CvPhotoCamera; + +CV_EXPORTS @protocol CvPhotoCameraDelegate + +- (void)photoCamera:(CvPhotoCamera*)photoCamera capturedImage:(UIImage *)image; +- (void)photoCameraCancel:(CvPhotoCamera*)photoCamera; + +@end + +CV_EXPORTS @interface CvPhotoCamera : CvAbstractCamera +{ + AVCaptureStillImageOutput *stillImageOutput; +} + +@property (nonatomic, weak) id delegate; + +- (void)takePicture; + +@end + +//! @} videoio_ios diff --git a/app/src/main/cpp/include/opencv2/videoio/videoio.hpp b/app/src/main/cpp/include/opencv2/videoio/videoio.hpp new file mode 100644 index 0000000..ec84cf7 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videoio/videoio.hpp @@ -0,0 +1,48 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/videoio.hpp" diff --git a/app/src/main/cpp/include/opencv2/videoio/videoio_c.h b/app/src/main/cpp/include/opencv2/videoio/videoio_c.h new file mode 100644 index 0000000..024633c --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videoio/videoio_c.h @@ -0,0 +1,587 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// Intel License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000, Intel Corporation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of Intel Corporation may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOIO_H +#define OPENCV_VIDEOIO_H + +#include "opencv2/core/core_c.h" + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/** + @addtogroup videoio_c + @{ +*/ + +/****************************************************************************************\ +* Working with Video Files and Cameras * +\****************************************************************************************/ + +/** @brief "black box" capture structure + +In C++ use cv::VideoCapture +*/ +typedef struct CvCapture CvCapture; + +/** @brief start capturing frames from video file +*/ +CVAPI(CvCapture*) cvCreateFileCapture( const char* filename ); + +/** @brief start capturing frames from video file. allows specifying a preferred API to use +*/ +CVAPI(CvCapture*) cvCreateFileCaptureWithPreference( const char* filename , int apiPreference); + +enum +{ + CV_CAP_ANY =0, // autodetect + + CV_CAP_MIL =100, // MIL proprietary drivers + + CV_CAP_VFW =200, // platform native + CV_CAP_V4L =200, + CV_CAP_V4L2 =200, + + CV_CAP_FIREWARE =300, // IEEE 1394 drivers + CV_CAP_FIREWIRE =300, + CV_CAP_IEEE1394 =300, + CV_CAP_DC1394 =300, + CV_CAP_CMU1394 =300, + + CV_CAP_STEREO =400, // TYZX proprietary drivers + CV_CAP_TYZX =400, + CV_TYZX_LEFT =400, + CV_TYZX_RIGHT =401, + CV_TYZX_COLOR =402, + CV_TYZX_Z =403, + + CV_CAP_QT =500, // QuickTime + + CV_CAP_UNICAP =600, // Unicap drivers + + CV_CAP_DSHOW =700, // DirectShow (via videoInput) + CV_CAP_MSMF =1400, // Microsoft Media Foundation (via videoInput) + + CV_CAP_PVAPI =800, // PvAPI, Prosilica GigE SDK + + CV_CAP_OPENNI =900, // OpenNI (for Kinect) + CV_CAP_OPENNI_ASUS =910, // OpenNI (for Asus Xtion) + + CV_CAP_ANDROID =1000, // Android - not used + CV_CAP_ANDROID_BACK =CV_CAP_ANDROID+99, // Android back camera - not used + CV_CAP_ANDROID_FRONT =CV_CAP_ANDROID+98, // Android front camera - not used + + CV_CAP_XIAPI =1100, // XIMEA Camera API + + CV_CAP_AVFOUNDATION = 1200, // AVFoundation framework for iOS (OS X Lion will have the same API) + + CV_CAP_GIGANETIX = 1300, // Smartek Giganetix GigEVisionSDK + + CV_CAP_INTELPERC = 1500, // Intel Perceptual Computing + + CV_CAP_OPENNI2 = 1600, // OpenNI2 (for Kinect) + CV_CAP_GPHOTO2 = 1700, + CV_CAP_GSTREAMER = 1800, // GStreamer + CV_CAP_FFMPEG = 1900, // FFMPEG + CV_CAP_IMAGES = 2000, // OpenCV Image Sequence (e.g. img_%02d.jpg) + + CV_CAP_ARAVIS = 2100 // Aravis GigE SDK +}; + +/** @brief start capturing frames from camera: index = camera_index + domain_offset (CV_CAP_*) +*/ +CVAPI(CvCapture*) cvCreateCameraCapture( int index ); + +/** @brief grab a frame, return 1 on success, 0 on fail. + + this function is thought to be fast +*/ +CVAPI(int) cvGrabFrame( CvCapture* capture ); + +/** @brief get the frame grabbed with cvGrabFrame(..) + + This function may apply some frame processing like + frame decompression, flipping etc. + @warning !!!DO NOT RELEASE or MODIFY the retrieved frame!!! +*/ +CVAPI(IplImage*) cvRetrieveFrame( CvCapture* capture, int streamIdx CV_DEFAULT(0) ); + +/** @brief Just a combination of cvGrabFrame and cvRetrieveFrame + + @warning !!!DO NOT RELEASE or MODIFY the retrieved frame!!! +*/ +CVAPI(IplImage*) cvQueryFrame( CvCapture* capture ); + +/** @brief stop capturing/reading and free resources +*/ +CVAPI(void) cvReleaseCapture( CvCapture** capture ); + +enum +{ + // modes of the controlling registers (can be: auto, manual, auto single push, absolute Latter allowed with any other mode) + // every feature can have only one mode turned on at a time + CV_CAP_PROP_DC1394_OFF = -4, //turn the feature off (not controlled manually nor automatically) + CV_CAP_PROP_DC1394_MODE_MANUAL = -3, //set automatically when a value of the feature is set by the user + CV_CAP_PROP_DC1394_MODE_AUTO = -2, + CV_CAP_PROP_DC1394_MODE_ONE_PUSH_AUTO = -1, + CV_CAP_PROP_POS_MSEC =0, + CV_CAP_PROP_POS_FRAMES =1, + CV_CAP_PROP_POS_AVI_RATIO =2, + CV_CAP_PROP_FRAME_WIDTH =3, + CV_CAP_PROP_FRAME_HEIGHT =4, + CV_CAP_PROP_FPS =5, + CV_CAP_PROP_FOURCC =6, + CV_CAP_PROP_FRAME_COUNT =7, + CV_CAP_PROP_FORMAT =8, + CV_CAP_PROP_MODE =9, + CV_CAP_PROP_BRIGHTNESS =10, + CV_CAP_PROP_CONTRAST =11, + CV_CAP_PROP_SATURATION =12, + CV_CAP_PROP_HUE =13, + CV_CAP_PROP_GAIN =14, + CV_CAP_PROP_EXPOSURE =15, + CV_CAP_PROP_CONVERT_RGB =16, + CV_CAP_PROP_WHITE_BALANCE_BLUE_U =17, + CV_CAP_PROP_RECTIFICATION =18, + CV_CAP_PROP_MONOCHROME =19, + CV_CAP_PROP_SHARPNESS =20, + CV_CAP_PROP_AUTO_EXPOSURE =21, // exposure control done by camera, + // user can adjust refernce level + // using this feature + CV_CAP_PROP_GAMMA =22, + CV_CAP_PROP_TEMPERATURE =23, + CV_CAP_PROP_TRIGGER =24, + CV_CAP_PROP_TRIGGER_DELAY =25, + CV_CAP_PROP_WHITE_BALANCE_RED_V =26, + CV_CAP_PROP_ZOOM =27, + CV_CAP_PROP_FOCUS =28, + CV_CAP_PROP_GUID =29, + CV_CAP_PROP_ISO_SPEED =30, + CV_CAP_PROP_MAX_DC1394 =31, + CV_CAP_PROP_BACKLIGHT =32, + CV_CAP_PROP_PAN =33, + CV_CAP_PROP_TILT =34, + CV_CAP_PROP_ROLL =35, + CV_CAP_PROP_IRIS =36, + CV_CAP_PROP_SETTINGS =37, + CV_CAP_PROP_BUFFERSIZE =38, + CV_CAP_PROP_AUTOFOCUS =39, + CV_CAP_PROP_SAR_NUM =40, + CV_CAP_PROP_SAR_DEN =41, + + CV_CAP_PROP_AUTOGRAB =1024, // property for videoio class CvCapture_Android only + CV_CAP_PROP_SUPPORTED_PREVIEW_SIZES_STRING=1025, // readonly, tricky property, returns cpnst char* indeed + CV_CAP_PROP_PREVIEW_FORMAT=1026, // readonly, tricky property, returns cpnst char* indeed + + // OpenNI map generators + CV_CAP_OPENNI_DEPTH_GENERATOR = 1 << 31, + CV_CAP_OPENNI_IMAGE_GENERATOR = 1 << 30, + CV_CAP_OPENNI_IR_GENERATOR = 1 << 29, + CV_CAP_OPENNI_GENERATORS_MASK = CV_CAP_OPENNI_DEPTH_GENERATOR + CV_CAP_OPENNI_IMAGE_GENERATOR + CV_CAP_OPENNI_IR_GENERATOR, + + // Properties of cameras available through OpenNI interfaces + CV_CAP_PROP_OPENNI_OUTPUT_MODE = 100, + CV_CAP_PROP_OPENNI_FRAME_MAX_DEPTH = 101, // in mm + CV_CAP_PROP_OPENNI_BASELINE = 102, // in mm + CV_CAP_PROP_OPENNI_FOCAL_LENGTH = 103, // in pixels + CV_CAP_PROP_OPENNI_REGISTRATION = 104, // flag + CV_CAP_PROP_OPENNI_REGISTRATION_ON = CV_CAP_PROP_OPENNI_REGISTRATION, // flag that synchronizes the remapping depth map to image map + // by changing depth generator's view point (if the flag is "on") or + // sets this view point to its normal one (if the flag is "off"). + CV_CAP_PROP_OPENNI_APPROX_FRAME_SYNC = 105, + CV_CAP_PROP_OPENNI_MAX_BUFFER_SIZE = 106, + CV_CAP_PROP_OPENNI_CIRCLE_BUFFER = 107, + CV_CAP_PROP_OPENNI_MAX_TIME_DURATION = 108, + + CV_CAP_PROP_OPENNI_GENERATOR_PRESENT = 109, + CV_CAP_PROP_OPENNI2_SYNC = 110, + CV_CAP_PROP_OPENNI2_MIRROR = 111, + + CV_CAP_OPENNI_IMAGE_GENERATOR_PRESENT = CV_CAP_OPENNI_IMAGE_GENERATOR + CV_CAP_PROP_OPENNI_GENERATOR_PRESENT, + CV_CAP_OPENNI_IMAGE_GENERATOR_OUTPUT_MODE = CV_CAP_OPENNI_IMAGE_GENERATOR + CV_CAP_PROP_OPENNI_OUTPUT_MODE, + CV_CAP_OPENNI_DEPTH_GENERATOR_PRESENT = CV_CAP_OPENNI_DEPTH_GENERATOR + CV_CAP_PROP_OPENNI_GENERATOR_PRESENT, + CV_CAP_OPENNI_DEPTH_GENERATOR_BASELINE = CV_CAP_OPENNI_DEPTH_GENERATOR + CV_CAP_PROP_OPENNI_BASELINE, + CV_CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH = CV_CAP_OPENNI_DEPTH_GENERATOR + CV_CAP_PROP_OPENNI_FOCAL_LENGTH, + CV_CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION = CV_CAP_OPENNI_DEPTH_GENERATOR + CV_CAP_PROP_OPENNI_REGISTRATION, + CV_CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION_ON = CV_CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION, + CV_CAP_OPENNI_IR_GENERATOR_PRESENT = CV_CAP_OPENNI_IR_GENERATOR + CV_CAP_PROP_OPENNI_GENERATOR_PRESENT, + + // Properties of cameras available through GStreamer interface + CV_CAP_GSTREAMER_QUEUE_LENGTH = 200, // default is 1 + + // PVAPI + CV_CAP_PROP_PVAPI_MULTICASTIP = 300, // ip for anable multicast master mode. 0 for disable multicast + CV_CAP_PROP_PVAPI_FRAMESTARTTRIGGERMODE = 301, // FrameStartTriggerMode: Determines how a frame is initiated + CV_CAP_PROP_PVAPI_DECIMATIONHORIZONTAL = 302, // Horizontal sub-sampling of the image + CV_CAP_PROP_PVAPI_DECIMATIONVERTICAL = 303, // Vertical sub-sampling of the image + CV_CAP_PROP_PVAPI_BINNINGX = 304, // Horizontal binning factor + CV_CAP_PROP_PVAPI_BINNINGY = 305, // Vertical binning factor + CV_CAP_PROP_PVAPI_PIXELFORMAT = 306, // Pixel format + + // Properties of cameras available through XIMEA SDK interface + CV_CAP_PROP_XI_DOWNSAMPLING = 400, // Change image resolution by binning or skipping. + CV_CAP_PROP_XI_DATA_FORMAT = 401, // Output data format. + CV_CAP_PROP_XI_OFFSET_X = 402, // Horizontal offset from the origin to the area of interest (in pixels). + CV_CAP_PROP_XI_OFFSET_Y = 403, // Vertical offset from the origin to the area of interest (in pixels). + CV_CAP_PROP_XI_TRG_SOURCE = 404, // Defines source of trigger. + CV_CAP_PROP_XI_TRG_SOFTWARE = 405, // Generates an internal trigger. PRM_TRG_SOURCE must be set to TRG_SOFTWARE. + CV_CAP_PROP_XI_GPI_SELECTOR = 406, // Selects general purpose input + CV_CAP_PROP_XI_GPI_MODE = 407, // Set general purpose input mode + CV_CAP_PROP_XI_GPI_LEVEL = 408, // Get general purpose level + CV_CAP_PROP_XI_GPO_SELECTOR = 409, // Selects general purpose output + CV_CAP_PROP_XI_GPO_MODE = 410, // Set general purpose output mode + CV_CAP_PROP_XI_LED_SELECTOR = 411, // Selects camera signalling LED + CV_CAP_PROP_XI_LED_MODE = 412, // Define camera signalling LED functionality + CV_CAP_PROP_XI_MANUAL_WB = 413, // Calculates White Balance(must be called during acquisition) + CV_CAP_PROP_XI_AUTO_WB = 414, // Automatic white balance + CV_CAP_PROP_XI_AEAG = 415, // Automatic exposure/gain + CV_CAP_PROP_XI_EXP_PRIORITY = 416, // Exposure priority (0.5 - exposure 50%, gain 50%). + CV_CAP_PROP_XI_AE_MAX_LIMIT = 417, // Maximum limit of exposure in AEAG procedure + CV_CAP_PROP_XI_AG_MAX_LIMIT = 418, // Maximum limit of gain in AEAG procedure + CV_CAP_PROP_XI_AEAG_LEVEL = 419, // Average intensity of output signal AEAG should achieve(in %) + CV_CAP_PROP_XI_TIMEOUT = 420, // Image capture timeout in milliseconds + CV_CAP_PROP_XI_EXPOSURE = 421, // Exposure time in microseconds + CV_CAP_PROP_XI_EXPOSURE_BURST_COUNT = 422, // Sets the number of times of exposure in one frame. + CV_CAP_PROP_XI_GAIN_SELECTOR = 423, // Gain selector for parameter Gain allows to select different type of gains. + CV_CAP_PROP_XI_GAIN = 424, // Gain in dB + CV_CAP_PROP_XI_DOWNSAMPLING_TYPE = 426, // Change image downsampling type. + CV_CAP_PROP_XI_BINNING_SELECTOR = 427, // Binning engine selector. + CV_CAP_PROP_XI_BINNING_VERTICAL = 428, // Vertical Binning - number of vertical photo-sensitive cells to combine together. + CV_CAP_PROP_XI_BINNING_HORIZONTAL = 429, // Horizontal Binning - number of horizontal photo-sensitive cells to combine together. + CV_CAP_PROP_XI_BINNING_PATTERN = 430, // Binning pattern type. + CV_CAP_PROP_XI_DECIMATION_SELECTOR = 431, // Decimation engine selector. + CV_CAP_PROP_XI_DECIMATION_VERTICAL = 432, // Vertical Decimation - vertical sub-sampling of the image - reduces the vertical resolution of the image by the specified vertical decimation factor. + CV_CAP_PROP_XI_DECIMATION_HORIZONTAL = 433, // Horizontal Decimation - horizontal sub-sampling of the image - reduces the horizontal resolution of the image by the specified vertical decimation factor. + CV_CAP_PROP_XI_DECIMATION_PATTERN = 434, // Decimation pattern type. + CV_CAP_PROP_XI_TEST_PATTERN_GENERATOR_SELECTOR = 587, // Selects which test pattern generator is controlled by the TestPattern feature. + CV_CAP_PROP_XI_TEST_PATTERN = 588, // Selects which test pattern type is generated by the selected generator. + CV_CAP_PROP_XI_IMAGE_DATA_FORMAT = 435, // Output data format. + CV_CAP_PROP_XI_SHUTTER_TYPE = 436, // Change sensor shutter type(CMOS sensor). + CV_CAP_PROP_XI_SENSOR_TAPS = 437, // Number of taps + CV_CAP_PROP_XI_AEAG_ROI_OFFSET_X = 439, // Automatic exposure/gain ROI offset X + CV_CAP_PROP_XI_AEAG_ROI_OFFSET_Y = 440, // Automatic exposure/gain ROI offset Y + CV_CAP_PROP_XI_AEAG_ROI_WIDTH = 441, // Automatic exposure/gain ROI Width + CV_CAP_PROP_XI_AEAG_ROI_HEIGHT = 442, // Automatic exposure/gain ROI Height + CV_CAP_PROP_XI_BPC = 445, // Correction of bad pixels + CV_CAP_PROP_XI_WB_KR = 448, // White balance red coefficient + CV_CAP_PROP_XI_WB_KG = 449, // White balance green coefficient + CV_CAP_PROP_XI_WB_KB = 450, // White balance blue coefficient + CV_CAP_PROP_XI_WIDTH = 451, // Width of the Image provided by the device (in pixels). + CV_CAP_PROP_XI_HEIGHT = 452, // Height of the Image provided by the device (in pixels). + CV_CAP_PROP_XI_REGION_SELECTOR = 589, // Selects Region in Multiple ROI which parameters are set by width, height, ... ,region mode + CV_CAP_PROP_XI_REGION_MODE = 595, // Activates/deactivates Region selected by Region Selector + CV_CAP_PROP_XI_LIMIT_BANDWIDTH = 459, // Set/get bandwidth(datarate)(in Megabits) + CV_CAP_PROP_XI_SENSOR_DATA_BIT_DEPTH = 460, // Sensor output data bit depth. + CV_CAP_PROP_XI_OUTPUT_DATA_BIT_DEPTH = 461, // Device output data bit depth. + CV_CAP_PROP_XI_IMAGE_DATA_BIT_DEPTH = 462, // bitdepth of data returned by function xiGetImage + CV_CAP_PROP_XI_OUTPUT_DATA_PACKING = 463, // Device output data packing (or grouping) enabled. Packing could be enabled if output_data_bit_depth > 8 and packing capability is available. + CV_CAP_PROP_XI_OUTPUT_DATA_PACKING_TYPE = 464, // Data packing type. Some cameras supports only specific packing type. + CV_CAP_PROP_XI_IS_COOLED = 465, // Returns 1 for cameras that support cooling. + CV_CAP_PROP_XI_COOLING = 466, // Start camera cooling. + CV_CAP_PROP_XI_TARGET_TEMP = 467, // Set sensor target temperature for cooling. + CV_CAP_PROP_XI_CHIP_TEMP = 468, // Camera sensor temperature + CV_CAP_PROP_XI_HOUS_TEMP = 469, // Camera housing tepmerature + CV_CAP_PROP_XI_HOUS_BACK_SIDE_TEMP = 590, // Camera housing back side tepmerature + CV_CAP_PROP_XI_SENSOR_BOARD_TEMP = 596, // Camera sensor board temperature + CV_CAP_PROP_XI_CMS = 470, // Mode of color management system. + CV_CAP_PROP_XI_APPLY_CMS = 471, // Enable applying of CMS profiles to xiGetImage (see XI_PRM_INPUT_CMS_PROFILE, XI_PRM_OUTPUT_CMS_PROFILE). + CV_CAP_PROP_XI_IMAGE_IS_COLOR = 474, // Returns 1 for color cameras. + CV_CAP_PROP_XI_COLOR_FILTER_ARRAY = 475, // Returns color filter array type of RAW data. + CV_CAP_PROP_XI_GAMMAY = 476, // Luminosity gamma + CV_CAP_PROP_XI_GAMMAC = 477, // Chromaticity gamma + CV_CAP_PROP_XI_SHARPNESS = 478, // Sharpness Strenght + CV_CAP_PROP_XI_CC_MATRIX_00 = 479, // Color Correction Matrix element [0][0] + CV_CAP_PROP_XI_CC_MATRIX_01 = 480, // Color Correction Matrix element [0][1] + CV_CAP_PROP_XI_CC_MATRIX_02 = 481, // Color Correction Matrix element [0][2] + CV_CAP_PROP_XI_CC_MATRIX_03 = 482, // Color Correction Matrix element [0][3] + CV_CAP_PROP_XI_CC_MATRIX_10 = 483, // Color Correction Matrix element [1][0] + CV_CAP_PROP_XI_CC_MATRIX_11 = 484, // Color Correction Matrix element [1][1] + CV_CAP_PROP_XI_CC_MATRIX_12 = 485, // Color Correction Matrix element [1][2] + CV_CAP_PROP_XI_CC_MATRIX_13 = 486, // Color Correction Matrix element [1][3] + CV_CAP_PROP_XI_CC_MATRIX_20 = 487, // Color Correction Matrix element [2][0] + CV_CAP_PROP_XI_CC_MATRIX_21 = 488, // Color Correction Matrix element [2][1] + CV_CAP_PROP_XI_CC_MATRIX_22 = 489, // Color Correction Matrix element [2][2] + CV_CAP_PROP_XI_CC_MATRIX_23 = 490, // Color Correction Matrix element [2][3] + CV_CAP_PROP_XI_CC_MATRIX_30 = 491, // Color Correction Matrix element [3][0] + CV_CAP_PROP_XI_CC_MATRIX_31 = 492, // Color Correction Matrix element [3][1] + CV_CAP_PROP_XI_CC_MATRIX_32 = 493, // Color Correction Matrix element [3][2] + CV_CAP_PROP_XI_CC_MATRIX_33 = 494, // Color Correction Matrix element [3][3] + CV_CAP_PROP_XI_DEFAULT_CC_MATRIX = 495, // Set default Color Correction Matrix + CV_CAP_PROP_XI_TRG_SELECTOR = 498, // Selects the type of trigger. + CV_CAP_PROP_XI_ACQ_FRAME_BURST_COUNT = 499, // Sets number of frames acquired by burst. This burst is used only if trigger is set to FrameBurstStart + CV_CAP_PROP_XI_DEBOUNCE_EN = 507, // Enable/Disable debounce to selected GPI + CV_CAP_PROP_XI_DEBOUNCE_T0 = 508, // Debounce time (x * 10us) + CV_CAP_PROP_XI_DEBOUNCE_T1 = 509, // Debounce time (x * 10us) + CV_CAP_PROP_XI_DEBOUNCE_POL = 510, // Debounce polarity (pol = 1 t0 - falling edge, t1 - rising edge) + CV_CAP_PROP_XI_LENS_MODE = 511, // Status of lens control interface. This shall be set to XI_ON before any Lens operations. + CV_CAP_PROP_XI_LENS_APERTURE_VALUE = 512, // Current lens aperture value in stops. Examples: 2.8, 4, 5.6, 8, 11 + CV_CAP_PROP_XI_LENS_FOCUS_MOVEMENT_VALUE = 513, // Lens current focus movement value to be used by XI_PRM_LENS_FOCUS_MOVE in motor steps. + CV_CAP_PROP_XI_LENS_FOCUS_MOVE = 514, // Moves lens focus motor by steps set in XI_PRM_LENS_FOCUS_MOVEMENT_VALUE. + CV_CAP_PROP_XI_LENS_FOCUS_DISTANCE = 515, // Lens focus distance in cm. + CV_CAP_PROP_XI_LENS_FOCAL_LENGTH = 516, // Lens focal distance in mm. + CV_CAP_PROP_XI_LENS_FEATURE_SELECTOR = 517, // Selects the current feature which is accessible by XI_PRM_LENS_FEATURE. + CV_CAP_PROP_XI_LENS_FEATURE = 518, // Allows access to lens feature value currently selected by XI_PRM_LENS_FEATURE_SELECTOR. + CV_CAP_PROP_XI_DEVICE_MODEL_ID = 521, // Return device model id + CV_CAP_PROP_XI_DEVICE_SN = 522, // Return device serial number + CV_CAP_PROP_XI_IMAGE_DATA_FORMAT_RGB32_ALPHA = 529, // The alpha channel of RGB32 output image format. + CV_CAP_PROP_XI_IMAGE_PAYLOAD_SIZE = 530, // Buffer size in bytes sufficient for output image returned by xiGetImage + CV_CAP_PROP_XI_TRANSPORT_PIXEL_FORMAT = 531, // Current format of pixels on transport layer. + CV_CAP_PROP_XI_SENSOR_CLOCK_FREQ_HZ = 532, // Sensor clock frequency in Hz. + CV_CAP_PROP_XI_SENSOR_CLOCK_FREQ_INDEX = 533, // Sensor clock frequency index. Sensor with selected frequencies have possibility to set the frequency only by this index. + CV_CAP_PROP_XI_SENSOR_OUTPUT_CHANNEL_COUNT = 534, // Number of output channels from sensor used for data transfer. + CV_CAP_PROP_XI_FRAMERATE = 535, // Define framerate in Hz + CV_CAP_PROP_XI_COUNTER_SELECTOR = 536, // Select counter + CV_CAP_PROP_XI_COUNTER_VALUE = 537, // Counter status + CV_CAP_PROP_XI_ACQ_TIMING_MODE = 538, // Type of sensor frames timing. + CV_CAP_PROP_XI_AVAILABLE_BANDWIDTH = 539, // Calculate and return available interface bandwidth(int Megabits) + CV_CAP_PROP_XI_BUFFER_POLICY = 540, // Data move policy + CV_CAP_PROP_XI_LUT_EN = 541, // Activates LUT. + CV_CAP_PROP_XI_LUT_INDEX = 542, // Control the index (offset) of the coefficient to access in the LUT. + CV_CAP_PROP_XI_LUT_VALUE = 543, // Value at entry LUTIndex of the LUT + CV_CAP_PROP_XI_TRG_DELAY = 544, // Specifies the delay in microseconds (us) to apply after the trigger reception before activating it. + CV_CAP_PROP_XI_TS_RST_MODE = 545, // Defines how time stamp reset engine will be armed + CV_CAP_PROP_XI_TS_RST_SOURCE = 546, // Defines which source will be used for timestamp reset. Writing this parameter will trigger settings of engine (arming) + CV_CAP_PROP_XI_IS_DEVICE_EXIST = 547, // Returns 1 if camera connected and works properly. + CV_CAP_PROP_XI_ACQ_BUFFER_SIZE = 548, // Acquisition buffer size in buffer_size_unit. Default bytes. + CV_CAP_PROP_XI_ACQ_BUFFER_SIZE_UNIT = 549, // Acquisition buffer size unit in bytes. Default 1. E.g. Value 1024 means that buffer_size is in KiBytes + CV_CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_SIZE = 550, // Acquisition transport buffer size in bytes + CV_CAP_PROP_XI_BUFFERS_QUEUE_SIZE = 551, // Queue of field/frame buffers + CV_CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_COMMIT = 552, // Number of buffers to commit to low level + CV_CAP_PROP_XI_RECENT_FRAME = 553, // GetImage returns most recent frame + CV_CAP_PROP_XI_DEVICE_RESET = 554, // Resets the camera to default state. + CV_CAP_PROP_XI_COLUMN_FPN_CORRECTION = 555, // Correction of column FPN + CV_CAP_PROP_XI_ROW_FPN_CORRECTION = 591, // Correction of row FPN + CV_CAP_PROP_XI_SENSOR_MODE = 558, // Current sensor mode. Allows to select sensor mode by one integer. Setting of this parameter affects: image dimensions and downsampling. + CV_CAP_PROP_XI_HDR = 559, // Enable High Dynamic Range feature. + CV_CAP_PROP_XI_HDR_KNEEPOINT_COUNT = 560, // The number of kneepoints in the PWLR. + CV_CAP_PROP_XI_HDR_T1 = 561, // position of first kneepoint(in % of XI_PRM_EXPOSURE) + CV_CAP_PROP_XI_HDR_T2 = 562, // position of second kneepoint (in % of XI_PRM_EXPOSURE) + CV_CAP_PROP_XI_KNEEPOINT1 = 563, // value of first kneepoint (% of sensor saturation) + CV_CAP_PROP_XI_KNEEPOINT2 = 564, // value of second kneepoint (% of sensor saturation) + CV_CAP_PROP_XI_IMAGE_BLACK_LEVEL = 565, // Last image black level counts. Can be used for Offline processing to recall it. + CV_CAP_PROP_XI_HW_REVISION = 571, // Returns hardware revision number. + CV_CAP_PROP_XI_DEBUG_LEVEL = 572, // Set debug level + CV_CAP_PROP_XI_AUTO_BANDWIDTH_CALCULATION = 573, // Automatic bandwidth calculation, + CV_CAP_PROP_XI_FFS_FILE_ID = 594, // File number. + CV_CAP_PROP_XI_FFS_FILE_SIZE = 580, // Size of file. + CV_CAP_PROP_XI_FREE_FFS_SIZE = 581, // Size of free camera FFS. + CV_CAP_PROP_XI_USED_FFS_SIZE = 582, // Size of used camera FFS. + CV_CAP_PROP_XI_FFS_ACCESS_KEY = 583, // Setting of key enables file operations on some cameras. + CV_CAP_PROP_XI_SENSOR_FEATURE_SELECTOR = 585, // Selects the current feature which is accessible by XI_PRM_SENSOR_FEATURE_VALUE. + CV_CAP_PROP_XI_SENSOR_FEATURE_VALUE = 586, // Allows access to sensor feature value currently selected by XI_PRM_SENSOR_FEATURE_SELECTOR. + + + // Properties for Android cameras + CV_CAP_PROP_ANDROID_FLASH_MODE = 8001, + CV_CAP_PROP_ANDROID_FOCUS_MODE = 8002, + CV_CAP_PROP_ANDROID_WHITE_BALANCE = 8003, + CV_CAP_PROP_ANDROID_ANTIBANDING = 8004, + CV_CAP_PROP_ANDROID_FOCAL_LENGTH = 8005, + CV_CAP_PROP_ANDROID_FOCUS_DISTANCE_NEAR = 8006, + CV_CAP_PROP_ANDROID_FOCUS_DISTANCE_OPTIMAL = 8007, + CV_CAP_PROP_ANDROID_FOCUS_DISTANCE_FAR = 8008, + CV_CAP_PROP_ANDROID_EXPOSE_LOCK = 8009, + CV_CAP_PROP_ANDROID_WHITEBALANCE_LOCK = 8010, + + // Properties of cameras available through AVFOUNDATION interface + CV_CAP_PROP_IOS_DEVICE_FOCUS = 9001, + CV_CAP_PROP_IOS_DEVICE_EXPOSURE = 9002, + CV_CAP_PROP_IOS_DEVICE_FLASH = 9003, + CV_CAP_PROP_IOS_DEVICE_WHITEBALANCE = 9004, + CV_CAP_PROP_IOS_DEVICE_TORCH = 9005, + + // Properties of cameras available through Smartek Giganetix Ethernet Vision interface + /* --- Vladimir Litvinenko (litvinenko.vladimir@gmail.com) --- */ + CV_CAP_PROP_GIGA_FRAME_OFFSET_X = 10001, + CV_CAP_PROP_GIGA_FRAME_OFFSET_Y = 10002, + CV_CAP_PROP_GIGA_FRAME_WIDTH_MAX = 10003, + CV_CAP_PROP_GIGA_FRAME_HEIGH_MAX = 10004, + CV_CAP_PROP_GIGA_FRAME_SENS_WIDTH = 10005, + CV_CAP_PROP_GIGA_FRAME_SENS_HEIGH = 10006, + + CV_CAP_PROP_INTELPERC_PROFILE_COUNT = 11001, + CV_CAP_PROP_INTELPERC_PROFILE_IDX = 11002, + CV_CAP_PROP_INTELPERC_DEPTH_LOW_CONFIDENCE_VALUE = 11003, + CV_CAP_PROP_INTELPERC_DEPTH_SATURATION_VALUE = 11004, + CV_CAP_PROP_INTELPERC_DEPTH_CONFIDENCE_THRESHOLD = 11005, + CV_CAP_PROP_INTELPERC_DEPTH_FOCAL_LENGTH_HORZ = 11006, + CV_CAP_PROP_INTELPERC_DEPTH_FOCAL_LENGTH_VERT = 11007, + + // Intel PerC streams + CV_CAP_INTELPERC_DEPTH_GENERATOR = 1 << 29, + CV_CAP_INTELPERC_IMAGE_GENERATOR = 1 << 28, + CV_CAP_INTELPERC_GENERATORS_MASK = CV_CAP_INTELPERC_DEPTH_GENERATOR + CV_CAP_INTELPERC_IMAGE_GENERATOR +}; + +// Generic camera output modes. +// Currently, these are supported through the libv4l interface only. +enum +{ + CV_CAP_MODE_BGR = 0, // BGR24 (default) + CV_CAP_MODE_RGB = 1, // RGB24 + CV_CAP_MODE_GRAY = 2, // Y8 + CV_CAP_MODE_YUYV = 3 // YUYV +}; + +enum +{ + // Data given from depth generator. + CV_CAP_OPENNI_DEPTH_MAP = 0, // Depth values in mm (CV_16UC1) + CV_CAP_OPENNI_POINT_CLOUD_MAP = 1, // XYZ in meters (CV_32FC3) + CV_CAP_OPENNI_DISPARITY_MAP = 2, // Disparity in pixels (CV_8UC1) + CV_CAP_OPENNI_DISPARITY_MAP_32F = 3, // Disparity in pixels (CV_32FC1) + CV_CAP_OPENNI_VALID_DEPTH_MASK = 4, // CV_8UC1 + + // Data given from RGB image generator. + CV_CAP_OPENNI_BGR_IMAGE = 5, + CV_CAP_OPENNI_GRAY_IMAGE = 6, + + // Data given from IR image generator. + CV_CAP_OPENNI_IR_IMAGE = 7 +}; + +// Supported output modes of OpenNI image generator +enum +{ + CV_CAP_OPENNI_VGA_30HZ = 0, + CV_CAP_OPENNI_SXGA_15HZ = 1, + CV_CAP_OPENNI_SXGA_30HZ = 2, + CV_CAP_OPENNI_QVGA_30HZ = 3, + CV_CAP_OPENNI_QVGA_60HZ = 4 +}; + +enum +{ + CV_CAP_INTELPERC_DEPTH_MAP = 0, // Each pixel is a 16-bit integer. The value indicates the distance from an object to the camera's XY plane or the Cartesian depth. + CV_CAP_INTELPERC_UVDEPTH_MAP = 1, // Each pixel contains two 32-bit floating point values in the range of 0-1, representing the mapping of depth coordinates to the color coordinates. + CV_CAP_INTELPERC_IR_MAP = 2, // Each pixel is a 16-bit integer. The value indicates the intensity of the reflected laser beam. + CV_CAP_INTELPERC_IMAGE = 3 +}; + +// gPhoto2 properties, if propertyId is less than 0 then work on widget with that __additive inversed__ camera setting ID +// Get IDs by using CAP_PROP_GPHOTO2_WIDGET_ENUMERATE. +// @see CvCaptureCAM_GPHOTO2 for more info +enum +{ + CV_CAP_PROP_GPHOTO2_PREVIEW = 17001, // Capture only preview from liveview mode. + CV_CAP_PROP_GPHOTO2_WIDGET_ENUMERATE = 17002, // Readonly, returns (const char *). + CV_CAP_PROP_GPHOTO2_RELOAD_CONFIG = 17003, // Trigger, only by set. Reload camera settings. + CV_CAP_PROP_GPHOTO2_RELOAD_ON_CHANGE = 17004, // Reload all settings on set. + CV_CAP_PROP_GPHOTO2_COLLECT_MSGS = 17005, // Collect messages with details. + CV_CAP_PROP_GPHOTO2_FLUSH_MSGS = 17006, // Readonly, returns (const char *). + CV_CAP_PROP_SPEED = 17007, // Exposure speed. Can be readonly, depends on camera program. + CV_CAP_PROP_APERTURE = 17008, // Aperture. Can be readonly, depends on camera program. + CV_CAP_PROP_EXPOSUREPROGRAM = 17009, // Camera exposure program. + CV_CAP_PROP_VIEWFINDER = 17010 // Enter liveview mode. +}; + +/** @brief retrieve capture properties +*/ +CVAPI(double) cvGetCaptureProperty( CvCapture* capture, int property_id ); +/** @brief set capture properties +*/ +CVAPI(int) cvSetCaptureProperty( CvCapture* capture, int property_id, double value ); + +/** @brief Return the type of the capturer (eg, ::CV_CAP_VFW, ::CV_CAP_UNICAP) + +It is unknown if created with ::CV_CAP_ANY +*/ +CVAPI(int) cvGetCaptureDomain( CvCapture* capture); + +/** @brief "black box" video file writer structure + +In C++ use cv::VideoWriter +*/ +typedef struct CvVideoWriter CvVideoWriter; + +//! Macro to construct the fourcc code of the codec. Same as CV_FOURCC() +#define CV_FOURCC_MACRO(c1, c2, c3, c4) (((c1) & 255) + (((c2) & 255) << 8) + (((c3) & 255) << 16) + (((c4) & 255) << 24)) + +/** @brief Constructs the fourcc code of the codec function + +Simply call it with 4 chars fourcc code like `CV_FOURCC('I', 'Y', 'U', 'V')` + +List of codes can be obtained at [Video Codecs by FOURCC](http://www.fourcc.org/codecs.php) page. +FFMPEG backend with MP4 container natively uses other values as fourcc code: +see [ObjectType](http://www.mp4ra.org/codecs.html). +*/ +CV_INLINE int CV_FOURCC(char c1, char c2, char c3, char c4) +{ + return CV_FOURCC_MACRO(c1, c2, c3, c4); +} + +//! (Windows only) Open Codec Selection Dialog +#define CV_FOURCC_PROMPT -1 +//! (Linux only) Use default codec for specified filename +#define CV_FOURCC_DEFAULT CV_FOURCC('I', 'Y', 'U', 'V') + +/** @brief initialize video file writer +*/ +CVAPI(CvVideoWriter*) cvCreateVideoWriter( const char* filename, int fourcc, + double fps, CvSize frame_size, + int is_color CV_DEFAULT(1)); + +/** @brief write frame to video file +*/ +CVAPI(int) cvWriteFrame( CvVideoWriter* writer, const IplImage* image ); + +/** @brief close video file writer +*/ +CVAPI(void) cvReleaseVideoWriter( CvVideoWriter** writer ); + +// *************************************************************************************** +//! @name Obsolete functions/synonyms +//! @{ +#define cvCaptureFromCAM cvCreateCameraCapture //!< @deprecated use cvCreateCameraCapture() instead +#define cvCaptureFromFile cvCreateFileCapture //!< @deprecated use cvCreateFileCapture() instead +#define cvCaptureFromAVI cvCaptureFromFile //!< @deprecated use cvCreateFileCapture() instead +#define cvCreateAVIWriter cvCreateVideoWriter //!< @deprecated use cvCreateVideoWriter() instead +#define cvWriteToAVI cvWriteFrame //!< @deprecated use cvWriteFrame() instead +//! @} Obsolete... + +//! @} videoio_c + +#ifdef __cplusplus +} +#endif + +#endif //OPENCV_VIDEOIO_H diff --git a/app/src/main/cpp/include/opencv2/videostab.hpp b/app/src/main/cpp/include/opencv2/videostab.hpp new file mode 100644 index 0000000..ca3f5ad --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videostab.hpp @@ -0,0 +1,81 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOSTAB_HPP +#define OPENCV_VIDEOSTAB_HPP + +/** + @defgroup videostab Video Stabilization + +The video stabilization module contains a set of functions and classes that can be used to solve the +problem of video stabilization. There are a few methods implemented, most of them are described in +the papers @cite OF06 and @cite G11 . However, there are some extensions and deviations from the original +paper methods. + +### References + + 1. "Full-Frame Video Stabilization with Motion Inpainting" + Yasuyuki Matsushita, Eyal Ofek, Weina Ge, Xiaoou Tang, Senior Member, and Heung-Yeung Shum + 2. "Auto-Directed Video Stabilization with Robust L1 Optimal Camera Paths" + Matthias Grundmann, Vivek Kwatra, Irfan Essa + + @{ + @defgroup videostab_motion Global Motion Estimation + +The video stabilization module contains a set of functions and classes for global motion estimation +between point clouds or between images. In the last case features are extracted and matched +internally. For the sake of convenience the motion estimation functions are wrapped into classes. +Both the functions and the classes are available. + + @defgroup videostab_marching Fast Marching Method + +The Fast Marching Method @cite Telea04 is used in of the video stabilization routines to do motion and +color inpainting. The method is implemented is a flexible way and it's made public for other users. + + @} + +*/ + +#include "opencv2/videostab/stabilizer.hpp" +#include "opencv2/videostab/ring_buffer.hpp" + +#endif diff --git a/app/src/main/cpp/include/opencv2/videostab/deblurring.hpp b/app/src/main/cpp/include/opencv2/videostab/deblurring.hpp new file mode 100644 index 0000000..b383f0d --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videostab/deblurring.hpp @@ -0,0 +1,116 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOSTAB_DEBLURRING_HPP +#define OPENCV_VIDEOSTAB_DEBLURRING_HPP + +#include +#include "opencv2/core.hpp" + +namespace cv +{ +namespace videostab +{ + +//! @addtogroup videostab +//! @{ + +CV_EXPORTS float calcBlurriness(const Mat &frame); + +class CV_EXPORTS DeblurerBase +{ +public: + DeblurerBase() : radius_(0), frames_(0), motions_(0), blurrinessRates_(0) {} + + virtual ~DeblurerBase() {} + + virtual void setRadius(int val) { radius_ = val; } + virtual int radius() const { return radius_; } + + virtual void deblur(int idx, Mat &frame) = 0; + + + // data from stabilizer + + virtual void setFrames(const std::vector &val) { frames_ = &val; } + virtual const std::vector& frames() const { return *frames_; } + + virtual void setMotions(const std::vector &val) { motions_ = &val; } + virtual const std::vector& motions() const { return *motions_; } + + virtual void setBlurrinessRates(const std::vector &val) { blurrinessRates_ = &val; } + virtual const std::vector& blurrinessRates() const { return *blurrinessRates_; } + +protected: + int radius_; + const std::vector *frames_; + const std::vector *motions_; + const std::vector *blurrinessRates_; +}; + +class CV_EXPORTS NullDeblurer : public DeblurerBase +{ +public: + virtual void deblur(int /*idx*/, Mat &/*frame*/) {} +}; + +class CV_EXPORTS WeightingDeblurer : public DeblurerBase +{ +public: + WeightingDeblurer(); + + void setSensitivity(float val) { sensitivity_ = val; } + float sensitivity() const { return sensitivity_; } + + virtual void deblur(int idx, Mat &frame); + +private: + float sensitivity_; + Mat_ bSum_, gSum_, rSum_, wSum_; +}; + +//! @} + +} // namespace videostab +} // namespace cv + +#endif diff --git a/app/src/main/cpp/include/opencv2/videostab/fast_marching.hpp b/app/src/main/cpp/include/opencv2/videostab/fast_marching.hpp new file mode 100644 index 0000000..43f8e4a --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videostab/fast_marching.hpp @@ -0,0 +1,121 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOSTAB_FAST_MARCHING_HPP +#define OPENCV_VIDEOSTAB_FAST_MARCHING_HPP + +#include +#include +#include +#include "opencv2/core.hpp" + +namespace cv +{ +namespace videostab +{ + +//! @addtogroup videostab_marching +//! @{ + +/** @brief Describes the Fast Marching Method implementation. + + See http://iwi.eldoc.ub.rug.nl/FILES/root/2004/JGraphToolsTelea/2004JGraphToolsTelea.pdf + */ +class CV_EXPORTS FastMarchingMethod +{ +public: + FastMarchingMethod() : inf_(1e6f), size_(0) {} + + /** @brief Template method that runs the Fast Marching Method. + + @param mask Image mask. 0 value indicates that the pixel value must be inpainted, 255 indicates + that the pixel value is known, other values aren't acceptable. + @param inpaint Inpainting functor that overloads void operator ()(int x, int y). + @return Inpainting functor. + */ + template + Inpaint run(const Mat &mask, Inpaint inpaint); + + /** + @return Distance map that's created during working of the method. + */ + Mat distanceMap() const { return dist_; } + +private: + enum { INSIDE = 0, BAND = 1, KNOWN = 255 }; + + struct DXY + { + float dist; + int x, y; + + DXY() : dist(0), x(0), y(0) {} + DXY(float _dist, int _x, int _y) : dist(_dist), x(_x), y(_y) {} + bool operator <(const DXY &dxy) const { return dist < dxy.dist; } + }; + + float solve(int x1, int y1, int x2, int y2) const; + int& indexOf(const DXY &dxy) { return index_(dxy.y, dxy.x); } + + void heapUp(int idx); + void heapDown(int idx); + void heapAdd(const DXY &dxy); + void heapRemoveMin(); + + float inf_; + + cv::Mat_ flag_; // flag map + cv::Mat_ dist_; // distance map + + cv::Mat_ index_; // index of point in the narrow band + std::vector narrowBand_; // narrow band heap + int size_; // narrow band size +}; + +//! @} + +} // namespace videostab +} // namespace cv + +#include "fast_marching_inl.hpp" + +#endif diff --git a/app/src/main/cpp/include/opencv2/videostab/fast_marching_inl.hpp b/app/src/main/cpp/include/opencv2/videostab/fast_marching_inl.hpp new file mode 100644 index 0000000..fdd488a --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videostab/fast_marching_inl.hpp @@ -0,0 +1,165 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOSTAB_FAST_MARCHING_INL_HPP +#define OPENCV_VIDEOSTAB_FAST_MARCHING_INL_HPP + +#include "opencv2/videostab/fast_marching.hpp" + +namespace cv +{ +namespace videostab +{ + +template +Inpaint FastMarchingMethod::run(const cv::Mat &mask, Inpaint inpaint) +{ + using namespace cv; + + CV_Assert(mask.type() == CV_8U); + + static const int lut[4][2] = {{-1,0}, {0,-1}, {1,0}, {0,1}}; + + mask.copyTo(flag_); + flag_.create(mask.size()); + dist_.create(mask.size()); + index_.create(mask.size()); + narrowBand_.clear(); + size_ = 0; + + // init + for (int y = 0; y < flag_.rows; ++y) + { + for (int x = 0; x < flag_.cols; ++x) + { + if (flag_(y,x) == KNOWN) + dist_(y,x) = 0.f; + else + { + int n = 0; + int nunknown = 0; + + for (int i = 0; i < 4; ++i) + { + int xn = x + lut[i][0]; + int yn = y + lut[i][1]; + + if (xn >= 0 && xn < flag_.cols && yn >= 0 && yn < flag_.rows) + { + n++; + if (flag_(yn,xn) != KNOWN) + nunknown++; + } + } + + if (n>0 && nunknown == n) + { + dist_(y,x) = inf_; + flag_(y,x) = INSIDE; + } + else + { + dist_(y,x) = 0.f; + flag_(y,x) = BAND; + inpaint(x, y); + + narrowBand_.push_back(DXY(0.f,x,y)); + index_(y,x) = size_++; + } + } + } + } + + // make heap + for (int i = size_/2-1; i >= 0; --i) + heapDown(i); + + // main cycle + while (size_ > 0) + { + int x = narrowBand_[0].x; + int y = narrowBand_[0].y; + heapRemoveMin(); + + flag_(y,x) = KNOWN; + for (int n = 0; n < 4; ++n) + { + int xn = x + lut[n][0]; + int yn = y + lut[n][1]; + + if (xn >= 0 && xn < flag_.cols && yn >= 0 && yn < flag_.rows && flag_(yn,xn) != KNOWN) + { + dist_(yn,xn) = std::min(std::min(solve(xn-1, yn, xn, yn-1), solve(xn+1, yn, xn, yn-1)), + std::min(solve(xn-1, yn, xn, yn+1), solve(xn+1, yn, xn, yn+1))); + + if (flag_(yn,xn) == INSIDE) + { + flag_(yn,xn) = BAND; + inpaint(xn, yn); + heapAdd(DXY(dist_(yn,xn),xn,yn)); + } + else + { + int i = index_(yn,xn); + if (dist_(yn,xn) < narrowBand_[i].dist) + { + narrowBand_[i].dist = dist_(yn,xn); + heapUp(i); + } + // works better if it's commented out + /*else if (dist(yn,xn) > narrowBand[i].dist) + { + narrowBand[i].dist = dist(yn,xn); + heapDown(i); + }*/ + } + } + } + } + + return inpaint; +} + +} // namespace videostab +} // namespace cv + +#endif diff --git a/app/src/main/cpp/include/opencv2/videostab/frame_source.hpp b/app/src/main/cpp/include/opencv2/videostab/frame_source.hpp new file mode 100644 index 0000000..e4e00b5 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videostab/frame_source.hpp @@ -0,0 +1,94 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOSTAB_FRAME_SOURCE_HPP +#define OPENCV_VIDEOSTAB_FRAME_SOURCE_HPP + +#include +#include "opencv2/core.hpp" + +namespace cv +{ +namespace videostab +{ + +//! @addtogroup videostab +//! @{ + +class CV_EXPORTS IFrameSource +{ +public: + virtual ~IFrameSource() {} + virtual void reset() = 0; + virtual Mat nextFrame() = 0; +}; + +class CV_EXPORTS NullFrameSource : public IFrameSource +{ +public: + virtual void reset() {} + virtual Mat nextFrame() { return Mat(); } +}; + +class CV_EXPORTS VideoFileSource : public IFrameSource +{ +public: + VideoFileSource(const String &path, bool volatileFrame = false); + + virtual void reset(); + virtual Mat nextFrame(); + + int width(); + int height(); + int count(); + double fps(); + +private: + Ptr impl; +}; + +//! @} + +} // namespace videostab +} // namespace cv + +#endif diff --git a/app/src/main/cpp/include/opencv2/videostab/global_motion.hpp b/app/src/main/cpp/include/opencv2/videostab/global_motion.hpp new file mode 100644 index 0000000..8250654 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videostab/global_motion.hpp @@ -0,0 +1,300 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOSTAB_GLOBAL_MOTION_HPP +#define OPENCV_VIDEOSTAB_GLOBAL_MOTION_HPP + +#include +#include +#include "opencv2/core.hpp" +#include "opencv2/features2d.hpp" +#include "opencv2/opencv_modules.hpp" +#include "opencv2/videostab/optical_flow.hpp" +#include "opencv2/videostab/motion_core.hpp" +#include "opencv2/videostab/outlier_rejection.hpp" + +#ifdef HAVE_OPENCV_CUDAIMGPROC +# include "opencv2/cudaimgproc.hpp" +#endif + +namespace cv +{ +namespace videostab +{ + +//! @addtogroup videostab_motion +//! @{ + +/** @brief Estimates best global motion between two 2D point clouds in the least-squares sense. + +@note Works in-place and changes input point arrays. + +@param points0 Source set of 2D points (32F). +@param points1 Destination set of 2D points (32F). +@param model Motion model (up to MM_AFFINE). +@param rmse Final root-mean-square error. +@return 3x3 2D transformation matrix (32F). + */ +CV_EXPORTS Mat estimateGlobalMotionLeastSquares( + InputOutputArray points0, InputOutputArray points1, int model = MM_AFFINE, + float *rmse = 0); + +/** @brief Estimates best global motion between two 2D point clouds robustly (using RANSAC method). + +@param points0 Source set of 2D points (32F). +@param points1 Destination set of 2D points (32F). +@param model Motion model. See cv::videostab::MotionModel. +@param params RANSAC method parameters. See videostab::RansacParams. +@param rmse Final root-mean-square error. +@param ninliers Final number of inliers. + */ +CV_EXPORTS Mat estimateGlobalMotionRansac( + InputArray points0, InputArray points1, int model = MM_AFFINE, + const RansacParams ¶ms = RansacParams::default2dMotion(MM_AFFINE), + float *rmse = 0, int *ninliers = 0); + +/** @brief Base class for all global motion estimation methods. + */ +class CV_EXPORTS MotionEstimatorBase +{ +public: + virtual ~MotionEstimatorBase() {} + + /** @brief Sets motion model. + + @param val Motion model. See cv::videostab::MotionModel. + */ + virtual void setMotionModel(MotionModel val) { motionModel_ = val; } + + /** + @return Motion model. See cv::videostab::MotionModel. + */ + virtual MotionModel motionModel() const { return motionModel_; } + + /** @brief Estimates global motion between two 2D point clouds. + + @param points0 Source set of 2D points (32F). + @param points1 Destination set of 2D points (32F). + @param ok Indicates whether motion was estimated successfully. + @return 3x3 2D transformation matrix (32F). + */ + virtual Mat estimate(InputArray points0, InputArray points1, bool *ok = 0) = 0; + +protected: + MotionEstimatorBase(MotionModel model) { setMotionModel(model); } + +private: + MotionModel motionModel_; +}; + +/** @brief Describes a robust RANSAC-based global 2D motion estimation method which minimizes L2 error. + */ +class CV_EXPORTS MotionEstimatorRansacL2 : public MotionEstimatorBase +{ +public: + MotionEstimatorRansacL2(MotionModel model = MM_AFFINE); + + void setRansacParams(const RansacParams &val) { ransacParams_ = val; } + RansacParams ransacParams() const { return ransacParams_; } + + void setMinInlierRatio(float val) { minInlierRatio_ = val; } + float minInlierRatio() const { return minInlierRatio_; } + + virtual Mat estimate(InputArray points0, InputArray points1, bool *ok = 0); + +private: + RansacParams ransacParams_; + float minInlierRatio_; +}; + +/** @brief Describes a global 2D motion estimation method which minimizes L1 error. + +@note To be able to use this method you must build OpenCV with CLP library support. : + */ +class CV_EXPORTS MotionEstimatorL1 : public MotionEstimatorBase +{ +public: + MotionEstimatorL1(MotionModel model = MM_AFFINE); + + virtual Mat estimate(InputArray points0, InputArray points1, bool *ok = 0); + +private: + std::vector obj_, collb_, colub_; + std::vector elems_, rowlb_, rowub_; + std::vector rows_, cols_; + + void set(int row, int col, double coef) + { + rows_.push_back(row); + cols_.push_back(col); + elems_.push_back(coef); + } +}; + +/** @brief Base class for global 2D motion estimation methods which take frames as input. + */ +class CV_EXPORTS ImageMotionEstimatorBase +{ +public: + virtual ~ImageMotionEstimatorBase() {} + + virtual void setMotionModel(MotionModel val) { motionModel_ = val; } + virtual MotionModel motionModel() const { return motionModel_; } + + virtual Mat estimate(const Mat &frame0, const Mat &frame1, bool *ok = 0) = 0; + +protected: + ImageMotionEstimatorBase(MotionModel model) { setMotionModel(model); } + +private: + MotionModel motionModel_; +}; + +class CV_EXPORTS FromFileMotionReader : public ImageMotionEstimatorBase +{ +public: + FromFileMotionReader(const String &path); + + virtual Mat estimate(const Mat &frame0, const Mat &frame1, bool *ok = 0); + +private: + std::ifstream file_; +}; + +class CV_EXPORTS ToFileMotionWriter : public ImageMotionEstimatorBase +{ +public: + ToFileMotionWriter(const String &path, Ptr estimator); + + virtual void setMotionModel(MotionModel val) { motionEstimator_->setMotionModel(val); } + virtual MotionModel motionModel() const { return motionEstimator_->motionModel(); } + + virtual Mat estimate(const Mat &frame0, const Mat &frame1, bool *ok = 0); + +private: + std::ofstream file_; + Ptr motionEstimator_; +}; + +/** @brief Describes a global 2D motion estimation method which uses keypoints detection and optical flow for +matching. + */ +class CV_EXPORTS KeypointBasedMotionEstimator : public ImageMotionEstimatorBase +{ +public: + KeypointBasedMotionEstimator(Ptr estimator); + + virtual void setMotionModel(MotionModel val) { motionEstimator_->setMotionModel(val); } + virtual MotionModel motionModel() const { return motionEstimator_->motionModel(); } + + void setDetector(Ptr val) { detector_ = val; } + Ptr detector() const { return detector_; } + + void setOpticalFlowEstimator(Ptr val) { optFlowEstimator_ = val; } + Ptr opticalFlowEstimator() const { return optFlowEstimator_; } + + void setOutlierRejector(Ptr val) { outlierRejector_ = val; } + Ptr outlierRejector() const { return outlierRejector_; } + + virtual Mat estimate(const Mat &frame0, const Mat &frame1, bool *ok = 0); + Mat estimate(InputArray frame0, InputArray frame1, bool *ok = 0); + +private: + Ptr motionEstimator_; + Ptr detector_; + Ptr optFlowEstimator_; + Ptr outlierRejector_; + + std::vector status_; + std::vector keypointsPrev_; + std::vector pointsPrev_, points_; + std::vector pointsPrevGood_, pointsGood_; +}; + +#if defined(HAVE_OPENCV_CUDAIMGPROC) && defined(HAVE_OPENCV_CUDAOPTFLOW) + +class CV_EXPORTS KeypointBasedMotionEstimatorGpu : public ImageMotionEstimatorBase +{ +public: + KeypointBasedMotionEstimatorGpu(Ptr estimator); + + virtual void setMotionModel(MotionModel val) { motionEstimator_->setMotionModel(val); } + virtual MotionModel motionModel() const { return motionEstimator_->motionModel(); } + + void setOutlierRejector(Ptr val) { outlierRejector_ = val; } + Ptr outlierRejector() const { return outlierRejector_; } + + virtual Mat estimate(const Mat &frame0, const Mat &frame1, bool *ok = 0); + Mat estimate(const cuda::GpuMat &frame0, const cuda::GpuMat &frame1, bool *ok = 0); + +private: + Ptr motionEstimator_; + Ptr detector_; + SparsePyrLkOptFlowEstimatorGpu optFlowEstimator_; + Ptr outlierRejector_; + + cuda::GpuMat frame0_, grayFrame0_, frame1_; + cuda::GpuMat pointsPrev_, points_; + cuda::GpuMat status_; + + Mat hostPointsPrev_, hostPoints_; + std::vector hostPointsPrevTmp_, hostPointsTmp_; + std::vector rejectionStatus_; +}; + +#endif // defined(HAVE_OPENCV_CUDAIMGPROC) && defined(HAVE_OPENCV_CUDAOPTFLOW) + +/** @brief Computes motion between two frames assuming that all the intermediate motions are known. + +@param from Source frame index. +@param to Destination frame index. +@param motions Pair-wise motions. motions[i] denotes motion from the frame i to the frame i+1 +@return Motion from the frame from to the frame to. + */ +CV_EXPORTS Mat getMotion(int from, int to, const std::vector &motions); + +//! @} + +} // namespace videostab +} // namespace cv + +#endif diff --git a/app/src/main/cpp/include/opencv2/videostab/inpainting.hpp b/app/src/main/cpp/include/opencv2/videostab/inpainting.hpp new file mode 100644 index 0000000..61eeec3 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videostab/inpainting.hpp @@ -0,0 +1,212 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOSTAB_INPAINTINT_HPP +#define OPENCV_VIDEOSTAB_INPAINTINT_HPP + +#include +#include "opencv2/core.hpp" +#include "opencv2/videostab/optical_flow.hpp" +#include "opencv2/videostab/fast_marching.hpp" +#include "opencv2/videostab/global_motion.hpp" +#include "opencv2/photo.hpp" + +namespace cv +{ +namespace videostab +{ + +//! @addtogroup videostab +//! @{ + +class CV_EXPORTS InpainterBase +{ +public: + InpainterBase() + : radius_(0), motionModel_(MM_UNKNOWN), frames_(0), motions_(0), + stabilizedFrames_(0), stabilizationMotions_(0) {} + + virtual ~InpainterBase() {} + + virtual void setRadius(int val) { radius_ = val; } + virtual int radius() const { return radius_; } + + virtual void setMotionModel(MotionModel val) { motionModel_ = val; } + virtual MotionModel motionModel() const { return motionModel_; } + + virtual void inpaint(int idx, Mat &frame, Mat &mask) = 0; + + + // data from stabilizer + + virtual void setFrames(const std::vector &val) { frames_ = &val; } + virtual const std::vector& frames() const { return *frames_; } + + virtual void setMotions(const std::vector &val) { motions_ = &val; } + virtual const std::vector& motions() const { return *motions_; } + + virtual void setStabilizedFrames(const std::vector &val) { stabilizedFrames_ = &val; } + virtual const std::vector& stabilizedFrames() const { return *stabilizedFrames_; } + + virtual void setStabilizationMotions(const std::vector &val) { stabilizationMotions_ = &val; } + virtual const std::vector& stabilizationMotions() const { return *stabilizationMotions_; } + +protected: + int radius_; + MotionModel motionModel_; + const std::vector *frames_; + const std::vector *motions_; + const std::vector *stabilizedFrames_; + const std::vector *stabilizationMotions_; +}; + +class CV_EXPORTS NullInpainter : public InpainterBase +{ +public: + virtual void inpaint(int /*idx*/, Mat &/*frame*/, Mat &/*mask*/) {} +}; + +class CV_EXPORTS InpaintingPipeline : public InpainterBase +{ +public: + void pushBack(Ptr inpainter) { inpainters_.push_back(inpainter); } + bool empty() const { return inpainters_.empty(); } + + virtual void setRadius(int val); + virtual void setMotionModel(MotionModel val); + virtual void setFrames(const std::vector &val); + virtual void setMotions(const std::vector &val); + virtual void setStabilizedFrames(const std::vector &val); + virtual void setStabilizationMotions(const std::vector &val); + + virtual void inpaint(int idx, Mat &frame, Mat &mask); + +private: + std::vector > inpainters_; +}; + +class CV_EXPORTS ConsistentMosaicInpainter : public InpainterBase +{ +public: + ConsistentMosaicInpainter(); + + void setStdevThresh(float val) { stdevThresh_ = val; } + float stdevThresh() const { return stdevThresh_; } + + virtual void inpaint(int idx, Mat &frame, Mat &mask); + +private: + float stdevThresh_; +}; + +class CV_EXPORTS MotionInpainter : public InpainterBase +{ +public: + MotionInpainter(); + + void setOptFlowEstimator(Ptr val) { optFlowEstimator_ = val; } + Ptr optFlowEstimator() const { return optFlowEstimator_; } + + void setFlowErrorThreshold(float val) { flowErrorThreshold_ = val; } + float flowErrorThreshold() const { return flowErrorThreshold_; } + + void setDistThreshold(float val) { distThresh_ = val; } + float distThresh() const { return distThresh_; } + + void setBorderMode(int val) { borderMode_ = val; } + int borderMode() const { return borderMode_; } + + virtual void inpaint(int idx, Mat &frame, Mat &mask); + +private: + FastMarchingMethod fmm_; + Ptr optFlowEstimator_; + float flowErrorThreshold_; + float distThresh_; + int borderMode_; + + Mat frame1_, transformedFrame1_; + Mat_ grayFrame_, transformedGrayFrame1_; + Mat_ mask1_, transformedMask1_; + Mat_ flowX_, flowY_, flowErrors_; + Mat_ flowMask_; +}; + +class CV_EXPORTS ColorAverageInpainter : public InpainterBase +{ +public: + virtual void inpaint(int idx, Mat &frame, Mat &mask); + +private: + FastMarchingMethod fmm_; +}; + +class CV_EXPORTS ColorInpainter : public InpainterBase +{ +public: + ColorInpainter(int method = INPAINT_TELEA, double radius = 2.); + + virtual void inpaint(int idx, Mat &frame, Mat &mask); + +private: + int method_; + double radius_; + Mat invMask_; +}; + +inline ColorInpainter::ColorInpainter(int _method, double _radius) + : method_(_method), radius_(_radius) {} + +CV_EXPORTS void calcFlowMask( + const Mat &flowX, const Mat &flowY, const Mat &errors, float maxError, + const Mat &mask0, const Mat &mask1, Mat &flowMask); + +CV_EXPORTS void completeFrameAccordingToFlow( + const Mat &flowMask, const Mat &flowX, const Mat &flowY, const Mat &frame1, const Mat &mask1, + float distThresh, Mat& frame0, Mat &mask0); + +//! @} + +} // namespace videostab +} // namespace cv + +#endif diff --git a/app/src/main/cpp/include/opencv2/videostab/log.hpp b/app/src/main/cpp/include/opencv2/videostab/log.hpp new file mode 100644 index 0000000..81c634a --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videostab/log.hpp @@ -0,0 +1,80 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOSTAB_LOG_HPP +#define OPENCV_VIDEOSTAB_LOG_HPP + +#include "opencv2/core.hpp" + +namespace cv +{ +namespace videostab +{ + +//! @addtogroup videostab +//! @{ + +class CV_EXPORTS ILog +{ +public: + virtual ~ILog() {} + virtual void print(const char *format, ...) = 0; +}; + +class CV_EXPORTS NullLog : public ILog +{ +public: + virtual void print(const char * /*format*/, ...) {} +}; + +class CV_EXPORTS LogToStdout : public ILog +{ +public: + virtual void print(const char *format, ...); +}; + +//! @} + +} // namespace videostab +} // namespace cv + +#endif diff --git a/app/src/main/cpp/include/opencv2/videostab/motion_core.hpp b/app/src/main/cpp/include/opencv2/videostab/motion_core.hpp new file mode 100644 index 0000000..4525cc7 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videostab/motion_core.hpp @@ -0,0 +1,129 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOSTAB_MOTION_CORE_HPP +#define OPENCV_VIDEOSTAB_MOTION_CORE_HPP + +#include +#include "opencv2/core.hpp" + +namespace cv +{ +namespace videostab +{ + +//! @addtogroup videostab_motion +//! @{ + +/** @brief Describes motion model between two point clouds. + */ +enum MotionModel +{ + MM_TRANSLATION = 0, + MM_TRANSLATION_AND_SCALE = 1, + MM_ROTATION = 2, + MM_RIGID = 3, + MM_SIMILARITY = 4, + MM_AFFINE = 5, + MM_HOMOGRAPHY = 6, + MM_UNKNOWN = 7 +}; + +/** @brief Describes RANSAC method parameters. + */ +struct CV_EXPORTS RansacParams +{ + int size; //!< subset size + float thresh; //!< max error to classify as inlier + float eps; //!< max outliers ratio + float prob; //!< probability of success + + RansacParams() : size(0), thresh(0), eps(0), prob(0) {} + /** @brief Constructor + @param size Subset size. + @param thresh Maximum re-projection error value to classify as inlier. + @param eps Maximum ratio of incorrect correspondences. + @param prob Required success probability. + */ + RansacParams(int size, float thresh, float eps, float prob); + + /** + @return Number of iterations that'll be performed by RANSAC method. + */ + int niters() const + { + return static_cast( + std::ceil(std::log(1 - prob) / std::log(1 - std::pow(1 - eps, size)))); + } + + /** + @param model Motion model. See cv::videostab::MotionModel. + @return Default RANSAC method parameters for the given motion model. + */ + static RansacParams default2dMotion(MotionModel model) + { + CV_Assert(model < MM_UNKNOWN); + if (model == MM_TRANSLATION) + return RansacParams(1, 0.5f, 0.5f, 0.99f); + if (model == MM_TRANSLATION_AND_SCALE) + return RansacParams(2, 0.5f, 0.5f, 0.99f); + if (model == MM_ROTATION) + return RansacParams(1, 0.5f, 0.5f, 0.99f); + if (model == MM_RIGID) + return RansacParams(2, 0.5f, 0.5f, 0.99f); + if (model == MM_SIMILARITY) + return RansacParams(2, 0.5f, 0.5f, 0.99f); + if (model == MM_AFFINE) + return RansacParams(3, 0.5f, 0.5f, 0.99f); + return RansacParams(4, 0.5f, 0.5f, 0.99f); + } +}; + +inline RansacParams::RansacParams(int _size, float _thresh, float _eps, float _prob) + : size(_size), thresh(_thresh), eps(_eps), prob(_prob) {} + +//! @} + +} // namespace videostab +} // namespace cv + +#endif diff --git a/app/src/main/cpp/include/opencv2/videostab/motion_stabilizing.hpp b/app/src/main/cpp/include/opencv2/videostab/motion_stabilizing.hpp new file mode 100644 index 0000000..5ea5a65 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videostab/motion_stabilizing.hpp @@ -0,0 +1,174 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOSTAB_MOTION_STABILIZING_HPP +#define OPENCV_VIDEOSTAB_MOTION_STABILIZING_HPP + +#include +#include +#include "opencv2/core.hpp" +#include "opencv2/videostab/global_motion.hpp" + +namespace cv +{ +namespace videostab +{ + +//! @addtogroup videostab_motion +//! @{ + +class CV_EXPORTS IMotionStabilizer +{ +public: + virtual ~IMotionStabilizer() {} + + //! assumes that [0, size-1) is in or equals to [range.first, range.second) + virtual void stabilize( + int size, const std::vector &motions, std::pair range, + Mat *stabilizationMotions) = 0; +}; + +class CV_EXPORTS MotionStabilizationPipeline : public IMotionStabilizer +{ +public: + void pushBack(Ptr stabilizer) { stabilizers_.push_back(stabilizer); } + bool empty() const { return stabilizers_.empty(); } + + virtual void stabilize( + int size, const std::vector &motions, std::pair range, + Mat *stabilizationMotions); + +private: + std::vector > stabilizers_; +}; + +class CV_EXPORTS MotionFilterBase : public IMotionStabilizer +{ +public: + virtual ~MotionFilterBase() {} + + virtual Mat stabilize( + int idx, const std::vector &motions, std::pair range) = 0; + + virtual void stabilize( + int size, const std::vector &motions, std::pair range, + Mat *stabilizationMotions); +}; + +class CV_EXPORTS GaussianMotionFilter : public MotionFilterBase +{ +public: + GaussianMotionFilter(int radius = 15, float stdev = -1.f); + + void setParams(int radius, float stdev = -1.f); + int radius() const { return radius_; } + float stdev() const { return stdev_; } + + virtual Mat stabilize( + int idx, const std::vector &motions, std::pair range); + +private: + int radius_; + float stdev_; + std::vector weight_; +}; + +inline GaussianMotionFilter::GaussianMotionFilter(int _radius, float _stdev) { setParams(_radius, _stdev); } + +class CV_EXPORTS LpMotionStabilizer : public IMotionStabilizer +{ +public: + LpMotionStabilizer(MotionModel model = MM_SIMILARITY); + + void setMotionModel(MotionModel val) { model_ = val; } + MotionModel motionModel() const { return model_; } + + void setFrameSize(Size val) { frameSize_ = val; } + Size frameSize() const { return frameSize_; } + + void setTrimRatio(float val) { trimRatio_ = val; } + float trimRatio() const { return trimRatio_; } + + void setWeight1(float val) { w1_ = val; } + float weight1() const { return w1_; } + + void setWeight2(float val) { w2_ = val; } + float weight2() const { return w2_; } + + void setWeight3(float val) { w3_ = val; } + float weight3() const { return w3_; } + + void setWeight4(float val) { w4_ = val; } + float weight4() const { return w4_; } + + virtual void stabilize( + int size, const std::vector &motions, std::pair range, + Mat *stabilizationMotions); + +private: + MotionModel model_; + Size frameSize_; + float trimRatio_; + float w1_, w2_, w3_, w4_; + + std::vector obj_, collb_, colub_; + std::vector rows_, cols_; + std::vector elems_, rowlb_, rowub_; + + void set(int row, int col, double coef) + { + rows_.push_back(row); + cols_.push_back(col); + elems_.push_back(coef); + } +}; + +CV_EXPORTS Mat ensureInclusionConstraint(const Mat &M, Size size, float trimRatio); + +CV_EXPORTS float estimateOptimalTrimRatio(const Mat &M, Size size); + +//! @} + +} // namespace videostab +} // namespace + +#endif diff --git a/app/src/main/cpp/include/opencv2/videostab/optical_flow.hpp b/app/src/main/cpp/include/opencv2/videostab/optical_flow.hpp new file mode 100644 index 0000000..d631488 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videostab/optical_flow.hpp @@ -0,0 +1,150 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOSTAB_OPTICAL_FLOW_HPP +#define OPENCV_VIDEOSTAB_OPTICAL_FLOW_HPP + +#include "opencv2/core.hpp" +#include "opencv2/opencv_modules.hpp" + +#ifdef HAVE_OPENCV_CUDAOPTFLOW + #include "opencv2/cudaoptflow.hpp" +#endif + +namespace cv +{ +namespace videostab +{ + +//! @addtogroup videostab +//! @{ + +class CV_EXPORTS ISparseOptFlowEstimator +{ +public: + virtual ~ISparseOptFlowEstimator() {} + virtual void run( + InputArray frame0, InputArray frame1, InputArray points0, InputOutputArray points1, + OutputArray status, OutputArray errors) = 0; +}; + +class CV_EXPORTS IDenseOptFlowEstimator +{ +public: + virtual ~IDenseOptFlowEstimator() {} + virtual void run( + InputArray frame0, InputArray frame1, InputOutputArray flowX, InputOutputArray flowY, + OutputArray errors) = 0; +}; + +class CV_EXPORTS PyrLkOptFlowEstimatorBase +{ +public: + PyrLkOptFlowEstimatorBase() { setWinSize(Size(21, 21)); setMaxLevel(3); } + + virtual void setWinSize(Size val) { winSize_ = val; } + virtual Size winSize() const { return winSize_; } + + virtual void setMaxLevel(int val) { maxLevel_ = val; } + virtual int maxLevel() const { return maxLevel_; } + virtual ~PyrLkOptFlowEstimatorBase() {} + +protected: + Size winSize_; + int maxLevel_; +}; + +class CV_EXPORTS SparsePyrLkOptFlowEstimator + : public PyrLkOptFlowEstimatorBase, public ISparseOptFlowEstimator +{ +public: + virtual void run( + InputArray frame0, InputArray frame1, InputArray points0, InputOutputArray points1, + OutputArray status, OutputArray errors); +}; + +#ifdef HAVE_OPENCV_CUDAOPTFLOW + +class CV_EXPORTS SparsePyrLkOptFlowEstimatorGpu + : public PyrLkOptFlowEstimatorBase, public ISparseOptFlowEstimator +{ +public: + SparsePyrLkOptFlowEstimatorGpu(); + + virtual void run( + InputArray frame0, InputArray frame1, InputArray points0, InputOutputArray points1, + OutputArray status, OutputArray errors); + + void run(const cuda::GpuMat &frame0, const cuda::GpuMat &frame1, const cuda::GpuMat &points0, cuda::GpuMat &points1, + cuda::GpuMat &status, cuda::GpuMat &errors); + + void run(const cuda::GpuMat &frame0, const cuda::GpuMat &frame1, const cuda::GpuMat &points0, cuda::GpuMat &points1, + cuda::GpuMat &status); + +private: + Ptr optFlowEstimator_; + cuda::GpuMat frame0_, frame1_, points0_, points1_, status_, errors_; +}; + +class CV_EXPORTS DensePyrLkOptFlowEstimatorGpu + : public PyrLkOptFlowEstimatorBase, public IDenseOptFlowEstimator +{ +public: + DensePyrLkOptFlowEstimatorGpu(); + + virtual void run( + InputArray frame0, InputArray frame1, InputOutputArray flowX, InputOutputArray flowY, + OutputArray errors); + +private: + Ptr optFlowEstimator_; + cuda::GpuMat frame0_, frame1_, flowX_, flowY_, errors_; +}; + +#endif + +//! @} + +} // namespace videostab +} // namespace cv + +#endif diff --git a/app/src/main/cpp/include/opencv2/videostab/outlier_rejection.hpp b/app/src/main/cpp/include/opencv2/videostab/outlier_rejection.hpp new file mode 100644 index 0000000..9b9b384 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videostab/outlier_rejection.hpp @@ -0,0 +1,101 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOSTAB_OUTLIER_REJECTION_HPP +#define OPENCV_VIDEOSTAB_OUTLIER_REJECTION_HPP + +#include +#include "opencv2/core.hpp" +#include "opencv2/videostab/motion_core.hpp" + +namespace cv +{ +namespace videostab +{ + +//! @addtogroup videostab +//! @{ + +class CV_EXPORTS IOutlierRejector +{ +public: + virtual ~IOutlierRejector() {} + + virtual void process( + Size frameSize, InputArray points0, InputArray points1, OutputArray mask) = 0; +}; + +class CV_EXPORTS NullOutlierRejector : public IOutlierRejector +{ +public: + virtual void process( + Size frameSize, InputArray points0, InputArray points1, OutputArray mask); +}; + +class CV_EXPORTS TranslationBasedLocalOutlierRejector : public IOutlierRejector +{ +public: + TranslationBasedLocalOutlierRejector(); + + void setCellSize(Size val) { cellSize_ = val; } + Size cellSize() const { return cellSize_; } + + void setRansacParams(RansacParams val) { ransacParams_ = val; } + RansacParams ransacParams() const { return ransacParams_; } + + virtual void process( + Size frameSize, InputArray points0, InputArray points1, OutputArray mask); + +private: + Size cellSize_; + RansacParams ransacParams_; + + typedef std::vector Cell; + std::vector grid_; +}; + +//! @} + +} // namespace videostab +} // namespace cv + +#endif diff --git a/app/src/main/cpp/include/opencv2/videostab/ring_buffer.hpp b/app/src/main/cpp/include/opencv2/videostab/ring_buffer.hpp new file mode 100644 index 0000000..55d5244 --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videostab/ring_buffer.hpp @@ -0,0 +1,72 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOSTAB_RING_BUFFER_HPP +#define OPENCV_VIDEOSTAB_RING_BUFFER_HPP + +#include +#include "opencv2/imgproc.hpp" + +namespace cv +{ +namespace videostab +{ + +//! @addtogroup videostab +//! @{ + +template inline T& at(int idx, std::vector &items) +{ + return items[cv::borderInterpolate(idx, static_cast(items.size()), cv::BORDER_WRAP)]; +} + +template inline const T& at(int idx, const std::vector &items) +{ + return items[cv::borderInterpolate(idx, static_cast(items.size()), cv::BORDER_WRAP)]; +} + +//! @} + +} // namespace videostab +} // namespace cv + +#endif diff --git a/app/src/main/cpp/include/opencv2/videostab/stabilizer.hpp b/app/src/main/cpp/include/opencv2/videostab/stabilizer.hpp new file mode 100644 index 0000000..b78b4ea --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videostab/stabilizer.hpp @@ -0,0 +1,200 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOSTAB_STABILIZER_HPP +#define OPENCV_VIDEOSTAB_STABILIZER_HPP + +#include +#include +#include "opencv2/core.hpp" +#include "opencv2/imgproc.hpp" +#include "opencv2/videostab/global_motion.hpp" +#include "opencv2/videostab/motion_stabilizing.hpp" +#include "opencv2/videostab/frame_source.hpp" +#include "opencv2/videostab/log.hpp" +#include "opencv2/videostab/inpainting.hpp" +#include "opencv2/videostab/deblurring.hpp" +#include "opencv2/videostab/wobble_suppression.hpp" + +namespace cv +{ +namespace videostab +{ + +//! @addtogroup videostab +//! @{ + +class CV_EXPORTS StabilizerBase +{ +public: + virtual ~StabilizerBase() {} + + void setLog(Ptr ilog) { log_ = ilog; } + Ptr log() const { return log_; } + + void setRadius(int val) { radius_ = val; } + int radius() const { return radius_; } + + void setFrameSource(Ptr val) { frameSource_ = val; } + Ptr frameSource() const { return frameSource_; } + + void setMotionEstimator(Ptr val) { motionEstimator_ = val; } + Ptr motionEstimator() const { return motionEstimator_; } + + void setDeblurer(Ptr val) { deblurer_ = val; } + Ptr deblurrer() const { return deblurer_; } + + void setTrimRatio(float val) { trimRatio_ = val; } + float trimRatio() const { return trimRatio_; } + + void setCorrectionForInclusion(bool val) { doCorrectionForInclusion_ = val; } + bool doCorrectionForInclusion() const { return doCorrectionForInclusion_; } + + void setBorderMode(int val) { borderMode_ = val; } + int borderMode() const { return borderMode_; } + + void setInpainter(Ptr val) { inpainter_ = val; } + Ptr inpainter() const { return inpainter_; } + +protected: + StabilizerBase(); + + void reset(); + Mat nextStabilizedFrame(); + bool doOneIteration(); + virtual void setUp(const Mat &firstFrame); + virtual Mat estimateMotion() = 0; + virtual Mat estimateStabilizationMotion() = 0; + void stabilizeFrame(); + virtual Mat postProcessFrame(const Mat &frame); + void logProcessingTime(); + + Ptr log_; + Ptr frameSource_; + Ptr motionEstimator_; + Ptr deblurer_; + Ptr inpainter_; + int radius_; + float trimRatio_; + bool doCorrectionForInclusion_; + int borderMode_; + + Size frameSize_; + Mat frameMask_; + int curPos_; + int curStabilizedPos_; + bool doDeblurring_; + Mat preProcessedFrame_; + bool doInpainting_; + Mat inpaintingMask_; + Mat finalFrame_; + std::vector frames_; + std::vector motions_; // motions_[i] is the motion from i-th to i+1-th frame + std::vector blurrinessRates_; + std::vector stabilizedFrames_; + std::vector stabilizedMasks_; + std::vector stabilizationMotions_; + clock_t processingStartTime_; +}; + +class CV_EXPORTS OnePassStabilizer : public StabilizerBase, public IFrameSource +{ +public: + OnePassStabilizer(); + + void setMotionFilter(Ptr val) { motionFilter_ = val; } + Ptr motionFilter() const { return motionFilter_; } + + virtual void reset(); + virtual Mat nextFrame() { return nextStabilizedFrame(); } + +protected: + virtual void setUp(const Mat &firstFrame); + virtual Mat estimateMotion(); + virtual Mat estimateStabilizationMotion(); + virtual Mat postProcessFrame(const Mat &frame); + + Ptr motionFilter_; +}; + +class CV_EXPORTS TwoPassStabilizer : public StabilizerBase, public IFrameSource +{ +public: + TwoPassStabilizer(); + + void setMotionStabilizer(Ptr val) { motionStabilizer_ = val; } + Ptr motionStabilizer() const { return motionStabilizer_; } + + void setWobbleSuppressor(Ptr val) { wobbleSuppressor_ = val; } + Ptr wobbleSuppressor() const { return wobbleSuppressor_; } + + void setEstimateTrimRatio(bool val) { mustEstTrimRatio_ = val; } + bool mustEstimateTrimaRatio() const { return mustEstTrimRatio_; } + + virtual void reset(); + virtual Mat nextFrame(); + +protected: + void runPrePassIfNecessary(); + + virtual void setUp(const Mat &firstFrame); + virtual Mat estimateMotion(); + virtual Mat estimateStabilizationMotion(); + virtual Mat postProcessFrame(const Mat &frame); + + Ptr motionStabilizer_; + Ptr wobbleSuppressor_; + bool mustEstTrimRatio_; + + int frameCount_; + bool isPrePassDone_; + bool doWobbleSuppression_; + std::vector motions2_; + Mat suppressedFrame_; +}; + +//! @} + +} // namespace videostab +} // namespace cv + +#endif diff --git a/app/src/main/cpp/include/opencv2/videostab/wobble_suppression.hpp b/app/src/main/cpp/include/opencv2/videostab/wobble_suppression.hpp new file mode 100644 index 0000000..a44410b --- /dev/null +++ b/app/src/main/cpp/include/opencv2/videostab/wobble_suppression.hpp @@ -0,0 +1,140 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOSTAB_WOBBLE_SUPPRESSION_HPP +#define OPENCV_VIDEOSTAB_WOBBLE_SUPPRESSION_HPP + +#include +#include "opencv2/core.hpp" +#include "opencv2/core/cuda.hpp" +#include "opencv2/videostab/global_motion.hpp" +#include "opencv2/videostab/log.hpp" + +namespace cv +{ +namespace videostab +{ + +//! @addtogroup videostab +//! @{ + +class CV_EXPORTS WobbleSuppressorBase +{ +public: + WobbleSuppressorBase(); + + virtual ~WobbleSuppressorBase() {} + + void setMotionEstimator(Ptr val) { motionEstimator_ = val; } + Ptr motionEstimator() const { return motionEstimator_; } + + virtual void suppress(int idx, const Mat &frame, Mat &result) = 0; + + + // data from stabilizer + + virtual void setFrameCount(int val) { frameCount_ = val; } + virtual int frameCount() const { return frameCount_; } + + virtual void setMotions(const std::vector &val) { motions_ = &val; } + virtual const std::vector& motions() const { return *motions_; } + + virtual void setMotions2(const std::vector &val) { motions2_ = &val; } + virtual const std::vector& motions2() const { return *motions2_; } + + virtual void setStabilizationMotions(const std::vector &val) { stabilizationMotions_ = &val; } + virtual const std::vector& stabilizationMotions() const { return *stabilizationMotions_; } + +protected: + Ptr motionEstimator_; + int frameCount_; + const std::vector *motions_; + const std::vector *motions2_; + const std::vector *stabilizationMotions_; +}; + +class CV_EXPORTS NullWobbleSuppressor : public WobbleSuppressorBase +{ +public: + virtual void suppress(int idx, const Mat &frame, Mat &result); +}; + +class CV_EXPORTS MoreAccurateMotionWobbleSuppressorBase : public WobbleSuppressorBase +{ +public: + virtual void setPeriod(int val) { period_ = val; } + virtual int period() const { return period_; } + +protected: + MoreAccurateMotionWobbleSuppressorBase() { setPeriod(30); } + + int period_; +}; + +class CV_EXPORTS MoreAccurateMotionWobbleSuppressor : public MoreAccurateMotionWobbleSuppressorBase +{ +public: + virtual void suppress(int idx, const Mat &frame, Mat &result); + +private: + Mat_ mapx_, mapy_; +}; + +#if defined(HAVE_OPENCV_CUDAWARPING) +class CV_EXPORTS MoreAccurateMotionWobbleSuppressorGpu : public MoreAccurateMotionWobbleSuppressorBase +{ +public: + void suppress(int idx, const cuda::GpuMat &frame, cuda::GpuMat &result); + virtual void suppress(int idx, const Mat &frame, Mat &result); + +private: + cuda::GpuMat frameDevice_, resultDevice_; + cuda::GpuMat mapx_, mapy_; +}; +#endif + +//! @} + +} // namespace videostab +} // namespace cv + +#endif diff --git a/app/src/main/cpp/native-lib.cpp b/app/src/main/cpp/native-lib.cpp new file mode 100644 index 0000000..9a5a7a6 --- /dev/null +++ b/app/src/main/cpp/native-lib.cpp @@ -0,0 +1,141 @@ +#include +#include +#include + +#include +#include +#include +#include "opencv2/imgproc/imgproc.hpp" +#include +#include +#include +#include +#include +#include +#include +#include "dssttrack/kcftracker.hpp" +#include "handdetect/gesture.hpp" +#include +#define LOG_TAG "JNI_PART" +#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG, __VA_ARGS__) +#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG, __VA_ARGS__) +#define LOGW(...) __android_log_print(ANDROID_LOG_WARN,LOG_TAG, __VA_ARGS__) +using namespace cv; +using namespace std; +extern "C" { +gesture* gs; +KCFTracker mTracker; +Rect res; +bool hdStop=false; +JNIEXPORT void JNICALL +Java_com_openailab_posetrack_MainActivity_trackDsstInit(JNIEnv *env, jobject instance) { + + // TODO + LOGI("init here trackdsst"); + mTracker= new KCFTracker(); + + //init_tracker(); +} + + +JNIEXPORT jintArray JNICALL +Java_com_openailab_posetrack_MainActivity_trackDsstnativeUpdate(JNIEnv *env, jobject instance, + jlong matAddrGr, jlong matAddrRgba, + jboolean firstFrm) { + + // TODO + Mat &mGr = *(Mat *) matAddrGr; + Mat &mRgb = *(Mat *) matAddrRgba; + LOGD("rgba color format %d, channel %d",mRgb.depth(),mRgb.channels()); + cvtColor(mRgb,mRgb,COLOR_RGBA2BGR); + flip(mRgb,mRgb,1); + //mRgb.convertTo(mRgb,CV_8UC3); + //resize(mRgb,mRgb,Size(640,480)); + jintArray iarry=env->NewIntArray(4); + jint buffer[4] ={0,0,0,0}; + + // LOGD("native update height %d,width %d",src.rows,src.cols); + if(firstFrm){ + + //mTracker.init(Rect(100,100,50,50),mRgb); + + }else{ + res=mTracker.update(mRgb); + buffer[0]=res.x; + buffer[1]=res.y; + buffer[2]=res.width; + buffer[3]=res.height; + rectangle( mRgb, Point( res.x, res.y ), Point( res.x+res.width, res.y+res.height), Scalar( 0, 255, 255 ), 1, 8 ); + LOGD("update x== %d y==%d",res.x,res.y); + } + cvtColor(mRgb,mRgb,COLOR_BGR2RGBA); + env->SetIntArrayRegion(iarry, 0, 4, buffer); + return iarry; +} + +JNIEXPORT void JNICALL +Java_com_openailab_posetrack_MainActivity_handDetectInit(JNIEnv *env, jobject instance) { + + // TODO + gs= new gesture(); +} +void DrawText(cv::Mat& img,std::string text,int x, int y,cv::Scalar color) +{ + cv::putText(img,text.c_str(),cv::Point(x,y),cv::FONT_HERSHEY_SIMPLEX,0.8,color,2,1); +} +JNIEXPORT jboolean JNICALL +Java_com_openailab_posetrack_MainActivity_handDetectDet(JNIEnv *env, jobject instance, + jlong matAddrRgba, jboolean up) { + + // TODO + Mat &mRgb = *(Mat *) matAddrRgba; + LOGD("rgba color format %d, channel %d",mRgb.depth(),mRgb.channels()); + if(hdStop){ + return (jboolean) true; + } + cvtColor(mRgb,mRgb,COLOR_RGBA2BGR);//opencv default work on BGR order without alpha + flip(mRgb,mRgb,1);//miro mode + //mRgb.convertTo(mRgb,CV_8UC3); + //resize(mRgb,mRgb,Size(640,480)); + gs->detect(mRgb); + if(gs->is_fist()) + { + Rect Fists = gs->get_fist(); + putText(mRgb,"Fist",cv::Point(Fists.x,Fists.y),FONT_HERSHEY_SIMPLEX,0.8,Scalar(0,0,255),2,1); + } + if(gs->is_palm()) + { + Rect palm = gs->get_palm(); + putText(mRgb,"Palm",Point(palm.x,palm.y),FONT_HERSHEY_SIMPLEX,0.8,Scalar(0,0,255),2,1); + Point* p = gs->get_palm_center(); + if(p) + { + circle(mRgb, *p, 5, Scalar(0,255,0), -1, 8, 0); + if(gs->is_select_start()) + rectangle(mRgb, *gs->get_select_lt(), *p, cv::Scalar(0,255,0), 1, 8, 0); + } + + } + if(gs->is_select_confirmed()) + { + rectangle(mRgb, *gs->get_select_lt(), *gs->get_select_rb(), cv::Scalar(255,0,0), 5, 8, 0); + //the second one need to be at right and lower area of first point, or it will crash + + if(gs->e_gesture.rect_select.height>0 && gs->e_gesture.rect_select.width>0){ + mTracker.init(gs->e_gesture.rect_select,mRgb);//begin track here + hdStop=true; + }else{ + gs->clear_select(); + } + + } + + char fps_str[256]; + sprintf(fps_str,"%s %d","FPS : ",(int)gs->get_avg_fps()); + DrawText(mRgb,fps_str,10,50,cv::Scalar(0,255,0)); + cvtColor(mRgb,mRgb,COLOR_BGR2RGBA);//change back to android mode + return (jboolean) false; + // imshow("Gesture Recognition",mRgb); +} + +} diff --git a/app/src/main/java/com/openailab/posetrack/MainActivity.java b/app/src/main/java/com/openailab/posetrack/MainActivity.java new file mode 100644 index 0000000..c4521c1 --- /dev/null +++ b/app/src/main/java/com/openailab/posetrack/MainActivity.java @@ -0,0 +1,192 @@ +package com.openailab.posetrack; + +import org.opencv.android.BaseLoaderCallback; + +import org.opencv.android.CameraBridgeViewBase.CvCameraViewFrame; + +import org.opencv.android.LoaderCallbackInterface; + +import org.opencv.android.OpenCVLoader; + +import org.opencv.android.Utils; +import org.opencv.core.CvType; +import org.opencv.core.Mat; + +import org.opencv.android.CameraBridgeViewBase; +import org.opencv.core.Rect; +import org.opencv.core.Size; +import org.opencv.android.CameraBridgeViewBase.CvCameraViewListener2; + +import android.support.annotation.NonNull; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.util.Log; +import android.view.SurfaceView; +import android.view.WindowManager; +import android.widget.TextView; + +public class MainActivity extends AppCompatActivity implements CvCameraViewListener2 { + + // Used to load the 'native-lib' library on application startup. + private static final String TAG = "Opencv::Activity"; + private Mat mRgba; + private Mat mGray; + private CameraBridgeViewBase mOpenCvCameraView; + private final PermissionsDelegate permissionsDelegate = new PermissionsDelegate(this); + private boolean hasCameraPermission; + private boolean hasExtSDPermission; + private boolean hasaudioPermission; + private int[] ret; + + private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { + @Override + + public void onManagerConnected(int status) { + switch (status) { + case LoaderCallbackInterface.SUCCESS: + { + Log.i(TAG, "OpenCV loaded successfully"); + mOpenCvCameraView.enableView(); + } break; + default: + { + super.onManagerConnected(status); + } break; + } + } + }; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + // Example of a call to a native method + getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.java_camera_view); + hasCameraPermission = permissionsDelegate.hasCameraPermission(); + if (hasCameraPermission) { + mOpenCvCameraView.setVisibility(SurfaceView.VISIBLE); + } else { + permissionsDelegate.requestCameraPermission(); + } + hasExtSDPermission = permissionsDelegate.hasExtSDPermission(); + if (hasExtSDPermission) { + //mOpenCvCameraView.setVisibility(SurfaceView.VISIBLE); + } else { + permissionsDelegate.requestExtSDPermission(); + } + hasaudioPermission = permissionsDelegate.hasaudioPermission(); + if (hasaudioPermission) { + //mOpenCvCameraView.setVisibility(SurfaceView.VISIBLE); + } else { + permissionsDelegate.requestaudioPermission(); + } + mOpenCvCameraView.setCvCameraViewListener(this); + mOpenCvCameraView.setMaxFrameSize(640,480); + } + /** + * A native method that is implemented by the 'native-lib' native library, + * which is packaged with this application. + */ + //public native String stringFromJNI(); + @Override + public void onStart() { + super.onStart(); + } + @Override + public void onStop() { + super.onStop(); + } + @Override + + public void onPause() + + { + super.onPause(); + // mView.onPause(); + if (mOpenCvCameraView != null) + mOpenCvCameraView.disableView(); + } + @Override + + public void onResume() + { + super.onResume(); + // mView.onResume(); + if (!OpenCVLoader.initDebug()) { + Log.d(TAG, "Internal OpenCV library not found. Using OpenCV Manager for initialization"); + OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION, this, mLoaderCallback); + } else { + Log.d(TAG, "OpenCV library found inside package. Using it!"); + mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS); + } + + } + public void onDestroy() { + + super.onDestroy(); + if (mOpenCvCameraView != null) + mOpenCvCameraView.disableView(); + } + @Override + public void onCameraViewStarted(int width, int height) { + mRgba = new Mat(height, width, CvType.CV_8UC4); + mGray = new Mat(height, width, CvType.CV_8UC1); + trackDsstInit(); + handDetectInit(); + } + + @Override + public void onCameraViewStopped() { + mRgba.release(); + mGray.release(); + + } + @Override + public Mat onCameraFrame(CvCameraViewFrame inputFrame) { + mRgba = inputFrame.rgba(); + mGray = inputFrame.gray(); + + if(handDetectDet(mRgba.getNativeObjAddr(),true)){ + ret =trackDsstnativeUpdate(mGray.getNativeObjAddr(), mRgba.getNativeObjAddr(),false);//track update + Log.d("morrisdebug","x="+ret[0]+",y="+ret[1]+",height="+ret[2]+",width="+ret[3]); + return mRgba; + }; + + + /* if(firstFrame){ + + trackDsstnativeUpdate(mGray.getNativeObjAddr(), mRgba.getNativeObjAddr(),true);//tracker init + firstFrame=false; + return mGray; + + } + else{ + ret =trackDsstnativeUpdate(mGray.getNativeObjAddr(), mRgba.getNativeObjAddr(),false);//track update + Log.d("morrisdebug","x="+ret[0]+",y="+ret[1]+",height="+ret[2]+",width="+ret[3]); + return mRgba; + }*/ + + return mRgba; + } + @Override + public void onRequestPermissionsResult(int requestCode, + @NonNull String[] permissions, + @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + if (permissionsDelegate.resultGranted(requestCode, permissions, grantResults)) { + + mOpenCvCameraView.setVisibility(SurfaceView.VISIBLE); + } + } + public native void trackDsstInit(); + public native int[] trackDsstnativeUpdate(long matAddrGr, long matAddrRgba,boolean firstFrm); + public native void handDetectInit(); + public native boolean handDetectDet(long matAddrRgba,boolean up); + + // Used to load the 'native-lib' library on application startup. + static { + System.loadLibrary("opencv_java3"); + System.loadLibrary("native-lib"); + } +} diff --git a/app/src/main/java/com/openailab/posetrack/PermissionsDelegate.java b/app/src/main/java/com/openailab/posetrack/PermissionsDelegate.java new file mode 100644 index 0000000..909df55 --- /dev/null +++ b/app/src/main/java/com/openailab/posetrack/PermissionsDelegate.java @@ -0,0 +1,91 @@ +package com.openailab.posetrack; + +import android.Manifest; +import android.app.Activity; +import android.content.pm.PackageManager; +import android.support.v4.app.ActivityCompat; +import android.support.v4.content.ContextCompat; +import android.view.View; +import android.widget.Toast; + +class PermissionsDelegate { + + private static final int REQUEST_CODE = 10; + private final Activity activity; + + PermissionsDelegate(Activity activity) { + this.activity = activity; + } + + boolean hasCameraPermission() { + int permissionCheckResult = ContextCompat.checkSelfPermission( + activity, + Manifest.permission.CAMERA + ); + return permissionCheckResult == PackageManager.PERMISSION_GRANTED; + } + + void requestCameraPermission() { + ActivityCompat.requestPermissions( + activity, + new String[]{Manifest.permission.CAMERA}, + REQUEST_CODE + ); + } + boolean hasExtSDPermission() { + int permissionCheckResult = ContextCompat.checkSelfPermission( + activity, + Manifest.permission.WRITE_EXTERNAL_STORAGE + ); + return permissionCheckResult == PackageManager.PERMISSION_GRANTED; + } + void requestExtSDPermission(){ + ActivityCompat.requestPermissions( + activity, + new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, + REQUEST_CODE + ); + } + boolean hasaudioPermission() { + int permissionCheckResult = ContextCompat.checkSelfPermission( + activity, + Manifest.permission.RECORD_AUDIO + ); + return permissionCheckResult == PackageManager.PERMISSION_GRANTED; + } + void requestaudioPermission(){ + ActivityCompat.requestPermissions( + activity, + new String[]{Manifest.permission.RECORD_AUDIO}, + REQUEST_CODE + ); + } + boolean resultGranted(int requestCode, + String[] permissions, + int[] grantResults) { + + if (requestCode != REQUEST_CODE) { + return false; + } + + if (grantResults.length < 1) { + return false; + } + if (!(permissions[0].equals(Manifest.permission.CAMERA))) { + return false; + } + + // View noPermissionView = activity.findViewById(R.id.no_permission); + Toast.makeText(activity, "not support camera", Toast.LENGTH_LONG).show(); + if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { + // noPermissionView.setVisibility(View.GONE); + return true; + } + + requestCameraPermission(); + requestExtSDPermission(); + requestaudioPermission(); + //noPermissionView.setVisibility(View.VISIBLE); + return false; + } +} diff --git a/app/src/main/jniLibs/arm64-v8a/libopencv_java3.so b/app/src/main/jniLibs/arm64-v8a/libopencv_java3.so new file mode 100644 index 0000000000000000000000000000000000000000..c39ac967b16ce543e89228fa0aab46f325428c5d GIT binary patch literal 18492656 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

kmH^fWNgL%9W(w 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

63CV%GrG0)Au1roc@UxnR>^(kM^c^OqCxQ zKQD*{|MF3gvw{{2wgOtNyj=XWsfzmgne$*94uLCEs^rpdtFh zKi?1~4@*6Nv5Yf3`cv!~Zj$hKzK-GFa{yytd z+2@;nlW{=fYU!yo+#`2gTNCMmGLG?hCXVsPaI93X2cOOTky{z} z*L{Nf-N#pWKCkTOuRn+7d?b^P^eoKlg#G+B&#%-t`~Q3o(|PJ`|5ix2AlvaJPxH8Q zYn$y^!G9_4BO*I*$opz;mG$cVjMUGatmpSjIv4(y%O8Ht%>wc%3I7eh%J%t`y!U=Z zmOmT$3`GCYTbS?Nvi#ehWI7N03e*3H^pmgt2`+zPoy$Ka`QG|B+`jj}nEi(GC$C0x zlOEpl1|BzI2I9{L_SxQ6p3i>!FVK*qvW0AXOafW|$?xKmS24@BTd|^!l&l_I*O$-w1T^ z=S?k^|6?C#KYt|U{M1)5oyVTTa;ouY`Jb^o_e~!V_%D@oJ|x%skIMD_i)HyszE{fg z8t#wpljU!H9`n61bKc?4I}HEX-{t3qB(Z|Y_kw$Q@^TvOFv zUy9`bmA~V5mggx+=haxSQ2ELCvg99-<9;KxE;awW311+1=if$)lHWFS^qEh#2clYPs@1DeK*`BAU`DGpCjai&_9a- z8h^f0me1eM^xypV?-V6Zu-l#6_!HK{!YA22ACd6Sz0Pv3d^ykS_T>8FoA2QEeg21U z5s(i_d0zAs(|`XHtbbMh>s^-r{U2q^d6lI9kr%PQee8`qPAR@$^CqTq*S)L<)$WV( z9*KE*kA$+r*5gcnc-PwmWfceb{b#eBPks^G;a!sNe~@`8&wn@f(~0b-NZS|sf8oaS z1>|!j{L{b3#OYKak;NF_mzJx;BI2@x$cL#{|+Dj2~lz)+kGJQ|HL1e`rnfI9#3^x zPE23LpXb5h5Z@OboAZPhV*Nt?@a}o`&!3chUvZh`eC(Up<0(BnjrAJQdE(Pu0jc!) zx^=0~4?if%Z;5%Dc192 zAA76#eUmKz*spNC9{9iuMfv^W|8c*OJpcaL2VN&io+b70luYMt_n_b}h=yIpTy5KVvH`x@5Up3Jko$i;KNF4r}mea)Lh$wb2c ze9UxK-p3<|>hC}BcCOdQFL1qhc7Zt0KVW|$&TNEW&K8QabI>+UW*RcJZ$nu|(?=Rf+ z)7&4qm*E^P=3hkTkvFj>m3`jzCtQBR@4i6L#rA>t^Y;SQ^Q)f6{o-yep8MSU8U6$R znEO{(!oLpZ+=ZX{LiRHN6My~>8DD+++t`oYEz4W-ymRAE|4@{?UzXqZkBOZ$8LH+ls_uz z#Ls1UJ}vKoRQ}{eKgoJ{`5$mQzERTu{6`u7v0q|;`?xg3Hy*Pdo_GoCLCrTl@87e3 zdpL7%`NOBueq@}1wT-iAf6nFa_{@t0#}#QmHz7ZY?B{;@&IMcJ+}wZsIxhco=DyH} zA7}aBA}@Y^RLcMHr&<1&-gjM;ur*@bka=Z~)md-KKm44?i+kSO$*(h{;`_ke(oVkd z4ngO$QlGzwi3HhC=hf!8e5~wH-ixc+{f1YwJokU*>jWK1X0A5J<+nV@@~HX4?@Rx7 z|Cg~pe8(3Fw7IX5`5O;q?&oiQC(C)`8n@%88GP=;Ydju3`mP5>iR#xo5#R4|<2UgA z9#Z{t55Ae>S|=}hg@9M_%qt5xmRWXkH~oS@TRX4NUXiNxgSI~A$jKC z$^H=CQ2e=w{5P_zd3nxGwabV8jOBUkGu%%f{z8WT{C{Pa=hc74?f%?;qi>;FYfyB^PD+ugU)SmPgrtJ}vd|t*>M`U+_(A|7tz^8%TR2`7geS{m*A5o!@%{ zm*4Uj+uN&Ty>9+4rt|*Kup?CWpP&0*k?A`Kww6epyeunk%#Ok)- zc$Zv1{?jjJIyan}{_vxZ+x7GPzs2%A{$1RIlt1|t0`gR^r!)I3??rr!+V`nnZVSG5 zOMm$GFJgQ9(F#ZLeYZACTt-UM}HZCgZ3#W%3vg-^1`5@;;DPN%(J+dV60+Z_oQ2?$;0WUnd~> z|L5jj|4x>F?v59V^7lzPe<8<<_q~>T%6(GK+IeoT#y#9$)HwSqKgQ+5x3WKZRO<6T zzh2H`|2gaJ{gVFm+qr$8kmrJxpKrXI+vSEg@c8vvN#~WAo{>E~{Pp+;{ybOGdCl)K z{6o*VN0cZ!_dUVzFF$YE)l1}gmPh1y7G=->{eGtN)Qj03=H-W9`g*3bSL1++TL1nA z%#7rj`%2dQ1DGe#pYdOE`LmwS_OI&uydPouk9|G+$%hzx?%D5R_z!$B%ef-^=~us+ z%Rl%w*0X~DLj*E}{lEU-2nsKN2=wPA&@;*N0eQ~!MlPOv!IP}#H@@{LQF5Owe`m<> z@1g?&_|uT(U;9Faf6JHf`ubMczrO3YS)RxKJC~n`wstz?feNzXZ#|r?+5<= z*NBp#EdP-cF28lXE=oQm+xJKBVZL`g^$toM-y)_~ow^6jmgi=lmSYbHi7#J~t%%4L{BP z?Z!7<5|HnZa{kH>vwnuZ{wtzf%}>rBNj>}t+X-uLZtf|WNBY>)X1hH23OT=hi|NN+ zCjI;;GxwSNrOeCPxQ*rckd*UDxzF_;`5wn3vR)7T1C}%U&hMIB$K5K|r#DOZzmoHr zqo=q;t&4va6AxemGJ+!T$kN4 z_eY|Hd(GV39e=~^_@47D$;YKWTW^)^c%Ny9KP>aHU-W99Y z<$ue6W;?u5j)N~ooI%VFWqd}p`#|oOz3vZRCg>ntkpFa<&PmMv;X&DtzWg<;&$~aD z+woBe{^CDi`1>AZzk%iufBwrKvivu`m;J^Avi$Ae%J4T0Sy@fBi7?edy;{!n>rMf5)r1{3-cf#)gFdl-%#Q zDD%*6kmdhK#!KgZ{wGAqp49)HKh5Ld4WD?cC|CDv-vlt~caO{SAa_eTpZsrJubcj_ zYodgE_uSlH{3hu?|L60u4MB7oe{w;5d{~0~*hK2*v8M&Z~j z3-<>j@V>o&J??i}yU}>sBY?w`lh!aAjRz#@Px39T4~F>nS%hq?wC)+~-vbgL zxKmuA02K=At?gFaA4j7}E1aHe?yN$v{uDYq36@)}{$SJ#yRCQAK`+b3~%-0Gi; zC%tgEHvqNT+!}x5vescV+3Ft*B)`RIG#ZRHPA6-lQFtngYOO2NNm7<#9)#n``B4;Y zLffX;)4s|7l2q1G8%1$LQxV^>ScHGX*Fi z0zVIz(va;(Hn>7+ZNl|HvCVnvBei*xduK4+??x%IMz{k3IzoWjycB?;^D;=#lnhC| zYH~X04j{L!rUzhjz%^Z!j0A9=kAzIASoloaN8u=i&?EXT_{f zA)7YXw3*F{tPa8Exkx}KmtA|3+dm)s{wC!2i8Fb zL*|w>5h7IUln4Ps(S%40hH>*%*Tj&RIWe;K(-;)>6!LlEYgQMvz-%%BR68iDiXsAA z)azm;Qm79_B%=@;k$PMt$+D2N?p2?9VSN%R9u=w=Rw$uj)+kV2l{IfQG^Gn^p}8hb zCP1=b>~^B4$Xb+9>A0yBnVTs~J+@Oxl;KyU`aua9zdF?m>Xb-RRHgAPfvD8-O}*@rTSB1bc&*_1R9k?R;W-!AYOnF?ur%vvF=D49ZL|QMcCqe03_ECrgUy_>4Odxcs1%pzCu9TZbdX27T-yRjMY^w_` zQ2|UK7sLe8QHz41NY)~&erGi@)>K*Q%+j#7Xl>ELIUI?si6G`ySd_P}^e+#>&K&>q zb}VM_gQodd1V(C-kCjO0v>*23HdZ3zNp8i^9*iQI!?*e^F)L`5Lu_qrl>=>TcmRRY z2L3>3)%C+Buez3-?XZh!s+jX>oy(%|#C# zfRIxMVdtLdc(Qv%XSSLYZpQfI#vhO4!~Wi&)w=CAK|`%gSKEXBF=7%0%hR|6d&sQg zb#;XrT_+%nvEQe4xrW}Q;nchdTmiNOlmZ_lfG5~(dW*Z_CYG>`n}vu039EAV zG!7O4u*~DMM}x5lGbsaI6eTjsV+53(l6AsKxYp^6+&~Di9JwLl@Q|vfD{!HM!cDhl zAQ0ebPK>cQrsA@h4qj^3`ez-#D_0&t+#ZE+oK;gmfg7qfoSe#PP!wwOWH?eYV5|j_ zBAW5Ksui6^t(NK5>nI~1TaHIYla4+Dk75~AMX}y>lZgAr*(R)`tfU1Q%PCttULW)) zaeq3Py1hy~Zcg`mAwu>i#RNI>jKQcCP$WI^(5uM@in(aDreA8Ii+OJ`WlS1+(=K#y zn;67Z&#I%)W?JsCNm6ohgD)RvTYG^DOPiZ9&Gu$Yqw4MkA5O8+Rg_X8 zPbQodP}?9biylSeqi_hTrdfv8UI^lg52$Mij|AThhZUYvj=}Zvfe*_>w~3A;Ojb~r z(ixf#sQb4?@xf+K*l=-HKv66i&Jr-$sLTBUZ!EYS&$!GFjwjJD5DvnnWd-G~iRk66 zVB{Wl#sW;U&CCQ>g=n3;j8P((l(^r?U=q6LPm|N3d%SpUgrPaxs~1ISX}6ZRX1|uW z6*_hYV-^l57q?SmI@y@(ioG2t&^b4aru*}j`}29n=L^xq#T%bpyz$w^8=p&fyQZta zb_l*P?G2^HuAZk|)d_Ym>xa<_#gc*!H8T&KYpji0fVeUjsc-r&QIY=v0K?QblTkEcD+M1t4NfoM>=ot(L*g zw-3b=Ok5FCcI_-}K(h8xkswR_*$_i*MDi!Q5ISB?1hXaWGE>7+y(>3ty@f~y!swT1 zltfEqc0e;KwAPyfPu4~tp@_JkD=B3N=G7tNf%#@pRWt&`HMP$y=@uzjg=w|+Aw64Z z=JlOz9))&hZD;n?jY_z5tqVlWo@m-S>a0`rt`~)vhl`m#tbT!hS|>|zf@MSsR&0U| zl5;k(`WvUL>Qv;tuopxoqp%&N6c)wriZn1ZoSVko4yByXaDh~Ylwz=I`CK%G5h4M8 zYdFNnGBya+ zi{iJ9JGY#fHd7e<6e38{F7D$&_gHUW@!Q57zQra$!OBLkm$Y5%r{id=(MVf>T5*XB zovo+vb~a7iRrz6O(}}(v9wA)aAMD3k_XrSBPl^jvKr@r#PT6Sg?56T8(9Z%o4k8^) zY(+*G@^um~5d>PXji!Sj`ovz`zJ{Etd#6YgJJqNzWxqMKhCm2q*Cj$Nae+;os-~hy zyKLnec}lIlmbk#io^#od_b0N>^gJ_k;Gnh#1+R}N7cdU7VzCM9(5I5aB`c*Hrixmi zpEfyRPO;mhm{2*Zd~R8r#v0KNnMNIhKTTN*h4GSP!J!!Dv*>^j9-%SlYBsoTD+(ZS`Sv!$BAM zk|~K`Irp)69W7e4J(%_hScPGm9jsf^4OBs?NrcjNq?i0mdFCs+m{^J7u)R_F=PTqD##*OOlEltmcl z`g9-Lv8fRAX{k-gHk)-T9@-)gy-uyF@gc40pPZ6Xl`J%BdbyLp<=gjC-gW%4)vaI_ z;HX|>eeE1Vt&P!u^0-qD!GigvfZI$A*9Sc$7VAB19?WE^jS)AQWw@}lWkFP27+lJR zCVes-@=P*!IX|7bYdip4zBx!pS!&Y|+M#+=G_O+AW5)ye@@e-8wBlk`vvAvp+GzQd z)k^a!7und@nikV({O8iKqUfH}hx_ABd~lFTvMft%f>f_*Lf$pTg`G~yzm8uOcta$Y z5(Mc|-Yydq6zUGQApl&H4FTYqYXIO5EP#$Ck*0?r(28ve>7eSJj?Feo6q53CDQ2Hy zRvS1!6880Vbx=1x*aR!El9=q3W^P6K8p16Z)ZM0=0d+OvemuDzkKtx_vOBJipG$;TD?G zyRhg${#)9*K|4%}ZNe65aOrGWrU((WI6n-QQe`05jT5q{*rpMiDLK58q((`Q(b~ST^2vPi zW#$eovhXQ8cOwi>x5I1EIk5oMbg)3@yV5Vdl2I-shfKQ7U-vqEV`dq7}y%OoV=?8#)ijRpr1AYsxoG>ZpOOP1LJ4N>k%QhkB|GAZMS7v zVyiebU*P*3#=_SCK`89;G$);n=r~nrFi$%_ zTxzSjt#eQ$$GMbpA^3Ql;4)wV{-ZEOUn z4Q-3!cQJGB#l`~6y{sX6(^P?i{`8roA9bdB41EcS#VD{fl5Kb?JZ{8Vl*C>3F^Yz` z_b9C)1fT+&0F`r0M#$3FH!zpDz((6zIfn&~MUYD099mIDHuALYv9WM*$Yy_&j*7FU zkSxB{K@v4x9hOX^gFq{ma#^~Bkjyg$jdt>Rjy5S^`#Hs@cKCC>=)drg_~)0eEvG^YC^j*)6(1xIE?k&SwR zsiN4amxPI{w=2Hx=~xQonqj0+uIX3`<(iH`8U3+2QCLmNY)Z134K(Cv1woD`^=UIO z3o7$v;h>Lhal0iCbTui*=@F;l+NJM2$!MvAjH zR+C~|O&c9#>u0ipapOgyKG(X310)_E_2>@1jp!i6^nEAn3C&uom?E@sAEVe{DuEk^ zoX}eW<~l(|iA39!hT2O1Rpi1`2$5;ji?(B&(8uu z2uUWU{3Wz;s527oxdaY-{Ol4-;RYhISpw#2FEM2~!cG$|FHHOBvMjOLt<4G88%)sd zMWaKl_b-ay&jj80L(IK5U+d%ge_jt&SSXpc};7aKEG0=rhS?RoGm({Zm zRz+T;@cOLPEa*K-$mVn(J5RNZR`QQzBD$iAa5NXouk`xEoCP?DsR*D>EPq%zM*tob z=Ui~(ue4G+ub+^hgERaUH?QXBH!fnudRLWgMV-TFBT3sc7%$6jV5=R6!Szz*8cC>n zN^k|Y+j2|fCBU~CB@k3SBoI4T7<8jV54!#X-r?f!WE$#V5Hul9uom@*M8^hw4|&kw zn`joRM&vi!RRcLokhdh~O&kY0Xn!PAnet}kdnr;^n%L+Pf5{NsjcpeJmfw7&k}W3A<63My2s8lwYF~;0UB&&0+SP~R zoNcMOf!<{#_v5l~62Fk|N*+#UUo@`fv<@=yH)40jz!XQb6r-OlJ;&#Qyc zpg)Mu&W$#zU+c9q9hN#rTV8{bk#tK=RnV|&2XJtU&l&n6lQY=Yh-11ARAXGCcRH6zhtZ+K(R~Lq`yFy>R*aRxV$ZO zpaC)wCfXNa3CSf#9r{x|;ujJ36laPn=fZwYB070#>=-Ro=t{Swi_}p41+Xmv6GN@xiadIX z!2*QN>ghHLN%#o4k0Wd}!w~n!CvpWfz1-GtrOG;pCz}Wq4fP;oFrSv5k?7iXQ)|_F zN*5o_NP0uucB4^WN~!a=nHV4}xrWBhD4K$ps(2={ZRnWHCzW?a6`9kK%$;*|zi-hD zR2h6MZpj-=N9&ZotQNJHlm&~KPcw-gj@p-_{^0~SzNyPKR+BOt#d5bLgDV&5!Iy+6 zC69~bdMdWjg$pVloe?COKo!(jCh4TuM%qW@gn&+xBU&e+DWL@q|C;^Rx6)r9jy@VK;HNot*q$8=60xM#@6O--);QShQ@eh-=l6W z`?R!;r;qiai7?MY1d%;L)-TioD?mYQYzi%JH!BAp**CZKDdPO~Q8+|?4oVBeqeFU7 zxVS?M7G;yR)PoA1w_Xa*6>(TPLHH>f#j=DN?N7koL-|xw$&1DseYeXsb*2P zCRDlJ@ov+gb3X2B3*ptIOzP0G>%;v@MPIQhLNC)(LMTd|hV5y0cFALWP8j?60*)Yd zXfh@OUR%nq8CO)*R$Oq(NW?-j613in z@@AEQHMyZ)ER3zH7!kci$){Xoy^#uFoa;{Yvzj%%+@>a*WX9m>GjQune2mJ3&nLEK zD|c})Jv>^EM@SUV=W;c@+_!RKwdmo8blN_367aOX&?THtOMT^ozG*pI+7VL9)ud~r zPBaKoB8^J&Rgez+$~)4<>2@wEBTKM3$?JQe6`8q`z_ZlL5?0osWIsD=U6;dQH*6y^ zm}+JxNYhWMfOS@D`+Q)cOXe^|VJ*=g%VG9ovDBuo#jzKU=n0mS-Ba;~uCc%m>c$6Oo?bdKIjU{M89A2w zc~oRHIH4HLhCbfb^m5<&c}!U0`3Kjdjv3v=g+OVsWM=6YnCxi_3|#+w*_i3FeKGUNS502SK!&!Lq{f7LVIMzzMKb2mrk=}9h#2|HS3X|t z4^FbWUQNn;YvkIo+xMtbDnq$vO@y=MrDx}G02a5mYm;xP9hcFvISBOCr)||!>S)_y z0g{^P5*PS(t^Ca*Uf~eQv|L|GymC`OK!>ioh4aI@Vz6 zQ5Ug|a&f8$OoDkqjNV@~Ktqin-sfeNHKT8QsA7l))9y&k9u1uG2hb!CJ zZ6~nhR@8}lgK-$QQ5VgAaKCv{T&!QSLLTucjjE5ybi{-!6${r7(G1L2Ao#7!1SUV6 zmA1B$!9$Z$+H$Mz$Qvj3)L}7-%U=!=LeRWpu$%+)uDIW>MUK8MhEIL@-pr&HX+xbs zb|0sn6Wq&~a9&|M99=Ue?(?0bR6OD*Zd);p#!;}9~QOT77wtSxh`hBnbun{zZ7>nX`1?`ou#jpD%WJ^Q%7JR=Ah@n zuBam4CYLD>n%nT0l`1CHWb|nY90kx5+m?}sM{X)pwI?&Zf;At)aeJCHVkL44ORtdEaiih!O^Fo4=FPMsjX8a zS?vul0cc;-T;Zzav#lQ7mrRW#A|{l+U%r`W;WD%AYBwCY<@u^rlzmpw%lFFKP!l>9xw;~ z&oF!ID?wP#mDYn2%uttZJvG=BRc2#vGg6fpRE3$3+E}vM*(CE=hN=33lfPJJkgD7R zDT(|9qCjBgz)~t5Whq(!eA~9PO}oaZwLm{5ZF^tShTDRT3Qv~hO~s;>kG%vJjxYr> zuSnO5eYItdJ|5EvT*sN=yP}Hz&UlLK>AeV-oSPfpxF!?X*6M?eJsgj%|68Bt%B~X( z;y!lW!%MtjKa&fEyEav+O+c%3rS_y}dUJ+S+I@nR{8uYyv*~y9k8R}?G8he!kv%v( z-P8{o)OuREmD44#3Nq6Kw2USI)>uB5pt~h1?_av4J{vs4QM4}NuzWp)rsT!UC+~Wf zyV4A0AIrn*OnW%poyxZ?OQcv9$0iJK3FqSwH_WVdV>)v!^A_+|N zus!`9MxUDIS$bL9>F9QCGPnrYZ}+}Ee3k|wZeGnnfaQ%bQfb9$e_2h+ihGRdu4bJI zB#eBjqyhU>tEbP=7e^6(`-HvRNyNi)SvcapR`9N?<3hb z8gi%9qce14Vp8lYBuy-GBb&#pN@G=7;Bw0t|Pk*whH5nbbw2mj8DGx6vrw` zJxqqUSIta$e7f`a-qE=<#Un|BtLf#w^*Up!iO$liwub2C4M~TA#iBgzMXO1fZyni0 z@&Bdmmyq_UO9IU4FI$-etIX%h!g8;wy49QEnyM{W%zTF+a5uz#Sxx%g^|_1|k^aP|Sr<+!2?kAdj*r zqandq7YE^cd_$lcS|sF>LAb%%gKifyxeMWFKjd4y-0-+&vVstRu2@OWn|$cuJ^Ks3 z;!Qs7lid<>7b?Ls+M)=!oT%Q~I>6o}wiU{Q@g$bHExDqK&L#(9x`rs_OG(Ao$LY{E zJvIdC=)b->RMX3){Fd&+dNVFz&u5t6Q3a%9n6v*v)7+Amk?8!Z*Q4BpU{|keZh_Kn zqA03VU7-PUtzWUGimgvA>4rXAYw6`>;+t_KF%hjSu`WfqhaVzQfI_R9fvqNGW#Ssf zwQo_kM?fg$UrE@!74^EU&273WnHK({I$4*QK=82+2MnjlrQ>$3*R5@CFLANuWpt+8 z9faDA4ve!vg{((44B4(f(Fx@BkO-~^L2QEv10u-QiQ5ygRb$ryZs|s5W-$fzy+{=P zzFkHD08R>J1RVIXj>Qrr07VkOQr5fEG0jYHga5w$`sYOR;-y(cz}wNbcy4y@bSRel zcKs6V!Lh@@#CYw;oIvTBTW{txx@*C*Vigq(>Zo(`s_04U-Ecg1cNPiRoDPTBPelqf zwpEMjEn#o()15eoVBqDaJRZ)YUcxm$=sk77*XZWOVg!3vlzikhel(M7OmOl;t)3<6 zfNrTXVJug1N@Z9a0*UAJ2qZ?%B@mXyC*;Q5v=Kbok~oPjxi+1M>(u#BudFEDzmJ=q z@Jae}!)?cKM>GKtca7}e9kACv?)u$vwg^-~FRA?)?UwMxZgcEsB>#orrlnK{45 z;W4BnB@pBY9E^lZ@#?R_qqsEvu&`o(vbe(~9}hY)13*QPco zc8ELTA+vMgX*3p2F+PYfU|76DEwF+*9fcJm?>Y)dTf9lZ48z68I!f9RMTxt0}Qdyg&2o=)|lOj!BbnmYQ zXP*n1N}~QUla>gvnwkisnx0aODvC<6yo^xjBQaX57cx|KH5_@iGa&I2`2L`Kz8fAE zw;IhlO;C@91A=4dN(HtINU6c7F~}Ae!ib^&XPb`Zxs+=UzDm5UB~0IgDMpQ@gYhMQCN*_#w@tR;7H3ryb`81Kjay>1&JPi|S|jM_XWUjGJ2) zGN%7jPA6lnI0L{m*q7o;)gIJav=mC9#XlTYmjK=oh1XnNn*q^QeiQ-dO|e3airet= z;1IjbaeJ3mh?sw2B?)D<0(v-&Zd#ulMU$||!&s0l))1`Z;heUS2hT48Y()LdrjUcx zhAhy~k;iJwj)(_EMszCKVTTsPB#viwuP%fNb)pS@aiM>O7KbWuUOYZ0Za9H7o-oP&WHl2bA7lssRjPeCGmBOOZ;vGvLSf(4E_`ot< zKUhJxJ2-4kqN0_1Mqppy;-uu1xj51@!TL}H4_Pe3VFE36nG0q;E+{G{jw+v29}+| zW_;{C`#7AwQOQ9$6}Bv4vXXH4Jl~zxHmrRl!L+& zD=7u=)s>PUdC7AH_YL;KuJDlb0&mgeMOGHXEf_AV0R~w>CG8WAze@d$vbfJ~>|u{* zOntU7ii>w2C77+t@+W7PmDu?%%OCu^tU<`Cdxu zfZm9P{BnzvJtm+W7jdmqrL?eGFKGc+L0X3Pkd^?eN$X?kpjx%nfKt`yfZ}U(4C-ri z#XWv)XQvfxUv5yJN7xW|aAEybWM?|Cdr(gxEk0tIK7yswNhAbvZbG43{Ddvmnh+u< zP@c=7gHw(ru1X#91>VzM6B&m^zQBgZD)PnJB~}}E%oq42oq+^J_o)CJ7j5v{D98P& zj}b^g8c6=}kfeNJn1}-NUPDsCu~^fWBq)?2Sw{vPX{L6DgbJ@hI|IwVmjT$dVrSp(W_2gNRu-jdnIok-mlj+Re~#_AL*E?>v$ zz(PjO@wbe@DddD|UeL>OP}aKUpsbmnDHJ7GZ(>$cxJXD8Th0q&p=Ns0;aXaipT0U34 zB*|0>mUAERj*74VC0lMHSCLh6hrX3nJ`(974>evH#R$oSUA_cXMRBCkE!7ck3g?k5 zE$U({u52D@w>4Ne;r?H7367~goam{f!DL)3uF|4_saS(}e5KntPx*f6e!@a%{3>P= ztmH8&vNRpAMPn9ETuE0j2YDl!3M@J5LwQ9Sbj7-G=h~ijCvmcf05j^UdAkmlvfx%f ztNAA5c{VtwC0tF3H!_gGoF1TWo~vd_Ss83O%r2YH;){b9f5&y+#Ynsr;{Y6Pm&w(C z^KA8p{P{7wiUR7g$NXJ3x~>56?+%oKl=Yl4F1GSn>lG_gRU2IlFmfQW7=6jGbS@l6 zxv{1wH94(_F$}iMUzU9-PefPEO&;bi+*BevfH^)}9GTnin`F&jLH<(0qH48|qV}~7 zG42mUv`F{qrii$nJ`3!0fu>B#m1kE)MS?NBznbBjF`zf&Lq4;h+<2x6bOu_1RS+In z=~OB^W5}@J(=%$`MZgsqg>kPNjT+Ga3CF5sG{0f8tI?peVMD3NH980}G*#kiL#e=( z4m(ZlnO8+dk)Zh7g+$S>LGd-g9I8K89{H%%e3>bXsyxgIMKx|Zu0P*#cx+vD7d0Bg zSD=rLva8#=<@?qOU7;0RCojNP4pqY2?+)76&VY$a)%fP^N?hBxfP5yV{r%W}n761I zgmOA`t@0Y4*rrQ>tC(l1TIpab)$)igu)+PUJ<73HGwn(gF4r!ej*S=ODxn|JSvK72 zM|W!#9FBA9ZG7CD*&zGf=vclHQAy@;e2C4>SsYhE5G}3Ym1M1dI2ufcyU>bwa#@8R zXnwkw`IHGfXqORVwNb-rV;5&6)y&)SG@lpuyqCb`lQ_DGcu%~KOvGpxk7kZ0W6nz5 z#no0tF+dld(~ew-2*;}{jgRku@Tu$~96*m1^W{&cq>XMEh{BZEDe7wCtc)+@3a^%VBT7 zV?E`}O19xRPRNYCQLi**CHKscwKrNh{b;yzw|mK_HVTCLH$t$uDp z$KAp`?)@%r>6{=HNa`aG z1CerTGC$frD%y@lhgh_;OG=~(R#-jySIa^pa6tYJi4x|fI=(P3O&!b zeuU+Zn9oXg8sMHmRczaNDY$;GwAE6oWpZ^QAwt?omSu@e9NUIFE=hB03jwDv?rvgO zmsu1lE^U19T54CyQcV9W<5pgdez#pO*<0Iy8&itfkYIyBgEZ}QyfYY)99QFTFHO4$z14(oSi>UyUb|f z{ty{!TK>YaEU6%ruG;2>fE-Z4F%5<6F($!fE$at;g6r*VZ71d6iRZ!XCLZl1Ke z(@unthy7aTJO-kw=i-SY(vip^H}U|D*ryKy#SOd!2Vh0Pf#EOsn4XS7!X9}Xd%!uV zqq7OcvQI5b%OTZ@Q;U*vR(!D>#=;VKs?Sx$OFKs;OlmM0&#j6#lceA`qon29R|1u| zE1~gZ;qB$HC`ej(Goj(ES~$Ma#&}oU;L@wLpb1Zs&YCwwc&j6(&lq6$u3iqbVYa3| zP&r1DbdE_EbfSZ7s@Irz@g{T0G(*vnOx#m6#|%>Jo~J_AYh|#uA<#BN$5^DyFzuI< zPAOLPYGvwETeQ_j09B~S4D~3ffbe)}A1O6dV^}YRPWVATSp&adExlo;=K;00z&#J`+JUf0Dq7(H;HRUY;il3J!E zPV~*;IK~RfHmW%B3P%_xR`Hgb6HRP77hSyK#M}$5_aVD+=svB=3fb!SqmldKA}7~v zT!bI?IkYBMZrS;z6aNYl_s+s!=-6?+yp#DIctr?8&xDTY%1lP+n&uP>3#>D>6!2#; zVxXO=fq{Rf1_u6&ok(HM+P0N@AQu5HifbaDi0*=gi5d|W-T86P^+u*ygz zci!6FYjL#^B)Cj@gT+Hb0WOSdHl{#43)8bI3+&I-Ueu|IQ-7W9=#esWF%eQ(3&rdp-I;(b7 zgahz~0&cEDnmdlDcW{?Te|&%w6J!N4vQe``*dlV+UCSrmv3Sgk(`?c@r8>Pt_edo? zWr|V(;3h`5+~!0DHbrevCgb*%3)*?&x=dfP2}zJ=kdhhsh>8BfVG$Lt(Ud4NBo&B) zuq4dsx?2x>$z~f{z=|reHTf=0+vzk14q|L>=4b8BcA{HY6O-Fq7f&k5jpn87HyiV0 zH`ns!rey^I@QUKNn;5#I~saEW5u-e|5+Iz)OafyFioSC=l~-R5DdP_ciAA0YiG9!N^!3pym zIx>M{i`eKK#nxK_E$u97HY2X!i_2&xqd~Vi(^(J&N4Q_g)9FQhN_wbR)mf1RXSr9k zgXGN!kBU}l)7en7^__*YR^y83f_p@l!J)DhJ4j70;oQ|FUvwQE`Y^S=af054QkE{pr%ImPR9gF188EujqUp%=rgZ^h&@C!SZctvxGLS?~E zq~B)kL?H4EcOpimL>M=50W)-= z429X8NaazD!b)cw)D#8yuG)XXeMjQD-d`;CzlQKL*u2EQwlh0>n9dp8 z4hcXM&e(t;F|+c4d#2i-*>WJj%mbj*-&q>a*=?_iF!cU3?sl|r6~aHXp-7HK#-Zy4 zAhsBhEeK>rfUrI4jv*Itqk|tTP`%Ud2dmKut~QEk{fKwIP|`ZCt!~6^esg+x6yXuW zFIMdjt1d1smd8M{9Y50L z*}+CEG`Jof9B609ibYx?>N=7s6$>yfoFjH#k42wIcZf#i`*X>$={Q&geG z3T%VqatAmhg=casZa#Ghf`;lct?|()?q3rv!OvTi+kdc>MKWb8YCBbv)^IQsZxF!B zipH1()-}wi5xSL()kWk|fb?IMJDEkZ*{J5<$S^@MS~d}Q?jIJ;t=;ei)|-eDk8!6^ zdFA5qZe)L{)MOuzS=w@ns2Gv-ua*W~Rw>X%trF6`K_`EKiz&B(QAXZjIb?X!_)1(A zjfj|y<#)(PFd~6Gi|cg3Re84|Qp*zD>@ZgMVGy_1l|Y~p@m`^)0Q4S&fX6O>&`Kw{ zoB1tBRYQeQ9<=bw-ypk9bPB8&h zbG<@|6~Z`qzy_vv$+d1E(F3}dS;)qC{>;u_zS3w)D=1|{4ImIeKRpyFufKOyNpca( zrwUx+ifkIu=%6tg9K?KEq(>(eiqp{aYe(fx_O5!}-pB4^9~m%F2S*sV0eqENt3#VM z0uHw!xq0?ldfO4K9GGG{hCB5z92Kvvd&RCl|l`~y~8%%jct!xTgkuT z9$m`G&wj9TUQtD$k2(cGONhEQ8il8pf!$7&!qVwDvlREJfC(xw^UHh}sl1D}L*oLz zY;Cy6WNxY2ZtA9vpu!_O2XP6*sqz{*SMBESEARDD%nt~$@|WYDC@GiLW3gPyVIN83f#(qBtXIszlgMG6K;ItV(-JhItu9UI9`7#U}3^q`Q&v?__=)1R99g z#MJsH&KBTTI(Nt~{Yv@FAex#&xJ5g&Wce9GX=Rir%u1GzHQGqwjZ9obX@4==20s9_ zZcJBc!=Br6fxej*HCtOT55GoY*nC{QSav@Zi}_T3-`Yl2%;fw)4+hgwTb!z7k72ag z5`W!n<4?|E*%-@&0&0%zPNof9`VK$ff~B58cO7pqAYY#Qu=Gi_%_`QdbBi9!VkixDEyD<2w|rZ+BPl zvJ11PSv=^5NKp#5`km-Rgu%vg70B;((}Tabk3Fb0CZj9Y>2@b%+|#r;SiL7a4&}SU zoOy@myy?Tj2EV|#fxIRR<@^d4f;E!i+NHHSH7<}G zDBc+t1KoUUiE)xzpWEGPUP?IPu@ChidZB`Aby9HpzUSr%PEFCta;K8Bwtf)NLt4?e z)@hx)a>rKh&_a+l`K}Jy;rZLttXtlLr~%d*gmb0>KTUcENx!Fs{O zIy-Om^j|gJgf%N~dG&8PV{)h(yEEcNQl3JYOE+zOgRZx7DLQQoa2>jc5K%aUmqfJ| zHk}Y|=jC1lu~UklsznejEjIw$00n#W+N&wy-coz;s#t()$~7Do_6!mf%uO`u&vS23 z9Xq+rCO`LaASHXnj=q*<)Dce^+r}0LBZZV7Uz|wdHEWk_c^~Vk2nV8DMhhZ*jvOZ_ zTvDbPJAs`+zZae~r$eNcj@2e%#hOD7XU4v+YP%H5dsJi$+kYnH2br_TPv`~dyCpUE z?rpUVK3ySRa`tI#?xaAg(9;0j;b{lG${94fmaT|$2|!J zOz4gc%g%@1lo{%4{SF-fD|qqR6VcuK6OL*^&XcIs^XkJwK9HDOtXU;VmacN-PDw6` zPduck;G`eTa=R9DIn8Bqbrv&IJbl|hUet>s1YTtt%)xJqXSkM&t~TOYRvI`M#iL2jV_yyV52Mz(xO(x)5=>>a@$NIYPovW4lP5U;-ciO&D+3I+4CV2O?Vq>(#4$h zuwqs+k|GLKhvyk3|-i)mX zp0l=MdFM}qS!(!htC!Fm4OfWe?BEtGOk4GR-e5Tgqeedwhw+(*<|rgSP35sUxHw1H zJY}EdRURuIZ-?V+wCEn-c@L2gP*K+r4pzE7PM&Lzre|_)M4?HG78V7JElP$=4l_`; zv?1&z36lZ9H5wF(Q_)~#C6aBRyuB3H;Tf&~V#)S99yFJluXcHlq~LyHvT7J!&_n+F z`y%4+uo;7fQ^f+Z(m<#%5KTwwZK?Sx@Y{zYdOp3xY!$TcY)Qdy;AJHwxgQriK(954 z!q~aeo`lDd$jd4lr!qKR;PBcNg#tzuodUda9a0?MI#g;1kgw3pXMeVvQ&Qw9!4_$_yviVylZcIW6&EUdEwX3&IJO_Kk}O$Ss% zSv*tya7_V@P(Teb8&C7xtCgzXydOk?e{{$g*`SkE_KkAnCGz+H3q}zh!5lBt3y!~Z@QpMS1k^FQ3_c5dP3`}qB8Cc%h zBdm(r14?!6rAXe|t7fd_{+D;)TkY5q6V~2Hj54V_TY^ka(!=On8D{ zFYfzRU1wJvjk$#h#}M^`nfhZekMP7FgLzcJ zFtoNFkJ^;=Qq44zwyKJ)bT}JZsIoGm(r9HwrP#`dhJLq@F*b>3G0aMsO0N>B@G{H- z&ke;^$5fiFj;T~z9n;V)4lW;yyKiUc_7!oJek-CW2T&1BX|^JoQfo!D@`(hJ;Pxn7 zg55zp20y0b32wh`LvYUVHH1!*5tqB!A(&6$0^|*j+oO1hgg|+fLq3UEGxrp;6?U{! zJUY!fzVI5&CkZQ6NqIa^<6f@rbQYbYJo+uFY>3rjoGHUpyB-sA8{?FK$K2dTz%NSoxn;IN-D035|73cpKT|} z!hc&uBJ32uN2c{!3EZIIw}%}{@Fw2Mh&-%Lg5R;X)(Xn@kq8zJwyO4lQdRqeQbqfK zucmz<_-h})RkRQAY8EXJ{F@8l-py6+1}InF&kq=oPDdahD|rHi(Fn)m+LeB{Y>}wo zH=?fniE6C_DOgyD$C@I6_FA(DXim}FjSg{rOxYq+AfN@k1qW;e!3o-5a6ng5c)2xU zkiWEz*Q>^AW{@j@gO`EtrR+D#tdhy3~QAzm+XZOmn<&>06)26r-K4%~Zw zXL3o!kaDHwB}}b}Nn87f z!yfecU|%)Oa*hMOi>9gL3=kdtv78y&PW*3tVL*Pq&Vs86}os%6A09^t+0drBJ%_bH3l^b zT?}JwloFJZHagFFK1mjoO1E~Zy9mjdxFwO0qn*s^ot`3vuOgF{0`8P1ZH9Ecqse7! z7d>IZt5pgSO4=lqP4$~=eR^Q5Ecs(af!Q`0&HN8K`UEegOGrnh$k3MYcMND}o~=tn zXREpplf$w3oDgT#w6u`F%X)d*lWMb3*omje6Dn=CAkaY1+;j)kn@(e2lBk_;Jp(E(IZPy;dc`|K#MtAekSlNC^JNncQ&*5+X#D?a!+}S6J+BkiM zdb4xtArn1w6?S%GyP7WH1}`YeF}yqQeE229lzECK2+rdc(#7WNJII3>xJMu1}N=VgMrGuN&m>07YEnz3lY6tVJ zR{P`x8=1&zS;oJ+Sg*Dwl$#&-4+eD78%O4Ks2VWFu@!KOW-bWfK67X5_nOZ*{n7Ht!@hIH-7aXgwJZ#>r(@uEk(U+=WAtv`we%?szY^DB+{^rKp0@bvUX@ad@X<*G(>4K%csUC|(uCPI#+fL1~#IQ9YWi|*a|+Xqw8pLmmhx93*lK)!+V9{V9eQEXY+1TVzhizasP$Q@X)^F_+ANk|<6a!} z2Dk}vc%-f>qjM$;RL%5DVHItr8|ROL+fI95$J7G%u9Eo>+5LDQHZ7- z#o{e^1m#i9+F~J4L5*p8pF)r6fh?s8qTHK|3VyGk^=+4%>kfDzffQ)x<_QcvjzfmUqOkIfixi+u85 zHMZr$2-)cR5thsQ1H9?AJ{TdTP;Jdo>jqW;o8(5b+Nx2mGAl2iMiq$2eC|f$3nTsY z-C!~EX*S74b<|#SdZUkR8#!yN8U8-C84tS0QKR2T&1OXv*~F*gXyQMc(qTBbq_WIb z75OUCVMaX;^$UU*6czq5o2UmJNbE1L5~AGDDMvOMke7)MPVsaV_0kb0d|KjZZLtuj zxH6??j~%>nXI{wIt3|@za6B+Bv|!&HERM}j#nmV^5pyzGcTAA$8wG3%?6Xs@o;>sN z1|Pxu9!I0bU@X>sQX_cCHYqL;6P>9@QZ%+U31cYBIoDEUYC`xlumN5^Y8&9mOw+IC z#g%`CYFj?vG{j$|y&{@TomG6fLa?+J98R?cTPg+L9dvLwf2tolUQNnuW>;WvRT!1` z2<7vT7s#_X@erv#+Sdy}Y$6+u4+}7I-1u+T>?1zPrCAbs>F!=S;H@TQHr8b$9!rw{ z|59}(Tzz^a0ppHB%$aaFb2z|4c8CLo*m_8-QClnovehdt=zSh?&*31Q7$j9b}Y-;R?G?sPaLjhCnbH&`t=ZOXv9|esfiL%v0uFBrP znAfi4zuF|XcF~&8vMW!2R+-Bug~kd)ZyDo*t$sz;!LYOO9outo z*+sJ(z5zmK8VLh(P@O6fOG(x&TOhedKdmH@2UoIA92+hFcXP9KN#KKm&A5? zb)V{9)n%dPk8P_cY9#8K#w}GzX1}N7wc7U=#z!%6KgMpcse*0Jnc=mQ(n76X09sIG zZpuu>)sYzE{RW>to$<{oIaLW4ln)Wb=EjnCY%k$vT}wuceD-M;A>)hkavK0uRH^AV zV@A+t@?T6QRoo(K|Wn9n|*pV}_+>mlZLog?}U{r-1T#WQJ?%H-g2?C!ZFcL1*#VRW*Z+ zpmjO^^3AHG z+(fKcVQcnYx6ztKFNst>8qt8ub&*q_ir6cSU>8U1U9Bs_Do_lDs$yjwXCuVr%~P#V#B$f-*B!s3Yf8y3RsGR-IwZ< z{rzAbx64MOgRmVfV-A3S_QP(lIKge*t#B0e!`40yk_SubQ!6@&+K8!dViy4k;B`vg zJH$9Gz{JCaOm;<3I2;Y8LmXcP-IGaeB_6l9goz;B*=o}T|H!HC@Y&vsNQ;R`tAZZM zvfRPqY&19}30ezOEZ7Q63s-S62?m&yir_2f;?LlqHuTR;$BoX)9)LAoL)!#B0{A^G2}9+Df3Z)UeGY zs3m$%AW^j}vaQ!<37X=~r{oyfm_GGIyr^3su+Wb`` zSWcQl!8LL{0dHESI?PhFk+2CW$Y#&n1+CU`&wA*N7Hjp!`r3Le>6zlET-eF4?XIm> z81DIrS#g7c-XaUvD63XfF!ya4-Izw1q=PRZ2#u4J%t2hTmONZ5C9^bn!duBNuj4RZ z0!^Su3L>UnK!a;F&UdOOX}e?LcFk{sy*fQAEvt}_0W5y-y>UE8AQ`lW-BxhEEZV`j zFCJMSWKt5tCtPYvZdMer&)r05xqk@Vp{jEjH`={n8IF*L5mKRwTUb2;>~0GKs<15t zlxmA*83?nP7Pq*W$xik1!PVh{U_WeMYw(`XER0GCNNtmLR0u`dni`q$b8$L}yW_

iHHOGoPnp=JX^V`bZ`uLpMPH1K;FxeX{Z?UCMXrhC_k^HS8#c z?ZJ3%eD7#NpeZkMI|-IJ-A)&11PiV07WNpsI6OSY(6qU;+G-v4r*y=aP8av_ie-q8 zm~n(8aRZ{j?l(7kLaLlJ(w`c&%-4zthze^8z!?m6IZ&{)ce%NN%bM3QlMokPVxHfP zFjGtPng`KLfg3IeX!e3jw8PHUhUOXb!~sX#05hBj_*M_|(UTTE-INreW}VjcFrJtt zEP9`HXx<*^D6UCS{(t+}XYx+gW%X}8MNlyz@*`#H-Y>8EnQ|V-MDpZ5x*Wy%n zUQ*Tjg82j7m$;47k%RVTZw|>q$UyH!utsQH)^q8A%yU9+`?YfixNK^!eY{2p`1?G5 zic1Hek5z0K0S<|unw4mU>Cmec&L>q$3P(2dk>+(YNJi&F=1FmfYR5Itl!?RWN!iE( z$7NTkeG@pQXO;;#wgL?L=tASkmh8R@<0!fYZQ=1qWhi!#t^g3O9{}im zCF-)s{Jks}i(-U>_t`~{mH<=)vlD(v3@(e}Jl-ay6fpN*cat;p1U3pWi4xX}b7~ks z_PbH9NvqVPMyqSx!vU^jJL;*1AQ8=dl+}ayBMzOpT%vJ`?%7UPlFVEUl`LOo8uBWD^bl%1|7%9mY4luac6CG3d2=B z26Kf*gR~(`w9z4+6Ye6iwC80olKgqM6Zar5o~d4FPnY~mmj9YA8+Hk49iBa0XY_Xaiun)%DFV^BhZ z=$qSI|0gE=iA44L33{a zi-r9h@9)QSt}2*cn@$GjrUwVnXsdI%7u1*N)JpqU;O-5G5Pof*4DtV$2Z!Rzb^Jea z?Aq7XMuL1^l}VrB9y1&eitw82)BTvnT=4@;PNjTu2mpNJxTlxlrpIhqh)ZB;3ah}H zS2vWChuZ4&GaaUDmv7%}9Q0zq_w@di=5cDZXKMC-T6S84UsobHe1>fEreO&A{k=UlColCfg9k8zh0HR9EC*P8oc z1tI2>7DMPq5#FqW8-WqUhf)9PRn=1Szz1eO;&w}>EpV_haPx^3OurY7D|p)R^5B1cN18Av6D3tW3JfY{)p zsU|_>wT(d?Ywm^XNAOxIBqt{WT9;QPX|GRlB^b{+(qb{8X--xn z#e?C*olMxD>$awS3~E?=M=E%d;%eSSD@+#wr1ZsCPNQk0L8gUp*t3 z*px#+Y83Sl7?2>?OvGIi7zVFh>2HokgAvZ#9*_HYOR_&XfQbpWpAiDZ7cl(A?Q83U zX`lRp{E2lHUAELdMbU1=TMB|Ge(zA;F-qx4R{U&EI{1?OyfBT=4NlUZ*qRuPws2<| zKm`R%IHkmkkq}cDQmRfguV_lKCZrvrq@Cpltllvw;kL8$a|Z`_BI8JsOG!ZaoXjSz zOL|n*6;r^V&TGqU9Fs+su)T5Zq=c$aA-Y|Pv>@s!e?W=&LgA+AIQf?R6k1T)pgy)W z9LkS8Kjp=>W>&HwH9juTx{)l%LV$)o+$MDLg_(hwA(3Az7V^-GiYi=-PUS^rMv=UW zLqWlK$LN9a0VWKp4Az;HrHjC93`lft>J_;Fj@F~{AGO|U`6&Ch7%XyhgL&*j9z`P& z9MUewY#dY6j#9Z)2g{)@<5+UopQaOjj!D(%hGQ(r4{%Tn0X29*+?;`#Dc0xb27@kj zVdcCTp-x+Hb_ANu?h!_B4xu?^!4i#PUj=9!z6Ks@pt>7^f0I$L0(Y}T|C)*$97w#x z?iU3}EkIk{o`*_=7Emi-j$4_r=cimEV+ZqML(=wX1$1#w_Td=E?&n*J=P$2aXe#Y8 zG7)76ljsTs^F^>wtSvD;!en!ws4VP#V`Ed$TiDueT+Wb7(8ThyG8*@aWJV%oOo*a) zrPGz{M+EB&Kk7Y~m8ocIhFp(_L$L^le^A$XCb||MYtU!nJT|e)rPfw9!Vu7B3ZZl= zK9P~)lki5DWrRE-F9s8sKsqk%!(-_MFe(}LO2$0WJ(uPCplX+e_Ouf&T^LT2xKSW7 zS7g*^K^dz7NBbVoCCyr#aKhV3IE??|(g|t&h4gedau7P;Dn??AK)6Rj>|Ui)CjBTR zF1E1nSPeV(;Poa##UeRMEx=D;Uw|4#+&`Y^bnDx*qX{tc=`1LbpzPqZgfx-AqXgwf-RPy zL?_DA3F?5lI6yEv>Lp;xo|ff@f?CMtHO8Z>o0-lq)?s0 zjU}#JGghrRLRnqlXt`Lo7R2WArd*W(&ca)IL$E~CJLIBuFAoO8bA!&QHoSB2mNr-~ zhCQTn9bztbq(*7tZ`;=pAxt$`uL28KGH!KFY`weD!K9`UBTrFI^aM>^ZwsBchpwq? zby>=RScE1C2~r=*YP7H@YB4i8-m)>|>baTZ9hkLHZq5iZhyXkmO4A-@5*OgJ=v?Od zl`Z@di_e`w|ITPMkR3Q!L~*#<94%w&ueYQt!4M42@7SkKCy`rQ@vAQ6&`$J#P_ zk(hCb)K3g5V)4{MKFi7Jiu#6aVj9Rz%z5>-)y6Jg$BIHWo-<)>zHO5~pgYin%-dlf z_A2LALUWc}%mvzNmoo%IzoI}w9iybIo}1^QP1SW+BGFt(W34)s|i-+M6}hP_F9}{F=k~H<6!?srCqX* z5};nm#kC;Gw{1^x>qCFi8h7!~fO4EQ49lWe8UJ}&gkK+wD2+ixY;fTzr;bpR1}-W4 zn?ItIEY7nIqSwhSUBy_93)Jh-BZ-okfGmCm_5J|iu8{62#S_t+l-i^A%59V=;8?%B zv4*u8b`pl@XO4U<-cX==D6Cb5g|oGkJ}{cLt@FnmCaokiLKJM%e(GZ%gj4;Ch9weK zZargUFmnMV1;6w^ogea2lG&O5=!EcaJQz|kpv?O6$o@-RJH&P6(rJ|r#2rQsB@%3! zr6sexf;!T&u>41;9i955G%JhtN03s*$r;VbN^5t&g=Jxctg*?$FpNiA*yi4BPVg*5 z6PZ-)Nr0pfI9(JiV5e)0I~Y|+YXzK*Zlhxgtoa7ELm$a*Pf6GDWa&t zV)g6~!02{}ZeW=*E1-<|+cGbV{(vJ7S1|0V;|=7Hb>lWyimGd+Jwe62Wp!7_gM-Nd zK2xgBJ^8}GR#@YK7Q{95z*d<00|QcNM=PvtieW!Xljj0PDP}OV#Z7{D22&&nZOUQQ zfErT%v^FP7S@q(=FNHXr<070RyV#qe6f)bl z^WDK{o+n_9F+MG?NxKo|>#?;W}#8#`SMmD>uGn z>|FnrwRHVk*4FiJS!>t7W$j)6mbG}}n`Xaayw)_7wR#;dWA{tFX?IOMDX%FN;~)N$ zKFLd@iw6%$!HIn1=y_2jdG zoB}Mgk%*Kdpei(u`~1zoR$q~aZu=_c*ISLtYbvNqQ|xt-q=jJPMWky-Bb01mrmO$n zym){*WQ3X0UD{WHR6xI1Ns|8Q*ad4 z$nn4l|vN@x+$ zlD3NVRKG2(11!Y{0I?bBU`81rWK)|UdLdv?Me!YbO9EqT{8sGvtAdqrHnOTj7)naf zvzMty3kSR)H)uA{84(HET3kOyg*Pc;D0eiiU|1duyMlTt=(3==vr!6&RJ!A&Yn4OS zKsV{J<>2-8V{L7iz$eY1eN2>7oFp#xYA?_`omeDo4rS21ay^X<;VDKN2LDGIo0JmS~2{uLA2g>1?Fw$kf52C>V z$kYF`K8!V`cpyRc{44u(t>_NIWjwYkeUUJIItqzsJ5CmfTZZv(_?(M44;OVVMW=JU zsK*c}r4B@y4Ge<{(Rjr_)TeW&#D>du5gJwHD7gcNK#;0Ju3G$)oV@yXQd99|ebA$1 z7JNh^)o4Of0svscT$KQ|lMZA8h>Ezyw2#RY0;diRBh`+eqQT6??@`MTBwoOUUq`5dK2W<} zh6s#{LY*ms9RELYZ`$6-jjIjkC%H=dM{nKjx9x5n%Sq-rUv$Y**{(#}XmPja*S|La z?qn@$J9FmBBvugwK@bE%5Cs3BHV_3*Jyf>LCtPz@fBwGSrCFjKjfx-aXv97e%=%8@ zj%v}wUp$BT%WQ%Fu)w4y02oNFW94#n-7U-lQsnMOHy+LVj&TS$t^=pS`bjumTU~?{ zp&(b=jBDFNH2gvH1XI?Zs}O@!FSDG%)r|40Fr88R@R{=ZW0Zih6WlA+^#I*9X%Z%f zu$zj59p)erZYb^R>91`rH7KU$99CrRBE$gBO`c?-c5uao+%f1I zpK;?CK1e`U+PS&4nr;WJ4TpBnI50NS!2%&$fW$3*)61+LPE(sTz-c<0;3ARIMx%II z!9_NWR4>}~nsJV-L5a#4yg_RD)*D7Z0lN=IUn;W&IG}LFscS=?>53F;d}+uweV=H9 zCWpmkLOUE+p_w|}1Kn?orxYeD512pC$~`SFPUZ-UXOC@S&HP)f>I;o@M3ZxS3rc9k zJ7CeH<&$6R&_Wl1uMj9#S;%W!pj5|S-E~aQtavW+n$@aqdVHU>V5f`8n!JK#K7YYv zS7To%EB1DNGdP?F%5Wt`Dayo*98Nv?IA`K2Kf0uY$>Oz=w%jt@>ZQIduhTP;AcapeToZ%9p==pha+9C>^BFCUaS z)K*zr_BykS_}sTq`M-qAPQn12C*m5lds?SwWFw$e1&yH0a4($a8WKn6eaA z<_C706p1tc?TIe=)70mU>hpg%Nay)KyW$5-=ii=ie~h+DvanrJNQ~V%@;;L;a^B+P zJT>LJgv>Wx%8Krg0J-d8ILt0=RYjWfvnlRlQ9y&-Vp|~UW&3t>`*_Bpt;*!%n3hCm zXefQ|!`bwK6C9d+0%f9F3Qf6G^PQis6Mk1jJFlDu8=@%dr+;mho*wzH*}6qZP=q zoFVPKJovQRz-IUJf}VdVRT6!+%dEv)RA8ZkkfL}~W- zRa9jN&pYVRHk;iT8UhRV4O}dqL{tkC#5WDE?#z0LLwLhszUaU#%nO?s#4+mZM>Jw4 zv;C^JZ^|(dul=OIB;Ac^QoB(|&6vCW&W(KYJ-DgQYDr(mm)rV5t>8YsE+ygW!8ZTC z%`(`%ZZyHJ?+dVyL6aOOr=zdyu1UmnN1Egys*1vM3Tk^qJCI6iTOIm z-CW~5(O-p_=(A4cp!;ES#psF_0!Jz4Dxyn9Z@$~?)dFk!-~x0O2xn$?C5tm1YVLLo z;}v(JBclyNhYfzO4I>ELhTah9<44__fDE*lhDgi}11K&=e&ybm2qobLP)mx9P~kwQ zNQewqK#qpsZ%OnT!tYXoU<24humOw-=G>t!!K#nQhGqxU>0dY*El{drx_==KJ(eZ| zo9TIg(|orCafFyle?*XmsAjl^Fz7WwC{UVIGfoi{)vyG0W{+yB7<5$06=lfhYxl%yxRsK6$HPK*F;f76U4yA!Hc@Jg0;x9Dm z&OCL-$st=Y-b_8GC>n7i?sY&K6E|mvPuC4T>uJKD1F7V1j>uSg^hXb=%n64yEgov< zDp;lX$|&t<_32JcWD(WF1|qG8z#>hEum-|7Y1t1rWaf&?q7H6nCG|*WHB+Z`0h(DF zURzcHbfFTW1)n`6Nq(ar8pxYTWB|Aw@Y=1yq=9NNd8Afh(m=JC=5D8zEZQM+sSnt% z#gRXY6!_5Im{@3hj-ff^RddVEAC7j7KXX8C{F!5MA_3{qt0D0*#_4rIL*io$>GeuO;$s5RwWbVY)FV4%M^N@_yZ{~T8J&4c%#?jN zCA%Ac)hAK(z4ss7XvO7Q%0HdpX_SM2A;B&sA_I%-OP4%!;1bdWJ^ zPKi@z_&eB1(X7}D@Ww04@xcTgYmb8kQ~R?9FlSRm!rbwq{$=6NT{VfAt+YK)NM&h^a8%6nIdRu3v;5=I(YD#X^nk_Jw zIDO>b`qDNFE3`qzUw@~(Sdx)PjkyPm_Dr60b*qisk+pSs+XgaO74;|<*X)ioCwTXk z2BFDGV=};y5Yw((w}2q(T!D>(;0^)hCGW-dShmXMxnZt1Tk1F$G|DQe{{|% zVkR`zAf7NC!Df}eotngkn3~95W7 zzfUMHjs}zUL-H0oq_h!3ys%F zQPjql>X&iwT)Ip=fl@{?m!SSHh=)YL)c}>R<8OQUUq;t53ZC%G%Z=PnS4^ zYvNRqB`qij;unc(RV6z^m2*l!9A0FB{)dq075>nwq zKu&h{iZJ)hj$*o!07EHvAH;BQXMGX2>E-l~x>h;@Rtqy+@X#ojyV+k*{l)>~wiy7H z$cd5$>@0RAI$zgn;LvfK$>7$(`n10&59#q3&0g_H%#1D+C+Xx{;fT7}o!7(l@Jiv| zjZj^=yZmX4U?^mROg9O))%tl^)C1)(rJou==j`Y0NbK%04ZEMi4o7&c^E0?pc-q( z09V80WCRn1EkG*C$_6h;@%H-~nN14{soCt_lH_N3N$HJh`70ol09KN?*8yiE#y2i; z3Vu#+qtIDqvgN$TkQAeavqzc>_3)X%=ZIna`DeMnLk!7r>oZn{`cjn7FX_e=vQ8^x z4Am0Z6+aP?q-@BPfqKP76VDoI&4C7#%c50ql2&GkLs))ua$h?v1Nhr;zhM5iNtm2w zUytA<2RVeNLN{dsg)}0wH68>&n$%Q>^Neu`R8yY`BgB+ujF5n zm}(X#iK*dYKSfL(Ba`%0@-hQ{WWaiA&;dEHZl17uub&@~P#&4u_nRf&&C|xEGSCr> z#PQmJm2E!zX14hp+u5clVQA~J*wWS|*x<888BAhbj9j<;%&c*;T2owm-?Z8{RgU{; zOQg#v8}08>Y&@yJC@%m6oG>5Z4DvP>s=(>4VySvaAeWioeRQ`-UO}Idf9a$an-(9rdSO z0O8IkJ=Ot8f6v|-e_;w>oQFL%7JKg@S6-g$H6BL56;nzE8`Qt{rrtnR2*kpC_T|BR zj@e;~9EsM7TeaabASep_Q5u=nm?nGNWUqZg8sz#~*R2Oq9nmb))sr08g?0)ma~CJwle2!(t6vfh_i(ENTqoRuf@im|Q z=GB500PC+w*hHHOUY{GPsP(g{p5N(Zy%iXz86bw&Vv_|~z^o;bXx0KMLxu)U&l}C7 zNF900z9L4AvfGAT9=ejW@$wcy@pFCKRt=DW%KPPhTM@*e6Hz*DI#Aq#+`{`IfZh`tVviN#ymLeV_p8Tv=I6VTs=9gdw z-bS$nqdCC})iMfn3)e?mWGtD|i-m^1pnp31Y|4HJ)6w>9I$AZb_|h=4fN+LZZ{GBX zDQ20^{_yC}?)U^Xv<73V;KRG7MphZGlS6MoPpjR?Wk(&pV#F}(Bg?H}IHv`MP)Gtp zJ2u)(^9R-TA&K|SsQW5hfQ36Mg|;fTz9m5k-^C1F?a2(qHG31` z!Yz9yl3_W?rvvCuU;~v=4rA=omn!XZW6EcYJde!E3{8dXy4H{ud8mivXPcsxEH@49 z9lyHX5Tzfya@T+!!NHO`zNXiy;9OBfCLDy?R7-2tp=|6`-d)*s=Ogi=6${T3d?$g= zg>Szqy!3+QYKv1muS)3e75rJ^TuAXaCx_pnoa6o&o?`SxHen4SY$N$koxJLnhLtVd z>EKaMtnC}IL6feYRK^M(N1my=XfuzN zlQEpSRcV4)#?&5F->7#m6Ty0&N}zNFO&516t=BUspmY` ztYTu;SDROU$CJ**=*3-#cQn0}Y8oKV^}}rc_w}PNJ+{>qAPZy%&~Q1fFv%asl*>A4 z-K!b~IG;8l&vGEf_>0S!TgW*cGqpF+Q$(>|b?wnzA`FNy+XMM+f|9!+eD166T z=l-{oQt2<|pYn{$Wy0837fcUi6~V3M*$(L{o+;$j)hG(7TL4ZypgRkrH@){RZ|F1h%>PWxw!1h(`v(uH|6COI%i6Kyh!DsoZrJ>i+gg&?UNWFX^+Qua57GBE8f5) zy`EgTgQ68nc6Q{a;z+O3KHc|SsAL|=@N~T3;^$_T#n%n^9KV`S$1GcwKXKSh>k1CB zX_@9zl+_qbu3$@3ek0C(Jdvl~^}qRfEhJi8mXyE~Pc#=uvyJ7KbQv6AkSd^Z;xxf} zx48O+#}1x>8a~gCxbcqLKMQ(A*_G=%Y4+^0_RiaYzgpLuOR$cOFRyHy{72Ag%|+*GMqul zfbxPUyDxNa_n19-39w@lyxZ25@%=Xv0cm_ZGR|44>Kg(L1fPS zWj`VZGO|e^UW)DeR+SLbz8@cu^2Q@P%N)D}a)HZzH6VyVgAq?l;P>4v;=39!<`^6e z{u!1t6xr!DEJt)rL;*7P8*`~tjq7yebym;GNMUT*#Nf-u(LF5is19E91UInEav1Ur&LX%Vd}WT56~f?|Dc`nX<6-K zXMH!@enCtq9OfAxam0M-ws16a>J>Yr)41*r~v8-8#M zslwkpI?O#Ex&=x7y|Av0n&OR#dQDQ?hE9B1EQDv*mzT{-X1JY~7stJOOCv^=0Z6U0 zwc^Zho7Jpb*Ww!;=JPAQU{NQ%{TaPbf4zQ&l4#Pe8JmxYhF8(%bTnV1gnASvuzTZ} z>83@DLkf0p;875mo?z25Ph32R;BubzFXTTYqk)~sW+ka3JHy_0_oj6G{Yo9kROs(= zPodrj4>q?0=0=L0`pG5ecdM34t=;2`Cl8$r=gFj5L4 zo&@n1@&*Qdk}SUb`_mFfh$!Muw3WNosfxMSJfFc<9Ev{&NuxpO>jCwVx{w}vqDJK* z1-RYh*#~|r!})c?&uR+bJwy)qNTt$d%cG88YKtsycKlm_^!pD$FBqH;6D*i>^$y4l zXT?$|(N}(omw)0}BGnq>=jR_#Krb5b-|pKG-bVm20Ok?F=%0elt;JCC8IMYM?@XAl zac%ttRj!I>LdNmrT4 z2$gtV7|fA14Mu^csu@vZp#AW9DQd&0jLznH*%wcls1zJ~Y#vrfG-{=XiBn zy(y9+k5e#^eE&k%YU}c0!W;_*9d+SF8@L++KG7=VP>U0Z?c0OOWm9pry(M_mHVI_V zTo3zEq-ANMs{2UsEiRN2ZkLqfx&;)LaNckUvhz7@1GS&VK{h(BHDF>$VUKRrR7#X) z8CR|baH=PHf`b0Mr|+@u94cT1R;jcOQ*n}>rMdz0b~NGb4_nnI&g># zXayIj0v^^z)ShB!QzfY;T%F}np3n|ySgRCVBGRx)wP2gA)eIJ_c7k)mdi-sjx@l~4 zYmmU(Ix@*vpkstRcv=FP>a#Vq=U%`A1OWb!Qek@LdpbMIvHpGkyi`Xu-b_-c`|Nym zk*A<2!VM2FDx0#ZeLbrb>K>zZs--ZK>ZYUf8ScNpa%_oOsCMh6aKp?vU{+q@1!6j( zXpMcyg!?rU_>;2d4q3D$=|NXOjyP!6?O>$CfkJcTY-$Aux)hmcI1|s}+DUH1`qZnV zP;=HD_k7CL=E(|)=?PVnN@_xl(rI9hd?otX0CoII3+!h%OUCn(Vtv>cf7pD!1y9NI z2q#CPIVfJQ&ko6Xu8>FrJ{qr*;LWG*;gy33XLGadXA`W;Y*zM}XR~D;USTXGSmA{X z^f=wPbfZIer08%@HH1Ah&LP~BzbdLoAc7fNVspAalh!kXG?hE@Uabj`)NRJA- zU-0wx_Xqr2CIjxx5)lc!&;%e;qWb)pIXRuAVA32hfj~8(6z%x$9d$$X$v@OgjUHQ! ziK9bx;CW}yLfweWR0)^9D)T%{(Ti`A-=KcUGdayYCg<=YC`-RL}AZ!!#Eze|7% z2BaixDh;|nhVX&%Jf_tt$+-o2^9KyU`ag z2Jqg>YheRwXvEKKq&Vcp*br3IQ5BSJ=HepjhO%EIzwz*dD|@8xDd_X__K1c8uj$~6 zoP}k>IiEEPkoXKOsJA9{k&T^}qSU(5MNamrvOaYJn@T8EC1zQ-WVauOaN^19lofzL znq*5^RwC8MI4xR0%^XmIp{;&g(FOT^GnBQy$2p3SB%WcOChz>D}+i+lm8; zC`Y~3%Pi-B`g&JD^XHnCgpx#55(B!jt~7xjp&p)8e*-Wah8$0Yxvj-Ei^}X89F<|D zOBh8~(bLo9v@+K;6hOBHRY+rnJX~ykaKu-jlObYA18eRsXdd}mxPROt{|2PjTWK(f zxo)4|yppHa;)XFRwr@dAtodA1UmAxV(p%byc{nw&lc0~$!1A*gw?jm#U92G(scmYsj=+}gLPZw6A)C*I(8f!>skS}<-`eF8Hw4rTv zur7X(hZ?FCF?C{V*iv4VFnBVXqEZzJn=a+MhUKFqpz+y2>G2SDUR_jO1~OCiva=l@ zNpM$InA9PyJ&t@ttBFQUSxq6@H8u0xJaOs?6}ZK7)$&jK>?&(elq&e!zJ`9UmnMv@ zWgIE)Sot7s@=y&`+KizVmkS6ZsMI;6yNHZYo?iwJ7$-8yp=@Z=SG+m+KnHjJ#Ik?blG^ z8P_nYu!Fz9CA^3=1#_GlgqW3+OG}pHH8domTR#(Jjvn!Vx-Jm*IJ^d!2Y$)M(ov}_ zCZp-ib}6fRT^V-@3^$X`8l;3ymQ`i8=>4eN3zX|4(iw?PWrq$g(Pk~DytdwLuxW%5 z&!scLwqdpY8JmmsrY$zz)SJ`OuZZ!}?bp|IMNIP2)L=JcBtiXc@&`~7GnBSHWI!by z1-5Y&7x3r>qOG>^A3&c)uW+A?^MySM;Qfo84UPaA<-^_!&z6LYt9=x6 z$tyEU8k{BcO08(@!OMKJ#_9ln3H&zy-#?TPfE)s%pNT){q82p&{iu zpuIn=$@>D^esTq=moUApGEFFX5X-lqc%sp4hf|?<_30tIG7CN&Bx7y;=;GWf_FX8w ztIG$!97F*n{*7pX33)Yk#}zp(0EmBorh5#0ClEjsut_A|@LV>;FxmV9o~8gnS`i#v zm8RPoPJMIm5p^M)`SwSmUGJN!>wMF7sb&wkz?S>ofz1EGqBtNu>ORYPH*hyw<3`iY z@o}^OwnlpjxPMHmAU#$b8^Uf3c2jqJkF;>mVElH{H7I6SJ%^SfRxx* z*D{trg=QG1R}SmOx?bsc84so|H*?M>tb{_Md2j|O^LPvmi@EwY;)x*(-fog1bKELx z3#(j4j;;~|RU${UGa4LnKRYwu`)ud9_nGZ)&^bQrZsya_!R?K=FdU^At{Zd9xc~FBNv+{rt1O?@0w{+n~1a^(oSMm}NuDi+)cWe|Fvr(}| z)5n55nmCSFat4&~Cpc(cuc36QN=Pis1&sOEPp_}nKAG7NXT{dt&#$VOFd`<9z4sOZ zn`cTGUaquw3ecGY!O98)pyGnuE@UnoE170Ea_K5(u{DmkRpAljgakUvBtFo86NYAi z0;6k!&0yGw%yDc^GVhaSSSsimhF<|SjlKfIBfzsQ4x8v62$|o!b5eXGn@b_fCw05(7%GQJ6-T-QTnXL#&zQ9eD@gZ1aDtq1Xf6F;9^+?DYl=uFUq$hzqB zpPbRVSh%N+e9l-6T935{q;gow2a@B6Fb1H@t9UX4hn3@5NEZ!-I#LygLmGl`>;+<< zf>0-~0)g4&_num*?{p6XUf&Y}sO<>=8hXMIwLJkuLr)mO9u~*LM_ID#dqM!UJpn*N zPZ*-MCxB?^2}9KPq+B=j1OW9tDc4OsA&B~(lU!D34er_=b~n4)^4`xTfc553i-A<7H=L11>O)o5_mIJA?&S^Bg@s1XU9w1z{L@SWT;(A<2on#l$TBJgk!|P~SW4h}2G++^`ZDq(H z^)zdkI$8wA8~Jz%iEZv)d465SAt-D;?1WD*n|B- zCo|fNG%xciXSOP(06L0mI$u+$(|5X3^REs48y_b8h5n6C^q+H%mYN(X{RRG}Pxx_9 z|Ghgd@$akhRf@FbM!z2SS1=jvUj%-$)(7_LFZy`7qWmBDHzO?9_;EL*`(AhDnm^%g zC%W@+LwO$_Zpe}Pa6`#F9&Tti@^B+tZE<+g_Ji*Haly9%l2;(Y3;sR+&vdqY-t3Sh zVKwDk3aFwX@-u;$vm0m6d1C~~fMg>9S-{~%xl*T;dRQG5nRc+R!l{@GKo0SKSd$Oq z#JlWL{KvQKY&xC){E7FC5GmQ8PK)&s#G)ZkgzSIRt%;?mqFWZCx?2x7i{GApfEmSa z(y4rXRGUy`&49W!U3hDPa*o3PHMiILL&zj-2pD-@_!H9wpp@${r@Eq?zWh zjgQ=IF^;nS!XegQ_9#nxY-(W?V=RnnCdh0mWO_VxJU?zHpy>QNPi~G~!kwL%{q!&R z0Vr1~XSuQ17N7#b@TX#1C~W2h&BS=ni>L4l28YR7-l+F{| zu(zr==_=%Jl&6WjzUY)(iJsuP?coBU$iDK^r>KbvoXzQ6FYqSXML`a}UOnJGudnyD zGgHGz`VSw*97C}}#~~7DDsf@L6(T<)ukU7$rPT$aOK+uFx+@lDpCJ{P=vv&#nCN!S z;kYgqK21;fA113^>+`cDWOf}vW&?@3^bwv)Sqcl^`)jbwe5yO0FD1gpa3Q|LIpZbn z_v0`Qc3?nT6Z=i*u1G{1tf2KotXcPV{}K=uG#r8OkbC2l^(Qb5g3c`8c-9Ut1Wojy{}CAEvMkv5I(& zikaEtw=k4F=|zc9?_f&0#@n^weZt00AV*J_N3retUc`!9v$$Wxopi;Kee4|9D6ykgj!$t&wE)Bu94b5Er zgoT*2`k92kV9DW>loDpE8Hrh*hqIj1#IMyn@99#>9>2bcXZi|u3Qip#rkL&bUmrAO z+VGA=^kh2@y=B7`vMU|OZp_<0k7#3yNYP>!?Vyd7B05L83ld*>t3|PG;X`aVeap^% zAdBDm6W+=wC>WfbjQp>!i?YO)K`9_Q%gee1tM8;?Pgeuam$5XcdwmT)Q9tAr{a0;p z{v9C&Aqa8_E(tz={nHQ)9}E3(n!*?4N12gBCcom4TO3`Z_jrv6pFShCdiqu!N`l4# zjzi;DT;smOAt!#_Zl1@R<&2z6VnfNV;^+41H;N0+QShleP#OLL!v8tW7U&AzqK3C= z%mm2$tPCPHOP13Qb9+Od>VsmsL#%^?ajy%bfotlF_a2)(gAtx4`i+u{%}C52|k@_g#f z3$<7`&X+!h68`d^E=R#R7rUI&>i$l0evYbCZe+Vtc(r8smLILVV!_ zoa5(Y^H@+{Zf6i3xzYrWeK#3$wG+)t5i`;Gv|r{%>v-&%vFq852*TKE`h7xP#PFZOlkW4$833&fkg5%X@Ewf zI8Y%H$g(GzCc6ZXC=_?dDn@@sX~iyK8dO_pu z&-e|`pO^Fk7abo&yPz;op7kc`T;T>FFypV^sW~+%6*6j)FTv{H(jr?Y+5Giz@%jF+ z!M`x1td(h5k<>0~ZNtkg7OMBN=KwxxSBls=0tb)~p$`YV(kha+;R2y;R*ME>BPaq0 zad}PloF)ToinEN1zzi!?n_gEAMM2sMu;1y;R|@vXAzmFDC(9eB?HLw-Bqe`B_E6?2ev^`SHyXrDjE`+h!F-bRpRhwHXOFsxLt~od zg)$JCG>1_bFZ@!^T;K;OUFTLGZF1EGGqj36k|c z7sxouH((cEHpk}|eZZTKR7Q!Q`~t`4Gei>WbAw#n0t@kc#)AzEBr`AFkh*`CBtq)t zoe;4mfF?Ol;(8Fi)|H=ySeQJEqPm=~an&~=AQdRU_W7KK2roz=Nk9Ls)c2eGx<9Vz z38eGaXMo9+gNc1rJVDafey2BU)nJ=q1NsH|D%jeB?R|ZBW%la$J7rzbmIMDEKZ)h# zTi{AiwE|Z`05reNCwmxVKIPX7^FNTKv_JlWnwU^t=Gjud$)`)K6c9M~liBAi5`|`U zL3PUDd%4*`VwHo#$nl7#_M~{Gb?6G|H0bpE`Zt)cq|=oMreU-gW$9vaAz`Pvf8nG_ zFfAz)$K<7aI>_c9Bd6F#23YTIv)jJ77bDq^K}ruhAvg_qZ^Kq9jxmvY>B!MMNN5YX zugM3cY}&X~wSwGfT%8+&8h?HhI-po(NIhfPQN*+`#4CeKJ2HiDU)XKodR~}zI!%}dB>z75HlMp>I3nN1X0=}i>k5GZWQqQwCf71H^4TorFjBN|7=O1Thy z$;6lKpqg zmF-7HeiX0R8zuOZXho3e05;5DdEq7nhzvpMm)IaQn|!kXAJ|wBP0B7n0s^u<5)&N{ zn0fpW-w1>dxFIwL3&0?11+C*c?OAn%7`TQ)9cFpzQJKV9f=xX1Cx*#b z3hB&T!eijI;R9r~&08%8=ik0f?{3FDin6f_KI)-$AvJ2pQm4sND9oQQ^RMUs7XvnjyC&H`s<@!K>v7hsiHY_A3UBZr_kwVx?$AB z#|}$vc#4icvhgrpmvlhNDPoY1{BW2T#Cy0gF|}{!g3FXWGby!zIR^VwDiK1$KngWg{z89MPKKpKX)d7+^MIO_3T08^fjXw;Nj_@ z9J;hj@nUEu9YF+Q9;q*tk<%(BEle{^2rREB%g>Bw1n|w$6YNyQDKiZCXo`7Vb68^5 zxPVpOcaPPEH)^FAnbfr86MscSl8&4~st9#&fXG6rRz_c!rG8NAgA+ITN z1F@@?EsY1(3S^9{XzR&{@EQ7()m;gx1kg&n3V>!zn&ckBrD1WlC$i651ip=980mf! z*WhZY5WD0%pESX4P5n)SZ8tx3yl$HIK16x)`RWwnRSlOajfK8x5}a?uI+|E#;vvGm zjc$AGkkV<3XB>+?MfxBWlUp3XS&#jRN9A| zZwOa>ULWc9A5ym?`gMn!c=n-pWaT7NgaUZ_DtsET*vNH{xWa`2n;vG`-I^9iJxfo} z688`A-I+Uk6=)SuGg@uA_AOdFrSv!B=KV6mcFD-+l=E-ykz=O{2ImG< zMYmYY(`D2D%@HF&W#U}@{z%#WshRulmq>>^&O4V}98opS@=LrSp&u`F&hXTb-@~BS zn+=rtj{p3983JruNSGQOT(l|sVwbuRu}$t_SO z`j3f6lc}Se>z`mP34b^|bpN*;AJLftpL>x}Ufzs8jyP3;>ZbW%Qkh?I+$_$$`w~k4Xm23jk_~1OmRx;JrYJe5gdlKMunJgC+ zq^PBm|5j32&8;p@dsLhh#oiX2R$5C^IH9I1N)u0qQ;k#0ofC+bT+sZJNC()Dg#Q=z z`05TmwjIGHAIS9jK-0`7o+Xuk>Yf!d37Z<)waT1Qrb1d2*xrzZwi{8|>g|N^y4eS^_ zfl?PQ5}0~?N1tObvWx^==O0aK6Q5vyNeyC3^ocQg9D;>!t!Byq;D|#7IQ^UccNSQtmt}gCR_a`8|ZX zrp3=y68{S`s-~Ii+SxTw;+c{NXC5on?u+V(FoU6S?=LXPNuE*zshDY}bHLVyiOfAk zi&<{$4njcl{G3#aIVA|xR3d=_d3?05CV;luFj2s}iOe)lE9(Ld9puW~<#dx{hH!gp z75%x{{T-Mrr&MJ=VkyW^YtS`tPHE1udroVS%o-?6jEp^jxsjHkZ)g$XJDX>G(t;IZ zC+>znCWle+b6(&=#)e-6aDTf_=aafm32aX%=Javx?2c<=mR0bp4NQgD zLff#SwrE5p6{_w4CU50J2&*H#7S?bT>)9{hdl#=y-fZI56zyltVShDukUD(3fUfoi zneIe51iN#9q+ZQ?c0N@Kt%s1Jcql3h7a?A+5jDZ?*J`2$hydp&+j(oms|9I<>Ix&| zR#ZaHRqUKaJ-yXdOVMWS8i^!;>VPP{d^3RfN7DcmD`6wzx_az5A3SW^1d)l z-WT>5WVxz_X!~cKn+}{yd>8nRhCfogi|sD7hqQlX3#3L*72FqyRHm?c!{jVkB(=J# z79I>al*hlFN~sd&K!RrZo*+#MlI=@Tq7{-T$(i0+Z`S-820vLSOMt&6XSoW3mY(QP zDojqUapD|cwm*DZGDciM-IR2d`2^I}mz_zp zafJWS%3rdC#vRmNdbC#&wzPpAkuU(y?%sUb;}s3A#|Fw2Hq zaQARwdF6lNHWQz4m@-?IkF=$}y#I9l8z~HWkx9{&luo&DL_0!Pz4C1zmoG6pBKJT>HhSr^?hB z${F2~rXwfhd_6uMuzTZ6A!e1TF6aK|)#c2+ypzKJ_1iZq3-ut(t9lS=sGDl&?)&H5 zX{jDYnyP`py&Zk81;cZRcLL}Xf&Ro^^H9k6;HSEtVt&gXxUsP)Im?Lr#`TRIjujcx za!zk|!NHB|nLluU=Jsp+`O^${dLAkJ1#XrgC}o8vaUY;0|C4&~{N-(njJ_B-MSiGszIAZxN`9{kg3mZy9eH`*!ZS_J`|}Wz@o#M4+U7Ud0+yh zOtQBY2#|~ReF!G|Y7A|{ILXqgq|@aTVo$xqv2Z7a(W>NOs*hF$1ZHmS=w{h1GLDF& zXs>tGb%X0yP%fhXi>@P!^_`!r3}dSYa3sW*kiO0W7jOlf2x zA;h_dT!C^{$;xpaBEAdxKFo`QvUzI;XG&aFPxjgg^>wn3Bb?zlGBUF_UXOZ_K^+pA zcehd-ud9=`aXL9r9#CoGbSyvwA(jCvmeBucG9FgdV>bfwhlN+tJ3S<)RB zr7cA}w3%G31znWuIU8#qi0m}(BM|5?4r z3tg3Fmx%~>G~@(?nx;>VH@^2D7Mv*LhhxYxG*gddbR_W{${^kvrnm$tvj=Sy4;2wl*Sls)fKAeBBp4&=3ta zLuh7*F)Hg^8!hpReSvl}TN}QHX!H>$ubw{6_Qiw)u}<0io@180d(Cwej$XGg&(yZd z+Pp^NkZDFzVDCvmYvIdpPX}bK+WhvkFN(i6za4R5;V{Rq`E3348(d%dt)Lo|vLxxD z)z)*=G6nB^RT~I*%)HGL_VwYM|DfGdmCE_(1*HDoCp-b;$tR@`HLJh@j1D{+vZs)_ z?WwC@sXm6j$Q5Lv9j|rBw9%#p5HIw z?I~`i*4ewC7}gHl7$X(V4h5s9xfP3#AFKN19HU9%QYX$mb{l2Lbi6$tzRgy}!{&xw zI1A&PTi_UMj)!+6>F$qP@-)#g26EKeloyo~QhJb|&9>X++ZUXaEs6=U-Ykww+~R|8 zOh;pqk4$0ZixIRISXDhHK(eItEI=VL(I9@AJ`6Fg`Xs4=kkMiHc78a_<}YIFs#wst z^_C+;PU&;x&3#37G@P@t{cLgeY>_wz&Ha@IGP4|bFDT(AU4IPG;`B$AoQ9R&HgYZ~ zSUS)6>xsyaJO;!0pQ3u8C~A#7ZRAU#aUz4KC120zgiyrA!|w?UpMpUQ|J*^k_);jf zLUwe^Rys!% zfNdmJp|sJWl?ag;m5u>${|-mBZxl#Nm(+`$2${Ff9Dj00Rhqy`m~fmo(igOD*e#<7sqo_Ynn%X>+{*V@}HzWYjr0_^{agGi(7hnnOVMKU`sZBV7$<;fq zYbLeKBFDG_6C8&%x)ykJYR&5s#&x_&cKF&-E@~Sg`%u~N^;Q`%vr8!z2H0a>EH{s8 zRt%ZBW8@XP&haAd{1wkb;r{Uyuhg=6FnwBQo#8NKP1S~uc+|=*S?8>((=yZ#wLEy| zbMGgpjl1DeZf7+~ok*@eUVYdgLgm%h;fOnLRO5*mero;~hzDCR$N+;sWe~LjQIpx- z_S%`ggdW7Hz{v@0maII{+_H&BqMbQ)CkMsvDgRH6s{X~N@w8eejTAhMSL#^Ds<>P87T}S`0d?BS zSC@U{2-y4p{^e&Uj2ihRe&50v@fHQLPE$ixHA{ySciytE$h|IE576j$_KT@L*G#LP zifcbvOGgSf`Ql{lBBvJk9_&pd?!kuo^hNYkcd1z=VC=XXI&$J*Y1S6Nh+b#|_bxu9x`p(AG0&5!x zED$tCIRV->mYU?;0% z+ex-y&7#=Q3NMXq$L2&6t$}%BsI_hT7fhUn_D?c&%vPhGpR(a-*{73?r-pXfgp#Yl z4Q^!K=K!6g5zhMW%N>F^*$RhIl{@mr9oVaa;Lm*Z^BOY%#|JV7`x5DdDbcw!j^M zH(*b2qD?DR)#_U_^4OvYAGRK^op&t|2f+21{khlzd!j;p3wCC-z#ahCV>T1F1!5nz z9>sNwca?}Gy(%t}GCARg|d{L~24Wz3cI3XfszjY89d7+au^Z*&L!^m1exUs(M<_I?^aQ}_ z_jSAua|<>!RE?nQdDyHZJ%(I~FzFxY)RjGcW2p zH@v<7)^4~AMTc-2)B)~3(3=j$zv+0#r2VgUpLl4Ry4pa}8E24c$KK2VZfdr{ zPHDO=*tG=j+C*7tjwmhpabYP9`@yt=Z?R6-RBT)_m*w19GQAO}wYzsuuM~1<&VMmP z2Zo2Ct6_m_;HitL1t%l$2L9z^T%vH}j_d6m5B!}S^KiB4T3n&AbH#3TRH3VE(A1uM z=VJ%_-JNrAwd-71p}upJz8236Zq~1x<&mx#w=~83VU>oC*2}~2s+b2PG~jCx_v&sn zY!7QHHf$*(jaupzL8r1`M*0yetbZMH3C#eg<3siEHnPm8|z^fgEg zRx*0LxLtQ#;P-XN#nhrpK6tsGE!W2t?Gv!l49nF5>TyxPc1Pr`|4Kq>vR5D}_Ltdf z!4Co>edeOrxnKU=mAD{}FZAdy!?=In;m1T*#^0ol7lO+FMS$09w~*EWdboKtdoF(a zvv?eTE)JiN44fV^Kwi>fheQtiU2tA}zQ@;%|K;3#65IefX9)At`E|S5@0WOr9zf}@ z=f5G}>hoW#?QgjHLI0Ufi`{OG>`gl)jQ(wj6eswm-sj8zK+=%SE&FT zJtgz%nIfv?mf+!9Tvgj!|BF}ZC8qF7NVrK#y^l_E0sp&ACE$}Bx9&0CZ{901?R#Hc z0{jA^z$Be5`qNi6r+d8s>H8`Ro52i{0C&9TMgM5neWZl)n`lywAx6j9&2|iCA3?cYEd`iro_bZ z`^~E=TNR1#@+N{yoCEHE-XC_0Bi4$;cD_|J2>@{3F2I2SndyKMH5ReuL~Yk;G;mz-}$vO z>A9|z%M)nwF{mK~_Mgzs{{%T>k@j*rplnjJ9kNryeQch18NmBMoflj@p*NFAxYSoo3|?z4_uJ*{P2P{Zm?0M#sS!Pw;EgkLv8zD8!-hhQ zO285F3+)cK8@ymT{#2IZ@%*}!kUO>z>1k6g)QTiO+rykw@`fjQSMunrM~51X{A>x6 zuoY;Q&#`D7ii_jnpc9hmUO`$)5tq^^hpw3&59L8WU9KyD4G<5?JEt1g(vhw0H=iM- z|MB+vVYhkn1*)@fzxtJIo%7{Vs_Crz*+A8^C2SqgTcBdlDru~ocD^x=rVs^yLoA;< zydrKt`otLtrl-cMfOyn;6X0d>MJsn3J-C`_XDjn5YC*5RcqV85_v4Iq0kRg;Z*??7tTf#Da zE*cXxuL5mlKPj!Gv6F`3zeU;5p9v*{&mvu-C3Ii**j~&J=DBl!;yh}VF$%!6vS4;r z)XC0FC1tSH)N-Dbg-W*1R?^`HrFt}!WIYT7uNixJa4hTNz3YoN)(aP#9roAmrCA^w z>I!^HK!Lma8Nm^S zXV`4O_P>CZZA4ey&;AbS1zwA*BOEgHTs3w-_M9cjKrO=|K{>Rgk7`0s)U-x8QXY!@ zN+12pF8cGQhX;vb*z7o?*;Vm0J1#jpsu<}6XKN>69$wF;>p?!{u!k&f#Ho#27tpa* zJp}fN`!+(TRXP0vkM&(Am>LVwg(6co= zMc?@ov~F4U~a!#)B}~3<5x%(_2X}`wPG`()Uts_ z;#)NaBa<0_zFu5Pwvkl7z~ZJ+NVUe=*cSkLw0l3_m0JiBYbdrft6?7Aw#t_YKtZD*JLVLBtjpD%r*0qxpa2%{ZE*gC8Sc{_t(lg>!a)|KYpwr2J_{S(&CC-xhs6$1MJP}8Jj6J zr>`j&2Bp*WT&*>5JQcx{8W6_`TL#?RgsWUB;aK&wz@iTpk8U>e1rNJL?@PEmtJS7}PS}W8rUi;lt zs_v;>Dk1uWG~-n^8(1kpq%iWU?@+E*zdH1i&sXPQ|8Vq@YuKRwC^CN)PwnbY?w{Z( z^RYF3VY0YMuqe9EYGg-l`Kx$5!>^*fBk^!*q|3No%^+F?4M3!wdKdRMldozX$i$UT zjD?k(^P8+>q-BgMIv-@xux|As)oh|^BN&^Nat$17*51Xg-2ctF>L*(y)}@)HgglGN zvg$Hd=Y;iK6>-Mx@v*d9#r^ClHKLB8&9tQ_3+z77smO20K;l^Ary*$aAk5hGFsxls z#%w;Pg<5vTlu6a(a*Hf-+5!^`9S{tdZ?#h}-8*6&dFUMCuQ}zGgm3mKxm(;mRszFI z6VG>YG_AV%3@)0~?2(vceFQbZTZ#MJcvpG0D%EkHS&2`MKGt!f)NP-Stuu}J)jmF! zG3G)Jdr3Pt_N^pFj8R8du+p=?lM^;O!$VW$oc%22|UX@0TdGruJCMnUo}yLaBstgM6M_65LF;QSWl%MEckQ=!ZEC0?=e z<|%Rm1i`-_F+n(-K_YeP7^c zX^B(mdAUa*n?Xi*=(uRss5b=kf=@4!$B!2CdtFf-LD93e za8!I!>XGFXb41iHI zk%CuB=l*(8Vz{cdj58#Z7mXYR+4Qi zxRy!lI?kRZt`l`Q;%YNQ<=CFWLD)+*;*%aNcRv|-t)dRwRMr}3U5_t=Nxh1Bl5S8b zO)YDC>E=l&oEvv1)ypWv%!;{K!|%hurs!!XG7xc#=P#Bw3!ISM(*>z&xu-dd!^M61 zxGY3}%f1<#TzdaZBCpK0d35nf&3)PjkUv!RGxj@AF-JE-B*TTlw`*P7Erdk)+rFUX zhGRY}xR9M;?>+yU6p=dT^8M|`n2#k7>D^g@6$`|fiHdJsw@Cxl=$d-1qMaW+nIr8G zG#i!MW}_mn*{Ia)pT>tBE$6)_QukTLZ{Nua7q0&!$Hskv9RBkcQ)XAR2sw1xW?fwC zvf3(1YP6ESPigjC>J*|>0SF9caBu;ZitC?N;We; zFehx)EdP7G<{3{<@1$mkv(Z&2I4*(i;ZuqJvjF(R#k)ST`}o%2$&Y`a8uJw|ap0gD z4}Rc2=f^(y;gjq3j@Vyu*-~pY>=?-4aBF@1-qIPb-fp%ik5FoGNWOo_p7fBVby0>b z0!O(&Y{d32v;vM*ZF;SC&FX=BCWo;M_Y|~cAUUDix@J9#6vaOxu@&9_hnVdPoCLf7 z*Cq&e)tWGBweKL1Fg5$D$DyW%I#X*cBWOgfwYAp5Bp;QnaG|)1V-jplJE?4i;2ZC- z6Kk2RP*KPmzx<3nhQUU&dCPx7JyJcr^Uv=-LwyepGZbmMEw5_I*;!Fj&TgCPa^CU{ zCnc7!f}W1k2jj{hQfFxi049zb&#FotcYO-RwYd@~l-1+9@{?HXmNG}m=CB{6=yhL& zRTV(oABW-wWW={hkoXXy0aUyl2_`g)e2OQ@S~9UJdOyPJxeFS9y-Im|94vK?Ekh5x z_b&^&sKtv888TYgCA!cTBiP+jS3}ip->Z07Rfi>~JLKb{Q|nd^i0VzP%}pj|RfBaE zh2S%Z0{ayNbwa84Fe!OaozkON)wDh&YCs`6qY4Q(VwZ7c1Xe-2az-9ZTIx-aT@W3}~3$y~}wa9+v-Z(1PmN-j;^D$Pd=|UYyX-ks|QHIF^F*&?O_}{+aO5bhq zdN5Ud@h*Rs3*Gs=t9G5yFr?6>aOs7- ztGPJYEHSQr--fq$^4a5*sY;!(!jx*cvLkvBCx2Y&Gq#(>ZP~fj|A#Mw$wt1@!_S+C z>A!GrfBmlqavabB4KhB#Sozlj){5JbBK(|h3`mQJ`wX@mmDB32~!dY2t;JZ4n zwSuiApEo@!+$t_~PEp-llB*R`tmC#Y44?9V%UgK%zDwCd=&u?6bv?u@+)xMm0y!ZM z*ooXfP7k}Hn65bi3X94~__96_LIJ^injY8XzmJGD_{zt6C!wj$V7UUV0~Ol#izxxM zHlh7~UA99Fr_U`qws*7R&+Bia>GXMhoX&s#%m!01ZHEL7U}zwn+6NGoq%RdcczmzrdZRniqNx(ZiCYuPo*5f&!jHpo3+R(H^v2} z+`(#(MYvqhRm~aVSKe@s5})}Su$s^K#uZdWOX zX7lpN**Yj@cxDmINAPZl1ZLb~LzE?9$2& z*8zHL@DT~kVjj@aJa{ViFU4Dtb(G03^DJdi$xQO^F!Hy-`4gsN(V>(YkXQV(fO{P3UY#L29h5sIIKTf3O%#=lWAB#-y8!srh5iR$b z6>mvYiS$$pM0Ye^*~!Q4FAzzLB@WyBbl8r^yK4^HF%YC-`+M46|8HC7|2BV=-G*3m zXQKTlpI!3|dEt0NWWLIVG5Hl~Puu_u1rHD9afyM;64D?d ztlTPj{skz>o3y&z-~zb5DW*hSf?~5iqs7g$^&W3ZV~2&}-)5jBr$AL@vBp5Atdl*w zl!pe!HNb4x(lG3Y~a+sYOSa~qf<<_v5 zFJ%?1L95uqoU8*DPStfu&!Gw|#50*g{hAIF6i@8D2}*F02-Gwvs2YG2rfP0kqI&f} zf@x64OpB`#OwEG^ZV6OF7Zp%F^#asH7EQe2{)hyFI7b-Gb~|iV^a35Ym%QYeZnf-8 z>iu3*(MyJD8q9L3`FVS+t2;j~W_<+%j(ao@fZ=kpRmrz}y^%7S!unaqM2B(K16e$Y z8r+UU)Sfw`v_z+BNdHc&;&ux)abZJlym`Fs;o3s6yDwm!aE5PWd6H`hpJ%&AN(!RG z<1Kw*6&=385>XANEe#8iaR$c8=D3>|I->VwEk~0Us-ih>l(GoO#`V`=l5N{Vi#DAN zo|a}@4U#Rq&%o)$!yi~?n%U;=EDcVjVBx+0wA}odewtweOsV-=;2W)BvN1=Mjprt5bfg5VUk>=J~AaR>yZCE{44bqchxF=pVcF44$7kftvr`KL48w)y=v35Z@ zgXi?}_p5W^x6UgSGCI`^*KMe#&gI-D<#2*8RLHt#2*hnA%Ht<xRZNfb_MNS?7fh{iEjc8wPKtK)2$oho!)y zT2D|7uQ6AF2XpUYxA|EGs>ViR#s%KnuNF4seH9#Ag9`+H2}2;bda=<{dS)S0VK+L$Jm3`;V1zWoxSIv zJc_H}6B}Gjpy>%)7Dtar=l`_fa!RpArtQrFXK3&ms`XH}I6#A_K+gefo)K(SERAiW zK(JuygZ=vr&P4#K7CxUm@k&#iAd_Tw@fy#WY}EO(uJTWs6h@@6>fx+Oq2aogw~aWf zVPm{$I<3Xh+jsT_J#2|0XkJ2Neyy%F|1q2; z7r*9ET`%+A=8;_O_XWA=7v4w(QQTSeI6AE*2J*w(z#B@QWD3*&@n+Qcd8PO!Z-t8!sQlG|!>O2_D*;{j^Py}RbTGXqX49(TE9RBFPIE!v^*yGwB zZ{NS;M((m$A#@b!XM)ZR{mzln*M17#KB-BXCE&tkF9G6&KDU|esh0CPjszss!X{`5 zL|XEMCjX*sLWRQ=>ekiZb`oRXpw)>)J*o&5)Afd40Wt;cL#Qw9@hF1~CUo7{1h_ zf+^f^GyRBgiASH|k#-~E@Y}@1@!u-at2Qo<0DVQ8pRHt*fCrJbFX#ISMd3aN!>#>i zdc=7Tk=|m^{T_WLWxDE)ZPuX}BIxvsH&X7AV)s^p5zeEZ3t0fd6~N#Bz-7xjAHR25 z0OSN4RtS`qqpIRsnTa-BB$+b)<}g7s#f7a95f{Xl5Pf^!oz5<_mDf|_{?rTPMye58 znN6<>ghNgrvBv6rmk1i9Xi46s(EApv*;aC(Ob)#TL2E#FT%s~(IKnax$J`$GFKBlD z_mpB5@4vDLfTA1}@oOUV{pR)&>4p){xR7r*W0xzw08n5EqC)i3W$`b!XSDlpHe)o5w*qisa!6nYZ-O~2&q#28PUK^jnHVVINyBm2Dvlo z`7SP=5hDfaP zLyQdjgko<%Vpzx>z!SN`9YpVD(BY#Ldy5t;kSmn?G~)_8$DH{-mj7$2d`rf0X)8|V zl^&n}6UyZbLd*ZPj41YTV6~hQG#6F(h_Sd6tO1n$^_ow~(Ty=ygSptMwq9QMD}h{0 zY1=(Pm%k^J9Ye&{goz!Ys)DJbN@hlcDkRBpHjUT`5izSi|{ zDyJtP;MMlgqex}scIX@Z5>}hyhE!&t5;KDm@#(k#Cb#lFl4v{`O00MY4*^n~@QKTC zbjQy(;o+*yYI1ypcNuq*9S>x3X$lmo4cJg)6O}XnscF|^=`ASPR|#KmC2DZ7Ea*W)BJ%7bsfA^`Nmy_b#fS|~qdcIKT`lhY=`9+x?0KsO0JAE;~&g0q8S?kE} z-;tj9`Ol(!enD87IuT6;X(d?d(;M>WM%ZKs;N<&S- zlUbgVqOG8W`{_7c+&;A-CaDi1k{kP^olK6=A0ff+)jn3LRZk2>c^(4ygq~!X3SChT z&qz*EXFC4> zQ5Wm6cQF1>N19Kl950WV6PT0oiMhpb?aHQYgvc+_o<`7~0x!8$nx=oH>Y}J#hHq#RHkG2?z$v@dz)$~tT zNbz7NfKKCM0zoLIF-W!AjP{pVB{>n3<90H45+;g$mHeKzGo0rf;M2G_?ikO_Lcu4l zlV_;!>*=Xo)yt~EJ-t0dvhBko$EsG-Q|9zGJy(@C7$@Q~7q&IO+<~p0T&!JNDGwLl z=%n!Kl-`cRt364}&#*GzKRoGRSIIt?+SQt%C3|IEbHKy+5iF<@hAI)vJAuewys3x7 zKSuP^LikawhDz$40$Hii-ibHs80(3)HCYe#h94#wZy&{?2%Ht3fd4@7J*QF-nbVpH zFE^$9WE_A0k>~r7b|__4A~OO!p)bHdw=4{wI`$+lK-1Lmd;?Q-Rblv87bQ zjZ-iMXuJ`62c9Ywlb-6Quy&XpyNht04X6DnZM2n-s$Nzp(o<+?+t1k2JEfI>s;BKm z=lup!P7~(>Q8D;$+W)V%7XE6L&;Y??IC*$a(`e_R$X2zNo;3dei_;Bd|8)kZ={Rx0 zXwTkgfAN3N&oiXzE zJ&o(SD}U?=k4n8xd5d&hxuLj{>ZBhpru@D2!-YBSKr=)Y4OI(o`(Cui5HGxOPby&C z(X8B0MA+&f-9Uomyzl_37^p5Fo2>{Xzrq<&ySmi^)T(|h>pcw7^zce!`FD#?;9^n^ zU0hjue4P`kJo~mmBFD}CxWmD4}TLe4zp`I$fy382hw(pK;;NX|y-nZkKP@ zrSGAV4Mrm9AhGlC?V~)y+br|H_dzqNZ=TFlfRb!^%t|9n@E{G?%!3qhS;(k>tf)M3 zQXZmkT#y`~AYtF~S~QLh3n{V3PGfK!ybZQ<>$_lCAp16lNA)UQv$cTDz)j84# z!SqqHcc`wN2^7nQ;1@40#ztlEp*n}l=*t_}XTNX_{cyC!szFF71cgA-sr|_@;Ya~V zAt49_h|&q9c>K;jPObuTzCz~zOSABuy^#PXJsjbP`9@fZnY?Pa%Uo6o<(gwPV(bMl zw1tbNF4N_qVG?+dSqQP z8tf3`{rD7y++>6AyGNZ5;S(+y6$IyPg3G5MOeY(1nEvJQfVW~-rV?^#lB%{7)zR91 z@T0kDqnEgo>L^X0u9Jx9r|_uyhN>#rH3gaDh1VJphQWSIz=g_~hsY<{sz1uUD)&o7 z3Dv=2k)Z2y89ZF-4qYvD7DBs(=Vy=;z8c{%bP~I&}!|N>LyNw(S8L#;qK@2l>FSCB$^m;JgcT5njUNr0B z(Hs1q)Qt&|BQt?sgQfq*mua$IAc{l4y`a`pmVR=mrws>LF*JOiDF$n)4so z>qsgFdJdW#t7!qVeS{Sivy3=OEOUbG?U=S}BP6X4<$whyO%8a4D}`>7`je`k(3^_6 z<*oIRSZJN2hw$v7Tot%tfu}06vjbQ@-BRX+;JO96;Ax7?sTN}FT8x*w&DL2MbekcB zT_&m^;=M_LBRjK~`p9TKm>Z0KL_uh3+p{8)kvIh1?dX4_4MfLo=6IPTC0h`02$!>Q zP=ckI=8Q?W%95et4`9GQUbtMt&FwfBdh4FkR9rKK+N+%aa7>~KE3GnNsp@`Sw|FTb z^jJ{QP9Vki!Xof2MQHblvScKj zPJDYfT=xULF`OKCPc6nd0T&K)0wf+298kp##{En{y{DTMvejd&j#-y5kobj)F!`O& zzS`k?H+H!h&}dku%t<2C^OADF7 zK4^hUFwyopmK*HJQ;>11KuOlLdDkx9yrvh{J zjqow~SB^ly}2l{c3bnFhaHH(P!;Eaf~i(YE!*4{*8~>o3&84|BYQxENt)5 zQ}3AZf!*tG9rg9)Ur2)C7-!*9vSQD*pZUVyfTYxjXJ}Tb5f3QlF{>I6CN(Exg;WXU z;;L9IB5bYU8fKfvvby;e^}2TXVQ9~Nni>rcAao-T3U~YyE>11&&ivQ@0@_sl!ll7P zBT36M0oQ`wltmIdZez198~m}^ZPuI8dUvxkGQ4iq<5{`8Uae?_G5(s6aRl?D+#>;% z_6>J-$91$CmCeSFKE?Kk%XpAXtIEG$l{^uT-O)i4(kLFX zv+0DBqGZTKMoS$f45OEYDLJBE{pzzQqEetJJks*)xLx2qyxZAhvD|YW3?67wj1Dh7 z$Dp1v;eaM|8f&Ts5mmFV!`}7e?29fQRkf6#;bsOewvumPf4Ny=O<)}_Qrn}z1N?J8 z_ z*2kx1Id5F%_&q57Of;fU==!E~kHO>vN z?e75U06kawnY9%oEO<85n3{26Vl`wS4}BGoyH`qB5HX^7S&S+2*dL>ai#;k5N+HHk z1=NJe*mK@^)>?kPjTjDvx93VThn;t$*K$$7nw>pn!%wq4k{|8(O^v(a@UmI-SQU_q zN*mSn@cox!w*7r;Oz?W>Awgeleym%<4+#Do87N7cXVcErzy2SM04?+N4P_mwd0(uM z?(MF$TOwO4@7!$;`2~pNDgf(qQB(#=X8$Om;ndvI7lOl3hv4gqyMyc8Fdt z$J%hL9o3+6l(Hj%rIYK;%ID?gakdnW-WJeolYbwP-cBEUCqk-WU6*5hHQy3esT$aK z!e=+EIw(Afx8%`msnRWpp{fF9w@RX|K=;Lyy^6@@iWH34*kXEyqfs`vbtd*mNmo>( zC^WKGRa*C`T54W}ZIP78lj3L79Lp+F%LUVlEh6LSu>+mN9+33w*z2bh50fQ48&%RA zN!I{LpOMFto(}w5y(4H=F_N&bLN@w#TrLqmv@Gep*1wP~0~@4>*A4V?sH$Of4ZXgg z)njcn;l)C7hOK{-=u8Cl5xoxRtI=j7Y+uw6M*C=~2A_zNKG5k-Vkv6hZr)GnKQU%x zas^rxI*;ZYCVDPVc-m{W+Fy^K#<9s)sR{!EgEqQT*3{vUm%+1^0+*V?G#`VWrRPopu#)>c%R?4att1Q_k`S*ODVzzzD+N}gbyK~n z*3l{Gq?M7Rq8c*nePYI?Fs9ZAh70i3>$nu=7BzT3=ZI|W+zEjjrb7T;A>ScXa*3iL z3jpiI!CxM-3~xC;Y$k`r=6FbMy?lt&PR4`iZSg?N;d=aa{-57o`R~}k^D3wvN2sg1 zHy|uE*p&qy*3_WK00HAH>YyO188C4mu1_R1zA7Gt78I9auZw19~D zlN5^zuuujfiu_T_&&bOAbMuIN;CO8t$-Vb`bF(#?qGutX?q(~bDNa|kpWZp9NTmm! znQD5+L=TO2|9T#uJV||0PAWiC9q8b`%dR+|&yPDCj>uXba;ZIyonbRJ;(1c%wXXcD z{itv>v|&N4FWS^fIvrY7ObJkH{z&C;a;JrY=VrLFCnYTnnUd+$d{0l56lB|Ors#QB z-4-(;NpIVFfoeO6)}U@RH+@Zp2=#R_#;bTZ|9vc%cob}xo4Y#t8(xgwtd$j?SWEK% zpSQaKb1OOPM6Wz+7O|K`doe_SA%Ymtf(cT0+m?w#G&A;$jGZ9H&O{+5QoBE_p6L&z zKWsUepb&=$Fd%{h0t^T+L=XcCctL;{wBWmlWiDvJfLP`}2x5XroJ2{SL@Wb)-#YKV zB%QyG+U;SUn+HbjpX$6-r>ah!I-fF4Z1)SE8*bE{#B1}6PMaw5d-d|9_wf8A6_(O? z#yMc(JTAv>3#a6^mO1Z{Bs!LAXR*AtIxe|q8g~VFCK+#u=!`vxom}}dwvptAH)Pz5 z9+aztoAP1|^K6S#3wpFWX<9MX`VSl6^o2Ed_j$+wRQ>~UVOg%54EJbGV&A~=HKU_)5o`PugU7J_DzE$_6xEx!&mx%YcTntVC2Xgn5g z`|dg^`2(|`ipp)t$#rM?b$s!)3uc!+yMEDQ5Sbe6a^w`Tye?t+^!n1ulV+frG~#)T z6=UUeMxv4N$9rph&|(i_xM#!OB_5rcd#0fA$w|X&<&}mDGrqNYhMJIU zEZSJF^N!}7jK|Fh{e+W^H!r6cZxrgt2c9x_5t*AUv>S~~l^&3iHpT~}p0uaq{7tPr zD3s@*%7MIh!JJA4Ue|?dkGmVj7NHBvJ6Pnvg{Aq;tj91J<=}D~miZyOog|fatZc~y za(ucu7Ib=1ZYMSA#x7uS_MUy#E0Md2rnbA1?Rk8?{St#YoZL_PFgba3jBRsr9HpdU$Z$$-ftlo3-$O-N^mi z$>AIOhO><+Ttc>U66a_#xs+R2mWwUY~^#w&W;gW8F7>Tk}+ zyl6G)+4e6W`uIN3qy1&qwS(Kdyf&Jh-IBI#qrHHYLg(Xs(6-rlj~eblz|~)!1!!E7 zUwCwG^BXp}SJ(-uD3funA+&&K5Qm=w9WWE$6vrJ6zOjRXr6A#13%1+5|smsG;cuB2!9pmuL4RUp6>D($_qxb>~`y$j4 z4>g``;cRKNMeeLlytdJuFX`@_(HO1}$az`2?=@$eo|Ffxx8zx{u}Yk@fOAH`+$ue6 zDSHXtK6ALESaMq1-Uq3-NAGA~Grkg0^HiUXzb{6qOr6+?%7UJXei6b>O^<|i2BjBN z;;94X#QxI8raYbcnzfDDrMbanAJ3t6yYya%GG1+dXh|&i;pj_U3ksx#xo;VAY`bN|6A0L zC*{e+@yui9#Uab`)1=OxRqiTVTc0-&TY8-8elf zFCW_E@1~@$oS$7@noqB6EpIN#7?9qOpAMMclJjEcIB|4pWl0WtR?np`$dBEReCrf) zB$wfIgTFC#@>)i_yKvmSE)>cAV;%KhCSwwqnS zMr#-QO|R-2`D*)ujwGa9N57$tM=L?!I;(MN^RVfxPCrF*ZEs5KS~>o1qzF?{IciDE zvG&5cx!p0Hon4(@mYW%pkDr&PCYH=DNDj*fz3R{~<>Ks;dAPtlT!CaZRm{1Uadmb% zdO&6aa^-$OI`sOgbZmVRLvCAISYKaTA5S0K%&xCpNH65)7UYV*6zBYmo}Zi=($c&s zjtrsP%}3d_C5?XJ?#UzHY}=e8>7rDb&R0*3Hj7!U(ZA6Yr{#4e!?qh+_vvX}clS`_ zt_tVGi&^bq4aXLj^69hdYtJmKrq|`A4N`r2e#Vt-Dt2ye&VD}|tjUmuC;s>uYQB*8KIg z{Kc5HV=H5I5IZMtw^)~7$~d^0T{wO6lqnO1JakTe;(UE+&hCQbmHg8-VtUg|YFCnS zo@d7Sr}kU-EKV+he5;ot4)t zrZ=TG%32TGV7$VdwRa{3gH%(826bqvXlZrJIr*b4=CxL|cx1SEc4>Kjr^`*x43?Xn zpIzI#Szci|Y&)l$O-G=iu5hgPnjU;yZgS%RHQaxUcGssd-T`n(b=XD}$ISwvuq~(n@3-jr-7t``= z(7GvzjJoo=6t9jx-hrl^Ow+4ttENhp(;ISI+p=za<9#1hw2_;=u$q<~vokMDFRsaC zb6I`?M*8YuX9Hbc+VI#eqvN?pqsY}nbUM3}g}fe1e*kH)_R*<1nF*X*&~4wz%4=J5 z20ptd9*nRD2Cb#VGrhz~X-CeTrqseor;>9)gQ5*L!Dwu5Hn%Brkon;*ZDv&-ff#8v z&osmNy@~3X#JnrWqeZ8N1LpaqSvy;jO~4tEQB1FZPN^s5X3iXAM`*VouNd+JD$ew1 z&@=5M$fF*%&CfMC^jP@7-15Tgy4UI-m|qwSJ5&L~E!(T?G_^G~F>JK$3p+Af^@@CG zULF@&U&9Tgld5>Q>(mLyu%5?vaijC_B*=i^@Ve?<;ysHVM*=` z+tI#D>t}qOr{wI`>fFLIcJ>Q-nMavH-lG#dXcboEWxn~5CLPZ#dKeq7YcIX+%1+5X z1}iJS(`rthjdY)FmyAxCJxgwVX-!@Mb4;ud{dX8XRLb7pD&GwmRPP?JRWiHy)d)Q@>8ugRX^wAHw`rTh22{ zRNkJLPd~kO7CT#y{U?G&XI7S0O*fr;ChhFvCnuFhu;hi2Bb(t^!OW<#x+RY}y>@zi zWqDfiAM}zz+QDWPJt&8oTXN`#^Cjk(bmA7blc}z}`Ps=nePK=7SE8LCpXLnKT7T#< zEt4EmO&%M8*UohsOCbZNry!!ogdN|Q8IU>nMn98X<67F;pO1F5v0-Geu*`*IPlbgS z<+W@(Us%rkKmD{hkic$h&<3{5W4R6+=MYv^+EE6>b?I_uju1(khLzov4DNICej%C1 zjm1E4xeBA1yN^-u?f95JD4g6NkT%D4$7M45O)_FdBd7wIJ9@N}t*Dsv;MKJY%M0?3 zPbr(c1KbS4tMc|E??KKMWL@6AYo;$}x9Kc0qRV>|Wz2YuYvdag8L3pk}9L z=GPWBPl<^I+VX)F{zIo9h>4hVAT6v7EEfVY$Ik zXY}AkPD-|ZK~8JRU@!BZsp-K)es=E7TTAP5&c}J>o=2N#GS8uuRC_mplzDth@FJg z_g{L(qw3dIIv7c6-t6QxMd1MxT{JpgJI+4NYt5%+ zC$cJUj$V^4Bb$;Q49#6k%idB>5~byo`Ld4KXc&E6pI4+QXAeCqo1(Pm>ekAj$B!RR z+Hy{xbKdWl)_wJ{v(7l?Ih0IA<(JjXL95JL|^K>*URD z>r3ZlmMAB}2Kk#`3Y2M|Ih%DjI)kb(Cm+_=mZMXsNV)8=wJmc_* zY?+_APAg-4b1p(mERHOKlkqq=KiG7~Gl(9-977h_N#V^jLI#6V&aCTk+1OWoMu6F>RI zmu)9~W2G^_b}W(X)KT`DHiV_2414&b`kvZc-bg#+ot*l7u?`bfCgZc_&AU zN%KCbsGgb}99+te4M;_9)7VjSI4>uAF;Gi-xp?JqG(6VTr=oJ6ciA~bgZ{3|nk%g4 zYSyulbFYKS8LXQOKeplIN{}3FVRQCq^Rb*~yoYP_ZwWY3!qLhc&B)~=>0gurjJMj064pLYWoq74{?QY?!x`?ddyF*RgOYMj zvQHc89K*9~@FH>^_u_`xbnP5(M@zXIXV7bgE5X@}o{Jw;ug)%~4y?)h=ghTCbD+Gj zESG`JLASXsgM(I&L%Wqp^Z2Q$we_4_)RA4JbZI%*)NM@8D>#SL9--`t4~ixGowK@s zb`HCz4$QB~m8{LBMRU|=P94~yM;+Ge=Q!`75LU2!U4Grh7VyRNnMXbgSCOj=~FJDZpDIOEki6>()? z4rk?dgVF72kjsRmp5xzmzm6Vs_7~>Pq~)};j~bT7v+be>oJ$y5edc0j^uS;bs1p_q zpjQICMy~M)2L}<**rV+%mw)7%gpy9w*Y}qTqO+lS!9zIcu9pW_Wv; zCL5mNbb^{5JXlqafquBf57yqZcTGi>6WpJDB%Z38>ETIdBQ-EVs2 zIM&Oi%z09sshJBtgKCniG-eVk=LRFgo;@h#U^9zGoo~(Udb2CXPcBVQn&fz-^V}BQ zyN`)inY|ixo86>b$8ZKld+NdCl#~vva?N2p;b8k3&Q_gHZ0}Vd*3%uH4as|UR~WD6 zqS@{P)4w=dJDsrkH*f7)QNvF2ZnT5e!Mb0ln$$4R~)}68^?aV1VbMKH2=u^|9 zZZ74`tuN(d5+=8HCeM$b@}72X{&UU?$pullS|}IfmgTILnJwx~d$Q>GTuojiE4TH@ zEy5?|^&Y3pt$!YA4oUYkceky{nMHXz-`phSq;lVq5ItaKdUD}H?lM?2k1omuj9hN{ zVp=a_>}V0^9PQ%Lx_N+O{hS;aEG)_m<}%CFgCTc@dcWocDbVOeAr#`FB1L1v8zY?g ziMjkDdu-?0k)DtAEWX!b4_xVOi~R!XjII-Tw9NK7K6pL1U*3J0%A@ zg`49~2r1K6vktP;+PJtnmo~Runl0QprD=;jGEEx4PB}b=(hHHpA!OUdh6hfg_x*Pt&F%kKh*j!C)jmf@gY+JDnV&xUThiUHSAl_j73c9EI1|5i?KW%x%g^mDTg< z?8347`SV<1%C}4^~y)1GKccA@7bE+~hl4zoVy6!#(`4 zsmGVH2degT&Q8i|4@*au8QTILwmUfcTN<7x^{EM4h{q;2zP<;X>xgEY!fAfFe{pJj z=I7BzrVeP!=!HnRddqj&K_KNcYiZvZIr!w@!qCB(Y9LJf{n~vnn zGo>plgNth0^#nOlzqBeh?T#$Dv*o5_9&M(`CP%##W$VJ+8alk9w{7O`AUn!9W>qKMPw$7!B(I>w2nW!XQ4C20e{g7Eqy%@nK4umh}8cfdQ;nrb%>yuZD zZOS7}PFK;nLNuZmdd&4!uXgl^anQ8;irff#b}g@wJi5!nHIBR`U*3#wZitnq{YH!E z)q5v|o>*(!2j^S*q6Y>exY-}c{c09 z5mSoMKPkWAZr7{G+kfjZLOMYxi=8HW*e3ES@T9%Z#CG;9@Pv{~7>6FF9NUGU9jUwS zor9EZ?~=DCM);Y6@r6ciXquNNb>&_i>0*QF%6R&b2N!H6d@KI=Leb$_h^^d%vl!km zWp0wN=V~6jE+cnZjV`!@@(p%7=Deg_z}u2LiU*Z2_|oe_8((mBP7v>OS$n15oNSWX zoN%SzGuuPX`*X}$=Z9R;|nbwK=vtei_bP6?Qq<%gFetg4mFQ&IdO-Xigvyohb7<;_zLHTL` zJ@B#jK~K8t*(+;3{COcu%5_q68}^z!Gw*S6NSY`**oJK7;2>1q39=~{f6N&q+cwT| zr#WnOi<~2NjzrD#qdRIi^J=)AR{8-v;4yfZH7zY5zZE326thBRE+cDkP;1!k%t&aL z?$oezJG*ga+9L0?4~?Uuq4}qd5iFdY4+i}2+b4tlH7US z^Yk$N>{kBRYY(T>=T_w`Vm==|l$QD7x?Dk&>lWts>EunaNm)pa;N%&<6Sz7uTEwL# zR{>?^Mpsi_GCf|p<4NK3r_-lm&JnjOnyX$;ZAK&MQ*w9m+-6iBIFuuFcXR{CVzM$) z(hb=vB>l9lJ7=2fEJF1lH7fNGalQ5$*Tx@M5mFkH<%-mVzT0M`e$T&HVP)p9xwf_J zb3WzB1AjY5H=}js^eF8_^3O>6xLkxXFZHHMJ20#?bQzHc)S9HwS{vz#=&+|Yq=_Xn z(-$UZdT=CD>2juOgdUKqq!`Q9Y&9=*9j6XU*Dyzk*f!)oFS~)rg*>w*O%1z?Gi4ig z`cqN`&TB=NHx?G;w>r~H8>_Rci`p2Aa<8ECF14qUv6GKw7v`QhC717K&0A4?LQgDg znzwA3f1b4ee*MDPeHH0RgN4gStI=ABD}ZyXsc z{m5W(rAJ01D!t)#PYn`{mq5N9iTLOfPd+m8rvw}Q(*z&+RuYf=WxvB}$jYrhwzj&s zbk4OZS|n$&Q?rZm)V8^5GWgT1sPo5T@&c*k^6aYqC8d77^U44xlzHgVNhGY{)}O)) z#Y{Dtu#ah2t^UW7ud^*c&0~_kMjqc^zxaCdq_h(>xin{*&a8#2;P62S@%JNx@{a_P z){|W@MPGkRPUfy-?X+Gfi({*%OE@X?pSDVEnO1W0f=f@dO)*$bn~fLr&_Rpqq9@lj zHq4I6<}#)lLaJWBaaH|O<~^ITod$rRu5i4r?y|qo)u0kkiYT@(arwy2{SxVp||7H^eV!FM4!Y4uKw7 zmS+ciav{Rpsd{X6-Y5IxMfT^d&XD#(PNZ-=*FkGZ&nb7xZqVH!tSo-2$>pliylP%cCM& zxjA_nLT-AI34q+;wv#2NB(N+gud|bzXtvJEOKZ{_>vPAJWzOP+!PS=sly}xTiy7BDJLTAhMV`?#gTU)n zAEGi2%nO-{4Omn&6x~GzdtTVF>$%r-l z+Pv%fys12QmB{`@4ub3(B9O$ivCNBx-*_)8RW(@F-p*}uFpHa^WALRZnxOfeq>&PN z1~t2_VWBDNjEOq@R>GoLo}68h(-FhL$Fl4pES*=E_Dtl8BZtyyc^qzDZb@C;G}m_RoMAAS?kxFOpO_rjW34AA z_FVai$vx^|`?RM_r#gMgnGDH?b35?qQ|27B{DqGb`guVSA1Czls5xCHN$uwe{Nt!| zLRB1}C-4vRK5j{l59jsVr%%atX%HVL^fRl7j}!Wd-0*QiKg}Fk7RSd4{Y1Vtd;K(1 z6iJDX6Z&aRPzmDWgnl~j+c}lQ#|iz+Yf5~a(9esC_&A}T`oi!eK2GST8EhmYe4Nlv zIVLfPj}!W7UIi+Mj}!X2pootX`gs%!+RqdC$5AY6KTqHvN3pp5Jb`~4MN#eN3H^th zo5Mfs-}Vy=9@piM%Sj?rJd@tZ`8Yn3_7ep=uH}>TPQfL;E{COU5RIV~AZd`+F5=YO zas97Wr=)RK;JE%*D_+oPjpO>?BtEp=jytV)Jc$o&;p0v_AJ=A=#ht!zT>q;bM9}Fq z$F&p5pH9z`Q^Qz&r}rJ#&M4nHJ@j}IAKHtLC!NkL-#R`0xc*nW|8dqn!%vWaTGxC)w3?0A84$(fZFc^)^ z^A_@mkoBBi@^S5_y%zJ_56SUi&fG^oHrBgF`lx3-kFnc3p^n=-Su>eV+10W~R&qa{ zIf|uH9>YNvANhC{^qA8fAG|_d={#~CZ=~@=rZMDD*{;L*(V=tbW1dkq?-!6?irCze zlg2cYG831LB|d)lYQ_mEJsN02O0O33P8uCMXmy&0PcoRIj~vEE)3U+It#@(-K@MZ( zf~!nM#t&oNJ;XbIqZ3a;ps!G2j^V_F>v-HdI-eYw5KvY|S3~-%o=BN|Fz%g^M_-$q z(A9OPWPW{qWoO-DLQ=1OF(IjE$M8=3qP2{7`2Qa}-h=`OkDfStG5UsgPF|g3Qc5{d zxv;wCbMA>c?^{}v$4GqgLTMRH=A0ddZ*%R!R!*KMG5>JhttjVbFF4=%p_S14ajrH`*|nEy97KR$WFnHP90Bd_v&=w;+ZDBCS#@2rrUY!>7^wCrbP z6?0qWzZd4@O3A9Z2)Jlo1ZV!nKcog^t}GD;gwIYB(Wl&bgsZln>s6QGlG)~;-$2Zv=Ed|_I9%tx{t|8i$7A2s(zY{&|+bUMkbnJ1C7jQ?AD=4=(uJdE2>myoi}hn9B^qQP2zx6IXrV&C*V0hwL6U z?aa@kh;j$sHcQ9?hwQHu4T@k^*L-2$P&@d-Z2J#rJF`n4xsEs`hYYgQJS%UO9iG#) zM~Kc^%41lrBf9Zp3@79R(qI63P^iIh|Dc4Dr_(HBb>r;z@TK$4XgQRYKhJG$I@gq! zolm_RO7@MIo0!Aj75T-3t#x?_BrkhnxoJw?SGsamK4niW$>+>WMn3b4>nmnY?ffmD z&fmIo8y{HRd!_L~c{nPLe>bv+8vD{Tp==o5I}TT--bw7HJ}JbY6(%Jx6*?#Px1N>D zyK?PK-nMN{SeRQB&dRSe$hRBv<86A+?r_7AQzT~8&}Puj;gyGxiv~}~jTnzVGC2P& ze~w&3c-&l$Ts8OS%1cWh$E!XEY0bCk$B&xMu_$*6$bGS9!e=fu4U;%mxisSeJ}RY_ zUp15|T3Uup{7Q{RFjuOb2mDR(J-!>$F>o$+%R@!xo%-es$AmzdVti?5L1DQcYMYXI ze(SN6Z{FUFDJPh+^HMJha>tFF>`I@NYx7cF<`U2F-)R}LoxkKPlJjrru~<}Y}O`PaYOrGIBW`gzVjLgd%rVe&RSLZ0bqoEUi<9w*=PF-@N! zFMdKjN#6UUdW!scc!s?FX-%IcU+$~t$gA)?`E&3BdHtU>PLVwPyn2Z|@qg6I~@ePkx5RX_H@pcgUOYF8Qv1uW@?had@A+ z1ou7Z?zhjv{p9}7)c67NqwpYk0Ujd11rL+=;Sur~zvdewzXOkx2R=*FC&*92ljKEs zio6HUknjHw8b3>3hUdt8@I3kc&(=5v^6T&-`QF`{zC<2@m&vQ}3VG;rG)|Sg46l&~ z{-dU^lNaF)a^L4_`X>1ic#Av_ZH8|Ch#(kZ0gA@@w!oc^jS}-}8AIKS`d1r^v6sGvrNpmVDP9 zjh`cr!}H`Bc!9hLFOu*2e2rfskHgF4Ie3Nq2E0mM`T~t#BYzfNC-=Wp(>KVE!kgp; zc#HfNyiMMRcgSagns1jp2k(*JfcMF}aNlWn|KIn88sATzfd|O1!Gq*&c!+$@7is)3 zc@iEWzXFeuH{o&eU0j zX#5iS8F-nz46l&ifmg``U#jtIrgQv*%e~spwA8Ns-r3o(#E-lP9mWUh1@0fxMXd5~sb2>`$qe$dhkUFO%Q8pk5{K zAm1AK-HV#OPJSQWAV2wLP2VIhp`0!9GQ3S*fp^LKC})p6^cKyxPac8$Qtp1$n$z@t za$C*-xh-dq+?F#;9{8WyjuG-@)LV@F5oK^BT%2^|?qC9o-I=n%CeMQUJB)8>kk=t^%$!$5i zW1g33A_`>iCu+*mKB=A{kAGS{Nq(!Zo*@roeY528k88c<$nE+T$U}%zBrhROiQLAikOvT_%8qud zk=r;8av$O}$ul2AzaqDBI^=Q0>5{jwUOjRf$9KlvuOf)!Cl8=J0dgBBL>@z&FnI~} z6Ct;8;^ckIw-e-@4{QA-*|EK3$b%?PmOO{@OhH8^@P%_p8=H^eghP_-s zP|MjOU;Z{t-y!$^nU<$Z9@wktd*uFvdY`Kz`%AdXfC{=c9j;U%8~|E986rTFY4_-@8xK*U0xDSFe-T*3=v1Coifu z$wPb4KgsXDRnvFKb9S60k4$5nB)8*+@2tBY-n*gk{p5`gsRzizKdc@k_y4(ii2V64 zMgJskeg*m``Q`oUaq^TMC&?RF-z2$R-wb&kakAt!?B8?bHco-Ogg8a=3ij_MavP^g zUi%B3_twbcpVa3kF8URD1Lbd%r(UW3r%PT&`W|@}>HTx=epSGF z1<3cK{6X?t@DO?YgIfL=c^UEJ{Q68YZm*78)z1Am464tWQ0>f}9mgZwJux5$fe?Qd=JOhfClL*9q? z$V-URXa8>+$G7P2CpJ!iJdZd*@(S_|k=r;C@-pJY$Xh5+oZQAqk{1vsMeh4OU9Swe zjgup>X2>5$tv zJ@Pu@^vQFG<2&c>KQ>N)yooqL@&@9B$ZebmdF&D0E@I@pKh*Y$lNbJ2JxLxwoD_Ma ziT*=w?~YUFL(f5=P!x0a_tZsWAbV_2^? zdHh+8(;>HUdgMOD>64fKNaOgj?*3!r1ju`+pCEY%?H(exaU$el+keOl|3k|YXSe-_ zyl?vtc?5AXyz~cJKfb3Y^dIt+?LXv&|EY08?5Ljzc^q+Klk3b~C_BhT9YL*BFF54nxg zBG23YLmt6;b;xa;9(l_4AMy^`-S^Cd{zKkDoFI7t`_mA+?LXu>#EFpy?r6Km$?bY2 z$^Ewfkhf4j8FCvZN8Z6WpC`{?+$fOSI3@Bv;*`l-cK=0g%+L*7OG1j&;qPl()>Cqf>v{f9jCC+I)qHcpbf zf;cJi0^(%Y(VuhVIn;BWyoU8EklXT<$b%?PnLLjDMTOkPsgZXPr%qnO{XA3FUVZY`hqXMuRd@ffrb`c`C<%y8j zQJxri4sqh-wtkZ20hA}j{v7%bxh+qQyo2)O$qQ(&0=bP-BCjD%nY{7mTAm8IjZ-5} zV7=<(1;lBvWBYB9M-Zn?p22p}A-DD1BX8RNL!LxE`*IWd4|xf3g5(w3f5>flBIIqv ziIIm;KXGzf&q?x_?LXupyZ<7$adPBI#L1HfK8o>&ybUjt2kz>8ph8|~=>EM*UV_)i z`|u`t81Y-=w~)R~{w%yh9{gP`Pmer%PXB$9Bn2!+Yds@|wO+-g|?(Z{6L0N^e&8 zlh1Fe2gvunZNF2VAbA_S$!-0l$Zh>($Zh>($!-1Q z$S-5P^5hkGf!x+lk=)i#ncS{dh1}LpmE6`(oxFznX^`hWqV?P)zxOHi7J2=n>TU8^ zU%f+q_g(5;^6Cxs9{F-ry-(iy8Fk-=yMJE3rtT+CzFR#&zH3eUZHPQKb=T>)Ve%e4 zLY{}m$oudVxo=wIm&yI`3V8`}s^kHruaTFLzD^!Q`Zjq89^7=-XBZwLuONPyJc9HQ z@+#8D$YV&KB9Ft%+odCk@jc?Rj*5%RjNAMzqRMegtXofE%I9)wrOZF#EXwmda*Tb??(El-==mM3`LT|c%wA@T;+ zD@@+B^+VpW^+Vpa^+Vo)m&v>E3b}8$ZjaRoUYp?c3Er6C%?aL`;OzZ&lU2)cuQ`}QzI{< zJauwgo;JBHPcZMUXIq{SdBxTbxs4wouiE+{xA~^XZN6o4yIohvZ9P=UZFy?sgYlN! zmZwc_%M-llt{+>T5W5|3$!+`yxgFnPE3b`FmsuR36!Rr&eF~OS?yfwkw z6TCCQyA!-O!TS^3_igTWwDsek;DHGqoZuny!FWsFv;BcQ508=e;VJUL{FZz$za=jr zPL+Hxza=jteVu$Tza<~cZ!fv)c`&~vuONPyd@#QyuOfYnd@#QyAIxvb2lHFt`^(CAZ^SnB0zU5%RjNA96dsrO560RwlROTZR2SdOoL0 zp11RV@&de0UWB*FOYq=Z-Stz3hsXoJqvZ*cSCBqJUWLcVYw#3#9bP7Hz$@f-JgH9b z+61pp@WuphPVm+QZ%^>f1n*Ap-URPYaNl>h+tJpKe}V@lcyNM;$oDVld4@1~a9KS< zUU-vwjJ!9e9w)!HsGcC-KdYW3fA)>)8S=_&_55U({fHhP<;df&QZJA<5vNGrd!?o? zk=r;G@;c&F$$gJ#oEo`}(;%-RPLn)`I4yD;r$b&toGy6;aeCx7j<4YEZ)L>slQ-hJ zUIB6&Cq&*roG^J3^&BC$apL6H-}|-B`Gf>{=@-?g%bwByZ?@|wt-~V3qAo-CWR1cBw{Soyz zc`K>ym0&-n^_(QP^_(Sd;(T?E{KofxozrjgUC&e^2(dhzT}~0^$d9xakAu<4NadTw{Z&OHN+{BCsCdfxs6jHFCtErJcshs z$Zebkc@lA&7_;`GRE9N*jB?R)hT+8_Mndq1rnAb)PRZZARd z#2)n!`R$jehspgtjUOS;oK%mK?|Hq(Ns#xRR8Nv`ZmOrqlR5Pa`I)qOmc08~^&I); zYqgvO^2-5DUnK9nRJ}yL{2A(H@_nDBULn8v#p+e^>;GHJQzO5bRBw>)Ue-8G^5!}9 z7I|S#y-oi75%msvIj`O&kG)a7N8Wx?%jvu9?w_S6G`*kv?qli!@*^kIgXF=lR}Ycz zf1TzVCV%!3O&=k@^OUBKlXtOyNs#y6t?85G{cGwe^3qSMXUJop((yJ+{@kpl&yjcf zn!Z5(+&`-q$;-PmPKo^V=ct#-L!YN!A-@+?uaf)rs@KSOy-eNr4tKkErnLV3JbYWz_sKUm)qUUP?w{oksQby=m$aM#^2E1j`Ve_!UOh~H z^?m9Q@{_3l82SFTrjL_Xy6Oq?TldtHQ(Yvb@du~rKMgcKl1;oH^|$V&o{}Re>M6ic_yQAI^>t% ztKKCK{*HQ&eCCdNpS;yk_r25IKlkH!#7}O^A0W?tnZ^l`-+8%um^}A2>JjqY)9Nwu zWK2Cye)U!A337j2JxM-~`mc~@?EIWOfO&q6+>XNy@`RnAlQ%XoKPR_wI^+dAKPT_u zc%esb?^4@o9oC3LxQzCDoJZ16<%2Oe?acbmyFQNaCUp=qhAV2zM^(J}c z8TA(V{5kbD`K`EmhrIbs>OJxh>a9=iLp%Du$K9{&`Uc3`wqKEV@>>5PavLW?Ubp>< zyny~0C%18uzg7k|Ezk3{Qgg=XURj?)N|y^KdPQ5FMqdsfjssu^%8m4_BZl4 z>a9X<*SALQdxyralb?L2dV{<@r`{yLJ+Iy(uPvyz$TU9wqV5KhO5JzG-9M{uR1c7s|5QCle*2Hr zL*%tLsfWpz|3W=NUdpJ)$S<8$kCWHt)sy5$(9cuk*WnrR-M2MPmVDPa^&I)#ta_fj z^|X3{eAkM4iG1%*s+Y+x!z<*^!>i=WKc#VM%;0D^2{H`oc&;z zy!IFBJ@U@`)%)bWkE#29z`ee?e^vLB*FO8OlW%~$6I2h8XVJc4^2jf1`$ouZ`zFZq zXvZY^F0^BcJcV}5kO$F@Ir7VYt@T_W5276_HY6^w|g1!1LT`X zA0&?-GG9jJ)<+x_!mTyT7fTB=4g?r^tQ(OVek_ZJZo=5ar2}2Yy52 z6v%Cy61g97%H*ZL(l`}z8>dF@L!3H!;deDogWSexlP9~nop#9g{EhbWF8LXFkGuu% zlkfhB#_|8KyZ_{oZ-6{>SJMZ{@BO`ch&=wc>M`;X;>XE%eNfXU*zc()$%}}eC9fiW zj@*xW$dd=)1@gUrr}>u28;D;a--S3;^4;(ndE*~6euEwTr%B#>zxJONdE~BohrEtB zUGfIv^vG=--;cQa!@a`SJM#xW`JK0_2gt9!=ao+SAbIE))kEYrZm5UJkNk>yg#5;F z%{NXSNa6lx^3sR3ev;&=kEmzJ!-$h5Z+$@1=g4iG0(l&9isYGp&^RS>8>d1ZL7Xai z?w-b}k=r;8@)+VY$t&nTEpi*DL!LpLF1Zi&(<8TWd}VjPDkF}c-1i|}uK>A?6C%$c zPME!`aU$e4PMkc8I0^Cy;v~s!oD6vZakAurPiuK{o^PLVu`epn*6ajN9` zf7E$MjeOV1S2^Q+oxJ=S^#=JFc$56u6Pmt7-hsEtyYLQq58fs3!+YeXze)4$lixh9 z?)x!!f2&}9gXC4zPl!B%^kMSduhsYw@)qhRMt&9LkCRv73Gx~|NnVGi$Q$qs`8?_; zOI}0$nbjYiyhc5XIc#r%RyieYQ`>whB=N-78{5g1l{4P95 zeh(fZ-$ea{$t$Rz2zd$hlOV66ev;%V z6Yl<5K>hg1%c!3KJL)G)?*EXE&k^!E;>5^r!QJ9QP(znUmC{Kqx z_$H0hB@e@U+lSD4W1>h!*k>fc%HloFOauT4@L4lNM9lkqn}jClc=8>`3&OJ$z$*ac>>-f zKMik@XW(t}EWAUWgLldE@E-YX)K8y0fb_nfa`(gisGlHt7WES%-;Fq7@(|)g$b(29 zBfpF7B~HE{=~LuQlqW-;>1hAYk|+LFJx6{T`R2(Rn1>h0W8bWCisUtTi9GzIrZ1E4 zd4qa|{0O{CJ`b;vUxC-jZ^9eocj0aF9_q70UUDfbjQkcnPJR!bA`gC8$J-3~y}#FTX36h- zKs`r()AmpD0P3eeUW6CPeWIxA!mH$)@EZ9wc%A$3= zK0D++j1OJ%WsE;P@(8?7e(xz=U*Au=`=<}(@ss=E0rCJmNFIcT$ZukN4wF~VE)nv* zD1U;yi26yAN8a%b&iS+y`DJ*9{5jM^mi+GHaVJiW9qIGrdoF9f1@gw6)^m}(S5YsM zH?dw7^2^_=@vG!*c#Zs7l(SAgAJg?}kl#W2Ci(pLXud7-Yx7$EHo5N?)Vt&ztXGe` zfO_kb-+}vn#@#<}p`3p58)&Zp`E8^RlHYv0u2+cMwpW4@LGey21?UfQ(@NPZRd86t1}`Kz6ADNJtbGeU0bGe(~IJB<@3PkvB6L4F$bkR(3?Pm#~V zGvt@xS@PYl*ZRzn7w>C%isW(IKgqBCoW?1Wmw#TpLLQ4h;?!rA{N#`8I9VgN^;swP zVZYWOzw-gjw@DsBJ+#PU@HTlI-XT8;?~*sZRrBqU-~MS`FaLFS|4iBbN#6fE^iT4W z_tit>ev~In{_GEEc_QR9SJY$VyAdZ&zAvfi6XXG;Pm%}WDe@3JLmq}_$?In{-yFH` z*R&pr5r~y!|>Y zPm8<*Z~26^dOU9Tp21Ly5q zs z=X>Pyb6QUSFSz?>!uC({Gq^4gBtMFN8zK)J(fDEVLH{JT^%*12zFOnN$s;G!6Xcy! z+P+EhE<8ovgJ;P7sLw3{6q9l@{;YJ#_Jwe_?eJ06U@DzC)o+0nSv*aav{*(N^U)Q%t-mv|X{0!!qW%5)_ z*Q-L_dK~?eyz^?^E^6eqKI`PUGun;~@_irCe4FIgQ4cNh8}K&yO?ZdA0q>F@vFAU@ zH?Qk@`EI!TXYmdC+>@W&_aFY=XZ{x;uLaaY2XtyJoH-ahjsD@yg}Z2;!&qv z+T=mR?~r$nYWgmFTD?c!+EDlZlDnTo5I;bE`f*JkBtJ8&9wM)NhkA@Wf%tLqy{Lx- z`5AbU{OF%(eP+lrkG||BrsA^XjW0ugAkTiKdV#z#tJ_PFJo4q}59BsZg}n6lTFx4I z>XYaX<|8JhxBR zw?}T**Y_*#e$qj^`^kF|jT0cZaYE!R+keP&h!Y{VapL3wtXG2EhxJO5+c+8W;_tou zCC+$4UOS-cl_L)wR4C_a@NS>U#;ou>${!+M{_ruUK4auv#E+BLrnEc>@{O7vVMXGYO5~B#$6|i@fs1TFy54J$Q%w`r{hEPo6-0->H^`R-#HKTMuM{0MpWi?sYP@|*BDdFC;VpCZpAeun(nFVy&1@*v{p$eWL7 z{33Y?@k`_p#4nRyf>+4*#x;JOyo&e@@~c5Df0MieZ;{u&LF0GH8;IW{@4r;z_sNeU zzVFxE{bBd3G=7l0jrbw*Gl(B1ufikb#aC+l1bGkfljPU`vz9+a-h*ezj~>?eS@QiD z=kw(LPw2Q&Abv{UkS8jdZ&t0eLbke~i?%{NG1frrR3`dVxIm1DbD<+~!**FC*Uy z`He5t_*L>gyheWWkmg$_xA`{7Ysj}nzKQ*8o4f(R=B%vWi>g~ z2>JYs<{Klo`6kG7$TvyeLi`l@-msP@L!OIhzFBgcZ=Sq}d<*2uh+ibH!%O7P@6~+E zz zV0>sbXue%?yS{z$1oHLO-TkeD^AdjYE{^L1&5$QBugj8Oh3Cj)|4H-BliPfYE?zG=7Ubfb(Wu@&@Af$akO9IDPWx|GoBG-*3A6 zTVg}g`^h8NUV`Lp}Zn;`EY-z51m@=cM?Bi{^p@oCLB zOK$Vcllwn~<6QE+$hSxyM7|~R)MsnHWpbNul{|!eYvj)^Xq-CxXK4F2$S-}Crf-tl zeB0zP+Sa-zxcj_z$&v3tzD4rDr*S+>9!LB#JK|T!+yA2LRVNQ4euMmo-EXoZevAAX;&;j8h~FcR zA%347@qM@4{U?L?LGl#hhsb9TKg^E!5%PVApCHd6ev&+b_$hY8&yaVY*ZR+s7ZJZe zz8~?6?1*0?zk&Ew@(SYD$is+VXGi=7c@FX0Rh@W6b{3Q7;#LtrZ`Z&HL4M4e}b|x5;CO z-yy$?_+56y?~!jJzQ5sa_ax#6$UBH1WJmlEc?|JmZN$&BBYuIrf%s+eGU8Xr?;w7a9r0`A{~uj<95uIE)_Xrn)d8vmtuSDLfCUDu z5TM9_1)@|Kut<~wgH{MqWPpP4P;|he5vmSYHDb{S6@ykBJyjzX9HBzMA|n(GQrQC( ziCA&A7Km6qBbMV??{od`v(|jyv;Y09YkhO)&OLdi?X%&O`b&7FegkjRU(wZX;Uo1o z@TL0Rd$ynZW%YY>^?mqm^#|}){SdxXe@It9f;azR&vy*psGqKQS3iWGQ-1_c)sNwo`eVBK34Egd6h2cwgP&J_Mpr+F?^k~gFV(N$bM+T=^=o){ z!}fm#U#Q>0&#AwrtKY#dsNegG?dRU8@54*=`*igK_*DHNe64;2Kdb(Tu6_(ZsQv`* z{g=M~!wdDNboDd1r+xwNt6##;s6VHxU%@Zw`{WWHs^7qK^;dNDTlh@<4Sb}&cWL{% zpH{y|SKo&pRzH9*-R}v*^V9#h^ZTD6Jbj^g1aI8$3B&8s=3}_)B=D6w6L@^aIw{+q{H#>dfJp<}0}C)bO=BOL(pIG;r5x;oe`^@8PfE{_oiOJNW1= z=DqiApPx?W%7-8PqtVWD@56iVHxJ-9?rJ`S_iozfI)b0RVDlsR;EH(+AI4AIS zsGq`5{)u&_@Zn#XXYg|~^8!9pzl0xutIf~h%fB|S;Ne@$m+)Bq27dI9ZGHvME}OUT zgD*ATz$fZ^f4TkK4_7wdgO5LE?!%A#rS1O!o~a+gul|{JhVbG;<`I1HT`2KfWX8>Ew=vNa{IZb>ih8al6Cs<=x@yf__4QGe+ZwcAHk3Rg>^>o z_yguK{6=p53A|K4g&%#db*Av@!{!-0&a7X+7wVVr!|$=q9NsqO6@2sn^Ci4dzkwgD zZGHv!KWg5>yS?Tc_*#AMueP82-h11858l6@xewp{6!QVx```BY4dJ`hAHuKS*E$ir zI%GbE_tj6}Hv^lWz-#qW_~21CKZA$r=kV+57w|Lcm+-3(vi<@-Qon{@ReuSesNcYc zud{v&55LOJZ3pkZ(R>3B?rz@u!1j5l?q}}9%Z*((fY*1n`4FDou=yd}`wE*M!Q*?H z$MEK+brN{gnWymlYppYdC$~4B!Tsyj$>G_3Y`%ndpSJl5?tRvL0q@;vzJzZ+W8T2m zSIt{^sLxRc@7>4dH}F>8`{4HTU3|06`|y09c>wqI=ZgV6zifYw2;rOenMd%xIwN@Y zcAJmkt}}rr`W&V3BWpc(c=Mts?fiKmqu*-tIXuuh3wYJoI!kzV#k_(K)LFpGkJx+- zcbx`4RA&WmZm~`a?|t07gGcIY;J!NEI~uS$E*{< zT_=Xe>Wty}RqG^h*Gb_Mb*Au6oeb`M+WI+stWE(h|IX%1xa(B#M4bgZ{*-lUxa&0V znK~=@yO~BGloyy z_X>FMXMj)SDSW!H`58QS-z(q?bqe@WUczt4EBHeDuz-8lbWY%I9~yY6&I%s8 za{_mr4n9|B19u(o!?$rx;FUUkc;wCr+^r{s=jsgMr8*JZbz*p-&KU02lfYeP3ZLsd zWbnh+b$;MSIee&21;6w{yY2$MNApW~tm`)L z>$>g=eo&nje(H=}cMbP7zkyG5U9Z_bZ);t*2anY8;fE8uZXdo|^8xS@ay6zBu zNSz2CJ;Sa$g7-8(h8MbS0&jKQ34EkZ3g7)?yY3XeOY<3gt@q~)p8lu(oXX*YTg^*& z?~?s{#~hw}pWS(%RB+d+;homAq-#A5+;v*`Qk^xt`d_yG4(>YMN4C#fqfQSVYCS&O zbprTGodMjxo$XHucby1ct22U!U$Xm(;jWXwTXiPzTAdW`IvISU&J6C|)cJwC&KzFp z{8#YvziQ`s0lz4(;q7^wU%{8^xA3((YxqXq!J{`=-}{^GbK>j#_u%1I+4J?`-Y)Y1 z-dAS;kG@*x1YX?HJc0-6jNskfY(9pkee(o9P-g;9?rQTX+;wK~R{NjBr~XrR-VX)* z;@!kQz-z2+f&ajW%5@JRg_o_vFK#_-Wy%oF(Gzq9@nK2|@2U)f`w z8T`UM%yanhk6OQkhdPIIczI7dhZWqrm-!N&X`Kx`%xyg@`1se%TX@!*Z{UUc-j(g= ze&UyGz6TF}#oULdYx4oTQa^+*e$nQK@N>Uv9>KFP-uWDj;Y;-s_|0Fi&II1Q-aLh8 zx0ui1t@=59{>wIB!1Fhnm+-J>>tDb(>euk=dcI5e)i+qbfyW#3HQfISy$9gOUT5kQzB&YFjCzi<5!JW@Y~pE_-wF}&9L6L{oVe+nO~ zpTUu+e7E`w`0R{bw}vO3`3gQ$zlF!IwfQytiax&`yt}`x zzxT22=U%Gs!y|pZ`tTFKZr2Uq&CvQo_(J^%zM5HQ1Rv=9$MEQ9Z9bv9?*s7skiHMV z$KPe1(bbv3yOGW3@bQz)OZdqBT!7cH%~x>Oso}9YOL+U;)@k6b)4~&V*6{jO*6HBQ zkD7b8Y@d^fIz4#yb2jh8T_=F2>I~q?N$Z4g*NNbTIwN@Z6V{30u9Lv$>P+C7Iw{YM zYWw^I>h$2Wtv|%d8W_T_=G@>P+ZU>!fhk$>1Y( zX7J|6t&`LBIW6I_I&*mV3hPvGx1Jh4R%Z#1Uu>NQ?m8_zQD;rpeRXix@jkwNezK3) zdG5izAF=iLaMuaoGj#^=#=U>&+UE$Kt22UoGh0s#ck4;ug*p>>npr1>yG{l#)tSL# zz2|ed>y+@hI&*ma0$Wc7cbytusk4OF?)<=Ar-d)nS;O1oww?~|I^HL?&rhvR4_?03 zIzHTW0{Bv$0la*nbwar7M09mV^jBLart2Ig@Rd3fc&g7u3U}+t;H^3{c%KrG8$daM#J;fjTpIs-Md_+;vL$K%F_f z($CWh?m9I*RA))oJ~wdJY2ib4*6{k}w$B~hb-b(F=O0 z2zQ+k-1|!VdxIE$^4Z^Oe-8scEl=Qm`IN4H2484?24Bi^c=cnpo;f^Jzk=UTX93@p zSf_^X`Em0Ve58I057k-2BY6j(s^9z6_IXIu_uBCRT1Nc?-hw!QT5qz%B2)>ZV z@MvoLGlA#or|{xAHa~^WHhokKw)B+4~`ZA5>=o zKP*q-H`JfO1NC$GRGk7olb7)1XY76#@S*xO{DL}5_$7G*zpVZm9;@HM&mFV%Y~UB< z-lwKE{V`X&6l zI&=6%c?CcB+qRx1JW{`b_p}cycwgSaFPGNez{l!)f4}|QGj)3KT<*iq>iG`fsrn&& zqs|cC)BZ&8gGkFR>sQsV8OZ9X3HGK~$;5XzY+<(aT*}uQT7wXsW zK;ILV@KD~scmK3K-!;5Zzk?rDX9GVj_dc_I9tJ;U{XTrHegL28d%^%-$V2$a$J+jk z;NDm1`#=1WI%D`1c><3gVf`t*uYLya^mBFw_w@5Cho95;&pA9)zk=^qX8}Jbui?RK zZU0yBk@_usqRtvVm3Q#dzhM2|KWsnuM13E=_jx)G@cr@t-n`A`hw!QT5qzx92tJX= z@aA3CpTKkVQ}`Kmrtov}3_g3O^$Yl1{Sw}&Gl#eG3f_F!`b&7NegogFpYJR9UU>_@ z`CjX9;4AgLYunF#sP73q_(<-<<3slO8o)dCL-+}GhVWDJ2;M%)`eS(StM&aKUa2#I z*YXrT(f6MjJWxM}UstDq-;|f|Hn#OI;6wFm_+X;*03XU5csaKI8Xl|P!H=o4fuE3j z|G0e~(l^?A`tXVR0lZXa0I%dBJo;JdkKmd5G5o4JWB7G>0?&WY_Gbz&)X(7k7ub4c z@PRys`-RQV;g$Lo{D?XW_%V46kABG3zk)B-Z{fK*Yj`Q|;Pu4%z0Ynx_f~x$ep#J9 z{Hi>FpM9n6&k(**KZ39IJ#7Tv$YZ#F&iWJj*Xa8{eBW`KpTZBwGkE!On=jx4^-Fl7 z&K#b~D|q~qw*O0bq<#ZGtIi63Uf#mjpRo0B;A8c@f7*WTD|LGCwcLkCFSGRz;Hml{ ze9wz*Jwy0Dc?4fxwfQl8rhWpC)tSH(c?$1dYwMrEOZ9X3X>|(tS$PRh{@K>QfG^aq z;Y)Rv@RhuQANvXGui=gQ9emeIY<>gZBlp(Z=OKBc?N1-RRzHA8>I~qqJcO4Yvi=C} z_4NH8eo~z={IooQw+rh};eGWp_(Gi-d@0Z2>$&yk@KF5BCRT1Nh!QxBd`5RX>8y)fvGT@)#c6&Gu&k z&(%-i*VLK9Z^$$F^>4C%0iUa1!h_W2=kQQo!58ItAxBeL3yS={u!~Gw%`3XFbr}PKf z{EV)C4nM3;0Y54);k|FQ{sKN!zlP7$S;7l>1MePe{WUyRzk^>=X9K??_x@%3JREqHT>XrSbqgys^7vpb=Gk2rPk@-<3r}X>)X%0Ro{p2SEmm@C=cK# zo?!hUe4~B@pQtl}PvtQ@f0FelaQ_ba{trK=&J=z@p24HT)-T`#^-FlG&K%y!EBceI zzl2BXH}JhDY<>mbFK^-HQ*3?%AFJ>HA-wzn>yO~x9rgVmep8(>e7AlN zCxIXRLF-T9ef2Z=P@NfkB+udP-1>8PsD1@Mq0Rz+N?ybB-?e@N_djaC@3(?C`u)0= zuHVn>;Qdz|-}&z}H}FWm=jnZ6`#iYc*Ye@RA3V0x>BAHK9)19Koe-Wq$2voJ{v!K* zwg~PzF+6$c19sLkhI{(G+yw4ADSZ7L+n*^s(0Ves>*Vn24o})yPXUkg-xri{*Qwyk zmwxL`X94&1`=T}6bsBi8eO|$XpSOK(;jYuc<9F!%z?;`t$Lnt6{J_J%e1e@Hc=QtM z1aP;W5S}lsGlU2F?`0ym>%{O*zsESH>-Uxuxa*|wzV2%ZkAKSUD}%dE4v%zS1-#V$ zlyKLn;FUW+@Ib#WTEktZfluA}frt8i^%m|r9ek?wY~YF3=X3=he7|`Mzjn`O?98v>rz>0k20qbsy&K!-;h6e8 zcp>-UtMgCaxo#hRM%Nv{GhH`?@6r7Z;UjqjKl%W>-x2(*t~-Vox^4nLrTzrIkf-o; zk6m{PKd0-?;FYeM!_STFITrAhyo4X@*>&ge^SbT=zSMPV_yP5o@QJ*EPrqc(cLl$o z>#pIguG_(f$E>q~kL2FJZ=b_P-iL4058x*>KY*W-hw$Jfww@8(|2qBo8ouj@J+Co* zk34|~kG1(Je4u^?pFP9oXYfLv!>b3_{2U&sU%?Nnvw$C!*YE>(xBdz~R=a5{` zyn~mww|?(Gwx4^dz7N0hber$PugL>=_n-FO8^UMmNAN;YV+^{sdmCpTdu- zGld_QXYl2xtY5$v>X-09ojE*|SMdIat-pjf>NoIfPt$pT-;lTP=#up}@U{Bh|Jr`; zb9H*~h1`dqyJ-CZ+`E%~ena?~qqhDbd?}CM{zvtGfS=WM$MC+co51&}KY@?sDg59E z?YdL=8C`b<4|Uxfe&Gk~ehc_oUc%$QuKrgt6#xy=;!7FzDxZYzEAxX ze5HO1U#P!^FXbIP{xe&D??1QCNvFOKKdDY1ep(*DPcE!Kg!g=VUq$dpoe?~i$MB1P zYW)d3P(Ota{@CWH@H0=f_eKWK)Gy#e^-K6Z_2+O;>#yL4)L+75^&5Dg{tA9m>u=#b z^*8W|`renepZi|*d+?3=KK%0AZ9fO_O#KkvSAPh3$58$o(A^e#7Be;KO{dolLsXvBaRX>3b)SuGT&)_%RpJ(AK^>g_33%37r zc%*&>-?%@w!mp@b!z=Yy@Ui+W{D%AUDZEj?gP%~pcXRu>r|SFgPW?XovibphsQwT> zQ$K=VSAPUwsvpB|{)z4X1YWA2!q@6g;g{6U;I;Y%e4%~`zoz~iUaMchPpQ9zH|jU= zR{a(HqWUd-r2YoJR^R*b_H)0geh_+0%4zE}MV4aXPt_0Lm((A?OZ7weIrT^IT>Thct3QUHRX>4G)StrV>Syqa>d)YX z`Z;{R`Xzks{+=A(ozvfw!~Neiui*=ImhkM&Hs8Qqr-fJQtl{xntkc0=$NTT?^N_34 zgLnVaIzHTW0(ha$03QCKbwar7MDS9b5jXhXa7Glx7)Sz z&m~@{P7m&X$T~jUbpm)_odLZ0pmjpH>qPK@IwN@b0qewY*Gb^5J3sJ1&pm~^P6qGX z`GH4TPY!pT5+3Qk=J584-B$&7of__|vxKL*uLkZqExf1B8Xjvs9o%)iuh>36jrOMp zPxRb{Hu<2pa^qqd!ofCNVt?Qlj#PH}r<_SDgX9BMtZ1X965SnN3 zsX8-wqD~HXof4j^Gl%C|e+74)8a`2H3GdWt;I7lc3w74;=pnWb9lU&~xp%wmb23w> z2d~xf;jS})d*7r#2f+tV`u?5gK7L>7H>P+A#J;!wUc$#uwEhAMCzbW*@LK%}-qU$o z!29wV9{i;BSMZhkE&Px=Yxog)2T%UQ`rcPms(;B$3G@Z>2rAH!WIfiKjVz-x675y2u&K5p;nt2Cbsk4FCW1IKBdi(sijt^g|(}xF7wN3zcoeNj+58F~tKY&;sI!Kjl6UZ%@3DUGYqrnBM13DVRHqLg$piR_cUyl5&(x3L zH-FRSNATV1$MC~{Zu1j(p?(Ul)t|x}c?M7Z!1@KeQon?sQfCf7Bd_4ScUXT3U#j20 zN9wHLV|fd|_;%}W;H~;zZ~M9LR;LHwEBE0CE?9p6->4tL8-0$3@KzqdcfZy8V|aHj z`}`*Ga%}Sx_+Ir>c=~LcpTT>9^>g@H^$U2eehELI{sJDTU&9Oam+;f-H}K7~Z2fEa zQ2h>mM*R(ZroMOk?elO^{XRTaKY-`z58$WN58;{mBltx97=Bv)F+5X0fge(T3eVKf z;4}4S@RRE2@Sgf}c%gm;Kc)TxK2^VlU;aURzAJd8ehbgkU&BwR-@$YBdw1A=?o0K3 z_(}Eq@KpT(enkBtyj4GfPt_m6kEQUSO0`A}2-VY@_ zReugYrhWx4)nCE~>NoJ?>aXC5`YrsJ`WtwpzIVs%=RQ%t2S2L54L>6-{R#Yt`YF6pe+HkapTm!;U%+GaOZW-(7w}U38a`Hk2|uiU z10SlthA-6b;78Qoz(?wPySLB7&F{DU@53AQ19+_d0DegQ5MHZ4g0Iz&;fK{9!z1+* z_$l?LaPL0){tq9iKZ74sKZlRhpTqm=SMWpXFW^J(`jK@I;+8+&gXa9o%(1fBT%I>h$2r&soQZ zyG{U~sxyH5XRH&#%iKJI*XoSmf#zel>rCKoIZQ!IZok693l%@Rd4ic%x1ScOCD}+vjAdP7mI_-mdGzT_=FI z>I~rNuUjXCH}Vm@)&9ru8>8p!Jl`>VBTwKrNM(!u>bfIx~18&*6P_3V2;w zr-Zvs1^3li(0|K1HQaR?cu$=bJXWWLyG{q+=s9lSsqV}B`t9@MIzD`$_4MJH))T;8 zX9%C)-`?91{OXU{c^JX36y`Df)Zdv;;4Af0`1r*(KZPHaXYgI0wD|&_Jy1V);JfBO zWIuP{NB+RPf~QY3U%;>Zka-OseZTn+rmdLv(6fR+y?|+8*0Dj~9%tQFOBj!VR`)lSAJb%6U z2!2)j5W`PC&F07OJx?)D;Aeiod;-7xRPz+>r{+`mo@3@2{CI3WgGbLX&*6KuZw36& z_u703KcoAa!|UhUdtM!y{*Qwx%ItzGt)z(wPU8jLh)mg!P-B$~DoejKvsLshRg6!?SOAQln;*ij$|LyoH`x3b-m0I#8+9h| zl{|$X`>gddc&GRF3?AR*)}7B|4j+7@c?sXBGlzS3w)qO~IyKz;JN@@raQ_>u)4*M) zh4<81!((+ixa)X#+de10Iz4#YxApjN*9qW#bq4TQ`xC-lCxQp+jNpy#D~7vHLRV)3 zuk_qgxa(x_P@NgP+++Kb!(FF@57n8&D_`da?m9I*QfCSG?yBs>s-J~eeP#Wk>Wt}oZ9aj!&J>W7wkOuCH&fT^9FuyWxj%+c(-{A zKP6woXRm$X&UHKZY0Yoo=Rarj-aWR@RremdZV!G&9Up#H-iIHR2k=Bbgm>D{2)^rc zww@8(|5x)EUZ1u58pBUsw)q5pOzWAz-F~L<@-MA3g}eRC;BG%>@Pn7Elf&J97Vv8y zxA_u2`CYr;1-$npd#~2;@#n3xgrEO{c>_QCC)QuV<1gEM3qP*?T*KXdcJSW&th0f; z{q*j68|M@Lf6ph}`=Isv@Y!e019#)_(1&uyih-cA5doqAIl^7)%V)^$M8!11Rkn0fgh2l@Lc^Fe5rm8->*&q zkL4x&kopUFt9}h1sI!D0mN)RDcd+xnhHupG;QQ3sz(;Z~*gg+?zt;LbeEezqdxkzd zAKtq2b2EVd-|t26fjUEYtnUvI+;w7jtj-u7Jkr*az+ESWd+JQ#^|xCmgS$=+AE{Ho zo5xwFgu6}!@2j(bXZpTZ!(FF=2kNZg(PL~qE!=fF_(tFNHt_gS*75GWeSTcWhx=Mj zAD$ktP5^hE5Wd!WhVbe;tP{aqCx%B_&lq0m`*{L)os_Q56yCY-)o|Cz;h{POJkU8T z;jUA`C+aNV<#*ct)Nt2n;6rs*@Kooyg}Y7%@7(!;N0H9YeQx9Yz=y5gKk)XubbjFB zDf1ybIc(qSBDiqM({lY^BCT~)_e^2|4ZLb;Hj>g!mr)lI#c+e-R2qGd$@T4 zpQ&HM&)>o3=kODEG_T+XbiXyc(Ecys(W`Br8@Sv57M`fHhL^9kP6u}#@0+*J$w-|Z zJbb)$e7ep<0MFDJz@wkHP6&7FiQut1BY5x{>%?%^N#HYeCh%IF6z)11JXdE1_fOk; za=7c1@Uc2`c>B}Vso<_t!>8&j;nl0G)4*M44UeB}pWhDNy~ob;27W{C?b|*--X)v& z;jPx$hX-%9bq4V456wfk_xJX`8p4A=wfP8M$YXd${KlP*@4U~~@O^hS@8E0Sym#O2 zbFxw2hj;4t;RnvV9}@$R>M9wK#maQ~gw@!_r$ zz(aKg@Kl`;?m7{Cq|OK)|Ann5hWqa^PvEgS6MAj)Dcp53_*k78ym_y6a=7c1@I;+C zyn2^)D!A*^@QFH0c=K-SG;r5x;i)=nc%V)Pcb(q-x6jY=Y4&;d;rZiVyz{>5!$(gr z58%7yLwKux1V63*2p+2w!yC;{;2ZT*_)POt_+j-k_!-UT@TvB>fHykNB|N;O^8nA( zSq+3QGlh?zX`hP>KKkrSc0Ly~_)MO|56eqZ#?KncJ6lrPakaVJz)Es9FX_nwfX_PQ-1(Ip-u?j zXnq7wo@MKg;qh;zJL@0Ar+;joz@zhaUsL#0{S3bEP1c#gcV95i;o;DH4$sxE;Fo{X z<`?h-e`a38ho7|dui$g_TXY?jF08YHA9<^J3*Yq3H}IkQ-nVQ&_x-*-!u2&gUh!5 z0X$YegnMtW&JbSzk$D8a@_6$xe4>5=zoPyGe&T;xCxu^pf%y!csh`8=Z?yRWezr0% z;l&5c7j*S&_{p<2zl2}c`Dx&nuG;(>Ua8-~FP*db4Ltl4b8r9ldD#07d%k`6QvCp4 z{El@7@bSVtgjdfnAHiGoWBBp6*!&oN>22l-{N}B;{waK;eg=`PIRf@3iaozIFS#N9z0Vy?Vd( z;V1vpIstrjd-EZDtbRoQMtk3m;71Oa$MAj6Ifj4)x&I*3)k>)MD7g&D-U#RarX#2Tey}xyO z@KcX7_uI@%@ul{C5587Ef#=_1oeBJAWS+t=e!}`Q zxc40U{O0h{-K|r=uYbFF2|xT^>o4Ga^=tU4Z?eu3UOe2qfzSWY`fGToeg{8xU+Zk( z(RZ4A58gfxtHSzy_(=T#UhlQe0Dfj<9>NE&vi=C3s2{`o53tS{9zNPUfnR>1^{4Qu z`WgJ@J*+c>$4@ZN;nDY5e-6*pui%&WTW0~EKgzs@A9|$qSMa&|Eqr({>#X66$C`KW zGO&Ix+Ghwzp95xl&gbw=<*4>phC%kF>J`ybw^pTetq zTW1QNh2|N&ylVXd-uoea|A!xWpmpZ(%MUTH;Md-7{Utn5zky%Bk9AgX|6%4W{MsK| ze*+(??>%Jux%VDqogO?Gn)~qhtn~wUtG~w>z>`ng-(!UE@RQ~dyisQaufFD=cb;JS)1$UhqzEWoikJM@4uG7MM zpRs>WT*H0e_NRlVa_^zr=cm(pdT{T~*74!46Tp3~X8^Bs-4O0N5xlR?2wvYw=LhaO z6L_r8OA0^oyqE2q!znzMXYjGSfKS}}1RiUC4nHHW;Dx+~2ik`vy!{5-hXy|Vdh-?@ zx^n`L?rHNKd~*+T?_t~LWS~wDo~h%*U1tDaYTrV5_xT^&c`ifv4S57#eA(t>_)zN{ z!}ELDeI@YV-sUMhQfCV9)XCtklfz?m3V3}VyKV`OooAOIxBed zKl9yM0)}moKz^ zXyFI{$gaDFU%$n?gEy}??>&6`JZ#kW;pg9L^L_Z$510q=o4;p1g!?bD^+)hoZSx~| z{kP^ZeDWsq1fFT1C-Ckew$CZN2+e2k=?iR~IsDkW?79W~%ty^j_~y;#3;0O=8ov9j zHot_QdgyfLoHuaqEjGV~w|b5p{Dz*(2ELJd-?n`ojvcn^_TiQK0lfbQww?ie@)7e8 zp8vY}2p(#GV)*GlwfQl8_t4gvzz_Vc%}?QDox==%;|m=~ks56B}kGA;??m7iL`Vo7MCH&I2ynN?# zJ%=yl72Mx%^Go-XT- zf5O~{UzPXa*W?5ETKf>fqr2I9hVTpbF^}LkK4t3}!MiV;$MB@Nx4D9(<*(X9myjVxGeXKV_W)p2$o38JnNO58h&4!Bee&0dM6s z{O~VXX9+*6bJf5PeaYrm@KZV`Ej-YAX|SK0S)_)?z2_kY~x zGx+RlUi=mRUuXueF53Gxhx_j~FX5#+b9kgq1$UhqzEEcgPyg1g+rZcIHGHXk>)`!c zU%j($8~9$i_o(gjc5-%VXWoZ5T4x`g{j04rfT#av9>Q1Z4B_<`Z9am#&KN#k>YTuL zeb3MAtbYQ} z<1g4gcW}4Q-nVa`2d`(JmmWO6)4$j`ftS8{0N-dm19&j_AUeOK#vkKR5%uH(a(T2CMD)<1x+G#|pVyV!MyaChAiJW(fxm-n&G z816a~c%V)SPw#1+DP8Aq2CuZAIo$0-37_b?b9iuHyKV({>#yM>b(U~n@3#i-IxT#u z^{?UH!)!er+;zOiY@d@x>*>L>PyGAN`=k$_>AC?t3GKQAxV!EUUZ@knBYo~-_*C;_ zc%b%BdNyUq;0P$!3{`n(r(y|3o*Qk@F!>3J>SZaqtQu1*7Q4%qWr!Chw!pX>A0 z!IOJgX9IVgUbKCFN_BjAq@Qbjxa$nyjXEJb)%TnsUHd$Ox7weW{#|xoV|epK^9g*d zP72Q+Z}U^Q>&)PtIyu~boOKGg>&)RBbt-tJ&I0Z_OSpFj`##yglaZ}w1$Uh_yr)hF zkF?Jlxa;)3WBdI0>iF>ZkgcZ=cbx&euTBWBpJ1IK+;v9qK%JQWoz@w{U1thUKV*OI z$l#mSzUR;2y}vil;oY~sX6NVl96nROf*(+40Y4h`ab-;I(_&>c>rI3()vSqqkaTmt22UcED@0@I435 zReu1VsUO1EnjgVu>c{ZD=Ev|;>L>8?nxDc;^)vV$&ClSO`Z+w+{2abezk>UkU%*eQ zU&9Y*zJU+*b8rQBf394^L(O;a^sxQh+`#KtKi|J=`#g+W``iWavrpH10DfK`!uLJH z=11_E`Z0X0&KO?E6Zlbi3Lj}7rf|1!GkB!=9G*PG_NRcCPcvV@gU{H$)$ntL?ZXnj zk~i=@zi#tuc&vU0Pt@7KOS$*>?dN+;?!(90hd$ix+W;PGK7=RFwEY>vTlp9sT+@3V ze)W%SA13g!cMMC+Wv-F+4CMDry)dzRhT9PT~ad?!IR5x#n|tn%epccqd=LqtDrW)$p6YVe4PQ55CE~fqU{6UTd9exVx_ne4%;o ziQCUTda2!44?Z}d=Lq+|VD}Zm^U~Hogg5dCenuX{8?AE;clR}cFEyXS^Qo@7>Y<9&ZJA`?iLAn(yG@Yixfu@Rhv(-P`9O`48K- z0A4@M_F(|`o^Bq(FKIr42U_O{?(S<0?`uARH@{@}HG$9MGkCbM`^w=5f6vxmz)#9c zcqFgjq1L&8yZc(g2byo-{_E|&R`Bk1<{NnPpLSo~;qB+xd$-+J4}MVY!!!8+?tRJn zA^g(2tUrYBQYV5hH6Ozx?ZX)E_H6a@57t-+4}qN`TNa>@batez9RVK z6}J8nd@hgS$K?rpp>a;I z-MN~=*P74Z;pgpK&EWakynuVV?axys++DYVZ*<)Syt-!n8t$&UqJN#8=N5kRdB3>x z^I{F3{;+umKPc~g-}ZT!tM9`%>i6L%)d}F9JcRePZ$r4-w-Maed<^$G+qW@%EuX^U zuh)A3zUSV*WPg5#ACc$qzPyAFw9Yx)-PZyhXugJL|7Q2Kgx5FB*YIGE-B$;%9%=Wr zfp>E6soT%}g4~B^T4x`g{D-Y4fG^}jc>RsG&Io?+1-8x+{NhW@WB7jg1in%~g%8!A z!WZgf@b1NS-GZ)u2|u9z9DYIlimv_=-n)zKPXiCtU%@N&TliG{4LnfaJF@-U_p9H7 zpI6_9A5?z;AF3b12kH;ubM+&*r~ViotDnI4sXu|AQ$K}YI&RN*2A`;(!vpmTc&UB~ zpQ*oqXX@ARz3MOFXVq`uht*%h3-vpAU;PcdP~Usn_IdEt@53wg1Na{G2kW|^M`U$*He+qBa&)~b&pTSS7pTm!;KZkGBui!oP7x0<-H9Sy%1^4f2 z?}rw?OZ_$cl=>a~+6!&}dr#kf?gRCGxTk&}o~a+e=jspPk@^w*=0xWKep3Ayeq8+t ze5`&7->5%@Pu0)hq51_pRlkJaP=5|Tp?(Fwq5WLKXX-cbPW=@;RlkKV)Zf5M^}T0o zKlkhE_u$9X_u(hiAHWythw!!fL-<7f2p*{)!&`k18NzFN5Jbnvx08+fGkc;oH! z<2uC;Zu|17zifYh^(^>4y~p4eZn60_yjq!e@Uveu-@u!Xn|sgRzHWELyazwjnfvhY zZ_WGgRO=kTSGund-qZSra9`_;;O@RgaCcuZ+}+n0?(QpryZf5J-F;2ro$f1xAJu)$ z;HmB_hr9bK;O@RkxVx`8+}&3NclWh`yZc(gd-v7%ZTO{6*>hjPd;etK!sE}Gui>L> z<{kXpC(SqTvpR2HvVCrk%X{##&T}8$*L?->?$dVN0X(?XJcPUZ8p7RuMR0dtBe=V- z81C+C40rc6frq-U6u$Q}w*D!6_%G%e+}+mP+F@y{wbLT_=Z!>J;!+_f^7Or-F~w zS-?}Rr-r*u1CP~N!6S8Axa)NAnK~PIr+xN*X#4!Qjt?)@>BB>Je&DVX!XtHt@Jja; z!CfbY57ZgMYj=L=I?pM5uFe#mtCPXqdUANGP67ASDdDbD!E<#M@KWcnhPzG!&(vAL zBXwH1>vZs;IvaSW=jA>3|9yV?@b-T8b3B00|JvSH19&G7;l+n+eh9zvVe<$+kdNTg z%Qhdwcj>)4hOa(p^9lTtI#c*Y_nX0QYJLVktozF0XFqP&E#UjEn3wQe{W*Mci_I_K z!Ts&I)bPFWuh`Eu_|5M#Z{U;9T7LyU_4np2{DgcBkB8RZz=v9=cMRuEogRFs_4x3^ zH*Gxwc&vU1zo`BYeoXxce(ho)NGLHd12`orw!dkY^t$h?D3)!D$i zhuggOyzO)4IzBvBr%%^<0=Vmh@JgK_Ja~kyCxW|94DYKmhL;DdlfYdkg$L?P;rTvZr?oelk=wjS??Z{z&H z7wYuko;yEqx1JE5sxyT9x~~ZCIx&2#&KO=jO6LdeI_dwFWJ zo#ztnIu(4P&H^4hQs)QmIt@HhX9bUS4qLeEbnu=!8+hu@&+~8N{J@9m^x^5Z*?k3Y zx1JC_S7!)swa*dUbz*p-&KREQ942trN#Qefrf^^PmBC#nhiB>(@Kn#egu6}!uhm(= z^Mg7+@Ic(>8Gb0p{Lh`}{-$^WJT^4|knD++BA7U%Br~ z@ZAqPv-7=i2tO>3;J!SDH`=!`Jb$e1TLSM#<|({-u^3}ySLzgW zU3U&o)vw^~V{G3R@ZhoLHT;_98~DndH+c6Loj17Kw+`N_vw=t2fA0m`=goC|_*$Jl zJpB$^PXKQoXCA^kb%yYGYV#31e7SiH?+)1W9mDH~nJ4h>q2`m@@D%PkQ@FeC44$c< z!w0`*&%J=}mzQw=cWl0bZ?tah$5!E3Fg2T_=S5-)_%$2#+3R9>LQ`nvZV7W4P;#;qJN20sKf0u;sdb@cG zUuwRCkKB2Km#@-!d(rlJi(hT-)7^Q4M>Cx_c<^)PAv}D%?dK5Q9WsyLfqZlu9>ZN{ z40qR^z^ljEbyIkKw_n}a|0(>EJcEb#u=xTWKhgRn{OV(Deh$Abui&dE+WZneQNMxr zA8Yd~_(0ymbNL3IsqY=%J|{;s--92M`|$m5u=Nb!h58{p`WKrY!ee;^Kl%lmAHys4 z6ZlDWCh*hp6yDwC*LKds48Bx9hcDDA;7fT4Z|-IN1-w-XXQlkEHl@Z;(X;3wrFeEdS|kKhCKWB6R1F?=CU;Fo^X z`crtMeg-dmo1eiCXrFUIefZveU@Ds1J{tBL|-@*^w+2+^q>OyT|+>tt}($>E7Q1-yErbxOGFRPbD#1-yKnb!xclH1JHF6+G2Gw{X|#;FUTX zc>8)=kM|?n=f`z?_*|Vny!>VB1aQ|0;i)=9c&6tb!CfbY*XoSn?XTH-61eN6@Tode zc&F!;!CfbZ7wQ!7@YiiUCERr?_)?t(y!jRD)Nt2n;45`j@LcO@;jYuc7wT-_$#2+t zy!8Kle){lI@1+2K_4dWi&+!5Lx;%upUt#kReDHAl^WX^Xzsc4a(|^-Ep{p~2*Sg;n z?yHl*19fKbT=O~HbxL?oojJVJeN}MRso~L+?dSdy9vn7r;PH2xuWrLzxa+Lp?z$WJ zTIa$0(e3kd=Bf64d+_4_&~?YrljQfj|0^<~xr=h`rMVj_vZVPfx447mE~&$W#)`s7 z8WSl@qQkl=jHDwgsmP$^4k=8eBTEWHICF-oJDDc~0k_obTg&_F13$)VsUC-ETm#_VDbNtrL9r;aqtqgiq8N!uwZPCxUxt4Da-O z6Zow++4Gvf?~$kQ(HUDmgYSKQ;E_6W_)1>D&&!wa@T+Y;EBGy1zk*+p*YJ^iLs!3r z54C;^ujCy({zyBY9-jL=!0TVvJbcgLJS49%58H43D*+1n!*_ zzEo!lZ{KA5$>83};gvdbc<^i1Dd65I;VX5P@aB!yso>tJ;R|)v@b)*Y)4;vc!sqI2 z;eBJB4(^>EUZ}H&mpY%|!jbub*Xj)61WLoc=@&FlOvwO zGj*nPU3UhL)X(AT#$Jze_+DPXugObzqjOurYn@L8_j9Y^YjxJ}Oq~Yqoh>|`+Ie>H zZfEzqgGYa__a*oPS|5Dx;rwj0&jCDmr_DnM-~EH;2i~ePf|u&VaPK7WPMrxne79XU zg-5-42H&YOgLhh=!@X0$dvzA@>Roo-67HP}zEx)h&;HRmHQYN5e6P+1Ug~^WxOX~u z_&N4-$_}3Vi|wa}m-65lhw~GtGk|wDtP{e$GlKU|vN@08i?{sr$@iIK_#GSb1YSPk zr6=nr@aXNfK83IU&3pzQe3R`bhhNZj=kVy1UAKTY_gjAnkJPW=7j?fYc&h8x@ZhC( z-8KAyciVLv`1W_rxA3v{)4>bvX9rKTpB{cnK6vKgoTTc9@VnF>!YArP@Qu#{e5QT^ zpKJXDen$Nieo5;yc%nITKY>_S3?>)4_-8?BLaVY(G8RJHh;LPA2LM;Gy;t!o3s0$LfsW@ds=_G2A-|e4)++ zUVr*OoV?GZ@cqNhGkC7f3|g)pso~yf;FUTX zc>WpIY2n`K;H5e{cp6)$hkGY@*5UjV>I~r7XIUqNdnbY~)fvH)&$Uhr_f7(zsxyH{ zK0k2pWbm0fGkE>)HqSZSI|Y2M&H`Th{J_1lf(K8w&&L`*ZGYzEb+LwD`a|;uKKmW> z4ZOP7yoK-IV!nmvjd=&ZMV%eIc!#au!-u-B;QJ2es#bphzbX&m>+9AZ!RPA7@GJjr z>&Ni?VLy9vo(VkpV)F@n^I_&G{I)MNpTSG*Cx;i>&m2C}ehT=-&#?XizBp}O!mCG^ zuiz`6D|n^-tl@WRKMlMYS$_lf{j_l3&ko*bKRtZ*q1NBSt2@ktXCKZ__lf31_*VT0 zJ{Z{g5&YES&0~1@vE~zauYL-@Tjx22pVxV2@K8R74>EfnDBw%=7w}A-5`I0f{jcDW z`ZfHr&jb9N&jWm^{uVw~zk`?R@8DDQd-yr^2X`Gl_f-85eo6fy{H*#BJW_uQpQ)d~ z7wS*osro7W0j;0G3-xpOMXjI1?@+&hue82|ul0Gfgr|?Q&)EuICFW~*^UXGg4gCC{ z+FWhm$=l6ac>l34J9)p|!lOU8^&LFd&kK9_R{IIQ|8O26?PmbbE={K81THgE#8T=<4Kf?-cM(odvwT!}e3c^T(T4@XhDiuWzj2 z%~#s`8t$D2zEx)fk5cQjaPREk!ME6a_VC-o>SW&b@QFNl&f)yzA8YFe@Wo@zhw!1U z8^IIxNANT97=DL5fpEW_fG6rK;N^>~ zQ^MnCnpf~#ofW+NDO+E|z0=Uu+0b8TotCcsbnsN29sMV))5Co~L2)=gBXtJwqO?v3 z_f7=Q)EU78opTKLP6D5(GlADXY5Pgx-pSxob!PBvVVxZAodO=Ivw+7xW}TAm^8+8N zvw}xHKXBhq0}s{N!1Eum{j_lJbnu}%J9zY?*6HEi37&U2KQna(@ZRSK?wt`l{5E@k zi{ba4|HYH{w=sP16!Qe$oO=1m`U(6dtxw_p{o4#a(tdJyqy5a`r_?Xt8?7(l3!U2% zUjDS5e+6H>#Jq+t)mg)vrLAw^-f7{5I$L=8V(WBp@AU9eojp9%eu5u3oFDIm@JgK_ zJbS6_CxW-~7`{?x3=g$FfqN%~*Xm5+(a+m{GWyHR=kTfKs(?ptUY*SC0)D5wgg5W8 z^(%O;ehrV+S;Lp|2404*IN8q@zEHn|hwAL$iM)qLr>#GD{^2~V)eqtAo9upv@O#yd z;McW2hOd1d;Dw%J0*~|@Q~1{B0p9$q<^k@VIehl*_P$rZch9i%S-|gjrg;g!`NifH zyw^Tg@amUrpEbOFxp@Qc)Y-s;E4IFcduIoqey4s8f;S)W%O~@;huecw2QC$F@9M)2$&^B5keGloa6w)F|zJ1Knca{@14Wt|M}ojE*wy5Xj#R6~Ysr6L|W1+fM{>d)cR@7A2a z?|Q7A!vbE&OZeHx+4>bcSHFhO)mg(Y${YCNjPhJ#kKr?)2YCK#_8b#7@kNEP4S4VsW_x-QozW)u}_un4z?Gf*e`0j}JM|=cyh!iaNqwF?)#s?egF9ppC9q!h%b(KdBm4+-~S5k`(ML-|IHEK z9P##uZ;yC)#CLGt{~qr9AN+4o&3eETo9ehM!>*shzwFTTyz=kUru$KmO{cE1I@{VnqnzVy#=c=y}3zJhya z4bQ*N?ze%b@3H-F;K3v8ep~ptzq9o_`0|D1N|2ll`r-ydk5Wdnm z4B_$b*f~USKZh7zt22g&I{yUjohf{;^UUD)eV^@r25;p#e14a$U%+j*Ao(^|iT zPvjN+eqDD3Z{%zENY`!P8?E2KughC_@_f6m9lX=I_3(Su*~7Q;;L_ooocRIk58nHG)uA9Qg&$abac>Fx`4DQ#R!Dkn3eGcFF`wTqz zJ-yGstN&xZga$XRH3-?Y3ub*%I9X$L& z^Bz9_A@krz59eyF^BlmV|7+(K!u>oWc=H_VkKm!sAwJ?`cz>6568J#<3EZ!n!gtTL z&J3PwKRNuOp6?u9$_w~SzhKY3gf}|RB|N&%&a;C1dDie&oi#lAed{#vT)u^um+Txm z_$}{v)yel2JNR{Z4`0d$KXy1jEA>P8Q0s^AtvrIClaJwz`U(7It)IZ}m#6SZK7-GG z!py!KE|U4_JQ*Z`7~gSJYp@FRNd}&&W6Mt@o!FV&yIBlR=*W%Xz9TKyb;R{aHh ztbPeE)nCF_>R0fg`fGTqegnUx{sw+U{T6=zbM5?h@R|BOe4+jxUa24a_~AUHueSaW zUZ@|zFRDL+->rTOueAROe5rm4FVvsHm+EKm^XkvxwfY78F7+4iQvDJ>Qhx>Cs9(e9 z>aXFK)NkMqYW)`8so%jbX#EbpP``)QS|9wx;d3ABeSQE>|5cw0@c9kB|HCKhjNqNt z$8hf?@I;*ny#FV=ZVLBK22a(Q!Lxs{P7e1@0iUX~fM?oI3HMF~AE~o~2kO*t?=^%k-}zYc;3p5~CzcQ4WA!8WgX)jqxjHfYhSn$W zna*JXkN27rc=I0f3|^=+g9rbnIe~{CFkir;r-SMma$J?u3n=T^d(I_D)k|1dk}3Z8z5 z`5HcasqM3YPk+y@yMcG|7Jj#U2anb7;b*me55Hd?yy$QqGI)2}_5hXS7MZ2baW{j=r=9(!o9PDuU=+z+rw|X+V;PP=f7ee{M6xG zot6*bjrtM1SAPV*piT_mYyAYi{(0Mf3cvQ3w$Ca2bZ4Hy_kU$Rhqvk%@U{92_*nfC zeog%qe5Za5zpDNkK2g7c7wT`}!7tePbnsgJ9sG>?Jzf35iw~dsQ2h{okNQJ+qJ9J) zs6U3s>L>7(`V;u=>ZkDgw0;I3zTD0yhu7cqx|8>ZIXrl>c>%vBU%-=dwtfi@blnO* z`$k*8g5N2x;b(Q-1|I$o`}L>|ynm$LAK=L+n0N3eayUP!Is*Sl|9HX2@WJQV`Z2uG`UF1I`U!lk^(j2o`YF8D`V2n5U4NbqKKugnIXwMU zdw(n77jL}&euiq|6=_$Jp5Pl2EI^#3oq60;O(cs;bi|icqi}S z)sxmI>jyu5I9Dt6L-=KNhVU!$2%es{{lxHm^Ny42j^R=Fwi8d_iwiby6L=|4;bV2C z@bJxlbJEY?!h_LrO2@XgA64PU*|d;=eApDp~%4O_p3pL&mZ2fy{*=6iVh z2X+p@-G_5{?)|oY0KZcn!u$8y`UqbBqCS7&l{|*m@-e)TC-7E2fp_v0-pi-(;FoNl z89bEF;E_Cs$MOYyeO>bgzxx^2Y~J8EKhwN|UzV@ncgt(|75N%|k9-3k{ju${h2OHX z{cPdUKbUv$8!tEC!EgR|^Bz9`6Z1WMt$hYRb2y)8pKI#}@SDEhJcOrrnGfL))#edA z_%-tp{L~}fbn?7n_}ORK`Y}A5n3rAH%~xwRuS3E3Kcv zr<#Wpo_&m++Y~C8H*PmpaCEVws zg8MwI;64vE+~;8p_jzdGJ`WqX&qE8p{PDK`EqtnT=-~J0`R?I~<{^05;e1}z`T_i$ z<{^YX_+M;4L-<4T2!1ZI^&|Lwnui!Z)ceC2e)oCnB=A#u?h|+-PvOP#WLk{5)4EK2$ z!+jnSxX;4`?(>ks@7H}z;Sb1X@Ji1;ho9DSpTp1Vxfk%;)L+1FmzVH+KGDv32|uIt z75o-G_Z58f`PQl7cc`<5pOZK6wK^NPKlc{y&wUH`=ib5nx$ofq+9I zbAFfZYXH9}AHrKb_Xs}Lb05KHdhRj&zMJj*$ME~*3H+>{`vm@g)~E2RdViS0uY8eR zH-kT@&J6yLJcpnDV(ZM|{@e?=KlcUPpL+@S=e~sdbFbk3+*fda?lt@tpL6)F@(n!L z>gPWA?RxH8_?>$09bM88N%nHGQ z@)UlDp8FJjuhwVqk$&!*!Ou_ZdFAl?)S1KYmlyDxzRWrcxIgz2?$3P*_vc>0{kgB; z{@iQ0Kle45g4gA_ATfc$dCvV{o{(`OF!i$%f z@8FHD+ruxZzlX2o!7m=p=UzU5M?YrQ4dG|xL-<2KYU?BTOzTJROY#_gk9-WjskD9q zFSY*(yw!eE_xb|M)EU9Ye{Sax!>=r?Glt*v0`ml3$|vv(&$sm{Jo*vyDZJD9Wbo{r_WN!#_*|aD zm-0Ehkr(hzzJLc0+I36#P`-qZ+A&*7PT4xh^lcqw1N*YXnH%9rrqA8r2?d?a7NQ+W-a%h&Lg zyn#3J4ZM@L@aUgxpIi7u-obPE4!)50@U?so@8rSiaQ=gTw*3s?BY6l<;d;{OfTlnB1+vgUZ z$~$-|-@!NX9v=Lg_4n|hJox3q`H$rT_*5Rk3;7Vfkw@^s2W&qhcp{JCGx-?4lqc}D zd;;&~DLndj+fN2>!*`$jd^Cf1@*LjF=kVa8tW&_lFE?MnUzV7c@E3lC`4WEjH`(*5j(7`C zE9(cZI=rrThVbk!?B~!3e(v@^KH298-apoS3?HkLz{AAWPv~D{KBeDp`^n((N7?!r z{GvREck%_iQNM&=`daHR;iI$W6+HVo^A)^2XI{gve~tMXeygtAz)yd@t>41ax7qo0 z@SC4u>v!;cZr;Ps{GjujP{?v z6YYNj&o9|^Q+WN8=2Q6gvUvtiwf{Lh+S&OR@N*yeCnv9$1w0sK$J+WeypeC<6Wvz}-^JG1!t2}2ckr<~J^b#^v-NxU@UzVazj8QlnK~hS z_Z7B&2tR#?c?92T{RrO4WBL=VGltKn<_Y|PZ#JL6@A?+=DZJEuW$?{;TR)>e#XN`4 zo@PFWkF>skH{W6Fm++PLQ^Dh>+WHmzwr?}9;qlCT4L_s(H1O)%ZT%LW|GnPd;J5sg zt>3}(mzeM2nL0szI9K=GZR-c{O=UiWFVu9=5u(YP61zP{Q|ytt#y|0i8>X$dycJN!B0Qe zyoUGBHs8QA^;`IjH`@9we0R;fgJ0A79Xx)Mt?%LYYW*I5`qyoJ@Y=(9yCM(aNwGb7 z9~i&*6*Eynr{im@nYjr<#}W;>-U0}*k zzJXtrxA1H7E&N`22ft6ggI|~T@cZR^_yh9bb%%5QpnL$oArIjX$%pV$UvAGOg5M+` z!Ectw@LS|#_^t8;ew%y(KP^w;x67ySGx7|6hkOP%vuzJOnlm+-sf zEBNfO_n*8jYWPF{-Fyu%N9GOu)<>Fe;OmbvZ{c@*u=y6=z3(qh_S3;HyxV*SA3R{* z!|&dj@8R+9nFm)7=lR~>G#|jHZ!izx5B{?G5MI2@d;||)Y4;n$<16N4c=|Ku2|WKP z^9j6sp?M0g7v@uV`#kdu-hZF@3?5!E&*AZRn$O|sQ_Tx_{$%q7yqubs@cOIGm+}JYAH(zanvdcAKbt4;{9Wb~ zc)v4G;rZW~PvQMr%`Jm>ImVEqDq_mj*Q z@com`OZf6z%$M-_Q_U;*@M-2N`1lFtH9Y(V^ELb)U3UXt=p0)3Rh`2Yp6DEQ@XF^C zeoe27J^Zv@7lU6roX_PW?R6KzFK9nQ_&Lpa1mC~h&S3-}yuy48uXWu7eo@z*z%S{# zDg44$T7L>}zsh_D-{`tI{9d0!_<5g0_(QSvm+(&g3VvPv75uXLHT-t1U&DhJ*mWED zo&U>xL%(3&!mmEVd<$RSY`%jJKf>hu?UFt>43M*7F*?@o?T^bwc>`gRL`!kJTB$ zC+fuTYwC>Y>Ll=)zMjBKeVxJcN7*^}Kj)u!>0|!tv$*9`We>OU!r+{uk`gCK6tdo2zb)L0*D{~Ne>{5syrbZ%R$->K8VC)ezG@8EmgR}Wvw_wZI8 zsOS5c$_Ma59>OQL+Bpy5kvxJg_4Npz>+1wQ(0uxR`#u}ZLyGm6zto<~4DKDjj(6_T z`Z?B5C)O$9-tqhJ&P8=9tk2Y0({(-#{KnVVbvN)^&ziUJ2ef_%pR3=)&ws6T_V5ex z;7y0`C*B{zOMkxbE9#8kSLHF>`xE#|{S^LyI#c)!c?S3X9Nws3z$ZHA1$-|r;ScKk zSMaU+HGHkk8orS?aPM#7z4{&e{wLV;-N7G{_wYO9dw41j-h4O@XXOKUCJ*6v%7^d^ z@(6zI>uvud_+45b!%u1b7=BUf6Zq+=^(XL4T0eycpKR}M8T>)5pTTc?qV;q5Wv!pX zm+}IBw|oI#$xHZE`4WCjUcvAC2HWQfey`To@J#2thTo_44g8$WVFSOe^;>wTbMD|b zeUI&P2T$cayn2SM-@}Uw=D}|q&U5^o=0o^g`-$Kew0;C{zRNl>{J~G|PQH&F!?*GT ze)hDjpTL7JG*98HFEyXSo3A#{;InTupTYMxo9FN|A8S5`mmgpW}t{@3iB*YLB~%p3TPH=A$Z+ut&8;q%`y-@+eyt$7EZy}^73AN+>-9=_5! z1kK?bUe-Ab;L&$mX9#b6KH+!kbuoh9toa|q*PmkVZwdUY_A`OsuIG}%i-+5DpTf&i z<}-M!>*nzDy6zl)r>y8%6tjm>ADsCimtnYpV9f(@a<1oe*+I5W9Qkz zud2U=Ur@h;-=g(9c>91|w}+p5yZIh|e`_B6=Ha|0e`G#@Pwp}w!pFL=2!8$PwtfV^ zk(-acWt^#%Nt zd;xFdCH!Xj3O>{RYxo(hU&HT^H}D6w{|$Vh^)1}@zlHn$JGk$E4=-=Cxe9*!@crlN zRXfiCeE53v5PpZ&58>zJ5qu^e!RPWAUdYGrg*<^T2|*v{M;KgZ}9u%IsB}= zfTy4GzTiLpS03>S?tfoK4bRkR;N@pMaMEw#Gp+C7{`ZFTM?ARq@VV#eghxDr``OqzjJt=YpoBDcm&^Q zeSE|d_*U!FBi_K{*V>;CZI5^d@BMy{c=W#y?>Bgi&3}Bv6Zk;uQ@GE01`oA9hx>CW z;CnsC@`zXPbY*|9P<_N3c%=QbN4$f_THhb>;4O#enP`1@#3OjB_3;r;;8U$nk9Y>3 zX?=dg3;0~?%Ok#m$M3bje`pJA8EX9y9?3^Xd<-9JeF~q*Gx$`V z!@aYBS6aV>*YXv7CvV_;c?%yr+Rm+mC-OZ!l@EUR@H{j55WbX;;466yujL7REuX*} z`4qm9XYf{@!_!CEIn3c(tzW=9c?tLR6}8orP>@bE=8KO6YsJM8?o@KT))o_?ZrdiYZ7 z_wY(S_dY(cte+&Mku1T0erX*8;x#G3zYht*%?axAGc3{NMJvTf;l8-@t3Vep~oX>pS@1{kH!de6RI; z_*&-^+;{lgr@v{>C4>i`Z0{#S_&`2_hw>Oclqc{=K7r2~+s_m}()tWO)BWb~SnKET z@P+n#7x1yxm+(Yh!6)(+Je9BE*$3?Xyn*}uw(#Z4ZGN`!@+1D?WNvrxsjl0@v-7q- z_`SpDo@xC6K9djOxjcf;#eYxr2cfhY17K9TR?iT-><@cW0)G5s0)dsGMT;N$Gq$3l3n^+UK{ zFM@k#1aH-e;ocd;y_3MBpSAr@;ND5$-kHL4buzej=5Rl+0)Aij@%DWJ{C;@}AN{qh zU%~wxYxqW;HGC^?;GKL6AM5K5ey`T=;H|ue=i2|E#awA!2yfIG!mrCC_yg+4aG&Qf zJp6r|hXh_~o+t2F>!);mJ%f8Eho|ZkaNl8BzZLVf;@8odr%;B**1>D~!7jW;C@Isv>+&dNAJ1cmr zP7U|Y8t$D29{r`A&j#+D7Ve!bJXfcKduIptP7iO?*~7gP{NdsJduIR-|H|$wgnMTM z_jyR*cfaYaC!cE*c=?1!o_Gph%BS#3K7;%FPY(C%&X4#K?(aV}+&k+d-W>7G5pUss z{#$tdHaq_gKKe6zeml5#dU&bM9`5@H{^-a&z-x6vxbI^K_x(ihR-F;t=V}c1eWvhR z9`P|J^D~9lud}(z;8*1{_*$OB@A#TeJ?YQkH@?cefcu;*j(B;*mq)xh;%m5{e+&2X z*~0yNI=G+D4({jE!~J~ra6g~m`r%yp`3#PDc*KWCJUZf|BOV{|2|UpKr119jHdj;l zxnI@1!TtPaa6kVX?&m*;`}r4eKmP^X&%cDqT(?K7R!7 z)EUFQGll!PWboZi4g!~K5O@M2`oYXkS|ZsGpi zJ9zOK*4e>(eeM76|NfXi_dV9$7w}&9Tf&$6+W+6r**g{1H|nh5zRw!&oi)7w zANIT&xS#(9?$5o22j63zEnTno4jya$4({KF^l;z*9-gWb{ORGm`9214?}YGNogv)6 zUmC%^pTPa|Xae`oqZIC+M^m_e9%XRwmyXiXUsFWzusr?c5bit9PY2LIlR~U0`9M`1>8F& zJb9K~cM12-3hwt)!_Qv+l#_W|!>2DYZ{VY6JmzHm27cukc5W@af42D+p8dG>JGkHP z4&MB_-ER-~_xU~CJAru}{q;MC`|G!W`|EcB_t$R;_j6dn<9qEKD!8Bj3Z7_v z4fpG<;ofQBnK~P|cUri2w(vro4(^>D+&ewIRA*1u*TJ73zCU|s0I$>u;l7_C+&dAx zQD+4AP7L?X7~ZLqz`ZkpdnbkW>P+F@$>83Z!NcFNdCTG6Ssd{Se*Wj|*JoC6|Gci@ z#m?5R;o-Z@8~FN{%s24u%gtMO@Cx%Sy!~bK4&J}gdIWk1`*?yT_P^@aWOzLwJ6>c?54i&3puJ9%~-Mi!U}G!<#QLPvGsd%qQ^vFYO#s zc=R{sQ+RpBJcHk<`I*E0eXxLE)^!)~EAkRvS9aYceEy5(72M}@1^4-^;Xa>hxX)(; z_xaqweLh>b&*v8I^Vz|DK6h}R&mQjcxrh6F2KOJ%v(M)M?(-SKeLjb9pU(*H^Erb1 ze8zB}&oSKRGlBbjPT)SDDct9C2KUd`96r??&fzn80bgrA7x3uKHlHQj=W_}7`K;hR zpDVb}XASrHT*G}n8@SKs2JZ9O!hJrsaG%c(KKNrhhaKGKvxi^&LtDRx`+Np(J)GzI zURyta`+SD*Vq))yL->tvFpucpXFh`ae8zB}&oSKRGlBbjPT{S-U&`ROXbxxa+vGXC z(R|L~;jh}c6>y)=1>EPeg!_Ch;Xa=g+~;!z_xY^hKA&s2&u0Vo`P{&LK3llIe{SJE zpB>!aKX-7S&mLaiX7jU$`+Np}c{tDM<81u^?(d%=+}}TkaG%cz?(;c<`+UZ5pU(;0 ze;!ET-CJ$0rtn^#!8e-E89aTxb#l1R=N#_yS-^ch7jU1?67KW4g!_C}aG%c=+~>1~ z`+Tn9KA#QT=W_%1`E21npIf-kX9xGs_Z{5lvxocV`yTG|8T{4ZJo|hO;69%r+~;!$ z_xX(AKA&TFtncp=_!Z6J1b$VX!aL396rTQy&1VMp`JBOhK6ALw=N#_yS-^ch7jU1? z67KW4g!_C}aG%c=+~>1~`+Tn9KA#QT=W_%1`E23K`|O;zaG%c(?(?~W`+WBB2Ir`0K-Y_W2ybhnmj_ew*fS1ixJ#!?&8xF+6{* z-B$wl`JBLgK2x~Q=M?VqnZbQNXKdMaG%cw+}}S-xXd?L_k#!u$Je zu7>bH^BKW+n$HoueVuh;xXEOz0r&YV;Xa>BxX)(=_xW7GeLicr&*vKM^Vz_CJ~wcG|7_v@{<($we0Ff3&pkZT zd4@(|u@K8Nu9=WRYCxX?(^Bf{r8o2@cg=dpBnDJFT96)CwSm+&P#O$aPNe0?+oG9yKFxZ+&d$ z&KT~U1n$4jJAv2lxBaAWUq6MnTA#uF-vgY%gNLj?hx`5(aNoxg?&na!Gxb+=eO<%7 zvxXPyH1N&e+8k`)-f7{PB4pCNjI{d*vTBOcOA zTR%MF5xjqqtsfon7~Z_p)+g}b<3ID{_a!GsJcU2>3ATQE#54M%ZT;+s=kVZDZGA!4 zzaO}O=ih73w}kuiUBdnOR`5!l72G>D+&gP{t4;&=&IazU>lU6qUvmrh>vr&5>vwQ} zUH5SB?BSIyIG`y5Aap&(hYf;eI|1+|OqN z_w#Atem+~cpHBz(^XcI}&wF@#)#f?)yTiHi^#gdP^&#BX58=JmM{u9>5&iYHpO~(% z$8^2_B=AU`3Ea;mh5LS{@I;*q?)N`~dnboy>dfK(IaR>Dvw+v?lyL7X;ohm}Z?JP- z!M(GF`?)o6e?Qs51AX1Yef@BEIB$NQ5!}}&aG$pcJpK#2uN3azcTM4$*3aPn=P%}P zKhFYQtFwUnzDu}wmheuU3htd1+&eWqyx-1Y4fp5Uz`e797wWWd?{x6yHUHz}{dosJ z|5)=Le));!dwBI|^Wg6f=j3{BK7ikM$vlMjU;p_h`-$K_KO=a%*ZU7V2<^YuF@|?q zpTK?ng#KR5C*1clg~wW-!Tov7;F;Fv@Kj&V;od3WwK@y9@1ul!X9@4sso=h!72G>D zJb9ny8SeXN;NIE53w2t!?`I45P6uz)+0pfN5BJWV{(if!;2no^?)w?Qy%WL{b%t=? zM+EnI8^H^8Vz^&-46n34f&2a^aPOq>R-Gx__mRQ9GowFb=b6KOKXbTu3V5u}0`B`L z;oe!oGj%Gs?`H+~P7N>BS=04(1NY7b-l)^UeLq{ccRF~l&JOPT=;7Yk!=r!G{J-liLxOX~u82qh$9|HHE_j|Z^ z_V84l;K9TB^v(e8oe*BCGlcu=E`ob!1n<;|;l7VC+&c+8ewdxl1n&Du;oh0T3w1KM z?_&n{P7ZI?nZy0L7jS<)F5ta7CETyOgohtw=TO1@&y}y>e%%@#tFwmt`Uak9{RZy) zY~iKWZ{dEu4(`|8!5ejYxL(753)vq^z`*lNj@NhflAzeSeNAO7NM{vJh z4EOzy;fXp4+~<4(_f87W)tSP59~s=wVFs_%$>Dz8IlR&O0`Avaz`aw#J9U3|X8`Zi3F$iLA>2C={X^`WNAQ7OUoqS}V|c7i0{6}Y?wu5#sWXLpCxd%u z1~1jg;oh0Uy;Hy&brx{%lyL7X;k`N)+&e3{cWQVvu;;agd#8bWX9LgFY2n`4!TtNZ z9)9H;zu@Hi|2_PwJm?SS+5h`LLwKRNjo{~Y)*r!hc?@6v!55zFXADoTSto(lzimE& zU;iWX6khzf^{4O~Z@2X`xPRUi@cW-&>lbkUb@&qgfYvYJzP^Gt-)j98ysymHaQ}R7 z;rHpfTex4hgJ0MB9o*OV^z*i#Jv?}YdGL>i^W*b8fJcwA*F^~TpC5;C??muKoe|tS zG2A<2c&1JQ_s#_FofKZEGll!_3uJKresTs6Cw4wL+}F?HvDO!GU%!B-T3^C_{SuyQ zeFgV(SiwuJui<|GYq)nBc%#k+?)zxr-r3T>%+9le`+jzC@AU9koju(55&YAU`G@D~ zgmB-_5bpbl;FUTfxOZZ>cgFBmodoWk3EVp={mbo~r*Q9NaPQ3Eu{t^2J9D^q3V5c@ zg0AOR!o9PEm+Dk--_Hu}of_V#vxa-8fqQ2I@6~DH-r2&v)4`*!u;;add#8tcXAe)+ z3I6$T{&Su40PdX-UaB*MdnbZ>X9RE6iQ(QE!@ZNh!#nJJCUEbhaPLgvsX7_lJ2SX< za(JoE9PXV0?wtj^Ri}h|X9@RC1rNW{&SwSpP7U|Y8lI}tz`e79d#8n$>TKcO>EPbk z!8>(&xbI^R_fBx*aQ@@R+xZOOzK;;@ogutXCxZKZjo{vi;jKDjxbGu@duIZVzRK<^ zh5J6HaPMUBT%8$R?;APXJ9BugP679QEa2WL>8ah<67Kt`;NDrmQ*~TKYVIxXBgTX?HZ2Oq1mgL|ikhhJ^yvxleZ1pjh4|K1tEQ*}bP&+`!Ood{m4GlKg* zV!D1^eGG5aN#MSp3EcOS!o#nz^O?eZ9~s;`GkB&>4li`hbGUa3c%{w)zEr1#duIvn z)T!Y9{=R~Hr-nygYv;3u`_D%W+&de1u1*Ut^uDo$d#8g}>g?d&>EYhl!&`NNe?6Rk z?+oDH3F&9;e1>rEL~!qn;ITR}+&g2qcM^D}&IInA6z-iVyi_NHduImsP7ZI>nZvzP zz`e78_v(~z?=0coso>Gq+4EY#y;H-zvxcYYG;r^1;NEHBg*schUKbtQJ3Dx-P7n9} z?BU)C-g7wrojL=!zurT*cZTrv33kpA+&d$&KT~U1n!*)JbI$-Cxv@w3inP1 zFVvaAy_3VeGlzHT6mah>;NB_W$<*#^3HMF~_s$AlsZ+zfvxa-8p?|&YX9M?63-`_z zo~hHpy|aURr-wJ{?BU)C_J{NDodG=h2D`5i?wujrI}yB4X9V|74EN5M{*AVu1n!*) z+&d{eS7!?MP6qeR4Bn}e!@V=j^@~aPO3G?=0bsIu+bIE4X)Rc>E;W&l>KX z2JW2=yi%uyduI#xP6rRa$@a5@d#8tcXAdvb3Eq1+|K1tEy%WO2C)<98aPLHL?~LH3 zIx*ZkW4Lz`c$nFKCUEbhaPLgvr8*hhJ2SX;JG>_+&fFScPe+UduI>#PVm0N`LER(z`YZ~ zy)%SI=WRa`+&d$eO)Wtl{2i;PJQFel~FLv~cfi;gvca+&eqCcY1g@v;FMh z-U;4+IRD-mzzcOkxOawd??mukoe|tSG2A<2c=j~AuLSO$3EVp=yj5ok_s$HS>F2Tn z?!W)Og!`{Y)o@?GhTry2XHNe8iVfU2C=+&d$9r%nv_&KT~U1fH+#z9w+*q;T&{>94R(2KUYk?wuT7sxyasr+|BB z0gry!_EW;WvxIx6f>-LS;NGd>-dV$=SK59WxOX;i@3inroh{ru9o#!Rcyy2Lr-yrI z5BE;+Z-?_=sxyFlCxm-v2oGOn`-$M*8Nt01!%KC>aPK5=?@Zv~t8G6i+&fdacQSaX z&J6CI9PXVtJp2{gPXYJN0`8p>o~yHjd#8eXX9aK7so~yP!@bkM8a5(?o8NfSrLb!K^aPLI)*Vy@t;NFSh-WkIqbrQIDCUEbh z@I;*{+&dZEJ2QCM+I{74@66%eDd2Huodw)GCEPnpc&bhX_s$CLof@7#VEb9az0<(G zvw`R8v~cfi;oj-sr8+yf|Gj}d+&g>v-`afz|9&|C-WkBX6T)+KhH&phaPN%ZojNhx zJ7c(a5_tA@yRQk{J1N{dQ+TIN2KUYk?wuT-{hjS+4);z0_s#;|sZ+wevxIx6f@eG1 z&kF9H8t$Dnyn6WCPrh$&;6BeAxOZB3qs|uYoeu7u9lX88_S3_?vxj>p2!;>)j~nqn z9~VB-Is>?OLb!K^@Kl`$?wt|bJ2AXeXAJjF0{6}Y-l~(ry)%V-Cxb_yVCOS~dnbqc zzpp!oSCMrJxL&KmBW2A-+2fqQ3r#Cy2^ zI#2LHhx6&z9l*0E*m;I^PY(Ca9PXV0o~W~cd#8kZX9>^Mso>sO!M#(%D|Oaz?=*1lY~ZarE!;a>xOY1G z)XsSa_f8M@&K@4C6FmHI{=GARdnbfv>I~uDiQwKD!Ao^wxOc{I?oeA7KDcn0# zc&|=I|6}`kW(N084v)Uxp4S}i`zhewS-?|uO1O8HaPL&`LY)=dJ2l)pYj~|r1NY7b z?wuCisk4Q9r-OTE2M@o&&bfzsXAk#IaO!aWV|4~_?}Tvg4B@Fd5!^c?xOZZBq0SiY zodoWk3A|P(g?ncT_f7`y)S1D(lf%6;hlk&2&#QoYX94$42~X5n!o5?$y|aSn>eO)W ztl{2i;FUTXxOZB(cee0Woeu7u9o#!T{hXci9`2ps5r^~dodG;nCxm-v2=`6|&(s;g zy%WQ|GlrMyByjIc;ND5$jXG1fcQUwlX7FB}oUYG{Iovx1JbIEnuLa!qQ^LKogs19M zaPO?(-l^e*I%~Lh8n|~h@LHV~?wu{%I~}}JX9xFA5BJU<9(|LYbMV23^Y5Jj+&dvW zQ)dYGP6YSP2wtfZ!@VP+C?N#Wj^!lNhK`DAeK%;4V1;h8#fxOWP;cNXwc zof7VyCEPm|yisQb_f8G>&KlmU)6n&L-@v`o!lTU2c?ftxg2@&Isf~_m%;DZC;DtI1xOYmpcb4#4oeJ)q72G>Dyi;cl_f7-%&ITTyw{vdc-r2&v z)4>yUc5v_XaPRElxjMmz9?rja25|3$@JgK_+&dB6J0p0jP7L?X819{f{uDds3EVp= z+&fcvtWE~^&J6CI9G!BoWi{`g?lH1C+f`L-pS$KnZt8+3b=O`aPO4xN}VO#I~CkJD|o9;4foC( z?wy7{vvc0Sz0<V}I}D3V!3O%xk#+{^t6KH%EMP#M>jjJ>nhQ&wmGxe%#K#hx>Ef!@U#Sgt;xP zGl2V_I|$+48N#!luucT`{fyw=iQ)MRtuuyCbUzcgcT;%$%(Ex+Glgd_Gtb~Yhcmd( zVGj2>oWp$%3%JkW0`7BI!cRTh_PKjWBCd`me=r!d<{>&$NCN2pVtOn>Up(r zpPwzKRw(#dw8Z!@ZpDZ?)w?Qy%W-PUqiTeBDi-(@Ko=UG2HKK4EIg~ zFV&gAeLpGOJ5zY2*J%d#KOZ!MdnboC>dfKZDd65&z&mwHxObLt?^N`kwD*k_+&eYg zJ8O8PP6PMO2JW2}o~W~hd#8hYX9v&J>ES*Or0s*I~m+NGkBp+4)@L+?wtZ&sk4B4 zr-XZF32)S?;QriKaPQRcPMtN}I}O}B8~RV#{IqcIY~kMN;E_5zxOaNEclPi^ogh4% zfA0+7-U;EEIzzhNe@#rC{1xOZl7@8s}Y zojKe)1>8Fec%x1U_s$aToeCZrU@6>Sbtl^nD4ct2$xOZB3tJ)JAEa2WL;qgoDzLs$BRB-RC;DtIh+&gQycN%!B&IazC7Ve$@ zkFGn8eq*oe{2$MDHSVvvQHlob4+f|Zq{09NqZS;oVw5TY3P!0iLV*CiFlvzi6$h*s z*NZz!?;7+fBUFuU-JR9CX5Fe`t!~t=J4(^01!tjRSgRZLu12@4zhmF;SI^1w{6745 zALnyk^O?`Q<};Igb1!Rn^q`$r16R%luAD7A^PC-AIjzs!@4s@|@TKQ;;L7R3l@q}` zKWgXIgDWS7E2j@nJtu)HX8>2u5MFuC2(FwIuADLb$Lzc^xN;_N<>c_8=S<5H1NoCHgL^j3s=q#o_J2{Vf+18 zPB-8&T;B)w;rc!>f$RIg0bJh)4&nMfa0J))fhk8Q6X9fBn@J_(H0gnRS3wR9IzmMOCFa3Qcf$RNe z08blx9~;8;UN?d(Cxs6;mNSMcCxaLM|Bo<%FFj`p*FHIeYh4y_9d8LQzx3A@%NF+6wg!>8^Eyl@}DXYNCI={|zb-BWnwK87#cGx*Yd0$;i3@Y;O}U%MCZ z#(f6gxR>y)`y9S=ui&j4cD)wxw)+y^abLl^?lnAeU&DLu4Lo+=!29l7c;dc;58PYb z{r(T#+whTl2cEij;bZp*p1Jqn6ZaTCKWO(+AHH)Rz_l+8;bmeuBlzIU%~SYo&mY61 zhuioGT>E4J*L&S8;B)x$5q3Q)`1}QS+y&jwYYErBx`Jz8t>M~N*KqBt4P5)`2CjW| z3om*${~dhk`)bS2TmOBb$rsu9HoW8eY6pJ6@82%`pnC*AY(JdAm;TQs{Gk_G&K%zN z_kjxDyxPVu;PXGVvQ+} zsm}{-c>0B#yS?qe_4}eOTsaYZ={Y^Pa$>l0`tYc4^GV>!8Nih@glC>Jf-5J5D`yN} zdQJvc&IGQU9NzgNJFh8RIR#ufGkE4XC0sdkxN<6Z?Kum$a+YxAtl-fX+j-S+<*eb# zY2caXY~ae-!j-dw=P$7Nv<~n0Uw_wV!ZJz8df{;0t)$|9J`D{eV3OSMUcPFt6cSpEX?T z)4;Vp8@SeI3)lMW;98&7|GVF}=u^JY-Ur~F58M1Z@a>QKb02=MSMcT~*7F#y-wXBO z%1PkSY0DYFl{17ZX9Q0@C#C!Ej>d51Wbo2+CUDIshbw0aZ#<`fD`y5*P6>~`(bi`U zS55_2&H|o#&XVryvw|z9hL@hRhHE|zTsa$f<2hTna&~a#v>u6`f0M0G8?KxVTsd8M z>NycyzccK?l@r5D&*{UJlfacTfH$5qgezwRS569#UTW(zhASt7D`x^vJtv1NX9`zN z0WUpg23JlASI!*XcuoaZ&H}ESB|J)PeO7Sg)Ntjj;i=~|aOG^^%Gtt8&)LD1(|Xi? z|CQ5*H=fgh=YGF;;mV2N(Kp-r^x(>g;mYa5Q_o4@${E0wGlZ9(GlDB8g)3(aZ#*Z1 zD`x^%P7aS=X6rMBE2n@fX9iC_r-UnK4p&YEFFj`gSI!cyoE5zBoEom2HC#CjJbJmU z&jzlXEnGP}c4?OOyJ7N;mVoPUup9x;L4f7l~ckq&zZxOQ^A$9fH$7AgezwS zS56HdzRJ#P4OdPBSI!2$^qehRIXk#=T94lEe=@fDwBgF>z?IX5FFhxME2jrnP7F_8 zZS(2Fm6O1gGk`BWX9!o$2(FwIp1j89GlnZCgDYnOUwTdsSI!i!oC2P_*5)&VE2o4j zXAWO_P6b!a02u5We-C5nMSbTsdQS`g%LB46d9BTsb+s z_M9nPIR#ufGkB8Od`h@-=5Xay@XB)*aOJGv9e>ZR;iI{If3k*;-5dD%ciZ?4T>pQF zJ9y8J+j{JNpAUO}8-CQi1D`x#$L+#(+#WpfXYlBqcH9YE$DP76KW+gZd;SbQaWCPksU3F?*Krr{sULR-&_}RSv~-}-R%ErIL$4gx+5_z14PrEv9a3|HSWxaKnncpmU+z>9#-0$v7u9`GvQ zi-0c!z6y99@O8kOfNui64frnLttagFS=Xx_@J_(H0gnRShwJ`N;H}@XeQyA-{?L2~ zzx@XD5&Z1JJcYOZ(R>Wo{g}aZKThE3eU_8M`|eYC&%J=h?lbz6UUv6+RKj&X&f&Tr zEBJ6?^IX73XU&)J$mg?yC$F>dHT=Lao97x{U9|BHyne0u27c3h3*Wf!;9K|B=kND< z=iY|5{Cqp`wtE-eagX3#_Z~cQkKsM{K0J0$;C=T2JaHew2ks;I&^?8xnXP{Y*S}{s zfmi>|p5r-O&)F%w_VEQ=$D6^GQ^L2NGl%PWy?`sfhHHOY2fPXRCg9tE?*iU>;(k9h zpLW1I0q+Jp3V1KzalrclPXay&_%Pt3fTsZ;2RsY-B;a|#rvWblJ_~pm@Oi+ifG+~R z4EQSGb->pFZ{WHgH}LwGZ6Dae^|@~cS5E8be*d?g(}wHwMF*~&F8x<*J`r5!(}OD~ zhDV;$hwF1n0$0ueo_Nj>uAC8EIVn8#oH1PMo57Vcf#;r+!?k}-;mRrCwdc&>%9+Ep z{!6$%H?83M+*HH$xoHj8?}r<>-qSX4eQw&qwGZzC-u{C9-fI0LxX!Bw*LlToomU^O z_s;~b^BTZ)UPHLfYZUM_;A6Nx4`y(^e@@_f|IFc<&otmgz-Iw313nLU74SvCmjPb| zybky};7!0c0pA9E7x31T_Is=KZwI^+@NU4PfcF9(2fQEfB;X@>$M4$|UVhoj?|yC? z!*6`Kc?Q@0JAv!|&EdL#r*Q2{1zh*<46ggPgkOHF&2tWqpKHE=k9-}L@JlbW@hkX& z7n|4cYbVUt@WuC;H}LEi%{OrEV_Ue^VFy3^g_hHL@_ug@pKsoVAAh=e2Y$)Ncj4Q? znY(?6;M&J}aP4C;e0au=+lP1kxCuORAHaL=LwM{yg7@81c;Y^W58N~O(0u|Qx##fI zeF`7D7x2t|2A{Z>@Z5b4zxWJW=L$Z3w)ukYIZJrqzJfpKUc|y-$wenr9BzzCDF&-!98Q6Q}%nS{C2=Q0q+Jp3V1KzalrclPXay&_z2$hbxGl)hrPny zH{jE@c?O@n#P*E|ym+B`4&R(MpTgDK04%Pu=hN%DoM*-8=BLdl%lgNAQh% z559Ge;XC&}{FGmp1g?E}053me&zB)w&zBKgIVrsIoH1PU$l%JEz?Ytr!>cc|>oJ8Z zr+_z}GlT1VO1N_7^bgzmRB%0~R&bqf1J`qE1J`qE3)gdM2iN`HdfI+Jb-%aadQNrV z+PAv_j{@F<>p2y}b-(xFy5AGH<}(QRFyNzrrvV=aJPY_F;CaBO0WShR3wRmudBCfH zF9N;{_$uIaz}Eq90=^0OHsI}J`#snF8^Lvd_29a{Vz}lyof9v!vgw&4eTd!*32;meWv3a;lx4cGHx4R1cravJ#1pKBZVIrlAm z>b`>ypKtlC{(hhJylBJqyy(Cep5KLUeBX%RhkSqQ!M8p>h9A~`4&V9s1m5!b4B#F2 zA^hf(Y#m1Mu8&XQk^30lbI;(h`vl&1&*6#t6h3e-;3uA7^Pj;lKGwX1m;N3yhZmk- z!DsFZcg-HfEt^jQ*Y{2%xbic&_OS_EpNn(2J{M2n+Q$mG_OTgUpNmVl zJ_pSMUIlys*XQCTT>IDxu6?YAYd-6MHv!)Sd>imxz*}Fu-%rh_9q>-Ty8({^-V1mf z@P5FPfDZybf_HsgQh4`)av#7iyAR=dUX0-RU)VmM z!u8x4!4b7UBfT@mE||^ zYyZo91Ha+pxA3bzeg}^~VL7d5?)O~1ZNt^u4!n4hoo^R@*^e8+^S`m<_TX21d<;MJ z*EYTnpZWL%Ub+w9H{6Ht%UjDI!He^DUMW0zjQJSe`5E&Je))ao6Zr7m<~jV{J`7*( z?72|D^<0?2l~ckS&zZyZd#wttoCQ4kdz;S^uJc*Jl~coqp0kGQ`Lcm4zxAyB-s<_% zhU@v#f$RCwh3h_z;JQzHa6MmQxc2jYz>|Ov;Cj9c;kr*paNVaVT=N+Rd;(Vwa`@;Y z*4rt3@^SM5e&hY-Gx+2e%}aRcIdizKO9j_;S-{I*u>2+b+7OXN*nw+*=)(2ybw+g0>A`i}7(Vpz zeYp0M1g@L`JolU-T=O2mm6O6t&l$s&lfjiUfiFELhqwHnr*!|`rhqq|GlOe?E8&{Y z93KCpUEd0>oCRDtOL*=%E4XsjaGmcKuKjig*M8ed_Is=Swhh;P-GS@A?!vX-MsV$K zy@1C7@58mFzl)#nJVKKJ15W0n)c zZ}|E4;my-+d;(wj_yK(VCL2G5tIs32`kca7KF=|H?I4?=kPgb-yHV-7f>Uem^sW>-RGw zxPCvA!f*TUYR2&158FI5xbBw;T=z>3*Y9VhaQ%L!fa~`&Gq`>~Q^NK8nK@j)pQ+&b z{mcTc-_I=J`u)rbuHVnpaQ%K}4cG5y8n}Kxvw`dPGh4WRKeL1D_cN_8-|xA8KhuWm z_cI;1em~QN>-RGeT)&^`!S(x@7_Q&X^x^vbOad>CjqmO=19;o-yCGb^pBcgR`*Y9U0@amu2Jaf2yKQo2v_cH}tzn_`G_4}C;uHVnh>Hhnf3a;PJEa3Y6 z%#!ZEpIN~-AF%zQhBv=$zJ}}fGYwq7pV`3m`*Yk7= zSAGfC`{W$1&qozppN|%BJs+2FJs($aeLkw;dJkU*yb1UQuFpqXxSo$YxSo%#uh{RW z=F<*%C*a+HM*;5zJPvq2;7Py-0Uri@6!0|Qb(DMtnKeyo<_YVBR4IAHu_upwA!IvL2@4>Zi#Bl8! zeYoDM6S&^12XMVt58-;R9>MEhuz99%?Hgmb_Kgg#_v#5;@6|b6@6}Vd-m43^-m7PD zy;qlTy;slSdathFdaqu<^%Dpf*L!sh*L(FEuJ`H&uJ`H%F=Q*L!sY*L!sjuJ`H~9#_`GKK!WnGlA>9dH~mZ^$@Q2>Jj|l z+r9sAy;qOndausldas_q^%F>w>%DqL_xI`&uJ`IWT<_Ht-QTMhaJ^SA z;n9a}-BxhDSJ!a8SFhoEuWsOauin7#_&&Ua>%Dph*L!tqu-|{ZS9jqy&W4PWk`|#qTp88j-tWKW z-G(ct1MfV^)}aemP6Ss@4<36?4A*t(!-&u%Tsb3n={YG}Ib*nTGWgbW zCUE8CaOF(l>65+xaOKS4$|>Qs=gi^Cso=_4z?0bf4_D3#uACZPdCnTHoCdC(4Lo{^ z&1VZ&&JM1e)^qp!pLtFjuADAh_iY5f^e_xtT0{LVr17=G_P2d?ka68QC(Th0J} z=~rKU_qap&z4sirzE4Zx>#gOF;b)hYpTP%>ji10re{7z^YoF&7-uC(V;8-%sVV1KtUEH{emg zdjXFF-Vb;Z@Ik%p3TDrTGSa?vu>7@K$BM zgAabny!AEvJ@5Rz?Hg@){6-t!fgkt>8{dUTpJwAD_}TZE_u%z^GLPZvRUe*TwjL&M zjUT{EA3ubvKO=bK<5RevM-#Z_k;8ZIxAU69n_n}Z!FB#6y#7-gKZkGr%)EjhU70W7 zi`sk%@BXg&3O@MfXYcm8hTp%o@oV_yKQeFN_kYNI1Ap+K;YW zem!!ya;EUk&)fAX;BEis8C*FfJocP9Jo108;L2IRhn};9_x+z&aOKqS%yZW8q5pFO zSI!1rc+M8CeP#z&PV0I5{ck*{4OdPFuADABzGBxaf-9#7S56GiJ*N*>P6AiX0A72} z5U!jtTs_a>dY_!a^*&j^^*%X+>%Y5R!u38mhwFW^g6n;95%6We*KplOTe!}52iN(w zhWq`|`L^LY-ws^o+lA|VBe>4D7w|aX{eUL{9|U|D@G)HbNeFw2Yd&3_#5EZ~!X=K-Gvya@O#;AOxUa6Rv8xYmCS*ZMbbt^WqD_20s^ z{yVtVzx9Iu|NgWC-U)a&;8DPP0gnSdfRFuoKZN%`!`_oe@X|enYyHRcM_Nt>&mL|* zfouJ9xYmCP*ZLRm^qA$(;I}^AyoBF&U%+!;pC!EWnU=GHPuy#`)@KcG9%VTV{CwAZ z1K0X&;aZ;^T{*bRj2Y$!B3qSBLEhmB>bnn3rxySIs?gRKt{e*9P zok#HD!)!h&TOO}bbFbjX z-52l^?o0Sd_Z9q%dksJ9zJ{N2Z{Vlhcks%uZ|l^4KbL+T+wk5YTel8e*S8Bl-m~!$ zJpLT>9$eQqhU@zF;kv#FJbu9P2k>*g4nz2P_YwSpdkVkbeGI?op1~hzhc*Y3s=q#uAJ73_j{gtP8+VAE1zhu=!8QL9uKCa5ntuh?{1wc)#oi-=e2|D zyjowk-v^yn8?N)}z;#|-xXvqr>%4jaj|1KhcoOhIz=r`J1$+$G{hq_M&QrM7xqxe( zXK<}^3D-K$;acYku614ndo_F8fzwfN!SD$a*z_kt=xYl6{*E;OrT8GwX zzn@x%HeBn_fk$t)d3NE~USQsX&$Pe6Z+xYV@57G|%oDiQVE|9R+Qtvzmpx|$*E*zd zt-~0ub;#hSeEt)7UfO(e_~<$2Q+VoLz{l=0c;;ThC+>52?!JKQIlY8m`C6Ojias>2 z;kqtsxcb?^)z1xF*JTUWb=kpnU0Pqi-{LE0$0ueo_Wp?u6c~$%1Pmc=ZxWcKbgQa&jPONK7;GJmvCM8Ib7Ghg6q03 z;JWThxc28YTueci`HGyKvp75nT6a z53c((hHD=lz;(S+xaL2GYyKHr^Pj*q{~WIQPvM$>0oVLz0WSkS4|o;uMZlKc`>FR zGtb~!=L!7&zKze}>!+Ac;acYcu63Tlwaz6xPAq>8ubyOH!58iecrF#uu zxo_awueb2)$8DZF_~cpUt#8`zt=7K{fAHxxz5^e|=3ThfKZ0xhdvL9P43A%F`F(ip z>yW_L?gMz^K7?=FNASs$?YJpi&z&)R_}}fhlfm^n^9fuzIlSP6kgrX98DF4p+_; zUU*IcSI!KsoDyDp&K$0s3a*?5JoEl4A1(}OD~hG(ABhbt$6D`x<&JZA`3&IqoYl>R|GuQ6OX z8C*FNc;Y!ZTsc#?ate6iIWxF&O1N_7@Wyj0xN;V7vh1Z_5gDa=?&HMdVP8%Nmft^$3 zr-18w$QfKYCA{&RIb8Fo;L2IhA7%4d!ZnW-Tsbv7_MA0b>$8Dto~@Vf_x9fBR=B>O z>A>~rHqd>-&B;ERAS1HKA)9q@I)n}BZuz76;;;H@+Jz14cQ1Kx$}{*2(0-M8P}uX^y= zC(L8Gdew)Y{c9Va!0-Go^8sAF8p7495nR1W;r&l};m7~49XEq#e`!8}Puz2O z?mmT2-3xf>K7(I&FX4sz96oce;0yN!eCfV~uiRJg+P#La-PiD2?hRb~^9G(j*7o@= z-S_1kTsf^*?DxF%oHktZ=)jfJh1Z@F!S#Ia!Icxkx1Q67>$x+4Yn~}w_t6-BZ-0j0 z+n?dOk8-%~qbXeXQ32O}G7ESa@Oi+ifG+~R4EQSGb->pFZvwsv_%`6XfVW<`-&?I` zJK&vwcLN>;ych5|;QfFn0Urc>81PZR$8g>M8GUH``2@cB2J;-Q`)CTk@eCVZz^6|$ zpTTt>m2llhbGYuK3ch@SeG5s9+b&)nPa^X?t^)V&M8=pMmK_a6MRdkkN=_u<#v6L{@DfZucz^K7q&XIb6@FDZF@+f9`|d``iatP6@9(XAajq76Gr}x=+_|J?|R0o_8C# z?$a$?_vsF<`?NLQ@9n+)IpAIR%yVP7&Z`gCc_nb2*8r~b8p3s6Be>2hh3mY=0nY+H z33wjxX~2ts&jMZsd>-&B;ERAS1HKA)9q@I)n}BZuz76;;;H_5&dK>Ugz`FsD0^SRF z4A;KVhsRI0{U?FzeR}{`&XDdoBe-%>xN^qu+V`;xuKRidS56L3eLhpT<}-t9ekJ_E zb0>E{x6a{P_X@6kW&zhevxIA(S;4i>)Nt)HYq<8A20r{2oBsxW=eO*6w}l^gz)|K0tP71F*XAIYQP2kEe;M!MbaP6xlT>I)Au6?zFYhPW! zwXZJWdVgEPwZ2=p=D&k${;jk7z0&;KaLvC1*ZjM1%|C)`{=I<50q+Mq3HTu3!+?(h zo(6mz@GRg{_~1TU_X2+GN9?&dgAd$GxUTOUuIpRDb$u6bUEd{K*LMZi^{wHZn>PP7 zJpWe9=C7O~#%E8roDp36KnhpR7+(5(GPpj!PvOcf;rDt7zt=oqhwytn zglnH!2fPXRCg9tE?*iU>-TuC+`LqMx33xZ)QNVivj|1KhcoOhIz=r`J1$+!2z24R< zgI|B*o9=!Nn!p?P9IhTt;p$-lR}W`!^{|AihjX}kSiz&G*!&mprO$r}Puy4VfqM-f zy076Q_XeK2Z{TD1Ej)AI!6)u5zi!&Ea`!fT>fV7D?p^rIJ%X3+J^0)`hF9)=_`*Gb zYo8pzmtSK0?GUbgTm98KC@01ErSG?6xc1cyuK(Wn1l~N;=99xUehQDCW#bFD<~f6x zKE8x&esj2TDtO~L3wZwfkGT6gz$IKcD|qKiZT>a9^+C&7!?g|#JoB6lyzu{jqAh&u z<6GJOey(|U;F?DS*Ln5eX=3LU!?iwrxN;JB;W-1ia)xl_jNnVpN#V*F!bxE&F|rzue~8hUb1ibm8iM4A*;3Kj2Bg2k_N-du|Tl`P_U2zxodI z6t4M<;nkb2-hHpg;CFu1d;%Z7+46IE?>o(>@YKDaU$pTv`0+n5FX5X1Jm6KpS8(;G zhSzVm{+4;On=VZ{ZJpulWvs{w?OMZ{6?V{7vRJOgx~mX^AY^Y51Oa& zBYwVP_$9wC6S(%r9KQM)%b&szUp6n`-ADZL-SwHlPx*B(;iLO4XAVE(^RM8#?hE+s z@3)*K{H*7!;G5XyS;N~8Ghf5|1G|n5T-SXAzwOt33qM!bJa_Po_owx3`#tacu#IoS zk6beEz)yU{ybGT<<`Mk7U#}kgqOV&FFFwoGrw{M=zL&s{xewq=&mY3C`TC6Ekw2d@ z_~OZST_*6;v3U+xKd0~$o>RatJjrrq@HHVzWCwzZfz}3$sT>V_Z z4?frCS;N)OHT-Jd#y9YtKaV!>Gk#uM`2FrX_?dUv`n1mN_xaH0+i~0Q@e|BDaP_kb zf9P@6!w7!d*Ruy#KV$gx-8RnwyzhM*!f!st<~f3Qj+m!#^=%AKJST&nK5RJ?_#uBj z=J1QY{!{q%hg(hoKjrH)gR5^PTz#9vd(X1`3a-8_;8&h%e~*kzO~-4-{+IQo^81L)`3rEcHACZpSxoCjVIc=_2KiQ z<_TPV8^BY~8NzRTp5=_-N4;+;{JO9I7=GHvXYez=J`=e5mc!MzDLnD#Zvj`|X7J_< z?Yv6(h1}ME4!_~&Rl)DLFW?t{+H#igYmc(yuHXmVYqOGUi*9g5Pr_b zkKpQC3RmC8@YXNcJTtiZHi3`*xtYVe{<&!iKj`x;;K$r&@I(HdU&5P(&2tV<-7C2I zwt%Z|OZZuz&kC--)$o=-PdD(|`?iIj`vIH(4u1aMn77`z-&=jIY{T`rvIE!W$}U`= zDvLrS*XPOsT%Rk4aP@5j*XPOBoWgzJ01Ib1mveCs(2xN??o<*eYHlm7i1TsdpFavFH- zIUBfgws7U_;6u-8P4@e*oGx7J9>LGN)}BW__=)?>W4QM7K0UYb3A~(|58x-i&U^?T ze69HizWxUD6rMcKd<@rqp24-BPvFHx%gN!ozozhOKK}wf_4&-;LqD$)K5?JJtJLOG z!B78~`2v3PN6nXT?dL1F_VXIv_xZ2k+Rq#Kk#Dl&?%=vVTW{L$=i&`Ez70S67V{2V zee1&Syw%1>@T2#e_uyyzdd2YE*S`;6eZA!*@S(5I0It3b;p*E6-v9TOpTgC*G5q?k z+V~7!o-&`nr+!{JymFty51z4{0)Fzx&1dlIrFjWg-{x@jt%47HJr{8GZ3(~ZeOtq| zk2mnsZ?t)C;CJ3+zJ;rAJNUe?@vS%S_xZ;6o44WTy>A`(!q>kGzxhhbiQuWPPYK%s23h-nT7$ z>+8RR&wPJty=A}8nXgY9uD*5P>RT6n=iN5X2(G^M;D>x4i{Z%&EvFA3eXDr_-}(6t z;G@$veh6>gYd(VC@qI6at8Zht`j)}RzMd1f`j*3wd4Fbby%(17!*90v&*A6ZZeGFF zw*`Fj9X5Umzx6Kj75uXIt%kS!eAn<}-nRyx`}hr9ecQs-w;g=(%Qnx}`TahtZ*BOM zU$gNY_^lV1cj0ZHX9SPkd+=*7v78v5UpDWFb1JxUR&bqX4PXDht^b<7HgDj% zk2dh}M{N8S-u`p*9sKHVnzz1Vzqco@nYZDK-!SjMZ~OQzT=!7~*L~E3_a5~Y`};Lq z_fenzSvEd_w?1U^9KcWdJcsae?j!i=KeU__e*16D$MCc68C>_#1g`rihu`w~OyRnZ z3i#>Yw)xEAx*sZd@1U*Q0)EMT30L1%@Wm}VZVf-=zJ}lLeQV(7{d_m@Yd)VX{Em;` z!PU3cTlf2{zO~`=qqYtmxcb(GUw?#+kKp}Zw{_^jFZeuT_$mM1z7OC1uH_`~JBRGJ z1Ng0nnGfOW+X$|{rF5U?7_Po$@RPq~^PIx9Zx-;;r`kMc@Du;Syo9T7bNH>cjj!NG zKG}Q$zvO*e!Y}*zuHc)0W;r$dpkLoLTzzZc>e~i>@|fjs;p*ECe*AN7eCs>+`~2YF z+4{HPSNyy>@SE;k`1BK&6Tu()G&^n&e$G9Ht8aa{`j)^C_<9cD>e~>0!~2%P^;{mq zJ1?>4dj{8Yc?wr<0YCkvwhlA+_$$my_`Tl3lYxz|;OSSHFW~KGnlIs#)%)N#e z?rZqH-oo$o7C!hIJMI>Kueb2X=ikcrd%OH{%W1>s&oS@7bDw_~e&*RWK7t>5p?MG9 zeSvulzt>y%z23s7KA!>nUT@)pXW4O6_`Tl3v(w&N_`Tl3m0Q5Cz1ogDgWo!9Uc&G7 z7JlG98(+ciyuo|{Kk_2;CH%}O^A-HKkFVjEeEb@Iueb1fy@ki$WyjsZ@AVe`(2v;o z*4y@bdm}Y(!_WFWJMfF{UHFx+x10z*dz*O=emggh;rDtAzt>y%gFc@D{9bS2y%*bY zQ~15!!lRdZZ{h0g1g@MMo_Nj_uACWM^DE(#8#ezrJpG_~1y}zU@B^N+grEF?<*eYd z_nFu5yfk0KFTdBkf$x0$2Cn{Z;p+bm-uj5;x8AB^&u87+ z@WX#?=hcB9^YLAH>gOB57oTGD?7?q*vUvLeA{v=_!%F+fU9pyxcat& zN1tlftA?v@YxwNXZ9WZr^k?Q9_<@Jax9}4_{~i3g_p|lg`+Yw188**0{L;TP@4(f! zE?j+!;HP~)J-GT7!*BU@OyJrl2k_ymY`-1CwNH-V%1Pmw=ZxXX$>7SFzzfgG;mVo9 zl~ceg&zZrMQ^J)qhu5A{!IiUsD`!a`+d8k{%BkVXS;HgGY2eD)z?HLw4?SlGS5E64 z`#o1q8=iVj2duAB;w7zG*|H^5@mD7ROp3{XZCxR=d2j6;53|CGcuABtkd5!gF09VcsuAC7( z_M8;1oH1NE8GPtD6S#76xN@fO+;a-L?;A6?a!PpVIdiz?Q^A$9fG<5~30KYvuACa) zc+MKGoCdC(4ZQPOyY5@Ka&~a#w5I$0k3FXiS5616oGyImIT2hrJ-BjWc;-2MxN;J> zat83ibB1u`jNr;i;g#o%;mXP2%9+4x&&lD+nZlJ*z_*?=gDa&z+H+d}YQO)=X~UJ%fp0yh z3s+7AS56P!d7bqqhAXEJS55+tJ!b${&JeDg5q#)5DO@>YxNPrvhAXE7S56l`^qdH;oE}^`F+B5}K3q8oTsZ@H;Wo-g^PRbisTH*Y~k2_?^%F&bv7^eEPNd zU0=gX|My`V_}qO1Klj%*pDq0ABkg<09bDhXw(j5WxxSBW!w+4ud3NCXKDG7ux(|_??H@_&z*;hK*0)?SF6c9Ka9$JM$r2-^Y&N`aU*=U-9)E!}Wb^ z247yc`A^{^?^^-i{eqp>48HnB^AfJU&Ee-BX??5U4|(4faP@5oSKn6fnfI-RU-$J{ z!_~J2uD)&HcmC9_*A}k6?cg_m*4DZ8&iy_g{A63VHvGUL8{dH+b??GQfAZGWKm9L) zcRp(K?7>fc#5{(pZ+*D>mcXz1dJf>~+Yr9EVdpi5XWq9AzF64$OyJl4lX(tT-=^@J zzhvVJc=|kBhZ$UbE8*(f9Dd_dZ2c?vO<$h{Tzy-@)wdOV@K-j^8m_*r;nyo$=LWv| zI`a+unD=T6KkdGQU%q2Gt?%FO^NAa8YyH#z+VJZiFz>+Cw=P_Li{LkWJ$rEVErw@n zo96(oztariv)5TqM)2-;nWuFBd-@oD?1MHwgP$GRb)3M}w;Zm%P2q#T@jkRSm{-{$bDXV zwu7s0t$)4W=Ucv>ZMgc@fmb(eo;|q!o)^Qn-(%OY4?q2D<_TQ;+W_8qw~Zgdr_Z;( zjo|8A3RmC8@LLaAeg?ne>ob9?Z#i6jo5Byj(B@gd)wdb^>de-;gdh9{^Ev#Y_o{+l zbzi`<-?sgH2|xS%p%*+RitIUwM^X$39$rOW^9;0Dji@w;}xCqwM;Q;ObinSKr3)#V^`C zGr0OTfj>B~!_~J0uD%W6ch1`R4&mzC2!8s#w$3Sh^m_9#{2}jE20#388$W?Be$V=r z!;ikj<~fC5d9!%|SKnrE^{s>-^7Wj<)wc@1`k2js1=sILYIyc~yN+x4!FQTBaP@5i zKmP|dehcrv+WNMGt8c9z-0!pc)`s8o{jCE(>g&^mt8Wopee1!`{-Mn?hO2LVcwO2$ zC-B9K%m?rz-m4+}r27aS{jv2ege%`$gzwz@np9FsMakkC__!;*h zTzwnC)wdLW%-3@aSKl)D@}k{G_kX8m_)IaP@5iKk*;@^Br9K+YWx<8|;2;UEJ^UU}WpxhF|br zb>NrXyYTdbcD@n(=o8-F`ltW(;7QLshO2LVxcZjBPxyKc;Og5DKKdOy-!VM)zGd*U zC-Q%qerp21@Er3TuD(s-M`C|}fG4lDoEcnwE8*(f9De`fZ2c?vXHy;G3<@X9>S~%$_4F_!;*auD-3|>RSUp=j*wFt8ZI)y0PsuGDzD02Ltp`8-zb!w8Kj`bzhpTT1TzwnB4}72Z8LqyK;8)&d>zu+DnfVxg(tDM` z&$&UQOX`_X4iI&EV==3BTy;Iftun6@2~yJKq)E`&PqGe$3{-hF2T& z2Clws;LUSv{1!fXz4dJeSKnIi-tV*e)`lN=s`a4*zwGPNg{yB7Tz%`oFMPYb7sYV( ztq(u_)z*guK7OvP{{Vj8do_e#av#A*pK9xw!Vf*&J{OGPXCw0ruD(s+>RS%K=!Ne$Bt{UBcD36@2m4wmvmH&8%;0xcb(>)wd1&mhW#{ z_*Gw@9bA2D{qTOD)wec0yJ7R}z}2@d{KPYDog;YiB=a8pviB;6-*E54um7gqUkQA- zvUv{R=l`quknX>)7{S%I6n@3ma|~DCGWg)X+4)Z4`uF+@`0-a*-)8XCy@ac8b9nTt zmQ%s6d*2pt^=%1P-&XL+-&%eRzwYa^hO2K4Tz%WXuf5c+?-s7U?clo~uytyYFUj^{s@fZ*%y<`&Pkk`uZ&3>e~{o zzOCR#US@r(;p*EOUjLx2a|7=kHQ&Gwdat(dW9~b6_B311)`RTN^%ql#TDe z)weEOeT(2Xd_8+`^)04<)XsMRZ~MPjIfUQzUX9?bSK9njxcWARAAi4%&*0a;)%rGp zt8Y16eVf7`^1c=D+rBHDBhaPX^w{Z1s2Up)(Kf2%NTfUxcxcb(C&%AFvc;tPH;YYn!efZEl zfvax=_^r!!zC-xx+pKRRxcZjD)weM`{yXn8{En~B1g^g2aP@5pADpqi6>#-!27mB= z>s1M#d*9~pv)-!;e$jma-#pUJcL_fg**sV9>N9P84OidRaP_UB`+9ER>f07x``_!^ zKepf7zW1#IKkvQj!b|rEuDsueLz9n$=Z2%v8--hsmkzMx@TzyO7 z>f0E;eZa0`23OxE@a1tkZVtZ?n@`~ndanxjHTM}jd!nsp2~S>P``a9zKibAuaP@5g zSKpTK1HPUsxcXMZNB(z~4SeW*+rroHuzBv_7p|GN-m~9Z^{oxB-eu!E@cIqbw=P_L zi{R>84_%e(Y6nd;m0~QK7*@o6S(@8!;koSPT}fX0k8hT z=0At$-nR-~t!+kIEVufNgywuY;34P1TOz(?M zwSIiR&+1znzWH?fzPAHc-@5S8AzPmae(I^V{yq3n?^O&x<=%&nK5D&6;Pc1WJO}XG zk2W8|)wdB`eM{lTd_Bi-^(}+f`u+_*^S%}E#{d1S8GP>lepU%r-{$aBzi;bb!TS^I z+XAk>E#d0h3V!78Ex(4J^z~W8)wc$&zHQ*6$J+JU!qvAOeD@yfRqMU`eO~$ZA#M0+ z?^OqW!MzK=^dak81RsBq&9etT_zd$HuDRSRo;p;hot8YX2wy|{>!}Z_K%HXYU zwd**6$8Ryu;p*EIzWx&%U%*el$@(^ft8XP-eVfCF-nR;V+Sg|RSKpR!^=$<&-e=dh zhO2LDcy!6uxq)vc<{S9^-m5MAiu(@U{f{=E*8BGRd~Iyckv9CKdk3z*b>Zq;1V82L z*@LTZF}(E=JKq6Z|DClV{P3%+CnI>`p2F3)G5oa=7|7g*WfCz7=rwZ3aJb+Sa**FTT-y z4!`Zas^EtnVdEF@Qwy8V5`NSF{j3%I#Khm9;p*EOuD&(!bH1J%xcat*_y5x7-~NgH z-s->G*nyw*eXI*F+#|U9)`OpUkM%8v7w4^SeYpCTz}2?_Jh|h2hTre&GlHvcDO`OU z!_RIkKZC1p6Z%VRopbnE_bGh6v+)J|u=i~Szxsb{dwI0sli@&k)6(hs;ZwXv|8^Bvn^v`#2^=$-S&TXAj`1sA{WB3v8RR%xlK7pTG z+xh13V}EY*oWdvn)4YJIZ!@_1R>Cj(dd}hMTLqu```ZfM^S;&ap?^MI!?*tVw1KN{ z8~A~bT0gh&hrDk)xcb)msr^2yZ*BP4_qPuGvae4UuD(TZ^{oeA)^=aSaP_SZzx1!I zR|))xzJG(C@?H($=iNu}D>togDZGBa&2tP-K5U-B)wc;;eaqpOd_AXd^{s$!{P*N@ zc;bDl;8*>*xqvtBOSt;Bf}j6>>st*!{GGNAYqz}2@6-TStMU-k9b!PU3ce811? zTN}RkxXr%)`;NJ!IpDaP@5j zSKm_j6<^OWTz$*nJ^#LU3Li~v-3xeh-PU;qU;KCT60W|@;hQTqzJedht#1ps`nH6t zZ!381eXHTueSOw&^{s)cZyWfLk6tC3nz?Ln@p{G?_$&W4En|ZOqc*pu}N2oJe8rrpcg|L9>H<&FAy($D?15 zZU4W$ zUOwOMa|a(h%dYR?>TM5KZ^0Xnd%o%GIe@FT5FYv8ml?tJ-!q8ed;jMPV|e_C-G2gC zZxi_aYr8&$NB_}!o5Iyw23K!6y!GA+_#I!L8C<=UaP>BaU;R$o#|p0A7Vyje(R!=l zH^0ez3BT=KHSn{~wd+^#C;pMG=NewU%Fee9{OtX9eG6A_Tey1b=)RsixO(g1nV)Zi zYscN{zk3nFtFN~E9KwrlFpuEsZ3MsdCc8d{-*?%18^hIG0#|Pnc>1?CKZW1(5w>4b zxO&Ur>Me(#dAjvhz}4Ff-ac$!w}hY9-#>+4^Y0fb_+N#CD%cc=xw< zeFIl-E4X@F!_WA7Zs6*zg?Ik%581)>-$&`;*Zh5R4{zOrHywAY-Ujge_0~fOkG|P@ z8^YCF1Xph(_;v3shM)EI8N=0E0#|Pn`07h-A5*w`o5H8BwEfNCvu`lZ;qg7TJ_Y=K z?`;Neo^IEd@Y^3^_c@0L{`1}nuHF`K^;X00_4QoB)msB!-n7@df$P7c)51p&+w0oG z!~fg7gR8e4{G9*(QV$<~i}kjLtGD3I$33gJ0sN--7Q*lM^%=s|TLf2cBlzW|?PCmA zZ)5nie`D*Mz(-$eK7pU}u2T2~_bL3*pS1hQ;J066@25HZ5%+@roVNyl|9>;MdMn}g z`FhUb>aBuD-rEu$yu$XiftN40u2%5YKfkTv>TLtR^aD1hg^$10dfUR)TL)KfJNWIt zv-v&z0bidzT)hQ9dfc;m8^FtF*#3ra^)`fG^1t^N!KYtgy^Y}K{GU(7@QdEt7=GQ~ zPZN0mF?OF5_`Uvqn!3i$osVx7$3rF#iiZ*zG47MoMSAAE)F;{vYUYPfn^!Y3bX>)*gH`1-8i>TL~I zZyWgNhwMIExO&^d&-y<bx88Q}N4={ae#3nakH)s1!CQ`dzW)36&q)XH2i-%s zdK<#kTLgc|*K-6{Z!vt}|Ga(zpLlO6{EmNLFoj27YOgngtG66}{iTLx-JF%|T@O%94HEiHdcvmg_w)+Xy@1t-i_?~91t9@#Ai1-dhNN)VmtO*X|Kqy^Y{!-)g)pXC@2!X5@~-yq@ITo72ag|jtKJ6i#Shu_Aw2tb>um^E zZxLL*jp*K641d(uXAD%T+X!tebyyU#6r|D)y| zT)pk!<#*WiJv@Jv^|ptrx8Ns^dsc4)_*wt=MThWfzCJ^^dW+!dZ3Msg!*-uBT)mCq z%^Pf;6ZqDD-aCOm_F`L~6n@2fo5FAV_X`>P`djQibNK!T%nP`Bo59sv34hGja}HN; z6@2_oTZbiF|Gnx4{(zrjD|qI_xK;k%!<`$^!V$L)NZ zz?&a8PvPoq3RiC#{Bd8;9IoC9_2p_1VJJTL)KfJNVf@@$(t3-uCc|{?Fxu|9sr@rEjtIAHZ*T zS0VhC`w+hM-$#nz=T_F$2!1uP`;X!3Z46g$3H*ky=LD|aQh4$k_Ih)8@1Nfa`0#7& zK4%FXV2Q4J$(5>ThCy1-1F_XT5kjRBkm#H|9RFBuHGW}lfIrK zxO$7>gWt0IpU_`v_npF@{CRs_Q+W34<{4bQE9uHIJg$G+Frc@58AV7`Ih=Uuh%^X^;t)nB#O+rcmV zjP1H0`pn?!t%R$$IsDvLdCze5wtz?e?^CVelZ&?g zOZY?HRRe#-eFeYo1-71Rc=vPG)dn7av|ZoA)!P=X-a5Lk=MJvkdU)___Id~Z<+$6i z_ZGtM_pXNU)IEZ$w-G%0X?wjfe0J4(8^hIG0#|Pn`0$MNkizfzNPE3gxO&Ur>Me&q z{M9zUfUCC|Jodj|U&6bW+5ODnm%XbBe$9OW?}oOXHT=Ghvin@ZFMqII-@w(|3a;MP z@H4)i8@PIF;pHFN>)pXq@2!V-{_~JM{E5cyKlrKRZq?fWUVW!sAHpwvm-RM;tG5WQ z-bV29g|^Ny{H(9f7_QzDxO$tw&%e>`Gli?SDSY%pw$2&+iO)CB;g5S)1^g-Z8NB=y zTh9`{dfe`F4o}=GxO!W_)msg}*Vl6iS8olx^3QJ@c<#Nm@C$FV*R_S;{AKeFuHJU= z-FMsdJ^a#l+xqO`>Mgi_+_QQcz#s7QErj3i>obI_w+OD@M)2vswfl_W>TL{PJ!)Mg z@X=?QPvAGbs}z3E^X>X6{B~>4R|a3c&E8LQc{7XI+}*gkII>aByTw;g=rz4h=1e0}zC^%lJKxM%e? zfS-T4?QaNIZ$tR4S6C+zeDGQ3BlyD~XzLTh@Acls@Z=eGeFE>EYxg;UkN(`gZVFd# zQ@DD|;OBfjbGUjd;IaRGz&U*3y;bnhSK8}Zz%%{(-{9(P36F2uoCcmRthW_hy{+Nu zZ3DmMy|wW3zCK&Hdh6ioZ3iEIqWzvv4_9w{_~l=;{SAKlxaWJn(R=_u>s^KL2i=G8 z{CBLY2p&A&?sEjcZ)_gJ)!P`Z-V*qOzMd1fdQ0IG|9#6G-gs{X{0TqDX7Jvv7MwKFscO0DtOPc6|s}Z$r3xi{KCWdXC`gEruul z->;v*H{M$cKYPjUa|%z~Gq`%o;j_nVP65C2TI+2FS8pX;z0Khly|)T}$=7EAS8p|3 zy)EJO%zK9Gd|Sb9_}`aV!|%(j!wr1(0k%FZ{1NYM3vd1Xw1Y37WB0j(cm96b!`0g! zuHJ(6anBchJqK|07Q(mhw%0p?civkJzvNww;gx#=S8o&e_)%NW6kdL>^)`j8w+yb{ za`@bPE8vg#`pn?!t%R$$IsEL`**;cq^|pXdzunfkhF{6dm+*UEV(ZhuFMDq*c=%y< z{TeL{8#1`{EGLsfM2*{*Vpj)+1A?#v6wUu)~Uhd;ix@4JJaJ?>V$4dB^RHYbEX{C(Ej5U$=LxOyAGcivkJf7I7!3|DUn zT)j=;{hMqbQ@DDY!Y8HeZ$^K)c@DqoT@~=_?lbtKKV$b(!XNk`ThBTC#TxO!W_ z)msg}>g&0LtG5OoKWVRb10Q*BE&QG@w@$Y3*u8_Rw;lZUn{7@HUw*%>!yc~Qf}cC? zS-lP5(fir@hwy8@K0~;Ai{R>Q1i$h1Ha~`|w=w+cRa@r-e$T%#pTKW;S1J6K`xJip zoULaDFYdMV%;68-XV({S^)`d6w-WxCujd@D-YWRUe?MdiPrSDVe&qqX{}ue)OU>7C z^|pa8hIV}muU}`rrTh1N9bCQb;Pd;fhaSH1_1VMKTX5sJXZ1FKKk=#d^Mnwt-iGjV zpJw|T!JqJdU-Srm+q;V4XFtsP9K++kvDcfxue_K2cXcQ5`f27VT)j=<>Met>eLZuy zdMoH}xBH*Nr`}ryf8vGK!vg-;r<>Ps^|pjxf398M!0)NeS8$zgYq)ybz{l@z>)*n+ zzCK&Hdh6ioZ3n;e7j~aLT)pk#*Z$7dIrwkKJ>Phd`2c>OcNN0VyAR=y@9gzP@JpTl z{0)BlUHBapZi|B zzJkxZw*_3i)o}H;girkaw1Mw@eOC1Nt-;^_-x{voHt;K7V!gF+^|poI`~9}g9en2B zFYMqCc~?FB5%)cO^Rc#`!OtJ}9Dat~=Ky~GW9{>H2v=`IxO$7=ov-HzuHIt!thIHR zz~|mu3cui=)28s!J%g*a9G-litxo|jUT^C&gR8d^uHNQ!@2!IGeSH>ioo_W+C#f;OcD!pM96D^BVrp|7pH~U-qtA_%-(}e0sy~r-MIn-qv#mf5^RutG7K|y#>E; z+;i{iIe@FT5MJN1*Bilu=REgm!T$ZY-TU-A%ThO3%KUY z;H}Ro;hHmtYfc4E{@7mE0Mi`M{vE~7_QelhU@hvaJ}9M zT(38UKlL2DPrbhPK6Cfw1nMNm^;!6yyB8F2^*@7$gD<~(o|o|GMK)&+FaDwV0zULP zHN1VHUB85D&I%s+oHaanj?LM?HD?PS`J4`(eU#1F!8KGx*f!lt2@i_yy=7ey~8NxfC6TvlS1lODx9)6Im^BAr<30!j~@Wkh&aLt**H7A1?J|~Ck zeY1dT&J5oAoD!}%3%Fiq4X?k<&hsUFbjiGd>-}g2*Za{LuJ@x2T<=FMT<=F)xZaOC z_~t>o&mH^;_a5H5@8M@AHYa%ExaZEVAHd_!wCh9oEx&#U@7*JK@Xu_{2tII+;i3B& z-h7tLN#Mns=6BzJC-Al3&lIlntAK0YXK?L%3D>^Q;oA2Ku6R$al>?Fg=JW4O8< z!_{p9SGN1waCKY259cI29^3g}!u#K__v<-ab1Hb@a~5#Tso|Ql zgf~8?foskRt~qOX?{hYEe_btHbGGpK#kM{jT=%nsYfcX@e9j)OIl-?S_pdnvc;jvMu%J?>v~25`*@=?~aC58;{Ew)z+0a)gR7eot~qmf_!3*^3a;m20oR-wp7@+4T-`Kq%~`=qpRdoXNkS860SLOxaL&w*5@qXnp49y zX9-XKvE5Gt*PInxbJp<2=WO7bv!(m{Y!BD>1$(%@F9?3^xLbW+Fo5g(f)K9n3x;rg zUl76deZdH>?+aqMzAqTV^?gAC*Y^bzxV|q);rhN{3fK1q8C>5N)zgxrA!v?M%TDW@H!qr0uR}VY5dg$TmVGq~q3f_L)r+OH` z)k6qZ4@0LG!vhY4Igq;T~xg{y}Qu63KiGk^c8;Ob!kR}VE@ zJuKnsp@FN16R}644;@@R?BMF5hpUG@Ts;K8e%z;e7{Jv-2v-k7 zxO#}->R|*|4>4TpHi7H&Oa@mEIb1yyaP=^QtA`S<9_DcMP{Gy10bT>o$bz^M4Fi4`aA`NZ{&W z0#^?yTs=(T>LG)xha9fgRlwE546YtZxO$kw)k6hW4-2?@sNw2i30DsdTs^Gd>R}C6 z4;#38XyID79bDg^2ETFKk9ruu)k6qZ4@0P!WDBY;{f-Bxh@oS}uQhb>$^ba3^sgR6%g zt{(Pq^$`5#ai8j80N3jZ;p$-sR}T?fJ&fS$A%?4mF9;R^hkipeM z4p$EaT*q5yTsY;(FhZS5stl{cm16L0%Ts>^zdR-k{J?!A>p@*x7JzPBm z|NXd6^)P^|hY+qFhH&)|!PUbEt{!5zdKkmiLju>jP2u{vUjbJSGq`#v;p$-yR}U3j zJuKkrp@yr6C0wtofvblVTs^Ge>R|&{4=r3hY~kvmgR6%fTs`z~^{|JlhhTf$r+OH` z)k6r^x{cuaxoZMf4->e0Na5;X3Re#qTs`D)^-#do!wjz1Rl?Q79IhTJxO!N?)k6(e z4@JixO&*Y)k6zc4_ml;=-^tnJv{QCn+NYW?rr;f_WK(H_$~Jku6~Aa z^%KF>&j_x5Vz~Ml!_`j$S3eW@;Lq)KrEv8#g{z+o{@~8$!PUf*Kgsmdk0rPJGlDk z;p%4(S3kjT9rvt$25|Kg!qv|Ze(jFEt_ZGvMsW2L!yo(un=^(ly@v#@ekSmhU!TI& z&lIkHGPwH5;p(S=*PY$}48Htm>!*a@|8Bc}0Z+Z38lHJ4OZda?4P5=K;Ob`$S3euL z`f1_nXA4(99bEnF;7`4;txpeEKYO_P34Z&y=li^$0etQ~gmCpUgfIO12(ErcaP$8TdpAB67wD2>&o?CeCJ#=vOvxCq4`W~)+_HgwRJayc&`We90PYBPw zpCSClN80*C@V(Akc z$>Hj!fZy`$vw*9g8m@kpaP`x`WAA4LPoC}PGraZt+`{$y zSRK6ZPImCi?mb-n?BVJs_?_c!)z1K~enPnV8N$_11Xn*J`1tQ^e`C1%8N=020)Nc= znZPSw=M=7frtsRY&*17OhpV3gu6|~4^;5#{^?v5?;Q4+&!!N$a)@=#j`1#YoANNjH z@QwQ#u6{Of_0z)D&lawJI=K4T!PQR>S3i6B)xWfL2;Ozvv-%mp)lUe&?EMVkh4&D_ z)z1iC`t>nf{fy!2CxNS<30(c8@V$TkK84Rm)=viC`@YZM`u)oi9{-uG^Bg|BZC=6E z&jPM~YPkAY!qra$S3fJb`dP!(&jxWg}>ZgNW^nP~m)O+aR>Sqtn{Q96f z?pgf|;OZxYtDhlU{Y3Dmyq^&~dakWc48Qji%oDhNPjUj!KFfaJGKDYv_aUcn&B@@k z&&lEXdk_U&b7t_)=ag{0o;h4|DtLI_Ue^My-~U{~HGd7)^Rj{Kd1>K#Ubb*OFCARZ z%MPyRrHAWz*~9g7cdkwbaCH*Gm#?<@ zL-;NKx)EIG%m|*o%+8q@u5)h;*PH}i`J4${e?LEkYt9tj_?!%`b8iOM{0gp~7jX4l z!`1T=uAUpXdS1cR^BS(6H*lSMEnGcs;p(}A>)hMHb?)_W^}L6x=iv8``_#ENfUD;a zuAYZ*^&G)U+e~&;OZoXtCKNYog{E|GJ&g;6s}ID@bIVX zb!BjMlEc+W0l(<$FoQqw7Mowf)yW*LPAa%MS-{mv4Ob^ixH@UzSAW9pa|Lhwb*vLld*PK1P_c_7;IPP4pX8_ln5FUPkpTlsSpCh>D zCvZI%6S$s>6t3rD3fFUy!S!6^a6K0VT+hV}uJf~m>$#Z2^;}eNou3Q1&d(aI=VA%h zbJ4){T&&=FF4k~87aO>qix#f)a|_q`xr3|A9)9U}?D^WmFTBeSO>{Cm~#& z4B_e|f~%7eT%E*lbuxyZd#_jC{XMG$u1+R!b&|p_z0=lV3Lm`PJcFx~9Ij3Z_!XZ& zgR7Ggu1@A~byC60-?#f*z#r<&Yq-vtB|Q7LcFr_#ou4bX=B(kB&)L9rA1z#Sw(!R1 zba0(}d${I@yZ?R9L%4d5;Ocn4_HcC){K0Xz>SO?4`2B})buxsjlL)R(MsRf!!_~>av38XYILIz#nn1;p$`wS0@czovh&MWDQp*8@M`Y;p$`y zzvlPf!PUtQu1)e~dH7A2-J|~CkJ_@+z%;2TZDd9Tz7I4jP;Ocn=SI=v>dfvd*a|>6` zTey1e;Ocn?*SXij)$<;%o`YM*eX8dHTs?Q#GP4P2e9;Ob-z zf8vvE&IYbdTDUsd!qrI!S0_8TI_cr+WDi#-!5ZE|HlNtQN_uK0#;p$`#S0@!*oh;z$ zq=u`LC0v~}aCNeRtCKZcoowLhq=hHG4qLc7>EJqNcJSn@?7ZsXI`{T)%?bYGxbwp2 z4B)zt5Ux2xc;#~Ib1y#aP>TctLGA~p676#dlg(gFW~CA zhO6f#Ts=2%^}K?s=QUhCZ{X^=g{$W+Ts?PioqIdDdfvm;WzZjY_+;&$2jDyR5Ux&! zaCH*F)yW91PGYz^8N<~{0#_#!_@&p|>q_D3WC~X&8GPt-a(LXscJ8g=I`=kk&1vDW&)LFtA01qCcJS2a^l+Vf zga3Klx#mZ3^*n;B=NPV@$8hzWz}52vuAWo4dY-~{?qzWGoWs>~0oS=VgX`QY;p%w~ zSI-q(Jul$uxrVFfC0so>aGiTAxO(2e)nyA$f6bnYE&QT;2UjOMxH{?K>SPaBC&8Z{ z_o+?>aCH*G)yWWk)$c!otCJC2oy73K=ZxX%B!R1w30$3|aCI_;tCI|_PI9<9Dd3O4 z)An};AN;0y3D-F@hxh-NoqH8r=iUOYIW;``I-9eE>pmK|=B(g}&soED?rq_k-^11O z9Tb>)eas>Uj)T&k0=T-UP0mQ@DDb!qsyISI;?I zJr{8GJcFy}60UP^4%fN2fUCsQPXWr2LzyG^}tCKZcoowLhq=l=KEnJ;+ zaCNeSU-0|y;p$`$S0};k@?hF3mk3D^0#f@^*Y z*ZH}H>$&LQdMuID0!>$#Z1^;~3dou4^e&&3R`E=%~m&;GW%zb`k3kK8M`I$6NgNex#g zOSn2|;Ob-rS0`(@I@!RZe`&9)g{zY-T%C0AsjtHhUVf;}@8OmE95U!qwaP=I))$<6ho@2Or9>aC+P2dxMohkgx=UV?$c;=qL)kzLlCk0%c%;4&z zgsYP|T%A;Kb+Ulp`}y{|YPdRC!qrIwS0^jDI$6Wj$p)@YTDUsd!qrI!S0_8TI_cq$ zzQNXE55M928|;re*EutQSKn^uUI^E@H-u|W1Yi4{5nT5X)1UL)r~UnbJBD{YCxPqS zo5D4}fUD;jTs@a?^*o2G=L)W#7jX4l!`1T=u5+(}tLGJ5J+I;Fc>`C^EnGcs;p(}A ztLGhDJ@;_+yoamj;IEGR)VVi+>)ac{hdwugmp^RJ#Rz`YJ%+23FFR+#OtVdU)w`_VCTytnc8jk2}|#0lfA(AzbI)2(I}FTs=?V z>N$n0=P6u0XK?kL!_{*ESI;xJ&b<<@p677&T*1}z0avG-Z?p4Z55NDH%!B`R+@U%dz|~0zS0_WbI*H)wWCT|yF?{-j z-RBtI{GNFNS0@v=I!WQBufr66(>;T)f7-ro4p%1yT%F9|>ZF9LlQ~?SRPgifvHMxT z%U?FH;kDoY65hBsaGgslc=A2(x%++b8m`ZW8@T4Q@WSV8;ku6wt~on+<#T$t&dI@@ zZyz^*@HI{{*i7Cvf$j!gWqg;W{TXxcblG>c4>NoSeaRPL^<;lXJNG zui)x`0ayPuT>UTM>c4^OoLs?mPHy1pvW4IIQ+r;v@bJ&fJGeU8!PQ9*S0{V8Itl*f zxKDL5fUA=bu1<#V=5Ou(Be*&l!PQ9&S0`h*I!WN_WCB+wDO{aQ;p!xVtCJkAP6~MR z7q$*Fc;fq8!gbEf;mvE_bNAe<;NdUX{w?5|Q^Q-IvxMusTER8Hg{#9YTpf0Bb-078 z!yc{<_i%L>{OxhK>Tm$pc@@Id;SjD4Be*&o!PQ|5SBGP`I!xf|Z~|9{DO?>+;p#Ah z>%7Y0I>fvcYtT>Y%!>SqI2KP_DSY~fd* zY4_j3)z1#DetLNL0XAn3uixK1_`Bnt)z1K4`Sl@O{S4viCxWY=5nTPm@Z0`%$MEJJ zyZ;0p`|C~NI+v#K;`{A<%i#K4m%}xufHyv82G@O*aLt*+JD*d*bxtnfn!kpt^9@{` zw{Ug7g{$)puFiLGb>73(`5vz4JqVt2_vfJRedg}t9H{dFT%Ct-os&bj&dCU_&PQ;a zlQCSKkKyV(fvfWgT%D(Ios(0z&dD5}`#Kiz!N=QkF@q1?OSn3j!_`RzS0@X&I;r96 zWC>R%4P2e9;MI%mb*ZvWKga;AzL5tCIm-orLf^ zpJD4TgsYPXu5)HY|3N$VV))2E*Nx$tlfWaNGlA>8n!+`|fUCn9TpgBhbvTEs!wRkr z7jSi0!`0yuuJfvatHTvs9j@W(a06F|EnFRL;p(u1tHT{!9rkc_xQDC5;JuE!)p<35 ztHU8Y^0^WG(s}E71TWoVxH=ib)ky+ZClk0jN#W{b3Rfo?T%F|bRcf!RfUA=kT%DBg z#@AsEAG%j?b+UjD{Q4TMPL^YANb9bBK& zc5uz<;jPcv)BVrEdmneMIRpBe?0!PH&b<*_uQP$G=LuXrr*QQ=g{$WbuAXzadM@DV zc?Q?HSHjiv9Il=#xX!%=T<2a5SIy@7yoRgi4O~69aGiTwxX!&DTwV6? z?$y@+9)8gIvK##NeEXbL%2GL;Ob-qS0^!Cos8iRzTn&Met=Kl>SO{}Cn;Q= zOyTMzgR7Gqu1*TLI+?-MNeNdcbGSOG;MvahcL7%?HC*S+5+40mJ7*fW&b<{}bJpuTX^AfI=IfgJzVp{_xa!VJcO&~2(F$-aP=I+)$N$g}=Nzt{3%Jg`8C*Tj;p(!2U;8?HE*9`R?loMUEaB>;fvb}h zT%D}p>SO~~CoO#Y4R-%q__eP$@8IfW2UjOO{2`yShfjTdg28d;>SO>{Cm~#&4B_e| zf~%7eT%E-5a$)N*hO3hVu5)GrPkzzPy%erZF3JlLcIz)NpmOgsYPVzV-WD!Rt5J{jcHbWCK?xEnJ;!;p(J=tCJmE zo%C>ZvWKga-~*03S0@9wItk&^>$VOd5>VNLwnzMsPzi#W?!}UJ3higvofye!qK4$>eoFP2&xiMVl*ch&J zEP?ABo4|FBrEr~NQ@GBt46gUP9Ip4f0l|y~I>%OUonvdb-tRVWonu@0*!R7MYv1>9?R#*~ac|o90bKhY!nN;1xb{7QYu`t3 z?RyN@zK`MB_XMtepTM>6DO~$Lg=^n4xb{7VYu^jF_I(D|zL#+A`y8%)U%*S>_ZmKV z|5x4p`S}ul`RV2jT%D}o>SPU9CmXmrY2oT*3s)x{eDE~8&mBDYc=H~vPWEth5I2P7xcZsH)lUUiKMT0}sp0Bp30FT2T>Y%zL1_2ChO3_q zT>Z3g^|OV?Z?kpo;Ob`wS3f;m=gc0ib0&DkanCwu25|Kg!be|d>o9~rva|b-;0y03 zhU;_77~cM_ef~+{`useBYfei4J)1LyYfc8&oE#qeoPzFup20Pzgr`1d4%h3c;F`05 z7e1$k>vP=_t~m{S?Q>Re&Dp?ppB-G!?+&i#w}vO^o zuFnY(T+ivO^wuFnYxT%Qvra6P{%T+i-o*$dVUMIJ}1oJ`kYY0 zwQlnhzJTkws^R6ovvXq!Z`~WXx>~{2)f%p@HgI*-!qwFluC6-x`M2Bs@8HSn%zOCe zOU?K2=*!H5@VIkzHGr$D5U#FZ*sUt36y@1MDe*t07!nMR1*0Be=SX;aa!x2~SS=S1K0cJ3aYaxPz<19;rbjqhHFj&?|jY#uKP&gnlq*UiQP{I*XPC=T=Ofq`d`4+e+^gvOSt-P z;Oc(`SO07H;T(qRJZa(Te+yUt9bEnI;Of7JtN%S*{Rba>+^6~TctLGA~p677&T)}nj zE#Nx$YPfn{!qsyFSI;ZBdS1iT^9HV-Tey1O!qsyJSI;}RdhX#m_x5o0Jou2~J_mkX z2*3SedoG6X!KauR%4Se>1?c)lrPS$XpGaGpHmv-*8aGf(-xaM^5!sqPZ zn$yEIXAfWdoZv%`JJ*~6TysKrxVP6eglkR&*PIbN^EokGbH;GZN#KponZPwCg=@}~ z{#X8a7_K=vTyqL|>T_mr%_-rUGl$ncr-EzF0dzqa*R!!>6E z*PIq!`J63Wb2_-@?BJcx>EW8Qhigvo?Bo99|7EXh0N0!lt~o<^>2o5u=8WK)6T@4d zGlpwU0@s`gJi24AD}`&$6s|cLyzn_WTyqMz=FH%0pHsp$XAak#3LgHAy{-jZb85Ke zEa92YY2cc(f@{ti-uRpiTywVYbZGr`@by>t=WY0t?mhhc=f3Oi&uRDY)IIR8qkj*^ znXk0@19;}whww}8L-@n)5&Zh++5L>*kNEX5{ES~ehF|vU6ZpBQ&7Z)p`1M*>yZrxqCjDDZ}`;&8c@(l9=-oLNSnZb2^2@l`Tu3y0Q^%{6Lt?u6E3jWX+nXlpH z=bLZfd!N(7^?kwigm>_r&)LCy_a1)ng5A#^e$VHb51w;;4$u6$2!7VDAHj3?7`}BM z!}WR-_}H(Xz(?*WJorMp|BUYc{_Pyz`@R?O_Q_}8{rA+&;Oe%7hXd%09KLri;Jts{ z8C=g-3D@&AhhO!5ui$#V7V!SncAqs|&sRhD=W7M;KER%fHC)fd2CnC#rGKE!*~0Z) z?BKe;9zJ`Gy{TAt|=N)&u_%8DS{Ln4@&@KGXE&M5;KY}-}x33$+58c9b&L?o4 z^Aq^$du{#{uKmd1%Y|K^!|(C+EZ|T0>zct2-NFyu!ke{y-3or_7C!qvyS|1Wx}~dI zc;>yW;fHSFhi>7ex`iLQg*X1^9)9*IdtH0@WA8K%&K`GrIB(&HZsCV+;fHSF;XCZ> zj^KA%^B8{U7XIX~+Vu(iDfbCH`gOa03g7s;Wbpg_esXx_UcmKvW(GfW3qN!VPoA{< ztl)=k;pg6E*Vphvw{&$&zsJv8_@P_)p<8(5bGGn9xA4aQ+{3HCu-CPRFaFXzc>alQ z;fHSFhi>7AZs8C8u6^AR{MsLx$M8e9@WXivKb*Jl<=*B`;TvC<4F1$DyFP~}exC*W z&@KGXE&R|eeEuH$x)uD;Ej;*ZyS}FT=kSKEZsCQxg&(?wAG(EC>K17AZsCh(+WaYe

  • a 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≷fgOEj=sXY!x{o{2|KGJ4H(`Dzk*;9wZIFzxF+A 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 z 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

    De|#phbk`gFWg6XMxE;% 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

    eJC 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�Q|_l~NW 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


    &Tp{JheS4T{x9pD;gR*6_p|QjM1IA&e1)18 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
    +X0bb1F+Q$B{XC+4zGG`8R6-Vhg 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

    cPW-%g$j`r9bB_I$_Ja;w{h(stUIOgWR$ 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%0DH^GVC_ z8N!;nb4-hDzVflbs{NpFk#zgk_A%Y%ea)&I(q#9wj5PTsDy8fVlwE8&u=^@p)PR2# z*?8$YbZtxiKzKs<+!H;Vk8PR!cQo3z2gBLdBZ9;|t&=~G8(6!2ypJ?p_oXM9Ri|J> zSkB(Q(G2x(psp8btD3fcKwGP5t3ho=ZOjzc`FBsoYL0>HEm@yn7|KcS9)f(%#G7!S|*vHo3heP_cHph zjrz7x_p2mKe8UWBgK4p#CSxq$&LB%kllrB(p*H>z{$1 z^BL^NS>j=S9-nV2`+3GhT~AQg&+WQK1iwvP-e{i9(LASKk!zQEF8clj-eoJOJ5Nu3 zMq0rEI$s_;bmvG9&Z0l^Gg8Jp${$D}>sClx>c9MrCv^^e$B3iiuMzmfE6 z^8SD_g8e4)G{wRGfhP{bzVa_FGl4n$XF1dDd-DtY-b(uVngo9?*qXJmCi3gzj`?)q z{;e}rKJzX1pzJqwH(n3?tbzVK-aj|G_s?e!Y43A}4=eau+u!n?j?N19h2Xu2Z{2*m(ca?` zo7dR4Go$5Rj{Ej7d|Z{A6#e!qzP-|i{m-7sCyscC^U4LE+590^nD{$orhgW`wvf|6GQ{7q%zL(lC<_La+Z!ZET zFCGl9Yy^jj2D$-V+eY?uMAyp^Jcw@YBw$3o0UnLkFZ{y%{M+xZF^AwFvLFAR{Wao$ z;r@E_@fiO2=kBjR#I^fz_Sf~m^|AI>CEt#LWq{w^z#X}Pp69`{JSE-Oca-ihyp)c^cjL+S)ydUFlP;r=5 zM&(uR-E*)Bu|`y$Gzk1ub=#uX@w-d>*_Fr!wO6;UsAGJFFCcgYm4{Xgn>!){^F@`F|ZbKm+!rL1S9*HQlmNw%g#qM*N7# zH^XxNC6l|5`xkzm1L{{5XRjL>j(j$X&;AzvDW~vzEWFmo@vrPdp0EtLfMgjCe82mM zaZ+PBh-={N?7((;Ep(V{n7!C9oBn2^ld@GOn(J0z%inM)e!Ce0y;kX6=o{Gp@4V*L z8O@Sea89={zT)-B03@5Jd9AFuDT#AeX{lx~I+%HO8b03@_aupX;@QX;%zW9~JN(O# zHK;G;$QtCQQnCaWy!ujP4j%jhNd8d8eMWMIyTJMRCb_cJIQq6Sf0L=t!Tcukw8%G( z^0mhF#U{D3_O7L5{8sC)}!I!`fHXUr4=-HYPoWq`reU}fx=g2dSIy8?Fy4klyK1&PcdYem$ z6VKf?;9v~-jO#+?=Xvr@q5kDOBYQVJSkHLWhj}w{7dzNnitpV1y7j9<%I+GUeAOGD zkN7-)^R$RB??ZCAc}XjrS3=j$U%#~QK+)EchJkw?ws{2OGYd2D0gFs{*Z8w-e>`t| zev0jn=grfiKCu<&U_-Eb*#s1vK*hG8jd{s<}_llf>!cOig z)67B>8XK7O9qB z4092Yp$rW^1^n-vgRJT12=7O}BsTQn9u1A#mXx-1eQMfL?J44T*DZiD$V zB+CnlMta|~rn?+p3FOh8Nd63@O^ohpF!9GGTkkfjW z{4{y~hAlj4qoQfw16I_|`?TL1pF*Z}TwoM}Q}uHz?e4Y5Gd?pHUHS`C&FBmGmk*tj zcn{T^HL1|d#(h$zi#^#^FCRT8;veXQ%r?H=PFm?WgFOgxE5@$zYTSp$%zpb0uGz;rrTLvH2OCFmhpI5+LI-;lHNIE+0ll0-oNA$sp^x;6;mIh)Q z#rjb5ar)59vsrjL>`dK^o%v?T`4y*3XSQ?zB>&faQ?_B+8?p0SXLn5g|Bf>$FDIR| zgT37Gm}%MZSJRT5Yg!cJ3LZjU8+&&&cvknbVtmkN4>HVmdM7xrxF%eozJw9+||NoM2bO-Q&OitgguK@GezPl0eR zkF9$Xs_hey-h$x82RxS5I5+El8k%RoBk&VAyUVO0U6vag@0uZ9@B{1SSkt)4~~XM4Li7j3`F?}Gc7hrAlb-SL>GWjkYB{)Lpyt>B^to(7r&dZ+SU#=n>T zYko8@Ck`?P+k|&Fy8W*(N8&NHQJ34}-0UJ|jQAq0=*cv6g;(|khBmNgo}}&8lxn|t zbL+Tkb`+fv*f)=JgMMoc<*%sBaJL@J+T7+?+EHt|%Yb9fwYm^>{}fznot(1S;Y;4! zO8Keu?KJYc$g|CnRe1t)>q(1ohBlzGMjBd(> z!bP*nS3{fZ(HxrAY~jFzt>|o6#8v_i@9|(~XQwBbgNAf;4c27gufDx7i~fNAlgWg|lQ9bGZUKqcqjwcQ_pQ3G;24 z)xWo2{*B&n_72{I-=GQA^7GQK(=oSnfSFr5wII3rOb`B9b^%8v*1*m}GsMpt7GI8^ zr4`2V7f`psf0x}pWAWZH;lR_J!I#rUAwE+YX)nuwGsvU9dT((bfNm@;ur2_+K96-{$C5xf~kn5!xxg^`Yi+e1y5UBUkq;+6o=f>0antqWO3leyhb8N?B{w zp=^t17ImSUB3c%H zPK*0W-qBHEoOx^EC*5J03mi%2D;uC&!8>0O-6~pEbn8RxJ<+$+<(~=t>VRey{Tkva z+$j2Wtx2h5UHZD1d$sKWpB33OZhEDw!nJxWG~@ZKFE}T_`VOuqeyR(dptZAen(t*@ zjmrdL`8sNI18tA_T4MXGgBWA>J`{7mQ%89%25ZyW~bEr zGvHz06*8Bvu(uYG_CM^aVX4I2;ND~UdAd)4#`#krzH!0lAst{$oi8#^`=I+(E^? zdPv18D>`5#1eQGre*j^IX7w(RX8fExOk<^4n$m2gcqao_Q8M>NROg98uPgyP6G(_L4fN_mq{ZoJYpBbsU z7j^%EHH_iWO|0V|z>5RHizl(3*{tOw_*5(hN0!c-Y2!#wMfm~YNjJE|8aD)Wc-9%kvF;bjr7Z|7Coq&&L{ViM!e%Vs`9{N|*4Xka^ z`YBfD;kC&*umU`+Ie&=f4D#qMD46WeS*Npn0P#EjaIj!&D&O3|;UAc{*O|jV63^^J z;A8@DaxZYQoii&3Sn(Op!9(Zi@KXCcb&Y3zlSuE!xv4bH(t>d|OdPb&O{H;`+Uv}m z^kJQ+5bLc3f2mI%D6r4WP0(i!=D(1&6|B2vl^t+U&OIx3R`tineXq(?M?e2b(0EO^ zUePRG?h)q{?H8D`%-!tcw#jCd&L{aE-02(;?8Gmmo4T`;Ql~mK*8UFv4!$=4JK$@4 zx}|iQ17%mcq{9equ5$F@{O#+nhL;jKD-XASqWtbLcgB^n`N~)K)$Qi@#wHVZiv61H zNZvfQEqQZ}BL%w63XZGhy?RjBd7P1B+$o#UafFU@22l!Vxe)qlO1kMjXE<_^(Zp>8 zXS4$oX3%Y!XE+9Rjdcv}8dE*Es|uV44sZF(18A$Wb|=A4(b{E$D~Ox9#l^b0!5`gkI9PZ!pR=<+b0@gg8S@n#=ZR?K;q*mk!6@#1!&u8H%!zB( z%md8l9-GF3mtdetT*9O5vwZNdQ5v*~4_E;A9?Tcbsx;^mx6=A~4hk38Y3Ks09}Vy_ z^Nh7=EN8$JXx8QY7R|br`b4*GVt&s9x19~X5k9b>8^`ufhA-KA)J^;xwS05kQhq4E&N=Zkee~T$|MJZ!dp`dRA6YS)*FWQFam_uYOY>Nm>gc=v z8RYNa%#J>u?%l|5%5QTnoyj_k;S8$*hiV=Q7gjIPeCR5-M3UwEbFoBgy!@dWL@ zGT)DZD+@{6g6+5P*z-I!r;kK&=}&pa&fO~?4;RbsTz8hBo;6mWn)q#ff%OlFC#L(V z)}J-(zKFO~KGt6Qgf$GHAGGBZXt4LOI}sfv*wDB|)7o?v`F8M4F$sTj>)d9Y^9FiM zV^&O4(O_3`P7AMzFB9FT;IuURTy@PWr%bXP>rHn+;I%uKxfHFmojNDaUDmul8@eY| zeo0gP+fN2Jvo<>Cbmw&Fj>P)c8`GJS>dth)f3^(1tnr6f*w4yxr#iA2N7jN|SEl^5 znn}bACFZTl6tc%lOs~!+*48uGvpQ*z$qGY{!*40Bh7L%bFecO0TAFEG-pm60L)=0C zyztN`z}uMzjrVwkw|V{C^5)0q<}|Oba5Ybu;LRLU>21ztOk?KdGz)iUS3=7%)(Hh= znT^~>LsoWX2-p}#j3hI6Zdd9E{9W)*z=660tbP<&EgzKh1vp&3<$u$*;XHeHQRY@%zMJz8#p-8rr%P^kvdi z;2fIWl_b8AqtmN-gm3hDrQdmU`UKMLvkBM%KiRU~+#D``itpm9bbmQq_c*_GA6j#OG~M-(`R4;Cx!|BvfG?F_ z2X9gB$j=9|Ykv-X6P?Rgy612n4qHoXYRZ0>I&=?G+pf8;)oX8!@U(SKVWU+16yMp8 z)0%jSKho3qcVBe$_}fYAY5adydcyc)^ZT;up})WU4)IgTV@aQpHVdKgv1hQ)g>3rY z)_C|_Xn+?Szg9-JH0a7aPF?8!*nO5<%m)o6ddnH`+pJAlo} zzkjDr`&_ZOMIW3Vt>;;ugPl=+WHe2-U-A(u9-GaFgx_|Ee;>80Q5$ABXBB7lMJIFC zewnk1b4Rcxe4w-HPS(qNKKDnyW%tGw>yW*Q=RV=j0`O-E{+;hS5jq6?z&YBYv&wsd zA%44Wn$9OD^hzkt6c_0oy3ENQ@bX@+cW|$>AK!_GQmc3B;*Q(W#`gz!M~5$%1n*C6 zxxo910nQ%W{J3OZ{9X_}vlg)T@1)PW!BaE&{qTvz<;!Q@ki~R-$#grQ(Vg50bbg(E z!r}OQ)`E_y%gMhM9OuYw98i$kIMpoJKGn@RmIIt^17DS!UW(OSTuMGCxJP|?n!Q)f zx#gJa=H1zO9`E|*1=s%y+~S=AO#)uX0xx8N7c{S4*6wEJF@An;nt~qL`JV1~ox}1@ zWUi&NR!%D+}F@?Y4|?U}qc8YU9W& z9bqQsXPG?{h()rI*dYcwEK6|^W)X)d*PUsQr5eTM?nQckv!_vKiPC%7_D990ujBx! z!A93^M=2QK=tlc&yVM??-7XysXN`gWQZ+*8F#TTJrm~du z(rCJS^+Tq=eB3 zG#ok;lkGFH5MD%y8PK_$*aqwN;>*J15G&Z3_bNKfhV>6Q%_fuNxliMAE%GhNPcwUV ziJpY6w&$LGXogR)=e+@%z@B%}i%Mh8jnbI&EYXWfW4_TTDu(C4ItVwAHV~c{c1PNK zV`(o3m}+A0l^e6EkiAz$eTB^J6y`{C=}u0XN!H6r*c&Z96i)&$P> zi@3|oV~-4@KjN{>2ma@=SE_IQO|$Y#AJcv9sHI=bkMNi-qHgh*_Ca^8wT4wb3msF+ zKDFfm?9~qFEXB)9W{244nzi*b+j9S52Dc zzVW5-${&+n%5UjpY3zUCxs3OpkuDliI7Bct7CJ+56p(mtdGNxBen)|9EAcOw@^y4F zIP=Or2tThmh{ZpA`{Ibsy3)2#MzXM7-})H-0zXCB&>P?k&5zDF(XH9Yge1QxKz{M? zSrPe#EvNn`$Yl<8{d43p*GI>dNXNwFGRrUc`{XijG7iy`pUGwZ@5^Pt)Sp-`QvjUk zetRsr%&e=pzjH=59YZeTy|QPyjHd^=OhW~A#mQx=D|!DnmCIl^^DmXlJP-cReK=k& zbJe$xFPGUsnSUd>%=5-~+NUa)x#D*pT`nWOTD)B58R(K@$z=*YL@qP=pD35viCktp za+z(=ey>9ViYNXzXgJAbE|1D(ra;>ja8Gy>K1W~1DY?w^?D=)vzjizO*>V}(Kf=)M z_aKvb(s#66#*GZzg$!Kw@Fmufa+xcla+!ida+xdQ{4|4O-xbW>~WU}=e9+cwfy7@25%|>@tIvwsz$!N|!hKy!CJP^rfR8BG)<&~aNqMXK! z@1fhF8RO+N4jw6G)tB0{wA7gCa?O|*&8O%+p2R_rqmmHG8JZj5e zpy%UdFutXS&w%{RJax6qfg`(TCzx>(f2sf&@u-3bs4{ReBZOC z$Yf`VPawO!Ms&Z*k#QID9E+~q1o-*o!^dRiz{hW)4UOk>-@q^N3Ftc@uan$Pc2tRS z*6@a8+iq$vup_;^2rLW>zICr)2i>Eu#ccL6f+ML;wq$=3|2{bKl2wlA*- z|9uks@&M&NvoHU@XTq=efi0gKe~PSL#G^RU;gD)N86YG>AWND%O{cN@3k-Q z#dx&GI*M}_&*~okzt+Ay_$M3R+xF%EJr%rwo=5NBV0R}u4;U|(JvO_P1O+Ud!@{7baE*B;NOXJ39RCOvpQbA-P0G40C>HHYk(4E9Xq{7Mg= z6-^sV+9CV$52wu*9*;JASbd}&+1O?O_aWMBVLWYCe<)8za0GdxwAsQKZMNm2$k{y9 z?q7s98)E;C(Ml28Ebpdp-TEgF(`J{x8?O63@A0(RQ@lrMvxUc_%~sK7WF3YEe#P$( zqs`7*_sMCq&qd1~gEm`epv?mG;iJ%Iqp0h{XtN>Y`J}YjHS{B%Hml_Q)27X)(S~TV zyTA6yX|p^05qQ6JdJNv7aj8$R`L(#T`Q(eyX24<4xMT;5%?JMWaiJ#Ds6i{4(@N`GZ_IZw$XSgd}aU!t^I4j!bBn8^=SkfE~icPQs8~+aU*4nZE-@etfgfBDQp*u}? zp?K|#d;3-oKIR@BqVnNinC^P)KnlF*i;l)l8hz>#mpMbeP}&}&{ohb0^mwW4Jo{kh zE50(e7>ZHwrN{8O4Igs{^*O0mF$#44ebg8QCdW+NT9IS>{Aqg`f1>CqqUT#Y9i8v2 zXq_!j4lw`?s5(;}l3YRdEV*S8QeMW=7IA<=Ar61257^ zm24w1MuCSiIjosso~xK&54!F04Me*w=(S(RJ3a!?RkxTk&OOB`aFE$Os8=9^xvWP| zT=sX;J3Q57EG^AaJQ{3uu}2DFlWp6+amMANm+*PkUpl(&tZy58O7^@(K46^jc9fXz zcI@`t?6)@Qp-wm5A@opXKc=#uqpZOmtW{;FW1ql&Q29dRcm^A$JaeuG-?|Q4&)+k| z6#LSNE1|W)pMml@(&1yH+aD?+MhbgGb5eo-Dw~#I9Hs1`HomDXgRIIy9@8M*WJhH! zwz@-sfAo;Mv6JtV&38NZ;Jx_GYsPl(mOf@k8~#M+;D;-O4(^=4efPe1kdtk-()`&~ zo<-ZRB{`Qe_)%Tz!glz5=!pG{A6v$0-a9>Allk`<^UUNaxr=}7G<~bAQMP`pmwp3N zo6Otaz0bJt^N8KyV*W>1W}>Be0Dm;_3@;*nN1f@O37q@v^z@*BxMZy@c~`9`-=I3%500gWn!tLAC&1;K;O^K#;qx@)!Kq{yNEccCs%$ymtWK z*{s9k{Er2m;^Q>z1h!&v8s0n^n&}se30M@&8P>&(ZcZDxL+$KFwygTnJ@N4h(t}UW zJ<|91h=Pd!?GE~|9X^y>ZT>a9iU0+}v@WtA4ym8>r)(`uH$zM=ZOtw1vc{}mV(sg7 zYUmo;$F}N+@L&WdhO({XPn@^vH^Rm8JEyt|=X>reOtSpyv*~B~y>EqA$Mme_d{9}g$-ym7L}l7NAkUTo(% zCw8!|Rh(^#YvV!hUuR5c4zVx57ao@h$k*}v+y`WL7^-y!`sumM8IWCJJf11^fm1nW zdSA%73vRJ-Oagv!^^M?{cJNCZ{b!w8+~5^stY<>oY@46!8rZ+<`e6eCZfOHg2xsUl zNe2!D&w@e8x&;%VUS?%H-jLm5A-F_%qagurL~w?&afWb63~$_JMSS@QceGM(R|4)x zisFt*XMc3ukm;gHm0;1Kz+4ykSJXK;x2tn3iu@kuFm{vR2hH$;4_X}>K@LFWq zJmEL<4Sw*BZCfTLC`NkLvJ!IKFumqc~J>f?Uv6^i7gx9Jw zr1eVkXbtgtO6hmn#lrrWuQz6c@@Bs0 zAnRx2IpOqbVvpH2hQO_jdxdx353hQibrx=S!Ed$kdla{4ALwb%j^` ziTpa#u0`IU^@+vw@sY2DGt!G}Oy4yQ2Qhu>$p5!@;0OH+VQKm&gr#Y~(&_&uur%dA z|2<&oo&yp55)VuN4}RN6g{2a~lGC#NEyrwKZU1rjsg%#xvH@nL_MzfZ8t~G7d~PT{ zrQ&-Sld-9!pRY3)+WR&9cX`4^iv+W`aK6n=^0YL81E%9MK=<6&th7z*t&y7w4&Y~d zpjlS8uUZ6MEBokH?pZ$QyE)LPb3Q2A>P<15%Vfuoj}vfkz=4mG zIndnOk!S7TT){baixYWb*UhG-d!A{*(MO99UFind%h`5e&d$3z9}lp1ri%^--<0+- zo2yc=ucS`VdD+zIf^Oelt2#4+-R03bub|FK>b&O2I;%L3m&sNV-$&~Pu=k-u&)|-8 zI`^Bc1JeADF|JnI7q<9BibpasSpV~P>K^0HGRGR}-)5zEDvy`GXsj8|m&&k3kK$2_Gk_FuT#1A+Zd|XfcsXV*M|9CI6Y9Dt= z+2y|nPqT~PgOGK#TGl3wy_9j^&D^)iFD1Vlm;)d0KcwtF5DYdj~@X` zDb5V}{n|1U{QAV)F}dC>h)yj9`c$hu_&|C2s<+G!Dc z$CG$(1Hwl<`T}s@4z>iCLgM1 zQ!Q{`g8g%dxSpY}m^F805<^G#8J#8HG2J!Lc{7OPS$Zk+g%1(kna1%=KG^EfU);en z*(B$kO{_!Nk@rR)WeWDCuQUJhM~sO`EpFM{|?f}Rg69Ky@K_W&GX%~d!F5uJq9fY%#dMd#`3rn~g|f-?#Rnu%WMdBM^HXN_N6 zIu)9f^)vGwOB3ZBet7fJFPp*ltI2mYaRX))@;}9N|GbY``F;8?ALO!Kc>w%X`UOw- z6(0OhGQLXS;c~|4#xA0ee1+6sz_%xiDM%SNc_N;(D zY>e|Qkk1}-Jy(F6T;SD*z{}EGyMpyt$NTbBPs>}t$xL`L_ZY_} z$(--Rr_BV~m3@jEKQyvY=|i8NX1*QtWe0g&$?MKMAKQ)+N3Tv7c(#^(xfUOcjo8w( z0uSTKGnR5sn_m82{MQ2u6K0h)@2)tZS^OlerR>I^0uF#-U^}Vvb^7`c-`BHV>c^9` zrS{g7o=v)JNy^PYf0koFrz1+Ueb5*FA-J*CS@P2DoI9~K9_!0$zJ0Q%c`UxZJ#U5a zqto*@!2*2FVP2g##D}o@c~+RDf)(Br#|qBA6~dYEZD_83O@82IOVixa<}!R3==@Os zg`4Cj{vy6fhAw}py3=;#I0ECj$7$d9C0((0vdJUfsC?NvyjCEFD@40~Fv@hl!B%+7q66n7gL% zj00R!3Z7A2s%HcBv{5DtSW{hY>c9DV_y+bp+`--$8vJdvEza=bo67V}w01_&Iw#go zM_@30^s;wCz0IUD=GDu*PEPl%DC}3T!s_Q(flrDR@>#6?R@P(%Zfr7vA5zAR&9vsr z-7p~Vm14pf-oef^_dLeey)$G;6w+98Bx!ezo)mh3J)&Bq4dlUF5t9$?d z%#wvgwyZ2>CSgg4;!;J#ddnmMw4kjh-PD#zf)a?@Qe48CNrGrQS{QZ?WCjZ^%WBYG8vZ$IPik=6?Z#fOnC-9@Bze+Ms%UC#^Td z%GcsB`P!FBG3#9yM|`3*{@LyUfiKJq*Aff*y2e^_6pL9eD&Pz*^1sq2|K;SDeL?T` z_jxyycdzg+W{>*tMMn!F!1?|Pv6gL&6!{twT)?m20_@8?}-f!D+{#(38t zd!6^kyRJhIB>wahee!E>^ce3trO&%s-o^8-LE0wXb=9n1-nEo6nyaOx#dz2HXug}{ z((0mVUnZ@GciqMQ+{jvz1CK7}+|}s$k=B_&*Kb`08wm=wLN-_G59zEdlLe3My=7YQ; z`;y8ow#udkXVA{DBXTCJ)jnj=uH}v`PGlL`r|@&=KnFK>K6;TgV=A|-8DqB8c+8&L z(OJw#kC5QRujXR&#!O_R8R!_aSMz-1+B^|6n00rK+% zW4gwpi|A>ibacx(_tX)Qi!{cDI=kq%&OEx^nBAMZr?0I^G+U?eoMvYqFUIL@=3BCw z?Dg~E*(5vu!JhH37r8fQsAo$nvb_u2Q;7CRCnGyEGV$ZrkMV4oNndDVppeUj4NmP+ zJ*nuc*S)&pzIBY#@9e4UD8vCJ#J*7SDNm#PX+f;a= zJL~i4+uF&ae1*-#Pg{1~Osl@Ui8)!S$2K58OM1ES6%F0xtyPpV+QQ@00VaRwwz~N9d2UN z&KPd@YtIpUZuXdNkKe|5F8MF7*z2|p^xN1YaTxnsU&k7|l(g{+7j>RN`UJ{PqrCPL z9ltQIGtZXnZ>C)F08isU^4SKM#$PiZW66vB94wC3)6SY&U^87++S7XgdPdITcC#m( z@InFiSgcK(V+?0fr3d#pGV=GMH$DKIuH(EG!FueBn;xC?lIdF%v!OH7VmkU`l$R}4 zcf|{RpZV??U)H3?){HS%xx2%YgS@-=aCqz0*l9Nb``2ce5!c`|v@|?(?^O2lEh<~u zS!hQ3z2jb3Z@QDF?7(jzY`0naw2Y%4(*0cQeqp^Y2V1Kd6D(p~YTrNE_iM1fRu|$^ zgI&R;a}^wpItPC8*o47R@^2p1V|)E2?a-czt-EZ2m(hV~UNz^^TlClV`lI2=^|V** zvC}>W?Rv)Rn~Yi-zgtGj3JJxY6Rj6r1<`>Ue=D!%LV&O-Ej zEx>8ZG_E3i3okKU+oe1DxQDce-Yf)s*xktF#=e{K=&4rTSIGZ!w%|iG(9`I`7fxry zjHK>kYi)sdIODJeU9n(AIy=#H8!#iBQcB<3neTnXAnj+|56}+$d8~SLZpYNI(&LXR zAB+z39qKA!|MVQYne1i!Jgk?ur-(MC1dr%W85T)sF~X90|;iI<60Y z01gyG&K%S4^k8-z?1tVApD%lgjqfC~wnrLQXEyD~WqoI}4(+UM8@k;PYt^u>6Ih?y zS+lQzGc;fM%+XlZY60gijN@#gJo4qI4fMN*C;L70L2F;QC%K?%z3$pma-iqy>s_{l z4i9~GFC5!RzD6H3=wa6NL&i)w01i3OeTmRKEe2Y-E3RH|;wJ?Dnni3feY~d3~8W9&+@y z;UM45!}g`KkCN%5bmBI?;by<6?1jah1$>`AHsX`ms52Wh&Ka~*Fnlg+p^LN_eB1;q zXkARfHntS{vy^$gjWsciGOGXA+>4nbt+ircNA#jN3RCl}dus6Gm*%ajzrx&W@ZC>* zh5Z$PGp)B+{?A17pG&?j>XYvKU~YsqX{{bEvITVBIQ$#2jgFvbm0~3x@5q6t4@{x}cHbZJXsA)ocQ5W`t`q(e(@NKjE|Z=g0J%?Hv*L zSzOsbv@G^ktK4TP2Vb!*dDvN5$$5F;?v&tJl;`ZybHyVV3!i83U2qxj%(+VWe*un< z<5QyNJ0HviXV*maxLWhtBbquk-(X(HhvzZl%V*yO-*eTR8DILxnO&vL&cKTA<4YXH z4>tmLZ5B?*uyBFCY3cL%ZYlKoiQnQgK9+IrW6zEMuKE!GWNBtn&D=xGioh zK4pzXTE`BZ*Fe8j_BHbFV!k4LLQ1fM{~Gu0m-OD%F*Z14zz5y6KwkHE%Hb4=h8tNpSM zqy)39_Gfg6-;<3?aNuMyEE zKxabroeRxR{CxOM5f0vYsFzL%4q~(+f>V!&gThmQgUDKmwKXkR&scvD>}Z??GdJ}a zw?mi5*NZM$rZZHs`TqNG5n@8UoRKf&-XNc)57di{&|E3+ma9xu7t1m%P5<3IdoV;g!{ z#ZBle7_DDqkwzPEq-Tp}FE?E;6BBJ?T`R4HSOXhy+EQsmb2+E8K=BI0!Jm!4ZDd~+ ze0)QG({+e;xmg3D>vf)JLf|~;p!`pdY)<6t!i2zN{LDIP%ot)68egUUP$}`^V-o|D zcc^&O(=lL*eQ}){HY0q28p~ak4^Wci)x;wzLF8IIfxyg0Au;GdpJy~{LLnky< zKCDgb_x;e*IK;N#yAP(`K58F*d2k{;6Kj0dM0b{CF#9}X`Gz0GU$U(nUaHd5 zbx)#sH)TaiT@Ca|v}*%=Mm76Jmpq;0_ve^xTL-52XLF|W3}EuGd@ac%I2;XJ7K0ze z*SW8W-~t`An<)pt$m(&qvDt7Ck^Rw84lr&}Qv7 z^bqxg6V18J_~#k;(C{={;}?LFC!nXocj7a_`_?&q--6dP@Sfr`)!*-zo4FNN!E16} zrFc#8EfGF*bWl8I@!-_XVh6B|j8ly7$o!$m#Q3*|enGo;pPbLU|9eMjcQNjn)Y%1% zs$}kO%)#e!b3&l|urr{2t3wM+7jk3jeE3B#W2zXJ4ai=hCAMwwBXf%-FEi)Beurlc z`!{FxVC2L9HPzY2yKzi3`5yi;j+k^egQmW}Ws zMcDI;qdeHl_|z*Oz9n5g)`y#zb+5&5)5a(t9Pz=?dA_6IBgaH#C-K6ggER1bQ(vdT z3unR$<1br2aI~3wcaCRUGqB!}?ane~6`fAW-{6T+z;khedE9P%jr`wMzl{CTFU-!$ z6t6|UiGzZ6P$q9;mMu9C8Ff-tJNT`daq=-v^B5yHXHf{ZaV`ro6#N$b5&v0K=I&&z z`^Un2Ig&Y>4qxSZ#v_q_?;@|qI4rqSJm=lovy1&zTA+jbkgugbmX@+z>EBB4whZtX~yqZ@9s>RvTs@evRgv=ROS^l= z`sN(w%tjnk*@Vu0z~^e#@RP`HvRm&gWUbW#pR8Y>NvKC_ZT6Jo z7xg0TDP`}sA)F~QBbj(I?nCe^nZ#8Ote%EH(-~YZ5@$7oIIGjja`~Uzu!HsvDqGZ$ z%Qb^DDhCm>mCKcEOPsymk(i$}+{|fpOb8y}+)DY$;4d>=XN9gAkhuF5$H4qn&aJ%6 zmgt|2JTjE_oyj!>znU|+S~*wa(FD%L;T|@pm2-B)o}Kt(6?2ur|IcIZRL+;09YSW@ z#Q5NYHK&Na;Qv*gL|Z3tC6(oH&uMsuKFp-A_+ZV!-=;jF?D~drTnV&w9M>}%clz(J z{Ao%W9QbDCaGA1+O&66-Y^Y*>412sA&gIp*^5vN0*4FHO;kl)(g?HK#0$t#e75MHE zFW4h*UVVN<-uygwuLHjB*Wt%M!}B8IV2Z&NUf{rP*#8!qH%~Gpc;E(nQQCoD$$R)} z&JkWI1unvNXSw3-w3Z*so|yFnXT`O$hC5lqC29CWvW8o%HOzSw(KWo9{L?Ky?)WvF zfPaY29BADxJm)A6)!4Q*v(`&2__lR~@*?`B=@}k;Q>Nkj1Ky>*N#HiMcRIMuAa{bJ zEc})e#ciCuwP$trbpP$F@lCApamMbivSh*Rtoh8B@?B!+5Afgtx2azd895^3_u{rp z))8lwJERwi;I<*hh>c~erQ;E<8CO=)iB7@7HRHfFZg9^~ey>v3?bIncy4~2z6*nP0jM7$HY0h#(UdgSJ-F1eS?(*k+m^3?c zG>|b#LMA6ZZue})h1e=fCbuJ#dy$I`GWh`7FwN%b(7AO9tcOj|wC~ZT8R#_g@C_7R z9G7a>S<`+WZ7kptPBEU_Etz~D_^;5jdcDgG=$H;X0e~Aag1l9@>{QMeu$(F^+D=Yc=qa5XIjKwuIomvYgI#@b^>T?2S#g7Khw!)d$jW?8`k&0;k1jl3 z|MTj{BK+!wj?5nYPX+w;)z&_kw&2HrU-8t^cdR55RO?6eHd3c#yibrX13A&!Hxsy1 z-X-J{|0v$Fg7+c#{ri3r*{>kv=d306luEv^ENi{e*pK5b&Y=s9G1uOk?ag}Pe(^;G zjcseu3y>z+jeQQX6ccF&58Orm5VFLj?1f}w4^Vf@C4i7!UR zQT*0t3nI2QFZQ05)5uT%WK*jr?-6Wj(g{gNZ|PG%;4GAI4d>I>Bm|lr_^E1cEPQLq z%~RpI4#rvQ@OJ2*c%=i5@xcL4k7xb(o*SQ>;6K2+M>mrClz14E)X~iP&Sp<`!&=pO zHbH2-%Q3Lr2Cp@SxjBwseJDJ4IrAXCXFA_OCLZx1@(8xL+4AkKHugbI*61d9__5q| zR%IdISpyGn9oL#CTn!uWvAm9ZG4%_7_HAo&pSC8^R<&s!ZE|l8&yBSk$$73V+HON# zE28cC0r!8jT_@vVeoOtnE99R)H1O90x$88>>cg)Xs}^|cczxwW!2@uSt2=NpUULmx z+zeb)Md9LE&M5mPyn_$8IQj{}MJo2RwBRW6z6D$ePTnfaTlW%U75i2JZP0flJ7z9F zR;xHM@fh*C)q(nE6vmQxmJDE(L2eyHnLkJW|FNID)Y4pToO@N@PHm#w>oI#eFr z*S*;$g|pl&+xTOJ?}hKxcVd2>zrLV%ue%>wZAcA1N&Ca$%F6ZM*6){yg8V%9c*1{& z&3ZNC^+7i4z00H{imb1v&;4*V>nE(Tsljil&HsyS)}KUIF1^_mX8o5qn{{=Z&H4%QDBq>y>@KZKYkg3k zY^pJPbpkxjso1MS|7-2lX;FK%Xg+ZZ=v&&+tLe<#h`l;J_{|S#ukIbsUb}UFV>=yL zq-Wfb@igwTWqXc=ClhCvvEt2$Eqf<(b23}D`&iPH7Hr2Z$NO#B^*McQ*{Q+J@Y9(aKFF56a$~QJ;vcbP+dqUYyXc$CRF}Gw(Mr?j~{H8j&JLS zvt|FBe)o(!>t{;bxD8?4`r5L8NdEq8*;_~#?5v#D3p)=)(<(^&sO{JVC$MAhS_CfW z$Bz98&YP7EvFr5r+p*6@7ay}@YwgDD*m~}3$5z_O?AWLO`2BY5`jgnPA3ilZ_GA6o zvA1qGbvyQ1|3W)-4M{Q%G9 z=!zxd%LdZdhJD#dY}j|BQ|ix#U3dZ;_I&b>#zOWetk;*NB*WU*3#_ZQN z><(S%KfT~#OaFI9|Mu%^v9&3NE8c#+tRMR|Uiy~(`b_1I+ONM7XTM%Xy6o4jKX||W z`jFE4*sql_Yroz(89o|2<-7UNE9{iVxc9YRe{X89{rcCOeIwn`VPx0W z$@@{+uiYQ9{rdDi_G>Tp>zJMRzr%j*jk907``E8n0w1!g|B(AX(|-Ld^`n=3OnS*l zp_ALMmkJ($i`$}baf{}#y-b$y#4wb%ACx8t+f!dUk?JdWxw7_9r`AEn`dReKJR>FV)iA<>9a4<>F8x+ zdc3gJhSXph?eEuqjeS_Y;j!4*_fqh;=NsCGOM5;m7S@d)B@WwKwN84v+i(_3Tsa$M?D8Abo13j%v!}P^OjqE__24BCFnP zC$^dI6!V=f^6cOn)$dJTYvViLCjV6OhlpXmmVNEIDEAG<;TZi|=1BFw#W)?o$A~}> z##}nSj9?{WzLotsHSPtBo1q_y^=ZZL`yT8@zZ;V7wQ) z1FHmz*4R8NEZ5Leq;nfv;)$aT4 z8SE369{d9BSNUejY8>s%kLqwxug0;|WcVGluYkI~#eSjF@H?M`tj`$j0nYIM)Y!3~ z*-~OeOH5z~SI*vW?T%Ua8x`6DRkPUhkNah;`CVTnjs3-TUO=oZ_nNN~UvYuy+IcJf zp|_gGBJymoXLe-cZ+Wvl!>_UQ@~xjx=TE7lfijWxkro`o_q?R*+lhQ{6W{Zar-bim zF3+K^2l$Tmf!oY?6%W0M@66|WrF^%9@8yz5bENsfSBABd7QBV|`k*=Z6Jy%U-mXXS zpM6_nY0at5&`ArvN?VQsLt2A^Av@!E0rMPN*M-B<{dUIl7&bf;g_luglz$Xy2A|sg z`r5+Y^|8M0e(wE!ed~e`?(56s>D$+f=qql1o=5Yqwc}=gQ>`2EHi8|U zoowM{`a6+2)VJrS=B=9v9(<8GGvG48h1O9v?~jq+HiGjxsmsOl8<#I4^Bn0NUhCVVf>#q) zY>(zsTQ4E+@A!7eqG@@7iofNqTW-zU=-@B&a@YNeHtpsLO)*^;lQ%TQ)3uR4>HmfN zKSDc{CVC=&r17ko>sT-C;KwH!FP;6O_%Y#B;r9f_PJT7oGd~qPy2hTidk1SPXGKDt zeA_OiKh?B#^j)=%5T|tZlR|;{nhS)9b<15;x{hKv^fB9DK zI)@v-c%E;^M?rI=SQLZ(K)6=^;yTMQHkL8kq?pch>J*+m!kTCQj;{0QM=Se{PNzQh z=`9}%o;$)k6!NZwwh9(Q_~HBLC+#SoNW5-6{m{7s%u{3Q+4wS>)Q(o>xb-~Zfh^cb z4gQ!mivAhuRk>>FFhkWBSI4>$8}Jc#b$n~Yx7N=cXtuh5IV0W4Sa8f$o<^M3%HPS| zFv<{T`zG*|Q4fwf8#;Pk#P5#t7#i(v)3^lMAk|W#B_Cq2O9PyFF zx?zjy6n~rMop+loSam>iMh5f0b);7Nhm^8c0p}OwE05qH68oMW{2A@v$hiz5zMGA2 z`9|uJ>@pNM_iZwP{%l^1xdl&!%vtqY;jKSn9_pz>;}m9`!i-UvF$w`64eSw<%6zHM z8lOVOt>Gv>hcXQf#LpH(Tg2yR?+=~X6idH`^w@qNZ<2lyu=Y52V><5>&A&6c z);BSJ>Zisp#P}Kb2;n7rci~#u$t)biJN504xvW{n?(qxr){TR<3jgdS?RoTQ7yLEC z)6FFP2<7Cj_d)zvGdSry&Jm~qMoXYG-a__Pv75%4L{DQW`&!pvV=NuWeF$r41oOxk zmy9x9mBiasF+RlBb(Ib=jW+htnR6BRn>;%6%8s9EJM_B-7{xxkbw1^kroCz$jJ?uo z@DCzxqsvQu?AgMejm#y+=5epF?I~_Hds=g$P3&#%WzSu;^KSZ6icYdM zSNsupkGa;|mKs~Y&3?~}59bT9KQH-8$T!#6_pGz0@80m9dE-XrcCJa?UD#~fvu>wt z&rEYo!&Q7|hUc0F?JG3hcMW@~rUZ+cuW6WRTn#fku7>Hvc@#Cf8s6M4o|g5>`vT&W zBKx_f2lY*T?-1_~8@pL{{(Q=JDtuQ8NNIve=4rf+K8aQg1q_vt^8 ziEfRK+n>*ijaz!~-3j=NQf?M7*8rR-R#yDgLfU$pg{LxtN62$j@&;p5CfH*&cD8gvlb5TN&s%1+85!<7R6U{c3I2k zh~wtJ&NgWwwi_Aov6do7zAB0)st*rl6*7-S~z_yJ}B}CnW*l$a6sU>?X zu{GX;54H3y4}JMq?OWF{S2dg&#CQn)b10`W!vF7L=d2=Mw(|48j{HY4{}GIwo9d1FS4a*>1ICV& zIyt*2Ex(#Fs;9*J*jH_$55sQC+AzX2Zb*mE2X_)&@NVbSW3?^21n=y_yv){Fhu zm%oOLO`Xpt60=r5xpQld3B1U@Kz?{~H{T>4ld7YkZ z7kTV~k2m+83!YBDluze^r|{f0))DAFPh%J9Q)Ew#(b2QPM+W!fdwT4(==qaF&0N-x zbvF1N;ODnEqxx~{Z1CgD?t>nyTs!Yyj+T7{+@!O?zn&638ys7W)eg>|e1kK;YV2u) z)P`Go&IZ@s9@=v!R#$rdpQvjD-yKGL?7E%zTjzcMo^!wJ?Wu#z3eTW)%5Jx(m;2y7 z`u2zYp7LXL{epU8XH-7Icxrx&q3iSi%hNc{;n}A1yd4)~U%C+d&sbFvuVO-H2JlVY zR=C1ZSGtoucZk`jF^)mS$+kg7#KGhc2lG;**;bO5lU0~GHVYnX+t2Bj+VMBm@eaP> zhMr_YPvD0-h;5u30xw7|i{ZlVIpNx7@)`0ezp-csdJ%BL+rVE>>;rf)0M3r-jv77| zfmOvm{AGMZcjTjd?5r};b*+^cwz)CsLbR>Bpp~4<_x%znygL-=O|WU-JJLgCh?^3y$kYMsQwSKi0(c zV@tFjD!=-I-aY*uzUf%4_+g9B;kys<|4{V*!B{%$Z6oRJ{I||QcO>i)zDs5d)OO)O z;XdI+@m$6?$=dfl9vA9tsM++-4ZKT7k%n9vsxyuC{Qs%w+y>L=0pA^dZ|2(2W&=L+ zUAg2+_5pmzG>WcNLRSoUFx0_+a9-#&?#bK_b05b2D0esaW2W)aH1?`Ohg1j+svK3_ zQN}uZr_>%8Lt8yX;_sb-uFdwqcWQ$HbXfdfc-KUms+mT z;BMjAO(oi&aHO@L`*!f`cJS?ZK+^A{hjt!G}em&%XWC;YG@Ay7a+i@!0_ z;yXrho|DR7#+V*yLx02C7EXJ*ryTy<`(9Y?@1%HI^1zt+k> zD)@7Bpn5l%yanXdeE+y7UrO+9D_=(NM^?U+;2GpI+KcRU#=J=XHVygF4G+?4 zttsJl^oLO%Xaeg>`G}PbNY8M1t*7fJ^tYEEN)K*>zQ*{WcJN{ZZc~Fvz@hk|qnv{l z=G?|AY@J@df3{o!$zy;$>DNBj5qTER(>gA9-41((fA6Rie>%D{8+}Sa zmR&-9Z!>mp`VRTy*ZR&Ip=Z%Hs6YS3|G&ol{~7=P z)boF2@F)Bi&lP5!w*Km_D|i0tk*^-iby|DRh*z=XUG}`xntzKuO;T?FH#-Zq0rNV? zIcPj*1*+_0zZ<4a-gi9P!n5HcJ`KMO-p)?W$vWR$m{qeXrw%<$erdON@2xBBDUOxC zE1zGrZuX0thAw`dh}t&j!>7;2|8Rm?{0MT6>NcUX1G7kb8(b(})aYzM=0?0~;0o3W zd`Aj;AdNxGY){v#hj`Dk=4dHnro0Dpr?YoX+<8CN9-0wY5WgMa_0ofI1P%f}Rh&b5+fG|xQd78gziY;p_KcZZuFp!^vV(NJ7w;)vsXg7c zE-dVs{XWMh46FQ66+`Hk=(nFPy zo(<1Zay4=IU*alZe6MF*zaQm!crTf^Vy8Xe0gg+q6c3XTEG^Li>g zqwf|!$(-kEZ_L2X65+MTIThj2wnpom)D7^CwOn<`|4FuO@T1#IUKug%#IHJR+v+}k zw6>WwA-K7fy{Xt+GY}pkJjcE@7e;W=2;ecqd>$DKuKRS9UK2~yY~hw(*=iUtpnUkD z1X_VP3uer@fo*50o`}tYb4_}lGg;3qz=z5>klRa;q4Mw#w-09Q-t%nJIY9%6W%aV3 zLNV#aX?JO_&*{ibZqg-7N)}bTRSRRKvCj6Gz^k7Q*Io!ubh&hfQCQ42W_J$tZ$h`_ z962#d^Q72SYph3Ab+jUL)_`{ub6U!`?PaCxtH5{dtgB>)>rUeKP3FX`Jd^AimOUBlfI+61ouwbrtfW_-ctA}FY~Q6@UyYt3}8UdKh^Wh$n)boN7hkBa64^3 zyo7jPW3~>WeZ6ZUBlvmvf!La;gcfT|H&fP2g! z$Sar;ezoE6r}H2+=8sx+fPbUocZ_p$V{3Vh)n0h>^U;0sUj3;e?OfzGiw~i`+i!q2 zM%#4c-EbsEm2c$ImKdM*DXT3J8{cBe%f=@jMRmNvU9h3&jqF{Z__{LkNUl2qo>BVw z$9n4>9#`*$arIskt@k%7$GEE8+@5k7K}TG<{J3(LN6Triy6~=~J(A(X54~MvM>iJX zmm+%srb|y~$&7E+*a8XP$X$03JSSMZ7g&eLMrEs!!QDR(*ZwE8=KXUE4h6@><~BJx zM`zLo&8>J1;n=!K*mA&EzUp%W2YI&Em-l0VeLM>vHs=@%9}c=Jciq*WH}}fM=Gk>_ z;IF)2%N~E)2er`4KAG=a!u~nXYU~rL>-W45flIBu<8qvVFniD0&`F2TABaC!%v&e= zCG|;iUO9Lw^c=iB^)wgS0tH_7Bqo0rI<%eGSda^!+mX+=oMuF!G3SrvY)`e#PWq>4 zTVyZR^xy)%tM6~+ZuO=4V}T#@e6%#ymyF;a{lvR~6V;E0)lQz5@LfYc&?|P>ShuR< z0lj04zVr3mb^YrulcM}ahM#C)>iO5=s4e#-b3GXN5AQ{ z^fqb1vni+bd6;@0XI=$cspu=Lcx>vufjO-uUA%?%G159a!WjM}2fYXLx{q?2Bb8I# zRm@R#=OyTnZ5_?%@zl0-zM-=?|JC})NuL59|H=BuUBI`-TYU1pufuOjKZ`zcpVHAs z&SLyODt+Wa`g1D!$a&-|L9g~v=_7yhvy48KG$?j7Yycly0&~QZ{0|q`_o6>%(r4VyRPS3@b}Sgg;?+3 zru-@BBkw&GePsEWz{;*u(nsF=A@q^=o7W0_b%+!NB)U&RpfgYeTc^EHuA^oBM-;ry>WT3J~EH7Q2uiA*HgYfedLy_!nGqG z{Kxf?zdIlKZI^iYUVY?E^(WRxc0X{uJ~DweMD>yPevm%$%`@ni&g?`V`5MosqL2LA zn}5GPa#^%&fBHzP9q1!}O*>9SAGv_KJ_>#0XQ<~?^^t1h->Z+T)mSs9F4nR1i|!B5 zNB$9cx0!tA6!eidg0o|M?mCM%iSW5Ub$|5w$Oyco2TJLW^pVzo^pW%Uf2#V(ztP_Q z^pPKr>qkjkKW>lqL*wT?w^tu|$HL?Fkv079PanCG^#1gbYWu0`BXjBBf2TgOo3@@z zA8E})R3B+Q_oI(&p^i=9*pulae>|mEA9*)>KlRl|zHQknM+Wm4(|CR413l$ZgO!wv z=_7|naqSrL$Lk}%6_V;F&N7`9e_N0^RBfkxOjqyXx7VeMmLv5}IKlIPmN8X9v^JMzS&?~+A$p4~Ef3H4r z9{r5zBiBS}ob-`fs57RITzw8PzO28PK5`T99z-{WKGNDFVAk*9UC{ldz=udauONTC zKJvR|$Lk~4^FLl6c|ZT-^^y1S|L@U93g)F(`l$4gXXN+lBdzs>K5_zSF@59<=*DCE z$Qx&~PWtF0Z)1*P`ijpmW*okJCpApZz2H$lEUH)kj{* z{#^0;$R>2c;`v@(aBBLE6dwGuOBkO4UiS&`@$E}HLpv4-~O3GUD=}GjF6XMEU9xb;xTJBW! zk*i;h^ieWqiPc`t)i}FXANfVnPD5^!ZbdLt49xVWk95$M7@wAJwI#x*T~7HA(nn4w z&x!PruYepG(?!)RMTkbruKJuZToLC>ZjdsNFT{}2d zbDK;XG`BH*>r&W1`47V%y6C7|!qFM~ev8$8GBBOj+P zF@5A6%69^Nq)+dtv*Pws(?^autydp8lIM7R1qBrjPux zHK!4Mx1G|mXoJ%3`hO7;DtDSv3#3) z{F<;E%MasZ@hXdG%SRorGC8iVu73LZ$y4a7r=PxFM_>QZc$K--A)J*zDR13+V7hO- z%4NLo8?Q10SxfOM-ynbAcok1H{~f$LQM}5OXr5K%Ia$2Qq-Z|zHFe}wyh^hr_vHnC zwWl{;<@7PR>)f=-#ijU^d&#TVl()`|#H-xJ|Ks9SiX!n8@-2})Q-0ryJyeWCB>vC@ zGw{8y!hW8@wF?``@1TA7brG+IpBA=4om*H#tio8%fx{18>3;cn-%R=r^8Su8_^R)& zCeJ2|E+|$ZH5m5CVih9!6<@amoyZPio#Np(V&}j%2)tIBjE?VPhZAqNkv=L0ppCJZ z&KOLhZ!SlQ6=NrVA@PWR8lAf?vsCA%rgRWI^Y~l%PiZXd=>Fcuzg>RtidShnZ2Pf|*qZsoP`JB`)|wU0I{8rFiEUMV-b6x)iD|@s$bTv&SU5P%iYYrh z6Fmj*1fvis2M*C>fo~>N5 z`Msa{skD!@&hGstK5ydp6c^U~W+d)Ib9gs-)R*nizT6|7F#8Z|9LBNM1aAvTv$39K zYyLj4s``J+n$SDJZ8LC-zwK`6yd1>Re4hN8ANf2iV}7o#bk_NtibVns@va3p5l$+$ z*0nA8?kLt3b^hs$JoIKGgO`Gjp10!0Mh0J`UCqpWZ0z48uiE<#^(?i@j|{#-+Uw|7 zE~4CYN18v);d}0z^V8}o>1znzn^@VlxUx3#D1Pu3>Io5#bQNV4Z`42=LZrp;Wc9Pu z%M~t)_`%Bdb_{=i#R=&ATEz*xFShIq;X_AYb2Tw*ZWE|l?jb%cEf_9kO)uao=W4@e z|2FP5rmJl^S0&GWu6wxFa@BHe;M&af5Z8J5XiecFM&QUBqB&{7zk%O<)a~VbiO}oe zd+)yizq`lIvChYmzpn6s0oM%C^8vf{tTW-Fm0b*otS(&>|bxTIe#@7S*^`}%2N0?_G_qH}qH5umo;vqYx zD$i{za@T!vxnLvW*LmKeaBUrPzmZF42#BTSIH_{K1H z4&r>5F?Q?6n8!VB%~Rd%Gp#&B(Dx}%0e;nvO!A^*x8ksf)zNz|K03BBCPibMML(Q< z`q9FkX*Kxd#M)oNTosziAD0-@^=LnR*+KqId_!%&3j3JapU1Z}HqB0Rel=rGEa-Dp zIl!EI=lW^R=^Y2b;iZ)Efjee!FXfyXhj9=aRkU^&{|&JMmQSU-YJH3TJB{CPR=8QQ zqt0{}?KR_eu6HMyt@C_laSLa$>_{||eYClVIjcU)(^Ug3D6YR5+~Hsi7E*WY9OL)C zegs>_ge;eseSZ=FE<+b*%XfcFv8bol~g8MqFyn zikW+}Q}My#OrMsV9qUUMm2?&x&dObs(|PD?;!{n>4shv@X_J>Wgs&lnU-x<7rq7wK z&dv6~x0%b7vf|DSwAJlMvFLg;c?#LfVFTk*222;>XIV=d*3yPbdq#(k_O|8_>$=HU z`^*+P?S3=Z?muAplV${W^X*E$En1@QuO-%GEwmxx`#U;#FE)@0{HDC5d!Pr4Mn-7K zVb;w8p8tprs&*7-W`U<_!B3SL#ADHi)lR2>$q=W18a!S-eql!$uMl&hI=(=;qa`|v zFTl;)7j1uoHWvkmF67XAp5&myv0%8{roq%>kQ+nGV=FQEJ-}Q zD~Pu7^!%7DG%Z+8Je1^wM=0B}A>v0CqmPr7-ydn)$9O(`8$S57@4TLINDqFBaUkZ& z@;eYN{KGeo)SgF7p6J8@U_|Y;@jcm5!$paEgonlvb1wQdpSW|yc!-x5eG@$seY1SW z;cG?jWM_SXxO69R=tqzPQ-Jr|nL`^eUsT~~oM2LRic~G&GMnD&Z;}?C>uc;qXtx zpYJW^Oz>{$pMk-x_-nuZd2E-A_cZv&0(djQUrMsUr`n{JupZhN2jX69U(*?qJhziy zc?^AUr$I;85^q6WG1{qfCS$ZS^ktrjAJLhszo$$H9I_FZ2XW=MltRN9_f4xjjT;L& zyK-oz-)Ws$lp0*Z8C&hFlWz3KT9@KKePt2(y^47hZCSXJ`GaN&XDWWSr5xU$btGCQ z8h0;qSOqQ9{u4W(WmVjTS4*_#1+=ULT6RZto_|Q6>WTT)c~={Wf7--)Qw)=ry7Rfu z<{ALLJIEO9NP_Otmlf1e#r@y`vrT+udV;B2kz&q2|n>`=r`5n$u zc#Amk?eLb#;PEF}H{W}&Xm4oQ^_^~D64=^ZXw28=nS?{^yYfs)%7*pJk5%r?blClF zVDjp*X87|tCNR%2rhFGZ&)w7~o}`+h$d2ARfM zCkG;QRDF!mQuWbLZ?ev=qmE=-ZkEd=cihRopZZ=iw5gae97~@{a){04ys~-DqK-R< zah_i(G77PbUgmc-w8_c7G(Kok`vUMia4p(m+|}z_zs&z0+O#uDn|7>k9$>aki_)gz z0cNrn94*>Z0-i2C32pk^*N#~5*h2dRlQH^qHhn33`NPnsNc>p@Po)Q|9iwJzeU60& z?5lwWfCn6vGxuIcyGp_NIgEjmv)we#)7?+3*O+fAE9HzlXK+*5*v=o~`_`9-DIk8Q zm9_R+aF51avcmX&zkMpcFPoj&plo5hJafDh3- z;k!I!rBdkKEwtfQ+VCRsi0IuW=-tLm>;b?S#pvA`>>Z;%4CUJ|LhrOMg}#3)bnSlD zl;&f{5cDEvhHL*g5Sc4V?|zUWdY6uFAT#(d&!TtAdkZwL5}J1lG*A0Nl+%w=r^CN> zh;V0GM?LKz#x~eY8+^=13;3yy@-6i9`4VU!`zB>erl;=){?88nG>qLX&@^9H`0;zm z`wVp|epq-_c&&~4egr%utq7U)zw-K(+Mni8Cs7o&Tr!PTFO(7kT*|4)*!>Rx3& zHbiLdXVmT}{k@Xs82#<#L(+pcF)xule=x>$l?f{SnA`kNq=cyzZr^F5|sdfga&D!Ei*z z``Pu!%XpicPcGv<13uVz0Wb_bJdupIgFISWlJSOr;W!!Zv6IPof1qvKXq#yA2g!H~ zfS11b@$Z%K9%1}E4%XdCWV~-?pSq0qApP+7>Bq@ryz~3%OT3KtXJGw*x{P=G9sj*D z-X!Kn>-(dS@y2qN)2YgMm(cION5)%>t@>Xr1>cO)y7MU8SH^2n z{wR%U%@(DLKL6*!PD?I1yxg;eJb`bg<)(g%E4<6SM`s@^u150VtCyH}B_B#IlzbT5 z`$Tf1WJb#u7ro~Mx2J2M@iZoL|Ao`jIBQbT-lzC~EoX!e$|F{1C9$^fim3^n#$R&J zw0RnJuKm(?3-``SFoAkv!F+%8c3W|$%f>f72oJd347B7qH}!Z%f8_!Xcf(!${W$T; zE1aW~sY`rgjPHLHzHxP;nIqd&I{mnvGehm1Pim6PoYj@i(T4xpQ>T#n-Ibg0NPcoBasQL-mLz2+%jrVjt03RmaD4Xla0q}>&O;3z4b!yX- z>9#sgj+u*YzWmV?XgxgHS`TsK#`v#*m)c-b%S+g6W5ZCh*vB3Q8&b?-?=;WaP&#|K ztr$bwM%Jz7yEb@aA7#cNLn^*_`XHyj&|&;xo3o=`XUSvNk^Za7*zz}?ZqDCuwpqOJ zbThYr^W)irW;guvhz*=0SGBfk)DGmi>E+&rX~9}>x!2(w6hbDoGfqxx zoSfyHmEO?4FsES>>C@@IVVpKNOu0KcCO4wHD`bo`HX0X=kDD?f%Gh`(`Ih}}kbBb0 zZ#Z;vxiMznfAtd2yV|RYb#K{CRfpjB5zZTU9h{=RKE-`GaO$lDKF!5-tAR;R`TU0I z4yWJCIQbYOFXQ85Y`lz1fc%1|8@UUn&C}y7I4%GVJ-~4>W#F3{iz$OHsj-+c?DN;? z-RWwmrp)}|ol~?{e5@bNK(^L~*5mSFol`XT(m^U+Z7QZs;~4V-*2szG-TQiYvSDrK zRCpU&m%1C6^MJHhpzHa7y1;9 z32iB$EiHZ8QpCIIz|A7=nuELFi0HC@p3I!n$HCwb_8KhT$vRr{3C~({F>_)cS?5{q zZ2(_1E@zL8)xbujBcY@IweZ{}j^?G_wihcZ?V068(RJcRHmxyca>(v!R2k_iwT|4p zSD&mgp#Sake_yo!cSQStsHguaR{syte_yo!hvhj+kR- zExrOB%Z7Gok1X)Yoaw->9e4|^vW>P^+UssdkCV-R!Qd=tRW)n#2i!%wCUJ>=ZG>*I zKjh+O?oH4v(Js-jzeMR*(^qYEKfftL!S-y#Tc!*gnc&rBphew#jqA_Mg#^@!hGV7eQt9YR3SxSVS(cbApo&Gsd zdL|sb!7<#TX9du+mUMG|_yTY=G%RVx9RoY6qWVI7O~9vV#ZK& z6^m|RACXPIW>8J0M+{_fP+Rx$pPd#h?(o$_<>IZT%oM>e8! zieN%IW#MPRfQ|Xz3qBXj#MZW8#Y??5=B;3;tqyQm!}bW?{w8gk zPaVFe-To7`4cgL$KT?`yVv6I{p|PR@qH@zK7#Lr z@2B&w7vE<_@qLDc?_UwVr$4X7;d{UJOxJiEp`XI_?Z@GIwb5&}QMkUo2iK3ZaJ>Q7@3lqXAx6j5 zw_@hYqNtM<0t1Fy0K zybg`9&Of9LUeN~VL5R8aq6coN!G^?m!Po9?^|Rj(^R}G#IedQ~`>SP}(f;-?n=avu za3ww<6|Sp34}bavhka0MjWZw_>FT4a_I{fC)U#LZZQbPzw3hPSJD~l@vHR}vbg4Zh z<5+iGg6VqhpMlntFovQzW4Wq$Zm(qj&g8VZDyO4v6aRha&o9TWL%r*MGPD%hbi)hCFbU@hr6?4~(VHq2GEM*Jh^pE7?2Q!~a6+YVUw|H_q}_ z>_xKumx7C&^nagY^ltosMz=6trT7DRo85lzAmjJhMK?z8*0|WpDw_6l_i%?U`M;Xz z**2E(xh~zaZA9|Nvc@Nm&oX7#HQCsAXo20cZSe@twjA;28SjqOL-cbhd5 zLVk79)+g8(`~mJya%t|`f4X55^4Gbchmdo-7;3{=trX>^H;P zqUD~ZTsu5{3;OvsaGsky;;}b)%p3AQZKp25=|tA4gYQdTlq_@R%2jLcAZ<45XANn| z++X3!M&7xd>wC5Z-~BcJ^SM@&{~`Xr0zBTe^0c~gu322kT#xepG2Y$H-EjYr%9-o& zOJcuL`}N!RT`m&&lLb`Y@i=7CjH=xn)sl(c@6`+`Gs(hWJZZ|M6ua-#E=*!a9ymk9=dGAKUP8>Ggc$0PT8O{Rb!X?Z3wDpx%K` z`o7b+X--PO3w__U^GkrU&C_;D?fNbbl_Ldgy(jW zH(WDzk9-tFvqi6Cv|74G$zw5HV?50ky&l3^63zY%vRE$vMYne&j~%+hbo~Y%M6~-i z$XcS?Fa5zZzT`*@+yt#218q4In0$#fcz`+%?d2VNh#m-=MuVItx-GmXy`!nfYf7dL zmu-k;2NmtU-=f|3kJ{g68u#z@KzBWjPmPJvZuVu~|A)B$2TY?UFRG{HF52Ck3++Az z?G8t2H{Z5sH{WlqgD0y=2<&9ctUSGu>nZA7bSC@)JV0A5G`bF&z5#j*4Oja_(=UU5Yd%HK zMcdn;&ypwaS{|V0InS6g**$7KMD+> zb9)Zog@8rdHI~r(M{Tycy9b@-_wtPv$7#XW@qfWbf1B}{fEyYrpN{OZg-wQiFCFGf zP3Zr&CHlV9gzum$w`@_9qxnls2Ph%OmT?@dj^kixe-5y<-4;ApcfwUKRVn5hE<%?gj^PArtL0tgM-=6 zOZ>3LA{!r1(cgUf+H#wxOa8l}#qu){9oE{|p^qQlIm=Fy@2A6K zEjrwqQP4OKc=ry+H?Pgph>mG;EAZY1d^1Mnt)jzYB6N7W%~1}YmajD3-9tFb<8*Uw z2RzqN$7%V}yKhB4@1&l3d&Zy^>S15{{QdBX2cf%%psg=Klizsfo!VXWzlCq;eU|7j z{2lwqk@_uM?3u79h%xQen$$A^a zI?sT<-o+Y7hpsM#4i6vZX*{-S)!HGcp2p|6r)7E?&*naCjHmGzynm2q2bYhrM^1jO zn7gg)#wOuB@1l|hUqa^;!IC*YwGKJT{{XnuUUoy%RA8kLdgd`BT@PDnOPi(wTd}mC zT4~Fhrm{C=EbS*&+E<&V4(?6+k(Ku4rm4ev(|%y3EohpW+MBl3O1rLUYG!ZRV^&&e z)6_A&X@$T}Ht;>qXWp>klPj1rWs{l&clA8G%xN7P;rBvo*^8F`Nd8nF&5vYv&5?Y2 zWAl_!b);5fA3yG&p^V^z7?bis-aGK!crSROZ2=4=z!V@q5F-*8rL?0KE)r9+n z_v3NCgGr9Z`AhXq>$EDR4h96gWFxUIRZLMBWNT zn5YJ2C`v(Ne)$cKfouFs^<(cs&8U9@_0`ETZ3%)9ShBP~U#=gv%tB??iw2owDL4 z$!U^Xv=*1cA1;FrTnfJ@yj}rs*TUG{1}}FjeA_MXXg9-)N$&b8Jl10Psjt8{Er36| z9zN(g_?_?U%E?;Jbv4&iu1v0@J9Dz0=i17(j%x|mm0ag?4dXh{oRjqw*MnR=GUCvP zjA%nfbe2_gk2PcbW4X_lTxg@;1LtRz4k|^y^1N#+yRLgB?>;g3T9<3s=UpoYu0-Zr z-d#nSvus&+D7iT6i#N}8*~(UQkL7>1xx!UiakXppiqE=A_@7m_wEK%UU+Hpluhx6U z!wmj{>xq=lxW43^NuH(DwY0nN<~c6;();qfS=kjcT*f5$Jv_U)>X+qo7h3Y2z5E97 zfaaqGoEb0Q$q!X?Cb}Y7&!#vb=DkJmE4l()iLMNO^~2H?Y)Vo6XA3%kY0#Et7w7uX z58@;yi)OcT$q&EfI2q4b4y@-ZO?Thv5gBhb@?kxEjAXnJIueza%rE&(@|`h`LA$EW z9!uUs-*I)H0%%%6wBID`ZZ@KH;Z@3TQk}Q#ouDDm8Ltjii5qZv7@?0`` z@Lj|9yWqP!7L|4{!VY%_S2O8eWIOE}?vw7MthBrE!s0BC)8k4+$5+pL$#;d(_bI$z za#3-X*IwvK;Jr`pS=;@+m%QS$BR8?`RZe+gWq*l`ltg*2%7YL3D=#_8XGazUPxLJ> zImu^79t3~%eHZyI@+Eks@4HP=+3Zd`G9x%AW#RGd(l_t4BO8K?`o7aQ@3bQyf}{Gr z(>L$5BX5Gc`o7C{M*133U%_kY>z$0X^2NqOV{Pob2j}(oUSsXnd+=d@@14B&=smbH z{(UiXImL5rW@c@{Dwv9*Kt6LVXC&dR;*OH9`dtlxIWz+fBmCpmH=|E~tONLCd8(2RU2 zzwlX?Dm=&u5qN>kPn@-)q(tX zp8g{zmU8!)>8^A2-!rdiT-p5Y9B6f}{`>eZdTYPRHJ<<3yvsHYf3un6@|jCq9_n?Q zBG;Aq-mC&-LJxU=lWhVcD$ePayjV})EO`-nE_qR7b)38ieUbkXbhRU-??Bfzw#C>l zExImvi=*qZNq#7KvB=Rw*ISdKGUEtjMq~j?W@Ih21N(ht#ushQ<7LL7X7Y=Y8R7Xl z9YcC##-r3zZ_gamLOq-*O3YG5{!7s44ruft=yMx9X6ey)YBw_uEqq7sB{%+U(fR0Z zGxIZ(%}S7aN{r%{)L_Dp&EMo4R8% zqi`U5BJJ^%c^iC*QJL{VN1YcL>uGSjqwL0R=@&|&k;1cHaOb_{tN-8smR@#)e_I^acfkR#*Me{ZD&m&lUw>Cal}H+SbC zPsXRm%akq1j)F^5c2>7w)5o*R4C&a250d;Dm(ySQxhRif+!fELd5fRNRV$Cw#?O!D z%GVhWpbC4rjnP172JBg7j6Kw%@g=+@?Aw2gg{)cOZSu{fQA*MH!45`?)m|jsj zMah#yS02 z*Z(GRCb+F}9dc$F<6hXXWNOn>_N{6pq`p%04<9n!yzieUPkXqfR&YSGd7L9^nMp(TMS0T*JKp z-0kJU7qG`as$#p0)0Ak^``FuSmn^(H8M}gun1X4=kTY&Pd!z zolhikrY-jE_xU_dFz0W-2%pCZ@_8(X_&g??5yS?SZ^T!m0H4Sw7KJLNMSLDBn#aiJ zv3cn8c1?z9^M@XJ(r@$;i4-t#Djb<=~DT>1k{m1DLbj&}@^i zPSoiWf45tGt;Ar_R8FU1SiJy`h@sYuI?|r_V z^~0ht0bII)iI99dfeHEUn0voDs(GM%Wtx||BEFp!9`wdJz=Y!VOLCZF{FripiKwq< zg-8E^2^TO?Qo?)rf&vpRU;^LI3XlE+6X--2muzxXv;Z^XfC=It^XKn$Rcx`#7pHRX zIAG#V@ZoA;Li`T)*5Qf3!`B55_$CQPHlX`32@&7WdA0%g$=C;lh_kZ;4^9gn5n4MPX`tffra?=SD^dTfrCT~4tndE zq;%lGSa4vcT?j0=X^W4xtP;MazuHg9u%4e{Z8w8sR-4Int69U% zi`pxm0B*c?SA~zU_U3SBjJ<`f3i)$r{hZ7F3CrJeRC$Ox%0>J{N8$gNkuM+7{qQBz-a==wD52$QM-ov+-^Di0(+V`DatF0e2Tvget1~v~@i1v@TxZEJESiZstSy zHniQ>sF>u_ET7O(<*lq=t51wisV-xyYhKn?;d7X!TCd+3#5l2D>s#690bK0^PggRw zW1&4-WAG?*Yw-&;4$o4Rk*`o2eb72I?i`x;52Z+NSRkKs?Z*?zVl_Y{N2uq88Cs z)U~aBm`TFPh}wceK%3|L`_BwaAhEb@_kExD^UUY-|J-vQ{`dbrUZ?xIt~-wHZ>rA@ z`h*QZc^Caj^;hzgj}M>h>q2m(`YQZkiq#fi2ldL2a2P&1q5sL8GiK5WS||O_Q|4Oz zs9~JSnCnzucJjWBu?iDv%%mT*mHjl1a310R0}uHuVJo4^{UKRyKjHsZ>4hb?9bP3J zbZCXy_oirtU8}$DC7w)5pC(sFjLFj}9pFk%h-Z`C4NW618ov>g4IwA1CIi27?g-#&ek4_+-un9@h3B>!+ z3B>!+3B>!+3I4w!olrXnosd{3r_%|^^>Z4XkVrqBPDrE=Oef4cg-)nFLpotz8lB)z z(g}p%-v2&2A#jFtLLiM!@F(d6LW@qI&7VLgTySV`I^i7h&YVsN{FUj1y1xmX(EG=M z>4Zb1r}}z2odE3ki|B+zU;ZLGVOw@TxkBn}Iwe<-Od%zIPTGu=OIJg*nKvm{kX+J| zE5OGeL1s1@Uixd2DNL!_^;Obtfv%TKLGpwyWX?MCyd1v1XrjM&65&$lRml^=$P*fa z&<7tmZnhPlLLU&1H+;^QkRx!{F7$z4bS-tZd66?G|NHrG;IAYjfadLIGb!5=!y`FD z9C^6SD&v1>IWh!4_K}js-wiE?Ea8MaL1%`3+B=0%@`Oshvl<$*jxZ%hxFk)EP?wY= zWQ?}8I)*0fOae0!a)hhlt;4+c5pwFELd!3O*1HQ`_W8&X!q}SZHieB_Et{0FjmrsF zBTMjnj!eQke7 zd>ZkKh`;Lg#V>nnFTWFci&g%-{^f^~Zk3sVwaQoelx}Zy(*8&2?*s4!m86^c zT3=gzsqaVFek`$PAs=Jk?@ic#T4z)yyYc?6Pbq`hmfg=z>4x128O-ja3}!cbJIp@q z=1lJm&f~-EvCYOnQ$zR~H zePR5)HnXQhSJjMk`;6l3DbZE%-o7w4WX3{z zN510hDbZOqwQgS&yXI#0l$$+O^DXj`LpHOg-0UgrO?_eHM9u6eH+!n)d*mz5o^rFN zYSxmE%&D0@5wY^7$-a`qIkq`bD%?UNk) zF1wj^r7^R%`pvc4PxwZgjXuVRE7?=`GS5E&*5$IN!i16qHL{=Pn%u_l30Y8Pqu1o* zwjp;ZW$r!Jelm@Bu?8Mx4ID)0UU;-r`-!!3SABqVk8djJS}W)dk$$rLjp%S#<=Ic^ z16qX*dtlxt-X|1Kj~I^YcHKFe`8OwytS83mfwhem{s1|ODD@8MAm23 zZ|$X%<)@NvmACfN$?`XH4q%nH_R`7n8}Z?2mACfN$?^x;7b@?y_L8k}Ipecd<3qak zSeU)l#@?EWY(VoS{bs?$4rB-0FGBt#oKiTgRXAh~_(1E{#+tR(D{D1S>h_iJ&KAmg zDeJ)&ZB0YK*OrhYohWOgtk$$)JqJGP_Kn~jKe8=%Qr;n%mvESkHeEVgGOt3*R!Zq= zN0ho{1M>*=4z~CF-3fVDGksh`9}V<_=3X|=+*3mTB$qm?d>`j9((l`Y>}W6Ys|Vjd zwrVeO8p*F@+pIE@TSoO4{i}ZYBN8N09C9L4G4WamiZjjOSX$ z6Iy|9+pKTDL7wDSLpkqH;d$;S+aNq2dnMeibBJ_Xx0UqQ@T{Cu)EcHQ0lS%Q!8*=L z1nZ*c6Rw0l5N)uUajJsm5qxR`{{BQmI8f(ceCC8eH982w515Km(Q-7Kn zJFN-B_^53!@vdZ7vJKR@NpE5cenF*69|s=%AvvDvgUa;~){=e}>02pRK)9B0Bw^ow zkycGV1N%#9)n!RqRcBw(Z*%r#>?39*=+%>FU&F&AW5dJN+1E*$wYW!TUw+2Q{2!Y2 zuRyczJ%whCot2fnJ)LIlCVe29HExwZon}pxKb>Yxls}zj zP1b)J&6=$LG@3P8|7kR9vi{R()@1#s(X8=PXx7gEjcL~CDKsnbel#obel#obel#ob zel#obel#obel#obel#obel#obel#obel#obel#obel#obel%Yxls}zjP1b)J&6=$LG@3P8|7kR9vi{R()@1#s(X7e(Por6r^`AzwChI?q zW=+@!KT^3LC!W{rI+nzifT;56%7 z2Jkl*NYbY%-*W@WQ6*oEv!RMv`(*1%1|Xs-J*9dFN?&n?~_cm37>P4 zsru2&s!8f*K_^@KSqqXf)s>?X^3=Orw$?UpLZ&L;b8WmQ-K^ijXC-{k68Tg*-LU!6@PxzjzL56BW&#DQ3YA>QsmF|14$zf}( zN&22!fqys2QS0#eCBHyb%!z2wI(&b5(F3c(HbQzJb@%|g!IAJiw_=33HV1yU4u5K1 ze9zS(_qY$4qhuvFqW3J>qhuvb$Vxm(-*cO7dGK6L%lBLvwtwSzr^(@LoLOJ@%(z8m zmhZWF=*P(S+JQb$hXi1 zZRbuX%lBNPL;6K`?5bs~%CXHz_dVxioUTgxo|6n$w%PuqOi41@u+4G8_ngBTCr4u$ ze&os)C4A3S(SLNO7(avWxx|>He9viYG%gw+`JVIePRjS3_LlS*rhq#?l}_;>zUS1} z?eM;JtkZyeBbqN-zURUX^PX9m&?|Z-%zEOSu%GWat*0BsJE!@cYi1pW6LOhnkm0l= zLmbfeoD;c>`1dIL$Kv0Yxh!2I2XYzBeRDEhZK|Pu=^-_g!o8HdiKyyXGn8nZhIC6|#uImHhW_EqKf!&#{_LE$dpES(Le zp9y~8$lTD0?S^!Wi@-m}u}{%?U>sYDuY;q!{O@|m^j3kVx*jv_Uk6VKHh!HwR7rW^ zs&4SW9_&H7up#ZlJ|uNsXux%y`2LCGvqye$gvZ)`8~CW^=E2ViYZ_DMghkdlp=|R0 zk-ke`TRguv{~wFu*tf>94V5g0^RSz}_$P|*Caote{yWni#^yDKJ&4MA^#7s6f7!sw z-$VQeb#Tro|3n^rL+vE}DEBvYVjFs#`-tL?Q3f1&HM)0%Ee>$wWNcR2Z1%`S%<&C2 zTW*Z?606E+>1rixVyqm+J7Oy`T6EWl>|lBwxf^0DcCqxsvR9F;@3!os)|+SAEZ+qirFYuu@AU&WjsV|dtkrkX zL-lYL^#|7HN8DQ$W6yp_f7G`>V*4b0wocY*H~Yy3-stC}=y(41hYC*mD6&(3_ipL5 z<1a%vgfY=Ma2R_S*|Xbao5DECC(jma@??iv7xhH$w>u&c@M5cNWaKuUA1wN&Z$6Li zK>0SheGO+JAGP_X&*Q0U{HCvVWHfZkglOny_UYY=zU5m~8VyyGzTorG&^?Q4d>1s0 zcGY|~8rrZd$Mu6n%cyIa@4kt4*G)OmP_PJp40A@f0?2*mH7@fVFhg9olt)9`Z_jkq zejysl9BXr3M*50HxBBG&u$~ay+!7du?qo?cbir4KyEaTLblp3yz%{?|R^QTdqM@0D zp}&iU_7>V*wn;Wu?HuD;HxBrPP15qhv95rz<@$}uHTnJ#wq?Ud&0zjw=)*~-=zTC; zw54IHFUDAH_x0U*$Q6M|1E7HhQvkQE`jk?)i zd)QB!^H1_^*gF7-v+OKS)L^UlY(3ukNLu9@gV%_Wp}JBY;^O&=24|y!{3KpNrj9!|ge(Htbu+ zlirK}py$ckPJAeNRjh9h&ve?`PTu_6Gg|9z$42IM)A|nSJ9vEL{eZj%o?|vg|8LteA{UbX9yHJO#5WKR@oXgiW#aeo|4z!^Pdva=$NxXFH;=Pd4K#KPI1#5D ze&9B2WUU;-9&QEk0`R(zXEx7wc%J0hUJ)ocuPRWI>sav5?RIQudF~|b9m0KtcIsP6 zTco?NZP7emz&~R4mpKzSfDKIsWg6ITciJ-|>p7cVZydAQOpZ%-KzCy6*}y(cPnYka zJMnAOz@AG_m;KJ2*ugfipVHIM=Q}T2dBYFM&Rl=wz|qyd$VdZlB|SayjWLl1U_^R);v2=02KIk?`kLf;jb|8|(tPCshfdAgOJ0WZfHSGQb<9D4IS^cN09TrTCySu{n}9D} zz?VAoX|^?t^FcFn53IAN23`2rDtJcf`8OWfyuM2KKF>aAhBz=o_pso*WW)Q9nchFH z13#=by_bFS@TzxL`-%H|-+#>C`xa%j??s1~at_3KlZ4Xe9;)4==*d6 zL%VN<&cMD@zLKPibPek|MQgZ{v_>cNi|CC`aB_;?xa6k6>5Z6Z)A|I>5o0ekaleh= zNF19%`BV~|P0$_xR1}A%kiDPi2`{oxi|)XNR`z`-;?N-h`BDPEtDMpQBn{FwVQ{)5 z{%_n92@N4y;B4rN2^L>ut~~&b5#51aORgQ-Bj(5|zYy3n5xWfQ9!<_bJE6}CZMInn zUmHWp`=CMON69m_X;+>FOLEF{71BRr#_Whelf>|eD4HzY--c)qeP1-l)zBK6YtbK~ zN4kKg$R|$mpEUG@|0Kx=)=+jQIyD|>*EqD6XpTRE!z_E*C46%(GzYj&^hQ5>S!j#S zThr`ii}NDY)VGzox-5HHhh;CTF_OKk?8jyryX8MgH22FkSL+JLu!wk}I519jD|WtN z;C0Tgztsm0>&YhX9OIup+UyRNqBEA|-yJ-^zTUTW$Y|F@@u7`q zI^ko<;A2VlvODmx^da`L1ujaH<^t zrTA2u_RK?+31BZPyO7n`!^XLfEk+sn%O1ks$^=H_fwPOi*=MsZ&cc7vPS!&{{*!({ zJRAQ>bKqB;_)mHj96y{VgY*@Y(Y}|j>X#Yk5%mqe(#jFDYZ|`&Ofx=|g!j!vm*qq0 z3E;Dhb+E%04SCIoS*6*zu1Br38+|)6PNx0DN(=dR3^|$h?^fC^z8ynPrpd38t^QlS z9V1Sr$v2X%{wCj!(I?X$x6fj$$PV{*v;pWAMSBXDQ z*}B$p29dIL<;KK0A@Wi~HG|{|P)2P7ppgj7_WfCOyH=RqpJUr9oDc`rb+f)7k&P?mf6kl=N67#6p5eCk?*D`j1qO=`?SuytuDG0i zlfo07_`-|he@?g|1~2*_H_E1^U_hG|!x-3tDf`#aJvHEk&fyj9&B6=7x4F>F75Vu5 z7G3~`S$HAEk8&4sKYkScxD7wK8f%sF>pwi3{#$-?@e>!vx0%I{(ngCPrJXU-A34^v zOa9G1aAfFCx@$Y3alOEc0C+-nv+>pVS;GczHazOR^tBt>`y9eLyFF5qV~@!8%@}8H zop{(OO}oUe`uQ*UjqY@oZj1QW7%2u!?)g2;_#s<+%QJ|m*7c!^tH-h zlYktm6ZjTGZhd{BBVw2Dw_N#Aus5y+M#UMMLiYJ_?wC2k`muOX#;6eab>TKo#KS!P zAgeI)1@2t`KD1Gk_#}rvbU9BK|EDZn65NXamu}Ym+3W*vV<7k|{IU4?|2bP}$pnWZ z(pkSGcnDa=pC%y$A zE`~DSt$*P` z)})2MI14@W3BK%4^AYG6mGBYB9@XCTqYHWhf3ZKiEPgiWBQWW!*X=k3e-)Yw+{3|N zW6T`!u1COK$G}}N`FaqY0uOp{FSv^}r~lgHnc%KRE&ep&*I^I&!qcAmlf0>L*B999 zF6zYhUb_#xby-u>Ll=U(CJ@G1uXe)N9Ze5)AwQ|)VI8+Nus636%Kl&a?2SBvOQwEl z&}Pa?ituG$LA(w5Wi7Vc%elw24Leo;n}Og~`8;ASQ@(85GX3pQaES7@vEJ?ECH(z4 z+-*5&d90;=dBf83SWoGBWAXb_bISKme1o-~Ubf%&*i)JJZQqkblTEfWM+pOz8DnjTM8U;8*JdwtKC8zn7c#xz7Txv z!FS|$lVOn1M!xRqDka>^ejiR+C+ofsz1`(;@SnvK;`f68lgNvKvxE!eH+MAgzN!TN z7yoxEPbmDK;s+&%PMn#7|C2o73H;Cg7yj3osfGW+4>~Wk@IO4Fd<3mT{^JGz>)cfM z|DTXYi#P0sFYMX|?th+VTLS-!H#vd-p$p>RV&Q+uqW^>O8w~%qF$O2`|5*wA4`0}v zxntL2!Z+;p zSr1cIG=q3W@reO5ddCl-1w>aBau4zmzV!yr!=L4w&}GM=3r^z^X^Uup%fb1Yd!6y7 zc*N!W7oRA4KyvDNh1sn&*$FxI{d{vR`8UEFShN82g++VFe?D}EMGM?yEZS4Jq#GD2 zUQslF9hzW5(zntIkApK${O1!FJhXi1C;cjQ;zM6N`gUme2=lkda327&=`jDb_H_@0 zzGLyujL|PAn%0N1a*}?QxMv-|yA$ib9hBeQ38FpBke-o#{O#5UgEsK$l=@qPTiJgT z>u(8W;CJa-{+Horzl^%G@VVr~&(d{y8Sbg|b-}wRUx1$_8@`pE=D%nLotK{tjvj@7 zCHdl=P+uD?t^ZEYYsN;l2_Exgl{nqc78kf5$+x*{@<+KVoFm+3qSx}XbO4%d3HQ|W zK*K%Xkl6b@&@I~k2cSbvg#m%_CMbO2Hn~0Whttge{(R+V>mCF7s-%v7zL>V8eCTUk z3NN!>gqQFCv_AB!5_q|bz0(9FCr_=Olg&Gx_I-xS-$-k~1(O~j@uSNh`4J>Y28!CuBj>2c~G0-l!6 zxO`b$(fGM%LZED1hGc-1I>`y+(2#`xQXm#=jB+plo@+gFfQLmhVzUdMAjk6><~vG%0zrK>n6 z1Rl$$QFi^pU>Uxb>{=_pct0>+K9jQR7X-`jy_BB*vXwqRScdPV^z@xp`n+HnzL(O| z<-;kPbyAsh2$S~Z= z^?538(i#+g^3=myv6iF6W%ITMnlZ(TUJowOo?XMUm8TdueJyEPFLPNNThU|Fnwi1> zTK?Z4T*NvRJi6hHzBykNF8VXPXi9%a{HSozVV#8n^F;Rv7adCSqDS$CBz$xPzes;e zo)rH`Bg5dNv5cF|^2;>J^2?Ok)3$A^*bBl*(}UB&cQYJ+IZx`p5ZnWQ2fS{NrSYU; z{r~?tPkQxVkteN8<4HTyc+z8^z>~JZlZKK!=@#a-0b7wtJX@g6rBfjuv=jKX5V}6l z7!OV+yb1a~PT9Tnhl1kMV!=bf*}#g0OAiI3#21GS1;-Pwr|kFOEpOyKm1}J5vUt(F zMTacjG>39qpn)e+PCV&e(#4Z5YV5Rl(rog@lg0=S@&37dS3GGPy!;&Xi>4G`x{rL} zw&~Qfk}$=aF5v$_ys7xtfq2tr`9`MRfxbVFa3J1Pu%?@5Al}ru={58tx$vigGaBzR;Z5VC>kqF2kB$(3Iv4uXKES@T zvoAgD#pUp-f+^^n^~ACB)c#EIsp2a|Gog!Sh2JK$Y5ykq)Y0tyJknBps(8~BpSm^H zH)jHQDL!=yeCkNzDcayn`BaNGfcG4eP8-0tewd^UK7ckDkY7c1-3?E3D!=*z@vD8N zy&GP&>lg5On|W3Yz^_`mPNp5%r$rl#WK0L54Yq9k$D%gI#1_0TsQU!^>|+!BY9G9s zcuC|-C-_x(m2x2@vGup#e<4x74ItF!Me}&19;b4;YGbXW$>cnTjl%r z=kTrKU&XtMZ@nJAw(r&izxs1{)e!uy_|-1@*iC!)z++2Jt+ouvr{0Qh;4|P;cc%DM z_=FRDs&$r|xaUo0Br))GH@wqnd@B6SseI~M>gzr(8r9h-o;A)G{bhXWhebrvCQ^li-Z#|t)?SxPL06ulhnenOc zRTiH*+w^{B;o()Cz<|WMwKw+6X1ss}vH^G^c^;bXb5t~L4ScJ3*5(w?$~dQVq`c;= z1kcJ@;Hf-ojd)h(*IJw6Sy?CIS*Ltjo;4{;?qdIlXZ54kEPlh{S=l>o@vQ8ZPvTi= zuf?}7l`o|XDf<5?Nky_CI*vi*2g#`4U0 z)mAhUyc%7Uvm>F*z zTIzp-vewy0-wNKrKIKoj+}XulT!(pg(YTLSx&8i|{pd;W=RM&~n+cD+`<#zgsh&UO z!s|lI@~%}!b0+sqmYSB@N?XemVE<&!E6O>qn8aDdMBwJx+*3Ot-`_jFfOD@x+EDE8 z4V2)w-EP_&GfjI#j%i;s%(U0%nBIlMOz(n`rg#2XrgvTuKCw$pZ|wxr+f>eTj_HjW z^E2}$(_;T6d0>LSw-lM8-JlCWzriEc7^vN9 zf2!^3PZMqULgv7IGs$0HRl%=IIS1S+DT)*_lsx3E~ z_f`J~lA9uvdyBf;?Aa~mg(W`x3rv&T>agZ{VMTlTJUWL^q=|YT|*nyckY4Pus&MU!WjH2(f?8Oe~8t8_5Cr{ zSNGWPb?edHcs|?oK38bkUl?beD5T%2SM?bBhyBuZg6%px4ma6GE$1BIuBKua>te*- zI$QfT=nLtUjpvU0{pbX3ho*4we=lu+? z?8oTUP=^^}N0*!L2$%eu>75My5xv1YsQa3XIlJZF2Tk#F#Z9~Fcw(*i4qpe|MEmwU z#kgI5cBE?^@2-|idqPQUUAR5|ZwdX>*q6r-w;_i%d}A(luF~P{dVY0L7ia#Wmpr83 z$G2jWZJQn-6#XMzuC>6D*yM`#u2%3NI!1ceKo52DZVl(_wb-b}X3w1Naa#T;rd6o? zYV?c=kAoMFK_8*_a$PU*tx#w0z>>r0ol2iHyZ*M0T+2_ZyYXu2ltbHcPG2s$Xn2AN za_@Z)x;&QclHRk`FX^xi;T$S^QpuKv&vlf|Ptm4h8}}nW)qBYKM(I7hFW)74--{lF zVB^=(+gu+oNRISI-DE!JO;d|-xC~fG9rSvDl?a|@8FMVkK}ylNOVzt z?~k!r!-sU8$;8$Q+JthV7j7g}-_fPuo)CL^7kaoq&pLXc*JRCNoUJ>f;>=Sg^dS1+ zoNF`RtP!1KxVg_vXSJe3tTPSPX$}4J^C+&fUeU49WPBL^E2P6IIrTbda8sNcXB|=B z2bNims7s`AAd?xvK_xJ(m{UML+Kr{-K}U^iyM_F?xnHLx02c_gVhO zljElG)i`6n1TL|cYuq0pKg&FLo%o=Kt+Ix^Q5z0X=4TfjUzKV@fN}K$^Pk}R%3tA} z_^|NXQQm0-u51OqRQa=7Y||>(i~bhow`V!;1hV}t%uA2MW9A@tZkb7$`R1aQuyglS zF<{nSo(nj$`D_%OKVxe-&u?ovH*9M$9&?p+P0oqhTBf2iIK^*onH;valt=9?lZ>M! zYN8kK-DYo@=y$Z79d@*AQ5^sJ&nd)S6I;5ACqx}BUe1wbn2a8~?~-a0yrjC!H?!Is zoLN27S6N*dtgK$(tE#RGR#o3i`kkcz(sya~^TA828%cNi{MA#YUs*lDS5bXAra|Oi`q&;iyr5Bn&%nb{~2v~gfc(j`58|K-;C0x4$3}T5~`0;XP7!y65d02KjDLf z4-vEv?(;{S-$rX^}o~I($}||LgV*0g%-|qhZY2Qe;)N*#s7N#-@yMl{QoBZZ{h#n^FPSDG2ZQN zV!YfT&pS<_`EBGs;ttJ!obV@vPxFn-dA`K+Ro)Bp-b%uI2=6C+knmy3{*1EExI^RL zr>+jtzfby)NQ=5d;|@24%8t^$kD5X=ohDS}F(Lmr6S^eZgl6UupGbTP@qFS1#Lpu> zjd&sPV&XpH7n#s6fmgt$4cNxERB;|$=`k&3F?Z0qLlW3fg^q5SDG64gn_CtmL?5@z zxPw(;LJx7}`;++|(v|N|<_D7b;beXwnIBH(wXUBnqz1 z9x}Pa{{{2;d~bP427VW9SDJk6X*PIF^kM@n3SfT|E-9=w?0Ix4M|>S#0G-mCZQyF? zo%f6J<7A>)7C$XGZA^}J=iVCH>AAw>R~&X)Z8aY{uE|xMmz(_M{NE2;&LaNY2j-ed z#cQh7KDABxIUi(QvzLB3k2tT%rp&%Kz14f^$HwCI)%)N*9K5rq(%$mD;zz2xD;+KS z-kQ9)tJ2vrqPVTPvofP)3iZV+Gh4EM?{UWYm7PAdRf=IoYlQr~`P zfJv|aOZ9&6$uPdB{`~5tDb*7wKY}`;L#;kcdi|;DN68M|k~L4W&JI?VMEo^6QURb0OJP z!e#l?^8)iIJoaMoqt*4aO>KCEv`a5G`7iVRdw6Frn~DR=s@ZCC2$h#zxLP?bBFkZKxf?_})`|PhrQP^J2Yk*Cyk%R z?G^g1Hr>s4p)Fg|$7w2c=P^bvzLaRkKd20C8_G9QV>I;lQy1&|cab;mJd>|J+)dlm zp1YE5(fBN;JzdH6+|_SKm0t z8#E@vlH;?8G{;nve}M5=z_;@lqv5R4?Ru(Mdb>&1}XgLL0N` z<3Z;9McQyTW0lQ!#`Db_%3Mv|!1$JNJI7bwxAW}k@zjy^+N0HFJI7UDsXW^99Bqm7 z*k9jJ{p?%g7iaKZC3*3;yo>Fxt*d_SrE%5Sv?2DAw_3DJ#cS)UxtHduIPDm(a@6lp zNL`-S+N$;6P#$}Vt8V2NhQPb8%l;(cuU^fQd;ufkQ;dxm&CB8JEw-T2JX+& z|0Vp-%s;2Zvto2hM!u)SKApRbrjIYNIsG4JO`lX!>Gzh5`;>h-Y{JkqG+|KFaN_2ziUg%iWn#Iq>q(f zSzEH+UrW5EBsPh09$Q;tCZ5MwDI8zYJhq1LY{o?Kar9GR8GTTwHY)U%L<>D7!?Vw2 z4$dpd$R1ykm3?-JGkY9!P*!3`Z`*KQevQLy`cjtJbV;t+blGsTY33-iscMYbROvFC z{BE;pI(S~TbU*!I!ozLP^-c3K_loic(ivN z_n51qc_!cS+S+RFK)yJ}|Lx>C`7fD=fe(<(#lP76O8d%$;Vr>=F}|^$_gC`R`Bobi z(RN^hL+|l_J#}RBt(Am!-b0t~V!flbbJw=@e?Q+=`_z{#%3{N1rB~=3_W$$bTko=$ zGs(vW>|(`LkNversvjjkgY-L-<*)%x=B=wXudS(elIKW&hq&Q=8)@@+#}Kb1^zhtp zTzs#&So(`Qzu1Iw_1?|IrzxI#h^PI+GYY59oO9ee#82X7Dx*vr5AsUmP=xx@A19Fv zo=l!Bo@|~WJUKkMJovUS+?j(pmBFR2VWD90!!wd+6i)%qXr8lp)Yw9vu{=dQE}mkZ z&+s6m;z~1P`nKitv&)fOGu@X_$|fhJm;0f3eB@TxAD25ketZ~YZiufk=;R{fL(X*+ zz0gw9Ymn2rkP*vo{8DsuzfOD#@`@VLmY}1%6uDf%L_cyf(m3stB_RcZ*3c^==H*$=?9S&FX9ky24 z4lP5zV$dP&%)++>YrNH79BDT89LWML{bBOt-yw!Pv1?VrK4u?sw%T$2-ZeZio=c6t zcOK&+omX`FdiNlEvk}IKYmKbUcCOc1{twyFb1YZnRI&!A~Y1Ua4va2gNTeP8DDSbE=%QVBit6u6CIAAD`xP9odcVaEF=4nCmp|$XOZhsx~SOL6-s*Q{j)t&Ll}kso7szHOKza+9q%ve;G->0T7@HQ2bj z99`fV{@(!acjvMUS1tEmJxhFiL7uBZWw`%pd4b(knw{gS#15_^>64+8^_1|*u)Ju^ zB9G;B7}<2=Rmdpwkx_2sJ8t{Pp7Uv|?lRRlX?#3Oid!{Cz=-R%BU|11Au>4TFwR;s zk_R*Y8mm0)S0qbMm$gf#E*ZPz>ZjSMY|F9a>+wT<(=@(bWGouT`@WGF$Ez5};f&*h zoa5h*zVds_pYH!1YVsnlnBmqq<~j2s%^Bg)@=LvF?H$HV zHml~r=AvkU@$EL;E6h64_-IVzmq+c7alfJ3f8|%uOQPMgXuro{pQZbFu|3<+NFTI5 zLPJbT>1Cynw^<)~CfDl6SZ6Li#qANvL&u~0HWi=AN6_^Rv(9UI0KC?{>zkeC{Mciw zi#FTrjjYoX_pZk{W8Iu#&i^qwcPnlF(6hswk!If09bhqF*Zw8k$BO>NJB`NjQ?s|u z^d9_*>D|K_>ha$kTeXL?R>?9`@3bLv?V5`&sPafZ_!VTl)Kx>Bd%nSbcML5*NZz}r zmAsFB;WRIg?4Q?A=4Hyf%wCB*JmpVwU$?%o zhPwqH;28>>sH4o2R++NMljPe-?;LKX4JU6sdGC?;-j?x^r?>~4xqLN)brNQcloCF` z{%TuhTr0Fb%uv^J_+IJcd4P3-Zvt0U-cVN^>!gnw~AP_ljs-v&#jS%r}c$wZDD`y`(wpV@+uuf$?)>_YnR= z-?SJoTWeuCb;ev3?VGtthx<{>)Z^!VPp*tDnOZy$>U2W0%c{Vsl=W%-f z9p+d*v(-kOy{FpQjE>(M)RTcvEv?6Qk=v^c4alRPwB~@ZWL?e!4l7@B{ZzijcnxE{ z6L=mV?|tO-YO~&b`eJO9?*0Or*JwQummi>t_xmn*kMJ(aTl>_PfHT^sBiOI^ z0{65>&j((g56ronXC(Xc2g3~aI4}5TXu4O=N6#jgy;=v%X&eEZY^V+XigS;^mfb-w zcX7W$8|#4Ib=TF3c5O&gz`bEC`E^tyN$ID^q%c;JtH zpVyt--%pNL`T2?Qs$#ry8Lv9#wGo&s|3Nv%5!sQ1We%q!5@PQNPu)87Bn)HCTQF=! zRuYDB&U6|KqYZ*#Gf#tIW6OJhVO_wm{lKud7XrtCVe-Ew81~CIkF65y5c@|7d!ncEhU%sd$Z=M=R5nZ;ncbc~GY$Pw{ z@Ir&QXK(y6>;J`&FF<-FPbuH5E%DXv*hT734BEw zds+K@?M3v7J)!m0{TVZ7q2@{Z++vi^+2 zKRrqxUg5vSGmp5&^v)0ZF3?yGC9d&|5x4W-|6$(+Ho~7K*Y4Zs3WwR>qA7;4cD1J+ z;M#DKw%E!#mVcmX(KGDz??Df}oG~oYauzhD{p^zA&>VsRqBo)jJVM#!z<~RK0S*Jq zgZ8+>;DacSGh)F4=nwVT3k_n=E^GZ2{c6Jw{g=RjjSaQF+)Va3upk5fL3ZFk-LhQQ zx}iC)Ebd4_mNC6554w)}oWP1<|tU+(_WC1T5)C z`@GNHNwjI(uiU<^F*kG&I;!|hNYO!4Swj~62HhPlGA)9uc^YfRU1J+ANx;|p8EcK7 z{Eul&zsDT3Fdq*x=HF$!bAYd!gIwTAG&?UMKTws7^_7fu4dX1ImKtBb#+mWeI9GC) zhsO6w#&#=X{T$;wMB~Vw8OoSuF^-d<_hzzp1b1H?pW&)oHq`Z4p2qZBzAE-nM*TN^ z_m6kF?k*nc8iF5+N6vG&>WYWBRx)09GG4;qD9MDytnK-`T}ZR|Vg$WL(!T<68woU3Y%Q z;X0f65a!X&T-W6fab}c$UZsL+1J@e7o5BE6=EIwYmyX+}tQ!Cy*-PZP0ouv<mKHVgk5 zjIHHk30Z;o`x^1~jcL67HMaJHE5OY+C3yR(+~@Qx`zQM4in*PQ&FwLK$i>mI+dHeG zefctbtK=3dpfl~Pi5cj0*3i~C{J%jrXb(CN@yWLK&G5HX>@(rpD*51RLU-woOjr4w zin#%3pf2!l757w&x9I{e$B+-K!yd2=(M=clnX}Cn>4$lM?ebevHIev_(ZyrTyWkh2 zq;tO6f)9?5D}8)tH9XQf^u*8?iv5B*HzOz5hF;3^CuIpyWC_wIR7T*$rR#Kl0CN4dWAl^^9D>UOo#s39_Mr0B}mWM&06PX;(_FaIa(} zq??pn;Tr5Vp?hD%#>p$W0(vE$v1Xd&Fkb2m82c>YKEr*{Z*2EOM9+5dZQjRl)zO&C z_wENas=U=E(x#juZwMgU@qgTR!DeWGy&r?7-i*wl?X!f;No)=wGKX*tx^~b{Q*Tbt z%@yhcI9Pr!`QEii+-Aj~f5dlc4s6U}>C95g??fGQ?{S*QP0YLOqCN1PvIF+8X5^P) z3t<6thTRzs2@X4rKNP-Wv}+Fj7araUoK?QFAQC1l&UZ#)P5#~=g1ckTP(L8_lP>=v zRZEu!m*2KD7|!x<^6-D2DJ^jjRuMKk5;l`7vppqu<@z_xCoMeOzo`aW-wJ1@yA8h^ zzy5~y%&61s`D3?XBY`Yzv)z@D*YG|0+{8x(ZZ?q*v2N9`Q+1+ci>Y$4Z$PgxFV%$^(T#5S7#l{&&9PgXb-ZwLm(Lu+jtWN6FD z^S-lem-cZL`c)P6H63e6TZp|Zw&|M!*uj=+?&|}=3a3BhV9YgV;|TqvRo2f7uH-C0 z_GOpwq|e3TLFOXb;0qRFuOfcZ?I`H6Avb!%UTEPFpjyuKzwnhY+#f8hC9h`%!N)(=Qr9YJD0ph z_zkTIYn@Y{*7R}eigCYIuj<0jCOE46UtT}9>Ikq{{|)?w(tkqQQPK{)hm9g}`R4S} z??*`=%f8cprTZzrhBWaMozSmcjteawq7It1a-^A7#v_ zMlXy=R=U(VCbAVdNE=U-cp-Ipmzh>y)MxGQLT6z_Ha=xbZw*%RXb%Sn6MOj9Gv33o zuMfP3!?z{ub2i(@SbJFWsJ$uQIH^6XdA9a2bHl-acdDL2vUSODdEf|IVwDd*&lA(YHwKi&jy|G4oTuYfX%0zFo|t=IS45 zr`E_Z(G=o?-tD_UYoV98wH}ax9OwUXWFSWg@1?v2f4J9GHc4ZW@aG8dM?R!vJ5^u` zE%@`FIf-uw_Sk?s2KnT2yFcVz=4kaI=g@kRtx_ehCji{3sjmsHAT0wJQwAJ~17qeP zbC_RW+hNZJ?&SGHcL9@Zl&c`W6Bwp-)yCt%4}>?HJp(_zoioW&y}!iYTTcir9ISC> zxYrkQl*79#foXoyR{+;C2`ijV_sW87%!(ZD`ut3H#XxJX!c!ueD{42P=>z4H_Xd1O zw9_5jZ6DK92wZy@{>6*^jn<>4zR$~U{=Ve+KJa-n zN3i`XjIm(51>+f8t)1Ux7DNiLBNB`s!#rxu9^*WqH!~UvAU8?DF|E%y{vQOZB>NS= zoesyM++!e_3Wp1pKJoXNo5K9U$o|dP*8qp z+(X%HkIl-r1?z)Z*NjQ{|IYhx82pFwIE;AwTy+}&fW05nm3Jk3f^e!y~s~~JD$A{T=38E zKcu}M{{?#!`HA+tle;vOS4n?Td6ne-pez9|EO`s?K=4BQ&PyHIZ<4({%iX2o5B88h z1HWCVGQu6}DWkD21J6qz8+tslo^Uy1xguB-Yz_v3VaDef!3)6(Xgl@sdE%YKQ*#9G z6Usbq4m!IK&Vw}zWnE}?ACk-Br9w6VO@-t0n=s@{`SIAlt@T#y!K0=SMM&%1t zYgF*+f5Jm+ZgyhJpn1{!XkH4LAI%Fe3|ccWH*XG0%#GGun0aYV&WmAQ%nRO#=tu0iORn9|R6?=9dSik+N1MJ__*x60!KL*Md9$;LpHoE+w@os;} zlgk?9JL874rU}(ItKF;*YfiyUYOmU(erkQFeJQ-8e#KYIJ}c4IQsU|t_6)tkPwJC! zl%F)M)fBG!r-9m+YJZLi{lh@{n)}kz=iZxyPn!F=NtulPYdweu{W@uq>HOxczRwGu zkoW4HzweuqL8!Y-g~$FgO}>+Q@2X^7@=2dcyNtBMRhg3S{7Q6_w1->%9F`rgi^R%6E+Em+{DdjrXrC=K()ja-JKQC!6K7#`2{)Dkblc&lhfzOilL_e31^#sr(kgUgpUWwrM)!*sQH~*!w z9_cWNt~yg$kLwdsgSL^#p+9>GFl^zmo8gF&BA{ zeE?fy`N!zI?V_M`pf=l!8}FCgjJBVN+-D86`=^on+&GBb=l-`prGASeA@}j7$$e}| zxzE9c|8K~BV#s|slK}6Wl>49yQ{O$P+~@u4Q}8U|gX;3#~fBxOL7|40tB zhBM}L8PIfS!;}oDZDL|AZ$y46d0R?u`PY;I1wMrg$iO>^ui9~n3}_5%{iA*|pkhnz zbKb9ytvcRM22@-=nY5EKpyCrUpz)-ilmQi6G9V9WCuKliJRt*Gi~MIrnhYp_{9rH{ z5d7Y>wPzp$vQwrD8PId0&w$1AsIzVv_qRmHMZ_bta!y}LJ~FcbWkAKq6~yP3Ej@}1 z=x8v8Kdu0w=-w5CRfKVT>x$Nq9Ct51i6qC3;eRN7Z_i~7fqyxx8hmdrzYRH}wYLkc zy&X&L?LQ|E@_vFmsC5u|kmfd)ln2G$M;-(oglIoa9u#KXrptpa21ZF9^bBVR;?3h} z@*u<5YF;G|aKeWVCJ(v|S(0Rv33-s+;@!5=*MvOCZpnk@A@f(6ggoeEnS?yZjy%X_ z$%AZ!r^|zE5zU))V$$V7;Zx*6l}UL}De|C?pi86^BOEie>Te+riYMhk(E;Q^z$4B- z6Y`+=0P>*DPml+7rpbfie^wr}>C1l}mWkim0>ALDXHa$vyn|##>2jhP&cjoD*KuS6 z+CQ=b*18a#eF^?oL|-3!FCiydnH=|>)BkI7A{3*~SWXlenUE7rhNcO#=1$0okPk^t zBzR{7CU-iD%RhYO*eadrDlR#Z()J^pf1h;8iuNNbQkvvND)Tn!k`?K{WJSu8tf-sx zl&om~PbFJT$cf^PiI&{RKMegA9?6R`(Tf>aUep_~ zXn$}ad6)9^mly5%)bgV8Gg%+3qf=!^Dc;NreY#{2*-eC-$d2{|e=gVp%#hqCN*_;`9YsTr{_#}VQ8aYf3E5FJv@iMJ zm}qECat~aMPSMz;?5H#;JNnuwvZLu)V{R)Y&FMQs*-;$X5$Bxw z=+PA5R~g)8b4HW0BV^pf2bLXmCS^zQPmmqOPmvwP2ap}bld_|I{bWayKS@`wG;9sGG)aNs~Nk`fpFlqxNu*j^t6gi%s})>j3hovSeN9@~9HhlJcmh zQ}U?mk6H4lr_nch`lLK+`U!bd)uMzv>ZQrYS8Yg>N4-E?@~9sjLLRkZ{IB=nKSO?! z&eTWJ2M*^3^oM$nqH8Ljh`o;Nmaap{Wv~yDEfKah8#=#;4<-ITjE=~B^omx3Tk9zM zPr$u+k3qKuohx*eLT{G47Q6S6_c`=`B$wh`On0uEiFfS6A7pPgwADV&$M8uM!G^nhwd7C8 zmRjL4SKKkg)rkzr{sCnhsiTVX;Z|f$;CuO0)Ln4gfzT_vrIoYE`%lxGhplRiF`2|2 zkXx}~T2HxngmSN#-e&Z-R@PCjj{e{W=mq-H{X6u*Xv@karls>58-5(eY!H2dFXQrk zN3e}RKVUy{uA`3P4c)u>*1zeF*^CYG@5)}xZ0JMw)YXF?(|eq&9O|#fbOky~{q&eP z8?uqsPmc-u$&GG@rN^|6c0HBQV|pTgNNen~M=v}J8bbaeJGm=N_l5P+Zry#b4_fXB zZ8}EUN37rDjv*U9+=p*7bi1&NE2vnCuFyARj{#2zUhkSAy(VYlz4$}0(itP9*ugIR zW;Nlj^hJ1fJNi!XYbx5;eBMl};4br0$=9Uouq?~9bO-hqw2gDE5jxA7G8OuS_zY9j z_!Hzb71&cr2YD`aMbU5Cf__sU>o5Qv(}&-%z#>BKi)y=v5dUG}2W5+88i)Rnd+PB~ zHJmdG&O2v`-_o6kH!|1Xg7=BDhGtb2&p=+fdhmzH$e)%$tT^WOsY&8$0Zr8+k9{49IDB zx7pkso)R;s=ey_v&|kgp;qg*#mVLoLr|QuAO6!UEdsUC>P+ceLsc?7L(4pyR_4ob( z*`|#;%6La*)CSq_PNu$m(rmn2YwYfGRo^P~(+S@jlJ7Pb+1zc-?v9=>Rana4E8PO_?s>_*%8j(HdUI;h}Y?? zeunWGLzu~)tR%#K@6|fOH?h^wzWxwBQI{<c^Q8f*wIIKmQ}Z5 zzd8|{m?nEcYU%9@$#Et)ajtk2^}}u&74c9v(wnEIv=IZ(l={61e>rO z>DX#=B30Dst)JgfN}CLImE{eiuG)@asw>Y>*D&fD-w|dFzlV!+nC68_A!w@ zo9PL2hf^84{f|_bU+>}mzPgKmdl}(S0G*n8^wrn1hrQfO-dfn@3lk8X4 z0(&3N$&MVoaCMQFGXl36+0(=S^`yIPBYPwtd58FFlihQS@Xp+fNFO?-my*Aq_8ecO zyo{dfsrNbJ&5pAoqu}-aK-n*`erA}VJ-LqD^2?diJ99H559j7bW}8uw_sQRE%jh|J zH+9;I%2%6$o*(9BM-G!d-xJrl{v>+^MMU4B+C;_7UZ* z)tvM2*}mC~XvhGjhp{u#eaK%zw|qJ4>OsD@+T`~nzGv_0q%OPNUS26%jJ(QS?13GX z;8o3K=Yz|ON@IN&XwQ8Xo~8E9zG;GE@!w##2)ugW7BlBk;8h0jDhj+3O_K>+iUDIZ zo;mbU`binij7Xa^99lOs9IOb{S~iO&Z)~fjyT>@KLkDVoLrq6Bx;}NRGcV7|#z04z z)>eJ6BfuK)*5A^x0>8EMPOJf^JFv90gSNKJHJLp&_JUxrV6@=!(p)?KAI=A z(0g)>D%Ty$hb%mi1)dnQ;Rt7P_{l7f{Q@`%-ZyGHI7~W^FTMCFW#22tw?rLt-{=Hp zkH=m@e(H3VUq+~LiL!pRhe{RFFL=pKYqX~6TP15cpmh4?%^qgy^Mr$mzG)t&fI|jb z>s$8s&1qwu>3;BU@ICeSHe?c?2Oiq~eoX5e!k-df3jUD%`8w!I&0+MS1kRaSpTIeJ zX*fr=r@|8!&S89{C*I5+6HXC6xe0t!g?)%{$`tHFZUR^Ia)x#}xal~4nj+wkV~)HH zza*3&(kBT&bPV5c0qyH`WR+WYfjdTSc&^g?`f_xuu7uB-Js!CZG+QS$n;UyM>HoN~ zlav0>+*52n+bBDiyheC?$u;IV(1k$8c@X`dPUblV+}*PRI!EVu^!e>2*ihYMdT-xx zY*i2aQQCg#KTx)3sp&P?Z+?e7$$t+1B2mZNOQ6?oO}vjSVfkY650I~Py{9@3P^X`F z7b=hXdY1Zo4>~55@4waGE1S>v9h1xR@4#*fec?STNSk1$J;>9AZa^txTyy(a*OllQ zT)D*?xi2>-@-8x>mwE4;@z`?mNKb4M;XTpXPuhl+>pi6lrf}|E?&h5^`tVzA_8h&d zys7q~<>-s&sP5IKum>*(Ik@$<-bHsiXRB>!x!c$qmPJft`)F+h@;(HpI4YMBTSbX0x~EsLlso@L#>0x`qNnnrXWk zcgL=Gu|*c0A(}&U$Xf1^f0_5rg|4`Y=WJk3CSeSkVlDsgB5bk^Yup1pv5|R`Z$tA| z+2ZI+Q>)wXrxV6sjvspB1je4IvUgJXgsBk$sKQVZc)iv();>;Me_SAnb%Uj zA7*UI@|pX@u2lC4lylKK-K`_SyJtO^E&s&_Uzyk_)Rl)fJ+KGnLpgK(nsZGnCA5v%tbICIpV7r%l(g7dpMA5p&Y zVw6$7wU>bnzr@a1F!R7u(AdC9>BeclUvaVjA;App{5^jjccZDy{!_|a&imPvL5PhG zvMn-+b(GB`SS0u%SR**`A?@E!yAKnp{cjTZN4*;~rO4i-hasJ@aGTkka(^HB4TsXQrSh?&D^a`Op(Bl=~ zyiUBma3k#%-(h1tWh8w9t!qGkm-ObwnvVGe@Hfz~3(3cRvBL>nvVigq=u}(%cRD)B z51TCaR%DnSlj*MA=I#iraCfX>{za1rFE2q>BOXDzgZTG+^#_C+ukR8{?r~?bzf-4} zIqIwWTtR>Lz~{=BsrpV@+#LuK;KFg3pezHopxnz6D$yLKjzh>cYXCV_P_Qwf(F{ zc+!6U7gm!e+vQ!z#Yc@8g-?Pp@aAK|zoW~$z`gQ|_cl0mFZlPLU*!H7^50?2t4tek z>Ew5FqubK-fN3zva&YB>|G z;XHUnUZy+2t7N$S_?B7Czk>2FJcNDfxM&2bo zTMuxe6dZHc(#DQv#vsgi-nq24V-ssQfIN>rw{PQrYP=T!uh*hKn;P31;*+plrtGFC z21hWhrx~ecObJ6ZO*!{)cn5!PeB`2vevct_d-*?&HkU4>x|g3 z?W$n^Fa4Zp@pIPF0ubJnqAj z93hkWOu+(&-~)SKu;8vjhx<+o9yr|#h4X<2c3^-Fm@scBcWRNp$I8!gJL>DnTSQ(% z#|qN%Qv-Z(y6b=q7L2HJcQm6vl7bNp%&B1BM*Q>G=)cBcC1aqz3m>dx9P9@F-Sk`I zGH;YKqVcdfZIQQs2MxNLy}?*aU<|~+RtW||uWKCCZx1j~{oc-4Y{!OJy!?9lA9iHI zqb2*!7&uSBz`7(1T+lH;KLG_+1@7;KHB=ad?^V#ZA}Ucp(V9Ygjv zhBV@@9^T*gd97)|*!kSKAlR!r83cQ!tE2a{&r2)o|VC*Lh0`+VIEm$5%BROX+qP7-yjiP2kg4#w~XSGeY@wW*e zDpTEdSN!R0=@N*dt-2NQr}kl&$pa4(pDGFrB+mc+`OZw3L_~MDzt``d*Xx__cfR+2 z?>+b2bIv{Y+;h*BoqgB4*x56@2|K%MK%B16JC8tdx;lRsx3xQLTYE;(gQ?Z8efT*%Je`IwP!Wcb)8rF$z$yIpy&w!*TpyW{rt zY!iM2ERLZd-ryEK@Fd zE8BB7c(lh0_A?zUWbfIsx^O;o4Zp^@@hubOw`qto(s`GoxnoRxpYF!HGA3n~mo7i~ z;hlRUErzuKY{eNZ6FafVw`xBwI?~$?S7Rq*MkTZ#A-297JZQgdWfd_Yu(8wbsBH6< z^`tB97yM@KU%A-?{j~LN>XiMw=+AfVy`vC&_*0~Rlk|4-vwyFfIkEOqHvmIrmkA!l zt|0rk?9a!czpgil3CozPIcVn#CVIk|9*Q+{=BRT#HV6~qjMC@<`1a6VuN^yVCwqO( z6mN7PHu06vJ-iD>Gfq>^o}iyc(G9G0__0R_qZCI|^N%aAt%iVBf8ief;XUe7Qk(aGlp` zhE>mSV;|Rh@L}7>r^W5#t68^p$Ue>)&>N?*Uxj&0oPYALkGm#a`#Vn~ev6}8oa3u+ zV2%{SfAO6`c5wq85o7qg7UpbT=6fy7eOj;J&O9veSKP6SNAUk_K^6|@UWXhUg*-$D zStLFAE6~qD^!Nf`^I+3^h`zeA)C8}DZaUvo+_~%j(E~j&?+d4Doy9ooA= z43ax0HQ&JA0Lf-2<2vv$J~|t-o1kf#N^;)y2gAnePUGcv1Dw!!5lttZ_|pShp(d`C{t zG5ejf=W)j{+g5mqGkvI&^|yB89J=3;GqcvDt+@`nS{h^9^T3nNc$L8z)zDU8#~t0x z{UDb?KagF5sD+J%*a_Vu4KSM?!IAH9_C%|eO2W1rl^Jqs8=;C?OhS;^-Y`7NDshLzR0hUYu5k6#VF4#$?7ZiY0T?Ht}Xm9fid z^1$;@_6oMmD|9+JtEz3@6xvbA-AUOSxtG#5VsMNy*gDLgzIW4d=df!3%WKQLFW+3| ze)+p)e&)cJG6#-1a;qbboGioK&Pl%pjLBNbK94HucfaNDl`lxas;b^Cv=tk7?-uO~ z;XXfSe*V<#OY$>v7v?WqRoL5#?d>b9=`Dp0vmN6aiyiSZ?(RT;V_aI=#N9w!*K#HK z#kyu(^L^0V>w1rFa-2M}+r7I#R^AIQv&IEKPlA7Q;O#NC%sGM{e;oe)*y)-XL1uIy zXAOLz^}%BL=?Uh%|D`x}oa4s0WZN@$b;Ra~N3E`y&5KX|wJHA*yf^}0#HY}<`Hoaw z@RDMbWkc%`_-llVm@&6k*0f=FZzoorY`wDaN`{$XlbU7om0b6ub9kW7EuulLLSpE8 zs{Or{=mLf~vGaK+da6RtaGM4BRs6;l-0L;-(W6T9z3U2kebm3479_U;1e9aX!Uy}^#x0`~KE09l1QtYOe zB4@0ZMqmDd`^V1Vp*hgP_mMxn*i<(oe>N~rYi6GI>;!D4 zjK!Ud#XEq{p05$VL^jh}r(?i;jR2wN)ynU80^=~{EyQM;k)6SuP5Zrb(R0#fcC9nf zgSVRK{%RBb>TcrTRTJ+C{3Y|WqEE<{dKPK2m3B~X{M$)0WnZ15Z&Kd-83R;SKJR6p zw98|@*1^6<*mqjT%>1`=3`H|5Bq2Vbkv5Nc$}*iId~TL!^pyYW^B*f+-psyZI|4^Z^?7T6@9Ns z@3U;X<>l6pnZ=}Kn#`HX@3k_AwpnKAD&BW9*Fh+**$?d>fX)v>+k@qC0K23&QTIW< zUrt%FgGP|St@us1A%kPYvW)zFU}6Nn=T_tGn+DDA;=WmOiMy98m6ltP!S6WCBFWt! z3^7+p?p}`kmE4ugm2Co>%BZZOJNLeg4ShcGM-6g!2Je0ezx-@8X_`ZE+)a$<|c43ZL1w#TIl5Y$REJY%iaICoelxXRR0eoz4Wx2_0J$ z_lr)G-46cgXgU@DZ{r=JuXudG=VZ4dU1dhdqj~fe(pyRYmF#x#&;B2IqvF*ckk(0C zRQvg#T45`Tr0&AtLtc~xfZ!7``mKp$R63} z9+gebj&(K3w$rs~jL_IiUuukS5?7tMc;80sb1ubI=ba&TICJzq_8<06%Vu0KCD`KZ zd1`MuDb13xVGd?c*=&u7$d85OzS=^Tv z$H#lf_k-YM@yKC~hrmhFZXr9xW^i+D6=RxnSdUlpb=fP>GcDIS&3^E+nYohiv2l%m zyKtg0G>v%hHg1R^&%C1FSWY?fKrmmWk0JeVz;rRmlfDA7tr5DTuB?|X2t2}x9FgL7`o6fFFMyHvS;>PTS$yz z_;<()czl|DfSMK2v6l03cux%($B#U>g@zv`^HTeu$KT^rY}*u&KilEvza zjg;|x8urUyVZXc>J0<-o`{fq;a|OOAdM|wFz3i7c#$&2!nvGXM#{)05xmw1PLDG&RAHFGZQws}KyVC1Ic z2IpPca#Lf6;sn|@K6v8*a%A!NVT}ioAF}ZsYR9(m0(u#;qX)UM0Q;Woe1#F@Xg$6y zwj3RXKg(SYK8fE_+}<~-xe8m~X6AtQ9ESOk^k@rNv1!f9?dix4_4D=Uz}ID7r+5N= z?&_-E%kxU|Gjo0U8#QM{Hb{=PGIta`NYLK=p&T{vik&vZ6kWc7HV>yqb=Ha&>{@#obG zJ^#<^t+e{!g8-Kj6WUJ-lP)pX2$*z$lzy>kG}k z^P{G~OxlrB-pE9GPoH(%#`QXIt^6nX_A_zro%8<$=iTl9Z*abwdI#ftbpq#ohfd-A z1kZzU{>B}j#`(V_%DX0k^T{bVH;KPkd-fjeW+C~3E9RumtW1qLsTh=sNjW(7q{+rt z7aMDdY?+)P+|p~^d;|1q%)Lv^u;(UfP2Iz}!Ux*3f?e&SL|4@Zer}@X)w+q1QY*Y^ zgx2Ws%__PN>%hTEaIgX#+yXAo?dfd_&<5p~A2U8v zp<43PlIL$T<9Vi%r;R)#XW{4k6|;>sHyambmKja|+}uVCW7{7eJ7@r3FP&>4dHF8B zDf+GmoB7?`XMm3loF6(Ay0{;^`4-OSC1z~2o3Vcvd7NCCn+(XV0*PH&zqp zeK~#|nbxqz3g(*H7uW%wtg8pY{nRmn{vRH>M3TNFQC8Q{$Wk0i&MM|UBAfbH{O zXdQ~KM!qw_a779Xohp<11xG3jb{T_U*Z>Ub`%dVzi~hC53(&5306(&L>V=r&RZZq$2Z z{zYgKd)4RCAM6yV^FF{#L(#0~+>G&Su)@ z;+mxQq~Agtm&5A?yldjQhrCbDM{C6gTzLCObB* zaNx0Js#UG?bksh{``zFwz%wzlLyHddHZ}7*%}u){Yq>Vpw2BUF`@0WcS$LuR^29f7 z&UOZ(al&wA8eXz zt`aXiGs0Z;n;MhX0lqEbJzv4thS%Y8!`#d;kLsvL2dFhs{Gj_HPjUUiL$Jb&l-x>d+x`!apGo^%{()- ziZ#)b;3Nk*|5MI!`v3)Tt0p~ zH~XUQJa^fqKNZ|$I9JlmxsT@Ajb&X!%=yW>s~o55j$FVwkJSH%ME#xAAGx4yo>wsN zJ{6A61RUoAM}&Nxz)}b-t-#WeVU}3nwF)@8c~0XVxIKTFpBUBb(Hv#vdCFSk8|Aua z$-|}i$mA84$w$UqS}~%EvoU?I7nb>evy^mSUQwCLWi6?DXj54w>CUhDMwlAkh)P%H zw>{G<&T+VMZ}K#lUI%hvI(-_#PJ!zDKppKjrZ^}ZxWJ2Kisw)6o2ov_7=Y`R6kG>5 z7s{+~Em1pCaeb6L!nNWm$cMBW`;>5{b3lZzAChjL_W>Tdu^|a(=40&Hq^Uf8BYXvb zv5UM(e6>)XXhSlo1)J^<(5sL?S2YV);O}8)&LW-T_AqfuUR-YS#=?)$gv=VpdZ=vL z>rU40mAuN;?`C4dJ0>+w;@MRH?RJwneRAFc#!H^1zw37{zw7Qw8{^2Hw5*UADfGwa zT6~MkO-@z;vgiBAo?>K=;_dj_>n2)vq>ZU`nA;c|h^I24+MSXoLLP5>V4|PB#ZM!9 zUY}}eh?UeMIb@+rb-*X$JI1S^c(?A?2*f7@xs|F)yHu6rkGr_-CRAzkD5-;(|kc2PIHEdIV2KJUc7 zW8i7Q>drLH0r*(^?uIjF{_8T6Exx@27*lz7+39$>@fq93acLQ#3!Jj~FRoi7JbY&775}X9?^)5E8X0Zh>bl#+R zSnmxu6pxF)lYCu&M0}kV+Mno$t>9pPq90m6Oyz5Qz!Uvo68&)hXYln;RR(fccuexO z_oLJE^}FOv^0n4wlJl2$52EA3Cu{LR$fK>|;Y`Li@$pG?j{vdC3~@ofIv@K0vCQIp zI%D!V{Qe?*Y9Tu+lYB}H;lX@rNEbi*#iy5;nuiO~w}2z3=DZsGQiE|g$5y}0noACF zYdqAL2Tz1Gews{kRX%pJ7k9_XyN{#?I~lL-Icq!5PZ8Je87qAFR|);~nYjKMp^Q`= z_CEAxz0#>4Gx~yb{+UZ7@eFBZchEe)1X|wpa78E*v(u%Xm?WpUn%Yzk#C~g0QgAN zYmpb*%$1UzpSD}N@#E^CY&Y0jEDoIhpni0jVUQ>DHay;!6V zK|V&1i-ok)iS8HKfv+6%?CJO&zXECjZ)_&fX;nGagnRIURr8_@k1%J)j~yvcKr`)-rbIEVPKQ>}E?R;|W^ z=-XScrO!8J(I#{^)?<4Lt&GM4_(b7fW$%;PWgIgdtjo82+1#x2GOC7^?Bz`Dm#VN& zwO~)F=ZqX@x|y>Em>sJtYHFeBG|jn-%xKQet7${t7vMiuOW&twno()1D{HopwqSKZ zO)K-90&EMl_{OCV8<^I{yr+P3Now(zOV1vd7GeFkz)c$Vlk}W{X+~+&Ny{TGcVL=_ zJ)@p4LnC>_zy{VNj2nz|5&p;cBRdyubepSMayi5D4(Bq>2aCS@rDZd)l~mnPyBA$( z=|lJw;|tvQH29ikIU6I1{_&A_IrBO7PiuPJ#ijI3i%F|C*h&JsVw{6U3}4PTS}8o) zd0o{>7&fi))U4SVv+;zl-6-MJ37)FJ)83GT}CL*8jmjp(mb>jl`N{LoqzX@3X(F`o)Lk=vqC@2V=h zjp;D!?(SIm9M-`Eub(-+WZ-aqis&dZX?&~s zm29m^nc@7mxX$$u-{+GaVBY^TJAI-(A3yo)qfH;7bID#lUf;(`27G@+>9$QLCp0qg zeQNnVO1Et~IiZZxq<4|7c3ssOU#HM|$487m@imT|(22jJ&T~(}+{(J(8+@}@`7}@E zTiFjjAfJEz^5dNQV#ECkd5!?{ZxT3ApMJ!3fP89W5=J+1*LIQjnM6LVTdMAt68Ama zyRqw*fX{CFql)qECxh2+?AR61ogcsSeC(jf%NT>%XyBDh)BQ8nVt)BW*S}i- z!s}mk;NXj_f1y|ZMc2Qos8_T#WQx|S2Cjp>_v+Lf_3uwRdz-rG2R;9o=UqIfu7lmI zJ{`0Uc15DxBSrCbuyDucu7hzt`xjdW`%B}#;QtZsT?rh8Y#a^5{f`p3pPPdF^G}2O z(Wk-vd)woE`cMM**QVfJcIFDF+2%z5(HQ+M_G|68@F16wS+A{6*r{q6BRu$T$xekH z)1y5MwdgYu?#Q^AiV;9rwvE=h!_$1aJjb9DH+-wSvC?6CV(r$R!xxx7t-FQL-4**= zalp0acB0e~Jcg~uv&K9Sb-HHi9Cwd7KPbD8_MY@&%hej4_LF?f*mV?{eWc3@Ufk1% z59b(rJ=QXT(c?^ClOH);fj!mSVNJ>h=2sS@lj3iD`^df~bb)226gv#-x1p({`>Y|G0Dr zdB%}vtexlEe~Rg^`>;85{L04~J25TT+i=Y33|d23 zH{%<8-J-E{6MaATWYfy4%meJ%4Q*-53s&-sAHf4{cD(oT_z`3V|LJ1y)+gqaYz@uw zZGAMabnD|q^SA1ZzeoNMSUTeCX6vx?t*t}PacoVW?A)3;)wQ+a8}c_8A399g{-KPk zRVA`Z^!UGl4P>ObS?zB9I+jSr)M%+WPjn_<8rcW%Ie5SXE(}h3tMd3azh$-s$h(ot z30`WkH+nR8LT4|Q?eQ|~WF$d!d>t}{XmsaDE}EwrLLhQ`~19 zl9K4tcAaDGI)6o-fzRohA9={G zGsmv;AF0#-Id%HsM?Ynp$^WHdP@R=2b^56@b={?oI=xxmu-`~FO$;r5yKlf++p#L& z)@XI<){|@JZ~f#f{H8AO_90J$$W?odt%9{8@%;^vSa}6&MtXjdy$(9>lljq>mP zgKu@lnZ7L{Pe-~pDp}WFz}|QIWfpSsEM(+N#+w<~4W=`OO=GQMDs${9Ijj%mVl%)7 z@Xk|?aL+Ri>?rs+>~Mq+LGuTp^8?WPe(1h?trd;H3tj81XlE@vP|tOb6>Uq{QXJR| zXv?UipOb6^`QYe2;;4C;$BQ2dn8Q2FskOIO@Vg6mCHFT2??&KV47`i@_Hy9840taE z-i5$>3Ggle-ub}m1>Ps%|DVJEp`j+cb%Y5&4(&b$y*>)vZh>dIOMw?YB6eQ1V+pV> ze}?HvzB4vU=c^9{xq)y$^UBf%gZ%`+eZO z7kKXh-n)T!1MoKB9}<8EDR+Q>ND{xF1+Q#If>(Sv7~bi?yCQ@62;*}l@Kyltec-o| zw*CP8ejoha3x4kbzjuS*4dAyP{06}94ZvFsyla4WHSn$i-s^$)I^bOiyj8&K2VTmJ zR!qfjZ6?<_tciV=Z7qS{`*M*dz$+de4DS)?@aMkXrXz)VC*2{gU%bP+ zI>s44mw45WugsBlN09hljMui0NfaLwwpqrqV^Wul8`nDC;%Hn%MZo4J=xFjpK6}M@-=S zpkXZ6*lw8bwPu=ao_W@Y2yp@Sz7=cIxIYQrPv`q1^|aS9u)Qw;i}aHNYH#bLLHfz5 z_J*>tA=1{zrV}%Xwr;t`JNLKD;a`|;ZhQV3Gxx zU$x)m@Xirx;oUvFJKugc)_%8xck6j~A@5Ya^epLEkMp|_Iuc&0%-o;_ek-A+OQD(i zVSP>c*amNWH&%YK-5IR2>E;yv=F;{R&<#H8p$7ly@ppHgck8_gx_P84u=H{0uH z*%CvxL>z&6G31MJnI$n~40)rmLT5NO%^CJ$hbq9vbPWBm6Mg^v$4=OMC|bHAC$39B z{5|Y0$d_Z(mv6@Rv~7u%*MyHY%>qZCH~x;KzwJK$bL?sM@6Al&_e#FiTm-znR>1XK z%|`j<;#+7{Yafor-#XeKEp-MfZ2FuKx(NEb2>R?8d$MT(@d0eUbWaZYcrNXa7r;5- z(C6a``g~0E*$Gch_s)G08hrs8eSW%`d$o<{384sOr2`8#$bQ%qbH}+xXN}YMfeQxo zy(`i8_x}fdU+)Z-P_OcN=;tfCk2Vd2CC)42lOp=~Lh96+nQ=Oc)9?tpZfoWu-qX&d zJ@oH!=terX@I6nsw{2PDZGCVecxTT!>ElAuhtE?wxd)-P2Y+4X<_J=cc$4`{BiiGb`9pjqfjhe34txJ@I8^Z7A3+U!Hno4ZeMX z?d+w*T7j?Ke`T^ex=i>SvwU_8M9DF4bQ2 zt`>CO<&S^QV+H29EECT1`X_5o;z;5`N{(g?0k5<#dpO@3=boWM@EdWC3U$pG)7-{4 z&avoA=sI1z8#zjq^ z&`p7BKmOyZS$ipBjZm>&S3yIC^v!(kI~l_s1zrcguiHJfQDfTt`6hb{>yDlP{<;mD z%kFOVF7`BRDeFd8Ti>v$Y=_CIHvFz~oxjAx<>R^=--0T9iacCCF2lR)@GFvE!zK6? z74UpFV_rAzVQbl-<@~7H6?$F1%_SI!vs+jz2Qj1O6E%ZP8A2NcQapXAqls zdfSvn#SNcMyF}-gvwpe-_%pe$+&!hSbalnEtg$`YPTap0cMKilFpjLd@wX}Ed7l|u zy*}X+*aEL~?)vG(6{Kx4=C&5nDidk7i8Sp++JygKu^G~{g=hHz`hi6;S=X{}u@!ii z~Y(F+FWy7<8!CVW&SN&l#g%nkv-Mu zBz75rYmR%`tUbwfv-1Q8a>oF}nb!Laz78Gab0d4d(0aehOv1o7Nf=a@e47mOz9bAe zf&sh>2Jabs4l2N#@?G+$-X_I3JrgW8KHQWke5mZxz+#sH9H~C-fBxS`n>xCPV}Sg2 z--?eav@gH%UC^h-0${Gzz5w}+YaA*=2Ho#A<%g)F4t?=OTI)^9k3)?4 zvP-W?$dJ{@4apJ7cgYYp_dnyC*q)Fj>$w*dm~6=t$q{SA#$LSR#B##VtTP7igB$JY|$dOie@z2qFlJaN` z_OuSunoWD<7!*UmyN?MALkHWBAExQ4hb)ySpm($gEKAfr6UC&dB3j~Fi=lh)X< zy6RcttUUXi!6wE$q$6rupPScfRfW$f#m# zZ1uelbvh&-!apRs36LB^idyVCcps!ZRrg#AkQTrr}#Jl%wE zaya*Vbi^Az8`-xExpEbkU7#cWZE+1l4RfFnb;@5 z>q6v`WSr!dWL!CR8_BlIN0?t9agGixM?Nh_K3#<@TY_z8F}9joWLhmU?MA-+ZW`(Q zUe50_o*Cc6jPK#INjnIgPvc!a@A7#!oOf)vie4Ly%R29O2FkjfZ{brZe8BhD{IR#` zeV)I;{blYSgB$7A+typi@3?ONWxj7+|83-3T(=(%KPulg@RH0k&CYX8e;yZkBujIQ z#({V_lgX1hM>zR(qMY^UZizf&?Q)j(m-8WcG$-)?A-=}?5&d~O7&B5}bTj65^PTi| zwdMbC$M1Y*1l>k@oiSEc1U)w2IIGWk^1m2&$2l~JzHQs3rKem7&Qyo!EUAwhb2@$f z0q?2wL8|x?+65z`i8Yn?Cz0{@2d8( z$IivO{pfa`Crua|A95965`GsTJEiZ-zowpjWyEZ+?wVwUZ~U@sN7CVE1=(k1>+zBA zNIyr9uODLT@7k|%h2J`hdVY|LHWgZoMi3r zeb$Sd)}k2lyd$4IFYkN9!_mc+_GI1E;5*2E>F|>E(#gkZ4Gjg}1B?Zg($T*ox^{%5kH3$slP=yFi|gqf_~dt@t4pVsZZ17s`Z&5X zu`#au$H>*Dua&W&llVXH*0Y}jJzIU*j&3f!+%5eaeVg%Y$vE_P>F!mPkh*yefh)B^W_)JBGv>t zy%XI%%kAyEZ^nwrPtK^Cyl8s$%S23$3-|eoP z>_>NS;DhALt(ffpvNzvLOq^`@n#l|B&#$<^d@I{sF?lh0+{`bk=3JV8DX|W+J!^=Q zVal^TH`!?~(!OnTKWZ}EHOKyEp4S(6N7a4Zj3F+0_4oN+^9cE>m*4~IV9eQw53JIx zgrBZe+c^X+!xMo z#O_%gx!N0j7~Q#pc(2RAhsK_>7(d>F_TI&|w*L+I)H%l1onMCT)Q1Nuox!1jX?upa zr|rpXo4O~%KXs3EVPe~dL|e;{@5_+y9gHK=kL6b>9eF0>%}jm=$SYkLpRv$v^3Epj zOw!+mKgRHT48OC;H-vYG?tve$5gx%O>EmLxBed8nfn*komKYfbZ3<@NOvv}EXWAS(a!u5d+gI5iwJU7dUS{6F0xtn zVD?+Z_guct`Z%&g=Q-MACF6tU3O#%Nt7GNN{up(`@o|?d&_21OJg7t-bRiE)YL-&W9{mMZBDB&+5thkpfz|ogXM&L1E&M4VvD%B%coHD=W~z&A8P!8_oaJ^?{#j|GRC%4-XD$(7yo~NtdQO( z8L%Awm0nr~4@(AI2_K918_&yXUWT43z4QpOUV7;j=&81RKu?uCco%+`e36`xj6jct z???CRr;GD*vGG5l2kD@|^2}SkO}%=CZ@2L*Kim%RBE4!(z|*fA{*W?K^~dU`pl$Ny zn8N-%8wTa6?9Vf`KhGV5^89r&PoStj&)PwGu2dfM(0_aLlpZShBA)?kRm%4f*5bT; zFFjOa#T^NqQDcYnh`9O}*=bB$EEd~Wa(eyI+pj;y+DF=Y;eqz_;OXK#$Zjn^GK-ie zoA3$KxY*f*PUTDwb+R_@34ARm`>$-lvI`$0?}0bt{%W!r%m1ugu-~DxsqNrHwpP`58EKuY_a4Bvp@VuN_-@GmOKVmK(K}?DEyF&z$!BFp zSf_aoUD3;!x&yt2b-HjTu_1P_4|p@WBX+CsCeq#P**kz@r5Rf1c~v;|xC?`O|D%7MClT`|hc%}W zcFdaCdsD0~Zk6j(+F_CMRo(E@05S_rROZ z@b7QwYx=02*c^#9$jGboAF@Vq=GF|4ml>{RO=RCdzw00W3$#vo9Zj?om=(8KdiU1x z@phG}eBju`U2PLAf}_%`pQv>t!7~_^{|zj0U&e8ve-j+&y~=l~4F_xRf@7p_z@GiJ zz_AlsWE|gCwLgdYfyw`F+=s_M$to`fzSfD{h3j+Z8}uyoqp`kweq=LyA3u)SevyH* z(82hvH1}EGy&wX-()(WFe7_Fb@-E|$?Aspf+lEVP0O})8WJ*vmQbzLoEcW!Z0grIv zzDWCmd8Yjx=sq@#z|eY6;+Z_gkKaRmM$k&vdiW{7hv!F}Y*I`S@kU~Oj~Po~wEBEH z{ti>|cbJKPqSpC@qwbu#rH`}D{%D?s-=bsd#Wp>R38|b`*}!NEJVNYm;`}k+IeUE^ zwzt9Ye(-USb|0eO^MTJjh5h#E2%TKR47x49RmKXQOSuZT&K^P<@irdKWUj;7srL0a z@RvQv?^a@9q>=t6_OTP#+nzQKdoN@OzV0>-z(<8*zSB?cE#|!V-ZAjJ6TI+lEiphQ z6k6FQ@dH!r?p~h>W`Wzk<9!X+EnI6IV}ri}*Nzrn)Y+92?6mhj6H8_pV;TGMe)Zd_ z4|Od=&t=aYdZxYidA+^&nLO;F^MM| z*sGK`rOfrGqMJ(cHkMVq?kRIWyRpp8_kpSA{7==-e75_dz`SPF&v@5;(WmS020qpQ zA$huiFIhkPFoKoTsrr%g^E`?A>#5)OC(lj(yw&`& zQ$BtPyi=cj8jeoj6dbRTuM;@i!Gmz*XAiZTx-0l*K9}~83J)dP>+>h~O&<1umw*Qk zcrfl$I4E$k2OQrH!NB?iFu3eJmV)K#6j@=Z(UJ$BO>msO0|lK0Cp*;}>FQNDb}P8c*Tm!m=V@ ztDwC3>>U>@wp_s8tM$TG_NP0j`z&Zyw%v|)_T^HC)`Kc3yAb=UkMEq6Sx7l*liRit zo5fmB36Snpee8MDTG{1W@$W1(dn)MzC+$KPc+~{5?7e?g^hf8xj0+??MAv=4iPN-~ zIH=k)E*vRMxcmmV6ur+zr?6$@`^dY*zRV%-Cu9{e$@?MWkJBE1erb*gE`Vlg7lrI|&&l`MICxy#vR=66tct8_C+X*Ka*v zvVOux2{~+li{DC%>?IA^Ys)YE*&~d>(Ed`5zs)LxF-Wquf_X;=a!hS?zQJ4xdFEfw zIx)|M=)d(2){Ur7=_SlB6i>BfG%=pWnQ(nN`z~uw;(K5PKUvKfQ_L8%>r`yEKm0PT z*Bw(D<4>yJ>R!^00ISMIAl9X*#w+bR6Rn_Z128i9A?d^;xeEz)hd z!(35(D?X3>=czLM(Bf0%N#$$Vm+ksl&zD?UM7m^BXZ@$^eyEzJ8fr?+g|uWV+;+WS?Z|dgPCjv)eSL)TNFolTOLg zRCv&pY<3mW1bY@kYGar(o$HYZ&j1jT;xS zHsd(jE|^4@%i`mn`cHUI9cwy~mG*b^qsAw}HzEOFCo)pF>7eg4)^wa{tSL03G}c&o zo-+SFEC7kI=3mn%HYUfK1@yJz4QQs_d8aCQv&1l9M=|MimoaA_uZzfgSF&!9p zH0Ic}*6s)vF?I+hjVC44t93(_E8l|(%5yS)XbfSk@0?P`5jU4j7r@|PoblbmIFnI# z@!8)u<+l?v!PYyVfoq8o;w1)17wh|mwaEx~Kd}?sz-G7$7V&`Lccj#5k3V|n26w_& z1bo>z1;+Sq-IaD~ylP;)THmel%9Y@qF`+9H{iU*7yFNW`Jx+Q&f7?9mDb=%LfA#kv za;rE|hW3Q3|J2{D@12r4>ffIv%1QR`jVWct`DRS$?38lEUrBf*n^eYzL>c0#aVg&? zW#5-lz862Z*$0p+JO4KEy?9_I-zRn7E1ogsH@$4K525o?*3#XqB}|;kK7Q`n53haJ z*8I$y%p=(&JzUZ`-hRnsC-siQ^h0Kev11HopnFW`D%j{<{I>WV`Vd_ne9Kdo`FjuV z&EmJ|D-XZ*d>M3ScrLbBH%X`OS-UORz_*mC^a5abn?7AY{q{5Ow*bQyzL76Y70*>X ztIYZ2Nqc2#Sp)C7UY=U!<37a-%o7|wJAeGSo@WQ?MS_v?3hig$YDZowKlK%G-i)edl`N=#lItmm&+&xzra^ zcqiUfpX}zhaHxKwf0tyuQdA~<3CHRi^;P@JMP&=2!OqgO-~yg4u2TJWrla?AuTKk> z=-!?d^up)LXYOrTtY_is#VF^3664=vva}@awlik>m_ut-GlTU2J?%NO4RPt^!R~=V9XR(&JO#bHE3$|~(ed_jC?u(Th zmC3o)1?=mW?^nL%sLoJ%F7IszZjaQc{Qb8dWUqg`{C3JwnHvX`=cc@A+pqXRtlVdp zXBzQMx6i;591Hu)>->V{3BGCDU%4j*KH>-bkKx;p0v|C4gunk0eCy-z`M{rtI0bR| ztm<^y>jQuL!Cxu(Q$P5?-wJT1zVLAk><{5@>h>!F#54eZ*Rsas1~y-Y_cqqWg58u; zLOETx@3+e-$#V3socs;lkd(p`I~NcZ`a(v_4X;-;irE4!K}NaZ+W9%y&k=k zd#YYq@p!Df6dz-Y^(c4V#kK@1dy(1Z=XsF4 zI~RU9SMqKIZFz6^IgN*~Ys+tfx#y@Q$ga!lOwfhAo56h=_g%=Y_uyA}={qs#r5d@| z@RsK$c>{AM;0bIi@0&7ZfqtdqQME(bEq4NuO3_hdsV#{P2u+E{re{qeKwiIs}q%nyM3 zGRE7>i5F3Tya`!DIltb)Ij&aYeOy~OA8EN6+VdoK6`et%^X2z*e~Cghy$=|7;2+>Y-gR)Ejr!?HV0ZBSA@FFAQ9L{8uLa;n zau571S&eQfIhMg)eoixxcSWR21`4-R7%wFI=%ar5w-P)Ghby>}@~;v+7V%zv;oGY7$20W|KQO_Dz` z=Ir91$O9(Nf+qXr+L|fbJ*%c{AATMFQ1n+RWfn0ucI_@~TuGS@WL(L*iW+@?U`=<8 z>QWt&W#S=~t$GHQSwxvd+i$G;j53jP|J^cQ@qb2{$h!Y-nP-3dGs;BX{ddc}|C{kL zCEE+ZXXoyM#`)k=v036}n(F;)x@w34W8+hOGoMSc?$h`z1fPZ5-@S$y{PdB=p90E^ zV1sc|rpoJH(^-Qov&&MyIJqS2JY0tU?w56I3bvb71>3g~OCu?}I#XoVE9@Owc7yrg z8m?aC)=BJ=6X2O|@VlH#^T}Lnk#{nuG)`}n`38D!t{t3Qa}=%o?O(Gzn=rFo&_ z4-#p~IZ+k5xO9mjTz+TUyb@xh&B)tYcG>GQ%4UQ&mdREHt(~7*M}+yzU6d2~j5^*- zq$TU9SGkn0IhS;J)u}m*YEyZ$wi zmb5FbpbqR<_{6u(yOhhpRY6?I>3NTrt$KZWStf1Eq;1`U>QQXOg_PC#8TGU#(j>Rq zuy-{uXL}gip5_3u1xi;}+&B3&IxfyEb6%WV7T}%mTEzV45#+>N=5hEpg$^*E?7G@S zi=9@rJFm6O0uSEAd^i;s!kIy@3gEvz6Paqyp-askALY6~h}+{dKbaud=##+vpPtuz zFOl}Q_B%0${fCcnYntiF#u7w>!d5PK7KCFd;H@Qvu= zmc%!*&kCm>@{MrXHK-mxeZ5Gqk*0b?<8d8(LiLmL&{5EYGenXt%BjHfqP-S7`eTjH_16 zOSPvMd#9uQVLRUCCff5^=~xOzZ=x;o7f`$8FHq~4)Z?CJYSgw8{8#^8ZKF+EgHjyH zr0mhzqbJdyCJvH4dB`5xkQ3;aJ$bh5sZl?t$b~xigYz{)(o6Ov(%yn^^j>nn4UamJ z57VJ#li(Ba=%pz<+MZ_4PpwBZ`0WG@CS^ftJ-Jf_b-wfFc<8(i%`rRqS6@cbN`wr-c*ra(QPHIFx*zp;EdoDI&&gqe_r08fjzdQQrC}#j2`PzRnh>kv; zo}{B=q9go3BB!AvJTAtIR^n}$NNg0w-$Yv`nu&`9yV?QVOVySr@LxFp!hZOV4V`Gi z-wdo4^v?Og1Ne96u74nQtM}L9-@iXY9>Evq-|_wY`}^au@miN{D^V=z_`0bzhPlOT z=JdSZI9hr$HemX4_^a6UnQO>SKa^*!<7(}*`tMFQjbhAp(l;5*^&{Elsw&O@?{F-u zWq&VyHY$_zbcPT+st|eLd$ExDexW_Lm;T#^j*Bk1q?5V5_P2-zx1j4tHwuO={Ks!ZP&v*?)Jj%cY^OuV7xXXvvI{-lXr~sJAL5oY3`Sp_&K1` ziFQ+#&J=esPk^?9-f7;N{k!(nban2lv5;K`J-3kZH*r~9elE^4&exgfo6w^I=u!CS zbDn2@6%OMEGJ|?F?}Z@H*T&1_bZv}yzMgOMf9)sVcY$j zu;UzL>;|_>@wHL$7yrz?Rjpj5R$fSel3=!^y(1C0+*m5+dS)#d$JvU6y zMb+y?Wgadcm*J|1KI)(kUxH39MV9X{Lzt(eWwkov^OT9S-$8#%_w}Ktie~oHFI{U+ z)S!EgQeW?Y4kT+Tc^0jxFE_2ZaC^zB3%B2BF~{ai#e$SF;N4N(=*{|0-|Jh^+o^90 z`L=NT{jpEVOA7~m%e>=@eEVb{-_9QNE%S>n^6e`p`IfO|0L;uIzR0)lMn5U{En~k7 z?d{m@Y4m_I%@?}R?RUUqqIHe$194Tr+@N6l@Z+D9Ut5K3ly5aJFnrq~JoAlcy?}c^ zpMYNjexEuPBZh6SP+{k|1_;m(t`&&!+d#F`xVWcj`nv)4f_t%GjH#-dnI z`j)%w2qk&MK&3p%z)s34pf2U>q`Xe#WG7|j{`5rCTkxJOPthanwMMl?ZQ5+2SKz;_ zw#X;xPe;kem}f@E&hrmV#OoayE5DELlX+Sb?LMfylF_WamAuAzZyH=-Y64rgP`oxTbKs8``cy=F}Qj&qid9kG_$l+r%7L|bgk|3 z{i@TX&sVzofpq_A(k~`m>$$0GyXkMn_rGs>CGKOWZ(mM3+4KhZman1qzUbbWxWC0c z>4zsDyq)BIiFd+Fvh5|*oou@wznsa`tNu&kZm!Y?t%;8nYzf?bCG~sk@gqpn8GEU9 zOi#(<{Ww;hMxMvXBUp6~pY10}TmAv~wC6qfTX6#>=v(~Hw6}=Z`sGI-KWguJPc1(? zwfqlb> zml!{uIc8hsP-M#GEw3#=Hm*IVbgwCT{%6|XfX+19<7;?rZ9&^ao#|Sa`OhD&W&ez) zXxGoqALjl0TkaUs+Nl6al^ zW=8PAh>Y+?8-TMDUi!$H7VPS}Bs_t2$AHOe{+1zz675~)GWZW!jp(w#8CdG9Eo=_Z z-u2)hLjDeXjPC^x0owjkaPl+S{xjN*KgWP`x+p8Uo_4p;Zk^RtN}K;M&1^eC8FOpL zG_O0$Y+Ft&94~PC1^+wan%%%(?3~mS0Dj{|Uvy5wyc$^Q2L1r>6C=i6CzULS;>YSh zk1olW)I15;rSFXa_CoZQ3mNB(C-7PwZCLJh{kb04E_9lxJA?k1g+Kc7uGhTCwdKa@ zDd3%XpydzkJEuPMQ)1AZfG6DK)!ARyy!5rk8y(nmFEQWJ9CnqXa&oJ~+h>OOIS+RA z}TIY-gI$qL>BoK?H5;N8Gl0^A#bSMWCg za{!p@fZ1P046Lsc1ItGYtV@W!a5-&Q3XI<%4%W4lNxk@L+Iza)?CCbZ1AHj)~Zi zeZ0xP6#rHFZk>ZN&ael&4PDuP6LdgZYiYl13bnMo797-q3-*JSSA4_9SAQ(TO7iDJ zH;wE;_tVabl=CWo{1`C;3&?+lIs?S0^o#Zis004A>x3TgmA3cX+jW9R`sh@hY3TlH@X^!S&ElUOcz zsMC7}98>_G;_BSE!z1$`8|H}<+rA*1N zpFz8l>yoo4UynTyn{yxF&>(fs5E=(Yqf8W9M00~ho5@e$zZMc=Rz@MvuMYu-y1Z{jX_ zA|LqLn@qUrCF~AP=7PkVJX{J7!|QJ^Oz`kUrmq5iKU!>T9&Vt|BJjNAj~~8|!1pc4 zF}Hrh`{MT`j}PbEngD$+7z((YiFi~k%-@n{WI51bke$FXJ_HYiZvmEFf}c1v&nDpf zfOkU@`QGKZkZ0+Ihk2gQv)U;|eo*$$Cx72v&z61^Y78-Z~8hE}Y9&_#=6ZoD++0p}qZ|MR%ccAmhHaV1W_SJFC z{*$q%_5M^J+`IG`YsR9H<4$J+)>E`j;Dv>J!?6s-zQ(T3m@yk~-Stqp5# zsMm3_Nn?JJZbhplZN%D2(5t1hPQkTXIzsoj=E#XSJs$_RaXocHsE0Bnn|Ay*sh8)5 z4%qMFF|}4LM~6*`skPwIxGa0BKmUZ#9};E!6YoAo2T;FX%Xb?4QsvX|;J%`RU zeTsW6Jz4vXq#q|^Q^nfNo)__tKFRod9GHn0{DI~K9y1Ty?<8VmyJl*S6LFx4pPe@I z=GQfMipQkDv@vL+4 zWf&XsF<(G7_V3L(c#k7|pxzPw^Ywx`H?%4V5AYqU=gddmY0s7F+CW_zXEmnWe->jd zJg4Wge$DYqsXsT3n8;UBKGa=m;MtPU~^SY5gYGa$?T1AFG@F zSolt{|J;gp5WBTwnHBvF`qK$`yd*Qgo|lOs?5$Ds@MtDFx z{GS+dQg&y(&$hS79@B-dRFUi@^sCOlh^=LB7yHcFBNpzivcexfgHCwc$)>+^x-W2L zu!nu5x6i>@@f+A*o<7Fgx8R}c@*j8mCs&|TJce!_p-hYYrVW|bPfi=}?K7N{Udi*_ znJXtx;c{m2&T0BgZdHD1PF21u!}K{unm%g`@3KsvbG+&Ei(bz1g)4@l2hcB-@O>5i zx`O`PPahsczdmpg_j7&W9;>LAw-j7^=h1sQhknd|ftPbV^sI?tt!Nr^hA@m$E2pQv;8 zz&Z!$Jr|S=(0h(OLY*=2a|WHun-$mdVzEI@hPRGoxfcJnTPE zr~mVGOZ*A_lu?U*r?^tWZBoyb?rZD1gY>(~lsf(Bcd7ddeyuvQ5N+~5T>KWZAt zW5kz*$HZTcl+`W$`PaoeV?uNI?pKU|7X0DPT{$_!TQPY7@>{&K=Qq7gTkPlYp?~Lj zgZ(@v^b*gCQz)7EBF~jP*QKK?qv!Zd+lP`z9s4-@1X+_unw5cmi(KnM)^s9kW+5Zb zLRQYq{G6EAg~Ys`M$GH8hiRO<%Pi37me>~5VxboqPCP!E@`uIXCdf(rlXfpZC%b8P| zD_H~UkFgy;C;0RDfN|uEd~hQ&r~*E4B<49j=GWqz<=C?|&$OJ3UFgdd=;O0Ef6HXV zf4`hf9FS?~LGTH(IP8Kqs?dj53^ifxN%UhMDm2)On0LEf?18HXcKF4V;(O|gpPQz0 zf;I21*u{J98bf{H$|K#JEA}nyCe)D&Uh_?EPb+8D{c-crrrFT`CTLfCqUxc~zeLRN z1IVKN$fWL*^cixBbA6&68PH}H*T_@!c?$o|d$Eh2NBiP-5!N6|M4!m2!SvaQ9?d+2 zz45MKCGh_LA!ax+_dYXb_>;gZx=qGVzUal?CdERIkInHI%IEX$3Hu#qdBE>q<#&7k zce$Z+_+6inJx}nwoM!_q`Jtol@GQMG8Q*pT{Vcvt&ZR5qW7Q>F^Ib{ zYXrBF=1)1}shqSU@K~yxp1db+pa1m>(;hl%*BOtCyGrFUeQ;x6FZk6AbRV?S)U zA<^Bp$!F@dKPaet1xiT?$XHt(eUJn`Pd+B4&}ZFF?mwWXIIX?NK%1Eilz zS5NBglh9?3W6PEudz~{gYc({v3S5hSv0EvIXlM=mdlY-N_&JI_yMi&a7n^tmV`mk1 z)mrSQ_IN7$5o0W6L|0Aa`5dm9vJ;za73Y|3j;vGm?A&wX_Uv5Ncum5dom+Uyo}G(* zLiX$nY&U2-|RnM_Uws0esr_83$gn-CidHdMO&2#d$z{! zkI<_-9`uEOOt}r26PqU@kJi)HT;x$bHsLDTARW7|*3(>1djsI0i~K9F12t1tJ#Bv& zocx5g|AclAwr5ioX9Vz`Hp`w}LYvPoFxyn;(|6@Iho_ir#pv&X(=GVB$2Yf~XP(~S zn9#Ex_ycn}>%uXi-ySa;Og(U)*i39w+94l;o5=TZX?pNBU_Z9nyjp@i_kG`-V8=I0 zqL2FU_062nTtj=dRMLOQZN)&m5&iTA^wes`sWp_d8oTQ%Y_8X1bJcjUp7u4+cJ%!4 z`!AX3d(Bq3tHlbx%enRMaF%_~npAiyS$^5%h_J$mavd=l#g%?lI^T83xQjU2UD91P`@&sSj_}Dv==@6zurap( z+!yY+-Vydv@9|P>$O{?QdEd(KPuq>zQ#40*$)5iv>ZHFnLZ3;y@!^e;e#htH*em`Ew&8!cNb`uXp#sYM@rXdU4tZhAt3Sl;Xi?H! z2|KK0(jU>cB!iML#h}sH@1Rq@mrgCX1dr^(gJJrjcHvtRF!lAFXsQAx&9QH$Udj0r z=mO3JJd*ME@V*r}u636fa%&9z^nu-PWZMHzTE^* zpS%d(Ev609JK^03yc?;vg0dI8;aS;;kI#mWFNo*y^6r%{U?0w8tQH*K`Ty8^59qk6 zd*6T0jG8TjZQSIN(TwCOYJyEk!qrGJB^XRF=B2=W9!ai<5-}>&zU2QWJ!j1^Uu3)t^cgG*Ew@` z-}|?J`?r5>Q@`vH)y}JVKaF?MG|PCuhSN^F5Sy z|90GihIT7W5C3;eq=NjSVGEy|w$|257!z5X{HAmLo^SM~9iMBkY0lG0Z}UaRM826! ze+u7h8qTIk|C789|26=w_&4(IXN=xuURBp_o;FQ42A@u@$p6Uts807Di0%_SyhwiS zfvGrgBW1Kgf9^|3x3!;i4<^%T{i^Ij%1-6!rq+AspAsqeqK=D9r9aJ--^1rk;qO-4 z{9T7e?2os5kUdg$!q|Lc*D>)GjP8UpVm|`-yl5 zmnHeXQ*=LLW;mAb39kb#8lW>9flcnEj-x|yLL2*e@%i{&Wp7^qe>ecH(*Fc!Q~5>E z{{KyQ#SQMzIf@hBYCXL;>Zg4=!}{SN$DqqZgDyk%8)psMJl-Ce)4hx#Jl@AG9sXf>uXsy(xLfy*`H?(}JB}$$T z2M5OIEuf!%`Wd62g-IS#tgtuF_$ul=7T+p}u5get2BW>o@+?_xcb!V_)T#4dD*yIk z>TK4&XWeHwHj?wI&A%O#9>Y(v?uykuvf|kz)>&P+<-5Gwywse?w|V~wI8|%>2HtPw zy%qX9mT7)TTRKZSY@TX>?~NJo%HRu%Pv|qqrNJ4KIZOHAA;rKUzAT;(@*IYrS>`rY zZ@tH3%&Tt%XCCI*H<~B&?aSd=&T|saC7ekrIQLw~d@Lv2)WfeDh@W~jG`)W^d4Y$% z{HjzO<@#e{{s#Q#YyIZYZsDsCxF(-|50CTtukEk%QODVgt@LLa zUQ5hh_p^g_E1+-OnegD*tJ+2DvM*c&%*+8+E(A`#0*s)u)$cuy@0|`0{!DoAUxEi; z2oGLoW!C8~*6U8zEq)^5qXRQv;=By+JyAk9zXxVq-8|+2c$}=~zA$qd?d<@*wg3LV zz~emJ&8xKUiF3CcsXLhDXUaYy!T5D;KT`Lx^^JSfSf6qJkD#A6Z*+X*0RJ5x=W_Ck z$0=A69Erzi)1BiZn%j#s&lVqXyrnNRgE#%ZQC6>*ly4Cl=d{EgOE;M@gf~s`6=KnS9P;T ziAUN1@AJq{4_fqOD!(%P@yB%?<_eywvS^S?3UWlO=yqI;ih<s%JmK7{|M8Smu0%9k2YOFYY!U}S(2RF zJ=2Q0FAN#vilWVXCkDDCchtURonxrWNqMwXYGNXoQU2sdLRcGYw3Gv{JT^>q6h59UY1^^e4n~-G>}cGNtvjTk&b||1yayM)w(?De=ABnbv_!bSL~7 z?gyE7BH>-yvW|L6-PlV}r^+j%ZKc#DecUYSD5ty+sz-#E(x2~>?rO&59?~pfO!kr< z{oLrTc2^i)dwe?d?n2rxzrU5VeJcB;XrNZcYzbr0hVI05)YtCGF1U{R?xw8Olv7I? ztH{5Kyl9Wa>&f$d+HenT_#XAIrta0`zl*$gk?%fFplNkxpvhJ2_r?N#FXx}8$^1V( zYpVCnEFU@&lf53o%IrW>)$l-*^eIMe&+}dmjDAR%NqB*F#flC zR~JIPt`FC{y6yv>*W{S4`zM*MosYP>+8=Xu?JhT6yOyI%#J%G`@R_dtEv~M$lTBC0 zCRbMta2|Wm)fKBFtZ{XPfcX&cA7UMJyg>YP;<>Xt_B7#F#LuMcQGurLxIj}eeen~{ zqhC`9Gim?nwEr~XrxE}4teM`rp?=oc>E5@qPV?sR95Zx^_xY@8-i?H+iGe2ds#QR!;`u{fJDZ<&rwZH7@YJ1JqwX4(Bwetg4*M}9RYxfG; zej4E<)AggXOjq5P>F*NLweKd=_4ggFuKNR~>u>Fh*KGQ?oBmxu|Ncnd-XXk2|K^kT ztAvY8*AKsLx_)q_>53<~uf5hp@5l`_CGN#9Jbm7?!bG?8+z0=83jL_$Jd;m+C1<76 zvZi>KvW_-o<#})9tmDth_bwp5SWn{B$Mc9+A1^0f{S-bbCOGr@K#)1}xV!FHNINs# zT{TN-=V97-h_H`#-bfq2MY!5@-S=J7wfa`m)tc?@Y8&qE+IgMnYOge1-^@8ww~aL` z-JTG9SRZpg=-GqwP6%2}@LUgk>+Dev4A%q0^}xE$J1hH~1HiSM13VUO7vdZsIie#! zob!`UarXEWx+8th9_1-@2B|ak>~RWpHqh5W`^kByfii@rwkG>&;V=5RHQCQ~efqgR zrOpQGwD#Mi$`tq18pAl*I)i{ zmaQjtGi7c#J``;n8j7xmmr(QJZEvZs<>)LUV~AJX>U!{gXfm5;Hz9Hj>DA8<=kKp; zCY?i5z4~D9@%WK79-|^>HrxEZIDJwX;?vn>*>d8)P)>s-W9I%;{2M$&IeSQB(;7A% z_B+y~(qX?Ojp#7xa^fJC{nF+ezD&AQzTv~9+YcW^`kWcYrhi25xCjYP_8V@$L4U~g zhW1JAsoIwFZDr3Y zB~Jg#*?WW9@7RN|U5fkpRtCHxCyrJEyOpd}?PJ=*NXs4Nyt5BUM!YUJxew!OTl;1@ zdu=@59p2xP#yK-1ti4xzr}kp_)N$>>zoC5X$DQoORqUn8r@I@qAMd5zWz<(jy&>9k zCvAEcpZ0gsmS2#ziuxbryJWU5>a3>hPV!gLmUhxTz(rzW4*7Yw`KXpGsy_=|W z6X_$=6`|g9*?*T17PAM>CX}#m6|--Z^3>id99%w>omep@bz$TbvEI6-Y4=LM;OIEg)Pi(>|oFd?P@)pZ-s;} z5zZvcA)HSrVPCs~vMWqPzV4qYGi)pxI8A7O9Ze>$`;|J$pf*ZAMQ+E{e%yUU5E zod*g{T>DHu`;PjP&%UERO<~_@uXJ^t4i4GH9Y^g~(B^8w0@|{gP)^;~5h@5v2rCFT z5th?u=!g#X(r3pWIwp>7Mi22HiDUoQj}IPGe%Xv(&_8njdXPGg#XD=puR@T$L2IrO z7}TC=twXIx;8A<#XW74Qr%vJ2qxOvzvp0jE*f+Af`D9OQ#Wn+cCY<*R-nUurVdr-za6@C}-c;$i5Lw?i*$7 z8;$H6ySn#{@sS;*S0BqR>%DIjT74fCdGz0%`>pML;p?R9-WNEt&m!Fc@Tr6Aze;>6 zu0NT0$%u5G6m4(;@u_>p6ymjK>|l(v|4460dyI8=9?!k}&rRCO>e=`FobaT*p*=z8 zVdayYW-Ir5S~3sxF0dg$e$k^d|EFC?>H^4ATj4!%X0r4@IegFG4-d*MyciH=9Ix>R$Y#9N5$Ia029lFbYa*-vY>G*!tJl$je@MPEKPfpi-jE=0P zjP?@vn~XsbxU`H=4qrYExkx(i8H6hqi$)m}2`Afa;IHoox9i&;%5ahP7qmM@IpXQ( z%1;UUjq)Sfj31f<@ZOU0i~D?*&6MP&LoNN;*=wriCE!IS;6?tY)uu6#GR^sQgVSXO z{gBuuc>LFq_X>M0C6@4BPFP^CrMBh0`OwuVbXn}C-t^}q53rUBKb`);U;drGo=@H2 z%>?Idi|>9W@8H?QsmZ!ade>c^TKDCn5W+u;)cFZP<96NtA%6Pi0q*0gfRk&(}m zD|oVA{6|XgX=!S)o$Oi}T5zNkd(lPc)Gu5bJfb~m%G!mw4d~nlfq&8S23_RxJK?q5 zdfS>i$WugKS5~PvEo-6o1^60^urUn~KNVg4m6I0bVw>4j!r3rAXHjl3XTHEv-w{9m zr||w`;Jq;e9WLg-8X7~k#-CaTc|H63CeGH6u>U`XY=?Q<&0Otb&UP|)9Tn`?%%|md z>n6r>1)ihGYMHpc!V z#n!l%rUja6nip&-H-RRdw}VTATXfgnqP4zU?T-z<)cf`pS?5~ct+%gPMLvz~9h~(< z59pkx^oFo7i#Wzyd?f9)0q*14#DDFx#fgf$5GfF^0f-dkM7F`OL>0!X-U(G7wMtYWA|C$$>cQ?-ishL32f>@JOyT^o z5eG*Op`B@$nh!0xaI=N;@AL5A#`$9-#rWs>-bsPYcX02`ojHNHWb={>Kb(WF{&UODp)-h5nbL7wE>v zN!}4#)?wLOu@C+u@$M-WER2bKGOFk7-Hm_6Uk3KXLl?Z1@-BVfZU4=1A7>z2Uf2)r zTSj~TyWxeq2f+(7lVh!QU$f;%-PzWE>ATywp^|SWCeswLR-83+_wVdAQ?)BGe=hN< zJb>SRwa@ymORoPdj_%Od$a(vF@X2qKJ_Vm_B)#ZE$x4J94)PofCtUD{fpNm34jU&F zCe!qX6Rxz<^u`JE)xTi_klWa{;j=c`ojsY zUD6vT{QQSDPMGja4^AlB*Mk#Uls*L~G?4x%oY0c_24|)>MJI?)_sK+C4ksQUw1TCd zm(+cmcL;oj?S4TXILt$6hCd|U+BWz@+u;SZzyo>+KNvb&>5SzfjgwY&)DtH@oUKoH zbbKB0LC)6F4RvuIlfN;Y%L>u^iQyy1W$Cu|=!@?EJF;SY23Ryj!LdP?K_}j(kT)>lqhL1wSM>|QA zSYx8rS*gxMeemZJItQ$WPocAb2R&B!SG&tOSHh>-TaC`}gYcuQ@sSPMkjUKzy8-C0 zd(r~YQvArbaTjYl{_Q(FIRzU{{e)fAu@8DR2#<9?wCaJ&O#J>r>Bl=-Q|9`o{{co<2sMqNC2F&Zntk zeX`EScz=YjDOo4uDHw2cxT;g@+}isb8~*`yu0BScNj_9!bq^m(=PaGK96prphe@qd zd@I3EEw+cTdwZW>|3sasJg8452I2{L+K!Ia39L~EXAb9GI8$&vjQ0(^+jdvuA`5{b zeb*T7n#-DFJRLi*7V3~4m_zsfMe+3Aq5Gd9K9!I2w&H20L-+qmZgD>Bd;{snP^t>K4=|14|R!`MCh)#SOLXALK1Jgnj7Q8q6qxrR5? z^{n9)r`l^c?Z5dNZsOj%fA$)lBDnb{ui-4!`A=TMoofeQ!~S3QtYI(j&KjP`d+Hiq z{UMwAXXMg?JlU88u<1O6Lg&zu+{7=a51U@LXy`=R# z%ECc?_vBv_7i9l)A=leql8z1u_Hp2`#qhKjVJjDcFH?mcOu2llq4!dT&0Hz6=NjZr z=!sxghmHtx0Li#kBA2Q{MnInULhx=8_ggtC{W_e(X_n#67h6Pz!fZ!m2gB&6_yGp(Bzw2zf#CNO%zebkvJB-*s9bD&E8$lZrRr`Fh~&*$-6B+k6`Gx!29v zKc8vPS9ftouY2?SQ-qtwNB&INE_|6EhPKKBed-C03`79P~ zAiALd`a^VsXoeZk8#cW#J|g;HHukSJ%`nl@cP~WdRp2qvGc(x-p+DFgqkEB$Nj8>% z4oTEQtJHGOyZB$f;{Vgcug4bmYbJi#JBd2%Vd6modt|3id8hj8~N$lG{PR2jb9C%{VZeh0(Zba_f^|x)JSVACPsctS+TDb4XU?b z`7pVuI4a$9>5*D=*Co8qA)r$#SyLOfs;(5eqCJ(aSkPNHynPL8Z`v{Hln;|})QL`O zVpOtDY(6cU$Z^R!PwZW1OKP2`7C|>kCuFRpZ}~iRN*84?{fvgB4-?6HKdl~0$g0z( zWwd5e^-wlb=dt8?4bW_&hdzrOPw5@{DM+2EdMI~mY!4lypTJZDWyq%2(L+gm04#R) z=%KV7?oG2Py;El_(VI5Cjyh9mHr;o6xLa;Gv|Ha~{r|#7$fDOqMH+bDZoQ9={FL`~ z*8AAVk9l8dy^o93@m`ipBRjx)WbPyR_7{tXn^y2!o~7u^#DIf*=y*4w5*yg6KjWVr z`d)a&@Kn1)vBZ4I0`6Pj0w{;Y?m_OLO0 z(|#1-+re^MpLQQO@2OjZztUbLTlzyQ+?!*gLg&c#t95wjoN@S(iH)-SniRASZ$9U# zPl9V~I&^FVJDg}MdI2YJmwPKTK02?x=AjXpk>;@fg-ecJkPu?4+x!fNUioOQ3!6~&u@lkPKB)6+fl z*spmPJ!acNj*XmP!Kl3^*3NNgsL>Wqy`FMYX{@^yPukEUF;lSV=U=Z0@`YgSTyy+P5AQ*facmUocleXaDI^HV?OKf;(r~iTn*`WEM z>uM}`NVCt_mAzrmBN#mY7K8N`b-gNf=C((|wC^b#U|FF9go$lXG5wjj~hWaIfO2-+{vythz@> zX8nWV@bwpZ!{M-l|1~(AV#DF%DY#H@__!^Plb%E7QE)isc`ro@AtsrSNp)>$$jAPfV&foH-9-nXNiGHZgU&4d3-GKLN;YQ(7>4qLcPpbg96kgT0 zJ2)$@f*#q8&4$ipl8(WNJ7| z)^L`rfi^yY@(pLxebwk}M$H>BX@2HKs< zR}S3=AEi1Y{QGR~aE88hco~8ZXMg@7b0OXK<^g>F9P5k|!uM#9HVkyeIT;_R!Q@<^ zFl6mtW&O-WP;&uIss3v&E|$+4;8`?4_EVf87}rL|w4r!l+f4OCW9?6l^}#3t=);V~(;4i`=-KANZ^(k*Fe;P1c?I+ZGLmAP6{to^kjx}Em*vAewU!PUCboagN{guZ!?;popzEDitIpbsJY|$IoI9s;P z*gRW2hU(tu{dQ}tlQi$@-aLkvs58V|4>rFI=o5x0V;~%%I#(v)(vg=ay)(Zd<~NnL ze^mXv=34!Pha$d;d}Lbv#BYI%xpwMoN$n@RnpD2Vebm`a*E_yR zowIj|t+Ok9RZ4L1m3+W01jh?s1^eKuQ`zrCXK78H@#K-Z*EutbZhMk<`NUJ)6TJV@ zdLI}01@HG;@1r7*@P0$`{bAlc*87;qM&3`c-bY8)@&040%rTLA-e2WiYhUZ2gg%$S z_pAME7xm)*GH$554Zf9Z|1JI8VG|zwCb*uqyjhZF;^WQuT6FF45$qap-#XUX z!~Sj1wRa8rveN4|N%$~*?A#6Q7a!Nbl_qKD{;I`C6t2vPH2>;Iox7UxZTW1zI!9js zT}}U8%!!55{*aje;r9<(FrxiZbw0p+>OI7}e0XZS1bd9%G5v?iFJl}$=;)3Ydhja% zPFv84o_C60EM&^Bmv{TclCAxxzcb;j={67eO3EBRJOo??qPJ16i*frH-Z1yBzUjyA zNOSJkeIH=F9wg1-a`~Rp*>PgT;l-XsIXkg`vS@bvI5}+#S^oUt#r_}oM~YZ&oESNs zvemwCQn%pJX`g&H>6_+SW4@Yq`@B9rGL<}z{`te__vTTpVy@&n)8RQa5FZ0?I(Fx` z5$~L_9w082|MeX!&gPrluYBMkhi`VB6*nsK=U+NH4-+G4wBs+dOZ=*ik^$Cr{$I#lYrd~VufVB6a-QyYOj%ctj| z#QgI}`)kq+s$X9{0sCk-H273+drMY$D$m`}*KHnGlzS?}=oLhsg;yq;Tz5*zXTRhD zcitL!tL8}Xt&Yo(v4qWtzi!RCMtqDAwB6pvGOiK*{@&A>*I05RY^-Hhy;FYZp+PRe zmp*Iwk_+I;xq-d*d(naMaR;TxU9g9)!SAKr(1q}JZB zaG}rrw;=VDfpa&*vv(h9eba|7d!cc6?q|MquTv>;7f}~@C@%ZF%ee<5CjU z7`r)Bux&E-_yO>{KlJA2+su{Q4RW6}6Rpon``Zr2We0MgXMv{{AL$s!R=y3%S?1jg zJ*_*kLfj)=?{;+_ga*}E?k7I}(A2ffjOBBTqsCTa+DzMAz)B(VvTLrxHUs=Qnm!Ma z-LJdMyH4;TIz$9x?JTsPdmW#8_kuvw_>Tr^{|QJp<{S8 zdi>}O#Sb#a?RD~vJFWnqq)m$$13&i?_~~ojusON@5dllT-j6>0I_^kg?`Vo8>@&(& zMDNuF;@?WontN4R*4+0W48(_;akVdUM|T6`k;%6^2*W6As2N%t!_H)g8G`NOagjGB zJv6uYbCJ2R!_raO_T@MEe|NeWsk>6^U8dsmuPm9n$klvK-Yegl>-Rn}_fpapFD*U( zmwfm0e1h*qSC!7qQvha*2qoCJ#`24z?8{NVG1>AN>Z6SX&^D@j2K0n~#Z^bL%~-2_ z7jkE+`dH~6QlWkhqm8m9P+!ZI6>O?W1v89MS_dr|wsZ(R%Ur~C*&sgVE4?d7EX?4}gPC+&b<;(nAe54mn`AN1J`II}W z_H9CrXEgVmkFKrf-r(3JX8!j)WnS5UTsUNz_rmc@y#aiI{C>p#x@_>O-tXbP(v4jA zia;FS*YjN^CcK$*;#S~%FL&JLdWLkiwgj45c`tIg3i7d~XkCxL1fEqFnwi+QUjLN~ znM>N?`!F%9m8bSyt&P@_jPNG*1K58$-rc5dq((O{;%i%E>C7b2LYLJ!Fd-v zd_w{8=kpZ&%;s54xRG?3E)!K7$E0(nOXqAi5;#20#9e;Qc2i7rD)F<3D zi94OR4)DwYX!!&b@cOGS;(jdl0Ns--+@$d_XZgJbJCeX0*#n*86|HG~ z!+xZJ@i8NO-a^i{);H`)*lGCY_ZDKuWqliFnu_M?Tb`GFwZQr|!ZZnPOoo}i*zKCL zkoDWbI<7G;?iY4nR!<$}z~v(DM7#@~L$zbt*UX5(u(Y|t%hl|kt_%FNd1+~LTiJ6> zP2*e__XO9Fryd^xre-~N1+Say=WgH<=!P98y`tEpXR|kOj~V`0u(wf}MWnadp+4%) zUSQNmJa$VXUHFo&bh|6mULSpZ6g;iG&X}+dHdO%=V`-1@;XS8{jyIPY)_pd(CWdUo zu$SZKF6`r*-oNZJqpkCY#5VX3{_@G@7Qqo7&o8Zv4it5UXA!TWM3@s zjn>$)23Uh-)V~Nkh|SfUb&Owea_oxf*LjTHGWz3Uj5KDx3w*UM#={;Xcg1?fWvj`k zC^s3|A<_jI6ZTie1N?w}(EIckd{J9&t#MC<+IcbG)JCmg*_jvdY-b--`O98CXsx%C zIb*k?x8eiFXyeNU7=tfgVFY6*0284#6MXq*rXTw#jfG&!&z;NE)#O7r#E%`6#>M(Z zogqKpuz%8+Sl_6B8@xXMut1YF9^}h^bi++1@m9-f5=DV+6wUHybdNVAoA_LYM7toUr}UT?o~7wj-; zoqm^V=(~K+b=mnE_+RBhr`YAjMUiVLd&E@%+O(ClDnHki-5KM_zFH6(V`et=Gq+~6 znc1A2({(&u;8EF!do;h?p;;_nNZ@yCFPWb2byv*V;;)#wC2#_?sOB8_U&qt&PtsqW zHsHaPPQYJwGceJ~dT8V+8#(3EU7ddF(LSQO4E3}EFJ_2ox)zvlK|gFC$r`=&_P4ZF zo?=hdT3O5UJ#bSA@G%*fFEC?jUo~m98wfMN(?dN&YgdA2I#|o=*?(tvhSb*RKWkk3 zv!C%^#s7MjyQ1j3rN;*e#osNRTTbx*Y0A_N%aa`fo@E=DM;qNqxN8QE8VLjU85{+SnPtEwI6`pg?9;T6y1#gc%<2F@4v2L(1*ggDKI8{7rZ}Y!ME^7?01P-TKmoL8}!`5Q?Q`@S^v9| z-}MCVzNxWm{x0K27_{%-W!!EiU@xmWuZCVt?Nb%^KsfYkD|D>pU3`(CwKte2&-vNZ zwfmr{bRK)IgtPcm_;4xw;KuJAtos1JK`zc4yT~tl+ZgAPo$!4-JVjBR$>a;F5&Y8* z&%q5X)5yNT`sivI7U=ptdKWQt4~+brGdC`5T7ivA-AOw)?b!|Ri(=Oeo+bqEb>F>q zJ0I+)oj1`=@fi1PI+t@T{>L6Wk27sCXWH{Q)0S-h>(&ddIlO!}=h^`JZtifRdV-}} zP!3N08Dl<&=Vaz$JwGX6-BD_t;IyrM~wH+Fqor*rb2JGlFuGvqdWmc%$KNFLY5`D6iSs0Gl0PmvB? zmiug8&{^Ge1S~ss?s=k)hdJv=S8-DoXFTfKm=n19H{^eTbM$jL=H?SsCouCQWlf~5 zqLHHbCv-D*{-+Z&f6Dtl<}>IH#9cb`B@(Zj5$9Na7o0V+#!H71UuMGpQu$F`De3f` zeU!6#;oEmG9{Yfqf%3Pq&Yk?H^ppP@^2a%={eZTuq)qqJ9+mqozU#S2<+G3KOe|hf zCh!yj?yFMZzWpxonMOq}{RMWjz`fG@(uzJxT|3t@cl)iiGdgmx_~erLz7`kdKEC3Az3FcgQ(;_WZ;CAp!e2K4AE{2yTLhkf@$&@uxbf z;YGoJ$^svV7bSjE2j^3}t!a^t7Wug2xf+}6l2P1`V%rai7j-XZ4}9xI8o9Tzqh&Nc zfYP|T@r&V(uPJS2*x^+jQvONLUGQa3d zMmO=l9{IvU_J7NNm;40QBSU^x-;g7>>p!yOHvLDADOjMK_?=T(cLjt~OuUgYw^BYb z&gfRkldO|xFQ0#sfl?o=3BHqWEBUsOZwL8ykZ%Y1c*c2J{sx~Vo#StiHpJWbpCDg? zd^>304%)VZcI}|tR?6Wl6-`i1f^vAqc^-Ao`wna?WVao91XwE>i(EH!!XCj)wcW47 z*jw&{pLL*RTsXD{`V9W7hcu!$7v}}ylIfMfFMq)VEFap>rv;)9QTHb5zGO~UU63@w zJ)`(;NE1U}c-d>z#ol1}CffKF!8!k1e?^)s@nhI;-?qPXfUkD)y@-17tIc^dG;bCB zpf&J=9{&ZpeP082rk2D1)N*2Pn)w~@!c>OR_E*l&RF2l-X5Sg&ok@m#q+|s8Tq7;M zSsryBTrGSsDI(sP?r&&M^2)>`+f91$#Y~cKb|>f6J&YOmn#aXA6Tb`{geW=)(K{KN zA7+^N<#*!eeh`_o^n=W#?E8K~kkCAU9A13WWA!<}x`I{uSCY|jc8j}F8?@C*%~LVj0{JyvtUMN5a6_{HF&CC8cgN%Cff)BIye=Omr#f3&9afNM8t^kZg$m);i%ozQWQX zh2R#gyF&0wA^4>b{Bj!j=Tz`dA^4{d{Ih_v7En&JDf2F%oGGk<=ctEoasI~_P{soC zFChN{^3(44#pGW={srVOgujE2?kN7b^^7}yy0JxwJN~)pTl~an{73#!cq({~I(Ja# z4(j7+;mN*uaPzC?%0;w=e#fWK2l0ttq+SP)(*O7p%B-Z!O3JLH9hJ1Bl6LTn^Nd%H zBG8V?iG*Bqj*|H2KGs1nHxM5Po|}c^jVtLvw#|%K#kYFK^bTOI+0A(~KRvvPu@_#g zXPkwb;qO^6SI>A0=0f=Tt7qKl?`}W=7jm{ z#w9D6hbrb_1NlPCMeli-6mjN2^N~6a-(Vg>)Kir*53`sDjl1;e>RB)7&xKd97CK7O zMe{HZqa*dKQ_Vxj&A78(t#N0~*0W}X3&>;5OW!$o_2JyAfw9(jYOEV5cO!Em*e2~!^rGPX2FAK! zkg*N{E62h+&37TEBb^T%G7#->GW(xHJ1A}Uxc9+34UD~2mf-z=*g9vzJ6H3*ihS!B zf9V;nXY3n~0q^S=_r{ebTtmKw?S0{$`_ohKP8nmxIHIc=I_Ia%K?C)q>Z{$%9Ee}@ zK0I9EV)rO`3|Y_)zd5}&*JCUmqGYb(1qR^-23H{`$url_SOqNh!>{q(W@bv3AU?0l z1D{TO9r(OK@T>ld=O_NJ!((r~!~PCmwm@

    pT3r?GKm{4em$u!TTZ211c+i!m>wg6m#t<41ZAcnDzp-1b;1Po&w zD+h1n^IT%2pLJ>MkckdKR^ac4M;`n9(LC~izV+de7nKamBX2tth-xe)H`xB)lt-S2 zJYD#8B{Y%FPP*QxY`z%r?$hDR=dYFwl)EOJHq-9JmF?<~Y1(<#lh5L-Tlum&#Zy*A}6zrNWuq*lCj@z}*%7mr=Mb@AB6TNjUAymj%|`|{UY zu(kVtmA@|B^36=~oF`OVgU(`%v1;XvE}VVF^gw(Z0e(RIe^icr@N1Rh9vsTK$H)I{ zp6}!TTy$MqIcItgIE(MG1>zB!TI4;Qu_b}H;1ynih2I0fq|XO_pK7ju7k%#j@H?{V znFhbc!tcJbki!YLqt9r4lRQ)3klB=yU*F)97FgfFlWzX|kWDTE4+(d#0}lyzOD>8WTop6r0|H|4m&-yYJd>`J!>`DNagYb3uQj&)jVz}t45vE-Qd zKx12Rq(?T=G!7-)|s(TR-s^6Yub!Iz|;mr!kKkfu$wP zO~`!i1o7d-f6{)uns1ul)yzv9bG(~%)6P5_cu=kI>1whZoBlBoXU>;rLdPfP``(nf zUd?{9=mlgk@Gwc6l|7Y;OGy{AEzxDkjueH5=Y`Cp@+^6;*`*U<@9!WRR$Pg3Vd>r-^ z@PIbK|9J@B(Z(_ObRTcx4WHwz=EsI-3iQPc!pWwaSK%JWe=NEP>Wd%PHH19QNbv8w zeaPPSF>OcA*#I3PJw|BG_>1I8)nRM|o}_m-2^omu<g~n`W zj3sZn65Lw~-HFa!0XTflPb%G)#a=eiTi7F-k9XIWPe=AN-#^^a+2fw~I=;t|Q(n!! z5^Iqk{i)u==rc&iZW8l<3OaV9p=YzcWUgEWf2#ytFHT0o+bi%HuWd0heLuQ(Wzx5M**>psMn>)-Pa5Zd zSOxc?Lvv?H@2)-&&q5z96aBSv_LDv6kcFWg&i7>2)<8E%|L$A-7abwpyP@94=jNeP z7i+O~?{1j1zL)M@!7GcCx_3+F7NK|dy-6FAx_65$-Ma`nc+$NqURFA{js42y=-#yl zqN2C`#@4+HAs1I)Ped0^eO-#)occRW`yJ0pcV@-*TPlvs@nqGi&3*e{iVmI|ow|#; zTSVpTPL{JrK8VTBewHl9MLA23oIgN0txN54j$;qC#y(ljv}8Hf_}@}`q=@m_?ar*7 z!#o6-hl(QfDwu~8$sb!f13kUPKa-x`*&b8djQk&2YK7MF3jPP6Ii#m|;gF^1=q#7FHG)qi)8ljLfl(#aOmvjY*FaI zr;Bx_ap(nq>VIGOLtb5$BD1!21O^@h*GGx@tq;Pp()x$C3Q0Z>AKQ_ah~M1$V&chD zemHgQ#o$lzy&ZWoHlPvlz88Q`ByS$S1KWe{yP3}lx8W0}o&Nz#-YgzVdM|nNv%frA z-hA&Q$+$;Haww|;>lvN3rwbp0pP$}zq|OJAXds@_-Pf?!!@CgA=tj{R;JpZW_E3)I zd=u}7!FR&l8+iXA?}Cp;-k(rFg4-5A; zG7q9h#FqpgM*l=VM1KU6|G&e3?eA)b;C{kCk^zSr*yU+R6&;P90;-Si}7ok&~=`Xg1|o=Lps;J1YQ ze&Q2V*w0&IG&(Y|pZG(Hr+v?>-nE2|K4pi{6=^1(%jA>e zYx}wQgVI^{D5E=l==?lQ8u{qe?0mB-;z(=)ueJ(CZBimJX(Js zQEdABT>OU~vGfUK=aOg{|Ay>bWcTu{{J@}Bu-dU_VSnxjaW5=3=h7Vr!DsupI?J+2 zmpzMYT%>y-odMk)_{oXfaYMfY$Q;_x8GtstqzykKUqMd+d2gg`1vVVuRoTs)2R+b= ztwsaNUCwuC zm5Ah;vDJn%tmNI+nzHO%=}%4C{^VTSwxwYTe0gkRZvXLA%Qj{> zINC>gbYr6pN!u95w#CV-^8QNxBeXk~Z|A=@nLoBhedwLvN4sLRoDq;wH|P1zR5?1w z+=GpB5PJyyziN0OK8ErAA%bXs=j{2fLOfKU>ZBL-;$5 zW7}z%1N>(cz#AX!XK&W|-OoJ_dBZNw_2=~1Hnh1-ljtpUJLmhyFY=0CdsLbX(qy8O z3%%)|vCR8d_LF|g8cMos)ATK9Pw8I{H#yj3jH!JY9#P<0Gh*9uX>*62fG!&_clT}X z%btLS6JO|Y`f-VCc*l`6`)XiLeVn|(H~dl3=WXy^Qtvvh zV!rp6bNw}&=4Mh}&F@R+{@`;zpIgkc=1)uD6D_%RHUDdlTz_pbVKsIWYhPJD_i~=Q z;T_d@pPZ}w^ZB-t{~ePy9lsLVZUdnMx~`0H0eYH+W<*7^%at9326Zvk+3+DQc4gPT z;?73b+SV$mb^%rxIk z-U{v%3sCRN)LTrRBIYtbIhV4l@Dn^s&)QN-ea*nl+M#CTAe-VU zGR^$E-DTe0@S$Z}vG+3Wq8xIS_wMl(-Vinwp|t&V$Fa8cK8ttJZhJ4ot_qrM_mV*T zWbmR7nyVFBC*d|p+RfG3+8$`KWCku{+gZF7Xj())Q=wObF5A{(27QSg-=i}w8bRk3 z)0vnhn3A0_aQmjld7yD=yT!M~zoO@i`g3skVEt``Hj7nfTYPtTCFt-#d!o-GeN5?Q z>TE5(g6=kzp1bri-F$bGd& zg6MagJ1r33wZgWK6U-Gull5mGH#-~sq<-wcbdjK1`(;k>= z*~sCy;b?oH^%-Hu7D)C#jy;gcjSDGGoaY&ysEk<5|eq`tz|Dn#MhTa=o1jwbTVB65L5tkB zP0)Jy5`Arg7Q+*^Y=UUV>M#GF+XTt>rC7EvoPQUue zf?pk*pjW4u`PzqL=tyhNm26Kk!Q)fxgFa*r*8atfHbD)@Z?xa4%z)mLHbF6X z>5ffM5#@`g>r1f-+D`rAssG=x2^w$N1PM0?mKQeLyzgs}$%)>rVPDwo9#fl^v~kJ8 zwx!+evFuwihKZKroQ{pl6zG|kkh3{)5#bhcKdHZIUUpT@=|xWkqO4P)MZmsnU{!5;- zDoGFZZ`;yO`}?tNN$txv*|xBs8u-_(Jp0Uo$J8|zZXvf91w(0ZRwOG5+6Et4B*^u8-(MQCv6x=>raEHgN?y6l(i2U ztG~QzPa`qy4fpIBy=k~cjS=k~zHZuD*#&f$&A86|!^d^< z^D5sN8h_Q<*G6Irb3lm}-{eus4o&UN_qj{uGfoX34{Y~f%`<748DRAqi+`7mDE3z?wRZuwxZuBJBF?3_Ico8Y(=-v z4Sl{9{XWel<-{MJ3J;-xa0+x7WhN*;fu3!G@_6=ZM?ih?UF1uUPxc7g$k(5KE^UaX z+A+|ExO*D34wk<7DuiE0`qqp-%bJN z5BOK%@$i|Ca2|wTb53gk_;R{?5?%}Q*VH_&hu@N#uirfIUR;Dy^b^H@q3;E$c?PTt zUW|*dk~Tg6D>I_{rNG5kLpMGPzoZCVySp4aS!8E3lKhx#m#MvvF)}8z)?c$>?hN=X z$H9YHjI8EHWN9aQvTK(hPxHZ_xt#w)8T<42UjvUuW0wz)=E5Y8rqDIC;+Nj1;L&WD zJDEDm;mz!uw8`Sp*t$FmuN5DrJjtV32yf0V9o zQ1XT`KPkRG@|I28;#xMqao1K;rh#`O{}JL{h!)g*4O~v%7Rlbk zzj+>hfXWHdCY7TyQuCjbY{%V2HZNz`Qo9{7;QO1%-hRUPOP;j=*_-5NIrSAPX zkHX)3bo^D`26#3j%>KGz;9R{wm)K|VZ&rIIzMSP5Z^_=8-IHp!yK}?~vUK6#pMsw=~iyD_c>&G@2et3y}Ln5!1K;WysE`41k@N&>P#D}S!X&QIEc z*!5;+X!y~5p5|SNS%Tdw*=G*43=4l$k{uS`Vb|B-!LVkf*Rcn_%s%jtbUVbGadbP{ zFAKz_`yqdp@}KDFa)|E$-iw0wqM6`D`AYtjB`<8vb;_s!;j!cC2D>r{eoeuOTnmr5N*0_GexN4jaGIo0y zH=Wt?2yw<&<0_qN`BE4E#^KfMCfx?c&*A56NcyD|Pe(eKAJcAZ6{8)D=N`uMMC}6EC>qne69@m)-FU_VdJRZuY&LNa8KGrO%&u$IU*H7D=?bE&ct( zZg+eK{Fog>2Pmn)Be%c=2Oa27;6Xeg$0Dhq*a-k)7#(Bnb+4FPR^K;qrbJ_FhUpxz1 zA{SaB7g{30{+swCVFzKKJDxa1I7~>m<9lk%l?jh0F5Xrm(-YsF?TPOi?%~c2!Z=U2 zt&aF#8yeUzfdR{h;O_*xIg#Ol-QguYJ^|T_J8!{WWhHVW?t^iG>!&cD&2H>f)~AJK zn=qAe77P^8_eSbwq20M$Qk2C z${ff}!Z5~)cgENx$N0E;wl1sSatLGWW{h2ovGyI={q!E=oB_x9O2*hs<2;%&#%CqR z*s(*wrX(!;l8*K?%N|8|QD*{;WrI6(j?M)dW1S0hCJ=0sr(c_&*JO+A1O>&2J#jIYuTG`H(f;^fu`f}3L}LzQUt+Z% z`cZwe`jKY)oRWP>ci-RzJ7<>nPfqfdOM2`|WNRY+vd$l}F)`o~c#q*2_9r3WI96`r z$75F#g4VQn&PknZ10UJ?mZG!mLibSLc0rR_x}Vg&lK=k*oo$snkj}Q^2GZHK;*vVs zd!S#Wx4j$s#n#;xjgb?{MGhqzFc(==JH9$KZ|o;g_LJyTXuxUEfDTQV!T(|C^*S`6 zbhaNwXIuMp=LhbtRS(;+`Y7kI0I>fou)h%A^-|B+TCJN^(Age%)543@_-hg`c^c@0%xiIno4NTcFv-*3$Xk)v4&nlXP^^)-nXz_=<(S!qV|3K zH9c$jY#LtsJ;!Gg>p=YMWez`^^-{qZ)Uhe4{0I7MLcWk4;GEglXHyJ+P1}0;Z0g(Z zJa1#tXOr|g-6=ksYB*cQ@Yz((b6bk#3( zwn6aRZ~h8++|0A^jALtZ&rswSq>sVx5U=|Pypceqc~CYdUjoi$XCj-EYuasFfVKrG zHYQhyhnuu9DeuR|BrR!Uf*+gyaD2lb60?MZTH((cx`_kyUy2wQ|G*%pFAg* z2kdilHM#(<6n%h`&<8jjJwNEIdE3#w6Fe@q_?n?NgV?XgDh!64oWa6v(iO(WFCY(ro zE6>=DV(Tm^8ZxvhG2akhz!*qR|8Dwr5zi@%L1_kQ;R9Ow_3!}O%SWSMKjy!zU%%@? zcYJ3(XRh^}uQs{k?T>J-dW^HkuLw`OyXkrN0Q&V;1ABhX(K?Ignclkfzef*q5o53p z8spR2%Sy*mHsx;UKF@I5M|mUVuOGxe#ZvOfE;o-n`Q(|L4PAPSJZ|#Du;0~w?*9g| z6=*F3k2Dv*n2lfOKWixXjl@&i=|eMRJ36kdq_zHY=5^8+Ip4IWd_D1`!{>aJyn=-n ze{!VmCFWFgjru2D)0cT#@Bs}i`tJ9{w{f<2^kTn6o;%6kK>jH2qevg*{oi<3e+Bcs zXpcVnvVS3s;J1N(sr>8tFL)KruK#2BFWG^kXIgdI(ejFay{Sh}_2z!!FDG97k{gJN z_2HMyCC<@Ny{ezQ=PB>Kz4;|0HrhI*k3BeTt@KybKIx!-Q{{7}P1T`2gZvtg8wvCJ zDgPAWHFi%DF6<|MD)AxWq=#DEPrR4-{aT;Y|3%f$I!&#Atm3Wt8Xft9;(>oBJ_rsu zo_P5>Qy(mUQ#>WR(SP|p*YkOSdSeGlmY-;qM%*doG#AkqPOX zBmLS@q;>RbL-k@#w2s`!@N*H| z1P`IFyr{3dsSy3gli`_`xXqOw;IqwTCZ!?6Gv6)WQiRT2=2+g<+^(s`iY+C83^Y5xgofBt>d6H2noOgD5Jx;)pb zTz8r~H!p|1(3qwmI(%;EvPx+A?(fiHerz$^&|dE%%g}c}>5HJXrW?;34?O-fXe`;v z)<9>Kqn}v=ot25*dj`0qgy$;sZd&n`I(yQ(xz7`~!=zO#e8oSv=*Z-2OX0VpV>Un6 zm0pqWO3#ilmJ8vtFCv}VS7_2J+)Ed3>2A-`$y;7!ELTD2lyl}$zuZd~rNmF!@+#wB z1O1|WhW2Xg0_3y!mu@rZ7mTm^BA;u{oM~=cS+3loKJ%ivQogUy7p)O*+Zlz47W0PY zX3sd&C7){2ZT?@ zm2vE^?x7>D_R1zKi*{P=$g<(yOujJJ)m-ZJ`AWUpXt#7xT;u)TZ7J=lf(EjEI~H5M z9o4qIxwOp#&yF#g`0>6v7czps(Y{1Urq#AYwd;)z{5b5HmUhkF6YVzcTki?)U+=Q- zZ`2*xD?FPkZ#M+jX3p~Q1L%6!!?(mgM07j)&eu$1z5_n%KGHjQh6(o(Ruk?d+(q~v z;eLV#*fyu3)B4?oTY$sxceC<=p|pytrkh-MXu%d&^MWlmW#xG@b4~7dvi#o5d7sa7 z*94P$I?rcMFu9Kxo7`1nP44yQncS~THo4P%CYMW{y(gigdg1slcpGMz5eG}s!iQSY zt-HDOe;fEtKI#neDArtf2I*Rc;x`|jYrf*)_dLrvx|L_gBbLtgIk7dKa2DwToVAzS zZ^C;N{}_Js(29CQ-eTfI^G$f)3x<6n1KzY`vFVY-J2s!`^Q7Cq4_Wsi6F>i_Lvx>} z{L{7#$*tiz^0}$VXXWmm{(0|*EvD)DfZsdi2mF7_ zH0^r9G}Z8b*K4M!<7Lydk@t>2nx>ua5O$a*;3FPnT+01sL_PY0^`p6mgngci=i=fu zDlVV%cp}pk-<$1kJz+WY%u`uFl~_aqY>vw}gFTe$Ka{Ti$_g8LUoldF&?Y1P;I{cAdad0ys(l zD^{IxJhz}>>nSg(;Y&h5wm!I#(K|*r1P%(dyYc}ng{MK28Rgu6sNgs9o*y2a@Y2U zf3&X(_sA#0`IFqa7tX+D44h-YIp^iLa%Yb)xu*qOxl=})+>x_Q?u;3JZ`KT-w+OuY z1(WA}mot^>a_Z@?4&k^RpCX;g`yJ^-Td9wlv&T*rtr%eZ$64@lx8{zq&>dk9D~@q? z?&(=&#f^&W`_Z(uK5+VmkM`AR{bm^GJr|JV-OpM8!4leG)-sT zF)KZgD0XNy(QCs9`lZ<9eOJ_sV|f$InmMwYDfMjJ0$4?N#{p*;}j5D zfv>7%=Jiib1Q)VL%LYkp^@q+up5%!*_wL9Z$?;d(4m`3~7reI4ruFxszb-u&-`80) zCCH~7f1MS=spw*DL&nvT8Qxcc>{8==ug%+6oSU@J7W3+FHJj_R(5?C95$>He1*LpT zjX(SZHtl>rE$aea#G4)$-bkz zt|zl^RDzc)!OPIT(ObdG!!9^HsGm2heUk=X_vTjkebnO{MBeb|)*g9-(lYT!`OGXt zuAsP3@_cyFjrbV@4=&*Qd&|xIoy1jfzOLqc-N4zphBLNvCeP>Gzb;L7=BC@Oeq}W} z6VOwk5)H=a?W6Q70I^cdro7lc@U1%*w;fBYCeSH zs*qh9=BF^}Q&4>XS6H|_MEg_y$8B7Gur5$k=6!mRnOWt|^J={Fo;H(W?6vuPN0uKK z4H~=5#0~#XhK^}_%rv!UyYM3g|9>0&JoW_X*ej20`IWwuZ^0)ihcr6lqK|qh`d`=Q z0;gZOoO^k|osG#mueU;rZOwp=c>UwL=dc%smloNGKkDtgw-7?Wxa2&=%@ca=8V==z zH-0s6cE?Gfc`pD{DRSvqV^Htw2aKUl-`+7k*6Q08BJb}?S-{Scu z;SECBEkVn72kW>A`W%z7K$D;I)ojiVCD6>`|EFh7hM$~|osG}psfxcU8fzm#=jzWF zlzZnDEc7lfDD{pgSmfP3J?MRYdYMI2PoJ>Z`+HAl-Y{^{9NuF&i@l{hGYFw2P`bj&9*V$d~=ted@kWBv) z^w`VLYt7JSEzpbVzw8^I6+al7RXSA~1NA?TzWQncTZ+#*(d#;^fPUq9L&lXWK7nK& z4cLnr;6>w+HKWuEKXm@%{-xfl&o=XKor$d$u#V3X?(rEF33<>9rY@D+L4A*6zY+= zeLcY<>nBpmd0w#8f$o^jS3Y$1{OIci{uI2n=uf4VFD)NFv;v&(*E2S)`vTE6?zw_% zlPy}(Ix7RC>`f!l5vvGZRchU@(A~GI{FWSo^=a8PYMg>smGw!JXWumgEIRpX7@Hc# zW+C}C)|$`l#|JiR?Awk94*}0>2vvmp31Pybc*P^M`YOZm;f@~Ob_aQdcq+ck{Xy$ha5n{; z19;3$t-wd%cMZ3f{;u(Mi*H4GAM|JI3-&qd{hg$%4Rnq0Gv;~FNW+U{$9;VaeAoD& z%z2&m{@%X&t5;23>t=tc29EZ%3=O}_9<-7Buv+Wcx3%tE?%E}sgBL@SqT_YL1*9v7 z7a)9?&pUDP#Z$REv4DWS(o%Gs%F%CH#<^k{XYERKDJs#WScE*b4E>5S^eqa5A0P7` zW4IuL-leMjyEL!&{$0iy<$u%mF5ppB=i>L;Gr3Hz1QJL{=vRj6ntA;rs}HG)k~@tANE33~JtI67@O1hA-}sBr$)-Xu4!qoM*r zlsMn--7~>psrG#T@0;gY&)R#<+UxqRcfGguuD<=-gN%8R!55_(wDq=y(AMnP>N{wp zHqK;!7mYMkcAndS z#kuhOO{SsVw!bp|`y#lK_H^DC=4BN!(XQR$J-0?_UcrUcGFM&T!Y{wZg>Br8tM$W$ zbHQDsNvq&2w?f7#I4M6$Z5Kaq`4+W(FMJ(xa%dQdGo7n=7rd5iybpDX-v~*6Lh>aP zZSPtp{r`GD@~DgVqv!V_cU!$i;8V!6y3g}mTd=&6SY zviFFNx&+#$Z{Nw!zYDp+ENj(>c~7iThr?_eH0(~y~&un{3W3%;ctK1I$13%#h@?bc>l zgOn%ovS!L`W{owowuG$qoQn7&E=iy5XiRl&>n z;BltKhy5P?neW68?-$VdH>2N?zKP$tv#ZWG%AG+5TL@6 zq%Fc*ZJ|tfq{yAn8Nyq=BlWi#ewl=~8e;HPEsUGAXJdvQSYPU!zQLt0*^6A^wG4PH zms%n`R-Vz$!7VRQ<|pDaiS|u<3K<4<3*Yq3z2GnZ9+q?bd{x*l&S~vE2Ny z&ef*aOQ7GhAAjB`chMN-(C12u9YQ;lG&mC-*9e45LEU zBX`cOf(Ms%x5~_#RQR}x#mC)5^i7pImkcjx@PA+O z?h5mNHQ8w2s+}qARB7ECkXz{L@*wDZO3jbHhUD8!czvclw7PVUH zfuC(rmV=pUMXJFI`XapGAHWlj3ojVim!wQTX<`4Rsqiau-^$>YCwfAS8=?RH1Yh>j zAbtCP4$-%-2j6diu6!2SP}(ZIQxbcjd`lY-h>lS7FK*Z6Rs}6x<;uek_c&__cx*0s zO@n@}dTzK)to2nj{VX(T5uwUbWpyML+4#!ILr8f5+Npr0 zCEsIRfsFAt-xFR-?99V$*WtCKZOp|1k#pU{ozK1qeP0vdwHy&%%iiX(x_z(VTa|tMmLUg-^6Kzg;=|Yjzg79yN`v3h`}14yTAkbr zcPV~L>_~kPe(ORzzQJ$FSotFS*4KHy=C}I3cQ7^%_Jvx$Zw5vL7M>TnfcbcVaT0ji z%$NvFwb1`fz|sKrfph0VjmT{l>hPJ(ppmSfn|YXyJfUB?&^H& z3fCxWaok92cHAhdW5p<2e(gwG$s?m}jyC)t?X^Fb9I&_&?OZ}LG!b?`xE-+|q%?f(Wpr^l-Cp%}IBaoG!@K|}F815-ke zau#&q+uLZ8sgsF$NSNvkF#eA{%bo$o&D)iY(WHv81yK9pjkr$Yx>ip z(4w8ee)Q<4U(=%kD~}63N?L7%9u?Ra6UE;DNvM2`1>0VO-b|0sqZv+g=IM&L`?Zmt z;Vg;#Z|GZu9$g^&%-3sH=+RWk)2R1$L3;oXn}nxai=9&?dz=TFup7G-q5s5grTvfK z(c+kfj)STP8-wf6Z#G0rj6OC>;$_hd10^nwZb&iyk8X%1Ui8_i#!kKy9hnB*)p1bo znT))*lkcyWnC~Y^%=gnI=KEWW|DzkG5Q`5S#W>a;WPHJ&LgSXaXZSU|m=5MY#Td(6 zN*7mY%P_tB(%^yqwOIN4)` zo)(_gk;j>R!^d5ixBcoK^lz-|)8rE#zki=PaLZ%VAwGWP-kC8g&o@pK zyEC(H*m(`$IsT71*V>R>hK%3I8imh3dH<&U4(a@S-2}7F4AW;*Z*b> zv84Nmx%=)Xs<|%nF2=DExd!xfz=J%ai2v*aWZMA`@{419HGX7dj!K*Vmxu(1_*#YXo58 zzEgfuh5Ur^n_gqcF1Vu``N>S|d;F{q&o|^JcL8I*@2V4g=%b7#U88VwRLtb(NbvDO{ylQaJ1HRWeFZM?tzAKFTOp7n*n!n1z z?j=v}1^yaB=D~)1MBwAzC(k$j)xdSE8=l4QqRh`u;6rq z;TPkX?z;ug3^D91Wu8Kp!E;1>ZF-A4?9&gQM*j5yegFhl$o?gH zB)`-l<^NH91R&Ft^kdSmhr+(hME25`XFqu=n4k77?to)d@j*p!uvaL8(BcZ7^-N9- zXCVbC>!R)Dwp(x4y05@8?Nb8y?QpH!UAlw5dut8geK4rauQy`0Oxk)0&vD z?#)RVUH2FDoLd&t@G3auEc|FUIOGg+5TTWSuJphXWQy0*{;plUOT}@g~6fo7bT7wtPXc7D(cu;6*TdE4!I6GrDW7Est7Q)6W zgpF6|LDQzgHgn+YO0DN?BepN=2phGYqnov!BQI(_-7jlBck5p^-X5!_K_gC6*sRHz zxjB<=j2m%|Mg62JM(94Gp;JG>@AuJUy|==GPXt2OeX6%x?oE!-ZS5A_ z)*TOxF+}fu+ErooxIEVL@v66d5n+fj_PFq|E*f}eKRC5T_1r|h(r9>Av+7lx zV^Rr(0jf8C4`I?2O(e}#C!_g?bu8iw4+bgy|$mM zy#2+Z9fd6gRl&FjUhH^+dk-l~bQ(30J77jDCr>Ih?N2UndCyoRj91iq4b+rSy^SsJu3^3G*NJ#(Si?{exr zQRm$UM=iILzQ$NC&73*1xR@06^V~K1;&fs@oXN7#;`4MTHt7+-T(E>j9 zuc8O^mFUHL#OJw!?{}zZ|K6phto5Xe9>ON)`$;!^%v2#GN}?R}`nr5KN4`sJ=|acv z;0#e$B0By&EwGMf@vkx&nUfapu~x?=`rE-9Yw%C9g!E&`PQHY0dXxI=mqxGdM%VFs z72}UaUej@_;vP}ea;ga#)H>GEMrcFik=SVVV$aaq4jzCA0dD0;?C65IYogJ_yX=>pZbJY zr>t7avN-WEC+%=h5AC?cj($*SrSgnCqSU6+yi#WoI9TM@!}UsQvun7uauzZe=0)X3 zuhy9BqwuOtD%QL9`>OorrBPW@_R(9#)@t@Mr(wGj8=m}oF6>dP?!1QzpC+~WB3v{%g|!{Kk+Vg zJAd)8^w0-u{0e|UKMFfi4e>JMpyyy=X`5YDz{ zAkQ^%H`ftU+jVj;cqwZtoA+P&R6~jJoa$fMhRvGN8gAshQk(tERCsGQ@!s{8v3u5A z7Tm=9_6?S?*`$?jNEutQA!We}8!QWcyD?>K8UHo#pZ8CWvNzVJkUwR?^glbw-X`tZ zXH&**{$S+%68_u1F=fFDzIlc3^LgL%zN72~%GtO7in6Ew;wbx!^p+2t^SASS`Liht z_LDb*=VwUY^g;go7x?Dc4~EZQ!8iW>*Oo~gd-q>gb~*7$(%#tbD*J%^?~{Me{?TPC z$iJU-FXcbF|MIevyg#!4`(;VwS-yW%*?!)GF}2su+dsB!F8OEgA5(V1K+C7ZvQF&;S^t7l zWc@D#7kNk%JT?;>0dR7uy#U!EX(Ip6&;K!T^y(Nrj2G;h<`>+s4!j`iwV5@T%NpB> zy-^kGt&QNj5!}RC72i#qiCJpS8UbGD=1vsk;Vb3dMev_L2e=$hSvlO@H$qvsx6d3L zp;`P@`sj`dFMS*m$|n@jfamoFbr523VwXpTjd(8vixb)Rj!|~ACKfc zM$5K7H?PX&H)UJr@oXUo49o^sEH`k4#daieE@`G__8w#YyUc@}#|(TCUz(=Hmp%-x zXaY}I9*CM@VU3?Q$2$}588*X%y}CoC`R@fc2(B1PTUHU*-{3Ux#YEO~BY5OJQ<^^m z|E#&-5qz0ACz#XySAZK%m}WmCV|j%($nT)N&w(QfmBo8A@sr?(@tnJMnlqTMG{2L( z`wGA%4g8nD+P1JhCvz729M7l0D<^q>6g)DI^(VMw)U)6O*5BpNS{B^ST6>)IB!Y#s zmJhC;FYE6B_~m=x5WyXLS%0#&Wt|J&un-F#DC2&f+j*DuEVx1NNd~w?@KVbMqvs3m z_=s|!`(VWUK3uSm_5C=w;dcHL95S79-UK)81#d|CuSf8K;HvriuP*b0I|QFR8o?V6 zgA)WlJq~^l{4tO6s`n2s^Me;k2sdyJqD$}txV=gx7-ys^fbo%P05GokN5}oow9K zQ=_7SpBd|KK(L!N_L?cyImr~o9vwBWJqJ9%{=JEK4(sNqIdXSt#XJHMF^nRjh2`Qj8lr(&J| zFds7UZr0PSDz@}9xA>usEtS2u$ravv#h>?W?7z+EKH^zFQQRrIk9bUJoj`%QcP|2; zRlr(4&jQB|o@GC(0>)P%8K5~Evo`1k1OAGwFEPFm4wh=ozyZC+TIG4N9`Qzzk;z#CQQ)= zBy@v6ioiuPRg`x(<9T7s|CHA{_03Ru?9N>B&msRDSG|f)I2zZNKlU5>Irq0$%Fnw{ z{!#LGC-vpOMEP%AqWpn<`7craYnLd0a9{pQl)vW^|H{0tGJc{K?+h zioU|&XR(J+;3qpYm++W>1#ii^j|2Zf>p1hsCvv}zxwBkt1PA4q`{R|xxyBhpf&CAm z$)6>EGWq-He2;g&tGjx>OPf326~lLmcR#VvZ?Jn#3Swm$X{}Q6w)#X1el25cj-N-`!ai}++oAFxbl|7REAFQ)RZ->ysY~ja zKpjG#&oF-_EBxF*O(tE`%-)8k;Nlhy~g|` zcoUhQ(UgsS3bNvimVLWLCLTT)Kh-X0t>m0kSpMal^LgVL(GQ4x3c2!o$i^l~9%NO0 z=dm2*k$Dw4_;vChG9~zELxz=U{1?{MUB!R>b# zsrR5afA^zhdf>x{kUjbJz=>b#fzw0O)(Uif#k#B?&A6wS`+g0-N1D={wZqi-rXQ+L zZ^YkFm)W$hDp7y3iT{^9x$HN^S!$~eT~!mMK1J77FiZF+>~?ivx5h$R3~BM$s7M-c z%=!6G(eV|`N>&X%+NJ~hH7TSelQsxnTF94m)&l3PKJ^SDZ3yR;C5^RFlR?@L(lW7o zmv1vj8%A0tX;#w2pVTnY?4(&qLpD$Ta@|f^E@|1M4X1sBNy{Z|1Zl%bbJ9LZ8$sGA z(wwA?p?%oB=%Yv*N7@+Dzz^-Iq>UqOJZV>ub`|ZDwDF`}OWIYWU9B2+N}5YAnDu?y zaJ4Ep%)CEhGVgm`Gw*X0sdsG!>Ql%0Nuu9quz$GpAb?W7fIAy3z=-$-@I>vr7XG3E z9w69`-_VDV(b`m8upT~l1Hq0hMG-imneS_rDrmyb+au^1i>f`YW(#Ri;k4uUEilp& zNwb90ZtP3r{6KADIBgU3mXR-ww3KjKTwhuSX=&lKx!7D7`G%2}5l(wUWO7okowQ-$ zwEVubT++~o8SR5_H}Z`jEjOHY9Gfj8Z4_xE!f7}5rD5AtJ1U$e<74C-PujR}S{!LQ z^=@!6SK}ouIyhHJ+FdT6OBF1F*V?_*mI}Q)utFuqgQMdeDk(wuggr`2aJS{aW2Sqb z%~S!=`Rx>273l8omOT$?ar@C{u?Eo%_k?DI^{XN1`OqB%WT7JG7u#xC|IpvBFwX;b zBYQ4X=J5Gs)~evLJ{fG7+L_{5k7Yk`^Kz! zIWG8_h8l2PE$|^e82*61NqjH;fjqN_(}>T5Ytf@Vf$s7N-7M$QL>FUk5FJeYHJmj- z*LMot_6H$pLq^M-UD!zSP1sH$qos=XKHPiQ3Vx;SeeK?5v^%wB+@oQA=I7KIS{C(g z{dxC6h5hWYyy$zx@570)=oRIx>BPu=cZK2m?)vnHn~;G&hdlfvbDZ-yHj3zDrnM0M zpg32{{#8tP6}vh2DrNILp=>3}1s&kB?t(vQgZG%k|2c$P?77z9txcIJ_8e=8mQX6+ z9pN3{%B5~sj`dacryLi1wu>`aF8n4SH@O~pNtK+{B0Tz&a}#f(9e&MHT7xg`d#+XG zldnBD@kZL$X-;yE){;thXffU-(k&0fX6<1we-3?=;NlZY<9XLs?`dJRX!=u*eWQD+HlrMPC>e$jjZ$xHpqvr zR|_8_|A)&|&yaHW%)8G%c<^${y;_U)fB2B<`H(gj@a>1_DsIA$+DP!#dKFXpVGTMo zHPG+ozS*C^yUF>#X~dQAa!(MyL?563fqUix)0}5E^M1fI`*;lZ^34(dA#4DMpA zKEz(Mle-2^qeD4?Y*qUE7&uw{pq+S44|tWyzY96&AyY!|{KTfrDBe4fAqhWh;@P;v zhW}QW6P+S&MphK;oPms-=N+VXYf(*PU@o$8~y|3 zKgn;D!*d;ex_8~7#@ErGnas;3{Lu)V^dal?BXfeYg?rg_-%rYjOGM-mz9dU z^WaxYi0j~4kC85S?43lu=`Df=g=bv>|N1lJHX-iZQ}C`oM7EO$U-~lgm*McFi;(3U zh5yt@Q@qFV|5@ZFf9C(Z5Ax=V%w!v~mJ(z^OGp!5RuLAFHf8_BG8cUCHu8&HW;n9k z_ed8x(ygRBK5)!0Abk=4+dr_+7a8;9{S(S!k=RMN%NgGVwqWuMBQm?-M$}*8H zi%ep)4inp#T^Sm{pY%=njT6krh@bKrH zbwFm)&E0Uq7ueZr&<*trfYv-=9&SyN`GpQ#O1yUN9M@LlC_&;=#Osk=Je{K&CbPaf zdG@gGpPyUddWiQRaS?I-yg9DP(8!gJK86WKrTR>Qpp z$Yca=cE~&Sh6Y?}VHiEZe@6O!=ml9XBJY&EA^sP*ounl=<@*!pdn8|f7_En{Ok_O@ zoT}?p`C8i0SC7DIlQzKcD=%!UXHYZ`ZB4U^35dw3G^x@ z<|MzYr&-8+egwX1K^AtNb#(&0V~aM_e}cXDf6TL=S%ggV1bb2{cum^70Qu+%_TCCp z+jRqw1KuO=?CWP(XGto_Kacm5$Vs>G9?w1Ic_Jr5#wv0mS)5236tSZ}g6CkxE89%QY`S_nkep{&cj z+_CUJ@3JOj4a%B5OS-J};pkXo{mqs9tVLO;;dMKrEIzUZWz89Dmii~N2BrKW)~Kvm z!3XnLgR!hVS*tPo^NqEqu|@?4oL~*kdF!gO*{r{cx9nv{S%c3KiU{kFrPeb)Ed;lU zN@!wjv_X$eW$#do-945h_`W%=MDTS2bU$!3FuuCNWdoLcvc_1CbASoO{xz9cWC-7c zkLHLxwR5)~5dDhK9A~kgwP8<-4j7v}jk_~7e--P%o{#Sqv*xdb9x?V{z8S5VN=?AU zVfI_qcA5Vy`tiernOcH3Xtv1aTkZ$;;5QeppPuEs6gBa(k>tpc#cm7>@q`3_jkDvoE`OpU>LHR(JaI=(>)qMpw^1Q;2GG&oauOwm6Sp-adFCylRO;*!1dX73W$ap*|#JtlI3qs))!KZb+X z#4lLb|5&tlxTdz}Lk9>=S*|7e2OtlzF}8E}j;7xU&Qoh!z)rocyy*G4c8M1}bDa{8T9zqVD4^9*t5C`;MGdNLvDvGZ2c3|dC^p3xYkMW;o z?0(K3;{~)8--0HsbfWZ=?Vo5kAI`Pql&X!Q1CypHQGO@H;o>ncL9OjWf4h z_b}LwKH196r1n`{P@B2T{6k-FO0{#*mu-w0O54i7kv)1r$;HKl? zx})GL(c>KCc?ACnUGO0|N$}%f(giPx?nz|ruOFH)KZEZCH>QB=j=ep)>}R}-&PniH z()XS#d*e|4{8juXI;GbSjhZj?#+#J;+M&GpDc~~EBOiZzWZ4UE7nBKJTtyJvxQ{xI zz3nn|%}3uJXXungr}Ws{6UsKdJ>I~J&%HgWOzPVB_83E_l*F0SN8Y}&>|x4#=}TX$%}Gr&bk9dvk8*Zi>=K4R=N|-Ce`<;G7a=DU z7~V5)sVg7*1cBuYY!luv;9{vuU?K+CxD;G0|9RL(;fOXYLGaT)_D@;cRqTEHp_^0C z7Z$34Ua_seoH)Pe&_NcHcMkCbC0+iK5NQ7J>KF?9~a(m&zFlPZGtB= z_(;JWC7QPH4EXdUusjof?bICxp9)M@xNasqGOr>6%N4HUwD}*ya`?pFj{U*U+Itk*q8_?}{l7tHd@4zwLS0Ro3W}^! z=&noc8?tVGBIVw!_lTX-0QQ;l;JbLr?xu{>@Ftsyw-B$5(1cQ6cZ4PsT1Lv=Of2+W zC4H4OT2CzX3GHXlgj#&CKTY`0(1RLhu9ni*J*>&UywW^oHtpoT^its`cPNWj_OA`^ zJe(=}p758lk997M&XWDh&A16&b~E1u*>hCeNTGeEPvf0?Mcy@dX>4>qo}zliMpx`} z4ZltB)FOivxnmzMeU5SIfDaUYTKH<@NYgsmV_t=q2DePp80Rkbm~7(1>_xlbtC27E zB*3RT;H}*&@W16&!-V&D)tL@>rni_i~z2M&(35& z9pM^bE#dv{0%Fb>c?+CYALodaCEr?bn-LcB^Yov97= zCV@x4NH{lfvd9?-ZzxM?p_b`=i!*Th;p1zmL-Q;Bcj9sApXrM#CsFgWWC zXrw*JAXWi(~2U-Zu2U1ew zKeM^wh~tJUm-Op(=Fz4p?@hp*O(lDAs#TsKFr+2;z3`lqslNogbOZH6iw(R{>Z7fD zmJZH}8Jd=L18ZdX&>=jhXYH};17Ba7l3G1DT=pT#6&Zaq<0QC7_zG|zcc%~Z3QhJQ z{%XI?PEzpAS0lNLXo`;i%dq@P;84c?81kJrRGdM-1sUUv-6Q=)td}5bpwJxe71~Yw z3MHeDp2T_2%#q9`b8`folHt)-&osw*qu>{WcH4swqBinH@%<#|M47t*$RS2UW7ySj z>oLaT+|uN%mB~?MLi_!e_+7#$^hIpxKH)hwH|pjj%Fi@lJ&fxonbF^y?N01}6NHX+ zBNzV(c=&qqWK*spUe7*hGMh?&NZlrQgC+bg-?f3W;kW#JH?5d_b?EBT$m8bO15Le) z?``PbM?$aFMV|NC!?fEy&~7?qB(kr3$=)4>KYm~J-L4w?HP?H$OD!Fkm9M2{O+~ht z4_wTKF3bPdTMj}CPiJlizJVNgrb_Vcp-!RQVoXW?PI#$Jz)KtDKudW`h^3qo%6XJ> zN+_p}JSCJxiAXh=8j?WE5{KHbc-+v3hr4dFRG%gs8P%sQGpk5kLQO%ZEI%94J?DO0JBm_4vGyNI<5o#$Q}HN!4^7Gr(W z-NRKU6_veRYC3&Xnbk0mdpBU&T5pnR~Y@pP-m)T}#W_ zLz-P1lGUctvlMe3BXeCnDon#ruB?a6&~3ArQ^B3GzD15z$6TF!_le)gx^HG|?*P`S zm^Uu^^cQf4#0&q2GhTcnc&QIRIHBuOOxnIL*#EDlocYjJeXuBS_|L$g3D^-hq~4&w z;-94q@SgY_7F@cOvUQ$gpjBFUmVG5?9$G4UXN{KZ6@2Y|_wh{GFJ&L?gf5YNQ}A^k zy|R+;J_g5T>>h)il5e{BTcMrP?+C|JLc62h{m>lUqM-|LoOd4-eSqADBKiQKTSOlq zdV!C>p%3`n9P1PvLIB!C=$QAQU1HhuE@Pb9p+R<$z6l(w-q&oo8ghn*HIAUTpgXZI z;{SZ1S)f-^&<6;ebK=&f%yD*N6<_*8-p}x!uMI98;=0QC|2~P)3sez)V3}zBpZIL+ z+4vmmdxVl7pPR@&9+(5o7D68K5wia`&M_Tw9nd}EMZ zbe~m$SJjXNq0j%o`~9@Bo_Tx~8sRU{eKzd{o0)6 zp9Nk@=G%7icjDhK9-eZsIoh91zWb3Ht|gSl z0<$6fR>+=u20et7bB6JH-!w4c47#H;?8j%IXU|Yi{x6RFD2DuQ%75RKk}wjzLlNJ- zNFCcAd~oF%=->ZCzDiTHKZ<<6PE`$~_-`kDd?F?)*+!dDR;s{X7~@mW@YoVNJCTjHdsT06rRo(JnB_yKkM3a? zWtRdACiZdmhM6(o)D%p#(XQ=U=_{f_HeU=Zt zg+@6bG+r4r!BE=gBHlu1L*Dv0?>WdJkk<_~5!Yz3UXk6p+1J|sYMi2o7rVP z{NlHP%e%m_ot)tho~3-~9l__F^j)i7+G?(z-MTa0VO8AeBeHi>_5H1F@pfxRjM)|^ zY2xq6WU^U!7Mf*EOq|Uu>F5=jO%|Jp=UVdm$WvQAywz8IO)Jh8y!UVyl-Gpp4t^t< z?^e=g6Lhv8`7(Y0f+m$5K1-pQg1Z^l{owhAuTmHhH_+1Goa1-^6n+C2D~OCpUB|<{aS|8CHc(B@#o+# zB_H%@{B8W7%y*JMnYPONOqDUuK8Z1-FH*kDv6L@ukoqf4%wI8d5^^x%Nuf^$g+w;{ zWL;)9x`H75mdvZFUeKCj*0*cb-qupuEaP6O;ol-g+14l7tUD;;iyLHK$ZCSFiEvvq~HE1%Gy18rNHu^iC`xo|e&vI8IzFJw!*oX~W%se{4 z0o9C&=ofB7E*8gs?=#-=JdEdG^X%sNeePTqon$BL&LL^wY&A$U;ra;am`-X`Xd^G)2%3XP0j#$--Sz|N+;6x_bwWJ*{hWn=4aet&+e2b?*BHt%L1 zvuUZ`WWJGcY-g-Yi|4oQ*RYEwZU)|cz`w70WUKhCnGc>nXi81kM_KzR%k=)DR`}I{ zs(L=_!Q|b={-`bXwtD&AOx(_#HJdcbVC__oY5fS^LfW&7_RNp8M|;1L_2~_-&q&?U z23ebHfSEA7jBIURsRv4sJLj^u<`YB13~UDnc0wPEOpKeO@ zZ-?gSzb6aMdGlWD3_0(81l;rZ1EMb&+^1+ycJ7 zjWv9Wi~+utQcbD;QfRR>_OZPW#%8gPl$j{!5z!5p;uD_aeH6H00PoiV2Py1F0&AQ{ zYLI;HEY|e%Bl_B__uo2!75M{5(jF?>dD;hY?vcI= zZjNHFbj-aU{QPzP?(8VrnnA2<$!R3e9dnl&d3Vy6Hz?o1ymb$c!mc!r zds1dUBlTVQHco9HAHmBVz(C_5)&wwd4X~vl3+Q~%G~=8(m2rUvq?|LdZoyU1v;%GC zbZ;g4K*66vJHYGv?a&D~f*-{X#Om( zR_EMBtsRU+&*ekEWJBFQ=I9<-7DGmIlsY;27Z0_P;)$@Pui*Jy~)6a(3OkWBX;vHbfwA6nPR(Y zXg*{gGgA!>R^S7{>ps&;-%&!?n^*>~TIK?G!dC zLEn2>iZ30+q)qxeRBPC=s3PG?24nD^B)cS zCVY}Rgyjx~HkX{eJ79Ygkhg zo1e;rZXSOMKR-o=56IM(P%*ZPQ&i6nUiqSNJ$_CMe;Uo%4QqK`M`$zrE~d7)Rc^y_ z{5U*p*O!P5;j3ftr(su1p2aWZTW7?EFtz1}l;LCSPnn}=SBChYYw1iLnt<)%Anc&0 zi%qk~q-Y({Q}-<^fEthJ}CYWxnK9Xz)~ zA9k+O8jf*(3LAii5;J|q#>UM29KkL-iupNe&T?{AJ%A7Tz>TqbpdH#X0iO?Dz>ft# z5Z#+OceP9ff)A;{3FwUDjVf^9%TObmeA*exsE7&s8ws&rhTtoc`j3ywxiCKVKEITV z&!eLlpWLENk9oplw0xL*(~8&8d5!l?f5D@cJpZ~XXc?t8J(sKDhs3n0#u&H3Ef&gd zZ{lplxA;G3!&aF)b^@U$+5?YoV=oOs-@+&Ma2Jqad)mc#$evmg@h3D3+f$*L#MeXn z#*6(iPrHLTgRcIzI(_UDd>0U(T4LjB)QSBK{*ijb?llQKCbk>Q*#&#oW&Q14q1F2P z6B;jdVwdj0rK1tEe{g^1^T@p&xqQo5X5$0Mgx?=W6#d7ChykxBLKFV~g3a^zD!UK7dRGkR z2A7!{>KGHb!|-{=WHV!dKh(e`#^5=|W+VN7mcFm2-|OgeGyVN=9k9L;Slp?B(g)_b6In*beT>Kbgqp9%L}N^3uh-6-9$p&?O=zZ08?vjr2S5kP zm@wDh924;mCwSp>&H2V@v|Y|?e9E(z=fl8i5wuDd@FV`+WqpdwQFIR`WMA`m_VO%x zVp-d=Ze`6DbLWn#H`z?c`X=$8$odZ7iv6aF_SRz`UxQsw5%DO>sMoTsbt_D^>&d&G zykaLT`pON^nYrloVl-32ObuH;Y~zP((Frv?AN`~FDBvCl;*g4&*A99P^=|e#^f=RmerSqTm#={??q+T} z!E=H?kAO=BUkV-!f(HdJ9tSUWc=4&fKy82Ibg1!tV=mLc>D-wH9DViR`9|62WPZ7? zEAR#HA{WNq`OX|@fi~vY*w6Z{cQfl<@~?d`Z&mor4fiRr55E3iVrw2g%TtnytvRqH zXL;t}>oVwB_NnlB9roi>?9p!f~u ztuEe&IfI~V;eD8WM)u+L6MWNU50*V8cuMx+AuT_p45|AFYsM}FVf>MBMj^26 zE6y7gGq+;@W9E*&F4gcF>#U3K_ORyaxmWk_HTX=@UzvU?5BzW?=aeR@K#0BcOd&D* z>ESy#mqc5!S80^=Re#-etGd8vhH8# zVvE0)Y*4NIc`W1_7(|rSFW|LdrZ1tV$VD*9!Tcdi&~}EB&O* zKR%GRN?`tD$`v1!r->Cm`t`2RjmhBsL*S>kprMY!3&pVqKm$CP1e|_?Z%4shH-igC z$hVe4B3 zzNxY!Mk#nw3zSQ|BLVTAX60^m2B*)j&bft zY|<>)G~{xI|8n%v#hfdH4tKgO|9o5Cf;N%1^!1^RwpS2zLOuT8H_-k)^rK#%WZRH( zy=_n0Wco1MdI(+j2F6HqzehPgbsT%_65#3CsAznQr1;Gy+DLn|k>6boKD~nW?O=?r z8(Z)NzG6hD*PH6p$zec7s~aX8OT!WidoJTxHpd8?(_ ztL@xpYR)n4^9kS4ouL-)Bu@o&4m|q-yQS^3LZyNZ(xw8J9?B8AW2%Gs1$JfqaLy)B z#B;8N^N!%{-8`dX3rt}>s&2KQgMCiy`gW1t0X}dLyX~+1q{FZ9>r{JfE${d#4|M#J zcjN@GZ$00L+_9yj3*1flS5N(-u?Bn54&((s`s<|~v+(uBIy)e3tX;g8yGP_qmdUF) z3$y}y+x}%}s|O!_#=Yb8$%h}3)Fu_-tH_iP_ zaL3@5&nR2k?fC*-Gyc`uBJ}MyX*u6_`4t^TzZrL#TbXykr%nC*ioS)Oq&_?z)0-l^ z$1?JZzYXC%WE^DfeI^xHfeo-HGKZshuEZZ(EnyZgQ3XsO&ky)w&~L`$w+y^whsM^S zvF%aFEs^;$o))qJLg-!rDBX7W_u zd%pH+VDt*$a(7-s2J5TtD%JBl{%<9m0q5SnZd^mYn)A%l%f>c*gbmrhU9I=LpFG6x zGY#=yi9eR%-o@vuGxgrP@SBJa*WNXjYHOuc@1296#SQpatf-%3n}rWX`q{f|Rh6xt z|Euw{Xt&^B{fRlY-M%W0I;%S^Np73?b+&w>dLIKnOBofE>ET-kh8-!nHS3VA^%Gqv_;x>$uiuLGNirq^P)UbM_J^5 zzQ6E)UmbnzxLp}_R7S?YD1&}oXvbvApncMg3uW~E-&e-;a2}(bv_r{wP@dgaX|vFd z=YFJm-^=E_Mz+>)Xs!BG#}>|a1#|)PD|31``12flrQjOTTdny3I0U|IQQE>HdG5D1 zcm6F@zVn07why6So4zs!`rEk~XEOWqrMpcA9{m!WvL;&Aa#l;9j3A2jCh`+EG(z!6 z?5~gwOxl8f74oc25!=hz&#W7v0ypI8nP z(te=jaLE1qXJGMhS+njrgAn=x+_&TnHrZ%3ZGgZW&=yq>M(Of@{fx6Q|i ziDGXUo|Bzl6$hGQ2K#mP!B;7B*HwDYE6IcX;#2EStl=W;ZapHXZ9m@;U)1Yh|8zvD-j3wRvqkkj;V$Y;$@ExLcHUqc=XIU0om|vArP^~| z@@7Zry`R>*Z3|;mZ*56Y?+tzF7QJ`SFWk1D;7|3TGRh*K?9K9j-qSbO<|M1$ho=|y z%J)*gyV-549He@G@x!9t9MU#OJ1FC>RYkVD@Ws0PcFN#=59!5}QJ$*q9RBNK+w4r$ zyX;3ry~sp*tN3pO-)^(awk}(7gRRP{dh090-}(4&g9Sf`gh?wV+w8s~TgU%+Y%^AQ zY@Te@>xi$gYRebdiee_&#@T<0pDgy^6z+m>icdoD3qkrWZIt{K&H{U;j-+bSJ z-+ccBe)D|?e)CQKZv5u^4*d2o`0ZNO_<87=FrFFK61oPO0lMMDZ^L+|GJ<2Oz%hbD z)`DBsfl~y}R0s|tUIX5#2H(sE--y5c=OR9kJ)a0Z7}j!}vVKE7VcGMrmczUYo(TLr zZ?fq&0F{R_@^^juWpWJ7!agVO}lJ4fby7-1Zh7FONHSWeg?{S{xZ1JR} zDn;l_v0oQn+Q%Lp_Ajkk1Xl=-5V})%8Nn&hMclPRXajF6>^|18hsPqjuO+s{sUACN zwj^kffvRUX>G=OO=n>mc?um!SvwctQ(=oO1P0yFe&!aC>J%xN%$Ty+i6Lt`G6JCS2 z-G}V!ZPoMGkI;vqXKp{G{WcxErJ&_rWv}=GA0$C^>EeszL*gFdB>H!nxCt6)D*8^* zXQ@1R$prQu=#};uwOUm#a^V(ikQ%0DG~cMk?}Wbb#H9LnL7VL0ER#d>nY7h{k66nt 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�n-jhVUSKt_t%Cl_2KJ|SPtsq}UD0u;49)ATI&V#>vxYiTY-6*iGuRD%Z&EDE!O#})Nj#iQ&%mJu zcz*G7Ha+WP8(TsCr0g8THn!HL?~Y&U1l4&@*K0}>u{DE#q|SS&V`-w!8t#|zyDd@Y z8i$`b(YNG3QRf5DP;~Q2pO#$Jd385+;;R+BjXJNUjcp?(l<_40 zi8|*{C+k+S&SN8}6I$LC@7BcmQNbb9DSnCd!R}kF8{(DVne4tD+o?|SpQ!U}we#fK z`FH9x+bZlcr&&y!ezA3>0HLQy@IqbP(U0lX`_=i~c zd#IX-KNVoDsR0K>iv+VxTSQ}^H-fnWnv&X2l_`2u@e|3|v6dAt|G8j3DtbFG{O)w( zXF-R9WhS(bd&Nc!HnUfo`+u|F!wYb)czxRax%>7XA9s5g8 zSaA@q`qIIA(fupztK;wU^S_@OAM$&^qWF+nuVgRSOnQ^;Q|;IdR*|0c1=>Jb(ih0W zcd5osb7EPpBP}(S3FxQJu-yrOEau%juO;P7^U!_fgKZo%+T@p47gHlE>*A$4~9p-%jFYfHM9>y5@=M zy(|T$>k}|p37C?2zn|}$?0y@(Ke#tu{tDlhCcYCa2A**DqX+8u!egn-Zzao2UYTcq zri@fx7R_Dxe^QQo(42Ycoby}FSR~`NieG!3?*iXC>BA8uw(g^R_Z_|yE+yl|ZYN)I z{52L0D4g=o5 zCdS~;TvPk?qu|l{-||lLSZ%nqQ++CH7G)*p+YOyyocbzcpZ#|e zTM3eWY00Ze`8#>uZ`{+*K8I~rRk|I!HhH$1{MA|(nh)iZR$#=-_OQ=hOZu;Vv>8^%)%mn%RN*C4U$>VIjf#LCo;?8-@ z=nMloSG5{n?5mD$JruY-s2^XoGD-bFpTA|Hh8`Ih?u5xEJRV+w2wWiawqj z*$?@n8Z-WITYAD@?qroH_$p-YyWz1`!dKP7Uj^Z__zu6i;KeTbFIaPW zUw$LmTzmYmeY)W1MAHh96H;v;QRMTcgbk&$?zlVKl=iUNbpVeqp)UZRPVNt8pSBx) z0k~(!i77ybsr*bpJH}fJa+~0DAvc|IBe7w?fjKA4gkk%C^CjHuZ4E|6EScETXJut z@^!`gTDNp+eH!M){4xU+U^y!v6l8}jc;+ZXIV=crx?x<);`7@+di=Yx)!bL z8`@J=8f!0`Ol+J!p+3-k=>}5usJo!oj&4=)dIm#h^KIS00`PAkIJLXY6WP7T6M1WI zydGb~C5C-YR<^Ov_U4d|a*K1mzebrFyJtoc2aD^(qK3T5HKw0SK2@~wAhCn%)c>+6 z(nitq7g>wk%;}bEi0On~ZINOjb2aj7f)-RU?;F`eK8JIO&_iD=9NmpCvzzPWW!?dz z*(Dmg%tc;}V-0hyvWT-Bp$qHTXYf0GdX>LHaZQG}V>(Y;F>B`xG)v+;T(KW% zz^jd-JjZ z5d;(jXTN|ih&tJ136l;FU}};!D(B2h%^5&U(XEwPlcwcHF>Q8Ek)E*`JAs*5G|tPZ zrZ~Y*gwkf5nla}z&C5A%K*2)OvH}W*-)BAh*|@I}?qs=t3BQ7p zy@?6Pbk?JYpI^oRnRn8ls|Jlu$D=dHg zyR<1jSGP+Wc;D|g$i=@U_O#3e9pra!Vs6(o{Vak}y8kr-{_`HsxojQ8uAW96ir{6z zhTu!DgJ1^y2+qVdZfeQtZyWQz-=6oj<#YwErF!2<+1b>2koh0Ch8&$Wqoy~Tc1|$+ z%ACscHH53ozB1uy1&#e}ZV0f)y|Z$=0@ud9DP>+pc2`XwTz2d29N+_J4lEPd9Jqe# z7nFIqak47wGUFtDYZ~BJHwW~sjD!9)RBp~l*-n}Fu^z*1)_U;8uG$!;^;iU-ky_8z zpCfrox!>D5a=FdnTxQ!X=e!ucmxDYvf1cCT zjI0_Dzdxm^7uly)(;Vsc?F~xF?JDBD&YU5pU5dNGno5vG+zI9&G#9Ea?^4zYquWf% zRWH8Jci#4#t`GQj`2&$DZ(XZ)eV2PGW4iN>ouiE3Pg5_RBR}=GyklNuNmKp|#uB@0 zQlu&vj}9Egxj7%*JflYLwjBQzwQw=_&z`nKRS)^*?KYu(A$vaBCI~*zZSGgQICr$5 zje5vlvR2Db&e(~@KN{tcy*^ej#Br$}Z;93w%^aCYo|lTRC(6^#y<*aja)+6V`y^!^ zgf%ErWb7D59g5ei>dqyMCZuLAvRR0)4nzK$hq-bx7u%faB{s#qWxvG^;&Rbze-e#c z$h^&#gsd3N-H0ao+TlQ^+{m1+b(yW`Aa`|>HkWc-Ba3Zs(@(CPMK;c>9LBwC9=j>d zb%?lqhN>+gX5Wv8v(P%}f5Yxc8ea4=bO65Fs!E3ye~exXKrenYU_x2pRo z=yH&dn^|I;v36DWCVunNDL0e;PhV_vs2ux*pXS-Q&#&Nyh$7p2=X$S|zUM5}L|55d zyK8)@ZH=?Yc9Q#W+M&PLkWT9gTP*Zr3@eZ{q1RlVqhh~mlXD0JC*qTNpD{tw@=c3u zlIO$x78Uyq+YgA#!Whd^RYgNC=Pod};6<+)ZDkDrGTe)vpRgus2z=rkO4f1MXvaX8mV7N3$YN-LkgFx8BF&>fXt^ zc9&EC&9~m?BkXF?ZKF5h3)JT^*@Fy5|8++9&avP_=E-DE@Mrul`*L-A8{4Fs|MmTp z=o9HTbngrY_oCm7;aParw=ONQx{CL<8{dh}^aTIEssBHsI+=GrH_Axl`D^-jiPZ@_ z$MM{`r@wDtY6-r9M)@tkH(=3fuI6_y_GJokU;GNcDeEnGUvJAO^t7bvO6varR;TpJ1%rI8;3sp^wknbM7$Hb63$;IfwTX z&gVU)_f1muG3q;7e>P?K_DLsJzr}C=r2jUm`UuaD^4ysg*3U=r0p}EVrkKb?Al1XKV27q zUoCC`e%X7jC00DhorhavIY*NFc*^f!&mubcGu(f8dyU|ey~5<-MKAEuA1z>@yCl3K z$0&z;jJmc_&R+w|sT!mlhwsj!#dlJU!*?HNflHTMte)nZOPNTTe=em6Jt2a$ zqtx$rMjgdJ>#J*G^%K-p_VCKugu}+~9~iO!{l6Oj3x7Y#`*H`Ed@tz^#@~cJ=XXXB zucDtcup7(&^85nn|4R6!@xE^VQ8zd8(7!&!jZeMF_NiV6f1U274B1oOx)1vAVcl#c zI^iz%8SYeF-tC;H`iPvhp}IcUg59|Z9@@ZK+jXqFy;pU$ujX#AI|xs)4|yNH7wXlr z2cJnLYhZS9Hu+BIyj>#?jXX5+(8xn04~;xD^3cdbBM+@>CvDj1uRBNI}!sp@#KF|Jzk6HI4KI5)+mghdfXDn;9OknO){J>q82y1)0*=YXU?ReTUff?zbWc=A5r*K z#8xXtZ)xVN-y(EKCwhqgT{G`#eeZFeFFL}fEv5=*jQCSWR3A69H;=Uo-S>UA)5*A$ z%I{7UUtxLr{LcPk)d==ahv@#`@*lbv-1~}PenhpR4@F)cXFakvU)6M`nJT;`s>Xqw zJw8I!bZp{2QRK_NQ%3Kts;0M)^LZ!myqf2GRn5m!Ro8a*Bg;Cf{yvuhHq<+?z6M#zDhaQDsT_Y*TAk9 zObuElbL8F*t)>_J_JUX4rUt{kV7M0yi>=uVHUrDt6j&zM4LrYZxRkl{GG&JN=D2&8 zUYO&iFQrfW=D3@YXMtrF>1FzSvR?4tH^+_b*!dOaf7q|{$*nohb(G|S<-F&58^iQD z1@FR~8o>x_N#pF?^;X8*q3FRfmzAE^z4Jfy=Y;ApJd5lQzj-RpPx9;=A4gQnT*_K7 zC27*XpTC2Aqp$sYmENWNPr#3Vj`6&t(=Xf^ru#U4Px{AvD`iT(+a;Yg`1dovLArc< zUGBIYayD8kWy`$HX=0g^`-s@j%)Of|N9Fv1A;=Cnmq28k%;U@^euNGlQzLm6EbPaRG<>}& z-mUu=?5;E1p_;`1TB4fYVHuup$Dj9co`rj(lJehU?Se@^qb8xc*9AS1btCCFbj06_ z&RC+7Wz7A(PhVt>n>(puG4{n0#$0)ayM4M!+{qQABisvQ%&mCY*DuNBkvCk$E}`#a zO~fK}{v!OBp`4?}bJx?{`6X*3_98zvuuh^}V%E+`e;1kYMY5I#*>bb2saP@=|0et+ zKF>VPPd<4JpBui06Ms}S!=d}b5i4wV%Lv#0h?O=KyWTc5PJP#uw8Ey6R@&YgS!!!q zsCvAGswavyfi(|k+p`*{9&vO$a7=s(j`Q~)Ltb$}&bsiTqHDJpld z>-vbOKlKL*D-pKhbr7g0R#hG?FO0Tb77q5=K&mF9R^_F{5-xgkoEw+{MT@^um6}r#4 zo^}(&XYo2X{6CZd4`ujqyW)NBA?^3wa=u$;a|V338CmiRzU$<>*_0#v@KfXe8OHz5 z8u|Ly7YN_pwbr-xU}ny^9RtVTq)9UhK6j4PWNueNZ)3ty=4F4u8J$O+Zl%xJ%6+23 zx801ze!dkR_v>uJtHR?QmQe0)3aJpD79Rc#p6=QdR*}Q~ZnAgB%bgY`aDDx2oe~lhJHJtrHjB&l#O1;eK^fI?Y ztlvG*3vczpSH194FT7O5K87OpFmN7Nofb}rB5>wCa}afvH-+x-if+yvuE^bb>|--^ zOUpA=-1bcsn;nHd&Kk1O*u(z)HH+ZGr(|9NS^5<9PaEeu6I|98@}8VsT$4(DWh`!_ zj(=ht&W<6(6A}q21Uu*doMRlfUwY2)a{gCM&R9p@NgJi@`j{x~mi8lO_UHKK&Xh3@ zE96a+E+2h&n>nyUvawCY7I_#$_Ele5(g)JNQg6Lqq<`oq8Oxn%@EP^?`>Io=ZpPf0V;p=4ef(?eQb&pW zP1M)Gnwb+xx)C20q$&t*$9Yjnezr>a-oqVU2Tr zD)N(cbMUudW3V>VBUinH^!=6kzCTQ1ognjjMY1*l`=?g!En@xc7ngmkPiRcg1Li#QSIOR8#pJ&Vf*xe zswtBARaLWs_;==Uwze84=y)$&J~!?WZoH6l{{?6;Yfr*wHy?Qc-`ZYE=khKKbU6mwTx4n28xP>Ky#$d-7HM4vdi}@NbI`zxe=j;+D{i6K(9hw1i~H-A=5P&S-97AEw2carUgL zYa>3%w=?e7wku@bUNF##Z+5{rHR>h$`31s@gnIOseZ+at(LpTty_(j!YBkCkn+F}? zu~_0*N2={@yc)D zw?=HOdTg_U$ZV-ol+cqp-ENNZJbdo{V`KUMDdIz+THQ)>nCA}j5YO$<=V|`;5*i3$ znPY7;GDq7=px2`1D{70DyK3)TzNA*mbl6&{%c9K5w$awnHb;`O=RO*aZj)-e)A2Q% z6}fZ+ZDWsI#(CoRkS)WBrx5NU$ozXNzx8rwb3OKogL+Awq6v>sj~|+&J!W|4bLvn| zEOk7>J89PIZB@KeZyjfQ1Z@6Ofl*6Yv_uC_f6rWO5N!S_yUrajh?W@~=*YWqq0RQ6>xaWC!?XyD+TZxR<# z=e^X!;<}CZ)1ZyhHkvbmg>EghQKuR7+RJa_BAvDtOIU_;>r`72-~U*b6(g%nTKCRv z__vCgKNFdnV^KZT{4et1b7BW{Y@(cSg81-@a-FvE%t2WR#pVc4k=g2T!W+!F)j7g* zI?dK=Y%a=@`zXsJ(`?1dm(_0j!4!MR^3q!8#00w~)?zm^SCE@D$@bI8DYj^E<>H%V zk=NQHtz&E}U!206#1#9p)+x3XjPuMr)h$Psmoom(wNA3-TPN6<+p2S+3m|I?G}f(* z{p#2qUp<&=DWYvDH}bv61QRq4 z<(oMKGjd_C^)_2BWzHEs$L^m4%we36wECPPTP}5pdlJ7A{}BuDNP#me%4|PX+kf9M!)axUD7oU{aWy`6* z*kMP6mdGmk?Kb1LI)3x%f+MQ`_>2Xbq&#f37Hl^0{WfF6%#^aRQCqOXPoVcVW3T*(`ughOTO*uBS^hPm z3SE5!Wr;m4@A&<4a(1|$Kkd2NXwOUh*4w*bgXqHp^<{?XJo(+HH%Dl_o8pg};EUcy zb+j4Y5nq((zMojomC1{O0ZcYiRe8zpSARR>l;)jQHxI24*^hew)lkg$~mHpHiOe0l=<#RQwiB zh2M$!X5(t!Z=wwC2OBlEB<}buj76xSvRG@*POY@_X&PqWZXj5 zEjD4RivQ)e|H5-NzM(<-zTSckISc(g8-0C(p}*ss>%E3>mEqIM>+fF*?0dfL*Y`#A zP1E(@Lf0WjR8N41{Qf5Cce!t&-ctCE@YQzuS}~Y`R&rC!cULX8|K`bHSp5~@I(MoJ%zb*OF`mmJnSgk8&h}Jc1veq+%b)=_M%#kQ;m++pv?eAN{GtNYD z#$lYA|BIn&e*E3GI6G^sSI4PgRrrcmH&iBnge|UAd_D$d#of%&eji_81m;h4BGM^y`fr)vJz$P^iJv2yxln&Q9n?eSPnJ@bjYeIh z9!;gC-5P6-Z^G}Om8N%Fo#byC)}BN8%%!i&RU$>jAvD}uUzuD4O_d7G zmo?J+pySVVx;VK|=)%6*N>n8saC_RD`D)U#ZZq zB}LWsnxb7N?EG%7pFTcE_QAQQPsE3|!5j+RECcA~2&9`{zCpKIO_}_3tF@B1-4q)@ zw*;MTPS)D%b~70D(TsT++9PfHlTNe#JSg+cUCgEa3i=I$cEXRsi$meXHZ|3n7`}e&m^7B2U#EC=TChdREqefe0(bXA${TRhu;g`2gqKbyU5=@n!~ff zXfE=1A2k10X#TN5^Bo4wcR=%feKb$V{}D957n&b4X#OrVU;SU8x%l<{G#9xmeHg9N z8=lqa?c>?8V0#R~ptr%Zm!fwn^k%Ms(4Z)kaohE( z?p(I26Pc_yUFt5-&E+U{PeB$(KmhoeG_&176-^*p|4*C zPo|yY2>v$vad0N+}F39o!H#|L%-v3|mw9xmziKp`h z@HF!)BClgF8lz*6L>puDX~yVi#%Ph(zcl1^He;vA>o~?}k=IqoYtfZiVvxVn(3j8i zzv#=W8ILOi#%C-4hYuW|503Nf>l>eada{(UlJWU0AI3}cnfspAc6Vk8Hc6M#SRj>iXG(cqicNr_o3@O zjKi-RbluAyRDV0g{<#vmzR4Kur>odKKAN&d2)jqdA)mhG8-ER&8sqP!X!-?sHI20e zGX9QJbwbCs35>s2F+b1v>kTcNb{ZO1>Nd}a0W|cDy#@{SdR(AkAfKk!`e+y$K*Qla zy()l){<){X@mANN^UV4jm(WhvpXF}2G}RTxo}6$u>#5P953QdWb%eFkOIV{Z#}wun ztHM0PrfEI1hN`JE*pFKktLFb|h?<`aEssOXTjJHQJ3`g`TN*2qYoKWxn08o_^9xvC zT*m)DhL&g11G6m3Qvz-O9l83pLmfRh#H8D}H%G^KvRIQGZ*srAdfqsX}@T{Ty4wEyvtU#S?eCCQ|E|I zeGPW3Wmq*jR*&Kwn%FpGl3P_AH^;iJMz?m0UX9)j-Fv*~+-~&h73?88ppsp3X7)Bi zr=A8?PrrxK@3p>r_TDN1_;%*B;u?N?#V%kN&Hi>>+I=Z`@KCEPI z#X;)B2A2x%DD)JXP3;%?s@oyX#u!Vugk; zec!flA2bu2=oECsuAVQn`xSh-8rq3{)CfJD*h(cT+yfmejzY^n3}IjOsddMMmhT{s zOR$>~S!3TZFWn>g&xPkEGuPY&JwGrHWB;}L?awXdiq9HN6*ri)9-(P0Ylyx) zd&S=S*qJxj+h*KgKST&6tYp4i=zW^Lm;MT*ajzQs#b}%kjoDvbk`9g2eKdX)TWKja z(@boqG1yQ-<8ygJEvyi{gSm-NuldL(-LY4@PTd!9=C$m+LM!L}WAp5Wmu=XpO zdQPORa<7+Ww5<#}nr7tK_ano6^aek)At=4s10S5;mi990cC}9Lcu%%Dp9c9Rd+s(0_v&aSZgZX5_NRbH++g#+Y$h|gjBDTh9 z>|e35gs&djtaXYk5Sbvd0eMi1T&P1P)FKn=kO_6jggRtG9WtS=JaY;%!HG<`2AS|R zTh$F(?LfOrmkD{QZU$pj>nxxB)t2wGzs}u^?S%|b8khkizt!cy2-lm)fYa1p*2)U@ zx3QL6{2a4n?4aIavqvBc-k{FSGqhT}8q$tDs6`&ss?0Rq7Bgf)t*ni$WDk$X0v|Rk zV8hfN3pN6MVFPV#_6qdLfjC1B6tHGi=(7Vka1V47z3UnNhb|S+=cw4p*Fc*?=wJtt z10rulC;KF3_z@@LgwSrm2kVa^hmO7j-JJNnd~#r%E(i8QyBK)mXS7`*1GSAYx!vCT0e<=JP>f?Xdq+S*Yq9@cY>uA3dEqJri7$;Q46U<)f+2 z_j;RlLod?|lg{@(+QvfLVf|>!IDdh*>A`4g()nKKDRSO!j&Bz_mks3m06&Ug37+r6 zMiV^0R_FQtHuwVJdGz&Pawbtfz8AfK{T_bak2mxJ_`c?C*;ggwL8OBB@kht2sVCxm zyuTOTSMdG;bVP-Jbf)-N@Q(_n+Bn;&H74wcg|Y-E4)a*s_26n6xDtN9jq{K?dMg){ zs=R7_Z^KoJPlk+E1tG|n62|V+thbkYn$KB=Wt=5^KsZC#BKiY7 z_&#Ta6mdZx8$Uhol`ekeFyVlCNc-$it!4?~J%h%paPiQqE3ODZkfLir{OvQyW$_UBzdsMAtIbp&kJLTH}wC5Ar*EH`mJVNR4<& zJ8q;kNm`gM&1KnfA?8r*VGbtW_>QJ@zfJ$<`18#hb2X(h)k+?Xv1UDm`vjZ{E}Qti1FU`uKGXPrW@Ca%kItLYJ+c3oTR58EtMtA`&a(!$h_kF+%YRA<@Q-aQ&!H3P7xi* zhgrFoXk>LTjJAQ#UlS@#q3tulXDMO4DLm?KuxT}gMa?31fzO$QE#~m3$vG-z3BSio zS1BK4s+2dU_%JG%5-eq-(+Ca)Pu_+fB?}IX-$)MI2t_$L(w2R`6PBwD&kTlDZX*R%-;S zin{euuY=&#L77QlH7fwGocqvz@Z8{d6&}h&<_?rK-K<#_IV>`Fpd8)>K9i8Y@yOmp z?6lFbY6^2U^Q*x8k7eAZp3}g!;QxtxZ3|l?)%+*0#SU3n(+T$2vstkTTkJY`zy!9d z$Zrw9EAF_y4~%~VmT$o}a}Ejfd;*p~2FrQiIP2{CV}j#bkdqDrzi*<)TfpgjaQl1C zP8b4qqo4=-@K!~#{xO2J$X3=OyKag~S$KrbMIfL?ee<(TNX33-qX0 zPN*TCY!%jiwsgfSKV(hi7TU(S`!!J$V^Sj1ho(e~4o|TcgIuqHS)V=V5-na8!c%KzBGrCmTjbkNLsTmO&Mu+Bkf_vcE^KiO{HmM zdu%R!hF)K333dGd-V@%H_TNZ+g!az?e~Xtbdqvv6_@*eoE2IgGA0dD+t1ai(yON@WiZ zy08x4 z*(Ujk&q=;ZWIeT>A9p&+yYimGo)G-KX7lM0FNhuiwh@l=!>~=u*$Z`?{XuUbyFb}k znY;l$f9oK=qi;GqBf)Y#XL$Wo4b6WO9btsXZ@#Gmt4}M;(pf9VzQ8Mj0u@ZuI6PVu!o1^E%eajt}SdXCl#o0|mT-J(*lV=yHDX+0l${wm##g(qC-ApK-ZLx1oA7k5_?y%iZ zI;qwT&R$!7XRSS2-no-^?i}#WVeutj^D)qaN&sDWjri1Z&hsm11 zoxO_*q_3e(JIvPn%1E^;nKMn97+?5=*ihj5v4YeX_J|dv-^IZt>jNb{(uGMJ< zUrgVMtdPFHo3PGejk22(Twcm8-SEKnyBQY_s07z*?4OD&Ev0Rx1KOTmEB>ft_~Py; z|GW3`?tQ#_-+*_&UMuoV)?K_#ej()b7~yI5WR+t}mDArdO4Dn7ata$%4Qp@1UOCt{ zxV$<=KfV#Gt`*)mL%lzNrh)wNIhYXs5PlHce@ZO;Ay~QFl92HR*sp{)9EH@)z`x*r zB;g+kg8MP_+j06~2C?A2{11EQjTyCj-sazqoAB3GE5cS)S#0sn2nIGNA_Ecj(wi%6P?xcfF4F-v;XeIIc8VU0W-* zCeNOurj&zS!EvZyICG4xT$$}Nz_0ozRZtFQ1;3$!-M+NRwVZ=X+8wo_gny&n7t*e( z6`abxT*2QH^uuN_%Y4fG9S@inifoX6nN9p-Z2h~#4^I0U{ZURV`(|l}tNafy&U=jh ziNkMgVcdF_b`)4fg0GP-FM7__2Oik|Bi=orM!3qsL8xG>uWsqJZ*pe;2ynF{(ub?^ z((m)m_XFO!u694?oCuzReJ}SWe4BCSX^k}qVB<}}2L1GRVdKV2V?!_@*bt2Pu_5yC zHE{8)fs5tu_4bp8Dd1u@I1o$_|>PUkO1LRifKIM*KSCtjPJ$ zNMuuj8JREgeo}4GEPN@*rOKi5-krRMjJoK($+g8Z<-I!?Gw$FW##rMW8D}r#cU7&F z?|l<2nG*8jsk4=I8E2tgzCFS>&dz3>9mN>xA7_7!Y)HRxir$wp)_x4FrL97zO3s{t z=K46B1pWR59c7$-oafQdP-I{Nv5d1qKN)Lxyz}*WnsWS z7+e1aV@1Fi>mLtgZ1lJ7Lc7vy=N|6uH_nDIzCK2HeL3UoMg8^l+BaYK@qx%y8E0h- z-^+U;k)v%-$NKv}y>>J_F;J(x5DOG~gTZu4k)IcI%4fj;1)XxX!2@#+ z1m}UD48jB5@Wlll7=>PYLANaY0z6PP;nF-%8NdUj8NqpAN~%x46dvf)FW=~|UplVx z>6e24KK-)aJCkbC_rdi` zp`TB`6zp#bf_?8V`eVPJe%Y_>=$D+ceM$YY-@E9SKl5R}pMLphfBmwQz3Hcz_mR8$ zPRQ9p{LeiF8Og+-5jPm|O!#6P`cE(8@!zn=mU7;vS##K?^4lVw#rD+GNfUduklz%t zV}`4!_A$;re7EIm@1|^O{mz6e_)5gbW;|eWOwf5~$KX74TVrAEcEaLK zg|&|n_Wl+gqF!Hwhvq{=q3PpB{H{T3In!2X{usZre!2g;8rG%z=gtDx)O!p?BUlC#Lf9L9l4d`6>*(^xx^%GwDBYbVNCb5KIaCCK^%nSYs$FXjYyemp31 zVXR}RXZ@DUh5f#CX>B;Ze&khMC~ICq;*`CGeL)TE58BO|f0=(dq3;a}_q4D#sEv8L zX4xC0qT4yYtj=q?us5iTF(8}0K|i3pQtBz|v^1lRCgv6tbrB!p4C>;gE@9MVBkNma zj^rTqkbOcjN1~OEtCcx7S=VKv{8;93^|cRS>S`DMBJnZG{NQ>cs#7m|68zPU5j z9B+p)*~nm$T3**33FL%Kkxgr048=>yCBE{w~6B)*ZaW`XtHg3^ba6@Ba*A^>b#EM`-mC zYm`20q|U4dI}W`T6PJW)J&Pi=o}y^h9O_^1ec8T=yk{+hA9G6J9N_wQqQbE#XE?UZ{G>vFiLsgcnHFmOoC!6`` zIV#x`fsbnrzOTgr{ZTG+%`<#+(GT)IXJ1xdYA(85#YMT(FK(C2MN7HaChkTUt}?|= zOJXiMm$gB5=A%oXmGE-TW#*zw)`z4BUq?Zg4MWr_nR}MKv@5~MkWlyA`|md|R3V&S ziR|6N*^P%76Vu7}r&m|)dLLSkjSln3IQM}C8O&OniO|}COxl194Jj+^w(x95j+&68 zA=bq<3+Hy4IbYMndDLfQo*KW$801wIvMQGQ=mO=YV*ES6`h$V;bGM9lQ6fJht6O4J zj}>{@Y*9VT|Ft)TBQqKA>IrlB-Gm$!*(tWqUdEEWj3XjLWge>vT$g}-=C4^R9h!d| zZ9K$$*k0PGSRXwWjF;2qG0~wOC-eF;x9@KoXNFR~iSw3i<|@|HmFItd;%`XIu|M=LkjTh;2x_&%1=1sg zb5Skm9cJ_n6MBcxqnvMrCMCqV1UbX-(E;nTowV_sL7z6EPmb`lk3J_aMIYw%0_hXY zTB2a|X*B3F)~cY*1KV@a!JJl$M`%<}eWl$_+U8{~qnza`IFm6^=p(f8(TKK?CiIat z`#I3)5Pf=_wc|O^=peilNFzCeP^VEIXP^i0$+k#UF!M4rY8M`f2=fSkoHgh}-`5oi ze?TYrqYnP4gFos*IMdX^*^y?>Gc|E;rtpW?1b@KmRp?;wM_r&E=;IA;7=tc>`k>Aq z7F8$x-V)BbSooqjO4T*Rs5;?`BIbsgz5qYm5XcX#JsE2iet2N}n23J-ptl8nsPplI z)5j0gc@cFs_@Pev+OIo0>1&-Ixbsct2joXRdzt+F(Ay|$%tKOSToaiTL!U<@msY|P z?^CB$@Pz1mp7k5HU(HJ=Qpu#ihS>mP)8@LSkIQG<7;~9 z^9N1!Yd441uXRV%uRW(0*$xw)At=ILohNRCCvJl$ZnK3FgeTmb@%kM2aiHT_RsGs< z_IQV}$2*ig-bzKWmST~uh3~UXk?jq{y9q&gg7X#R42Cw&Sa_KHTH%pO_Sv6=M~cz$ zL=SwcEI?+#6Jr>k{W2?%C&CSx)k=S~z!M@P#)Sw^Z1C|!h{f{^ve`?0rQN$}TMKI? zrJa7B*h?Mc&b_CQTSdGlX@V&~PqdL|Zvao|d;c3R(CRPng^V3Kt+26#R-(rXt=?n| z5q*6yTFKt8>WD~>&}nr5osM5br&Q>a3Y}7+6Y>k5iDizfjq_v=5klo$S?E+GbOLw5 zXym}23NfWZr&L=5VK+hO_2_`L<+|*`mJ<3vr#hieE4I{0^gf}F>=A4F0(3bPj4sG5 zr_cp?Aas#-LYF!pU3@$*vT84F(CGsI2wj9G((W8=J&{#?bb)_FRt4Hv!b3V;{#$sc z(BL5r9@5|;?eF9v4Ia|qAq^hV{ul6&_62!J+VVevhYHvDcqougSIR>d)98O54{2YJ zhqV714;ive#-X7i+ZcyLuElb%p^QJGAGgErr_l#pj7xJh_TuDL?K%=2)i)0P09}*o zDm+_ET9(M;2Sc^2%@JCbJ6g*cI1asjsd2~@>G?Hs$u|yZS@2L6Jd_0wWhvGxTo{L< zE;|lYu{Ki1p(143!^j)ak!3uRu}I`x74wSXhd6-zD;^;4WSw_8?GgQKtBgb9kD>im z_IrpPEn|_zWWlcz;u(i-qU&ffMll|pvVO}I5opUw&)dI$(P(ye4urSl$r!3@N z7IF`oT`@lmpjVXViunmTebF%~7>#61x+INcY=TBIHu-5JZI8IBp3muYs>fz2(n_oOBCND+4P-Vhacf_x4r<&u3idmnWt+h=h1O0TL3eROkj z%P#JI0^8m+6Z?it9;M0p=a7X>TU3{q?-Xl{wq3}qi^$b%=om&zP?(>POI4(n05aLTif z^h`^LM`K-3BC(UT|Dg|_{N5ILi!w4kBp=E93I19^NCCOeKK*=0o4;jEOl-%IT&g3+)O`6{u4|~p3EgpexF4-b4;T=X5s?lw^8I>#q%7~5YImv zzs)fvdpPr2um5Mv$FUgt@3Q~v=vHh_Oz9#uEQ$ih}=Ql`n>8o zM4l~wnYlEY9aL9XQaQt zx%c#`8N4)q&Yc~PsII0)YlU}{*7XMUY+9$}yzGkJYi$5huR zF4a?y?`%W3T9wC`aRy&UF0v;F*~7k|tdjLAC70kN)D!j>se+T0YRVz@cpTuYwH5j| zQPs=%rj&1%^3A5`u$0t@uoP2hSc+GLrKn0(Ap3L-V=tX<2jm?KCoY zON^E!@5^`oZ@m8^_m1-odq~F1H|YH7d?WkPO{`jF<(qBB zH{n6PsoKR^Bl67%_V0!94R=4Ciqx|98{f1Iy|`}mKjz#BuyQDwK1folCh;tFYUAz! zX+z-oAA$W)zmv1<USbmInF8K{;*t+{>1(RvpUFYR)h|-pIGouGxG$i*E+f zRol)tH}lOzzWJ)}oAJgs>3lOT$Tvk5e6x^mCiBhLeBVSE-&px3JjgfhNBHJjd^3e_ zuJe8K9(a?wodR=hK`>Xfjc;z{n@qm>y6+o#KOBApQE3v%T=XXkft-^J&u>!V)P^`V8`Q|+q83kI8zc{lN%+|$Wm)z#U~ z{Q#BRkA9XrXZJA&{Jho`ZC?81hp+M*@4bJ3yJbDxBipEToja^`J;pkb7YOTFxApnU zTGxN@?x!zkU4P)WPYC~qaq;9HXu-EQzO1*uiOvJvSEq?`+p< zM$%9Cw1-iTn)lF2ry|qRS^L=)lUrlAjC8Gmh8F(sXpG33x@>V~$6<+!Gdqq*yePBd zcM_Lmb{v!Vw#<${O1wO?<1Z4sGCPh-e0yd`i^MB3JK7|^BeSDj;+2^lXC=Nfv*WzP z-_Pvmka%5Y$LA4Q9gGpqWviwoQK#{yL=SheXEpUkOi!X7yQypEmWZq*>eA_n$jW-! zdQ}qjaXxLmqw^8@y(IJceX&<{ZYOPD>>Xc!I+pa?NRPdvb7w@>ojaeOmqa}~cSU4P z-uWEQuFTF#`R?}2Z|;0{UgsWpUXj_kkMtdTNWUYq^LhDgWoGBkCB8GW^96~&pV|4c z#OpFUUyaBzQD3Xn6@Kf?qrL|srgxSu&McGq&WgzDETz8rzWR2S8uh(demCm7@Irk% zOO5(|Df2dLeQ%A(`Wp4^ETz7M^4;y33#7g!@=Se~l1_a)OR29*exts3NKAcK zOH6(5m6-ajqkg5UrnRX=&%07z3;%D3nEo#HEtdL*M`XP#^^Nk?_g#N|W8`wyfi4j@%P~Uf@z9|t|*HYhirM`Cg?)J=okou;{GxZ%uI`w^5>N`PxqrO*3OntAB znEFnYnEGBX@v6*2)VDJ`A}fbF3f+a~LTf*rg~rP%KZA1TP*w){H?sexbzDx(oSI+G zYfHgfB35F2O@vYYRCe)!!IoA;|{Q_ z!lTZAu632Dh^UWxHRM80*DrYQEONn`#~qnpQ3ch@7EgN?U1!Vv4{U#sxs(l-FxOn} z8nc9I(+@3Q`U*bm=@H2MJ;=kA$Vi7NEafTmheyu$L?_t)3{B+CEF6_y_pQ2r>&cV1!n+zr=PzJv0| zTw(e6h5Z<49ZmV;udsaf_w|*ZPWh9ruzdDM_mw}9@~^(a@>x65SN>$mzxE2tXWo%B zVsswZn#Fx|Q_%6j-wJqSd;tDLr#`xKCT&roGYOcxR_Y%$n zX}aEA(}G);NxQYdYs|hmiE$5nY)|mcX zIPbc7Px6p+KdOx9P@Wyg6#0D^&qc;_yu5EbC-7WvJdfbnn~$85I_F~>-E2JH%=0>} z%OvNvttMuk*SnhE78>abdH$C1jQ!`m)p)*@XY@!tKWsp6iSdjb=tbVi?=e!Q%lO@; zxcA)myOrOS(GDebG@j)wljk4fF65Nln%|?#k%xZ9ikbdw;Wz2CxmR=J`?a3Qva@XQxWy!NcIorf+%HPUffJA%_ zH{x>>|AOLoH}laQ4}>gqQ@;4%B8eZtuI%J~v#U%op1ZKE!&tWwUyxV$&-g+#+A)kX zGV0O4GVmp?W8Hl^dS(rFdw2*oIde@3D@H9mZ4L35DI*knU%rw3=Hs!+Ct_!>BA$Ss zuSl8m&k}3YjXOj$;&{J4GR(7ay?K{~dbri_Bb(MI?UFtd8qXj$6EDnVFF7`J9Q`C1 z@kZrzEg`-E--NP;9GQb3^Fwq(+56z7fAg7No5j1c@JooV;U@eV5Am+F^(piMv5&=0 z=1${k4LkVF(W;<$oSO0sdO|jKa0B-6CM9#j<`l;`RqzaBcs6!!12*p_{2KDRdxHFa zduBGaYy)n0DT;j}dGH=5Z2Y_MZv_tHG)=k!|2l4f`A_qR=%$u3W#78%&iYHjRXGa%VLc3bGShJSUj#iJv zw`aCKBJn+$t=lDDo7uY4n)M9%E-77-*}BV`HIuSux_GX%W{u@p|9ua?Qy2YtAHVZl zLOo_$w5-fmnEj0S0$#L1HSLXzy2NUnndDTIH#r+SvDNK@Z0>a z&<)=~e*N1su~)tHOza&A*Z~UtFmGqgygfg9W!|PAy*$sd<5%-6tS3sNttGGga$c@V zh^jPOT$^Y^huPvOnHDlsDNB@MT%O6?d>($t^UD`!Zm?Kf=iuwc%Em^|S=i z;E}*ISr4YCC6NZN1g33c9M;oDkp{m6rpXy(dYXeYcqTCIO~zk6Z8T}{O<>v?<|XvB zbkg9Rz%-dV*V87F2LA-6O=3*e(0kPk!E;*nw|b?nh+r zZ{khF|G{q$6aR&H1@WJVhnU<8{z!b9|Nou%x5USYe@c8*(&5|RNjmSnDe1&VB%S!z z#19i6CSF1OI`K`!jl>g)4-$7+hE%7Lhgs@HT&w?PsoqHbJ?zDhIxgb*GvnFJI~~Sz zGkJV$JU8(CA+e0mA)+^@MeV`v_|Z zYY6uezE8M^a5rH!;V!}|!kvUW2)7ef5>^mggyn=~gi^v%!VjO z_#WY(2)(RJ+Fh!C;jEun(RUBvXsxT*EIOWgu^@Krj-q5uf1WSTL$xk+hZp_#J>5he z{%2W-)0dwLo}U(w-}E5)WnL;jZ9>rcO$^9ye31M`Un)O$M$r6{0`eOkB)`~8&`Dy7v>-X1y{QeXqzdu|mKliwx`MnX4 z-|Ip0tG`r!^<#tP_hLYPzYLP!PcN093Z7q8Kz{!cB)`Wmm7g{yX#E}z$nT*b`ITQP zKlkXM`K<}a@17v}-Fd0}>eGVew>Tib;vo5b_oDnPN9D|_(=UgwoP?fyYF{Yhhvm8V ze;%gKr+#q2%J||tUs~3S|7`;I!M?0&5;_0f#2l)%NUKZXj+Rl#5T{B!QpFkKtuNps zZd5fVm~Xs^JX5*1(O%Bi8cbU<`>dbk~=_zwL^t+du_|49G zwldbI)?-`CxomR&s9iN%5m7<9EzWSSjvcyn6PnOQD^bGBK_>|95vEY zXi=^irCn>%SPz)WdO#=Z0XM5u+hRfHi0!Fc@|w?5}Nwy`J}8Bv0UJliR3A~B5MtV zSA=JTSNv-b{Jhe^8j%zGxVIZ#83E4-zl?%kQs9?VHNwX)d%!t7;)QR7XFdb_Z*qpP z@X1Eu7dd|!n)ClK?0@|XR%z==-W6V%3l9k&6vG#S``yH{{-6o$^L|AxyyAd2&cknV zCg42kF6RP@@4`yuJhpX6kH(ih>2ls=rq_v4G*oV_P}Vd6~7xIx|#zA$mN zWyB!w2w#{u<5CUsjiP&FWWJ?pc>;kXC4|9X?1G1qL8KL)sj~~`% z2J%D81Ae}bcXfu1^aS$0w9yL<25Mlsz5ZeOisq2jEToRvpk%=LdK|_+htk zp5+(f0n5cauqS{A1na*8cftcQKKOY+#u4EG;R`u8)i})Zx=L5mN z@PVHPqTvA@|AvoDc;F_=6kk~`<3twN7yPr4YM7wik} zJ1oPiJ2}VIkN<7h*#pOg{`gNa#)UPE3mW5s#<;*bOyuI_#)VtK2lt=r=V!{;B>R^H z_iCD2=w(b;7$jXVuctE}4$d$+HZ**xxpPyXxuxq$tK7Fz+-lFXw3n;{GM*m}8tZ z{P$x0*#TI8qZOE;3)^S@12G zPSr7Q%E#YT@f~n)0^bgB-wf7ed=i|?*ypD~AjTU9Vmv^;mjz&4>LKUE)*#zO@9|@M z(ig|}70dRg@4qy*9mw@3f~5Pg?LemQ2$Jr{wgY+oaFBF;4g=olH7B_o$nxL*{dn#t z$5$C;)r4J)XK1xnbQGaqAD*F$AI~x1L*%&N*?)HS-;3wx2jKaK2A%_TeUaS*b$#w* zsQwta-DL^O5ZN7nk?fAwWw*#}!LrnOQUIR+(ZKWZ06b5<44ymKOZsi_+{9jN6@ceJ zEN?@WETUhEk=MD%YUc)1%2Oh%gW&ievRcYN1CBenvxPHj`*1w>vN%pOWc0mPjN^~i zgW~~vOdTR)*^5cLvfdApuH#tJ!&O#ukaQi#k{+e9{v0G-=HDd$z@ji z!IkJF9akWm$Ccij*%Y9o{~x2g$IXfTWwX&9!Lrb<7u{TBb3J8pcZ4pRhZL0oLz{)uf^_*Y$iW`U-pQ z@>@k_vwrul;JOw0T#sCK3$|m-N3P;ou+5yvQQ05uWqwg{?!3Bbj7R2Py$e;3U)NZP z4_)RV&s&mp9FI~-`W;K#n3EA()XN@g(K)t)1F>CNuv5c`ThU7vbN|Te?C~$d7O1pX z+MgocTUu0`!+y<2iD$5Xa~vU$J)90gD!=c|oNP>WA7*dVGfDmJ)EuET z>yWP#eE83oAE1*Ip_6SM_DCy?th?_G(mvRiCbWVz@}Vn53n?OqvYMUS}> zUB$3X%m3CprGfSdJ_VQHvtlav(ecT=wO~;Lqc?!jk?h|;06o%}7d!c?su8_duq}5d zv|2)|CxJaD=fewjPsW5E$t6$k^QuO4h~4Cwt5klIV3Kl7;L>^1SPyHEyG+az%e@Ng zEM|}RTm;8pwQC(`%zIyzen;jSc;%2<&gyo*J(9W3X6{xId0b}J>NGXVqm{0&jRJS< zm#vGCy~7R;Z+DvPa|q)J;!hAfw{V6<8#EFepM*wkzRlKgJPI7IH*maO$1(d|bR4ti zrOqrkP6x;7;5Z!|r;pWfEdCY`eire!+=$;raJ<=|YoPAghe6J!zduO227YuLaz6b% zLDC)mbk3+>86;i*mNV+z;6cAH0Zhob8ajTT_u+T0;1}$k=bi5gcEGaqrPt_7H+^XW zqtbV}o~PqE5j-dL!*e!y_u-lQY5aJe6{KE*U8&m!b4t5=oLZw}n6(k2^9zmz!y@x_ z9>KP}8M&-zYZkG{BESDcWcvkGjNvlc!PY|DKipR*ppfov9>uj70Q;R&(tia4XJ8Q5uu+6^R!N*gz8k0$;cYvg+hy|{RX}b0lyXl zy9045KFPn_cd?FKE~L_t0K#gvx3oS;35N_bsK$BrDJoQj!m%vchhb!dYGAZr_%01Fqu=jj`sV`3wk<8 z+3V0_bS!dCs9;gI{U~z>SiA)+W>IE6|5qZfO~yGEUr1MO^xdN;`h@7e`-A8ce!pIz zPebrIP@nh*L!YP$&?ojLsHq|76VK33Pa$(p@}1yU#{EFKE&9Zt{rZIXtHsv`o^^c! z{QC6?(IrIx5PgF4!n^*0{QaHaoc0eP79GN`KY0Hkx6rRc3}rox*lsch@6#VfR&$>C z+oO;n2av_lhW=20k^Ycq=np=*``@WQj1{_HLSIII$g%}V*D*bcF_$x0Mg&RMc|y`T zlVxa-bndj%_2oj#2p4)pmdLz^(H*J;*M{u%>kh}jS2tmV(PwgRrGjUCy2Hh?_V^`q zhtq3)?Y!PHKzEROVi)M+KoH%*FLwp&vPMnhZt>r#J3K}E1b;2)qJl?shl=YA{Xu-l znxQ)+8M=c7-9coi=nN;(Zv~fo^|PQ$9++fqMM+i2>XBwz4oJS86eIZ4S@H8;S2}ZA6Ul@VDkl0UOU`+;k@Bce}VXZ;S zi}VGdC74|mBs~zb%YvjkL=GF6Ee?{d%VE;x+;Bf;MPJY{3te@eGx~zyNH8n%So8(y z%X*_PgX;?;&=(T>=?fb!p)Xt?q+YtdK)p7YliS^iDpS`N(6z;%A=uS%iw>;w1^R;A zS10^4Er`CL-=P$sFNo|F`7AzVzdRP3Py81$C)tTy{Ty9EY&+2vmWAzj= z_Rof{P>8N@3%WuxdPa=MPIQH*!1&$)I)dOj5lqV&SE3tqn9cg#h}Xa~E$9SU=m`Gv zt*XGaj%UV1!L#^=yV1eq9P?tv!vp9D59vBWGCIP2eR}Vubc9XFqZ8b%S;kmd%vkAQ zUr)9rqBj%i5G37?O*j6Be+!a+i|7bo0D0Q( z#{VE|h;s}*;m=^vu2Nj0GmZk2q9YU;ed5F8eSJDYnXV(m_vr|tx8~4hzmBjgSlOZ@ z=w&DB_|tU+^bxTM#paSZ0WW25_Bw?SFzE?upU=ra~^V6bXCzk1Mj*MS$r+{n+EoB z|&SsZM072|G48W&WrBQ&rSoULKnelJoka^hA!ExmpvE+ ztHErvXx6^H2F;q71G%8jCgW!iefIKL9S1#4LFTzljXRSCv&Gn6wn5$z+!kYh4Iktk z!EP}&*pNZq5t%6%F2)`cz4V~pk8ptbZPG-xHZk`4`pV>)1BR=NzN**tT%QdldhS6T z!^8V9T&ZJtbsvV`zxUE@7Fn8uo-4MO3AM2bJ}97iJq(LxL}@h;B}wbJaF8AZV{&65o*nE<9sgphI?DP4k3qS z4}Cr52pUm;lsK?9NeDR5J_vixV0(;Rt>^X9qHcU@-T2gc@Tv9SQ|rN})`L&2XK&`6_|z8RQ(KBpjlJ@m74=L~4r@Ph z@I~aX_9I94Mbx7gJ=cek;r-^hosEw(&t0Ui|EL<|9ZlZBx3+VTcZ%d4{A)iPUwQa%u>HF6 zLv-U;>vrmQqK|5qbMVBsCRk4iN%Slqq&{BW5u3djUz^lN*M;ToQGS>8AYv2t@d*A> z;bk{z3LJ`V>b#P<@J+tCaPhe{8<-aCwSa5UlLgx;$Z+ws2^PfoBU!3WoaeD6_?9Q+kI z_$zYo!R6>aIKlrZ^h4o^3%DNz?$P(qseQO#5AN6NxW@;l;~pPe4?eh_z3JdS9o(mb z`}8F`?yI1=2fPdJZv_A1gFF5G^E=Iq1%>#M&C@Qdc}fNIg4IQg1ucWTBbZ;rSn%gT z-f_q~j0Hyrd8eLsKCy}Q1af~Q_$l_|o%K%swN8O!f#5#CAJ>CFu3P$1{BeFhXr}*y z@_>F%d`ce=JWsuR)oP6@EMf`Ne+={Fd8mQ-p{u5NsIc(@Tj0K|SyoS%C3f>U;FZzuxtKkpv*|mUA z(QEvCA@X1D@D+VVct-f434JFAUJ)KR2@i-qp7g~Cw8RhH@Z(6-Vk53 z7d|LrK3v8J(Sbzok@51c@Qvs{!i%zQP2~S1d?G??zwYC+m4iA zxECELevo$rFSmgEKpn`7{MXm`8FIb}JI>ctIKE1pNZj1CmaJmO+w z9#OC_eBhr)6#t#zT;%qkI#Gb%Pv#LtClbG(_yA=dQFJ2zJfh&d6`m1{i~JY;NAwj+mG1*|oNJ6a+!{V$E`6Hr1Ju`rh<@YOZFFDC!1+V?z%Jv`-+_Do z{Gs4d*JZ$D;2h$m<_~4=P;?oQ(IU4+Hj91fL{^JFqw6f-nADW`@SXtM2+_w zMzHyRe`n4llVOP9(`P=P^ErFY*=Oyw*Is+=wbx#IZTZ;w4$)mEv3|IEM7ew^Z57j9 zv>rahzmsg8J&b>LRCig8?y~xSq`N%&y+e6-koS<^4<&g&$h*ky`;)x)$9NaHy(P(e zn|Gb{!@0=qdGN&G`XP4Jm~JjP`AuvfPmZ9cMEQ6ke4Lk@k8M3=NLQ~v3_gD5t}*#7 zdrQ5u{vESn$JW24pU5xu0!JtLQWBlyfOHba_Obx}NYqJ^%~fsN3;uG7^OlZIqO;bQ zB(c53?Ax-vOhzY>ZF?{FKk=^4U)T6z&@l`;hIEQBHbU{f_+0u*mSc0V&^sm}lO=~` z^H!gji%z2cC4EG8!aVxOOUPvDBl1U`3*X1=-Zx`^2_s(y^>q4rzKQA}1K13)!=QuM z>xv`tdU73vb#ioc))hZf2g$PAbKEe$(s=$&N%B6Pe?Pra{6GBrc>et`$$RP8;$hpK z4IgV=u|@g@{z`*37xWI%C!aB2c0<`*L>Fu>N1$&+^=j!Ge@RllWUR`s<1Fl;v$m+R zdgw1PJwtQGPM&RpU#s3bioFCeTMIgMvh_vj(lL8>yzNl->?5(YoXPs)X83vw^xBF1 z?Zs9id9Jvc;yvjcnvY5s|2_J*>@K!HX#Dyj_HV5(wn(O zW%8gM1^=Xfi5=zZYWG9d7SS277i*p7{3P#fzSeuz7SB%d-tHHA&)VX=B<~dmBWjNx zf9TpG>jTfjPakr{>l0bS^a;t~k@Sh7`C@@n{$%&~;r>YACtJVx`5{N25D&-n342|p z$gz#1PuTMKbLta=Yl`rV&4cix))kSHwqKHLC5iq>lBLooq*vH>KzPxf^I;E^4zU-0 zmK{(0ELki)L+gvbgeSGGs5#)bkfWXOVbp#y&7KEJ*NyogWnlx+obG+bG#`993Aws) z$Oj4ghYuZM&4_Y!NQW5TCO@Phe)XY4Ov3)*vvr6qz`2!6cE8VS|G4jpLwR+O*WlI7 zN#4iv>MxVL_e+Oxc=h%q@9lT2e~VAnAdh8#u0xOLimfZcuQ6FHIXDSfaKGg6kpI!3 z9G1N!sz;26e@C)+4CxVD7Ky$vvtST5@TyOlD~V=AEZavYl`R)T2uT(!kVJiZ?vu`TZVK9tu0E2&>Et2 z2(2&5M(0C^s60QaLuj2brb9?ykROtGJ+{UuJ|DKmh_3M0*VjD%bJ;GCq2l$dxHWU> z4)QJ3I-~eI-;9mKtu>-I_^@3J@wa8$_r8jK@2lANzKTE6S8ac!MtiP4HoAUe+b(>L z-mvB~^@f2}hv!+zpZ!VR$9Oi(TI1VE-p6=WYmNJoyceH}Z|jn*HA;8*y(3%2uReGs zVZ9N4z1p_V$xb1D?O~mD$WC!Jb_(}FAU)XcH}n4bPq+3aM$c665DzScm}2sCOf|vwEym-`z&D?G5f`#H zlDm2BncjUK&%#E0lFt3p)X1_?=8KB;>c=;~j`%X!9y2CL45ka}gIU?P2D3Ojro6^) zF3d^wEWBi`dvSJZ=E6Q=Gu%Y1iBx#%CeBBj20nWy-?fmvO8pxIi*t&$m{j6;r$!7{ zi>K@KDlQLK$`dCo+(f*RN-h^y;DxCR_wensCr(_rgm>nJ!i65vZ?bN9Y>;z;g67$? ziRpbNaTbcM4Sq~Lat!M#8%#=V41P6mQ@M7t4qgRJ!&Umi^o6CjHk`i&c>Wjs3k~T; z?yqA<-m%$Cf)Qp(zLPSxl}t`yF1@fh=IN&i53B{AyE}>GbP+v77tup?6uzR5Xd-&JxrXSl$)^7NwQbbcEz%j$sehEjM>H7&9mLC zjZ~6=bGuJ8r`q$1r)BrG zYF|H=eOIiLjFqm-x<~>3aY183tEIOg)8)tiWpr47$ZyZtuEsa+Aa-QU1ui89j+gc1 zS4*`f=$~>I-$ecGqyBR8QBHx6!`OeLK1ccZC|~XPC|})yeqf)^!@A(3Cg!7@;A`Il zpC8WG{>o44p8wY6v2~JhwL4s6BU&r@QEbl~Htuyh!uDR+YGYPcvu}Dkek;AqLl^L! zoAs4C=4rjmaoh>tHSk@KI+f`=>J|I$D@X8MrSsjD>=%0;oKA|vF&Tc+H>$DeY0X_e zU$R|^vR``hqgKexkNU4-?H= z@j(b;&%!3w@tHpL@UHlFH@>(-{5r|m8!`!gUG4De>S6qPIG=j)YYRTSi9YoYUKZoi ziNn_Os(1Xt_U%yn-!(!W@nSW0-CvE6$FDrtc7HlT9`V{-_^jGl!xpcVIQs1*=EL&q z_Ir(2Hl0pnP%D?@gyKjk-Te~#r=U6XUNp&AA;l7$Mw?BhO}c4=-!d4c{D^D;&}fnNq-FqD^b(yEYs=7fqD8k&i{bu0e*?B`xt+Q20&J2h`%TG{xVqot)cyO;S}1yaam?>4 zW~DL6)3On}q9Ji`UX7+Q+_zaZNsB@&h}Cv!=A(SuyDIHGB`lk^6jUPtK9;VQ5nLoN&f4fk>L4E5 zO+EJ<9B38|meW^`cJA>?Ms)7cLOkP`ZXJx9d%Q`Uhngdpdq}62uAMmVxD)+aa|4TO z3v+^1yT)UCcjr^MCr})`go$TRabQoyB})>EuoJJR*g( zY(7UiH>sg)7uOzVZc+n0dw#+_pfs1tF1@w!{GEeyl}6?*{)H=;tL${cCi<}!z)kN2?jv6#yxoy#-~?LCXlUo>}#$#co_nC(YILT1>se14 zxN6E3=OdpNaCPx+8gnb{F&f()Z2vNIp>dqIJf8EGH)luZLw6wi<|XnfiIX-S2R?7d^xs)i_?PrR{>XY zis!Qfj_fMN-=&JQ7x=5_hg03&NG)g5pT{{mnJ#bSWX6f(NH5~NvXjm|IdYOaCsJ<( z+jV~NM(+1>ui;+H{l_I0?7z3X59m&8(JK2s*85h+>skr~eiFZ|E$TQ_8b-&lJq5udmqp09Qj-#nx)>Z>Lz^ zUz4ul>a|?n9Vu?g8SAYwmR(+AStFIBG8(!I=B#_CV9o}U)7QhgQ&isPdJD|NTKTn< zICOF`=l4UGD(Ga;Z;pdz=UP@In=|2$p~VgE0_KStv*a$B}6?UN`u8XJ5=bPwAW_)fZj>^ukI-^$ZW`P=-Lj<*E4 z-AY}meCE^`AG}UHgcu*JgbxZGJ~*DX4{@D9ec$FB;itZOLS&YEw9Nx*^GmIYt>T4J z+OeUeVr#%;g_h{PV6u<1*g~pv4e6=Wdjs{Z;eQqB-L&rp+PCr6hWvRv*Z+C^pHF)S zcveDtUs_+WwUJBht2S>0b`4`|qhND20_$dA3FbDo3CG}W`_#Sa{-)t@1@k=Gw}kes zFr)iq=ZLoN7%%h1+Dn;R#@e@Ze}%YkWWLp|0Qm=?k1V*{8mwekcU@xOZ`> z43$?(Ic0TjUm)}Im6zCWwO$_YSq|;rgxmtom-O&#M2{(`RFN9ckaSlC*Qx z^8@8MwC6u2eSBJCU-KYye+>PLIB%_yG2}R6dC%uc>}zVbMr@Tgn~JUKbHv+kiptik z&`m+f+E_bfh8Dn!!gqtV&C_XFslWQyRA{00kUTAOWGLqgB1aA{KO2@0 z$ljbgal{^DGhV((L0cw6P9Z>q9^g`)~F?~?+yxs?<^uZK#L7iEx_%S|oxN_{< zlhENNqrLc zOZjS~q51wy_S4+QIDe;f7&9s~%S>e5hH^Y#LHtag68Wk>azA6v$Jk*OF~5|r z`rB?_aW~hyT<>sc?}l}K@Z+T>H8TIK;MQZfFJHcFYZ2GWmaFeSp-~U*Rb$daZQNhw z{}#^937Cw~KJMw(gwW+dk8dCGDNma3;p`EQ@9on)z7pm@*{;dnjjpVSRs3SU^n#1A z=SWYG-gFZ00@Sg@n7M_#*O=SN`b#S^T=_H>_mZ#F)`KT|3(4o2;pF3--Nbymt;t^H zRlX|nsl1jf)6~M;J-%F(xxw=GS>$_@^{}1DWIsL{qN&cpy$}0gB8{GcXM@mtB9~%! z`MJ}#j?Qn$iAx|qP1&c9hKIx(F+LK1d=@W>kFw%;D2N>?#zV!dbBKqg!#nqLCV&Os zbTSqdvp%xZu_KvtiX-<@&*R~zZfu>RO^F-36TIPqFRp+GD&d7ywEwJ2h;M(1@tu50 zuJ5Eva(tR&i{CDQ-`Q}4x}t)tA`z+v9s53jVoTQFxEyd)lyUxlCZq(-G@c*P!tcdh6_zZg}Wz`fWNi?r~@wgvN!-Yqq+esqD#TLc<q_U0PV7si)H_I>3!M5E(1#R9Qo4q{u5QNk`6rk;^4(12 zXXZzJEw5qsh1X(oXzkiKIrP@RYzv%aKk8*q=x+De;wugeG{1(Q*~Rn^3waZ*zvZ20 zahA<1(Reo}Qh)JJ4s&1^_Oo2-uezV?%4Hrr(e_%Z~Bff0)oNuJM2B_!KPfWGAl1kHj7W7(c$n z|1V-QmOY>a`|y`C^BFIq=-Z|6UVwh>bz6}x?3Z=;T5fg)+o!V+Z5p)QK|kyQ??2J!uDvA1 z*Kmp3SAU7+`_Uz%eDXnk0DJyE))HQ&ZT6fQ+?vXqs=}StmveFT)@S(kalYNDZ^z~M z8Zxte^`3O!kEW*j>d~jSn2FxaGyajk!Qsmd@Z}!(vXMH}@NPcsv?R%U;*Wckr-*m+ z@!6|$zOUnZ&C@u0(Obj&z_I_xFO$z+vVIQUCGRm`bVb+71A}vm49-$9wdXl@U)j`` z(ofUe(SEA=;ud@tw?MbfIC`bh=dQbibM5G#Ex_IbP3obEi+)+bKK=mj&&soWviEWx zptlp;58oeC`nt!NITo_az=waO@5u)Rn^Z*o^W`I01J#)z(HPfJn?VcT$;VK72P=47NXJQoN(^LBS{ELgYto!&R&)iKz>Np8C_#4a<%EOz=Mxo`H*( zcbM!Gr}+K;DM4^|fvfQD1lO}BZydcHyi>U}{<*+?CV7PCkH9+}9M7f>-JID}N*#1w z%TC+>=9=4%{&Mc0sgB_Y6sm18d9E> zEc%%9vJ@{vI&ZvO+V8g7Brhy)kT}hrVjpXr^5>X5HrW4(+g%)3TjE`V?Q=Hzu4_$H z&j0+HYi_&tn(@Bd+>;`mS>{yAdhT`Pdn@hfV*TN(b>n@n;`8xHs+sKuZXG&&%dxBh zh^CivhkrUxK*zH(?DZ7Ryt(i?blqdEjF9|2bq3B}_xR9e%Gm-h91CA8Ws@U9vgyMmXuAo@)I#)+$>gYV3!G6<_V#kIz)Te-YRANIbpdRM#Xg$t@ zr~Vc7SZ6q&{YdJ;n&|(i9y=`7pV7OJOS|3q#e3Z2i}#*_ufo7UvwRY1&$hj%1p8&T z3fHdg5U*9H1|O|Q=eFQA;}1-!{Ie;iFI-q*W!1jU`ULwQLqT|cOxQG?ILcfY0M65{ zF_9w8^{1MqGWzX&+G9HXD%+J2+MU7KYUqyxmb-6Hh9@%m8f)=c=zV*y-;jScd{kgO zeb3^b)OXs3{8woIdAVlQzKpcU$ITn^3uwdlcs^jI^}RvJ0)X*E3-I6 zIonL;ifQzN>yXV`%=l11clhZE+Pg2q8!-c>yb)Z)Bm3c3={9?8nBKl#V6HQ+;@(fq z?Cm+`!h$Jg)qMIo<8#hB!G{t?>*7)gNff4 zMZZV4(D#zz(eLS(DxdScqTf5^S0;Y%luy4(T0ZA|4J$vK_`Op;vN>t_ocA@X{FcP; zo${HN#FzgE^l{-|dSdK*Xbt^LXX5uo9rYgQhb$7^OR2vLI&|TCCHlLeoxY3F+;7vo zu*1(cJ?_!PLC(1i&`&ZvqrK@_R-_NTvYvhylk2U2MVGbv8h#hlu?&5ADt)YkK2;50 z`~9ZrY-rMxVcF;A?kBEoCuNJL8<~Tv56v@aeXnr8cCEE|nUz|67rcDuJ7)F(a_r)F z@JnHw-+-(x<9!Y9su|yo-9vrgaX)LE;{7_~sWptDH!yxzn6%m;eAkIgFx1y#zM}r@ zH^dRZzfyI|@T7Qy;F>;)xE<7K88YNr>h(DCL}Ttn8No;QOx%#)!vEdeHyHPdO8lZ! z?{1!1q>Jo&yK8TJYM^}6)dh=>r`|U)R?J7%)F5N7|Dm;bDfJIQi!+g(Z-VDj@O^-1 z+p^56y%{NyMrbn~J?#%Xf2VmvzWV>mR!UzF^w?m$eUdqnF$I>VuRCpg=xv_AY^B=t zV(ciEOxz32ESHsW7I5a7logt%rEuvx(+AF!SIRrdl9#QCecd+f)V>~ITZVIOUNf_M zMB@~*st_8Nf@cXd{?n_-)DJx8LudR;J;gcLg`YttUBiUzQJg9lv^oqKkIP5UvmZQIe$p}pj~8`;fx5qc1sTtq!E zx-?x&J#-G|S+ofU{X{;YZd-V-HmDe5R*Bw~%uRM+OV~+UP+sIY(yhFIh4y$iBZvJI z-o8e@34wDzv@2l@sBq=<9e{q_@beD7FR*g^t^?1vc(1Xd&X~S#c)kbtzhsR0nCFGe ziF#-gz55P(=K}mc3wplEyMr0TtKeM3Fy#ipVJ`E#3GJXo%EeN=Dhcl)_Uw)8KWcSnc@6YM?dbh%NgC* z4Qy~P?taS5c7a1Tx~Ozz1I;V&@pdsjjoN9-f5Z5+h`K$){Y372xc8%{?&n-gV)`%Y zzVYP+2iz|0Tg)loY@W(ZWAPzFizf?tZ~k%O%II@f)A#IruBIB@8PBe8z6(Ef(n5W6po}q&@9Z>iuhcW(1%P3H z+u&w=JY`|c3$qtiqQ_Ud!@zMj`6st73<4tO~D0~H*8qo#wS4IV+Cg}#>U6W z|I+wa)uHoat>sHP-0+wi`FsIwV360(VJip_FL)v2rF6vsYjo|@>w+C_^zFiQ{DQbF zWclU5SeKqsP-9XGJj-i4%<@a|**kHHnSqQ?Pb)B)X$4&?PV5M#nn$1fJu+-XRmW-A zECVZ+bUZ~LDO_<$$1|?c5&w#19c7HI^7lgzsx_3I8$>@sr}q#)w#X^7aK+M&cY)y^ zol?+9nSm9TcKBD+c9hOIX^MY_e@Y4EnQWCgtHV&{%!e5x$p3Z9ETK$|=cSbSEaO>_ zG8Zx)N6Q>-mziBjnc0*%Zm7)CgfdGgGnll@q7FZ0-uzpgXIa%Tkuoi(o-WFKj(Qr^ zlQBHLo;hL4%%jZ7LuI-W%CsocBrS86P1`pg7*1Q&Q?z}KdWyCS8TW_PvxPGKlsR>% z%p<35kzM9__eJZOn^4bZoq9@Fh?eQHY3uH!%o&t<{7{*y=Y?_YIZ{1E+xwYkRKc&8 z!LK!reo+nI{(&*R625&4SzZJWiGQ+Bq^#M&M{D4nRIY0Hwddj}?_8IcQcwx6E`euD zW(1=A3h$)liFXP+u16nviuu>jI50YL$H9S#8naEde~QNG`YEP-3FElN=rI3#_#Yc5 zRx}NiYiuZDoVWtLqYPfRWjeaOC6$^Dza{nyxUHNN|QbErI4 zc`pN3;6VLfk>% z*!>;3^+#~p0UVd)8ZxZHfitZ#3g-{N*)a@Gkqu|X&2ji3iw5zLtU@jg;u9VjpW;Xy zKFF6rd?bI6HG}xHjEv9gH^kwC%-HGB$4I6iKMI_B6?GmSAJMt(I#XVV9FSffKo)FA zFJA(^dfeXP8t5b%`=M{1$BdI6uKsNIZRzq(zph*|)UVsF80y!T$Mx&X!}RMWr(eHE z-_g81S--Au`n7bar?AC3WR?xz1P)15pQ+5cVi-{}kOXJw@SQHYJe`QPASK5)#!0M9B-_>A2Twse7?(YMbi#WXS2898Pqvl-@c!sZi4+3QMIZMAPklk~ zmIYaF0$vSrpqjpaD7Nsfrp%^Mm8J@FVGPb ze#@fpBnyOJ7qUS0?R94s3!Y%v?SQ&Ly^P$* zROT}O%`@o*n%A%9-G%51>ZjjiZ_|&NYc{g(Asb>B^5t^$3C$a2JG_87r|gAG&@ZGH zRJe2dK4zXY4_oa?l-tuRn_)`dnaqKU_%9e6nHTQOm}Jl8-pR;jZmcuYa%_8|U{<)Z znfK)t?*ootTg;&(gTBeV*2*m2i@cG|QS0Hd1+YJWHHYa_`hjWB3Eh)ySeelIXY3D{ zX|gip`*bh!z$cmOU1X&oqdbuT?3BkKGca&B?PE^3k9N|$P;)`m-T$5BcFGEO%AlRn z^=&g-^pmY}19QM(w#u)Y^6QaLS_8P#mRFOA_w6eVB7gdkI|g~yOPV^?=5qHlm+NOv zCt0Pm-_B<>+0V%zU~bmWJgZRocDS1S`cM8M`?;&>WIZqAz5XN1PPCs}O()xTH!|!& z);9iQVf4S`*z}cl9=GhA(^uB;u9Q4g$g`ki8gsq=GL^%fJbvbPoMg1X&05D)7xQ1{ zc(QkFFfMzZ7hXDm%?dt(j&5}0XOTbk=*$-&$Bf;-vuj=Se-HdsgbmciIY$=n)0WpT zkGrHJb@@e{`Ev|%Y1$Mshch9$vqz`Eq;WsMHcVM5LHuihZz$(_;5U$`o-(eZj2gDA z8|^ai$5uU%dy-!RR(7rWucvaTjJqgf6M0%G2$_>VYgAR*&#d8An@> ztZyEs9>~XG^=KI?<7n&g=GO+wo1j&S(;m;z<^kqcnu|s2;j-JqbPknqc~(__@90eM%CeA7CLY-2b3@twgA8e2!%X54+U|Mp=I zJHLo%t`(T^mPkk_`(6w{@oCk6E$84%T(96bpcBi%_lRJE-y zxv?c}jOsq*wRI`vk$It&y+P_s2te#){EH^N_3J<{{oXYw@*wa})hT`h)BX3ruE2d@uWg z<{$4dmTE2{`@$O;nS=I)0h8NzEAQWeSEWbPnao4xA<_?G_66A?qVtgKzNeUnNGBL@ z`j2eB_)**Qko!z_ao6BHB=fNL1+lakvP24w31FWDFTCr0fH1qH+H3!_*|mwiFD zg?E^X>}4LpTDd(3k;Og~}&3Cb2JUjI%Fz z;_M5aIQxQU(7sUP*cW2+58J+wa}@T4Td^2^D_66V^&c1Lz z>rNxt7c@r@9NWGCoWt1{E=48`+B=fi7Y6ZxUsbQe;WHB%F^EqR`@$eTEm1g!!{<%b z4hQi`VqX}*e^~V@>O4F?vM=0^EEv(g01Q9%siNQ4FxQCM8jFyXetS-${vEY3M*H{= z_YX|m4exflGm8HY_D1>B^pYOW*r;c(A_F8F-oqb3^OpZh9@#wqV!w~(EhSIvyD+}q zJLuCcD>brY!K{dfb+j^*x=U+xC7Qn?dzN4qwQZ@a%T}P@OBTh}!(E*P9agxYLwgK< z2HZlv^Wal*Ca`)LuTrd(NZ44rN_mc77dqpm=m5)*X<7@os$&EFwp4l@Fw@Y(+?0n; z*kN_PQpyXeJbX~rQl9FjF>wdBSk+1MbPM<@&y9ZJ0iHpYPMyIVocWv9B&5?eV()cx z<$^~Jb9CX74SrK|Qwp?pptXY187EIEKvyVXy+G>}B~IBEW!FQ`D(zFp9ut^9EnNv6RGS< zEBNU=+HyP3SRZ9=ll4vQp9S{gaWK`H=g5zv|p)!+Y^9S|qsA7DQova!f zi!W4njcFFR8gOj|-q(O3Jj9<{p_}+qv?v5em+Yggp<2|t2D}V*Q?;4KzW{S;lj&mJ zXr-+;iYE(z6ig^%6Ql=?+DAdl`?KRvNFCv83Se3v;Aw__w>Wt z@&}WTnEb}%FZK~WV*Bw4`xt*P`H0QN2kI33!>(Bs^#{w)SmQOPy7BvB?H+$1Q+p%2 z$qhPBiM9V))+bs2Zz@55tVLg~Wp5$&$EH7^2b7+3T;wiv_T?Gr5%zsF_3&&vcDPFU zc;S262;CZ>;W}h_JvJiQCEV%g*y*%|Wua-@xUf=p_PYn2J}SLG=9k$?Ir24g zb>f$azgY`q%ZJc~e`Xi-DU=^6xTu##BSUSjt`Y)_7V}5^G=` zwAd_~nCmVRO#;xuZ?3&89-l|SqpP!`BM@Yrj{3_dIgd8jjE|Md)%gXna+A?KzTPHt z(_mc#$nY4Q@1zXDayvBLfuCy;bUlx{#lv0#pG4aM&gFoC@)ogwxM5gWkJH#$P*)W=v0*hXA{TiBC!6IZgh08@!GseM1q^iRcs zSNxY)On@JZnaJ4zw=B{=05c{U7r+olO>qIt*rB)pd6y5x1*mf30<3i60<6xC#s%m) zb|@~ux$sdHdr%Y?;1X<(S1_+X$I6U6$@MnzdO~Sld}vJQc>ZhdzUbU(kwv3&BdzR@ zbZfsVR}HZMTB$Spz`Y*(KGwUAdp*xDC+1kdxV#0fakbjpS$(=0JC$eJiz6TXjoWX@ z-(beoR$FHERNm?NJf3gnc`JK;(%FOQW?!V@53JMPAC<+P$Qoc~+jq)hAJ8gbE=e(~ ztyK1w*k!rAOMs^`V`T|uq4JF~t1Bo|``HWQ$`mfuS!T8Tj6k-jXK)`tinqYz)!xV$ zp#7}r(8`U!Rv+~7LmLaa!Piaaq@~;YS)W2z)ZW&v)iuNisM%V`C0d9M!bdo${NZIs z@?EQou2TQfI=04t`TMWI=3Pgu$#3EBZ+(vV053C+Dn5XJ&Y^Ju0{Cyo_R3~3#}FU5 zsGInCAu{$2>Q|cPviB(m;BCbPIET9(8(`Gvh?lmX%D7U*-i}7&4S8wv#sw3I2jC4w zsAHWqt~LUFYj~zM(4LNax8Ib%gm)q0%&FaL9r}wG^e&4w4lpiHWskDjzKDIwiU*KI zTZcSmbrgQqXTwjA!WRz=wf{}|^E1tA)&={dOIvZV0ptU9vlAP@4GrX1`6~4ifS@L+1#~SeL(FT>-QVs zfpxTz)_EI~w9%!+GE*NE4P5j=wUPRu)>hO9MTf)fD=(ssb?{tKTzxjtMh#aLURBDs z6^Ch~lD`a;7t$6zl-oLbsL%X4PIg{8C_A$vCor#g7rbJ!6Cc1~vQu)ihwDDBC5F9> zw2j5pK&*s@%n82xNZTh|FFrhGST z^fvVEL57OX_wiq{ROPzpQ?GETT*=f@lj>FZmm^1O?6R#RE8CH$!{u4iFj-m^FH7lb zGo9D~pCwDxmXfC>jvW1i?#R*lI`(%$k0X_*RuXwyzjL7cKIT<18Tc<63qyw)3q$`4 zV`1ns#=_A5%2=rOb7BU3R{I@hEDZfm$HLaF1LbGfbK;@60sqN=jdy4Pcgf|&_%0e;Hb z$uCBYC+6+=$Wr0~`~jUSelPb=(d{^M=h0qZ|Nb!(cTHl?zr}pY z&3qb}cHvC$>S0gkCERC`XAF1$`JC@WEJq9dKy&tEdH(ZDhxX$7XBs;$;5_Ez8ONCN z7Ru1RsV>H!Q<=x!$NW=qE$_tl_&xMW?KyrEnKjqs9TFelJmlPjGHiBse1JTB*rIU( zvQoGV++hU`|;q4|F6ncLV&-B+i(4YBBrK#YdW(yaoTT2QcJkY=(dFu|H-C`;8-aq_H0X z8Yt$(B%8n32Tp9;Fz;NHxrlL4ym=wx-dR@Wt_v8W&PSiPVr8yx)yf>-6UEN6B0M1d3#tne);^PKvvnCCT8{h?IV%≫;Q@yu>vg1@~(p4E+9sQ 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


    dQmwi2q*VbgfeTjJnDCw}zQ3n>6N; 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%0AS$xw5(L;_AnKq@QAwYr7~I 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

    sM%ION; zXV3cdcz-K(#p3-$cow|B0a`5HkJq$;fih^Zcz>>@^$!$5i^co1H7zahLuj#h{~b+B z2~2_(i}xpMT58~8Xt8)dT+qaLNts%f|a`c<^W*j5&R!`7`FU2SaPaJMcIB zJ?Ucu?^B_$&g7Vp2PHT`Uj>!i^cmqO-l=04J{V$zpH5}fh(ZJ;{6y+OATBGEf()bYnp*m7fN0W-VcHH zW#j!Yc<@;8-l_RB@ZJTj4e!9;k0!O_{Xl3g3*PV7Gz0JZLNhT?aQi=+X5f7yG-bj2 zotkFgy%U;=i;}NV(+s@-D5)dfzoltLKkkQS?Z?fU#=hJc9r1oQ>AV)ae~EO*!ut^E z+u9G7uO@vg-oHT_v#o;nPm(4U@Bb$JS@8Z5(tMS8ALHMD0^X1A;NSOt)5QBzI>q~V z=$+wxyMI5n&A)H`KLhV?-SWSO_qBP)kN4jM|Gu2|2*xyi&g=JIrhork+VEB4{f}mR zet7ST;{EaZ_b2|>!23rMkHq`CCw3k0e?vK4!TV9SeR{mVgSukz{)g}^cz+wTP|W)M zBuyI__zARFyuVn}`Uj>%tB+Z~KTp$$M+7Yv@6XY+l)zQcd@<|yr)gShpb%PJ%=-N) znr7hC#gf;8_amTv*?2z+9y}JjPtg1sc%K8U4e!8To2D85{Rz-q7Q8=nx%9t*_x+)n z7$~^CN7D?v?+r~^@P4``&*Mj%2lI~b|zm@bMo!(f#UrYK}ynmZC^*W8Qe!r45v3S2p_|s{O_4~(3 z^EJZzC%WR__j|*{`_ntc`$Xu+#{09{@LrKt=JRj=*Z&^gFUkGi!uuO&&o>?K&!G)p zCEj~){p#@kTOSyB|9JN!@xJ=9uH*gxqnxhb{mDQ5^msp)x?=JEYIqjBp9L)z@2}9b zfq`3~#p3;Cn$|yX9kf`yzev;40#l*I;(flRr35BJi^cmhH7zx8CA3()AFF8wPF*H> zEqH$-v@aX)Plg98-Y04P47?u>tqt$M-#AS(@ZJs0iuWH+Xvh0>XeI^{pRNMOf@HV`6l2-8kj<^5!@P7H($B*~lg!%lNX;0l3 z;NO3l^ZEI-;j6^^(px@1ycgT6E8pau`o4kpe~v#A?;pIh>v+G2a=L=|V{ZQRcz+jl z#o~Q2JPY2>ffkGRS83Y7zzk@ycweY#{R1~bi^cm(G>!Ow&|>lad`%lEC;{EBGX5dtz07*w@72QOTNi_ znlxWeyzkZa4SxIgc+QPhydShViua7Q&c4U%2mRQ1-@acjfwY46bKm^m!}~|h{NKX+ z+i1@>9q-Sl4PPbRm)-Q$;r$uA4ZMFk?nu0!e{t9Gei`L-1@BM0@zdk|ebg0;_fz3n z@V*jSEZ$Gnw1I)y&|>laN=@q@_$jnlyuV!2(gN2*i^cnKnwAon1}zrv3p6b?;Dr{8 z_h)IEfm2sXUJFj03hm3r`_tgTqj@m)>!oP^47@)DS{vShzdbe0!21!#?a26cydMNj>3qh1y@Q%&;C%`-6Bi}lhni;KeNSk07QBB~(~N%XCiyJ= z*sN*&0+;`!Bi^?07*f0M>+m*D-g zr1>iF-WqSGALr7V^Y})*op!9Z#@i|4`+IA=oy?6AZ^!)hzGJ+dG-$^gZ)e17AJn+c zl9-2s0}`JsbVK~=P;Pv%j<|iHg7~0M?ia)dy>cHPAN0t5LVVCA_et?VCHE`hgQ4$o zzbZahFZaphmwO5M3rjNw;k(fRb+egRrA=Zn;^pV&; zI;IctYQD(0KEFESKuzOV&J^N1|1-FM)8qOS(;l%YzR7WYzC|0pN}FQRPrf>vBIjMh zrdaGa(x$j$T-R-id6d%?nMll#o83(G;LsD8njrOqCnI7 z2fWZ?ZHlurEiLc^Xt6fMshXA&mR&S%&ZA8MLmQ}l#p;;h&P?`oPchtLh0 z()kRVqFK`nn<8Rw$6m?zj;0wl#X)Fw7MtRqnr8Ilhmz0IkAKs&eu1;D?`Tu(Ae~p2 zVXPTEN4jI#6mOHht^L>wD@h+~Q*0uQ*;cVB9w$w#P4SZOr|UJ=3?3rQr?Dx%l~i!H zJHdX=sh3PTXUIjrIOp+}XU;j}=gsF7r*+F+K0Q5m_cJHuk|y`oA77FC>>tWI#PjQN ze1L}BjS|-^;xOX>?aoynNlYJEZ&;P9l1+QWM=ZMi#HN#&KVo}G48Z4*or4YE((&lT zjv?sKgy)FqBJ&awhwd=3f|{69%A%RedgGmH!7z+(?wiV&I{3TQ3n#c=m0Sa&v5ke z+kL)GyBgfYqqA3w&N$@g9@s}5!o9>H-1N5(Y9!8>#J#$ZSlrFTC2~7lI#2Tj#0@8I zQ57+X?xS5Vkk;*BZzSc(99aXu|4cls?H72$V!t#IzewT_RuX$qVh%n}Ogb}0p~NKI zLTosRN4SNUbrO&8b*B-JP~sFy972gtC^n14Cw!Vd5nD!VmZ#|#v0)@$v&2aIJnfdr z*i4hLmGXHPh1g1EryZynMqDC!&tYN_9w2^SBXQT_c_!Z}N*uo&Vw6b?!Vq!py3=>^ zzGbhUn>c-vc4)TpZ=*fgwqzZH(8K$d7(enok+h?N-_nlQIE3U2=MV>wykRR}SHRcs zMD@||-s+>{jp6ql+9B}+&3MB$~*Cw&OsY8!Rc(ukGJ_x@Y%ywMyhN~Dqr(VxFp~MrM)8%-A zgN}$NSj782%(sVj88gUzC3lhioy6?i3eUC3Q?1zE@He0L)@`R@cU0Mqv^%^Pat;Rh z<;(&f@dUlch$krNCUM6l}0?lqK4y*Cpai@ zh44%ay;;bEd9K13c$Tq$8MIg%VYH^D2QGrY!QU33k^s1D}ULH!(|a)()*RyF=m( zo3R9U=XyQ@3;dCW+_rdv#qd^2Ji(GK#S7X4oq`p}BNE!(Mq_(+s<#5t@n5(jR}-G{f$A z3tFAU?s!_$jDFk<&DxJoXj;EO#iSAj~CGZYeR(|#{Hl=#9UMYo>H73S=N zso?fu&OVr$uhOQ1zvs&xy*^a#==E-LPp8a0?wnN+0@ohm|0;0oPVmW$_d7L<81U%p z?VPADD;rjRJcG^7opEDR#Jn2s4 z|KY33s6)+@|A(#GaRKKcG1pW~oi5H;5ZrFYek$O7NlaZicfJ|BNN{kkQ-x2X&8O1d zF<|c)us3qp7LG)0;TDHI{BFEGJd}RgmS_)e>unEjJzxuO-D3+kXLClvFs@OYlW>|{ z+fnJr&;WZL2;ZN!*9xv^D@Ge6W))VxL;xzBX1F8tQpyBMh4gLd=1an$p1VO+fnSs zh@~C-XvglcayDJNo#bX*i7hAgN35OnOZxqpO_7>b+P$B186-BfoXgNadnB#cH)1EP zgEyYF#geY4T@p)L+9|fa)y|jpN!!F`+5(ST;PC}`lCnZ2F}6}edo1STwUs0$^skYH z*~(N;?9)K+?y*k{tNGa?@xaW+Hh z`Q{u=nzohHF>ED8eG+?l80DC@k}bwoQWjfD(l=t$1g{C#*b5kwm4>ZkYdBt8DJ_sh zU9tAi&hrH0`v>Bn)uU^yF_arMEj{q@#~j}rpb8%hOKmurWtn4QfPHL zpRp&SLemVJ;{Qp$s7)dE(CwOL*loWOnm(hzu-k6dG{eSvP-yg}dFJx9nr8IlJdx+4S%22%e|yjQ z(Sv<+v)}$f?qi2$=k7Q>GdE-T@NSxZ#z3s2Lx%-0O%{{!~ z(%k-sXXUQDD?azY)}q`+uNUS%`QrJxgMOcpJ9F3ebAI)wN6&fTnbXgq+_SCrSFC+z z+GE|-(d;qX#c&tO_u=YBHI#d@y0LB$_rW|L&OMFiqq!%M|75-!0@w56WZr}r z`J=$0lbLH+bf9J%JUE!Ev2&Hw4fgw#udiT8zOT2xG}#j_%kiw3Iyi5|HJ5p2O1h=V zDqP}C^>01TH!*OTn)z^!TJg|e+lqJoExM*(U7Z*%!3W+thy z*vy&ml9|Gl#x#=SE~h0}&}#uIVYhZD!zIO|Bx&FmjYg0CXG2V1pY z!0jXkyUKn2SbT2(vBBeF;g52KpA>i${_=eT{O}aiyuq{P4W5P1PvS8p%HKQ01eEhG zrB5~-t1gxNnd@p~PC(+BOI=SKt1eIKXRhlR_D)KSbgAo?$Er*9|IBqgNSvj+qjlXL zt*epuV?!3?y~+DpgY7Tx3HwaHCv3Ff(QGyIJ?Gaa`{g~EvL*7gfSAqKM(dhz%b@e({UG<+`He9T~ zsc2n$esrv{obs95^&#g}Z{rMKk@^2SR$cX<{e8XlVWj5eXkDw1RhO^NXKq&wu>v2b zuEr8IPq54Fi^uQaoK3q5U)yTfinVs7&#Snoz`%nyzb|JH_YXWZEoVVz`L4F)^KpLW zndJK~@2Ru2lPqanA4LjJA+4NI+gaKREotiyM+%3K);z~jbpEro;&-J49y|(Pr(5%5 zm!y*am7~;kq9v^tJEsR}qCp0hY9N`yz#VNh{}0bXIPX zC9P*~q;MB$>yDDvW=R|RZ=~?wr2XYl((XUp{$72Yx4W6N_eImnnV?n~Xo;rHjGn#w zB59?suhcTY9O_Z}`d^khyzfT}pCR9k)PX70_7^G0*(hg&%6=R<`%~tuWG;)ft$;a~ zCG%EdW64~Wtd})brgGMzEznra8AqJE+R9lO{gfxz3;$ZVJmFKFp5VR1ls6K9< z58(I8i7A6v+X`|9eNfHu%x}!(ewOn82%WEX&;CV{8kV7)D$(X44`+Diy6hiLFI0v5 znPaoJHg0l#@UzXi%HE>p)xNbBpSuTRvXy?SXN-jINEx)>!C9pXRrq(g%5Nioh&i^# zauv>XIX?{D&GY}v{>2FDxae|KD7?G&-m%$suz3^bp0_mK%^VHoW;r=O^s4Ly@>|BC z3*PFw4H&=Zj?76<*=>o6a-XuRzKiU(@%C2V%br%>hFs2HU(5N1O^&=^b7o%9>$HzA znw>dG(wb?gZ)B0OC$fgu*RAa1B~P85*t3=J*h_3j&LpQDU}*Tw-?L{Id$5V;Zr>Px z=!Fkz#D)|bu|8dF$W&~|Z~05Sr~0dA`z98?BeIYh_!s$HwxJoB3jf}bGQPL;Cw5{_ zc(Wz_Bb{?^2d%x`wUR#eyGbWJT+I2lA^4U&?~PZ5Sv+@t&)u76tJASpBeP`fCuMvS z?P`2htyYEZ-f6TepR?u}<0Bi(Js;Wj{A_d6AY0JR`+2j6s&3-ER{QSRn_Wq2gS)U` za_B0~*>dz7FT5S-p)T*~ab+A_!`Y(K)JOlzliIpZmEgi zbEJ-c>JG=Cr|$5~U-I9dZJzINR9}O9f8aS#vzB=U%1+G6;atK5&L<>~)Ss(T%5Af4 z{an;5b3u7wwdk#(t@oqfLu))id43-<7~-5+Cw!e3ti1_ zt?_w5J9O!fDO@6VzNCiqMO>7f=u>KZm6S2tIjDeVZl^7AkzzE^pYh0-o9Ch%hVy@k z(~+339OLtOmd~?sJi8A6uK5PWasunLH+#Z&IpV8*y;b$D+gRUGan*nFD1WU|Ek9L# zt6NU1P2ZwYTgK!u7ex9Z+pr9I_7l~wdWz~^?dA8}-uCJi`0+b>RJ%!2(c4x%Csp0} zpPJhAOnbMM_wTMvUqgAj$TwLzTXyq1mvfrm<9Dt-xusb@k85$Mp&2dE?A-rm>pt>+ zThEdAIufc&RN_dxvX2bG>wj$a9+|3N%N}?QJzbmrzO7e}IrhFSuh^1$H1Ru^^52v4 zZK*B7ry^ga&Cz4AEpen*De~H{2@O+)xhf8QCh3w}LZm~7jdTrDW09wcbwkxyUwK)p z^igH`wALo-we#-X&??HWX>}y!XR6^v$Y*iJ+!NK06!PO9Ucx&q&dB2OmW^pGF3W0d zqEDLPa{}+nj-0;VU0v=Ot&;!tGux!gm?v+h+`q-CK2GL*FHs51tJ?#Ys~*)CtN7~i z(04lQBR9>=oa9hFtL>^!b-YTdu4H`8Wgo-cyt5MW#T`&Lc(^-Ma&;4TyGpFy0pAIf zyTz7Ju6UQtl+~o{)kXjCURwOhluI4^)eY(&#h1F@DY;&~Q+mCdtB84657)!3k;2LL z-sK+jxC^;gvwt>U+Fs#M)voE@)`l`bk+{;BGaNXM4ls}v(XoMvuz8n<2>@nSasuw z4D>N=baL@-TecwswP01#3$^KsdG}c-sIgNSv+I%yHcwXZ<@xjOPR}2##!e~o9@J;` zmbnjZqn;JuP5$hkZ63lq8b)7v$g_C1Z4x@X&otf#vQr($`@axftDI}kTE_FqDy}@_ ztT^i)@FCOIy?cnx1V5{fe10;| zJDYDj>N&6lIeISRSo*JsIY_Mo!6VUw;A>)6bfM_3B=q4bZ0~L5oG05u`NyN%OVA~Y z81LQad$7LxDV171guZn1{3)>DF4e929!F~R8s6LT=VWXqw(R1)%t4=Q;~rsdsls8a zez!(+OhU^LTinQ9jLFIL(@w@@o-MA&5L?1X#_Bc5Md2KDiOBypXp@zrrI9;&Z={>~ zt32Ls1UYJ)SCL-Sjq!_|Hc#_}ZD7by-kVA&%J5#3-RdhJ)tU{DJCtqwPGl{Cu_$9@ z4m>s=_5`~#-b(6)N1L`i#?j7fs`o&mn$3Dh^X%6>s9we&ue^hhHMB9df-oZ6TXJ3Zi!wn$9s*dRY5bcVJ7{(9h>MM z*rK6mTkv%>=6S#yX@}%@&0w6}PF}{=9Hq)fQ>V3@Y2q_E)W~-U+jK!&szr@zaY-vEH*wiwb=M#--oc(thT+_`eNUUZ7(*yw(qkI`(AAO z#$5i#wlBtx*7j%z``-Cs_p8{mfekLUxY+jl9gcw5;YIXy-yfhyXrF1{yD4vfL4W)X zHPRjR7xp*U!zW^s<)K6Ih5cgdg=!3&f5jD@*!eZ+;i#Q|=t|1xcbDz_Z0!8pF53C{ zCb4$@mW90Aaq0up&fosr2Q};~_@J4q&CXZ3ZFc?--!$y}X7c&8{1|qAsDV9O$XRE0 zeg)~YOe1F@_!fKXv5Bg%0vliKES_mQe>?4Yxlj#`RN~vctycT6`5SNcd?aH_SlOXHQ*CeaJOrpz?Cr#8{IYBm2p0IcS1s@N*IA{p1lg6 zU==>WDtv-fqT_4{IZ>a$flrXN3ZGz=_6c4ve1dV}6QK7hqxIF5c~`m1sf&9tR~F^l zoRps|zCac{i!U$&J26Xq0qUbnbg1;5==((8gY>WXU6(M|62dORCY#tiEH5~PyY>gR zc!JN7rYLD`y2xmVeYsBFhXcE>bY9g2U()mGqwxihevH}cEks;IVV(rc}FfA@e_Y$BKH^DaD&s8Id{t{pz*U!!`Iujiii z%8*Ol|8QNZ{*iTQ#XD~7&g|>+z(>JJIS*Qqrh>bdtJAdDrY^1x%%wFW3v;l&9_YzC zW^8PQSB0EzhxelC-c^f`^SRsw! zi5Fd!jg2NcQtW@3$FQTPO89>Z@?T>50@#LISg(93TNS$Kk76$7IJAv98Cx=htyzbE zSD&TE-ia?%mz2Lb&Tun}yYvm>Mw*&diM?SY8pNru& zt1Nrv1LAMEkO9)-YpfKkj`cOtF9*XH9{D_l=by&cIF?=&UqkCw?Q0}NeU0PSv7#Hr z*LX;5R{Y~7eU(2Tz6SW2Mf>AVqDR5;ueSM)VwK^BM7>ch^>#(=% zdYX9$JAMN9Ev#$j+w9eDn{DK-8hj7@jh*-!wb)Zl_z^ts!F#~huwUb2-FuEbzD4YN zq17Tw;%nsLYb;7sV=IuKMu%;K8~MrQUApJpmA4B2Oj_UuCro-Q!E}tZtseHxAhQihTGgtGqqbYMFQ2!Mxpi zWg9<-wlyTH%Xi?PAp4WVhY>l8ur@F9wE`K!R@fYmy!{UUZJV*_Q{x|Qdvghbbdh?dDb(%lIk_*AQGv`r-vC{Of2gz^;jhUgU;yUYWw z%$ng^*~AzY{U$t#|B^24z>X9_lUz-uV}(Q5#Pn?&$MEXijUK&KZ6af{h9eHTw(e%%vFD)Khw|R&z#)u z&m6g4;r#I4;-mXB|NdUPKXaJ%3h`$`tec20vmf6j^q>llz?UgvZDjwmcD-&P{>=2r zo%k^if-zA)=0z!&-(B`&`r*f%+(kb|)>LBFD<1o`_G4Z%{g@}$YCq<+=5gw^c0XoV zn;$d$b;FPOBl%>VLcZMyJ#P3g@1gT!*DB^y&AMQ?D3N(Ryw{!5}Q$lAh3bxGj)+bSq) z8sf9anuho-;!}n2Wwwg%GQi@y^ltZEDzOK|UlHGBF1Elu;=7FM+;ljbsSX%pWD8$zLPvdJfF7R7J5 zSC+n&y%PP_wvKU4)Mv3#Cw5D9Xh!3VteK57a%L5+e3Abh)I%AGcZzRBStVk##Hqww z@m-*?ez8*O&O6E)#)x)K=*Pz1dBJJ)XAW4YLv}cN1YW^UX~2)L#jQQdjZe}9-i^Z_xf5SSe3N>3*bPtOmnfd) z6uKvDC;cgfSre93Ext5S#Z|kxhe(&JlFIGSs4&-#A|ze?ojF?_UPGUmWW*-L*97xv{QnWGNT&id!v)ehRd41Xev z`+D&9W!llgWuqNVc+7{laW-U+yO(?k$_P@?NfST;OhE0`s8>Kh2or ziL)izDpVhrO(hPW-Hp#cRiAsN51pY3&!1n%{V~1^YsBtbCVm<9yvTgBx2%Y=iYTjS zWgO*5dCQPhDQgk=hfq!r@0oMM4vQjJ=@WbXYL#kfe%hE57e5A`M%Is1W0xprwKplx@M97ze#{6p zc5&I(8REw*E_2Utjo`gtmlQkeXJ%q2;>XPNv0hr7z;E$u64Xp3zmxdQ9?o@1&{-cV zPUbgzJ=Z0xnf2`NEKcD!dpp;qsF^l?PfM$xsr{fdHB;JV_(5|v4|SV|(JsE@I3sXU}35eY6Z;OMI?HjO$Wl zFt@wCWhXM3n-Je3Yp&uqH6^RDwfNvG*hB2@;2$~hkE+ra^;TndV8@GJB>k6<928$O zY~?WOX(}7BvaT27GU^+xLsm_CaW@rQ%Q)H@^^IOYZg-G(+BL&hPGb+{&cwW+@LQ#9 z;}h1_rr+&iO~+;%zXRFJ9H?#-9|vD;GcI!AHrWOe`+p$;bU&F9-UoZd})!a@t~h=+!goX;9{=LiSN`s zQN0i;l==2j2fjT#h<(-o#+JZGiQwq%?v?L7A1QQ_rpTcZJ)+-qnyt|^ZqnqeeDyg? z8kt|}B+X+DmNYVt)Jd8L)>+aZ^L)<=KOO73W-UG({3tajQRIIzY1YnYp5cb)qPJWt zi*CpYJWF|b_((<3 zeKx}H#n`Ua{4L}cKZ~{10fKc?kxd)F&*2_o+?oDcFN^=Sx7F~KIvam)UTpYpfBtdK zf_0R$nQ|6$-^g9`*x$MH4mXKj6@6I*pKE8hW+=u;BYG%T8TPe9+Jjv!HniBuRpc}M zxb?rpKD6ir+4on6ANLG(zisj3K3CuDc-ES_;G11ke01OJwuzt4HyiN@zFCo!`xW|T z=gWH=r=BoYIsQCcc>XXySueeKgZI6CX@`wMKj_(>D`;Y#aWD_-NvbiSH)<*g^cQWtO!hAHJLT zV&a2s)9XjfbK#4LpV){mCO((i;aj**>yK^2=d-RSeGxv{_lc`ut|c9pPe%VV zt~p+x%p3K|yfHqR*W#1$|EKZE@IM55kMzlk@X3mzK3UNh=aXUcf9-rSc>0ojvKu=1 zWW$SkmEv>Z=iGo#c7vPW`CRAXgJtm?U+o4ZY4FGFJhPiV8M2hfe8wD`t^9#5`eowF zh+iiDnfOVa`DQ+RGtFn`KAGlI`(jc46h7Ib;*-JG7vz&|{+xX>%KOYdnda$eK3U6~ z(S2r}`DFCdm*+rAK=jB?w3GVf7* zveKjYWXAI&eKO zPv-f;eX^taVoQ@xR!fs_a2IAzP+VR2$%>A{Co4S;pR8k=Sf9-Bw>qY|FY1%o@TEL$ zK3T^!o%>`Z$MDIDK7~()4f8qrWXTqvZ2vKQvRf`Pe6mY_c)UKDx7{a04;_zBR`iR` zeX{RScL$#=)5G^YL-jX4vQ}n((<5tVvfoeE%glIp^6ig&-xK;f>xRv;cBlf1b%3VF zZ9&gi^<)A(z7cYMcoBQ3ta}I>`G!W;#_SV}?}I|*3BBM6*Je3C)ZYfxCvTK*fn-00 zi+za~jWP23SP!YS+grx6W-9srdnvk=e5_4{-QHK#QAIb|J=O` zcvRKZ|G&@7Bup|%NVw*LNhS#a0)oC`4Q(wm6YiITT&w}Cxe`LA1eLZ1FU@TN%0Szx zwrSN$0t6&TwXgb`R4n0I6s6v3>6J;s)qt0x(r9dcpLJ#e0fW}|{r~>Y|3A-jo;_#p zefHUxb=F?{yVqKqJv!OPS_w1D`D!F5<4oU&-Km2PPOYNH8uLOlKVN8nT@t?NUr^ zAeh*L592@Xj>pkoKS5iudCw4RtmRKPH2wa_4NWb?w^5(XTxQ09BDA#cNJ`UQuonMS zq=l2lg`Ihf=o9p$DM^bWjmr#PG!c2BCoOLnb{_*&Oam8KX^h}A`;VkH?PH&)+@!fH z!0_8QIhvQ6w3)}zGbmt88qhN+=iRI~W45r)Sq6soc&&xsAG;fusP8U2lk8lGRZ4LflQozoHXDd&G4z{x3s6t0y zh1%%91(VcJo0M~sa-H&ilgSpsK9tmT$&s|C6I^GZqhr`AxabFPO43YjO=-5{q~%FE zd!?;B_biu*XNAV|kJy_Ab1CXSf%W&qq3VwFrh&FmHD_*92d@JcT>4n+d+0$xyRxQ# zh;J^E_h=Ds#J4>uy1WAu1iun&C@F|t2`$UM>yC2tagx;B??UhX-@y;)kMEfV&-8E7 znv-(RgYH}k%VP&K#v&#Ln+^4>!`{qLeL3SVfeX3f9J*{rd@h@Lw-6vX{m z-s`~5OnZcV($0uHz8~^!rhNH^gbv!CbT$`8?2GqUE$kgyW**zl-Y9lI1z>vZ+f`?+ z&Fo!!9p4W;2ikv7#_Mh9PD3wF_A*5eQ!qBsrIYInp!4@U{tUo9+jkKrtJgMy z<+nd={P(p#r#dI1N0#o~WHQ^b zjuh{79VyybfF9pu(hAT6sg6)d`RJaxh)XF>+v#C1V1o+l*v-k-&PaPb)1AGbAy{c&qkzdvqna+SGvT9$2T$|_s7)BMLx zO_R!&?#voV-;@>ZoLu(V_qLU!?-aiV@?Gsd-aTHv>)zjVWox(CRAvk(PZj-)Z9o7! zB%f-rzxF>r!X}vin()!f>_xUsWv-O83j1f$HcA>g_4j6D;|yQ_fnb^NxmI`_22I|2 zt>X0uP0$y4%Hi{jPv--?>o`2~1antIU8b*%|2;g^@V@~MeHQ=z_fr=307L!I74-AEIhp+r!osrpCi)Z|7!A7}%OmUfz8yil zRGzzA+Dn~u>Ma1N+S^s&k*(+#f-ZZMhM?JYSw+bVL5 zZ|yibYL|a&Li3TwyBDy!oqxg<>P25OM#`0Ed&=!y<`$D&?X-xeq@mHA7`k@Ehn zvaITbtNq;zM0X;M`ECPrB)o7b?G=5(K)uYgwP5EL)+<82@X}wq7kDTu6Q#85UWGd+L9&j+~uaMy4kgieB`{5s6FCaXbJ&_Ha$*D&T$jioECsZ;3^ZdYDRD z(sJ9*0+q9KS;cKTi-$R0Seop3p&GurU-Ys^j!Gc>)2CSAFON1Yv`Ns{Rv+XdXBPG%)4FY6nKQtOz8Jb^OwRO+MjoHuBT59LEptH z(%Zhv(Ye;v&wFy(XzvR9FCQr&ZXNfV=<_F4e{Z>p=-3MO_CDWxj@G~99m4Xf)E#3@ zQ5j;>+O0*E2p_4Ksup-=jrLls7Vl=hnHn1DeKN8Xye0y^;6J1~PhY1szgMC8glC*)zI~@f`OK!JkF8<9{Jj>< zm(I6;kn1eG#6o;Dx-7Y>=&_CHc|3^z%KJ+5MN0f`<$Kqm`G%XsF0|#wW9Z0KknaPY z{W$wUJ%T(Pu@CCen&$g$?EU(HO8m2u?~UyH^*UstUy?6e%5iGG_l9lN=TJ_VQLg6e zN4`6=J$eQCh7$j)*oX8|>iJCeL;5<}c600x^gE;;uIt<{_3AJLc57ZJq!;d}0d z9{n2XH~Z^W2!JH z?T>pz-@NFjdcVJ>m!2TKAbYKzan&|`RKjEW&*LA~LwWx2!bkM!zaOPH$NpTG`mcU7 zU7tjIOJaYd_xs&&J%qA6Z{DaswCG{|6!fwGFT+dIe?LJFBmQLkqxy4kKh)9npf4=G zP@ebvWmIXu-;dB;^xKkG()DT3K|%J9X!{TKEsRY={7?16aS!PQ(80+!N9z0E9InfA z{iKX6i?89$vHGOL>3WDU9?Xr{kjUI7IJ}>JF(o@@xxzNgN<9HTSmSK=A3}#g+0d~u z+v>0@u7*FHd@0S~XNB;q0_bT8;YkO&9O_#lE5-;v+F-J{Yv4g5;}tq?+u307FMDFX zx^3q&$E`bS2C1Yh&~U{xgz-5X82V;e98mAa={0W!K2z#($2z`Z^3iFwR1^} zyf0_xg>vD2`S87-vX`~oy0f_AV%fr9i{P1`DYu1kE0T6bAiLVBuiYAIn+eV$Yk*eP z3amw9WL+V8N3%E355(0AUwPWu{5WAg`-LZ159DDxWT8KD$$$EH&gO|)lG|?8Y>zk@54OO3Q+|5UJ3lmC=aphA*b;sVb*NwZTAJHB{lV_&lu8Q>Ij_pg*uH}tb* zT+Mg5moYmfIOo4mkBY&cEh7@$ue~>6SBA_a{ryF4$sPFFG6XL;kgI$S`d-GyF5_VI zWzkN>|4H=2@aT}F${01QfibDWj>)hyU_AV+!CP79^R4;(tlI^DTvvr|<`vd#U!Qd4 zHQV*1eW|^N>U3XslEbj|KY`4%2K~X2teHK~#%{jdlgK;hJ$Xg$$>Li%5gz6}6)tO^ zs6&-p`ND_bS%vT{;cxlK`Af=>4WW(8W%@mn)J|D1iGAX=;J4@#WQgCbQ|8c&EMz6t zF1}-w4}X5$diLHodh=8dV=O#Xc&qSKv9r0r`~FRy>Vc082KH%X(ua{75im!IJlYIX?%k z6&J*kKLG#qzZ<}kTN6wHEcu)U4h60Zmb}NLI z_8VfmA-J*$T%#4d$N_CQf|#=SmI`3XTE~JQru;1_gJ=EVO&2ibcQ0bf6EDG(Iq60C zV-KdB;A(CqZ=aa5)Ta+jdCEF`6=6@_gDKB`_PyFY-0uzAmTYE6&ia&n^O!+HKb;R%K15>X4b4pVSxbdDoFl9;e zgB$PZ15=hXCuw{8z?40I4q(c;{{p5w9Zc~4>Hwy!VYhY(rYvK|+D&j^FvEF0ShC>C zUmi~$62Oxw)5*7RB|JF|tg#1A&QSv|!IR$xPj-@i0Z*o^9z0prFyb#O2R!*L@Lj=@ z<$MBJ1I6M$M=<4XQy-Wz>(SnrayNQGq7UhZmIYIu{XMn7z>^czTmwr^G8wqCfhBhY zu;gTDs@trw_o6immMoa^qu|TJ7uvvw+dD49lg-YHcyd3j^NE|mlgVe`$$UQso_zi? zJo#JzPd*05CU}M5!auW`y&ql;rVQUPFlG8fFlE7$M+EWY3s^GWeLL8-*#V}^zM0sw zwh5N}2jl;1?Z%wigC!4jJ8lYK$#p?2xdr+aEIAjsu?I_DYi7MK{fFE&gL&!OU>-JT z2(0b(8DLwL%Zi(ZgCnPb_hubwElX$Y@Kpnre7tPZkz-}zA8X2y6J@O5iEAyZ1h-2i zu7EuVJ7;t_qyrcdCmOS(lEIFOB)4-26QSK<}F*%4OhyHO(lLZ`Eu;VFZ zC(0(FZ<~ca?LOWWx@=oh$R8V;Jfb@$bs&9m+3~XKUhg)$M>PrlDVTAq;K}r@;K@DT zbA1p`PA8Ax$!Ua!E-Lv1PfqcIukybyJbADS*+kO%z>}jS4P5rrytIdeuZwM@U@iux z44=Caru@O$^R@fonLU_tZyp-Jlt+Cbrd)C`fGMA&teL#iFY_5=`FWV~MDj_y1yerG zb5i$a>Mn7=rB7sDk-4M?QC!H3o90RHDjzAWJzmo?$^&hj_h_wk>5w-$bA8kky%3O^KP4)dC| zmQ{9mX-MnQGQkBcAuX$fowrOFtjJ zul&K;D#{yWj`D7bX<2pnTIJie`)HY9kDCX#tde&;&bvlwX4{r}La?+=ku9sNn#I<@ zyTztxb6CqN#==H_tvbNF8!REVC-RP#c`O#&_R6EiH{a+yS~ff+#AXSx*tT8OvT84N ze%#)&szF8Aw!G3(=AkbNRJg4{g|XhX8vI~?Wm3~#XHwI?-APSjz#;z$-3cA7J=(oM zXsG;Nb%*Q&6k>xQa+AcP- z{%&ktxfhx`EjT7LbqCm42Y6no(tOLo(2~KF?f^$C1Oq&S{aXh2*MbY~hDL6OzLemD z{2wXt;DX=f|B4pnOP71_KgC+Q1DiRSqt;W#Xo&~+dm#2^-E3;PafDGG=jf8}C)qda zihS=;#&DxN&G$q8&)Ti|#*%jq`nSj)a&-_n{+me zec|MLZs8p4&x#%!6nm@w*TnzP<0)fU_O1F`55#ov4({mT<`gIHE>o0<(oynfXI|TO%^-WFqmYyL0IX~|-xZ71myxI3=_5wY9agP4i z`04rsJQKhSLwyqxa&(MJjQrckFYVD5I`uoV=jr}xi|_f^#rk8h)Ah6QbM!@vXX=M| z_T5Eu^yyk&lr_$!ckoQr!g+cF^E?S`Ph|AUwQ^tQ&<^g!l%J>EP1LpiFH}8I(XP@DjhU`Upl{sI}sJc_X)3Zx| ze@k@#y`)X6d0c;qaNnXy`q=7%s2!A5h)4enyV33XNkW(B2|XG8hCFzzfmdRGFT6NF7ZzWD2X7A03F8_9 zb}1MqYf0m5z$M_Ain!b`HER=lS2-rD8^55P|79Iub1)yxMXtN{`{fVbgg?j_bBs51 zQ{YRM;rkD6VSVF|Sf|LmXgH-mphnf_+*&xriLl@*1A+H9`Bl|_cO zteOljO@o()n_5_&2~UVav#op8246Nx+|$^xGAYA zZBJ5DYE@FxI&57<2PJ@Unr#h&aUz$tBEKrWdy#JqJJ`nV1;>f2hiA5#UCmnvH-T~1 zk*6Mv)5Tn}jX2p4KAYrf-UZH?2F_W}e0ECYDdc8(7P)U`QN)4x$vkraOtlpmw@8J~ z#O5MH?2V6MZ+w98#KCm0V4ss!$jpsAXNuSp-$4BFgTuXAt)c_+ZZOmry{a=G8Z85te@oXE%u+vR?Z?bsKxc5JLiHirJ@y^E~%9{l|s zc=;Lla%kx8uV0J2d<>q(d1o=dCESHy&uYRM@Y59d#3(|mspZBOp*cT1Yc-+lcL>%g zJj+EWyv$B`f;8oMobTXqU2K%a*0&CN-2aEkOS5hyPI0M z_HfMz3FjHcm;YkJYm+!jxXr0anKmv{ObX?JgRhFTQI;K@yU72b9PDOa0T&&Oe4@qt z2jyUIyB=(Gw3BiM{|Dt@r#l;bG-EEb5GUnW-S-!l&_5;gPf3$C#2W0M5~F{@iJNAz z+R)3QZ^AG35B9y0=--XXgJyzbbs#ui4TSp`8yPE+=_(n+WY$RH8-OcDqkr?T2gXlh zXDe%0zE>Z5kOofrvX}Mj71knu|HhTqA|0fCDV%ighzmIB-}#20K}M7BY7uf~Z+uP= zyxw@8f!CQwemT4j`K)zdFTAe5sk!blyzb@8@VYwix+=lz27=ddZd@C@-N5UrgLvI1 zUjnb|XEJm@TSuD$c%99JPjIbIyzYU^^gny>x+-w!3wYfptfMc->(KM+!RsDC2edD| z?hYw~XZ_#-7x21%0qjEX_Rq!ZMuXRpw@eB~aw`h%l*S*?<*X2ER0k1QBsRZyk z@MmnvJ-7ks%BE0UP;B~b1a=gy} zIe49tv@76s$%5rw0k5n4SMa)f@ZG_>_)0pUg4bCexB^}$WA?v|*HNaEdHsI{ucNI0 z7_WPtHulm1y@1z2%YxTkeJ@xVSe=2{jSFCP25x6IUDN?B@1+9@<}a9?pKn)iJK+s& z4+W z{m-FpKR9AJ`kyU9%&smefY~{Q2QWM2o&{~tm+T!)XWyz#`V!1c^gm~S-HHCEV8E_r zOPeNx+f4#nGatz>n*wf!4+2}rktJo8BiKj?#&D!4fH9C>#e9_23p-0K9?^6Xd=cNv z7jU~%=Ajuyh7PFJ-H5CLE@(>ytJ?@}Cq7js1#!FmM;e;;9@*5i=g7vUkg_FZ=CXn^ zQ(1l)`a!n+#ao;99ogI@zH!8Vjig)33d{2O?_w@=A#gWH|23E*~z zsQV?j9dpX^V7}hCozT!4cvO3unv2|ruORdM9PqmW_{1`>mSxCh$D#QY)&YW7d%*5C zqo;NJ4M(R7tVLvkEz0CQ4wg5?6zXN&?{%@JnrsU3y6|=30Hb>wY@h?&O>{MrG_%_Q zK38YNTN*vc(z!t_uY>iz{0Eoed<5{6EVH4T&;fS0MD8gg6+0z6c1neEPyVI&;wj?4 zNi7+x)RNNS+_xilPvd%kyc-R9d~2!5;;bK6I6V!e`N-z`Njo6+PRQmiTdhPfs7aJQ_vYNXB8goH! zI^mu>u9`oJeG1{P!)b3jv{nGEt%Jw5ci_wHU2tRQjlBeKBsBLZVFPq_6aLa}H4QW9 z?U*^FaTD~k&G^nVUj@2yTfz1USlhL84)18_WJ`tSTS@$Ou)b5oui-q!Dnid*%@;!Y z{btR#kNee}Z76j09dNEPbDlYWT(w;>7h^)1xt>bM1Z$FNv^{K5s`X1tI0;MdqU zi~1Y_FMAejuQl7L*MJ9lC5^T{1aA1kmgsTMZi!y8nmVFO>ARnLzHp0u&a>aN&$%7k z&XX_&d@4sDxOhHTo349|a{Ku<^R13uv`Bw|`bz&wc^ml7*BIrH{>_v*6~Qt`$4%3p zxFu!ITChbg*rEljZ4_8oAU)JqtV+k0s?yTxniopbz}#XPUn7nFn%xjRE~==JuZHV?#OoNF3R5ucJ>ySU*RIBo==%4Jv&OT zjbEf&iND$NY^l)KYU(3xUPGPY5*F%(yys^L)Af0#{8AHT6vLBFktdZtYJe}rCQPFJ z(AYO*EG<53%_iMUz7)zoO&JZee?~*}ia#x$qi_F4tp2-%Ir@6u_ZYM|iF~Q#n?aqU z7fsQ(!21fhUk={4mv#x>=;9qW6CQvc?k8@I>F%*E%KU-nm--p{Zy)t&r>)mAUfWkU zmLBK-^;@II$#^|vy1R5;&92gqDK|+KjD4-v1;al zcqje&Lh1CH|1t2C65f%rx>>hTzlV5FH)R-k!5j18<@-I)=#HB0`U!B-Sjrv2SiVa? zRTyQPeKL3KW&dWg=Se-erb!Q>e$l)eJT{OAoY4W6lV{8YkL#5N4O)Da_^LDhGZvNL zipRhjjWVT<)(x{N1Z%XaS?%bf=cxYf6mTrT8E=A@MT0Z;SJB>RbF}wFeNNfCU=+s) z1#diFd0UwaeX#b*90O-O)p}dmOYr6Z&S-LPY;@(X^TPQeV2son!oY5S_8QU)4j3(PE!5NXITamdHeBF^N8RB>HP3&k4?`p)XTs;EXB*+r{QO z^42q#ERFbWd<{Mh{mA4et^I8H>;q?18TNZs!tR51?@2%<+E(YaE$3_5#+(|GuzB6S9n%d0{&1&KU;Q zXm+Q7Q61wFyiw!>FZ8yV|AIA|3G+ilUbon?h)0h+CLipooxaNNg*6s}HJS{p(d5nu z;*9MuyV8N?aegIHsre@cx05v;KotWo^?xsb;$^iMCW(axCc;cDj+Y*?^HDMPSE z>EpaUu*OQk8d(#!vhL=a_4!#xi%w?5YOuyDte^fc;mYf$S4sO)SfhF51*}oldQT%i z_F#>`iEI`5BVpkGaR*{4-}r?zIH`F?%oiWB!-UkNgC^y=A&=d z_xX|N@;z{=ZFukVW$vDM5g+`x#~(B2S{nYC@yjg!`^6u#Q~WVM9rVYXL)>cC`Lyej z^CPPrhK^tg`WS^$F85#BAM+=U|CRG2r&k#m;su{yH*GgC#HTKIIp&~0X6kF$1y_RAeByZFJhrHECL{K^&FvrKe|a(E zg8pB7lC#-CxlZ)QSi{b3=NuO~N5#Y%EmHh3=Quuf;LB@1mxA*yxy?ia_rk$_dgKhx$l+ApvHZTW&%elPIiC)w)5e%sqD( zG*!Uc)A>I#B+TZ-Kc-a+wWV`eIsdEpPbp2Z?kvJDW*d3z_Y^c)38#Q7B$Ia!`+SU% zPxzVm)f8L6BK#xDxdr|wdz~4%m^xCI2dF~@?@nJaPm(v4^fXVNZt~>n2e>!$+SIt~2Z_cd&>2HoW%$HZQB$Czj_$Cq`tlNrbWw zj9+9!PLp;Q(4P&2V(%jT-a;SX>v^p7r}S|$b*d+>hAWT%lex_FS&C-~>x}~1C}G}( zesJ<%5pS0?=?iJM^Z{3^M|G(h)%7wMm7Ez`PTkJ3U%ZEQouPeGY0qiuf0p(ggddf& z*IiM(w5gsepDSFkpN_xh8OU)CLc3Bn2mYf|Dir&Vp#v+IjmmV5pYp~=!mIHq+XhZ0 zd(rrf4wjYQ)L5KPS@}(2$Rbjf=#WWSE=}2zDT{uJ38SnBmf3@4*)v~(pS2}J@07J0 zT{Q9eRzVs6dRZfbWsS^S&RHOB*Ps_qn-8*v3bgUdly$LQk*w9)9Km{FTl1gPYX|$s zZ8rt#bpRWix4~Xye59S*f_)}_yQR+z-`#{M^qC6wnUy}fzgM4$Kd+Oy_}ZqOm5f~- zR{>WFV2qk3J^Ijru4U<&iZR63T&D0k_7;t`n4fuzcl-RzV;!6~ zQYUH5o5Jg7#NlIx`>GM}C_?e;CVI!L#pW`HJa`nIDE;lYS3Q!!zQ!v<@wL4Gf5lns zY0`f#*0wpCX877pQYPcf7W`5U<(#y#iRFS6&GPCuYmz`8XQ-lU1G(7a?Y z$CL6+tA6elcpSccjdN24mqoT&Fop4v{yW7xWWR4saZ%>d;`GcUzO~udvDLTOy;Jy( zN6_a<(B%mFd_CXNmX>s{lW+33M!e?!E%Bn8A^N&bzOOC8_$|ao5^vCf*r8$XTT`5u zxun>hIh*fD=)@_uWxTJZIG1?JhwmEshh3Wg752M~{K=Q*k0jp6pLS_}(akXOkGwSh zdiKMN{9`W7{|euZk^h=Y^G6bI&?Xq%aEOVWG^|30R8--r*iO_gKVxN^GwB8xyE;0XR>m3tL8mUKU_`xM)0en zVOodGoncytx8u1D@g>M-Nmf(GHWPMp+`k0vcF$6G)N9PC*!*t`3-jVTrXyc`g<#t+ zzGbR7i(1a975^bQ%39)JZ@q#2qjFQY;aj8u-Cq108RtvUh74DN8gIYEH#&PXoJZ`8 zSL2Tt1ojB`&}RYP=fj&eE*smF3tv0Ff;9Mt@RgpleEgzU#^V=#rK9sW-=^@GK-$Qr zeEgzIAGq+{D`!NxI4|n7L(N4d$Z&E$>ORZ-iF~i(i(vHfVe_X$vrhVD8hfwkb$eO3 zdZqp1mmnRvOY|4g`Hn^Ia3DXJ@QwbC_#hxOS0V@RRzCFC8+TVIUrUSfi5~!Mvvu4= zEyArfTUTJ0=z~xAQd{z)?D$PL5vrC#eJ}e}yVwA?0kLjzNtLu7|1Hb93oJefGFSHBZ(^olXf6=QP_)uTvyz*$T za^OjQm9yiKUgf}_`YLDr!@bIZSM^oS@}FNUrw+a)Yi8_`dyQ#o)9jyhFEB9{V*6GJ z59{$oub3n9?oMfvHIDe3e;zwk`3_v{Kg!uU`9Xj4!Ur$+Z7A;%`zk4;=lShCKN))e zFP;x2v>Uedta;!k8hFJK>_YPh#TMo_{FgoIzIf)u>jQi6aZ~VVs8!4x4<@ux$|aOJ z^cq5q^_0jIGS^iw|Ku|N*hQ|PJ|fF}o4Wm!e1aFi?F~Qk`>Bt-Q_edc^L=zTdhzid zKl91FySGn6!JvA60sXcyUrxVmF}iI(?4{pkGdKG$({GE&q=vox8~V|2+avmIKNS78 zNMGAxXHdUwY``9MzGj>y7K=UVK=1*_=h>q^AJlK_Zw~0U?J_m*!48!%yTrHQ=_}~A z9s24;?8-kM-I>dE+itn2+jja2x^2IfGI-VxrgcHL?fHLEx2=B`=Rdjn)@_se^r73f z>Av%|^}TFS8@IeyyOH}%y=_s|jTdy=5}yy~wr%CP9^JN6;@>bU-0*L>2-&N*f5X%B zorZtIuYn7RE$Xf49gPOR6Fbx)&|f(8cE*;4Zd-z3iz?^reVP=|ZFBHn>{BH!m+$dB z@n59dHWK}x6SVbm-8KjDd#+%Mn)^ArZ55xR+t$kbyQh~es_1a<$7iAkJJoXZg>#Yd ziqRP{nYEcAoY$Eneht~%Z(u&z%35R@ve<#QRCF%B3{A{=Vu!jLJVAULN*gS~7tj+) zL2hu;Z(@UbfP0DS%NBJHGOnGg$G2e;b6ElU2g$r=pUG@>$4Ei?Q&2!IknR!-dJS*tiFq!%b{#G8eMYYy+7`_d~9#zBc ztxr2tcwL`*ZP2k`m}i^8*}ehZINEI3pBnmYPnry!HbcK{1m7z*r}v1D!&FoAPHbTP z;^VMf>&&LDhHl$9b8{=ap>2e#x&293b250I_&7x0trI@dsaUhMdbLhjr}-b$@FT}L zWz|~em~!6DGn*L$`KAnAH(S=Fx^BCIx^A}wb=|;Le~uo;Z0NKVJ|yz7jAM_k+gE$( zx<#`l9FU@3>mQChlY;Lh^MFPN`<`t>wa%Du_1fRf{TnaQb6a((o|`{4Xq(D;OQJ(! z=((l3F6y~S-(IHYX1`p|?O=Z91wFTeOEN773o{Kpw}VBQVxJm9`oF5@7J8YUTXioz zx5B>k+=`cEnwfh|%&~pyxsh%uF3ijaAMDX{O9|?^$#>=yJvaKcx1O7Zo|~lEnNzD7 zwm+OQ9M=6Etl_7# z-WI*M<8r>9In+B1{jD&@u%hDVtTuE9@ImG~V-Dyo$vQ&x%^Y>uvR0CgzKHy9A@4@k z0}aUjbz=03c^I!?;BHdt4r@_!3)qxfG%o)PG6 zgs5d>Q&mCfZtS#9qQ9ZkvQn|*dXe<0m3dK>QV#d~NuP-xh3L?U-bhyE67=V+D-OtW z*lUeOha!V?OJz}%sw~n)#{zv1bTGE-Dd<&rumRgjx+XRnS(?XK?LNjtTpe_0azJazy@% zLDz1A*tZG>e}FU2c4x}|rw0t70lC|$z;)gmrXPB+tj_s!AQ|L#q@9b?e56+lu#m?}()h7?Scc$R{*@Xs@1Tr#%#j)F z>1K4IGnj@A>v-14SF=WL#ir|i=HIm4non$U$FMG5!~G=ED@-jnraH05W!_E&C##Wo zo>_tX(S{wENAAgQ<^HNzlVJ}ldKT*?UY^S~>0?Rr8s%xeF#dBUW~11{PNBR3!|L?4 zq}?4GrQg7PX?B$U4D0m}@+HQFp-WcuSXyj<-JacF-@!NAe_@zDfwULn2I#^U#P8qz zv59&e^?NKkQNND7vxxf%^`5j_^CeyNxc(INQN%sL_nu3>w1orpO%BahP2A=R&38ZP zqLcV$Y=j<3_$aWwn7l`?$z&CWI(I)KP**pOO%$KvA*JK-e@lMK7y zJ=6i6B;U6dU!_;0zve+VZF77ye*Gf!BKql@al`Zhyw7+(E6it!i`A>+6ZEGRMeC#D z2I}j0W!y z$NLV%TJ$vXn~e5``D#riW7nEWN{#wghxyVHqV;D?#baMcNW{Z}K{VlLl0DoTk z*jrnyE3R1_4R0qNd*(vyndP~Sv_<;yuavi(vKyEq4v@#ibCNFe&3elIIeLM!80*=L z^+r>1>F=rY!<1W6U8Z|@CY$T7>hDJVn)3FLwvzV^m3Gp%JL2N?ThRBLho0VGY3JTB zpMi%N|E<0m=odyAePZ@KOWncScrMIm)s~J$SJ>$153BQ|#GYDoGUc1`o5Ot1qDL6; zhiUfxqxw!gK3Mh+`k=p&$L9M1{~tw|Yua#9TUr`O3-`T1{Lh*DjBktnmO1o1 zcF}=!t1ouVPO)oVVT=uRKEL|c`ny{G*nGzHk;G^8H>uCN)aRbc??iov`4RsUE51$N zR-^OjL8tRgbQ_n`&l~8cKa=-2yemLsR%Em9jkT-ql@5uI(U(--qwk{MWZZ@X+undp zYILxF_VR3u(H`_4siRRJbGR?9vcRy9_fz+;Kpz8)JpFuk&{m`GtHXSM;Mr)>7Mt9q zf%Gun!OFX$#I9bx#e1kDcIPXsHO>0MniurD8E+$v_ReDr@8aGKUECTRKQFYEM0XoHc4zR{nnmgu6>`n#%SQKKlUeDyB<4e}OIzjtf4>8Ba*1=TB~R?^;1(mkI4 zMtAiI{XyD{{rrlDptr-6xstluJ-nk|Mef>&wJJ!^gy zh_9xfRyPFve^!V1TIg4y=>V^@NFBx@lhdF5e0gg&>27SDmFETBBDVJEV2j?Yk-j&? zmshh<_k?3}kDhEGE@+F-SSZO)|5bz|*BbvVJ_ow8@;{j{b$9oIv*svpl3^J~RU~J{ z#$|kfjL>Nw+Sr9Juk*+dADd$vKQhN46AWnduXJ|4Z?-l5{VpdmgtPNQFMve9~&{9$a7%Ra#P0!TULx`K>vbOYX?Y zEX)hO<5xMEQht7YPG-rqf%nN;beTOM1Ijy#ksakdOT!!!0%ePCU%;+k$`-qds>*;( zf54uU_h|`BkgH3{vm-3hwq8ZfJb?`KKhU+vl{-k^Vh#0f zCeJD4wp!xF_F@+K4~IqBN>$X%!{j+k`X*}>_Wt;RCv9C=gl(3Jn7NL$D&tvGx`XsVq)oFb@70skf+KwEign@XYA60p6|!XijMu?5G>7tqBY(XH zJ~z$Oa^oxD!FECuvX|(~{F*#3BZoGVKF{28<5Q$tr{|4bO`7OtBoin4F)=*zB>6-i z#~fn4?dOD|({YS^qBrv@q3G7!O*yIPZH(i&JoH|s5{h2TkBJwZkJ~9#tNHd1lRk}b2H`RCopj)XmUhU#&nV(VZ)XSL?}(d9dKIDcgF?sT z$&lF6jl?Y>u7L79o)xU!iuB3EXAoy6kLcvop{o*3+&*-4L{G=%DZyqcPtQj;Cz&+O zBR&p94@i6*#I8{2^oXvC;(x%$f!)wMPGS8whI0s_%teoNoBFwTB%_nV8l~+)XXjzs z^>e0p+$T~>mA4!iUUt5^XdzL&oQ`8;r*GgVfhl?`uReIt&%I?sjz3=f%xfa)P zCM?1`TZ_zasi+KjKl^wcE)^L*i*lsg6q70Z40V}kj_8QMCpzCoxRhN*z2vzKT4V`$ zf;WrrpitT|LM>Rwvo2_}EzCqaO&xxoZ9E-4$d`CPFLgIk*+s7%(g@B5H+A& z8{l^Pe*Ez0;p`{y{Y(INeNDxApW^x3@QjQ14luQt|{vL?KS{GxyLD*Zo|c)vNiQPzf{$CiO@RDa^a2(R6ve9>H!i7&w3 zC53Wz@@af)FLN)li-S&-QOTiS0-v^R}P0>uSQel)W9S zW31}uEkwSGQc>QQ@QEYoChl9Q@2Hx3{axyL!1F|D6!{;odA#%*-sSStmChsdcs7;3 z%R5De+)aLw3l5WCw`2=`Be^tJ5yA0TYt@<`uvSsAOAvSm$`TpPKBUX~IHy=bclFVIWB z%jjiPCfJv+LJPBr4fq++{{+Ww1uv%zA2uY0KKi<8#9smDyl(83an3QMeJTA5^Oy_z z=z=>5u3`mydI>B^_WeUtsCUL>yH{|iaQM04P=ZTs27lV5LJw^Oe`+A_F7zC#nEMOC zp6dO~_q4yDxEPEIJuNP~vT&Jgb}%T>O)dDid*}(~;oq@Gd6xN&y$G*-M=89AHO=cg z-oNjSCFnF2BxCz|6Xh}Y6*-V??8r7Pf=7kemi#DyM~TlO_(z9eQH2%A9rzw{M3w#_EER*x;ww% z5#-D}u~WGG%)8bNvInjL=iPB$h5vRHIPVU;NA}ac{atnGe((zRgIB2WZKV4*h`#?2 zp9WU$&l=&&!VhsI?{#oL9zVndV*);k?Zgk|eveD}euj@?_Jo@KoMAp#>=|y*n(H|4 zPW zq8o2gDX+ov(Pvkk+m;9Xoz$V1zRRR_+|2&JlyN;})bp&3y4%U0OkR981op_#!;-x< z=IjL(_;OHc=%xONZ@|WkyqEhs2}7^zS;}PZ_bEBouFjS6+J8?vCwsq7vG;4(;@1=B zsz|!9_q*ZgbG4Fh$E<4vw(j55B5}ziX%g(ivw0iWQ#0PN=mxXnb=vm0Qc9ZZyEcKFo-}Wy!*KRs< zMR9(>r%4|Ba-Lr2+C5Gi#HUF${lyy7@Ifqlzaq=_weOq4o^M{Sec#?^+HIw*N$lxL zSx&}cwJC6>ozzp#vy*e}-iCI1d=S^*o1)xgLj1e*Ogr&G{1DHgt8WuJ7M~`AxGMNR zfqmbJ!F}InU%JkF53;3`JztG6OhPYAK_B1!zINeEyL@S1FMlRULH!s%v})L{OjQdU zwEH{I^TCDc*6*1H&5VLxlA)t8XKteG_eOAECwsjQs?LYm_YLR%QQ9bbzO8)sqBF3U zOZIzZpSSggd`s;0%HD75gY2Ejes8Vn95aURhJ2f49msdmc3r?1@hZ->n_!Extx|C_ z+lM-vCzRu3ZH=RI0zBcah&b-sGikIYYW5tqLzqf7i4=O82RMxKy;h%@*NUwbI!kks>S^ycx4Vw;5i zS~cS@^~mEt?~j>{KjF#v8=i!};XP%`yRueoZ`xb7q|5oo`lfwlghc}aTxagO)(&uUHi`x*s0j9EB0Ani){u3CoTYSza2MyJy{tuKyi>a&{-_pF zGKR5`yncLTMNPTd8x;}deFs@|gNo{qGnh8;oIEe*FCG4h8n4s;^^t0>{a$T8yeHtUR^-22Xq>Yq&$`|$F#b!J&$lmUt{v4P-K?Q(e!jh){u7z2fH|pzN#XRG#s>tbDt#XX<;>@p4FVaYnK_hJ?sa><*4V?KU{yf_8C9w-0 zVP|~OphG+52g=kaGq3B5%FDN?PhUC1nuq=qU193va~Wmib?s&iv9CD4D}_3x2kSJv zk2;~-{^`v@dRhB+_W~znwI5FL?ta#`v1|$rHR*B9G@QGyJ+Bw4$n)(C()M+NrDanpcr(_f*4$oMUczed}iPuJCbsgZFY8ZJ(Vsu79Vo^m>*OH3F zuG>{omz*IsI#|~X{0__a3^w`tG3uMj_bhcUVc${e-p<~ee2+6u-}6Q)^|ymZj3D$> zi0{QkT@8d%7m=BlQuise<0SQ#`lnXh+LfYi?OHm_ku)XNk(5@EO?|VwQfXfb?Kw8G zkTcJgBv$iXZltc&)UQe*8*Q$kG z?eLF1R!7nZ`Z1lpx_#vBiF0Xpzl^1c>Ga7O+P<20%Q+V==0_Lj@N^&(3ZLE0rJzB< z;Dm=?{bu)qeZ}fK-znz=x}+?VX|dJnWDl+oBC(8XevBO*-A#6 zIX7;QT7XWMFSWm%OKI+CCvQ3R@e}5PgH#MugU(v{*~+LdZ8NVL0`cNH-XDq>QS33|#MrfzkT&u-04bQULfwIR0; zFb|lCoE438-MMCH9=vnD>;oNUZ=HR~#u@CV;{(>aj!VwX+(CFA+%k**f5bNOJ^H&p zIt(%J>+{HPCR2ZJ4F15P;qm=dKd+Orj%q{Q!@(cg$a@p}_H$H!ul>y>x`nt9_@^Hn zAX-I|-|UriX&2av&;FMsrDn+kZ4w--8zVCAm1atDY-mS#Fo~PcC6K_jYTc(N|8(q@?7LxrvJJO<9*Ew$LYjWRF(l z9KHdcAK7K1;!K}ki)~TSW17hJmz~2pH6!&QBh3->nKTD!UuwO+H|@fDeG=c?66&xU zxxGEg>}CBuvye5soAo>T7{<9iGIt!0g05Bcp?od+knm*TC28;yncGvCM~0W>ciHL7 zi*rU$uE6fD9Qw{#c2Z|1NCF!ZGJCkX<##PwIS+#R}y;nI>UOP-VpP>up62~Xq&+MiS zM`*v)^Ssfgm#(*!@wdh6eOB=gKW9L0ib^53)x^4lVZvISP?{#FL zugCcwPjhT*L@qYY_>FZm@7u~5zqdOkfERWCHkLDfZ&wozrm1ZqjD?i_1EU`YHr8i% z)+RX|ceD)Qoc6sM_2H}t(&@(mzsc{c?Pqp0hxTL54zGr1U*B5J|9kN1%)9};aE6f6 z1`o&Qo;EO)t8JyD`5bg2y6uJ@-WW9i-ZVgDH|FJeC*M%bC;p(C!;f@QkHL+V!T0-- z#nI(7bmHaR8+dmsWicPzS%>^CHZygxgy0gKNwz?2?COx`#kQ`3`w#Jz)zdG@@f8DF zDce;s&RAb>exhPt_jUB;4XShhlL6a*o%U0w*THND)rZn=DfmFc-&L~U6Vx${zDx$U z@Ke`hbmIMgCX8@2A6p4NaMbwU>Bn|4Ioi?bzlU%TVL4$eA$}B+hY^B7wBzfcjrEbN zrMg)YwJ7zB!Y6(|)N3XEl%xiBIIu^{AAGL1 z70mqe-r0g(ANHQj-M8?Ltl&H6@P8)P)WADMM~rcwm%}@SwyJrj*k&5`4sg&NnKA+=i}79 zeZK1S)1Ef;l3UUD>@MJ1dU1R;`d-?hb(!wp$oN(S$M+0#T&0XJZMuAXZjhu^D}aqb!8(}T{{o+F>o znv8=*(y2eVlQABxr1u_=CtM#JWzC!r(2M;$?-G6|&)?2_J`CQUBm9u~Ho_jBNnL#K zP2rhO3C|RMX|IU)1)d+=C_Gg7r|`^KjC(ihc?Y~h_-5s0d^3x8!8ZfvqUTQN;SWD* zG57;>ltOnEzPUBXHyhxao@XoOaVC1_et4$v%jRDO_@yh@KR4eJ;Fpd*_~o5>m-5Rx zrLI2-zdQlIJc-PGfa@ZE9P+vRanD=AABQwf2)^$ke;i`)=397I4?p-<_~SG#Cxl0t;blGiQSo2+qrumn>Sypr{{P5RG1lOZ{D0Nsi1`eEyd$%-c5tvf z;g8F?5Aw&SJSwple;k6&kJjkA{UU$d_wuFuv7Y`u$G6(UA9qT6FaG%R%f_RS@i5wv z`C0xrlK1rHkK$9w;E!3B*N!odof@Y;6}{tsA{z>C{2<6HJKg4O!XrE3jhxktY#HzC z@jvy+O3OC*Wrl(;{~Q_f!vfBsGI-_S#%`I1nalpMq8G0W$e2H3uOi4Rk)>KvKPzLt z*td-N?H$51nO7)N+R3~=V9sLrCi2Z$y-wg0kf2vy0wbvAsJBJy0lXE)}h0(zl zITZXmh5zuP0oX5OoZ#AdRCuEyqt1J}gmTod4rzM}_Wj5i7i6r<=iuB#)~3itB7aF* z3bIj;{3ZJuxx>|hT;z`OMAcay9*|SYhwy&@SCs0UO?rOHrE-eomvyGdDbhaw)5s+z z)w~Yb$p2hGraOzADs4u$tnrN-I%})4kVUH5Yu?M+j(sr~>+Jk0*35(}_u$V(?p4K& zPOe;2#f^g7Tt^?g!aRqbneVH~b@M)A48P{6n|FRwKnBbMufLtX@FSzhUXAq6t^ulf z*AUhGakXk*CTWawt3juOMP9^zU|hyg@*E}4Cy%IR_Pv|CLsj#uUEQ@S!2^=a1Kk<2 z4^E$cZoh$nNLxjI6gkL{DOd2{9gvAcrew`v$dpMznX-~KMGiQXA>WldIv-{JmT?rB z@|6M54|Ar-cZ#+9&m5QXuTFQ?wog`0+V;=U_&Oiw__P~6!xnSSThiv`H$x9Ct~*-6 zKrg4OAqAgLSLwaz>R>OrQbJemAYHK@{|sFX2=-4f?Q*(uK=VQ;(l6@=LPPOarlD5o zN9agsF7Glrx?1WHq@%I-d{o<7;ONYacQofgtMt|NoR!|38?T!ED;%Az)HjbZa-rYL z>1UBWKtGF}m(q{-bLhwOCFsX-IsHKQOQ|noJv0~kYK5Ns&r?@?8^|}=w#(6s7lG!> z<>7-p`Js;s`O~kQKf~bX!y5158~Z$Ze4-<;pPq+YBQ#Q-s(e+@pRx9Py4Tw8x!~IG z`QX|Q+UD#*SqFCdk@bzWA2e>P{h)Va?Z=wRSo`rUw6msaleJYf*P4rK1Jf1OelPQ# z*kx@%doS;conX8&_E!3Fd2rrx(#|)H_+gFR)OF`qI&1%1?t?tY-|N57Qz_5&$k9J2 zg*W&5#&%5%%t^O>B`_!X8MBY?{-{>)4|%3%PLg=}R?UZ)6vn|3SV$Ri`A+N~s z!n;Lwl=C&)(Ykz@@`LjPZ_64+m)#9 z_^^O;=2<1e2JP6)JawEpdi;irf9bsC__}ZH7{|8z)12GZUxQu( z=ZLHx=GwNd*s-ecm5O;gu2IcT6suK@W7M|C)3j|{hMBhQ+#Z;}CR6q?*21aqS?0** z;qcw|#e838&Bt1{Suh58TytAHXA`VY&DFH$c$R9eVXfz3oq24cYCbnYb$&oSkAF=y z-~CBWy{+0Bf@`& zX0twrX21RgH2Vwc=fQThhi0qzU(FR*mx`=)&6R2PaNjiBKS;AbqwN1pnvI8-|KFzB zSEB##)9h2c^GY;(^7@N3dyM~IhGv^zyp(2tDs6){Etk=3MlYIuLZ0bGvk&mhXK7Zw zCj9lodo11HH&{zTv<7pmvvOpj*;QkX64& znHx;9h5$Fa$GNQ=SyW`GbJfg+L3%{*5*(E?Lsa0rbkFbL*YNTWhN{k$jna;Rja}b9 zU)$d6JN*au(!Q6+r#;kdw!9|#XBq5ciT;_`;D}z@I_|BG+(cQ!?BKtwQv}a31?LPo zpWz(sX=QGfwTsLhvc7p|s`|9#+y}Lv1b9M5%fNr!kPALNc*cg;znAK0j<+VwSLmJn zI{i-%3pUO9-2?6#L45L`;&YKB)d2O3yrZ=Mn;+hB3uQ^)WwBpFzcg2-IGU@{9nAwN z=jrq}9+tAC9Qtp7oiqOiCchD1jtqAlI#Hq%c4VM>CYLqD3G711=Tqz{?uPHB< zsg6A@IZe)TE#bPCO$ko={K4>l-0<@#N9TOrmydkyy7#^Z+gN|$SG+OC7-Q8a{(#%& z1o-=}A9}AgpZ2wyha%4p$vFDT2elQ9Sw6CJUVlgDuD3p@Ek{31)&<)Js#|{o#`$&T zg+W@y>#?D%bIgOhL*3tL8p3=e?U%CZEb5t_^5&NhO?Zhi>nIanAgl=nX1sxp-h{o^ zc^{{2*;D3y*E$APHmlxo}m+c!zt()y3jYAy1YkD ze`hK(x;Y@DZ=|fcs+@n+Lx&%J+Fg4Z+L5+NogRHNP#0P6`c3RhrAb?^{KCeez!Dr?uz3 zvd&qlI!BV{ZQffGd~ZX`SA9};?{~{P1aI8JyLV8JwAU-SkU(2n{g;HW1j8a~ z+i(S$kbvlbWducyEdc~HN<}LzxtGX5kh)jITHD)RlduHA1+CW7s`>xkZ@z(#5h!iN z+k0=5=R9Y=bIyCVcRBBQ&(;ckePcoyp46i)ozb1;2O()bxI|< zR=E61IbU~CN0BYc@L2;mV8za!NFO+`xr-cQPe@}rbUKVZX0mt1&3?x`_LXEVves?W zZ2p&{iu~i4XBNqv9XoA6B^M86-F?_?+N9*s!~C(>aHqnXHr7fWXPrAcGq$dOvQ~E| zYuVe9dE*Se-=o?68)sMK-2U|XlB0bBB?TU}V9aN`Z(`jwchARbN(!!B-z(ozf75hj znfMIp`dI64I`s0ok^e^+LijH5xIVafzyj8w&Z3owXXUV751(kuNoNaej%6G>n)&=dWm$DZj z^u39C?j~$Ntjg^hrE)hDm!+xP7pdcT>es&~b_42sknc%+b6;kloVI)jTsducmGBb6 zV_0u4UzCtKgE~#4E{{=uF>XC|DyL3T_Im2FlDbGeXPD|Y@O@{F)G=Hqy*{nZ9K9|F zoH=du5Bt#r(udM-1<1rvlv7AKkCKnHIh<#qDc{IECBG#`yO+@Ba=u4B;mj%A;LIuB z%jlfSUJ|{GW#pMp8B)J=eox1>(jKYj=GE2Q>F2DJ@AZ7w@;%k~p2~Lt z-=k<>5$!3UEgJNcr(!A-*oP%_DeK-&OY(_rQC9!U&{8YsI7*@KB<_=$Dg2MTgNF6- z@>0;UJ%X0|yXqXV1!cMvL+9!>@s!rH_P$Ip;SqOvlHe@j~c( zGqjQoEgv;#xrX;8&d_q4PRr%cY#%c%Cq$=?qpyXQix;0w%MJ8(BrQ*ceuSQ;LQmsN zbhC*%3Qjn~kQ-;va+HaddEfLbTGnY>r{$QlX!$sMlm1>>P5{@DbQf>XauoP)qYvAW zC1>dDi=*YNC!9GM(DHywNXuEYFO&A9)0Pk|$NkgL^8ZS?4E>&#%h2_gDwn}=BrOjx zXj$mslFMc2xOl@Ql*_bFm&>%}Uvjzrrb{lDq2<$Z*+k1T*M8E-`fGe01iihR*ylI`ezz%*RbS zGiPf%->o_q4`Zw=L2tf%^yPlDuJH=Gj#<}`J-Ko&qLnkqduQKpQF`+c(*1Yo&CS#^ ztZT#=x<+DRNIr|s@u4*#Tl8nUJEU_==652v=`Y{t9NjE&y3P^StH=BU`g20-=jC)f z^dS0f6m(~~;f9=X=+A?mKnFdo-*)}Nbm*)AdPjALzBi&n52BrC%IWfj>CsuVGn00u z)26VzUit1BJvz_Q`NYfU(eLScbh55T4?~ZhX6Vr$#bY1F<|Ok&e0^ScDd;@Lq*Du> z_v;-~*Pf)+tziGN(0MF$zIXQQoFnWpKaBs+tW!5rN1^i*yg_iBcL{{1-r@ZL(L;`? zGj!gL9ZKejLg(+Cbmr)EuhV(#S#+NL577DBEuW|J6R(8m{76vfe0ENM=sfWf(Rmbf zZiUX{H#l>I&V`>Z1)WDh=Qilva+=QLD*qYj{C}l9M|OWso};ULsq!4WN9x_Dv=B37h7da>0 zf^B=oqC)QOijIGX^AdeIKf%2vosaOlma}k#7Z+d$->*e+X3kM}H#&V1Hp!#xC0N29 zHQ7fX_VHmBn?Ks)X-vZJR>Ynm?D3PljylD@H0 zIjyzuE*`p&?02(ZE8oiZ)#=z5V>{PfZP*t%KNgtJn&CW)L*6-mRl8xXt`D_wx7ZPE zika9L#jYsh?DOaxS=biE<~R;L!!2pCFBU9{NsrXN3c6`FV94o%f?|h&obi@b6#KE*sVlKHj>ARTs^vRuM>pFZ6Brl7{uqz`|4r%> z$Jilr**7RlY>S7oJULSc|25wYoRbs1|66>E-CXWDDPPn*wUW9_Q&I8Xr!M0u`%Tu^ z!uIkvKeH}){qCilV-D3VT(9ov9br3qxNhM&fQ%D+>AN#}Ny=I6HMccvD>vKa!}$qc zM%u~;LdUv&@d?VHZD-2pVd(h0K};L|5nFi{Z4=v~%w>g+)1ld^QA;a}v6l$e=>>v-B z1MDM@O_tjZ^8QC)2lUEa>AbCB)$^+bzFg14MjlrGXyy>W{fqbhS$Gd#JB#<=#V>{T zpw0909<+POcy9x|2mcLt;u7*6ZA+&O|CGE}7~(xEGN5zBxOa-PJ6&as+Zg+9XY9L& zaclXaBJN;{iGPOit{-xQ`;$6HFV?!qnQ_APv2PY*;AYl+f6CaGEMs4>YFy8F)jlCK z_LW$o^s#Rkes^Q+yQPFTYZ?3GE`sC6*!MbP-#1jZ;w0=|I~e~&o-iJsHU9mA@4JvC zv-L5si#`U5J>WgozGdvw$1~Q~+PHV~uZ?~Af5X_9gk9=Vj(sw|$=D}jo6P%PW)6Oc z`$K<2__qlQ+q{yXEgAb{e3Wrf9}^e#NPUm=G9HGFGVmyC_V7or#D$+-A0-aJb${cq<@)7Yr9pmanK#uyPg6R3{bcWx>}`}ijxt}A{f@oZ6PBesP1(!?yRc_{ zgWQp!;wr~6zG?g}T=JdxGVXl%9(Svivw!jy?K_d@p8vYCUyB1zQD#XZp&S=cIJnPoOQ?`-z>&&=6&%q z8Ly=dckq3`K9|n55O;6py=I)!(!n_uk^9)B%g* zQ=F*OK?Lfl;YPQ?yjcXBPS1N&aq2 zg8xp^Y~~&)$!|Y?C3)RQnY)-{9Ul>wI*a^%$?uuet0!fRxM5&UE-*u|(_crvH}vnB z+KK*6CEqNIzoe0Thj8!8IL#5ie^F|xKX+}(4Ccpm`+Oze#=o9%_fh;$W)IByi_~#( zRBHdlJyYYm#i!b{Qd48e>jCn3fVgGA^k)tqx23LR4}E@wu;^aBQj@61^W-srMw_*%2S;yH>>XPt>8g)fLd2v>a(<|A9Lz0__f4s zVO*7YT zJfZUjJQC&&p?|4IByR}M2!H(V`KM!yC8!b>1M~^YR9H-AI{d zc;gm>H@^2T-uUn2jsFGXhI!1$WsHa%H#EkTv&W5||6|6D6l2`TL0+F3H&V_TH+EiN z+?aCSaUAI4SVr~=O_wU z+Zn}r5O>urcosX7?Ei9OQyPmssSSO42J1j_mt;BTCdRTJr0+uqM)sTASr6LGdXKCP z)u!+!Lf2^4j_j!elr_E&YcR9Xe+!6X{U|<f_vqq-cn!pqWIJd%FUwO znUukO!10n-KEF5NWF1EG+kcKT3o`yld>-*`;+M1EriS&>YWBit^y$gm+wI_zXKEMaEYYa(E;2*UiF>4b=Z0XHXLS#y*~nWNf_1>tHTD&u!Nam?~H)GFJw*gtg&%c~K3xp8J#--xqdtr4(q0ju|mCqak(OSy^n z2{V`bVfop-|JyLEO4MQBHp3EThCLDi`$8Bt7=r!18I~|J?CTM*yTY(OhhFZ>W>~_^ zu)m0a-4=%RbkbpWn_&qv!|sfL{V}i`Wc=`q)M2+9u;DN>>?0AdKMce2&WFgW4Q5!v z%&-qc!1}_l!4T}-W>~_^u>J_x1z}iUo?dQ^8I~|J?4k(RX~2efCP|0A#efZmnPKNf zz)lLo21Bqj%&>%+VZR#zTNH-%CF|vW(+o?P8FoSh>{r6Dp3XY#7&9zkW>`-IY@aZ! z>Y~Hum|+Ps!w!pp?Gc6zhG6@fVF@$Crbocq!?3=tdbz#Ku!NamyF|dAa)kM}n+_Xq zhV^ti3)U6^dpr!QcrzNB{A8Mm_X#tX`_Z(sdH+Adu)z@QJ7!qI%&_#&zVdgs5MZi{{hShY~HD|$UXTh$FfW0XU8w{0OYlbDvT<+os z*z(h`p>n@>7VO#O&WnJZ9ESBp>2;oIh9%5g?$ij_QKw-oI_$U3g0-9ldu;^lm0?)b zQ->XEh9%5gZhi!8-!N=21es zsb*Nh%&=V}VE>#Lme0L)*aS1I>U|b$R0QmaFl;ac`)Qep_X#tX`^U1gdH;7|Sl?xO zx$l}`2{XgCN5H-mhV`WBuy2}S2{XgK5dr&j7*;uT*jLQ3gqdNVi-3JR3>yr=?lHp> zW`_Ou2-x~Ctk0#F`=l9`Ff;6<5wL+UtjDdxZZg9XW`=z*0(NN_R;BB(Yt68PnPFE& zz}_5&4TfNsnPCYt!`>DFJ3S2R%h1dHz8RJ|9wjctwAF#R(=j)@F`&9!r9A<{SA_BH&7}nEQ zhaF&sCCm()837v?hE@G^*xqJX!pyMUB4GcLVAMGnf=x8T5@v>tj(~kT4D0K!m-|_1 zi1$P7?SB^R$E9cU{_n%Eo@^cVJu@s}=5mikz`h)YRReU`7BehiX4v0E!0ryia$mH_ z*aK!*!pyMGN5F0m!}aagB!xCnO zy)gpzn_*ZLvh`J%VF@$CmPNph3Bv|Mu-`Vr5@v=iiGa-s!}>zDzHw$)!pyLR5wQKk zu%3{u?`vjQ!pyM4BVc=lVO7Z1H_!}Am>D)J0yaJj8w|l-W`-rq4BI^d_LKOqyb9UP z9A;SG*>=L12-tVRu%3|JtYfN)_X#tX`=_aA^ZtK@VO7X(cG3(>m>Kr12-shSVS^#q zRx>PNX4v0Gzy`yxzL5RuRWmGMX4n@ZV4n!XdP4TAW-}~dX4qX3up7g$DrCQU$_z`G z8FpI)?3yraFa*2V3`>|9_Qw&hwZL8qyL_jwpKX`F6lDzl+NCe!8zV1$8TWk&?eLF? zXh*a8{Se+{;toc}E#LajiZ|QuP_2+dfc^9LGw|=I_c}~scy{x6|4VuAwXX`a< zelGu&1;u3uE$IGdW>#`}Dg*`CH(ym7XKec5jnd3L_To45UeYh(Yol{*zi zv)(p}JtlGvb3b#^&C1Rjc(MLtRnvDKu9~^?NY#v;Hq91a%RcO7iyU1>&CbXvXaCU> z${fgB1>6a**GKBXzUgFnA7DNEmBwjN{sFux-!g#rF7&s7yEVkphR8QgI!tYs_fF*f zTWPzzbKpkjl=mcd0QWF${|RNSr0sXoc8xZyqD-gesJz2ydv?Esy8fAobfQd~Z3jQZ-@NFyHEZzqxzaMD)MORsN-G%3o#j5~uJQzxyhPb5 z-P|!y7o zUl!r2-{on)W{*;RPG*|xTIGC|-*#{{PD}7h|Mk}r{bheL;TFzL@dFzqj z_dyeFmw{g&XOwl?ww|HwZZ=z89JJlQJ~-E{YWuCL)X831zLNXD?kllSre~4bp3>7- zqWH~Qe5d3b>}+Vjf*)P)$?YE%8z0X)r<@~jV;3m!r3VsN+ssd@en8GMB-%ZV?73^? zOmJgTS5G7Noiujt?P=`p@-+6y^fX?>+vkB^8>M@AZ7wp5xraUKLmT413@5;NN}h zFwDBmse+P9~0d4GI&G}C1@}`Qfyxrjaey-TMzP;n>;^5b1 z2Jd%I8l3hR_!hqRExv7yw12bR)3hbQ)3i0o)3m*-r|F3lPt%jVJxxD#d77Te^fc}0 z=V`izH+7}?16`c&kH?Mbw1yV3|OzMm2UXI7Uv00-L=tfb!yR8 zXL)CfeClT2AaB=*9RB!L%OfS= z<1X;A7JNJbJ{}i*z!OgjKD4ft+YEdR8IfE!Xn5y3?y#9$4?ecShYEb~20`P;x1>#K z<&D(t;3ivhmV9MV!9f|5xDzNa4qriI?Y5Zsfgjy=uo(BsZMUu2@$RC7&IH~U2M=#L z)Pf**miuoK8PD3RoxoFK!^2uP|7h~$j+wwH&(xhozNtG4dH1PLRsWq?Hr|q~%HGMI z(LkQEpU4P0cWz+(;(op4_q1fcUU#jtzg5PpuZ72~E)Ca*aUk#6-+Jb5v<_%#5b!dN zwo<;(NS}&1JB2=Ezl4kfnH7~gJA^(|l7FmbPWAncOB1a zC~v(Rct$S2LA&n($Aaru!SgS{^P5_?%GbcN;QOW1cTS7Vs=@rk;)G?tZcMEzYVlc1V%d`9|yiE&$H0Lb(P>|biK1m@I5N%tSX}HGq^rewg#?S4P0OId0gxHf$N0^ zt`~;N8W?I@#Q?o+!^ry#uFvG{2G`F^-ZfwR{+^dS5qj$-D5D}`57DJ)M|0k#Z^w7@ zKVJs-C^odiWAa{Tc;D5-@Wxwm4w1cAC)jsogSU>e?}|6^8n(diN6danN0VYQ;$S}vs9ZV%1V z`kvNp!+NdgxXY0%t1X@;(VxnZp^AH6s*$Tv_|uT33Ow%S?d>u{o>~)Zb=_>1x>@M3 z&-dW1YGmnj)TuV8 z1-{E%$D=$6AEMj)($#pM#q;ThR!g9kH_=B~J)de1*@x(1g_b~9<9FAtDkxB{@o=irgA1}xmVTiF0#+-Ou8DrClR-Hw0&L)&J!#jeD5^Rcqu1?-}Osp4z9tK zE}b#B5EoVZkoVqcYJ4ev2C$oL!{=}ASLXN`{e6X85mr7dt!bg}#!pKt*?j~R96RD%r&qDql^3!_PJE{dn z`j_?xJ?j&)dCPJ)dQLt%wZ~)hJ#CjWCW0Hmk&|&o_FX=?H^cu9vZoI624N!Cax8^Ehu3C*QJXSQGK3ocU=^UzZhfY*fY<2;Sg4(5{Z_WDG%;D-w? zoAj>C{gCs5+r$DDh?}MYwxzsbx>p6>TfAhAf{#5m&-f3pk3_+HV>HjF%a!NTa+gZZ zvsii4u#?{de{LY$V+oG@0R7zpuNBE}s}@kfvcZK$xX(9haH((RU{$->n@@Owk*0w3 z%69queBy;hC0xStNo#?2-K2LDAEM=yd3&R(M+lA=B&vx^RB~lDbf~xIdufv*+wktb z48OFaUO&I)NjOP6G}=*5ean-0dzJc2J1n%Jkg%n+%?7WXq#ZtZP5(_he7^F*R>Dht z)2ROjuhduS8eFD68P7aMY*O2p58ME6R7RhYX6qT_w1a_frds&W#VLn}vG)z4#~w9}kMmGU)pIqLW^T z*Hnnt{+<52!{D_W3|`BF*DC0Dmx~VE=o4xKhyfGg>D}~=$HBaNwC{I%!^0OTq z-pNEyQw#A)z174vY&K5#PJg8EPm%3& z;jiiN7qWcfGVH)sWi6IF!Clx+ZLv1LHP-4!Ry7rHXJQNX5ym2ZD}PW~oXVm(eMM^5 zdSyM)YVcM6v-m0&dy?k2Ysx?8{j>S%-<)P!NQkcz!Rv0Z+hOlLA0AJjN55Nj7Ks4h24pKY_at z{^A9H$g8;@bxbznPRHBWH^;wi)LHN*Wh}u)e&L$UI1rn zbRG=ZuH|j;OEI5nzvA=1U9Ev8s^y zE$E2znH#m@-^(~G^QAo1y;3XcQKv?v)LlvbJ#o+Tww?#s{;t&;INodx94(9rbVb)Z zTw@DFB@IlI^#IYyx*?Y|mnXL}Dn7m!a%v;_Vvj9}!6uwT`XubaQyD*aJEW;Iw&5<= zhU>ei$u|yC6J`9EdzqTt4?VUQ^QnAmpR}IHV+($Y(gMS*Gk@HJc~f_fhFtWO^ktn% zA!Dj3BXRMfH6Jcov?fbgiUsaTe($x+{P9=tJ@z-pw>E2mc58G)A8T;rGvxW7P~dheyBS8zmDI^9Ho3H`k?$~4kF{zNcml334Deu z=%=T#HMG3xn%BWNayw--;a6CFBZI%}7S-a@lz)Iw)&?94C zat~-F2>ujzw|0mAB-{yIx+q_%6u;19<=bcGG9KFd++`P@%N)PT^Jzz6v_7Bt9`v>w zdV7bl?R@k$`~vjW8G3u)L~q*-dK)D4#`q%m_>0w{)7vl5dvsdE4lcCiDm_DQ6R?Rt z%le?u+ITI=FEpmp74)`5b*t2A5B!hN=_{^baZL4yAT;&~I3Gj4w?SX^27UPq`tm?O zX8LN0ps#9!zVfv*^ffB#;^@lu%pJJ+rUrH_o(|BxztCW z@AXUz&G(ieZ)QTHv&C)$?cD&aI<=_ES%$49HZ!^|hBYT1CzvcY8qq=FiALxnUUbmT z1J%T}(BM7L+r7w_b;y?ckSq5iR~|sF)UoFDU?%c~dC^pGornzkA@bucWX39G39R&4 z0)CGraA(jGSgy3dGGxL@(_FFEqXk5Eh`#wG{V%w=9e)XT2CspSUCgJFJFBFF}$`xL$M z9rQ{!{CoIW^j7+;R@T|zTd`+sWNk}yPc7b+HXVmvi%zNem%_8HthE((u{!t0DW^L| zIend!b17@?)jsDgpR9+#vod$Wx2y@RO$t6%#rz%k zfVZTr+v#(`$1;4u$1kLR=@%yOIzEP(@G+CPhj7D;ehcusP|_RtxI%pT@$%2%W7xcD zFAw#Wz1-JZ`f?v{!OL0R{FgJmo|iLpd}JB;$hru8nCEKp`|q}=nDl`2>;(wv0KRkE zOTUVY{6744A3A`{|0>}*#Tf7dcuvD#ep&~JuGFT))v4>_>%NMt6&ZX3Z;g21_Ycqk zY>fHuqX%?DPQQf?(3Q2vW9S5P;L~~V={n8Rw94(teL2bzU&owLxq_L;i0<8zNf<#j|IFvEZIPTA-A=t;%P3 z_wlS-sZurGrKR|*t-+DeT2KF0=p>3XGx% z4EefL`9@wwSOM@&zux36cx{u{+PmJn;Z66vLijo#o}Se^6sBHtd)YrTauagg1za;u z%85okA7%WHW6Y0d% %8=8?8T(H#_ABBv;$*&}>$&h3Z^)cdM30WawvUeu|SI;{!8R!YD*JrcFo}4NA zgUnNLwYa(H3A}0ZLZLoBC%#Z_kMYOwT~;+~mk%9a8nVWXtZ}nP=1uGkrB$W+n6LOQ zjMJQDI14hy#ae!T#gJVd*76G~vd|wA{BI*;ghmx*ra&tmy^J`2FKAN2ohrIAq$|Yh zy21(G7BSm6n^P~W7ld_!SHe0d_QmtjUGX{S?g!A7(A_|T=DJ7FoXm*@567*Y8%ASy z9A)X@FS2y^Zw6;MmJrQtu%H)0Q$q@PFBm_A`}Yg+-K38O@9gUd2>r##Z|JQ9{j-Ph zdo;GfG0@Mi!THY#lQHV!*Ee`uU)$jQ1-AK?|8mXi3%$9}Esylxs)y}=&E<`+* zfzZ@S&G%}Uu7sxMA_Lvf6XR{R;*M^iB^&qH3q1{jmhufc%7Bil31h$43t@V48T6Fo z2-6d`qKl*_9#&v%OYpx4O;s8?jL45)@muEZvVIulIB&DcTcto^rlu z{2V+_zkSj8X*^FkUvzt3I8VQQ(d~I6q8yn6bkwk(TWAfu{qvZ)VwZS#w|(v(SeI}8 zmO53<8Sl1P>Xg_bWG~|<@PJ#%J~T^%*fPXUas2Vr+eIhj_WfNvr^>Kb*YI}w zVeS%M8sj-Nm@%LXJ;jGySkKySb*IqYT#MaW*VERs?i$90=dmfM+3FRQ#GK)1n^%35!VtfRs2OAcBVbfOHgOY{QnJJvn{f&VzVN4yHo z$W_QE#;31ngvH|?>7uUx<8_`>kK%tc6+5~wwo&5d@cm&q^OglsjaMLJT)xD{xTNy5 z3d^)KSI>&Ho(oQ{v&Y_$=Ci2AQog(K?ZdCaA;Zen!vKG4u&ok1uJy(_^dRI`XVkc{vv&qBBT4oDtn@bp{rSDq1tpCnbExNJ| zzZUp%@~>r1S8iAFN37}DalLOl$U9dxl9&A7tK8+N)iOZ>Dw z-2!gbl?vaOxzo*>YC7wwitnkErTEtPF8%5HULK|5BkO^!A|Ul>VJ~Kj>RH@jQI&S? z0dHkb=27-!zQ`V*mT!4ZRYP+YXd+18itcg9sm3H1`Ikmax*?PzE$4AeVy_#?Te9T<7D=tPdv=NJp8~R_UJtp zo8a%neui0EO#FToA3sBjimy#lf%b&GyyKd1Vn6R!esAB5hJT`*k*c((#q0+zln= zEF~`~NAi|Ds~O*y8ts#I$v#BcJ1=*^zsLH=qu4Oc>;>)C@Kpm>p>;*2+lZuZI|^+F zj`g+bvh4T}+g#bdDg7xj>g}td=6+=5ytgjLdh2~FdpO_Ci=Nv;eyfaiwrR|>=Acv6 z)5qo1WjFfobfb?GhFa=WlC|#n>)C^DvrU*TeGCn6yN+*c5=)umtk<*?hpt-Riv^w& zt@ve1%Wl114PQS(EqDaDYLA-uOqoh@FS1QKWKC#rL#r}ZXro@j?^$ztPr5<9IljHw z5*Uol@dW;GeAyqHho1*u9(Sqn?a<&LzQ2weg8K`32+U#et=7OH@saI|w%X^<*lHir z#`kLWn@F14hwSt3-kLOI7T*s)lr+ST+x$?{{Ddt@Lz1^7&7XJAlirhjmy>P)d5mhP?hHt(tTW)r_^?Jn%!rIY)kD>pj7;$4re={x}S3>-b@2vKo zg!fO9t{r{&ebRoD-$|FHc)!JO3+aa3yV=|2J8Qg2mRUa@28@^Z3B(OeOY!b)uJ;~o zu6G>4FCnj2NOLvue+biyPkEcj z=a1jH*E^cu`}n<)Jlm%Pybs*|lsEVG$Gx>vmV2j7S?cX^`%k>DFW=^!xV*u8wDw`| zQ_COoCM|!&+cze6!p+Mc^-jUxT)W#_Q~R{Hpti}oFFJQZ?0_=ITm8zsAMrZ|w-$F3 zZW!+2>@vp+;>vBg6SDie9dZ5L-iP>IfLlS_*z7WBEq6i|zmJgaIQ<(#x~=`(-gc`c z@C<9}%Lt#2UxeRI{KkH6$5M$ev;^7&Z#9;{U&N=6+nCQ5sP*G3-s+fq%o>%wTiGh@ z>|?Ic?ATH5{?dFkc^>ym_DNb@;-6iS(-;2+_VBb?qqAqTcPA!k`%RUL9jVVRj!S)R zacpX(X5p-c1sj$nIhr^P_c**UYjNK?_hNV5=*4~N+CM2h=*H>t4S%#29q-n(__r3t zbcwC#m-7q!^{P{4AN(=gr8}BCBE8(Tn>doaD!o0qQis`Hd6R(oPDP5;B_{iZq)=UE zQ-_Mh_SA8_*=9HDA@vE@BDMmAfs6x(qbxl4;bXpHUaqY@}cQYF(JaUsPQNM%2Y+)FqR;^i#Rl45uz5 zjJgar>XKvBW#~oLCFvsTG9scbLyfu&r!F}v_njfsWxP?BBBL&2jkf$l#Qbb+Gs@zorsLS<6T_ziKnPSxC+Ka49%0<@Y`iQz*Yt&^jb(x}a2lb^cbBwx7 zH|kPh)TQ(y>(cuo>oO;zE~Q3Yrc;*+mHSdUby;N8f$r%QcGP{AYXb>mj{iytTpO# zpHY|97g?8n7g?7FBkHo+sLNXFav$;q`*7uBMqM5<>hiErm->sW%fO4Q%VQCBsWra(08gs3^x zj7QJlGI7PfQ@LYbQMsdDQ@KTNAYa(iIQwl+ZWd$Xtizt%!;IxKk4askvMX9VxlxQq zeHX{1W-N|QwKGN@RTkb(vLweaHrkAF`s%k;?!HBtb!Cg(bw?Iu)zuo~^k)2h$`;St z(edcZ@mnZA1Gfw}x`jF%R=I`8RBknM1kuk$FK1qpyi&9HML$>Uxq5UHbAft9QLL9=&711n ztslswt^1j;9J1Q7+i=D2PtB3Gj6EaOahaMezKwUBcw099cG{Vbn~wVhbFO{NkM=M(dV#so2KKk@ zWqv7hylS7%XLjdWzh%DjN@)H#P@m&GLO;kJLgp5oWsWsN`j7dI>>reUgmS(yyoPH{ zh++-bUUw(5LH3Bq{6=gnvi{RTn9Ox#U3MwoM!aS!#X(!t7Ey|Kz z&?hwCiS0vL<~zr*MHevNk@JHE=xU02&M4+NDr(P&9aF(Hjtmku5!iR1g2@$kMLkKW|zXT)a`?;?I6@vL#_@#r$193y@> z@k5CpK|Hn{Js$nSGuDVNBHly%c;eZ=pvN=jd!`uilZn5U`0I&>-}QLLVNZn-Kb`ne z;^z?08mu1A*yyP;;%_1TM&cI{&)i>+XT0*PFyd>8_YuF6cx(ZBJY$IGJ|liD@vDh{ zka&1pk4LV19ya11BEFvZ$B1Wtr5=y0_3Sj_pCW!c@w z_};XBeMPs=uU`w@UIV>|4U+vVe(1^Hg1uFja`GiX;qyKT^} z(5VLPMxCZzE#M|BPbq_T4Vq=16rxwY%UE;qtRG)P`7H*$O8IS+&*|UEWwiHU^2oPK zf7mPYZ7R35!j&_ZHJZ|AD?+r|)#%G4`XqsI;bVz|j)hKLMqF>=QW)2>px1I0Da1X28 za%8UHJc@fEDk^5=6fh2q6h^%k48o(baYJq7U|{Ox`p(m71MH%bAfuh zlw+x^x2fFv;VNf5>8>GNN3*f-2D{WBm@CUY4r`1|*rjYq33b*4N8NGOeU~A#tC8K?lGH@Xow#kWWztdTPR7gk z$-jX!3D95QSGH*XYi}<)_^qfoe|PBdE%tp6Mb_{5<822!6aG5>a(lF2W3RxtcNQJ| znC}8?hP#EAkV9qc#Y4X8G9O#9&PUi*v-6YG@ZDY2g4iTAIWJBvn9cfZyVb^-4r_z( zP78bIT9EO=H=(hcwMk^X!d}oKvR?ce{6AVJ=)Xy85gP();{D*E-72=SjPv0xWKp{{ zHoHyMz9lbsa7D$movd3o^|Px+_K7w2Q>yVDWDfRee>*aNw~DD8gN@kTTQ&7fQH_1O z;*wOO$ejY#6x;(_qz zA))s7@Vn3pI8Tu6q5aq}^tRnzQM$7)ZSPCl`_lGA_7?e&GX;9vEtO&)Pp8f4v^hP2 zc;t_w-O^5JqqH^LP8aQW^~TXp)ySfjN5gxBx-|T@iy>pf=fImo`-EC)R}46=gT@8t z73{~9ur}^maeG2%klpMTF34{oK;h?2z8%gP*Q(sfpjz`N=woGjKXTePHe0u!A#8a)$ekKQB4Bj`P~T ziSF(n&fb)r(cSz>@YDO8nUZtdxqn%5@Dc8kSxdSde5dd&bmT)PnJPSmZsBA9By_Cn zQ|nc%&QsWx+47=>PwlN1JlCDHz0`vK_=l`f(2-5&sZyaMYlx17r$Y3jh3Kfp@S!7x z9u=Z7!r&=o3-Q!c&bL%U!!Bt1kTp4b)}keAN};K#@YJIfv#JKz)xrUsB_E*F!afOV z;XCLNTUCs|6uOc$oYh@8Acgp@xFpi_RtrU!IKi2sIgC*Q`l*FeId3r_lXw^L1Br)! zS({%thjD5^juAhc_@Ts)ARb-fL=y3gRRhKv@kPXYh#yZpe0`!T=gk?f227E7Yvq8+ z#9vGN^~A%|Eh(Obt_ro#H62$<_#CxR_P=dLe&{%dr~7Mh{ymIg;XNoqGwEjfmiszx zEqnx8)8`9WHUvM=~T9xfb&Oq&Hx;=xH@aHPk9yT0J< z8uW@;;3FP<^wseN9Qf)BzU17-EO4Q~MPG0vG|?A4^#zZsM0XH8fEO2dbAikCI=|Z* ztn|kWo!_Gxd^*3|8r&}CTbZ7!JotcnDXKE+aXx2NpBC;CfbUluu+o=L^BbM2;da#% zSwVilWzZKH^hL&WMIJG_tf(Q~dDhythvrJz`dsO|;C+P!`GAb5L`KXsWW*fCTc;LR zIm3_<(J5?`>zYt^XMZ($COmZnSB{LBg}f-0`BDn|<%nzHOpeGjr|>uQe3(7$LJJb+ ztMzxn%|^FO3I`DGnS#wDRq=GEEm5;fde#5gpOb*O~=gRNHW z1-D&wb}~=0a*nmeu7>w#?z_aM7F+{;xfffz^q<^)QvYtiYFc(R^c9?-Cd*p&61!S( zH8i%bVs1|LB5RjS($#jAG+OqCszFsAZ|H8VCCnYKf!6j_%sxlD{#Bl9jQrTob~SW& zzWjp4Mtp7$)+!H;%J5^u@C)xH3VxBvoWE!gy{p`(0=qR;DQCpN^ZX3f z#oVleS@0EpxozYGH?9Dua5qoRnlKD^BWo-}Wvym%_5?R>4Bs()mk>9d^_fi8Y6=KX z=KE&it{_hFUDNxg-hATS#Ir`@un|73_jb-OJmi(Ls)~JOLFU$nkSBSJ7wjL7_n|u$ zLQ@{v)&WiKt0+GQzA~!BRww(un6HpdBVB1u4fvm~58Q|H zD?3LzchyVG+4cOu{e|*d#W<?VUN}F|o%Q_sT{yo)=t|FT;Dz&(aaPZ7=!NrJ#dxddH~hl+iJX%B3UVZ!rLr0P zmVw_4@LLXliyYY?_+|VpAl)A3IxgZh;@w?Uwv2)G-1a5oEPD$WXX7e2qgTfNnz4($ zJEg|`cULEy=IQA8@@C{=}Z?j@sR2*fr`X52Y%J?p_Rb;9a8n5ZEhUXzmuSU*iB<3GHWVN!7R&`ziPn04{ zOVRx|AxoWxES-PjWu0%lC9U&&?2ULYF)8~{VqtcMrWTe0FY?rB$kS%z>ABKwLZ$}$ zhGdr5<3y%5BU8_vwtrPUwl_UrL#|#ZU&VMLcTPDC*?OUTTQZD%4f%SZeDl-K$XLm9 zE`2bcKG;SdY)kBvy@@{9#63m*l`3WqG|`Qpfvn9#&Xyx*%aKK`R+T+hOIn4TmHWTKa<;D_XKjX@J=wdDHy!s;?=0_dT+%l)CKOE0 zn6QShwcqSFp)md%nE4yD8H`5JQhLix^p)5zD5%@@iy@xP3G4f%Ybe7F71$k&k37s~gV z|1|P7# z_dpLB&_gElP!8>sC)l#fblO3FAMDWOcM$olk;Y0IH)-4n)@)aTN0;G0{7k>IAp7Z0 z#ZS!Mh2IXJDr{V=T@)8!M{>`m4CH^AF8{6B86q2@H*}PG4HGhVN2z{W5fY3%dRg#;mEL@3Xes!G1g5pDsb?n;aG7 z93f+t)r0-2R0ZC}zV;6L&m~^u)Lzy;su{oJJo_yCD17d5`*fvSC9lUG;bAN*vZc*0 zu=Sj;dS`fRafLX!%S3Tk$vxadatp40>8!y%?gt9rVNy$cIj&mnF5#YwGP&ObnIm_W z=y#Wx?!NH!b35v}FXT~dN$d%&oQn>4H~le8B@_?ktfQx3nE#vDD+;2N-)XU&aIqI} zg4W$H>pUHdjWQ;BWV|29SU4J6-#|6_9mc|Utcfpdi&dTTEQyta?q1bv?f^CXE-f)0 zdHrhJ!s%7)L!^z4%ECpKE~Anzn^c~3S!WMxUl#n*MKP)M%AV>`(W%&`k}ce`Yq=pa z2l=k=r%ksc77ydTL=U$4Vf+@`eBM{pf{;$0m~CaOcm$p8@gXWHVW>))fh*yD&UW^S zy)=4|{~r8nIK%lA{e3xYlriK8dm?50a58pma_?4e^Sw`bH?Doky9ejP zmDfJOp06joZk)oE+b(AgaXI7F<;){4pD-P~qyKx;@h$j1@D0wrp6Kck71#m9X2Sd3 z@%89@FM@Z$&miu>9Uqn8UkaWs7C#$jhwu|*O*4*c*8b8caAHh$r={z+9o|+C%ZPM?SX@{To<67mu8Te<9k2syD zHl3HJ{02|GgiYn|;i+J^5KrB~x~rL|c5BI%+X8`JtGcS;KhYA-!Bf@{PjyX$r|e%S zPj%|1lIGx^!QG8*_o%^Bw;MdQ;~YG-9(p)8PmP?g_B2n8)Oo5pdL%qGQs=4r;IR-- zT>(#B0Z&~4PhDZ~6nqk$WAM~gcq+%>sjc3%gok(v9wNMO-4=tVwwQQoi+3%2*1|s2 z=6iR*Q#-uX_&)r9gr~~ksU^&rgr^jDcb%K3E)G9`D^JaNp=0s@>|F0!6S9BK*eLom z_O(|BBFmAtf!2lPRq4pvOyq3=a@K{s)k1PN)rY)w8S+*`-fA}(_nNauJO8in@?*c~ zn4D;oI}iWd>mhf&~)ZA|%s~XTHWF27@vTY^0 zga_FvYjRT=xBZ4LkuWr|E`Fe+E{^>Y%h4Asm1=ceFV%Ymdcz|8f?z`6#h$A79`;%V z(If0p_V_>ZoyYw5H~0lf>mMk_k7a$QA%*+dm-tHVD0HP&;MU`A!)+n_u6!3~ZCz=X zCG|;*VXe-I%zTA2;|Dkw{wn9}4|2}_HO|@pigWg_bI$(PoU?y}bN1V?yBub}%OPvL ztZ|n3IP()@mIA*5TTfI@8uR1- zbXEI&)tL85rv+l;*+AbUeRlh+W!x8^&t0?yM*1w;mr4I*(B90hHfKKYqbhFPC3$2d z*qj+%t=xTB1N15_MKh(&pn!Ggfx|aFu zsEV>(HixIFQylknL{p~`Hm6JBx+~@uhb0jfJV)5WgsFZb(}YfhUbK_}X+j4=D_PKj(2mfH(9H_g z>1%WPhiE3HpZ@L6$xCymd_C=E@|ndN?z8wU*1l=Cg%M5xA2()>`2^S^wZNj;<$NL(`_SURD0p^fYGsY4xu3G;2ymnx_}^ z0j;=mIMYO53J(+s?Qox40XQ#*2IOr8d4ECd9%H!Yp^){}@H-1`=uzHT=uM4|hre#6sVCw>F;t)^(s1N@e~JC*2{(!b-N(`t01Gd964 z4MhfhMx5(8#~TZ#ySr=jIp1oL-EN=z^!@B7$ZHk&HQ&v?0sP9{?7O*}{U-)~MLB(6icGC=xzfszH7@2PLGUCvoI!s|-Fk&;s>#Vn z8$El&&LcKoBkMZ>p^ZN5<7l<}8Z+z}Y5F>`oifEQz=jSGiOv!+zq)je-bNO!Wp)W!vyh$372_lc8z)ch1%JkP!7NV2nHdc$7ZIzy0&jdDVA!$8feU^xno_GSsO*)-TPKe?2~fOuGDY7t&`spoHkhO0undR=J4C8tK306mNP|jZQS{Q zO+o6b)!HU}1RYCUCUwi_e$5Y|=|3<>ewn%PvAq1otEhW>VSeL#e7B9sZxsFhWO06D zg^fL!oQe8j^qvuq;%3=m{4?-xv?cj_1b;ACZB`Se*(`o(zl(Ny=*f`_`lexw~vMutTwv^jP+D?-+bLE;9P3qU}Ug`S>M%ulf62FPGiQLza#GT7BzgtOMEa{KcSOb$t z|C>C!w;O4%BW(fkv82C+JdQ&L{Ym$2+yvsU9hu@CM_604HIT#iRlxNpuiP>AdE=CC z*D_a+|8m6Z-ciJ;H|T*v;TeiH^G+RZzKI7`Z%6D zTHm6NlWocVWAyP9^0TrwaWCa#tMbpo=k8CxqF)CQcN2AS;w;ponfkVrTLSaxvjg-; zHff*2x8fh$WC^@XT^ve%+QPnr6zcmreKBuOl|u!;@2G^nw-KKx@!;edzS+AJ*s*u6 zV^y%yvF|dw*B@Nq$PC`%*wE`P?~d=><^4%dpZ7WX;CcGwE44ek8|b$z&c1y>UFyH> z^L~T=Xk*{?TkJy{#ksc!Df4^Oc{4OHO5&(%J$3UkZ*QYc?%+JfjGoorvTs*=Ptc}B za65)JIXGW;4QV!W@9i|g@~L-_vPx*13eI&bPw{bn&gb0+?T)4m&vQ5RQOY_%T1``* z9&5G)Dye6j{61s}%%Q#=w9kVR9;xiT$zk1F=4cJx;J9;7rDJ@W-8<81_wElaaZJVU zXfAcM=w;1u3?#0p`6kEK)N1dB>#Du&)Txy+-N8AI1oC5#PT-Z48gKKI8qV!;hfGSf zSDRAJJadCrWX`S4z^Xk997j{{^sXfQ_;q)B z_t!RfMIH%mucR;hdv0+&2H*XjHa0bX-_a@MN8Zb({K%{5Bf;&|V3lK9>U!^z>(+Zy zsoSm8|KXl>-fiEm^Ztc06PIoCmePlI>d^%l6};JTGq|h-XKK%_j_XMC+1^_nJy>^> zzI%~#j#usZfg@JF57C#LLp(;^u4ta^uIugzJ;v7ChBlQJL>DyvJ+4>n zzk5sRe@Sx)90>2E(C;Ekx|4Sg@^Yoz=k3Dp*U7Uh-#Jt6^On)KhmbD?oY(v#u))0x z9N#CtgFFx5e?;A7tZ3T3#c?n3@8gD%r^u%_mhbdl2~Cz!?jdm6v3skdfqtpLeH-|2 z`|jko$nibocNcy97~kWX9&&6Ztd;y$Hf?qk@%=Gz!-&&T?$!H4+V9?bi$m%WN1u0} zaxZQ4e0nqGOFf3;FCgyark^^bz2lm8Is$~t_Y{6#x%_9|z}`~F@RWde80T2mE`P$? z0`Di&pF*c)lz;2)4Gtx3dV0GfS>y`+JQ5mD<@aUOMbZmBwr`UA^wg(^D8IcK+ybM3 zcLvKHEwo?GFgG>d>evKLH$l^}^g$>3I*B$k=fOib$!i#Gv_tRzCA5H(d_*=6d-@Sa zD&^e@-+n;47Rvb{@I}y)#C0a!RN8wJ=V?EMSL#VKm3oz@{>XdlbwBbp@qKIUe|Xyt zvF{N%#(cz4NFE};=2G_W37eOf;%%bL|7b3El#~AdLDw~eFQHs(N}X3tsq@}Scqy{4 zqj|9-gZNLWTODa`1+E;pzogc94_#N|U2^*-?)!3VH&@SrMwzTU|Z7;$343? zIc(JZhv4=x`eJU=c84BswFcJg+UUsL{U44;39oG0>fm1dPvy>!kDqRGj0ev*65hUR zi$m5Pc09ew@eKTUjK0{jYlEYf-vWE{(;FSb2oqj=Zluj2u)<$McRlP7etD~})+l!m zt!(;t$2Gw8-SxCXBfN#Qov3dqaD8^|a%`ZzEd#X16O=1sP5cO(V~_M7?UMHo_LC-^ ze5y&GM4ZCkyz6I`3Of$nW=tXpNHR*C-d| zYUJ^++Z@Lz)3WP791rvR1hA!~J4u}f9+O?n(Oj=($CtRiqJp@!j2H zI2#oec!+p;n_(}$?9CAST8cH|e`d;A|KasG{oO3)Wo2^rf<7;Eot~F1i~ZZ?Wj7e} zvg~o{q&_dxIt64teW7_-40COnADHK7t0L!T%*jsA&zP$z=4V5hhabZ)@0XP(b0wLt zxmWhp=d?0sAM#gvop@JWo^1&t$F^o}+DI zPA79SWwSYDZg!Npn#|2)URG_hI$M~Raj)#(G&dV?j=7oaS2xeKXWP#|HyZ`Kd2Y7< zuguLx8FRDDei>;QtF6u_jd@u|C(nW4T(!NUaL@rctESY1T)9g~?hTUrhUDHMS-X{c zhfdGOxNk`A7plKsedYVSX&7AEKd|TWQK!m=t1Ew1skYZoOAKuIN&YGKFm>fO?og}i z)1w0$_Iplk7^tqCv`VcmZHoz%ea8KW1Jsp=YqY>8%|im#n`&N_IpbPo^)FRRU$x$} z>{Va6IsG1l-Lav6_T7`~KB`bB!||o* z>cGd=l!jYt`UO5FuI=B{D=nnAp4?ipqItl9R^ke+syGI# zJsN!Ef8W2!o5VeN8#F$!W$}mW6nC{8BP}=PenrA1&*N)8pQqfj^1!By1C}n_*GyZb z&TZWFbZ&N%gC$Zd@(ZW9W`{<`SYx;p-kZ$Rw^aH-~ zj04rA8%z9N!d^f(@D*n0efTurEzHwf_9g_{xSOZDN6CKYrk2aCP5+<0bC0jGxc2_+ zy>o+vkdOd@M6!1-5CWnoU{EPf5w5JfAtCF-%1wufARAQy##LcBEZ_xJ3*AyA}xj_><<|2WU*GoN{$nKf%> z)~s2xX3ab^xtzzN`Go2-lYeTI|7_}W5Spnxt%RQ_J-JTl4nm_A!uhA9x$1`}*G1WB zlk1D{ZzhcsdJB)rvW+$qo%fM8luo!l0&cG}`LLJ%>veHHkkd36(ktDzD@^ll;6*d# zuQtgAzLB$=QeDPQW0WR>{~$>7Zl3N(7+8NRaogx4s^6o~t6z-e55L?r`=HCaZ;kgq z1x+3c(#}_#-n`Lfq2u;G)CXFM4waSZ%?Isz_pfi`ysLejf7K36QqRz& zALSZY|Gy|_7G-eLcB)rB-=d|`ibe@GyyzvK8CahKz1pE+3w7GZc~|GoT`L270_uNG}ON`;_X&w z6-IkwCv9-8eyR{dZ^M1`_mA&2TNYEcZ}YCc(Mms3pY6~6r(^T8{0`u}uA%-YXm8~w z`Nhv!^g)kJJJD-ky{Gczx)tQlb*A6{ z(9C$8H0t+iyGJO8WYl}#Ke-VZbkZ#W*_k7#O)>L1iu_FA9lu`0`d6^#x!Ja#-P45?&t5zY);m=Y+qGT}?1io?iYU!oq3a8svO3c$b4$YjVoR@ZI7{ ztiSoQ^tIZ@FPKlrQ~z)j683Yw|Nh+kJ+}w)f9U-Ddj<0UG2xTNOUl1I%g%p4wAQ#I z+{NVoD1Ob(bMZQo19+F5hj+ulYP()#gfoWh65gkf+p5~rF*06j#Ium&?VR;zIKw^@*Vbej+W%-8TK~u%rx?YtHbP#lgpCJRYZK@0 zfzK0HG4K=Q{MUFd0`AkB(|e!F^$ybA0Y$4EH?=-*8n$zu=r&v)-)+A!4bp{X8U8z9 zkF7;{oUDCqz|G`+EbfvSxwjSpzu=MbLfs{x_1#*|7af698NQBx4ftE1=YKupj2@%B zfV0c>n?RUzRe9lP!X1RGjCrKFp0U1-Z|!xTL7d8^^jGq(I|+vIPfZbi9DA0Z!DaL9 zAzg3&6{^Q&k-nTXPUK34qp>WX|I7G)CSH4)`oyd$9Bi?tX{lK-d$*_b3R82>6@7j( zaQmHRbw+q&S)SF~KYRC(QpLYQ9%HD-=nNBo{;~zR;us;dB-vTH9^u({C4jJrGJcu6&j%s~R z=G+Hx<*jA>UC~F4givmYRpQ?c>(`zOydSvXC@dv0g`}8>9b;+9F(iRc( zPL82VrB`Q~GCMMqLYD;IH_O`i2#s5CNPwDgI99 zkU2|LDnEdGu7z3}g* zO>P86`0l11V!(Z)bM8;4f?Mh11`hU@&<-UI`Xu2~2)~m4SOU!x=A9_L1Na2s?oe6g zb=co0OyK)%?tcrxJRb~G+UH4kdobPgq!av;q`i)Eyha+qhQ8P6oig60GU}Z&>V3N2 zDOWGbq;J8!2HdlhOLzqP8nAj7>}$ZjPu}_-qH+=Tdtf8USLq|?9l*a9{}cSHZJ1CQ zUL)OR;wKTmnfOV>vtOue?(VUr2gqaY?wryC;Qt_Luz&9Et4f~)eiHGMh@V9KB;qF# ze~9==#CM>NM9llh=Cz1<`|wAVMo^BqyRRs%B|IOVswF(1@LIz23E#jz=8$Z#Wx*;( zykwL5vBw(|e=YAiyI3+*=ccQ_>s@lF_0QZ(i`;8N)_FLCl6?W4dGxjMs~pEAA3w+-uy!*F~Lk0Jw8{#s#pDV+J#k)8+v;2PcMlOm-j@Xe| zT})ga&V!rJ-bca4?#V1IDNUWem;d1Q^3UIOgzx1az+U*TMVYeU_`l~Kvv!9HIW$EN();g~Y`YbK%D5j`bhPe$oO*E(ZkcVtxG ze62}H!u_$ADI1HwyRRu*2;9H_V9@k$n4ZyZ_b_FJeAmLeeNB((x8hCN2jfh_M!rXz zsOUcoFl9?Q19Su5f4an!eIFeE5pK%nga2=Pp)+F+_kmAY<%pVcujv>4tfR-2&Yh;= z_x#6xs@*hv>Wa-S0QQHv_v-`Guq@1q|M0MBIMHDmzCqYqz>OgO^q);b5;8V{Fs1!~ zbR#I2Xf=|sM*3X+Z4#n|^LMn%O!7Nk>?r#+X^!&$=f5B?uO@5{Z8?H} z2Bz?RFX`_z$^$ryUME?Jt#XdT!ZwfE%cEwEb@2Zs2<+>HZR97AucE z@JK)C5e^-0A?{=N;3hLLdMo)nOIepW-0@e^PVr_y^snHpUOR?YU%~fClN9{|e6|SQ z$>jTZacdPb}>c2$sO-~C$P{i$%XcnxJe zLL1y>Qlcwet|`m;o=QA?p71=hRhlPznZ-X59PhoMrd6 zzkqTr<$E~(F9w*!z3`Lw3@+VFTO6m27m)U2_>>E~%TCi~DqlL~yNU32^3r!2-y`{M z1Gm19gZDCcp`3o<5v+-g-tKTtp&usX*fi=DT|>X2ZzfzNn&8JnTl#0hSjCTb#zsQt zezbWDQAtJ|PWD|9JGC*fe>#SuHMt!}0~r=iU$=;7RvUj5-EW^wqAORGOXUK-@W zsIQsnC#COE->^NGE&7DAwMUu7A5*TjIJ3BuGPNd|#iuDt)Shb>y#vo8n-;$fFLLJ6 z;#tHd{_n8p3~j41uIBe(1TeDywj{4j0y5M_FTez%4;`w9JR8Rh#CZF0$;OBZbc z7d*T88F2juT=n4kHMpJzSM;9rQj7Q-pwYh)&p)SSw-P@Y+Ds$9?d{w$C-SZB&-iMS zCVXJqcH*n-&*PJ(?Kk+;p=}L5Y1^K`r!K#2#s-5NZ$+kyrncV9I3T&)!Z@)L*GqQk%CPsn{>3%OM)?0&zFjzL&y#_ z9XreaX3iF{fh5>=k*|L*V29JZJXiJ#@{mnNWiH2m4)}mgia9#vkxgori#b!bbh5A9 z#2kIEbHG_U3ic1#VwAURQda^mdxG*7?VbRyY%1s2Pq3+2q>)YPV|0vElW^F<-YnH+ zZLprQ-<@xpN+8YS(8#7)ZF;k9t4a^prex>%N841;R@u!qRcg~k_9EG)2GmDVUeUov z8C#i;yZFwv>odT%uYA{rmwhi#A3t;p*rt-su}wuom-B5?#}=NYx$Ig;_zu{ngimF2 z)qe(l*{0U>kBa(+4;#?MY*TsIOk~5O51p}1$yTMbw!N>LZA$IOS?*_SQx8M40H5}& zUt1aAQ`u+A7o1%8C^nrp;4RrC#H))43-M_+;j%%AFMdF{XyE|nKI{PZ@cje$O?+B} z{jlW@vqgJ~h60}$vYjgI@__v`z@z=@{|vqRo@oowHmQEo8F~$@-$uE|K}Ee*OSpLQ;rz2a`e=H(Eem8neS|vM_Bm)DvVCGJ zt8d3{DqC_h(O4KF)jz|MMzwvg>v?bB}C zO=YWg)z5|=`aWwnb=6;Q)9h?Nn8^28yS3=ztp6tIQe6o)O}y}>FK9De-_2$!+KP5* z&}@8=FDsy(FYVku?+fxJ^laWvnuX9pc#5!@Ub)ij^5%v6i|VoU_B3O#%k8=vS#TP= z*eCaz)v?gdlAJ^S$v!$0+vt7RL&cM#!9&7n#*f`cKT4=HGTt;5?kY&amUwy!2AmMpoyU0sf+SX{8oxaFR&@ z+vb4!HLmpLwe+3m?#9N*U4I9WV`>xesMZ*YpjTk6AhA9d+vXIz-_WkuHs4({Y8kn{baENn7jwuxpg);poylE!JN_`9=E^#BC&f0`&NZdV9AI^B3Ja zk-G`Z80^%mZ-M@@L65~xqz&%FE-f3iWbtmw@f0$`ea1H37g`Lg|Mx{_+u~{Lg=?VS zz#y&E9)fuY+OK8ZsE^$y3H26jvXONs(UX6Q{pHZvnm4*suswn>iNNGhj`b1N@jTy9 zzvA7jwLWCGPhz(IomBfsw%tJeTKN{f##w3p)9|@$&$I0IIcs}v2M$~KF6ARz_|jk- z`8qlKzcMpuZ_cF5vNtE&ZIUNm%co5wLyI$;AEON_nu4&kA=rRzdMou`kq&HrCi+Nb z^If71<@FJ!ai}*sh-}j%X$RlQu2EV;(3+fh!(l4yHG}??QF*;iJ!Au&4?WaQRis%* z+THx)`bXTmINQ!l++5;>a@df;ZORm-aMo z=61Rx&6wv2yLzSB;;o4F7rm9+SsqURg!aE-z0LTtxSQ4YRs%2(Q=Ug?)B9K}RKM&4 zFNi-SXWO9HH0Zg8vLCc%747UA?SF{2knCz=y~p#Q+2ygK{O;0GrQ(P6&dZN`IY%NO z+Y+;P-zC|ob*_H(?xtS;Wp>&mdmV8tW3Ndu(^r7s%Uuo1^G~cF?1LtMJq$fR?i!{1 z9ELMd!K1od1zmnmylmC)0MmH7Yn0YAR2O#54zg|7%p>$Ki2m0wNuELOg|3%|lI}O8 zv*`<-*dTr9K;Kem_(Pl>N1uue#{DaCzV!6w9OyWJaWg!Bv|lzCtv@{iFKTU4W64LZ z0og0i7eD3Ph^OgKAM&kn<7#N>g_iJ1wiBQAmiQ+ab6?1t505ZU&X;M!E3Lv=L$dQpfL}Kje)l}wO?KSC`pMveKH1WPkh2TcHl>zUw(~0u zdl&W=ngwsNw_0_i&(e>R>$}%;qBp%c-+j(R^Fae$i@^%YYLdT3_@P4(DBQ0X;aWz7p6#n@Ar|uJ0ngoid32fik-4o6&b9 zf4bmj(M2>DjYJ=))fT)!@X)6 z`LL7pfmfARpg(Gz-&sG|<`Lu` zyt#(-q4KKExy0?`9w?<1-@Zxu6~)6CvozNjSU;9{LmkVZA7@ZfmVxyZ;8>A=7UoaD zoaVg5XQ5Fmc7D-rAn>KYZL`ZIeUtS))=Ym7EO@geqaUJe?*gV3{Ww6|e)S$-j6VgK zK)OKNDqSOC(ra7inJqRh6XUUU z^)BMYH|oCyDg*BUUg}%_sjYV<)MvvV8?bS^Tmz#$jlKLcBRRj!6}G^=JN?C0_Cxrf zlj<2m+lA`%D0I16`0g{u&eW+U+us4s^XpVi83J(9eMFyO{s_uh-mM;gB3-ClD&yb5 zt?@9>J_+^r+Vu#`OKTY0#dFfDEzTX1&dmBB{IB?g`dNIx8-%GL-bY!nvosiB8i}*% z;jSs{c@91L)xQ{|#{qacm-cnFJX%Kg~2Gv%Y_ylY7U}dvA#}ot}KouEmMA=%8B^ zH?}gu-%5O1y2JkzHYxQz(NZ+NCf)c)10PKvNV<~!eCT@$-^M&dJQYs(nK0%n(ish5 z#lWerH0>}ihT1BOJOb^{nVj%ZWe~=dpBjWouKxu6E(G&_H<(a)T$QOWjx9F+nUw1o zu&RgP+a(%d1NoEVTCKZIiBz3?L(U{k7wN_e`qrsz8co14{N@xuhsAq*RbY4@VzQOyLrR_ zt6^Ew(B>S6)v&a7X!98U1+1zZ+WfzWuPh$geCZ`t!wL9(sE0F0(uX$RPWVqjg8v{edEj}3GJO;G8evc49>v{@(_W7} z@E6UU*ty+h8l-QQ7nw0{-)oL}+mif6gYr8!{HqyrCGG6p&YrlB8Jqvbj8VC~70gTS znb_%>iEc`N_Bz>Tu@SxWTehyc%exUh_1)ag4c`dD&jNn_#7@VIAUYI_MW?4 z-n60qqQS(^1s;C)Riri6F(1p?BVlnALTE4Y*J^D zF<0eb)AWAFjFz6;ICXH7k#^KTOTvyttwW(@DSWJPMrjcQ5a=fDvpu<5gM^ zE*<-2S{OP`5Uv6p`w;e(7uj1f6&{EGcQM!MWKO(GbK<1-7<(=zy}O!z@E))Wp(%6a z!tD-|xDC3lV9fTpGMhbCl0Q*%Nmmwg5A-ScuY&jTrmW`5CiV@rXEm=V&S1>o+^qWtGULstGx&)U{!ca6X=fh}_=gEU@8z}NC%%e&R*=ty z@K*>warXY7Ab#K2Zup54{(ZvV6u_S#{Jd9!e+BjPQT}rHUS*#}nHQnMsy;sQEvFxp z>Ki~3o4=Fx`w<)`MUUz)8+0C=h!?&_KzRK+8 z@7VBX@s)SSSDf8EqdUI*?B*NK!}tB}_|mhRCo4YxEWSI5_fcN$r%XWCu;)SP#9zgj zK=`_qYO_FmbTGbVv>9c$KjA-Ce10I_6^g%-c(otl%e$rjgz-uETSl5ujpC`=A7lL<=?{CW79TWw9jh(8Q)&^C)w$0hWbU{MAZl1M|?SXN++t( zzlqRXHa5XT1EcxyN&2VVb{nJpP({NWV@f+?WZ{cYYkHq?)BuxA_oH0^q zH8xu%*Oc14pz^h3`{9w!dwa5n4_!4`bSAA&xZ#WU8N1Wz-yxhu?$Q3A1abBc;Y4>8 zKH+iCySh|)A6DJVUD?fy`(@(iouoO# z!|g+xU(>hB8sy<4-wo2R78*7UZGKttm1lWmpW;J2TsyS+SKaYd4sCw^Jbb&m<0~H8 z{EQ8M7T>P!`0|G~*LKI3KD2rLdH7!Gj?Xo;d7a|(&*Ixke27Ok1bJ*ldRDVFfPIMY z6!xH9iuYh|$aDAdU(3EeTjq!czMMQBXvtNTqZpZF_dCj>Iga2y6F%bYJY8AMH|iT$TmDoIYu+pVQJK;y6XBDI z$4;|LWiTzVcDeIII0#ce8{ZvA@v!FK3y0c2h~p~aD;R&y@H^q+VezYU>)LL8sffPx z4q@WYZzCUC;ZHj)dAa9ZQ;H71TD0(>!`}jq=g;H!6w)#$ILq(olZ`=qvN;Qv`i-~b z>OkM5oYI}uuV=avs@I=~FG~1;57EejKK`>HzLDV5Jlt}zcVwAau#mk{3)#=)-TL<# z(sfmbNwoWlcKCsJ&Aa}Mw4Pwxc*QlHje9tVS2o`q#nqmT`!R9l;8EL)wz3OqtjwiN zcLA%usc~#!c~E9HVe74hZxoJ>`l4h=dq%*n*rf6H>^|0C5VxXIJVtvGm&N?l!FX=h zS>f2y;;`pxJiP;3l={XcD^9MvhW8c40p3v_>y<|>ys5pil^S!;=JAN~$Ojhqa^iY- z&x7#W$YTh3tZuvk|u5$LI8v5R2 zft2`}mWluFSRr7Fz z{4Ei#?UDY!5El=wd-1&+x@_G+wl(Pvvjl_A|2A=9q5MemBHzldcPKw#o)3ogBM^=}bPO{67ui{P1{? zj--Dy7$8G7NBg6}ulda);(iORf%x7>*!#`CcZVCgpnEt4315d3*0|1Y_bsvoYAii^J2=~-{r^hbufXXB&aMYxc|jbH zf+Lmx@^xU*qTf?k+QT&*RR(5js)0sH-O?Qtw%sQ9K^l?7-)#BTBlys*beZpTH=87(U zBfUB=%o)uYE)99$o%Kc<-_)bpG_+MRkE6YnPUQ@&n__=%clebikGw+gZTB&E2iAG| z$wJ#c)x=#c3;EXtT~%{{#t1ViSjPAk>K>}|o1FQg_l*@1ewA}SPP9@z_u;FI2k=!V z{ws{G3k#1HZS!^)f4U`M6>%?qIC%T(~d1JqrS3m>D&|8a|YDM0(&8v z=*}y6FK8=ItQUWMl4 z5%M1y@@D~QwH8x@jX`S)Gl31+l4aXn53K$_QrWKOU3({FcWhfDdsqK@CpxQmVkx?e z+Elh}@kCpnwT~&i@{_*Y2JcKq4{LiI`VuBRx~+tLs`Hdzzo0FzfBgn@;eZXSZ~diq z-hn+d%JVVeLg{6@o|Vmi8t0|=pGlumuRTy__>=Sx1k+2GX>o~81M1tSVLusR8kS(^ zSNYuzGfMl&^zZN~-F;G$|MZ!A@A;ox{{pwV0`1#H+OFxQ^T%1I)@9N+42ihJ_XmZ; z*I~5L%bcs;JBs$<9NhK1TbyTG%--O8KIM#GCwF*EHZzWM22>Qbqk!#L!R2g_X9re1!^?@<;-W7nfU4(fs1l*4-faZ^Us$5R%cX6 zEo)5WoLh0E$#8!>KH4*l@xQC!5YAsixED-XEu#`d#*ld5z;HGkYM*%#Qfk zi_A?r|Mm{{Xe{uVo1*zoXQb0ixsx+@M&2JjJp%pUed?aczcH7N+5Gqve9_?dix;ms zhP%}C;!Jic<^bh6f;$8qR$`A^;Z^|gb7 zlMgOON=>ZZecv_{8{V&X_2a%hyw2suc32(Ge!;3m z&gpr)f55q6HIp-{JMXDZsM)?nP1Shh3E3u-l^iR4xDHu z9t-i-3V5r=rfYole&S4{&N1#&(hd)FRG#IjmLQ*rw_@OlUhss@BNAVslZ`tDPaTDi zj=@s~-s=fWG%$^%I|MHshL>ufqsmdk-9(MK>!(iPoVPo_BfjZX@&@HULitthRq(_6 zxEmVX)oyq~X%6GwqueXtiRJKw_`rBgyvn|mbH#+i1CJEb_J=9ASAG+BKEM~V^iEqA z$sb|jkWrsGamC!ND7>wl6;fPeriv#v;P#U~AAWGs_HKBinEGv0*}=)M3tGtv<WoKoWQ9CT;(@SQ-4$i{X|4^^$8EyMqQQ4`E zUL`s!&l43^ZTP>#%{jQDWghg)<3F0g^X|&Y470`>{-w#7cUumJfR;?+K1C1xX<|!i z&IJ05?mX(=XVhQRSJY4LObPUpWBl_P9_%ODBPls7d2I6bPL&J_^_6P+hj{J*=z0U)kYh?T+#azLG{ik*u6ez1t~!2e{hgL#tMNFLJuKyu0Ams*{HKgGic)_CcMNQWsTMUQ<9Ankd0PQHcqCUe|BCwFQARb)5e!_&g(I7 zAMGX!<7nHzX{@!*%0i7Xk`Zdx6`V)CjQ&;wefAR;kc07O+P8>ylMKv5{)O60Z7hC% zpR+jMr!9}rmTL2VCi`lTeLJDUcaeST9j4^#$iBlt*;hh49>rZR*+*MS_8r3M-}~jX z<1)rcLtA=iOO)+9nbT)~{cey{H zS0>f#jFLZ|>Rk7c6Wx&WK#Mu|`TLv~%ee<7-{U;d?e|-2yutHCzcIu0_zaWy_#4cD zi#bQM4ZU0UMQHz|?5f3|b*rKCs7o4u@wN7XCDrnO(g?XKQM^aL~A_Fqc8^Bsb4k_9 zfL+0zeHt&0BOi9)mXjt7{)@33>|aF2^8K>ud)Skb#@X#@1(LN*xC2d`o8MGxPP++8N1ms%{AmV*V#Dk)?VD%%6k}hYB;%5BNIOzzl!t!^Kf;zV)@*W zu$g>0w>b84?%*iKkIVMNE+gM~&bHDyN|A);5#E8**-6K7xy(;j1nII8x~T5)&|(F? zXd^mg@GX6ce-t|pP`?9}4*x3Ze}p=R#uv$-qtxwv>Sm82su%i}H#bnPBK9?mnx6Rh zDR}AB{1o)lMDDTfU-EVI*om~|t(>1)Nc-JD|E{BN8}1L-$9FOMjSqdI*z}*m{Z-W& zVPV(~T-84AOynMx>G|`n$Z?_XnnjV*i|@XqPd>8R;IBu=wdQ5!!J6RsV^@7j^*)F$t~$TMyXvgE|M&PNzPc6s zH(eM1coKWIlI{}U#KSj9B@c2BcZhGomUQQnq$%C`$W4FZ4#XhenDh9?1>ZzXXRiFE z`Q`w8FdN>igfAQ6&p;j#@aFk>IHyNkJ8g}4Q#=~tPw}RBbW)5ND;_Nh>J%5^(GcH9 zptJlV@Bd>Rgj;xpU%1P`Z82sgAy0pSfAR5S#5v=~bsv2-<448czxeoZ_lFl5Kbp8Z z8T(u~V}@<}V9bbN%xJ`JsyV7VgRz4<-ku#}W|X+iO+Q9wn6ub5y_Z*GM0h~1u(tR!s+69(V z?<(v9tB|Kv)LHt{!LA?o$$Q0Jy@@%_h8SyXExK;ayzl1d?uHG_X(Hm+4-}u)q4zX$ zrb2bj{cQOE^w6Yd7XI2eNHDbgji%DH%2`b;sf?XskOJ-6=ITO)Y3zgw7ex zI8|rUG`!?NWRU1N*Mv{m038qWf3fKK2Is%*;0$xo_;u#f6FAd6iuv;mVLf%;IHrfl z>fbUCI?kN82lL=AN6*7Yd5?26XB@N| z?})m?3w?L+9$_L#7h%t#Q=L5zA0TanBO-gQ+l-orESfvf+!W;qpQ8D6D!52v-` zfBi!4`gPF%|AwE)yjgSLL(m*~#U1VuC8L;QiT)=Yd#6^x&olTwgl+mAz60;*nT%6P zW7)pbKLI}-+QFmT2^+X0b^&+e6m#Fyjre)^y2~&EH*(OG=qcQXLs%SlN9Cn(e-!V< z+&`te2=iuSaW7%|v<|`Gb|@Z~nOzh+hdZFE!g}4seT4QMhaS>&;0$SY;A&H93s#eV z8+RL}36}D_%6mBPMcf~2rPLL8XxA|MjdU3o?b&M2`J=hxGb-9}W})}Jt{H0EJlfDf zUqDX8hXvgT4(27vDM=ZcbF0WK_zot`Av*J z^nrHXL%c0JQ-JULT!8QUUy$z|*g`zW66%U9ag^we#5wTQGRj_O9JVZx{M;crz2d26 z{iZtHgjc(ulVjf8oG|Dl`C-cq=3gG~0M-@44||Xyo|p+Xt!!PaoBR;19^~#@(Mobd zv=YtE%8efXAUDpZ*RgK&l6_7zJ4>&C>=4Zy$c1Cj%qbt5IiQ(~cgYM}ww|Hc7nc>S z$cpYX(;bOlnr7lF$y(72{<3MteTLm>R?FOTKl439A6~}0&Q1&GeRuF(eR~aKyY%Hb z$SJi`IOlOX?Y6ls$3@%Zh4K;qp2^2aKKa?@@UhxvWjB0p{xe;{Ty~DGaP7&jMpuaZ z61u{i6Q8dugy!U$bIKN1$R1hEi8W8|zE1po>><7Hw#L4U4X2mZyd0)5p7q#%=omM$ zkG(%@h)Ho)!+=DqVIXTj&(gQkIRELF3oe;{6Le2TUdA;#{Jnh+e+qhq&i9@czYX3Xv-#oz5v0=#Pmt>^6*xvZb|DI{Zn~H8fElm#pa(KHxae2$kr@yeI zqgtO0=B%K;gnh!Cuoe0J@Ayw*Ys@EZGvkZbWqsBNOkSfmc2?zWvD+((WApegsERqp z7$-UlI?yfnE2z&Y&KlO4<~mo~aNcxF#ci=Q!0S%O2N(zSFVQ^U-UYV>&JO%)%5gL4 zR~4bN5Wf<*7Y+E_?Aa&W!#YLBrnuf6RU7B4o~)4+tatP+Xx zySNvY)y#i)*~a;`4{s`%O}yfoxF4;U_x}KPaBmYQSix-|T>m)jC*QouMX~z-sR~!e zyU{mp67w6~Ls-T8M&2Ws<9K-Y@?OFFD_Ncq|G~W0&3i8I=vbfi#U93-XhbgZ!;LE^ zUneq1I!kDc$HkmTZACvFr?!#J(tf9o27Ihb#Pr1W@-p-N)?=K9z*u0nGq{)055-eU zu(#rJvq@?5> zoDtN>eQR~bOp%VMwd1-)1Cpy24NR_!njC-V?e#M^6QBC2Yk^t)z`!cP_5!n%FbkV` z3-No2+p*fm+CplHz6alaSlpPB4)WLhNh<*Trt?fnum?ef1}T&AIW+w$xtWP)UwWLkH5_C4fT0`hD<@+=y8 zHp^)WlaXhAgYt~CH5&RO&ytX510>H_H=f1WVzZHF-+|AVXBJ)qkL-83{C#}Pl^Xf~ z2EK|zwn?7#Hco$Rqr=||nHA%6_^(5zJ>f#8ah}~1OBSt>yqiwhoY=j;gD>29ix#b! z!FwCNDEDM(x1v{0+YMn#7U{bc0gJvzG`|0(0F*1ZfBls$s)nNP-DHWoJ%oo_pM#^OH-jCo>1K^@ zmDFn+;g)0{4s6OFe*H>I62ZL)f6AuwC}RcG*JNPjJ7@3G7hsVTZCvZ?~81 zde^O=DtWa;_DO6p?g_!RL|#3Jyb=$6Z@9ThZFUG7u6Q8COX8#RdB{urci=Jc*G$sR z=BzXEpZF;Oo^jI-x4>sJ;j{aeEM6mCn~5)8>-oyy>gxmi6mt-MGR$2JviBhTBtFsq zt6DQU2+c?Ft#|%iA9p41C-B8%HMGM7XCwTPQk{ms(j;@{D|R$9u=;P%L2Fk#I4hE~ zH{qX61!08w9^P2seRxBG_{1A$;~3QXhMKkuO?M z7Hi`Am^V0=TWzI(oS%dTH+*EbnLWmI5N6YgvI=(%@uFMH1?YAXyrNqIzRpWu!rbxe z!7=HeD< zegJ%4SVT4R+?}komc8jn(703<)yu>)E|t|S>X*DUv2Sw5yt_(=%==!chj~$WVt>XQ zE53%YMPpG%a6GEYN=iP;xRPpm*yD~_{oufktO3ayZ!BZV_5rVP=VjtG=By`tV(IWw zg)uiTsj|nRsFDe#gG=+0jDOYVjYUB_NN6njudD}MbUfmWi|*?=#mB#z@#wBEF&?ct z_D{y6%D{M}F(@=1b(Xl;e--xh4;hPkxvjBXj72ewMVrvAS>t&rficLBZk@G&$MRW37p0+(~J4_>&oXeggjtY}A^M zqkaH#B?;c$k4(_I>j#WKy_jDYqCcZoCT7xyo?*Q;4F73MYtH7gVQD6=XN$w%!5E{p z;=}ZrF4iTgyzJ#bj<|wyWF!5;!@Gr>z`FCSlv;bu*@+C5TnVj1+utsy-$A(W!D}(H zS=aaCd?$1|*6`8%Gj$g-VldxpuvNIp>$lV=5q&+8 zu}*m(A}`HVb9p!9@jA9K*$6$n{}$V%McRiL10CRb%FR9${HM{|e!w_)74F@%IkB?g z7rW=gp5lGmPiqSDcwb6>2@n6Opw*U3n+jfKEPI$R?-Mn)T(Z_~F8Jo!Ey%h}1r>~i zp14`Dy9WKc4Wn_6aVRz};)-cMSo>tbZTPi>#r64q><-@d13L>>3(PBV-;a&Jj`J#I zFuWu0V&^a(RpN&cX5q8uFd~DnBEDJA8sXrb^@kA-?g~{K)^}^eT)rRZW8&0)YBQ}H zAA-heLkoI3pp#^q+E4WCE;F^}9BMzcm(p5RpuL_UFX^F|BHJu@Z$0Z%(x-dEZ?VWW zty8&)%Rm=D=!(qlf!s6F$B7#n)VUu-=INfxp^nI%A8@yPq>0>_$sHQ|up7G3w(D|)sYExu#R{CLmgMDj)OnHj_;jQ$CY2Ij;h}@ z)Os2BdJ0@kqvi zzKj9=7z6ri3>axM-KF0e$$SA zqj|?(lU!1=O>3!+>Kfvt6EnZ>Y(-brzWWE!n~$P1C!sSB&|WI!?Z@oP{urJ4Gw z2|vnr6mf3ij-p4O=Dx_&*RTdW-gLUjrxkhSc3V@6nA=!ktSyn(4d~3?iPlub9SP2f zq?;By8^=jcy;b7{`dTh&H1{#M{or4WE&M6cE8PyhucExVt6;SJCdMiG#I0jIImKMY z!?*6te2BW0LxVJYZ1k6D&qF`be}lN)n*RX%ZRBwh^C``Pl9q46?y_mV=2v5R-^Ba( z$$LBFNgDGPv%aQaH1n%6!hAvfR(kTIj1QX_6aLCLBRzLWYJ&~4Z`r1Twq+X&+6f!L z9PEWibYb4pNt4NY6?(9nJI9Kp4`ahQwd{og>BdVnj^LllCLCX5Nj_mN{1(PR*=bs_ zr>yMO&T7|8>Z$!#YUfZJuM*v$kuTWJkJ8SM(7v6t^=aBzZ5e9EPTH`OHa)S#f2`Sxsj9b zy~a`ELGNJ9^t;e;Dj6Fq7#n5#3+<~5?LiHL78*ZY@}W&gzcKm-p8@adm>dpy!(u0{5Qg%b8zBY!?^quX*k1u+!M^N(g|PXX3l~C2)c^O)=8dE zgO9V<$6cjw@|Ml}Kc=ajZ);ZZH=+M4vi}QA@&scl9O!N7?sx9-Y za9dadve0FG=rK3KgHQ4;JEap|T)vk1HN2L_eYWC1@tJr_yeHlg&y|0u`(4auLwf~i zDw>FvqOBXfL3*9&Dw;}<(_F2ba)_qgb&hoC)?Mci?Ude{5TM^M=4F~w{f>WWJhpBT zksTA%Ei|VpV2&g`L^i#v(JwTIl5AV$7`Ss4^DB+bm%<;{AP;lF{VedF;G8M~zL3t5 zXJXky5mn-0Uh^P(0AHaEGE2W(icV5i=eBOjD4kvUB=)~5-aF7Ssu%T5eidD$nz>tK z&hlvKBVEjqq=(F29F{CSM7qcAoS)f+zR|(B-Epm%uDR89{3opNmkHlbcpc%Xgrk#` zDO~!A=3Itw?E$jpU0SNW?kXqacbUqm@~W(F65f3rI%^LMv-g&1jL2XN|GaVb|5o@# z$8U4)_~{?H|VPe5XBrYtB~2Slxa6)_6XiaXXxGJC1!8@z@ai zFn3E}%uZy??#r0nFNLw&jXg2LYWOnd{E;;de?+6h{|)$4Ho;HnOTKh7wcOP>?o;~NtBgfE=u1D*cay`f z^*wa`_|<&3^RD^Kr^q_1v3SIEWd3?Hpu}4-cZBx6d9dTSD`t;Kq_1n7)BT9L?=&6Q zwGpH4$_LIxyw(opf=hF(O58)mfpT02Tvgbpy99q5u!3KEL(zx>DNhy*uJDf7LAr;E znJ4njn!$+IfYsWA=3o)v(VU~0FxFE>Jj7V!#@~l*;J=Ro3tUCG1Elj%290Y5znE{y zCJ*VhQ@4j)KAR4PZx3;^z+><$6b?O9f9=JxzePLBZUyagFS9?R2-zk3oK08CT2CKQ z+uX<4v>yHD0rm&{n*W6^)K(X2r9th(;fOav^Iy$e{_qTu%9ga}MvSv&N>h##tlUd~-&q-rGqd zd)ejGB`l>THk^3TIS<$jXri%0G!EdO1OC}Ie%5?O2%rAB5gw0Vn*wVw_Pgpq-e$u3 zm_w3T(9XfWMQ9hOBl*2%+q}Z;z0-Bb*h9$QJZLc#dzI`&S;$b`IWK#ahqdt`i{q0c zFNsTDc7KoL_i%FuMkW7ta8z<+N}uG-15I)VXZf2UCi&o^n1mg?r#ezg4E}3;N8ltI zQyo1^qWr#rlCApgGCfN=uuts`e(&X5Ybld!QcJIEOf6kv!b&E!q?Uf}oCn<_bT{UI zWxjJ!dFLB^&V1!pN4^?)_s1_G?^+IjF?n}8vTi)|?k?{_b}P*pB9M7Kk$2I^yBOqM zFXUY;@~$`XE)IDYkG$)X#hfL{%y=D{r}cUDs}$s2GV*Sqarg(gu}N9TImYb%UWdP* z&*AS|VL|&W_cZ zNh5hYiCcz426FHE>{w)JEPXS!y<$P^n97B*Ma&WURo)Yu#(ML+;BZ#XjonajcdXW( zB@>a;)Am&?wAYt6RoufG^W4}f$x7V2#L@5BD>rHyayb@R&Afr{$wjg6@=c$Qt)z@v z&!x}X_XKNgB$s+D#b=+iZC{ejNj9bp{8JSfZQ^QZ57A8RaSXlwOj|%JTi=I1UfRNb zhd%mW%YG+~8~A`7DXMzdN$GQ8B}dtZsx|Pp(c4&i=;LV2z|L(FB`b7pkYHpBdKP^Q zSuz$mGFEG`Ll#FPKYAv=y0}O3P~=BsN=$NH->Bps$Pmd6$&LMeO|muEB&UAH`l;jz z?n%PKakh>Hj~_&CL|tO0cVPpXY|L1NOP<)e8hWH`M%Q5{Quxb++qxRzd*jT4iBV?k zHgqqQb%t$I2}37Ks8)G@_IWy4P{yb~GzRS|k~RModGp`Z+s>C)9`5%&YhTGcM_yGU zJHCqb-i|LJuYP&xpUA7qfPR*POgcEse0Cu_dnvNafs9H;SCgH60QUr^VqeL^zLJdG zN*O#U~fy7_0oew%#5YjSJXxt%lad?9PnsAgN(9}Q9fi;BeoXg)UU`p zp7~as&*|^o$oj8w*|Mvb&*dM=yf_>C#(r!XH4f|$wEf4-j}Ktq=wSVj|MBc|NjsP; zA7sv~K2?LPI&_`s+)qDR&wg$XdDkGf_A_U(Y#T^;^$o}_=`Dh306JNqUp|z~7d?!D#vET{5f3xlv1%ey+#D;>$u~FQ| zJ>}t~H%~lQu#bFxy>3fE4K|Drj{hW$Z{4PXNx*Dhzp>yk>=U{peJ1IIS9$23_Kn~b z{`(?FO{)N}bQI||+tzO=m`T_M@Jd#dlm5P8=pV#sp83}L=a_$vn)V!dN{;=6yk-)g zzpS=kHv4)!z}WLp;`HA}9%03VEr;%Dd^?b3E1>^GzKi&t#CtAs47+W;=zowoxM*=W zNc#`Q=W|7&iIl}*)-m0-;DOiSmya_!`;gz(Lc%=hB!gBGSXydpH_(gjFcJaO$HxXx#bL1r( zLi!W61!07Ze1i20e7Dv;H1?72RmAK4_`_QYuHe0ewReqKS~qTGoy2;$wqVGhUlim% zTvu?Ny?(Nh_56*r{YJYzJ7_n1Orp)SMz6Nqz<)P87-zcEW4k@hKo9XY^tk9aulj48 zvF!$t)x+4+YL7FlNf_Gb0p|U(4Mc0Kf&OR5nx28NMst70r2Wk4v(R0i#fC5h-Bo&P z#NzPeOu`Q&g(ojv5|#Ya;;7_aoRc-De`In*Qm^C(ft9ZMlqWJ-dg@%hyUB@k?V|{}1c~=Zrt*-0|n|dtc4?v+zrd zKZ)eoop%3VA7~oWyo5H=UFf>|ycc7E?mm~^tb5V5|44VEhwS~b8R#zb6W9Po0Nchn z7XulS?&J?6FZ)w(S$N6xJoccPMU&tD^m=p5uvhgi#;LYc2lx0|Ybx^NbnkZc4`!QV zI#2s#eh{VmCk&KCGF$?YplHDL>qc0DpMDc#(Z6qz(^LZO+lk@M2p z`F~O8G#lD{q7R!KI&d3&un$*@%r=Zc9%N7|V~<6Do5ikfi~iKcdXT=`I0My3pWjqy z;vDF{RmAPf5A(Z`wZ)8!_P&zcp81SrQ}>ZZwgt%%pYe^`*MzJhPU)4#-djvM*(CD_ zFSlV_en&8k^_TSd0eI44%k}VWrvLjRSN-BB|KdUlYu%Q#Caq33MIkYeZ+HI(~&o=Pr!&K?YZGZ{}9vDBm+=t8dTX ztw*>Mpd~ezDWUaJ1opuw`uS_vpL;C6pYtZ}U(M6I^yqHd%+~nzr${bW5=4+^l@^Ma;dC41PUMh;gm6mKRF1=%`x754UGjH(LbmH9e zhHN$bpQ>@lqw_7Cj6;{RM~E>fg*qmAPG40+o}JWL-#==JQ=8(_u=CM%r%+4SimU}ve%;FQL^lU7jl7y9^%8|KS~ z6@|VRb-ibV=@&@X%6Tnb(%b=jS};xaJJ|)+U)=L=AdefAN1p)f^~!@j_|Nj_K^{ZN z!|EN(19|b!@~~pem=@}BYXUYj%36nm*VKq-&bmS!Zf_N&gez0_jx_rEeVf zed#J$X?B0ef$?cZrX1uKbzi-%KjU zwwkD{L376)TcRId}qv({1A-!fBam){&n`e5R-O}{cGoeFF*eXof8r|H-xiK?XyDcb3-_DWY#}9 zFXZI@&!2zTdtbYqE%F|)IxBC*U((lx$k>&CW%EAf7@D7Go}xL5<|mq$Xnvx3%7x}9 zA7Za>vE_!veL}bWv=@AS>DB1G*zQ#3ze?A~RVpLozGR$OaR+HZE~Jj?1z<}aGt zwEvv5>d>bw<|Zeb!a3s;nf@!}?ajFj1Kff6$$(vt4jh|qZWGPN$*n1zC0~qEwa~R{=6%Je~>!O)_>-_QA$fzdzc!uUB=-+voGX!+j`8wA{^BLjQ zoJMnsS-`hbrV8Pe-i;p!bJ_EfBE?fq<(;cJNN}E_`H5gPC$V8D%WTTp?h5l~F#qr> z9r<_(bECHo=bwTN$e;0Ax5P$LlNY25<^FZBUyeaW>kOMaM+9J9mzk8ov`?+m8XJy2 zyD`EV8-_l+p{F(W1!qL{EObNZw9;qu(D%;hvU}WHrSF#S$=sT1`jz{U}H?HsbFB|JQln&b#6= z@Zqf)o9wuZK@)j@g?EdxwzZ1xhj7aF_4(+cc1^l3BMkt%&W z6S-)zMh^NT@f&hHgV};<`ULvd z_3&_yZn~}&XU0fJC`U&VOg8$Vbk^3&Fu#SbG`Z-y3bWpE7ld@jp6H`DppP~tnlVb( z+7#yZfnzFgf>pZV?+mwf-c{(ltI&D9@d4PCL7i85<^e0cTJY!V)ghhN#0K+#NB>zK zhWj!Ni_rH>e*gTzGa8{sVZ;h70PlbA=ndv<+R>%bl6hr$g{B z2jl)NlqRUlew%RVvTf+H-s9({c`g{YRB519+nSI**}r~@;_R@1KG}Hm+_bgIk9gJb zwr=SIH0)o0O}F$OV7!OUO}{3XUbLP{`n}GC63%Eu4`WWl{|-q}#-C%7s-5&Def#e9 zZvFGs0bNn{Q|XA>7f{5R6*>#ow5R6y_7vH=QuBr2dIsT6oP~Ss0&ojs18^#jxys}W z=X`(`%GAo(Cf%@=v9R@5@E$s%^upeZhq>rPvL$|D-7x>kfNqG)-HUz|lDkvi>6%gY z*RC--PhYx};cPKu?#?s1X2sl{Z_F=o0iBAtFZEnpA4)$*A6mZezpoGN4xXL%MfIUA z?O$9UssmQ~(1bnR^r5D&#$NmEh3&PrK6H+~*3~;?uif=!?X|Q2$6ouD*=ryCAA9Zp z*lYhU*lVNEX(Q2THE*}=w&=oE$Zm^1D!c9F?yNztqmLJ7We$=}Rd!s@sv)-SC|mAU z#;)^ixy9IFXQNBXKI=j^FT%DO=T5h6yRvJ^zN>KAat(7X*=`Ls+>q^7_S#zPy|USw zu&~tfFjuNqHe1-1A*iz2>>cxJ?SoS-%3~{_<&{=wC@IH)p_C>Z_h98H&5I+(BhxkeO_c>nr zC3mEnVslf=I!A-%)<WOkB%e>}vyKyu|ZL3JdMnOKeIk1&D>)pJ657^N7)wVs=hS7Ir_C6lhxU%^T5eV`G)fQmhx-Dz7ot!`N(df zd}O-|XAffp`xiyK4bW&?3jfWfxC`{IGf(aBfGyB2L+!*1m*GDzQiiMSI%7Bcipt=! zE?kC}E>ebmDuXNhD=S0s)fXV+|OCu?SHm9*J5MUeFqWD9dzG|_@&qk_qVa% zHP^wv8|?LW6DHem(IrU*;;mNdx{LJ=@zX@&ox)2S82;tjf~|GJnXt(EWAJy!AFR%D z;PVN$)4O`qFLXv$YmaRnVIGHXobnQWH$16-3hcf?oNTua;#a=iwXS6^_D1Z@t?P0d zR2M9Cabc{FI9T&gy;yhY%{orOdZ(jA`iw)i+ncZ%gD;nKJ#9F9ZKXHsI0Zcw-_Cvp z;`9D8WPXI|(ZO0dIMXP1xblE5v%p(PywZrKZo*j4>8*WB4%U2z(x*g|bkby$##58cp1_{KlBVSpbYlO8+l?JNO0;4B8}C|kmkd(9WE)pq0yb&< zCYN7lF=;=B-JWZ58(NGRtuwbGQur4=WkUh~X%w{5#!V@k3nIeIG|6Bea;F@bV@`68 zKCTW|g)7E+a1kH5rkRucqmHY?RpE+p9^54IYook%e;GW#7?+3h;3iT}?H@G%hqg0; zkE+TN{(V)IJwPBpLMkRzN!X%-$UcCnszgB4LcwkwWyWl5BG5K%lL*~ZNCY%G@|13R z#AyN%l{k*rYD=|dC=vx16kKLZcROwNuqh}Bp@4M0|9Mpf1&#jN@0&0Az2B{O-?{s_ z=bn4cx##jbSAK(gyAgJ(t@xbEa#eIj!2NWJL--PUSec@Mg2#5wS_MVk(BXDIVR z=BLnGRcwK7Ylcib(wMseUicUAWxwYxUSFZp-#AH4*lJ2%a+LGt{wXTCj5{HB-hgh3 z{+>xV(J@dzXC9KB!Wwj*u(8+SAN=mP%K0Wo?QZlut=Kgw_W8T`ExM!#bV7xZj@r9; zuLyp-E%?pEw}Mzl?Ihk?@rfzvt_yzC`1X2~dTj@`3ca}|?{;jrn#Y>Fri3#STh@5y z+_8GrDPFq?Vc1J(@^S7JZ*uM%M zy+?dL@wX8t_$c-nxAHrd-@EzU#Q4l76g+L?x8UkKM|RqvyRG3J!Tm{Vhze{!F2IQ)Syc=gVu@I!&;9QGyfzA*UwJ(t1{0sb`i z&xGgyS{S^~dntS$;NQCp{)I4j+iRD?YrsEaz$aq+1|7OYCm5iiO4bf&W`LGjg0z%1 zN9YZ7Hb6_!>GS>)ZR4!k9HA%gGxr;zt=m?qlQBb7>KEMQoPuuL;D4*}4Y=l)Pt~VD zUs!|VSyzPKtmECv7z>Tb`6fK1;CAa2&osepGxTwV$y(VC?hG7va&vyn$TUATA^rJ% zme9d_Uw)fxH+~wqIwo<(nwZ3)JgNxaVwpF7YUgQOt*pkKqzT*uW;4ZYsE^kp;v?cz z{bO^)C${hwa>ij8HU=ZHFOV}+(SK|zX*6-p7k&NohW3&%37k!6I8u^5Q1$PZ1n&W+?{jc+t zo|xL#`qj7y>rD+uOZwj7D~(O?l_reym3CZXwthG+-gQ;3uIgvfNoGc-n} zy0E`xpYWCs8dT>>f9qE4l^f9o7cl;^zC8SOuYo6GLngTL4)1~=$9NCnNCdR&DDS1r zc^h^OazA=#UCjSu)I^^tPH))HUCH}<$H{(5DBrcA3+2-m$(bh zyXZ5+AJ0_2g*~bsg=W~};i&z)E?{y4@t(Z8p&@lf~>6geGa{uT5UEZL6pncf=U;O>@h5}$^9F#E*fo>50-x(EZw)n$542{d< zx5yk)ESA|KbNEe!S}rn&A(3jfoc|uoyPRP$_75A>M$NEg;(mj?!ew^Hc;j5Oo!^WH ze5lxXc%~hD-cfq=MMr5qKGKf7>?pmuVM)m?{MN831CL9y8}2Ka$~%r1`j2c_Tw-g; zFTwWA>v>3>Jobk2Do=)f^iAbGvPXH3z2PV|an|9;9!Kdzr15CO(~iFBC_VnFqjVDQ zlJ`FnZsED6;r^2ClrQ-YCEw%ZDfvlWZRB;l-cfq&^FV$ZgYZ8kJh5N$Q{JyXaFm`l z;+K?sbV|Vhz1vnf{Mij>f%TV6 zY*<+$X}gQG(&Nju(qk*M(xWT2Qfc2%H7xDODvf?URgw)28`aQO5<%S83$@ab(85s- zr%SGB=%lV~^uw8wua;<~ZELjBYa6j23mdod#O3i`z`KesTINhq2?+w{TR2Kp{J}kp_=LLEqY~Er!QI3e{@nQDWm0FA zw|klR+Y;M4sei)s-OHrzKjmHOBz8Vc$tqz+-NI1`vkFE>h3}z?pSd;q!bUkwx%gn~Chv2O(y{X1>nIhU zU6M~3@8Nk%p5gf&jdGSM@;MUcEN$!OEInp+mbN50OJf`E+a1%e*r-cf!;;;SMCsGQ zsgx!4h-z49lquyOCB48Mp`4CjIV}?dI6}D{l-V9Evvn?ga;LMj`5w~V8^|ZT zPZi|~eQLzMD%7`%yrk^LHOOdam%N9c8w{Pfyxc$g8y{c#|9SPL|I7Pb`v1<%OaFVz zV-5dA>>~}C@gityxZJptH5kkA+vUum&~c&ZAwM1>zwI?^AIFmB4Dv~lc|5~?h)c(* zJD%n~v2*oNdSsS1`zzU3W0SuF+TZ$)n*A;N@Hk-ebMcXe%;1~cNQ19c+<&gP3*}^a zBzGD|>&NP2bg>)mu8-7Dvlr?@ws5LENbN?FQ zRb^kl9{#1poFM0-j58l?+@IFYot_c$ZjQjGt+ghS-&IazA-QJ#t1aC1xtTkSpF-9P zAD>Tt-##IJ2$jE}oI6&dl;6X>*G+N60sjqlZyC^(Ciwlvej<}L>l~=`3$LFKoUCsJ z^`uKA-Coiqkq=>`6b5S{;q~-&cz4BH+z$_S zc*_QG_KV-^Qt*vJ_^QMY118Pky`JA?84mAfgm3W3S+(Pv9sWW5uBIMs^vAKM9R3Ns zKP&IK5xQqExJRGtkazmy=vJ|tj;nc&_pi1%{NFy|pe>$HzQLaFB=a!evUlnXe2@Ms z;V`pSc^Bc0gm&yubCmW?^D|ZM0{j#Dcuc?ca$ei(uHwn~^=@|=Pa}`3Lhguojl`Jn=Zc<)^b>79X%Dbqq^1cUrzR5T3UD6yR%}1mW_(sND z(nOI)@>oW?#iUzAx`m{ZG(KQnApP^CeU7v{NgGJBuq3i%fl=;a(k&w0Leeb=rmG^| zUe0(PHpkZ72o7{`PAZQvPmb6-H4_|qgT8Ht=RHl|Wq=zTfSKkb{y{(*z$oFpDUE2GBnxcD7~Z-TLevTh6@e4Y5cgtE?U<=l&`HBqb$;+s+YXvuoAg3!j= z_AzmD_}wwn&bnjAe^>IdUBr!<{VA;%!%R5%Mk7yw#PXp7Y-<&Gu-T$yjE5H)E4EK{Hzn+a&?@wqa=Oq zy0Q!%yzPGy{z|PjSu@zPB2VSafT=%nvD;mTGH*p(1zEyh=RIrCUc)vR03Lu~_67M2Dm-rmw>w@t)#M_C_AYSIWwy3bgw5X^ghci%W(N9a*Gtadj zdNk!;-ZitDe7~8yPomUhIU}`{-;MOA;1qV(lk<6({+BzPlg)iAC-;*(T-A~fI0p;; z*To)H)~cf~Pe;$_MBg|AJ)?_tA{Rg9d7M|5J8DfjYmFh#iV2o;9Gh3MsSTCW#CuFX zHMxzwrQ$BNM)1V~zKQ%f0$l3=w*+?tzf=&XT33Nr_~K|=6Tqz&!8e=ZmISl9Wik0c z@8>)~c=j*eU^`>Ep-qn2{vR?XKr(MwG} z$7I=q$yy!K_ZFfrY<*1as!$_!4f*Pq;wu#Ss@&Z)6j`4s%Te1DrPXT4T?gRLW)gA8 z!)u%3h(ni)|A5-b#3k`G^&<|w?%k&0#yN<25|>CEI^ikuJBi=uhMTNftu0U8A$L{C zeJLLc4&gmJm#(h{Wr^0!eDrU6~FxDQzy--HDfZ8ImaGV zBQ&`R*f!SLH`$wP=DC`(gyzZ^D|8A&phGD^eN{8G$HBLZB^WjP;`LbMVo9{u8jUYS z+Bk$ZCE>e=JEv-`)H{y)rqTyCbR+HHst?_WQMYo=3Uy9!8^7yKy3kw2dlrw~j7@fW zGI|VjwmcO)#fj>*_J#O0K)19HSkYgI&SD+UEYd{t?B|))wap#P(?J@}4!fgyI?(;* z{U~F0JWtad8MEaKz4(Zgv+=X!_h&D-kLH$nkIX3Z?)&U{cgM|T-kUzFaktMd^FA6K zTlq+IOy&CMsLFd;N7hA0R*oV3D|I-;6Hh)Tmgw$}mTYu?bG2^d)5AFk$xHGH&*Oh0 zl9x$7KMLk^E#YzUc$Y`?ZilYk=)M7;EMxFNc7pmmmxCW>@_9Zd*?o+WRJQf{a*|g{>_fPqKHDk4w@EXRe`o72An-*_y&qv?)2=o21ksI7E zWk2rz)wF2$!|4A8rR{QyU&&ujOLo6Rx}mH|CvJ>h_7P9Vh^O2UtWB@bmX~;UEPB%Y zA~63>zB^0{f9o3Yr28@A?_+=VPFk{iE^swhMY}hU-!9g$Hr`+6`HJ5i0z=!s=J!JC z@&vzc;rHw0CuhHYPo8epyY1w=o_ZznUG#$2lV2TqF9J55M|63^Kg@7v@LSGhzYniF zlRAnY$)l;s?#8QLb~i;OFT)Pbo&Di(x97lEchprcxL*Lajx~Pofl==D2W)N|?c6{a z+excY7Fp~N4tUIq$%`W;PYni1>&DIWNVRx|2?F8TJNSg(&tIiC!=uQRSO%2=Jdq3M| z;FRE(<$Q*LQg3B|LD| zf4CoC^oV;O<5Dr=5%)pHr5*b42zM|Xxkve@b6!Z~0J4Xdv;4>JRsJU!t2*GaI7js2 zRWG>(*W`TD`#fv;CT$jcTg>HByPp=i4x19H9J{VdldYgA|RH;99+0uT* za|h4AxK!#>#Kj=*?}J_|{?O30xCDDz>}|HRjyPv+cRy$CnM7ypKZ9fbBxmhetF!i8 zy0bO|I$BQpNOX4PQ!>+TQjwLzeiome6XU3z+Q(6w5#gv^y*f2LZ_$FczC;J1lH<|~ zqf^npjZP~>Z{`};KV8nvtx2)r8zMXHnX&8v!ByccG;megR{KOwx*fmMT18I!+T8TF zYU46ESD2CZZ{_K4mDQ)eb!`H71Y#p?gPz}I6aNy9+B|ffx1r-pmG(^G_F3Z3V~6xC zezipRXOei%pH3pad8}63maEm`V*=aik!hk^eQ7d0&qU(Tt3DHlUNuMat}{0XX#h&&E?f*C0D)5=K-{=SWAak`j-Gy#+I(pElKQX6E zK2v{|nl5!(7j-c|x!}Iep}N_Ebrb!l?Pn@oqi;Z$EozG(buI(pG-HOnJ9fB`poyxOV*=<7zX~WhR;hQ1pJl`H6G|oW{ztP|~kB**h@SDdc&R8lu=hrzi;feBg z!Ydj4<_h?aHNt<4g#Wk({)4BE2cBb>v92?Jh4+{Ouko8~mCzUdLwFD2J6?g$2=N~O z%5UK{hQW6XX8tD0{AF$r?-qY&gf4u$g_{loZ<;9Zvn-w_$&J2+b?e1{o6 z#)tgDs24Oz_zj^4s&kY(gD1d$;M=aV8heRR?vaF9@Ep^#R6?BDH|-dC$T}@_#l>U) zpApMqft$%QoM%?oi|`#U!gsv*H+)ANe24HEC!ohdhlT%$fxi&`BgA*)!Gm1RFWBKl zgkQK7S}c6Wc*3L9;WM5%@_A+PuiP(={FVF0#hZ+LCa|tuiSPJ5bXD@18O&!aVF!79 z!qbm@%!{9LM~{5Uz2d4D-LftS&mnaYena>d;WwH|BYEr!=J8L9HoAAhpByBQ8u*h& z!oR{J%o@4LeJyMJQpTNYg{TJx`ZL9~v za|my-n0nj?4po!x82vDlG|vNjA7T2UC-9a3gu4^o;C=Xj)5P_|{^oi5QFsmUQ_~3S zU_u*Z7SccKfqRU$ICw@JnBe{^Ysobq4t1|(T^fF1ggctF`8K%<4PurvRJ=hy(Bu#Yu9i}gYH1>rr0C8~rF&mp{q@DLS2 z-lO0H$F0J96yXmB-eaTi9l}dg@Gd+@9pN68xFqwS&29H_9~`_z>qjWs;e0UAvFFdT@+ra63Y@>wNHtdJsGwkpcVmlNGui@ZZ9sJrba9a3_X85#7#&#S0 zh437LLxM|!Kf-qik0Jbp;Fa(g!dnQB5dkkDe8s^qK0|m67rav&q3{+j!DEOGobW-y zdkAl_1AZgKU+jc865irC{NE1Xh1U?vf2Kfx(YlY7^%Cnts?~wQ3@)<*y0q?$! zvDpyhGd#3$=z;6pRkSbTz|j8{UgPFJ_1@8j&4bXq7DBN}x(>ap?DyE$;+Ec)HkMHI zu}U4fRdljSdH5an$hYtZovP?nFFtbiH2k@ZZ{d&RCGY|x@jvYE3j6+x{y99C?)zK* z>xb?8-)G-1`+eE>%l=>X{j%pz3hH2s{to{f@s#;pd;Z>X?c>A46?=Sb>G6rCrC;Zm zms;4{i|_2>A!@wH0A&BZ23gNQcp>f}t>ymFTJ9gM<^IuH?jNm9VQ*^O-h=J>19_eEcu=1gHeM-NLYiXNLbo$xx_^=a3@pIwJf z1o4xgk>2#!$nl9BNm|m!o(u)SBq}#~Dk}x=3 ziyo4$;#1RqW3#1YVY9N)HYUwX9hUN2__~&xRc#i$;dR6dzjrP1!Us0bR<#}Xs@i8c z*Pp;Qjc zT_HaQ`AsK32X=3E@*7Ehj$~!z=NhQer7bZL7xR;|><;*Bsh=$@zfj$r!MbVK&@oc! zjkNho{7&a8g{_{#mQK~?lZS%;cBv@*m#QV=C*yJAZ1C8b;8g&S0QohvVcFt=_ zoetn1ZmohgD-cIb(WE@++>3v=3k=U~d|G1V={BAr%SaF{^RKb2| zJip6<5#L{8`{p6cAY4f(H0pzCeWrR+^nXw)mG1H6eLw9;y+mgC*=PSdw8PvR@bB~Y z(2kx@zngZ1sAO+>l%e12KnEvhLN3?uh06#-zD0|C@XOE?4LYMN4(}3laJRy*j3g9Y zUmxsIr{Ih7!KG^B+t_=2i`+3Ed3<$+S}rzi-;`U>%~|x5@YG_j=7$eIQ68b6sgKaV zM)%i^zV9?TzVqny&Y{;kg#CeM}vM8_+ZCAkNOSgZHo5r`riT*qho&`|Wz=pJ4{JT=|C) zw&tM2CG9uJs3UkkiTwHmdXF#nW2cVZrwM&fGxwEA9b4I7w4vu~$DZbMzUR}fuWxqv z*O`%Vntapb{-&+?;ZfLA?BzWHeTnpo_}t6q{oC~pe**giIWH)7VDhaauV~pmo*g`P zo>S;;4)M77{X4>9gI_FKc00fKQ%?)L-gW$r;>o8yhOU%;&J#GELfWvG_$=TW;YHT* z-WGzZmvQkJ<%%xH;o5r33G7c!qSO8cJ$-8qynDIBFKeXebi^Lr4vlDZ1lpmfyD`3$ zC*v9#=MBt7!6DH%K(Lm)1Pyoa`$tRF$ye@EyArS|?1#;u;EUYHp2YcO$zSfl9n9}4 z#w^h{uCjg6%1K#u=!fyciLVX4jl0(O6{pNqJawxh68EC>5nII_yqod0dQ-d_P=y_0 zVYGFC-J-=+^DRR&#l3^hMnxwLFl>C|wKy1%I2UjoYA|ON`dM#8hm?!Gq8&X;WkYjG zl}W24ul|o?D>EH?#clUBmE4HEq7|FOyRcV$w4tR0e{=oK*dD(53#)b2QqB4ZHjNr~ zhW9KrTT`%WT!*dW0PG9R*fdVz`yYOhVtttW;;}8%ux0%7{R6BIEjC-Dv3)GZ9%l%4 zg#)l-eDnTz>)ner#M!>mm+&iHMtzd8T`atRh&5~R0P7HJAeW3!wZ>y_H~`zlw-b`B zv#uRtO~(E)BRbytY{CG;ZqbG9;egwGrMF^ZIC5mN)r76$9_~4ayTeyn)5HD4Sp%%a z3GvohuRNZzBRS5Rm0+^Eei4}%i@l@hqhjXyN-M}i{H7EQjJ2*KAJH?pxJSiz9^XsA z6n>IE$sQkLHSI#9y*e_{4tzTC8NfD?PV`V}V_Ayim*1Q|$w4}8*V+^tumTqjlmBh{ zBn=$M0bg!mjWT2d=%hp!B|0h5MTt)85`7eQ1Y%nqqLY7b*lQm5gU;6(e$d`j{!X(w zTUEIx%UQCjS!(=Ki`1^hH?hI|v6C}7+o z4ERjzgl>wzw5F}tJa8^SiT^ZTB7T}KyjR*AdEbwH!K<86!*^Qa9&}^No!lc8@R^o$ zXmbk23%A?wnHEpES#qx&brGLi;$O<_&~*4T!*80<2g1_@` zQVB)O;XL*+azD4oKtle`B)#l!Z)Co&r9C14Y2wF;vop)q;D@UjmG@Np z;ZyBQaO`9s(qc}^R*6bKeWrJ_ly6H5_z%<2(^j%alzNJ9JtyZL#n*Tv>(QP3PKKXK z^>OdBGU+J}lRnuuP@fMDG~-9r2Th&H_zIo2nH~NSpN(*v*sr6r!apu{Z1~j`IPv2o zdaoGvuDQT^_?;C@fRxoX5Fs{OsoAb4={;3xId2C7k!TjuFCn%tLak{I3ay6eoT!sXX4+K^4GAQ3(lCp zEn~f-KAQXnKSfV;xlb}#%WQ&wj;--BR>#>xzH{$}}TGl>F_) znPooJGglZV#e2Z7fRtsqz)#sI+xW)(F$)a+Z`e;!pTN7sGY?L1o(dk$Sntgt|GPtK z=Dj6nVS|1g_--Q)&)1xrz+ae*hxiGWdGtHr0_iEkNRJO?=8SxA7Ml>x72G5+*snLk zKlm>A91Eo19{g4nN>d4K<7~oIDIa@x@i|s?!RJ^Y&98#r)=L`jviT`&PK>@DQZq`v z8F3E7hU=owu|V2&QXbz0-wmH*(4}V1VT97Bh0<4}O9RGs!RJ^Y{m+Bx1xIEXb>^Je zi^^||J8kYO>FI~&7X#(n+5>$S>aPWop6^nAHtA)~ZkF|;FjjAJJN#kixR2ZMSp2!W(Q}$?P-q>|69LlV&Boo z`kfD*a{}kV&upOquceoL7d-2EKJ-uv!h`SRucbeD1^AF3HEB=d1T|@i_}FEw6Q7BO zA2rs`racbE4qlM8SA3~$+yDJM!qY!?D@>-3X*GFD%Z>X!gC6h@{Y^x+$?=q2G6>Pz7slY_r&X;6W_?V$aowlKN*ik z#-;33)Wi+EJMbO7oipuM%>U4=3;Cy#kBkpzhBl61OpN@ivh_WZKl%L^c?s^XAgsdY zpNy%%Hd5bc#?KDyYXS?-ybsLJfL%l=b3t%G>MgJ{%YmidI|bGitM36u&V&6EVdJsh zanc86@p85!x#q^4&dq{HMj7Bt6LDK4U16;L3h;ADH=EGG8Ifkv9j=GxpbYcL=Sgp> zY1yKAp8#IgQCUNu1$H#@MHgZI8@=O*-`Ip*l7hdI;K$ z{~3y-zYBwL-cVddtZwuXWxqz;#q%nEFQ*xRyMhcN%wNT&=SN;W^uuKkA-QEpjydxO z`qTU3;CIU)q`$-Mn?43s#^NXRM{j*x!0xzS`*;96(a+#RMeZOrO>5xq#jfdc8zzxY zJP4fJFMg{NJtz0!n6WSJ@5)cxj%~5XEt{|}R_O1(g1@&Tqc~oU9dUUK@`hN0Z~kn9 z+BFw_`IF$-Sn?5ns2^`ohfbE8^bUegz`-Y$k-x0p@(A_;Tx#Y?zT^Gw^oQ_NGnc;%!8b$#?_ z2ya{)ua^=&G%tB>*4jvY6?Tb}%_(tD^Q?D`*XxH@J!w`OzD}_pL#Z7(3XzXk=CL~6_xGS3>K|U*-}jWR{FC1 zyt)6wQyu+_c2%V8IG@vB;-2OAmxSwACnUauonVWt+>j#|^IPt`+;QlUlr@Cqgc0@W zyUlBqx7Ve zcdu1?_mlwKpIj#WkGwam<<4pP=WP#g=tQz4EK>fr(fxGS@p}pO<_n4E{ax}&LJsxU zz7}^9deonj&dhymJ@Ov!@UFtH*^DjM?}0lnaoDdtByo&S1w5T!;<#7xjD$AqtKkFo zQ%1MEXCX@m<}|;%kzc&cw|#Y*o=4oX{C=kn-w3ofhj$Cl5z2m_=S80GDcI+kJkz=t zI{cNuw%*Hm1>P&^NDNy?X&J8hsZ;!r&i#AbS@%EdjxK(|onE}hZ7JqAb?ntV)86J866x_KW9OXI z*W*nwdA$ExQd;txl9H0mB`ZswE_tXVMN{4(5z3n!qr6Fdl=n=8$7?}0)g9yUp6%oD z`ZbSN;H6I`&3e*E9z#f%OgeXzq?^g_|K|4w_B&bpmODi(*ngct z##VvstpWHS!~a{*El&Vm_D>P$sviM<7<%R5=#@Q5>JFhP?aZT&9OeHxebSoCJ##a# ze>Lcj8-5Lh zra~h(nt_8(9)eD8gg)+iJV^gWv2Q)j8Z7DL{<8v~y)sidCeMbR4M)}{^ld12-uwi* zRt!!16|^kE6cLwTii#TvofEqD{GWhus(O>SC-3KkJIG>~M+x1Aw9^fl> zJ^b{0Li?bBMXUR5DF$|p!~;{ltNiKt&_m#sJPSRnh8_Z+QbZmSH=o}*+yz_>JuJ3W z#NCgcO3E0qZEMO_=%AT;O59dp%b}4m(4m9aT3et?5zwF`t7EJ&LoHV9IlRnu@BFL? zYXUSU20A5oy0>!XSm<+1{}}FW>zinSMnyn-zQkr*?l3OSvRI2!BaHjr#a8@bV8k~3 zG0OasGWSvDL1c`3fZrFi@s@h;ApSYxw-WzOFkb2?w&D*H4_)*ZFPdL6f6;=Ht;p1h z7A-HSfG4jw^jOLs-cha^w%^DxC$HgMY`@_MpeqvlZ^0kAE53p_xto-` zi~0*b368~uWNw$)HZ-+`UJ%zXvEbBRs(j!rt=n zhTKlhHf77YjxI#_i|_M|bsGLf?pf3J1Z(=_9IOEiKLi2jI!?#ax`pf=V zP52e@RcmAPZP&9uo2MoSoTrfQqjxOHKQ|%c zvvV)PkBikt(VIw|9r<3TIhu1&p?9tFY<(26?}fkp?+lynKn`#W8w@1&smi8Ril1l? zaoc#ro+@HPo;M#^M3yJdtJ%1(&8+adWqH7Ss4T??%qoYvJugamZ|tYMtD>xNYq;ao zRFdcQP=Ag6j0c|tO7dlDXtB=T|w={eNJ&CP`*zSnl=|OCHZ%g}~ zTcgb1QAWs*P~dxl;S*>MFkKq{7kEyA`%d6Lp{$Sj&1MN-NuFsx#TMjxLMh9`daDKV z?@zv=z6sCsN$UKHQC{@u>wuB^-cBA;XP@+QK+bB^H=p``Lf$%MB_LC4q>S76?V(;a z!eig|-tk~PG(j7*&pI+x51d9{M4 z;AXAJvWKeNT9IoFE8!iy8-8e3ttNNiasM4WegC06&%x90M33(Rt^l3SO6-85z>!}Q zzRvR*&rGFNo+2!Z)hZSD;fZ`%?!$X4?REDNc+)J#zk|FS@a!3kaW6KfcE-#_pZ(39 zc=eI`9L5O!;_@+s=mMAD^<2Ve#(wz}!n?VXBl*vEH}d7>s|W=jlE0j|>~4OqJ~+Xh zK$^SgH@S0e&R-@P{-Wj??~(f5z|E20$j*k4m+K4C$vb-z#%uXx$=CQEr5C2X>YhYd zf}h~W@{EJy+)^%Mwp{F*0&tP~cG?I|EtfIO_-KOr72XGsPVUDuV9F!({?yCGckwlK zyX0SQ(FJY{c47sT6Nrn{wU5TR@51g_?(Gx&I$9s0%lAogXWoHv!8`T>aoUCVNZmmi z8~5iOpE(k2hGOb5S?avL*Rl20yWo zGw&Ywi3KsL|62HrC4JDfDY-*0j{7?@(y-yx4SD%M>>E-evB3!3qZhhE?*Mm>6ql?1 zji&wq(owal^ZNH_wDtiQIH1bV%s(%s5p$6PhLRU7m}Y^YX-d`GCqspTT6+LKz#L?%f(lpwI-iDm-1a? zu_9-c^Q4*e_@Uza+uY$GGDVRa=M!e}6sFqTS=g3~Jh2g2Cpzo`WX(40+@yXL$OFUc zU?EP*>HK}54wA=}>TpZ24i>%}GUTv22o04w6cCC`d~K@TE$0OkzvZl}0~+87^A(64 z%_VgR$dRozp9bq7d0eRuSBLil`|j|52-TsOw9+Sqsae>=+XMXoY^Wc^-cRJ{d6(5e z`bPTUcfmSHepjkPY_JZ}w(zldCRcDR&^O{+PUPv*j&An4!|+2VeKVg>#?ZzZtI!Sy7qlYkj*vb7PPU1!GUl3U~bryQKR`$kn*M^Ko z3wu-#d7D}9-T^Ocv`5Yx=Sz9~mih`l80}=Np`iT|?@E)K5wY1kN4iL4sG zOw!Mx`{~~2dk7ch4qy4*@`OTHCH*(JrZAYkg)_m@exKY&V)%9n+^_eCu=H!f(g*Nx zaLt^s^n#0_I)uuv38oi3bcdx6jNjlIS6F%*Fvfi-VdXy^OfT&ho1V~JaE&MMg9raA zHUjx!K80KC0Xg-R{Qi0_yAQ45`(Q8gt^48kz=nM5hTjEO0L}>A3*7~GHFT+o_gHv1 zkyGz|8ofVdA|2j`ye9S4tlsDLNB zvA+(lc}O9bwmSyseQrPw48NSo*p4UdUV+~c2CoL_`S-z_BAXU?P2l0TlYk!z{ObZ= z-8)Wr=YV{AV9mcxMrIr;&o;nFCui}$oz}Toc=u@14j}Dwr1fkIlx4`9$^TzSEBt;h z-y(n!*`~a=N;$|hr|b>Nmt8UXm%+FR!8pnLPr-{mX(l1@UfN$d7`sj~)%>f@1Gr{l0 zJjOlNv`zM8BHKL$Ejtf?rWN9om;UWEM`lYNVh=8MYT|c7&a)oRQ9Y+wzq`y4*=NmB z+5VPUlRGJIQ=}S~!~SJD__i-$YszPR)wr#(>H!~gb^9*|TenS7^9B~Gjjfqxy&K;W z4po@e@~X?bwk`@0V?{P25M{NWH}tp%J-|@f$kVn6xz| z$E@ya#6Dr~F9%ueyO)zZ1S%t*(&1l(@gCU%z9^r<$6GR*WReI|XIPZ_P$P0A=Y zMd{7-vy^pqMW8=hSJI!W=+An}-jAOZ?j=8$NuLgp$3%Mt-NL{a=W1W?{rK2+(WT8JQ z8H1-7gUyV=7RG>cV_lprE2nJM!#QHF6UQTVm||mq4q{FtIMxhrF7(3g85s?f4q(93@tffduA@C-_hRJb7!!b9q5M;T-OOFFBjh`6 zFuqfN8RsVIJeKcY^KD3L?>HarcG}dumQ4IWlh--yA!U4IEH1R2yn8FbfhU6aM;Yf= z(e5?0yPS5%(e8el_r_qmW07T?F{|uQ`^A13pJL;rkDF4}JmKG^56wg`FhIPPdOh@4m!uKt(y00%8928*3LO`gi@Z^BO7B^#5t@Xg6G_y5E?uB z@!a!)u^SQ^JNoqei{$+>dA~~DOUN7j^FZ>JJSA@_L-N+iTjr>iq~>+AziO_=Clh(w zsC$uPT%cc>H~tstqnCqyWMYm+QpTSt<4ekDp^OhGh;Purgq`MO=%}hepOt+8InoC_rv;y=Qve5ob@^2J|3KQ` z^DQtI1G6RVUEq%3;dkNSOQezSRaZ#&eYm-mbn^X5={lu;SHQt1Nh5U|XHw(O7;X4l zJbnb2M(l5;&EfR9=3QB@2G!iOCv%g0lXjh;kL0(USCqaz9qg-4`ZT<6<&Ii`Yal!t z{4IQs^smIrn0L~@(znvjf>)t$f*0~l`d+?m3;QPV;p6gjFz@hn=0~*WqYLpDY13@t z-@Opex)h|LHxXY)ypJbThs(=5SR-q@@By;c3vVDkrI5YW$XegYT7TXg znSGA+&@W^4D!hHNdH{a?jBW1?SfXKweFD{tp|{Dp1C_L6UBwxB8rgXFRoIXVv-OBqr%IGu?%9gggcD{F<(6>g?+a({; zt)(0}ue_JG?Tw=kTQvPV_|X-l%hjeyfjVKke{L0dq7ygPlvgS94a#I~IkSf{Szk_9 z(uYrI-d|DXHX~hXO%rg7DMM&4IAzpBbPQ4_@Gnpw#?0=Rs7qh}Gq9h9;=}5B7x7&} z->%SCxART*)rL(=82|ax{X*Xc*7X0+%uQlnFXeWb2WB6pE>b^vZ=_vPM+bRmzzChg zemVP(z#Qk1Jj3yK0&pF~3v8erTDH)lrpw|a51~Z@Blp_=l_xX~5+{8j^ym_Lk!$%_ z=)h^{L>FVuo?v6^X!>@QX{X(RjyG7BHt2-VmFD4u%!`&xY^@o$_H@o((B?My>aWda zy>+z1|5dJ8-y5yw9j`a*$IKRB(9y4su*%u+c6i}ajB|UU(`(?_aBQDwS4*bD-%&5} zW3wI&O<2tSPR6{TLM<2nq+&CD7#>=D|LsLaDtO++w>EJ7NDlSQ1s7&0|2Dog-yEP1 zG6!0#@fpZGC?g)4F}pxQXpfUH8k~`_T0vQ-$m0vuxw&bD!?=q@`oDKy7@b(<;+(t1 zpbf_O0GAJL2wWF%lFz2vOk|NVc7Z$@*BZ%pANh7(-tYAjK1N?>_yUxBRE&EJ=ojhZ z&P;IAH^tbCNnTyh}^?hGw5Jvp*{@nfw@I@vA{1{?ws*_;-sIuc;CZb?Nn~Gp3j|k+iy~bWKGCbL-gc4wcBOO^%uI-nL_lgrfB6Y zOH$(s@NHex*HK%DpL{#={wm>}2)l~dcbEgTZ=nnMFmVfztEuRPX~oFY%FE+|^LS8A z6STRGNA@G-gr}iJ)$mF$M5>;hv8v|}eU<;s0m}bIHvU*sWE`Q1M*2ZD+kktJKJ+lp z9DUXJ@N)-$i<^PI*rB509@WfoOJXhFnJ8Tr z#zu2)D>kkG-*hpYW6AFu?R6ACGN;6(yao7Y$nR_ME>&@H4@N5Q3>8CY@eaji20L_b zlR2{Hc)9Z4LY_z0qq7747`*yd@ah&|-i6=IHznvtSVI=jza7xR}gLkAD{c4 zF}#j3e8xyWsOBx;EWt5U-*P7ecs-nX^EmV3zzX}ORA|a-_C@KewdgYM5ZjNYBfWPF z84$qb^>#I{s|EYwa+41IIAq|U>mQ&CgP3oo8o{Gp=DO7X^z#ASx*V^5KT3Jys8b>7 zWZnutwVisMhyVMZ-cy?wQI~vhy#QP{b6zpOuc|GG_72S zM_R8IZ|ZB*Z-Apz=0yhYUGP55Ehd9cDB@k}*#s}NppbFO(q_+Jt8`<|)JuPh++a{m zJ>PqwciRb1vu`eA9KUbQd`AC1W26uC_Y1UXEOjrWUis839~^8lo3abRRk;IQXvF@( zYF;V4h19ntm%UvPel`R9$3wu@6!|9UGcCfiEllfuiZS1eE?O!7P0_07?s(ofkSrEN?V-3KTKT`DAOpXh;lM5mzLw1e4!lw7RuTB-Q_$@ zIj7C3hFcSH7J(Csp-B%xlU6~KRzj104(_a`+-;;2dRYL>ZItn6>}I=zb&)l;i{IVC zGk~i`og9K|jOSM6&jbDxJi{A&m-?S)Jr;Puzw?sjvUW7BSN@5lIZb)1`5uA~@FbV^ zaT9#lHNXl_V#rJ{@FW9kZhc4Ar^K4$Z)R?iJ*m|5yg7-old`{{kEBf!Cou9|zDfJ! zdlGpb07mL5Iyr%p_R7Aiokz-&xg>Zeb36`s;Y%*WGyf$%g7`lZFFcNX3#aXW{p+dC za&N}vb^DJX>>GqquE-)nFjBYYcn{h8zWNiT@_wz8wZJ+4y4~tOazKm86 z*tq|s9GSzmWRXKL=h-ivgP!JtcY+H=^?g`3krTlOp3Y@|!@LsQL-OQp*%RPv&+Mnn z58!tXG7i<6xA}AU6JvZ+YgUn7%=q`I%TQBT0m`mL& zC}SmMtfGuHG8foqL}}htl(E-H$Gr-`&87_Tr6gt8W7NEJ)gm9$E|yUz^g`%)_Q%Xb(K3QTCn6Ka@NKR%9)bPfsumwMFK(w8siu2uAiPAzT|oyv*ys-h}wzc=jV+ z=C#C29*yBJ!EuNLM)o6@>^scgv+wXlTyfta`wiK582g8G<^P!W8~ctHQ()f#FDiSD z^)@9A$yO*^=5s^+P=E%H3Zl8 za`tjTBzLpYXR_BgmZLZerg~(bA>U-LA^VKb9%CEdWS_B(Z)Nn8><6*xpw$o+5au#e0eW&g*Idghi3=mydp#Dp38oY{%mHBIO)$8=84Fk zTI<=*F<0!w{U+3xb(2oP3q+s61ThA$QWQ^I$jZ;3Scr}@0M#JOq(uMJrq=MWdw zDSaXK8Vg*SUM%1HxoV5oYI;$frtetWKS%>pYa&P^dq?5b+hrdJul_b++n31Nk+T=@ zTlR-XI#kcmW2#4VW!)|8&$^XA)fn&8n%Bv%3;2`gPZ@i{z&LWIIyl}T-QVSV!=n?? z`+?)V@PdK||M8Q6-tR8Xn&q(XsKQ@Q4*QP1_*?!{sv0N#Y|3WeQN+FjoQCe~l0GS_ zyW!G(hu|`@x6`bJ!k^2&qo%Lw3GHWP-|-bVR7g6(H_=bXzQafT4>3oLaqC&;wVC+%?V|O@Fjc-23`8zW@z;m3vgRiHKUVP%X8+)DJ`Sg7;eJ}ML zMqGr%N4dPsMY7%o#_>MJR`!{VaW13&iy6a3CQV=HLJmZH5ob)Et4p{rcDan5++WcP zf4)t|4jx@A)@HZYD}N;MqU&juu|wZ;^q}gI{mQvdk;Om@yI*7s|BP>b;%ev%SzBHw z?=I5*l79FX+Aer3I4pfIK04F~$=}%ri=w`(4@`X<&*hfRryYWWfj%(xjbPs;ebAN3 znb2JN0Y2bw`d~YKKtBjB8+}lx>Fdm)J{VM!3*8yYBRreY2k>lKo;F+d!I8wvK2-W3 zgagtCf(OzEA=!rX!D6Ei;G4-?_~U8xfngKGd~9bvreDB|WL;!-jf`~@V=emN0KO#Y zrTi8gZ62uR{fRxCv{P)fWuF<`!|gKmaE@vE;i7=tU1ZXySHed@Pme5QoR%=hmdhL? zzJom%^(tv&PemTA1-tB|HFyZ%2U5qZu)4_kM5D|W%B;SyZw!>FZqN^}3Y2*k-s&`R zi2EdGs}Xm3HE z0N*Hdjs4s%o9yS-if%*rti+nL@QbJ66=fZ7IR{cyarSfQv5mUOovv7g&z_XX?pgz_H({*-*XLVe%ko1q)K zLO<5=?MnN!mc4;}+S=Wjo8&CAlz+yYm@Tqjsi(ZlzC`N!3VCS2oI>U+x<}d1%X^^C zTDI`m@>}HW7x!rwY3DZ5U)-l%oQqqC5AD;!^OG|Ele{kO>jHTD1n>umm$L++F_dzp z4}VA8MLr|S&`Zf0D14mw>tKuz39Q{AV>hs-c{KbKYiR3m&fCCWh-|sT3ZGFlW3tGj ze^du=)MA<3m^)*#tb-j^2j`5DDZ^*TTG+v!x#r-lChyO!t)m2aarw6c2-|x`Qe1Oez8N7-?M`t*_mOl7mL?ucdRm30 zUz^w<@V6Ux{(^Sx_HP=5hEmi0pJ@n}5;pR`Kw!WjSM1%c4Og9gUE+bAP|2mek# ziT=)Lt7DM<4!=dOEOPS@kMzDzXw0CR#cu@k??O)mmjsWVA$?acO?dzRnt0h026WWG zQ>MUgB>o8Tm+-~)m(Fw1E6F@RRX=00q_;bSet!2{mwA2<<12Gp=Jn-sc`mxwbr}IU z%Uo!H9r?uz@VUmE))Mvi5|EQa2ULV}XRPM%$3;LJ><%wBOxf={)R_;Mv+rhce^rFG z^JorhYOd3Jgt^=}+vz=gr_)=>+z@$f(+XFq$Z;F1U8OCA`K+xU~tKm}a`l(W7D1A&r z^edN8=$b)SrZ{T{sKT@a{N~DDMQEAOG3oCyybCQlq%{4YL(@O<(C_rM%x#&Y!{z&2 zXYG3){5ktf`cl*2;20#;$Q&KYcVpfXHX_gKPn?X0BQ`(nBz;`Z^A$8|Jz*ELZ~-Cv z0Kbb+=%4V*LIY(ygboVrJIWXs^NX^CzWt~FQu@}k=Q8>RpCkK~3wXZwQaq0e!}G7$ zLkfO#4kmkl5Z?vYkAvsO!0`@n{)jm~8(Qo=Y>vxr1m`!J04 zbvKBY$-suzgHzQ1LSE1l$t!{HUlD%^{WnKpf2y5?rProN9xuAFV_w)Cvv`4c)6Cb4u3PU_OWql+`jYx z4RgpkfX;B+O=@Fjt_3@j{`!Ut)&cex?d&gXiu*aQaqi^Yw7(r)u${BR9%!hXk6SN1 z7xXgrT5V@jrqg?LEc0U`b7P7VJ)Xt=B>O;-Ar6HHXdLeJK4LQK&kj}d>iOn`7BoV4 zgtm)KwcHoS-Ra&8!uA$;3)TaJe`M}&Sc^>3qL!awzmgzuqn+OA5tZ#^z|;Y-mg4~c@b&wl$mBjzw6DQ9`8Vtgf?+M zoBt5$g{OF)a3$?qM<{E=d_q|x@(5*(=!9O04ssvkm~7;mScBf$|MZztn_a9C>tX`^ z3y+X(!~WUHJ+IQvVK%$I$fcm4%HSU}v+{ZztPewZ_F5c0Zznr?ilF;-sg52y;Xa$g zuUID*q7xS#B)V^Otg5z(b)tgr#yUZr9T zrXZWBR{je5L3op7(u$4NUGziM1>OmJvi}UD%c5Udm5Y29d6GFmpD*Aa=NK->zhU6s zsHx7Kf_qWm-8#nQIJhXdca*U2G;QY*X!bF1upJz16dZ&;H-U%kR_HS8ZDYD-(CQ}E zkz>@^;7@LLl?r~=!*{eohxKL!9>TZGb(IQk3NIskis-l!B>o;(sqidf=OFlLhp!Nx zMfy#6mM6hS!RL+O{Sz6Q{uvb6w`S%y*gV($_NI|DL)2Qh2`54|q(2ew+%@j}ckUo!R6mV<-8_ z*gZ-+Wb9-N-_82r<98VP9MGpE)<`>L?!8GH!*T8}wE;Q*FJ8MS=NJ4G*|gy3%fO4A zU-J1j7z$4>^I7tHp6_B)7TSjgLZy1m@y0oQIhTJ6^RBtvJz37`%NdcSynnqXnk!fq z{`MxZX|8rpzM9{{#~zU)@Je3a{ z;j+QvQ!{;uvU%oc31ulZ;#{PYI2UJ7h745W-Wa0B9WFB0=5X%5d7;_cw8ZQcyUm&7p-IGak83sUy5gd=zd(DzWNL7 znQNlCQ^66XKaW3&*0F2n?3m;zeLq_H_a{SJCaF?*uAQ%r4A76MS4O zUa9&230frU<|fj10yl0Pr|N2WjDU;@QVFqqamM*4#*SX`$O$$I!%AR z=*_X^-Tp1Vy_KoBQe=^?mgA+`f8irbX|njyG_l1$+=4LI!K-!)sHh zN5JMv@Yx@ydC&IKye8Jjw$0$k7Okfl+%9yggkxK^9+%?YxN7j_dGKYf+1v86<`cv}wMuBRTA)Wd4_Hb12q^vS?m^6CVxoN|R1_WXlN zZOOIhQoi(07wz9ZSw?6H*HoEaQ%brB!_iEpA~7kq_gT)@|S_{@9* zUoHAJ&UrPq80SZVa&`0Hjjv0oi{Pu+(S-1|5!@Ag6}-KJvO{yk7A#Y2rdyy(f_upC zkiVH~Li2-jrnNF}WR4VplQKtSu3SD(W(UiaGQ-Q0IWjR=W+C&k5xI(kb~aYy>ylvS-sqd~@w2#cAeTR^K>|Mk$z^Z18s)(*hgO4W)8()Y%?_J zyV^V;*k-Y@3h!%av-Gu}b=N2>H&_<_ynin#3q1L*vbw<=8CNOi3C@^E9}6uC z(V@RkmeH^E+}W3bE-^FK=vTq>a`<||YvD_4=vQ~JU#sbt7wOmIbHV95!Rc2`-m`C* zykAh(TG9wki~evIeJ3{dV&nbbzTR<cePVOaGpBK@Y#HU3-J=Iv>QF%jxS2 zLEgnrAB$buchS_cw` z_RB+l7w~5(Z4cSY$nO^L*s!4k4>(6x(@p=K;4F{doCHoJ(N{?U`#|Ow>&ZsDN9G86 ztI?W&DrIuk%dijpn|@+FGy198Sj#rrgKJq+lI9;Jb(Qa|%b|2~hRLW0&K2is% zOQ;@y3BrWxDc`$+lkWoe-+ULoQglcfcqVp#O~L${jQq6h(Z-sq(Jn3f{jmIGE=b!Y zzwow)Z1_TD8ah472=O+e7ZU!)-x-k22n`Bfx1b+2-|}q>Wd-bB;EAB`MmlKxF}`i$ z+mk#pb~1(yM^0~kf_G_)ta+6@7t*pW8EILYz98+xe3O0?{0!AGyia8OHU?pYzJ$Ys z`d47q10&^455k7vF7IQ3m2)aGuLVZ>LCTl;ZNSopG9FTg*QlS2i=CFwC6EpO2>4xr3 z_;$m7h4TpQ@ckmwEnpwtF<0{rPgV&h>LUz&)Ys(^`d8R197CScU2WK4Y!p8}_nT4; zol6tE&qDgE5x<0@pF-yCZ9~_5{7z&W@JpxfL3eyFGNn7&I}cI`%|#;fz>ncV+Vm-V z@8#HY0VlGS!}oCZjQ!}5do^#FG54x^g=!Y3CEP6Iq7QPUIO~ zn*;59zAx=Wu3@wjTGonO_vrIiZs&|pJ1OTBd0A=aK5%PsoJ#%`;iHVpHf$$FzS7OQ zBK2~h3u#`X{P)$R>dlNrKn9RhBW;qk>@a;TvVbG>r^o@0u0ZCplKP>KXhG)G3O_5d z@e!f2$>$U>=TDv5{5)l@qfD{iJ44>+P&PKdfvwE{;qG0)qpGex?tNw^A&_uQxFtvu zf?Ogf3JCGWBtbyIRv^~C+P9e`DBwsfQZ*4YlLQovR;QrTij@E=GD4+Vs?*jIh(!x% z#p|cGWpW_|0&)q2jDYj~);VXANkRZ$eZTsCd7eCTF8g-&TKm7&UVH7eMF*o_YBL79 z{h1;+`+4_b7pcQ0B6T+4kFgKC$R7MLYG0iaYGEu_8*6^PO6lf9b*-HfMz zpZWv~44i18_2)eILu&`}L&m{rpMm+$ZZvG9;%nKQ$LzOv$0<`CgtsvNY=IN0u(VYD;v8#*^UHi+FhIt%%-w4lE61=yg?ycV%-E`$Nk1|MYF>lq zUPp&xE`K-t@5e46d%6O#zmAvRez7a#YqNLw*9|o*n@BQF5Fme`i_}bYqY1Nxm;Fn{Md8)t)c{eQ6n6u_!r%dTY`=S3symwjb zz6RzvGA`d`?NHWA|NI!|dpM%;i;88>Xrw!yHj3>--YM63cT)=ID6NTfM~9wa2Z-U? z-YGtMH#W`P*ffvh-y4N2+}%aVyz>M0)3X1yA9&thpS!FXbIel*K1uxUr!QsS8SU7F zjj8;OF>fpW;EYv3+F9{JszI)8o8bsIU8Q z_BN)-GxpUXbGFcyE<8Jyhn?CbcpB%uXqfDeW4_3B{l$2vvq#5%iTD}a{@g9Zwt1E_ zg%{>2V%4)&sO-LM;xRedA6xU99r|{0?|I$stICXYuVNn>^N1(cY)#bX5rXxZJj_@V(+(XQBt4e88g4Nf!Ok>}x=!&u4P2@jLn(efy zj6PCP28PJ>fj9nV_8Dno4*ZC{n|XurO){pAy&3czyU6NmVxGKYW6<*>Vptx}>y}o& zwTnB8*gIQpNoUPbjeBBW9W3|+7`;15@f2y9XF?wZ!+Y0^hG9&+!zo zx%4&ol(PJ0U5zC+_dUci%H1ku^wH~DwK`R=>r>J=cvmiURomQ+71V{@TGCmFv)Qh$ zD>Yv-dBjE-8YfcL-*{FF{}fTqUijy>4A~8nN;hvm@-d4V-Q^G3RoI@;*lHw$I zu#Y#mqBU<Vkwi-Ui-j}2ER3Gnh$`gHf zEIj2zUI^_4OQWFqYH$-;A5I518`pG#9?|ZJU}g$(<5?Kd?6zPklp>I|;wSZMEz-C6cY zn%Jl&w8O+f;8u+Vp9^@tI?^7nuYvCvtBYyJe{o286=!vp(4J!2^V88_3h8A3N1c^D z(e&E|;H3D5zIq9J$?_uH1>4g~EqQr?Z^le6w5oyY~r*Im!o-}}7eTNB|f z1BWG_q%T4SWJ;cr)_E*u9uIkPwvR7OLRVQ8Y4@dTP2wegi%eB~&OZb&@>1yIj zW(*%Jc+ubcDrtot3&GM8xyro>-|T+G`1*wJ6#5i`r=`bDJWV0ij^Jqpb`ks^bv(7S z!P5n;d9D?n-q(Vs#jF7?##Xb8b(Xi`t4)*>!qXK;8a%sXZlBl5y(+r3t^60}x2@*+ zqITaF=bbgUWX91H`L;OkLekz#IU80FTJAUy93yU zN%f>{i<{5AF1lB&_v+snale{KFZYJa(d2ga! zqIZc-X3PN%+{Ta6E7*N2>1Doal+)jP9qGj%(zuWFN?(cGnNGTo!=EFQ$HE9)$xpNY=a z#J(HR!HjkEe%^+Po6m6!8PmV zlYXqmg0nOBuZbnzqRm%%!scuEot&T8)m^ky9Zm*Q8mzJIVy^WV0M(t`C-b_x{j|wn z(aC)iXS(~H?33iID+lsF6WrM}C>ehoJNs#gB?kU{B{JnM(y!^{u3n=BWUa@)fVe@K z$g;KAXkXR>{`*wm7nh4%PVi2&ihd_CR1#-ocDDyI@BypiJC;YrMbBb-6F{S7r0sm~JV~_tXxyDz?o;#5Bzc({UFIZEzfV9*n`2?dR zkCZR@qpc7v=%vyQLpQJ-CS z%u|fM$6kG1j%}eIst(zFAM*Sd@^zKfNcRu!8&g8Eu8*#FU6{&Pfd(SeHE438qN^Jn z(HA&r^F`3-$o-9j>2p_A7k7$a{!h~bd*H(wFt!?ut!l90qpvRa|Jm+4mD0`qc~vhk zT%{%uSKMDh+!dXkV4aGas`JSjp5;NaOn&JTe;&WknYn{or)3Ji(6EZ~PDo!8wGS(UQ>F}HEBX{_NV}~TOUx@J@c-!XN|6%Oa zjT?d<8Snng?z-JwXr5$_{Xy^-J|7#e!r$W<^w!|BlPQtdBcLzm<2hLWl-MTz3cK$s zbPBp3FM{k0Tv!d`jfUh=NBAhZ0 z%EJd#=Bv3q*egSw8t*fblzWO`EU_|=6SoeV31hRj_eS*GuV&i=jn$oX-B9fDcKC1{ z{BqnXd-3CSy;F3Ig|xA;q_eJ%3lFA~_rx0F8^V90!%CXr)%0M1Sh*UDeINuQilinQ1&bNx4$Cl>0-{ zpRh)_r5~k?&nfeGo}^14jm#JNdMA-)4P{p4b#~jBuS;6_rW)+v)nL{Y_|$ z)=h&?Zvq4V3%o1aO8oyTIB)GLaIK^ZcERp?zxeaIxYJ5{;oHx7i;QI*+cKer;8+It z;8+#>BRsblStB}F33BEpaH|+uBkihT3{``jRbb~IM+w#>c)Qbn!H`OL>>l{AOvkAH z-rwW zrr?f!q#FAcxU(4C*~5J;xKnfubJjIobZn^scVww#;B~U-rLhOc|fd_tQIel=Z<@A>~TTUN(&Gu$Pwk0qHtPmbrPWoe{9dM|@ zbA_hj0`TMh>RwkLT5n*(N%klSCe+aGOz=SXQLy2Da6vGk1X&`O&|tNtvR)cERYIIk z`uT)4#{CYMkc%u($~H9zc`z4!Mq(-k;mzapQxMyU*h_+@zAoeD2lS^4KHdZt_`~cY zf(6Vid==YAmr6g09IirNzmV%$=p19kJWt}+gm@O)5bbKH?qZJrSZ}(_7p>&W6h4n5 zU#xdH`5H7nz630_ot+h@+5AFe2YHjU$gmMq|6g*jAsTu#Cd0mJs>aA?7!aLe^cJE3P~gN zNx$^=UQe15%B!mAqK|j!Ykj=m%6Na>=DX%{`EjI;rTp%b24wCUl)fbRAvaMYpwcE&6RK??u zCm0s4--dLdTSEG+$Zs=`)TMpJ_^D{oZ;?@pa$6xoQeJf-30?{Z?+hI z23(KU>V9T+-Op?zer8V^ zerCP#GwY@MnY|1@iJzGlKeNRjmCRU+pVn@71%!t7YyX?;Ch8^OZ>6e|{=7w{DR`_qUMfNPoz1RVo=k+FU+)94g7g?#}rGXb>8xYLM z;+?ElOCI^Y&6Fi;b zd@f~OIJsP6mEbqe+KtTjPcF3KS83ICwx@}^{~G@i$2)-D7!5z4a3n7m8Bzw1uar11 z#CKUKabAeyIRPKchb{Qb;y3BSraOnTX&)Y_64>kHlW&R2>APYtcCMf;VtyHZ^~^=G zf)gY4yd&}N3qBb+zbu8{<&pEZ@NVmau?hadB{P`!yq~1X?k>tmb)URa3uJTlNaZ*! zu;9U&(O*qqO@ED?4{7l=O(q8QRQBQiPzy{Orm}J$)ME8@66R4dH>w(E@ipErwut`V zb*lRqWgI`y;JFvPmNw!^H@5$UYK-i~ly$(o+`cPhuSgZxS;PMxFtrw0*1+7OkvYgy zpC>P$ZRWKz|M88Gyv7>hx$<`VXY%qNlegVBZXJfsX?|l+8Q<86Z>;X*Zj9v{yYr2) zd}CiNFyg|nZ=?@`PQLLji|@Ju^BXDa7-js0Z{)CvxML~EPWp2T{rZ{Nr-L$wx>tZB z$n^kgI?iX%Po-ZQS)XY7R0Zn3z(%xN1$HKe>O$^@)wSimpeKzoWZeFSGFDO7AnFSK z!8YF|^i>h_{j7%tH`?Yqda5k(^G}Wt42$&^lD?3-e^J@!S&V<|9{6#wKgL~*pKJ;D zW&OohHrAVAzu3JLU)hHSq^~ROVc^)KW%jh1YnRM;nK)tIGL`lcxb@-yZC%|!Lmtnk zOtG~ZSd3rOtF717_1LTnClY&6;x=^FaaZS48*v(l5BC|iEQvRAK76qEljP;HPdR9h zoUbv*Z%0!LG~KHVzO6QCS}%SW(DV!Xxq*H@K|h~lFA@78n)x=YpX2jQno`y=%9u<) zOH9sVGEZtt(~==)r0LVdc=$Co+NFI|z{9+MM6Xa?t!et3d!Z?1glIZ~y2OuNWNy2< zDlR;)x^{L@*N%Iri!wrW^`tKGu{l=48e-e;vYuaEcfxl@AGZFk)4!lD$_UlfSl{5e zkGk5?t9ZEkWTH6+6HJ^*VGLG8xf`c41}|a^GM_v#S_{O0e`liCpwJkktYeh%1$Bu{ zI>ckEJ_%-}5nFz*m6!zQfi<6hn!J1(`DJh7`J~^vJ9)XC^m^N9x2zH9_MsjR4ip^R zO+Wt?8LGdB&-C};hm!YT$fvxQ7$Pn2iB}Z%{vW)zoaO!7ycb`hmi*KomVYzvKRrwR zuk(IltNg9&e}(stpXL2p-rvFdy%py-hQIbFFF!_m_GX@6`fI>%*=M2SyxxEP+RF)K zRUuz33kwHJ8;QFNgC^)**~G zQ3u#Bc~W>TF+`f5Gp6PF1w60dx%lUm^S_yYiTCg(|G|=ome>u*T-no&UUIl0FWqOv z31%%<*O%~@6uZ?WU}u-u=(e#O_Rx=;@e`TM{6KUM+27q@i;dosVh=1xRnsMAL*Zp= zel`AM61QQU4LQU(3dy11mG}!!P=OD2x06GMTgf5S?~HQj`Kj&Y(4-3tIrI<8^gBax z2w!K~+A79CNrWzY9>ynRuLJo!Wx@CyrFtYS#qUBTejt(q^UJF$2di5`S~titLJHYi`!3H+uD zMV|B~M)4>&vzEYX`wg16tFQPH_a1zq^!f^^k1{G3n)Q`X-^0{bN_`2`ho2Plq?Y<< zTks-$q%P5XcRpy=M|ln8_fX%T;DL7aZN1pNXD??}%lG9`Up3<~+pKRk^*O2UF6yhs z9}9m1!QbZZ3#;#u2h92?uYvpvsqeWn)n}nTd?EGvCX3yf`ZCS>rc&Pzsc$Cry-a=h zDLtm0xxN<{ne|a#1NpP5ubBGuwh4{sYv~IeU+IrR#)XXSj^5wLd%@q1-rvRh^`ZAd z6Dc3s>g7Y<*}Ru{6~>r{&a_K>F{N$eXS!aW9WgaB{WyizI zfnW4;;F%$mBRJGt2ej4SLEl8)$vmj}9dyv&L5qG;Kkt~Rs9=SqB~IKL%`M|!;u3tm$-YOn0r+>t3Y4+PxOQZq-`Kw{XXuArx(&E zyHR(mag3a4jsX{z&ZhTmoOcawL5m;>f5 z%8d3y`)n=BDfH0StDVXxJm6nw_sz{1DZWzc_VtBN)?f=vg!Y;E7t)8d7r`^gkeboh zo$gY;uJ~Hy3O1IA%@F+}#T-9Fl~3?V|6a;#pe!ftI=(P{ozPrjy$P)=$*1QhZxwkY z{{qtgg*m3=k^KLChJ1$4CVgp^oh5zA_=~4cf)x>r2l1KY91Zw9V9LbmaqvK%mDu@O zvp+ZMzNrl}*$0ViY_LY8$~;}x^w|UBO@bHZKA0FQ{*xCyFmUD^*45@(qNAgJzbt-u zgzDvg@aE{@TJ+Q|eE)>bYW|!qOQVNBa9y;2LAr0~16u6u%-y3n!?T7xm5I!WB9N_< zALx`2^+5j>QCo(VZgccs(a9QBT0IWGwph-!V(!1ZOI&mY>15wzmMt!N`Tc4-{)hAT ziM&m*w8&e=T97f>_%B`Fz8^O4+lah>v@d1UiC`86&Y|Mleykn`0!=;@D=8N zui^XdWWU*6nr|oe5M5WME;&0gSdE-U4rb`{2(e*}aAQ#o{JqYY_qD5c>qTzyh0aE9 zRxU8>1&13ci+QE5sf2nTrruKOeS&(C)isNs8@W!_rUM9*kf#>=OGvJ^!6}*b@_^KT$p?nd=lAY%s)i_wtl~o_cDLh z-_u9>d-`0LpY*$j_p5nt=(F^L*`B$yC!D_?`<V>~#3B(ahhX!?)1! zX3A;N;amE7I?qLi50+@VYQa5;Z#o3r6P&{iwh}f@RT{&a0W>2dd;+}E4 zvP@6^dh^|j?P~roYuVjzpI9~{rK>${@r^6vCtJ$y-m*wb*tRGtq3%7;j6BjV#y@db zaP!^CDx>G*agWT{#&0KL`)^ma=p0*A!qf-iVpTuRnwNAuE7TG>Z$6`E7oJyhj%DF# z>--v?JKZJm*}Pl2$atR3^Xqw*$TLYdyr*&}@+`VMaXjAK@m)6ZTb4NfUD|g8?Ru=I z>N&VFd%Uz;+FG)xYr-~Vjpj_~=xYAorraRkKbYSfvyR{?>-@b>mc&cHNF6J=U(Edk z^L_&N$=r83oH*X*PaLnkpE!P2s@=CT!seXX7|hD+We>a;A!ip`OE;@-&KuAR9rz{Y z;D`7E^z)1C0gr^Af)^owF2QF&$9ZhO(C-*B?32A=G6mg5WQrjhTGG5r8j%glo<}yE zjVCfje>Xe;Mq6=u~7K*f@XNX>*>lwVWnL38(7otnlm^y~jy;#>T2gu zFh-?Ck)}RMrAgcBluDC!?YF74z4-Tq^oxVweT$AkTTLC~9qJO@Li80Y&nnGwIk{Tb zFC4s+XQE@&p-U`&vM4^0KGW0jjGaR9HQf-0kNW^7qH2qADV}p`& zV`aT36d&NumjfR0FH!wnGZglv$Ol|AHg)M8EpY)pu|y`+E=>1*9N9ZsVgzimL`KUx z&*s$2=DWtItdSASg}v9zSA$hn*UMB^QrF@c_)j?dzI~n?d?^6?IV2@=bcQMUGbOL+~tz_ zj*C^+!t20Y&5d>tol}2-;uor*iNz6G-0o)!CtfT z2joXy-S9(|RZTmv9q9Ii;?7pxo*=%M(byAgCYDDc&#SQ~JZ#z%wlOb%OKb_q{B6km ziO5z3mRIWb1Y5#hWcfs7ezhs{Q;_*KQ|9kQu4iCF&}>#@zAa&&ii}R-KUHiCyo=;o zYzK3Zu@(H+Hp}>j;wSK2?k6DQhr1t&FXS8KJ_;S85V?CjV<+#)hvKi>m^ePOEOETF zQQGFjo)8I+OS`4LZ&B}FbctDt zeQ_Cd!$#P&0=iwP`PNS`=r+=B&<$Pf18Aq~YpbE1=xhJmw3EL6E@>zIN-U~0q1*M~ ztI#YHd=O~0Jy5A(bo&t#;r$I;}OHL_mK-o2OMnOESM*Wek} z6GmKM@(jQKzvP*-jr;G4XTHU_KZu`WIM1}Bp#_;c*`#5n&=8qB6&kYM(ZpJc_!_Kd zo-HzWB))8CmAR%~d|qQ7d^q1R{~wXL(C%B~HJE?Ku?_~DOXj}IxDL@xx8b+ZyDAuy ztMS8cJ67Wv+t2FHWj`Eo_r&JUTHl_@nlGZ-(1kyN=8e$$v&sgKThb!0o72XUwlA?K ztIV{F@kYk>d!&7+gK`gr(jr3|ksTGJUD!d|nowGFhDLOSH%R;Q4$^)WN{e3Dh(5T1 zw6~E~^mWncKQW)L<+-ETmo3)2eXX&sKli!NI#?WM*lXS=J~7t8B)_bKHJ4+y46FVW{C8)Y9;GUqgiZ#d(T7{k`oAHF2t6z|p0nSSuMCXd7_bd_0pu-}Wg?8LfY zudM8iaAj!j9R6$2*YemOcx@+pfIOU??Yg>{dxyn!^=4(Ock#RUlFSbm+f+~25PYBU zwf=Rq>Q&fHd3Lb{x40QM7w={d6LR%%;daDea}@Nz3sENHF?Sh5;KipZt6z#u~XSglWBu?%CeL- z&an>ODXrz*Ae)+QIb~gn&N6laYyS@92y0tDX_K@$5nR&SDea|QBaxALgY<8nQOH^E zQg$xsCn$@PI9OTb?7PY43?T=5#~xF}UFKaP_w)J@BZT>%ti29~Zz?okzao2w*ju)Y^V+#5 z-rd+T=0q#4>JAq%qEBU7-CJzp_ddYOv%tzu>;wH+pHDui&nL^eir>4;C(XS(1DH<^ zZkbOeu~*sN$^GaQd%;8p^T{OT^G;C(A;0(3Siz0~-q$E|^A(o)f5%?iXpJ`KuzkF{ z@x|PYul;Yr>ok1r^*W6?Y@gP3_Gt07U(B4bt*?Doz0N+~rzz8Q4jytb*KpCd!neZD z!b3VQ3s0N0D575#eKrAFD0rw?_{8KP7qnQe(;`l%#qRv0o^$c79p45AWpu>1LjRmL zbqe2x>U2=&0=>>yz0R%Fnbf?$tH1a07Xuz}#4YDS${CQ&{$TCSNS0XsqxAJ%2mUR} zkH5)}@5$HwJYO>WJhxI;4*wOzg?S5H&EqU}&L;3>Dto}eUe*+)0(Kj|Ha5=f1?R+e z@Xy~id0y79W4)ho{WtUa6RzX*>ptEOxt_pvI+!H5P%%ikxAILR;MI%Z+0-bzZ+MK| zH!O+l*0( z9nQYbpTJkoJ`8fksOjR*^iH9s?}>I5YGVpJalRStX|#5h*cyz{mhtlLM~$8(j7b@r zFOM$3|K7n{@R{4Em`@dUZ)DK{f$bSa-mu` z=>l!tP_qpi%{JtAQq%X+4(U%zcT2Ptc_uzI;?ots$Q~{GX(ttGv3u#`ZMMkh+Hoa^8rg^2$NTpWj(Yr^CY@D|s3Ddt|EE)Z z!A_BZU_*qC0l{EIAb67h6A?NdS4U5R7hJj=5x#kg@tCb_Iv)GGPilq7|Gw|2CnpuZ zPvWr^V<)M^??`+-@0%0!+{1kd?^vfIhOGE-_4Y;zJ=kksHPs%N#W=f-ah827sK+G| zo)JDdm}tooo+$$F9o-FH`8&@}u~$cnYK`BMOxk@Zv~%=oLpuY%L$vdb$XK_2Oy)Y_ z8Qc6NGv0w#+o09wL*hN663vvMsuK%$js1qY%BZEh1;sH<*c}U!!S!$v5BD~Lj|{sbPUy+W&Z@m zyNj`T;OAPi?0<}F!Mq~=Lzq_rzAQE|&&Ajd$GmXepv2S-icQ_1=zpLaxVl-+sT*uD zzbhnYMW8^FM3Pk9|yjTuGVd z%a5Z>eq8G_FhjitKUTimD$0WQTb8rthhE(`v!b8HH?qA{!j8z(!uYRk0RhB z=J^4Uvu!c#VA&fco@~`v zuNa`m8_|%7zuy|tKL&W$y^sDe?(F)9zgo-kkDKNTjzj-Qi8S<&OSry>|DlnF{&8h% z{li6UD0tY=KPF5HJew)=!2$Yw;IH>|+&9BzTF# z7(n+7jQJpJ9%v^{2s&oVJTO7mH6I#aU$?Y}F$bLGTr%S&Vo<#}K&@NfUG#$lMv%HBWw*gCjJJ8zv~+NhSX zb>Nc!?AWqz|8B?D#qiIW^w+mV@p4j{&HDAV*(D+53g>=dq>|A^J|Cnc@Pj0fXW@_@sA73}doI`ZVisV-O@!^)x zxa;HH@sFcAubj;e<9Pkt{Z@{yCGAZ_hZMbki>~*ZI%FGN%l`{w+|{D@p9z-={~h%F z^Q1BMWUjXbJ;YAmxn9%8=>0Ln=#RIlPx?dpMV}iHyDfao99Iv;OTT<|xiMzun|)G# zyY$K6R(krB6KciOA~>gS6(k&F~bBxeYOQB3sXGy6&| zPScID%C1n;MgD8~7xdajpNm~laQ_Xn|NE6Z6fd+1@n&1x`i)709wrUSE`|n~JzLRW zBsBOoxaC-PcHG+V*Yn4%m@X~2wZ8Lz7Pk~*xSa9yUFntzUON+R{bp7RZppm6$((l! zX4RrQhR?h6KWC5JSFPpaoJRa{7^g{%YRsz3j5+Wi_(iZQ8-5YK>1eD9AIVr1KI&%j z%91}C7-r9w@!Gu=udFWrcDz#d#MybJ>+jB=S4Ny@v5D`b5B`(-qiflB%PaRRI5V$w z>ws6zWTUD4e}bMl@QOayDAtT~0O5yl8_jiMW3RBe)7#kC|MibX&qRE*bQ`|l8_)x)zAsbrLyGK1+vDH{ui^*V}#*Xb&V=X4#T#FG|=301e`c#;*w9u5L z;Wo6kc8jji$ANw?dWMW?nd7z9^LKm^^hC88tGX`B8fIHvwunBOg`Cj)8(p@w+-R@M z+HPynWdkvWE?Z0)(!ZgxF6R@3%jMAgAkOUHQnP^7MXA^U3U6sLC?(NE5%E8A~5H(kDouH3r=y8JG;4PCJBh>bin#}Hf4N#wW4 zY_XHOJ`Q?1wV}#hUPHb{QFPR^TT~6$DGR9U`;*Zi~ z$V;(5%)^$~c1=TTA+YZI|&RXScN2CdNR!Z=>Uvk3Tz}k3?5I@AZszEqMMI z*Z)a8_nUT-?@Gt-)P_elJ!7nAl;z0&e3iC25_>P$P=)=t3O)?+p6CvuLx^oTWKZt< zub`*tggN&du4S$Ioi@Gf6K#4jy1n9G=7Kq_wVk3Y(Q%sim1lze5*OXT{+2b>q>pzlWyshNo5`xx#=OI^TD7xL3-6vu_c(r;!K-(^ zW?+BP7s9I-wBprA-u!mFY9DeAUcKS`d3D+oExdZ*m;YH_buoAUE_IKe{JaHEh5th9 zz{edeGVV zf{}7wMaVDUt$SPh1!U-aH^94te167_gEO>};lFb4qch69-n)|)C9P1W93QGhMN^ec zMJFjWRWXMy=gjC+B~k8GZR|5^DF;2<#ObzUpfyfEZpzq4S%ZG;ed1=)HvGwb>)&sQ zo9P{4S=Zle<7&!IqHPtlZ4GS`3>TZd?nA&girpqYKXInmXat+Zk6=<^$_g1Lx(@;0 z@%f@>rhbJV!A0gcS^cUpPW%T&9w)RKC!6tI`!<;F?|$}ia>E!cYq2>eT4~OSN_6|8 zwRw%Y&|IT_?B14fGJ@;>B&L@~oqL?Lo$JZC3awYPo$LMTuA`osYKwahdwd!zMsn_3 z1hm^YL*i5{QAV5_?t5`&yLX9=ct*r;`HC}vW2?8 z&#Kodi}5YNPa~Rr@q+)r?_&q|rvF#f7uSm4x`&U)#LiUbge= ztZcp|uhEbx^G>U*vPU)DuSa|~<}Sc@`Z;ZWlKeiS%|9i+dLemI(W#w0`DjPjSUL}R zGVz`kc`~iDAx}Q0jBh%w8?B*n-6Gq5AKn&!+i~66KdVw^g^crUVPpF8OAXn#;rGUvwm&YiZ$zsxz5UNEI`-DT zpIgTkTsW6Z_$Kq7Pk(l1neg-M)-oaF8x(G%T#Q^;!kp)VgF(;s<0g;og~#rN$MP?@ zTX?L9VDc4nMqOSws52?1Jie`rXe{Ae zHC;xu@Y2BW`oAGBy+vEj#7j?_?dty>@zR=61~0{%yySRVjg?lmjXPV$$&EUF26#WCtZ!o5m}}C> z|B5+ZTp@Jo+lo%7@pt+*dav-{Y;i+%EZZ5z|r^C9wB=EnyH{AcxGNBOz=@tgR@ zy?4dr+9HERA#;G~}R z$!_j#Q|=kBm+^>EhNSJtj+x^RdhVcpNwb-=Mg%MT*oJDw-jr$hAGWCE$DLel_=h!6p;Be~$Y{ z!^(e#`&Xd%DbD{&Z?pFM)BoXjz4c(rcYPEgV{(A^zbWfR>It=D5%mUXr_2H7(yy!T z)}~KjZXk2bliW8}barpi{rp<=@hd1p@Id#eNz!fWVg1~)*JG{e=l8-e_IY5td>dcC zzYS9b@30=dQEyKlZyIHNOusc|c4=2n(*K~I8n7t5o~O-v5-F>SJvC3i5*%v>ll(6S z#}wf6`Nz@5y&4r9^9=MYyW7|+F?S8~r0b3A&Rok{S_sRw{PSzwzoTsT*JG=pVP&N3 zNlN`7XW{@T%=r0#s9-d@&{zAt;I4m{Oyd#8lj%lgUprM)|U)p2`Eo7>y-d(++# zOFC}v?allf|GjDNfyEuSH+VEO-bQ?H+Pi*H$L*bu>@x6S$oHnb2k!5na%h+{QJ}1A9UQ_Soonz*UwViTLwu?2F*Q9 z*?m*lzkNM>#;;?~_!RbxPiD{fB=(G7%bxLx>>1BI&pqQ6>=~zA_J6nR8Lwc^cpiR_ z4*VXmZ})VZ(w43w28G?+Gk$>hbLk!I8J9VLfoI*nH~l*zz2p9^Z06sA-<$T{IkDsR zUKrwE)^5Kq<88zh9k=&R=9q@O==;5C@6IbbZm*>of0MsA?Oi{j@z%~Ds{DN&Y zDYRjNejV_$H!ul|^RrJd37qq@XD|t@^N;2iyz{f4u=+~cI)Qd(@;~|9ZQU7aD|-st zwspsmU|$PoTd!d5{8MnP?61b!_BzgcE&Dgu#3#6pYnfZ0$(JhJkLqpRRzf_A$C^C( zTuWZbmt6j}?(3SsoW8%FCeHf~Y0|h}eZMw+6>FW@?BSI*_=mEOm+M@v7mhBD7duB$ zeo$Zk{7kpy^zr)0`=ojON3NfMVpo#>TGMv(d!D^3Wj{mNtkri|HtY0riM=4}_sJHc zj#RVUGRiolm)FPpTdsX(+0St8GM{_6-VU~kU2r+qBTbu)o9kcleDe_EfzY>B{CtaP zpH-E_%QIP5y;ZsN{mZhZyXt|jvpSjO6q7eazmD@3a$OAXOZkhqzF#lDkGFv9q2}{@ zxt<7KHW8c8umQE$0DTp@4ahjJ+ojupo@5QejQL~O03~KbxDCiQr?qY75>0GU{k(5b z)->vow)_`$-YIpK*xJ?kYUNdST-qBqDR;OQ_cNEw6>v{WlM{>QvyiVmhkG^Z>&C7z#ytxiOlJ83<&8_D3 zK(0^e*Kytit}D#v{kSe=oQKM(Y&@MM{N3lP)4J`-(Rg~yyS$gScO~tY=5-gYCx_)* zwq0%PLKfW~Dbc*ZP!@<7E@Q#d=bgrfBMxM_Nd;S;w`2g=> zp8NIdKHh^|KW$!19Gf}Z|I_SCxu3=T2PQuS!Ab}BFPQbp`=4;X((FIE|1tOJVfnMT zUu}*Xd4D7K|1x=1?x%78QCR*d+^^K>hrN>b6S;rV98+>{=l)k_AISYx+@A<*|9I{v z>0<={Ah2`{_rKx2^oyMHDm0XQ7xVm|Vc(I;{cp{2Chv!E|8ZEm2XP;1)>BD5K1p){ z&qmWXQuaQR&*XVuo(ICpisk-j*f(_Nei*z`POKn_N79r22wnH4??Tre$_`yW6ZZV7 zu)JT;rcfF!?D`$PE%baY{S~@i6;{_A`q?<=r;k@+h)hj9>?tqKZVJU28+JQ;+2JFJ zcQuiBF8!Sm_bOR`7t7gkn)_pM(Wvi|u=>hR z1+!wvSHs#ts7*;0KfwDO_Yzw#^j_LLkTOKhN}J2R3TB3Bz+mo@{mT(Uk-iu zNZRLYzEAKD=YDqceIM_I+~3s9N_Ioo*#wX$8kTS`QGS* zWn9-LO=(yfdtESV4r%1&G-GhHQdV@no%!tCb%Eid~ek22&>m$70kMtGJCg4 zb8}dl^2%V=7}CTvr%CW`r`)LKd!yXz!}28ggIPn#69hLy^b>ldhow=wgINPf)7YG5 zfcFoSd$jpJ!Ml|p+{k#i#?lbS@{POVr30%-JuGJ^OtWT)pcVTJnB(Jymet>rl_b;0FuQosLNO$gPwuUX4omsf8gWOD5l1qw8*#Jf(`sUe zSL2f)F-FlruC69_xQiI0)jz~f0pA%vehbya60e?#Pdu^WYlstDU7`a1hl!I`N^DX5 zJN*4x;(jJ$b7_tVYWjXm>#MRVvnlI|_Hp{EKeTgBgXZ>+PWR_R&EtEB_30z#r|&J^ ze?&Wi+y}Wo&hY*gl?&{F2};!`(QeUGRkob9__^v@>QOg;vg{E(I<*lvj%!5C&L%!MY zM|hmfrabC={Ty{lUyn=o1z)G0HRg8`!#wyh|7(r!topMNQ#RxezJ@xR{lPbL&Ie;4 zQT5hi@q9s@;qf=W=KN>Iq8@WobfBJ(H0e5y#GCEL^;_VtjJ0U4MfS_J_`wH1RlX%l zn{*lFw`!>pJCj(hdhBDV&p!a{qwY|>Z_2mAGZ!rl#Xauhm2>Q;3$0BZ?nB7~T@sa{ z!)?^_7&_cec}M>xs@Qrzy4X72?P;#FuXh6FNPJ{zLxcG%el5Y0$X#`7t@8w9_P=7A zC)gtOo+#1WMVz56xR`8@)cwo!n8#qyG4Q5=y|n#*6)>^Jz@g*|Ez6ICK}Iaz-rie> zTb3JGq{n%j(VzGFyEPVf7Vn7PI=^hF$|7#-e19K)*$d{k$=KoCaK^pxt?=sCn;Sh5 z>`~GE9m-S1uSB1By4WWoeVt*yq-D&ji`_3c>}iAJT*jDp7-Q!br=@>my{9Q_pLON{x}RKGGfVB&9nB3ay3qb!#)}k97KDBK?uEjy}@qzuICy-Dr&yKd#gEa>u~o z{P#<83_SMf%J}igj)4vQ{+RobqgB>;e#e8ok8@7UoS&$l^hlaBa31!EQOR=#-g&j0 zojUuu)sgnol7=y%mzPR;QRG|x!LQ?|P~HN5r93(RLCU+Fv^R`ZS)sCSq^y`5h&A5D zEGPTy<%HTLh1a4Y}T9zPqH6y+G05jAIEPCv)M+MV4g9+I zw&2JwxfTo&EU|+j$*w7h$>qqF;W-2EMm{&qTzN~e$ZLKdFz@e#hva^?`73ibNq5A& z*KIJ|i@)k|e*a=V-)ZJwZkG3idH(jeIdV6-eqPzpP0{gndxSl&xi6W>H3)WJKoDaCajQ;Ly%^f(rvw`CmbH9bYPkP>-*ty@_fy1{jKEUJy9|f~sApH>D zcdJ`?D@dR zBYl5F@{nKT*q2d(*5(+SVeA+vhugzv-)C`Cd8Cd^^ead|19!=b3Lk z`JN8Tx9mLgJx0EzVfmJD-BG{4PG39_miGR$qGtp?z-wYa!B+qT6 z*#TWbe3`?&&?%`6UoP2ZOn7;Y&dWWL<_;YBwvlHXd8U#k z#FtaJ?&zBZR~lq46{f>q^-Hl)$9lh59GXAHdK;L>Xm1+l#su}hLxo4?R4?7sRC7%* zbI7iUp3E_&QOH`*tw-XzS%!OngB=a4yyEIz+=;uv}eMLhyoM8U5Hbc3$@h|h6 zD&}`J%njFKqj&*(z&3vW#_#N>n>=D?kvwufo~*S=TCvB}FxSiGyVU zPak`xE9J~eYv0u1Ol%A{E8m_>usD>U2ebpqF~bA3XeqZ?}`C;GKsGx>-%9AmyHd?sx>#QX4dlbyV8pscp-yyXn- zyoqO0&L!}xoIzAi-NMsH_~p!}T{R8btBY;QExZ^y_cXxSro>3$j0k(6j}4pLROS2F z60u|T*BQ$)7TH#CPEP$CXjx4EB-^yoRZ&{0W)qvCeO;&@0t++OQNG>>qe-8{`7|1~ zvJ};4N6x8?WrHcF&|<59hrLL3CH4ZDU+;a`UQh+U)|T1}_B>%Ps99z&sP>c>Oi`*J zW0Z1Fb|mH}+tiUsuEhLn%M$Y^mM7+C`V;dt%Fc<5E&Zg6R@#Sl{F`sn&s%CxuamiT6BbKpw(477Cw2fc9k##vIoz`eXHzw6cLBy)B{2t@ zpv4|&x|aUvZS7rJLt8gprra;$e?i|JS(}mA^y1dUH*#o4rcG^nDw6oqw8u~1ZnE^* zF*=$)qVHm@vGkL+qR65)xh(d;J(k|3!e9IE9<;o#wQuRK8P88Ko;_VS$BJ*bPq}_2 zc7s*bV6UlhS=L%Q+3F*Pk$yD(BJFlUe>}~ zlhu=|e3*OTu$1L4VuPG`P_2-3L2JaW#RJsLLzKTVNzLE?O60tY)a>W#)<)>Inr5DG zTJ`g&5Wem?2{0&lIfbaUQ3CujUkbCSou3qO^UHeIRGiE|v|SE{~F7tg-5 z#-w&;e##PdOda8mXFln`>3f4!cf>m94)>{?$nPY9%Z1r}2 z>#Rcu?$5Ki_gH(R&TuQYt2{gZ;ZbT=ChPS@{@wYCvVP;p&VR<0onL3wrWTiF=i4t} zeb{Q9nnc~1#9quGHsTab`6fkhPEKd#OYh2cPvy(#&2@jCaW+b+Jv+agc#0b3+O7R1 zwo1?4TDv_v^Sv1lu%F|X-2LCs9CMn^YU z`%Sgc*9#(5&qOWO>13W$Xo+(&H^_2O#+ExAdY{Ue`}mHe@wa13lRht}&)>GF(sJG> z3f-tz%8F`em-x5r)6a*731<8!_V2Y(+F!&N2YAGl>mHuHB z_Ur1{bl*|zd;78T9lA>ejyP3d-)t4A%Ts}R&JsR&s|p;(mb_=C3Vewj`M^{aV9mxO zb=KwCd2bKcsYm)_v9;@tqxabZKcQ~U(=9#7xY>_A{?J`^%C%Fjoigo|XQw!o1pco*I1ujsk+uz9t>s;f;Xz5xA5nCTFlfQmWZkE!Q(ynR_NqY@Txry z{=hyzB}u(GjkqV*+LZ4HQTRy2Ag^^h;D^f?}c9SUSnLz*a^Kq!1;3WzBocnU%w|f#!CJ| z)=tt{r#yh3B4xjwHR*q{{zPiW99)|(4<<$#O9lROJ*2Cb|ntvZ>sDuh_}Bq&PGM|iz}q9hvn~AI!EZI#XIHirBKwwF z>;+EJRDg39FlRk{vKHRBhq8W7Sren|X@y#Er*%$Fe$<@g{OSs=pr+KCR?@|uCg%We zAFQ$l#qd2PnQ0bfDSec7?|V2iEe{@;MPE-*_OwK;yK@zGtSL6R?(9sLYsyX3x;QJb z-z}yM8I&>c{lxr2)!Vt4vL|w`WO|ay+KzA7VA3SVs9kl`QCpgs#`#XAHPm5YobQLO z7V1c+zD(-NR#DE%M3n_brpY-*MRHAD*(%bR%r)^Hb|Hrfv{5R*hZ#+a!^Bq?`06t8wHSPT6nrfLUtQp<3%k-vt!KTT{o1|2yHhDP_dfXNiDk;2 zv^6__$Yp9*9?z4j41B#JH#`5zVgp|XtsaM0?#p!o&r+0cct&= z&Vr>Uu2D1VES;lISo=;bwDfjnpfk?`8~xB`vCUSx&0;IvddDorrp3t`WmW}r@I$La z)~+hiU*3flerTAex;k^X7g{*L;4OCy*6FbYo?47f^$>L0W{E7_0&UUPoR#QnTPRD` zql)C3awbqlGS^bZHqvi_rpOzKOLVEwb_=xCz7Fa*z8Tx%7$bw9r)0sjRr@p-Rm`cVJ28&>Q~`Ek^v7`psVnqQ|mI-3cZ~0v|#8w)eE}X zeVldOQ*c!9^g6Kgda#s*Z{Jj~6uaO#vGl+MbbID$f~TvYtsmWR6=OYwbGrNi-*ou{ z#)}1CH(m z=MI2(Wz=~<#q1DS(^JKi3eFq=>*|m@Um|x7BdhiydyayM^~jz5$emZgM8S}H#(4-+ z1W(HT71Xhz-fBy|aCb0kzcn&dY(x8*H+JQ>o_n$L$+(m;`4Z1see;Ll_@^e0e_?*} zZu6U~dAC<9s6tLwH`sk&nphtGZI#R^<=ehAF+7Buf+3-{2dF=U=e5kS+hTgFIZGI( ziykXyqV9!03S7So+HYkXihjBiey}s%M919%W+&nkVM8}{J@DYND&CJF?c?ytOT52? zw0pq%lk~G^j^mA$mafjH<|Mr#GGH42qOWQ_l)D5xeRxjJ8$nZFJ!tBy2kFaIlywh$ zHo??aZ=Ys=W4G$0>#Gl$`l{*yrlRwfP)8wUh~6psz(jPSLUbW3Z7MVI)E=b@>^%&9 zHB+gAX*N}mj{XEs7nG9^%&t%3S7^2$JUwFVm3pJw&{vnDueQ}y_gS^6C1u(9L#+{0 zMPHp{jfmFq6dbq?U3D_L>LgQFos6!UY3izz!gN)^M!Tu2ZU##?gz2giOkMR-bk%IG z1wUte5Yknn!gST{PUK(Z*bVxmI*hbf0w5MZtt* z!2&Qr*I`XeP|!Gp3x~ml{U$CPGI5~}T&Oqo(j(x)QE=fPxNsm-1$r`mB!3;aP{i+H zFhTUw{U#Pz;N@9XZO0)nAp!oKh^{I;EBH{)m=oRf2pDk`j5x?RJdkM*q=K!6j@qL> zUDr`9_30+IhIG^o=%|-kdQBB9z4Qz^s^F^VsDi6EfUDELA+Cy^ik|5cJ=Gz4=+11N z2BI^E>8U=^Q}y?ZC!t~JJw6cL17MewQG`CT6J6Ct87q-{Il8W@>AI?n3mGGS2iJmN z*+QWgc$UMwItZTW^a9Uky_L0U;;@=?%8s zjIHBGytmCsZo1ww`#JPiANs3r18c2=_|7%(gXpi%)8~`OyBj@Jbkj-X*{%9Gi{zRz zc0;RVuBA?~=}fdIHWjkyfX?c}p7Vz2o9oe8XQ8_$gIA)fik>R-4|rN=+OtI0Q_&?v zH>Lb+$`{=fJ(cUe&MgDcQw8g&Ln~KJ=o~)uR3CQvv4W$S=o&Kjw|4&wwkg;(~ik@Vydl=**Jp?%ph^wJfkUMhT1Xi0FUS+x~0;N~sN|E~vAzd{EVebr*>rJ|EAhBpRT zZKX-hS>S1JXEJ)Joqoqp)wu;7)K0%A((j^=y6AIsxcN!W!A&mu9eL#webhx?;jacQ zg+}lOdS{4sqK}4XC;DhHWeEK&&<=aw^a)@AagTf!Xc*E*MHkfdQFv%DZF32~n&rC8 zwn@1zvu#qYv`y>`E_hCGSiV!*=z{O0+&jQ{>g#zs@-&ZhIgZ49bnEHD9}X9`iSoq! z`~8XeE>j;Zqzzs$^I7!Kl~ynleY8;Zs!wL^H5Zx-W|r|QnE9R-p<|}Z?L{XQeKa($ z4`HUv>jg7^&;e#1czyD`R&#q|xrr_s9BnDEXuWm>$6*r@d2=PU5Ro?%&^TIp07-K z1BRvZO^4BE_b)`>1QUCK7gh~fvw$@M@FLSQQ@~9Twv>rM1C9-D^^6DU% zcmO>cQO4y9 zg5lVOqNES73u&k618hQiA7B>}n~>Op^gejl#BgjvhxpDTe5dHA2l-C+>jtjmJMV^1 z=78UV6NhNC{w=gyu>2tHK0qIQCAw)zw?jO*P@Spxj9PrZ4=vr*c`$!`zg{^ z57qENjY#F3Y~LS=QCj7pfBF6l_+c*NIAs|6Dt2-?>#Y7m#uAuaRRKO=qqm4{6dPJC zw8F;d?M&K-7FiP_w+ty&y3;}@`{b#&z@=Q0loHDN4OKwWle0Pf#P{`A z-~;@&^4Y=Q;GemNc8;yt`FYq1aL09rqV!=QC%Ry5}{!FL$+Ji=B;*>xUn& zMaLCe>?E*Q*Ke%}Q?CuvaYOdlYr*5W8QJ+|%q!EuWBfaPFco9YJ7JL{qGW4&G@^J zd4Rm@ui1UE=)hyN{?VPV+5Y-Ll_31vuY7!I8Smp3#U+$;A6Gu6)XzO{#}ryRId|eS zlLnTLuy&3Ppp)B7TW(OrI_vSF5gTq1Hd@vy#%fN-_+)6Bti*<)Iq_%Dng`xJg9WYhlH=a(LZ<>=d{vVnuMK7FA|L;mZoIQREd{cQO zyHy>lsY9?=+VRV<@-4JQqkMFdcI9uS+>hrbjlYC?BroN=882yDDZeVho|ZwL4E-A{ zPAUIR_^u2*S!m+8!(rGJR$8s~IW91~JTbq(pO~M1LU3B<@zLHK#)_03Tn1KnOk45_ zOTjgQrzH8b6J;0bWF6x@6myewf%f~$K?TovE-dT@1UAn2(F z2SrEU3tk?0LSm_7Gk_lZOYH$SI(jXbBxBX8dX~m8R`-&SLM)jpC8*4Satsyd`6MFu%3%w8r=r8NPu&-vdwQAd_V- zP_81TRx&=IP0w6xEcXmhzMLe+k5X^mhFqJ6Tw|VfMjJ~=u6?Ya2LK`$bU4sX<^^uCh$MR>!IcXA1j5E~NbyfA;v^*q*AvPMt@|_X0Suj`3>w zJUBL&_j&MbhO##EQwIF>cd*_Mj>z~b@234e#(mUrEZckp!hJFzJWFWceEbMdl+H7=ch;j5RKvxSfITuZ`K z8S6Llt-DnZXEkly2p{w~nmvA$>cN_WVZ$5*5ADWQDDB+H`dj$B48}V7drJNa{J!=4 zk@mD?@`v!l%JaKT{77efyOC8c)_asyja63Gh@Cm(d+?3nc~YqJFfvMkBgx>wSg_}y zwTE{G<*){_OQ#e4S;<&m1(s~kB!AcDI&)1tk@ck~&H5aT!Lc%*I)V&c#r&a%MeVSF zE#2vZk@RIo8~UU$zIszHb-ASvMb;j%c1fhwf1~#syzp(!` zw<`}FIUGwvSXaq-m9{9_l1^VRztQn-w?#Rv^o8`p78CCdSuI|{Q<1ab{UDfnNbiU4 z&Gm))Ay@F7wQX4=yI5Iv6y1?K9^H3L96XwhzB-jU1WQBTD)_!i;~Qv`V6fnJI&BKk zbT$3Eif_x{SqNjdo<4t!ErXXrd?~iu_ZUmzm>YZzOnu$N+drFlyV=Cs3f{d9-o66f z=A9qj{=d|{3wTu3z4yQNOfEpeHQ^R$GBe?3z*|c+RBa{`5GAMxY4z2fHC>}RtdJHM_ZX!C;>dx3T?TZ)*fxkTmp#%MMZ?E(0M<tQ5Lf1#h{}OzN&$oR(&)4F+|7Mz+#j~L`==6uchuxc!#a9h> z&zhI6LW8ulia~n3V~}5-5AeKTM5~NzQpz|2wvlq=IT;_?DeI+u$>Pw zaD1#qB?Q9@ZWsK1h%r?#x8V0Qu+t%QPiz;qJ-A#jyy%oT_!Zd-{)*>zfZJUiuAqGT zrA(y-!<4fHTlLD?#U;OFJ&(=I&$3gN;QHrt-Qgj$HS!wA*jf>66@4FDOR)WKKBI~w zyWHW*+DRobu>DtPM~v@aDC#H&3)raN3)Z#`cC7U(Td=0KrY=UG*`RkUD}C17&jc=U zp^Jt?qc(K)LHnFpo$y6>=A2nFRvyZlGpjLMa8^1xU`*CFo6YY-k2H>ubAvcHKC8ga zxWO3Fm@DTpI5#n?o^yqqi_y1tO;jbX!ygh4@=))2@Wh4G=Q*96DdVMU2{r`u>s$m5 zqAw!Y5KWAI4bVyO%){6bVnYP5A#9980c;53&${2H5u6vmj)>G^JMg^BjZ?CZ9T6+c z=(8h^VlRjt0sfZ$iuAC3CLi!tLUhzbD4e}@#8q~%XHao6_dSH zb<+Y>b%m`}by4zBI^o$oZ2Q6Vc?A9O6Xa54FHK9!nyQiiVfuQ&0O2Y4dJ6INxJ+M< z*cCDQB>o3%rc5xg*cG%xVz8dp)p^%ZW*gV5RJz}@=l;BFgs!x^inzO{wINUVE7oHi zyZ1EY$@_>MB0k^_wrYhoL2Pve{Ucz*^BD6ToS%zru?XAZ%E9jNSe2P2_jY1mxVbm2 zV^UDC&e#=WCkW;o+i_`-xp85yOYDmbKk=qYDWeNokXV(~WzVdTu`nv*h>UG%D)=V+ z(*&P2U>iEsFvb$$8O^^QUN{O*RqGf)#xCI-O~)f|!DH3%g@Fx(cQn6^xdSqG91yGw zwvc&e^T5DWVBqb{&yO7C`^)x`?et^uHu~&#c(Rpt<+(o}jDT%#%FGMa!1p%|SD~92 z-{z!RN17hl{LubL2^8ArLPTn?32+NWYovI--_I&%BtW(;Yaja37BJ~&VQmK zP8l+4izkb1d#Xz8dVPYC4P8*qymGr{JGyI|}Ni#tP~R)W{x@;o3gV=1%$CJ(CBZ#5bq@J#|#B7@J*Mse1DdPd-5HVpb_{O7P z8F0^4j0=K&1ow2B_T<6k?!*lG)d8K98ctscos_@nWU|r$jaVw3b3!BKk7FC(m8(j0 zJWQXtbKNEG6UpLd&+zfFrJVLM!jPRV9IA$>M+Kc^T(Lm$;p3 z=I!u^rB5R0lPuAr=#*@>mR`Z%T%3ts`MNE=qETfA%ixPD^g~1Kl9F=X@Rbyk}(L(AvU4Kn_}a{koO(Boo4W54Y|Zs_EG*q%5vSdq~t;^Gx%}J zaiJqU@Lm<;pV_XE)h@$EF!Z61c13BI4{YtzX<^rGuPE)>t_cP=^kAEbp+yfag)Xv= zK#eIIW$5-ec25L5D*%5B&Wq3wZ!zXZInNjx^dcL6^aS18D<2+Hx2DR6Mn6YQ`8bMv zyh#}Wcb8!yuL^mVYkmEp#m-O$c4}%F9%2)5^i!4HZj@s)+S9KbY|{_4h1`?WazxgngQOhB z8uZ0nRY|&w}DTa z%ED)p_qFf#mv>8^KTO^&85em^mGirhGwGxM9&N}lIyN+7m&bW2 zM)jwGUCxc^PXix%;=|h5a3ncX*07o1(WfH@Vvg;M{aNUSH7YAusAYjU{3Wj2{H85# z@Ri_>29bZ>)sR1fKV`gYK-Ow>J{H^kgYxz=xFd#*V2wqR%WTP;*OWK!P_G~EvGdxtV) z>ADW_r}oEAWz=~ca%r45-k}j0siqvmzaV8O|35pnMbR}nkDE4dFOOpfC$WKrCzIH~ z`q_8S6|r z!5!)a0{k5uC>~WzDcGC9^3?=qfDqiz78yHH*NV@$cb=dst|2oF6bUk#1Q;gd@ID$pq;c5e}O zul?WDOu@#)h>KkvRhxHGk6>ges{(x`Wo5Co{5rYVCH?$5HyQSFYRv7opx=sDJ`VO;XX$kZX0}sk4EBe z4%YBViY<)~!?B~P?sLT8rqoo`S^2t?8>{N#*pgku;Ur%-tTOZ*vln{58j*^`+SKr|{AI-HgTMb$nir z#fh!l0Y=wtW$vdxv6UzKXSm37fd=1EgR?sAX%&;qSe#%k83!Va0}lA8dL;N7|9F|d zdb1OL5?lFpod+~O`688K<0v!ER$1%NF}c_<$l$Do5o+c|*elpXBd3`5N}-8cga^cC znY^Q*Zc+>zW|lDy5s&p(klSM6Yl#JB!T)7`e{cP}@yQ*a9YMA}6Ki^ry(sOD(e53I zWbqv%vD@rJgV*@)*!)vX+C9{tja`0#?Jjh#@ar3lZ4sW4{h7=kpq%IZ;RoZMfNQnau__4#e2H~Rhyk7#9wRl%Wmvt z>6ake57P&2*v#+nZ1pwnUK-8^#|aJRf!V$#{fR6JU$%Zm&74n6DwQ{V@MHx0+L5h_ zYit=6Uf~C5#iCxpQt)ww-@CbqywYlpowQkSyYT6eaq`}peKIG>O%U-9S z%63$3zLw|37bMT@HhDY97Jk^P@viUKhqjA7e+_aV=PGS#7Wv!P69?K`4X*13+p-bMM9OP%8T*5f)p?)@pU7PAj8 z5_`!D2Kx%K?d5$sG)3E#pLxiYrHrq3o^9RUcYY1DvC3Ua{6oqo2VM7F;X?{r&l9iH z@0$m1^k7>^SuyaR$fy_HZ^@{Y>n<|tOp(!mvrk6(mY5#*?Lx07@oBCjjwx%GMTV&2 z1L(Y`u~`PAcO=fc}nTsFscB*q54k44@<|f zrf{I)hXKCT-G$yK-~Z03w@uo-hv(hs1#%&S@-4SLw0}va3b&H~wj@i1Wu4kR*=nRi zj)!y18q0e|sFAI#OR|J{76p{MCztpc$2-RHEb}g6dY**xyRogEN>$9Vs|wc$a=NnA zot_o8MPhHwzAJyx)!5t${42Rac6@dngH$ksck4h0A7cE0Cq~vQo4-SKT%pn$E@$n> z$_Vl17I`O?rsrdzODkiX6Mr$hJ8~P>qLk--$rX(Ap7vVj<}7eR4>Vf9yTL!ev97^J9`~G@U#Cy9!=gog1<-j{qW&r<(HAER{W?I?T>)_gh!Sh zNmj1pn$TWsjB0q_k{5$NG=Dp5KuQ}$wwicOmn+5?>%JqV>@Fo1zk;%Mb9^RwbrXNA zMpi{`+>9SJ{F(2n^YZP)Af-Li*;=wGW1INHM2CBj%{Jce8lLeGQxzTjG<+|*#?MxC zHniF+`uiGqLXPi3hl^Z_jEXMYk#5MPHKxTW7g;Pue}%45YF8QU8m!AC-^HfPXH#O2 za*sZi2nIq93z5Teu)#L+iyoG7XSr9$M0&e)xuRWcx8VnQ85tCrs!ow9%TG6O+>79I z5Zxi;-aKNE)9FunZ=tJ4r>o6>L?5?o{=g8m#l<(`_Q#cK<``l9i*(>nq`3pFT$0{cE-x*O%g}kTqHQ zy|-z1>F>SPw6n0g8YFg!-IbbC)J5F#2zYwDyc_YCuA2?s(D{LJKw_3szt|XWVQb0u z4UWa;@^Ve)t&5!{_LtaP1M?CG<|B%&^)C759^}u5{*k=H_$$nb0;jmJqYmOLY6AC( z{UyFev8`l0728T|u1;(+i8V&C5m#al3a?A7vTcP;k8irk%PB*zck)hh?`rHuN1-bI zVr^kb44coJW)CjJ-jexS3O#lqw${Rq&juxq8QYHyfbO|*sdw`nv9+Md)wJtLSKv}? zuUWVA?za1s9zV1#GvkN!8F7ekz>FUTi5qH+g#r4`g}!Yde%L_lQ1Ympj588DY#?^n z8o&nPS;oj7$KC9kvBOgAp(r_s(IoFk>@d2E?JLBc-e)VZLu5Mn8v8zE99bSk?9fKs zaJ;vwE-g@1cbJ%=y|t=N>!_-0R?O#ildA}>I)r^rKaO+~TZ|G%9K?G?kngGXjEW-c zp;am)YbxW@6viZp9Ztm_vSNo*u!mZ)g&M(^@z=1&B+enW5bcmTo1WH{dGjf+hU-;o zJh8(cFtL%?A?>bWOw?nC&^Y$KajeGcwM2`L=*hG$#;@6 z9w$ffyLK(>lzn1vj$%Ffc^A4`u;_M)^?hN?{U5yj}n{D=I;TMxv0B=oNo_)fBib=8pfE{nP)CJ zJAYhSSh9|Bawj-*2RPA#J!fH0>s;G7HFFg4={Cln@$is>zieJ3&rot>vgn2;uZ z8F*Q83zVjIy|b2hkjNcaid;U*L9Q8d4l&+zGS)nV4>pQV=Qq5=0r)=(9*HL1;qBmq zQhSqWPSjM;dfHGfG~ zu7dB#iLN-nxh#%X!h15;=xMO}O89OH?<2<^FnJc|n&3Ubu}`xObrXCi`xWdmYO8b$Y9 zz*g{S(l*NP!uBc?83o_hFfU);QRHfRSF-Xex=#9vu9LQ>4|LW$8dB=-*zb5of6k0t5ZDPnpoH&nTCD}zUcKb^{6 zF`pc{D#rYB__P8ZokyPB?dYqA>1UtHuGq%49%NVWKq-B@hW$0Pqnh;rT4-|?$A&)E z{7<8gj5grwV*iimJaT!i_n`B%_o_$Ja7 zm&gX^cKwz3i~?&=x65W=jTxM?u*fdP3c(?En;jft_s^GO`daoMA}7MqLvh9o`XMCm z+=Cv8qDN}z`zCzq)nFg#``wHm25;H@e%YtaLh96M|37`a6=XkEk7RRf>5+|pPFBjd z7j|#!uO|hciLSKfk%&Ir_-p1(==!im*N0_kHoZU2M;}(;4?e7hg46EU{Ce#jn{TJB zPBpl~Ph0E3p5-QHW6eTc{~v%x73@nti9E>r??x9I{lxpoKK;8MfdB@Khms?_v6QCvCV0e%eOAiq5+j zzPhlV-m~}WJv;NDOSw<<-h=R!?2F!ekoFeZhU?cv?>#7Vr(>XSD!Z81CeB;7vah>;u`77j@ zcIv#w`b@pN#{M_a3FI^DI-vm^6g^_-1RL$t4+S5P#3phMZQ(oLEi* z?)wdW;!})4TAIItV++?FS!v)}!Lu#Mqn~3#hccGPKJ65pxUuQ%n6|AkS^QUMn%Z}> zY1=&HFi6`TQbY9qlfL>AawvVc2swN@VD;k|y&tD@Ec#CRZFjxVk1JIU?auI5aBTJA zk^B1kFv$Md`f%mFM%#4!VES%)Q^nJ14JnQS9d`;bNRQLf^@}F7f|}-=-7Z z1BdE9o5S|BqDSBj22}lqDN+MDMS|UnBYFbMGBC;mPe&gR)PoAHK{VH6CpW>R{Xq%xO?R1yf0%x zfoAWwR#k+xsv_oERmA0&9bv7iC~H+kSgT4^u@0UZ-s2@!PCR6kBR%a}JyyQnh?TQW zWa#LAwRITp-70fddsJVHe3uFjrC(n_UcLB%R(OrI1FUremItcpWW9g~>}h&@e6gK) z27VaUoUHKRE1H8pNam^D%~(7ef6yu7p%NpXn-U|RjZf${H){^y7ZQJqwYF7@Hjy<0 z9?$EYi;7Q8{53IbqYiMi9z&;nR!n?2?SJ9k!4o7VE^7${@cl^c_-5uLxq0sI@YykV zt60m+VnNvObN3CK@Z9!GgQHiBp5Vn7FuJ2S7~sCv(c`ez+&*~GI8h>3?rfLnR?E!#-q`*-#} zU&|P0J)gzC#8O&$PPP&k7dp%MHWI()NaEt!@2j>*e^~v%H~4z{VJY>?+cwv_}b6BnmGO62@iDeI2Yy^3vT7zOASfm_%)rb+8s@ z{}XdG%QN-7bQ^6JS+$)(wrj8MlgBLfE!iF@*DrVsxprZ@i%h5Lhr!T2hxc^^s{R;LMo4g~k zB{J}z@Xmiq-|eW{5~CdB-CeqF>`u{VLG}so?sd}#?=VO57x36yJdd5C$IDrZR*#oE z$bD@!tbX^WUPleM6N`pm|IaK^5x-~ zg`-sH7qpZ5i#^J{wT$-@{w(7i<+<0v@Ddj-=Xv7&{jNQQ9!{-e2=_{TvOZ}c_s_8* zYm_yoWHMz<&R=cbFZ=Cad?&G5Dcb{0M7{$l@@>uS7WtOB-IjcN3;X1|2-~z3-DJhl zw`2E2ddMLnj^1LQ;6DN`m-!-%rT6WxCa>rL^wnVO0`fsCTD8GvjiGyqp-cSyexBQK z+j(2O=#p{pfW*)5&r%}?XR56otVbiU^ZSQ$oTaw9<(Sy{{W%;D=Q=TWiJjj+mg5|? zwT$D&32LOQ`!IN{+RA(;e+O%hNc{XyHY0w1fNvUE@$;*RpP#44&ohIayhkQ+4dzLa zo5Wmi#-%R$D+wkGq{hy7icKQ1^TB!!6*26}80T7l>(a|81F(c$RNCt=3kEwL1eE1Y>|owy21LE zewc^fQ0x`42hJ$l@Pme2zs(rLT;(m~i1fo2weX2mRu=mM<+u&`XhV*j^aJ@RroJiE zZx$T9Mz$JXCQj%6Hp3q2y|W|H?Jax5|}dexKB7hk7reVo~2#@81pd``4= z2r_K+3HXV!E%_DMMPG)bT`p-Cax1!3`qNS3KsPz^uVyS!%e{=Zj(m|pk>!_q<;u{d|dAHAp@y+;-xKp_r3hQk>B61UrgVMm8YPu=SiM|994k)64W{i;3Y8xxA~ZV_L0=n%(F z2jATLgY9$#8!)opc3SaWyvQrI)5*`Jha<1Cy)->MJJ-FzlU=qUd0BcmS<3lx{&V?P z@V}08OZfZvSMk4@{|)>XrQ_RB3D*2e9N_zzlXBGtSGKkx@;r4tXFJXMna`pduWRL7 zp^=?KLt3Z$s@}fm-MU>B*_j>kNW2~_Ec2lwA_#*VQ`oRWNHC)+CU zb`|;9jH|QsW7f>&I9vt(tpfj+a!t;Iv$lenx4OqM26GSR!)(K)+~eSygKG}1jeY23 zbAj7^XXH+Fe0fetqhGq|uLyh~b${-$lg%9uY9ln>LE8O(`G`;iTfL@Ga;Q75sOCEf z@@IYW)Qk#CGLeuSrE&uPo^M-4&uj{~DfUO>ZL%=4n}yaj=U^uf}A=zHt}v1h9r zv4yhmO<+&>GO;7UF~7T!v93^j7p&32zp<`$GxP}6gG-z%Y-`sf@smNLdR5>*PL9O) zw2{zt2??)&AH*YCgdYPIR}{4eL9!}BLxpJP7mrJ=`t7l%6T`NpYn4sZSwe3#F$ z+}NMZ{x?~(LavPl%Tx!nFRKnOV@7rUk7=viXB{8Ep(T%TE>yr+BR=Kr(5(?1@4)UU z0Q0m-x%5LB=L+x(x;Tz-kDYSYv900!NWRG-Hmh~d%dAJ`tSeX~c@N3`cGiF3{~G@T z{Nwz)?8_oI6Kg+#Zah{NzMw1FeEdS*`IXt!S>Ts%4DO)p=p&wlW49wH@d*#@iQ$Wr z{2E)J>Ll&c=Q6|(sBjbYbbf<-SE#jRE9`3<&sWbr$@Ad7;3~dhaFBT`lJ6M>dubo=Kcci*<;>QsqS3&J5~8( z+8l!iedKJwQ$fi~jKfzq@czHTS5Oas{nG4&6@>90Yx)msiShF=ZFn}=S{C7<()$mExh$>3hF8RbQJMz&5cIkHgn zLWNc-bd2AkrQ6KpLKez zT%(Rktuo59$X-v!BKG6MLa_t1{ZU1E!$YwNS~!Y+i24SFVmVqknZ+@fCJq12INGA& zFY30Z6}?X1ieIl2S!S)XqQev5MUi)JRb7k9@b`dOn0ryQvUOFSVEzA6%){9GK;G*) zWvmk_&!Nk-LH@K>BR`3?kVeXT3I3EErigt|(X@4|^SWt6cR?9GR^?}IZV|ECa3M#;d%n2)>I_<{-Ps1(IvBc4ZEHGZ7w&AXAdVj$b1YL1twA zO5J|rS;6#fyVCtk*}Px9ZLGhI+*h%I(N{sqFLRP3?(loJ2;H|c{}bJy(;d4{<}mAY z*Vv!wcWka<9m`_)>k{~DG4iF+_fF!F$S(KsJhIjMyzE=gv+v|y@#!G17tdt8D29J7 zfp?tXZNcTzwxyH_Z-pGRN%+w!)8fTy%CUG+lYQ>Bp3QX^Y#tpb*gS@{E2YeAyD@il z=x}xKIM$=I`Aol;-QJ^`3hIXKELf2j=iCrYufGL-IfQtN^ludZk(7;o?8#!h)aSOs zpUe&Kk#9+rVUtDRnJE0F&!5xz1o?&UVvPOO%2pw=9A~UY?ncJp9X~E{FMAnG z^5QtYk6mJX*L%5MUru`(W!^!3GG4YiQpQVs0OuMnS+Dk4JANiNd|RF64l8VH^nrgn zdRfMz>fwFo;N8k&zN}C*L;9-ko%XGJuXz&hApNz{JG1wlI#S+g^(6O(RTIlLeET9| zsJz!hGdvp}u5~Y4^Jn+0m2(0Me|8b;x7G69n?I{rR)4n7ux;>|@3@OPyms0Grf7YH zxgo;?#MuH1<(>cMw?~`V>c@+xO5UZqUe3!sk_+lX?|S)8#viy(-jnC{$($JG=oQI0 z`BQk>%X2>c8S3B}kr^2W;iC}tX7B)G)e|qdN*32TN@QM;=mz@g>tLM9GQL4*#4HAN>ADEbbhBXuYnxY5ssSt zDA$FrrA<+;7jT_<5_zp$XG{WH*!|gHi`B@+2Emi?{Y?6xVB)y1dj&gzb#gDiYQL9v z>-eUcDcb_Z(AN7zf3eRP8u)>^&$!w8EpuPS(;u1pjG>M)RrzjVb}t1iO?m_t_}6hC}>3;7D%)a?KjFY60sVpQ>8T*mS+^ zlzsJjeB5B!JKa}Mw_rT5rC?8af5DtO_5_2<_u6W}eH!mtWqz+s?iW4{g877Yf?Y*# zxao(V%%)8bc+OtuEcy$a#ClD9FW#ot$vRGaFP{ImY>D%!Q!s?o8OMI=trz`o)hoG* zG7dQ1eRV$|b%P~@hiJ>Qqi=LQ7QyyHe}xpJ;Bl&K4QTLN`$d7hoLtUwV zJ4eMPd1BhK8hX{9n)2U-1F_d4*JsKA1At9J7rtl2LGIk zx4bLP&Rf@89~M^?jI@RGq>Ht3D*fqyleeHZs;5aZ?e>2H8Jr!c2S^u{oE zc<~VQ8gr2rXOSNb?Q1es*p4mfOp|;sY^Fxmao)jt-F!pQ2kkxdeN7YbBDU2#RY+(d z@9Ci*=$k9N{LdycirjE7Z4tT%Ep?d@nn6FIr^rmTOZX7m3Yk&7m$Y4M5nX0zyL{8H zK;`tb{xMnkKjrT5#-^#+?!=T4 z?!@F==0J`^)+gde*q;{ec_l4;__eg~>j%=p-N;oJvUCWUI*4p_HrWypaxHUCt`>q2nAfU#`?*JQjtBI9-7qTX@?Iu6Lub>dTuZ9idb zYiCRo{kZswz{1s&)rM7{(KbAEzHLKDuP3KHkFsXdUcm@6R++Xs^PfdF<(zz5Q={Cg zzjN|m;(5h4+|Q;@e|PAk^StB@37-iavX*r(6H`C&$x)<@n^` z=~u~TIOZD?Dog8+S$^D-f>{Ee?WJq$_&ywFVV0F{_cEdD6K=I^(ii&h-UO4bPf*q$ zsYh@C^wV*GtoynB9`7mnCW~Xa_f#8Or@JN}ISeVbU|PR(1Uf-{JN%ypQw)IzYmm$8 zGw2lZwGv)*N+G=OMyEK?DXsV>pQ6q~@J|=|wg>DRVN8nROWTD`j@dKYhiL9ugIRN= z2P`~@HAdo$%VMV;WQ;nD-|2OHOx^gDcBQHC{?25x%;^#u=Rn`DQofWog8gFi{808s zv#+REbo&czg@3y!&n~$; z1IT!2yU|#~u(Px*+=)-6X1AIt`?9uRC;kQ79yK!_ghtrvoohYIyx2R7O?$m_ec7^Y z*y7dL>+r=g#({;4vDa(JA*h!1$^V9LfoBEhcn`9_%N=^E2*;l zV#9ymo>dX0KV(fvnS*3+t*VRgtqA#c+#8=O3uml*C{OJ7l`Do!n1&6XiI1@RvNH1W zhWJ-P|IYQ;PFiM`tdn|#e(vJEpWORUUKj6|sbvQ{W!(t+7o2?kQLynL-ud+^=&z+! zAS)wRs)<=WH)tQa4x$4ez$APCGFK=TcMGqEi{abPGv?i(RF>GBvshn2{3WwGW(A}8 zAug3;d>fatHeqynS-7E6&D>_o^WTo1RLu3#lr1a5JmctVihKtZmfY1}Vsls7NBb+t zIbVlAK%f5&j&X=z2!2~k4BBP-2Fk=IK;DN3-gK6nm+vVl%Kr|rvTkeuFvr%fu^*Ip z7;(%^#LK3!f9ojs);;Xw$FE#6g!~VOE5DZguZlC zter1ylQzk^LY>SvN}CH_eWq;LpZNYjho_)U#^&F*6|89G`5iR{bq8$eJsph&brJkb zf7wAUON?*e5=)Dr3s`R>A#4Bg4qzI0q8=WvhnKN`cGbh*63eKUId9B8td})3;qMym z^U>d@qI~m`GNe7i@6umxuJMh~T@mD$Ie3XNYD{p5$u{`dTndZliJodHfmds{9N1G0FHa(QEjXE z6RZ7tVYw5<-#H!x?(IdQ{U@tNWeYo8S0o7&Xv?4a%7;sc6r>w)_k`P;E;w$pA| zgVU)7Wkum##*WHEH?S5C^-K9Xcy>E9tU?aOuPEQnDO8#0CwuVW+QKb-lS^`Gw#r-y z7yYvn+up-<)}Qywx|k2wy0+ZTJ$~+)F7^)PI=$qOQZ{r7*3iy7YMs612rY<*_f#LC z-;wVqa@*^NLGH!h((8vo=k@ww&_lW(26>M0%)7*2#1A9>m{ecPonRvwSJD|n#c$os zxN=CwD|>EH7y3=Z|LovAyl}dW?c^2iXB6ic8)wCcCpkn;8N1TSAru=7*%KS^w2Wbw z;v2uwEdOyP1P{>OXGzWM4c+tunVUk5S^ zE)^fe6Zn&Eo#@_R=X}OQrDO6Ad>B7}Rq%dJdkN2djWQdsbp*Tkuz_o^g+%9jZHxoh zHxBr~n}IJGKJX4<3yl|JXL*O|`?5_quz$SRTMld>FSeHhJBan~bz8`bT}HWynkg!g z^kL^LIk%lNpIi>-B+38-y3lv2cFrl?ZZNR-ba;R{TVq?HpN{=r6aLF+7i{+;xX%V1 zWt^6NwXoic;Jc~l)n?v1ljqWqv1vko#!~TF9aL%HRNpC^mPWo&T|PPyo3t)}B^Wi; zhjj=amH4WhDx+c@Ws1*A{8FL^+#E~ntDEt6FuwO2sZ07hKzqrx(sAXz>`&C+C8zx! z_OE0A-NLMp&`{{*7~pGqqP)*uD}{cym}TNi4ZptlWb?0hUdO=jdKa|(5DXj!1BXov z93Fsy!(iYr7&t5#_}5_IYpEm3*mW~aq^e(J{`Rz z`bXwiOcq@PFN=P#bdl()|6#7fOzLSse~a$c%$ShG<>14ujo=vF4^R9HUc@JVUVgRg zTfTkv@$HAWZ=`%{Y$ksAV*K!z;D?Vw1Bt14O+7&#);?)_C;VaPsX_RzbBh#MTXcc~ zgJ*!)9;c@y_gfin9DW*bG`H&7)tOKTftgau@#(^#a1xZOTQu?1bh`_ zE9=z?c9F6tv0iQGFO9YEkg2^AyOH&UtoRK)qu1veP~TI}81?ztN`2GVN_{>5Y1H== zTdB{__A%D@^T00>>$#P6{(kcdqdr+nP4H;hR5f!q?TUhH4P2`A!=*Csw7_ojyNDN* z!%rg5E|;pbuxih<o@v^M5=@!a+DTp@9(8s4dz_wm7p zhv1(=+O-6_@2vH0Va>Im9eUo+JuA8Adh+w$aunuIg3jIKSl$Az-NdoXsk#+9?{Qq5 zKaKsbfon&&F3#U2^Gt=-u1Wc|?0+3xyMX;H_Mg;ot)nDv;#yfps+BqO@*dLuZt~XR zyh9=Rr*YaP@&l#{9pb!$c2|RUGT=wnM%a=@`#Q))OQ(&*Ik(uzR};Q!AkVZ7KFxv; zEeyU9KJ?Po5yBU;FKrcCiSLBAj(|TTU(hQUoc)){OOyU?L*LKV`#a5#ji;~EB_UTMQ&a9}Dfm%K^~m%sQSxSVxX4P5^G$H(Pk4j8yxa3Fe5$Kw_j z7hEoDy;^;e10-R>dL7U| zwT>Qgc&$2u>|1qAlYNu!GVj!?Lvl*3IX?UEug^{%W?O6X1*MMem7DIK;eoS<77b zUi#8U4g>2w>#}$Y^)4PDi!XukEm`!lZ^_~y_AOc5__sb;yo!BG7JL4hto#ghnX(^B zm3`6WE2*!E`aHbXTj*3L=brkDRi7ijf_O;4(Z^%CSkbR>*Y~5FxD@uJ& zKl0%^F4gw-e>>SvpT+1COP}3J--r$qz2>2hJoHhuNtfAdYiM^l|2=xU4Z2)~o-_K& zkxw37HdP}KE7Uh>#t|mOO5bGHSc^8ZS2!auKYf|*2!y8153mz2Mw$@{i+>98_Dgr5=A|9Gj#QKcx6ig%4!S zs@v7n{5UvL*0Zgq9v^j#u61peSe4|;$=WNkSKRlg4O>LjF5aS?j(qoM{1TKU`GT^g zpYN14hSONvZ{WSv%zF`^Qyb;TcbC!U*W1Y7Q+MdE@2GE*W_Ru!wye^x94H^Nd8pp zeHD)37xmCbp6{@>9J#o$cxEVukJRR_s>?+u%eOo70{Xg4MY2ZIwX~xfd?x*n-da_6 zCErZ!dEXrt{}B05*I!-c&5!z3qDtlYJ$&o2MUD5bWIZMEpGx0=PwF0)evy1Be3hB_ zQ@d!x>-MyYY1ky0ByRcXH*&&4L1P0r9& zF{u=SI$+Z*cEyL9K8EixP-A{K(Pr;y zXe_Av;f{j3@5c)2+PkTm)O`z*s{rLuTw2|*L#$QaoVdqpjB=FLK=hKfBHA+o_N5pA@BDXC6Z3)6i-@&+(qu7m%AJKA#Jd?oyG%o~frD-pr>%2pwLw~~H+<8$d-*RvHLo8&q* zD0@XGGSq42M|Hxho#aP#!UvstZd6*40uspT(}i(@vh%uMs|zU*iYh(rVglmGR${Aw1oB+;|W1 zy+6mkkFni`Tpz+W$u~I2?UXgnCI3>e$h3SnyefWng`a%^Hps`ZIlHiFADgI3L~cFQ z)rHTj3!C#0v5)(($E6K|$t?R9UyW}2O8sK@rq;jfA;EKu!E9?7rx!3jOk-cLU-yHo z)oI$itJxQvcoo|-*}QSn=B=TAvA?Z8(7)S5KR}bM9P%?7~w#-N`7fJV@z!QAl5TX+f_}BK<1HGNi2*wK^1zp3LRZV9Dy8+ zW#khtJH~hd4fVKz_?q5$4PLO}=V09O;olQIJ{Q`*YbOt$>yq=Z^fo z{NZKqG#}IRO(wMeO0G@qpHK8%uD^?)L*(seTo--Tpyy5)`9=?MUHm;@Fg@pI+;tz! z`B`wA%xTDJKU!7zm@)q$w|&g_-)oM;`^R}Uxj&8k?zCkQ`{?#I+P{vrCtu^-fiyj4 zl8mS6F_UChnz1harDc5U&lCOy@4HUk7yIkS=KG$2|H;GG-}e|ieyaJs=HF6})cbpL zEAR3i=LNgSn5FkWGV>0x-B_XYzxJ{E|6#NLt-ilh;>P&@BgEZ!~RF>uT;{bKJeRgxph5hPiM`9j3SvABXeTj^=YB^==-v2wMpi=oLFw#;KWCL zLZ=J)qf=Q!uTUk9HQ7V)0_MFix1s?aIamlS*K45|JP7ZHI?#*6$3vTDyEi$I znU{STzWEze_|4Km8;)E$c*EffhivGcnziArx!D`udx!5cFhA|MT@~RYeAc-DJB7R+ z8{?eI%=u%yyHm#8NS8Y-^+^4azogeKZJ;fJ31h@oHS~g&dk0UEd&k;QjE$^y)tkR0 zGQ8pQ$e@ogL~`ul?YnA4-bOe%_uzZ4`_R0Cp-Whj-$gOFqY+k>u5f;^p?x z8?57Us5~tcNN>1Y$@!g`p+9kd4>5&xoU?Q8b@*sI&vwUcp~F5~=!rJwb83Mrw%H1L zF7UQ49G>((>f_#seQ-N*&MTt$xMReQR*q=-VV8Y;QSur5(VR~{2j8rRhi-t*jLY&} zkT=mg@A_2Yd@z(dC+-%r)#caCvyhz%>-(7H;UdSZ;)&^C7#G{9iG7tEWG2HKp>_Q80?G-*ffxVU+L|_UT#c6n@6v%KIgf z>&-gJw@7Z}|D;*x^Zo1W$IsjP^Yigp@R!BAZrdw!2alAh)7Cn{ zsd8k^Bg`6cLB4H98Ed?Z%VeMtP6V~1~Yg+#A$S)X=%;svj!DA{XSa^bO8$9nxth{Ggo%=aY!d2_r zJZGCH(MaBi#=d7o{iE)kTqoCdCHvL>nz~ke==Za&@h`4(Qg;K}C)j%Ur*lmkp1G4_&sZ=3xe?X(%&MD} zsY2i^e>V0=2Dz|*!oE7e+&1ZRKYmr=OUYXny()RjlCPYat9+!?eHz;8e5%vKLv%hNVk^es-I?>3XZ4?*7(&{l)SOp0#*l}X>HpsfSi7D8Ls0NNHp+o{m@ zzfIcy9okNYw)>&&G?TVd&qCV?1895miU|`u(6-d1?Q&@Afws%X=B>RcH?Nnr<5FmA zhqg{=>wvB+m)4aCZH1;n+sV*aXzGBrWt6j$ztHtczDs@!e~*80$#!U1&Gw_x_I9By z^98ht18B=}_0p0O1#Ovk8FE7BQj@la(0Sr-hrS`{?_SzYHEDZc3T>Cq-f-ly6uLI4 zy)w?_k}vX)EN~3836Q^hHXW(3&jZxiLTtRn%vo+BZr(x+y~WH~Zgln6k*Rw58!;{9 zJx3h@{F`3tI9pz{*Q}$!oJ)XhMV}aX(ZbvR$U@JOn=N`wbmg9ZJK5Z0>e=71{|END zuD`#$x9CbYbDNJZ*ET3Mg#1qOyjNwMJXc%2j8o@oYt4ZENF6i0 zJI#-R4bN4to3ZL&uD7Od&ci(Fm2uanx%4u()zYgksm(zY9`|_>7 z@6kpB|Br6J>FuMUK2j%iX$Ap6g~_FgEX~FZuX3m5({-aP2Yd-m&1=)VkuscI18Q zFSZFcsIe6q_gzgLig|0dP~Y*L8KJ}Uu?<^V>WG%7hn~v*ZJrzZHf|qVBsp5ExYorz zZfx50?+usMkZ8cI*`eu61X+Pfy~#YO;6aUBbJ`S`*g$ zs_gA~@;#9u{2ln~%lIq4c_FsPpz+T9pH?yF8(X->UX!m4s?K+etH~cnZeD@Cz(4NA zmON?WxMjwCBF93RPh{^mpQyO$Wb>i5;=i2OF8vv$-FEs6|G~l+X`6>RwZEaA>-QAS`G-(H&-*mn;;SFsP?H?deNz6!x&(dWofMh`k3P$%#9;S-CK zTUp34nAO3WCW<+Y;!ki4SBXdu+Z?t>*^XsFL#A z&Ihnfe8{4PZM`bTow$FjTl~qVS582F3&6z_Rbmixz%#Q|B7?c;>A5PAHjZ}TOYz;z zyuT{`_))f_FeFqsON-g~Z>%T#}>isHQ z_lgSFzNWT1>0>AK(1;7_Izh%5H8eENfn7l#PoQnIJ)tGdK1mvLH09WZ-EB+u&G`*L zW0B(m;(e=ss3uNu1Qx!p&oMG+>xQ<{kAZ89`!qfGcU*gcov{r0DgN$z%}sOF9`Z)_ z_#C6i{TKc?+Ajk84qWScO!!R3SVy&b%PYLb*jvq5DZJ)|*8(+K zNanxRz-zJ=5cxm}FFfZpdCohGW8t|VTj9A!*b2|#^YjYO;cN85bB$9}qNzwFyee>o zpOT=zq-pURw)PX%FJ}%+y z4s0cCEm>|{%RbL2&~*l-PBqHQ-BZBvWR+_nhiOWWpON8A2D+Zc-m zw#{wILj#y(6>@;SJT3DhX3)k4k3DohauEPWL`4>mizej4!G0rhA?q6rZ}AMW8$dqvwxa7qJ^~MYu&oakX{}!QM3HnlZ0L{6N^;JrB;oS9LPJ z&p{3a_GV8t*VT7gUcDE7lKUHq%EAGjol6cx;8(W9Am(a_Kgq>7Fj&hBPUXM)|Jayk zcR~JxzqTbF*kMbo$|IIJ&XxZL7#E$sFAd+9SNuPpEeqd*UTQ$@+#^(h4S!Y{=SL7j z?8KKP-+Z3Ubvf6fG;#?V@}w>gzK<7}?EJp{bjIuMFW{#=adtmNfORiL zk0(#yyNwHWCN^=D{T}{ZhA%hrzUXw;UciUop&!>FgH`mS9-BxqcgZ96!f4%p+&B~6 zgUp=GH{zDu6=Ws(B6U1t*13)S=lMTp*14;Hozc`fk*yPYon!SnZ;?9DA!n;ojWzH+ zncKZ{$n|(kkYm#y6Isi+W4@=8_pG5#c-MGObd5EK+|BrX6?J;aS0IiZ_7aDY{ZTau z-H$!cUnuJwr1}isoa;Uf77c+(O}~qwcYj@Pj05h^vYsUT{df3b8Q9gC$@iMT!fm`W zzUOcR+%jnpdI2000lzqCL*#k3%-iUMhLLUhej)<>WZnkrV(arZBG6UlZA6Z-oyZoN z$KOY9BCk5GocrCt`_O{U0_57dw2<;^=-8qSOhu;Racb-14 zWORGijVGIBZDxsccCvrIzMs<`Wq&UF$C?CB_RXIkt`PMZ`?Op z$FP6D8yf;0e{4Nt=QCyfYzV>fg4^Hb9`VZw#%&nII55Vo<9sLf3^^&#^`x?i@?ZL?t+k-cpY?d`m1CpD@v7BGU zxiI$}$PnHc1MiG&Z{Xa6oU7OQ$(Xygf^+}IIq_j6(bIJte@o{-)|2AdyEy)$emu54 ziC+8~$4m5MThUka=d_|ZY^A-zqgI=3@Oxm~nfcUet#H#8i?OlecP?$cfs*z!|#H*e?xAYh2g=JI)-e0!{r>vB$F(GrI)r93AXekV4pV0h<>3=_ke?QO}KrxXTZ|Nsel&u4>iGv=uF6ds6IOZ2gYIN1J8tws)!YZGLVFX}2EKEZel52>-F)XaX1gAfybJTjnVCh zMP^xv?@J${!?|C4)pEal3(IOp?SOW8$x)uov+K-zyk=iocAwst+%r&T3+<%LSIn*C zD@t85FH3yd&zr~6)`|gboo2T6_hwsvMO$Ugn3Q+3*o^NdeT9b@vxDP*zhBFLaw*iwVnVpug0E~HGS4orts+x`A?_*?QGp9PX(CEl1UqWXx3rX zRc9WHJ^KU7mw9s1hFjU5H23dj`(bsiN~v?$fI1!Y;o*zkX>O6SC{xcVSM}v8SwELJ z)Lw}Vfe-dL8Q(riY{*YtpGIsb%sYG+;g7R&2o(3- zz$;&!?sX8rj9^s#X-~O`Q$a*-~-^>XMGv7TS^HOY=yAx?&=9}B( z$^2=EeXXolITT-mewQphkdtx7RXpoilFJr@l zBY*sR^1g<@kY~>V>mqOI!&Uf&&a??XW^79bTl(-<*|DiE$5xRTng%Ym1p@o_KYO%U zVYmG30&-%9Fdn1Jy?n=FFmZ+%Bh~e#Ly0@wYg;s(?{YoFH;UF&%m~i=X8xji+gtLy zeCP2RzEQR@U4{I7zeMi+9l0fOnJ=uegSW7rlW&BqJ)Y6yef5^ji#w`H6l1aX)ybP{ z_EeR4UtPSpn)&9&xk;P7uhwif_Fe2(oBPhq+nGC9r49B+_*P|1W%12QVm-_&E5JYK z<34JMI*4|5sbRr_bak=JNoo6&_?!y-caT?hkoS%^v2Gt*iR&=mM)yZO zB;yrxLWnq^BgM%vHD(RNKkrB46z?=q2~vMw<&LD?)CXB7do4>CBSH z$WdysrM+DSk4DG=a-Svt6J5_+d9=zdjeizy;r;4x!<}MTL(g?PaKy~}oJdqpl)Il0T^ zP>M_%@;Kg<$8owmUWq&wn({bV<0nLH1fbZdcqYZCSQ&o^cBr^sdzJdX^H96JB}pdZ=vBb#n5tKuuj=F7~+(GKg}*=4jI8I2-)aWzDj zQP(7Q9l7YpexF?T$!PWmWb_SW)SidWrkrnys@8WzUhT@xH{Aoom_=uO1bMyOZOH4X z(vgPDjxc1_{oyj}AlCk|WtRDD=aSiLp=km4^^;lhNh9~ntkY%IJs^ONp>^(pm#?0f@ju0BKm z-(mLu*p&XyJwyM$b?AfrzuPSL>t_F#oTdL;@lpP>`GOAlW&-2!*>ZW$nSbW$%NJ~= zy&olCkTK$4ueYs_{~M`ydyU#7ct15?aL07X=j(3+3^wWU%)*n+V)KeTY-0b{A`dlv zd4p?&9s}|QYd@r(r}TQrW4^wB-k{J!#}dd)F23Jq2dQVp?|{9y$%&juPDeF)%+=s6 z?QCl=a;|zmk-W|nJvEMcg&x0t%+OOmaWjt-eV&@vxz26qs|simHR*E| z`yB)H)uc1Xi!#gqiC%tA`|Tz@EPZuWdN6K$TJ+dAdG^7n}4rciyx26V_v25qh8t&Lto2 zPgsvFpx!g-vF{WadhFHG56a6QOAUFchbHo!bGkEb zKfa*9J~Mq?n?7nD^d{Q-QG8t;pKu=ZKc+)J#)otHoIYv%5s`Y)tLLislg58Ls8{5; z_R$aGziUkXII*A)|Gmq;;6LG&x7lCEzF{-xw%?$ak<!r^A^4*G`;0fv- z==1uu+&94I^+WE{eO`V3(oG-LUs~`f@z5PY%TIxau9JE{1s=MXdWDBx`R)gKXv-H2 z9dm065BXAf$UA_CexsL>)4t}q{(jR-&%i@D)H{%e&OZYW4dy)F!a>rDLgeRg{Lk#15b@Q15dqqULQ{lIRj4};=1tn8oez!?F-Mu zQ#;k(?y>6hAh$RFANbZJzN5!yCIt40P53Tz`X`sW9{Uw}Yr==W#15~VcD#8#*te5) zMttDkC5_||pu=v3&OY?mEjAlDgZ9wfeAmfWqsSo-?EB^z^62x(+s)_i;y;ByK6v@I zly29%*plO3U!)RCF5r6&pJo3N{-0Ng#rJUUef%5wui}3t=jZXimjA;4%ig=kM_Hcv z|M$$~Fl3UD016@{6LJoRfT9i-WeA{{fwT&3cirtKFgZbziHL{L+7cz8b)c2i*6()v zt5FCjm9E;l3%l-@P)kG**Lt9|yWbLyQ3BQ0wk})z=J)pjd{iFxtn$kQyE4{0 z@dvBTE@F|}X!FA<=JYJ$I(5!6>rB!E8_5Z$|BAVoeJ1&VPX4dt+~07np)vix#GhOC zAn(4vJ<^X~Kk}Y%t{I3k8VpXpK=F^E*7_K+rEh-TBRS+%)49OK-Ua(#dFeaO?|(Vs z%OtkQ8IqPkZ4{d}GG`Kk>;w zj$BCP-45jS&5Acr?8p80q+XuE`Rap|eT{dmDmWJ|{MA?9=)31D55F^X$llWQv@m&2 z!~MYPJ*gg7J>MX6@a=)NTZ~EaJkI-O{lv0&0^>C^bDD@#SP87Zq2$ayH{BX#WHExG&#I`#B80`F`5pNc-P;?<;Sd9Gbc}jdSktZcn(EcgFZ;Q8>pzya#^0 zBQbsGAb+F!L4YWINDZ5=absQS{v2Y#tbWXDm~dtyu`7ySJI;IBde7Ghj@6IWr7u|h z0LOsq<*q)N2dZ;|#noe9Rqco5jzs;lc#Sd@h9q&+R;m&(h~agAm8y)pVrxP z!teFtnUh~KAM@zb#H5UH31{}@jBAzMr^C?V`{7pmx=hy!wXe#N+^G7M3(V;r=u>&a zB&$z?=euEBQt8t!aC*V%YCYMy(xh5=kAo-NT;7{D?bSKu^vOw{D!0QE=@YR6kv?Ud z?UUN^pVKFQLZ5;c(I>y%r>2-b1?f}p59-s9gn9bfJwq;^&pbWAy3_j8+AC##%G2H9 z@yyN1q3*pin4kHqx%m0#o<8T&g|fZK(AX5<8*!(cCzI z@1iWRALXqD>@Rm@ZiuytuD3(>dQ%(TzQB4rMH{vM*V2!*^dq2txQB!%5U+L0Gi0yU znfCld+M{)&{mlFCRzITatjDBYuKn+Cn7Bc`|KCA<$i18?-&2ESK;BM^YcQ3rB z`#UL@v+q6r)`D%FtkqYvSJZa)%M6o#cK=_jejkPFpXK<8_?&oLH0I|6Y&B%*_MCKb zD3VVphi{%%^S#fu z_qZ0e@vY-9^IAK^tgpa!GyLv^Kc=vExBAUby7^s1yw5BAE`wj|JaqjOphLo-xWtQ!7q?D4sA?^61kBvTPl9%@IzEA=6RGA2z zc=$2kcbVkU-T7uJ?;n0x%DNiY+IS|nwfc-Hw)+h444RaH zE%)7aUbG^*Czsi``r7aucS-t?@C+y8%^XM;{g&~XXom9s@(^q6`6klC>IdI*w8s89XjGZhz6YS8xpX5N zdcm1MpI5S`uSg#j&YEd{@&R-57&zliR`_>3uQJ2>UNWhr&pC&bYMeB$j*OtchS`O%PkUk~QIXdOSTx2i8Oiee$vH5dmb5WjAP3}ntG@@%XmOrTO`Mi_VOZ|oz!DPPUn39A(m)!PxK6EB%!6iVqzsBKH8}eH4Gs;mgg3y*cK?Rs2sPM%KmtJM}ZZ3q$|Zh8o)9q8$aa zL;YNpzUgnvsh9V4!atx5hTolBDoddaJ2(?arX5MN<2n96%kO9S?E<#jw|s1;@Ak3n zzGY*BzT4Qlbz@`O>NjK0%xoKbrrhM5xv?$hjDtDnTf!qxxKc{VdylWW{=47g9-XWC z7{)|8t;S&{bIH3yANt+q!}+h1D<53Z z5WQUbnguV+rK|v2qMHvb!F1Ag)uH#4QYlM;ejZo5ubzGl^htF^`{SoSypO!FmG=Ld z{uCqk#Y?^L*uz|o6*0WF72TV4wbGEck~Px^P84<#a2vR^ciXs+ zt1;5}=-n8tvFKXTI@0^+`27ZCGwm z$!1zaCa?P#I{((0ynjbKqIS#qbpBj;`#gKk%|!RgNYMEWy1sNa>Hd<1BQfBvI! zShJ7MFbmhP4yCK;8(S|~_0+}GQy*VXy7^Fj^ZtAP!X{$^_3ZIp?rVrq?q;9&(_ZEJ z?}6SvWF_)^;gGKUaN3Xa!+~@YE_J7cOVB}yWrMe~*OGQl@8x@(`N=z{6VIPLi+hfP z+?)5B_0HBsnQOQlt&1vaxwmmIf3vPK$X$GW=9{(1`(WiEcuo&IX9Ig+S zUav99p3TVF-Snx0HhEj?Ur^h}9f<8;Lwx^Qi_TQ=U8*(4c%)ZpJUSUu_Sg$M&cRI> z8}`jo@};*?Zzs6YHN360FCZIZ#$v9--=Sjt*0GMexfcv$JyXX))^P{x86KKFjCFhy zd~6MKD*NX>lM;R(|HDvpnH$qn!@op_$@<+_-{|K4?r*>P#;aVXu#vifd78Y&-$SR7 z%_aMB3p&kH=q_#OE~VIii=@ZGUvA*O1-b=x`8%%EEz*-*tozxN6>-lo8IA0T%HB4! z{x$x0`jMgh558Gn*~NV`Wzu~Xzj<3_C;wORKbL({&hvKud)Y5D*)ImYD3{!AUUId$ z;bT?K>_)d^n5PYyz1p}vDcFfmF}~;#toynbim>lA*2nBMp*<8?6H8bV^$BaD_S`km zT6kv5{{DqSz_;{X=$Rp+UHiguYaW-ppgpSfCV3U1T@UTL1lkSfp?u8ngZghWm4+Ilv)|`i?H*QZ#SCE~ZVcT}1&$>XbGnUMd52eYLGv&yO`Tv3* z;KeRutrYJr4x1I#FXY)c4!e)l+`YbPbS$oRb4L0^EFWN<-D2MApSs-ERU~sKqTd~t zj)H!7jC(ul^C*JkGCUcjav67)dEM09hZlSf}gPv2~m9#{ii)tAkG>4I5ZRWEqCW>IeOSi8@;^m~;L zKNtO->089S1+6*L+^Mh9b=BWj=^#gj{Mf*K(OZ2Oq z>-W^2iRyLodrGg99vJm|cHr-nUu_fqPx;p5gHpc8F0SaFi~2k*y)MS*nW)!QLnnv% zm0mXoy>18msq>+>(K&q6t*Kh|n$kS#xgWi*@W9d59q4t7sON|)wN&-x9XQe|y>2nT zEk6V6q-_bZ1i6xz)U`tT#SUam;eq3=!pl3*+bTT43(vw~UG*@QYtTdT+%^tAtwC{E zhyJ>VZkLyCv8Pm1mZN}|5GPa2Eij3Ratv!k3HpYCY`D#O-%P`6MR>93d z?wfPX&GK^{xyQ9&Df4g)I+e>lwcs6O{FCUaPg%MuK8U0t;o>BBxF9JxJe0lCfv$QI zT{RgUwI2OcI%{yJS^q9_veChNQTQGl8?%N!!L^>tY|Q#h;YRP!8@W39UB1!#neGFN zDkpF94$b9vFTY=sY}PY=rvR7r^F@`$0`v%$DQ*3m>rc>@?*1F4m}U zOAfpZZf|QbxLzCA$^Gn_M$g`Z4<-&5K6tUXCk`jzvSu$9Hw~TdN%|?z}Hy^y+Or`B`HHh9r4 zi}D=l@^O4eyehyxP2g4UfL{#1DrLR}uRU0J;GI?n^P9(fAEit@EXbvLa`7WY`V<`N z7cZL&%>-WdiD-(~-2hG2Pb{zdL^Q<<@lPc3!cRm~yb`}fBCq^JG{sBF;h4xvKM_rM z?c>wW<+a)?CCqiep7&zbx_CpbHSc|`N!+#e&pYonFZS-@+k7#+IBlG{x#BCX1>(o@ z;ffdE3@?6}oJBgjLT`Ef?~vcm{rk!{e(4wzo|B#&-pBo2&Pt!+uJ@g{a-DR!OLcxa z+%YWdaSRP#iQOf8%jL)nr#dpi)y}T#@{B8dr)(*c8omP^)&;)G-sg88-+SrY zFhR<0esh_{yPtq}Z{q)Zg5mx-o<9P8@p$1Dz^ldoj{rA$|812AfD`Xt28?*TXz6_8 zVaikgbx|eshTaS8M(|Si*HhCN_`jF&7yp+mb8(%+|B-_koso4SIVhikY<0;($wbjB zIB@JNP01}UvTWm^G~?xDRgAr^^Ob_uqpj`O>s9#jJD`(judgG&r0jKU?$=9yTpFIe z;#g}TeeAUS=gGJt<86oY+3P9jhsU1opZX!W`BeY=w!MCPId2zXuP@_nu#a!!K9{@> z`Pdxp`CjX6^M1Zj969T8_pNC=*t)voU~5~~!PXjb6(#2zMDP1&n zd1<`8{+?~G|0>2_|26jd`w8~?#J}O&zv#j0XC7@(n`YA<+2w8Xyq3M*NP8-BvF90+ z8}2>WI_L3&t$MzMwyiXdz6RP?Py1%?JlN_#bg=a$+E&NhcXHQWTg6?vo`bvO!Ew$r zHu`GDF2<)W`zx!oj(*h8kHuC$K8wA6GdAok*slw)V;$JAk1>w&x$te&k<#-sv1v7~ z?@^Y4-JZ%g%5G2Lu2`28#k#O>ld-9)9I1^-*hyxTSsxw0HrmmRucH@zB#W_&+U+-> z$vK4@K;D5A>|_8^&k|baSCoNS{TofPTwvcXMydU|;lTOgxSG+;>rj`oDp@ z`mc4P{>S#c+d5OzTvm_0L3TTR{w#f#-M-lF>($ugT2H&W`==`Z>~Vg-s%PBGc&5Iq z->+exYkg^LX^G#5{SuY-A@WbwcMjB`Fo%}As@A?$K6%$d6ZlUwg97nnx z8b*Rh%kO*9nWRhgaFuaVC3uel7W7@b`YzvawRAi@Y<~Ne$aH*Tn~x zZX@=d*~~n>OkWKB(s&g&)NkV~p1v>H=5n|^#E*DpH56?-!8uE( z7oJ5ONx1BWtH_ z7=BRJihTH4td*Z|mEp(NTIqKT>6>J-!@pskHSga8NAVMiwK>Q$&3^+l6lc@OzEMoY zM8;1#Zn4`P{@tUj9pDt7F@f=}GVZ=x&?)bCrj{yJBZc^j$9R5)85Zs_DQS^iTDk{vQN@-h~udC4Xi=cHN!;O(8U^TyXO3BuzD)-9gLOsYl*!Ui(8j(D{5%m zR>ImTWW5zQ+^osev+J^poa3vR#|f;<&ERQW%73r5sW~fV-K};cBg5;occHO_yN%C! zJ;b@M&V?qhUWNZY>-D1XS;x1tj>S9Xaz>+d>?R-5jSkKcS(8(oCQJ}rIE(u);VUWR zMtaJa@K$vFGS=}#Vu`jeXHPQ^Pq2P<_Hu~3*167CwlKHRGnt!!e-)auD9>?ZHqIpX zmvz?CzOgd0-ZxZwwca^zJZOeBRy$KX)!5_@+Us5Vsn)x6v4gDPBG$U}(+RB6QpV(d z)_n>4px2}^W{up3oZSbdoWZPNjX%Xc*v%MeA4vCFiBDyG!;)?C&uBjsgRgxaWKR@A zKgf6o8SBXYDA{(3^A_z5?U594UgRpGe#`H`J`tbDI}qH~1B~{JcrM@bJiBi;BWJ|l z_Z73Y;&_+`9u^+G@-nk*LcY$mJ*DDf`K%!`jyN&ahR&?p;b(2R{AaGUPW0dCKl$f% zK5aes@;{6J>@|Qfjn*0 zD|x1U-pSZYjwRD4wXd1D9>p38cQ$-le*dj|`xn+DCy|4%Q|J2eyT@Cx$-yPn+u-HI zM^Qwe(f}>4Z-cce4fBx1fvi?TVe#DYtx8 z(S8k~FKN@$Gt;M!$V{F-Ci9&++n8k20Dd7;Z^i+8_FoTtV~zJKJ~ zEsilAl};|=Q@1?ThU^EfvkSc*KkY%2)R@nHc5#)rcOtVkR_3;EsN8_en#UM2KaH~) zzuu%&PXYf68Pl7%<}c-((k9bWfM7UsU&8dp+O8 z+MErqJ@rF$;mPPsjH{&!vrbaA$0;k|UV-jg2%VKCt#PwS4QMTBue(_XsjP!;=3ZkU zy2yZl=xPs%w$8ysTd_>*&~GINzGkln7dkEL{q@4u>TSokl2%l2+Xdc6ljND*O729< zCX2*0eHC2nyIYRAl1h7i(LePU&=77rI7Q%gbMNGmeo0KD=ja7!$rfmY)*NU(Z_|7S zns0OUay>+w7VxYZ`kmZ=&RzBP+xIB!-vNhwx`pqFm!9ByhieRF8H`I19-(*tcA$qV zep$Ns4s`J@c%XFgt?1%jzOy4;yrY&oJktMX5nX&DYv}9X%O8eZT0b70;$7mmpXQu? zQc~vG_Xc)cP#^DFv4eFNd2b-9kC$2c_&(M~?Ah5S`|NB>%-LDDNefu=!C{zRV&ECC zT%DO^DV{siisz>RiewD0r4v9F6b@3P<+hjZX~ z?=^QBaGY@!bH*h&#iB&vlG&@4jWEWL-_O-pjqgn{Saqz8)tqT{^ShHXt%I~d@?z_4 zpIWd4o|3|umRo09#9Zk-t1yZ8dXh|7d)tLfd51HtF7EQbI^dO6tQ9N%$^b&h3% zmAN{jf@ezZjI(1$@>mCox9T++9`l~`ja1LutkD$OeT@2d(8iM1w_CjjdaU{KI;5BD zy@29v5B@UZU)lt`{L06WwSxEJw=2OH6gf8%yc_t!ZE5K1Ix9L0&m0a0|6pGNymdY_ z2z_#v#?fa^2c^%Mnc~ajACsOYo}EMci|`xeu{I0o#}VY7rH{21Y)k9a*$@2zUOJfe zO94K!!qy((kGAfF7V)s2neaHhN2GHa=@;{lU3ed@Wp601Q0LByD=f12Q7>bxwWD@v z?es#sz;4soJ)^y)J;OYe;xn=IdG^+E8z-XA_qNVq%@u(g(dXacKA_JV?Gfg!lsy-3 z4;*X#NPPC9`2zUNV<~&l!e=jDbp7m6!#4%BM@!kG7Cw9QqVctN7l6+^m$G*)eD=*n zEw4WJYWZXkq-PTc)-iZnl-GuVVt3OOiFkzd|)ZDYRSk-Klc{SO|Ut` zmE1Fck^JiB-huu3J>u22;H!~7ESpJwfK+tJ4wGTUtf{=(vY$jRVpsK$D?w)_va9f; zH133lxbIbtf%;6@QBG4|`3z-U@RT6@WDUP{K0Xs)!s7O4Ds>+2MMs<2zRA+lqOnE~ z5UZxMh7w1%r|lKRstxhz-7Jlrm-;kzvXdro)_}vsTKgKqh)o(@!+ir|*jl=6{+_7a z=6`rDe8@{&TGZYund z$N5;qj?QD`bo6 zJov0Vs`1$|!2jyN5&zp|;U2-ak8KJcluVECD;G46wjP3yOcG;YNK`#gImCU&lzJs*MIhJPJZP7A?Ou)yH-SPShcM~aV6NWn`Ofyrz1A3 zYe7GIR5r@X?9rQ~&qr<8+3_~)IQEC+ub=%P|3jW_&(3hTtkjThRfuPd7=%Ql7$isQeUlZi4@&G9D^#hqupH89X(WF^QJRXS)eLnaa3C%Q7hI zMCPS1HqtFc&$5ph8`%@HZF^$=-(g3fCrU4$_~VJ;&K1lvb4_2@YpKsH?|_MB|G@z`{3be1H`w!^21%~=5t zs9_%%=~aw1wmtS&3h!~rKXbfwGh@4n@kCGdbTWn|*h9jx{0EGg0Y~TdSI??!&e}K zV?eztAHyO2$%WY=8$apMPYv@PX1-T5&r2y=!~b4* zQWIqjlqFFn+eE&WT5R#0C4E1yZzr}jy@jS(|Zstfn1rKwu2e@`BZiv|;a-EH|b z6gTR&{2D{pACec1^jl|r*w6v(XVH~kLv+vjH8>xP`ZcC=UMGF-QTB#p!B_DW457}B z=lZ9PpiKUQ6ZjUQzJnfqV^^Q`XSBWAKlL;Af5G)}3Fbch3BBO9i9Yw0Hm!}oCOdf7 zE&)gR*%Iq|2N-;gaqnyW*T?mq`|kfo$MrVByA;>!XMUn_y}UQiyYv4!alL*!uD8aH z>kZm*y}_~g&h5BfVzTxAa9mukf5l6*GZNQZM|`T_>xt`Cd|k{tvT<>}HV%FZeDfE^ ziHqyCaj=^P#fgjSwQ;Pt-a+b#i|e&<&{qbnCoZnn#ja z8^LvQABb5UEUx#XaW5R#`_Z@;j_dts+zZF`vd>#<@zF%qq4IRZ?cwvr_0|C&B(ArH zxZWVKP(k8)W5*~yUg_fEdi^URalH{y4>DF0R+! zr}%!}fkrXBClc2iB(Ap}n`{YjUE*I$TaQwwcvz6@oVc#IxL%tkyzCRvjEn2FX~OG1 z5zV-`UYjPo@DtIDi|e&%!Ye-!&A7N;nmA^=k+|M^JFYiK>|}$*8*;6A zZzMJ|NF37z=KX(8TyL2j*ITv$8-lpr7CWxD#g6MOa}$F>TyL2j*IPzhZ;N=h9oK8| zb~~=OEC^qZiR*2#<9aRrPF!ypalICgPl)SnvEzEn?6}^Rgt*=^JFd5kxZak8xZW1x zdRr3Wddp(sdRr3Wdcm)W#`TujalI{n{J7qwc3iJyLIbh4LHI@^alPUhO@ptUkBsZB zx8r)364$%LqOCe++Uqi(yX4n-`O!zl^?owigU9uLGTMX3^?owigU9vO+Ht+w|MkS+ zM)X|qe=p-N{x4bP;yQ=_Uoft>&W`J?$G2B|mgXU7c#)4A2c;P=C#&!=MBl^3rXjAk zCMK>ocoA{EwfLTDW8!+_ZHMynyoZ~DjrE7e^;X5i^;QwrTh-de_tlQj=O1xB&Skj% z>*9K=V&ZzMi0iGg<9e%FBXPY|t@X5T_RcEedaH=*4HDNIB(66|Tx*cHUUHgomrf&j z@Lv` z>Hh}q>i@mm)&Kv>xZeN%7y`fL=e@WXf{2~ICB{zw&x;|bv117Q2{8n<=ZPWkN6y}@ z7y@_!y6)NY(6|@^8_tR$NPvrrA+X`lNyXdZ=*7hl*l_5X=fK6q5ZG|&j_1I|#SqwV zRt!Nxy>T%F5x7VUK?Lrz$FbPO8@#_%I! z2$tG01hvEvG}ti&^>z$F8!L*OTdK<)gvF$5961n)-JF$6lJj>ZsF5knB6 znTkK*|2r`Rk$miLZ+11GARqAAoa{m8Q>QOCr}dsgG!JYWF>qEMSmk;p*59pnkBMK_ z`wl%#k@p?C77e`bpm!a@#CSFGzC)Vw){{?Lv8N~bUP2CjKqCIE{IAhiuP!@peGV}z z5g!HL1Bl5JrdU_yfYm$4l0{yV#=9`&t4D88EP>&-d`j4eg7(wuRVIEw+~#sBa-Z`_0?>Fw! zw;z3MH1XMK^m%CyImPtuvGSQjU|oGjz}aA2rLHArYHaSZW7TGAG2@koZ?nYVpH|dR z@3VZo__hwy|FdVgoD*i6y ze%&-?f%0U%?;5&gc*@S{r-=LA&;OG<&H6raWSyAlSpUwwj`eTvbdYPsT{b1fWY=$U zm-UlE>*w6xbvV~A-{fu~=CSM;*XK6tyxrY$1LrW$>MVvcnL9XNd5!az?VG%1h2$ye z)H%(5@|jR3e(eHp8u?MA?{reOA9{Dg*Z=j+6_snqf!WU4$`#Q171wQCI?um#b5_d& zXdQ;u72NNK_9NixJU^TN2dGo$LH1ct%X>UK3XINUZr^`9bs#7BoeDkG`RAKO*V{6V zd@b)&-=mbx+#HDw&>4`wyoVgu z-{OnMo%quP+zA(tJO8Z&T;dBaw$07tfsJeP)QiVm_Y=KOK+Xi#bI@n9pJYE+@AK@g z^?4iWdk-M%{~f(D?5~L2>@T~%iUe$6MP5PxHz1=Gm;mH zGUUASgZCUBB<|RfAIK5O#R}x%TuX+eg+s`(y_6vX$VreHeh)dKZ;w=&%)TGfmXO00 zK7}06vwq}9JFpS?kZFDEfp^ctk|$qBZu|;)BDfq!YF~ykqg3zBi{1oih+gD-6zSnj zr)+sF`2v2$doD%JQDK#RhqBYIVOu`Sw?AFTum9kg6S?-8ACcpg|CLV1 zddaW(<&O2W$fbGrIo8kSe&dfE>$8wcA0Ypx@&BM1+4v-~V@f%BAh_S6Z-*k6WNSXW z* z17ydg$ScXI{{zi-?!SHWPD{3oc{{X1-zMWe!22KV84Sb z*BHo-lf0~YYh~pv{GSTU{{7XJ%ejy3B+lc_FIBFm{Dj)|R*jWEZP-t5ue|D~cUC?F zZMCbHwwTVWmZLunR(`O5v6Y|gP2e>TtLVp%_Ajfv5_#MWoW}TG@KoosZ!WFe>LS zS8QNO>b=t?+ixUK+cU_2&5LCAM#_dk?>ESD$@e<+81=s#S_S(XDkr#6cx+_`+@J1Fm68Oe|Rt81e9u^sDwJsumVEIvQ>zVAlzZK=;mb(xl?Q{Is*ed7NR!=17mhw@gFve?GN93(u zf4^}AkQa@sX;T~Hs(IA9GF%^ZE`REqtchx~UNnolio*{=llXgmdu4qp{ay|26#D%& zXj^Lo`hrhp9F9R>{eF?V`W>zFV$b9sqHp?+*1B{WVTtAsz7yYN%FAAtsWt$g=^o5Xz)chS_o()tc^oiBbSN?UuZ z0ou_#U(XT4ADic^ivQ90{g&vr&^+d}zGXLq`~p3^$1y{>x%sw(Z0!&_s5=d;hFIlf+Eo|HFehGlD~ zh52R*IaSPpdF*$8!=%=J){Mqv;5%`A`+)wtu@lf68jtf^`5~;F0^sqTIL=ej2EG%= zdrdP;MqjRNXaCkS@ST-+EgHOQL|w|=bd2^YN15RYkf%A1y+pzka%Z^u^uFp5^cQ{q ztjeVI-S0@YWVXJMmE-XAEirr(%hF#`E#0Pnj&cyBmL7SOTu$gVD^1E$?^@|Eo<7;P z5!htQu6_}_dREv>y@B@-kGoR#cJm(MK{K@R<%hm8y5v^$n1*WKjAXMcnSIT7U#4M) zd#dqi^Pa#8FYisap?~Bh`KP659EWh;zq{J!-CgJF0LBIEtR%Cdhxen~u&eUiHXL(% z4xHPp=peU18#Yv4x(%0o9=LSALcsgdZP-hBSvDMNO62G z%nHXh&B9gKK?S4y)9UF*k84P2;qIU>5Brhv@zioQGG~-o@wQ_~pckHut{F(dkI;=S z*6)kF`*;MLm(jhJ@QzSD^At$Jf5ANuxh4HdwB2a2!1IG8lXsHh3I7^D`LygX9s2 zgJ+%wgHOZOj)P~u27`YP`#KIDTXoR!Ig$X6eL5KYI&yEv(Z?no3_b(9I}RQ@bTIgJ zzes?`_8bg8PNBm`7eT*@{&rwXc-?X|nUgJ6Fcpi;-^w22Dm-e3Ez6 z!zbaBf)lMtlm{KDr9-%jruePs$W}avt*CF@)M69Lr>Sos@=ku5{F8OyaOP{{?@ zEfIUs3w=GWGRDfM2k$KH2$`uj!EfJj4cS{V#0;C^7}{8}{u|%^8ve|^;A6_+r(D!i&4}L3SKv=|nB36) z{9fF?7~9UxS!5lyotxOI+ju{mZ~U~^!~be3XX01%V>c*oLO(t-$>}!o3&@vX*#+=g z*#q=HyQrbrr*&D_u#7cXb9Suq8g8@3N_K%YUiqfAiE$c@-ZTR_-;6$i{GuCtc_wqlVcaWK9=_ehZqAZ`X z;(@Yi+L>2O*@T!f-eb<2K-uJhvaZW1n@ri%fikbkrc%b*h}O|Inlc|{(+A3Wc*i+! zI%W7-qHv4;k}|)4nsQe~%VuCZRcG>DT}M)&koDJXk^)Cqg9o+tSc6)Bb&{35Bg>q9 zCf_7k-%wLtIISD@A^FK8ve4gN&046oa|JA`)coU<@wlctGo$qxboxB_&_?L0?r8b^ zG?mx*HX`d{%h&PVu~m*ti!I;BJH}QyvMaV+?;cy_$f(%z`J4q=<;bGg@^$Phs~njV zTfPq+)hb7}#Fk5UwaWA3%jc5^!74{q#KNyb$FRzg39;q-7*DGl-XB|@5iN(u$CgVM zw&3CAvE}Pbq&zx~esn$Q!l$0X&OxUYzbJt(7s4ON#pwGnS10?bA3d7f3jqTU);jgG z$4;`x5_!D#+r$88SFDXlemwFZkQYxnOf)ZE8@&G}@?$s#&4b|P97TMCobK=t1ml6+zY3V&I~&|o;1qeHg0m{WoB;9E#@8gG~SJO zdGe=^&8)~B?@6aT3tArNxWQ4pi;HKwatl3cbMtwBJd0eHH+iavjz ztBK1&{*0F#W`uOf+p$BnKd!~zQQzld!vx6@sQ%AVj=*QwPxov%nsu0 zD>w0dL+zDlj=;p+0xt3la3;9rNo?(I#<8=@tbfnaEnST%`1X47=Vjx^d!2nHe_c1@ z*4e&{`~q%b1Kh+3+*VoMemmp1tTG7S6)#qP0lvM}xS26feu0gQ(f1jbEsV=n#$*HI zp>xMIjOA*^_5q$h!|$j0{gSuH(++GH+}9YZ@8?eT%p*tO_q~%mOT803tHDppE%mH| zh8vtUz^{XDBV|e8Z}Jv0M`@X<(C{!HTXQFQn!OXrRX8lOooAYp8*(RldcEU48PI5i zMmlwE^yYg);H2gjd6q(_ler2)XD##A0B%$61Wz4sjo?=R6Z95%nyq=A;JFbR^MF;m zD#3lxo9AiFEg%;{X678=kMsXYp5^iE0oF_f^yY!Pm-gKVO|?t)7eYsCsFvRk0zV$O zUT?8y0yK)Dud$f~&57Uyp|3UP2Ckd-bQ|Se%k1P|Oc~Ut*w63MQ)%cE~V;x1WYCzVn!4I6c zuGb;E$ixN49J)FM3Az+_G@FSN`UdFnNpC=i{3y z0mk!8m5=wHe0o;I9EOc2P{15kAn)^-H{^XF<+Uo`W@5LJm{*Mpc3nVn8-5$u1^-+H z|D54)^hu7BBdArfd_MD8$z0B3F7L&cml2su^0k`MqfhovJ&lhuYPSWkn>4o#*pIT? z>bPq8FF7fjEy=doHu9f5u$IlHIhQT+!GH9R)HfUO50xI_>fu_2ebObr5p{NOud?g@ zTh>J^>|AtUFUc2Bg+D?0?N?$4ku%APU%Jten#TFT(yleK`_ucpCgOjH+WkG) z{XMJA)br(%_5PWeTFSWOU}F}umZekAVT~$BrEh^+W!ZLVk-6DbMP=t|41`xKF}{-^qO?5G{|SFI3K~MT6tRc=(`HB@Z?h(488*YY8*WI4hMtZgMT#+ zp1g*G!BPH4c8_;PCVDug1Yo861A!FB0Id8XSJU{l=ATYT#Q=xpUT-{r;E zmBC)j2!Efle&gy>EQjJ-3QZ>GL+O2zEw4CCSl@rqvx6qpikFG_A=9nzz>xDZEdSP8 zW2|@?!Qor!^Ef@k%eXCiY0wZoofpYJT5FPtmm&W@K2On>Z#3DNQYv3)p3{|9M|>yW zB~8GV5-Fj6aAlUOBF9u{s!@wd*M67b{M{AfWNKwugugwhdXSL15Ml~GhS=B zA3Xq=lU6i@F*TEZ|iU);1{hI$dW@w{$V9?Julg;u; z`rhgd@Icw*;*-w;vj)DX+#5l&Jfyf8+2=`S(WDWS8M7$lAU@?vJty~Lcl-0ij1U6@ z%zKJ~Y5!rR6TaD_m=W>?cDMh)if3sj_J1?a^$TwBH z4DlELPF_Ly>=b9ZWc>TPK7&2VI+tA{K3qW@j^MGMd|rIT3C z_22fhTF>#37TA7P>$(2hepc%_zR?2P&uTr_e=qbbKP&X{i5BGZ-}130d-Q&1K{5X= z|0>V1#|tL#f3jV_{-5=$@*H1j!C9Xw?brXa{#2f0mlvG%r6zlJa;916kNQzl-~maE zUTjUiy%H!w2S$Ii&K#}tM%J=?JTI}9hhRUkt}P#`&KKoF)wyDoBjv0QRdHHcM|s>O zXWN)>KUX!E=03>$M7}GcTy&}UUy|^xCMk#TLitn+(KRCe!4!||O66b8hmXym4#Azm z54sV*gwBDYaPo~R|7tAUR@s*LP-EdTDBFZ@A{MS$wj{pOSUBmMn`EoR)H{)~jrs9# z@{MjPj)yyi|8pb0(pY-)DcgjPB9`7(^v;d=NMqqLDC@*O8i9k4&|l?;&1X#X+i&M( zoc}cTBzkC4oNu(ow+magoxPxMqBFJuYpt;-WaB0Be)0W`8_xBMif={zqHB=}ORhTC zFFJ0_|Rt`_TzeV|t%IQfyQ04rr;aR2ijQ3yot$dn|=$I+MBrz_@z^C%O(UFNS zSh+zn@R_FI+e-GV=9@-(FGcUhJx**#2YyoNs<&dZ$WJ=c_LFX%9?8QhKdF_6^%?eB z%(qmMZ9i#LfBgabq2$`geo!n<3j4u{UsS%);apLlX$rqnxw5#jxrT8mM=RgR*z!PI z#DCh}W!C?Wu{?|-*m04?EsO*KGceno&`Cb2^ zvc3HuE0?eNVdX5&y)+*=W_V*GW4SzKI6lmz%(>Q_jL1}e*Eu{V7RB1TbFm%#!0lx( zr%_%69OsmtVZg}-OW~RF0q66qn)#eex%A$O>yt8vIfi*|ygnT`a)bkSi!;enNcl4+ z%Tsy%2>z#eW?w%hGs~IknZjM)HAtg8i*H92gO_PCJ;$Icya`r$wkH+*H1JY*{wi(j zqCLvRdzAY;WXvh*d6o4r6ngs3&Mw*`A3`tpwbfV z7rc)(t4$ZNA5C|DmQDAHkEVNyvp0+G^&d@l9WushZ^cK`orn+9 zqWk%ern?WnrA2q~N7HRa&RBFqA5B+haTeV#eKcLk8;kCmkES~xnPbuY>yM_Zcla#2 z-~DL1>yR@RT|U}YfQ~rWdXTR~bd^`Ti1np46Iox;HDf&UqVfiNU*8~F*NWVkJmAOl zpr1wknDT)on}{DX4S$#5-1sr24;SDM3O|l~P{_kul=D})fAt+A@%K&iu>;*eIiEEi zh3t=0^z|hBL*H^bj$T*6es6T7L!aEw_IP(9{|gx#`H$ppd8x}=<>4BQh-giU{gKDf=#jHmG<}B3EvvS5w!hi%(upxnn#Sehx`yj& zuB*7Fa$U)F1=kd=$y{YzJFCrWx&BLtFEOXrU3+F^Ki{j0mc9RF^OVZ@R@as_*PeN_ z$2EM*`(O4y1!flDgr7RY=ApzGJ#cj*8aI0f+ zDT~GZ^90=Yhui(_8fW3&9E(d?EN(>t?$Ic&iQtyU;!+li`{@MSx1zZIT&vzIV{s{q z#hs9V+a1L7K__I zEq-nMO%%85G7I;EX))`HvRK^r5^x`k;+hEV+p)Nm#o``H!2NO**FVat_h+%Vl*Qt{ zo`BmF#cdmD;qHmWr7RZr#RS|hMsd3?wQ&C_7MHSE+#e?3Rz`761o!D!T*_i`I}>nc zfO~eocI8;G+N&nZe|nMAoW|bz;nl;(JrcWbzY|OU0yrf$&iaJ<@?z^V!_Qma=!E*( zV(YsAPKJ$hXF`3cvGw_fowvUKJ1o9`HL>+w0OwaW&YvgL*EcM7JhRSQ-{FM%=Em07 zb$*<;Y@F*7>id`2`r5M3TVHoVeG_8qy8zC18z(oRz8}Qa=O23B`nDw0mla#z1#tc! z8z(uTzDHy0GcjW`VqkrKJ)yqe_+og)1#s@Qao+L8^PMlp*4O4eZ~tyjsP8~*eHXx~ zwQ=?()K?W-pE>{j`+P!uFT~b&0i2s`oM#j2n-yE1f9!etcWpv_9kKOY0B53&^UZ|% ziel?)`_y^s8=FvHdu)9dz{$38RwUHtiLI|IBHI%AnKPljhS>Tpfb-kz2#@$;LVfRM zv)^A#`bi%8S{1(1w~LaSPn4xJ>#XUT#oI-v59*=Fx$Vz z_fxyjx2uS8^%t1Pdu~N@teg@j%5I>pa_YXZ`E=tf>Ym&D`{lErqK(#fHuY{v_3!nq zD`S1@s_lL9VSM1<-tz|U0C6T<@)dJA-&WN*@6AQ{^7YLr*+}C|(O3udk8_y7KXESN zHTB;;xzd07*RGa?^wUzJN9<&i-FH`7LGl( zWA?NpQ#e*<>78TDf)>tT(etz4y_xe}d}z15);@ZN@iZ=j-VxW#?N?`gZS+y4Q4T>D;X{+zZl8|pb*BAIk^RT5M-v`d5?0@_pNx7I+l=1;Aj(20F2?{==COXmuqAf@X~8 z%Du~df624aT!r|mDjdT-mCj7hpHav3z4!P=QGPA-a$M=lwmQaO50Cad;v610;~W$C zl4~?}89v{=t-fv0UV;52_zFi-K=32!R|C&S(#H?>07Ko~W~2qP)iLtCFpog@RmVu` zNXqUsBLj~)6Y1RHdlfp5x<-1`-x1Vt(2>4O^^BmNNA`qhOEUG02&gTYJXc%vJd@|I zzTC>Vjn+7LG=5thnSp-l5ZnOF-HcyGV4*9M@rckMhkOi;rM^N}3Vwl14>8=?I$tJ>Rtxz5~xWOqus9j?1gyJw5+owr}MeHkZ9$ z4*xmga+HoCj{Q)oBXD@6W4janbNCzZ$c4E>?{hgkhxeN8Pq3B`-)~OWEH=-)1D|lh zTY7$K{`t_qn(h6mj_rqC&eFrn&FOLU=kRdH_QmkB!*?6tT$~L++I^$pk=a$o(Rc{DH@+E-&mV3@6`{e0f1vLD+qd`*OXjntD&_)+mwuV5|y`a{c+1N4(QdA(iVAHsjbneOMC zCWL+mjGO;!YsZDWtb==@{{+`o>V1v-I7fDP6Lj<7&8hHU2X%TKb>AK4>bmap)7_Of zQC7qC9JEWhzX|4mEF$z?|Pdih3@0o ztF^hInLL|Pn;-Jgu5ZFiXH&ktd2(nB^&cNQs`B@=|IKjM-PVSlX<=>m9hMua+4|!yxE)6ZHF9=Pged_DU(1cJ)^OR7qX7~d8MiU({cNEc~?9w|{K9HZ;AdD3r_knK@=u z<=U1Rq5k^mq3QHJ7g<;->jV&%7AWw zc4ac=UHpEcr8qQ^`WtDFyY{+J55J#pzAChiXLmE7qoA>?&KufFc~{L9p>Hw%mqD`^ z8NIG$La4az%Fu+`8KDKC!q79oKFhOHb=QY}-BJ?zTFq6oYkcU3ls`}T)!eV){xxWa z>qQGjw82#az(A~f; zubU8h1=tT6-!In}g&qa=B(Ps%oWEZ)DfDRQn$X5je(3b|?#lnTepID!+H0;2dASSL z&-I(Ssi6-ThsPL$S3JXPo7O?NZhGj8O_M{lEmww|b>l)idG=7t)X+4>X++I6p$yiz zzj*@vD-JzKd%IarCqucR#@f74QS-FWF6L)>-KRsp0msdH_!ruL6JxQeW@_k1O;^%) zZ)hWYr z$PFZ&{5SA@$qDg^6X@Qv9{f$Wcleee&nnDNPsQV_Mn6=1nZ#%||% z(2PRQ@p$&4uf0K>Nh5eKa38m1>GVlUny07lY4jy=zuTmHx*X|&KIf=F<`VFLI|=?u z^pdw4?(#j|ux$EswDWO(k6*HEdhwDwreC|{F3$3c#-{K;mH!_89|P_LaHpu_NW)#z z=b~3R_XK@^@4PIqihk`!r|NM!X_M2Vb`AmmuHAR}o_Agv_?h!E&t1+-0)ny2Jj*E; zuF4Lghl$=|;0^l0G-x~zt&wJU;CDQiJ}DUKX^&FZ2Yc>fEDFb7>bfk@#q;IPk>qqr zUv?>Q<>-!n>W;$xZcnvur0ddv*LA7qcj&L9G=_GaX*S&dg662bcMOjw{|0)~pr<|`rjKglDA#3Y+jvt#`@Vqg z+u^*_BRuJ*4xVd#+NkFe=wE|w|9R&~>E51U=F$LX$=O%zz1_FpIm~0w|6d1RWmWb# zUd6L=#^-0$AB4ttT$gxm<30>pUqG+A&#q?{FrV9fH*4vV!1K;5&(%CrKR(Yq1kI(M zDb#gW%ou2nZsFObCL8!+o}U7HJN5TduM67hyVgPwn%{C=g8t?T2xbcLX;GMTyYErB z@3>s_-R1eFD?1<>&jY^$dKqzWclxe&4GW0QTRazzU^L&+I`7(jr|&A}`SXn9bBu@P zB|0Wim=(Kk_g%xdu3|1U&fA$AwM*k7n7^j&x9qvwT7w$fdl|EF&S3#PAIZ6)a0D;d z^}t>Mtd}tyV?B?|R}?1OXl@G0mohBiwEH6Ze`(`HXpRZ|8*}AQq} zPN5xo_G{XqK1Xe4#yBhzCS*uAm*lQ5!E~Or~hw`9FnvW>|AD%oA z!oFV4xZP~BE#6}BMqm%x^P{~qjy<@7c0A*BdZu9$E{Em}Y(l|C>w03(3aj5&1GCIH z1DC*8Rj0;BbqY>v_0HYZ*18Bf@wc#_I5W)F8rAry--dl6oap+Fj42uCSOYHhuHYBh z;|Z+i-0=@uYv}{$B^Lk8Q$5WZ$lD9o3T#cH2mvRHEuGd@F{MPpxcI0GSQ2%Z?Rz$=b)&)0eOs>4IulCnd)L&*3{ z)_Nv>q;#uH{*TCfgvcR*?1IMkxPQ|Tk-=ZW4-n+P>iRxutwnY{O7b$wB%ROya{G2FpKHG;w$c?UagaP^f5{=3ikuxo~BOxWC6i{ z9eM|$HQx;P2uE;hq4)61Azzat4d2{wk6@l>Jqa!m<_W9L;hsk5ssHncb%?DqIu=g$ zX-abvu(Hsp;&7v{A7+k+m6}7tLQeebD^reVkkAhw!5N zb3Wr5otw2Uf60O!4X@U7t#|EF$(M4I9*Fi=W3wLEA3^77XEymnB6`@Z@HZ#>KT2D4 zr3YNK=Svnp%!Y0Uu-7`%&%#7`eUd#!5xMXs-)Q#1TE`_GKkb+TpO>tO?|-!qeiOKp z{(F#fdL|uzCF7)eBYdgR7j|3{@WPk$Oz?WH{ zMfLeGbelyN_*YpM9$-D#SHh2upcp4w70(pZ;Q59 z&m%mc(YJy2eIH!a5v!jMwBs&foM;F22<9R6%O0x%nA?2cad|8n>s%Rei z1#=2n`#svJ@rtg$2=8q4onjnR2WJH5r4hzP6`o{TY+s`It7xa@=>KK!-Q%mO?!5oC z&p8Q!5bg>Dnv)YQLIf|BnPRJxLju%_Y%8Rl-_tV9JtR5FK}E-df=NgK^_XhJ){gpW z5-=##Os#fi$W#3#Ttr)?!)@A`j=x{7TqICi(PA{3=lxxKpX3mMKnPAd&-`&-YoERM zy6koN-q-p_e*~DLV!L;J=X`qq2rE+*bpo-c;3g=l7|4bm4k!2cI99xLfbsjJwQGp#yS z&Lw_+5p+zqQNAVAMp+M|epNJgiDQ&y&xbCC=&O`(^#gnD=<6l)<#6cGBYdaOvNZcU zg&sW${grp5Zh7ZXW6T+}P7ayb>Te>`NdCc31Z9XV|(B=)^&Y6Y^8Y$hWdp_zO zKZktp;sX`ih>Sb?$?L~r0}luw?L1d_o^CRR`5yjR+0$azA8HH@8u?ko zm; z!IZf&N75WlpPV%y-%B5i<{XhA@;z-)zEbuO#PYp*UgATNJtgeB&_1s^!&tN%zZrdd z03X-3ySWyh*f`#4q#l{ub?~S~-1pM%e^KRXz^9~-yCw9Uali2*8st<(48#J@8>Xcwu z^cQbXX2l!0hY)Wt!RU!MXgoq6yhpqNJ`fr23B^{t!Aon3Hy$A-;XPydkE5ojJ4Rr? zZCm8+eB-0ygV*B=>;MTjQrJs#RWNmd-8Jv4baE}uIu;zFjlVrx#owl>AX|rFnqTc+#gtX zpfpylpW0L!o5s3G-Cq)$k$-TkO2jm$UhY{EzT?_N|LebH?~m4_4^( zJDV%?^P+=4q?{OE#ik0Kzj~A8SHAdtCA2%%SGWIZQsw(O?UVLQJNOvwjqoj~Sx0+D z(VoY7e;oBaso$%Xc9Y*j{*1hv0)EzJGxJ*3ej{@*3tz0vIp6E?!4~$O-@tQO3-XRS z<iby>tb z=}Kr)^C#Z=-*7E)M|EFPONB>IWQ>HK$@e!??p*pnzO@Bj-GJ|6{Oa+OzOwr(!7Eo^ zIq9!=|8;QU>WPzX+U;tOwvZhW$f zZ^KXC$aOP*bMbS_o`#2IZ192qr()>rI~4>miZgKt0&_OO1%7aq^^X4dgpaFlN-kH?vBHvmgD(K}sM`5o22=9KiaD_jKwA2_DoXESQox`9xl#!F+U(WyU zLyz|1OB3Jv0`7lzd9HsZX_*ln^cMO2*K@xhr@&vxz5V#x-Xxt39r!BcL}wTK(G7wI z`F|zt<+*~+9)&jSpw5HPo@Jz06czf%IHQ8`_{C>=n@4D@nVPLBVV(DPB`%i+DzJa6RxZ;S5o%lN+gCH#2) zd;GG8yqW9mxvTN3=KG&raj#z$X8RXH^EN@xKFuxikD!c^o`D^~cYtblfs zZz%b^IX-;d1^!`_xr)3(dw*TD(m$5Id7eH=ByTEy(kpTT{`blA-JC-It-O1Ryc>Au z2Kwn+e>1@>;Jqhv@ARiF&+^}}Vx@mcQMx~BMV^0O?t}j4dFTHvyx0GB(F*@ZIex!< zx9NWXzvmi%fxp=QIQhDluk`(4Q>P<4)1SV=@BiL% zpZ`=*j{k3|Gt~Eu%$;kPFGGv+{kM>JRpBcCOS$R(U*RKu>*fjO?^gu;N&Z~_JnGrP zSm#mR74+ke_|^>S`Go$xGN;)8CePF0i#Idw2G_z1kMX>~|DfMPdXT>T|BLecBk22E zcwWPL`f2tGf4M)~pU3lNzPp@xvLu&x_!gOKjm*UtsQ*jL*Z3#+SrgnJ%Y9ihkLTP; zpWNsFN>Q#~)=7TR{r+gm-Ls+qAMfA8Z}0M7O}Vk;{TXG*8j$(lyy5}oT9JP-WfU_e z5BU8(^S6j{8go|qQz+*ZzqIvU|1JJI{bO?P_GeMnzPZqAYy# z%l&U~|3TX8q+A)Ne=jWdA0?eanXUdze+1)on)c>HgRVesSkC<3On-DkKmI!V0so$y zOusMJhkv}tzm)Z!x_mW0@IrsliVS?<1^(YN=aw*+_CP~sknbgbmj5tgc|G&!(G~am z4>6y8wCQN}8h?In0RQ$q_`>fdrX?L;cs_E94`29Q{v*tz7b!QBb!{*PuOp9?Wf$TL z&%hU+gD)KU#3;GB4qy1k@Pkj-*CzZSQT*ZX%GJms!aF2RDobQQWaX^tXJYR`J}Gt@ zzWHiW^h&3SZvL&ezO1?|Hk12@3+@TX`^_ER`lHAuD_?#l_HL&UE%(|BG6PFq-UyE$ z;#=}y@y5;jHt6f;t2e|}DW~u8ePudb$ulYMNWtBKV&44~`Bw0*Tpue~8OY*&Iahr5 zzDIQWtLjI{7v)>G?;)L*S3eZHhxe*@=hw91VcwJLM|e-$Da*Bh7I7=I<}l zsrdD)kZa12Yb0G)y$)Ap(tkM_M#T}eG7 zeAD)SU#Hj9Nd5@lUfLt+9@_Iz{>s%-<`44k?kWG*Qoa#QnBY}$)%%0``hg*8bX`p_ zmUEqbd-gx1(_hz+suvt*w9~-0^Dy$R_`K3-v)sGRcTeCh+Fhk0eGlzhuhaF_>lv>RKC#2jr>_+4Xi_fU z>%=olx~IB4Hp<6rgx6&wFG-qJjqJ&@Y8~_J@`)d}n)jNRchh{U17c%sWd6zjUCg}( ze{Fr0$IUkL&9@Ymj}>6RzUk)%(k1J@kqEpH@?@ zpJ&_e`FQU--%4}>!#9?6%YNF*_0}3>dHSlWid56LozL>;L2U zcBwzR=HXcBfBD|Ju}(d()Eq;{c_(EJRjrRQ7z>~`?lEg{wK`&V(dpn`=8XQujWbmGt&3v{p)o) zy=Fb{Gp2Tb)zM!v2BH4X=Nqq~KU(OwV*279#=e36e~Gb>^e2pi+cC~(9C%WvF`J$Q zyW*<2dGwvMcc0zvJ+xc;Q|8Sfd*1A3-XuYPrbB-u^+10_Pm=tl2P*XSljuxUD%vMw zRJt#yudn91ygC?LN_lCtX&&PFDehca#;Za9fKcms2=fic_4 zSh=CIhNiQW$s8zl4AtM0zsZ`9TlsGJ=6u>Ah@ z1wVPl!ec(dW+k$M*!(26`-IqubUB=ZU4R@x-j|UJo;0qCTP1d4BX zjct$f)bIE<*SBIb9>d&|`oD#274=E+!7GVJeB-%lXA&!a@~<4JP1svnjnTn^kp|ZjeTi?V)F$j$CyV7A zFGt4-V@R;ghz)je))zjgj`z_A4|C>Nl5%#m>U(24+KnqTPK}$h>pwBZ2TwgE&s`ly zjBy&f&+VAh@e%rEJNecjMTgKQd{{3X-^yPcN?R0-Pn^8*WRP%q>Pw%u+8awD+>%8H)H91yeu~5E;Z*! zeqNw;DELhI_XSQG-c>^TPvjQ_*4gyG9J=3?zdXw|?`Z%!^3h zdU==s>kdB3dWi7lz`KOjJqN7|%|VeHUf20K>jz#|jJ+bl;SP9W{GM zzb&t~{$+W~1JVYmx0Uk+2DJ^?Pa+cBf%yEeHVo~j4HE~s4eUdUNTv;iVQq-%rwyJ# zZUg6pMP#}I&FNun7~M}BW)5;2*dG_M)*WbE7S@I<`f0=UgWLviCL%U*j%}JsUCf+3 z%$avGFHcRBcEtE(Uan^j%k>gHFGUU>>ubGHRlc)tqrN^^y%AnF+_!j>tPO0Kyf6P3 z9^k)|wXzvG%Hi^5Z?a^~-6BuIW40jgG}*FeT}Hw z-ub1a-vHAgYijX9v8xrSVZlj;Gx)y48SLUbiaK=5lgb%R$grMvx*p40aM`}V)_6o@T2y93{vhQsPosR{rly@iaT=D$>vGa%W zgv$DeI%cbwpo@3qohaUwGKY{l!DRdq*DlHw?8zu_7Y**OE!<+h$GxN6Tc5qf{4&?q zaBURUn(f&ym@2#0yd(Q%^SbPRG!N%&Hj@iqHs34SY5ylK~Dh@w8*OO)tKv{s3>Sh;yHGe{go6?vEL?W7HSiAKMOWh2M(zaf?~dchiBZUeN1eu^uRsf0 zkS&jr;_E%2cFzo62ThFFJq>&;&L>1>Y-_A~T4eWh?zg{O^>j1w5FOBG{8b&L-1{T4 zSqp7LXYBaB;R=d;h(4+DubQ~m!v6$^BQb57oSkVTa;C?ymZwBkR0Z)<@vk7`Nm=rq z$au}9#0DgKr>Hp@G5CnZzXVp32RSbZJ;3w$Be6R?YECAyUG!9MU_WUZ`k{$#C}}c! zVH$FOGIBro&-}-Bgly(;xC1JleI0pOfez%d(RtZ{X5_Da^CD9@5|C#&b5!R=p3-@d zoBGX*EaXT=CS;Ge&WjwR^CIu`n->|zk?9U_ww#q0`9J5a*8qq<(? z4xJbIqTjs84316iKnC9%O<%RL5BB%S3uC0ekPC{@&F;d+B&iSmOzY8FpB~Ns%Gl_g z?!dPVW6{<8ex0E1D4vLae2sId%;5uf!RtAD%>%EGX1?7BU;mLZf~Pq9{x0Uwy~f1g z$LJ*=qFdYpAO9KG&*AI&0G+}MPhH7bwBmbeVr{WkzH$RRHG-da`%L&?vX1kwf*o)Qf&83Rv|He68sG2~~gbp7yxXm|i%Ef-Y3#K6>yR;#u_JEeZG zG)6~5yT?Gouea;J=8X39-K^In)~kp0nudN_a|QJivm*5?=x&P6r+f+6FQFa0C#jQs z=Yr8qFN=ow&04rXK>E*o>|Z_<*Q*|_uZ$v$ID#)U--gXp(!E@f0r}N4CZ0x zs*FH0zuo-Yl;sqg1gWA-H}qRUzl9$t>;=`UJOPiy-#~|N<1Dpy%45&_flOq;!>e)w z%kIw&Y$Tl@$PHvZkQ)&CpF(~~lSNO2&KGGqk6tM@DaT}F=V$eE;S=&d>%g$?ed))A%6U6zO|f(BQqQRw~SgNM1MpL_Iv(eDMHR`mW8==Ud|lIM~7+;GwF-Pj9q z91&X2m-jXqj$ymFpQfAz@!oUm^vOwTP8m3feRcXNf1~D{v~~I;==7(c_f7Enc64~r zzvX(5w%cP{Weqj34r^J5Rot)8_al9;h`tTYsDuAj(NE=C*0pRz@?JUbiT>_#ps#VJ ztmsM$k&zF>C#3xO$j3Xw>Plk_7c+*EE?^A%)+KsVxO?TOT~nwU+Ul6;>a7Z$S0I zC;P1rKIz)z4%Ez0sY`9$dNFh62)t7A%ADC0X7f*D-YsR`NxG2vC_3{>tux2?-eLZU z&Mj+yC2PM*=A_okLvwX3b97^@Yv5P2MRyiG z`OB1(K_1baMOXehWrpj^qAQ1V>ApI%=+c9sH)kLVyh;3Mn{#ra*#2tOWUV(hZ|>IP zD>hph-!1ghGGqeqWb_=7aTd8=&llwVV#OHldse4e)iRc2eH$6OV#ai}(3#JTv6HbD zo3%B@Zsy0-ye|i4S9hmwgzgcO8?1ot$vN!HkR#Y2pzAG%{tbG)=)*&-O??k7qs08POF%_M5J>R(ud1xtekDl5S=V z$(YpYwdL>?>E|)D2RkHdCK;ZOY;k6L!epWsk?*geP2%5}eVw8G8}Dm5Csz9@(j24k zcMJ=*hsilr=%I(jzrj6`b50=#9no@5gvL`5IS1ct$8-2E*5b2}_jW4Bu+6rdBQ!33 zhH-BH#Z|_fHgwyNtfT$$kC((|O*iI<&m!c%5Wj`^9mHQzYx`R*AH?9=IzqmSk_01F zd=_FKT!sx$>RzDvnAmhJ|3?~gb*b+A7~f(oUrqLHVT?rPsbZdp??lF}R%qab`c7=W zMM)g>BLfYneq^8l*B|m(#8N*p(SYhlCK_=4w!fm}O6o^O8c_YnNCU3l_EnUOp?+kh z0o9MpG~oJeKSfK7kt)84ke@>Q6T%l4G6&bP&O*8MWQ?#KF;!dsivaNpkQN3{$k zvXl5Isx624!jhZXfraB%$;8#BZ2fZNj?|-HYIOrVDYzU53-U+xq{{J*zAZc!K$6(=%fXz7GDQlb4~B_kPE@{2Y^fQ;?-%me3Alr(YmT z3I7#Y>IrPex()E)zHJEalLqQMYa1@2Kc*mCom@;CkfnZsY$biM4B1Nh;tT5sWUam5 zpbf}Yzd+WKeprI6_2>on!*KdRe2<~A7|vK+jDLl(K=!Iz(48v&gJ0PGgcM{i@iPfu z6aT^GhDQ7VmVHQMpG);4{Jsb*n1@2Lu@u8F&)@{vcl{?Ju(sY zpLW~+a~Ro3WFjkm!-c;`WK$RM8|6A)<9zWO!WYEOBkw;)K9RZ47Qdmsrc&pNK93wE z{72$7B+uFE3YU5M#*6e@Ur6S`{-f(d?&-I_Fd65f>$7E?YV1F{KIEK!>kE@1jtxd^KT@agy9Vgh zt6CPe?2qD~mKX}L^E5E`>O_X_6Gzbi{}J0|6KnrW*Ota%C8tgcV zaQn|MvH!e|-%xBoFSCX%o6nFSx=Ans-OIB5L<*^BrWVFNNI`^s$_P~%v1Xk?od##v;V zXXvMDXyO879vN$G3!=|nMJH|`eFZ;3NTw-f9^{Jdj6AbI%QM8$Zx;GK7C*1ptFiNw zuZjP!BZJ6)iD49;;e^&s%bOC|JF+`9g6lHqpz!WzkY_}O5qX9^!NCQ{I+E|ju=+#t zL#TfFU#n#p>X-QP3#fmZ#79JfZHoQi8Dy9R$TA@rrULmz>J0zpbJpp+@Nb@m%(6I& zI{DUTkXaTWyM$yG`R2>=oyaJ4F8e!?Q5GPp+=h%Ivf5?)PGpi8!~RZWk_E^nOOQ#* z8Q*8^?|j7`&pPHqmD5G6mH3aW`6U0>9Tb_`icc(tretaU7Mf2X{?VOe+q4^5}T6t zhhT@{zSx8I<8Rw-+kdi257>4fp_Bj0HT&-mOk+-G28sghtBSOr>_x7ZQr`mZr&0Gp z`1-5d)3liw8?iSnpdR^Ou46MTeIkuMNyctfMf=ujSt=49Z~ZT)y;B3T1NbuWk;V85 zu?KCVZ6f!yBkzcROXQVSWR+9MG)cs;)*_Esajs)KM1~O=hyD7A?N1@kVCSKpg7hcO zBg<5tLza2G*Ow)-jQFsG7i@tSNLtJIRq-vdpQC|&Ag{1ag)Z#Tx^KuQ5b|5$8xTK& z?YF9~u>2k(w}?$z`=BnhY}-fG_=sJ$w#`sBa>ymO+xAD5Y_QALb{EPP-_oVF+x9)F zb#~d>rb5}`N4nIqZ9h}|TDxp*FQIJl8C`1GwohqZYOha8WC}f=$PF?V_A(droPc*! zQJ?rY<^MavOW;{``z@bCxt=p2|B)s8_UAv6Sj=~kANJxqT8;d$8#zK^E6b1_#E%q> zobWz&50M?poI^O5VEK=o#^m5I?&oto1sPxoF&c|W(}?Mpd~Jp^D0Yktp0{DgsNpl5xk3C$GOo+8c@#5#MU0oEA`^thwU{$L?%sq<0q?F8-pzAs zTthx1Yh2yXjH$#`R{Z+2)Q#|JiK|ROCJ>)dIehvyv3s1Sj@7!3zH{d+b%=lHE$Vs8f%tfYr{5+#UCTES0DM%@{bhFvG#wQwEZKZqq`k3 z9jDMEgg+(`2T~r!8$)p*?Au6egEykbg9q;@@PZp~uDu(X*C_4#5T8)U{~_O|_ixM= z{#Xz=%y-QvwolX35Kq*)l;!skc|&3>bt>`z^S>vigZm+#*qA6Zx*#Av4B?0E@Wug` zY4gH(^u3-k;e+k)!~vIS^FS{+Iz45=|Jvb&11{6%ea#7BWy1H`;ei7#)8=_z;wPn@ znjgXMj==k>;6dv&53+Pt`7f~xP0TOZJG@b3cT) zE;{f!_?5&YI!J{-eI46-WMK{QhnunC*O<=}pD1w-n~6&-C60d+af&6xL1YrkA0D45 zyd;a5E*+B)rjL57K1=O#I<`r_$=rSvp0b|rE4xb83~^5MTQTEMq~%I%3Yxdr@n)=@ z9M+6H&*Hhzi7eKPoBos7{Gw-t{uXE+vJSen9v&jRM0CwdDjVKW@efwn>){f;Te}yE<9p!rSOP?Ksh|3jDA=O zk5~w=kTJ;#TT7uaYJxt>9&DXzS|3_VmLBG2O-+F}RDA!l)EsoWEOa{2?__MV8QV0T z>)1jWYnun8gz0bcyvMI^>u(t!SbqF_h#wR^?rP!(MUR_FDr@yBQjrOB@6QfwUX>ka z1O!#4Feztr+^k4dEJ@c!9 zeiB;T+i!jP&!+V)lgJNkZwD7CSIU6aOWr!6=jgk2oPQ81OHzqBX<$u=UTo2I$0E)L z(|gE5wof@{Dn#4!q3ui1TZFbRb_@ybbU1>^{1^KE0`xoPbM)PD7WzKs3#ad`cFdXB z8?#)Fp!d$t@XdHvZG^7NSP5-!K(4Dpu1ljo7Hhihpnv3lXf4Gc&#`ZveoM%^Au!ty zExMYRVSU6)T8(B$>dXk7+0 z`l8B!9#<@<4CwEA=&>#XdVEo3h= zJ*Rd z;w+nn3+>(&5c=(aep_?OqTlRAvcKt!c&{*eJ&PFl-%$SR@P?PLtL2dXqmH$=V(fpy zbtK=HfSe@p@z3&GO8i$cF<S$}viQtdY=6z4_3Af${g{r=&b0lxnFpfVv~{UD61y(3T@uGGwm*?G za}G!>Fg9JzKhSc8mT@mFhP}Fzb28ym62q=#b$HdF*JblG@1Lj(p4L+rd~ML{viV;# zd+SfZ|9a|z2M&5&Hm@vskGkNMJ$1n^2feP4E%5|(!B>0gg0~KOT{aKSI7VIY;82W} z__sypszPsA&)kz#V$GXK!)=Y)wpjD5ra=dV2H_L1_EX>|Bi2u7mZgJVxUF#}F;!w` zlvwo&?1>^zT7F3@wyMH8J}7#b_$Ng-djgxG#8ru(vWazNplgYJu)nyf+2s9mkE@D0 zOI($@?z2>hH4l$Hm-VdUq?|FnGR_&TBCU{fMh7YGyl576YMG%o?p*9+5_c|j4SJm- zU(BFRT-!JYncoO+6Px7T*w1ua(^_J?)@xg*1E03UareeFWov!VvNdR0fy^J0H>%+K zqHp!eGoP28Ui*W@FgbjWJU|Q+u}rP-Zw`z}6@D)KyA5BS@M7WH;>WZ2d9S@v;0^Vul$^?@~geRJk8JH?M=w$;W7O3T@_l74B0COwkJ)6 z?GX#vF$cXao1aU3P-wrF`1wR%9rU_FcF(ZAVdD1_-FDFH3i0!>ePQAU6g_y*>$3TI z3HFDcK7^OI!`lbFE}Ng1Vmn@doOcA9jKo<9FYkiCi*2G#+g&YttMKnv@C`~@3m=z# zNJZ>BmG@pbD?bnE@V)%prJRc%;yfxj$EAwcqX^FC;!NW^YB|fL7M@&(eKnsw$Dugs z;rRYe;V*my9$u)%2OlQ=vaN&PMk?~|v)EWAUiwjdR$cfKPZ-0464P7?Z@-CW<@g0p z!1GH;#l|YORS!1RkbQMI=cEX4pUyt-EcS`rhHcfu-tV{A=lyl;s(Y}nF2MdeRnAM{ zoRy3mvBR=29Q$i+;fusfW0S=;TUPj!&&4~JI!kVT=;Q8G7vI^&dGvc!jNTI_F{AOP zKGpubUFhhtFYIl;e?Gig{COf9i5wHYSE>qHxe?o)q-9!P?A;e8Hb05uSjkz5RnQP? z@1Ny=lNg|oOa=x5e!eMz#qWJ;`}vTYpt*0O+s_Z#XsLTJ>OG@QcywKdRp;B-0HjW_ z-Od-=?d7Ns9zFY*T_5%WT_5&>`C`+(9QDDY>)P%5;L*B1Yzy^3u<1mIN7wy-pXz;JWz;46z(m&$@#IWw2Evm=Hit5?$MOHUi{#OV zes5t(jAbpPKis>&+j~MdIR{_l09_9`?jtJd0^1% z3CRKlmK|KzgDf!U_1JPi^>XU5^?Hd98uWT>8DQQLl`3&U;+GLwKxBXh)^DA*pId&> z2F~z#g)?6zt>YX{u`jF?n-g~TS0x_Q-j^)-dhG5Y{~`7OvA<7-|4)bauLC2c3H~p9 z|7F(tg1f)8^kLhtDz?l5iS$M?az7r?`1zqQ!)s~M}yQlI!|w|=VQ zm&GS5_WwHO=mPk;)F<^`Xun?YH^R?nZ?WsN{RO&Cc=~0l6P{kN$*$A(F9=WH!nYQ) zrgB(|lICij+Q-gKKggVtwHJO?iM%iVQ<-bxx7Fjydv0WQ@%P45F^&=k1W!*xuAHyq zdaM{+ku%rX@@6^mW&{7NvvD2x>_j)W*16>C@l&8Lq)}IBPj@qXTXgM2bi!7Hb6s_O zEPI14f>)MYWAVywkcv+>_G(Y~X*brcc)StKy@T^H(M2Cl@_P{IlY#9dLQ@J~>O(OT3RR&(?(pTpm15&P8oR zU(@Bm-$dUXaCz`Dea0z1VO^fB(+;>ic$Pk|6d$oJ&(>Q9TpqkBViV`15Z_b8cpS!0 z+YXP?K40{wSM2@lTjU&f_GDV;hsF@|BV!zjA+lnAnwal$hP~{6nXDX~BZ?0g9wa)b zoFghe;Qxe1=dR@Z6ZB6nG(}=p#coX8wzeyaU$_-rbQV15QRZ<_bW*M>>=>V9q47?K zuNwZd5nWW?6aJJ7Uvk2WL_ZZh^Ax;mHrJw~X7Fq`&-QR%cnv&j#Z~+_h~>#f2NfN2 zF}mg~cvA{I$OE5RPx>5uDpTvJwWgDMCG5R@oqf5ibxt^knwmKsdn`D2z ziqyX1<_AAb&4yRK3a^rW-okfC|E*Z5y+>@l+3=v%@Ssa7Q~1l@+hxLAvf(kS z;VqX`rtpt@>@v{@v*97D;T@M$rtpWm7%Ou7d{iLyuB+jRopY)zJnbTqUh&K@LBfi|}_=eY!P9<&A=cPFk zJzPg1-?gsF2|UM7>RBIFUladje@HR)oLOIpkJerOSKK!p9T$gCb$Fb@Pd+&+(U;+ zgAO~Bxd%OO9wGW0_n@WDOzuIGmE6NNmgrSYrR8x@F(j^te{e^3CEL-*RF@#7^W*W6W9a>sa@>tan+r)AAAm72o?b)kB#% ztk<=yRq5XZ@vr39rw^KE2!oU(*C% z(*$1=-8BcBbh-(?rU||#&wa=OStj_JCit4@u!Sa=V#o!VCit2r_?jm8n&`y2Cit4j z85t({n#2&No0o>K*#*947kdH^gRgm*vk?Se^Kc)0%`O{X^W$^iYknL^GX!7riyq3}4fXA?5~rP4gW1 znr0ZjrrCg=Z{us4;A@)TYvOOqHo@0q-$SMezNQ(%JOp3U1Ygs%@ik5GHO)TwnkM*~ z(8Ie;8(-4|U(>YlHBIm}P4G2M@HNd4#v}NeCit4>F!Vj}H8t%8U(>YlHO(-5P1DBL zG;ihIbKq;5;A@)TYntF|n&4}i;A@&TzNQJjrU|~L;EI~yYntF|f&p1 zX@ak5g0E?UuW5p>X@ak5g0E?UuW8!&nkM*~Cit4Bjjw5fuSvV_F>QQJ6MRk6#@94$ zd`;8F*MvV5nc!=h;A@)TYhv?!&;(!81YgqxU(-Abz9#zVon{!mrU|~L3BIOj<7=8{ z!Phjw*EDT>O%r@g6MRkcR8fuzzGhF~gRg0VuW5p>Y1;Uj=1aNhW*EMv3BIOj<7=8W zzNQJjrfK7An&4}iHom3_zNTs8YnnE`rfK7An&4}i;A_HrHNK_^zNQJjrfK7A!Yfyq z;A{5GHSje}@HI{FHBIm}%|7^=^vQiD_?o7TuW8!&nkM*~@Y}mg8(-4|U(*c3*JQ30 znR4a^_?jm8nmzN^#@94$d`;SVuL-`U3BIOj<7;ZnQ}8vxJblmvU(*C%(*$4BwDC2~ zFnmoj3}4d(U(*C%(*$1=e9|lvd`%O4P3By#3BINYzNQJjrU|~L3BINYzNQJjrU|~L z3BINYz9xNhCvrux3BINYzNQJjrU|~L3BINYzNQJjCNjtx6MRh*d`%O4P4Gg~P4G35 zQ+y`)nkM*~Cit4z-7`(_HL+==^KK#b_zV+#P4+e+pP<(aF23dmVfdO|eeg9~FA`t# zeQdRYuh|-guX*YM@ikAO4-39#*B6Yh`2jkL;A^(_;9s5{U-N@N1Lw={DR}>)@HKys z|Gq9?@G}KZvn2miPdy==%_#1Na5n!kF*dsb2H((&vH8J(FgE4Pstd!{>>2>RW@|uj zH4R^D;Nmbg-)CM%SeS}-ESlgMhOjn6IFA>Hvv~^LKyWrsT?EeN2YqlhyDk!E^Zmg8 z;B5X6&gTE%Z2tGb*<6L4@Ir7lTORIC{f>>Z$@x9~;%uJG{~w&qP3m&vY#y_5Hcx}I z*{J=PC-RT?!Pz{D%yD_nsJTZo|-i+JL`dF!9NX zZGW>rk^(8-x$<3gnZEHf-PvbVRS!jz@IXxZ3y|THO{8phAaAM1OA&qZG-LW zws1C&**Kf0!P%5{2+rp5Fq}=9m)4n05~uYJd#;-B!yY8YDs)DqnG=I z4TpZjNyvpKT%xly-^uY3@2Hb>exnZs_X&Yy=F$`z(_!;e4QgHNh z?a^~^&~P@7**Kf@3x5BlQC7bc`p#^}1HR9n)*=z)7Q|cW! z&gPx^?2mKdY_anBzUPw&&Sp5yg79BCpJa;0 z*|c=}Bl+kq(EBFzkoNqegNjSmb2g*K**pf$=4r4Nth(kSA75UaO}jpLi+tNf*9R}s zF|_By5rr4^;%wUW!H))1AN;G|`ru!^IGc8T@UQ{Z2hZ!bK6svsxJV0U)2y$Wpjk8Ie$To}7w*^;W88VJuyO-lTCC*;s zY+5?)dcM=b*|cbsd}sI>9SzWjOTmp6{@IJOc?_J*)9kMn{aJ7}#oi-(t2s-7JxsFZ zL;JwK2%OCd{dp3-Q) zb#`>=%i{z6Re+IL_t?`yA<$axM$|s^9N}v*~t>v2ZqRIp=IRn{LP0 zUYt$d+sPTza^@$o;RQnDE(T{aB

      n~gTk=IMa=E#ypxF6PGN!~ql8NA{>$IGc@} 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

      K$VK0YeoN;22L6AV+R6KEQSJo; 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%0AE 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

      dRG)EWf)bWAD&rCJrXCyvG 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⩔ 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

    1. xS8TRwzOVfu#$G^&Y{bS6OSgbW>+xYb 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�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

        fwRcUf$#i@#k$-Z#mk`C&QbCHn3r`d_q? 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

        *bHBAuZP`oQPKoRvo7fuT+EKI)nxA6{gQNX;`E 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 WV;xd0<}E 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%0AMecnUegyw~&*~e3_~+qk=uuLT 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

        ZbdTDGb#yIfbc_(qdG4SeR= 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 z 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 jqx8P5didg5%`CTfqT) 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 z⋙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

        RI|U5D!>>%eEW3 zb?G(efXA8h^_v2b0hSKXxo^JNN__l)bX(rvhYYJi-m^zJ1s%42DKh^?{;QDr(qoM0 zYt_j48&l+dHFDmS`L?`Iv*f+>QRQ*i7r?Rn+S&`Ctk&e8?7@!<+|B6!CHz|a$J$#u zeT;M|<&HoHk4_IJUqAYDcD#=+xE$a1SoE{}-5<;u(;>Yn-*zQ_Zuz#y zoH!c`JL##~>?%Hl52pnO^)0x9oV8?Pr%gfwG$@ zi_NtCIJ<1?f2I~|t!u#@r?UO6vY{Yl|Bd`U)->liWy?M)=`K4)Wd~Sg{U=lQ9ro>y zHqCc0ap1O3=q@`_Wd~YiqugoQxRL#C?x0&V!NGUik=JVdx%vwaW-ZD4!-!!cW^#I{8sjUPIuW|;>`>jhqEaA68Mfb&A%r$M`c^z zJFL4bGzt*MC;IwXgEp=K-y+jI>PYN)=7ZVNS!~hkGnIqiDQ5)pdFBPbE5>#~^qYBQ$%g20lzjkv z*{hmg=)isZh3>NSn{V(~W&QAKV-xst58|^U9k_2j+g+Bv1WcM$HX)k*27L2aV-dfl zu?oNWWOrHGw0IUd7WxKd?*U(884GJ1xNrQSyDV)6OuCK31j^n8zU&X&y4r#J`h(qN zY186w;6|B;jlTe2?lC?t&w=~eite(&37Eka+z|IMHr@fg*g08Q4%}B8y33Mh@i%Z2 z#FIAO3cj58J$0!A_wRRhmnAP?4z=J$52x(S;LF`~n}<7a*Zr)!EO`N9S0&H=+%4I- z1bh$Wo|>T!+?N-3m%UzPhg)S6;BX;x3@=B1D-J4LyMKTEBVqLNW^d#+_Q$;3Arvq2Me3G+)zHYjL-BIr z-GKWu-nTIqCCdZxvgGUT^Npt@btb?{UsayuynId>`oFL92t(xarVl@+oogs3eG#~7 zdQx|2TJ`HsNltXrkC~oqchi?mODb-}Dzm*j`KtSzTaj#apFgNb>RY@PO#k%cZ{6oh zrzIQQ=c}eAf9{sQVp_7!#ru(pCsMh3lNWyO2>EUb6EPD`PnK`&TFLBjn7>HkemnL#Qu#x66+segl$_jl!uv-3Kz|8xE+UE`EF zIiE6***M;(`sDr4$-AR~yr=EFTgiKvx(}&7G`id=b1$-c!(Z$&*E;QA=HwlN4#1ym z(RMa@zoPEls!#0hcbqa$iAHzXWgc?sf7{8c+ zO?H_jst;{WcJgi?LEZy)-c{sXN8JUgPamf^W#lK_aJ^loS@p>q@8k^}Lf((IBKE37ldS+Qe*=eF^R)5ciR1V{T;`jtJq*+hg_9>EpzN#`94D0e?q?H zeA3y_+xIa(i5-j|N&N`;x$}$o=YIlQvCfK<{^&t_K3_4IzWmUp!AHnqjr~?9Z-D0d zCOfZ*eg>%PSAA&sKTes&*iIXE*=6pajOuT6@~6o0(plsO7} zYQtxC{pFOgV8cn!R`)``nH z4frY>#!q}I@O%3tO=eG@q`p_K*kji(SxO!GCDkYSQ`s+Duehgs`IV1S>oEB#<+qft zQa(!gD+BLOOUhR%KV=pEIoC(|0{%*^?bMfp^;3rM=PkY0j@#PA`OHc$K2Fsy!Y3Fa zhK-ml`6lI~JOq5>tXbus%!w97^qd_Xh40#Q`6!p5pJt`mb6n@2*1$WLSnnCJPnc8k zPe$=iDi&OGv6Q~tNBiQz(bdF_tptDOWvS2hIclw_zR3Q$j&-Dbkc~&0nF}4iqVBD z7S{Zpn3=2!zO4)YtS;i5*!A-|=JhxD6P$0*7ufrt?|L(8j^X~j!iA(A$=9e` zjqjdzwsHPcb6s|?zc<()D|KT>;QJpLK)gHv@w9|XO zr)Apn{fCs%9>ksex^w+x$~$v?y))NWIdgqguerWnbG?l{BF%Tr^-b&%X})V8!kzD$ z=bGbyVg3+5~PSKkBv`|Mji$L~%2YhOZr)VMYB{{r`WXm8?&>`nZLy$Q|#E3(a( zn*Xmj^S=^Vb1Qwf=U!ILBb*b%Cf;vcU~eBI-~8q*j_q629F!c9-}e`f52@F@(Hzm) zfpXSYecg|_-TJPDFOqjrPQBJ-lbIh{Hw7r)*LrN-TlRYFP|E*_ays)R`4^&Zl5Oeg z7tfM`C(zG}v77Rcap%%U&B=FHakh#&lEr??Nfv9b$LrWelDCq*A;&Iy?IZ5cbY!n9 zcR$$G(=Iv|n@m0*%Z58hxPR&c?(4na<^Z>^zKpc`LR=kvac#geEgxxS>_O688*mBz z)3az(20v)*4}m`N54!bEcIy4gq01l1>s;FZYsblGj;F@S@D1=@aWdIfoXqiiIzK`0 zuTq@MJ;=Hu=9l&r7PF6?;H;1KMBKfQ`|$gu#)}-e;=jkqWJbH=WE8_<$5V92$pn%4 z8<|h{Dz3gr`X;+OUL;#GzSxSBnT@|kaS8j2lM#$c_B+(ZEh(_vI2rYS#~Q`S{P%tb zGkf-XZ)VSafB2jK-tUdjMr&F2ax9$o*YEEN*Asg6yQsV0&v7r~!S?&~6j)Zj@w*n& z?@;iZ;??+4Kfj){3G&%_OmTu=Z1DAs<7f-tCHs9X3H(dtm)hr{{nI@&iv^Ez&EwIx zGtx^mJ{BFZ3q{A?aWqlx5(&XCuC6a(PAM+3uYJP`#vQ*f@f^ig9F4|r$q(^k(Z;(e zaWtE`mqh)S+(HiY9Y@m(&Q&RJtay%zwjJ|PDRB_&kM7#!?Xj;I_uBi4Yx}dWNLlSG z9`Eccp2gaLbbDWMBz<%C6))_uub3Un`1H$$R`0(1ij%p=s;_;;f4yh#35M_AcVBS| zb3S!%Z`6KZENZu5{HPBYRlQ&g2Zp<^*gzg@mi6LK{OggUF5v9KIM3v+H12U2O`18u z!yOknv6mS~@6cdN<3#$8KiWIgSiIxIjuF2sMn0Qz4|>WMd-!7F1K^oj&n?Am@Lyt^ ze3rQr+wgb$Pw+H*fYY?ijZSg7V<%yn|w>fPFymuD|Qtr&yaehvHJliv+jW!aNulKNtZSZ;g5(kea z;ZZozJC^eW4lcEx=stLdCpqOGQ2CJ)y~m}Ne`ufb(aBEv$I43uU$DLFO{x0ox%kDB zDE;(%bBj~y{UW%AhB&xBDw++jaE;D%U_BvN_MW--6H{u#NbdpTNx`_o*!@j`k@%Ja z<1fO$V4`=jjlT_JXb%_<03#aP7e?@02gVw~$e*Y&Q@;cwbgsWda>DOj-wlhqE|!b_ zj{%D^iLL6>2#XIAr#Z0xBUpJhea-}y1>@}=FqQx#{GEMan5hno&je$H4dWaaMxqCd ztAP>x?!GYM-*jN?5{z6M#!MH+2R&ef1mpaDVfasWU_2%mITO9p9JDyB3Uq|}* zoy463qm40{&9BxMu5aOv8seUo`XV)~Ev{f~p>fQG2X3ti?9HWqE;jdk#si!C>#Zf0 z_P62`qUE*@J&V}c#7pQ<_IFZab9(4d%BJd2`7OG1=$QTM(DIMFb*N-zYv#}r*)MJV zb4wbF{3VUq#9tI1SJIe%d`aW5U`g$vrS83yRf8oOsFIBb%pbRF{rf)rfvG=(pfdbPT%9)iGv(XXcIz zZN1j|(w)VMm0{klvh*i+FkJ-f;J1(sz)r9?seM9A&kT2D!$!#lW62lw%bSbd+x`9G z0emaI3r;8_G95Uk#({II;0(3km?8&GQAKH&J_&j)eNy?wk;Q-if0%n0_$Z6(kNer( za1juZgd|)l*#tomFGUD~7d8oAs#aUXOV$3_Bq-F>wic}-Xf_Fo8f&wX8VgnuzzeI^ zRH2gAY68|9wnb5F)k-d0lwiF8k`*NH_xD_qC(9-TwD0@o^V!dnXJ($6GiS~@bLO0x zGwAH@dd91-uN!7xcTx{w7|gytd$eceEy#r2(fHVV1!`&*$zEa<1iYSUyhqbzqZy6- zLjRfA+nSpjcAc9!)?GibnZ6@9-?HH}eaQ(XoWWykIJc_5!`k~h#;7TJaY5!o=pDk@ zap)8E+dVbHm*x`T>L=KV-F-+9PUjxjhn?yJyqP=6?!#MFAA(D5hJfB{k zdAhp~;Cjb2=DExRaa}ve?!!L>Thdr>xh2mvZdE%j&V1L>ovg8^p7*H7SaM)J#sI4x z(eKjxRaf$8@2vK^ias8mSrk*(D}rf3oIXQGxwIdIKIJRU1z+_Eo|RSE#47rPScPBX zXC*&t+l0(h-Tfpk)-%*u|Bf+!^~3NlcYs6l(}wpoZm8t>Am>r-IjCBDh0Hk!`uI1r zZO=i(5NVr(sx`+rb5Pyb_BrTRjECl+iEBrPALafm?bp-VUU$zFW24!--&*T)XW;0U zZF%|YW=meKL0-y6#+@3Y3$fFhcy5@Ud0Y%`LiD5d@dI%)J8G=FB@cQSV$;I|Hcjtv z(Zi6A^x*$+a^|?0`e#vp2p*PvaP!R0orZ<`lZ5+36ZgR{@V%dft+3HpS?u8c{gX3w zUaXCV;gd^L=P?KJNv+4Gu@6NTmVT&ydq)^G{`YRqiOe=_0$8KX8`*2 zd#VS$JguF+>fZf%rsDd!;W?Rlf~Or=Pc1k!>uFRy);>}bp5usN^iE->hk6=-ul`Zt z;0Q~$Z2||(ak=ks&rot}#dXL;trh;m_^YneRQlqQd7cf^Gv!-vhbJ-ISN)o5!&7Y0 zc7tg9a~qzQ1rPf9FsolPkr8g0zV{Mn;`jFV$aL+wFu&hse;={><3;{>1`xy6Eo0D6 zoB2Ml+8AG-%$%@Qa&oY>?%;cS-BDIGN$JV$>y8=cum?ZDn#X9a-)Ky`o^{d!>isRc z%qrHt$Kl_K$5a3622WL;dmvAx=8O-&`LPx2-r}j$NH%)NNO-D<_LL?)B;Dk(#K?2t zUwiVThd6w-0$XS$;}=}9EprmE9xiam4s2K2uvJ!lnz`>AjBQb79Qblh3||=oUn9QO zr(@uI!iFyp2fneuCtl56eRF0H`1Ekcwu<|n<>$!7hvCTc)coVaW8=WLAO^k?8@|*y z@b$6bt9$0+%--<-0q|LCp1AXk;Bn@g+;PBXpYvcXWX?qeE3Ea-KGr~5@5tw(HBT^R z&7(LCeYEai?V~f_@zy@_$y|p$w!~ihXiXEKtkyoCvPYn^wU2Y&Bi6Ut$T#-dr+Tlo z_9=^5`;^&hpXzvPANg>!_K}bEo2-3$W5agVK6!h)_OGr|Kao=!|Dm-f*lQon&f3TG zB6m2(S^IqYndMuRPgUnW+-o2CR(@lzf1Gn48cVHzN?q%panOr+rS9RGna9PWMQEox za=K_j9A0TUF+B65j&gbpy!<>qFSi_A&Aa5__rY1LoSv*RJHY2(RG2y98^}UWP8|3$ z#)c=yz^A?3KyMxoLOW%ov#SZJ1jq8;jHJ#NrT6v+g@N^H^}|hPnBN^rtiq%w5PN$sR{0)s1S0 zSu)76!)TvVtQ}@fj7*X&N@IUfJXtgc-nbQcw8)l4DknLl{WYrBvB3n{^FAX9+k8yy zowbyc?7??kruZ3i*uQZcawM0h>@JckioJu~rOc5%k}=Lc4%t>@YmuF$yEc~pVw>o$ zoLLNf&_tQ!OzPTWU2+E9hVlJW`~6+IO*8M}nNXbZ{iQv={=!k2{n~k^%)OpbTlRXU z%(b2=bFXKz&Tb#ew)t<_so`I4>&VmMnO9=qTWiC2MI89f2fiBa8n@@YLx#&gB@SFo zW5XB5z?BDFRWWe=-iB*z9JodRmv}i0Z16;xY0F@}I1-+yy`haK4jtZ8;=t=09ZrjZ z*9*Ki#lU-m4R6ml@V2mS6dzap;_}S%+V!w@_$;1{JI?TInZvWW=d{D;=GiN3-jWXC z*iOF_WypRwm!USZX~| zo4qNshnxPGNACOqc~``tzb?ktttZxvW_;WAM3cuG>@oOX>xtLU&Y|jwSJ>l@jT~9+ ziv*F;Zaq=5+tw4?WVPEy{%z@rx9{w}{60bbwB`5Ez$h0j5MLI)E@bT8@_VjL3j?5q zuJptnECZR^)QkZWukdDflr^~7ub`_1*l2>mnl#0w{6PPg9a)rbm-G?>lZ`K z^Na6lAGJ%r*ucB=i&@;C{;kpH&*RhQUqAWg^y#(fGk3!9%+I17=kHADv-XrY^l7ba z;?9q5J;*breSU1ygM7z@PubE@4_eCF=8hOV7TI`A29L2azc=xTOg((;d>r^n#)PZmz}F)NK93FG z199NH%ZAUB@$<|H-#{NOIxQZ2Cx!2dfiDmG{15xF-F*IU-o@uXivwTKhA(UTota-S z=7)>FhO9X7<$pIEjDatm@m&=I-yd!G&WQuxX~1W$y}#(6S+d7PlkDG_2u-H-HMD=n zny28YaY`G4Z5x~X`?T$mpJ1tNPd~5SPvF`9Xyz2^JKX-}UJ$3hO%uW+V*1-if9J&X z_a?i)ed6?YAGW1Gegn9&PK^Us#tGs5O&$46HkwOf;JVm`YcqXtWWwd}lyF%Pi%XZ! zrE1fonV)}YmCL2vv-bZFI^Qf3{@H(nU&S-P_OBjsZsvQ?o9e#7Dd+etPO-}EQa$kY z&OgZ)(ZlrRE@tcH(vmcCeK+TJ+`x@$Y?XS3Hp!U?KMt0k6+~l-@ zpUmxBF=a=O$(cW+Tmx;@)0WP)H&AaHF`-019ekOtKKOmZGcU61|FKj5TdIF>+kP0; zU+29%^WSmmH#j$M(x= z|4Gz={bRkKbCf4@w)O>RtA433+&F)Kh1Mdk>?Zz1r4jy+cN5lsKAcHxyOb)owof@CLaI!Xy(sjzWo8;hWcCIewS~@kS}|T|BZ8_W#Gj5 zpZ(Y7S*}~@gU&`p@h|S&u0AA2rt^))ceb7Pg)48go%d5aui4I%t>|Ps?;1OAv+KLd z$P1urS33P(dtc^2rGbmZq^;+F#U`BH*jjNFI5WgAc0G3=)mpLhQ46-Ofm{2`h3o6t zf2lnN&6Ic2W+@FH?P6ECe5Fka)C^RgfuYcbq3Xr^GCyZLB$I@Hw=HKi@3Q5X>9%iL z|GRaVth3_qe$&a}R{CI_6_QOmH6ndr8hiKMbHop{mmi#MK~6Zl@A%Q)#m;DsZ|$R* zdw{QvHfoc?|GE(S=U~PcT55boeA?6G)AUdFuM*CB+BjR!+0&iR7^V#`Pxxd!TYqQq z>pMH4*OM%Ioh6)bF13X`(ZO9lzPrbW{#fbM_l2E)Y#-9^x5nTa)yFx!W;^eq1oG~) z@}9Tr+id6EXxH~$rE?DQLp%MKoZH>G)q?Lu`;JwDlg7m-S|;xqJMSD< z-jT`!H&57kj~KvJY{B(YyD!V_ym5A4u2)~E?_oQAtgF60s*khK6?R^e==~2?eNQs} z!aQ3mwEH&K&O6El%SyYw8|}P@TzUe7o=oDjq7UU>aSI?v%+_g%`n z+TTvuSYH1CdzN@TYw>-V|JViWoGTn;!+x`P_)na9!-v!vJ&!4~==nV8`F8A;`o4$# z{Y?A&0bPAR$NK&>zJD1TgudVXpd||~x4#$cL#RV}|F!de;L1}RDCb^1z6 zeU^XQGR|bNUr}&qPonlC?v|gLcg+=^h1R$Kp`6O7o_+T#Eh+LZ(sV{j={heXpPu}A zv2C4YxAlfyM+^1qo9_1U`8a*t@NvgJrfQG9U9b8*&Bo``-Gp(F4db%IgmGaU7$Y$- ze!8q9j3?MI-f6cfxJTM)MRrZ z_QGk*1mo9VS>Iei{#-jfw%$6s-iuxJerkVrzAJ6Jop!b>ZHt{2aHZATX{Wo=-nY{- zU1=NbwC|EO%?0y%JN*P#*>!f>NLSj+cADRnR%fRTv(vgeCjH}#$+0nGavfu$Gi34j z=m{76l{O4}m!^~tcBL<}(|42ZjL&cFw9i~=Wp-M#E3MQ{+v-ZY(@tw}r4`v}ACRWF zCc0xtZ7Ft(?ikX&H;VP9JBIe~`;wpT7}9-0hr;J;HXSI-{{2x$K0hW74Ue>GZ6)ye z@x`i5`Dhmv_*4v+T5oNYfodFYx;-KgCVanaV%& zQ_L2{Sb2`0?igCdPq8nwr|ubkf8?jwEfIcy;P({2C;2&JcAVWtiL2cVJMDH?+A((8 z9MTk9M0fR=@wq1$Un@ShVk#(}f?_PR$5ZeSm)nTk#Cj&$?;Y={yx+ooYAJm8Zck#4vCi9I z7^{YvdrLXj%lz=maB_K)k98n<+6VVeEBA@_;fyP5;^pk~&tcC=A$MShi2s<4-WedC zpobXxS#}J4oo#=TxU|;Y0)rzzKHu8Quez_I?rC4Qu4v$?7}ix^Cr7f)9i z;*Ymb_lwl6J4(#63j+et+3Y0{JSy*@yzq50!>4e~sc-|010&Z7LSUBKhOz3Y43 zgL^yWKBB%N7mgR&IQE-3=1#sc3&;Dw@fDQKb(NiMmld44|KnZC3eLThy`T#?FSPOY zI_+=kqMU=@S{u$RSKF6#XnROxwGHQ2v^|2XVw(h_+b3A}!_@kw zZ#>x8R@rU0mU!M2FFSEkoVfdnm7@FJ_pyg037Q)RKc2?k*XZ29GhdbDJ~Iee_yGJN zde!-u4d{7=-a*Yb-~Zc1jqt}&-pv)uyou|)?13*d1~*r7XSVJKF67<`cy9Cs@KLSN zl34;@Y47 zpZ0^qxk!dTC3A%v2OoLhL-$Xpe#Ov~tdLw4&K-Fw*($s{@o9wfp|q6<-Y+4(#RTyF zC3M(Af1|*^8(d4y32x$vMy8=3F9G+(wDm{uQxC3-!OwIfwfRZ0=-%$NN!tq zI1G!-RKK9FO8V76zjOxcLhhn$;5+^QIyecymz;HOPUAjG(ceJES!eh~YfDZ1dn1>F zt5)D?1fHqXX#h*mo6=V24(J-ff`?qA)f|n5U;+LEw+sz$H>Z|(bWq#uxn+dX2 zrsWeKn>~|)rII^BCT8&7YTW~q-s-yx{un=*IqZ#{$n<5N@KfidlrIL)0h2x%Q_gq@ z=0U*B`CVuw$-H}|on8{5mxYUtwP6mq@NjSMjxZa&TQVzwnK`q0mG^-~dTt!JWYL%0 zt6JzA)LcpYWsPA~G4W>4O({>FH~bRWN6z~#b9BfEYrQ9%oA6f5ID_vRU>jY;nf*p^ zp!k4I(6{K4bCl&#@DbpCZX>}62U3ja^Ylyff1~s=)cD1iU8x`?%NK=z!{J0_@6U&Z|Q!O+SXR+L-($xM$o$|6yr&H&4c7Q>F8Y* zN>iRjd~;G_l*H(Ls?nfJ1bV4_y=*!rPD(X(7?wvM&O13@8{Va~0>l>Ah zlQ`P=q%~80ok2aqrRZc6WeszVOE&Ag2S4p#Xhm&1eGpx5;TyHNztG8{og{2iJO`8@)N?^SFSUV(qrpOxU(qDyfR~UYbf(*&sU*XSK~R}a>l}@B!%nqtr$$wvGpDN#r>CR$6spDPReJN ze*Ny9oZHda|C6Az(8Ta)c(uOR7%v@9@tX|#Fx(haa6Pg2l}0?$h3PySi1}o&*Ys-U zBcq?kjLC5|bbllKcNw_Ty!1Qdaxpw9Jc|#ngdeB-1~+Ff{N18{(5U95fN$_R;^~`n zlEZ`Rh^JLKN^{b%$V2ecKISCh#h_k?KCQV)_YgR9-C$(b@3=ClsUmHpF+R zW873$v7I(N1P_$xzGmy5O~rZg!IQdQqKQ~citVJasGq63D~z^yZhzyu8Ngml`CYyQ z?Io*L+$g1e$-B;7m-0RZdeC_V#lcKZxIk#bxC|P8kJy^q9N_fr(N7=yx<35$s2hq4nqb1?l52`1*+V>zEN0=cC4Z=MIwHDj1xL;n<;(GSeJk5h5rpoM6| zOk_CU#oiD0(q`H#2t@xz-sZ~#(XBrZM0H+4HSNu#y`Ioo8tFQR@yoA?jb^~33C4FTktdQxe)v3%dxga3{TVw0 zUa!2$;&Wq+#pkD-!+wAxiKRw8ieKgM`HuQllg|~;$~aBD&wV%4dnx6RMaYkFZF1@o z+HTls-817sUMX(P5@gjAwyaW~WR)L3U;}b%GG~jQc%N8o)U^wlC0$m0*cTW(uH^?s z3V+RB8`iHXtMz;%_uAjYTo~j%k9pO@*aXZquctX^ujk{%ue#S(mlsUCW8l}i-+}cxVEt7mu-4^DFA^Ndk#m59 zc&n>Kv;K#%uQ2~Uw6S%S?&dQ-Z_V7uvrRU0ws`H??B)8tF|I9*{n;;&rn#UoWyz3u za?O-emRzgO;Lc#at@Z~dg(c&1`xD#l7{*yRMwTJxsvS8eor8PJqUISe_Rl84hb71n z^p3aO@~yKwbmGZ3#ZC3u@=bEfxj$#|;*PQFh9TR0$g?J7j_%?qL3g?uS?9#A`wiuh zVbzXY%V)2wE!V0g*XT!?BiAI$biUz4$uQ)j)_ zWLjtP>{)Dv-IZrSVE+?iV8yUIJ>0KNjwMI3@sqCn6uHG*Y|@0myac>YlO~#(f^MY! zh#}5$Rx)P!$ScKt@YwRoeXoLG_ad)?@W{2Myh>=+Jfu4o)F1V$VKQqfzHdbK2uELn zm&Vz|n|QhXu7%$=C6`B$U0)%WiWr9se&)FG-4Ii5B}e8_-pzZwJ4(ZT2^1NteVPW9Ei zr<$kc!*pbv8UK{J6bI3qAB(NKnf?JBE5VcYWR|C&8SZ7$k@hjLX2iFdZqv+j?^`rO zOy6&XW<1=@C7Myc-E`6yI{6Yh5sgHlm9^-8n`Z}19v=)|L?d58Ba7nDi2CiOlZzPB zTGHC+r2foq(MeGkbg~(IecN<$eJ6BsC3JGFO(()bES(4+heId7+ji)5GQ~|Nd1rN? zlRW6;LH5T>ww(Aa(@EAb@#&S-kOhn zL+g`wM`8B>#zyqQN9 zpT1?4dz^A*=#`z7yZ1$_+{2WM0&i#K#xz*v$|={g3;6D>u*%&-xf=GpnB!3E2^XUu zV=q}5>JzBRF|^L`72p^!?~^Rl9jvlVgO7aH4y;3>Ijk=}{g-v8q}HhV-noah2%BL} zf)UMPoL;SJt$36DF*k$fJ?!myjsHE=k;GS+{#!_d?%e>noDEXF#i>(P6~m3d4Wf!H;NM z?TeP{p<@F&mi?=<@qhC7;FmScSn#Xw4;6M#C$Oi)f&HpZV9x{gztHv?@TB&&H%Dt% ztyu-T(sbv6p3>9qX8rxN4XfVo;QfhC`Yu@q^JZ;AbV%VCVyOYg=XulMQ?9Is>O z^Cr8Ec(7yu%RC#FL!p^voxo5N2ZpaTCjmn|+R%Lu!fSyG50#8VS9T21bQ`y!C5XSs9%BQ==+>e}#7k~Of?z)vc z{8@HN`9E!(h{kq&o?JfgFve+OC*yQ+oN-#nILWW4@zA_@uyHu3JxMZ)MWXdFRe{+2WnMHssTE_J$}9 zwfton%*BP+EuQ)d`vjPiW&8Fgab9W44<;bzef5aoj~ITh-2{9%1e;FPqEn-#tT9uVn9u;*JeJh1h1`ad^|B^-)&M@Fe4gENn{tdueyBu~IZ%8QotIWdG;ze#3sL_lEh# zv{Cc+SLl1ApX*!NtKz-^|C8trbF6Pa=z-2;emmIwwrIIAZK?fjGT+uQ$ET@XVDx}r z|7L9FH(TGnmtlWv48G26_bFrAHMi}rP#@G6^`jYoj%+~RCq6g!oigD9J87BX_RA-c zZyX)gy(G%pOjBYN8uOQC~ElS_cWriRcJr`#ysrU ztidNPBL3@qjblFiBU@B9vP$-i`NXP`oHFgy$gYt=>)v45Hnh%m-yJC#mh~uOo9{F4 zvu+?}rRvrlFT%$O^u1wi&+u2gkKuo{EgSbP-cRD0W!t&^w1>?hI&BlSWy%y|&(|0T z4nK4HL})e>Th+1Hm}Cza2c2&9^@zO0nol;}k?4vg{QoQT)NQ_=k#h@1wD|i4qBjDw zhkV^NxdoriR(v(sj-zE2?2%{Aw|w~Qp?F-rFzuyCiCn-LO5K4GoN1VMm1wLqP8t_y zET%B7TKi~kUk+p5h@PtP%VvxTaNv(Ig-y&>kg z*rUyH()-Ye7vJrX_P8x&%$;+wri^2(9%6hnPW8;!$1*k}uz|R3P}W>C%(Oviu5oNo z{z}Fvj*Q#$AvQkJh1V_Ei-h+&t)=Uyf(33klm>S8@k3% z_oqw(uOInF9V30};*-E>UZ6&PI%u5x+!G7_y>wt$`vbld9h1i$Dn}Q>SLd^atbG>=^=R72ueN}H#A^#c6d-cCz=z_i60%l6F*uuFdulr z*2;Kkj5Ma+ywFtfp2o<{e-m?#H2Lq!oc?Y6cM)UR&VTIVg8!DWAKT);A?Do|OL%wl z-(oXAF>;DMj{g(>`?Y*-7T?J??&dr3p=7q3_jI3%oA)*{CJz7I2rY>JbZ?5A|1#je z({289{9xk0NxfMULN||IXYpVT|0|x9c(4~dc&lUvd{{-k$%Dwht?*$3eE9SO;0_v) z-$OK!Vbg>&XKdG;%$Wbyq={r`Vo)1Ryg#{}CI*pSBe~9fI}S~ZpTOPX*b{YE&(iB| zX-Um6boXy0+h8p-jQtJ9 zAQ>$hlS~&~iJr1U#2|vE@}MWtk$8Vqu|+!@i@Ea``{@hsIA@?FuZdv{{Uo;04|l2n z?@>0rEQi*|@swO}cwb}Mge-{V{nHsw z<4jL~XAjs%kDYzJ_Q=WKqkVGn_h_%2?qqKB^{lmgJ>PULZM@o&(VS5;$H~phsrVH& z9vkyKZM=LHW6{pbsgYvFq8eYR#mo2ym`k7J-ObC7oB4^6GwreYU+{9#b&OTaT&lU! z&C~LYyZKo>?&fEQmx~x*>>_1~siS#RYh&^BvGDQ;csT>!eH0yG6mzP4H4CoeerCp6 zbLkA;U*?V>#mE-_7F{>OveESIf%+y2h_3pt}Y3d*;5kI_^ z2Cqpc3v%}bdwOf~fT^B&%ukHc2F|!@E$7^QQAz)AM&AvhZ%u;#q-%YGF8SpePgw7g zWy#2iI&2Elv0Vh%GgeDm+1MTO4CdRnTPxOJ=a5dj7CVD;$JH9_5y1r3`ONX9%A&g-&=>iWUuV6S25hng zg>3uIC-l*6-?^Ors~+`3-#LBxca-zN^kZ46?6XFs2-y9=o@Jox3Qy+?2k6zv{09F2 zGTjr_SZiG&oY#4cnl(MC^VPJ{)ZUi7);E&ZY&pp_bpndq_BNHgzZX~;QmqQTklhCJ`YdgxK~oW?z)Uu7HSy;UQC!_og{po`By zmS-UU^TE69VCl&J2IOZRa^Hz{RrF))?!heRQS*l6lIe$pj#Ke*_tjiy@=LO*|Ap~O zS?{TlHOQi0o9~H{bmWvX56E_{y$V72r9?V9`a0wPru<>rBasb{Bj?(5Lg|6h3mqNM ze`)-A;N}l3IiY*=WLI+J#GU-_=-tw{r5{S)J{@_XeG-2`HFCmvz@_z0j3jWI+4gSXdMxkEKh-MZuk97~;u}8E#{U||Pxuen z`&RP7{o(50xo5@4e+u~jw)F2S!L{b}Uz~tkM#h=)a~b>DkZVU{lPS75D>_QHpx;c1 zj^mj%``l<2Pd{Uw?xJ(;MaYYxb3b&R3yo{8_M`9QqVHtoT6DgE@nDTprnT^`;BoFU zUpTeiS?6e9=g`O+#^PQ4CC+|MFLUe$^PTuVHlC&Df75kN)`a+Y{_FeS9-a;G{0eyU z+_Jx-h<$*fW38uIOOzdtTvwXb|2fDBtv~d>h4*5uJ;32o+ZG@lQ+i|ibZdYHyWT>Kcj&p;#G!Ob?#b|l-nyOlD&()^iEIG3+BiPS#$ z7vro&?lsTCrbLz@Z-syHLx#-{+W(LbFQnT#zhr(qUMOM=v0>D_^p;!C=N?q(esJ3u z4MvyaJhMF}5ysPz?+)F|{^G3f9ovh0eJ?xAaL!gq?snK?GQy&J^-+B{=bOeO!V}l_ z3CG$szk1K&1>tfF@JQw|ornA9WwoUu8 zl{j{iHQ-Eiesc`YvccIKTb(&^uzCN>tLA%ReId9UbFXC$nVz~3>QwfzS(}rHx@m*v-+O=r&Vqn@z(luIcZM0DR#LfuC&Q^+9FrlBs=Z5uC(!XS{Z3tV`|>t z$^3RQ>6?MYoi>^@$DgTkBkgaCV!llyo%6F+Tn1qF*f8H5Q!bfujt^G#4YcdK-YzE@ zE?7Q4uC<~r29{ow{g|{?U+*_{{%!lyJ+GH-US~UW#&{?Cn$C4NXW<+_(jNNw1@;b8 z$6+2+JfK|Ux%p09SbwOObvHZujo;o!ScOdTS7P%*u6cfA&5813NiUEtB%Me0uq!!# z+M0jFM9BybwlCeYK7)Swuu~}QM&@`g>x`TFu|I(Ig}J^t--x!(JYr(Qsoa}3f#2!; zCVNaf|2y{G>?#`~W_LaNJyeggmtXY;(II9ev5t(1+x?DR7TsgL{8?U=ZN#q5+A0U# zLwm>+w>z7B-Ib<&huQcpG%w3eBG~eQ&9Sw2wTIPDNU$1H;l6=H?Fw9|tZq4*t-rF`TmB7|*-hS!?DZ~W9B#yx5WGJyvA#EZ)ajpe!6~*5BK$czh`B#Q z>rMJB9mLT;q>DKHu0sb=9kKK2hySw10{ne;p5_YM7NvEh>`|&Ko=vLPPe!(EWnPnA zY82xpyVNVQ+U-)FpICOOVbGH3U;S&$@P*I7KAcNCN_(aSdk^~XmGmhM_=j@_wl2+> z7H?0w`#i7CQNl0gUi6lH{9EYL*h-?@2hx$cxnB?`?!%q>kTE zhio1OywR9otdf3J#kW!H2iZnoPWr60TLSbc7aO_kKvC!!KT>4S$;A(ivlGIiH44 zIpqu^XYd5Nj;qB+_g-& z8Vp=XkrMD#aHe%Hp!mreU*ZICCNdoyYs{8_%PQcy8d#Q4zR2e(J&pb>C2gtCShbHa zDFJ?+XRRd7&v!v!o1@F&bNUt^zAV7+lTCLb#GT^@V&7c_<&_2@I65}?L}K_KMTz^ z2S;+zZJN<@L=*Gl)b&zJD`t)^^b}kF_$zI^h5peQEKh!D=_$`r?hDFEmq=smB~uJr zrUda}H2}wge@N#T6#3(877aXYK2sx4@zlIM!uB&1hJjo1gR+m3w;MRE_vFY@-gokz z3!Uivu3L7Q?I4e?H`_^!TyNK-`Ca=PC4Xg8*Ei1oBgwq1faPO%zW*`bQ?@!*R?mLd zl-27cqXjQG2|tH?)!Zm~D!-4Py5#SD0bUlJUkD6pyNJ0rfSi&Ia1g#?^+A2A5>NUpD;3Qyqk}}et#Iy2w|QZ%)DQ=}ib%k^eYlRZepr zK7y%FjOEM{@j@%XGjL6n>{XpJDA$mm5Z<}g7uMLwM=agXsP}~bayPb7^g8s2_0mOL z`rUf&n{#x#^^R_*a{k&hQ@6tlVA?zUwm!F&b{w3z^tkmpE8^&KzjEnv?(-tCXGKIm ze~QuPerng>9epm>E(^_8qtC7HLZ7RS)#n~PM1Af)%VxE{yZYQDU|S3x9~uvz`uwIo z_fXDJjy|{EAF%W}#%`Q+2E_^W3+S64_8PS0HEnog6{QSGl zj(XuO$*|mho|XVSmJN>u;V;dBdGOjW>X81Q0e|RQQ%0t<9?&;^jOb{)zdoDq^Wb|A zd>@22^Qb3VdJkpukpubHan6`JXVV8{Tc>vbJG$qN$$_s;-7{x^rF)ii)IE3nw_W!% zdZByfbksdPucDXG&syX_SGuPc9kverhWnup&^yEdL?vpY;gQU6?r-m1CHJ+H;nKd-X&&s_A+ z2kDQaf9`G5KZkbEKNr!Tc>3pn9+v+3JL>36|Gb|(&C6xxGc|G_PwAhE>lOmmDt^V( zZ|R>y+x1WIF#Yu@Q`ezIt?v8_pgX*98-thm?-YUk!(m%QH&elJ#1U~6}ho*lH zHTBO6;(TlApF>UkbFpFRuHDf;Gl8!w{qq9)y$f7)rGJV(J&b>q*W+3X9W(Z}dx`nM znB=3Q$Fn^?`8N6v{67d7mQt>>dJ3rLrLOc+;A>cC>7{*b+Bm|djb5USrAGL6Y{SwI zeu$1C9qirvtav+0lP;5CrYrslXEtm-FA+Q@q33BHk&Rz6FkldmgYsD+Bbo`XNxyxG zx}0+fqRZ_s!_SPlbX&>SY5Ep>O30S6MabAU-?rwISQ#5a#umrO*b-!H5i)j&*JV>nX}8U;R6%PR%&o#W(8DZtxeYSO4Db zk6W*9U{27z*21ZD=OB2H?vo5oo&D{KD`etH;#@pMz9~4P9QeVuEm}HyN893hM;|?0+v01b7HxJ%7k$Ah zTMaFip^H{`p^KKq>Y|5gTWrS8CVi*7x@ZNkVOy-0J{rfiSlyXzaSQvj9oyooJ38v3 zACecVd)l@|bFaC}wpe`_w#BkozItVYrK6#HR{t+-i#?zv@tI>=JQjJM3oj~d@y>7G zws<4>?8>%y_usl_Tf7H7(bVsn4zw-aLLF<+l??Q|#&5~Ch~Bndy4`kk=gw@4PMHSE zIJ(`Xz~bn3KbCGA$F_Jm>9xRnFx%pad*a&`KSh^39NXfw)4HeIxowMn`s3(!o!J&M z=ubS|?sr~Gw@asv&UCw>Qu<9vI#w#65LuPfc|ZS<~hYFm7iHo9Y5e28)fvn~GOHA{zE z^pZsb51P-^$OAm3!yT#kN9Z22?rpa%{)W8W_FOHxDdqiOw#CcLb`m3(+4Z<=i`56! zgYtdhbNC)T=m1%L^;?##cI!Zu$XCr-lBaGR?J;;+@Qw$DZ(>`_0G3$W;`!hpRzGrV ziz$?kwJn}S`GeXPOOCW`i|AOf{#Dr+rNikALZh!oxbAyK*)IP79_fB#R5;e}DtqLB z2R?z%lOq5Afb($ZsX<~e2e26#!PCN8-=E6wUVK}@yg*HBiDB*a<6PQK^w3=;y~2x_ z(;rOd%u!BCcn(i})0l%zU>v_U(n}{`vuI#n%4GK4{yN2&CLKU==z?npnR}D#vzZ^> z7+;!9xmSh+YR(;FjH@LclyNdXqBPb6l&#{ImrWee>5u<1*K5>d@jkOZd!u_=@neGM z@z_ghg6M071Noub77pQuKM$Cqc_aD%Bz~g}ojV`@$_Qh8m2uZp`GB_gdW}Ag`N^sO zk$JZ-R2yd-_;5&HKA`vFtOT9u@`mMay#qLA(8lKJk53ie=G*XS|1NQNIGaaY0NT8R zHkZ)e652%;)+_2UP9i87ZP_v}B zal?f}%{|vOOTd4KJ>cGX>5HEv%}d|bvOih%&mi7G6LRz=_9fqnEE1p8p2hfGeKvME zPjesxp9AG0`0A9GhfgAaKf+Hu8|CMcUq@Zp^gV=4#BU58yXGGD$y1-f{%+$3*zt+Y zoz6K>?>;-ODY1dl@Q;QBC;b;*w2#!piEsmsj>NY(Kb_c7)VpMgu{xhU+A3ejKJik{ z)PzO`qD72{2_t@yx3Aq=A)8EBZHAJF38^}0v(RqSq!-bR-R6v#Hm@<;>|wSUq|IDc zo6pgv_FXCFn&K+n`>_=d%?NTnpu~=q2H$9J`w82uy!&SEulNeu3yvWEccFEUj>n{* zA@FW$0F1m6jU$(aZ2A?EH5woCTslD~wqDkt5w*c+O59x%3GF+R>Mn(fssAW zSbVQdt4&7e{uytKC^cryXi+*boUlhFMrM@msJM#%#q)LS+mxSr34V5T$>?KiwpSc` zvQfPidU+(65-vu5X7FA+Bs5TRA=?-netbk=MTGIpuTKd-mKvy;&;3}BoEDh#dT%58 zN~%%wx6_O{uZ}QQ3^kl7iu0d^EXhEY z%ZWWAS{)6oHZ#U1Phg`X4p;{pT{-raK%4%Q7)Fed|ztt*2r`75{hFzP0I2)7M&tuN59Sz}H&VnXmOke7X~k zv3#uqKI&-S8cCkp*P70Iti7vppfN6u{^p-!?ZdErt!0PeYpvo;h3bg4clG_JHTL5B z|AnvhdyJ>VaNk`P7BC_A3w3zUHqFIp2t^8Lj*$=2+$aakF#3oZ?Ic*t0cxV=ep|5f9@F z7HtZb@&Qlb*O?DE1l;mN6^GE-`Bwg7`GKp7&_|rHNN@K8KmHGEENmY|S$F)vpF@-Q zL=N2#%-Tci8fOpUb=%tQgz^K+kE{KI^0&N*UQk$T`GG6F()*?FweLYxnuj?<>$uRz zO%+u=iPe=OKQQ|jsY81ZH&MsWsADO4lD)PcxNHsIehYr!YS{`mp^rMY!Z?0lv&=@y zIJUy`fyc2GP6ckqRwzGk6>!z^yU^~>JEV2x2Y&bt;^b2%)(^b-&Iu1KMl16}J0<|AqWLTtDz@alSoVKk!Q6>&jO68v5-naB(<(;Jx#c%fIO2 z%)=WxPeI)afnl!namG#lVWY+QH{Y}tBa^&t8E!tRMK2sxi z@RSX4AN$j_=KAMxmLK@i1(qLJa$Pbv)|dKM_(--f>3`;0jkVr`=C_^tip%2pil3k! z(dtCnbNh;?1DEXn>XY)X;{9#j-TuytewAD!$Me~q z@^@R$a_xn@k@@kjc7J1iw$IrxMC@nm7zDUW#=L9y>!u24U!rh&4Dc_rzfrn$e8CjY zFW%RNDR$23$}c|6#BE}v@lIz_pXnE_*4{+! z7;n>)O})8xa6DbP+MhPu+?UwkYd>p})w`qK{8#v+HN!k}Vy!1KI-EHvi{}?^9d*P+ z#kJP?l!lY}*=JAWr;j~zl0*HXyYA@Cr`cttoBW7x4n=Q1RKM^wZ(4eDI(vehGbcK0 z;+#9lhiCKC+s~XF4Q$wh%kT}C<#Of(TXMDLjVqgmTl*ACV$Ylm!EVHT#`vErhFf}b z_Lh!%^A+U9>dC=g?RxS=VC%k~Jh**NqCdW#ob`q^7SfXs*)N=P@I8rz;7D<76z9f? zd9%lLC!Bd79Pz%|&yaM~-@e-1uD_)vp}#HjcF^CBf{#4N;YxV2EB$Q%dZ4MlHL3oN z`rH1$TKb!T{+2$_Izys4e{W9v8Ilaq1ZPO{gU|rBt$Oap%H<4+&W^}_`!Vx|>;|>W z|2KM!Rrqkrq`UnBJEP8-)b=I)2xArTg;zRxKOv7W4CcPF#tdxc$b$P$Z1=&I&{i(@ zjD_s;9cjRz^BtA66?;ZtSBCT~+1jo19-p!gNpecGEPIFUVr-x;*}kO@p|eD#XSsc{ z&w~d?&vN@@rDx^Zde#eDtjM zby9YHtgYd**X?z$OaB>%F0tOOU;2-93Fo}W>oy#*_^KDJLGv%r&PvL-b%<@xTfS9y zS|e$nQtk!2KIz@+ul%y#hF$S5(538(!jJgSIm4m%Z)#V}rf$Y}eP?#XV@9;w6(>;E zu`B8f$E1<*&v5L-{?M6S@qBDC_8E?{7`r0&t)Zr_lj(+6mM)A(%z6NY_!Rfs5 z@K=mo(Zp{jXE;(gH{hJ%_^Pp^el&nQw_ULx@3H!l&Tudu<{4d`?~=Zx@i`Q`VjX8V zR7WhY?|#i1d)aCK7k0%{p)J`HCHK78GIWMx(x~<`9M}D>f7=<3=i!lB`wYj$lo1UG z=0iEd@dS0qcK6IYvtL$!UADU#yT4jT35VUW-FfK)^86dy?&dP~&K|#bw!5;wbkBAd zMu#+YzZ~gE9d*A#>R8GgE%_$fT@ZTxmTY&X{`c9aE^T*anQfGD^opy1$I&bDrTg0Z z{M@#?AKU#onC+wMluA4jL`%yxG?{mEkt(qe3P zOIj?Q@;Hq%x`pJ9qsuzBJ3o2SDTkZS)W~;uN~d(ra7d>-n)>6}?w$n?hhw`-jf02o z*zP`|y?C~}kDCtPcK2SKZx7dY_c!3{%69i2y58a1?)pKC-8sXt92l0OPgXK+@y>#L zg)OGbGaS(D&!U#Tx#-UpZ9Hf`+5gAW-2bPTJCd;(mhJA^;*MuHo-xzo+vOw!Imrz%`U2afh4sD9|Y+Kd(c($tGtJa(nD`UH|Rjn}FON>mgVb{DI&+fQ{atAxZ zkq*9`GaTw)ckF?K_(pS0JbU06yFc#zi@#t_IMg#7N6zhdhU0-_4?M%+2fwlQL+1>~ zj+Q3Z84m8Tp=@VoIF2Ikkj`+d?Y^DvJDlH;zT>vjneRGF9Pm53XWRKqN5(V0bY=uPUB$e=Po;)(!Qyk?nl(Gdb*>BUSyYr4yz~fO&5CT0cVL1)lN4T zo0W7Ot@|83v@1K^C}2YmT|bYX>~yzkEV^N*yNNRsj-Bp``i^?&&&Z3_J8e6id3M;b z(+PhE*EI7rmog> zpq(y>I;5)^-=dwa);?={=dlOc>72Ym@?!0D%kkYfXC+F$ft{`ge%nK})4jF2U8m~I zPWN_0e4Xn2FD;#F19fy}r+b4u&1J8f&(z4PJY(&2&r`qVwOBjd|Ha_taP4$2vUeyJ zFWs@zmD9f4PPYKq9ew&Y!0hPLZadxGq<6O7d8E^UvcH(h9t|M~X#pQrK1PWK`)Ph_VX5<0+6w?5WRS9H5&r#p(W z8pqD;bUxa2+v!f!c-eL=(ctmCyXCQ7)`+(y*!MjDz-jvTmB{&hz4@%3+V`4EC5#+1KN)N4RUXkUGAPJyzeY8h~`PqX7=+%wm^B0zliqya`){)&3qS1daDCo7P*3)ydrPF}-)+Jf^bSL_|MF0e0q zVE|tTFA=Ytk%2LCaklma8qWiK-HzgD|*V6Y* z;O+Z7*U0*~tN(Zg!v z0_Z~ZsBYEu2JhS86McIgV_MI*x;Il}@n>+9?@d}KJP9|y=Kg{QxWiL+e8qcGe=dM# z)V~7m%_^atV)|8bUE1oAwCnWkHOk&W-W{C9(U~3Py+oSY_!ao8?PI(-2;6x=DrY&~ zEV=cj)#5kFYr!%eI4*5%T{Rni%cq{3fC>7jQGPDqmzxVbtX%`8ufWMKb^_a*t_>C`~li}k@G_q{c)#TeP-B8TN(Vu zLBn&w)(?0rS>g2v4$~1wy?_d|ue4u#stEn%5EG&X14b#`;Y4-44 zEwq}~lYPF>Jos$Bi?qG?maV#mMtq!K=u162n>=ByQG&(X`-$DNwW+7pP}RE6$6QCf zPiz`wsPQlEWFM<@Cp{+)OJGk~6Y`mJ3cCNbVH<0+W`3U<(Ru6z3@UyNK2_aU5h6c` zoI8TLGpTn1Kb_49VprAquG46{F7updBlmS@z^gjHqxe;7Gne)h>)bj2RmgsWeCj_7 zJFMx0&GUp47M~k!0uO~#IZs7j=kwhRzB!$~319L{C*UUuvbVDdzMDb0M`bsszqv|d zT`hX7N;kqi>%>_9On!GiGAXv*tMgX+}T1L0Z!3vb1?d=$=vBl+8N zQbSikNx7&!?Pw5WuNp%)*sl7CNj5H=`$PD4e2W&69 zU~=FQ9F|XXNaQQ*5Yn|;v0bo^tQPOa@~Ro%78yD@0Uiiunf*vZ{wCi-+dYhx8#w>+ ztj`!X&R|af_Y_8bN$b*EvzdRr&F2xKozFY#)YZfQTvrTEirHK8ENf%w zVQ+hrN`s^YdK;@u+V>`w2B_c=j=Ov>;#h;v?7vf9(14_6;HL;8Mn# zv!p4Ji~rM9@gQYa1J}*Il+p@sN~r;@1iThpd%US8T*m=d$UCHTC2&1w!*v62-HN={ z9I)wzkV2J=cf| z4*_UYcQ~S>NB8=Cqxbm|Mn`?#uooGPKE|9c9f-RPpuL8b*hApw#tDJw$KYuvW4;G@ zyb~VVm7{Y?DUosLNSU0K+{jtUAUtI5FM_{V4>U_>GX^}c=uh;a-q$i=H!#npjt%=; zSG9TvHCHlLkMPZl(&hQ4ytnq7B}I;fcN(}8;&HwUd0Qq3p7p>|HCDO+^KD=5oc0YJ zz1cTx^mB&Cv|YU162Zex z=+N>hafc~o8_1J=@o{hf53XH{^&-1SP6!rZd*;A=~tI|aT z=iQyO2X9VmfS-wpPk$35mqI7{W;fp&{P}tq16qBaH@$w&LoGAHL8JCelWx%4ld?Qv z(xbzVFrqpSZFoXw4nGpzBEh(L_|c>fLY|>Z4Ij+^-ywF?vB)ZK=*-sBjhfcUMor@h zM$JbVDHz3P`>EeKZ~tYEhxqNiBSpW`-m&D!B>a^{Uzulve>nL(XGt$B-Wun26 z{BMNL6z$X^OWd^M*S(tHYyZ%WdWi4|UQ9a2FN};x4;xqH-jZt=1JWK(D>aPa8$CtF zfIYrG_(@YDYpFNQ2z=cLY{qM!=y_$kx$1p99<@YOUuP2JD(dyd~<_`T?fZeB|}ukimr`K|Lr&nBKg{YA$3 zBH{_q##?4x#3@K1j)2-|@XdU9iUA#_`Q9n%*JCj-ywy_DH=KojAX;jo?gse1iFUGS zI|F)d-RZ3{2K?-p);->urY3LAo|`?<5hpa8v^NQwtbZjdS_RCSQv%RsGIZIPpB2sJ zd&NlD44Mq zh~CIpD|U!th?sO_)6GukX89D$);}#~ENVBlPCEsBFK0e;a2Cn{XW5*8p9szv(>%`h zIye*m)Y<$yAGk|^I|N)sz@9~VG4K@uuV4Q|bHpyJSpwZHam5hfyJ!ipnlVR!S2#1k zS)DDL=C|SOwuP#fd9w{?Ggxm6XTsf04$h#7V(J(FVrM)goZaNc*(JW3*2@`ZF|l=jXr!oAQlw!#x1 zZ$qwq>a97ReC8B%iWE~0e%#D_G8euoWbP{E_Zv_2qlKR6whClCa&XIH=C&ow0}J?- zc%m0oOU|T5eh)nL6nYcxOk5WM(DMs z7&ru{gTuQhy8t>9ymv#_qA|f+43CK~P5y+&C6~J5PdA-WXLJE{cL%h8H{X`PGbQkf z6JzI2XnsEQJRe$ajiJeBa?s(yuXGXhB>*f0?7a z^EQ3nIuo4Hm(8@1&$_R%z!O!Uui;zCAo@AA@#m61Ddv2neqBr1?#LkO=qQ71ou}z? z#_|%zF{Uqt^rg@o7w(zdmt&91ZRWVV95XKL2mb%{xLinIPG?+%C+V14w^hv9Q8AJJ z=`Plj)z7uQu!r*^q9H#qQg#$>HP=Eu(yTZs(v^=5D?Z9{)S)H{cIceDP(o?ET?$X|O}_(i*3)^B!fmqDg}FP(nIfY8(@&3Xq###3(y z{q}o;EvF-Fe>ezii*49O#K5+hJ~!I1jRBwBLC^uV2fKi6e*e(aJ8anc3pR9ued=Ec zwo+IB7Iaa^OMOFAZ?x<9x|%we3vL%2YdhBQt1jvoaU}N`*>&tt9n7<%%)U4{0?*LK zH3#5Gcy1rRsdgRjQ%8|EP@|Yx8o&9>*TvEY`-EyvF=69ujY)G>y%!&(-ZSia|JFsl zLF(Ot-D4wnsBQ6iM`xMu-qBBjPrdKqY2FzDADniiwKjbbo0D|HLDMXnmY(=s^4xJ) z`jfX4xr6RkR*U{-xYqqazHP|xgx3<|P5d?c7Hb_Yx?BXTis5Ii<&z>0@Ge`b^*$(a zKku>`IWQ&0!1UQA?J)Io!Boi^laI-J-&I#3b^WXDJvEZbT+`amns>O<+U(;8W_>9U z>9j4%L%$tvpxa`@eTTeP+rGEr(R@l7Hy++FzaJElzWkBChwh2l)f~kC^f&Spe^7ms zZCX#+$eg}?K=~jvz}nn|rN&j)JFdEFIVUV)h54U4>s)0{1sVS7n4Y9i+ua~`*CFK2#Y@xjZ~`C?Dw219M;6W@cmS94bD$+U@0{Ymn%rCYJS z0+SqjPlq-iGdM%ZobX6mVB!?odWAL5-_neUBkVSwqK;k6E#l>msQXH-=@w!S8Dk6_ zKESx4mbP~;^Mtdw(^q9=$Hy)f{k6Nlq1d)%%O4ZIXG~zlT_dtq{5sWw;m%>%EAIV8 zV9s*jcq$e6e}TlYue7I*7HwDH42>MEJ%y@a%*XWn?sC3jNlbjeltd9wO>N-KNT zouPZ2*}rhKKg2!|eA%AmX-65$(=IMbC_01n$eB&153Sc|?X!5q=+)O?PeVPvp{jYe zE%X_on&o^u+?P<0LrnJ*N$0MS(noq@Z%7D%lO6?G^yhl`(&!zkQ9tTuG7oeWn~}cM zGiI$b!Rsa1uh{?6%AM-1SMj^tip|(qVEUz|PRGyhr~MLa8k2#&6n|9x&pX;IuAd4m zz<U}F6{n>X*mFeeN0)DgS`OH{)JF)A`MmC6detYu{ zGj4;%Ux*2YFQ)BK(e=W2{>QI?=jXQ%+r;~GWaLjxD2?UUB-Id z<;b!Cv^D%f+A3x^xi8mDK~)L)fVlRYnOajs|$-Wroe zyqG@7U-Yzm(%H9AV8Wi^g1z?i@V0rK_x~mI_P3iY8U168J+S9u18m3#-_P=d2Ry*u z@T`ID(lgov{0+|;HPhjVCcV?Q!Sw60dA^}1au4r>dC5a36s8RQej;b!Nb?tZhBmxw z)UbcL+L$+ZX#FOm#vyfC-wHhL$&XLv}yy{{!q>t;ghK6Q*6gakY4{>pyt!} zjlYTquV+t2{nNy-0;lzlu|9r+-v*@@hp3cinz zHH1FA%A4G`{PoPz;M`MJ&t|X4WM5*ziTE!9zQn%B--0LMk(MT3xXPT{QX{Q}&}|96 zkf*Hpk@J1nIH`95ezFXncb*!UxE$GQtY3*QO`?jxSo zvdmTY&D1^Dh<->u^JbYDBQtbH*oj9e+ppS~Po0l5Z$8F2J#tE5;;Xdx3T^z2HZHT< z*hC$j^=}ONWeA+iT{p3`iszNS!F>(MTVzr{@Rmy(wWRxBO)J%%XIcE8W*8<;b9I*- zW6=06w%`p~OL+S>Xxtc6)ltvbsh)bq3tBVBqMk7=`WzWby$y_Y<0kt%XvHjp-+wak zWOc{=m{0NjPq%pO)IP|ne?q&+E$TG&)T4d~T|>{3yARJmM&avHEQ#G$Wg&;o;U2nd zJ1F0-Aa$Y8sjB3C=Rf6(5}eA*H32XC_0 z5?{IG;T_cTrR%+j_wDw(t1b4}S-jqJDWA*^`=BTd==Qc`H@Z?{YK4T>BCZm2IR_(faw zi=iv#{xtNRCG16c3fX`S{D$vk7}GXGn@#9*x#(#jeueCFXq>QQ2=jDvJx}Ouw2{tT z!Tqu~)U)q|aU3`t{mVfAGW^E4T;!?du159%7BL3|k>gq5NxFFvcp}cnv@CGPzVOjS z;H-hRW_yhbjCr?j$Qx+<@L0nr%|@?k0FG?(*?Cn4oT)E)vvOA#&+@O<{?l~!#2DyKtaA#2>?IA&N?-kV#?!Czn zgWCSSkKgx?dEB|@p7nj+=e?hElB|hK25hcRX>I(P@6qnHcf8gFxS_T8Z25n%_CoI3 zTMJ$z+u5}+#yeAZ6#UI!3%7#DQyF&?PqiZ+l?M!iz-M+{MHSYFD0Oo@DU_n)eYjZVPa%p#A{;TMSoxifd^@vb)2=m3|{nRFmGVvOOt9<&lHng zQReZayNI_EKeFp2WGb*}&FJjn8^fKn$2Tr|{EP6U;m&ip-8|`~_q0}qJJTtvKK&G1 z21*k28S9gFMT@+e&czyTEYX zhB3A4NxM9hHSi%|=m5iS^S<1K1`5Wt@Sl+6mG#l4&A`8avMJ_8>qD~oX68veW%CB{ zn5==Cy9(~m6)v^@fpq3{%d5~A^3Q}%wSp73nmz+JgCpm0*OSgHc4_NyXE6QsdBlSL z@FLbjCXe{;h287n<1&{={ArGFZyN4=vf_O!TWif{QLp%b*1gtS!Q9yD;<*va540}7 z%9<`94}HgH8s9jc-{`r^R?|;-U$A1%Ev~Mx%A@_QUH!~)Hq*|V-uvr3eO_SsfG3Yj zPL~{>8Mh?4p62i5a8aa@LJ( z3gvD*$I3`otla3tEMhoj6VGua@f=qZ$DzCr62~EZfAjG8w9I&pBQ1`EonKMs7v||6 zUD*k*6AzOu-REN)cDZ~k2_GYFZA0D{=407bz7L{@Sw6;iUHLuioC0t3`Pk#1!N-m{ z5FcY*W%9AzH(NfoKyY#8McHnT>*8Z=+q5>hM;w^+#>Y6K^%(sQ=4dgwCu2$F>4IxFh#ORXWngEmRS>{u1J5MDbeX?>mH*#|@`;hAHh{nLJo ztiGAP#s?YVWtvaRg4b&On>gq4^KSK>*`z*}zD+*YnNsreR&W|os zoe|1eo;J5^ulg0ATlmZ?@H@lz0?Y5PVa$zr-y+X^=<__jo4KWXC6B6{nOpEo^3rH$ zeLwgf&z^km2N!tjygj`tz&h7nvCrdW@MvPl%-E+ho~4ZcN#4H*Z@X;%u>86F&W9d< zCU1k@^}^fWWyc+mx4k0X2JN)G?YGd&XS;dZ`95!Z7T)&T1Ms$&yLp@Rt4!WD*yC*< z!rK~x(S1IDYy9J+TESX8&gXCFT+c}7>dD^*9e}_6%=ypx+fciPhC7QXEB^Lf@i*j2 zSD%BweIHsjhxh}&|F`_D^Y1PXt)`Ck%&&C@ZGl^Z6)95@wQ)jWu*i8eH=#}Iwt^~yJg2b^Vn$g-cjhg(6Y`l z;&w`~`MI_x?g%=>bRI(f(jc_(5MuY{MIWPFB4<-up8sF=xb)OO3%u=wZFy#&^d)O+ z4=ctpFjn@dX6Q_c7}}-CWR@pFC#N9C$9QsfT@f+XiHXDrOJnRl^a&d0oS{ob1p1gF^)HDGpgxqcC(PROz4lj=U%Y+{eNfxC zMkgh>yW_RYK9ontCvG1Zee5TZ=*@SW9i2Q2Kjvc*diO5;$?Rd8(;i!+QLcsr0W~-K>5vEb2?OqUv4R|Ot$I%_h{#lZ_U|j zierZ*UTdrGABi1Sz`UBk+@A}-d>DV;90uv{-Q-7hpQborl}q`44i7FrU@WrLXl?`- z?HlL~E|1Zt2L~Z1GuMv{i{8wgCX-(TmtR01{KGJFGxwTI-nvz^B-{DE;6q>4rn?rh zovTUHTKmd%zKogeeA`Q#oRJpu(uy+DuJF>1%Sij0mo}C(#kBit;nOmrA)Y_r7;H`G zkwub4hQqhRgIHr(#H2H>J?Ib}^P*3FR8#uo8=P-fMx3F$&noE5V4W@@2EF>8dlx<3 z!kvVQePh3<{GdN&4d|})6|AlJz>Z0K7@y+S!^Evm3FX;+r>)fG+8Bb)bn2?4t}^Oc zPF=|%te;?bLyER#BRZHfEz`l_?Mv~kAVW{vwVv2&Vs#})iT{>F!-<;T#i#x9`ayNY z%$2n%n6D&m=N*3SB$o#gzq?WA)}dBrn=|G;8=%^)(bGrXtI3qR)%S zAMn~LFk=$eWz_kYSLgkt#lX=r@*DPrmNGWv(>uq{jdeW5S)f4^-B>ucj4=k=WB9h} zp=CRPXNa~1mxaXb$4JW(Oo^W?MQ^ZoY=Sd01&>eC6I8!Jub17+UtgK~Xfk8ADPhhPkLu2C9&=m2XiC@I z<}tS;yt&P9Um;s-R>!1HZ*F(&OE)eF4R4RI9>=qu6_Zs)TiOqiS>Msr7YPxM%-%$Q zer3B%(HG6N_8m8$7@Zsqm?GBa#&wLt|0Z5%{*|62TxiCoH~{z!C(m?nKxe*apTbj} z>Be{XAK#sxsQqG{_;57OIxoOob2-j9=1Xg?^jd$-KwL1L<~RlPy_hsavXfm0bW z{!HvYC7$o^yV#Z_`%C|sDV+@;V9d}4`Qv@#O_IrDS;#o}|KixT;|Gz3d>`vi8vehO z(gw$ys__5Ctp6`K7W{Mlf5G5+SN1g*XW{#M-UQFP71{n>>XW|xV^6+sC6+_}zq*5h zwPk~XwQ>A^!VUTVN|5Wdmp0(}{{qPL2LGSr`edlzSnao#{||ZH`u`g6{}me7|5q8z zswkTsvHrhuY+>^MMY7_+qfdp#a}Bg3(m&p$afm*MH~9F@yjVV>IFnbHPr+4Z8VN?S z3zc-Hi?ml?{Cf8zgYoH|BiC1ln&7nN{riylraDF&~y~u4L_7!vA9rgnGzHU%jWwbL5EM$+$0T%elo6^ANl7WJWVpxeM zq2B?)od4S{HTyKy?*N+{fPr+;*g(dQyzne>Iw|fSjG&9};x4)*xYG)qUq=0+6V18A z<+JxZz&Q`n8T`2X6tQ(N>RPJ13uCPBep)Me&ZV>~omcxp1GE`o9JO2{TDekxeVrxm46!QhQUHFo(Ta-1>r zL2YU5$1vv9P1pr^*IZ)}m{9^;z&rdt@kQWqd$Fln^vNIH^DlOB{)OTDm#L#Co&=!x z^{i>ZQ1BD{1v|m8fHQStv>`h?aN8iiq1iiip_w0892)}8!6S|(Es_eH9R>77{ZTyu=x8b9^xx&L zQ$OLGGlJB=j`|zuqvYaZ>W@;t-^ZS~B0OyH`YG5pLf8Cp$9Pw4St+q)!Y9E^X*byU zVmyKc^SJh5&W7>I+WgQ&!Q0PI`>R%dllT_$ToW?;mhzn4&+KD;)<&=ip<{K*zEVtj zf1axIVxDo$8UKYF#mukhK%De)@Uj#*0sD)~GVag&;BT&6RF|7q_W^ok!2$61@ojFt zJIPn#wKtJxfPFt|OZ4(P&>brq2IBV=Uy}N_@Z*Q%5gar|jcqCGU`6n%pKFhyD?8*l zw*U*#fXuz)F?d#r^|AOL*b>X#bq0)Cd)e*&w>o`;rhQN4p;OJhh zO&uk8)3=`en&GwI%5&{|=|;&U>aTEO9KVaa?ke(WW@DVa|B!D+S*R;9;tFJ27Kzj4jC8PR;?3fLj6lk6oD?ghhY=$LUC2Buy#YVkf!4{(lDny^IVZ1f1Gu2}*X~WPGQdT+7T}rWDL4zpg6$a6 z0)i{gTcKCb!^BU3%dNZ%<^}k`XR^lHSUZ}xCj}?IEn}as=)*5~7mxPuijaR_y1)GU znflB>&cbf6-i@^qj;ibu%1S<)b4^|y_`TBN_jK?f1HbKhV@#_*)OyQy?y+TtISagg z#Oa65cTm|5p2fS|@k(D(n)dc)KGpX*lo1?kd(`auHQDmEwPOLCiHq5O672{r`9 z2zIg_BFN$6;RS8r=SkqiEZ~*RJGPW_Z<26MU` zJ*kv$V{Cd>`=iKf;-9a;3v@2$v&g8;9-Y3Few8x+Dd=$lye0w-m5dbe_Vejmj5?*G zECn}X@CC`a4e-&*;IMY_hAMc0+O1|KMaOy@1oz5tKB|lJ7cM{jJjGq{uuT89NinZV<~$O^-X<_(@u3p zpX0XABihw3^?5yc)Ti-wO@*A3SSRJcb`EW7Y+47);F~@SqFLJe$^96gf|YysvtSd2 zFAF{;;JNA$UsfCIzy;v4YASRaUw8Z2%!$_KFR-U7pJ=9NcobcBDQ)^=h|p#sZLa&& zSi9Sdcx@KY=BQBEwz-KmUuS%oI*R)Bmj^W;u8yL9T~EE5t5>ebt@|}|^9Jzx6Z?ZS zN0Ob6IrQ^&+aEE8&(v+PW%j1qE~T7g)+qE+dTq0(fN&=d#_=gMzW%7%00c;{bu#veRo;C zH@e0jlU-BjW4-CVx?4iJ??XI&-M5vyJfsUt_Z5D+v?|9r7hDj{Jp8-v-0KWD-zLbR za)~f>XnJ3>s>rzKQOtnnj?0_0RAkWgwA%*{)lu9=k|K%R!MHrc>P#a$u1qxW#M>Wuvs-6pTgJSwI}oZGq$=b zcwRBYteVgBuY8a56yJ{lBLgqU!#?_JV6>aQPDE$jB%71y3Qvs-8La+#Yg)cAlC8-6Op9^4vQ7{f*6hmwoYlzBQ9)o6VE!yu2mru6UzmYGSzQxJAki2h@Cr;i?Jk{qHy}YxLWnU$496QQFbf^u=huz{uTjxmU zS@MnN?2x_G>En?4w$^?RJNH(&_A-@u#!Fj3T7>$>Q{S&ii}0<{ejDzr@Y(Auly=6{S?x%b+!E8 zSgS{D_|Mns2+I8bwpQ0?wN&D_ldd6qmUIuTRp}x`(yjDqmDaJZd+7X~wuPoi^5$Lq z2JlPfAu~fSIj=8~I!|`20&B05UqUxH z_|tSaIo74a#G6_9?e(!P9bS5rS+$%p$)j{8&@ktz6QfNp(U&;wn@AKH5WgHWT&e!wXbKqji1?kR(x7Gxz*Cr2fTiVX=Bdd?AkfV zN3mrlk;ofdw-cSQ^hC2#vQUBfa-wx=R$|V{_&u-(Xb#0QCll=y7#VGv5^?t%?Rt4% zy`?)EJ8_c8Uo8f`Lh^kv# zoNM2O_6EB!pugbTmTS9V5b=G{9t_5u8K1WCUBMvRxdIrJQa&QvFuZjfIztj1%z-C< z1Nh}43kVN88GnD`?4qO@>S=_xKQMZV)!VgZ%*zu!o9{5Ex;q(Q@W_mb1KTfUC9!2;FllQ>I|3W9^?ppHqz zK4zR}mEA7+p^7q7C?omd3eLuotz<2HdDn|BO{%lZa7MJH=)%ln&7@NVUU!`L5BJlm|( z@pGSqpL?$B=f2*;J?!kGz88W=944F)EP~)k#M*m;?fBbgM5&*%PO(|%Rt&<<>h~`- ztP9`4P4GSbmBiKVT(4BS?p$}{`>ZqK(=Me=blnBYFTcS%wEaA`FX2&mSGrNLM}lJz zyM$;|9RA($UG$?Auv>$UptF)S zhti3KJK!d^o8j!yF^R8a^w(XVoZ*$RK99CA8t$y3pZnr{4gWJgWp%%`3+HYU2WCqz?I#>hRd$$L^FIyoo zj-BVf5C4bnCr^R@BL{TzfB9>&ojnckf4*7%&pZo;va8)(h`fpI$AwLvlP2F1e9uO7 ze;z&<;uKWpM>WAjdb+WD4!i3fVe3w2)V+ z^wK;3?*(vg(EfaWN+_p2j?A;%$_61zFR#yY`TSJ;Mk)3zJgRcJ;`JjeuYZ-kn9(k; zz8YF<@|Yu!w`=@y__O8t89Y7;Pch|gnfKAz%_R7(_&fOxHd*EGO*UvCW@Be4=+O?= z0lfXVjCJ7Bj*N8xZy)KcgNM{l+6hzt_3(Aki^Vz6iyGpWPIPIZr5DVR=tT(orSMSn zVk+^xKE05?B>mDpJAYwlXllI6*JJp>#Mi47Gs!sSbos@??Mty&sIE^&ckAB1egWPk z4U)LuWTMEFTKHPb#^zbI(B!%stQ{^@5dP7O}J^+}>cnJzXR}%l+QGNdD=jy#Z$_>tika>ul0P z(B4vL@9saaCg1C(z5f`LS6BX?OM8XqqQ7U5U-b7)o;ySP)89k}EPKjRo1wqAc(CjT zEDxf*U|`oga1ac9+F1bo)p{2U+_bRk-zg6yMtb9a`Kr9SuJYhpX8DL{FMT_dyoyb6 zXaz|Avmv0+0S1I{G!0 z%b=q_qA&k1>FD3C>835c(T11)>e80!>Sqr+dQSF%>FBS*-Lzpldo42Q=o2sgzoDbc zGRE3-?TU`x?TvL9W9^NO-jh+jH&|7A<@-}!bhL)K_UY&+;RDmrD>GpAa0aZZz5pFP z^zR3zqX+Tr^XTa1^wFoIXLo^&l&{uqWs{;J?{+`&-J{^;+ z&%JMauDmbv+)2M0cz#j;1p5fAf8u`TQvQj{J^us;F}VH-VAkcI0Iv+X zq5Kn^qh$RPPvdvl#Qey9`5(0JBaU5sA-0$mwvLg`Qt!L`4uX?x z>9Wr+x8L)f`@Qe7%dg|R?CP@1FSg%DI0^5&?D4Dl9^w0VzAv=jIp5p+E@W@;^LC`Tf=gXAbn{S4h_cyJG8wqgLm{x3-Hle>k?qR?^~yCNUE|BZ^I^ z6dW+@x151&pQNR+ zcN9V|8g&Mq@L0Hc`wvAobDWOvZsF;j7cSq3{A)EqtGBpk({r}$DARc|b+(RD{0R0Y zXoKdqA?U`GCGnA^jyrHnnLn1)RMWKm>$!CS#(>?Mm`>IfeNVDaW)x$}rT?QCk9?WO zXN=*K^=-zn+uV)rwOrsX+z(#9S?uUC)y za;w*uB>8rG-__?^Yg~4aqn8t$Mq9>;Chi)zJCU;ALq64Ds5!qy6RD1 zUiA9%W!^J!eZ5W3aYkjNYYh3k`?x+#bzJJ=dJg~B@V_UnA3}O>xW2;Hj~~7KvvGZ; z&QSp$KZ~wE!5aIbxZb|F8`qoG^^WU9JY28#`uKUc{v37sxc)M{;=jdp(Ty)c*ME~S zhC3L;|5v)cka7MuxPF_3kBjTC-tOZ11e=!QBje9r>)ge=aDANK!S$cm_s_=l z?~%vH^&5d}CSAYTD}O%t*!Q4w$loIUWjb*o zZj8`y=X&B}&|en#HfzN>HzUWpK0eoGJpj5FMV6Os&)RB`EuY199%Cg9sZ%lH$Vl|`a8at3jlE@>QkSWT!FE8fF z6frL@QGMH?zD+kxE9sZ*6Y@yV>rYT}5Hghfu&zjdA*k*4h&-(4wR=YrU+B)tD#P zbmh%;7I@zzFW<%g311Vh2s?N3|3v<0)_WUizKkS0g1e@(ol4RbYo&MTv=&dOZ>Kkw z8%dKcpn7w?KAp{2BtLPNPuIS5#r23zDrR1K{Rr&vsvY((Jm+WB)e}#*^G)q0ymmk2U3e;7QJ-sVy6}|v zK<`^7KBh?1d7hHH-r@i4m$* z=Fp!cdTtl}1-Fw&P&YLBfH=t9?pe=1PUb{9=C$;-6}(P@$E~8@jOT##7nt}sSZ2rQ z;^5=Ax;Qx0riGpFF*mAzuzk;UuI61hc#wS$B(AjY`{SU$x7*@hD3JK3%@cM`$iTnL zym~rje;WTT=9}8w&Nt!E`MhW1U%O3r@$XFUTPFS$ljh^!SNOjbdx`M>6#lpIzbF1p zAiX#IYq9NQJ0XjIee7P?FLIt$i1?;TVpPu0=dM?9ju?yu?5}4ZMSR)?#Ki1s3)(%e z(G!VpBHnAy=ukrYeYB^@=8a${xfHuf7<%+_k&Q)rHfTDZC5HOO65?gRyZ!I)!$vaQ zbZ-CI`}J%2);gWov9)dWbI*j|Q%?IoWy8$H_x*H^WEaH|i!T}p%{Ynqi}3y+Fo^Qho|pjV zQ4|a|6Gjc>%#v*A4(X|LiSZ`pMQhnuzcYJ^i7!~j+;o(OxEmChf1mX^hxJJeT5mR> z)c5K49Q^;pv_<+s1Bk&W=!FkOn7OTNI8Xb-{#nn&N z1hQgN;lq2Np8=-|JM78g;mEg!b6*aJR%=~_;>fM^Jx0F^hq(5>Pt%pGJFrDgAa-MH z8GBI{QGXeGLxfussdMURljwLhw=S9oOt5W7^XMP#e+?W|tkw+s9Og{p`KHeIu>H$% z-oQ2~eEq8Zp5xRJr*;niW5lc>$5(u?)xD?nK(UPboxjRi$fDa191`t(;DdCdz|GLU2$YbB|;17Nq~U3~E5Qy%G(Eg;ljC^Ph_K^Vl0*!OYL9*Wy|E2w;)Tusn>rz2y z8F-7Yqfz5cDsB{dE1VY0G`_XyQpeK<+-Ra`RU934r`PwM@{;rp@>O`4MxSr)*l-8BAI% z;Ey%inEhIq%u>n0@ z@Qexez)t_0I8(yH2--rd+5~@m@3Jorx;SGYJ~Z_|mwLpb+o&td`V&1~H$Asbw73Nx+XgSxoZibATEUAFXmKlk#@{hltgo?K zc_!(%_LL`qr^Y+Y8?WSYjaP8SZ$du<&K&Sge58qfHk*!#_fvK_zCD86?0AI(8n=&A zKYnmez2K%kRH!YFraVo2n)cG@UG>QqDSh3iGYk2@gKwqak?xRTkL#*dFK?8*vK?tJ zuwS2I-TbnuSLg1i9~ban`%v|teG+-9L*?OJU3u#HFT54bHt=8mP(A(nCh&jl*6y}W z;9WQ^Joj<>OQgBPbLruA-(v3(`C2`^Z3S1_Zf{CI$g;KFFh5eJ9| zP<}riAVj`G`X)d8^2~Sue8rZBfJ?G16;NlC^P2?Y0CSm1BXzf?f6uUD3{+>ejRy$Y zcmVZ9@c?Dejv(;>ict{X$_C~xu5-SK#dS9x;J!7Vjt4NbX?^vS)4J6Af%>qk$h;tzGF7I*Y(RTSt3|1pi*o)`5q`kfGA~fu;iV3w!?U z5<^_*sEQ<1HM!Vy>Yjx2ry_&Ww^J3*z1%c0Pp@g8QfDZXken|5B{@EV+%Up~67i`c ztS%ChyoKIiplkkKq@2^Ec2C7%@@tPp12UlQ%N}oOl)Jy;^?Nz@KspC&_OHy*j&j9& zjIcCf2Ru%5s6G3?S_6MErbs$QC2~g`9;k0CNN?!R9i*g3`6NptMB!&%zZQN;?YVZuUu5*_Y4vNN_OBCLaJ*S{18|%~%yG=p z^}GyQaGt%t{C4`(JYs)auwai4)}9>U?^SZk0snTF# z)j16h&>z2_JFI*q+ke=(HKU(DrJw45f;7p*ck3H_MUub)-f*bq6TV%sl(ROI=#V>^ z+qC9*eaM~*ldK6P>X={6cZ@!0K6A7Vy*bU3yucX{(DsUPI){nzueRqu467Z%w|9f? zxk*vr)O|0yd#?WF^re_|&2t(3+zULv!P?|pw$3@g=7-!b8V`$ajL3lJ2;f<_=tSUR zCUs2O;p=GF)&;2FVIQ%XOkc;!x>q&XbnES+dpjiFowc`C$MN=L94hC6}H5mSf$e&KqDbdcaXuq( z`YP$F%Z`(D;rnLReXx1vYOVj8=Vq?1tG!!Cf*<~Q z?a4~hxdi^P1b*S;xZ!LN&MNKvHT6^m^Xyul&U#V*Z#qo$IL}%04096}J6uL6N zYSNky>6jG9c9X0V4re>>@HF)OuRKqN_Q`iKeRI0;82)QbYAwo_@h9GezXAHW!|SJP z2|I2wok?WHJ@b%v=xa||F*yf3xQX%B@cqZ+4HKiWB-$C1%(a-h7)Jx+;5;simks00 zs_FbRKR>0v4dXP1eAZ&NGljEUB$r&mcQeRXxIQbGaz0)rJj~H9uWKguEp21q>KENi zT~FD11^mFl4RgWSVbTjeuH1B!iQh9SWZKUeBRtG=j-!vV>BEaxKx=1+ z#xz_#e)VOArg6?tVo!qMTJa0vG~ZY0S$>|*OvtN!jJPP#nEz$}OFg{i1I-<4^^zjbBgy|f{EpX7X%@nIK-mJT(m#sRPB&a{=08#vQs7qmg;^dxd+TG|ZK;@57u=7UBo?`k<%k=_GCGg~HJ=Fwb>{k}jD>XHGuFc>Q$2e=lt= z;+fg+)VbJD>38=z0{PCX^xHp2AVvK#`u#3X^;3R=*D0fO1SB(kAzMwzwbiI!?}KO3 zJyhpQw$5zl=Zsyjd7k(0*|Frh`ULq4K1??bq|bu;8t>jAxkjnj1BVd+~8< zPPM-@d+wao#jK~gVEDWO?9CBmfo9fxF}g&RF^vJw)(|mM-c%nL$5?zQ)B1jEP#xz< z!N-a3w5)${aW%RHXOwP#0lMeQ@H)4XdaRx0-gtnsG;`W@*JcczTyjSV zYqaDd_%L)J!d}$qUYB-H;jGhA(ND(uhbum)FXJvD-Em(DPo0TuUWvX{Ig}s#^8-!Q zE9PV44b30a_jdkhdTLh7*79It^YUOqx`uyVn)DBA17k0u&ML6_C-#(G;E(nt>KxBV zHgTTuXo5x~Vfyd$@$(g~5 z2JG{|`nu>yU<98IFdv5d$(qAN9HW13L)ME<+gGnN$(PO8(j`-;u#c2-mn6DHlVBV# zKt`gxY+j_RGM{S1s7ny?^9tarf+r*|HF&Y-&7xcQanCTp2;TDK#dYiX|- zzPA=!nri!yH`Z-8>kb9YfTjJ{oIH4)j!4eO3ty4G4`dBiJ&dWMXMU<2Xtbrk1tEPBexYj zQ8*JD>ef|7f7NaQ-#&|f_;JtRdzZa*I`mn#qxeVZiOYEkXM!HioGpBT7EA<36g$)j zzVyVE8Q{v2U_NI{FJAO0G|b?OstM+As5HadUlv?B2f7lu{5<<*I9YfWnIbQa*(FWy%_gZZz+ zcB=fsu{!8MPybc}=V1!J`u;hsJH9Pml>Sp^KeDE=FRwk<{43bU#my_v9%S#N)wieN zGpbYd6~s8ZCkW1gtBsfKtKU>;eia~3%;Im@dG}}g>^Zf<<-gL``^f9#UFiqu85*y~ zR>s(t^1p!pq7}Q~5&BkztSmfAe#l)+e0zuVhmf_F1G5I`%ER!$EY3r})r9VR5PH3S z?yQa}=zmG*z*Ok}k2x3p`MFnhRGPl+RrIM3Jl=k1&v7~U41OV(_2G=j5zav1w&N=3 zLq)VxZAd>^O8rk!Z_(U29jjO~Wx?pi0?t{V0zE0fKUi0S%(R;Mf?tTnG=u+!GFl_c zSU)T1uVAG$9R)6#K9e}-325#femh++n_@X@EXF*PqMsI;5a(rZF5J#rHl4orbj}pb zYOkifQNv2wXM>lO5wra$o`&HCo$UjHTY};KF_tn2jU_` zt6I+*WcST9g9{qNBz|Wyze&arXY7Ca_m4J}vvx{n-_()957P|XxKjtX5qo6UT>yED zelrK^r*z_(BhB`0*yXF>!`IKA)FD_11~G6(Hem6GCBW15VTZ?7@lF2qrOc1!G>H85 zAh3_mE$xV6cOA{#*UT;NkUgLj+OK)Bb4q@Hj;2zdbm=PkAEU23FEpKdq2<}iOPd9> zp}NbFmDCPrhvw<2`7PqV=6EyfZh01dZ1Nk{%kR&3?{5xJX8@Qmnb^`fpQ?Uez3@Lu zzDdx5TPWW(R`B^<^wu};i7&d5`q!#1_`;LaHIIA^)KPknNwi8DkY-G3qv+T+ z^r;2pR~uS~w_VP>0eg*WDSa>+*L2hQJmY%vqsn_Uw#}-axm-m3|HJ=Qa8!Ou$-fc! zMv3Jc!S)!qk(wGz?0d_Nt$E@ySAP*sC%rQtd>&)KFP#zbZ}KYkBYY0JuG%-29t$c2Ud>H96tw58OaGS~q&x+j zdEKBGh7-+XbWQHB<*vyrbknqeGab6laSyq% zN1D&C&g(mp_1fBg>Hcl`V^DtioTX2z@0sJ&*miDo z$M$cY`X2P!O`j?FaP~vSSU)q+)B zhsHNP%-T}l{&d27*u~H>fPV?_F9H6`ZZ{p$?arf(`a;*gceeT&Y@Q6goM6~Hb|2-l z`x}e<0sL6S=MXaxKf=ymfOXRh&We}64leq7P3HNE8ms&!@4l9<7ha@_%*yfj>fY|c zkv!)KJH{Mmg?*yqdt+T~VH0-h7_)Fh^Q)(5iT{)zM!JynAi+Yqk>;egI|`+18e)B7 zCz~S04M)Ix;cF*8({BTha@N8xkTp2Z)7i?IADl&1@jUmke6&22*g(3{p65OmSAPm6 zq&LO!CqE4B+KIfH33#A7b5@Eo6aqZSyM|)=fg*sRg$Y44oAMM2dD3jcJ9XZ zB3p&*zp-Pny92*G`mz*ylPU!E(8)i+JJ&+D_w+R_tH_sU^6vZ?J{p-l4<3dOH;4Ex z@U7L8K_nOXGL8MNSSE0?0bVK_f%J}2#ypjKW&&3XsuPb>+S`}Ach)rUe&{!KPss>J z-_?FI?W+B^=*O0zx%0Q2WuH|suOo}|_Zy%oW?qc@W3aEnr(?ijFE()brt*-vL&#Q& z=X!=%q&Tuph_p)N=u-GX0d2Kn!`yr+aDo@D`*mCWmg(>zcutJFXZ9e28POHS7MNEG z-O6eYAj4JBk5d_c)l`!>>DRe+Rn%KmME&_zHfV`Mzar>d;vwpf$8++|h7 zI%W+ujrsiFgIzSv+yzX2?J(glF?#Vd&;WhI#3%p&zfBEWed(i@xOVrnK73CGx;AO{XG6x^50-HFXO*!7tMCw z|Gw#buflY0yUKL_y&N2z$+`vpZOlhI@Qh90SKkf{-~T@NMZe#x051oK4(8WxLnruq zIe3A*Lu>|R(9!rdmfrw=+xi>sR5zWs@tei3W}xXD$?qg%q>FzFFJtYl-u394>3WNw z?XGQj?it{BFL;`IpMChO%`|7^R`b7x{*}(XsiO+n`yyy#DLkM5jRqb)llhdKA4gu0 zP4B6Lgg1FkX^Bb9e%iI~x6&u^h)9NJKx{T1Avq}`9{qv9EKZ~61!=DWz@T7!LGPZvoSo=;xES!c-o3|sCVWZT88_miNJ z0p63?baTG8uU@n$FcAF4x2^LM3ZReq*fBKEN$6{#F}2t(I;U`F&_8IaoO(5fcT=xy z#CzM)jYa%VZc9(n{O@7@wRYYhui?3txmibDqAdl++$mWtiVlMO$yvrO&6X}Ac?|nn z7tOZcfxAz$U3*X1>Y}sH-&enOP6NpNnqq^MNVchnC{Z>|xNz zQ#B_;Mc;^!TlgfovkH18xl?*k8MGr#zk-Z+8F1G)4dWCZuH{<^--zwl7=;gs&x-dd?R(I; z(ew$JS^X*m?kFF3EZMxR@B`&h{^8`iigvZej-U^Ieafrv%BOSP8sMeE_b9T=c9@+)VO9&k`wg zyCr=4cpvetq`yV_I`r*Q)}&;g%(WVmPKJ!~GuqNP&c4LoBQnA{s=(+Km7em<5s=_ct85$0NZ%F^eNkMC*dt)ZSYG&l(@ z-cb`wbd*aL1@G1e67oN^Ek|ejh_Nj!o}A2r?@W@-*_A7oX&y)yZbGZ9-FZj9B_mY+ zW^^v#F}6!CRV=2?R+z`xs8d7MzG(W!H~tO%(ZU5Cj5XLf=OAqTL-|3=-sD?P9W00r zR>m5Nk*AFHw}UaSXMWVL5sXE)Y{l0+&0OsP2V|4{_;cC!C&tZC_~(k=C0I)wbn@HFf{ zBOJwNY3?-N`#A4Q_^RSjv17w*!R6eovnK8YAB;^v9HAV!ur;#3J| z*HWKi-c^18HhSquk{gcWOy<{FgKb9>TRhTCkHIf>Cy$l8kxe_ek8(d;%ZU3`U8-C4 z?ljz^vdkoE0)y)sSZ}KP#I|&Oih8A^WZs#zmU{mcG3_uI~{u$03*+l<> z_#SrFXbrpZWhKaI)&FzYYMs$`$TjX9sUFqYRX=?{(XYGV({-m<2eQGiFUOPNhBHUm zPC09>?L5=e`CYf(@zkMs>&$uZW3N?SdZ(TNU^oRBaz^b8L!ANfFZ_vBoSmD4-jW*4 zc?7Sg>ubsXbH-$C@!mX?vSw6=;@RspACxzgN9NgHwF4Wrm#+YRr+oH1Yr%fUHn)Ou z1(Du;#*d?8sO^rA;Va~;^y=4MDB*{2Jrh4tHs&$xY?$7S^Z%}OV-21sO+3Rdw;#_? zd_L_AWQ?j?@}K6p%`5xsjQZa3(w-zOy}rj9VxDt}L))jlb50IhVG2=ge`}M>BXO7?phE4D!49`qH(m#pCdou(ky=+3_X2 zXe^6q?^F2Y^{<>cjp17k;9D;B?!OUj{VsPNB|}+Giau8}uYUmELDqz9t_Q>e-I)b_ zzmfdHJv)!UO!L3rJc{>I@BN#+b(Jx1*Lw4II%%RS+Eb`88E;HhZlH}jDZ3LIw}W=l z{h}@D^(VL3{li`?t86QZvkgaB)8f;tyA*U=wid|{vbE@ri#=0MvvP%h@5LncbP8q@ zc&4iRwCH~!^-RHz#IJJ-@Ql&_@x&QPDRv#5jE_|7ep0!{t??Y5bs9_0_|y*1R5t{$>F9Xu32;HZjp z_0W!F^`RZf;Lwiqp|3h8*c@K7F@oIR%KyLx)f?M*7MnnAu&8EZnF-d)o};~ehJJmO zCvlvLS8j^%o_qwD+yq@hHeZPRZ&>S!zZFf1^Zww=`|7VRiFPK-j>pyj9RN3>1)by3 zsW%~yiZ1WC^L^`clf3isQ}~`Kmwh^A3J+XnYet!WP-dCh&N3J7WZcEgCJ`luQE^Dn z{?mxVWiMO&w3)zWf!oX@`5nXWc+;7K9-)59KNw~mh1uUi{INZEp<$@{ zj!y2%44kb_j6Zj?tauWis{Gg{Yl85okv55^X-t;&X<35K6N7J6QC2Zz26`3tTjIy4a9hh2JRz` zI1R;nFHo%apLw_P1^s!z>(3&uKljt0onE`wqwBcwUpY>D)t>tMs8g{`ciVQ^Qvlz; zm9}>S7vZMljUs5kj6I>Qa(~MxSCvujMz7p2Aw+_U<-hShc76m?^qU!TXkX(y8#p#| zkFm|u(1*AlzI!~Pm~YIT{buV)_DRg$n6A%8mf5+&6j|IIT(ePYAj(=u&O@GH-U`6u z>HBi)RHrRRy;oDtNCwI=Mc4=AJGsu#51Xg;xR!!w-^3>9>Z_M+tw#n~DH+6`g~_*) z=CSVG3KzzwJ@W@-4bslgcuPVpf{n^Oz5^dLbFMSTTS@-`=V=GdcKfDvnL=jV1`JQf zSG^-Rqhlv|p8AG=Cr-9=C$Lnk*$vFYu@;tLXAE$>_X^p@bL`yH*9FN!`fB`_}n5tyLM8nP%==|#`l~jIEC}Tn&JQk*z7VNh2E5g7iZ&8zm#6XD zT}Hdi_k7wFosmB_#ky!Ey+6Dx$#d6FxG#nni{g;_6W9>p{Ma-3qtw{~b;Y5RE}F5LbkRZ4x@K_F&NFyj1if3|vkd7fvm&F+Q^I3l zz{N*49!~Ri@>b&Z4+pL#0sML3JTxkI9Am&n2R^-a;n%m+7uoqfwxw!Wf8pk9M*;&& z`x{)^pDH|-7&Jp@5Ajg&9L+}~ze-~!w^&>_wq-H>*!@b@5F%fZ8O?>8AHk*&Y(A|l z8c1mWnRpev3pqaI6hm*z#=xigqbu^i5_(%X#N}I+_!%pS6)xc%4#`Fb(fSTaMZ4;oi8Gf~4E;k1pL>Z?3P|sJ@@9b()D2t>ap1fJ>6+wes;+FljwgY(iGUlsWK0Q|}7^lX|8Tam4*Q^m&PGMgXum~_mqDxx)-)hm>CE0d< zem^H&e?RsU@jiDwLm#1QGw5$I`9z}@7J|Enn4;O_QGajdc?0X0bKaY?;IZ%XlRR;a&Zw^( zod3_zz_EW14RH=7Z}TlC|KS%Swa75UT98M3HKN4E@Ou|qSgRSd;k`*qMx?>jB+vEc zVD=(lCmCakmKxhQYrf4nnhBbX%%9y4I_U^T! zIndt}dk@y?9iR7mv`d^t)BT1UjppC7sUU1F4w+DG0r#%6?}2q|4qYAy)m8_BwL|G| zgge+{S!++7#@>pV!9Ycn`_*f(8_N$uzXryj?a-)!ZTt^VcG=rytC86&s^1>H`Yve8 zG7}hRxK}+D2n<|eOohHzzg@8U3FdAo<)A+Um%d%Py6Wx7>Jw<=`4`62P6=jL{QZR^ zYacRM1OFN5KX5I&*tvbop+jC8Q#&(|Q&ADf8u-UR_P`YUJwhL2eN9u0IjXxQC;$4O zX}X^Or-Dmy)=gE$x*z7RnKIT)ER;Bw^`f~=@m_{pvx@)Md`EO@T+1VOc(lEcybYnm zXg@FSW!(2yu6+FeUq4^#G4P84iQ#@e-bKg0u6+DoNItucz_ZQV7pr#l{v@^ui=WFV zA03bwKzX}vm-TINY56fN_p*;%bS*_%U+e)%p4TajGC!i;V(5DmT08~(Atu42=c=zy zV%OK)F|N~o%CcixN|32`!ZVZn{~l#OlMeX2p-^@8Pqb2(>;_%DfpniYJa<`q+N-~( z@1$L(KG7eI16y>{Ab62|hY!5Py&D1D;nI3^OF{GS#4FUf6I;2)x*T}4lCHJrylP~7 z8>@V$Q(qDpPI-R9J@8@hd)qSdK@)CfE!%IDX(g=Tg6YkX$ib zeP!Nt&ePy2u3V=+43zD_>yPS)9H39*ygqfZKYl&*%hJYHcN{_L?zFNg`VaG`diVYK zeY=m|<^wOd0x`OO?lBk&`F7l$0ZwSKB_cU_=GvW?`< zIpDBln-cCPnSoq0a65e~=bLbjd_GUSc5^pREQkjZPb*G8czMSz^3=f>eLdj4TlUz! zAJPTxVtm5)ny=*6-3VWlKH%yfuH8j_8=!tx&%`GL&m+EZ>)5UJ>>qRI1Q==V=26cN z{4{V{X|utF6T5K8&37I7#*wDAiTpJ7%g6-&+T6~a3PHZ@pwF6b^?UsLzHcMP`7QnS z@qDK3w~Oa9=)3fnGyV3Fm(>2($TQS$-;=j?d~Hkp!D^p()@9QuY%L9^V{3*_#dtj_+i(30+AMBGyV#gVu$SRCad)9DXPL}C>>N)5Qc~7MsmxdypfQ+>4v$(~{M}7U7`qC=(Bbqryej%Z23cECXK|>uJ|R z-z=X1zgj7~Z43QCrjv|wIsK5%DgV*T5PEq(egoOd1Pv7Z7au4vX2XQNB@3S&YUO|# z><@1W!S}H_G=&D?n?V*(yiSaDrh1k!)|t~jaOK?*uDmOM3wBj&qmwSBn4voKx>Dq# zDa_a7$cL$`updzGc_@n=|z!2Z4fMn4f}EvFd7?E*+FIv{@RKpy!Q;`suJvcB|Mi8F&7IKWyn^f z9eO&l)BxnAt@Kf{*WYOy+A-~U$?E)?k+aIlH`9bF%v%K)7-X&4&{1M?D+-W>l9Y|i zzh$AuSV%tgeJ1DRl+BK{2Pp z7f?p&DUF|Ug6BV5IVXyz?njEmMQ>bv>7}E#TKs}OuKN0E_{4&jcI*Td?i3f#xDgs6xIWIa z6xcXCMW5i8O_Q0MLd^woa{=%lHh*}2>hGrMviZaEPvZ9>_S7h8=+61Arv#b=TQfh9 zpPUkCGRPeH(NhyV|7F0jHul;Vl2`FF`eyKXv~Ds@ZQ}z?+8e3$WP}T}^#u5p%r9>M+KVFM+BPecdsuWf;Y+0#0LS(Z=kcMMin<{j&#pq*$V}=$MQ_CFijWw_0o6M z`wFuEo9qD(1B+e2W-v0syTM@<2Z2Wo=pl8;!y0?zOOtEg3=T(xC_F4eS*@k`yz$Ry zf0l!7TzC3u?HLmuh(Eugo!HCPvVJW~t&b+?%!FRfgkC0ZbMGFUMV*DTch$gXllF;R z$^M)N$z$y>lzT2WJ`Epw)5FJ`$(OHZ4U*PIS@rEa_A0e5`*hte^1TmmwEm^|sR`Ak zHd5qO8=I-~QDh$CbebL_*6sz``vYzKo;Hfr2Kip1j&;oUX7aaf;?8sWnOeaaCx4GN zJ+Ps$_SP3h*WL{bpJTkN{U&hd&=hb*?yaaXp@H86&LO^GmmPRE|5uaIVJB-yJUyTF6z`#f>^Ty7m$jk#wVrM})m=}!SWi#kGxcT4fbACj+2euK8phKFg*$qv$y`m}ESI(_l%AS(~PWJ~=K zdwrSW*p{oPYdhm|WyWJ$%6a!?N!h+;^8Oy*B_Bt|fKSk3;G-D*+8H0G^VF_<870u0 zi+H#7U^lv$a+0}=>6?6RN>{wL=+Ai8K@i$tcut+$U}Z_cc+M>$OB=58WC{79?U)Pu zwVXzMI^RX_%e?wTJ5=vl?NVCD%SosJ%ja!42A8H@4HGuE#V*fbds}eGv;+L zZTa&W^5*sTz)JPL%5xaBD$v&7+G-o1>kB8lw%j)!w|kX}a`?WqdVu>K+OE3($hTy% z!QO7h8f+u71$7{MOn|@0Hnh9!=$5~-?`tyeBSxDEkFyS|Dd zdlzfukLatx?lUC1>~_eivcbJ{Yxg-J8=sI3PUm#wIzK?RRBV=F5H^uVbs!h6toqpZ zHMzQ&&U*Og%bc?i8qqGA7lX!h^$XZ1yW|FRMpKZ8PTyJ|WbEjn?!CN)M|bI=W3Gr# z8@CR;Chck3G*`NMgXF9t#$1hj_TceZLmC)oO`+^^$lisn>?L`v8ad1~qr)6z?70a` zh9buyt10e&3HrklWVS0L|5I)>Yf9_8jymNFWIfMFA3@tC#@fyT|HzQ#Nb~iCD}l>W z+L!I@3A=wG&&kf3*`aez>k525A=i0#o~tMP3_YQSv8c_PPsy#D8XLZ zl;PUo$H&%t-TCAd4O6`Z{{9W%*zM+4|q`>%SQyb?k3Raq<&Fsq#!ms~!iht#74*9XvPeVVG_`0+=SiUa7 zZQHs@EmhQ!;+b4_6l+i8cIQSu${luoSpW1zd1UWWo)&0Oi1NsILsOJ%CB`@FTk&aU ztz~WS{u=p{1B%Un{gqV|Z^vx?b^>R&HxBiF^KqzlpQr-UeQg@{bHdn_3mdU_H-!K`8svVPJH7>J|7v|vVyWd;N8}BfWAc}S3yq&W7V^c zdgQCOWf<2Y>JZPgyooh;AMfAv>J*%pLjUwFf}edYWB2zm#n0Wp-p8r;LceeHQ}m^O z5?W(z0PIgbCp}}!;als^B#+gnTDATMBtE)$YyEC-J!@^Zk}lf&rY7LP z%@@1v%%YusK73lowwy{mA^#n^e-iI$aC{d&qHO4q=tNb?L5Zo9lik00Nnir$E0tbX zm~VN&souBvqQC?TQ@$0%4oXb)(j(`Fy32zz;Oo8F1h14IkNn5J`)QltL9DgpvLjn0ixtq{1Nzv=lc1^mIe2wd>x3N8z@XSTeK zPT|@ei3Pjal_wPY@qIi0+0M6_e+~gbo^XBNwoTfS-Ld_hZo8von-{*k)zZx)SzFfr z;@MEdXI(mU1UzCu;;oCe)<4CZrCN_@Y2aDLK7o=5=iQcT{*Gw5h_=bUGP#WW4I>jT zlYc)S0O_I&kG<&m0C=CO{(ADr9r!Q8(5h`^N3;kh1JJIn{vewq^Oh_s7-Z~OC)csQ zTv~>$mi)ed;0R=nB=7K`1>!-Od^E;bB@>+c5_!;7a+%ZE9_SMJeVPRQULgMB({R7c zX6IKMBM z&a48{+2_mrKgx7I$GAt0Go7~*D;d}MFX%S|zO=dCY;@O^bOzy*^nn=9@$~0P!A-bG z+R!-bf@djs(tsS?Xysteb_IT?fh#I=Io||J>4>r`$)?nR&OCwdb9{JEhss{4dMuA~ z>o~@%L;k$8`If0m>&&S!e1FKRL$DO=)TZ*E+9Q7qxn~&p@9&ZC#2)$7_rc^7ES?{^ zx&AKlD^^77;s(~qQtR6eI~{ZP)IUvn1N8KPD$!D%ZN3E9{Xxtjf>!kgdIz`jWE!{Lu`b%sb@xj3AR^;kp^kl`lmSQ*N-Rdbd z=r5VNOQznk{7LyexNGunpVnJi#<+fuo$F6a$nT+iJ$)aSARD|a-(k6Y2b@b!9$%+9 z;hk>UBj3kO>^TsfX@vf`Fw1sU05ic$aJ$fh*%`p=KHw_Y`E#hYCG%`hKRuZzwk18| zQTlk4VCnfTcC*H0A5(nEI(&>Pu@9(C;lZx9bXU7~Wz5wH8FO{GH&@x-JPGbc@qLKe zC_A!6y7faBf(x{_t;F-kl70f`Fj#*qY0J?2lROVr8sCOf{&wFc1MTQX`d^_PcHJ*K zvgJ^|zvaJEE-n3!as&Sldv5|IRdL1tzwRD(kY!fZ=@}3djT@V|gq{JTiN*y-jV6(v z0R=^k2E+w*ngNuENq9155;ZamZnR5C1ZARz0ZcR!6B=A%G}7HHf`eNCp=Ig+=lhoF zg+~3K|NordIltqaGw1cIS9R;&s#~{i-MV#)^#3{K-1F<2>)Mh24>v#ar-%2~ct?J& zk2aMfKf9WDfMbA|Jc=))eUy3da9qBt#;Il{_DIQ-7pvuYL>(ke4eafG2>n+tSyE1~OGLBwAi>$?FH0+v5DT?F?Qk zmeFO{lWbc&6+KxMKr&i!2@xmU(bn}Ko&>6y4QL*&2mb2z`VE$Y%sW)4HZ-igcedz83uH@GV z@Y!nCgzwQlLDpIkU|F_u)?p`oY{zWa-ZV0@kNnYiStQ2q6V%Ssp|#&Yo-xt~T^}0% z+RKb1eqSVhBA>P9qy6nQ8u5?ZbszL;Z8a5`rh~iAa?Ao2zRE*K!e4KrA5V7a0_GVG zOm{BNSWglQ)LOGSa4!L_Ywwd^vo$W^^W%W=zc1WzS{@m~`zO5Xe6{jS|L>u;HOy_d zq}DL~RX1&=HB7Hjw(KW{d2uCk>g~X{#woJ0tg*}-NZr=@!?4x>>osSTwRAQ6yXpJ9 zT4UJhMmMwANe>qKMrbX=w*^)if2rBS`PN7b3XPd8y&Tz4YU$-SpKs~q>#>zBv+Vn% zyFMF}e$L$k>KD>lYq2MEWv)TTbk`ggG2YeglJ|;Fsr?lBem(!bz2;Ec5Zj>n&Gso@ z)l+Dj5HkKZe0v+1YMXzIWR20z*S5FKxd4lf)s>~@2d_GQrs;Gb!=kp$4>|_md(z$< zdl(%9+UR(6dT9Jf799g3&7z}MCLN_&bZkXWcGpW&a<< zZK1F2b6kbtOPN<)`)VKh!L_f>1h+7t)AAG}F_RQ=H9yP|MC z{UpAVt@Ko@pO9bl)2Zi)?`&IXmi?tImQ3g`hcfIs=h0T5B1_x)HQ3V}?(}OYFKz5b zdzmLV>5ZM!#$iDk|CSd;%KZ7}LfV4$u{91u?2W}pcgNwD*`e_vt4)d`ozy13QJZk~ zz_D3N-)lG1XW6W!_sw$jz94#EBQ|U4ezIAo>wcEax)-`&n%#QfGF$(<`MtySzl+LQ z*J|8Quk?PqFABpKX7oj2xF~InS!VdmgZKq#%#J*x&U5>wI8_#9Pi2`(?0&{eBJ2w@i z+WDT)_`zyt(*6Km@He*e0?Q6@9OW|X5Ts|@A*7?r4)G>_J}UPJFfP3TJ4BP+ZXWte zI=kAh3A&chSJKy|E2FEQ$$O#+{k#!7#479%tMCiKry;S5K3c`z!YcL_#<8}SjPFXD zG-j=-wwGz#6j*kM}kI!xz#Ij5_P28a4cJ3`N+tu$|6%b^!@+iY&>llBW)%AIC?&ZK3yoej?R*tW%G{a^<=vc`eNgYiM#2Jgta4O+h%j(uwm<6}E| zm3)mf9vXR<%v#KtF+A3jI3uJpUJS;S58H;ujNohB+(SN%ol_0(e2t%SeP;}{FC(3C zbTm(`gAK;rBJyj_)Lx$CTDnXGPGSyq$X*g6Z!Vh&FcUs(CPBWBA>SD6Dr2y#j49+F zyULjUR(*+b@&w4^%NRo?;n|MfG==r5WWh50wfdr?zj!(0sJqtMCE+d88Ar1X^A6JI zsh?Ok+%>$Y{^1{amhWeOMr&jBPcFN7Xr42F!H3eFAO35yVa#sw!xOpkXY=d=@{2#N zrQVY%r?IFtsQ6yL#S4q!|8#p-bWUcSwZJH+EPBH-$*Eg5Hbw(;3JN%DHm+lnk#r`$=F8kZSDhMx*_cyDYZ^3qkbYv^N%ot#v@1!?!{y%n# zZ2iPv_75=6ankXVPvs}Q(n)-h0l5URJ}g)Bo{tsyW7%( z1I(dLddp8e!_&uZ9C~EC+Z-Pi(fYR%TS_Z?S-VIVeVQZtI%Na5xiGb#Hoz=&>$)W^ z-9NzW?xcriq@{yHCnw#1b6R>}fa!D6Tc#N!>~(R+$QtJFjP-w0$H=*_IQvEX-g*bT z$huu~%+RgLhK0zk?KK@E)tvuw_lqQ7Zsx34K73Bh`Kj{z*INGz^2J!+iobQfUHeGH zKpgrSIum;wJ&7$n)q~Ghlzft}MlRW!wr{uX6~~`NzT9o{iFiI^GWECj$+!D+)~b|M zADo8Vv3RL`SY&ZcUrWaK{@j)E!y;p_{m1ww9K^5U_pg%iuK<6aWPD8*3tqo-CF4`D zy})*5{DRM28BaaA;Fv{vwgXAGEI7<1y0xG&GL1!EUXoQltY z>Nt{&Uj$CV=QjGwqBVX>WO0*C>j&_eHJ_1|Ct7)m&aad6_queJL#JT<06N#C;JyZ2 zm(ELFI{Dr%Md$c2=)xAA0pgcQr*-KBW)3<>->GwJz&H|}SBXx_j&bR10-v}|=c6v2 zq`i*sMU3Y+q4PqQ&Uj}F){~;ME(P~jX>|5;>E!!5#?IIFCopr+nRrEK4uEkaI*${b zlx^qISpz!$qez1-DNc zolm-S^8K=J(w{ZC`}0EeCoqmg=L@2fvZhOC{A9+IP3IS%y5sZYNI%iZw{Jpc6EJ^d z>6*|9tS`T>@tJ}f1+F_jZ*b}4dw++{G1|vHjx$=wJ;ga_v~=Fikp)3;C0{lz*?L2r zXe#d<`H4$Y6LrUJnpV3sk@g{HIbuA&2~F3#eHZU!!TPIcs!PFrDvhSmE=_#jj!yOU zW3f}tu^3}bt2(mjb@k_SL?`%^yL8roPkDc9EZ*bNN!l}_ljk>~bC^qK6LbP=zUZt> z!M!Ps&g7@=SUfrMtV8ElkHtB}m(w-;+nOt(6Id6CPHzhCs5CnN>e9*g=?MA6w(_$TYqM zK2gg40UD#_og%Bt`N0Pop8`+Iwtp0NP~dme@~QOy zjyd)D&@q|1_`{SPgZ^W!slk6b_@C~+*K~^9$onYXW3+Rw^+A*vFqX~SSx?LZo?_al z&vWGu4a%(l4)T`@er4|b*>dDY@{8|&0A4*EJgxOdP44nWS!R7f%KKDbQ||ns(#-r- zTAlKKhQHXf1LbtmA@``{%ri-7Jl*0k!9d_OB#OmIO!4z zlYW!nt;r29yFJ$c&uY(j?))uXGVy(${FgiRN>~3C^o0@0Pmvj_PwzYVEtss87nC&)FdzSjn1-A;XiEzXFc*_{g_Fh_e7)Ab50iFDdRnm5 zY#{Bz^t6@|^M2CKB`tl;hh2|29@x8@dRue#!|Yi~KF3H~gPm1R;r31JdS^qcW!H-z zWx-o?w&t-E?76_M2X+X%Uj8TD>O+d(#`iVYOut?)IVz`K@*;cMs^duWbvZai!RNrO zmMwchG(J2sD{j+T?b1rxJ))JT=oFu+|Bqzb>*mtg1f9UTN_4JC!96#P&UZg{=;Zsn zZ$c+9bFGDDiB4b~iO%gUe5dRhm(C{eDeq(T=@6Gr(tap9d43Z*Hv-e@&l>0i)^Vb< zE(Nz|8l8(=I{AKniq0diZGoAC&e4CvmaaOEMCY@jld|(%I%~kE(x&s{oeuAkmM=Pa zeiJ%>2h6vuH3D=3>+|nHXJrcRJHU1M_9~Z7z85%jy82g1w*FOq)L}a2t>|CB6pfTW z5{);DM#^5`(pU~IH8zdQT^dRI4}L~5p5KJVpxc-6ZWgSSqS2dz`$!s%$GbH0{k?zM zWAiI@X<+7B*FI~F%_Gx!y6B{Ap-X3cSY%e6P3P?{ouoC2PM+U{&cVQ3(ZLw*#g{>G z$f9d(n2JMo6)@ek-maa_dV%jv4vpO7a#Qs%_7u=L+;h#c73+NOaoCz3mhMmfT>YkV z!W~3U4ebjJLE2YxTQ)===jQ~ombGNp6OF2Joy+5lV%Z(#4{dMi7U_U3s8KSPvT@#L zTnZeXH=VuJg7?NPwoi(D_AYqS-j_^|*>PN7_J<_Lo1k@#-F`#e_9N{=wI9!K(tdBR z%4)wl8>ZT?Fs=QTxb4UH@oDWh>&HiKzw^|75YIPF&htzO$s_McW)mJEv+YCpbxllHqi zyZtI{m})P9rIel@foG_;(RoBxjI9BwB6 zb&X7R+mEvGrmm5(t2W?WbF|JZ`K>kK;rnlc zXp0czWqVVXh|z<&obfjbnARE-xN*`2a}aCOkEJ8PW`Ta z>FNo=6`A>c_@EUJ!_woMx<;;W z`u2HnQj8O&TkA>MAs4*RvzfI01Gqm^{WV9Z|C!AEE##l5{OFTzyRl!Ep_d1r$}IC7 zWiF+R;ng0z*VNes+vkFq8t_fZ?`COWts=M~Nee561M0l&}B# z>r=k|(`g6oi(UI2bm>6K*WYTdnr@Nn`0n<{CmS+lNaJG%t6uNDt>HLu{kp!L*w;Dj5aR}{{%mZ?d3xvr?9ux2%p9%7w7$NRn*UO^;ugjznA=`lrO|I+B{fipRXyl z+B`qpjW++HQN9qie{&3+(|BZA`r0kApyn$T}+)j}wRI zSo*9j4iB=_^%MIQGJi3!biP);=x_c#*&tuVH(zkaM`5_5Gd|>}_%yVN7n_d9Px1Lw z3?8f9Nf(~S2xs^F9kHO>f$!svY*BkX1Pq-&w|K0n1b>tcW)W?!Hjc9|9V4wW(9@hR zKXHEln*6MBmqlyH%X!=`cnAU8KG#_~wcBL} zGyJXhv3}Nh-2K$8y~M9Nk88~#+zo6nz8-_;ti9p#5{ti1TbFD&z;DfSG5in?VwdHN zuyxM%N^qLMxz?1Qb#deb^6UKUOT>qbHWgdvXZz5X58?~GB;)*SpS1I{ecH~?4*0!u zezx0}hn=4_h>M}~vlATu>Mx0@BtQIW&d)A(&d(l2`4(d0+vjI{A9j9rz-swd7e`J6 zcO#d7b(($S2QMFfe)c;2tbh7Z>db5aKWq2QY?QXv9SS>Q+@EqFx%|)I6u@u#J@~@* z!7h&Uq+aoP_IzyFs?zE{j=E)Ad85^~k!-IU8F_@XXuLQQT=J+EjQYFK=h?#!))?v9guT=|5>J7eUtpRwBgk)a{joj4c~Rk8`rk#LRY&gZ{26W68WKTr8tujZmH+s65O@@w6B z3p9M!p;2x9%)^S2+$a1L&r=0Yd-0AhRt54_eptZ|xywcAtS|k{5ju}1Sx`1Tkhq+0 zf&IjZaC|P2U7tm3x6;_5RMnzkj5hdaZKte&E~Pe1vkUXM1`7h*cMQnd&Oz zj@A2-gN@J{BX6AVE639>Jf9n@bz8qkcVMkPQSx7~40FCs{uDDDS!Cg2jtYoM_3GFJB}tG-b=6?0laoAMKbe6NC82#MCBy7vCIs$mZcM zc^=rVF=XQ*nI)TMx{S)MpdMb=m)-7WhlWj|0^(k4^(IF}}138xy;{@|vOM`=GLO)|JWj zBtHC+`V^bvDb$zPk^4O7oNH6(IgcTq^c|f^>_0Sho>S)wMccDHt-h|YY3oP+Ytq`_ zYNri0^OT)77fsRAGHE&y95;YltS)!{Y?=m&CTztAfBsR!E0hyn_8K>L`QWI``tm9N zyy}bR&L16-nZE=1!^*!Vcm8br_Wv3DnvROR1%3~w;b+a4@uMRDBKRtr=dsTz-G>cZ@+2tDKHyzrS#zl+t1W%diNl?yyWT-xNiLp)j(Y!x^fBes?~>8jMKadBjrV5i zlGjsKdwVvY^opDXzUR5`v_}Q+=eX}R`H?euALqU|W-^SNUY8p;Cb58z$Syx#4;qI%X<%RHM$nx(%i zs+TWp_4iWW+wom@9^|vOreD@89@sC5+4u!KG@@mI`F71nQ?OrVOK2|nwYGS;(Y zti9ZNc2T$DXSFAfzpoV!1YcQW>T!$-m0!nq)g5H7ao@IX_0{Y(M&s=w-;2>lJUztM zTU~4nC;nzaGEhF30me(5_9$Zwt@R-5hVd2L^`W?c6No)u4ZH)yje2LGfm^Za>e~NfOYfAk~KN9Y0 z#}~n0ZTL^Mm-0AqB=ozHGrMhNc>f-2sUY`OWao==FQl8VjC^O1FN)uIdOkn#6|Hv% z2k#)_pn~%R$M@C)zYC{V!9&lR!7IIdBe4~&cfVoYd-6dmUYv1`Eq{i!$)9{H7Mys+ zJ|~$UenY-XY4eY}$1;{Nq*wxPJ?fr`&kt{#VxNg$N&3Av+4D~5n4q~f`}Ls{9IWc!s@{SQB({ML!{J4D`<22JW;8w&w9hz%Z`_ANka{zFD$!RnW(7%-$$=u3GL|sDbCtKj~mY zE%Z<1j8s58OdD1c+hG#^Sd-e5-kE%y8>!~Z$Y|hN^f`PQa^i}){3pA}!%@~poGD1p zr{4j_znjkk|HG&>)Q(6Egqu}|9Rs_4G%Csq}OY3hTeL2#;iq8AkQ3k1bRZm8Ft&(&g(Nrt1mbw zk`6bByhw*@^##0J!QIYAeb_(alQgbHoHTM+3%cVxq)E{!D_jYjai=4e;Y@u1rJpb-pfrS>0U3=T} zjWu@cx$RPTFNO|u4RDlqwDNR-KI*L{P5Ui1P92=T@41QjXexe*t50^@&2L`8_r@8- z`C)u-th;jGw6~JW8^2_&Pdlq$Wjlz$tJ4luZWL~{gN>UmM^`IECJV>gHvF#77+>Mk zA2Md_cJ32C3z(~Kzj@^Wo-2rVyN@<|=D~y9S#N}2a@)^oPsM_B`R-1B*A6vq`e7uk zA6iPylYvt`)VOFnPm5oorRMSc4r%=X4@Beb(WU(66W`5}L!?&*juJrC;TUYv!7*JL{O$Cwn`Hn7Xzt{AN{G0bhyszZ`ls|T+ z|9z!XJ>89-Wy^lsXAE(=8(EW+?7nN` zDcpm^o!aMKb!TAV0KUgK7x@R`TF>MA`RK=I5#RR*U);5E5YL^yzC%}#{ut%{zW1(; z9gV#C4>KQpy63KqKBL|IfAVZ^be>-e9^c^(aSv@U#^~O<*cd$EvlkZiS!MKV{g`Jr zZ?~aCjILeueUpbfOJ7~oXM(3+Yn*Sj1C5)?4DZl*!=gTmJ)X|!I@ivk{Bh*>;}@{W z)2=mcZ#k8i~o#*DWedD@YO*zIqSc0JEE{Fhy3RNaWb1^aNqp(%3k~ix@p;aD&NF1dGd+!qp1IR|@kvIH`32s|k1X>N8}iah zu6OG(zs%@0-%lGZ=AMwmnS9%-%Db0QW}J8MfNoyT{8{{- zLmcI9Mz{I*lXr=yjGj~P^OSTcqix4~2h0~=vR0gb40KjN7ygm+%lW;S_S5eX{ElrWHsqRlYbmv1MJ*-4y*KJ4+7gbz*F z(J+pE5^KL58=dypbZ6xpWJp`wF!Jv2v;`Sa625ZX<_2R3cX*D~-X3?0W5YYG*S3bO zb>P%=Qsi;uf$@cnmvGWL{yoO|}xZo)~p39l~T<;K)tjWS=cFSM4~&b+0v z8^Kkv%{7n3(SLK}+Bdx3!F5;;T)Ts7i}pSLY~$$R?6GjHW<2Lcw; z-V=t8GrvQOL@9SMC=NqucYf#dU(A1B{!59qwn%%QCE=nRb^foXV^08Q#e93|x@`?B zsY9{&jlTS|hxr0&`Yn5gLEMGsc-J0Zv}r`d<14m&A-BY(^HGkp&gkEI_RZn*8FbEt z-~W8F;h`SZdDr#P@}Ahji_INp05`+Or6)FolJMVFxaT2yMuIn_YzU9BPhLlz+v7bf z`?1bO_|YpCzJUI3*%3JV$v2&OAcn{I?>CdqdoEjVHE^y6r(Mvf^RVk)KRjmn6SS3V z#jo%!*IfmR^qqEmiSMDonX#FFYkeaQ0pA+==Eke@Uw@#=4r^A1I z|0U-L<d(Xq_NqTla#psd#itj+Um5Z5NSFOUF+OMGe{c|g zLFIiFe5`T!x6E;&P|b-0gN0 z_bU+JU=!;}1DUdkwdW?{6>K6_0pAnv4QBrhIkKDaG>dY!EulAOh5BjSY`7d-n%Z;m z>SV)6c(kaEKYNGYnzXlJwZoq=;*{M=+lhZ}7=(^{88$ce$+^osyjy&OO!&FOXByX% z)1UvH_Lx0^xZ5SIL1Huhv&XiEo0OM+?Tz2B_)NAt`KoZwNo$Dv5q{x(pO6LXgEUyi z&Sce#z|xx58XxrQMc{S?@0K1a{f71M@!XTAch>IKeKB5qNAf zH&500E(yOvJ!RxkKPslA=9xz7GT498`d{;d?kQD_3BlU4b!WpDGqF$bTkE%p7M!B+ zpMaA-#sueAz-c6(+FSD2F#62DjQlFAzJ1IoW5tRie;xU+nC&qi?!etGzD}R7{*=4C z(ce{{EfJ6-wyxmxXzVtCE*VSV(&!0z2o5Umh%+O$qx2> zFaD`c!zuWFvg*6w6oY=%)3&ZbNBCb_nX0rhE&t&T4a&TkRz^DQMeMIv(*GCm^gz?( zThXCzt6tgRwz8Eqx0bDZmG{X!*YIB^KST7iowUi5&c1vL@Y46QcVknM4OIKuv+9Z% zzat{W*bQC3)yHD4-}Hz`75==EaoN7%DkE9v#l9yWZ27)ozr==QyljsTPwTnJf*^b$ zovC>_Hb2^{(HnTV#P1)_`Zj(5md&2|wx!7IcDl`L=)dD*@t*i`^a+pk8KYmshbhYY zT=hp&PyDWnOs|tS#=B%@H|62?9pqX33ABP+t~ntz`9OxRXFWKLVy?4zlk(S5ei-lS zSJ`5XAjr_zr0{jnB3H9erG#C-QOYu&tTGqz;g z7obPVe)k*hI$Fy3CGQ2)i9b5$b0`<^o9iei+hmOQMxL_Ab^amr@ji~c70Mg$&f2`d zY$30{$9PxXO4fzR^VDA5BcsWi-sgML`h0OYaVu*^L>{zkNz}#f7W@qLlubqFStaKV z+ec2@+c=B1`>oDXGgn~dQL(q9v*B?*u zDPq7AE$aU&`u}wGE#(fIR~^0@2p+=W;8ggdraS)0#pdnclHs3By7qrAd(QDs=KXW! zmtIzLQe@kB*f2$C&+TbK&XUd$zMCRhNe`vc2YL`XE27v(@U~ z80F%m4gUdj@;vc$d^kv(552Zr7{tC|7qbI!GyFK>gMh=`p?`As@&-ljO6$wD=uMU$ z-ZUt~kK>Qx6H5=rkArXSe%@sDCGX;U$uG$+^{f148=2oNe`Ci-Y#x0w57{51?{oEG zwolm|DBwn?(7*!uHQSca_P<&&b~e|b?nkl zR-JSG{%PZu9y%_NNY3_}$+f4M$qoUt#W&$?i{6?Zk#~XF%jqx0QC9kyQTsWH=L+z6 z;L!dR$xU{e@Z1BQyTNHXc+Rr$EDZmLJ1FFv8v@T)EIjSK+Gg<7Uaj!1Kc%={@K15z zm+?%Osc)TZd=_mQMcjem*7~^LCU<>2DpL7ht&c}p{IB~Oa?1U*J-k={#Cpn#V=%~q zR|+ph>r$}W0o#@P3pY7>1m7#s*K_F+?jDt2vcE>-(vA6J-!G2-@N%KEwIIZ$c+9bJ6)8ej2LdNOVpSos_L~=`07IxJ~C1E}f*kfgebW=QpAAVqjiM z%-N_n1*<-dwsMy?zDGD)qdwF=h3v7KzYCdLR5lyu?DiZ@J!OhB86SuY>Smg>r)$F+ zsJd0;<_}j7%eEvtiQ+C}o z*8I01T0=YeyP9W%TLyg6v(MBn!d~#X;PdT8%16rwa%Q=oc`9WyeCbIq`lD;V8W>ro zyp9gEhdmJa)ohQKN8}4**{|4p+)P_Nzk~0pWUui^W>u)tk2ME_V3RqGmJ8CQ-{tYb)~*&(_qeLcQ$`9 zDogJpUGw(U%N)IrcSHFd{yi(==zTSVGxWY;@Nb*m$2V8++adj$_vim7dW(i`+v?EW zR2unc%0~@<1Sip;J;CK^^YIzM)P7);e8Ne-Q*V{p^Rd^pfyM_%{>}GA4ji48nsMsZ z2E~8agRbD7w>oV@x}A&r2HBg;mhQV?Exu^hx}0=Z_uX<8cUV3q-S_CoHPpE*-G6TD{x+TL z#R(}Mm|(TL%>z{q50r0mdFklLWqe;H9N@Jhjfs|c=9svFcI(*&V{qhq!05*NYHOdv zkMDD#xf(jG`BHZrHu)o!(XQr9{NtniK8^hPHj97x$Mt*yJG}FL&wDAq$xE0sEtoaH zZ0T=44a|)Bg7ka;VASirfhfNRiB@O4U4u?0|A_77{z#$rI+!bd#8{s0`28(PkAF#? zRNN=Uzbv%kUv^{++I}JhcKl27ZD1eX#;MGr^PUu)%VITUk;>2rvqE(8+sLBxoySvj z{xFTszAl~Rz=Y19XVXdgg)W`^{%CTF&J$fa<0(1^9EncyZV<=tXxXjwybuiQ4x3voC`GLn4noig>&<;=x}d$hT_JgM6=G4pod?FL^waTg_dQ zWj&0D|G$YpQ-eZ)?B5G`6&CNC(k$PC6D`T+R||O`!=uXy@>bde^c+hcz@q{ z7oI)A%`KqWJFC-N=DEgD;b+@GJS5+w5_4P!ynP6qR4n?Y14CPm(NDn?Q$OJ>3YuBox6Mt zJcVOS_)5pADWdJ z*Vh?yJDjmDI0N`DpK7DT-lI+*gLTM@^fCAad*+Mb4f{-bo_QkY9J0sWMCx|OUI(l0 z{P4kknPbnzdG~KqIA4;6bK^gP8f!)pOYB6;M&tR9YkwOV z8NwZJF}`7IU#2)aS|3{W5Nki3`w+DUl4gT@`k7=yA-1X5iLx6NM#_S{Odq@*txUn+ z@op+^*De2X;;`|3@Jrvo-U!TGwweS!2CCyowwk-aOZWt74|E-DtKim>Z@xb)(^jLs zOxew2eAnDBUo6SR*zH);JUslg8;hqfGE)8K$j+JAy>0!fz>=MA?D}hvVYck#uH(4we6jC3 zE|uQJ`>&CmG1?@Tog=&7zU#D43H5Gzk8+gHRnC~X-qAGg7>M)=yG0Z^xvR{P>`+ zEkB-iabRz7|57>yGu(h9@XMEmxtWl-=LNu-vZ{#V;hRHJOu8T>Ne3;BOPc-v(HT zS%bM7X(<0E;Fp7LX@ic`hq}&kUP8#F8aMK+E&ui>qD}7w!oAeuj zY20hKF}m~xYG>UswRH%$9n#J%Yf^WM2Jv@l#FvTm#B8-0ZL0fJLijT2K9%&lROUZm z$9MT}%i;7lL%(&WHT^mkT1HZ*ea~o-bJ^%}xC{n-KCue!7zQ((uE-(P2H-T`Jtc`s2O$$QWjCd|gIZ{9F<~4qk3X zhuw#NmhMuq`PTNu`=ju6eesaRzXDgqN+?kuIK2HNd0d}9WwtS?I{5{Qj`Y6M`(9}Ef^QYW9HhM?8S~&IzA8^lJvQD{x{V$yl^fJfD z&*XOeOvE2LFX+my(k~Y3E+<#Goag_Vo8X zm27C@PNx{~G%slWlU$U%l0TUxN7G>LB!4!{>^z&vqxHyd=}U{Acu7QO!S;Yp8$G1C z^gJbcc>jmwCeIIe3YRt?$fn+rFzr<5@2{=Lq9XKeq9{8OBF_sqD;OKx;cf36`3PlkIu537le0eIj|-RiiwoQ5QVP9wGUn z{moCwm%)>yzY%u*MEXP~lV9~MDc9M}&;~#MlWskHk9{HaTVsjxS5RiSOCNP!%KJ&Y z+wzKf{XNVG^{zp8Sc^^1vO~uEwCU*MxEt^N+jiq~j>{+_k*D>tHjuj`)@fSWX=M=F=@>_A5b`2!v^!M49 zWbZs_>}Z%(S84{atCr#85aXQq&BUt@mV3-;JX^diqodqi+{n|m^0{m z)*5CUUxr3(t!uDRSNaVz;P^iT4tVA*#{WTe$R70Djo5j3?ybWw0oe7_Szl?GyQ%Lz zt3Jbgm#6aYm;-#B4Zzo5e*SxBRxX7;%a30$swuzu(WDilQhO@Z;J#;3vf&+UIkSk_ zG=i8-ukyQ&-QSEy4>eh=iPnEuT|#}-2dcQBeH9zu~haT*#|?kqkKSQzxNws z-maFf2=%$|yJiMx3vA%P$S$ih6kk`yEG#Nm!2hrLSNTIegY%dH>x^m;AL1zWUv>B9 zhEk(+YP5J!pF`MA-TFebr$Kuv#*H64e)>1T65fJW1|7m9{d)jkO+R*e@u7ju-tuvQ zU$XsWY`Q#=?Zw7HmzNI_t3Z7Np4NUxkb5)~tH-ZcY@LkZyL=vV#R~`w|*x_}L zb)_-JTv9pA%qtI#PZ9$m37`GzA=%CI!#}$6qXtih&<6e1x3{tP>3e|m$AGhwx*lsB zVOsV-@~l~tXT$0e8vo>=z|zP2RV;mmbGPB+E0_MVw~?54w6XN={+^}xe#g7?d8dvs zzzVT96y;2Y_Gp5{NUFxi$gNZL4I@~uMIMmKJ3(UG%#q-4enSuB-?p$;9znrybh0q+G`((y%}P;G_rS~wt9d%U+1We&;IhmXSSPv69M&F;1JUm#sP-ei`TX#RJjJhIxz;IA~M^2mEi&=7x^`;DE){ zZFp{d@H31zr61DSXJj5Q?eXovmOR%OknAq?7})qbhD+NS3GJWE0KV#6Okb+LS;VsW z6|fN^E7-?OG%=oo$dJYS;{rYZeygthu=?5Uceg&})7f+FZO<*V7%NO(G?d^O9- zSIK^Q`2pX&CFC>MYi>u}jM8H`TiZySoD%#$@!KgK1pI#d``J%t?h5f=da98qJ%j%M z|Ks>ShyU}~tEZikW4)G4u=KEr-ld6|zNMVg=~W1>g^Ww+9qNv~y_{c6%pA*{?zQ^w zY@=m#hh%biZ*V@wS2%x+uVZT+=Q-MYdav8d-tcDhuv(+TRQyn@NYp{l8*KC%>)IQk`!}(lznHjq(y@roVg8tWrAA?E!GZ@KY$DIaM*g}b-hy?toXK_P z*l7zEK6r5#WBDp?erpRc4JF@H{u=ttgDw&09eol#n!l$p-1;7}zXyoTC%!q8Z^VPNzv26=vO)YX7wS$AzAuO0hLgu2W~A!= ziN!NVZu7mwxBFY35lMPGwtBcbMSb;EeI)qO<1E}-?E1mg!mY@b$3uznYvUJnXd~|I zLiYECUpLX#-NE1JX5nweso`6DzJ-o*zWMEMyjML3Z>wxQbswZ3(8?_MqEB}m>?Zxb zgUJR1|E=J@qt?dn7d^mQm zWj-FIc?7w2x_q2H^OIwY#Fsy2t|GloIGoNLF$}pv|EY}h{wUuzldk>^;y00ihP^(o z$(<*kZAWJoJl$ikm3ol7*4}E!n$L@oye;zM=7xeL~sXLMnl z%w?Rs!kExliIJu;A|9?tCaeBt6t9aiF8Ez6o)EmH=ru~ym^hvE(fRm!CmlcUq`l6` zhjxSZ*yu$Dv^NrpjXE6Mf;^}5ypkt)kN*kJdY+0gW6Q(h@N$c;g7BZLXYcSb>sc6n z)_N9&pSGU);m|-^UMha6%DPXjHC)-cn7oR&qIW%$v)f0KYtg5lXm`EhvT4qizHsO` zBe8#4-qO9uC&{VARNvBFYrW=vbc_0|Ht;@k2Cwqecz|fSkgeR@Fap>-~3ny zPvQ>RsOH*%``Q7snsaEk@GpP+px0yG2K<}(FAtoRi2ZGBVr-DU!Jntn@L2298tSR0 zeQWXUsl{ii7N4nFe5NJ>bMy^G^#dO|J0aYg*bA>_T{sc^h>?(}1dh*39NnSh{ejWE z%}@Mn=(NV;E%=cQ^qNa3Q-iP8MDnf$p0_``6FywG~*g)w&wV@N)bTgI@y2CqfbA0r;+?%7^bV_x@O%off6gbwsJ(d&2oRVv8$ zCH1T&eL@F=`-qIhbmCg0L?J`);i7Ci_+&NTrRzx^Deq!n1RbBx)%kW^LHee8DDhTl z*A;v(qF+?c=&{U?%mr&|4D&YH_ig&F27G4FKZ}WZyO+LGf9_?Ce+%DRr+_E?p!Qb( zm%u~UTw8Xa1UM!4wc9ruURXrBe96>Kv=4K;VZL_-cq)b~_?7v;KiY$zSS5LykUL6~ zPZRUD`93mn7P^n%qt{qv(a#d=C|^gq+P|)|v0@e8l`nKRv7Yi;#-`0J^Y?1S;w~^@~+GvCLZ;x?$wkL{;RBKpYY4p zvoGV#*0&HT-aLe=nOq>Qw-^X@QLNc^&#|+MLmq>dIOyeT%V_GcG_Ul zvT>fYH#uDA9JS67EXAcb%jxH_)-yj`41A3%;UYXVRy0nc#Mg~M!&|@G-0(gyG^Uit z9arv{(pXadAhJgJ|4#nwu~foX3Ne;6j;^`Ze?WYv@#K!BtC4NOZ+Dr!w$)nSogaFG z=bOB%?^J)f-0-s&P=7y7ozFUD6a!lGjPlAC&8D50^1#vgN&CHT*yqsi;n_?&Ysw6J zBnBf>@op|AF5Ga&i(+b25%+BdI>OsErpXU#)0rcu+b{o31T8B5N4w=+m&3 zO*@cWp;#`0?L{vTEsFh1d#(78^s+a-7d6j*w-a15?7%#1Y~I+}1=6Dzh3Bwi)HcXNW>P21+;n~%+9eXzG|E(Kw&N$;iaDnohZFHQ>F zrgiGPDS^?i9K#y9qmfv85^K~c_8Rqz-`MN+TIvuzck(VGh9CX znN$9H>zN;}fS2uWMd2w<+8IuoZA-GpWHsM()?NIkevrPSevz$2F)<#1=brl>XUBhl zoc9(GW0_c2^!+sEDbB`P=kbEHp%;EdcUwLdS%eI^sKSv&wb&UJvmW!p!xg~u8)M#f z%T|!S9N5#<7qr{R9>g23GtAe=a_$QFr&)LxhEH{#C-7aeLhYn=tYBsEhr_FjfhpRn zEx4Yr-+{Z_fjh{7S8hG?!(aIAw$j~ADkuF=?U8P;(YjAu-W((+xb z#$UYxeW47$bIlE`y)N=Q>*NWv0k|*^<%gG+?QCG)Y?cmYotb3ZS$diDGxRoMM^{ZO zmrr_VeC;?x_wDwaB>#GJZ|-NP3JzvIi7OVb9V79w16!^6b2sC5Tlb>+5&P|!KeA`2 zZJ@&%GfAH}BHdMMSw%k2$~-zU~VOSx&>W1xSOgi9NZ z`kSG5MvcePEpI9Jn$jo5r>i;}&6Da_JAwO`vw4ypJI7c?dSYUw*Ib3pDIIDP`N~?3 zF?l97k@gDtUmde%w&a+_`%qI+CN`)YkBg@n3r-?ex0Qyx<>2 z^<^hJwiW;BrrK-p7{l6=z^=92$O~<#E+k$i^!oW$4uATwbw2pwzs4e&=-8_sw% zroc3)7({Dlgc{=!1gIAPwws>6pJ&C>@cc9%o&aI6Qe~ULl*cC$M_L+ln zzIz=QWB3m2D(UU<6Y=|Jesg1El~G3eaumL47clA@b-x4ey*Vq?iTCJK&QWmhL7P05 z?L#`yOmraT9mztiK^OaMU0G{Ttv|2$(MJt`MLt<}@~9=Fmf@eftj&IBbg^uA;g0C; ztRmCk{8UY9^^$C_-Tw+?Mbf4)qa|PE75-{=#zo8 z`Pel5=RE8ZG1|ueT2cKI)IH0R8?37xm=BYdfH$aU`H}j~9dKK*b`2}X6>JCm`^G{FcY-jzN1)A zfsf`y&7-%BEv3a4 z|695ZeX#AakE}gE)$=a-XCSjig5PSZ9_~n<{h<|iR&^@A>;~X#?@ImVC*P6!tAaK- zk2aF5SU1zC-$WVNyffuz$M8txi;sTQzQ|_g?I?5hT4c0rkU?kc1)Y6RqYryD$gUd; zit6>`%*asL#-ww+L3jdV7GUU`m@{cimIp>AQm-f6+4gPP@#+o1g z10ABXqkm_E_E+D8&)z|%r{i4te-P(K9h`^f!1=vW8|RI*<(stWFxs-(;@g7ovvnUf zC|-bQ)4tLm$`3;)ZQ;9kHVXZ@0(0MCl&+hmxd_vYVe?W45GA=iGSGCiF# zovpFPm>Xd05O0FtTi`bw{G=yHpS~OXW?A^@EQu$4pc`j^)9?!&OyvLC8 zeV#wi{5bnag7Y!9M%lZ-AeeN1DGN75%h))#EE-O^-7--j+SqQgWo7<*4oBh)2QvFV;w@a zxoxL)TpsN=$7#E{;I@i(lb%;c`Vgnxw$N_wH~OZku4^FCfp2QJFF5n}1ns7B>#TOm zYiqYdtOwfK4*kI0$KC=D{D!t$WE8cE&vnOx;JkikQGGk7{bWxQ%zJ6Wq_?Ow$XzkO=Io}mrhownNoFY7++$2td^C$2Hfnz+ZDH7BqVyJ7QHLyhM9h^H{OW1x9H zF%-1^`2{r0>k&xYQxHhp&Hn!^&iHxy8HuiW+zElK?$Xt0?%dHxbn0p(I`%LU9SV#@ zd-jkfj>O)18hYM$`LA^LpB%XA-mF+>76=7iTJM2(bENx_17O zvpclShc1t3F4^t#4&BFIut7WR8tXClY;I>hc%~KGE`0TAMvqCA9&^zE_G+mQyZo7~ zGkZEGiy7e)3P_G^+dYeH^e^NAo6PMv1O*G`HNcq zp-1pLm0|yauUWINmkiOm{fa@`8k+3=hXnz5@44kPYyV+OS!n#(3vJzS{UzvzUgG0Z z=kB#$bF$F#^ z`3v}W9%qm50nfX^aV|LO?CO>!w9B+WVqdLz&tLOw0MB*c@DR^`@m$1nBhMw!P+HL(dy4mWcz=TTd&vJDcy6Ly zH-qbk;MvOmr=)?abP>O!cln(&(tp;AiVhHT-SWIWx1)I`OdK)CphcoT%(yqO+PhgN%`{ ztP@*pP`t%>)|gkFwbW^id8f{5bVjwUOJ_}5ok7OUG^@^htIl!MnLd|D9wN7_btZeG zpBaG>+$BH#)M~@%;h*Q9Zy2R-OZH9gzq3KMD9MeR`281tOGmna-;eOSk>6AKeV6ll zHSbAyb8Eky4c9w)Wj9MQ-lC+PNt$43er8{z`90FQDNW-PIWAqV_Zde0X3mpN=eN@I zO)z|(dCULq+~^4ykq|yUM%S?$H?e2ma)0Q-O`VO;JK}pX?z1~LO7C0K z*@(=(cGA8e{vM%g2OS8~uF4yH7r!m`NnhdnCib7^9H`hh2i;&U@ro9cr;_raYisry zR=M&6tH386$ClHL`afr-ts`wkR@y&F(_Pf*W#1)DcTNaLFZ-zJ_-XAHY-g+xUgnak-s{5#0Yc2JI`11W_=$7!P%b(4Ax3VTKwAM}Hp*Q&+w9eeyy!1!Dt88h%;(F0Q zJsYyyS?hAuAzsmVTdO)4d)#-}ia$VAqhOFnGzgY-=MhyOHRv90=~r6wY7P~DNk%-U z^2iHURxF^r?B>$Zvd;r|?9{nS*KS93H#}ZnUc2@kw7$z+uV&f%;)mP&zG^*Zz#r9V zV{=T7vH7)jKJ09+o$sg65~{;iezCodRoj2m`N;M@jmuv#ZnPGc-m9|Ptg`vxKljBa z4Lf|BuJ8EVs4ukc&u4v(zmsCSwYCtSVxiVrm8{Xd6ZZMxCFvMZ<_`niRx-Z~neB1x zUC*@-Brao(AFMRYM%LYm{ZNeUELMK_T%)`<*BOyUZ_zsK4HX<1w{VfSwDoD^-vDgP z#NYi~>tgK1k*1?2?0b~_Yp8cD^#-%-1wrgPy63fq^}d(ye)b}A*`li*pG(&cq&hsL z3BLwx-Ttikum!mP2JSn+4bToAVCPy(s=ozeFZcaNJ5NwRo3cu&LE=+;By7T(&8zS>{AvD9a@UPFJr zN%}rd=ziI2;^?cz*vAv}eSAnDksn~~>MM8(TB`!|b%4GM(cdkH^|u|buZeoJ_VQcn zlHTEqX(N@Zpj?o0t0`Be{%C7g+jp#zdZ61>*=l5ue!oEfZt@meu;hOuSbkuYJFwLE zmB0!(uv|MW^2>siWN%Bb1V{8I)AlRsfvsD8`mTW@4(^nc0a3!Jfi8SNzA%f)xh)vW!B!;^N~>-`t|*gm-F zXCJgiJ;Gk&`mfq+eB$>1_j`>GQbu~p|4)03>(llc*B`dmm}Z02noE9#dB`IleY(i- zSw3)+=*zqN)h@jof6>{@gLC1fNrq=#yF7HaGmOvAHUiDxql|nAYK**fZ_u6-$(L7< zTso=1vsCd;X0cu$Vi?VXDU;r());TIWoRA_BoeIiS?}qd#&t`OceC3YD@O6V(DHRJ z3=d}yM|Q;m;Q=29;hT57#ZLvPx4e5`Y5XW-sm5_sdb7qX=}u4d2id(Z%Grp8vO z&u95(2~L5pU|szucidlJXPEHN{8C?@Ro;$wUJ#y0`R`HwYRapuU`#+)z^ALqGgh&K zxbJl59rtUT)uT%V$bW99qWZPo!ud1c|LO4lM0kHS{5S*MsFwNr7vNj$GuG`v&b&@~ zJ9v4Mw_WQLVBWla=0?$60L>#4$>nSKo}6vZzw!yUcoBQa(X@RYy6Z&j5w%9UHe1sm z(p+0p`uB8OlWaocESrgMYH-7%2UlSyt!P>Fp!!FC$hYhy(lIo5 zhVXyzVJ8usxvU>GhidQJVC+dRReVDu?Jqey&(a^nXPQ^FzjlZ{WQ{G^_g~`Y#JqCB7uW^%v94Z?o~1eZQ9rZE zMD!(%dGt3geFR=-hLDx93k*x{#U?yCJ~@ovqxe7FNVFh}wKs$fFp)f)_29Yi>T}pM zUNoAMtN35b|Ev5@=KECsf5!hb{#nl?XBvrkE$heGM#8|~^+E8P;LD%-F>Ay|*3Z%j z{gzKwLHHEfO>>C>jkM|1p``oS|6t6wj`r0*sAqkzMGr17GFHgHHpur~&jp%K8%Q5} z`%K;K*qnZj4MlCv8njt9rw^xbPUC0T6V_l)FK5p&&KmT^Kyx*Ar`TldN*!6#PUVR$ zX&Y;`7;CNgszCGRwSndxuLhc#kDGnioUk=Dr`wujkGcwb)1)+eQw;ug?evvt_9ns8 z+PEvesj=CN&7Ah80>|E@yZ*Qb1ztItHd%}KDmPt54K7^pVz-(#csLj4yTeiiw%UUa`ks$AV)CeB$2Q`j6e{(`T~>`89QG zO_c0S-Iq}}ydplb>K6aNOX4Z3?sF}Bsa3ahz%}T*W8C%Z1+1arS4)?No@b~#)Pz6B zKulEO())B50p8qAUyTfOy1I+=pp#81zDl} zxv7+Eq@7#nzh=tfKf1vWUx^RbfrD)Eia)j$yG4R=t~JEFt=OgM7kfXjAS^#A+4?-R z|CzMGeZ0Hn-l3ezsH}V@65w>P^SprPaQfjQo);qi1mDu|S>UZ^7NcreL^_?HR*f4XpNFrwl=ldYJR^*-anEaV;*baJ&>>Udf#ww z>TrLr=3Alj{$rlwrBpioZBZf}xGwjS*YXruVGv$etj+N^85Ajhvm@ zJ+YfPy9T=%a&HxL(G#@wDr_KEgG*qJabOkpMPzCBRgAq=_`qI8-c{I50t3BfQ#rDO zz6=<~!6ydueJJ~elv{NI{$gI^25W^Ad=*j1XbujqG%UDdL`0OM-PVh2yuQm*zC zBk>E$&Y|og$}XZT_8|SXZ9?FIbsd|S2RoQ25#Q)ZY<`E|?|Bln=n<{jPyJWLSK5C< z7g_w@tnz}ZF)EnUW7T2VoHhajzI5$B?58ju9GlZS6^VMYmum@NK^iMq~|7*+b>?daJ=+7yl*GybtYXZw?<=YtFcD zSXL}-#!n~KBKu~$v~f2o@u}}jqs_4V$x7O2n{-NO{IwQsCE;Bc5ckaIv&N?}migaj zBzBxm9s4$K2=2XWBX?)E_U!=AFIe=SNY|oz592oBYo|LkTWfaRxl#GcC>P*+8NW{_ z@2kq^W4*)sQ0PN9z3EY8?4-`67khuOXhY?oS01cBVeH1Upi}amxv|$|FZZwM z^BT`B*m@@3ap%S-I(C>p@v}QOuot-DSWn*kj{F-&-uz1Px4-79eP#T|UMXGqw>!KK zwV!hIzQ_DV1Rbrl4E<2;sP=q{_UoX2pnik;Rd*gZplA1-L*0AEb~az}ztZPuaIU0` z_-Kyg7UzW&GkZ?Ieh=;GyR+f33ymJT*S0ffBNGlR>0vgZC(SA6>^5h@W;14O`Q9(w z1kaM5FnZiDU{PoJ4iFO)9`~YyF@7^*W7eQ=4Gc7nPoAFFoE($ay!p7i=G}e0i7)@A zbFB7W$gZ&+OzkmLQ?I+vP(!_Cl-1sZ*2lBi3khN8tp<KZv#!!&|a(K{d(8qbq(RrL*@O3w*qQ_Q~cOw0M zEqfp}@bNW_%_-nGnR)bT=FF?WYZ5rg_Pk@Q@8#BYzUJ7!e9a$i^fm8z$Jf05Q%~Z< zU7p0Yy`IF@{hq{@q=)wNCN_8QCgNSZiDY;F^Sy~EbFi!5q~ogk#|YP>Z8;I`Qh6Az zTh@+ko(+y$Xwy1y+_G+L^Oj+G&099|q`kMi!;?1O@@Yk4%Rp~p%PyWnc<$wS9MAm~ ziP*o!Hb;Gxi7hAcp5%QL`GPq zqLriARBKBBwe{4tv@f)#tu+v*YHc0s)ap$F4uFc4DFnUW@4wGJHwOsV_j|rC&vT!X zJ*~C&+H0@9_S#c=LiN6NXB-=3!U@e8Xvjdfv8kXh1I-!em+tJCT)oTQzm&1(9N(S; z|AX*jxKnEU_2>Rax^v$+n+^mg^pl@5C+(J@{W7$pvEy=moPiBl8@3^-cdfzc z?>C$b&aYaRXd3#}>k=AgqV%^cPUIr6Ta(CdcwJ(csb{`7`Imd%Lpy}Drmt8hN#-+_ z0AJ(1YyY!3W8#XkakmrK(p&jhTetb<5tlY`%zbR!&BVzj?&++9&Oxl7kodws^DxNR z$+!1sKf&{vRp;TOm+d8ctOa{Tww7$HpMQ}Vk`wp$E635l^XD#qT>k%A%z>R-BR|2W zotdPp#>LI!oW-53QMVMmIR(8xg>m2;_$2DNyFlr+tOK_r-}jMkRBobk>Hud|9DSP} z67Bo|eb=IX&i<_kJ~{C%&`BD9Pno{HQTkS6x7Lxv2KCKC($%)A$D|v0XB_%fx2n#J>bXdDd=`5;HG;V%zYMzK_`;2i`w^EU ztoeQh9au@+Ti}tsE_;#lGRbIsDwn)k_)wmk^K5#8yfF+-&O7wu!PKvF~S2ae8gQmY7M~yXBX@Ke3!Wu}c`o zYe^H2zk%F1$W{h<$sjM12eoGt=fTALK*n^YXy;gG@ioxQ*zP{eSwi7m%{dVH-mt}n z=p2#Sdl_|8ezoZ{*RyYbNVRFtwlBKdbE9~NT_+j%1^IXHhd<5PvmgFgaq#Y%f?)4_ zsdqnRHScOOu>AdHi-{8*_wd!ZRv%A+Cmk`^!;UrUV4O)|4eQfQ>l)k0qj{s+LbmUI zCH|UxFW5XO@@NcuPWc$m%vi?!_F?kq{)C{-Cd1o%ZJ2%5+4yn9-(|yp$;KCX zM-u-%8x}6XdCGqO$A0JW?Vcy^dOvUmU$N%L*)_ltr&DW-^3~>JgRbNp&NytU``F)k zFLn~=a2CloE`ICmHu5}k9&1;tqxU}0c3nr~2xQZVY#+Y>+p3)T)MosA%B!-?ssZ;S(+RDOT1+6O~cU%8MrL>&?eEnT7`AV}X9b79CaB6)rA7KS*Zt1|>S*F?^HX zlk=GTueBLxA2eJKZ1pdDvxte>i76_4Q-oiIBUz;n8x?eQ0=%2 z=qs7CoaXcePIG1!zj}U`@UyTk4{c>elR7``F>5Ja~*!ZcKmancSPNe z7j#Agzy31LHoc0!^bMzZ!#hs%`uCjXkMQw+h>!OJe2nko<6YMPE#G7R&_d|C8+z{L z*GL@We02}|utbAwL*aFy!_K~`rj7pinoV3t3*qRJ!1haQ(}c1TCkD-S>~6mUE9%Ed@J+LywofI zz>haHg&hF>kwO01D7|G6XPjRRU&?xT$E>BD{4cQY>=@2cM6qLDO*B7Mjt_ql{J$1B zeQ0C+)bdw<_)env{dxEh8fdfc(T4aV`{1kYcq7sL;d_bZSPnkx{!Vi)xO?Y2oslBu zr1-6$KAtl))tsj}iQg&RZB%7#u`0VJFF5n$w}wY;v`|wI|{j*Jyomym6Yn~dj;-6|f%kv&TmGKr?-WTpBY>+gvsQ#pWW^mW=zx7!QcN>0J z^j6QlFl1L_ob*ciJ=VRz{Z+a^4=yAtej2{1A;*#j~2)47?yCi>x`WgLHeaqLi^ex)4 ziF-!I^HV*Gsb^C!^>M#0<)OM1bYxb&2+g&?)mm;O^nZW;k8IDZ6i(f#)`xI0ZCS*3 z65m3;^4r(KgEOf6X@rBkmH*DHl3!k7(V+6{p@4MKLF=RThtG>&-rfK9au&e4m z@#X%d!9y0yuP%MK?G)LZ1>UhS*{FryhDhP!PkQq{0_ke^>jY!B{_`~pM|*2Np!`~B zP=8v>|94W>ANzcp_C4Z)vjRFNBDg1mD>$F+^eZ~EQ#vz>&dfn)UW~rH2z@yZ zeK`+(*^2J2XH2U@Usf}B4bIP(Tc7RU7;EMqgIxEZFKGky59X>vyyfMNdl-GZ$?D1` z=}OY}u+gv+bY@R-`pDpoW?tc7>&(K(tg~!M?1{6fpZo<);7-w>3OS!GnLX{Aj>bax zoZg%nFFuRshlF@7xh&kgtIT~)Tp;7Jt=ZdE(a2YJo%a6J8JWuWejfGbJ!d0R=OGu` z!~VSDMkP9rL*nu9B9LQc9N?mjxk#DmN^{&hRYMZT)dL?`B zYO_s|y@n4-w%c;_$vo*~^hkc5bSC>128kyzFPE|oWozMu!+Ef_~(3-i2_ zM)`YZ9v`ZHImGL64HI9y+E(`A|8CE$`UiaGZUFdu|WO!}m=%&->;9!C6dS-!>4hHDuA8 z;{Va|3qtR0{C|-Af#B-)E#!MQ5+4p zdW7S3(t>ZM)juQt-}LjdcI)S7!#B-`ll0e~=4Pc=W5?(2+RvY49?-IneqO`9K@nByE{Gn(cI-u1*lPw+a>bA_P=iqI&kB@;S`sr8papsNxYwH!% z$@Fn_i2Atdq&kM{wQ1V_tzPLd@PPSZ8u@5L@9b3v&xP({a_5{u*1(o?8^X+ZfN)S0daqt9?K6ZD>AqB4zR6FREh9sZPe+ zYUD6VpA$`)Ly<@1^H@L63i)HIoAQ+BCi2`Qdv(DlnZ|#9#Jr_dKK(qe>F)1UkCo*gCCh?4MBG-`ncDP_Hhrl zxDV_BckeLnWKNHD|6;1)k6-unuDEN!-Pi-}XDn{V;{FmCyVv^zAFj{$rk-)X8^+Ds ztKoW&1ozw?aR1!mZlkPt{GP?Vl=cmH{v2_#qtxzdpK7O%JD>CuScj<|l&ECyY;)Zp zr!r{&KZogv=euu~vlo@T$Uw7X;MtE^^I_jZ96y26;So_c(uxe9I1$Usrx{ zeYIEA@6Y}jmfLOl1?HRYojowPZ-DXN#+@08n``4vBQ6Z*8Vlztn|^{VqkC+E@%}QK zcHC}d>xtKVFbwZP;xuPa**AAfJBKvc7UBFe4D3AbYv!BpjSS(>wC?vZYtH5##r41G zePu9j2<8#mgQopwIA6neRS{@5Eux z>DSrsr!gY;+xYmn^VFm_*>rQSD0^{8YZ~N?O|ixmNe(q-lOue8Oy{?lH;nMh#p4B} zan`HQPb(w*8R_W)3pc5Bd^RUIGw-{}$NLfKi4$yky3nMj7+*wFyI>#VjH^8fJK_|^ z$>-U>%KmB1FWaAYnxpLbp2hm}T~*G^0{T+fpn`?|+2s6+wfNuE7qn+%1?TexV_9$R zc>vBT?p&=0&TLaYXU?gtA5`NL+QE5Y)nDtTW$ApE%@pnx1@AX@jp)t%g|koWwbMO` zr))s?V!O|WA7$`EwAPVNzJ)gOn7+rHF!4ikhYoabU&Kk$4JF>2=3DIjlW%*!s!q|J z9;kg~(H9~+tM6UPJhf`>_2~1V+zXbPp*K1?D_-%3dz{6}FWTG4Uq=2X`_A969NOEV zWi_@|OW#B%8~d8i%3O0{Tw-Tkw?=ngLYAys4b$Ls|ngc{1@&1*ih(+ZncH{O!$); z=@%8@@=p#QFZloT#;A5fW6Fju@}wg zy&`WuJY~GBXt!JbD6J9QG@TmS`*c!dP$1EQ~fsV)*{gh_L?J%T1r9Jv*gd=2Z58oD+ekspI1O zkfTLq+z*_YL;Sb-T^s3qD<2uD@8y;q$z5)Vp{{(GTED%Xdc2}E6dCZU!IFABn!{uuUtx- z$d}4Kxn{LV8RxG=7yA~xe_r(gL;b$nU`tIO+Xe-Dv;jQXw0j%Og*R$9+5mpBhk|yv z3I1PW`0wv=sDS_9f&XprFb4nEqE|J)7yraZ%fseJ%{->m>p0Q3v)lMyWO*rl)k#~6 zmk#GZ#mk80 zwxL6%=cMDL-^$UYMpn^x(y2$mhu!tv0Q#NPcZ?mrzB@R}uWo&pLtj+CR{QdUr|x6}9A>Gzon_|4*1&+ig`p}ziZUbe5l z6z=QSA!~0a4I5B>{cgsRj`zD|O=o7hWvvuhGk5Ja4=}Pe)SG7bS?Zm{*N#_ooV}ajWV`4j4dssshzoZzlU+{TE?}4(72XY5wY!jZD?GZXU8@5 zw+D_yPXRCf0%taN7A!u8HdPxnptXs^F#RHGw9DKV+LpP%^m)d ztp|}U$$Ai)xb-a_+v>6|9{9Bky2bN*UNMKDE=#{Y0ohwWHSvY?oc07sesrdw9(|l3 zeAPjj#yDS3eB=8IzHK972yqroRU z!Y4eE2jM!~;#p+z{7`t7#~33c2EOc}{e+`F<_e#1TnhXg;zXxl{u%g#fS&}O`j$W5 zm3UKtE!uAarr_MjcV|aTwjQ)H2E+^9{|tV=QRAhrFhTp1%&f>nD zEfJk(fGf`TbVF~ccPihu4(-JYw`HOGG;rESNS9;hlK(^6LhzS?7o3}9Z&G6X@UOhp`zhBA;xA#n|Js8RyQgaopRn z8B&y8!n+_9tUp&-{OBm`$WmT-nFa2?k{bV(gu~P3{zT)Y>_$FhV+n0R>U9zjnvGbQ<=SSw=_;}RF zoX)q&&L2|o1a(w?y$exKe%Vr)z759C&)WFN_gU~zIyg0+z2ES*n)9q-`(7{-#IM}p z+xOFs@a?^m^u>lg!G!ZGa@fBpKE#t6BRQYJ7+LUo2Af##GYoO(&tV@)e`lQZpYo}H zlr;@;#g~KN#fR{~m-iws2YxAi33c9<9ao2V-?))|i|Ew|x-zh#Wj{+N%6^v4kuFsG zNEgP@bxX0&5`4>=a(A(z`+#$qxvNyRSP8zd!`wBG2ycluAH1fm(Boz4Vsnm4dbR5S zwVC`P+7F9g1RCG^LC|Ie-nEq5w{60iQ`*UIqk@W=w9)@{E|#d+$6O40(uY$AJ13iJ z+N{_+9l98|D}J)m+A-;FJ7&wXej5#?eNxY6#?@h0sEwL!8=Z)(gQ$1yGROU+ z;emfZ&@ko;*0)KT<{RwY0}Kp#gbB534W5-17*_AE-IR0nl_2G^Lkw zHx}|5@VuRIt&?8|a(grNSv11n@}4&|7kSU|&Ejb(a!&~3z?Yi{;n+@pJPjNj=yA=j z)TXi(g<}W5n}9#p!vCFxzak9Z8R{MuhL68?bO?SL_+x>eu&`AJ>BM>q^QRW(Pr@)0 zL){@^nD}AyLNH$d=I|b1PPZ`curU883^O&Dc*WDjmi@lK+=7kpKH^MNTV)sp8gmva0uva9LGqU+4 zE5)w#=Zoa6ho@oP^~>)&T8F5ROr1y>fBcYc^UrB<_hH3h_?@_8>F5^5(Q-4sD7}zz zG>LfU3xE}WZ~I!Zh1V9{y5#pdXaZH>3;pC^Gn=Ep=SZ|+`!L2 zE7)yg&;DL&#*gN`-?$Mwy1PuV``|vxJoSUrjPFxM^&bo_t)FV{CK;OjX{Pavkd2-s zyq^9R*zDgR{5#UMCZq8-YU)zt{qQjHGtYZ%KYzU@xQE=#cdO|4R>yv_-5(bh*!<7g z{MySK!2DSG;qwN*!8+4Uo1R@~5hlWn|&j~ zZ)y6gp{dyWhe^xxmRp*{pXY7d&w@Bx=Fg@~p7&!L@6g^U_9ct%Cn&>Y!Pck9YbG2g zJ*cDp59+l!l%I+W)T!tFtr`YbbLO1vh%!5;H~R~nliAU@bbuKio$ zaW}kT?;ca0b+s(c0`D%x0ehiMn`P6oZA#khHtpPOxgu|#jXNtFSK!@j;)=YvHtn?C zVZpDfZJux2JT*P!xzy&l*yfqkL!MbS&o^zJqkG76w#_rs<{8~Xp3`lfQ*EB%yXDdO z4kN4Zq1xmr@e<}+>>Y2*K7VMY@p_vtX!qbNxg2Zqm3qhU4P+qOZovH`<<*}Yi(7KF zinu_o;=mX|S-~o^IDbXD&eV%Gjhp%^-%y)x2;U$*z@;@_Qx{}?pn;R;b@Z`kN1&sx zi7WB?@co9(8LA_rlyuS^*+4y4b z1>!%*hKsys2~Q%dJBT$858m*Np}QmO9h>JwHl(nzV(j_X{9OA!P9}af?+Zq5Pwbq= zdeBt%#+}4|zZ2R2=Wymf!M?vT&h|5J`r@)aPUofgH!i`yaWVV-E@Ho5l0AX7an90? zWWV2Neup{!UI+I4MeH8wh`lpD!Ja?%S6uxVbHA#Q_%r#{V^@{ib#D27BRQPO<$c5Y z-mF`N-WBG&ezWHG^8K&qv$0X-BrB@JWq<}|@39Nk#x{S>9twO{QR=yjHLta?US3T+(L9B7eA=6+JA;F}W1i%`o)mElOnP+A zq5R*|y2!>qOubTX2z>J7v@7+Nl35>V!0*#A+10wG?%-(Wd_!=4%7N!w8;*6?kHWur zZ*FIS&T=*8c7C1v2ibSALi>HR|4MU|JIV7wx}F zY3$rq6Larld_Eo-$&SOxQg_+11GuvbzY+Yt5xa#mXcbY;cg&9_;CG%kmGLymJVE;n z&crsA&2cy|H1-_Ix5c!9)({H40>Tl-4$)b8DQCu@Pqg!nr>TePpgnt8{G3x1{_`x} zW$axF@a~V#M&n2aF#ZR+dpbi`7dk^XADd=)Bxl24`7+j-w!`LM>s=QX3x-75hofK!dLN9yl4Hqb2$85#re72`F|Ms9)qs%`MEZGe(tBli!ZX{ zUzyU)i>;S*H0sR1@aX)UV2T%NfAOLZX=SNW&Nh-hFIVe_tWT7>tgCM7Y@O`pMoJd8 zHTdyPqSP&GDRtAgskl5Dt?c?YqOy$Hwpe$uN_GY+~<_E@3! zYwD%^kMX@3`g?PR@nYVU93IKtur{_I^M^iOJN&5P&8;cidtG+8Gc&_GbSD#sY?yYb znbS6L9_toWhv{r%&W0rKyq3`}QO-P;(=M}kUvxER+Gby@d(28UlrH+o1DX2V&Sb1~ zL*|lP_C-%NezgR8WS-`FH~H(r+9!LR_zpj1E0#H>3vWRVC9^5fT|c!mHM{3N(neYv z{XlhVyM+Jg57$y=M{CSohRt0Dubq7M>%1_aIWq@--_!RI#gRhl_vl6cm{_S#ny&|ZZcB=MEi4%~Y_!EfGV^fPgfIL&MD~hOF?H54%;qWB^ja@P0!`!5Os^|@TyT~Qu z*Edp*`_TT9ms0wIzn-vmxO7K}H;l4=|Hn6(%y(~3=qDKYVj z)Q0l2&9(849}m66vp?V(8=oi+!HExXuL$4|4aXO_7YFc*Lh()cZZd!$j!z%wo*(2d z3+0a==*|rChvO5+yVGra`U+>v#V4)qokGEcMc#@cf6>PR>LfOmwAZ{oe1uA08`Rl-C3zWCpdqir-_3)-i; zWw^U-soy@oKi==(^0l0?HPhJDV9JtLWr1tj)n6xijJdOXB1-!O$N_P0i?kt7N9cyAN2>eO)#E+z2=oH^|`ar+RD>9m3m> zINyKGzDZ~qLY;@3vx@k#bC(nw`wN}b(Qs_#%7=Vk|94FNO1xY7-cZMUi!%@{^i8c{ zO~G%PK0Y#2{=m-nGG=WnSi4fcjKsC3)AKtQ$!~IJLBrI}w^>K58YsWhP?knAjc0c_ zZVPuOT!1gj!ME#JyQrLXj_~_MDaI}6Xnt=P=gj&t{@^Enk24PM4dyq%Ki9RU92yv3 zXK}6zeR)7D`DLdpFnRJ{X+eEfsId2GyUQvlb`;3 zYmonhaD0J#gN;vo&YTuM*<{|(tgRVp=>2Yg*12l5UgfWg$ktWbJmLet;RNJmAux>m zj2PH#?zcwf|2WKF*V=rXFVFwsJ0E^+oinxb2FF?T1b*?Y)Nl0wwJ~#1)`42qIPP1> z&-eFV*VwYaao15sW92)W3l=x?KFA8ns86fDW%!T8Gs$Y;^Ao@Bf>-I*-Y&Z0rP_uA zO+C(nUSGa>Zx~sU-&B3+8!weL`DIVAW$EWD7}L!?20>pNnMlnz z`j+=ifBhq{+RvdbtYHdoHFE*=tuAHyPT~SR@>^`t zUdTlnnb6o3=#a6uOeJ4|M_g`5f$z3;4~- z?cCYv+Z<`)Bx`Bn)W&VG{oHx;oJZ5-)0*LE+E=`(hCcbBtAVM#q;>dhS7v!q>Rka( zTBs8?NwauxxcFMLpW$oAIa7f}J@7GiT;Oy*BL2b?)!{z5q>q%L&uZ?RvAqNuF5(QD^33Ku+U>XYDp|KY(fm;Vr;2AY_q*uSjg9kkj#%ek ze>1hSMRT29=9vCn$;shgp=ax{_j5U`i+wZ?8%uh2-VpxJVpSHVQ7j^gqClL(gayuacv%LytV8xo#k5=p279 zcQD6YQ_X%mbcJ+BeGPh=`?BiL*JXTfX~ou57@Mt%UoxgOe$KD*25K7k;X5CXO0$Qb zHb}saCqFM(9E@qJ8Pl}yPyH^@Co)s*eTwgc_2snbc=sUMrUcvTPrlAwVRSC*!o#in zQU}=-Hhs_^?RpACx)X8F!1-_qUAj%k;8o{aHs! zeip)&Ds#X5x8H~MBQ3r-l$Jio-DcAguZ7~BQSN6pKF!`x^r)esmO0%98=s6syX%u4 z<*u{wTE}YYW$Y)P?v}ysyEaYulldmi=R0gV&F|7ZwrEqFznJuM6s`53zfHK zfD0WjRVB&{ZEiMifj1ENs)yvdh4~+L;!9l(1KbFCr91wIyk-u^|HqT}9(XUCP-$I^ zJzq}t$Mv0jyO=B7f}L{X~vq6&GFMx-{yG3()K#vr-h@T*DiL=8NyMsCytXtI3nQq zdJi~mw>bV{ar~L@Bj7kckF$jt`zB|`zxzV-X9s@ZH|cC*9()w?+0|g?dh`M5`U3Yb zaHebgIE5t(qlgQ}(f63MjDe2b$I&|I&=~R{_yy|$zFjf1m%@k5{G>pzTPe>}cb-!>fTz1Gg%_uzaRJ)B|=;Oxu(w{P1l z!T#61h#HrcVE>yt5v~0{ANyb9(iHoi&I0Uz?f;bhpThoM&0HpH|G(?oqSb~MdTX-S zoA954#gllub~Co@bG%_Cbx<&pHouMf74kiCq>{pEoM;SOp-Vx@@ zy}Pj?i)HIp5PoH=*35h!tG?s0m%CaAblY9*k!;$JJxPrFBcMO94{Gil{P?>i(sLzV z5pWKqocO=Y%un*YKg2dR{>jEE&p?B_(ECl_b&Wr<@qEXso%)a#_|O&3Asnn>>AZ#S zOE2Ut?RDn9VTF}%$E5X*ci42DA@TE-c$1;?bJBDsOmPaY|enIyOrpn3tq|U&Cj} zaaTi;+lDI*0nM ze@?j6YlbEVpVUm^HI8+)4&=;1qI3B)<|oKsJwB(A@VUluI#0moBppAkkMjlgXy>K5 z&KF5+XW22bHx7W#@R*wXiurlde3dQrzN2=)4w5d{o;MEoHfGmsNxy;g9NIa{7yPgq zkADfiaNC!ew(qygeC>liLE8`YQuKqM?Q4aTcGzXU#vXpt_IAGZrY+l3+n+EkHRI_U z{kEU3_KWp5b2ahy`4G+q&R9uDscuh3HyZs_t^CIJ=S~jhcA{yn?me#QzssEM@erId zp?!}z+ww`3M+(+*I}dAs20Pz-G*q_E(xCcYs9TLxZ_0JG_E&uu8JS|f_aJ4mGKEk2 zG-OI?g~}T9cL?-^Z0xx*Tr3?k!NgHdL-}yeSm^fUsnV z{?)AcK_`7gbbgn%=-~fAxBQ!Yb8I=KzeV_xY}miU{JaqE1mnwiaLdkbV!!j#n+g_R z5W@Rc%4`3#;ES%O37-`TuO_TL6G8eDggM)!wTBhH&0pb`!zaxJZkZakgO7AeiI=}7 zjjii^9J1}%b5>x};%mF@?Yh`FS9cd^oo;`d-p;)%+&v=O+s79l=k~T~&d);ln#Q?~ zjc?&i?ri?_1b4^VJ{?WGH<68ZCc2w#d>Vf$^NW{MpW2QC-A`Rhj>2KS9#y*rCS-tU+eBmnl zQ_6<%=YhYg^+>li(66bn?pp?y?^8Vo--G(KrtgaeU*6&v>{oFr=@K%QKj_V0;LkMqby!+Tb@XiMB z{T6Sz@U~JmsBcp*_opGeB_X^+dcqq!I#k~Y?hp5Y_jd5!V)5nxi+R#ZT{TCWwW46I zBwpMW!r#R_E8zFGi9PVUA%vf~(zo`3{~_>SVDYa7R#$7NY;uA-%P&hG@by@A(*##% zwnfvM-+exE{7|1qb1m!}1UqK>y5CRY{oT)c2WJ3+^(=o)VF`47+}W+yFQM#~ zke;t6{Fx1_9cEb^-{iZ&#s_;vlzxs)|2p4bya=bCVbf3N`%Vw#r`q%r`M$bay4qq2 z@h{qVg(nmKYbZQ{@Y6Oddd3j0x8p{w{i@vI#D9~p{x|m~Iot(i$4-?yh;*H!slq1H zm{Zl5SsBMJiLxK0hINma-48O0H`{7|q;q`{@4mM(jVnU51r5c^i7&Euq-*)^s!pxC-6zUhYcL)n|Ht=ns(9et%E}PuH2nL*}dua zk<*zAUhnJo=M3EkxVj%w>&?O;{M8}cJ2WStFOSohhrZ})t#pMSTjhzzRldeAACw(K zSzp)4M}t4*r+#1gmGU+mVCXDMmb?AHHJZG&z|y+cYSvZ)`*D42)Ub59?6JXq{-$!j z|7T$j^;U)Qm$BzsG_}R%7axZ2?H+JxA9j<2FTM2uQ&#DB5})Mz1HLJhi8|xbH5NzO z#}TtQ!u$(-T2H~dP1pH0^-ZQegI)Q^WgDpeS_dhER@pM2^$Pef)Z@Y+-^PZ|kFY)} zS}s%hR*M^csQlVcncJveFc-Lxym88iKbouK7ncufMOQ4(jZjv7>UGNcXGu!DABOP# z0DMY6-O!t-xyOoNt?0QBzSfP`qSZ7SP=2?B8XJ~Did$3eufpbgyoNX+^G9) zf;qxU>Q)_^53L}4d`QPXMi^gGHvcaOj}L_(B76+tkLdq`8K;l7T$CBBKKoPB4h`kK zpYSLfmVDnwc!UiHdrzeU(qCl8o?I0lCOvQ`c{XUS#sBKFL7Vjswb>HZp8`FUd^a<* zg0k=0aZLU87GUfbqT@!wy=?e3U~hUO)A%{zT04$K=IwnPEBlT=j&)GxlMu{0U~Xbw z5b*Uv!W(T^vZ{IJyZ89>QFABZH!?H-^wzq@4)TZ>@>_ljpY9Ah7McDJjB`TalL?ptrjnqkX^=?%uPhh{MTL#t%@Ibfw5Y+1XmU6aLI;B{eJYwREYroMB{7+c0($2P{d zX3ENLh_F9oXKR7c^O{SHp}en0OTCSpYl*QwJC8N&J9#Uva1eJ67u5q7mR%*unhUbOekASnarqGPV;-C7+1&qam zva}R>e}$Ha@pF}UPn$Pa3%xriCmT)eT-I`svC;lQ`~Mj|9~r4V#;I5Eoxd`2Zqwrq zdkyC~&YbF7bIdy(x)(?LQq@O=?|NXxvh7^zT}?QHou6(fG`vy!ZHxu$IzzpOEpJ4V z`13dRSUd2i9DXHkjsHabPVGDkIBF~ICjCr2O1JtvDsv7t$i4(Wa>@$S2iquln{P2ls<&;!=Z2< z;iWdLb{RY)0_rryRHL0HfIll0l7|6lanN#F>4*y8ikz&OkD zP2tsq&#+<5L!KbKFdHuMnh8%O+|{t3{Q3U8oprY{@N|LEn}NS#xchOVFDH*tri*i> zS-qMlaz{y~xC3bE5v*yX#u%9{Coa%^@8DNf8)$5j?9D3h?dSV}C4Jk-_a9q=epuq& zOSmjlkGpNYyZDya_+aj*^4}xAz{aaS>d)E(H=p<#!amQra|E9E-`YJU-$Z)&or~)U zEAO@D%O3ch{#~KL`J!VjY~{J!<~iQxnPAhjHdasC(b>Eu-Ymi&Tf1{h*8VK^&LjRa z!U28S%erlwPoMh9nWU>7&*1xSTTb;3&p*HDr~P9^?mN1x)viUgMg!g#cvZ~#f^p|K z;0W&0^6>t#q5imI*P>S1vOVddwdbT}EWO&-MHRqGHw?|LMLj~fHul=>viA;pnusq0 zr{wQkXwg`7FLE3Btt2CX-|C_J{q^uXTkiw-GPi!It99rebL$@fH<(-Z0j_kdWFg0v z4eFTEyhn56nquZz{=EDa(Hbk}tU3F1uop&C)=!Ii*OBJSZGm@~rT3B$y^`U8-nr1L z_W59pFURZnX2&A-nMjA0PlHb!M=>~p?a?j)82sSFEHPZ(_7N0$5@B5zm70?4k2gGX^0;YODJNtER*)hmNX5o*Vct z@(8cNvrk!R-2eaIWgK?`~FUuWM3{w2ZJp2G@go@Z#i_-D8A)qH|6 zcx+c|i01eq?$$^*&8gk|>1(06<0_x#D}d1zE0s^v*O$&g?gx|&Xt)R(0$HrJcmr9~ z96Uw2u7*K>DM}wqe&1((pc_G!6?a!C|B2+kpZo!@ zdy~KA=HX{Wux+(>Yjq!ImEPIxqJQhI56weovA5zb_7O(#MPB+&*`K%83^VK4(!Y8i z^m^b|kvAP1=IV@00K3d7d7*4)^{bcufHy}?y2iyq?}rEYb^LymH9ErUj_G-Cc?)u@ zeMNQ98=fyszU#}Cs@Fe0Dp-8+=I-(DRp8Vz4g}-EMts=8o(AcTD=ogilCNvM592Su z;LSEO_67SP^o{g!&Sa0+smXWB9@lwW$Ju_5bif_h^5Zvu=T+hO)~5xFV@}~h%~cZoyA)ljxctJ-=<^mbEFuu6zXZc(YaWudS^|Sh<%hjCKFxbn63ut{6HObx~@@d*2q^Lhn-GY^^!6 zyDaul2W6YEg}P!#vZgb}$nLwu`E+3KtPAX+LSqk=&{tH~uLJAs?A*A}JCpEx)?QKi z>4b&zRK9Q7_}%S+&i%4u19p6|8G~+yS4JN+9PA!RyOt&L-TnDCL(@_t&jsED?B!s5 zaM8^Ctbg3qpCFP~H@GjbiI=O2tr5T0+!=Q(SzuQ%^k z-QYu`aI}VSBxCMi;b^cp;JsvJ{}7I+Ee>ZdI8L%SQWnQ|Og$>P>%sjUof+xv3bzeD z3BLNpX5xZ+JZ5ox@M_QXINaj6#NxQf)FXt$;T}QZXfSb`g1+=l2*TzgyJ-9FBSyK-ax2eqb!8IWqH(MO5_JX6!j$`92jxnYlAspQE@@rEMizDr~ z$D<(}wHC*Nd%@9eagTazFMQ|YVcu-UuK;ub)Z?NnriTAj4SaR)>w>>jJeHD&TuR5 zlY-NFxcko0%n|M0tw~vWhI+5EKB%!!c7euhb5@6Spx+w&N0_<=XLSzCmh<;-|LaG7 zUw%Y+8*Z(PpZMk2tu>UfYclaHZH3-j_~irIUWc}yn7R2Vw~?|hTmQW1y_axV)*n#l z-A(vF8xHHZ?-Ory-?A^qO4ogtaGuSlddw$0FbjwMAB6jb(r+Rxd^hstERV6B!nVuR zHvQXtzp(aMIQ=r4ehJ?#J*3y#^jUmA?jij=n|==8bv>k?Y17Z(`|lpoPqyh(`M%ym zdX-I|!uQ1<(kpHH1ituFv-Q^)eGGAz( zjq>HBY28KZI2xOW5uPDzBD7UN&OGuwCrskH1)#wU_5G9}n!r#jWbEa*UpH(v*~?AjT}@w<4LmHASN3wc!REDN z||fG<~LEskSMJq$d5-j_Ji{gtVQA6I7e#xFuRk`~8L z_JX6$;wZ5=hMIaDqkJKRxmp)EobwFIyXkQHS?fWvowMiM=Va*_>gBM$-jnUzu5vNsLt&4K zf6o1z*>b+^y#HdK=Wi%4wsT^`7ue2}K{w0Kb7q#dLa%R#w%*Y8H~c>uN1mhXOM#sM zy-yLI@gF<>0;7fSbQ?}(?WtkzABj&APEYe~=id`P!RC{`{T<;%7EX!xYr@Bd(mlfB z&oB6nxA9@yc$rOa;(J67=?~cSAM-u9hxB`F`XasE_UF<-!DJg6aVEl{ZhVLL+Ki?>xsLJHqm&T&%n!+5H=@OV4Y(xUX;%jpe8#Um#byQkrYtr)tG zvM*6q_TlbugZ1tYd%(xLlctPt$uiouql=H&rmsqgL1Ng z#h0Jka!L!z$<~%#AK+8Ia5>q&vYmUfeg7CLw|g1czMS_o<;1%%KH1H`43%ZgV~=@B zU^}a=bx*OrQOfA6e*F8x=>N#E@8{!gCC=DffDK&ycXSlzfLI&ioXlb7Ea8OD?Rgi@ z{KyyIPM)p?&b9fZq>#gL>XdxUcQ6 z$}^X6Z^F)?Bh0)qJU2Kv$IcD7OF;Gf1+X9a)Q6?Amr-`xrV!6sj(7iV>F0iL-E+g( z2`>|s?sGOic`*B#L;J_~2S-=yxNhDxRl2Y4kWJ#B3p$f}s_tr|)4?aans=z)TDRzm zjqfhoQt3WLS!~l4_;t+4K*@AwM5*IT?_9;*6=%BCi} zH-+$S!%hwO{5g5|;B!N$Y|~`-@~^;qj>Ve>R+6^pYMsEHR+G$H&;=p9dDQn3WJ7!D z)yA)h&e%j>?vVw>oe|2POa2SUuX9aGd(PC$=BEu6R};$LMZL}-zxIIiw`KmMG7Yv2 zd{CM3p)#LPrkXMVKYm00TE?14zwHyM_^$4|eS-D{%;)RyP4La`9kcrp{!Mu&mU`u! z5B)o7WaACLl{;u^DqXF$>hoA(}27=saNL!2iHprI}1*IDmoj3#}x{1*+_ zSnAL09n$*iQGJ2U_t37jWGO;=YtbDAmUKlu4u1d{VXzEhvCIQ9SP6W4k7*y-s#aNcv;K z9q=d^6M7@J!Ct2*<>RzPSXZVQucVX9n*6di*|K4M8R*KKD^fEqh9!|80W4I&Ng!X{bFFHYb<+Yv4MYdTYEA?w1H( zXnC*j-w2C8&+|Rk#s@Mad3?&Iui^W(JT0s?qga2o^{k+O8vR67>h(#{!1#=iPEk)uYhq>h9encd%~e|AElRUc?Ia5mZRF z77Q5v_$KbR4eq-A5ozK@ zH*oOHQja_j`?7IKv|vsZ_k8>fn#{YM+#jsFDOCPHl-Isn{r?vK%l_5>;_K^##Zz;q zFnry@9d;weI*XJZ+$nq`c~(+JXW7KJ5%7&Vn|pkx&fp&3JkD>Ee<^o?#I(N(; zRnME@N&D7)a;JYEjZ>U@MQ!%X`vr^jMTgUF`5yf8M$n%e_V+$Xn)VEp89krxt?uhI z&!5J*5a&?$b?#GH&0RK`LqunRcNY9?I-kAj?88pdW}KB%)6-9WOyuiCVt$Sp6bI!C=o_Cp*r(oZ$(tb$V z-e{|(uL)oD1;5{%XUhlk-PP17PMxCEseEVbj^*4nEZu}$n{u0<&zLvGGd0ndbx-)V z5fR?b;hiz$NN;$5ewN-z9qsa_6a8d}r#r>Z>)P0ux)3?$?(om+BUX>`o;GiFXT~_4 zUxVJ+$dYu~?P()RvdOJ1<)O=ZyZ?h8y90eDS$gQs)Qn%C&!oqmyI6WG&pQ(sTRS40 zZI+HK^fKJx%N_5XmBb5{&YsmL^UeLlv*}ZHgAzB5D;!iz`Rr5 z!MpP58rqzDo$Bcmd+T!@6Ua9i`9{u?$l2cVq2JG_L!ObjX6d$h$YJe*h?_)aXLJ52 ziA<`0&OeCBMzvb*3_rdTEj=L0@Uk0uJ z3oQevvv|;-Zwj4+o_gip3!Tn;>zvN(2ce&l5$?t?cR)uu53(AaqH{tq+XsTP$0=;R z1;CpRA0niu$=B0aCF(abhEADJ8w>3Tpd$gSf4x_* zST;vb@}~W(_!gU!+M|OU4cM{KAE)R`dRJHPT_c00PemN=X0-k1UHa5g)2Da~#>Q!V z(7$gj&(k~4&y0pYA=ukGHyRoG(Wb)1ZP2K`Mn74p^HKi`jZJ&$=iF0HpD6H-q)!C* z)Qj)G27YiSQs9G;U&Zuc+UgO~zZZDlQ{Cw=fBUwxI2mm@ zZVO{Y9dMhXspHmA=W5zHfgI4L2PEv+62OU>v9`dw?lfP9{*7NbeQMA~h2F!KkAcqH zc1txjMUH7BQ}*$>W@mFtw2k#wx2|vSc9-K}-(d#hA=XL5^W*^M>JvX5>8o_IU!3t!)Vlkbvf;hY3ErSK_zJ9X9n_X;;-p8k)Z z@9!r3Bs!&teZo(o1J32G1=%)A_wAx0?`ZNUd`Sq-e8IuCMSsrJ*pcE*bHPmw=Zk%- z{7H0%Xgrg=qHltsufWj!?x^*K#t62cWa-17pGaF((PsXe+IxLFg0nUnV+B_{{v&XF z8?DHD_l%B4=>_4|TML1WruF-;i(d9StFLGtqdLXcOH)sm*Sl6_T}8Ii{96JscpQK z+Oik;nkzc>+~;?D;_+x6Z`Xdhq0ymyL}ihSHe_ONWutklDc4~iQNDe!)4Z0lO~BLH z+Nqos@y}LAyrtmw<9WA@wD0K-G0L?!aNhSA?&Dn+$==uZm*?f{8{(Z!yNa&2$m5KG z9(1aFdt+osHoebSJVi=qC?spAPQc+b3+tH*!9AbG^;{Aqm{!K@IvzZ*SB%yjOrt zP=ifThkR8teoo`soWqpx%n8f~M8Ts%R38Is-Hd+G^>W+haLy6LK0s zP95MpkKQ?-d)@!IJ+n&vN`2-#@Jae3p*n#VebD*lus!w2aLZ5i!D{lJ%kMkvwG+K> zAB+!)^^fFu<_6eJ=|R{b$iC*4>RYq8clfb9%`3b6);!+KXc~x)GwIG8`tHnR9d8WN zS9Asg`}T~E>WF*$IA>6%FZLhyoBBmtOy|FOTMQd)0rv~9wRa7491PF6L%`v_z_sP% zXHL=1n3-W-k-?tJV9RADN1HQKqRkzLMw_?MuZI4NJ8HOpvg?AX&Uxs+yNY-#ryN;< z_htMRgwENP-5NFLY~{yO`<3D=Jd3v5L7nE$gMT&bIb<%DfY))#CgAr+=!@viwpZet zZhLhK@4r_O=PX+C_KlQNz67#RtT^OgNo@F>E7AGY^xt}5^@6_%SLw5cvE(clQaL=2IlF*BfaNvS9wKl zB)6YK9g_5o)TPPoi8n`WSKsn&mm)7?75v)&<fA~acfV-t={fxjb;0( z`siEuKBKfngtmz~%t>fpr-0)yUfgoxwlqt zO4XrX`mHoI8=x3rRD!tLkR>FoZWyBkm;0 z;Eh$BwX;p5%EA9|wM(VsF{M3Kn-H=r?h=X~ltwQ83!_f11Xk#`k&Wrs^=U&;RkZT@^(WAy!SH`~6jqD0!p!YIR5YCFGyS_$J%? zOUD1eFDzeagt5uY@$pf%<11|&ne{=hzz4XZzGZ;hV$Ou(15EXGd8eS$`k+@lg#V(R z^^MsDz7P7mI?aXf7XYIU{UF@a_JUh9D(@TQRb76$5ud5`tB32*j*m%jjsZ@Sv;7ad z*P#}jqrQ%xc%16Pn#>9(Ifyfi`CbZoOdW`e%b!hLbz+!nXwFZ~INZ|vduR|0@ka3X z#h?54#UEhz#Gkc;ef}I^@jYPq^L!vX&~=~X!)5Rx;LRc%H#@|eV9jAOcAMI`I>+aa z>J~*uCr&ebnxJ~@vIYR3%1Eyr<}}CQ)s}!)yho?9dNXb89{kc=H*WZK`@qzUwpz7s zfpJkg1kFhDSNH^N$VP z`Cb|H{5SH{i+nxv2w4SgPdvJPkk6yrEUw=>?_QS%TbDQBr|`C! zbvk^|cCF;cz|uO2)=MM{53{CU&)3(J-T2LV2|jMo@$=D%n;t%wwG#Z?&yIF(diq>{ zt)#!D?>=BYV)6O?i1l^wwX-&JD``E;h>xo$84*tT(>Ev8XA8aCfPwvE<)hHMiLmtU z=~?+G^scjU(?W6IwsAH8Kgi4>J;=;c=&zn+X2$=AGP47o?AnLL#}a>BP+M7^9cAkN z-^t9@Q+)Z~o6PhB*1l!N#~;Yd?0v}0JWF36VD3$3J}uvu%#`$~SAC?*7u7?%^If0F8S{34#Z!Co@pBDjBP^C zr29DI-b2saNPm*9*|sdt{Tq6t0AB?DPxo5vT>PEpP2VPTiGR0So>z=4$>+zL>oc3I z4pRD2J;>8i;{QUt;7B($S)IR>v2kBIXxkn-s1O}A#JhM8c^bmFd7v*(BU3Z-3_pi> z4;sGoEKj02!JDF@Ic8~Y!6zfVnc^$^aXD$?e}pwLt;w8+%*j@i-sO&|nN1b=4?8pC zmcYNLv+16OXO=wB{>762%&%sBnK`n23eL_GUe$aky7AUm@5py%t_R*_*wU9SaNJAQ zIPS&KhZ35m*e*4JKX8F;c5IR_wY*)ZsWUx-za`LMbYW4 zMUm;wxzXvX&y7q!vp9G9BSnLzPdz_(`igT0O^*`y-J;m^+s}=W?||tqpL@Xc-pWtD zT=LvU+zQfPD{`hkOrB@Xb*49vCsC9;z3SZD>A#yeX!<1+3#Pw1F@O5ViO%%8xdqe9 z<~q}t&mA=Vvx$SJFPfM)y=89x^mTIwPrrR`-t?&xW77{N-{46HOdoXf0n_8;t(qH~ zzF=Z6(tAyx5lJ0)N+jyGPRyNt6#pN>|If_LogU@?KKvh@7@58nztIOy)OF@YrnmC{ zGyMMu--r1w;Cnk?Y|G=y_&&EaGjkq1);$f^4u~#vKKA!D)J0n=CAaned2gcpim}x2 ziDhboO~WTHiAFZm-SghW`u6uG#ug2q7)=kKShtMuD}Sy@)kEJDXEvSZUCe{AZO%dDP3KKC{@T{KH$#}MxmU=FqT{IO|B zc5Hf`G&?pKeBJW}A6IB>T9lnHfKz(rbPNBVz{toqfUIdxhHt|R@m?Zc^8V0Afxa2y zy

        (gyNpDaSsreiADFRZ_4rKO5Y?)_Ru$rjJ{d3o4)DWv%dNAl+_- zSl@ggJp#>p(>GPd#w+xW^Xt4%eG}*!>7B5?iJ)($v2L`M_KX5Al}enp4*z^L{a`qK zrm4v}tqC2nu7S00eUa^@^s9B)e@*%lZfZ)LmP#!-Z8SQ5p8Ok(AJ_JdEKF?4%v2wX z0IR-tqEdaTKI&A~^>!+++)P?u()y4#z^3&jZGcmG*XN`SCaphdg*I(4X@ySZul_?? zF=>NH8)nmrNgL)=zW5nw<)r14cCbw=C+%RT^5adURghLh+7ULbg0v%?%Kepg3~8mL zjkjsXkT%|_Jp5DACXt4Is6XDOO(N}hr}FeqNUJ7oBxxtvv})2$qJHR@x>HCSP1pR^09-+I#ONE=Jq#Wt;uw2P_V zNBH3`Z>e-9vd;W1r8yhwE_W(xzeW8>OJ37bS$jjGvi2IMGI@hjS!47DetKg=qo>%H zp?w6;#=k;OS$WRtDdc)@dTO$j_osl_&*IDKDe$#}@0X8TMG{$s%S z3_ax_zq3Pn>Jj3lr*8hRTTd;uao3099<*^+5toU@_Nk}VupT5m<&4~mo@(DsPYv!_ zPrWv+XFauEeYpocH5Xm*-|MNES)bk3%AS`V^i&+a?Ww2s_vdD;oxk`^Ur(KF__Dj6 z@?nSd)DxEGz3Hj>R!`;mb^d>?r#>7O(o+t4sx_pi;tqN%>Mk?7igjVDtD20iidx+z zorMlVcP&$VjdU8{hLA3cqsyEnr}beh&+4+ik%e*eRYZC$+EO`tfZzA(`qH0z6Go@i zqqn5jYSCdYqN9vn8%)|To41&}g@n;#_2??;vRd@kmFO&^=gLVt!se|Y@491OJmGqR+d&iJwby3~_!`{1qM^#<@|9fV_MWt%ZjRb0D5>$$Sih#sRnIu%(YHf>D zty-BRc&T_P;tjDfNkFYw%SdYcp>GKnFC1-Os-VPPNQhM{Y5^6ml}Q4KMy<*%Bgp(d z-+j)6AttDO+u#5BKhHbQbDlZp?6ue4d+oK>UVH7e_c;;R(LAHCD$z;OS>@=b-=UkV z9xNs8Ob_q(fIXFGbW|mJNP4Oqo%DTlmDP*mN%M40#d*M<%`DpudLp@nzWm}I@}2Cbv&boDsKiBT~vM}dKMjJ z^=LI|cY3h51A7b4)xh2f>@C3F4t?JNR(ka=(thi~&I9&tp6>$ox4_;F>^$hZ8CdDr zg{1x7gLQy?fait4{vOx|fOVknCSav^A0_QC9_*9AKF;%_!2Si;$ANtk`nCZpJ-mvv z7d_bLfPI?hRlvRo?9;$L2Yp+U6Rcid*H~QnwqRM;eIr~PS|J?n1baQ6D7J8evrDc!xy!+#1m9`SVd;56NR0`H}} z4|->>?jGU2>z(#)nD@@dyZ^E7_Gj%or|m&^Uvygcx_i3xTQ|D<0QBR(OLzYPx_w@E zbG{G${*8=_7kYGk=Wx;Qi*@&zUY);4cP~EGw)uZ`_ub@#tdcfb1$ zS9gD#{jH^3@(+~p-{~KSx-#CWyZ2*v|MYxUcW(w~PrCaB(xkgphRWN=KR{V2-L3SL ze?a<0y8GK6{ujZ~o$h{?_tM?>ZQ855o4t2+Y485xy}OHd$+AG_z6={9Iz2$FuCZ~% z0eq4>@!hmdFv}XTy`!Vd$VPmU5x&cp#HW^xeR&0YC(fm=@)abA+3e4ETl(Oe{0+Xz zwn}1gZXDUM(w~d|%4QFfnb64GUvU)r-tNcWcJ(=JnXnz5*@(|i{zk#{maa#qN4&L? zCeGCno_d}eJ^y4A{>jKU6hEE4ca4PD>BRK1CA7=h;*G=Emvh6wtAmQoBxW-{f|%1! ze(}<9^r~Xm>VIUGHCsPof6tFd{GMB{cE#=fZan)V4l%RkQ^eo8w(ySmD=KIcei^=r z+uxZquC1;SKVxuLa?}FS>+vm)9mCoFo?lV({CA;IEBzA2b|#J^CciB)u%Vv|R6fGs8MOb_;Zz@Ex;DX?b(dn&Ns!w$qh5X}d6JZTqtu;&4LHqYaMy%5;5 zfj!Ul7eo&Swt}=PJ=n{Dy_n|;V6O!BVqh=B4#Y~Dd+ z8`yc!cMGt?fn7-2?>$%t*avuC2<-2HeE?Vo`eKtuM*#aMX@Buxp9J=Co*xDFFTg$y z?32(Jn>;!i*j1#x=)pb*?9)820`^5si)aIZmwyMFcRj#w@SkZN;G+#=?7Bd;yB<*SNx>NDGyfcX{c(K$cj5bQ z#phqo^BSHP^1P1cr93zC{3y?>-1UHKncIlpTCATf&q-D?SG&X{J{YjS@qRDgrN;Zk zNAx^bEB}ehm+yh|M9NF?UzPQ{A8Q#QI%otdO!Y=$l^sB>(>QK;Lk&KZ9puiZl9|;y{KeCLW^r zYs4lO;!n;vl(c~!Y=2<0cs>-^fxu<~+aJC1bzt!?X9P(b>cI{Mb`Z}&V21)b2-v~s zl|zBW-<)wQX(xNIV}KpW^Rd954D3i?$Dp?l1{VKwMwqlSJlO95JC5ftux9`}4%qLY zx7nvqh(9{xhooKL!JZ531fG8g>;=G10QOw;Hs9te#6O)8A?|&nlfqewn z#lSuUeTkPY#P5=^l(av2uq%LF#`98O{{-wZU{^q2Y?wm)E*XuaJ@3Ij3+z)oHv;=S zuulQ|Ec7KFCWJpcu%@v%<1N7=!>@&leJ}I82DrC?d)XBGUW2~agn>Bk-zR-zW3hir zxHuyY%=^G>1ZImVuE(ybxUqhPba};%LB+4GWgULPO~kxP#$EqNp3{bmw;|)(@_Vwe zUHR_L#-53s%f`O^Tvw*IgQE=mP1uGz8Ar;w_aWCWdwRu=W5Fz9p!gmnd3qYZW)6;y zKgYuv2j@lLk=?kyq^<4@d(U_U-Xl7FFnP{;;AF=;ttmS`&spoeyFcyS^WMAqw0F;V z@9yPYvS#m|>(2dO(=)K|{mxEg-S5R56cTd~$G#7K%{`CiR_ccB{qZlcwIlw<;(~|F zlrVAf+t4e%gS?za!*8f9!n$L`5>=q4X)@SXFj|}&V)eH_N?mRiX}kbfTdfOa~EaE zW-XZMn_{BTb(zphV|tMD19UFYd0ao?Dn{QN(=6EJyX2NL$kDvXMID16qF8 z!DiWOeq-YqI^(@Gmzi9)WY_d@OXy2GpHX@4n8rB?ULTABr($WkpTjD~v!Au4Qe)av z(7Px9<0D>OM}hMf@FetI1AW&(-!(0z-O$(1`3KO}(6)upD@5Pygr=D$bM{JqX8RrJ zjTYv2>Gb;}ZMO6yRz015uTgea`b|1EI{sF#PKQ#bu4TQIRu1;rZLCHP5u{cLSEJ&18Y)kPW98`QPJ_=^VTHoA14wn)Ys<_wLHHcfax8{VeU>9Pizvw0E<;cN2M+Z1&kb`{FIF zg)7dg1v;VchA7@DF*&egPmxLdfc}wwYdMBJi0qqU@8-uki$wd1TY7o=jeYytH~(Yk z8lenNzSf+@^Zk5F!}SkkISc)q@mG3CY|zQk@y^ijl7|MBEcqRJ^^w8hh6m3j#*y*# zg+oo^`N70Fo=cn~W9f54+1EeFw`A?vu3pF|{x%WFAF`9{9LfrLG3YuwKy?W74%uF# zI@}-a|GBa!QMP3JLHz#rN5aL=5QqNPh#OD2!YiW$9EN==C48TnZ`j1DksImI2zt=; zj;?!;XT_OB`?BxmduC}7bqa;Y#I8Mzn0EH{t8Y0^qM;l)xQ@N}*K_{FH1<8t$l=_T zeEyNKu5z)bC`@dVlM)xtJ0vXZq6WPmE zO5F2Ct_o9~uYS?qp|QLdkJcPolW$C(m7~?P?{jiw=o9?%gT56Ve}mV4AMMxqC?V=G zmU^&%Y{FRTP|n((=&w2y^RKeh=j!L*N-lV|auIdQ`|tgf_Y~z_;FY(j|9f@6CqMh! zhU8iNW=K8HPjI>MJXy|Lz=*C(<9lW1Rqx%yY46r~?;c2d_k#Cs0q?XYVh{T<0tSB@ zd!Ztnv#|$y@!pOZ`=rAo`%PyL(SFn6?fs^6X32ij`+q_D!0yxiv`uX+9i%-U-M7yN zOlWA>o-@+5{Yq2*(8%u7m1gq;7wm$cF>O3+x($u&KVg5j{ZH253uG*5nQCI4wD)Ke zF9 z8IjQ@v9dZ)yx>ayZ{hzslUQ&g*Uenj?76#fTp|m;%7b^V@tZ`n`ofNBmjye@d%O1$ zY^kOH$gXV$uA-EE5#WtLt4X54f$(kg!j7;B%pP}XQO5(otpYCbU93KN@7?4|6h zPpMN0yuEu7b6|KVM4pPvLLIHZm2MoDD2td_32nr$$$npaq|~_r+=b7SB}!=nzRtva z>NB5r^L3A2o1ep#ZxU;VeZpogb_v%9Vl6OL1<=F{6uBWaA&|Nrx zw;`wYJnA4Am2)04d?R%TM$Fn4Xb|c+jr~x}&*@|Bv7W)16~(ksG%5ym8nBNakyG0Q z4W(N`K@;1>86P^IL->UE1Mc;&J$qI3mF}lO%QtyWmbqi7cthi;_(l8^|MaxPcFyV0 z891`P4fMvJpYTJsGHBI?oju{wtz)WgF+U1%&d1nEzA0On2QFmasM1T=i+UaYgbmCE zZ=>$v=tRxuCcnVFOS>HBs9)yPrr;-BS~O+>d0Q#Bh_)+^bOCe4RC!bJYtQfp+AFd7 zlwaqiq|=>tSlu@|dU(g!Xu*oHmyRBzy>7y3c^|x@srENoS{C_YL+$w=na&yXK`KsL zG1{Vm)sH^R>eE!)G#5NxdJp+ZB0t#ftCPse zb$h-&S9`|`*q?XyxjFY<$9MF0kp7ZCbM_9>x01G%xa*PR9YtR4VTt2YIIEXg7WH$M z5$%B<4Hd}nOzIwGuXu#>p`zI3$bCZ^)<-JTCs`s4T~8}Ny3vHZ)qgazn{m)!HmS_;C6 z$Kkb-nw;7pf6uPnAijWiweMuoROWlsr3soyj>F^+Ke?%HJ@pWr=1S|SkTKPb|KRR2dJ;v3tbtAZ7n;1{Y1uTEegbReqv;yFZKieTlp@q&e@0~ z1G~!tu`{_h=pyNXAT-r}gym0{B_gzIIXdlH`m%OVPHi*#rL^Y4ju6-7mlf@9W4k_$GUb>w&56g&oR&_Qvd5J3gaJjPcE0 zz?f{fJ{8{h^*!1t7>!}cH?wOEc(s-%y!q$=lZB4%=j$i~W+Qad z85yauY%B1p$2P_&bjMQBMtb#Z_)lY4)#h=Dze1nQ^u-zETL}FILC+$_u~O<6VjR2p zvLiZ(b4yfGS7O`}8ppJE6}vm3bGER%6Eh0AkconC=GZekHqLX$uo>r>2906HFkW$P zj>fkZ&U?_ZE^LVue}L>t9Ybll*Zoyj>cHY?-!k? z!+A+DWXO&W<&0k@;9D*FnBApw8<`Jfbj*0E!bI;XV4r;}F;|yzmXDurWzJ^|>Z^Os za?tz50keD)^knQ~EvuJ9`oj_AS+s~=TDYPu!z{0aR`=t>o@IK?t~C8uM<^riH_IcG zy8@dh3hg#h_S)weqrs)K*e79&R&lY+1vw8p-XSg|&6KXY=M^%HEINL_(%v2Yo-&YMVINxE>UEiaSSf)4l@wCC(e zYbU7hhd|?=`ax}0o(ssM{wM%e?F-Ykduf-(uj~JjQ!6_InOrJ6L_FcAKZEdvwSnk& zt$+BKmvz-6)kWB6l4t4>3Yyq6*jVBRJ&*QuM$R3*J6?oOwcjkgoKzXY9ky#61Dz4n z^BoUP`|zcktPO;mNe^j{zn)VttGwsc{HN>!Y-D?mnH@vXp;~j-I64MeHZw+RZms%N zBG0l(tI*@JSr_0x`rsDvtK^A&BiJsp81vodEGN^u?`|9_2ZwBz_23uX3QUe`yD;8= zwp(Y(WIEq~&i{$=;X~p7a^u6&FFQW;qhG(o_^`CQ@!>4`TD+DTAAW^i`V!;A(vRNQ zXM9-t?;Ibl2lrPQA0`9ujSq7eALe-D!_xoM_)vG$R~sK>jyyd?=a6 z79*Sguf_-bs$Xh+*meB>|Hp^#uKx1l!)I&0+W0W`r2UT%Cy?HCd}!IV@A$9~8h_FF z@G^NMvvt6x#)nMWrSajPZ~p7!!>6Hr$A_`lfZdG`r^2USW_;j`=KuNlfSxw>Cbrev z=X=$jJ#{ZJ2a+xL3UeLJA!jgOTEN(unm?{gn?KG($Cshw?O8uxVgC3R<{ZMK`Qs~; zcP(SE=En`sF@Nlh%?aL={Zy`aJjRsT&UegbdDq?8qdDay=ptCWihAJL+TI)!Lw6ue{k=4cdp$agQC-vMWnS3h^WBL+#f z25BXvN#~TqHyV>g=gv7T`88h`e$knBE>f( zwc`u8mbz9j4^7V#hpwf;?&tFTNK4J-FQ6Z~mRFCjqNlviv!^+g_xt2c)$4TXbuH_I z-SvrlHI~1uKhL#4Okd7z!AB!n=nRWbnL}npp#g389m*MS&?Q2fqRe%h=!Z}@XKa~f z;8!vKXxms9VIE&_2(~e{y=YT_J(`VO3g0f%URa%h#d$?_2AFH0*LI#qYE6N9yh+(P zlwC#HHIyk{P#v20Q+9-MtGN7>T}9b5unWuaAoVXptZ#Ok2_&PRV^-i@Ed+K=$SHk+R16x;MnXA9}=q>tj+ zhu>E1zw^^Qb*9F|GMNvJgTGbo+rUlbtf3BgOXs=9kKzny;W!Ha%^UPB&u4hg^2MzO zr{10By?X>0t=*^Q?&4*gL8894ep=S>n`hG$k$=@H;*iK+O23zKz76*cE%<0A=Hg#rO*qc__qp^-BlAWZl=#eb>kwHa-OX0FL;GaN^AhUu^4e<}3KCHVk*$G=s9I;g_00*#-Ee ziYMjWo7a!Fk*>B)BYmpcMf@k>=O|E{LZ#Kv;YHFI?8-}T&e`TR`US;N(oH4(qm`^+P&@B>A- zzQ`{%l{Upsgbv?=PTyjFd?FY9WV$&sHC_tbslc5IOli+>o%*Dk7=v_w*V%8h+q1ij z*?reo=KHr4s}nQQT_0?D@G z&38YGPAA5Ic(p9ayy~!-I_X~HkdL|fVZiI&>`E^C2>A7+pMuUE8%X)=@|^3hY^w_* zyCHnaDWBb0%Qw{(*Z5+Blh1Aw{yE`2o4k$iUHsGJvbVtZ3i!UMv4yh72C~|>(xwPB z3^G6d94%<)Y}#8~#95fY3h&=NykX&`p7HI;Wlw`wJ^`)mXv|E-_DDZSXK0OEb5Wgd z8pJ;%-|pxPXvV(}`Fo8x4U;UJ%Qt6N7xb%Yf0kIZ?ext;f7a@f-DPvt#!KZ;g$*GHdeebmd5pQf2PwKF&`qy(LyytV%Rvn6L?{H@H5=WJc%BX*E8N`RGrH42_; z`nZw)FJ-)+NWJA3mmgBPMsR1)cEL8$?rp%{1I~`#@IHE0Ysp=CHnp}qmU<@W?-wj@ zy1GmFq`T^SRJVK9L@qEzwoHd z^3O^K3difvA7A$}A95jjJ=90GM1SXScwgg(aEWfxsps-A=T!2rV{JhImtB+Bf0LU;aX}ouzfeIXkHLRp3zFg(E^8 zTDre=PlGn{C5_98P&VuuHVd? z>d#(1wV3k({r$DqWYi<{!wi2OXDeh5nT>vn1UgRGNt?`^a}c~3_^7&nJ# z{Yd$@Eu1$`xIQNz9v*7!N-=o zq)&0nR+DJi$+e3sX%aWUm(x98yI>;t*^dBcG|kVR=lR)xf}g#}^RsI$BIRe#1HKCQ zr@m`GdWEaC$RBGxiSe89eI$A>gs;7tHR4&;*Y0z4PW}RX?c*Y>pW|znk6mlVA?j=W z?2Pw4`Pk))*ShjJd{-N3e-rjV+ewV$)vR&dbDH(7%jYiNyL{|n^!`@_dF4~CBN zv2S?=89>Hb=&Q3{&#rBv9T997gRB=)cjmKmQuQ58IeJ!|*Oy|a<3~-c5l9!Qe%Dbp z>o}kDr5!EQNzqWkq zUHL41eH$K&DfXZRn!L7?u^YZ~?deRr=AFV<2|n@c$FF+xe(DoDM)RI5=Y8JEN6gyL z9OVr{1GV>T+O4*#&1#?8TEckK)nB~h8#$IA)W%TI#7=sRvZ#k}rsESX;V{UP>iY=w zO|6YH|H~C^1n=@_s6%Idr^}FZj^t*~(b$}YCZ@61+ULlRfCWxQFnOdv*A{qJ)@GZdaBST~V zvobWbFinQ|E=f-^bQSaAo@D3^cqS!7xt%gJ!0Cq%C|!mIc`{Uk%vU4xDH)oXCPVVm zr`DphE-fA_$4>9cUl+n(UnE1~UGdF1^y5uwa&*6~V?J^|z!_gHe$W5hx|P2FV&i^^ z8Ui9Rulr`Ob#;4=`oiR&2jZesKr)+gMK5cvX-#GyQm`ge{`w+{Sb+3Ie5`aAXe zO5+nWITpU`X?*&lZ7*>*>-UaN?+$b2XdLhUC*#wZv{C$!lB2mA3%`UMW$Z_eG*+j^ zC;IcSuPR5wSrbi-Q7JikOEw5&)T{g#LXUs9o%b;DGG9fG6kp@X(HiW$HP+7i56jVW z!JJx+iPp~Bj~qQ+)w3KOhyG2CQCHH2lpMWIzavL$((OFSRl1$0=YPe{TRz}llcUe5 z-&d8R3%B|E&!#-fSLm43>43_exVFC%TMKN-m*uN(!B4aZF}sR zo7R9%c#E~CY7?8=&t0R@8r^Np*|p2@=TWcBZtdBTb?nUtR=X+uRE9aHZq8P&n`r_lSeEs^NQah&KCt zYnAmm&9OyG(dc`YMp@3`@Iq?c$ogy8*CX0%E~>MowJx{~T5QLc)<0@u@)4JlUw+GD zX24GiS@+`_%02$O27NOs&f1&$M{&U0Xb*nLW%6<9>;`;Fb#Y*>f%e;Z9!U(iq0E1P zU-o(xxDDm>7e4S-abIBP8C zsGx17@V#g}&c}HKCNMd&ZvH&|mo(0wC;yK91_bMx;(F`N_0ta4CmQ^Rm}Od%ECJtGlR5cx z_T7tDOG&Swu38U?vu{62JAVToQJ2ZXi2vL=+cfN;FL&beYbrFcd8Efn`MzGIX=pux zb;&^H=JFsq(*TGD($ zz8~Jm8ZB+#M}H9u-@-TUq{mV^>|pUe>x!F!mA=}{x8R5t0{n&I-L1&;wx;ab4%QLf@h8u@65q-V$c|z@((@?hL-XFnpCs*fMbgvi zy|n)#Ers`O@ZNx~+Ij;1d+MaR=(_}}i{e~L(GObxYD%liTJo&en(T}}IX$f|>3LKa zcg-xq$E?1j&9 z4o!o9Ar1Zx4_B_hQ|mut4C`vFyL`$T zN;W>-yXgm)7OY3%3)k3uJ!?N2)3%Lht6Ri64Rh%6GfbXc1Jd``W|(}|fC58KXY6P+ z9iwY#Um-Ay7!S7*Z!Ldu4Sc@{SzMT5MhTbJiQM%dVnVEUg5z>(?_sSkhxHZp zw`h~1ht|T@(k54zXF1yIt+V7s^K@M<-7cEzJC36H0Ls$XG&L`^?lxebb+<{--d%Ug zaB5k1lg_QCth=F4ob|Su&}Y8s->!AH`Ots0jVZ_&61D4YtUp8dt;p64*4^Tywc5V? z{F+-e_!^|URAe`~;R$GoZZ!uw0P3@LNzS!&BtFA%Lz1hJUL&B@?%kZ7nZpT3L z0>-w1b8F$hfzAZ#%@{kX#^2xN6Ux>1K5YMU-_DpPKCC~m;{=_FC0Z)qspN~Yf7%4H zR=3bz+1*1~lWw8zx_5{J&^KC>(%qJ(xz5L|KWQ8mkNQc|y5-sQ$p+ToSKU=R?>KN8 z>Js(mbmHuXeox_)EJXWtjE+OAM&w{8`sInQn`J8wGPZvr?5Vf(K@YUtki&OU3(hjw zhd)Ml$UfCs8nO@PK%6L)3>IjcRJxR+Z#DUPIVamak6eY{d_Jml4RZ2uop~r-s{lEk8G$O zigl6RO{dSh$GLs=vOmlAmBz(>%xlzFx_9{{YY1z`qk~rd3feoc8Du-05U88iu_L+c zFxs(`_FYc-Y9BJN>>S${*-n3CI}Yvcf_9wgPk(FOAlo56qE7K(>boZx{}kIe23@56 z8Y!3+X)t{3Z~0Ncw4h72ew3^uUM^SnA94RU_mcgtw29ESf_VoR$xENL-rTbbUC~1p z?jOL(25y4Cg-`MzJ6QWJQn+6Ba9xC67tduiX4mHaHM>@PbEj92Ta?zNKNXXqx;&-) z!09`SDnl^@$+B#_7f$=#hO@3K{iOBnU5gIsTszR7IN4mDR7hZc+w+ zGOktoqT_#cHMG9UEQ_EQ(aYlv@_@X|K9#tRNE_#E5qn_R-)hh;TiHVt;+z1DZ=uE` zW0$_VsjiUcA};rQh)kz6d_=6$92J`xW{f>`GqlWf-tNoy7hejXI|k67luJL4z^Adj zE%h$jz8hx!9KdW1#02wAo+JKn!vZeT*BlhgFb8pt#gt*+g6Ax*j2Pc)Sy$k}71SRx zWhi!9J@C4Jo-?vuCjMIWF6X<=alWShJ<$JK|;fzP8Tk zgLYS8i`Ddr$tFLOZ?zJ`*069o`;5_psr}THW7lU5{VrQpdZ*^u_R# zwd-5%LFAFK<*;pmzOfzbE!-YBh;Qp0b$GleBlaHODDL2!@Y;VEl}@;XI5z%w1`dwJ zCo?bByGr8i_>S*_<3<1ePAC$x?fA(e*6@k9yBu5}T0J5i$#>Y12iC*w_s_5K>TT#_ z)ivcGY#C1M3w2eWhQfnm+pj04y^k5GcWUSClHlQmtQi~Z34KdedBxxQo^vRRwqIJY zVi@I?9A_q!@J_ObkHCJv{%+P%G)BgGFB*iTW3CD(Hd~n(;5;}br&eQ9YJFYbg4fuj zZ^3Il@WYkgA!dWKfV3u9Gga0Fq-;SrN@U)l}5)u z_HFTDmUA+EcoQ;2yVt~vddEU>=1uUzZq*a}`?sC+8|b`;Pen9{KTJ#{bQ8_o_WRm> zKjyqID+iPx9c*#@x-)N<^QM;WY#*H^+4Dbb_r=;ZWSMc1%ONdivUMRWKnFjNjJHEcA zy$*Ue82`^th`04}+Z`NY_wk+rkEqS*`YNTXCY>4`KLj2zq(9c@y*ky$M_c|%8#bu? znvB@y$?A(7r-V8#px&*_PaCPD>ik#gc?ADYQ=bh7bKzIpK)p6luMN~|Q<1M>_ffuv zKTy9E?)$;LQn(j^yHdEb_rYE7;lAI){Q$UEf_o*nSAu&bxK|4I(cnJD*D%k+eGzzP zfR{OQ>>~1RY|e&wWjhG3aKycO3-|7^E}l(Z8-PzFDK|-(N!9%%U&H0#zHi3O zb6c=;rPF2GJAeP zT}zA|>cuOwpWjd1bSZk=zdLXnbE;8s;-)#LY0A*i*!=idgM+Zks9%{u7g5ImZ7Aj6 zp8;;(hoZiizBTXTd9-XF>b&g3WZi9?-)D78CGrsdW{ix^jj!z0m+rW&a{|3_``gj+ zmyDCX%yT~K{T}<5T=^c_l63XfBJec2crM)!p2gt#v4`hv@Nhl@-xJSueodXO(@F4yV;{T9vLk&L3=ppuA|A}BGz7G8TL2TM6_IePX zZ501=uz>#p{PsmAQH6hVK6A(U#C$el_Zs@$N56;Ycc1qyd6lJpzXN?5!dDvQDx}@` z#5&J$P@5HteIHi=bH)8<+E)o<&D;_6T(< zL_W%Cdz5yTK&vYFrjn}+8mRvzA0^zU*IhbM^`1n1dy?yjSNDil_lQ^bh*$T>SFC%) ztNR^!d_(tNsr!Kc?{(56oRyo>N#eEcbdvZ;G?zXSOuVhP)jjti|KimOcr{3W$tO_S z*L+<%_YB5$%cJ#y*o8YcS{-zC6|uzR|2hBYv8D3)hU$mJzQ;VK%F|6&|7BI>4<-M_ zz)4@9TERc`ZDGuk-G$swC|t6Mv`l9#X%W)O)6xdmv}|V#Y4xNnNK4DIX*teuq&1S3 zewNACY+9BxgtRDWRcZNpD~zw{UvThLPqRvOZ#2NcUkL544 z*Y%N|N_rXT%HQZme$#CC@E_d#Cy{tlXb9`Mc9 zKBN%7{*XC*#A^0h%-Ss+2gi;Ab`AHX>~WE;{~h>E^%^8!D7w^+k+h{#FP{@mJS1Js zxGMj<^hl}t%F`EvXvf$LwT(TF)bVE8W^o{!z>)A?rvJH^EKX|39hUE zEIP=yIIumA-=%|l&BvT_d`IYNA7e&}-)?z`{wLia2cn(MpX#8!zXXTyiYMU9We5KW zoYe7&sLQ)M;i0?17q6b!q4S!=yHkY=-knO?uStv8v`m|JIcf6m%Z6M|`mLnb+jRCO zkav>Jo8zn}ElOIWP0O)qKecJZ_meh_w5UzXvT0{4tq1;%fVZVN5WDyNB>p=)UtC)3 z%@xI`8kbt+??u*s22W|MA9AJqT%7;+d`|5v_(J5PV9v4B2VdrqH|XVy$j1UN&IGr7 zAEKG)brtlH|0eZ3nde8n=LY_TZ>9Io8j-v23H*#voo8=!`e(p@IrzJittj8pRr!-h z|C@(Lz8B3OQgu$vliWJ{+Z*}zgz}t2p2xgAfAId<|7YtW{<}Bhy}F0fp6hsikmpZ+ zp7KrRIiqOTv%G78_9{W$X*Jji1z3lE9tPKhqcMCwG_YB(nzO2q0suZCVf9TetwDTPZ&&|R`Nus6ZNrc zTt3#gR9E?3UEaX&+JWsHWM2ce9`?wOioEmCCNgh+f2aB}%jtJbPVJwdpS#wT<@~ih zS*P`6w;#2?&*$``Jhda;&l`~(E;6wO;NxDo#>x@<`Mk78l|~usR(n3pE;y`D6WTlk zoP3({HEJC|eJ5SEwM#sU*2#3Hw$|E%$oO1KN5#r!Ij=+aTIPk?AE3Q$+CL^f+$WyH z>+b^e9&wFJwa;u@k-JZ@5guIt?c6q`&i%`Bs;Jv~a0*uY1pm4cok{#@PM<}fZF!-8?X9{m<=*dKyO?zX#j%tx^sW6HvA9|{3_*L@ zS6U;uNitSQ{1DeP-IsFDbvOCq3%Td|qhgMMy$)KXuiI&_I<&ELy@oyy(T;N35MX~| z6K(L(hRE)5bInb@dn3Kf@@=d+jAnk)cyP{a!?z+tqa^eeeWZJ`0$C47ZNEt7{m$j0 zA9!VR$hS0&_=0R`SPsqH`Fyr>4ewO8;)1T_z1HU99uD!ucd4^@LVbHJaMxNs&vpu* zWZx|HxWUi)UGzmxX3lKR2u?_6=Wv#m&MDG2kamo@bDipaciW0j;=brzqwj3~WXG8J zCt7EWz)RP%hP;yX7meK!yEdBX45dt$7c*_S+Ee;tU?smtkfyW8WN-MWLk8^^Ux~hl zlcxTB{Wj_c(L=}asxAHH&5h?V=h<6*3R9wU9^bvMX z>kqgT-!PdAzj|^izB)f=+ylD+|NT?k%eI%_JrqAW7OC*X1~Cp5^~F9tHe5W;m_!-= z_mX2x@oMEG-ABI1xkvARM7;LWkO{;(nyDK$$rk9dh`MSl^N}|QZWA2J8EDi4-GYCp zLE}gAR_ZdFchk9MaF3sk(J7H!#5rR3a?R)dL9U0n{+sJDt|z$u$hDHaW8uwpi5lvH z{o?NO_kUmv`g9TJ(P0m@P8BTYgVYp+=ove1ZLvU6qDQTO7=cJ7AH zlwO1^HN*RNR~Vgj*^tUJ6JN$m;(L_05gFKx9o)-alsxEr1lJU7vFF;<)21oh%f@ljvYmOX zk4O&V$8yd;eoJGH$3Gr$j=RboBfHiuqOp`RHc*E8wA8EPa_T7A-1Rp%Ujm#V+9g>~ z+guxfGgoEP(*J+=>R95zh#y@T)(y4pM;TA64Dbkt_QL94{L~MAYT-FqlO~(2jqFc0 zw@qbS^<>nZe~!#m;cJ7Z8*dBlFk-(S@$ew-a~VQWs7<2@l8bb!Ad(iRp566F3B8<(hW5YvOrM zE$<)iMyBick!j*$;N^6ge!RlO7I%^9#XZRMPbuSzWtwxM?Hn-EdAGd>nZ~bc_t8Sb z-td1Td@flCc=F=PZN4+(a95_I&_gmlo#(xB%{Lg>*RzJasq+Y5pghTICi2+?E%bgL zne*iO-7U;xyXd2o%(s%JKK(XrP~4MnCQ{yA zb)e^WqQ{cEkZ7a22cQeRU%^9j+5vj)hcdcDp64rH<% z`A^6BH17vdw!Y~xGdwJ|t+`L9+*c0{7vF;1*Pvq-4mQOPAp48ZGymt{+!fLZziM%H zz%#;K18(Y_j{CoP-&x<_;7+{C+qJ$OmA-~)9=^wfubJ4|F8J>C>gu+CSXX=vw0|1y zZ=n6tc7pFB58r(9(I3`ck=>bu?mBDwR^I!Wv+gJhaQ1DlnEI}i_Cj~7CsK6(1#r@( zvSTaj(OJ;7lKu(U{>gN{>Ct)?aKc~1zwD~2)IT)8ocm7w-8gKo{zj)-{f$n&R`BT0 z7U~hEQSGnK7)yDM>S3B1~xwdlcG>L=1)xDi{1iD8$ z_f+be(z)kMMdzYpTOLH`KJ4k-N?$A=*p$va6PW$!+&hU|Z&~T-+~)3eZUHz1V|6a= zOX=Jbc>iT|?l^QwQ<@$1RdlYQ44Zeqc2t&=hi^#Z=pFC%pmUM8l+Io9&R(7S0Qc#3 zRN*)F)wzfBoUU_EV;`7wu4|_-W+&gZX&8DxVF(QPw(}lXK$li!7GmXJ zosNxrI`$^uw{_~${?1dBt9nZ(%6F2g&tGhPa-Bc%|AzN|cUt=6yw^Fv-Hi|RT3dt1 z$|-AITAn53d4}hd9>3p~;nsa2_Zq*HrZy+bT-`2zik(l@WLW)Pi7Zv1-_zrHBk1*V z^m>?o<(DicS>w01$%7`*GM`I&92rZ=)h(1~Wgc0d!hNT#2Zwhn>o*GCll6un9ukGdG*o#Mxm3 z@Oy~n2LD@CDf?g0byet-D)il{q&4~*PvIP*Sd{k~52UXbkUp}H;afMR!M8YgNHt@$ zSseU9Nk-MlDIF+UoJ2jVk1R5_BS%ED%i8^gNFIlIyM4;hBty6OT z#7=aqJI~2=aI(aX`n%SaNWIP8@jDcx~-2dkvxd&5MN^b$(!psYJ4&A-zs#1beiUo z9}t_TIvq@%-1_!+3V3Jr8@i_z-K2EQBU^c&(r-E3chzq`=n!4#+LUJ#C*Sg_r{CUm z^;?{{xdokb#eC--;@@$@}i~8~Y#9^5f4$_cVP;{l=PlTHbu;S<0|^ zJ^g07*kvV(cUAwrCw-CUTx$C+(;5G64|)z-B7;`fbp-G^L1*DN0mGSS-dcP&XUlzx z9gvzI&!dcOjDh+dhheT?4G%}*>s8RKl)T|C=ibRa)tvqg^6d;{#KhN8%4{WHd_Vc( zk{hm@y*7zQpQT-TKis~{b#CADZk_NCvCmn~Ej+7#jhA)e*qchj?+wZw+q#j~qN^X&k8koFIomg^MrK81U)ou2C)&wJVF zD(6`4Uu$4*oL8=V@JI9R&o({R8O;3}(uG^^^sjZOboc^b{=mEL#+IP<{b$6U+vLV2 zr}Epn(np7qSAFL`=Q_Wq?poVP1`b^7Lq};($d+TwXBt1Y6RWCy3C=1LTf&&K)7yiV z+B5Qy;xv8HQ$k$3USf{ijGyi?eEx;*zQ_b;W7RX(>~6z$noe9x!2G!aogCo$G|+p< zQ;Y{&1AUxiJGyL_tG~7+O=3#`9X5cgfUC%tX#4ElI^mJ6|04H{Eq2ZjsvjP!XUt(t zNfct!hp_L_*9r9Yv~ukGSCo(RCdPwC?wON(Bt2dkA0FF=?p1#%Z4&w(U%)htKN@%D zBTw^@r^m=s!}wtR2hl;myWb~jML%5R<-vc@fd63HcPm{xV+DD(A>+a;{3%@ZUilW6 zIVKI)z|Y~D{I+Z3+%H_{mXL2q#@VwyoO6V; z?DIHpNXHpY$JxI}oFyL4>B5N~^VzxB-ZocyIJF*789633&qy%OK=)@m$9efDD}Qq! zR@Ei{S-fY?VEekX{upAM4@z=Kc$qUK*x%St!F+?cQsSwDbH`{tbGz3c z6NDSN?@GgydG90EqwP3-KQ$+&eo;Q*9?KfqCD8F==(ve;L`#)*EA+g@qvxiw1B$13 zWt?Qo=&kwl`1r(!u15bf)F1=ZrL2wnO#`;Z_|OdnXQA8qMh|kp^IUxUQEZ*L#5~R? z-f=!LjPr?MoKFlRc@xz~azC7Fh)JAf%<__u8C7p?BOWr-A%=3@OmM5LBH|IZ)@0an zs(4>xY0JDl!=9%atLWS7-fD1H0$)uztrH&_FCS3_^_oOEh2i?~>1VF$+)`pab!M;kTuCv+#zuoQ=<9U z3dAX?ee-F%;(KkI)ppAG8ajMtp<)nO3ms=xRO0iU1-$m-&PI1fkK8v7W?cQIy0$|~ z67kHE#0+e*Fmb~H8&@eGU%;6}EL8=uV~VT1i1@0D@ois%pZijL(1v(2#aM-iCkqm5 zd1+shxTGJxkwZ=5BH}A25nCAKPdnPN;5$ z@TQ;s2xYKlKz~#cv(bia*1gRXrF-IP2Y9e08+@mF+gaMx*x=7qdF$(Q)F%pWtF z=hpZe;z#=u(s^-c9f}_lOP=Plwo~#fA8X55&Zg6SiA_K7C8F505w7GV;GE2Ll`pY} z7yymEvK#Kl58Y9T{ZUYoXf1+vvI&d)u}gtzgkLo$xeplGMj`4#`F8Cygq_#8Q0dvu zTlnf*PAEz2D#dqrQi=8FM@Zjm=M8YK0Eb|#ok!c;n9O`r zAK%B$%W>|)Kc{r92L!OCIw}}{nfIsiXgy#fJgU5gJl@xcCgHq8005%C~AtN3T}td#@FgU7R#@T?!6odM65Qm;wCPc#{pXCv@} zVr#VLJB&}TZvG}~$NYISHs#U8O{Bh)m9}?o%Q4~47=vSs$JVwa2DL$PP}<`%?x}Xm z^H(xn+p&x1qwPKCcXR&=_gl*{VpYT772rdW+*s{%o2(A4;hh_o%YK^Z82oa%v6*~p zv#NMAb;@)O+>H$T!}fb(#vC?cCUw`k(5wTa4et=oB>lI%Em?OnW$6Aa{Io8bDkx>I;3drj-5h4fR<@|?Hd ziE{3toUVNsvHsO8Cq|mi4HbWHwex&8mg$0X_l;#LhVELQmTtcg+N-^boA-V%boH)x z>$Jw=u6t%V&+sfeF7@2Z^T#~PX5G7X;+9pCR#u#~mcuDacBEkC7tkI(l_x$Jodzp@ z$h7?6#z`GRT6&yRKU-(^)_V1jy_u@deCorw4xP{U@|=n(5?|Eu{8!Rlo6(Kexr=v= zyc3;uc5MpR9lU>%XPwC?og^D?C%Q-b$2ZYe8~v^?K|Tigig$5tdObR(t&n(T{;eHZ z=&sLh!%v(%3p;Ki^U-s-&gXtA*Y#Y}O=1dV#epqnoWFp3=``yj2p$`YS9t5Qo*joR zmS8PsS_yVsrSg&9#Q1h5_ZqXU9T&-q?ZW1ieyJj@s~tCkxtPv6FCh#pBta^|7)A z$h~}1h3G!by)<9#(I+w9Nv%$~a8}?c*M9%9OA7>ILul3(vcKx?kdo}Rudz&9kFD3rs zz?|7%CvIS`t|eCI3eL?Tuk`$U;#Dfqi9zB*gm01Xof%zG3BHRwe17KGg4cSo_Arm- z+hA38ul)e$@cvusghR0)k5iu7DY@>TjAe`&wY;n9&3xBeLk{k<-jwO|LZ2&LV@3_O z`?3mmy(yJPW5!}{%-DAgnV1{Ouz6{R@=D+I@1$FQZw)!qd4sv5_~iSW_SETn@?G_J z=NXgq*JZ6qs}D8Tzl3|&_vx-}wB@?KPsytEU_bWm%U2jb)-2t-ZrsaRbcyTZ>{=gJ z|K&M905gs9_$Qf5{&JOx z-R9rdKdJfT-^JOcZfIx3&fA6@q??xlA^^~c5v`-PYI`%ol_0J~sqIhJ6A6*D^wL%r~RA7mFWb)wY{uw zEM(_r+0IIEtpry)xCXGMV|DQ&_MkTR^V*y3poc(~+Ovh(dkC3L55tlybw3vJzUoVUn>J-x;-b}gp=R>B91 z7UFNF4`ff=55M`?W3vSslwwaWr0yEGj5#j0kTyiPUkT4xe?ytSA$b&a!6s)9Tw)XU zwruSr_H`2by6OaMrDoOz(MJ{Nnzm-2-3NFN`a?8spe{k?lu`Ekt8L}bWaP7(>WUa+ zTs}}+_@15L6t_+k9devU$fFow(d5sUqu1N~v8v(NUL!oc-o_jf{Ppm^^!hSjq}S8! z^QK{`cplaY@R2S+#}35Cjt_9{^C0Pa_4Yt#7B~bWy}gLGyX6mb{)_hmz&)M3<%~fQ z&pxj|Iz4~3Lm+3J(xq!F;d!+=o^3{j`44{Gj8tD}oWy2EPTjqO$lTINv_X6>nrpAO zZ0RufI^%niY-(h7#&9lVcJniv>H?*ve`?H={Io6dH~jNL(JkM(5V}PQeX$F?fAQvN zqGf8`A$nXa0zVYNhavc|48AFW4}U0l-d7d|#pnJ`xXA!avE0@Ioa%DR{OGo=v_4&oIwQPG>GQmFs%$XK>YU-O4qa>(^X! zx$1n0k4A5<+ZDhc0S~ppLw4*g^T+yF9>V`eox~UF>tg!j)1pAE9Db;<{Gj+Q&W`7O zqveNu=UDDFKBV(Q)xgwzEz|iq{LnIyxn8Bq3yth=O6LVX`IR1m7g}hWyI*90lh6Bn z@SX=Rl+f2H7_8f#iQhj-I+n&1IN^B_T*+%JN*3 z%=0e%Z1Ce8^>L^%Gj<$2?dk&AaoU#(PuCn+yutGH0B1?ZyLG$dM@!`~S+PMq|LlD3yu2Rf&b z|MR?_>rCW*w|bA5slEAgoXg>1={@m!IlLZ6hSTM)Mdy~#r$4lOnCUbVQ}#zYcjmmi z4avFz*hlicwQ)beyN`1p(|(~+&6@{07i4d#yN_ql$9~t8SS@!il;Wc`ZyxBJ1 z{#<7b`3G~~=;c3yv_p87jud}gOMbW9eCMyg>I@>;BdfT7G%eq^$mi}AaQWpD@+tP% zohN2He%n`BjvFVJ>Abv>HACz%)pOTQcW!bk?d?uJBX+*dceg21a@yCE)9GH!T@$!8 zFBR=}z$b?E_r0=ZYpNWr$%~J=_Y>qhcUs(T{*UkrNY_+?|1I*l^I)AN<#X0hSM9qI z9^rJ`kncRld#%~%S#$lK%gS-4QkLqeIkromT<1yhD`wPv&UYT?c^S`cy9PLq@@)6t zz%yOj5N0oj`sAnJ)n20%UGFE4llHuT=Lfv!#r&tw@8^+rPv<+)!RP#jclUYl^Z3^| zFWsp+GR`G}p8jGr=*}dyet%wlBxInfEvG+ySnxa^T{_o&}%I zrMVqA(NnPLKAy0RxyW}4fYbU|NjESqF6>!gy2^ek?GUe=s8=8L@1IY&Wz-ALKYvQH zEO#wF)U}^K+ve+E>TH{{E73WOfzmI2&bC<};XIQ?W|`{Z!>&u6ZS!kl5p=dq`xDu< z@s)vM!+xYlsTuhgwrPCPfyg%e)^;H0vt07qeDtXH_w;`;xipV^@Ej)n%UVGqTr(mz z5WFSWApIXZ*4mfF%|)>%c((&R{At@ku{`GC3lDB8mh8zFH=pw@ee`D$`;UwX%r-%t zrICAC73WNCL8de&o)3*uHfYgh?pl8Oo}U)x?NNABdpSdVlUwaewJrOGu+9ctR^QrK z9Nx`20?6>2E3#|rfiHz7f&O89@XQ_U_ZPKB<{uIu$cy0XmSZ)}>g<+a%#UryIJ<5!w%klJ@Sw%e^4k~LGgA}U8D?#eHZq54 zFZ@5maX?Syb8SDJ=aB9EMDzh?IhQfMSdei=G8yHZ9Le1FBFzUmS4HRLR2~>Rg7L#0 z$2ebC_7=L~xu0RP)24J9`|e|W=<=?l&P-5$-v*sT1Jx%zPbkLtruKo;KT_?l(dQfkAG-R(?^JbD*QQ@l zSIQM#mcu)*ald_0Myy0WyGt~l(|+ue9PFq~X=V6FM#n$FI7u9Y&RDYh*h1(T`Rc1? z^BuHi=C|oM!ok=pUGhIj{wB%`;`{E3qve<2Xyg2u;c4~2pZ!!Cjtb~`cM1pVf?fL| zbPH$O2tWKGpZ>68&4gfvd;h{Q-1l|wui#$&6~-Pt@ps5Id2HWw+Mb-vG|NnQiuY}8 zf!GZAESkkS74lF`Umao0>bt?UnD5H7CeYsZ7ks~svC!YwKU;n3XPs$#pjWJ9r1%!%3ju14&f6~-ITvHEq?@` z;DJ5lFPTLC8k>J<1-L`_LX>}m+QnI6h47H-q1Z6hrR^-%0_or7*d}Ucu$k`*!qY(; zd&0c2p6@CBgEaQL%GQ1CFYpWh!?N9Pe7Evm?I?xk)Q;9g%rWiw%lSl2qF)bf3H_A(&2E0lrp|!UxnD_mrM0bBEI@y14`_LOaO^w0S9?213-K@c z_Vcec&O>H&uX={lXx;P^WWsyDPam91xq;s51DA%J2PGP|fIHQPN$Rcp0@i?a{!<0G z51<`;?GJyu?`*5vsUvixj$0-@uxwBKl){J{}sg8bnx9F$3zS3BK)rIip%Ch1wbH178zdGX#`zPkc z2Y!c*qjj7p_1BoMvC+?&V$kmo;XhFa#tdwfbsB3l zKI-hblwENrvR+L-ja%X+i?=s>V!%_%SX*kcSI+`wdzr?}9L8DB!?5j0Qq%XW%iSMf04~UCtWx0g4QY7$=i?YEC_QR41BwgJ%MHXi?$)o{;A}eOdR|E___XF z&1G_(A@JJwWc%5DiT$0e@R;h`m<4T`-L_d>6&z*d`eo`Sy|kmPcWi+@kC5|%B4c7N zdUf6cze-1GPWy9oaAOyqS#UCE#gX6AGfj6@o#fiJ;%nnK%eNO*uG6qvIQnQ$O>Leopas0$a9~^5giW-2IZJbDJ~GvL@S)R!)WtLf(&nb|p7N zRxB{SgGz1)t}vV#UckP}s@KX_toQp4@)6g9Ui?^eY2j>J(Yb{2VYK!-gFlSjG4Nr& zP12>U(SNu!Ui&6%H1OW`MF)7it2TWzR=1xv%{(DGex}!^uhAyyygOdw`?GCnI5>;z zmi^#Z434QDj@?_C=TZk(b~FwSiQPb72iKuvihA2KCbytB47_aWM`I&!<~H=x`A#iG z2e5Y)`-A@S(?8btj^DkII3kTx?)ff$XDwy40I#u0Jl75+?Xx{}Wb=P9K6 zO#D4_baedb)KC2IGI>>2SH1|oAR2N`A~d|Xv;N3_{ixV?sDHc{d>ZKUIT;+1CPRzi z!_@fW_r{-6^vy)sx`W;RL}v|IcysoE^*8$mJV?L(Lb?JPR8a1pI6r55Wg6Yh$k^aC zx<~Cf5qtS@Bkjue=>A*U^*wOy;2dMiH}Kja#8_O7%ysIq#!<0s+EV`w+EV1T#V8KX zwJ&y}OH=xw8hht&T2GW+0^PdOE5sUr&N8(+DYzHM<}@55&`CYnC{3bAWgpr8bKLVN z-8!sK%U?+Tp6tDH#%Z0MYRix8E&u7X{2R$1Z|=VSzCq+)#96Gzp;L+XOVQx*wEQoV zU-U?~RpM`IKSIh^;%_exfv34otc3Z8^i{}=h#d&8E(T9)TOUt%`K|8yF7H*&f05P} z=xgVUCFI$HAMaAq3b{W8UzN^~lU-Eqm80pJon_SKH;Fv?&bsIu_GxshTSI)$LAt3^ zw_FNFIX@4kZjfOkKU`+wN8vT~gZxPOj&t+z^N%3d;I>COJm2<)JG>NuZu zkookL=x*m+j1z&?f0g&71EW&}QRaQaV!lE=7lp(7|u%pXJOZkMLUFLVw9F zjX3TYGlu&7kb1gp=KC}}C%k$e$NgsSemM6pdG|+iU*zez!QAItn&}(mxy~S-pX6D* zw_}lHBFAZOWW9p6s-N8b*?H_ohzM zs>*2ml*<=ubC{o&qyJNMb%{TA-Gd9>KX{RZ#8mHX$t`wiSTc=vB{{{Z(9 z<_hw~bv;+@TKtQfKUMkcr2zIt>aDuG$o+NpKFe9neT@4QpFYF$!nEgRp8wm+*U0@E z@BYu+f2@0WL3Z;<=)I%T>X13=1L?Y`+gEcw*H_0x$6x97)y|LKts4R!(bF{gV%9Is z972As#gy>^^*@)nOlr=Nex7_pYX!_D<^iWU&xrHsPh?<418X<}0{1guQuI$hJ1Y!KGij>RCH$w#)N^{7?z&8tv-34~UFLOQ zwSFd_w(8eidm`+=Sx>s^CYW@7irV!K##!)bjY;K2yYdxhuu0Fn0nCHIr1wRLzR;Rg zi`Q;q<(5gtGwIt8yTIlEdzV*6clK}O= z6&)D6j=W_aOdLDsFVrc8OY*^5*0Mi5m|dIND;%Lt%Yji`vFKFarJsYFlM~J$&84?{ z7TXfw)dyp_w7zS{8S-`IqwxDKkNk)_O$1KqVaod{_aXkflOLA`>}N}(!EVNxs}8F< zF|~&{b)Mewi7$Vi9_w3kwzUx_jNfB_=jr(>NXPb;jS}+C)4PXvdX``3NZl8xt;8H0 zWx732?+4H)b)McidDga>gWWJEV(kXmHbLv3nR!NZ{OVz{8?u}U;Xaz+a%1MH))>^NCcF=n{NpQsW{wz2Z+MEznG~UXQXcVX! zz=2oW>NTmRwsHVF(rZPWs%^~xipI8DrW`=d@AKX7`-VddUhn*ff-Nzwc zZTV#Dte$)*=pbm@LO-( z!ug8V@bBTCs`itySytimTMKV@VUFJ0-k~G^bbJmT&S`iy%Xs%+6gyaj7x$3;(!3FNEg9{+Fb7@IfVPsXABX$yee9O<(@pZ7Y~Je6 zbL!7N-IeJ26#R_$yi~e<7V~}y^L#1(Q2w|oX=`zY+;DJQdCuc}_jJa%#xt&)7*{3Z z%KS#-DrQ_IgT!<6$8|sb8`ze{b-3^RaoyQJt~_U{`eVn%c^v+~5!qlbW4s$Y)0~FK zL{mA)zq!NR@twlFsZHIFRsyY9-A4bsc@#QhT<>2Ri;OD)<&;EP)a-F4z>2tAs z@(1AWdh5p|I>>YOKg8Wa_Ri2TPKy5(uW`md}V%>!YX(cX23X|IyH2ev19(xp4> z2VQ%s`_F2RGkrf|Y%kE>;qd%%8&6}j^CEkSmw>_H%Dr!8$kEQPD7WFyc-&Kch(BYRAAAnZII`7zjJ(AopQ zBNGq9hk@~@;U%}y=Yehcv^E$I@_ETkeCN;A4eAegsIh!Ua|LcV%+>YGRb=4!GH_!X zI)K4=M9a{R<3=VfeuFlIi>muluf4UjcQNgmPiXJAhiPvxTnupL&mZ48UVEzhO#VM@ zTe|I0+WY*cz{Qh*(eD%XKL(8C z1^?`pYZL_yV5BBZvEw7hPaK7^@-@0>@ z?YvCC7J!4VPl~4A2nG@jjBOudx*2&SfLtO!$UOMrPd-XFhT)B)y>(mbnq-6}{qjiW zcypZRsP~nO@k$S-`#3dTedELE(~TG3UT?ga?fK)K0jz2*tlWEAnt+wYD<9#N{bS8> z9-vS6GFHi0eaI{K@}BBTwj&&T%sa`i zAqH&=GHWhyP+a9EVjxH1!&U4zG$*c%mem_!?1*cG8Ch z^hdJpb@ZtleQk3;%uH_=cqLu#A!*3udx(!)#66EK;PUI#akH%>-?@xB2A;Lj`7521 z6)#o)2E&=V`tfbFb3Xms4qY6!Y(IXDcD_Ja?epd9*d>{kzNCrYt*78TmHu>jV=9JL zetXET3d-Qh393j8RJc6X+7%l&xLLBj&P&`%1+Aia{@F>%^i09ed`760! za(;67K{;QxfCw}q-X=L;a(|q)Hp+V*?|I<U&N84`7NXOJkzU~Bn-{uof*~`~m z;L`7u(T_;nBqk%H^-xCr`lDCoT6nN@EZXn;W!|8S#`2<9=4#4FzoGrGUuH99BE0|F zD{~EHeomQq9e35k7k+E|GR9fwFxAf70fUb{_HaQ{+o`l8wK|ed5XZTJ7oyxU>j8ECz?x_tPSN3($?u zL5g;Zq02De38sSkJ=AGRi8*mVd(3?2?osBDyYL1*1A#BT=tp>NRtFPHz)jV``fcm@ zK6R+>Z?xq$h;9bkbKPb6RE~4~<+-S4U7C?@>;E-A3x9>rn)CjBEcmSX{qN#)YtKP^ z{-T|$uyZzW&BW)ZP0w{s_vUaQKA&Op^PH2t{K4?~6v{;D=kZ<{AD=UEbv$J>mN8x# z;i~XC6X!oe8I3>el@ZQo;&YDe%NXYlaRR@%mY>uHV?Y z!p`ca4v*Jg@$mXt><`lSibgD6*BxQ~$)$hk!k02|9(Nd{e-ZDNY*id5&M>}s;@#rc z(%VS(lK;7MG@bYnZV85LETvVyc)#(F*FxjSA&R-b0luo3`--00}BH@5h^f%j#@`@UoI^PQ``{66wC`TP|4{56yjUCi;y z+zCF5&--+tGBL`CE-v-T+%bSIROV}x5nWv9m06lW7Y+2~BHNcS&beOxe){6``32;E z$>tY2=Xm-1$oKjDZ1Shu`~v4RFMlujKA)dL{#2Vk+BwO~PmwP^|JtR*Kraa;UjHWN z+2QxeZ_EET&w1-wW97BvcZesj@d$g)%`hUfCF;ZA6tWoDZ`)# z;Ft~vJJNZ<4s6}Mo%kR~p3KHKNH&6(Dce8qVmM_i3iO`l8FRcWSdmiu(CsR zY_*&d6kbU07VzwXvh&r3@u8rPeIfkP)XzHk9_BlHiEpERo@8||1qsbbfjr=XV#SE0+J9`w>O2KPN99Dy;uG zdClbEQ=ck^-^jP%v+4u5EnL`#Z~02bsC7;D-hZKf&Cx>Is^n=RuAjBau4iwtpE42B zTQ``5>Rv}|p4Jk6H1x~+*{-|~o;FYF zX|!_>98a#=+W1L&r}ukRZ=N%jdM_8>L*^P(7b71_e2}s!CmYh6(D}+>;ig!6#&TfY zR$%W7Dd;@{-CiemgcQINev6(^`v?;%d`$K)&2Oh{7PJ=t=AF!M3qJ!LML1`mI(I<> zO~Jz6X6DMpclrBs|2MK8^WV|T`R*9^RyGqWOn584r1CAy)7j9Z-uE%?rXcs4QAeSr z8TZW6R_cfo2PMY2hWIf&x%X1Cfa+-qu{ZVV*hPEl3pD*=4`Z$gjp>b2R~0ZngfB8y zeXD%&#Xs@QB1=1CoK4L+4Xw}ih+>>sL za<64OFg+UHE!@|5o0!Ar(EoHoL#HSmIvK*V-Hs>U@&NVkUds7<)*sX6lioKa-Zy>F zuy9vp)puZ>G9Hhxwja$Yb;$N3e9G2$@Gx7}D+iw1xj&L}q7&iV!FsZLo3RZFH-h9> z2{&j{yi9!OTcq7ZpL|(<96E;?`-dzgZqsSjeq!~RAxE)$zV{7$))?nw)N!VG2v6a| z2Cr`#L#OwDC%o;Z%B_tjW#mcsrS(p0o%G1s*GHJQO4gE0yGIK$;C$x2C=_<@b%F-% zdX_g(LlX=7gTcRq&c7 zcy1RsHv{+-ABOIJZ*^=r&gsAg`<9)fICF5;yYDvs4Sdp^DJGho6FXnoz2?s@O+QFG z+bDA(bl1W+NzSY3evnC*!tc!fdz!Rn(@*ihzt9KWVfbUePS%M`9O$%q>^$cV>J&e@ z`4ZMb+Ex3te@wG31)O8Rzu)qGHDjq{jV@uXt1@h5cWrX}6=E#k@Y=aqxT5uYf4c2J z6M7qOjGM{t;*59z{#|BqK5&qKQoid;WvQp>i@pVq+h69pPGSiN*Ud!qJn&=vFCX49 zp9AMlgh!ujQmaC&9jCHRaJTNd(@o0W%QVWg%P+E-eBH0xO#aWw6aSC$T{+)t&Ax#5 z82YU-l+}8rdv;^QU0lpu#yNYYdv>c?qhj7YyW&@Ic#Zg#f6p%e+k19nVV+@=iskXl zU(z8md==5_iONc0^jm0fyRT#OMVQ%82w#X=ijqiXz$rw8bTLC z`lF|sj{;`{pEH2jncQ*u1uy2{AaR7X#zvy7sWZ6S?2D|i<%ci3ZzJ(0pnu`kZR}?% zp@ky&AabJBPo0fCb9O&38{^!t{oO{D(OL8F9oJ+3kATmjTkDU?T_O8=vg~@HIwtsN5W6MC^nqzuq``isdjTqu#3qtG5l__BCP?mJo}8wS}L(+q?T1ljVuL zulSf9j(6N;d260C;p@2#+G})$U3#jtYm`e*EtAlz`%7;i5y9|oGJ^%^ImSS-L}>&<9UwBo2+lppiH<5`#wK&`1m# zq0Uq#ej7FHduvYdaB+~ksMVHeWJHmfT?>802B8trg6^Rfo#;+f-9>#hG}3$~xc-G` zO5^K9-s^&|B!Qn9gg%gLg1a~i^-R=Tl#8`#r27Zj) z0=-+%F(X&3=;o~Cy~p-6cFzINALyGZ*>x50BVI#$ly8enVQ=ILGkYuLtEr=gIwI6j zQfu03s7JQyvQV9^r_QUV`R2ZF;n)}ac<%!#!3BikAJ&y@vvxW z-$wQ(JVkFc&~2Fs)GM~#o$ui9OZsBq0RKw`_$?dRW53xzS~c&6{92wdW9si9Px8PI z_)g^`|1voIM9WoPdjZ-D(pD|s=qzXrPtm)(pTR#1n*8(0rr}tfV_^;GWIez)cT}Y=g#8HV#NwY1Z=#Lj5ry^0 z{FAS#N}hm!))F+B3~qtFF5nQDT_T1G2X7%H%st|A8Lph^WwPrU&7mB{4ZbH z>1If;;f`#|U0fYCo13!C=OruduO5;RZ`0UXV(xuTiy8CF(5ic`Ym5`*{(|dRD@9)_ zx0gJfUlm`IUgmT3Cq|y`Vk=>cm6Wybp<#)WMW6IR{@Uptc-lMgGuA9{oZ@BAK@{D9<$uzrW z># z`YV1bm}q_R*PuA#%an`2Q#-zavNd>bW#V%ta8EP!X)ZElw5a4MWaiVzmoKp3ruH&n z7sZyOGAB~z9m*6(2H%_gUU%qH?nlUVlARA*ZiicLHRa@AdAM@#$6z1h5teHT9-v5n^uMk>)GRNUKI}3kE6~y z>J$!$wrkKU#EAvGihRlPWzcn31?PR>75l+8)g!w7B5esL&w{r_z{MukxKoCkU%*p) zlR75=&hCS6o=v%0)=B9hA}Xtx(IM7V^h;;K3kRd4+EdZX(9S^mswKXFaC_a0E^eP< zaXsHTiKlcF9i;ypnd4b>IqG|iHA8#d#U6e~EzSpe*PqDv=#Rh0eU@()(pU9))DLqS zTF}pB;%s1&ncXsAzg5gRES+QS{DWc~1m^wq9%%P4x+Lv$*9iXTluVR(`RogQ-BKO; zBgHgW`#^g3x0u80@u?SXPW0y8JqwWqE`^+}@c16);oIO)5Bz8AJaFe9#1VnFh_3|U zD^bf=isoI1esf>lute<;#VvH#I<0drZhN=!dHhH1yzsZO}6kA+8)x@c$#|I}t&z5@Am3k!6H$YA*(ki;g3#1^VVe@7pS+L0eJcS45z# z=m_szo9Y7xi~0F=NT1dPf2!0s;HuKq7nM=oM1FDFQJ)R%2wqFPcC;^w(1!L!5w8vD zQPhU|7vUSpHO1_WRrgV4v9YRK>1Qz(;i>ZDz@TaXz6NMhH+q%*!%W?Px6y(h6V%!(fO(4 zdm1lhKf98&7-@p-Nu+&6dtC7N7o-cncTn~o{ZAbqX5BR z-#*5-DV~dLySYvc@0{y|CP&+~ZzOHXZY0`J|HL;A*Ur7Plcb)nv+f1Kx#`G{M*vsh z-bKK?l6s1fEh5}iEL{9&-dob?cKt6NcbV6Yt3SeDkAD5hOY`^g!uw;vd%??uScmI| zpzCJc1|QV+Lgq*3bgHY(=Bm1X=?iGhg}<_&>+J#_Dl1xEcyv!AviUsG^L}C>$Y-;L zG6DK~`OE3kj-`I-T$?|Kei@lSF=zgMac%?rbaO22`UX{|gG*b{Jt1SyyAJ%azCqyA zU)W#yIxy)Lq*rJHHdem?&b+n~I1bQ>#Jsthp>hLsFrEM8u8HT6w}i7t(Bhza)vvtf zmV1u&pJomYSMIu3+;VM{lZlxb@w}$Gms{sq_Tt50Snf7`uCkpd&fA7XCWe9;zv9I+8cS8{rvm zeh0h-H>4|J-LUtSN5P*m?1hT&bkT^O#^{8;sT7cPnryJTe7!l zA6L#Ew*p>R%|6lhd9Mp|7cKn^jbv>&CvZ#!eUMz;#u#I{>^E4WW6~wS2SzdXS8`U) z#gQ@2F}#lh7u3G=xPrO<|12cOgFHmPG?$V=q9YW4jD9ok z>bH-Rt0)uOojyGY&a3{oy)&ZF*?lDIddB#t)0V+sRJc11S`hB|^dQ*vu%8tUEu}ue ztU1(ox^#{`>=EOCPqzt|1e^cEn0so{Z87k1Q<9ce-D1Eqp-r>a1DW2=EJ>(On0cSDpKM{sYZx7CeYMb$Qp=I{%iQqO)3l zdGYli^F5iTzFW=H$2GxPGKUZE-(|qN2YeH}JJDs84Hc{d&hu99m*rSk1Lu=HI46hn zovt~F(MRaCw<>JuwRfRexgy85>-KR8|EsT|zo*-$^1n~RQE+-I_1}$5D_Su8d|Ful zPI|WbAEdlLPqp4Wp(pBSgCC0yu_fd!^kDP`|5tkd|IYI30(-B+66Vf_*B_|Q&K0`% zEYkhCio-h&H&_2S@*pm2t|H)mzIpuhccsdQaBTbJwnj8~fW6`?0&F zgE`h7+RZ*sa%D6o{Yapf^%H+ulUNtbvv##t_)h-$(pBFMEZ(@(q%Olg9}VZ%Yd;$~ z%A{`Dlg`_VZcux6U#2NVSLUxb(+zT(mA$bMFkaz6lhyN#LDnsFRyn>=h23j9_FrJLmoaFM(57_u2zT=I{V>iT|19sj$4UPH zn59EQt?%yp)6GZn3zNUs4t&3S|9k&z-rmq~CmVTMK2{CH;%lfnBQcqG_7?5Sd7sa_ z?wNn(JjJriM}7|`j#;w3QFpO)eaU>#8XT7xg3dmR^iZkpct(H9KBL&2nCQL$9ZeH9 z6XLhX*CUN@n(kpqSM$4yAN&#BV~4$qrOwsqY^xzH%-wr;^IXXqu$*5b|2Oel&F>L@ zmy!Pz&vmS4PxE`$r2h7ld?bh;f-d5EV%o%l$!W2Cb6RJ8v?H0vles$Q1k(@=CC`b1 z1Cdbt9QaI|i4co_z&h^Qrbj!IcFWIiwDa~5)6mX1_dVtM5A0%GImCs2mUD*kXD0qb z|2am3ue0S9@K(`l47n{L-od;4r;_-GM!k3GXd~EL2=yP0w|HOuF`r1N}pvu=#n;!(P7cA6iR4d_Uz!D5HM;&?|GD=Lcu^ z_sECxiGGkW8cTy$W}fEXA^N{Ijg#3 zHFC1fAHWl9;bX1vv54hkL3>|UrjO_jzVY|smr$Pp2hUaf7U*T>F!_iU;5QH78RRUM ze-7*Y>Cum%*@W-=tZ&W(?^MTFV!T-YpS7-yPwSs}nEa#9h99ZD6TJ3Lx9x?U<0vcK z{r11V--zBZPv46+UgfOkSsEwbi#B5NF{0dD%IyHZh1Z-R?LYIn`1Re5H?nrcSi8ns znCT2&u2aZ3wRWiwgp{GQiewG(Dc)(8G@`(5d(DHmj4E;(G| zl$?oN_mW`a|9Bsz|NW=d0qt}A{7(26h0tU12uwSZLN-*n-b- zXe9tIl$|_croUPV9te*9`;LXtwR~ge?6t<6>{t1v>!<@hdw{hoOdYe3n~o=bT9)(| zCGOpUCxKH{z;qmGL14WDStc|8M08SB=v~Xvqv&pq8Qk5m&V=U0UTRvQXIZjog>dP> zQBmS4y6uPIW8yK2pAn&c-QlXfjvdbaD55=C*tscLa-qa`={ectgMvrOmh zV^uS(ZBkEr#${m{=UUu$;#om^_jOzG+uT_(gS!v3eslMl_dc+^;SP+8&@sus>lDh| zP?eQZya@F}->o4{{k#HPano{~C5`B>)US|tkGT4UKl7f2!L_mHW~4fq7d>rToNL^( zuzW3L?L7PkXS{{mcd0*=0T#A@cY5!Gebc4-`JEm;K2iMWjMP*Uy{E;P)7z^`6E{4U zmAafUYmXqiyUN{G7Ay8(0sqJO-|#`l4* zzqmXHy)&`+dcTDYA`b3LF0k=guxZ>+AMPv2t=?&t7tNGkLST{BC_el>7qkd-7xC!8h2KaNm`_C%=Jnb#Ebq z#@TzRZ|c{2{No#fd7Ekv%-AyBJR@D-Yn|}>BpF^J-J+*|V5ajaltuw`x>6u_8`e&-eU4Q_svY z*HK0>$<>!2j@OxaSCEHZ!RGbyo%Ju|>Brv)Cr#o2J{H28T^sRBfwn5K>8RXJcx<{5 zT>A?90r3B>x7@pHy79v(HlIn1%Z{!sjYMyWoX1@^5pzrQJTq-Zwpm-n_pRV{C*{^N z&xY@p4(EItG_nIa7C%UXm&KP;?*x;&k$M#`Bg7g|l4aVrF`rwpvn+{yMmCoZ9x|bN zYj?3RH^R=f0*pCUO^5@-vC0Uyn}9+8dwgpqE-Z(cJRr*Uhwt$C$Nm zk8%0WztV=r^evu>VtxJ9cw49V z5Hj*1`z~yu2HL9v4-eOF3>&s!@@eafpjS|RhwEz+pBulvnAg9^UgGxC#}fKi!M?E6 z^C!gL>-sWi#jf8zFJ!&cSb?n_XJ($-eF3-+Oq1@h3pfb&Wze>GeU!FB8GBG@^ZH6_ zhX^=L_M94L^d82h>wQ<7P9OF=?V+VNO7Pu3GTOp+cGz#wJKJxT@Qrj`TEC}b=QspU zs51sUb)RgMejEIrg7mwLeh2ouXL})la@xHdZ1Wiq9(UeD0<6gkjUl$9*wnrp`!p^_bK*kkd>Q{qo89SM{1y zDYl}^nEO~TRNwV?(suCMgH8eZUU+S3Uw}Gq;9N!(zZmODBXy(0SjHV;sh09{Q{~TB zq)KDDhbv(BwbguAN!?ZO2Hmw=Gm0O&Z2u1G(>}~;=vl!T3;HjccV&r5RMVeo%9m45 zC`f$CNhVeOWz(UvrM39I37?PHE887+MDk4){IHs`8)>T>n{SMDauIs-In3|7;Mg2| z&kXarh}aAfVmTXP!#@3G$qZw9u`kRXbChZC)SlDJdxE?u{tJRvcaM8F+$$FnYXUfH z|5Qg?T3gWV%$ARjwRf>^+By~ZvDQk*xpgY*4Sj2pEe#)={iV96Ua_*rICaPxQ;^je z%OQ6DGRkd)rsj}82VKr0>~&+nLsw@q#tHo8-NyCg%b)WI+EH2QiejFwXg#)%%1PR9 zpPSmV!rgmGXVY3`64D{HGhbD}sK{jZ-oTvP1dO|oHDdUH=Q3}a&sQmTBk9|Fa~kr& zkz(*c@Yek2SKvo+ZE;`zT_|S3gUmfzrko%jZhQYR`fuT_834=0gTNB`=VP#Zap=ck zSxJ8f!m{h1J`T$yd!pjQ?3dnGth|kZ#82tR8hAlGl$;iinQ8B2{GZ_e!+mdkK$*{n z`Tj}DRntx-e1diM5Z~;_$!AtQwh~qC6l?B0H0dI#wP`#rZ0TLkIC9krRM$7`0)6n$JV7CR4R zgp(?h>3`BGe|g}Qpp1ON_wZ90o#_+4>3`vyU$1aYxFtM`$(~F7i}_Y~rt^pcaqU8I zEdrjoJSJlCO}Hm~6Rxdae>wx=X?3sn=0~oACpmj4DS)|9e=$F z_LkD7&K_~hugtKchMb*! zOz7+}#}qF*qOfIAps-{s)muZAmq=)5xE zr1IZle#?N7{_kI}JXv7}>sFVI703QRIW|%K*tW)Q*WbsB5zAek(Q~-NyeP31|DJy; zaOKKB{s~{y%(!y#J&DKRel* zG;mi$n!4Es^ror1;hy*ku4Ax!a`}12z;*dwtB!8=Ctv0JF0Ew~wC~BTzhsE^!1>NM zm9F;aOEGtg#0)10&74oL)5scNo>KV*8Log8hx+vR8xmDEBN!llsUC$gOnS(ar7i}NZ z73Mle(kJ2YUsn73r(9=Ec%wYEi|&JS z&?YsXHA;K?nqYqKdge;)G+~2NT$ChZ7Yv`KPL-=6o&Ct{DVn3peEn~pv-NTJJe!Ym z(o0Kk;^STs{k$<4tUsD@WcIb?zt~sxQ~gl?)Ymgh1NJW0qEK#c1UTp}jY{USf;o)> z&qx+>s4=OHAEW22rN}#{l}BB_!=g~Iw~W1188jq)G5gv!ojVtte7E zih*xvuZp$=PxdmY3fd~8t@R(HS9iapeycs53shU``()<%l3`I|7v*?oro+zV9<0|v zbAt70l=1DH7v7W8Fa@4b8_ca&U(1d%sRu3Y2b?!}%ATltWfOViOCH{5%+q(7C(Y+* z;Xi!e=f81uALZPmAl@q+)_OJfh4@VAhz`((uMcqY-F0a)eH_T^{k7#p^2C!3ZAca| zQ_!!mN9erW)vv2v(SfBEbh0Xw!@3hb(S<`Ccu!&ea#^z$;P=tUS?@jA5r?9CQs2)H zYQG}43epT4nXkDH-LPDIcR9^tRwdbeaKoR8IOA^;0@=U*BxU2L11*KGDD6QryfvWZ;l= zVOul@@Mvhu;?8<>{GF7e+Qe7d-fz4YTx#pivU^{jreAyG-A3scy7{J@wIJ%P1yOHZ zQeNwWrk}1m&+=(A*ZJtNgS2V&P$5@$iB5Q#bi!Tq-NG{Cn-BO#Fu1!FJPEmcP2&=8 zJHUFXwN&$#pJXk4p4dvIuAXxFfr{nJ@f|B={$wW?cRK_(Vne-`_K^q7;e)owkeVoOaht9R}__`w}%KD?SenSq|U zQ_GG!uL8S@sd}(^iP;Zdm~D;%R@El)OL&3OlS9o%`aTXU<_EJjRUS#4x}oO7;{9b? zkkJ$4@!5{TXO{3kV|{7K2jAPWm_1e~lvTe0xW$lf4S7Wx_v@8kjb_!JUCr3vLZ6+a z?4F>he~2?uaq)5BXZyn5Nw9o5m|fqDo_%>RchgPGo6a0&xk|BTO0iG+m_Dbb+;sT$xjL(m<$GHHch{k#f`;G^PiW6r968JK2VZ{h{VRSW zI-KnCiWbJ&Rcv_$GW3*089oce#I=@e+lj0!*zGJeZBIcXeH*za?K1fG9QaL+Y2R^{ zN$r>}Sux*v{*UiA?%fzjoWZxUF&0FK6;?v5oU^olEpVn3nYNoJn-650k^V?~*ChC( zHC%kwjJ$uvQs$%+KgeCcV?H>v1zYYM;uLHLX_pUTso6YFnX6}!}rkPL~_6y6l3+AyB&ejw-?<~YVR}s`+igd+T zVL#PbocQjn?fzb3SsZ(Y-Ag3hy~OjQYG>}x)w)HzbjGf4>Uj3`ai2M`>z$=Ew* znN;`JOsW|_%fV#M&RO_{heC;N{AW6=DSMSkMLu(wvejCXMmybC5yx&GaQ|1z&*uq# z4pw(9e4*doSr_r|SPne>`H-B@42)~At7*Ry2rXYB`Z0mN(-$)j zb*Z|tysu3_gA>rBR z)fndtJ?nyr)9pL>VV`-$qjO)HJ{sG{ z`K+n2V02mpn`qn{gY+80Rngl}+S7cBUmwGozVkAd7XXL0Fnl10T#${frWO2;UcKXt z6BtAM+R10kXCG$Qi(s%f1W(j=I;*e~TIhrp+TKaGHHB#K>9cNEkzM-AX%7{6(Q&ve7RISrvWXMxBIj#QoKPv>*~3?8%LV{5-F!*<`q zxI*DcRq!Cmr9JfbYWk@GiLS1g`e}HfVJiX_LV@$Jx8i8L@v1GBL8 z)0aPB*!ePj@$r2oxGcV`wJ#IjXJ_F1x6EPiT|5omwsSJLh(3M_zGDONy#+Z|y6fq* z*+xIL9u&fpXJG@_$-1LhH9O%!-({W^YiaQHV8x0o^p{&R>p`3KbH>k(=bm)8 zw;rrqaW8HAYe6%zPz!5;dmra$Cn8&2T_BN5AH@?U2!}HEH0N3z%I&wc_VXUaQ)L~| z+Pec7>;MKDYZmqVlDQX+FDL%JbhmFIx4gw#t}{eFo!rg;gVBlb*)Jnoe=#;hpAI(h zE_m;xt;g;6g^v7{EG}pCIp4$kr<;7d&v!m#ZzX-QEz5Y{c#UajCAu)l+krdTt?I>!@PZ-N^rY_NLnpw`Y(HDO+hV@}C{w zQQ#C~vod8?sPEg%m;BtW)3d}Rj-Dkwo~yT1o$`S??w0MAZ>e0BS1#n0JMxz8l+Sif z1t-MYTt z5WOyKyLuE?$IwPOAGT9Gm{>S?zFX_*Lkndz-by3oYjT*uYf}D&FP!yer&P4Nl#o2lKahbEG&(|bb061ysfCZdsNzEd1& zo|z0%Kk3O)`0w*f^GxQF7HyuH=GjGlH#}w?>FaoJ=3RUCE&MKewb$|#?eVl;DvluX z=cr|0{A*)R^{|8yEI4;Nj=H)yI}9JI*M463kB`8p8f<(u*`{MI_miUoN@acZy+)0D z8u1ylpHwW4?EU91k709e_`X@$6dc`q4R)?6!$#N7#V+3P-oh`V-3Gneii&8`H`_@`K4n=MvBLt3%x|5k+CLOGIks= zxs~=f*;Wg03UZ z@28Y09$q!p@EeD|BgAj+P}9MjcKoWPx3PtMYtMLj8@R}waHqO)HbOlky_2@0z zEKCRDP~dOaIGK~V^nWh>*IMDuQ`l)`j2e#_`R%bhy~ZG8K~G(eT_|sk88R#j^l@z zjyb?hIPfy%r5=BHxg zNGD%3y5?edH2XS(-A**2|3Ci-^h>>m^SSo#zwl$UrIAhjJIOmMMpzk9^m@gEy^YQI zxU}OpTZE0W{p5-*?dS{*dx+i0oa^yD)7%utN)vO|Y-`+rPufP(lGYC`m-Vm6>SMQ# zjL-Z^7@3E%ue^diu*!@KFs|MB6zr)u0=-c3oDJC0yZGUUad8=Ad!F^Dm}d{qx1e$K zuh%Do@pIn7@1#>td{5rO_v9^NFug_WCCaBZj7JuwY??CAx{Xt%7)^@JL_Mi4^3Nv@ z%{tvd&lq%{xjP2#Xzm=BIQe5^;GSP^3|ZOnnT2)?InEl!a0T#9!Sl9O9Ge)=p0}Gb zb|-*aTjx9qO^tRQWj<v!t)8UEJiHSCy7#KWLJX6!d{E%6u7xF7IsRx)B!BTsI_AR21(M}fh5t)Gfjdpzc z=)8GbW0Lvc?D$KD`?D46Wfwfzp2M&)eTr;60hKZ6&2?U54m?_OuKBLSCr13Kr6igv zm5mra6y%Bia$XDcS8Pb*H(mS)*=KL*5D%UO=!=g}ys?_QX8B(DP|8#Kj~T?t`Ryp- zLV+_AI3}TI(d6^UP~CGL{Z0#f<0|HSh`}ad@qyS_&`~*M=7xu?tb#|3M=uKB?@$bq z7(8Vzb3T_jhhH7yk3>DGYUaG=WPXzq|Nf3-`^6WjVgm( z0$9x$Ido+uJi8?N40EY?lcOExpo2N+C}EB!L*ww36#ON%^Ga7Av*z>oL@*Zlg!u4} z1Al%0L-Lx*YstvFg*?UTQB18G_S3PGh-m?DQ2AmrrvA1cLVM6%U^spb_#_CvI!Cg1 zbr$O)XFCUh?N)H~J05KJy=?D~?Jy@+Y>9uEp0c;c$93i=a(rU`Am5K;ZmPWRd-+~E z%(9cr6N(E{9Lr1WMRvM^@1XM!DoA(fyns92Mqu~PODy63+L_+>Z}NSN{#P9n2S-Mo zTFv<9B0pbwWV}OuI-;Ll8;?$Gg@ztxzC}ORFvl+an=@XF4&M(6bJqP?L&w}@vkE&X;5|tZT1Tlh;c7s+|^aA%UANdmfyEc$D%Vy{{niOXM?Hz>-cTt z_v>KlolU{i+kfEyE&N^!rh1+l(vg0e-?RMI4e8k5L;5@XdinjG-wu9zf~jr$g6xU- zKNL#s9~MgWgohIInO`BlqM;r8!=&f&E96(iuaw_}P^$a0A$$w?e=@(Rp_F6{7pJ*{ z-URFK6s$9F+Q5TTt3!z{>9wG-7g`6dA*1{G?~GCLna>_4zA@UF0dA?DF8CCB>+8jf zgy&|sxmfGO5vsSxU!ORO7a5m$`V;D2Lfvb;x=#|`idTIKo@e`C>eChN!1I3i3GJ+* zojbjD!n6~GhIH=AKwFZXb=KA8#UpG?XyqH|O7WOBKtB&dA4&M++wiPy@X1HPvoiQ( zMHYKlWUWWwhqX0Uc-atbYi4DC65T&;XEJo-^H?x2iVME#QARnNWU@7Xhat7uR0jCGz_XAajBt6=BG z(Fp=(ZkGK1dFqM-?^?#{^YWvqM?NH7vbzdDSbslb`<3S$ueK?_$Cl5tydz-S&2`3- zmn831o0n_z_TIS7;#eMemDClXzh@%<6`6wG*punm{~-Sk;y~!U-`;A)fNkY5_^qpJ%yGouQl~Hvi|6#o z1|5ZVUZp+3Nd5l@d7U=T9mgMRUaq75_mY>idG0uV-x_cH{p&w?9H-u-SME9Q`LOpC&Q3#CyN~Z8b()LOy`A`&&gUD&+fdt2dCy(o zX1m4B9Oq7rA2?^q5?At#d@Y2VKj^Q&z|nW9m)!BoJ}Dc&;Hz^kyPzR=d^yeygVcF3 zb?W;o;C~}Lx=P=9c+^bWGx%l)Wps|mEeCy4$LsV#_n-X-zuynY+f1JH zi@)M0oo42Dzavj@UdK=H6OZwK#-vfNW&XMEe!jiyrqp~Sorv@ryQ>52YplI;nbm(p z&hhjg^8Xs{$S)wZFtqk&bSIqgb{cs;0FIgw_}QZi_4VAB-<{Ji6uxmCv^J0RC%}H~ zT6l2~`n?7od^P;}D(G%5c9CjydRL$aejELGCwlTLIg21Y_6WnhAz7y5$l<2rh!Lh^ zIQza~?D?|T?}gaw4Pmc0l)WBxr-I|)trPj3Xi~pIZ}ltAF|5aTq8OjP^`0MHrMC{= zg?+mc+z|gOVONABcA#W`t>gGup4~r3FS}1em?0P z`ug@P)3NPq$i(|x-Pn<$;p&67vin!N^qZ+`Of9TfyS)^O@^sd$#U0|i3s=CunLpRI z;hquNec_??EwS~5ozfM#4a@J$Y4{SlFzKg!eezF9>zoST=bYNvcjPpPrlqUXT*|*k zWo0v&uwZ**73T~!w%QH&E1~Nwk8<_{Tlb!yrCq*02|1m$DaP8A1g3-8Gvg=2|4*fy zJ{x>&h%Hh%`o%h>og_5WV7$`^_h|@ zVnOB)+=^jaRE(iYe1`pd`)ZJJWD^Zi2mZSDY_9)p8R>0&`?9BJ-i5x=*WLbYX-;;g zPE>tm%{W9Sx@{?N26pS!=Zb^=1;Quc(gx~{(ytJGss;x`-gzVSw{j?FLxSKMcFh1~ z20N3~%ve>wulrRW0;<~^$H2Vw#^C1l#91irJSibM-UY78_fYfh>MwI#+Qlb9bo{vR z$g^ctLWh<3-z53o#7{~bk1s;ikD(3HDjnvRzAmQE>lsrq{f&4&NfD2(4%%pPoIka? z_&(@a%8jm#2Aj$gvQKL5kblHYRR%v{SASU9Y7#e>53xQ2u5LBgc@#Zw7dEOA+AaoW zQQ8kN&wgwV$+DFeUIFKPVmegP_e#pe=zE;L*V1?V`P&TN2l!SzL9v+1_qsOV)W$#p zdGf{W(6)(;PgJr$`StvCBRXU4(@8HtUy0lrAD{T<1^6Ef#pkI4--Iv0r|5V30{H_5 z>eCmQ)FqoagGhQ%dMnBa4?218xqvzC`FFN)9n^IhQ9fVeHJ)hw$IVdc{~HdXcM@0(q2~ucj(cU z)+84Pu>W~w&(X8rPL<<)+s<3qIU0O+%jP*#Y}s7rRG#7^N|!y>&ChjCBwcHy-u2WR z>Hjj$q(y+W&XHBfhd<-2U8Ozi7jWMC0DkFxtN!U6X*aratuMk^;jq>j*_0-O_Yr8S zD1`mggf|tTSCAi55&TT+*w-%4TiJ*&S|0g3@F~h8A3H03VGMkGI^Q-0b9tl{(77z+SE#!R?9a+R^R>i zJ-%JdE#Ck>%eM6vc9<5%8>T-4`M-Zgv<7*`y*nYtx%=NdTO05wzohFQY5W<^gU5;1 zyC#^_?c~b`sB1zrB^ls^b8;I-!Q<1&G@ZhK`WU5O&)rTr+OHvgP9^rV=kCgB7)x2r z&B>IPPG05OD5tuY-7lM7mR%zRce}>JCuH-^)jYy;6w6_p;f@06sw@&kmz6cI7u~vI z5|oo)gSJ?~oPQ@%IY{_v2^bAw5| zsb`f*{83ME;5GaF9QF_x9y^TCXFwJ*GQp1Rc52Cwehk3(MKn>QO>d{=x3 zmDSVr=_qiX_S$c^&m5=BuH~bh4{k%2s&`{h`2HtVf<4V)01*P{~|4PIHiMUH*|*tT)jNNb?*i2aYfgE8uy8Q2sRf{}j*3(1|;aYzG;pvFb>T zN%DHonM1!O!wa9XX*teiyw8W%%D+Tw=oXuv>s;cc%Xj)+(wAeqm5uQtFI{nnx=5dI z(+i#Ry>#ip{z&>Pn_l2lc|ZZTe{E94}q>T58`Iw(0rKR4-k0C0qXv+n+q= z^Ip3Aw>y+Rkk|CzQG~37EQ-%a|9T-`clk+Y$A%@sI}e2qXL}ke`{5IC@@Pl!+47fY z>Xp`^i7ntszK16x$rFxb-qU*x-wQ_;P{)52PxjyH;z+W5XkyKm(aAjLu6w&lPc9yk zXi}Qv*4xP(4JL=jIHQonNB@oeX>>YSiP!bK&8=rE^=!G3Jw#O~k%<#?_r86|nBSnB z9rM3XmN>s?c$uGNYY*JraiC5lnpfOox5`TCBTM+z6{{8+OF&By7zVL3| zoqtO=zM{EfF4X5Ad3}B?qt8!M-^=v*75Y2{Jg)WVaVq_&we#fq)cuHZQ<$fh>GLbP z*D#~(i37^EdS(4SKj`)ORIksiUZ0zJicS{X=kjL3KKTi88M=tea0z3QKE#g6o4?ys zKl67A^Y?c@k2(G<@BThmdkcNz%a}>;UFT(_pVeMKa!U#LCb>pF>=noaHOMueWvz^3 zN80AeHs!!UXXlcvg{_on!mc-u|D%-QUJyt0@WpY_4%zk5_s-_QrnNLU&coJ`VKekqyvDc-yk!6MgtgTr$0wRsS-ZtD_BWnQOm^cltnGWr z`1s6!J4*W-&PszPI+vmEi@Cc*X^J1C*fAgd2mYJ1`8;*7S6a3tG9fWoeTwaJ2lKl$ zMm(1Z@tJFfo7AJ6Ay+Jy`CdEwscW!)TfCvoo#boGzq!}n6XiI6_tG|!=JUWz_~8S5 z2>gsEkJYxaCjfTHtU}0GYEV%2`!UBHF z$%xd?JXmP_z~aT~<_QVc)(BkVMHPdwFE9SD z?Pkv5DefG~f8pR9(w6F8GATZDj92eN)Vo1*NWc5PXReAq;rp$8Kf?R|UcR^M5Ob|D zCwSLfT#+#scX?^CjI`Umw97O<>?!@dr1muOQ`B5Z{}p0Sh%X3dj7)EYeId4)wpe^l zU(8@PWS=*evp3c7h$Z-4R--?Nb7pB4a)=?G#&Y(IKJS$esy%O1;o^MEWNmVNdb7l1 zHebE7yKyIQsAO+ejW1J-dZNe`A$vzdsP`JymwVY$_StjE`SzUf(dh8B&(k^KbTH>J z`ZPOA+nv{*)~9+@zFFsZ*r(p8Jt=s#E0|ONYA}0KlJsW!7^7S}X9uH<>&zwW^Md*H zH_`7K7z_B7lAc-ho96m+P32wwvROJG#d)r!*c0-JR2v1Svvxw#s<=n{TaH^=%G-yG>v8hW26YuVq9M^Ah_I@HWLk&e~pLzX^) zpY+w*v)pRTrq#4nht6Os|K|V$jsGX?jjbF*pXLHr!SJnMo`ru2d*%(-PVGYnVR>SY z=7+so72~;ry73=N317$V0YU;d!dDED)8T09!*%FOPX5M~^`N*F)(Tx1! zeYsgMlT06Ak1Tna%e<|;{7rnvB`@zoj+VTPz3^asQ)Fp_y+`p$Zvx+UBWL6yM{nWz zRKNTT&cP2Q+f~{1#q|aL0pk;`OAf5(f8tWNC&`!WEPTGr=5v;hr(|o%(C;yhPRdB0 zRhjSEGQ?E&%1Ex2eMYvzNH#JmIH_{;$yYzG_sS_gsP6yNU2)5inN{XmTh|!pYOjoB zbJ<~Z?qa@IrqY%vbmn+vB®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

        G(O-HuM7Ax6$JUR70 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 vHLYdUzx#5f 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 z z*jaG-OrTRi2iHbBxb{5@*YG*X zz_o!Eyarpi_SxCT;+g^1gk#e0c!5(rc&2;ag=byIl%D4TYYpW^cF^a{dEV07wyEh( zhrXVETWf^5OzY6!qCdh5&E=o?t+~`ZqQ}`Vl6lk|W-*5@=Ft5Q+~Hp7(7FiyauvY8 z&XR4q>wxh#tP(Dl7a((nchhh6(ZhJtHa%|gqd!aHPk3Miy!Zro80`s|xy;MeAIKd<2~=i7kit-$xAcF}w8R%DDHL;K`U8N_cMT3@ZZ5K@!) zM=!5CGj%_M?q=9Oowy1Y5K~}^iS8{o(X#$;wgj1j821*ojmLgqHhkoz{^$k7?^F7% z%*|H#x%f=tE8&;Xs(Iq6^GX1nP`I!8j{49>tTX9rD!H>{gg;!({nFg4XQJ)2^YI9i zyy>_5TO^a!JrAxgxgRUQ{vE%VJCW(D#vmNB`mb>?9^q4B`tfbB;urXn3#~hmbFF)^ zs^3g7xB1-JovHtITlc2e>dkkj4HN*cvI=n12fwhOfsd=m{r1L3j za8^+FD%)#eht@(qYauAuuofDak7dqUn7~>HI&0xYaG!G4y0}`uf$uuC!SiI`EZB-) zeVjDmqt}$bl8?UcrjJt-l;>X3SqD3`4ifxM(@2eX(%N{7#!k#yYutI(xbq^*`szNF z6k@tAfAMSm#m@cBscoK@g;&2j!we9<$<`;u8EYN&-p^Rl`k^Fur~iNKy?K08)&2i} zW+p5(h)5PfpkyXNrPNldsEk!JNziKTrli(dTP6u8inda$O0{M}aE)yljbhc0NkA)% z+S)c)(~s5wuEl=pN*8UJB&cX?s|AGsn&0zvm*i%06TsTv=ljPekH6b?0h;IsdKo z%&)S(NA!02^r91AUp|$6l-Aru`N>h@z@3qB_N-=@CR ze6{+OIdSd>Hf?qAMiuJ?>&EkB?O+{evsbZ>u&$72Ay4kSsA7#FW%kq@%-qd%exK$( z3u1&3=e}tAqwoHYI;}AzPJCaUeP(<7VBI;OH5crs$BsbLo<&Qz3oew?%{+Kz=V9Eh z(iKQ{(uNh`=F>ZCOj~COdsCr%Co-fpEya@2Mabx-{2KWEm^7Cg&SW(`4?g+&@~wx& zdbWKs)>9kgZgJuY)!-aNZp*<>YeD18?ZkEmu4S+2QMJV48~HpNpZ7*Z#y57} zWSwg@UT3By&Or$wVsQ4qu4O_s8m5y`Q2aGpL?5@qhHU3_mOc+zap=aUCFVfUl$D2uPeoW z&Kg(LM$a0npYp7J+WETlYfis@_jB}W2BEFFG{C11!pjJSNTtp zH%;31-My_}gb!sq?0O4Qr>W0{E8hic+0_fb22vV_Sn>qyJxiwYEt#r9riQbHY2+^M zkty|6rc6~KQwEz+icA?~N-~HH^~qF~)mL_#eoUJrQ>-DhWa>TeWPTeQ^HYViMQiRK z09UmS8nosCdz^TO?RVR2*$Zf+Xsy0zqd)(|yN`Vdj~jPUX`g+;S8J)jXKc?N6z|BQ zJmMY8{Bl(xJnh4jt~W+A}cT@#CF#ydw%dyz!3v9eT`j+g@#wH(2>| zQgIgsJ+1-P7w?!bINouzBWvTC*D!VdTY($^RvC_(+AjNdhBXsoRz+(Y@Au#f(_Bw1Uud~ z4!kmAAwSejwAgd9i%an$%uixjC{+F{F60b zottV#PEBI}zWehgJ7ttHZXV^OS9sjO7|7w!Ofitd&0@trq&K{GOs(f!8;e%40|wCQ z|F3)VI(tN;oYZgkvt?EG<}~)xxN?~p`&a}$6yp%@$!R)3xzfH0u+I(^n%q ztKufAxyjaAjazb4$5Yme)Vr3t(xIbL!fzU5?nklT&BZs}rna#*v3ow_(MjmPotpp2 zGHZl?ER@$E{L8?<4%$r&1-k1xEG(pIM5q22-!Rug3h{AZ96e*%BJrpq_$2X zZ4v8)%U)lu^}z?RpN77F;O=y;`u+iX3_BrJZpK@EzY3c)moe)-*rmG*V$r9tO;2K* z9xpJ_qpZH4koqlUJw-j}l?SYtzR63bKWn#Lbw0><>9gyhR~i13ONm*e85b*7w#k_2tBip= zzh)R~nYO!FlhmAJTF0Un`EsS)xD1K z&8+r04>iTOgOD-IEYj)w*3jtbN+Y>h+I($c(^RwY>Sq&$%EKC($~5>J@NXY)S~q2x z&m?q)Civ?f!0Vd9-FnZl-aCmEW?{1|7<+q`u*UvT)-Gg$>(Z>ILd6s3Ft%<+M{6B< zCGA+puQ9l!khY!PNvw}`C2g;A&j+&8#$DLcA9m}Yyq^CW+xXQn<|vi_x3k7Js^3lf zX`IpC5997>#ubUS0JN+P2D(4Nx?lMk?)od$9YeQuZD%Y4KXlN)9ptGk4!(0_mg%{U zJqe62+k(40o;T==+F-Cda>WmB3NK6C_W1kG_=h}-focr)McEzJU#qWPrJSs38k>eV zZr0?s(5IbzD@V7>CKX>6-l4M5SKN1(rFDc0-h##*7385!wRbx7q^;{{YXq8fGzFsR zm7LqQK9IZyo=$fKk^#zP4Bsj}9ER6~|JJ6msM@$_ikYo(D>Sj%xtew&Gl~t{<8o)N z2)VNCtiI(?&rsi8eu}^wrJPZJ*H{tZ(yoZ?=aAKhkD9-WX ze8%3$VY(C^+S1$F!Bcq`BSYmXhyP=L?_Kkx-r==8crA~Z$h)CY7SAg!a(;RczPd#1 z=YP@VP2Q`>6Cuto92omQ;Ko8#rsO63LGK#fo!Tk-zymSpqnMIQn`&qyy?NYd?9BS{ z&uOe+=@;(a+zP!ra`0itB-+vk5X&oPpU|8@v@{%iCmw`Ph{cFU!f*fJg;L6_!Zw;^ zO@BGg;Sr@tGq2fs0J1WHZ^&E4SCA!ikN8IWG0-z@A?|>TRYDW=nIUEqJCk>G8hqLs z8%;dXa8}Y7o+IFK$}(s3oo_3!qx!$-Z0g||qU;jrww3qI@XKp8f#j?80s4I;_IN~U z{u#1wS*df09d{AS+(JD48iUTP7~7~ZP3;-{7)NQ(o+U$b%A$&iiJubilK4&Wi#(fV zefN+;H;a$de#zN-=xyml$pAXB3%xA8IP-+Djo$=k!x|;gMf3=ui(8Q04sed#f!;zl z#n=NBL9Qdnbsc-PEP4^|l#aXrnt%2rc!2b#9r;6tv~#9qz!Z&dA36FM!2^^7kF=F? zU&0Tu>xQ$Xly{!;@!axt``J+x>!~QW%L+l?TKeQul4WqKA)XmTo_Qu;oxuO}u`SoZ zR0rP~L&Af>hL-u^9R}T5jw~19M?~27tvWi$Q>L=@4o}a6#+EF@KNjxvq4`(unj6Kp zyt7|sjbi^wU*xneK>H%JOKs`s>7CIIALx5C_-ihrm~_A8nFulG0=$l=>WBh=!YQlk zL~w9u{WAx4Gx=r1mFHc3cWC)@VBCA?D<`+UXUoZVN98tNR~CQu+2R*UtH+%gZGEb< zRC85ZXWQ!&tnq;Om^Sr(ClG~iT6ZA-wcnCY1Ra^TTnUfQgBQhPbK%8~65T-_Om?AD zU&Rh@K9#%4Gk6mDf8Nsd*mc==+4bY{D&oIr|_9d-|q)Z@8IU*bOH7aJlhOB9JnHKd)>!O zYt6^ZjBVsqoY5MOd*&PdzHDt4TH1h&A%zunw&tJP~i{HTy-B1)Z3opRGh>SL;m0}~FMo!gc z-rLIHN#%`$XPEaie3AZ6SyX!~)1ndYTW6QCz6G9H&$$A?HU1O7#J|N49y&LJhd7_a z=Ajyghw9;>mGID);UVJKTK9dwry=yJ>l2Hd%bI1ytL<2V;L`9wckK# z_tf{zq*GtDBj4Ji?AoQPdDl3geA&2U*~wKit2u+R?Ak~}m@_CvYwg8j9DaH=G;38| z^q=HW@#C&v1(KV)0?DQHOZq#u-=V(w6f~EA5l~*yn&;ihD;WRZ#k=(#+i890DO;&A z6|n%$4LJZ`$vs=dq$Ia>*e%g~KWN^B+}1lXdzEB%CHHDcX4i9XZR-vOkvlP4X)3XIvQZpfiD4F{8bp z=Yz=izR>f1WcA;rXZjSd z1OJWpi1w^C=V^@_d}AcPryH$t(^{i-rcFLipN@dvYtP|#r)j&DdNSg>%jDnGBqj`q zS?=vxw|4ZTVhdIr;X|y~TC>fL>n5R-#^K_{7k}0tvosm8-1!cj=6UIqIIwR$+iHhS z9nhlDp_3IWPv_aO+>>LA-Sb_hh4DphjYTU?HjB${wa)0GVQh$46rf%QOqwmD0 z9|u1-zM*e!ymmYIprap%&}VME_Bab4*4NNyhq(CAU+O2F{c;ffG?ji+UyY!D*vGay zi$2piFai2a_zrg#%rZwlcVvN61u++mgTN_}h3w$d#ETQ!?~e?bhN}JWy)KU_9%K3c zCY)${pLn5UgtZVo!=<&`mB%>N^nCu(E^A$x3saqftKN!B?KK;2J=?a9&-LP^xP)xg zoOAFo^Hpao%9&R3JCEYL0_&V6o!#W-x8l*BcA0QYX=lWV`Nk;cZ(GMVdh^v5o9K{v zp^5T5r##R^^)SDkQI{un>4|-dp1JscjlsZ%O3q!#n;f&+`x5@$%3!Q#IeUX28X4=! z4}~^#2J_j+li$5XV-v(C=Lj6GJ0#>^R4k&dwxzkFi66H@ohBW`&x>rX6rZnpX> zey}rt@QpI=;`PMZD{LFs?8Ll#i638!PZ5AmRF>l2t#i}Mn<-0cK8%^r&`iB5J4T(F z|4fIDPAT6OV$r?9{O)w|Ew>4mO~6*$v1ltsJPY1Xj96vILN>1dMcFO1SMlg7V(l%I z8x2k9i$@2@-^_P69(^&iR+|-%{tbRg8@T*8bQeCNfzAnaW8a#SSB$v>SO`8@0!=l3 zjo|yfK)v?5s{UB@`89T|T66erta=`>m-#<2&9LruTGFh}>6429yi>)#bn&SVA8RZ_*FL(V=n=<-hDH|1TNkzql9WAGe3{*L%uemr?%1Dt|qC7oS{fuC=bt(!cO_ z@i@zWVV_7&at`r5VkecZ{wvC;Gm)YH63{En9LZ9A+|Y}pUW>;n|0CA)$q6C#H?wv*1G+j^HJ&#W=y1gHpEJ^m|KZ6w-RA) z1=#I1`NTnx1=$_xA?ee2Cwqc9Gl=u3t#!cFk`2wR$R}c4Ast;$EPe@f=uDliUA=1z z`7_hROzFnoA)D{kn`Bu~b1!+RUgC9(zIx)HwddVJtm|gXwXDXl{>VL>B{nHJHym4h z4mOkdm}Pf`&Egu)qkD`w7|pl+=`z`zyi^rsh+a#eU1qy4V1Io8x@k^E_^W+2v`29n z^_TLWMt-6HZF?-b7CjP&R+9bu&`s95o+;349rnkack3-La6oN+;b|j8&ondmbrOPhHj%=ij zqP?~M&&LjFKCBs_@x=S9g1gu`p)=V*~*JqizwgYMR?*l@GsYZ{$$;NY;nrm7A-F=9Ny1=C<##ue?%Ax%lHszh-1$<>#Tq6 zjq3v~ngu@07u4J1*J^wqe22IDd?5T=`9OJN@O!XxU)|L^BcJ*oWc~emaC!(G{b%Yv zhVgZf@n)}lAbbnixofd^8s~COXzI_<+U32YOrGTfeGj}ezm~uUic?l*yW*TBD8ElW zlG^u-WV1NY_8|QvKU%So$AIa(;`|!RuLtHG%PVHuZuw9XIm6aFCNIFZoS6Cp{n*~e zzXc8LMx#4AelfQt+E1vPV<{afi zt?-P!w^4`Ij)4Plfyt>8po{#VejiF_v=*kWp5xVZlPp*rFt4tg4FB%lOCQQ>7t1_8 z)U)()rd@;=Tfafu)Q>tRRQ^k5+~l->4%B&#jxY7qVf^e8$IsrAFZEdu-+6uS7ogj4 z{?aMXb|}53yHGx?Z+#@??u!lF&*6)q;xv+Ry)Su=ZoqLzPOLru%Euz_RYb3@lRl0J97O>kG}Yjeo#Q`knn>dtkZI1 zIZ>Bau$e>oK@sA3@)Opv=URS({GD=qA;p{$4)Iw>L;(i zB!6`%e<@5X&Gnb8_U`Ci6L$9ZuOpvmaxQ)A`c8`5%XiYgGe6(yufT`%of7DTc4%kE zp9cC)ir;-$-|2kH-51}f%;EW=d?)!xnZDEA)UgV<>pT6E__3ewbj$#rw|%E0`g#6Y zjT3*r!s9!^^H$86{od}`?pdSpZSnCHW3D+`XO3lUfZo}xH*1}D1nXnry{a*f7e;Ov zF==Ugq+u>`&?*x+wTd{X;=eb7Yc+EriiO1SWo7UG3Jz7gSCO_@JPyxl?c@sl)C4i% zKAzRN?2d2Gc@aJJ?IjIy%B>+Edr!NcV$H1XSlULs_zLK#edhu8S7<&plKyz|yIEb! zb*8ip(|(;P$qRwK$9$I!<6InKzVm@;{X95wM{h3c%JMkdD?fGj7|u+-xNCWxwckf~ zy5=Q2@NZu^N-YGjO|XI%%}Dq z-0qa|6Q_*jJaz80>hRtdrTh8l!{?YId{%p0GWkp6$ROjDS@2jBeOjio-{G|cx~&`D zk&UfJ|HYj--S$xf=XA^M@g%(bacewT#W+-HV~VB2cV{6R!_CJ@*TmpCbnCNPf0u$c zrCS-tro`jb;#1NnzOT6o#o6JL)2lj7G@y95c1kW!) zZ^o&o3b`mnZx7Jf9{$g4XN*1lUVUkHTKdvD2jch8TzXb?dx&>8-Rr!IAKyh@9(c>% z$ECQO>UdKjHny-R^#%38@ceNbd4eyRBzlYA4Tk zX;UW8nRG1L9-6bUh5dy^<5;J_{3>gNt#v;Ev+VSu(b&jbeltv4;BeDclr~Y;E?Rkl z^lv$99I`l1B82WM9`jgX`O>UOHSNU>A<8N?!Bd0eQ~CN{gU-|c`X*QaJ{CMUBgVW| zXhY1HY{8{N%Sg+5JS&}KLa`OegLJL-@#T;vNUTD84T_nA(b~*#Zfs@?yyvGA1ISGY z__};p%Y0xJ`xaEcWauvRbyYC5q0R)dx1Fb703-d{=CMRE8)w9XXD@VEXjtBeSVw2eeH95JO_AD*b`Qx#+d$^ySdlI6Ik$awEz3G$O z(av27(SI$pdGB({+!K8kLGNbT^(*k6qqBzJwe5xY|LtzCy}&lW|E~oH^M400waJzf z@#^H{E5Q2gh0FiBmc96NAODlqu@_&l_%%QECF{v~3p@{D{cqfqZv54F;v(2K?Xh=d z^JyR49`(WPH$J$n83H%S<|rTBKH=bYh=bcfJo{y{->g`>wZ04pW zIOXIy<>Xk;38_EO7Rm9ePTEXc;{GpvGSVp{%PAwsb4Z)AKJeTe=AirRiPqI{7R|ey zhbla^Z*+h5L*=5QC6oE+?8fndDghw1|S^;*igfOAyh=u64}9FyB! z#~SY%cwRnyHF6X|mYKuOW}iWy-!m1zXX(-r$kEgW`6LmO)#vwAA~W)LBuBCZHI&oz zjefspDsnW}lB2Bda^}=nYi!*mk3CGDGNAu$U#66PeYcMfZC~bC@kG7Lo3<}=)PVl) z_hr=o*L>I2&HcX2>LYDm<{s+_5A*cv|I6tARx5s|J+!&0jlsO^o76`5H&=TjX+OHz z=gbc~Hd}=(%6F?Goz4&M+Uodjw0D1>_J(}g`$1rEdwYQO%VK|f<-48g)7}f6_AYSR zdmc~4VO<+3{-~l&mjV;d4A&-G9`aLXI%S^Wlv!y#C#1$Xynk??oaCpz=%hW>NqY)U zKO3g9UEX)^FV<7O6=z_xhDrS}F|{TbI(0i|L~jfhWFJO<)PTG8+EuZ4SG2x?yUlMS zkL-Ua>{XvVT7t~T2D$b~w(0k00i#UWt}5iH1v!%K3lq|}dz8OV_UKC&iU0Cbf27PVa=CL)0SyGHD+*eS>2Dz1JaA~jhgy#0VY3aO7gaTT!7hhy?Gd1UWXT;*#KNV=HN2Q z!DR$b-6!JWawQA%$KWp--tFX(uGji*>-;C4{r*pW>Io=RqT#wYQ`GI$)WByurcwG+zB$?BPVB59S^gX($&vn(a+CloET}S2d}DN;M6+wmc~@ieLcN=33^%j zIe|{DM?X&nb`$SvLpAz&iKU-|-Aj%K@8hMPgWX-kMCJ3@_KS6m%)RSu!s+yZGoE^Y z@zev(c*;3bg0m|3VLWx`x1|U3Qio8cXv%s^3n$fI!+1&Y5tkMr?3G0i?y9N>_XO?m z(j)Qly`#quedzJ0GyUno*`bx;Lmhf>ua6%+UOW7wqsLheJ-R4U{NtsE_^Rgb{xoTs z>Q58-BYVRmC;QOkrXgsu?r_$_AMVfu|IUvlEgvCG@*JAn=|>afs^--pXfoNKCb9gz zqe%#wNM0m2k{`*6Txe0VvbH7onNHhs_ccuMla`s0^lV>lq<>u>@+09)P zi-@Hpkax+mVhy8T?)Ot(dVRcgb`kzZpFQ31L8t4d^x4xVfH`A4U>f61POb%J*;Xso z=K3kzfrt&u`HpK(NlUC@EwQ$vz(@A^NbAWyMV_*`#HJ}zHrkF&XAxiX;%w=gm-=yD z<%9E`J~;ox2j|9NaDEM5vVDMloJTu2k92U(;;A(bnfTRn7mDi_Bz*9@#0S5HKKNZQ z41T}$!7qK7P1C3sm@5Fd@aCSx)=MjtH7sSIX>+gJ4CzW zr^bESwZv&x!fDr)JiiFOE-t;V4VJ5S-ybYjZv)Get8QR^awS}j_rYb3gUdG^T)x3` zx(An6d~kW*2bbUb;PTWkxD@)}a-4(9u?{XXd5-en(&mH9&wX%7`QUQ*Ft}_-=Vi+7 zLRI0>m9$B_RHsfihS~g{d{h3d0RZ?z3M5ilXvai&-Aesm+|KRlPCX6 zp8U`A?)ubTAAM6s{--?oANS;6$Gg@IX4e0QjQkII@~`pa|0VC5bI;7LwZ~rkS9$W^ z?a9A__xpVE|2!lAt)Bchd-C7N`yD>{HSYD+f2}9~Ri6Ayc)!6Xzv2RWGuHSR;{=U0 z<}uco>x?zbapPuJGu|-qtn7m{-Uu_^AlBkH7LZNUcq6DeI?wnbfAZ+rL1HIf*hc)I zAZKC?fZ;C&x&Nzg%n>9u?d;>R&be^LHGX4`$PiZTCY*qA+I|kC^-yC};kFx}~Gv2mSTtKL2Q$8^^nUSD$|b%#P!&0_ONf!0d6yN??Bek;WbG!mIcJ zj3@ei_zB>n^75=_PAZ3|(lG9z%>Hr5Yg-17JJx%~9oPHdobbWzR|<&eJ>Y*y_Na+}c0x_=f{q=YhT9z#j3yHaoC~fO-AYzgcjdqn?*~*-4{u$DgeC z{8S_Dm!3_LZ*RsOzw?y$q^G>cc;B0G$8S9Of9=WN%KP4oJ5rwf_jvN(#rxijJ8tvj zU+&4@$ot-mJFfTSzs8e)DerqT?)bhZ|D~S%7xTV1Yae9zi+*ldj^cNpH6F5tT`dZ zw$+?d8DuV)nENu$^6NQ<{rnZiYS7+*y~o#Ip3ur{A||SYOmWC$}_AN(0;2a zm5dwMzn!2Q=Ap9_#8;QF*KG~u=?nz!H0sI3=l)&2m5Z3?(4Dh7UtDVvHgX<&Hf1Tj z^5vMEhMSx@jyUVY*1X?)lsgvc+f(K2=i72v?ET*L_MDH_c85l>2A;O4ZHD>tml*%a z*U((*UwAj1MQ_Zc4RhG*_6gRor$bTQU)?>8dDl6iiQTc1pRn&uZD!vaZO$T|e62b6 zPQ%#&3E%S3!L!rLZ&jPwH#eF#Ttqx>Gh7q-r{IdwT_+OS5XZ+%Dxk20rjt*g@dM6E9@W6ek@^LfRL zvFolJodW|!fmv%uLdXYaCR%ev&CJaW)z8$IY!9(!lJv^2vXyTRb8hRPvFfOTXA+bj z<2&Q_o;bWD-ml>vN zPMa9d!OvEmd))sA9&zx{z7Y5~I}Q&2?ch+%T%2@-yVtdhb_j=y!J%=Rjl)Zmhi-Ql z>vGiYJ>gIY4mA!fY8+bBfJXy(NH$lp*He4BM03feVnfaJQQx^A&^2Jmmwk>@G5p?4 zTEBBYv_3-iQ*ynCcg3aE=T~Ny$sDq`%>9QcQ+T@j9p_INd^Xj!#Buu063HKUmdJMG zq=i1T?nxkB3wV3arK$qf%y;)(s{ct3zkg{yxWs7FaXf1rxpvQqIGi@rcyJxf{B`Cz zTH43!?%7R@vvG|(XJ|d+;97{z(q1CrdKUY6?LE5%-D}A!T-`mpD;-?5@8rLkH~J0z z`0#$rTRZ(Y2V4|)DTaUD^Rh;PZ^0eRhho#n)6wNL9VVD3Ja zb-=nv*D?TJn7Z77YyY5ht91G$z#g&wx6cSU8QIIE ztM)>3r#yS1C#IU6^JHAQUgDu^73oCRox#FBx(0|1dg=N_hpvmUu`XTPJam=sF1o7U zUAjsi9|9a4*b6-|wd>W){XDvNq%c+Cw9nq#Xt(bKVA{i`{m+s;(NBAWV$L}bFWsEe z*aPfMVEd%s$7oGppnEm?UAnpM%7UD$(8Fb8O!P$b{L(AO<;)t5zUN*7uf8{|qurCf zFGH{U>U?-q--gopo#>MO@8bs9gdjSw|9iop?-lqduFYuI83eA)U|mQR{VJO=1O2VD zaMnbI)}0kvXDGi39qQVQXX!&fn<3tFZN^&XYy!(>+jm_{^}=&#-R(_x;Hrd&<6*daqfphhhwjWL-bz` z?MsHi0o}GYI9%X^!(yi|WINrykgpLy*SfZI#+!Cu+}UyDD`0{;)N z>Byz@xogw^{I}t4x&as2^!3EAGHv>2scV-N*RpYa3ceX+d+6gnn_e`~rvLHFHm;UU z&-JnCrgg5>Y>|wV&s{)tb%7;T;hcTacTA7QisfnZeIVQW86So8uoz8 ziypd+E*Ol<7UbN;h4n(#{Z+0_PI_=@0q0Cy${fGUrOW(1;PSku@8s`9@CBZsj<ysrie6j7$)XpMF>$?I$0hk9Hz>#4~&}#XJ4{Bd?FP_#^bu zruyI@Ui9Gbtm_|peYCHCgg#ox2Z!&2gZyR3M|;+dZ~Uixv`+NVN9m)ziR=%h#AMF5W?e)wm&WJJo~B-uP(6d%)%2@zJJvaM>Flt@mZS4~L?QpO02U9ezIA zH-Y>4XkP=qCm(I+7lxK!ua9;k@%~I7?T5fJeY9&GnAbvuaEXA zhpw4E+V`CHc;jXl0oz9(%{nh9kiz0Wy)=Z=?8wbzBcdMNAe z`Q050C%brtS;Mb03(6Bk$(lsiI`1GWd-(GX9<0(DsGL+OWg7D94iUxIz`>e3(Y&F) zAH#ReiDkcK;}_s8^r7%8B(3lgPUX#!q;L{GbHU{#&O_HX-5DZ0h4al04pa7kL%xH< zo87h_Tf`lo?tGH=g6W(H_Wf2eZ@Q5C)hg2?xu1-7w7BO*aEDYccSz~Xo_9((-vK-# z@#18O`~l8{h#Ve^hK%V6avlWdc0_x*_pO(E-d@PlorF25CqJL&{1WSKiRZZsb&c-4 z+FGHz59u5BPU)^b?VtJ!Wn1@g=8%SawbmWL)1gOZA1!6Q(^sAL|BZZF^Yn`K%uT5r zt53MI%#C@vb6Tp`-nV7ft$H6Oz1C2E6nt^GgHziuIEc1utuygCi^D_P+sI?l))d=! ze2;^+)41b%9CV##-|_9z_E)-V4*Ff>p)GTiL(;aMvPIiYrGd7^+&w)MZ8yVjAH;3` zzJ`3F?NvNi<9CRD;$gS%M86AEw$o30!?&+f_OIpBfKM0aq3I6BIQzxtp*JM^neaKl zHP<9OG?)Dq>XU4A@_r`YbO+ly&-ar(-@oE~uhDnaH7V9}Dlo0JcK`nz|Ig)rm8tVS z^!yr6cdh(MlqVUUWj%9J1;~-U?XuF^axNJRnmhr%ito4M7{(oKCN%mOlQr&`zVES; z(KY=rz6FSn#zH%eVJ>Cheok~qduYza&D6D|xj5Mco~)~Vq_6Du;-qOWo-#${2kiP| zyC)nSFZ84_C03d|;kc{!=+p%>)G zpMG)LrFKXbM8k60_tq)2ShO(a9 z#ab3u*Kc>$4(P0C?yR+Z-koEx#7cK7hx$xml=Y%iXgjMh(0p0)m9OV_Im zm9+~SAJ(1l!S-m=H1ZR7Xri37?z5(j4$jaJ|8X|bj2+yqXv1{wa6xJsaM>?(os(8E zvw~Ey17EwlSFzVNw=QF*9MK#!ZE5ahY%b(U`7f*f-MwqJuJ_o2&tkJmO-~g1eN?vK z{yDY|&4XW#vic=&y3T)edB(fGhQ6}o;%Ml$hCWssj4A5JJ>Rrx9x*<$JzBJzyTmzf z;d|S9Ta^x4a~HO;(#E-uY6o&SVRU=+YXR=>3{9})G0mMb&3xO)c?X+LFz-yDk6FiA zsk9HRo7qs5W1`C_zlD36MWaak(Bxm?UDnG@C(d`&gCoog^_{+nw%0>Liw`(=2cEa{ zn1kV!$(-3RDfL_Os-JWhi@wKbS0n}>yx(h;srk3}&=v3UZ4G?lma94zseiWiw#MO) zBJl_FgW@ysM+Y`QX&+SithsXeQu#LKHx`~>`P#Srz}{t?!50QFQ;kEhNZ)G4_41daY*YVVubc>EK$;Of9v_I2_ z;-SO{)7r$@IG-YBeBQ{|BMbJ6J#v09_Q*w%PfQ7yg{REYIZQmi5(!WFBJVNYM`I(# zMJ||f7xHe(;!|{H$SLRmGy1|Q=|z&A;Av^_Fa`6cm{|3c1s@Af`2@eu^P3llPKofF z#qU+{>j2Nq;H$fH41BufkctZ>qi-HIi#C_7e(RVMX)|YDq6=la#3!yjarxwv&`$h; z@BY9LKF|YR-~FfGvUS5@(`?$l)eAQqoXhE{NTsj)x_C$*aGecSRh-_vmmruc0%WL zs!uyPe``K-Vt-*RL}v|W4Q;>j1<70bYsf?mc8~qs?et&gdedfz7q9(((d>>taHfLE z&*uMz^(UPCg4uTE3+V-nzt(d<)yhz^V*_^_uMZ`=zQKA-r@| zv#;a#_lc%*7W79~_iSDnii%%0-xIR!{KT*gyL< z{73ej@BTxq?Opi1XG5%QEai@e7v+calD?OGIs>wo@?^JrDW7|)r`HEfRQ#AY|Ja%B ztPxyt{&6$w&X3N7Ke?wir@I-RJRhFC0G?a`PcDm0pCbMfPbPR?cY&uFecqIgt@!frq$#*?N`!lkJHSbNd4t1~;?H{cF~+Z&Ukz!xz|rtb zgL660PTHXLf(hC*5gojrIb;fRPN#EMz;xD5p1vtKX~DKo*7W;X`_eQP-OKax5O)lY zG6!x71{Unk*e=dI+KS&*&1`{QE6 zr30$qC-q_Ty5k!Datm>U-moHFNc@Io3*Crl<>aE;bY&l(`&VuxCNV>VG_X@`bzHdoCQ?E&921`3?Q_)8Ab&bE)(YZ78EnqJi4-+BKo* zX4>)-+7hGvyF-(vtH0i2{$^8f@`4-Q>8*?f4xX}x^-R!wq563(d)*{UFThv8PD>+u z`d_ki!E1a2?>z7};2_`Mk2b-5q|FbYjpAeLt_)4O0w4Qf>peJ0x>mODQef6Nj=JAF zDZTuuUA@Z{4|jFdjw0LcJo9=^NU|PKD(Bceek>-5QJK$H*;DR>>)1ZaD zZ5p?^<)@wUTPc4vbu%WLZvNGKR3_~@pwBPJ=c_L(LeEK0{^N7zed$cuIO$92N9`5Z zf!<7`Gt1Gb(wnZXl-^{$>jLS^1@zB+)&Xb@xYjr9uQfsIgUN}b%xTe4COH|I+Yfz| zK#xX8O>CHOdC_d?r!fC3{d+5e$^H31%~^3D;~Arm>-zX5FLf#XnwWyFLkB8G(=x?W zZhNvk+O(fpSjKzDhVp1&%FJWZf8ZGoOfNMB3(BUM%9mNMlYk#~;*V_!9WrGMcpCT$ z{yA_o@3~hLOuBgejE1IQVfP!XC(~Y>em>1heVuxn@$)yYq%IS*?u}2t&vn7V4W;ej z?gsS6(yZWV9ru)@Qwvi|S!=!oopDwu*zhCrs@(ak2Ts^^E>!&i`RBB6n}gF_^w4PZ z!~CFmM0$AslA?#Dd*`n!dbkPw8%F!H`OCyVO!1TezY2cA(Y%k2 zOfjQNrc_gJ6*$Dp?fN6&8+Y)}2LA}>BWexfvGBWOZ6dhOVhw%*niQF--QDQBH1w!L zZet-6J&XP~?3;~RX9E@@HxpB~9>_}tpi%n)ru8h=B+4&Uxl<{(&u>j1lFSufkI%6-zk+)d@lPhyh90|ZpEzqu`i++8be(kpVb;v%Yt}5!pM|ec>hBQ1PTC2@Zod^x!hs?JB z`Xg-nCuzIJEUlCY&y3gF1J%Epx@Yg~U4E_pM|Kn0hPzY`nIb&n!WX>NcS?IPbW)$* zK_2mAT_AD#gjzGngc8qh-_M-Z5p21AQ83UT`+Y6>uO%iCg$5=BR*ccD&NC!3wnAS>XHJfDBQnQ1xa!;*(qw$ZYu}`Uh=Ty^^HJM+S_pjJz zTWhUwh&5onojUeC0Oi%Hy&-E1bm}q$%pZ0zBbLjhA za`uBT##~d&d7d$JbfVb)-i^*g>#k}1!JAo6zq~Nkvm=UTc z;SBOXGQ_-1J87QaytcKJ@i^zWJ@(z$;`Nur7O(q$`{L^Fo5klGVcO<#hSS{dau@6+ zW^q+9caP<>hihjn8sEwJ;2*R{;~yAoP)_OtV#%5D6*u-@&OVlPJ-usQpx**!_l-rY zF{?&pd_kB*u^@-y5!;^x1H{NkJX zS2gAiJa-Uv4A_sx*~uDft54OR;X~;|`t)7;cO7f}9%D}jJ|?z@^NR5W)}J10tDPEH zSi%0LnAY%4jYUtKKW}E`{P@fWXKci$aR*9#M0SL8{le@U39(j5cs8+T=seaQmJx?P zk+h$iUo(^OD(6d%>^8)Qk7OKBGCCGrbi%mVi>gOtFDedYFA9#zeuFXF%v{c{LXhRae%vuj$#+alkY@Um} z{ev3?moAKv_RG-s*OXaTY!3Vte0LD-eTaS%?bbs(*86UFl(w(He`|+!MbIuL+A)5a zHNR@+!O$R|wr?U0`>Uc6Xt5C*h^8B>v$8irhmFAz+10GG%(duHH8TJm8c8EMG**YQ z8;b+kjX{%L8!X@+0meAsbqO@!?9sMGv|D&7J~DuBFRvipV8_bKplzIftfbBw`Y%xo zO=F?#+;|{cI&B1PYU14A^XPB&-)z#20PmB?C%F2rgf>hC|MlTec1?m`(wmi zOThU|r|)9qD=4AgD(JTwldUyzX8=2hvP7d0Wt;>}L<8<0=_~7!cz$*@^kPjWINI%3 zS&h)9v7EM7n{3u~Pq;KVVME6U6*sNrUWf3G+81`PuL7OY{RVk8Mq2sj@z$P*aA?B4 zab)G_1;;#;n`PRX;h9?Q#)~mNlD{G!O0ro2AC$lc;sNzJV@69hb9uiwn7g479%_WX zGeWuShvH6M-fM%QZpImuqd0S}Rn9ERnd&Xa*yW&SlAPze!R0CLvv+Tpf)GMTmk0R?x z;Ku@w@|(#oXz8h7_vr1tl{4SE;sx!8G244vTS?bjG2%Jd0gYQ^3tT(k9iwb_?19EI zmj1v$m;R7_=-g@B1=)o1xJk+`1hEIQ4Xx1YF6|fd*oLJhcSBJ20bS#@5la>XD(^;i z9z}MVqo#7n`BgLP@z2Z8E|^_zLfPfVnc3Co?m3TTEi^BfN{uz<%o@G0{b}B3^8S_4 z3&T@+Ka&{4>}98GTopeHzyI&{d!41D(e0nKb-U{e4~U;vjIey)IVWc=O#G9W1ARQ_ zf~Mnub zi_Z^Ks(nk~f#y)4^6K+zW}YE=N7kheG#=qXNk<=;?DvSP7s3yl#+!Gh%?MOBnZoYS zPGXnr3u}VsSN32V8Q-@NlYcbGUf8b$kb!(l$8}Z&lfP@oX$&-@-ztzj&Q4qs3^t6U zk6t~dsc;kgc^6}(4&F;bSsPkRV0yLUaHj=k%=v&iSvUV}Q>GegSaK ziETa_IA=7Kjst!H@QZ+t#}_#Y_;}#Cz%K%RG4OoK7d#($0q~1~Uk1F8@}b9Fg}^5R zzYO>lz^73Dk-(<_4+Fmfcmg;wm_7n{G4QFt6Tp`OKbZ0bKN$El;7fsD3w%1|e+Kw; z;D-Xg7WfUoKTY|E1OGJe!-3xbd>L^3lVU!H))h9Pmcqw*o&F zo$zVk$Ht-~?m!RTYNBgSpr6naHT-79%yYFf%{%qGXT4BEpPY-#z5y>zrSBr_BbE-y zGFgPhICFO7+T$XmDMhy?vg(ejhwpmnuQkC@4R@PS4Pn;nYQCeGv&&Z)6D?(3bplQieb55kSIn?svJEZJzh$P0 zcA&#LLnBl2<<`!U3>Bn0y0Vg;O{`1!5p(5DoO@52u;qhI=x+aOZzZ(J7Z;3;&Ei@gn{NXW=Gq zVXt~Y39(vYs_8AJ($(eC-yNZX>0$f@wXgH|K;;Vb_8dpAttCbv9A)o?pM8cbF=^G(vw(1FR=uRp3DbW^epYCXFarB zLY*!>(=WR8wA-sQ;DX@Wgj}q)@|lLKNPi3Yy#A@;)bdZup;vi)M0R;Nlzj&C5pU4O z67WI}nFeR}vf(S3?#;`PoZk}~KpUPSo`Q2dKv;;lt+NSnr&0g82iH>bLIUw6K zvAg1N?5$&)x*n5ln%M9g%Qh8u)4qP&v_6DcCL9=(kOQKHF5`u}v)> zw{6pTA0KR+%AjASZAt{uvFN!>+td!eezwU7j=syZP5AP@wkgqTd~H+v2f)#NnYPIY z?qi!`?*m5%X458w(TAC~N%HMyn-cgBezs}t4&dmBM z!L}*AYOrmZRc70!IbRsPuq;IkZ>l}kQD0m)!Ipco)>J0YA9d(NgU@YDAlu+`{V_eNoT5S6_tT%|2h2nB|1)_FZ3e^cc&R zT}@e;zHHeJGgx1A!1sRoA`N^$QwX1&M_%#jR^~rpF zFj;u*zK>r6FWWNzG`yWD^DTcIEc0>j@{{>y^r4^3r`v)1$b49EADNFo3fxELn|}-3 zN9NOy0QZsku;4y2AAcCQkB`v&-@tujKK&cuJ~AH`+(+i)ZNPnGzU3j{dnxmKGk(>% z85+OJNBF<->xUn|w&1&aW&UCO>`a+&KX$$V{dVD0^tI z4oKj8`00T5X5fByUvM8C5NiVNqXQCm0{77Y?f(VbM+X?eeRM$V4&XjIAaOfzA05yR zz5R565!^=y#C`(YM+YQs1@5B*)-DJBe>z~0-7m$5&m1QRmN`xkEOVS7SmroEu*`9S zU_*@)I(|M-2mCj_bEXbx{@h?4kd^N3k6~Ry%%#DJx%}9Px%`6j0EdWSHP3cqE(2p& zg~YIS6T>=qA7fbS?&E$T#v{YVuznot*;V4iu)Z}ohSkG5@=N;SScMB>XV`J9-OQaJ z*UWhijAgA`O`OmZ%c|RlSXTKx=(J&CSuYXG+O|H#oO>SYsB%-c?C4!y8_exaUmoj; z5%1i_^WEAQ_c_{ep$D0JYGbK#D~u1{|@3sidBw2pZ#{+E3P=v z->a=TlN~GESdq!^R;=i5#^RbAo=3dM%{LW@3Dz=nhPu^hN*c##nfuzBeHA4S=pBmb6bKAR9r6$nzF_qn&A7=z8GeZ7-m*> z&+Wu8u~m|VM8ckHKiZhK8O--7URFonbLTndg-%)!E;W^Bm6!wFIHrA`Y2kG7fN&Sy zy5sr+?x4yX>#jq8yEZQ!-8Y*z{{q|Qtvs~f=2h_SwR!P6kIh>dOrCw!zT3RIt8ANh z%2k7HUL-Nt=B42sKbsd8+{fm{&japb^P1-a_py2DbAkKVys+RtHZOh-a37o3JP){! z%}e7q_}RR$;68qDyau?B&1*(({A^yj3b>EWiwORIHt+vAn^(oWtJm-S0KYNQ=9zJW zZQk5fw#{>6VsoSi@Qn^v~T-S7cM>D~-J-YT9>gomL7C)s(GuJ59m7ZmnIHFH^&OQ=RHG##&RMIgLlL zhh^BTYQCjeAGUDA_{LY6Ke&`N67yIeAzLXs_9f;u_MZem(ql@N?&!H2;=n{ddTkD`G7Z;~UluG>pJz zX$_3%E!$sM~a2N2Uck+S%Wp!Z>~hF==o6=J9`Ra58r~6{O^6%a3{~Sg=8JY|S1& zYW|Uf{ith;`~9dNPBxXn1yvqDDzDFv67TK!`v>r5LF#wE8{c>VG_&h0^we26sLs(o zb*`G&U+4XtRaibuooBtNItx?xQ|FhhIw#T2iJm$q4ytq25q3MP%!m!emcJP6KAC!4 zfARO@;h$mZYr| zcdeM#cXi?ehTuVcmru78`DhQL6Jz*u@vQ6{=)?Bl9czzC%BE`l zM9s`{){&$SX1|@aHUaw+53xQsm>oe@>Fepmisg|%!aS|=e~j^@#x#aJ8fSl^)! z$!}{NT9mc7QP$paC`)!vXyWu-XUyow;QAAhq3iF+#Gf&k+V7=b`;?*c{}{f1H5}9V^f}U)F=Mf1!$gh#~vv{J!HZb_zID@t<(Nay%p%KpU5vkcPUMjwdYaRo<~`GF1_^{b@}DJ9lH9# z|41A6ROaKf%P(&M^y>_bNNKEN^^fy@EcA5YANRZ)-UIMS(Ky5T8>Xi;Zlc$MZzk;X z&?OW0N9xLiT?Ou$uq&ZmChRikmg4S@U+~iyS#q}aX7ue{%Cy>q@1^=O@?vBqiG(i`o0 zrdqyBw{EBGAM$LY%yldCxBf~yF2*)y5ty|Ea87E z4Qp@eoHVBcJB>2+{Z!ty2l_#Ns(bNuYQx0TFKENbPP_hctzdkW;1&OM(& zYxT9?xQDztpTWD1UuQCCpRvhetzmYorxe?7K8u|*W`ovoUq|dYh~FMEv1qLcE(r5~ z>1@-cwJss{+dWOZQ}J2u?};wO_g`Xy)>`~ItIR^Jj~Z@Y>A?N%qpY>{Rz31Nhym2j z2rOLrvBc>$rm0Z%l~C_0_R9VuU~=^?*wgqaS=1c_hs^r5uU2d9OnB2nNws(o)Yy8m;Y-fd8md$&bnC$_2(q~(&eeIK{r?&Pke-s;) z#&&fPw|^8{eHk==6q_}IJ#1UqpLW$Wv*saF&~P{D?&f=u33Y29NE+JMdsIePHfN~4 zB?f;J-+4m~`<3K--fcn+#50o}{H*foiGk@Z8hE;^HrCV0-ni}~Vr|0XP4>vW0S>}t z3;X0=|9))oYdd4n%^$>~_p(~C1b`mcM~Kljs}CVCh9<8BI?#ZBPKzVRN; z8|Yb4Y}!~0-ZLU%x8*9nUB$Or`0Q4`|2u8bn5%`hsJyq9~-ZPza`i?6%dEWY-7v-q0A zK(u~JAi9oqxtqXw6Lo9?-@56hEm26kX`)&4EABOWoNtfo8{^s+oc72@NuSFvE5RSA zKzB!=e>uNW(#aoqg7*lxx%+-J4-=<7Dl5YCA=*>C(j>1vHb#B1o@-8swbf0Jwbd7v zML!QOEtygly?O~ea&>I+((7Z3pP~&<(uVcmy$-yOoWy=d+VeQ=d5rdSUS8I=7Tnvx z{m4&6uNLeFFU5(0lpxEOd>*PFjAhxs66LHRG|dk5d|IMN*G zP1BN#PwAxjE@_PVpPyk3X^~;R3%Yb{?yc-Xug(S@E{Y*DIo2Lg?TdQ;Xy#4AoD~Bt z)DHXu&cHb5PNgx_ABQF#d_xB=NZ->`I96vF?4Ni({~7yi*H_mgCr@&(Ub9KI2V-sV z64R#mN$mvF6IKibU#$o~?NIP&&o*o7C_BzK1H9IZU>?rC56bpCrXDFNx zeM{$l<)>c0GNB7j6_~`=PWj{~nei+5N zWQ!&{w#c$W_@{SNV25e~*>7+bSpXYkuti=w^ex)?dGgB_vE&sVviAQyP8|DO?&hG6 zjO9laT5AA0us@$7y=W98?MkJiA8I$+b0FR_?$Ebu*k{mJhP{qJWlUBX)S2Gh+j=AE ztTQ2@t2h4*%73qa{xQl=f1CGvTbGdTHE8kb_w92oxANZUyr+5JrKil8 zSdaXIX3j7SJOAsvmh}FN8Tr3}?`LvO&jj*KKtFFq|INma{5b0(s%4|`7t86p8BSYt z_v~kQZw;c$Nvkzc&-L~$zZhL!UCh2peCY~!pcZ>$;G=S6HO79VK$bbJjQvQG)gsn& z9ZH-`cPeSW>tuM<>QnNsAiv~&E9FVvBiM;Fc!+;;EF31J4&?bOY{qtIt9V(2I=p+H zTz&8b>rB0gsVvHupB^abFFyyL(=Ff7Zz_M+W9p}ZR1Z&;zk~91*3q8Ie+&Ozgk|-{lCen=ltNgcmCHf^&IN7<9X`&2kAy7)b2$+4>|ROhN;K!&27*9l&}Bqb?TWwP*OvV`A^SXZQ711fFyE zNlSNpFv(c+n;Y3DotH4l9L~hpQ4&b{$@g&53qjNopK!*m9StM@c+-+{i9FQoH7)Hdlw&ihOKfmoo%l{$k% ze(I6u|jpC!ZiMqBVb@Rxh8IV;w-xz;-KBZ041 zdI0`U$h6g=YfJI*j>ZRT0Y592fbL|k{PHkqZbn~j=l?={p05&D6wR)NMjE$2NIRQp z=S?d(_Z%A4QD45v-_S&zPk3l_^=Px^YG50Q{hULaE`dfG+psPMU72OkNc7P-L;mAD zXmk)Xs(~gEeoc%MMI*!eQpR#i8UJa{<_VK!mB+rfBy$$YCTP?QjqZU)E1=O&q0!yY z=q_lqau^!L!L1n@#i3ENL!)MBr14&Y@sh@V+xWFWtL5O|Pbba?g-!|5t+D8oo5~}O zl7?QxovE^keF3_sS~l)TXsNSvAA*lvU+-Gx^cCkhlyBz&fA+GR#x_fiCZ^`EAK$ou znAIBV|J>AE{y&%h(}$U!KM8hNtmpU_bFBYgbpB8Aj9`b=x4SvJ^+ z+JoLWopQJnVofDwwNjt_mk4^s>kFMi8u=Z6<(qii`>ovh_7}bh7YjddDFm0^3Vaam z442R0`X7=x*Z)vCT*RCzOqgUYx@1B#=Y^nKc9aB@Gw>NE;WH$tF9vT+v+A+$tv`tO zoADRK!-^F>PTRzb}^{^ND^h>93o)_m4Tv}{;{&=WaR?9e(yUmkxkoE0HOiKpfQQ;R!d~1isK_!gC z)(1x)vo>f>|NnS<7w{;nYyW@0Gf9X9Lm+{K1j$Ue8t_s9C0ta(ZBHu_kmC^ey7e^_@I8y zT6kNZ(jv}zm_F--S+IrJLDhFT?Rxl6th4@;{+Acz=uBenP2gNJ@oK?v&Q^do3%G}X z_ofQT8sPGS3ytURk*oF@W#sjMJNev7Qtf*px2v4eq+eU;XgjfkOBiQA<$cs=(=PHq zQI6{DMxB{v-(@~Iex7UV7b_=K8k147!XNgT{8xoT_1Ew8)uONRx80Gd_>|J34@Q?3 zY47m5T(e*`XIlQek14N2Zm-TYdzUa~YrUT4b)LMACzTHUb60h^5}w;hodw`zz^ic_ z3QsP63c&e#zJc%gesEYpeLBj$KG1g;e7jUL3<7CXxX8DtzqkfC}I9nFKFZZBdWjfohVD1>to#$6!yI+Bw0Gzep zdN{UpeG+G@i2uA-MeXvOUCME19YNpP$GB5Iyp%iRpG58?)Ap0n{jA#@ zaN4M*4dGL5tR>#`0PXEB2KS7o+N<(0Aqpn_2%6+{;o;C;MNpgG2WH?{5Fz0VlRS?etOm;zjc|?e{|W6>r7; z$9?_*x-YfyCc8l~6nQqT)rTRMId|eY{n%sYOYY7yfbWU0YAwm<+(WEw(mt(!Cf^NBkAJ&J>X_K(8LuORz6(Wk~E`-Z}+K}Yr--Wiv_(xnda zd`g$fi7r2RN|#Esm0a1^o2?|-=h{kpu^nZv-m9WCQY|u$D83 zG>7~gIom=W&DoMAoCzGQaO6un<$B7O7V2q%b`13#r9Smf`eM)i{VJhuN?Xns1{8**iSYIOFJIv!xZ8-&(~vM#x0X z!|i#diTh=mh_C46o|2}3DF#;hx%kvQJs#@(OgpqKye77z_Vs_&&VgB1@?XUNB>vUD zc;MJ#Ys&}qoZTk+DK%TwzCV`Ao`J0B$p1dPrV1IMwuMv4>#7Oh9(c%C*fJJ>rO~{Y z6%GF7u*M>Ouf*b#?)!vPUt+$m#Pdau?Uhavw+Cz(Hg?0XG7dwU4MP$zbWLS`1&+xj zjWfEY>Ab(pX!}*BsQ~=6wo?xK!N$?}Q}A5vv}4nk;DPsr2OFM*e3v=-_S*26y`Qp1 zF5Ff^bCVel(Z+1%XlUk0RqSe854M;SKK073!DmaI_)!XbyhlUeNM~Rtrj!4)`UBK2 z`tdSuExJEEcr|+hOh;>v`i;H=kLW}BC-dG${?e6KksrS)x>ZnPV#`HORL_a+s!Za$ z3x}bf!QSd^6daz8&-U~5dV02_dPUE|v3yg8x-D#k&-ibcyS3&QWWHL8-oA98Icwe+ zJnY(fHV-&>xAh8e;iJEw_gyyXPUifsdd}M0GzHxX8yelrAK;D^gG>bG7qKI>HX)c> z;NRZhZbT0e+-J=LyrMhZtwnn_jU>X_edks$-wp$(n^XnNBfDi%zcKZ(ejd~p=C!lHHxR8oeF+6);^wP6Wa1OP)tmx>5yHv6aK1sdf;l# zQtC{UIRVKU(&XcpENOu!G-p`f%Rhmye~m3?NsD=Bz3R59c1(~sUi21Z^qLB1PW98S zXg9Hbw~XNQ0-G)8U%blZyV=O=b&|`-pvo)<<|9|xFs}z*gWi%@m+0JL{u0cI=^@@V zH-$Jixe8d`cJQazX7vU7vF92;Whc|73xnnawIdxSaXtxBpGAE=)5TvlZw30qc?-N~ z+ys~8$NBJ6h_%3&(_RT}2_IS1)e6s6*!-Uvy%Abs+zY$qrbDYC@VO6sqVrULAYGDv z*!6ewduH^?c-iQm{+OU|U<=6qc#L`kpT@@@OSbn(>W-KUh4*4dr59yK(sM~R-Z zK0UNX z1V@iJIQkGA{e?93SFpw9Yj*U#*THW>yKn2AdcFtFl(&;IqD%QRT>21g%6^^=9oo7P zbSNKToIX6{JEb3q-c(lWO^NAUUT<6nWjv0yb53|%2VJQ#^vC)z9?%K8F+QKdI{GJC z@!?-dqHXliLfxZRPy3=jn`S1TqM3iU`vA>k!gI(s-G@VaHeZTvRK6L!w6H$r#V7GW zy%m{EECMl?h1x4y0PQEyzmHlDiS`(`!O?4fbZ||}G<;yttGNlif%&e0`Ob6FyJ912 zU-C&nv+xJ^X1++dxq&A1)y^(#anWek^*m4J9~=LCWOVDyxPDnY#q2QLZBUn@doeuK zVf?HuU&Sv|Y7v8w)e)f1rfA!m3BdF$VRD$z4L5&1O4DxTvKXskGpJ*y^iRgB@kG~l^;`aiqtM_k`k;62 zvDyAByFb~{Tj|d)crJmiCHwu3ttS6y&$LH-Nn1;rU{@S~JFjJew}gv>4W zc^93-xL2^T?%tvp-vrxJX~v!_^)2LlW3HO;D)Ah@S8HNg3)B9(kI@B6O3e}O7cG>p*dOQ{(OR|Qd_H9!b?N1s(9uU- zT`wARozixfM~Dd_rqIInw{o#HTs=J_gE&omJM8WFV0XNJ&3Ce`r&5n$ZSZWoXmU-t z=>xyvd(THFI$K^JYg@!rHMy~aErZQOWc@()k2kg6Zg<-&9A3@$?3p<#{CjA8QUOZcxL+`Gn&oaJz7Ij%$Hps{2Kg3 z^HWyzpQ%s&IqAzbPvFz*jTS8YzG^p#x@5yEzw}@Iie};Y8P^lnskoa%`SI98$u7w> z#SckmNDTys`TLp)slMQ_7HChu#JrSizH{fg#*Fw}2hC1+jrnYcGoN|9mqq-{J1x#! zHfyZrvcb{(zNhBGmj3awCassU&Rpo0pGNsIXWga+8Ke27mObOQ{`+U=7nO167r~+V zrI_-I$h(TW;#2*>VI^A2n~bdOaqs&(UhW>J?;GjI2L7uWFN?%--FtDbjLh~09+)#U zutncD`MA5sjE`)(G&JM!p=QgRl6HHnUHrUFUD`+EzH9z(OgcAwWjgqJ>AVDdA&;e3 zv~+fT7S}!S<)!>f$hD*IYwZK zZk|V-JiX}wzGGbz6kp=z{q7m+yEh?E?HTfLr`CkU5cjq?t zu|m$)An*Tm>JwkJ5MTZQX)U7zonLR}91hZ+)4M}Ear%wx6k92Om~RWn^EAJS{4agR zE#pV0aOrI$WoA3={Ml)zn0DlM`NbL9`2l7A$hXzx*?f-eJVKd2IPJuoc1F_9bEGBW z?lR~7Qhp@^L=)FSpOPs<$iId3Gx%|4%x3OG7kaTO5MSe3Z~HM$U)Pdd*}EN^;K#xK z(^{hD4Z+}#_3ifK3_z}hun~gzaJ;q;$BM|0DW63b@#|e*#aA)eG#z8y06)z{aRmp(RP588d4 zoY2QA`Z$+9($`~`IDNz}3CdpVhA}I8z71m!y}v&0yHY#JeE)#4)cC6J(skqqJWgA2 zTx3U=feYDbx|6;hT*xV^{em|}0H8Q7(CwlRl zzi4hc-EZF5^#8x#Tx)x_p2FIVKVTvy&fRpglF(=S@t?t&LtcCp*nGRmyPy7PF03NI z`l|R4`5LPzTTfZhgZu&VNunoq#>W_aJ&+WUPe49N`3Jt?jFs(g!>9N*@d?6djC<={ zyUnIo=tS*{rXB^)y?wKNTM6S4Cf~WPp?Gz_B04m4^cnT`5_r0EisooyBpGAzhV%qy z9c-)QoN%J`FB>O|tu3YCqY``w7h3;Y3N9Qzc~SNFV<|R1go`2FxQNFJM1_m7_(NP= zEIt(%pt3VvJS3#sIG{|NMzf+{{2Oqvi@u!;4t6*=c=->X!NJPE0SAT9L>vc!)NUNS z4!jOu7G6oL;Mw}0c@F*W`#1Ez?i~BS$m##;#Qwt*jEl+UQ%xd~{ zysK;LY}tWz{}fqHf8M}W_p>KVvb=@;HnsS_T4d|Lm>Rd^vGIfW2rX>6mNWRz0)Fzq zlWvT|+49Dy&-FjP!Tq<(h<)Cl&7E151q%-HThH1+gGnjegzRp-@sSzkttam;_L^$u zney2QzRD!{zYdrJj!(42S)0hmE;a0xtE4{#*nQ*C{p2Hv^I1;xE@!OHWVhRKr}c5$ z-EcqrA$$jl_ie?VZ$s`KSjD`y#xy|UH3*XII z7w!j+ zANF7IGfBsmA6E2e({;=n$#U#y(Z)UJ;D-${Zb9HW4s9x4xY%TOR5-L5dk;S>^SoJ;IHvs zbcb1aCI7yv`-%eCg@O8eiDwEh_n&??bG3Xh7n9G0G0qQhJ998~PvhHM@{Hs+k-wySxMgH#y8SwjGOYL6?FSOu zCr#`5nP+J0<5BPm-zJc!?>V;h4rPAnv?ci5zW$!H82{?G)_NolUHW+3d1r5?{rzU{ z`D{Fs|La5ftOiBDTH3Nk{A=S8URc|8aLvznm)}ciy~*%ee4i?N17-0G+j{Hc$elyX z>2FeI|3-YY%=d~dQ5}2GAi2UxQBCbhGxw457oJjzBJvHXM)}| z_04Jw6oJ!;icQtKfzIqcPfmy}C2k76Wm_L;RXUUOFzk;e_5q$2t0iAYcRZ?7=A)7E zGD`=OzYcqba_lQ=a^s^0KDyubk!Zg5oAgLx`3eth(e7cVj>L9Dq`P&rY#*5AKD)4= zt-e=!sV_i%|Fs?dL-xCMJx{%U=#RUc7Tj*rT|9nWKFm`5pCva`oVFhb95xwKHO$6q z4$r)+yhWN%|2aYXn{eI8{&_P-`768AjMBy>rq#s1sV=A9E^o$O(XjYVJSX0hov3lH z8W?D*9863Oe8K*kwByLJ;D$g^BlA3ZbyEep=+X_Qs2G2w#d=Q#W1)Gdn-8gn`fZxm zSp9VMew%(Q*0Kt&Ay$|17T&2x{j$qz&g+g76CBj%){#gL>pdr~D29LEX6*=H;{rdw zRz}UR3}3~tpEFnZuq%SO^wY&xYH-*_=#4gs$2SuMw-5ew$Ht-6)82FNrK69Rs~+L} zQr-^{gR44)zrP~G6q|B_U*%oK*+P1k|4^`6=EV2&IfF#8EKf4tk^$y}hhO4bB;|Jl zvwk{XF>PkAO+{~EYVg#GjC8Fz+yuCvGF6pi|!(XPq9y@@d) zvdio>hvE1R7FxC~#yLgcHejD;8e|N!ocb3fz^U~s@#aOe(P{5{84_Ke6q+IZErxCJ zVf}!JbO7+lxi@{VLk36xi+XIitk_!SmA6L3_YSe9(PP!?(YkmB;^usM%oKS8y&%sZ-hz+2g zE7`}Z7(nV!yH%o9%2&~@Vwxnw1e@ye^vVyz^Bav_fS5I^#Ro(KcM(a^;9yh zf<0et!e6Y*ioa}|K=iLM_fvlbH2ZmN1hF$LpKa?NF&X1+Tep_@m>}(FoTA`U@Y-XO zKu^!C+P_Bd_STQYK4?r@lS4C})HuPbSM&)z*6xWF1!M38^I-l6v*0kaz8fBE9~PTb zNqQ;ivq+yujMv5wyCzr{%a$61@5zsx$&QK+ZlXTbeGBlJo6G>i-oPv1SIys?ZL{qo z&k*jA9m1Y5&P`@arjT#l{3|Ev`O7@lbLO^asSQ~Cq0~qz?W#@9!6OWNyyyEC`8W>@ z`=IDK;A;i8QpV9wzGCt{0&FU8`+*x%b;qsFcWQd$GE>w99BOAg?SyDYbQL5`zS$^n z-vd4s7piqx;dKGHR6Q1Q?$A|soL7froyPK??L2XNfI15o^1hR^D3$+Z+T(j$F84R7LM4mLzU$9T)iB$Xy7ldYP&f&Z#V>+M3R{edBdEjSP%0?L+ zok(4Z=ZWiSgQH*IU2{_M?;O)=4V4!^`uup^Gh9?e}*`*IL+rc zG@lt29#&DG>i$>y>(cy#(3AR39Kp5+J%gcn;y`Vh9~Au#`JT3Eeo%BJ&l??@uRH_I zZ|XtwXc9KfR{@`3J4N%vLPPUi&|eoc-v!N|wE1yR^gh~Yv}ry&x{!=_e|GdPXG}szyC#N^MMcn!Wz)-$j#^}T$dN-Us8{&ccxenYUeHX_=Z%>UJDT$X z9G=OJ9s}lM)N}jEv++#!Iq}RJMdF$4=sfC@eIlM$d+%U+H`pKZ6i9ALBe}hj)`&Q-qT*`U9;J17x zviSk#qJ`X>{uKRr!;{&OWi1-!V=Z6b?s2{q(2l+<7WFh-vG?-O@W3aM)zW1K<7c`L z`iXs7x+=z6md>)xvh@*9$AyY-p>MBYmnbfZeX~CeAQOjFU%sQ2@wm@p+2x2Y+1?1e zyMf8eUgg0iGhSbc+1^6Fg`7n}xoufb4P1Q!zuw@qtgvAF4L-3K!58t)`|Ncq^1kHB zYz_iT$ZNJwB3*Lwx3u3$`^DZ&yZs5(-Qx>-stiKF86+=IQK5lhZMV-yC4*1P0E7m7S+I?y_u_>eurq}y?5_FP0>-W9*7{;1sl(2zys{_6f?h zeZbj}#847rMBL&jxhr`pc`F@DYgnQe`M*0E$2#-_&55<(AP4^X0Xjh)xO~;)X?_hn zT#;@og#aPLJU)KTVHVW zegp22D;@Lj14-81fKNj5P5q#L_P~0YkJ4Y?$g4psZXK{$qUKLuP`1i4A}0_4ReblOAq7}wXA>sj_Cx-xd=S@rdq3FQ{??CR^suK3^6*MrPq z+tArHhcRA9q`RBONfGJn8t+#8_|oGwjur5!^!SSe%Ri{cTZ~r@<0pAlLM(icx`XiE zzky$kneF>X(BEHP`M2rsJ2Y;8hyFhN4ElSJ`XsC71D~tQT+bXY`4;O%e=jGWtG|Df z=f72dZ*g=PgD#VQnl3{eM-Tn|55S@MZZhqJ9R2++(xksjKDzq*SK&R)_a*$=_ywmL zSLyK|PCBz5FC7qF3SK^?*Wb>2PrW|y(b;sAbJOd8b46UQFQ%@a(uS+oU&XuH@4pKf zv73F3to51{WR~Mked{-zgUEVsIr|A#*Y%6Qvz=Mk3o4(VWt#Fc_|LI_JM$Y&Q5S39 z@jZc=(OP0~E8v5IB;rw6L-ofLFT(v5=q;j4bQ7C4Gr@0fw0V(@$INKoU)kq30MqGy z+5k8=$jp!EPj9gQ4%oH!X2b4DkEkDlyS%|VAwTde`Z9|(IrT~Xc%Hb0Gs1r9#9m?F z?{i>hUXr~ndri8{|7?x>@czQDU_2Y_W>cWsW|t0Dj7<~3f5e&83!tGH@GoT;n~aFX80|~Kr-_g5x+G6p(lZ6&XBXwqJT%(ek@C!_@LOr- zlWXs~U}m3ZMu%&R6}gE2Z-;cQSL~XD3%@&K6~9yN88-8|exCGJo|j`+C-a+XQo;@R z^iq;i!b#7J2xnNaYc?3q)K~cCp^bWe=Ps|PnZob*hJ|H;o5C~h;dv}|&ktFVeGT{4 zT*$9kUR5(MU`2k_FuP_nzsnkKE1QGg`k97%%SQ4$u;K2q*)c0p)o@o?0l$|npIe6g z5lPu~!?Zo+1E%!_u2BB+8S5#3@A9fL5AU%jSIpSdFuSa(VPQ?5hPh=oEx)Vg&Da;G zW$Y@QHlFgy%jcARVfoye5N(`CejoMy8!%qK>&9t)_bA5Uq--~F|%qvN6AT5ROwPU`X?xU`|3x8a8{JPYd z&7}Vu`L5xA$^0Le&7F6B`YP&ZFT6JWWAe`>Z^OK=r-yicam?DX*7?__|7G6VvagVT zG->yfH)YIs$|{CEmELFGcgmjPJ;47EzHg`g@#KjCZ!7N~Qdb6Puk(8waP1`hH>3~Z z|4Pbyfp2?&XE^V#Q0{T^<@U*`X&~|W|?Cm$F?D2lLl`Xu*S99cRzM7H0xu@(q4R_a6H9W|e-CeeM==hos$p1ch ztDuR^&`l<7-yXYh+Ro+Bp$T0hS}KHwDr2S7o`u$v8|K&C*l;^=%`aP>eoxs9>V9_H z+_J|>i%?esb+r$@w59?&{X+VJvIg3n+i+LSZoci|n;+VJ!U|n8w_jD+^L#65s3==5 z9%{I~W(@tcpuOe4nN#L%3YMil60F%X^s*WsWp5*Y>eqcWdw}2DFIeWMt^nzCsH;@< zQkNn9I_fIrc@%Z*89Jio8E`d%JSn6f+@`cb>X=`1kiI|;jr`#;zWG9& z+GeVLV&~}>&!cjB*BoHm&%`pRZN*G@h%+sxYyf-MOFffqf3juUWXRHelHcpl*#r2H zj?tG2+ov`t+C@wtyDK^?PS|trO53MqE|5=cCF}hwI#9MI`9*+@sk;@13$K{n1Bb3ulkxse$m$(PsjC_5ld1thcC&mIQvBD8Pgn1rex|6BU-`~Uv2W4QJ7WG)mq0=d;#Y5`*xIgP2Ybe-_np-Q0GYshvv`T0gaaXeY@F{UX!dwNq)^g+cWZM7 zU@E?pd@pqkU-pFEL;URD$`Sv8gL%~}Jf5QsSTRtiN^d=L#Xrei^6Y^v`=LP0O zD`{sCey)4bqf@+j;pLu`@OIWZ8s+E0pCSH#g>!Kw1FrnVz||qo(6IFFdx0s4k4x}r zFTxVe|I_(~NASg|9hJMvYwY{1?!}*?HOUs@6XI(qgQ63Lwb;C_cnynl1tnW_X5Yo6 z>ugf?UK}y8F_Ax1Idt}>=hvyp#Mnb;gV5^+qjM<+Q?%FZgBWW%cR|Zf@oyp5eovpK z;4`e_9)#>vokyG8TnfEy;(a|n(9$GN_#`yguq1WuNR!>Xp7gp@Pq-j8buBvmdodq- zE$PdKi_Nz6)Wv+Y@9ZVfo%o#VAEtJrJC^m^rY~zoIuml z&}a}@xD2{49%tU$41Fx~nWlN98S?GqU27Q!@tw4!n=o>@=}lwOTA^tdj&;~tfK(Bpur@@!hI)~8;oyV86aLhs zW`C*`HvO#AU{8d*N_Wr~B6}|e$Iy6JYF)<);#1enH%%v?ar<63=sXpCe#E#Q2dCIq zg`6K-_%Xk&oFjWnAMUS7F_BH+{m0&<<_7M3X-LXlyAE6&!hf84UTSz@ztr#ptW{PN z1e)IR4w*U!n!90u87Q5Awb^|^`1rzlGa!k!mMwYsr9R-gf&ZQJZrkx4VDXQ5F1Lg@ zOzSVc9mwD&rL(p=Jv5(lgN?Vk!1ssT$?TD04cDQVYKg-&)jH zOI;r7@Y7Z$^(Y^7X4kW8QRR+O-_G2f&}5OejLksVQ_m=*_sN(C^K`TFpE-Rpw5@@9aS}B26YL}F(9S*Hjoor~XNb-gkK3H|4 zA=PSb0M3Q*0*b{%t$~|nUsyP*)fzbcEk#a^LB{m{+} zPL+R%lfRC9LCOf%v#BfKluN;o5M;}e6zMD4u;8Pe2@qPY9 z=DjhTHBkW1&w}S;#2*&G^T0Nsz=vOh?>C}5=3Dt4UxpWY;?MI?$=VX|=Rdikxgg1c zhbvAfuXUcs=C@k-&5vxb=9wnRfO9E-T3O(#O<^DRw}FLv?_ghKPkuKK1=d;)3_f6} z0*2J{km2y!{qWieaC|5IZw0@CqZJ%i;G0pM`o{Wtw(5Q%{qy0gpl%O+D@ES=`+35@ zR=wa<__K)75WeuuPgULWX{-L5$V2Q>lkh6vliGTl*n-c)MbEb6JJ%XT&KUNrp_`0A zK3q=PaeLgeqs92UeFGL-SJ$d$AI`?OsO@J(DL;gu7Od$qE^Hm>jHg~&b zHrJw$1)!~ZWB@wFUO#hJfg=-m5C5>x*s(m^pJmTmw?dowKJP1~CTZ>U#862tNZu-~ zAT?=i-OF9u)n~WA9}y?qYRla*QTQZMvSjDl*8UaI3gM=gbj5%7macdLrMGzF^;k|l zcby^sk4e`aDpzOJo+;0z%-7@M>jTmQ2lP|v>qM1FYQD#CKklWh z7qH&3dZ3xU+LJl83Z7cXT)dR~lI}p>ubwx4QvJiJnY9mRWY#^Lli5f;hC8vaLyFvI z;^~XllRlpG%Jfq)Es6WAKHQBB=Z(ijbg|dDi*p~2d=S^WmyI(=>iFLr8WySNH*Uk> zKMiC?Z2M$HU<-?@oQ;o-aw#^-ygU20%k0bIe$=cw+W(zC(+o@AT;_5(gOGeer^Up_pxhQ&{NyINzpBg_4h)=?3s-4chU74j1{qxa_(Gb z`gdH%??~!2Lr0WVk*Abj{2gV1hB;+E+t+hjO)RPQ>X`f?{HvVGD1Wbc@k5w~z)71+7r$=&m5b*$uv;!7zNZZPqLVr42>4+= zZ${Bo>1*EwM_2qPG~);3YG>SgWoSnES3(0MVOy9=7T zsOJ#)VNCb+gHOhzYvwanA?D-0R-ov-+wYoW-G1k!FIt}I^Cu6;tG0Xt9=Yhe zwD}M9%e;_hzwr&Q;o*Jkl75-8rR@3yFLf%0aWnTj=b#f+FqRMvAIqG!?92HvYO zY9Gt@rc~>kjkDsHweIJ@ZA%~Tow5@Sd;1i&gS*1cr7v}mz9J(vEd0H|IVg?hyl}1Q zYu_o|cE!5fr?Ht@_zhq?2J*~=t{cpP^YTo2s9y??(`({K#09a>xugkk94P}ng?RsYrmd5B3UmumEO-h z!1>zc>$!W2HIY;4_}OO(l>A~eJk`-3OuF2Q%C&OL1U((pHAHs zFw@r+nFXawl4jDELTF&Xm%cr8=3&P8mz?2#KIKBpC#}gluYQL)58ZBn0q?WS`PBvR zgMU-%o!4&4xTJJb#+@Vh_4B*Ap|Px#{|5g3{BImnkv@4$MOjt(z-e_n7w}xd^X}x@ zt677(W(+j6&SDHrzqA;-!6^8^2OPrbhIw-)b;G@A)S?$yYgFuAL8`ucsvn;hoV162 z?V(@G7x@;wzs5@V#Ks3)lvB`HVA^M=!I>XPu!u^2{!ubB6NBIlKJO zGnB_Jx6Av^P@eh9E6(!{FpP8$8NOCk2^zo#?>x==^4s1N805loS{56jmrBc z>AS`F1QW&w{L9b6_r`e@lZd;YZWx!)BLAWWh0nRpdjx$x`oJi67s zo^?nMQJb8fQZBi$6WT1}w<|5M_W<@y*W~`hihK6H^~;ny?7L%$S<$^{A3?Wgxw+5Q7o}D|h89xm+>x|l^OIKax?YH;I z^yhMaxa5IVi?BP8XVb@+xjz~FkjaaAOxo&)2j`tfJ=`IMPs~*7E{;Oz_Bw0Suxr`- zJS7tynz}srRXF>u@U|t%dCPW4Kf=W;GA@tWEf6QYfLlU=QOrR69#p67y@lQ~mEx^b5Wx%y!K!2Q2n zmn*t7^m#vU1idD_Oz-$;N-1A8G&%gniLN!Rl;2PNT^_3%|GtmM4PRPN|N=c@{gjI?hwo!UcF&zRLFW#+xj`hnnYf5LQ@ za##DtB}sX$v#h38bbM$e5<}j$)e|p>F4LYy`cuTw{g!{=+CV>Afy1!JX1MV%PTuM} z=9uyTw#9n-)b>++r|{T;disEFSztWjTKuVbj9UYKclMJu`>+pMpTZBFYOS4xpJYWP zwviWKd0GkQc$O$$q$xz*rO;dnG;8|p$}Ogy659ST&t{30*K*u6)h)I1%Al_bcs-B_ zzDSFaXC`CadK^C%_|#q7L3qU%^MzZMn$A1$m0b_Ml~4Xr)%mpP1FczUE#s}G!ePXI zk#?Qx8(-2?4()sxrfvP+eat~K*WLPvR+PwriZHG>YlPeT`?kB%!vmLr@hi=;)+HC)AoIXXf z__doRchhKo^_Q8ieaMKGb*A%vU^v0Jw*jZ<_4?tWyPWD)==Uh}D!SEpOCH_>528QV zw7P#IvC%`b!Uh{!G=6eSR`>^u|0U3`${$!4=$!rPs@ze~EIia%`_7V=CUc&g`0c6J zXYY`1_&7AYhJ86NnaruBvGL*3q(Gz`y`!$LV#W)?mH0JEmZZ*9Z2Pc}I46Lz6%Wsx zs=nv)9`gi>F8NE#qW*)-g#2Q&;Ds^RNzlR^=xH#tKg%T9YcxTPY2B!Z{3^zzPYrT+ zg#Y!L9r@@=RmSRj5%Wzx{)`%rCtNYV()P1g`C_>_lZi3Lcc!{`Tc+usnYVUgw^rr{ znnn;ySKmCj3B6+Pd)O7TjOnNuY6iX!A5{S}F^}bH_YKQbzkvU7CBF9z@VCxnbhP7# zyq&Z;eKW#yuxaJ1nM1qG8&fMr?BxDi?P=qD(D?;BDySn!d;So*BXApZiemZR^G#FG z@x9mJdlRhb(7s?*|Nj$z!hYZifP2$;3F8!q>@)+K#{>7>)b|c>dck!t#q6EMdevfmt3hr(fogTuRQ9433MzCXv;A{^FX^VH6} z+s5H$aLE12h1UX?+7{j}ru`ESO`94^X8jQugttcYnOP>iBgU`WPJFDqPCHe0JN;?r zd~_$ZQ!m*tFFsc9`eV7T;zxbgvI^hu4C=U(_C#M6cNx8&WF`ioami5OE}ywK4L&P5 z)MfMXfm=(O#Pj0gv2Dmt_*VR{J7XmS0+efo2hEbqZaL7erK`LVdDV(6rOt@%C2v9g z*m3}w*HSN>v#$y{xC4fSz6Yp3~X2=2hq*!;{nzB2O@l zwM+Qjn3U%HzM+m(bh<2Xuk{7R$VzU!vkpUl zkoO*Fto_bF=Q|5kXQ1d>~!34LwpUX z-M=%p-Wj`X)Kv!^slN5_L<)7uk6kBc3OnmOShDu63uZOU(917}xi}pVpV|meX$*oME9{QJ!TVWH zW*pvQ9Nu9Z+8Kv;8Moi(w5;(#BkzLmcE;o##^OE3;C;s6;Qi3Y`K&tu+e**C@Lisa za2DgNxNFu&wg-`6S&F-6Pe#vrzyAbx^k^)pPxY#P-C4EJYdSSv8gGq%kQlsR8uyYx zf3vAiczDm76g|m%(7DG-p_SXn=l z9q*?-myX}1op#_lLR+HcKhvMpp7f4@)1LTc9sKenHrVPO{IcH}ANCP7+m^7B|IKCq| zsY_$~E_Dar)A@55_)6n_?>Vj)QlG~4i1d8QxnuiKH|=INOI9Aj2A_o=u-vx_+RY4$ z51+%I@6zr(o>vcvuZe2B-)G$RLlZN>dkBA%ViY7h4n9pken-E+zxt=~cl#&ZbP)J? z|99wB^iA-qFB)U@^Bwwp@aaJ3_cP-(T;oX(|BFcvXM+16G=X(()9_1HrcJ~9sr!h7 zd+|o=Uqf|H@5;$4LE)Qy6BCM+j`*oTIyLq9jZ(H&|0tf_`jHs)xUk8 zl&;b^w9#kr?|szU0=`5it@zQeJ^yO}q zbNZmOFj~Cnr}FfGcdqgRi~KZ+^zrR(xKwrkePQgt)2%K{^iA|BIu*UX16;DfwHH`4 z@TAI**0~>JB5&WCxjF1z%>0Rjm*iqW(!}^ibcT_ zrL6sFZ71)1Pxy_K*zm+e9eU#0JLDI5>zCKvp>z2D`rGU8kgxQer*F8!U5C{ABsM;K zR{KY=`|X&p7SV9N-)|(KY(@O z0rIE%Ou;Z?(4Q84^`-UKS`*9(YdUArR|kj@Vty(2Ax|1(oRvL`I3%C7O}3n`A36j2 z_4z&vK8!#AJl`t+aPrtlBj5e_D^`5T`bH`1U{=O$!wm6h#2q!6)Oo|?cT8oUc}c7` zSI;5pH~22FCHY=4tUtP0hHu`m25dL&MSo$mRetD3>l>;!)0Y$pvMvxCZEaJ$Qixye zp+}eNc#`~D0|5MT&o^kPYm@s97ti!NIZO1{Cc&%^+@nYp4cTKFN z?|<=(*z3pU*FCHkLsv@k6QA}CZ29kbMh_cHn#Q&sow$IpDq&n^$rrqd{nO~xh3JFQ zv$0bqe8jKtdVH7St3v}VXr(qOG*I|~f9zN?8&9bw;^Jw;2=p@YRiuVyoGo7)_A7Nn z6cgCbm}@GiQ}JjT;|&+!)23~W<;%c2gmDV-Y=}LSo)Uk)Akvp-(fMlh@^zk}9WD4g zAH|+*9A;*=%n#!Cs~jd;yc78%I%doY&u4uo|D<=pMf|qphh``(X?I$riuV0Wa`Ot_ zeDI})*YDkNb8KR`68I{C&%^zNetaY){dVS7ES|V1NdH_K5p8&}6SY@ML}pXU8kE(EZSUR2j>u9Ihl0P#uND1MHixphsMTf zA|-()gbR&@@Ua~o_g-kD0-ut`)Q>EXU+-+=KlVshx%H*`eeJus{|8+|KE|t#6z?sC zPUPFGdQpqR-jssPg$Z9SP4lXP~u$XHLKDw9-VQiDR?jKjOUUeadWW`L%t9hD~F) z|HhQFHoEo4{Fg#koydV7doPH5kv=NDl=#i5JP${1EJbcqAvcyfa$}J#H?&@!gWT{= zEyDNt6UNtV*O;7cxlw?QlQsC1+>o3V%~fe$z$YTR1|HjbCF#d^^^c6=-HuCxmR3VA z%q6yL+1*V`S<$0|;xW7iI_oK07QB6MO$D@~IbL*B01XX?hDJg|k}t@yPW7)II>JA= zbs2P|{%bv0bakjOPE)GKl{2fMBk}4zqNQH=bt5*n@=kzvdxQ7cv%q`pKM3!?JMgL= z7hcgnciG!=@f~!7&%@`sv%q)3KM3Dy2R_x42%m5&d~OFm#c=3b4)eul@s|_5ANUkY zsqx-bH+pY;%stVzuiA0D_P(B@e?7RS?W^dz)FoNcfWD|Witl6w9w_B~`Pe{_D*e zLWo#m)2}qX7MWxQ$~SCQ)<3p%3bG+o|5#%YYm(1bPLe)QI|DyJ68_prruZ%Qt#O*KuNLsot*>ua_6616Vb{jDE5gub!1R-4W@)+W2Zv9HN@Ip0`U zV;}B-eAXwszp;NSFp+PpsnrhV8|Mpkex{loWhE$e2rm+@^v!nX$MS-zFt|n?(OE;v4H_wO8`(>V$7s z)4y?iyP9wR#5cyPyYB(hw7!ltn*iTR%>d}D@bTy8Fh(hbwNn)9Y^r0d?czY6ItO2U zMTwcdhiB%?nQzd(Uvm!YxR0=&`1r>rqp@F7Szlzyvh<{~o!V!CkNCT(eZ%NU_8PC% zu)eG=$xJgzJFor~&+mBqMsKV&k?VGvh}L|+Xt6h{VME!|mR0RZHq*8?Y%LqkdmYbD zG;Ayz#j{885v&J4-tc(Y6lYD?%dcTgxS@Q)v{L@7_~-QhX$?bvMXbeE_J2IVevik? zo?$IGDaB0N#d`2?{$s>c_!~BrRpIMhXQfqdW^FiteSV`!PFv4BK>s4kJ;`Z)Y?Ma& zy5;%XCkZEeZaS}U`8@xQxAAq}XiQoybLn!{#2TSzeOEr^83hk$typ>N@6hyV-{AwT z6?cD!u21_8FT8+XvHLr;ecE^U;RSp)-QS__)4szKFQ7Mde}~3T`wm~cfG@54J9K{9 zcX;Ck#qUH*IV2-oA~+d+$Pj{p0*OJ06EF_CJ)Bxz3YRy?S3m?$i8k-_Vd- zjI0cSzY(`r?RXs8Xjsxq9^_^a96qBw&_}O%ke>nY*q}VnNUwR2qdsssTX~?9Uh^O` zE$}%-d7zbg8y+t(*8{T`nCn@q^HjG$6JC=%wbWQst5VJMDH--U%+!V@o|#L5w;o=( zlQsEAXs;FCs6`%Z;6DjG?d)rXeeiz+c@*DllEzK*f16m2*^OnBS#vLaa%)+aMYQmf zzbe~f`lsD|byE5S{?)(T#1rqL+|Kz`JN!0m7O>Rmejk#(D)nN7%mdU!uZdo7%`_9Sf^%cSMAW)%IJ zDWAif*ybHsxRZIYl>Dv4W_|~HLT(Hcp8PB89-9SD{h_+YcD~y+@gT9~iZPX(-GXl5 z{%-eVP2Ip;_cZ-3{HiH`nK|3f9cc2^;7jXVhh6#pTL;%PpwmeQXz=+Www}j(z`pZ? zbH4()krl-JEgxF4r6Ck3lFqj&WQwMY9w*I zYZ)8a1F{8N{eNsD_JX6+wT+$jPhz`0-;D(2mEk6DZ$pFPH>7)-Agr zu`K?Ozol$tLRpW-oW9DQJQJK>NyyK6C^KXi;M3TO9lSNsm!W#rLC?&i-8S^2=ud-s z*gl>Gr@k{mPi);?TGX@c4fn+Ja0YC(@YwpA&U`+F6WjMOTl-4}725c7+MbHd>yG>S z1fRg!#(fz5J8j&NXNEP^zh&IdPr%XHaOzn}92(<&E_nPRa>J#g-tbroj)Wfzz1JUG zm#cR5uCesLT>BY(wcYVqe5DavmJeRxk+b?mT)KPdz0>JiWnJ8gm#Q3I`UCmY&x6En z>;W!c$P>AmI}lTewU7kHyv^`tgmcoRM(;xN3%(|jAhe%8S2 zh}YP>BxS9icz{xKUh`zq*RdaCJ^N^GOG;ULfOE;}h~;41_jTaw+)vC-q2+0=CXR9P zCzDsn=hO#Z;2i2mlmC%&b;!e6Cb?rjwut|HD?A!~q8Oc_7`;IDNh!FWY*NBYi352A zKO{DG#~t9WXRLfB`!-7KnE!fv-+}c&#fi$)Q*rr;?euKJ3+^|8qn*giXFa3#?qQCe zkYqYT?76K+9@N3tE1>HUoF(uGX9--0opkuwK+`k$(k=wv!}vrm%rKofoLzbNkAbEO z(Md*(FrE9qZC*Uwtn=!xh$x1AIJ#B=`qUV7k_*v0Mh`WeqkN`w#2C}r@Lf}$YZeWw zAV#*tTZ!+pVptozc8ix7nq9P=O8Ld55rrdrB`pd<1} zu#s$;-dM#NP3W5^t}x#^@v+A=SF)#|*vr{j$cIV%2Kn_-zxGnecjpUz>x5wsoAwiq znQO{F_GCBDrcAy!siT0pwC_*nG=1#JX>Rl6HJ1=;(7M!Y_uKu*30Hcvo0%KfbHLt( zht2jAo}4hTDjh!Jn%g+DNM&=po@QuthUfUh-&dbYnS*BxkpC^WdMfd`vUhX87HHbF zYxG{xM1b+oy`8hrG^Z5?`tI-brSoM|9MKXW8!)kqt3;s)}(< z^gqtA`ycl|?(&T3_94(`+keo0DDIOUf!|;>J_Gp)M&UEqN#0H5k&nEcScgR4!8b?Y zJK+04%DTP-^*abm>ic@f2a^iU@p;*J^xk^U4$n!=`K$*R&(s3OsgxL#eBxnBp?&o0 z!ndK@3~*@B36M(>``b5iW_}yJb24}w4lb603kzLPdC-xIlt;QoDf!+;j`YNjXBOk& z=qWotXTB=|obnq#1HHz5KS|MbjLACq;9h6kk{Gu> z&bXy$+{harH|=B0J#F0H9m%-yeNn==o$?!JcevwLLj2LI@P`k%XdxFB*R~T~bJ5ZE zHCq2Vmvu6GjcoUr?lrOl=(poP>B>$<-o5uRzsS6I`Hdl$&nGQACp-LW*5Sm*jMt1( z^m*}cC3yINxYg%U0!^}|juE^1CbF@RF?}xDb;V)knK4#sTCtT{Jsnwmu%pmp;A{ zpR040LJs=)z;1m!>|-w=`uKNm;0)Hx(2SoVZ=*Mu2VA|pjxkf+X&N(RPKC2pa_C0( zoH;Zk|6vfFP`p39`#gi3=v;6o|Do)oKLKZ)hK6vSAhH8E_rG~?%`)IRNIg2s;B+{- zcv-N+WKck%f{L<-H2SX0Ar^^A4Lu>Pls_x^o{;4YoG<2KK{F#K88luK_Ba& zk8hk6#-Zm#ANy<=hemHrfKjwjgrE5VbctoaDcaC_5%Vc)Mp=;?y`$|lqlM15?Yjm< z?uOS~nW?qc&(3wZ(Vx(0-M!S`bDjlR&0$E$k9V_x*@p99mYe+NuAIWYYx0Vd(F0=O!) z-T+*QxC$}{iC%|uMx-Bku05*b9k_z%e7)gn>)!!aA#f?KC2_6jv*SeUAZ;slNwn2l z+mXMc?KB4`t9#(YT_X~m-Ej`%^>+H%X=wi60o(rJk}bK>I}%`X$LcB@rr}Zll4g5P z?qj^y!Be3W)}GjNZuP5eMmKx!!hBP1t`6JzCYhK!wUovn4VPWX9mqdnG%BIrRySEEyG;`wQwC-A(?Ngu~^63_XhkKj26 zJ0pM|>Dn36F|>}m|5ol+V?FH#aM;c|+WuS7`_TJ?tmXR9v-S^mZIC?d4R43iLh!X~ zb8yazZF3Ow{C(*cms8Is;ETt*dF-=L=CP)ek4%x zvmbU+h_;{IFmQDm&q1CAuM4X&dEsHy?<3t}efMLJW$)z<63eHw9L`6n;8(bt1pIl} zTiWX#Bc{*&ZYUSP)_eEI16S9Qx03$=epvN+EO)U?qJKVYz=iZd@jk829%DC#<+TIx zJ;t}O$D~qwj7@%|Dshi-EYDt3eiDD@{8#-)nrMO>2Xr`>6ZShw;5vXE0zqW#?Gu16jz5I+x&J|LLD z6&GnU4{$~Va zqD|TUuIMr|x+S5W7oB=Gk%p`)`p;vh@b?Gj+rK*bg}-Nzta@wAh+%FVZH^xl6X z?G0$w9gAn2w!iD-(Ow?WfyP{P(0HV4TM(a;VXxoTG|t%IyUwI@%Rlb4@u1rVu&j5| z?oCMhv6FTeX|d77vk}L76?7^7dW?GKP^X^N?hkm^-Dzq= z9l4z8JS2xXd1#=MgAU7|f*l3Nqci{$uUx0f^;k$3F)qTiW9VPf>w!`Nt`y{sX zI&V%#3o`f(Pi_aml<%b6s|n@GC^w5U)>W?9i_e5St>iiG%W(o@{hdUh}BmvbmFeUT?#{Q{@NpPlwX87P$JtGf`YWq3s9jTIqbtRIn5Ls`RQ!%t?PHbi zV1!9(ZmiUK8iCGaXpu8x!fnO!cP4iPt}*4JxdLN4{m5?4y^C7NUvw(l$0mJG^BaEb z`0p9oEMUK9YgoQM;(%vr?{Hq>es6Z+4?gHxWB03%nb-&&4)zXi-Uz&Z@(c-kfX4!! z;a+cZ`{KC&)lAZSX0}ZR9?c~lU}^LaLrFhoGj5f@GTg^qSCpk6%}JC;XAFOx^PF@Z zRwwlYh+9&hikv>FKaH2M_w?d`?Q0LoZlo^ZPWTzjc{6_FZN7qf8ZT4d2X`FjyqV*k z!Bba&%U96Bi_M^pi!LF1(^_%gpFyjAN}9UZi`o^IpEJL@YYoq<`2Rnq z^L+91MzzOWP28A)e(Uh#<48ZaxrW5E$kEeXtF0_^>Ju_D(y~#$Dq${y(#GLrhWOgUE2TdIPNYTQL^QG$T!ja z@}clRj_FLAhrT+_Yo@{%$aP3Gv6ZaGuE0{$|1Y|6zY*0*(VdaJ<_S@h3Yt#$M`T zFTyKri8wCk6~`-_n1e8Quzj43fubqMmY-&r&S;}4a($dPIyl}(or}ToTj)!T0~u%b zWon#TiA`<V)g>i9qSti_pA7H3XbMVrVUFCV`rYX|RpsQ<&=;N3k(3t8N?)N~Gu zXZ!sF>OkA zb|D9fqKDQb_rNdX|>lBn9nBz)Aihc(`wV}i*IQ@kNJAQbozY$GiOcVr>rT= zo(o(*3>1CIZ7Dm^739r)73 zlNE2U21j}u`1|nkgKId4(tbY5^K?D8TahC?YyKOe@(%yDzTH)>v3(C)J+9;CMqj4= zbDeYU0B8T3b57o}Huxhm`pA~JJtiG$EAZ$XC|3vn8Skc_-uHCB=SF|P`!3$QcAx#6V(%vGalhGSF_*|sX_!wKgAT)4QESk_ zUK?U2hR_#QA^&SHKBY6b`iJDwAan-lA78=O6GCT@e()+f!>gV_Q^$-n<@hGpql(VJ z8t4zu8Fs@{JK?EaXV4ie>2=WaM05t?(`;SKe}3Et-mUwgi&_0o>4AQ9MCoSM8FaEb z<{xB6wfx+Yj>l0RMxLEywXEXzf>P|3$3*UV#t8N>~HvO%GMyE6^nk zy07G~9b-l8x!U#5yYGaB4(p!lt-SvqYi|M{Wp(}k-&dh)Xw_BvAQ^)`ixkP%~LnG%iG`X|?|*VW~Q5OIvK2R(?zX*SLUK?VibkqS00q zg(#T+`|~WxL&$=byk3*%KKHrHx#ym9?z!ild#}#+#$Uj~ZNSlI{ot<0a`5pkMHYUM za(dFmg^v}?E#5%4Y4m5bg^$9HqkcOG-M%NdirIt2xkT0)$R*G$^S1+h6s98IWs^%_ zTmP&a-Pt;ueq5}BzV0}~wErn-uYm+K|3imMVZB@Sp@FP-%RgbIL1$teY?Wt^)Z|Q! zd*fp3$*Zwh^dy|G;GB@6v8Mf}@SXTY-+lzHwSOzj+P=mPoo_wHfl2y9PcZ$Iay34n zLu}Fbp!L(PF=Cu$C)C)`*IDpG9T=BWmc}u`;_48tt*{sx=WM3fF5uC5`Q^Y`Mq2TC z^lSKf(3Y}e*!KcYN57#tXPA4^dO25|y^_>~^wB)}NVZPF7oZ2<9IXkwP%6zlX6=Rcov!U z3^Hr8^Z@9nQxCWUJ)jaj;67jO3ewy8bst^E#6R%9mGWI&^hBROb#T!eeU1Qr!Tm+( z^KPf@qnx&@-^FukyZFxa#gMM%E(L)y?!z9~FNb}@G?y~z5vR(2?a!>0wOL*p%XIA|JnI~CU$a{!$MaLpDFP}DZ z+hubv+NS-2mzG?&^hP6hJ<_Q(l-!6(^)wW>jK;9SlR{x)!` zPc&B@BN^y~Gd$zY9~gJMb?7X}?s(F8A|1r7n=z!vF%W;Z&N1+1=2JI*2|T$x?8=kc zrj9w~|LS;3b*o=po*oYG^(PbeKn5#+ob#{_LUlSd%l!9&1)$+xKJpAHOi1drVgNv6ZKoTUwY` zty*AmrTeod;<0L{9YM+vUF$4v;j%XwTjJodw=rh#zyJ3!<^~6*&nQcb#^;=bv`9qoxb&xs3q;$}E;<2-TsPTXiu+*Bv-2v6J;CvKQ0Zjuu>h&av1 zeEDWg$Q)j!^QGOhroHEJ$XCs0OnVh~>5a@usZ!rapT=LbEyzAW(R|L~(%tZXw{*(% zSUK{mMtUY=;m6?9)^oXo$nJm_N(8cH&tm%xyH)3ot>kwCl z+wb(O2SxmLzQ2=C>q1(SVI9R<3sS!4t+k*dE&aODKdvo_Z7Jd8d6_&~6DnaXMtSD4 z)}!x9=le5!*LslR_1(;3{)o*tihX)AHqS}v2d)FHBagcdr1WcfH)q-~{#N0W?eMP^ z&auOfE6kcwnD#$PxHml-+OTzKa2rFWNuGLft8@Rg-j%?A$!+6u%2OM))}=PQN*dc{ zFe>&_`bqtudhZepP9NN%Fzp<{*>W!IWr}lPFHzWmeTl*j?6(jWKVGuh=0^iBBTjT4_0aj>DbGviI_Juz^MCxai_W(Q7N;*> zRv0?JoU=#WHaxF5rwz|2?6hH{!cH4D5Eh+3ysC@Nzt#ht@8JF~cg@>-u9DVbb??*| z>`GIHvc3|~8j0o`W|{e5D84GDO*ksW?(L2RK72Aq^}r9hOGWa&_=x@G{h)sMp#q%z zul(@okv2b+QhX4)IQ(VcbwnMcNUr#s2X--1^!Z+~5NI`ouF*zb&8m#`i? z`r@v!YbNv3zQ(VKkEmjA7|~7mw>sLbZK;5B&6! zhgZ@(yfT2iZrl6{!z=gf?&6hw_Y>#z!>0;6{jghMryq6^7O!ks*~Kf@wsad40=}*J zL!z^#>&Pd~;+4hz$K=nD;7lj!Hrdz!vj;n2=H!aQ=gEFzmn`Bvf_*a|`=-Xkx$uym zb19@NYad{Qv9f^q_aCt7)(_}z;rmM5;>IceBYTG<}vZ)G& zBI*ow+Eo2*%|FME2h8Yax%IS3wgn&XhJf7)1GA5PNLJXfMRzZw?0)R2q*oc8`P62& zJjy6_!@abvmH7wk@`Gh++pK#}fd$C0qEdmbqyQ&P;(Nn+mL@Q-in>n>Z!tuIV z^Ie_c6&w@Eyfu)l4zO=q{p{zy%OGX?u#2l){5q}jE&m1HwXV=po66?N*VaDA41d-U zN+Wv6^EqMKREJ%_itnWi?G5XT4tuIM|5EC8)&xTAcXI31)9ato6E2!BuxV#Id?UN4 z_@;KF?GrPQF{{k57Gm+uz_#$x{pqKfvma?+pFS}?!RtT!i?=a*nq@QZv#)#N(QN!? zgiqne!iUqBT352(=?CSLJPEe=l`-|f$pY^RTN<&5IUp!A4XV3IiPfzrg&wj;DJ#caUV;uo!o`dYZ6ght2 z8o}t;tNvtlqcfl7{wHTX%i1<{sr#tT`+KMTYE2RISZ9sIna|q3)cviIY|M~;lOCHz zS+4y```g_$f{n~+wML+M_EoYI0jI;!@a{~AZYhSY9oI?QX1_#!elqGmXqZ$`BI%~R>2MKFkKd@#V z0$7(juzsZ%STFSSe{b^jrheeu_1FKM@2_&;{D`u=eDC5k;~?NXzaKbXJOprt9XMa; z1XS;H*6aaE^B1tmy^LN43^s@lsD?)acl!rf)vF=@7v9{wSO0Z**YP z9NW9@?vAONvlSl%USIA9=5r4L%n1kPb9%w+F$V$X%6{Ms9s)QYbl}YD1>Fo9}P#1y1eP>W?;G>j%yY4*{IdIB;Ij3!Klf z-%qr8S&w>tM(ifQ?wBn>Z?PHW(c0W5cYxLII{NfbLUM+e!Si5ac_95{`b}7DT7Ek+P*oiuA)|;@~ zY7c*s^&{>kY>PZ(+ulfX(6-y2>MXk%|G0baoh_QoyZ6Z()?(`$_;2>PyK%#xyur`A zzRR}S@vn~R`jhUl(wAQS>l;4fz3!Ylt#{wMkKVAGcPlM+&0U`GPEYthPMG=I>^8!6 z*j|-qhbPT;!m?otr@{xjNgGPBUzc~oLv7Xmcqqkg@1tCm_qto2zjpRkH;g^@m9FsY z2EwYNyWPsNadVD?>^<@$+*om-ZL52l6{M-dMkpH4xt%K4@7M;rr`?FnybfF7!K5vU z(nr|DmA2Gl8~57R>-*X3xUtx_>$+!*$;VxO?e*YPwAJj;RkE8+xBej3LAu*Y^YM}Q z4Y2!Q5%?8O)F0O=Oq&(H#=*O2K<%>npf_BxHc-btj?i^qx%go4)eKF0X>vAov6s@S zcLlJhto$W`ae3V9Ig4+CM>I3j6F$om&L`~B)HEx8RBTj|{hIj3)}6#UANoL4ex}f? z#(dlgRkLRoQI*kl3DnX7o%nfAB+HsSaqq6|!nlWwnuuhe`V9J!7lGKr* zlC+W8CGK9yF`m7WV=85zR{1(#!+*GquP?Gr)D!PZ-fYAk?v*!^F`|i$(1a~(I8*UQ z`}5ertP}NAU(s3Y%e?1qi#O};dGdz${%P}Gsk81==dSNS2c>Sf+qzFrJO@wqVu17OjB_UiB@qw9?zZ(W|=m?|_3^|Lo59 zqNf$CHT;meTB%dx7k7$O)_gu~XDVmST+W#y-{$u%e%?JSDfkU6=PXU7d!F@x8svfc znLWSuQ?##l+BuJ>WN8I!GxLzmHOS^1{Jd26!|-7OJ}ky3qP+9|l5w$3dmB5?y4qdf z`oCqwI*@rCC!6;0>pl52XY{$x<4;FuPLmNUAg}6{924_v=Vj}3tCYn=ILPjp|_9WM3~?T-ulo}Rw;675N|`Jj}t#0SL|@7wESXwI)K z_Xn(dXSD91@4dnL_s{x<^|C_%>&p(TmpZU^-}e(`-%o@!y*~o$lpb+9CbkARvz-0i zJ>m4kLjdPW2hJ0E!KptGu;$I99GvzB>uvqO>OTaq-t55Y^Wao_s3Zsd0ec_S8NfN8 zzMq1xO(eyZ&pDh~nZ#cpWcetMiG8~tSl@iD8{d8jT0P%^^$p4rJnDbJFdtY2vkR~G z2#Z#G!|TcY!1}}?fHm8J^>NB_#~0z$=bT&k>waJy*bj{5hXBU*!)@L#>jlOR?0Wt6 z`#(SJo1eaQ2;h9xf%9_8>Z{+M2Hw78)Ng^cFL`>>A%Jz21M7+1aO(Qdj{?TtWayp! zz&Ef9zAcP>*4|O%{g$q=uYY;J#DQ;s17CM}UxvJwU&L$J!TQ4G75%{akFA~j{-t64 zrUUEWDNC@3-(A^M=Irr&*Wshya5}jkIDdNx;5^oWbBza1@4A>fF0BGq=|2npX3q~k zvuuqcWAmK%zdG*`=Y5Cs{$1xCpL#3*<-AXUj#Snq&bJAoee~wb_cVI;Vx?PqsfL1s zJq7k&*A#Tlf#{zD&_5-+b>2l1ox1fxU+!Bo*zY>am-}{mqvaE_E?K9q`gU%JM zsbd;-XdjEhZki8C)9%!94CNn9`QxceWxMsb<*Tk&I_nr?)zQqm&Ih&Zv*fw<82X$# zFSFv(W6i`}Mcgkv@89SBM;1=7>GHkE$#b$N?t4z$MHcSubeB7EfAXZe*onK^1H%PQ z+^>nV?Y|kZGw5UCedy0!`)@|1Dv?OdE$%{_qr$Uvn@8vuX^G>apGR|#O-wA zo*~Zg*RjdJRd*EYeq!x~l3%cFuim{-+LPJD86{?7^tC+BLi#k28f)R)l8Kz{oyQqP z$Md}Z9`@9buB8AQ7kF=)!TdKh`r16^r8k%Pt8VfKs&35pS4}YCeTCdFSd5Rb&IWJF zV}CLGu<|PWdrCC!ayG!+6nq;~O}qBP*AT8z_#}RWOBDVZKlT`x%*hcq&|_lK0+P8&#DLz+r#Z22Yd~_bo12DfN^DZxT=_Q z`CE|jmyh5MbH3k#-f)Nd1-%_z<%;PkX(ibDRP3%mkCW_Apx~no3zwV6fm~+$p8a zE5V!2O%T3*iM$dn)aKwY+B`w~{)SflQ0*b!V81ZjXC0+oQSzpRBALS3@z_yJUL^BU z(&-M`$Pg31YPeZ1JTDw!)(fZ8I1jCmz6_<;jKxnW9y-EYUPxaY%^7n__i{Ua{Assl z8qWHOl$m`m+&yAB_?eB3F)q3v35|pjx`P>5*?Xe1X)cD&G|$!@3_9mQca`tvj`IEP zC*S0^=G~qBlNevMWp`tB?OyJR_ViEaBlgRKn?EsM*7*uL4;k8f?c+}xt#emhx{AEt z@zg>qjn0A{6?>oWS6Fjw&V#bf>Y(pt!AlpK_E%rE`_9s9lH)ax-J-E2KXF`@`fKw= z^c8(KfHq0rIoIi@ZRC4`G9xE)&wFG_)h`K`ck8bQiL=jF%!oZldijNNMt1D$Z$i5_ zK(q8`{C4ei7#*A5M%>rzxV6MZPO`(lRhTv_?XMMvRuz8S%EvjR)-yeJTlL80I&0^@ z)G7W`xM^<(b0uG_mNc!zzYnj~RgPFLnEvH~trpn+#(NSOIBY5KNam3?a&EZ2ioB9Z zx)1z*@~YebY5qd`Ea%)#lb9XG|CYORI7f0N=WJ$}eUiD&H755XWUJ0R+`(FBOO2`e zc(L!X>d&F4ag5&gnbUsg zhcBG+dO9mG!amUwU@8$z(7a_MTAbJEUmRvXjP66$-Rh;3mF(zPW0qx9Wv8O2F!v8} z2jWkMun(2?)bibz;-u-^qlHW%%}DOUk}S#vzbYrBbkK+P+fZhYWve~?mE8pVdq1$t z&hDXXogJ@w)DE5P?k)|(dA{+ zq`tsJ-YwbV=gzC5fo8Iw`UX^$yY%twU)9Q3oeU(V7IN=w4zT8Nw`-7JR>b6P12-kmbK%~z9=Hd3cy<`~ z5v2PXHk)w!Qj=O$O4-^w>ks>?0#RR83g!C9mq%HC%8u}aPba!3G18g^x@a-K2-my@3comxb3O`jPAh!r-CbTnE9@rUzQf!as(^9 zcbXqKQ-Cu7oO3ywYXESD86OAH?}AD2rUL6~`a7H7KwuTjVPLH=sSPVcd(gl!(8g`h zf#_i~&q98+&|fIsj~zaxQg`X99YNaR$FA4ASwo`EGY+0A) z%c(a7Sn{Fy2z7?|W_B#zX41+mns1^X)K=B=mS}+Xh(84Td|(sKwN@aUyZj<}#V;<7 z#B12gtvm%zp4HT&HoJKuP9CdG;fS^GN$198S>r+Yff287&Ep)vtsgBmk4cC2L7Ums z-PFx|RZ!fczj1HfR-Wf@a@q7Rq9SreHYDGKLGwrl(>%BQR_ z>nUGDcQ$_Z#F{x9kjs+)A1w|)23!`u7j7htpSc@;3n6%-(C>%d5>wH&bG7Cro>RUc z&+d6ukIK?_m8b9Ox3ICthWQi2?UI|3v*8EiWzpHjI-@>`5@bA+Oe=_vL1y7ild1X}+(jtjt$c3j9%Euk$CS zKEQk=OdCSLZ1_bo!G*@vi+Vm6H^Mj+;e6YYOvbw*!dKQp%~?v&xl4xI=iwI7A3kKz zT+YJ{F)kOA9zPQ6Jlx1JjLpm~tn-qPr@O9eu8y+C_5krup|^#pTjy(+_(ye~dHs`$ z5z99?XI?AqExfCJ5vP4`p{sSS%V=NECcD2h7LR>!NA>IA^{2Gco)?dbeR5o~I{JhC z;dl)=gddf!y92$jbU3giIe+`x7AzUo`P)i+X*XCl0gLKA>8JL*`913XqW$$d$~aX0 z6+OiLwe%qR>xgdsbyznX{n)}$dQ7^#`fazB8NUKiyHSG0WR$clOX{^AEDm z-Y*yZboJRgynE^AQm4=Ammk+k_Rp)&z2_*n=h}aSu9-ud0y(TFwb-^o zKXb#AcCoGyG&_?SHDe=w#)2cv=7*E9?Vka z1LfS2xdS{!%TB4P;O@tvLt3hv*~_1OoLT!3`x08o`*CpqU2l|?M){OSd6m9na7%T| zwb&jen6=>ovxT|vno#YjoEJYbX8wA1yGf)}E&NDr92J}VlID`5V@DyEPbGXai~bS% zZ}*3d)w@c#pO5gT;JzSe)-o2nmIPKmXO8bCe^wIxleQJow$kBdvd#%;`b{{#=g;A| z+7wEgzAfuB?yOAuav#m&T+K4{Fw!La;eDpo#~5k${dJg`{2k!qT+!K)O{Y}-4g6fj z``*CliMo>{H!!7YH+Yy+Fu782`AOFVKiwhRGR6qLW?(1+h5%zknKdV;ZeV>yFrH#| zy5Cm}w(Q_j-)`xvu!mA?!3 zO5>(?abN4=KBGJC$9Cd=n1lPjGzj#~ua`ht_H+#4o-occFnBNMIZE+x0_*POZ^rrzhBvXYfH&JA?m7tSwmaQ-RwvsL(Jy7b-? z3YyjH z*DeDcXO7DM3GfyA!?`-IsOUtqEFYVY&YTIFaPEIu$F}kTw@JCcs=JW+Ztc&1K6_K9 zxj6ds_zfxaLD7=hhx7MFw&7#QJ-Xp|IMqKiKY`AbVrCWV39W}x&1tn`@k0y-hSuSa zSbp^r@^2aXbzndr&n)9^VCEZ^P9B|N_Fd+{HNXQ`F=6ah%fS$g~dx|I)>=jjhS&R~$UOs`HGm=*d;{7)!r@RQNG{Uxf{@xc2m_inHu9 z25(K3U2{}Sazy2HmnHuJH^SG&)Gz-D7q06(aNX<)$4S#E9}|k6?Wb^A8+zkT}t10Wu@d(!WpX~^wI9`gxmjkq*>ca-j4zrr$$=e zyUVUiNZV43O@Ew+Z>@1Eqf=Ja@3hC_yDS`xiY?_?dW?M!Z|1?Ce2)ADeEwEz|S)Cy6Dco zu$HsM>Qc;P(P5JG(wh>juQ>Qx)*CIZ2M40X-A98j^7VzU-?{j*`*96A(=uCU>cUs1 zgRi$=c&qw*;0PL7=FrG8(YQq;|2&XJ9;R&3Nb_i`FYK~CG?GfWH&NbY;D2|~l&Y^f z_H`?}$I4P_QkzGSn;VmF*kSh#L^objaf z{CElY5ACwYvKv)DzP|b~?DS*6*1v3Accc3!XqRO9kLbrXjT5x#OyYdtcx7{5 zZZkL!hO;Z{n3vUJ%P7DebZLQEv+3_=w<8ahsh!!}2~&(7ZIWkHy+m98;gpkSd_#q= zMz!DJ1$Vp`FC=qp-Bh~8F-qf^AB3?Pt1nXi3Vs|tDS|E0rE|$o(Yif9=#ses(HC@H zgbuh{^8@nsg`?dAZP`#T!mL%hytJO6jhY`6J2*N49EtZQ@=VZwE{!H>uS-L^>&2BF zGfC4UU(lxR^8YWuA-?dVJ9ff>?&`vj@4zsWx><{{`f1O7;rN#SvM!8%REP}1k9(Qs z4!e=nxq->tNnqBD2~V-;^jXr$PjUhFq#Ix9IPE^l*k3QhH^d)(Z8P;`g}cVSI_R}| zQ#j7L&%#>rs;<+iBk!e-$+Cxk(tyl@W@;H{-e9j|BkQ@%=x$}$w@Mk4^2289XRpe( z<+t}_V2?W8nD#SS+YDh(EFEi~K`*}0JuC(PIGcI#k=FWfzC%}MKpV}}<>Gq_>D=%% z;$7U&Anf8^>n@rb{o)wx3&59?Qn06t`?~zY${ObCPFn1jCLDdO=}gmp&21x=>z>A@ zGf4}~5nvn*jN^bYN`BcIvxgbW)(DR>uBNgsWvshspLXiJ3|TVY1IsmpOEn&|UO%1j zw*q^08NaL)f7}15ZrO`-m;>&$@0={=Zp`QhKiQ_eWSU>gCO(*S$yD={bh~owho#t7 zi?I3PL*8zlZ&yI5L!~DfieEOk* z|D%82n9QAu`?yn;vRlA`;Gx}>H$x{a;Gu=QOW^G&cM$tD0>|>lfpAsh++`D14-si&f6(`?L(s=97 zAbwA`wvMpUj*6u@d0L%vr4M%$__j)>?sp#X;=p4}h^nO1qEoeNZ8!f*KGAw3a(|BBJe3YTs2odn%XY0SOTVVv62*Ycy+&W_U9_oDEpI&(*_1;LmKcvo| zvCh8SKbpIf)7#DwFW{F@MqVH7mybd_W&D%6kxA{Z`+aSNq$vcx<^D01If3-b$%eZd ziBmm4WIn69eotLf0%IzFNFBFO*C)uDo2g4}egXVi{%W@W!|Z1$`$qC=Ow@Pwe^lN~ zz71BoBUyh>k3I1pXx4fUa7QlwXv96DIAD{^5^SP@Lh9B!>;u#<{9H?)YM$cyQK>&a zA7}9I!4F^xdgO#KYkj^plV;`&V9o3k#4BPPCDhwXm5 z_!M7*<{99yqoX>R!`jfX;dbWaZNXt?PBwVc{gOq&H8&)S*>{7#%#-Te@7CJ#P3TIzpNK9XJPHT@ zci)ccvV6u8=E6~Ah2MNKAbSpEAQ!?I>dXCXZjOKRUH9xQ)uEF5PXW zySKzc@@ujDTfndGG}Im8g1g3n`!);i0XE#6J?g#Fu>30BFQt2wN5|g399c%+h#n7z z9)gtd`8epr!!z#O%k=TBnL6rNqlpYOmJO9TX*`LYGBVu6!$x*x(;iOYnF4)SG&(X? z1Frh&k0tJe7c;pqV-bx*z#|nFKX{M@fzYRx#qOt-#@Ww`cL<|_5kv-PBcF! zS)Bw%-RoG3T_ztKNY=V`EFxXMa{7+*@WI*%lyh007v{}tBTN%=o<%R2lUCF zHpdobg&sfm7MS2OrKx;}2Y zL(#pf6&|$i`*ZIm>{yIW@*UHD7B=~hpf&jcnlSceXmSxgiHq<_T!c^JUjN9-ugh+K z)ucVT4`VOoNRG*WAivyHwO+MoPiwJhFGnxfOPMWK@*}PV8`ON_T7hBvO~lDA^%-)Y z13D@<`#N$`a-aOnp5q>Aj+~g(+;oMnDt}X;s-Cr4gO4UOyf3eWxdH7KFZ$`97U3Lz z*~nU@=Du~{eH%Rf`d86i=%3};TDwf|T)Vsg`f<+}Rvw+i%Eys{BWhA4)H|dzwX~qhd!uqeZnU-Th1}NKhvc|?Vc$K&?Ay!u z`&Y`4Pqp|Yk!L>8n)6M_CUb|`^Fw$8pVi#OW$1(GouUz~4T~;H(1*1K*1?!0pVX3x zz`=VB?=`#^lD?j@e}s>w#y`=+E#&q3sD|)S{e(6j2dsY}t?R4$3Hi16)R6bb8+}#d z@lBPlZ7by$7x}9ulD-srXrit=hnsyNzL)YXo47LK=HXYxo zN$9AIxx~ZJfpC+Y#SeaJf_Hx8w|xnqkE(DWI<*Ve)LpgsHf^ue22??b=0zSlV4vl)-w zdt&9MCBF@wzunim$Gc~Q_d)NL?av3T)G)aqb>Wk;BW1p-Qa^YH_j&Y%aF5`~ zIFo)*y88(W$6DKzjchCL@U#5-wwMpnJN^3Vv7@d92Xj1Y##S0<%{at&tr@#K)P2o( z4e*Fx9)zd7ejD|`_C@_R%pqPgzI{QL-^LsCIdh@4y4$OSby~@)2(s$%B_ozMdi*wq z@}7h?BH&zpDL2zTjl~0q7yh(fEE|OIdM`K)pU6G(%sr<&_pqT-Snl;5_;Kh!e~(LnUwGBJ@XwA3xBtaygM3ePx4YWF`RjZBy;!~j zV>+BwoCSA@r+RRE2Ou4W1y>7flG6-FyADnga^ro)15Ll zsci63Ls?2Ed%t*5e?NW4 z_UG~V&|>@85{4Eu@3iK#p7g&Xz3}!;@FrM#gd==pCmaz6j*T7|xW~bQq1J&x?fHeu z1y)OU?Ex0~D|CnDJ_nYQ1j{C~Rd{F)n2Djps45FCbe7K z%grq>a$orK+!tQ$)7l)ekFvYq2KT@%JPB@KwP5zz0@AysKg(+8NNkw4Ufm8ZEqnoc zcRY2BL|@1-?K?NwYliW+#n3NBdSn>&+RAhZdb_4xJu* zt{bff9K3z(p)YKHTOz&C`tId6tv@JOL|=X2YjwZ)I<{AQjX%9-d}TQJs_g?`KX>qT zjSHhix1&4h-^Hu=;3u@d6g)}S)!5n~{CN1`&$PFbt{h&-13y9VBfkZ!EKmC1IQY51 zt-BBWe6K(JB)IRi7kb*<3w~ZTHh)~+2Y$Zk;OA%;Mhibj^@yL-`oYhlFNmKj9sCS* z>dtfUBY9%k)}T@Ki_3HAz&ak8p|$*qL~f@HiL$Rn^qg-dbn;uJBSY@Gh&#EbMQ1+_ zzr`-<;<7)Z9QmrIIa-iR~qqns~_-CSEwu>?<6?51qYm zgxME4*Q}3Rz;8CcZ=3bqdDfb{1J|C7;@Oe0m+rFp#BJwCopKYqkRwvP5#F zn0DIjlZ?!)nn$}9a2NXbkIH-OD%z%Wt7w~OV|+L|+uOzqo&NtTWp;`^&nuor!UwNL;8emUf%wA^Et5H)dy_l4s4el z1Z>~$3pVyz_SL5;`TN86_YV91^x{5X`>q4qDF*@Dw7y_V4C)iMRo!6wy#w3VDbp}N z>y73nJMg6*1bi7?@NLP4*7xIw@Wh_r+v4)Wyn_94SLwi)PMN*Ic9;WO)1CeE>Ie0m zym}yPi7|b`mNI>R*ycH~y-%6F!S)v4H1_}LAYgl;FW90veZsb?8*Eb@*q-eJwhaz! z4;%z+EBb;hoZTmE)A7sl%DB-EY&DeG7tK{W@GW%VJF<7(?#HAJX}=I@LeZ~PmA>0p zE!soYawoH+uO~jZWBGf&FS*IvFFEH*b-`<|GiprF21c*0 z#h$JG;EOo$37_t~16^xPZ@ShT2fmM%_5feF3%*seqO+%a;X|)-;dAFgpHbF-yTSAI z9^mP&?@e-Gc&#TGYP(>VcV2XMj$kP0T9^8`#hR;1hu@+#yHI#smFy3nqZhnMx!Qj! z{QIDX-#)UVIyp(U@vMc{a5rS~3_E<7!lc>xs~z|jgs(U31Ndl@&&nrXA>|$ZTk^72 zFu*V$VBMvugELH7%V=TEf%W?9{b^-mlLhQqGQJ_nN%*16d~~+_#_Q3G%MJStk4GP4 z?JCJSRx|5Z+b=ZnmRa~1Sa(yhe>R7^#=xEI!9Mip-qx!UvXAw%?$d%TUUu#h)_wAw z^{Tn6|8lZZ!7xZnUsm`{KCXr)kh;kta)|v8&$5HO1N?=9IAR0eKAIx zBwHRC6OPY2jyd&p;oKKfnNyEpPJNxpeSW-oY|}nlj-5xDKcGJ0sskJ>T)Lxr5$`Vl z-9gwppAM7Wi~H-rz4E5P2hxExpB6ocU-F=dU@!Z*3b7+8-xliYk2ad14axgy(1w9F zidYkr-=4LW*^M@CEoMCozIYQj4v<}uX`Qkw<^1UEsRq70&~CG(*_~G>x@WOblc6e+;C%Uw_|GaulZ}aMqg+FYuci1|J%l1p5Kpk)8APKG`0v{%XelW%t=vI&si~eXJFl+Kzmm3qF2D|7}N3wPK@b8HfDH z3b&ulexqbyU`*p=DSgYH%xZXOVse%%=SIdJwA(zf6Hf)Uy-U0r!Y-kHJ)3ZX@P7zf zW0oiX?GDb4w)=ShHrIBwxq@>fZalD$?e=x@#+c6bP3*akW8Hb<`(Ln+zwN-=etTyh z?+>$K-PF~izG?T<%%1vbe?7{>SLvN?Xs0gmRld~^{?2~D-^A{RPF@)qn{30?)ejDT zdHccDuR8m|lYhL^u1&NHUfaJ-k*+qi(x&u&`=P51&r`0;YXPer0jnL7!|bu%Pfi6$ z+et^zuk7hA{IYMkyr;Ddi;g@pZr6Rbe)vF7@Uw^C?URbx(b=t^A0R8b(UB|LM#g^j z1>oNX3||)h%?|vj%#Kfu4-fqznOd=c$x!)Dr` z`9&G?7G&RR`^_(Ul6}dpycKioyo(MtZ!pk_yXlwMdFR=A517}W`>qLvGdlHgOV*(e zNG~4^9?@;BvDJ$A@XjT6+YeZ$uxQkiZkB_icW<-DRja;)JwLI>S7a-Cf@JllR@#vh zC3AmNU_M}MoLF}*`m%4&8Su{JF1v7g>@+8BC+#`BAIUT$N(P!!N2b+$+d7j3J+1g-gE7hcC-YU6cyPk8MquSx0b zla$NsydCI%2aJQrNV`wQboPlmNBSM`z0-pn{P148pL(1Jd-`IBoi26x^|r1wwOwf{E|1QB)lRd9F}o{`cTWAS=c;EZ;qnf@L0?%rTXcBQNMt_{OOJ-{HDoW(p1KZ`k8Y3BMMd+J$# zoviq%3Fjs{IwnVh`MFW{QUy(RX4&20^?5v}C$cmBQ?fIo%fjmeX;){4rUWzdCuC=a zCWJEc`4-|=u&f}fY?#?snr8Oh9E@b*hcc&#^D&~o2*(554}4v)D6@h&r6FxuirMF< zoM1FRYYb^O6CbVBy$(g0r|@2ZUmq}7=Yd3rh4kw$5U1_cKHIHkqR>cboOmWoEr_ zP@3W?k8e@ZY0sM45Tu+kz6(Y(r3f4pW$MhECpm{E9~dqod_HrKyfAI1En(7?3qGEu zlx3zAXXf!!o|j2iOrGlq-;HmZaHjfw-_0RCr&*>^lXL+|}@&^5z-SN>8yQRnfla{{m7%s%-<$z~9g zd`TQ%_3=v1m(W=p&OI&Fl+(`o_8#<6?a`1Q)d{VQ)vvE$yuFHQVS&RJ{Tgzwrmes7w1JM-FC@Leln{;YYl{Fa*U zVBU+rZ+5trebb|2txEqKzXpD<@>|HBF~1V#%jG;P`Q69w&!pRcjp1<< z|A=|?k1u!&-{+BS=BvyROYjF`E^VB7WQh5nd)`*GpEE;hPlo=O8`ZGBBVRAsP-^g- zsu^MXeVxzuvTS>9IoFw6Vkcm3>9gmS?9rIUTs`V{{A8cA=kC`WZ`)pkx0;F_;Dh^l z%djhKG*z3L(WCL-*_dsg)ly&Nv;1V$jv~iT7MVU(ek*R9vb*^cxpU*ew=p-SPT@;< z6#Nzrg-dWMf7zz;KIX=Eu)axO(H_fg^2fROZQ#q{IKBfK&AQrL-^{p`6*bpu{F-ZgS0#@^7ELzS*YZrV&;A-{N&ckC zf#H2u5#Fotknp}M34f;W@bJEQglq9%6MbmR)j0tL%;(4R8^G^R;P+|#-2Obo#22vc zwt#iF1+2SW#a@Oh#_p`HNos(;w982{uJ$rH+R94?|j-(y@790(ug-VkVgDj zbPV%Oc$9Fv%b%PH8b?owmw@XM`h=%-evaiU1aG+Op)PN_Jo(e}ZJrE|#K#K0`_ep# z-Lfy9e4p>7@MH=&mc0l0e}t7Dzhc>YWbcsutdw@V#NL<-2__JgatoQJy^tc@RN{^mR^=eDl@54Nm)%o-xyEUj#oZFVDVs zMRRo`5S@J?yy?4n?1%*NdfG7G^`VxIIik}<5w>Fd1PwC9IC#! z(PE!7nj~CG*wU4u+gk}+x+t`~m~cJx6C7sZrx_EUoMPgWQsE`yr0cq8Ik;zHzW2u& z*Lcsx{LhRq{*Ct84&rgq=jG))sx{8({SCrVwX+vleDw$TiP5)`we)jF6x?%OUxwSK z>dRyU-|5fft32sX^{cl}f5{#;)%9oUDkH2iex*3%cw(Z7FC%QV9oS?~zCR;borGpw zyYjW*TKWG~*0m2w>6UuZ8E9}m={^BAZ&@XtG)a8cze^gOyXZ}GqbE&bZ^xXANh5v5 z=r4I~*m}DEc+cXDGW|Nr2W<7x*Ya1e)-N{st2jG2x1BvoSHkDthX%gIxW93XNpsJS zX@VZ+tuR&f)|iu+I=|V+Jk?hvfA=Y*E#AofJ7`ccsuW-8Qqp~bkF_twT<9IAI~b?y z_}0NVFPYH7c)k4r)85>YlAE07TipL#?#W(ob$1~8hul|$AP8~gwHHnPa z3i_%p75xGptcR{P)!OS834Bp^VaHM$?W6HA-$}-HRO@^i*@rb|X#Y=3V9dl;_7pq? zALx8zALD1Q>ka73qP310z&yzrH?f~vcJwoxeI~Q|*k^L#{`*Yc`JU(kJkhSE%D(H4 zYOSM@x~1Eo?^t8DbRCW1=sp^=oA09xa4(%BgnTPLN&6=3bILdmp?wj3<9M_pS(C|VV!cCnEzf3;Bs6@2;jHMCaC{kUwBdz^y;!o{^SveZsr7Z1(fpO+U!P72_W=6#_=%<}d8S>xer0sl{t@P|D z=*CazKKN$mN{4p&>2mSYXq%tJXH7lxQ%w9M|1q7>*94D*=vVPkDd}&a44?R^oBmrT zeiA)E7u%terj_v0$?(uLcxe*P0$=>I8k;|mcXO~U!yltM`D4s}{GoG$yZGaMWPa1M zerVL?5AnqD4vo^s;uYN$B^qsEUC>8cN*o%kfS;zh>v8a(`oP6~2;55#?TaTZzCdoP z&BBMp7x06t&suzeELNR8@&$b7<%^Ww_@bbTFLFJ6aXR5m(86l*1^6t5FQT;J3Hai1 zXp}Xx_+#+JqwvKe@Wm?lVkLaB0>1cFPkaI1-Ue5#;H(AQHNziofzKv~Kio5$pM@`; zW$u!2)&UcHeM{>&hql(k7j@zbaN3>!D2hW*V{#m z87G@Gcb|@XPQAt)_S;N-YXv+2ZReqDZ*TVD*XN6AZ;$w+X(QhnZT|Q%d{Ixjhh6?C z7?8`Hv7I?%J99>RyxB(hO@9A?M_RyZ@u1vfBfRlnc%+5rN51%19Ue&rHHP@%5$@Ln zU(nEq3m@B2&3t!_Nt{@9brL;i6Z;hd;r1o8L;F^4r0+Z0d~u!C74;{k`ruRTQ?Fp( zL^(d~_2^V(Bk+~ysr}fup-V*Y6`Y5@T+AMvBIb~sJKjDYeTFjIZ$#JDn6sV!UQK`3 zI{jVi^tZlA4xWImq!b-5!moROYcHJ6y3tsuIZ{htEMwldiF=rH&!_$YjCpR^!28WQ zXTPXrBRYtE7T-tj)O@QEo?eZNz7m)=m_eO-XBK;VB}-3)UXsiKHUFz+JgY^Y7Qepy z3BLL0)zjpQK={Z($Z>o&rUm?MI^&E*+O;bvlQoEV4)d36<}$&dmcKweSYYFQwMEnR z9@7$N`qk);>Wxm^`OvraSx9d)eaw%Oqx+siNS2h+Rzq8-(N;rS%Y=Vt%{U6~z4B}4 zcWCcF!q#3A)7N@6^gSLJlO=g^(WPkCl4GJ(=vMTrx|!k$BTBg_Ef{Ex_oCrYz%*!IS%~w8ng*G*Ih;k%?2F#7 za}LfSektcA3cry ztWA?Y>g2C*^4FLFR{jw5z?s7hA@Zx-e9nGJkiG>ODp{I&?TFvytowb5EBEdB%oXX#{Tj)A+fU|9(Uv7o>~Y~zzDLXE?$NlAV2(10@9uhp z_WZc>jqc;abk4VW8yQ})cY5W$d-EQcW`?&R*yprz_Qvhd-fgWv-u41%Rt-yOnDEZx zZ38$@I(6{i2D4z^(Jh&rHA87`OWpEE{tL;*zsn~*d2cC-{D~9TYR>of0cGG}=$7MBRw-de&SQTz|!@$r;_-N{W3p}k(^);lJ0hKF^IU_&SY|Y=B zU)h*a)&||qX~Y)y1K=w(;q})7UlF({rv3A1^L*O*GV*pKxKy6A!1W5s%ugLad7RU| zpy=sfFqm0Kn%l`24jz+Phupv2!k-hSoG9^m=#95iUM=A!(v(qWqtCxEiS54m5n$)c zq0N+CkvfpFb^fSK0Mbc46a`%yp%Fy{M7gA_cG$vINx6){4BKiEHwEH@T~?m zKYcKC!TfdS0N+etI}ccA0Nc5gaTc)M4Lp_DI_?6VJAr2@@Z14Bv^n02{E{EmG6xpf z^~=cD0S<*fop+`C(&sW3YEJIXyIq|~I@0;@`kBJb%~=ns zAM+r_@%_#y@Y+<|J3dE}uIUf=yf!uk+t5G$@L}CG|M>6?zkgOiU}Qr(GOzv*?|&HC zoBzP#fPYq_-@ouLua%803HTTKmiQjNd0W|7#l5kjY;2G;ieJ34Y%Jqe+xx>g4>Ebn zwqJ}i4NLq-RYv^b^}qeMZ6AsZ46pw+;Tr#_g%hElxq*?^y@o%$!BoxV><|MlMoGV# zG@1iNNxyC8bPNzQEr_|Sz2&=Cfu)_(~yLk#{=krwEhw)UuDc=N7zN4LdL;q{%d+9%R zzI%8o-}yYBys-U^0SZ6XGVV@0p(?_;#(EQ=8>LS0*kMqziTz)J!{sxy1 z4fqd;*Wj`9N3mv$d`<(t^N`7>@J!(u9*_LK&QvLW7~`JeH^WomF!4z{9vL|&EqGk! zFrE?kG!NgJKw6-ozyvCTi7TECUT3y8Gv26-_vmYtu}Xc89vDRL3p(}Q4gc!fbe=)# zC7)IAdB`Ber|=9?Z_ue%XTm5xM19XdbMpVJVcgPOAe+23=#@$8aocr*Q+F%nV3Xwz zds9__tPO@U*M*UP!9?cM!6;#5FZXb)3nP1TqFL(-kf%9`taZU~*1CMB+(Kwyb%lYU zaG=fCJ08iq#_|nk-mZ05>6ZV5E}EhLa&*Wd=wI@01@ylW`Zr7b4>Q-=SqnT_4*fGn z+9}<(iM8e(0OTgOa~olU%S%&|Y|I)5h5i5umK`??dC zMqEe1;H^4KOJkwNLF~=3PYdv4W}o3_i&Gv8B{Hk5H9`2=U9%o{$2--lnR7pr$2rW5 z1vSi(pUmexPJ90LS~hDLIXBm84hP+tg`7A1@ZHQm^228B_^_G0tK3)hIAcnT@uQ5n z{bP(DrOfRgWe)!c^Y>pdcVEf8zLq&Gr5p#)K7;loyPs~O3{S+bQl50?LoO<9%zJ1^vC<#m-vySA$9#aQAEx@w^SXNSB z%Qoh|;Athes0F5$H{l)N#@^n(65O;fhpz)?tAKAMc&Y_YrlbSY)u$pG zfTy+xJgI!shdm-Z8Jj=lbbx~n>PEL(XxXl07XWVA1T^pWV~@zf9+4022&TENp8@sm zrme0`;N{Djt7|*^W^mObPT%|rT&(u=%_^sFT>5UB;cI{UcwhTlC;QsBPx7_5p5fzs zKwmrSH0{j=zVZ!Io!cUPyGhWY*hmD#$x0R65A zolkj{&rhDP@{%u~eBtLKQ)-Xqo*(qNB6K`AogqygKSMf0I`e$tl-luTvh=wP=&{l9 zjPbzc!lkl%$`i#OQ95c7daGM@PcS4t?Kn+(SMqTBq7T}QWLIH$^{UHS^0 zi>(}vJ!>Rocx-8Y&fv;&_g{e1G0*{ezBOiNLc8kkzUmCicZ9xWy@T}!pIs-k+5ydW zK)aR=tziE;n?;{)ozQ}pUwqU#jrmC!J*kj3PYd|0yOe67<5loZ3Vk1-pR<`W)8FgE z6UJv2@)Lfu_v@3QDGBgf>^JMP(O-%Nn)SjVI)ODe38KGfZW2U)DPnGtjs8;P%uS>t zs9x?doTIU(ul5J=p{S)j8<0;M9C?AyMms(n?He3<;f#Ns_RAHX_N!e_S@L3(h4cDL z@e$~!&Lp;y1Z6Z*XQNYRBXu@Xr_PiT&g;9`OgDP!OiOa%9vGs);I-S914DQy;|;cq1Ll8=r(5S^qLWxU;|lbH zT66>dlI(|fTK61}jpbLoQ~ep~y64ronr=RO{biJ8ha10mNA+;aMkha_jMxTri7eu7 zw&F5~8y)K)ZY*&ZSaG9?OOG`YH;TCNR-Dc&6$ z&{;OtH{ZmEoad>|bBObtZ9O?llsqwXH)ku5%!|K$_P=0WOe;t zJ0`D&2ig0Yp?X!0@(C8zuW|%~;0p1Sym#Sn%cy(9E<<*`?dZPG@^tlK(cQqqyX>c; z`Ibv;`iod+_l%AGy4>DFb^ecCoq1GDe7a|Nvbxr?yW0Hv7xL+BCGpcvz9p=0qub;Y z@(SNtJL}DeNzUycjdUeTKfreI3~974L$GOoi4CKj_Fqbid{kOPd4D49znwIit8@hX zTYIxt<@xuVF#`N(UNtg>F_JM=bE>21t9kwr4Vqh(Lkn*OM#Of4pSO7yG1uC_e6R?7 z%(eeKd@;sk7{%(=7k=RRG8oiUH{vs3*I8?l+@ zVFQ)z_C(G^Jq5e%)jZR9zQ-A?TKiproY(qq9kN_&z|Zlnb>L0B*OPZ6Hp1sgSC5Tw zGwC*xrk?LFVK>BZ8h?@b+6&kW6WB=~A?-@iJ<7LLd|Sb{I=Kw*4R9ih%JtV4Dxj z*8-dDqdx$?yLi6_7_VlWDg&NM(%c4Y*wy2=QRkhcy@Pbifb%}!ycam{0nWRzdlvD$ zinI&)wt&33Mtb_J_v%2R5jW4`XifV5(Uwnz|F(wDNLR>M80UYz?v@Ua@YXf9|>y^XIM;UA*Ab{Ty{~qVA2J zx?iTum#C+KI$orXTjzLmh8%32+5W6`q5Q0MZrwLg_cHX2ap0$<(d>L5 zT5X5s3p?^3xCNSz!;61|2XmJk`Ed47&J`GBwtgFW&kcm{Keui1w%mZ3eeU3~4W|>= z#vJ=aGo-S_H@dAkFeEnJ7hZqaDD2(?!s{Epv4y?7pm^O0)NwR*OrV_c)N?H5!hqI`6I`tONKeC;b_y)I~i{6nl0J#F*a(3OiZ9Hwg%>){rp^ddx`*Jc* zV2*bgWu1Gy*?PHX$C&kJrI__+vraODbrQ;356`S!NI5I%$7%kww!zpXcRT%e6aDu` z`tMEpPyBPnl8lF&hG4%#p0)VH_lNf8RpzsXGLQAlOMxTA^XQb4xhc#!(xlT;-eX6Y zIe`(_r-Q*v&cdHl4{kTo-ZB1g{HW34_>lv{@r<$I_}C%ndH$?6pC7sgFXM)@S7RVy z@Z%f86a4r`8n zEo=h!_0WRopwPloC{uK>IE-yAD%8{Vy&Uzm9&y56#4Ly3xS~{16J% zf8cpMIL~(IpwzHtonoG<z3*Wz? zPgaYrX`9-iHi&j!gmxx?qhrC%@eb`A=g^MUt1Ov8d6vxRMmu%z#svDx_wlXU0?;Gp zC~&uNN@di-MNZ~5&@OB24Sw)<4(T4D-d7hCuG?sQm2Xpjh#n2>t<610+IxWIZrWA}EO*hiDD9rGhr83Ma|e7U+L*_7?}Ju~p~cc6_-R0o_d**>N3%{kg0W#Nat!)x0FIaFuNQ#hMc{g# zx}TxmOBk=82R@Da&j8 z79C;M<4e|7$9Qe%L!Fi~_B+g=2En`?_ysfm_ag)+zGHFu zE4{^;4J)b7m-da!5_FNKYt8y(F~2MME#$Wd9AOX7|1)a}p7X%>TWdo%NkMm!ezKBr zOk-CNJk~P4Y3)<@JFH}k6F){6D-`z*vP8Hn-Qqgm_96IttSPh7FC+{|6KES$OSzG&vU zdlQ-K?lD>G?ha?IdmQ}6=!?g|`=j*7ufY3C@Vx>W(E21k7!57hLvQ?Mb9D`K9O-fD zf9Y|ujYyYkG)J^akCX28F>{k_^tUK-$pNNv3b{HeT< zZ{U9Aoy?e`@=jq)ndrmzPkAQ{K$gRoCk_tBPdY3de;L^w8s=+gW{jCI*jJf)J^mix zs{p*@ftR@^wQUBtISbqr(7x&5AdmJHfCu!Wbu(x;vUb1m+J_$eDruW2a|>x-B#p+~ zm%)i>P-Fiz?k`wKUB~e&MOP6m2_K>*@q%bcv@BW@9gBuVx8DMn!MwRoPo`}r(ol--t#jx_NLeI|av0LHDsj9G`FpB#Z615BLB(vXeJnTaep z7MW4Mp!n&H$gsB=2TOduwhMsa88fKzd|hXCcYps2S$lDZbZQfwdOk+$D`aUJM&KK5zqK zC!S#DJTSuGv(7kj0yaXE-XME`*4Cc&V*_FAEZ$pCIaBi!aAIg%IpeoUO>JN;r82P~ z^7Nfo6|W2aB>X@MvNxJ)kk6*Fo_Nb2WgPl7bHp-!mcNPKSu=C}QS!2RAI3XB>-$*V z!HesUk{3dDf!ip*4aO`CUx-}`zl4d9CY{H*WPTS=X@{7QUgVeNT#z2PC|G(-8NneeJp zewgx_^zM|e_dM)x%})8&_pk8oly7|(9^CTPE~otHNHaO=N1h?igUG5}I;5vI3Wj>* zNGmYN-zOT($t*pRcVJk_&w8hhR$y4k&w3xjJ20%|XT5{#HWvok7&+T+W8`pinuWs* zY(ikQdrty1tg5N{J zop|)BoONY{MPH&V(UoZGJ?K{U0rApO;-1IHDTW+)A3B{*pWi{Bx2C2*gDKG3Jj-XN zRQr>F)rbBq9HaYMed0q8*SimR)F(c4a_c+3Lh2JAa@hJ#di9AxCY1nhLjG6K8n)@G z@q0T?yWcj^y0Fw`OQ z{nW3qKroc@9-#i91B3ht1jE~D@H8;g_zr73jx_S)d7O2QyO3i&;ZJ*DHBU%hRx|cA z!q-7B3V+p#x5LQ~*xL;5qv#D~^o4Y4$zbtUHQ@j#j1%u; zjdm{at@!Kw!O1UpHAbtfR_c@=&qctZ@ROc!gBvEj{J^Xl2VeK4an=zG8MlS6fdQfxn2WFL~~_uR{KAME-^-BZv(CDzf)f z<}j!F&FsSo-#cVP<$H_~HNL~!wlIF)1zo)x7#0f;VC@tg+;Ddly8qT3#-!V?imbcC zAE=D_P32N#^=5dj650(w!}FluYY5MRhF1;_G~~fc(;4r=jC#uc;dQg=J2+28Ta2s2FT}ZA+%Nw&6SWpgig|EQWv&BZ=5M-(O3(8@tzx| zY|c@Deugu44vWo2Kk-rLPV9#v@DkFzmhr0sJfLT?7cNj)!?=DIveMidejo>&4Fn$= z>)`)}nT#oU$fGEE%E6y-nE-!-NR#9{dK0*cJZ+$nI_&?FKgQzyU}mY_!IQCgKbTpl zckpB^-sd~=Q}V}Hyw7*u-*M#6G~{s*TfS%)|L)VGLwuEK!21d^=xXM`cQfB9rJdVH zn5|DTW{Z#4?8AnPe5xg#fo9C!aHVLa!K_x}HxnQSBoNCF8F$z+iwZoP^EZcGxu1x3ZQZmmobkU$h`ao3tjf}lpN zBiP)QdrJZWGHPqDTA5oZVR1#z}-y z*F4X8&U4Q9e9!lM&v!fLw7YWzZ(5yj`ULM>{-k)*5V%-)N8#FKrav~_Kyw;+1JCTA=8G)nz2Z=|A!ps~ zen%OKogC!w2Jy>F#5*rvmcPWkCr_CB8t~2j3gHEJ*fi${zcZ;%G_-(vL`UZ*(V6-~ zeW8AMg*<8W!Fk|60PaO+8k3r1{0^OUfK$yeeuvIB=oy^*9Xf+YT62uwp|cGY5^}YS>Ro*o^ z?`EiM^i}t}Kk`mVV5Ha*1557D3 z%u|SMX+;mReC8%)%UF2(lDo}P&Ic*|2|VZa0p>aRc66p2vFJCxF^Rn}kjc@(rx$T$ zBLjA5e7R$c{_D{Aa>iH(ys|^%%N=7pmlOZ6b?$NFXPBJ28srzj5FmY)2}Of{T(!0h zx)S{rVj~g#EkZ|WsI7XT0Xhs>GPHk05S?U)&s(ap+;XH78u*CD18W#cH_Z)>--OLj ze&ZnJkAnYHK)16fdn99eMTTz+cE09CwZ&_T(VbSH2Nk0`tw0wlMt72KU5swN3VmrL zcwdFSv_iHG>NJd*LUiVYmzYIh5k93~O1D%jz;WPm1$b=*pVBX7r%1(a;dAU1vR!Py z)6kcWy+S%qADe}5oZ@G_-D?=@0busx(^!E0Ed^hz{6~MN9=v2e{8n*VZ*kuud~ddZhrz5Ts51{Q$;YpIqX{j^H~(VB)+4hKb9ZAaa=FS- z97h$hoS)}1J@@B1(?na5%d7Ov{x-}pQNQGLJ?HQ|nD@kVw&{5|&qL8$PbEH{XZS{G zb-sx%1OM>H$^~9CwJFV9+BnEuT4T)A^1Hm3)l;YXYVu7ZF6&4CzjUe@Z-Z^ zwI9+a&{T6_hSEHBUT6n9bEOB`srTaNJ6ZPXY-GahND=n?N%*rm@omY^TMlioo;gwu z?>&q4niB_l{`w^I?;VUQjfM5z{O+GX$DwVB%By|E7%+cU)dv;_L|4#(kE@L}20_Ng zJ%<<@9q10roiQ1J$8FHFGbZ)ire|kNTJM?5mut@BvflH&g7M+!60Zps+jD)4*obms zZR8JbH|DuJ>Eo-ivDE?Z2KeiK_@19NL9z=3e5Uz~x3;#ZJ)go;WB4OH=*2~}p#u1; zp=Dxb8PC747@=HX3ZnAxm9y*r4Rk|x7HA_ zPv%(9=7P0{t2@B>{T6j-ox$=i6Q>=6jPe>VuVTzsbE&*GY&7*gj}`l`^&pxrlwYx= z);)D;u2wmkXPoT5``#MH`!5PXlW2>FMZcR7O-9=yDNnh9dhFN{R-g``U=y!?A z3Siz&-v;T|RrIfizV$rPa+0BdIv}yS_^ji@$5#v(5Rg_h4klUF5JKTQ0d|AGH?rxv|iTjxE znE&JSzuKYy#Q%`~hl7iIfO)k;|0+-PzwGaz|L?o)2N(FNdT=q9d(rplzJvK@onrWr*K;>8Pt4|b#?XU%g6s?0=ViTp zWA+m9xBo=;viJEI8rjV|;%A=I`NId-(;0(aZMdQdEW#G*#$)KL+8NiS z6H8+v+E4ZqpRZJFr=Ob0`Qkq?;df7CeI#x3nrzF4tu{%<*oQtP8KYe>jmQ_$5xmH} z;cnvYt=mj9%)HUs&^S5Sc}~*QAlQjk5zdH`0zWi+`Zs^8H5IQD*TE zo~eH$?I^SO2hYk+JIXBn!Sg8EMLPnNFIqFmTH+tUd^5I!v;Z`C5%S_}^2j$gE8q6b z$uD<4GGWb7;v<-s$sfHIoAk^~d(WXDel+|7(d&?P>X2{dBGb%4jzL$Co{Jng1vz0d za^xiBgbL)#0PP-H`6v3cZDUU z@cHDv@HPha$p+%|$+Y^duV0JqKH z_I_}CAGj61;7c}c!D|}$6>fbFZiRQ@RX7b{pU|8sxHJdqUhZ&We4cQ*4yP9Qu-ja-$qN$&xwe4UxdxHg_tJhxX7d6 z!@>>Ut>yk(4sKHZm>7GgaUx!$aUx#hj+0vOVvQBy4%{4WoMh04={fWxeVCeeaEz!Q zPY3Qx=ri%Sz@Eg|mw`uZRbM@kbia>#;U-49`CDS_x+J(WtTJr7d8%6;`P#A7KjW4` z`SSBwWpm%f{eI>w%~iKCA8QY)wai)XF<<4~mABLo$CS%l_38U}zWq*S?v`7;Ls_O{ zax|yCO50xpCoj|XSHQ`Ov|q8a@H)ml@tISuS*tVa>4!)Jx>y5UJPuu~hAvh?D=VRm z$DoZ%b|+e}yFADG(Ko?GRAcP{et%5A-A^6OJl{(l_fbcP?<~JL>B_&T6r2P1!jp&< z1nxJ!#P$vB4MoO+L44nX{IL9o-lc-$3E+5=GS&dcf|17RvxwjVrq#f+pp-P=zvmQS z1UB{cJ*Sg?5;g|l-1^_$aB0t;vKH^(P-<96Y-UBU(dFg+>9$BK+n;x!$ zr_CY$xDZ|=TJg5)}Oh45HVKR zr{+Q*G0LpVH`aVtoo3d}%rxs}4KVAj9cGKG|7mYYMj2RP3o~*ifs`tICnNG_O@*ODS)c{N>!6885WD_r$fdbMFDq zio+;i-U%}A%m1+go0-zo-gCiO#kVB41fu7TrJWhb75zzrPqB_;o#2?_H&MYcxrDZk zrmZK?MtpMLB2E5}6$cWhDdr;po)p)iHkC2&RHT@7$U*BS_a}~SkXhHkTFVfACH2jt zX$RwvfyatHuA-k5ukuc&xwL_Ey%(`BVi)w522H)3wtDHz1?4ZKoAhQ3p*dBd886hd z6Auhcy@cJS7PwOatg%HWya%~>CH`6M(O_zid!Ye1nt-DbII3vpy}&t(Hr@lQ4fI4Abv@!{tBcmeY9;B7Y4y{arRw|&C zKoYG8&Q@sU0`RXfG8O!bPRjex$vAMSF~~aSI?-z-&zfgNYnO8Wu5uB)R0<>onzoHKhYu6jVlb-$L*ZUyr-G9J0zjw+ylluU57MLtcAKl2a>J&d& zZ{3$zbEe|%z7O7%9<}aATIupXOFmKms9)4S>KpZo+WjYZ@59b}rR%-*j&igwjCf=% zJaRog!`KeiBq#C84ft1k@k-=d)#38WLSzz^>GDe1d@Oo!c_q(d99}sQUKxWAlv2Oi zV2ES+=DafFpUNxeSiCYLGB^LwymGzQ=9Lz2`S0F1!B=kaAGJ%kQG5E12WHi;9S;rI zm)!AS-83V07m%+MT^3Xa3b6!(;~KSht_Sslwu)7o64_z%J0(VZM=KhpQ^s!$aixy_3g!4{S4euQZJlt1QxT$mg!Z>SC=uG00oaKDV=F zAG~jm6QAJnKtJ_J&VL^pQvouP+Iul&y6N3X>0e^Ek-c8L)4;3jUt{g<&a?g7-+5+V zd%gF-zpQ+IJHMyZOt79?1NLv8lRwYSuXj3!V9%YLQ7+jigSFlGY&=?rgdF8J6W^&~ z&XYXrKJU3R08h8i0Q~NE2j?W3@TaqezPg-qxQ#zt9w@Q)e0TT2Kwgf&81gJp89iq) zG!biY?sms6Mf#NOEyCf*>$8^(qVA&`ui0e;D!i2aisX`jE5VeQqY^EZ~)dzRFDS*Oi;NNPhp^IPFq6V6__qotEHWX8A3 zz2-R&`zOp)+=)4zz5a3{jmFn}9BsL$ws?Or{a5&{z=R6=v+P@D!ce|dSr&chEH3Cq zeSv%#@8ImE^xtl6>7s1e^6kA7vm^biZ*n5(*6)zWpRRLpb+v`7->VJC$GcYhu77`& zIWUI3{bjSu3Fy8D(0vco=9>dQ;k#nw93Sm#f)=tf*oUy)AI6>-m#*pc zv!5m3F9vrN>^)e6oKf*b%Du!Zou+4e`j<}nBK6*tJlErw3wYpH;841SaI|Z6#r2;! z`{%qrDsaFZPs}s%LTFZWx|jC5{rsz|Z5!w#;K;(sC~#72^4=nd=*^c8%33O>FK zE@nEoc+|l~73~u)s%XE9i(A3ZE#RgvKEC}=#)sd*$F5No*SkDL{N?@PL*qiYJ6v8D zPuDqkIuAS<=P$7-_23>EHJ)%BnM~tbKGwoO0kl0NB3cp+Y2S=}*oi;GKfHg1Cw%cO zT4Ok@=S)EM%!z;he)ftDmEYKo9Z&DB(=%s6wxg5n+2p0XVT?8VOvw9|us=EL`1e+% zgu7}2aqX4C`Fq;)0{USeaeSj)i&@h@8-I2SzjgdB<@W}Dm+?EF@$(CQSD1KgwTZJo zJhTxyyW@HI`zUkhb^N@O|My9JxgGV4@n0Nb--l-cQFDSB9Kc2yuko@^2x|q|qkOd| zG<^g6lVjVBZp;rH*j$9ZI}%%B;OQT{v^+3jG<)I8x6(ly*)KDaSd2}-g?)>guy379 zH0KjM|H4FfE;Z5pm$4_;?hjgGs}H|EJ0?8lvL>GPQC_@&_?`r9Pk;x?w$@5-f1>vu z?hCOOEW;1fjNe%86J869y^qb6%vHj%Im|kI_Nu6ifhYVC))|skoi}h_$2Hrj^UmIN zUYlGecuhVd^DOGz2Cq}BM+dr;Vm%b+k%7OW7@x@YGtsZmrxf=gy=0Zi*iz1(37fvC zSezK;iAqOFLr1AcFWGTCd#+}C*2QwUj`6JPDB!o)v#u81QF4j&lWO#n3gRho z2Njsq?f^cyoz$H$Db{{Lo9H_`He(cLy_kqwN6>I)jR{1{;bAlQ&XVnsc}61dpnIC%|tRI(2~g^pUFuFKLBFg4SBxA(1UN9Xu1XXHQM73Ez}z z%>yOSjc81?#{4pU8}uSNDhad_TQDrLku=6Zlra$9108iiM_tg-Ht1+Cbd>eR$1PXD z55))M??#e{{#zaEzDX;@2c>aW!^rLMxj3v%L z;XaNZD()Y|Fa3`HJsyJwkX_=eVX^k-jzJ$?cQWqkp^GN2MJC=(`^_cTh2it)N?+M~ z`vLTU!V=1WMvCC)k{2Xvcv$ap0NH9mt{EhFtMNw*<`8ia;u#+LKj`p;1Tb1>x`-Zu zsS9{IfhEA$KjD#GE#fD!e&#fr*VudTe)ePbN?jVT;R}3q-<%k{#TpaNyP`hlptPeu zYfNY?yup1ZyvNWlGn_qLtDt|zm_6pQ%dE3nbdCjchkOXu7#82@&wVFjUU=_d9LA0* zvv40P;1|3Hz=Pw#)!*QtV;Ou9Jlyz;?JdL$ zenP zX!so3g71&>5UZ;?)`_an*s6WxP%@hH)^VxuLC2nX_CmXgPk z!FV3Uz1kXpR##uyd#uLhYfeM%o7;Pj_tFG$NbpkmKlrXPeTuusyS?9Ok={eo?tZ6< z$@bZ=is94ztGE*@w#j*xK2&gs{jdA#03PH=$%+PfQokN-K-M#M4E^f*pUCvHuk0(+ z7lq5)&-jW=|N9?)Ri^Jh>7Y#CZ;~z3{|k6Kyi9-S^4B`$@2jx;DOqE3+KVhX{qL30W6-?DQnEbi>M_Z3`Pb!f`)|t?wyeGy93+~KeUq~e&|y-M zbIlr^Ikxv1Us&gjeY8G?`I)etXo5-TD&dJKpvCp;@wjMS3_0FTk!HM}Cd|VdnmE zu@wWun(Hk7Q4pGrZKv+%-ccj`%>5_MG?fE5`)pG|Xz)W`vrayrcJ3#E=K^eih5R;y zs|}nJrTL(t9lI6tU|Eh~Z;_N6JCG3s&vs;3Uqk4v$H>0|KJOa@4Kn|>GXJ!~|H}gA z=)x3FR$>2=r4#*w{`&Z}#2%6lTS7!i=-@h%98aXUP|vVV|GSG!l7! zKq&esdmr7x+*V6DA!MVDZe;BK=2GG4sWMZ!XaMqNp1JWN?qin+;hWd9 zQ(DL~aROuKl!ox(hN3m6gz({pu+4;`Pt2V&J~DUi_$TMqjDLJ??fCB>Yc5+uc@_NL za7HNlAirL&oZ9b?_tn;nKZ*Na%)McJlh;>zRPFUv9qieXnNxcM@8^wQ?(vou8gFJJ z@A;iebZ+JKw14){Q1pg0>KqY@{&Md1lf5leNHIa0nN@E34AAo zqN7Hb%gT9PPJRC|ci#8__m2T%5$hLyyqm_AUORjI651xXR?MwFtJ8w>CfYpvX9Iwx zoV<&?>7|=IzS1sW9L4i;@>TOYjVlNIc==Uc;mS~6qt{z{6Y#fth>P-?%&{gX^QHoG zdOP&&rBB+4Z7nc^to?%v&@mL(C^@fyxbe<+wU_VFbr<66DZmbSKd~PL=BT=(h<7O< zF8v~6GYZVWx(B~y$JMqYt88U#DIfdy+}MiUG6^d+T`NA7 zDrm%gSISyM_Z|4CtfF7scNeg3(S0Z0SOrbF@8+WG77#;R$glRckD*WIQ2)61{A>R> z%$%liv=^FAXT0NEK00QNgWS63(oFc@(oMKOdu#^C)4_Kh);7i%D~eG@rmgH?Yy|0t zYA)%;XA$#TNZFx*?fFIhH;UI}(Z;Day%*fyRl}I$SK~gkk$psrm%b~gt9q|$|H;tE z_4rM4k#m6|+>)8w+z4+JU)ccuIY)1-_{e5xZlX!4dx}0tVLii(b7%6LT6ZGP+ktUq zt^NEI{u}!_Xut1y*7vD(Pl5OCjOWL!{3&%O^4wahyrxe6%~ohw_rxnz-i*!?%nHQM zM;C+lcHi$~Ek5_HeqzO?x5DGs4>i%&e0&)I#vs z0pINa=cVrjzmR-g!1}7|iKm$%+NHgs^{4P}%z$S7)^oqQr|@5}afWqvg=qgN#hgQ< zMc@~`wC+Lj37(0fP1;^y2G@NEZrrpObSFR0MM-G^D~&!OznhOagM9t1eXS=#dmG5( z(w^v!b{s9axF2)ZXXvFH8PBrqNMFom9)xBl{N)+5Zb@p!>6*KO@G6a~cf6jgD)_C& zqv$(AziUi&;BQmi)$r3G{0+V`-X4cu-ZkVae-Iw4wCesIuN3Z`jQF#*IdMM)^ey#oi2JxZ~@l&ZkPDGbe zKU{>rw}E`EsNO@-zVUy(7FZh8|=9)T6vIP!F{XXPU3}DeaYpkzU1=N7w|f_ zzSoGUQhhdE547rA&v?9Fdudb8Mb>Xt-BI#Sk}s(GlFL{7lFNrSdzBBILHMUz-vvCY zKCNL=Jr}UYw(2>``pv3)qg&4@br15Z`p&05x33isEScbW;TYM?jS*RnZ(i}WomaE> zE4HL^Y)WOs&Xx^ee_rA}I<0d_Qo1|Q5qCjbjV1TJRsP6he=9owt-m#vbo^}@_NCFJ z7qQRGPR2$V`$Tk*w+VTCW`FZs=hfKKjQ0sYG;v>T(F@FngC}AeD#A8YieH%Xbk-e@ zU1&6RA@Qvcv?AM*>`Wc-tqK!}PRnifnSRBV-5ZE~mJig!v*JbCyq+zJ7hzA0w>SQ3J9~|Kmlp124@+;r8*}GcW`1OO2iNj4C86>WGlfI6_TjR(o z@e`qeLO=5Zw7HzT?%6)&d?R099ky4i3~XIz1!R96ZrKguWxdbX>3fFdN9)hK-aT&z z-6)KXWZ4Km!Y=CSC6dL6HJKXw!ah?*dJl6(q-#Y=Sb9$^;f4_$S!kBhrt#l>I#(N7i3`l!>o8nzIv!uz&F|6K_41J&X(4zxX)z z1RcY5;*srq*D?Nu%R<^;gxqiVO}6zd1$M>D?q#2XHuR0t=}+N{IWR8$MtV*WaKA)8 z;a6obk4CS(c2~;-q{)_|H0c_fID;mHp7C#%o!iFqGVm-N@2G3Dmxv~m-=&KHI+*{< z#IvQ)h1S0Qqk8BUz^`-lq=%luS*!AMgw8v(9y;xzgL-IVA3b#T?Pkem=%FEKI0U`V zKo5O%^5ON+4=452L-YTy=%KaeCh4J!+e7N1^xxm5hoZNBQ$6&(7klfW51z(6!x(h+ z(3?;3gnQ|s@DmU3n;bp#$LOKALXR&|PG3FrLFCJY=%HKDLr>&hdT0vYc2LG`{7M%+ zlk3x~%+hxpJv4^iD_!GVbWx7j+43TCPyk(YBeGH(v>_c!x@d#f)_~2^BQ{SCgkmx(G53JPEPII@vowvzJgvV9Z&k6^iJt&w$3?+^xE;A zrnk-+K$e)pTzl;R>KRELX`yHxy5?MDFO@g@9O^?>cxmpnR(+~#%iOy0sz0Z8&iJ(2 zYb_X5??P`{X+P@rQD;tV9eU#2@x|zqf@KprrJ;UTXN;L7ozZLSj8(|s%#+i*&>PuD zr!)hd54rp38Q}OjVtpo>A>9UE>Yo%^+m5VQk1WvNT1P#kTi=y&zr>qi>7VMyeO{BL zah*;%g_4_94(k=oAOnvb((R`#zKg0&3D!q;GuHJ^-|BrK<%w^k!CUgu&C%_a?v+=^ zUY_AQ(Y>zwtF3#bB zovm-ZfjqVyx^?v}=?|{H^`UsPqi;RPeJCps|1oo@^eyCc&P^L>>06mR)85L{9i40I zP;Afn>@|tb^%^?Y>*!ot(79eg=X!^^|HnN#SDv+YO?dt$I@k5s3#!1arE|&VldN;W zW2A>k=YlSB1C+Uhe$RWaWNmb?txKyP+4rf`?L+mg+piyVCMq9rzSB3zWaKr7+oMKY z`6259EImkjBWFkEz=wnAK_#Ts@Qud)5BU{ec4f?su8cXmw~Sdh=&Lg3E70YkWXufG zZ5eZDFBx+Z>)SigFTbgbslK8;|5O>1^O<_&IakKq@OQ|VTYF^8p{z^z=gXL)Gs&3R zk5_W%SvL zzK?wRd+gk>`LxiIPd%1=dg;V}o_wl(BC68B z_5Tm$(?@|lSw4M;{_K%Y;YqH1%KCv`^677CcC{=dt*^}K>LL$LxBFUh>yZ7n+?pJp z@z--~xphX3y>Is?(2U_PvFQ-Ll064~CE82F^^?eN;`&PD6S&KfQSaltP|2wNt4-zS zn^N#`>5N*|0;9*SYTnhd82jI+ob6e4Ss>bl4_^B^c)g+N!2zCW$XI8uyTvStb)|

        pLvY9r^iEiJgh+_(gJ^r@-HL06bT^6U60%aU15 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
        sxDE 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

        hh@LlInzWJS+BP!Lk?6*z#at7cY{Om@4*xxV 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

        %t%L*JOUr(Z*L3ZLV& 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

        c_a_Y?8N1nc~ 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

        &JFwJ!czyT>TIb^OvpEx%srcQ# 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

      1. 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�^7>H%?W#6P;SiK^Kko;uISSR=23fIP{%RNYYWUj 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
        A>PWs|>|*EJ+>|-O${?|Il8{LGaOs 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

        0RdKY+hwKA?&##738bUw5m++GWg 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⪚@0y8+7}#s;zM*NGUt>n;Vf_VBBci4FTda9 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 v^l{ovqS${8sCV&X3*f5VXS8;EZp{?Z}k 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

        xqpUYm&|Hf~7k2ZJzLmz6dHh12k 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�d+>0Fr{boGKfg0*!PT_lv{piK7KxPUc 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 z zeWJb)b=A>E19g=pU|E~;EF&fB&A81ifgd3Km~?*R74nFre4KP%kC`oaY4 zkSClOHLb)b^zg2aZ#4fKWcqH+U90N{r3cusCE8)H!5+c0Jlj`MJ$i8FKK28t9mN4O zJ5A#*V%wKs>qMzfy3LoSvab^vzuO%xjP_m|CobDpf-grh zR(i7JFY!*bZg}5=y({^te#rFrx<#9fHZPCwegR)pDe+HJz)SISs!R1GL>NlV)YAsWPzW~ozi|((U!GHd{pDRMcXf3 zt#cSzpCpf>Y;DnB@FZ#8c4}ybVDi{7IgZyeo`s+KLAXjzrsCMn{P2wgZtK9!LtWDo zcqQv7VVp>Q2_I}eyB^8qRQhP`UN9cP9=RhyBei)1`y-fmcNBYNfcIZdq2W<%lL5YI z;G0w#p!mR~y|29)?^rJKl*RY7rOE;J%aS8Kt^2pH+-}Q(rL0*<4zM;^n~NMcz#fkb z{z53DQuc|w18G;YcTM|d#^zhR5a_qczKPT<&6Jm^@q8JYg< zMCOdm^J4ug{jn8G1GC)xwxJUoV;p=7+5fv2E)Hp&PKM_nr~W0>znS`XGgh^Ssuy2a zl=|5NXpcQZ{f`^7=OFbzPW^WQZy$BnGJYMjW0o$NHHn|<4-%8|1Z~;v+#VRzIQ=<3 zw>Tc@AHc&x{t4#Sh+z_}N8u4eeIDvkormDDF6!D0%x+}lhEK896TKv?u{&Yuidm2T zrFmcVm^cnyS@F2?7RK#X#;uoeOKi=;^Ua8w>!8u3uNUVCCMRnhQDaCUW-ju8qv#T4 z46_Fa5tm*geX@G#4Li(ivrzk>HbU2p;B1HiTEsYZH_l$=VQooc_oHO3z5gRIet|2t zF`+ZmV|R(alQh@7bqqcikBjyj6S|P#lrAJ%t6$V7ZL}%+--Vw;v`^B#JVAHip>l#* zvRSb9BV&|{O#P%jQQxRPen-FDd2(n*Dr^JzM+BStNia!g5L~G+H2{wbHTy_0!$n%3^Aq=yH}#2c z)CZC^<-AkBonmgihyS7uXK;a-+nDnN!*e%K9GP_-J2c z@dr(p?^E9!_b0-^taN-xIre%-a@|Ys&8IK4-)Sv!s5+j@1zBn5WBHZfA&*uP9+e*> ze=@$RgUI@3d{J@VR1W7pp+bmOjjNT0mTl;boLta_N`M&V4 zXzm$lUc$cRd`_2r7RM=z^Dj7ufS9`S0Bghb#2wV(S1_Elym%s4x6^wqXV(%N?`_~* z8PkncT@<^ zhAc-#{X7$SjXHKgE6za<4~{Y~xw1`paS>-RYkmXXfbin{S@~p)`?KMd@PPO_6J7YP z-uKNu``(VnzTo{ey;OfG_}l*3U`qXOV{@D6KZP3-^($^Mkn-Mc-}g^v>(@C38|lx$ zrm^8o^k>8i{9f~tAN>9FQT>DFwrbYg^o`bIJWc5f>n?IsY^2XO)8}=3=i$4$N6c-L z_--@LpV68PamI@uW8H@D8)i5vTEV{sm|E9xUCZ@;t`BlWhPRA0kC7?KF(8F36I_W-Lc{1`34?z7w*52nC!3|)~aNynX79eo9>xQ z{=MdhHvai@-@l0K4N1dl@!zJz-6rnBKQ&R?gD8SvpI7 z`6x5?$KxC!-$SGA*tO_LGd7EOLm%-|x3jjEOMU1TW8sal>DlPi#*wY_v^~_Nm==qx z_O-4?f9hbJFKR0H6D!}?|1DxZneQeA#xHEJUR_mBJ-a8EoPDl^-sKa`!h6v{iqSp% zJbwzGezR40yw>D;wckT+H^Yz1*SHq$cKN(P?t>-9tFz^!j9bCyApWNh_*uj!y}HjVkBME^(c7zh|iNeR2+kFUb@Dyuq}b}_3VGi zImh8m#rHmJ+)iu!@h_PXUWfJ%5SKTv*|Bi>8t1}Savk1I_8K^#LkskrckYC-*O&Gb z_J5B(u386T9noXbz5U-KmKM5b4X}fpL7nW=_fVe~+Vu0>ZH)I^{#OxSC0y0_=Pvck z?*DUfEp!3>v?ShuZ%&*WleK(J+XyrN^{iYND zl=1;&qlfgbyu70BIC*l>{fd{C&MKzfK6o)mj@+SfR%EDph9 zzB^1k8?OoJEc?(VVwpUr*6iD!WkS`)5$gIk;(V5Rb_9JsZy=MsT+A`aJW+3aZ{AI+ zPyQ?Et0#VRDdVn+ad#Qx%}>svxbKm1Y3n<^;O=voih5m%llcwushRQv8J&goDgPB4 zqA{cK^9tX_EGyi^bu+XWY96_DsQH|&8Uq{a&kN6$ukq>8;ntIjW@(IRENn7P#>V(= zjRCZtH91*UQi8xUJ96ua#dfKc|y>ey#j^`8h4_`L*)vwQiFw;<#&Wtdjnz z1pi`_9Vxy#J0jgURnL#-Hi^f$MahBdVPAsNMcfni#b*-dkw}&*&g((WYLGqXL$i?hv~3JH#`D`Nx4m<#$_1rh`+>ei-{+ev!!Yq4_L>!jf?sm?!>LXXUt$%U$Vm~k? z=MmxK2{>(CN9&Nrpd0Z`RmwNF=o{m(zj>Z->X`$Qcq)c#5q;F`%#JkE_CfOB(--9{ zh`$q#tl^Cjj-B|MvzglzqgPJd!ud_c?ril#=KD6Lo}YrxllA|Ke#5@HA)vgsz~TNV zdP;vi^&z;imtOPZdf>*si}e3_XnK@7686d;c}L7Fd+qrq%s0wCBKl|^EI^mgyeL~s z`QdH9C3&~Ldct(Xq*wEup67A>BG0;}XwG9lG56BdYk3x!{QficN-p>pp1CKz|4ehi z=Xlmv_WrYZ+*>^FDmBv^Tea5X3^$Ua9^J$HI(wBSlP8ee!;Ot^|R{=_eq%)0Y8OIPh?Eq2K#U6Iz`)UUdJk}GnZ*F`?;tfF~MqjL^UASWfh zx+NF6A|)m_`-xG(1&dyGAlu0sNi5(o;8mSjw5d8PO-AFS7w;_G3T%R*?z66lV5s^< z{j9nfu88M1OIFog?22TgI|d#c9j+fcCS3R6nDFwkW5cdo-_|*~W~(c=imPL*lf9!Q z>>G8Ctl}EKXRU9maaA!+l`Adf{EL+QVlAJJRK4A^QAirMQ72t@{D8I1>o1reWPg3{ci3r z`^C~(D!+7I9N$Ge_w#)6ZyHw#hU-2DO`*d)Xl~Q{^UxD|`3YYSDyQMo{_}$hB&U1lDPhxE8-l6>%I6` zZCr2uAg-?s!!_e9uH^K7@vg!rz_k+E*R63y&WHZ}&w}ep7yBmCyT$Ll2d-ZwKCizW zex4nzXb0af(zl(!TVk~qegS;11mB&`%*Lz0cl+ME3U{*qeETMilg!3Bw4ra?>8pc$ zv!C}zpS=a!uDEf@T32L0-wpBnG|$TpEM7Il^TqeLBByzN_}P`S+8IlW?}yJ1+`7uc z7%F27buxy2$$F0Ly}Acokt)WKa+Ovxjy5x%JTJBt9s=)5+BM+op>6R`HP0Uh-)5fI zKjw-w@Z3CGH!JXnE7EnKVO3zg>w{~YDPv#>JS1QAV%ozGmcIl#D-KQas|DF})A9Iu zEzBEdpDpE?=Ft5q&l-3}J{a#WQ=Wa5XRs{V=wzGHK#z=FjuC%q8Y8r+Ybj z(I3D1mccIcuOVkaV-NSz<7AsvVPi^fK1Iw7d)7C&52e}rETs=C&i@4K&6+#i-^q?l z1CM>sHvoNK&4#8neRH~RfWBpW&@J}FV@J=yzE&=uR`y-Cupe?VxZTCR#pShs@lfA54^cfR64?lMhJnVH>T>38_%3zW{ZC$)@9V#O`bELL`LyGvohWCy z2HD5PoWHjfx@hl6hTZ`qXL4+F17|sXF&()3E;X?k`{u^V;fYmWFdeOwJD6_%)PkR? z?^1FrE+Kb3K8%g%BzJ3{iF~y#Ggkhc7XEui`uA;=KT-d4=j_{vU$Kq<@sf1j%tSVA0^TRkp*VA>i*d0LUzlN^{=r`N z@xGbBL5?7eo8VY{aKI8k=d0Y49r+ZrT;(jPxdGdED*v_a)54mY`2OGNPsOq;Mm%*~ zYfS4*GkYwj8P*=hBNui;%Yq5M*sq+q+2S4cSkCWV<1D%aUN-E>V!h1X zgXnG^SERj;S1?x@3%^5gaPJS`vE}~r_AF1&2|ey|Z;;)6a#T*}FV3{k@>VMxKQl{t zYqZC3Lig$h^U|hz#-NpR{1ErzKh|^}aM5lRWv#M#$i4~P%E$FE^HPJ>hZz4Z*7Mu3 zIoy16jWw=Dcne?UXg1Hzuf$Ay%a+);gT zxx+c?=$X>nlX7Rv)r$v%w5c3Cb;O}dH&^aO z#21qP$+T;@GNwK@k6lpV)Tw`+fL|oUpEN4wWa^oH3g>ps>A}cgkji6lLJ&Z+o zg;=`j(MQO?m0{+e&pW-B9a=}5<1Le|xt=(Sr-`w6U^Y04Pt;~wWp!*hw$b8G12;I- zVZRZh@7)Ya$^SU(F<_q5C&iv4)8_;*s z&1d=lC=Wln?dT(hg=?@O3>p?^F5-GjoW`&i9Jn96fP<%SiB|+Dr1Dc<8zW@7XepGD+UcfcLf# zw{cg3_c9%Eo<9ul8T_iEkN8hC3OdKvh(6Lm;&dS=7XNoa1Lf+yf>_WX{BSpYrakQy z3Hqx)rrtx0-OguQqeEC&i4)QLa z`Lqi;tUPg&ZNl~Shw**bd#MXk`fvQ%{+naZ597PV_u_ZuoIi~od<$}r^Ial!z$6{@ zLVU<^SlHi9+giIFsD-H#k%9PItU3nPmTk$-XEB6Oi^u?gCo z;p5PI5Pfqh-`DMOhHrD2(1rXTa^y8W&zxhR3--nhJ@PkG4>E6WvJUj=@{QhTVSt~{ zkW8FC!{$=##IL(IsNUNg*cIexbL(u&Pl@MJngKYkcR6j5#jrXs>z9dpg+_P>W}A%OA|ahfTg~{5oUdQYXi9W z$eHBJs3LcgW9wR{wZ}({=dLsUhXU*e3&5idZN~NyKTp2}g**6ec^ha&4TaAXZ9^e6K0H)J|O^~P7hKE&)Q>Q=ci z)GgXnCg^lDg+|1(Wi?RWJnDF2f|=e7olk(@qzkY^CdGN#BA%uV`dtog&0lscJ3*{w zz_{$3#83Lsjm}u}UnkznExe&wAA5@ocwdGM>LZrU1>T+DeGa}A4>$|1&j8m5;S8>V zOYr?E0he<4f5tf?OLLIw^t+!a9Gm95?HKjaNArnm&YBOr$IRH!>(&@==7&RSNBGkwpE@JKW5U&u9>?t9REf!V%D zHYK^BN|-ALt|O1i?9nsa=$H?})7JynyiwKrBzN58u{y}S;t%#dwEF>c*aFu0kO}uv z*6%bi*?+Gwe~C8&dWO%vn6^zd|Fif{yIu6FAAdwK`@DVnKbHThNB_t1A0M1zUpH2m z+O5XSF!<99c7SJTU`N#r?j6U#W4Y7H?r>&=H0~~^?|tB0%-Kw`k1cdqTP`|Htz_bI z=g1n#M9IS%2hRx8>^nrwINy?hxGG+i7qk1G~o@Y%oDZ``xpbTHRe`s5$v*7so z`^js99F`x>fgIk99Nvr^?nMr>hH_l_^%^t=50u(+xX+r^4edjz^0&+OyTN1NAh@T% zTY(y1*P-cfT4;VrrG-V`i57J42WSz!`nnzB z%}Z!Qe5W=w2WUM0^3YJN#@abYhHB?!n)!a>271`b%wC`|+E2Zm~$eUACX$gKI$_b0S#%cqRLmQPOPlg8|Y#B{rn zPi4S20=d)5J`)G8+ zpTW7l*7>xpy3hCgtZ*-L(J|=&oO?DoMb5v5oZp?95$a)XGsKdJ&abh) zELg9AFRQ3O&g15I5A#=Y3~Btd>=>H<8TcSd-NAtIYCdc5Iqf-Z9eGBY*{gJ)^gr?v zHbZk`()ZLOzwcsAS@P=jpKHA=)Apme9jsl`my4#7*PeaFZhV1#mf2(Q53)z4(LB&v z*hM_s6y&nx>|K(_=zddN+{5E{rQ0D0ypH_j{6qA*;>Kn4(Pw%&C)Jpm%SQ8` zeG-{pcP^~V;;a(#qm8{~;=*5mCo*>581)q}O5W(qqo}KA_Ggfx#f~wJ#?>*@ zr?c^V$Jp%XK4NsgzUHA4>JXkK$mdq%^Eo_sGAEorLeE*lTw1?l?F}V6uGotVb)$Rn zT?^mc&$yAUBpvfcXqBYB=>8P>HB;wT5BGm-em!=?bV%Qm9F#7n@v8YYInU0fpXxJR z^9?ef3K?J_1GFbNDFcosWWXV0z*ml9ham(0nR*(K0k$4Vy$uODpd4?K53c~XXsvY> z&B=4P*Zicl49+sOb%3O7IYzw?eQV#kV+q+Jxgr>^fDR?}sXs`bN9NwzXYyyh&bq~) zsYCOv=3dRY$@%vAXEc9^4}yFB%(*%vNpoh`?xET&lUXx=1TrVhEc*;GKj+bRTbMr` z%!U3}CJj!dtuAj*VI9A0Y>X0S4Xi zqcTI{4@X*y%@dW*w8qWi2ZyV1w{c~6_0ngwkwY8IC3{O&!4J2)cfh}_Utw$V?HJxk zpRY&ft!v|)BI;WNk6P_%JGAzjKH3-4TCe|H$JTi{CN?MEY?V!LAN(1>u9B_wGxh~& z3|>iH|IGDLXfJ(XC)X#q|0!3!|2*%LxwfzAGQ|2>_WHi;N3C7S-=@Bot}h?rUsk)e zp2B~#5PS0fz)P~jyNEH3$Jvd;-Y&quXL)bo9CXIz^tb4r0A-aQxhp+uhvGWM!Z!hI z!_m5WeX&uxV#5s)OE167y}%yqb%yWZ+Uzy4<~3&P2jc42xKMdg;z^RRL#yYU&0pP# zU;g1%XIOr*OZfJYwTydUs4soSUbobI@{M~;q#9qce{|0iWto5|ia;nw+Jybj^FpSpzK z&lC97Ch%MEG5D!(KCo`D*r*iz)FJAt*oXABeJ-^g{k8->L8Q-=Oo?@@)XRDgJAaK4vY<`xW{|F`k{9(D9LRCQUJQ!M(vv z!9tb!3g2rkQViWrXYq0Q&t>Cc^LTyp%=B6F;1gi!!4{Cr(i)Zeq~CIAZqm8OW8XoJ zvDQk?5ED909H9IuZ;>C=6gWfZDSHCgYkjwxm}qFssBqtM?E307JHB%~u!u$%;3HE! zrI%|7-&Nwj_6M`V9^P$6cPw08F(`jj?W)^W^>Xk3SF5PjbQJ#iaD08*!FO8wYb9^b z7arfYZf3qIS6P*LJ@HNQ{s{Nr+$h`1ksFUi>f@PW8vieK?;amjb?*PKxg?p)Bq0g+ zB$}CoTZW5bu_l#%nOs0fAV`AkY4wx|0SpARh+3;42}A^fr;gg%sy_*6EJo>9i&|*U z`I3MlUTfvFr|s$a5$=~jz4W57+I-)iJ+pBVBDLq7?;i(V`?Y89thM&Dp7pHfwx0E@ z9?s0^_^p3u=l_D|FlJ#Z&NYiT%LdN68-h=FP%sUgwvd;o5jcu-(QVkDSiG1 zf6d>_TCh)XkLY}J@%1imcXF;be)&U`S%WWl9=@>RdmFRnVfSqNBJc5k?M+0E8&|z) zS(`Nl`QC#4gD?Kmci2(wg}h6PdxzZbyn=UHd$a4xu2Q)naqsv}jmqH%JPJZcA3y^cR(lJ! zRIY``n{Cfj?nWPIG6_C2*_{?b_B3L@t)blBB{e%g{q~^xCA8Urj@N`N&XXP^J*Q<2 zxq;pF@-^f8<(-3fjal-A7O^)Py7XynCc2kwpvAwXw||rIYdMNt6C3kF?yQ5(S;G6_ zv@f0Bo&TGxUpd{rBR68ZL&Lus^&5OSZlC5!9ya6^BYu-5zHt-rbPbo7%Zc%N`_Ig! zKQnJcTMyBe^6DDwSn4~{$u&F^ zpBU>6Q=s|n;Cv`?oSiE|-NYVPd8~Ez&%;AQh5Dvoxrll#zrAwjX4g@BeN{d$_{Z;ld&SOu=8-JLSZsCvmu-8sIJA3UGz6A56#*G?&m9wSg@V z=AO$rFrC;5?L5n8ARgr)Czgxvx|>Qr^ng>%(CiQ^0x7YHKRCnA$5D@k&+_ z@Z%HoIT~_z?h7RZRX?#kcV{wnJ(M3w*^&|anO7e2x6n4_P8w(POC}+hK)K^}__in$ zFo{+htzoD2zJqnV&ToafhaK^dJKA&=|6JoTr0ri~<8c@nl#Ont`8U7R;Ma)KO--)p zKE(X18O@#fSc7bqZLaZZDm8PiFJ;WyebzedG1je*GtPluFW7lh7vnvj_Kz~o-znS;}FMQ%yeW?3IgKf$Dd4qh`C+`g1|BBbs97ruWAUPPYY&1u` z|I#+KLyAD_ax=lCRiCrolhi1J#C z@1g%MV#~=-y@&jDJA3Zno|X|vxPleS|8MT-@@m9$~5sEXJ&*4We~~`@ z82W?OK16qOL2CwCP=if#6gmuCH~m1(ZT_8`C7Y0mjV~h0v2hMj_6+mtF6=Lo;RA(Ma~Y>&%)f%$syN`T{z%z{UHQZh8-_O#!5Wn5+jaggyzTKDkY0l<tF>4jyko^@xf7V#Br^;G)l>IfBxc_jrnS@N-bt`&)6LwGoaV{%k zc2HiN9rW#uvV(FgJ7`TXY6Gpo26~Y8!BJc1c=KF7a4B|F-#N^8^bOfS$LZ^DI9KdA z{R@NdL!%h?VdnDZf&cmUR~-m*w$tEFSL933O(M9f!7ggRK8nzG1Gdq3bjLPou=Z*V zX-hpDl`B5(o3Z^iBeORnvo|BNHzTt*%k~3jjePsbMAmZ0ypmOr|4P;=;P8`Me+lhj zlee7$9@gfb+lEY3tV%BY!QluYGq95{HFI@7N-FoO@WHts89R-Q+) zC!qe_d4)|pD+lZd_6IcLBQM6DaN}nz<{H^PudoChL!&*m~f>)AY54e(L>|>Oaq-oi^4I0@V4#A>seA6OGNeTQ)8G7FJ^mu7PGQr~YlwOiSJ#%f2%3`8%K&hZ*KG z*v$>li+{wPtOn>ML|g5g{TODfZ%HKAz(`^%`JHQ|7Y+_;KkrE7unor>F*q6qMdvAF zTD6~dijUQIWY3;LcM$#FzQ-8}^LN=n$bntji(^DP(9&P2BU<`ccWCJ>v?G~#JMo9I zlW*hxnY1MQ{Ec`_JLW}j3&zcS=c70nU%_|zXXb_AO9Z}l%g>S6_G`)sZo&A=7>oyE zFuoXraZU_I?T7d*827-#YiL{F7jIcj8}iF_V9$)q-x6%BI z%`?o($q&c#jSYMQ{IoTskUKs04aM;RgT*_A28{GWUb@101 zk615UF|O-$XI#G(!NBkzx?X|7(v$yLtJ)#eb@J z+bnVrnq9kzBWgH6EN_fnM9(+Vw#Gwe8rWlUjIn-<_Ks)>wn75i{9_4FOZ6A1S2=KnJ5 z7I?zFd?$3U=kkxBcg@A?l6*TaqAkN2C!!TExb9}`TiAyd?T5}&8HV3XaevvC%+Nlu z5IGby_UL)m`mCSw;uXW;6-(|j|DrkLiH(0^Z2Ui9yu-lM1Po#3)f(=fHD}asFL2qs zqwY{#kO`%x!m( zqavO45OPN3GB)xD>7DXCNsl?_`(m#Yy5VzbD;Zvn&xcrbR~zTBTe&L~`+uAq1O^*U z-|6M|(_V$W4$J=iFyFy=L}RvP$9A>ubE8PE;`**qT;4a+$8+g+F zm)v{S#&Wz&Xn6at_&@KXoleTa_jeUj#^HuvlbiU=*LaUz^jCCU>R5g1+571k?SCC; zy4%TDB0t;^bURZQ>ejl)b9wH_U9{P9EAef*-^3Z2&_WBe;D82N7}FkNybhu(97I>p z{=|dm3J1{@cHe5O-1Wl6Zr0OV(A{#)Kr6rIeyqsa-`V( z*u!gC^Yx)aILy2ct@`ZIbTrKS&~$q6frg42@vjtPhv;{J-}uqG4ujuD=0%u3N}o|b z1N8a3^m8?R(O!k$fiv|H%6$G7X#9KlP`(H)wlCqV=lRZv=y4i8#%IHawe=gqWbK5Hyu<0St7y5?!A%i2dEdrNc~pZ6f%M=yIT zhjCc*9r@OYzh=y2cRAWaI+v@>vD{4h?%m|Zu60Hpx<9n*d&CGfG_zL4xwX{;ewnp~ zIX;hASH%Pd#d2jh?r{pNiES+E>G`e=L`RQv-790qB=_{sw6ix!z9MWQE5@+z_dAKp zt0BIyAr@nJ+poh`jG<$-|6v=h_B_Rp;v2>%Hf|DUJFu4O!cXUbr>!N2Ty4&s2gZ;G zB9C+KO8sWeYUp2aSNMf8+VjXKOkHHa>t)Z3|y&yPdXaZ#h12D;{rk%n#_t z4>*+e+G(Tbude0e@Oy=jxr$xYUWlRlzf`DPa5LE_^DW-3b`7;+Bs&!&xe%Wmxch@^ zXizb^HeQ!<{?M8v{9w-P`W0_Kob?av7jX;-S^k{Gx8T!;hB$jAxEp`b^IIFUR=I2kie|szUOux1KatZtM}D8zzrY!m ze|61~-zX&i=s@hdSiIX}W14G;cdG;M+J`E1y`=Twp<5F)v1m0P*Z_Wqr+MB4hJI0#Jh41YX%v`lA{Hxsn&jH%e zxCrN#4u}sv@&9KH1wXshpCI!9nd~5Mi?PNyC6c#4Tqqm2l-Ran#kLt&MT^ssEnaGf zicTfkeuWK~SzJXjyk#f)VcHh#~=oPUOmnP=S1#m4noDmq8c&*AC#(ps*@ z_Qe)9x+4R^#JA}@**4&42$@I^erYdt)^nZWjEBv}+jZn8^63$Ofqym3dYAudGik~- z*k-fM+^KxC1s_?bVlaSL{xE-p^Ct4lq(8udCuV(yS_As z`ou`)`*|M0v!B1~c?8es{-q=MJ3gQMF+7jsc?^Ho^EjR_<#`-`Csr~4Ql2OAd?|m| z^CX@p^E}BEb$s2-4HlAj96Bs7G)2N2{9Le>y#_KaaWGCYq zhF*HmQ^wRSD4Y&%XTjUFM!5i+u!l9FG0cJKb^gM8h{tYHdDb!F%fCU6M5{dhjQH}Y zytm4eH$T3-_QF`@hxIOh5BuG%@;SZBzX4yd$}{(RwatNf(iZ2cs}KHPTMKg0>@f=b=_@8Sra@- z%;1u*E&1>y-&W3@2HH4DT+mV0BUZCV{1odEjqvVH>av%ptwy>dbBXn~iVn)EJZn=A zU$NM9KaEV#oEyR2=Brwt5}!@^CH{E$$vxcjSx3kthDkAuHHu}lVwi@sX$|y}|A@ve z7Bi2Ki9W?Eredob;uW71{ut8#t4BwwY4wUh?1wB2_yH`2~Zierly~NC&PE5f`m*+KbotaBKktf1gQ}Dx?`G);Y z?qI2b#}m^e-U*N0mCJfYgMPE-kjpuue*I42cLrt(4{|4tH0O-)FDbOwI*w*HP||JKVv?kvX}@rNzjaqpsxF znvh4EjiLc%k$H>Zop$+R{GDpQb~0MV{%Y|kdpdZCePH}jVb;-UK;v?%A z{{@Uwu5s5F)YTQvs2fvwmiS2V_&UZ*@q7iyz!}KE@x1o{(*njTzWlOZ#L6>X@#VL_ z6)Vqp#g{+JdaBhv;}u_iJnyac8L#;A%ifHYXT0LeZ+|0Jp7Dw=fA;lQdB!Wg{CM75 z?K58S<(DBREO;2N`10G48CH45E57{MSEA)5>okx2;3ourUf8sNxqh%`(sBL+*!_j&!sxn({nF2 zYos-ORD}KWLv7n^7(Rgzd%$#Vq+?~_!z+l%l#M6-xCR(oxJ-Iu*6(>QSv?k69Y#(` zRu?b_B&)TjcQY_QfUNF8J}*T#c@SAG`{u##80&1vZ&F{p*g;=i@S$4z=_fWkyf{!8 z;P(`K3)m=g-)9~3A>uFne0MH&+PEtZ;n$GEvPJK<naa+9DRC$_FT00Guo4!Sjjyq--iY_SnUq76vxo|u72dZWcmuu*p_@p&w6+Tvb_Zw+l$>Z9(?Yl&tti3 zpT73ze}F%B5M`xv2tR^Jxhu3sUov=%1<#CeD_kNRc}dUTk6$sZHOucR|ZWlP_JUuhO) z!uXXcbjPoxd|>i*ze3!heBCc|@6W%v8oyE)oAb-mTa7O$Z26UD#OEEv?44G+y=bEv>eEOM^IzAeJ-gj*@fd8HQr8D}JfJzeoMdgWLX% zz7K_O+s_Ah9>Q~g`ohW2W4Ni|`E`DW$-CRaxcIqS-$-Qb861h;zsGOIvdSl7`!Of+ z`+e3BIysM6{%6hQ&w`2E$@pL$_~OZ#QR^bdpgR^%z#0W-`wqenY21uG>kXag2#`T4jR&Y zl(9L+x(@4|Rd;g*p`Ql)s)l`}zjFaEJ`iKzx#%XZpxccK$KDMJX`j$@2UMntwLi`Y zT+JBQK*Qqq^VdcF-8z@GwS7XQiRW)Y|LyOxHc5Wn8unrP`QDa1?ZN8ZNA=t8XG6@d zeJk~CzxG#BzW8uE{_GmzQ+`tybC~Z8@eFCc6<=vU`JZEOlV{lSH$BPT-Je5awl8}- z@mJxmhq}Wb^*k@QYJMbmhqk>+Y+pP6X2GWUE#4t|3Dd6LiDp*B-r3LEt2zalwH^Bx z9{=_l)du5$YW*S!SiHajJXHz66JI8kHlyt)S?$k5k1yjJcKb7Ee>&|irmgwOFJ^t( zkK}&);q227*29L*12?ku_mWdb_>tc~0b9LkWkU8{;HJr+;A;XGO?=ml{jR>xqwnLf zIYv-!^T)2`Vc=Xq&d2z_kK>*Cr!|p8`j(H5q}A10Y+mzfx0x7VJk>wq9Lb@}S}?d2tY`VQZ1+|!>2fE@$t~Cv zvmhVgE6n{Q&dVTv06ZqvdmKsLyV31uf-mA~AxTH`Jcmm$%gx2$Aomm3@=o@W>RX2P zbk}#5VfUOSRy+EwJF(%2Hv=d7)>&+vb@)+}u-|e`V%I5bx6LN0>p1sOj>O<`VnOE3 zWPM)cuy>EU5_LvUrr?=&@4Bofh$kmkMbSZYxf9n7tG*kX*I)-FfwzO$Yt}nA>t}ig z9)HiiXzLv|@C=h!L3_c`*eC-`V)KcW?&@_O?#QMTU_6U&t`q;;`@}i@qQOMoYG*9z z_dardZgwQqJ0AC3VjlP0nE!bCC4tA&Z*+1u+-v8KnH}IN;bLdm?9#->$;HlwFXwR? zu3E-tiX*jtANFu3d(mD8|1a~+c_yhoxo&A;!9NbG-f-KvovHlo1b=%4+h!iNatiUi zoA}$N+eYskkMB=5*UQ*9s+WS@75!VmPWk_=de}I9>#<2AS`Ry?Z@qi)_gVF@b^6xZ zj;>;T4|}I?y*KdtS@p1a`qn#(9&Obdaelp2{$|y~_UT)1JafpZhyBy{d$aIISoN@h z`qoxpJebE#r5c&+mT88_?zh6qL16i=Mbau+!&2Fo{r8V z(a>_{kmgBzd3&BLWq!QJ-z%Y^>$z(`mF59!W!6`KBdp=h`v>L-*Zm*(N_ot&EHbNIZ;lLw^L!w-@sXK+vRCQcs6J;m#pJea$eaznW%Q*JnS zmCNRyNV$u+dnlKiwuEvsC^MSBA2*3!#mwzzUu-Ai)aA;QF7ftKXnYC&C2xDMS^Vg3 zc;<}7iwjTHjk5UC^^QcJhc>LSrVra=W41dsW)9Y_#FzfSdR*sFa!{5=^&a^hPR7RY zWsA>UUwC({O`F$=&-HDuk$9Uk)RW9sn|6B|r&RnnrHtc9<7#$!T+Olv<%`NS30+6H zbADS8znaC**v~xI1wT9Da=iwxhM&3WOYdEq<$|BN(UaiY%XLoZ2>3fX!(2By>1z0y z^$vdTfSpN36Jd%>4N%3I|kZnsq zR4?(ig|WYlwAM4MdKN$HT~Bkvs%P=D-u1-Kta=td>s?R$%&KScv)=W@&#ZbDKkHpj z{LHF1;(R#8&#ZbDKkHpj{LHFn@w49F6F;-+S^TVbJ@GTEp2g34*AqWeJ^6M-KThze zvtRSTr}&xHG7LJO&Ykw74@n-2UT%ecUCb>vf3s*OPFE7|Qn~5S3%@O$tH;GzmGCCf z_jqV)0>8K8%R7iqPxIr%F*EyFe0rmfo7tDH*_@SdJZbiT+jFb+{dbtZQ7a(J6+$lHC&ly=c z@QL(G?nBO|KaqZ86S8*2S4PaP;>zH2)*WPt(?Q}41POk zV{I^ymLCjM8rpjQ3C|_9IgeMq_k`!hGQM-|o<(W;UM=6N+Ow$gOFWnGdm_L6IW3jL z`SxwGZ`bl|$^Y+JGT(FKHG2Q(k1J~*dA3q;m2eep{#oU)%|ET2#NV18`Eg|le;df} zqNGc2Oi#R&`E}`yzk2j%mCrx=(@NQCvqV}s7r}ifw=m(o+`^^kw4zDY z!kg!z;~qNGGZ#9I#*jg;lDCRsvE!|}iMi7mNyuQu*|Cq=9o)|Rxf~jm-{Uu&6)S^*xOeE;A1{`FtAzps7p!?CZkg3(+oLz^FP4zY6hDHm%8 zx^^!(`s@W({GH&qpWI`ABtP6=eVldr=hE&5{17$xGjfS7>16!&@J(!icNyMDXl7!! zo{cg0a*}K$G&k<~o9;*`6!+XdIug1%?%AId2~CcBZudk&{}A{5)}TnJEbcj+6A4XE z?B0Ui4{cTX!EYzIBLrLHP3-N!*A$<}_=kfycbC6)!;gAO%`Y~CXKaYKrBA&9AAk1h z4OP#)xT$L3#hf3Kx3(&+ab49J{A{!G@2z?tJt_w~u^=@k^VrG(*iUKMQv*{gTK&^1 zT0NnR)^tzC?y}6Ao?7W07=~wR47+x0$~v(!HT$Z-RlXDHp*bh!4w}!9~d8&Dhink<+yv&OD$@GHVmlxJGjotjfrKX=QqLaFu5u-}SYogyyu? zT|7tMd~#*tz!3ZB^vzQ{?$7!){X5P(wZAXLT&DKzwlzoeEqx;ec^lO|;FIub8z0M% zch7)}{|zoO>GuubA{AWB1P||#k24oM=$psD!9My|ka1CFf4C?{jyf+*XO?QKHX2>?J*Yp+hZ)+|Ew`iVr-|y#`y$eESl_Mj2HHq zr>7Z%AA272=ojq%HIV|kE?UKp6}YlVhd zp&{{s|Lhox=hK= zkHh$8A(xU@WmdOAOZW!nct(~SP?>gOgE+ICjq2sT^3>3r^2Ha=nKw1_rjF5OZpEs^ zflH95^)XrNTjk3xU_Lw*sHj*Rm{C!X9Lgxj@MKJ({Mc3Afep+VojuWoOzzszoHYYl z^{h(H-o`xeWQ68;t{F5Zm$Lpz#2!-a6y@aqD0p^#)*|{?=kNw!0r&eEuVU6{3h3kd zgcP6p=Am!ui(vLRGJNWb`lSBYed*f=e;&F0_>LES;q;D;S^wSr2ovYow;$8`^dlF! znMw?y0p}kPzmwn(uXSUIl$?L2EGNphak`Y2!5^shkpS__d@rh z?o1rGFC`~)`KqD#hKFQl_~%rN$(vr`VH`aC7j82c2kAG0>%AQhWYw=4obB^h`0Bxb zJ@{Wu8O58d=I_lvemHB4Gco8(GesV+DXLhNUOoLHlexqTt*siCUA}5~_B3$(3;!J7 z#I(?yiAye?Gi6%lO*PnfL138!ZFqsD9#~%WmsgZS7v;cG4lMKdPDKnBjX@W%cz|WU zzc(#(5^Ew@Hv&tYBO~Y?0xX$~f3kV5f-}2LniQWmP<+6%DxjSMGQ}rsi;Ff$Kxp_4o_!*tsK}+`APslgtH=?bAQ-hd4^i|Z+_4O|;CC2Y`Ot^!(UZQ;vzKRV%FD`m{x;7V3zgl@@71y2 zck?^Sr=sO_PHT{QGpNTHRX@-3SyxK%_pXd!C+mdx9KU#;O||0Fby9u9<`;X2xv+WQ zd;C6J-LR_#K4kD~J(J>qe7z!W6L<`kbGBY^8s1(%0w;lFPBG8MSD($}r4oY`yqCB72+R6?Hw8$298Y2v_Ic-DOSV(3dA?QCCVvK#1! z@z1I-^u^E@!RL(iMKE>(Gz4{Wyu2s21vAzW83+L7Z1!IW5Y(b7( zXq=Owk%AbF5F;`){`osRF97Z);NA@V2)8cAM7Y)2SWf;{0-cti>pjD>gXaLx0iF-? zEP37zA9r%uXE2=G6Nt~?2=AXnwrP*KvCm9pT?s8FtY+) z(@T~Yvo~NI^ZJrizJVK(voobzOQ-EC$5U1%TeO$UoH>Ktc?Nqr5&WM-j&Hz5lpL2l zw`IAv%; zEU%{QPR1sk`%jn)H*wDf&KDWyTfz5W@I4nCeguxbj~tIM7NavS%6t}iuoPb3oIj_c zo^hy0cGe?1CC6%rIbF^eEM*MFdb2aPuNstnPyQ_5c4WeKWWsLBJPZCM>vvnc@S&`+ zPG4}7BgvBIDafgr$SHVd<}&1YGxBFU{P;1!bs*QrBG=h3;R_-! z@S9Y7kTdnb=0RpG6MVpmj@e7DJJ30n0;AxQeB1=A{pq19Hx?Kt0^{NsjFw&)C)X?D zVC(|Mpfe@77&m7$xI7 zk@qcpXBo16CfAc(>$$wf=Ua}PeT23JOI__h(uEAXC3FabPD{1 z7t|@RX{*i>Q@e(G`u!firQbZ69{tuky!#E_{g6Q6#UAzyl>m{lx9h=X_$p z(?IOKbdN)S>UpjmxtC90EWL`pO1F|O;-F84e(DS$=__UQM|y{o=Y{m4ukI1RhhXU* z=@(hLhbN|cutp|5r6S}H_0l~8_{E&`#Y108=*ws69geuZux3(qXh&m~akz+6)H&$V zqk@H7|Ay}Iiu2QPzt+|@fb+2!eY^vG8`y{_#)4a=_VVvq?ZgY z9v&Qvjv`+}9duZbG#nj2C0jPR{0-7iEFS~9VY%o)K8A%=mXE=pn+&ym3~_uoFphl& zmrpw&S^g@z!Z_NKz6&qReiC_D(1(vY3W)ijymX2u8T)g-1^A8!zLN{z2~p;xYfLa1 zAKn=B|NZ!8SVPF%kKaXl$Qb$}y-GMJP(Og*(uEwueL-Mf4_}kMQvmEUfhQ#ZUjyb% z$XxL?gC26mH7 zK>iGDJx^R8{FICDgUWki{qWEa?KzyqJ|5zq*=v~Cb_svi`F^vw^DdHxPVzkclg_aM z*fN3ZS-zDH9yoVu5Vmx7(G}AU{9v#tI)y!65GT{xiQzisDhQ6Df64T3!*Ek{9kTG= zi;zSAc=drFtR9qol3Yo$<&(fwxBqLtqJg0~MPJ2Ey(;sjM(V5WM>snvxGFRI2LV&` zvH!Y?jrsTo;(P-g=n`XqL*u`3q$xTnzd#%g3_gl@9IP)eMfZ+3MK$OT$;htkN#leXBYTcjGXR;AO0SXpC`f34Dj;|_?ZrVg2?vYpl=mf@Zb~3 z@2wwwjsA)ko^}O;UjxTQxu!a}YM}J_Y&Lio2~RWn=;Jlmg@Q@6|0K9tpWho-E&M$m zSKGkVGvMk?`~vT=UVG3nv};oU-#^!{@Dp^i-q^+di!lC;+f7>YbzDE=+Q_w-d2kZF zAY|!iB^eLtj$dFU_iK6o^->coaAf()T|VC(r8)f0_N{a=cM`n5e?VU-NXYRG=h@G1 z(a7Zd;sePh%O_eHQ#;3^pCIGYmu?Ce8{wtfRTL~(ojXvryJ$#b#a=XvhWd_GJH73yv*3Rx!Mm5T7VYtk{%Eh5HD(XxYpwD{!QruSB7S~o z^m_%tAn)vPVEn7ae>67YL0gC&QvF9Mul`tLN1uu)XVa5t%hn?s$(bnlmQns=*W};^ z%1);2H9Y?X9pfX`h^1$Q|Aw9+x)fZ3=R!Qv@o!Q1b|EK3hcl_Okvfm^ya_m735l^Dy>q zNZ)wL3~P1;@O9vasKpN_{P;LJIg8Or+acO+fo~f49&@B9@aLZA z0>CVNB1GTrNa7en`V^oY`3;Q8_KgJgV){@9+)n8n^oe}<*<0{G1n5J6K1|^|9r)A& zz*0)R8ep%X52ZR+4fvf_`O=C2dPV^MMgaeY>NKKbs7@pBZ?WKaM0KS&_}eKX_#MFS z2mXc_{0+c=A%8~vIFh?`sOXP8y+dpH-Ztpyuq!WEN}Ka(^FsIoM{^BzeoUQ1u0Sx4 zI>pqv5X_CN(W#F1WT;L)b!w=yi)ZN@(lrz-5x=$}J!1*7SbBzZ4CxxFT;tF&JjLGN zQ;g9D8G^*;PCpa^$le84e*o-#!9+I7Wzd2K9LH_NZ)u(_9JrJ_IVcv z&D?s;F~;dNWV9`>S+~f3)soe{eb)ixykyg>adP?<`DEi{WtcL(<{V?Sh1@X(^kXCI z7Tf7VIepN6*YW5F=>%$|>+_SFn!5=X%-(X&9{p&0+ z-@w|75Bi!#9|;ME#9S?ISW#VBz1wjE!I)+ERS zGUqHh#rv)#Vptq)JV($Q-j;vktH5mgGoGXU8%=t1CD&728@V>nKiQfeBPR;*DgRt| zWXBEME4bb%mb@6?JB?5IhT=4Sr}Abu0PS3y$%hq&NCu48c zQExK&N97|}ncqjYqjN~M`|li*JrSAn&#B1v{7^*%zsf{!C}UzK^N)3lMs$t>prr2SoXuKJp-5LEkiTFwci(ncHJd69RVSE-m z(*;kKbgh2if#=K5WWjT>wJzIhow9|$i}y_j9xw2e=b0kntgZEsTxV9-_Tj9FWSNM3 zB_~}2SQAML78BoX$y4uz?RJfmjXQgsL>HEu*X3*jn=v}HmhU0hWMIv4dKZy zza+L6rSe+Soeu8isXY8$eC-9w3vU(RZ3$&A#ODtEItt@{=>?4aGU_}$Re zKNIs$NM9&Lrn=D!*hBG)!wCbT`T}}`Vb4P;GWB7%+gAoJDZ!rCT1f)>!yV`gEy&*e zCcD|~FY`4aYnza@n~|IHYaMls2;PNUc^upbc;DW#}0$|I~_Fe_2H> z^0pRvyPA3dbOFgf@(dKo2U0>g!x}}rz7X!CFPLO(jCZsKvb1muJntR&_nWNophssM z1vUq={rAkjJ@9dVOjmdlJ}w=>(MLyM-dghh5U|GU2YXhj?D_hE)=T2`gEuK>{FS}n zZJz+)yMOyC zPqyT-^onwP7C%B3&%oB7#dyjdmu?|{fpiMR8fXn;7`laYidXxr?`|3UsgAG&nv{>J zjXDK+K%5wCJRCEXFNYYoR zSAp-mm)#zS_hHZn`FhUzFpxcVj0gEmdi6u!knbWFUE?ge#-%(fr*$QF=^G!QYw&EX zrwpMl@?S{Du>BWv_|EP4v#;f{ecK!9cMkf7Y*npc->y6Q#+B$A@@>mjEyq@!?n?1p zS)3hw0iIiqy}B6NRcqM8(KpKRZ;#zXYpb99vOf? zp&tJ>eu51#d)2nrWUuC6$Jb-8N^g+Q1D@SWKa>7}E|V>O{S^AaDSvNyZR;Pl@8wBk zOa(p#$ycv8R3unlKp)Ur!wklEvV0tIFgegcqz8FpaQyQ~Qxw$r1$yhY#g+~d^}V#= zD?kV66`#YN=U!vC?VR5w#rHAz9t)0s1un_=PVqR8)A4?yK z)7QrWgRKvZMTRNPAQ_m@!?RxlSJH?2`W$QUBU|>n<}A3fZ2mYpZ{hE~<}0{TJVrWx zmLA8jF8N&EWXWgo%+v6|;o$ZGY|qB-jIM{|vF`p0>`4f;7F_C57o-`nzGRNvW0`x+}-hp@*= zx`g!4R~f%4ly3w+@w@L@@C7aSHUi%&3%-JLen#=d&*F)VF@MFsAeZ8Gy{$3*BE^ zMTK^ZhKczt7NLjiMGsjEuT+diBD~W@J0&X<`;F0%9w5KP8u;aB#b&fqCf;u$dq034 z5*Azq|cOhzMq3&C<2*cFrE z26nBX1kl4MTT$#U?&Y&6j`=JO0lWMn20bV2$LA6kSJKeOXVLjNd=;~x%Qk4`2F6bM z^KIOvt33r>#QQ2PgtNw&ui|;?#OoXvg0&;&s}PKeCD*sg7|%6~=g)Zl3p&R~_}qr^ zJ6`AL&wn9(LwbkpzewS?2c2UqI>%yUbiD6EehbAhO23e9u?al^|9JIqbc=hSKgFm^ z$B_Kix&v_;z1CAZ3dqd`o?b_`YrRDBTI(f}*^1$S=k}7*TafX#|H78hPxj%bos{Xt zPZ?uJEbelNbS2>J>%W)@%<^AIw#no*Cu59HemzbzB;;gemA(9>GJqCA}2Rtv&%332sSu-s(g}_ zef5e!Y@Om-WY{L;nS2?4@n2i9G(U=`4d6+9bsRX7Ec*-oipAKBt?O+7N5bVe{2IwI z9Hsa|MS?@)`Y9R^84F*#YXyU=@tF>HU8qd zGPnd9yOuKYYuGxk)+oNhv&OuhyZU3#NxMI`{(#@a(jRKD`NZ#Er@Y3)E^m*A%4@Av zVhHoU#s~|ROfhIdI4*-|3p7ur`>0HmcQb6+_k=;cnUxK zK`|9t-#CJ=LNOKA`i2!#5nbQ73qL~^v1?Xb1$^Uil^z`R`c3Ev7DXw6l6Cq zM6NuBT-jUqr9$Zm3Fq{Lgly`Z7t2`_(-Ra6Ve1JEePnG*A3eb&<8yvj{)*_jM!dhm zj@gvIq61znKZOg}%Ya#W!X9Ea`|1Zw^FM-Ys* zju2ujos8vAY3KLo2l7jdV>3Q)K z*!1#CNN2F)JEbScC(+i2F9ycNWIi%h{s`#^UdtbmmQC67{1Fax3d?7yiY>@2-^=Ky{123gyJdU*E&RZ=X?<{UE#BQ5r^V^5pn#$il>Of#9_Yogo9=Tk#ZHySHq5{TjIH*QQ6-3s)BHgRApw zdj8&v=E2o3K8IZ&ji>mp`KT`JpBmDSe`+v&JztOP-#--{t0x(&{`^ylr})%o08Jw^ zpX!IEK}OrchR-wqhV%-KEUV6by;tN^Zm1+H^BH^8}_b0Y-Ke+X>H!EbT3)q~%)^C0d@GhLj=hvtQuXcWodF1w1zMnTZXK@<2e#r6J_R>mswes*EcO|s7 zvQIT(SVD8y9GrQA{5+lcX69;>(A7!49-U87O#Yx3$>&4f7IK%l>t~^-tS8=ls&Q8o zkmKD|JhC~79A}BjkL5`08b$sV7kkA{lOJm}`TvynZ<-@9xNne|w41zt8wRmf8@#bD*mn&R+SxwB6ECvs>b7v`^(p~gv9{IWw z$=wv~bN;#9S!=D_S+4VPXIb^m<<9!Fo}D{ut(7~gcfEVyyH>q(xwAg4x1F^O<)k7; z&w?{PSC?`ySoO~3&ib_8S@^P5Z^ZfaQu&)zZ%jY^W8PTxtlU|>;he>Mx9XkCo%QMW z?A%#vt=w6?>nV4Z>NQ!pv)ts)s*UB&%C~Z7DX*3xpH?(?)`&tow@?Z87IN~YON)K|R*pZ9 z$!y+ZLMc{`KWOwI=kt`1<1ge0ebU)vJ`Uvg(;UEcn*FZI&H4u8TR~pEnaq`0##^zT zyn2iH{pR%X&1uB@ey4bRbFL$;>pQHgCYi+MKQb?S%z&=nbN?r2TJTK|^YhEhJ=(d! z>8*HTs+n_;=Y7l__9AAy$^4(exEb;gYOl;;_{ACc1^$$bgXD)=18hy?nOj2+t-Hvv z!A$bGeydn@;~Ir)|IbMh)n$VX+kpCs>%Z?ZdWwv-Me5;a2A{9L9Xoc`fIs%;U^6_@|$77lXj}ODU zoq^EIljO}3eK;ADlZ=rwrzOn=-RQm3(eUMyYk8;Vz2t*)v+9p9jrZe=5zL=#)vZn4w0)}XY^`}&W%qj zFRk(*9*V>9`~1%3Y(x7p|HXegQ_r5)@q2p}*SZ~F!Zg2`qnu+MD_zy|IPc>!<_dd7 ztE!mS&v90K)t>KUT@8D5p5?gG2Q#qL)~4-KsV!j@=BgLM}c$a z+D>vV?Mauf?KJb@#8~oZJFb6}aqBK)>`zSLZxyDSv%$Lk7Y(cI;{2cESA@Ecb4I{% zmn(AO3!INe0y4k1dcOqFZx69hRrFP;Xj=F$R760`tkS`63r0yE)Ik*C3Yp7 zgyy@=P)l!^;)v!8mfrBhU^D6aT#2cl<_exdzSB|nt;<@6PN7`OcCO$g2YL5tH>vLS z!gINT>n87PM2ASK`*z_3@Mq&X?osC<-_E7*%Zqa2#+nCIl) zvGN6n$ftP{U(qY@U~IVz_@*C z$z6Gd4R`4Xs~w-_3x0+1e3|cR4tdC5I1JxfRE4X1PjtDdDJ^sXlz!K!EJ2)*k`M^L?e zmX1LFYxW;TaovBuVB$OAOM{zxEWR|Tx#MWh`FZ-3Q=-&m*)zW<$L$jMkL1(n#nHUO zN#7o|levogPPg=kF8*E#9frBz!2KKl&HT!eFD~aVYT-G`&pHGCl;31#YhSW-pc(Xu zT;Guj{$7AwDVJPb{ldYPwUX{y~-!r@a3b(p~sO!yRj2xOKb1#Jd;}g2K3R2 zF0{;%S|MF41>T}u>c?FvZQId@Qjwc?r-q6)#d5SC^G9>EAInMb?Z;>TGP%az^n{AG z5jXNfa#*&K2hGmW-b#-4{rIbyuSGB6V~}oe(4?N1qrHYW$sQNy8emImuG+X2UXOb} z1F!U7ytpHV$3VM(0{E!R15egFaHn@K#&BTcH^ASc~qf!|Ma;D3tW{&V2>gI{91wcq6|XOFJs&YZJy2L2bty;*>drIu?xc7F|b z{1Wm#yxZh2>uwEQ5vhH*w7X>KwC=!|vTieCTK8Rs^Y--j_KPA5_>HaqZf(Pe2xql* zqwl?2;vXEz<2O3WyMcxz=`@yq!G^PEZIX3n@0ls)6Z_m=ThEY=p?DOX*ZXJYX6KP& z&M$Jbl|!R{EKQ6wb4Si+yy6TMWwTCHL5xBj@0PA|4Aj1w7Jf@+6=<&vc^K+h_ZZK* z_Tp8pfj-KYv)4enS25+i)KzR&ctCQ+71+jOpnaVui2ePpX-JD~i^UEaXj5wqtXo@o zs8T2sqW*gJ{?v1|admtJ9*jR!Yg3vlLC!ePekqUkOR+u`@K5g*d$grG8V}vUoI1B( zs?UBe;%R!tL$@>c{=gm_!#O{Sw{g(dFnAb89x0uZx*nJe-%Y`%8sKkZi9L|-FwA=g z@z#xj-ut{-$eyFvq98uFVtlKIfLpQLUd3?7U~lXP_Q2J#*zY*l8~VT=ri|7k?Y&-| zz^?oTsl308Gu8Nex@^OTIR85Xzl)xWo!3A5{Sw8oM4v0@(+~ETND|LKr|jgprSrVJ zTg>(5C=*%EyKizQw(adl^Wc@PMUOr*-$aUyX%6K#R3)Z3(`LcPRG9QXIP)glWWG4z@}^rV zGdY{*`E{uS0!^zc2jlOXyKY70pU@{;2VFkleRRh_Q|f>feCJQ-tWARg6aEC;RXo3s ze)>LexH-f6e(Jc;V^`45ed}(jOyI2X+Cg8KV9-~e%V|wJR?E5R$c>}do9-&glnlCT z!jXE@EgPrvM$`SAv*F8Axn%DIh6W}aL$@6~^zsQu(Ql6d`%zayO06fgxX*a2Pz)>Tjj)NR3s-9Vx!}$7zpk4b3che845v zyV8V6&BZ&?O4>uSqh*{C&V5grnsR+*b;>s@OH!6smQucStx0*TB{b8;eJ%HV-JPLN zIEVU^TG|S5-PAs9_SCe6l{dAAXHRPX=IlWG)w5euYAg3rrYh~`%Dj~Mm90(QOB#8; zX~Ip&V(%r7gA>)STIaReSRgoEuE;{#Dg)LPv~^jmE$eTku88ExinN<5t>?YY$j#vp zbl{9US8P)D&}a2c{h3Q2s$zX;O}V+UYQl=j05CiTOxE}Kel6F0a6jL|lQUAnH?7}m zotAvEe$#dh-*ALX%Kbj`Tps;yFEZ(+^y8kb*vH)e1iiT!|4oNYMBgW$ez*FSptIq* z4}}iYC&85|`k-H;i7V;b5okfU()fQJn2$kog8L{mw<7J1$`7C!jl=uUNo&gOl}AJi z(BKjJUQM5lLVq7XCwAX{3=TvWE5Pad&`N+lc0w2G>l*%6^~8WnL~nv~>YniI(mm5= z+jw69EnEXkCBS3jdjxd#e9A57@O^6x-!GJy6bHCa{{r-D1h9_;?f|gXrYxvz9d`@# zQ&U-!a+5Xg8gIcOI^CjikKx>+JMdl1xLUvC@Ll3J5n}5joOj*Dp1w#u*E_}Vl@8*Y zxlb&CCvk2056%UL$B6%uyQA3y-w(%r`}iG-{r2+P&-rtI+M5vh*p(PL@e^#q$4vKw z#ONiXo9Vo;$DPT|hh52Sf5CQbawRvPT7gUj-^q;!9z3-o)Xjkx5uN9za|KoIG~;z@ zE&h7`t~2X8UD<7mUDrQagH9{|+F@j5fP7(B8dt?(+R~n*ElcJX9;RG+!+{4+mWDpj z??bdL_#5kM3cb8P&3UyABTafMI6lN!8|GanxG7}}MenEY*LOMNkH0rTgM!7t*VG3; z_Zr%I!sJZ|n-LQn@WA$_aOFPkjwbTF!^>LXVWw#jx^3!!ra}G*PcSB7?!~-c1CLr{ z@eF6go*VMN_!+zCoNz_L)?9T)!oVe3Y=Cd*cL?6_e}G@G2}hEDf^8S?KBA9)>p8n^ z%aYp*-&%d(!DydvxA5^g&zzN=e)|4U_Y?H%Fgk|%eHZpkrze?nfYuVi(do!2xUev>+2-=Mq+e(<0^x6;>+oF~#6xXlwaeR0bHVv7oG>ulnuhE-sNZ+x${(<77(Q&w?Hf>m{FSoLn8$2`}-I4z>TM>*q8 z@k)xTRX$YZEKx3%R%3j!iCV$O33PSk+138@Cfe&%pUt3(-A+@#oxX>iiOr1-p`x|z z=$Um33iE)=(3b@IzE$hG#Dlukiarz2eCZ zp%ZD}x#G6eckSb^CI4Y3eQzPwE`I;sVagU$c1tX-yDz*?^Im>jokyy*Mx96cfpYpQ zmp(SS&W<}XCG-jUwq=t^*Be874&dyF)7@J7=x#MnN7r>1a8{*aMZB!}6VFpUgJ>Z=DH`rpyEr2jQgPx_v8yhEHLAl>c-;s+M(@BQDM*ZY6hPkaA2|IPpY zGxo?5=7;PN#lFScBQvot6bsjk&aFH=4g8k9Q9zux?2)B0dt?Ll$V}`HuWS=D@yvPon=$R?33aua2xcdl4>bERyNo3TNncF3d&vPo)V_Q(!op!8AMDt{a@X@c~{ z9WlE^_KAEqvQ1=b$R3gX@isPz?3Ad!;Eve#N{yvQxFd}hKbI!G^l_eLr^s%x{)P=A zyF|aYY>ny?jp!1^{4PeWZb7~}xHobSa6g0|;6fj0LJwHOUHYeV?Iy0f(6Ob9-i-eG zU3BbPblESWk6vc!rPo(JmR4K&K-#U9(tWp}o4!Q-2hfvCC)8Gskj~2c`+!rraue4U z+PF#ZBm1jpvxN3mfQ!fYj_jF6@UudHFLlLiEN5gzIBJjVz#i!UR$D)w1RNt`aL687 zGj2Y*agAk*Sh{h_!pc(cARXD(jb#T4*Vgmem@bC?5pRzKz=Q0OJo<9aVH1&Ea?T#v zihV+#WRIxN3DA;oC3{46h;Su(P~T*SETF#{clA?t$d`awc8K(P*&zXReAyvu=)3HY zsL*ZmaVe~&#f|NpT)a%|Ow?UDcB?|-j7a%N@!_Q-MG|4+6@ z9ultl*dyQNU0-|TY5Ey&k8I=lf3iI?hP<4zNgNJ`WrN5zkzFFYRJKU~y_>VF+hmjU zckTsigy-xLbSdV9sm_hFM>?=aT%k}Ae5EK*7cQKSJrckkDL{|N3-pe)JcLeOhK?#7 zTl#ewZEe9GsYQo>5uH4M-jm1vlz4kYb(GgB-X3X<*&}(Jtr4&D%O0trtZWa#sya5T z@%G4K`l>UxWshk8qiv6P&;hkp$6g3*5l^%H&$35k2LxjFh`*OTlH8ovjxE*@Dso|q zg@8+aSw!F4wSOiqzt%DA1sCwN#QN@{&AZUKO3<5*(D#?fBhsQhE^&FuWn(CJmTixO zsndk6C3~cuTqW^3)Dgt#{^o94oYLD2uTT36^t*qP9leP&G-P{d&r4K)Pg9=t z^Yr&IvE2AtV>^it>*S90S@!t#rG?I!=jX;Zj+9^rHfTHc!sYDo-2$Ij&m~)=#Tm6j zWP`{Sk$v^I?2zybzQJ0BeO5wW`>8)0s&er6j!CTq<^>m}o(YvYkJ#x#ZBKSeh>TV~R~&AlSFCUSPKBce5u zkGMOy|9Fd;nL6D>E_dZm_&(2PN}UnK>D|Zslv0y^pZU^+hp{`(ptF99_w^+veFe{5 z=xh&D=5^MiuQXRoxDI=wYTYfBD|qKaP7HMUCmi4`ZP_rl-o2vo8vTvmvR9f|Be~o640w1y~+PU_|Yzx^HhU@QW7@LVGRG*W>$dmU>Z-x0r9R$5T?)EXt^(UPAi~(Ebc` zYx;S|kOcbcq5nSUzcj~CIc*5TMFi!qI-#YZeWBBtM(D``2{4GahegRu> zav6CTQ@u}~I($&4ZlSHgXP4#;287??U4DEwGIvmC%^euzKN+^>4k$a0TkC>sKL+52r(suTdsRCaYfJvDf2=i_9W%$xb z-(Cw2A4K1Nlzr1G#h(slPsEiWVwdE;__yoWleAX3b$`B|F+hy|u!DY~mOOrEPV4ee zs2sV{zWE`H0~F%`utj`c0xWE=XETp|Yy8ArE~DJzFZ>`+zIB$pY~&rXpN+i3F24ZG zEBHa)bA;I58@%epqwwNu@ZzUn23Zdz8(zrTB(g@SU=;a2|17-df)`(c53-+*U~}>R zw~5a`i4UFxKAZsG2qsUSPiQ0lZw~b}e*WFOdg>Wt|Droozi=l!5Nxo_;b`olj>C!f zYr_`Q#X{wGL_+1RhWel%{x{PO@;x2zzieFKf^G#bgvZBTSeN%UyhxlkNS-rz_a^2H z@NG*RR|U@szl2Bs56=lM%77QLAI>BA^W*zi<>&sA^TfS^{xRu#FV})m1fPiSUoc7s zzJG~XzTEpifA8hqf7js4z5m_6QlIg=_(~i<+wnybTO{8oBd8>f;M2G>f=O(VW~@#$ycyZ_xvcU0Dg+swTPElR}B5l5)pppL?W zBh*u{v+dItKfd7T-hBBnFz#i(eCjSZ`m=ob72sZ}`;mmY*Cy3HLY_{>qCK%i)Lk(1 zaMJ$`!X2%S76++~&GleNq3P|c zhMGU(JAMjW=+CIFc^6;u%3<|2r@%sQgQXQQDS|6^g8K#gXV|Dz<7dbB{oBFuHf2Z_kpXqFYk}z+X0v3Tk`%{_?EKm zd4tRFZPn$mG4)_p(XR-YuQsAGK7xkhKTPC{d&>u;3APp5h3@nux;j26rjxrxN_J z@6bm{Y>e$&_2aV~3{I;DC&uUx9RAFK#l{Gx+(mz=zz>PIS<09AkmdNIrOxu6 z#5zlQKgQt4=x_Q%dnU9?OoFVRFLBDUACdTgR~S`wDQa_X#?8! zM_h|PdbgEs$J$&8%j|sFijRTkzvek~SmR^CCK6NFh7HZ&C~-3O_kDk9y!;t(`ZI4c zR`|mH>Ye@6y1$gaT71rS>`VbTTm04HZytiJt^h}WNdIE{trO!-0$}asJXjFR zq3y4ZY@l{Ja|6`Lc`KsH%mEx-&NxJx|9UR-h!s4s;JAxy|I7g0<*qPH4`QCuz z_sB24Yw=r8CGE%h+8KR-d*Z9Umvr$<|Cporr9W^Kj1b@T*NBxFK+LBi=3ioBzP$S0 z8i|Sd8rZv^q=C0b5!0fYzm3l@vrqQb{t=@G{ygg!#Kzb$`8fl(Wxb^Fy!ftf7%@xx zqaD%d#AEoc@sF4x*VI8`1o~YwX2f)TKaSBW<=p9r{_g4Mrv zZTqUl$Ni`Hs#oCOIsz|Z91ns4z6|yj{4H4g=ew$>{bE-=u`pHms_&cTh|QWNKIt(T z^J{J-&SWM&TZ!e!2D6XCXZ=0m@g+7wo*kU^&6*itQ1RXN<5`JKx&A9=pMr_zbvcx& zC~IbQ=5-P)e|<0)-?byF5+CmM66245^$z^D4&J|$y2X9gRntcC-qE~Q-Z@HQ|M3kg z-dDhTri1?l+YX*>_Q~d&sm<#o7TlPad7Z=Z-Bwt>+vSW|zDd97fEMvx7eITW@A~_^ zQ+(I65_oYBby=Lm3-M83Z}DQ3#S5W58(z#9u~_rs7x2cBbzjX$ix+(@UgW?F171wG zcrgQBWRq_&GBhffqxmrye%QRI;AuZ95ZE_t0>;JX-v0vw#?koARr{lY|aeglSVj|XmpS?|OANC+{ulS0q zz~zEv+u5r$l^?qf3~bQnJLxYA*h96FJ~`Qs?O^}ZTFck{&I{2z!KC76u26>V@5O&7 z_+0$Vit_x<>?D777CyB;DgD`3C)WuVZxGuO_JM{@~pE_={g$eBx8^iHqNS20lvh zn~QH;{M_Ojp8#$bzxe+rDv$9r>u`p_-2K6>_4O;xXy?FRX2tKtedGF^`sgtW?-Bow*A_P{%i4Z ziw`@|&n-Ugqxh_k)vNPs?gjtWC;D#VF&uJlIrlz~Py6x3;MyvQ+qibia{Rr5{k}t* zl&eZUpI=*i+H-mCztXQQ-$aOB)Z*`r;P0(~{$#)QSke;x+Owha64t$T%XF@52mST> zweQYRv&EM!F&pCFwtd=d__)Q-t-wJiv4i5@PK>XX?>sZ{@k-nV>#F67e_Q;#K5Ve~ zdJoW_3^J@3iv%CHvx1lc)-rLhPEs9sRKEQT;d|110OH@4xoVlCeh1&D__t-gHU#c1 zzz4d*inZQJys<;R`%Ln0r;4?o+{p zo3C5;vao&K{~7Ti>d*X1d`TjHmbemo|7VHUmN;#RFZozvw3#dWy}f=7_}N~+CXEmCvOoG@4SMey@A7Jhyb{QR91`1u^Txi|d$eem;J*l>w0$p&jnY{`Eue(v}G z8~hyk4E!uOVtEqoY)in;;yV@GEIwKre-?nBUj;k&2Qv$fz6s2H1K9Z$@N#?&k_T%f zM!OjdD!%4AaPx){bG5Hoe5(?RE#n9IhEtCjs)*ebto%9f^H;#nf9H&i6a4%!G9~!= zL5_l->r&7W$In-FUx|(Z79BTdJO~|2EIOKqZT^-;2lEwwAv*pu@bgEEFFy-EZ(r0q ze*QW4;`sTREvHy->LzeQK~GG`gFP`JuY4mBKR>AP^Zy|2uMt0sUfB3~G4vPl|D}EN87yMjk;b-v~+xR&`+e`Zkem+jT@B5B;?DI76vcx^x z_*uT+OT^Eze!PvJci1t?7JgR5C_h8L_H-yjjPg8e6;70jY(T*vp1;a%udWyp{^S%O3nJWp;u?+lWz4#?LXwHLcG?;6u#jLwp?-7k&G3|K(=k1s6*9uWL2`-#=2SV!g4e2C-ch`;i(zTM_S9kdD$daL)Ji=S<5q49G~C>U6;|oBBw06dU9%b!tycxnf=GZkf%yIw4)%#?SDvVYy&-u1U}eay_qTAf$As*0 z(X+1w`$))M7Y6%BNDO;gcC2aMuOFG|a>bg~%!tlZD%KQu$j$tKdjMtTl%TJHibu^= zp;hKYm2SSG+$Q@f4Cu;OX|BPad-3c2?=5^NyKg6Q>Esw;tlQ-*33Q4cl2*#vse6>u z^rH*j%+;pkm%N|K$NHb-3;P)#T`6BlMyR|)xx;>ZxF<4N%)^uyv&uW+EDpr1_fAwU zvlJcMLw)`Dd9PGvX|q+w$YBKZC%)Glvg1~%P3FQxsvi^ z|3vwYx{~W5Yb)^6yTgOm80EDY5pxjv99BN@=R2%?gV!46_8u*RnLm>8=6$o(Ir(P$s=N0v)tkF|~>=q-J z_V`uCvPH5CHgT0*$FLm_Vw|NLlvk3e4wF8HbYg$a0P^!hZcE;2+F=Lj_mS>U4zmnd zxi5DW`G*A7lm0!@Sx4V2MK)&UHj{sFU>WI)NiU;5qjFc~i9E2tN)rb8<50g%Nn;%2Zdk+uldm^VLZwG0t6KH+}Et%xm zowF)$J!#S(ohHwQoaVe`T(8VonRg?$;|A(f8hv=W*2WyG3}L049Otmz%) z2xkUkO$)frEsZtZ!F9&iSkovYlZ|gVlv0-LiBrk{E%w9M$2!f|IlSfxl@tD{;WB3!PIHps3}5BwYpzt8 z;X4h7xs~?apj0^9(Kqa-jv;9Nkar$ZX=a%E`>0!oN@G8V%<$6>JNs@$2izR*LXOg) z;Vkd0SKjbjMvked^J?z7`0j_bkDJ~wa>93TT@+DGyLqlKrkYBW(Ns;^;E>TYpR`@% zEs7aUh04)%Ql5)AnpSfh9#T#7IF?4Z$FU^jXsY5^9CI`|c&_g;9t+bnZH93`-_Y^kxv)0>4^@uS?_n61%AV<^gGPv5Z58DLtKX(rc0@poqqMQ zBcxt7YSqiaBR6%Bx}?D;2X$$1xlIrJ^1?eGvSCoS4p*A#pne^+w+lYX{-sif;na01 zb#0~I=?^*j?xhYV;Ae^3YqlG1b0xA?2VZwV$1!+|Pg?U-cq?=WZ*9H`kJ~N&ro%5c zJah}s;H^`53GWQyJA5|as{tP!w1ESjJK(WP+5+DDXb(--J+}wbputfKE!5cweUmNP zx}e7u68hYxG5z*n7d$40B1h=grtN4|Oh~Eo3i=wS03opY{;m zzX#oq;a{9$u+I#1FLb9N{|<8qd3QnIa>|_|ZOwOp8~Atew`EZ14a1`@f5oBQ{G0iU ze%QJq^5BIoz9T4iLysG}MHi%<*qfj{1G-Jkhj<%1pw$6Sq+Nv<>Ci9j=%RfL+Ddd; z+Oibd+|cIr$K|sf8a(&h9(<1DqqLO+J~SF$Y$JUc^*sSS!ly>)koFaNuvO-8=)Q|O zF5vtCdD1wa%zq1cMejsztFf1Sf2!$ctfXaD=oa49LvIKFcK$ZaVjD7{SGOBvPu(uGf!G9tb`cqzOuKk=n_yq5ujq^yIvQyQu_4kMU&{ZSe-z(iT%_x93QgHhC4^i;f-P+HN?-Px=1 ziu%Ea&N;zm?$6C`Hjjek)^lI>I^U4poLAT%{?VpFJD82~hiELif%_}7SLO|3PmCe? zs=PosT4ir;;hllJ90i*@c+RC;*k z(CxtjL&6^AKFU4*;)`WS`G3HQjYElE04WD zq>MLy3r$xkUsU)Z7{h=r7j)ghd!=u!45=LHdkX0@ywJ6rbg@y-pbIYO5uFu0(nY$^ zQ-JI{ply|Mn+5z`(By`;UECMFaYB;=`ecv6vSyma={CZb?^)O z<-Jf{z7U#?Hh2S%JWD5(mvVG%llP&g7bcW@(K$!#_MnvGTspD*1jnZ-%XJW1E=(-n z&AFpf%16JKPAb>+J}2#gjid~|&DVVGx76KN*5hEUuYki5dFwuWGGi7V`r$IiRhn-a zqcQgC8F#HzZ^~Fp_SO_0_JfCYAIu3#8TRvq`uTo6&nND4DfaOlo|AsTtsGI0iu1mM z`bgg(b#uZ0S2#-FC^)O0G2Aik3oS9yYr(y$v`XZ`L>|nL%dwsP7<**l2<0OqZw^5w z9IWLy7&#cPoZU}Za$w&tr0$N4(6fUxR%{-REZO&MIk9P!F{*rDXt-Jh8`g7g1u+odf>sB1 zYz2EKY3v1mA8nW)OvfJ4Cmk4UI9i+W^$I4QOMVx2b}o5c&2pR{lzyh3`%dg^75AOk z-zx44zN_NC^e>g%*Y=n8s-R5dxOFgjrQaMZ@5L4mCa>Uy0`dx85WTH{CO0&BXe*J6 z0%$6PjtbZEC)PR@u`*9hn9tn+o8w^`?HoNu$v zw{ae`&SRV(w9XH5-f5k8a(>RD`5ZJ8e=Ib=^NR5cL-a-4OruAaWZWS7;?BOEcIUny z8-_lL9TQm-oZ|?^?V8wjeO+r^-*bB~!u_^O`r2c^{gzJJ_FH6HzX!S1??Fa;-h)i( zavh(3n{~a-x{g`b2d(Q)>-ya7!H{JO`z>{S%7(w9 zX}Gctzl;X>FE&H4YYz?ZUDpx5>pH{t__Z9N5x&Q-q(3_w0Ep{lEh7;(XSw+|bY% zJf+w_i*w{I?B2I9DDzHf3+D!l(%h!(2|Vy%L>6otMKWFEI*6y zV-^1m`%VSh_Z_D%ci|&&hnx2;2+qYmH}9JtoZCJU* z++f!e2Q(hG` zIhoU|+DE?uZSw94i=K;B#+#F&rv!SW4TZLIw4cNs-NHPl@63erUC@&ItwFOE5`)?S zO+us4Ek3{-IHnt+^Z(6Zm~TR#_|9<*MW1W9H@KBHezxJB;AUxi{AbTMED4t2tCPK} zf7QU5YB<7!_cv1a>w|;$ zFXT9qV?*$1+G_CrySXk1GG>eJPCG0-O1R%_T43}y+pfe-@HkE zRyUpqHo8r7J~(w3bz%*Io_ejOUM zKSdXwMGrRVcFqcKW&BlYcy&Af?BJZ>(~J)%?`sH7r=5Sn7}1yRGY1*{bUSY~`h+L% zyPJ0M>2^L#J5S!XNMB1kH^2vZR^O+c=wQOP?Yo!jOx@0vDyyemrJZ;2-pkwB*BG|i z+2nWvUv6SMPqx~5{{EA}JK*PDc+rJ@l6H15ww88&!)|Bhp*5f3?cn_jtakoJ@M*@Z z_?8yqpJr(Kil!QRizvxt1rt_kmxchs?$ zv+T1>J027}Fdcn=*XanynD>>o6&tXN^Rb-EwTXUuk-eF;|C)~~&QHU(chJ^sw-%Q6 zKSi6*b~wyQduHe;&SqjD|(QtcE*+X2YGqG-PBox}Di@Ur^ds_9e~1MqG=%*t@qO_;29c zYZ~qkZbn9=%^R@=Tk)gs-FtU%y(J@~92s0M*4H8_NVR{6jgGP+phIYo0;hWL{x2e)luTiSNM4p!dL; zU?zS<_Sz1MuWb`DvXs`5SizrpojYhU%aEhvH4 zPtq2O2I- ze|z>W2)@bM*f+wzl5{Wp^J@NyE#0&CF6h5xOZV*khQ79KsXS}j#J3&&!>{dqfa?sc zWBr|(Trbhr!oTNv?`yg|?rZ*0F732~{LgVz@RvT)%z%Fi{>gks2K?*7W_9jA9XzdV zsTUnnrmWl0$Z@No!fo))5C7WWn;-tQVN3n+uMJ!3hkpgww(;s(ZA-6YJBQJJ4UJvs zS%$fqxuVn5fi+BW)=-brJ?(fJU#ZW;e$sC7_M*;F-Dc?9AZ%v^du{#zJri3zsj*Yr z;#%6;q&#e3&H~Cad+6%6Y_ZT0ufNn+(?EGr@15+AF5eB7qLb2Zi*ACw(BZgkmOfjs zi0GTxX6ds{?5yA}(bF{a?YGFqulc{oKONhfiR~2(;zKSbAQu_f-V@5F_b1K5_U2%F zi@`)A7tRajVtYO59x#cg@c{c8i(C}zKGxG1=DNd3=XyT2mHV{gM0jIghq<2V$O#YA zwl|~k0D3o!K6aRXKBF$|YUo$mHmuym@yX2LpKovzhbup9pTuaGUMS zO}uu2{tX+m?jdjAcGBK3vdwl$ly@I0(Ec*=awQWwPZu6;|+@Io3 zHz#0!x6sb)pPMt0cHTlew@}|z``-nh;b-IB$?uYK>*#OaP1VLuxE5ep(luacm~CQcOL2laq(z%GU4I_N9NffviYBevvo~u?5n{3bv9y zR{Bu8|GklWH(@7k;3)mJ?z8_#_4y29R`>qC;{2vxRG*i=c{DPT!~bK>O>9FJwjtfJ z4GW~t#WvhZ8%Uqq2iwpO+pur%!r(#rT(J#l>1p&CX;z=xC%jMhk!d}+Y~S8R^a0$b ztrj8+@~m8Uqw6!7n}2=py{_PNiZ zbJFK7+umaQa;Q;mpIw`&{XJrOz!9+l}6r?7x$-m>e5)pIah*u7%44ZwoH_ z2%Z(d-?!nJ3GZHlZyz{9=MVCKk$(W54TooC@J!;tLekH|Gr_XDpM__m;hA8KU(?Ty zf@dewF5wihr+an37{{`2K+|5`&w?-D*<|XUh*L%pbMTtRG4Xy@#w@Sxy$_ycG{*Z` zZ&E+&)BUUTvyIr}PVi)6KP&y4^s|$}vLX7}40y)=5pnJ}@>pl7ZwR|9bO~k1PE8+t`p>yqH# zOl?PB=e;(56+5c&E9>5A{K`?}tn1FMpwA5-;eQu=JDI@|Oq=-$dPM*7bL?mrX=jOB z>B6@9NI!!e^^#sDaWDH9>A7Uz!9hXMGl_qZ{@-iqn^&+cvf~xKLw3BDzIpfG8}!o8 z${0u5SnTNA@K);^{Cxuc9zxfC#{Y=~ohya6WeGaxg$7&aM!{Rbrw7rw>*1}}!nVTO zL~JX(-2-oIEGxX7guSz`g||Y(YuZj-!Z0?L4Wpya^IrQp&RcIIYd^tT@>9NG?pkD3 zc-h4usTNG@&0r1%yn7lxc3Bt(+^aE+k~IDq@V1jbc*X3}7)F^T@K$hdnT26G>7zt1 zJL#K5FFWy#iC%Wnr-@#6(nt9%3?uTM+(+5^8HR?Fw7;~0j58OYPu-S&HlR=4=u>PQ%?mEmPp_G7>E|TMOQ$^XM?}z3kvDWSoJ@n%_o;Jn z{gl2=#;x6qS#N`1JLBWlgEDTFG3+hempqG+QyC{s_c_7~U$DlY=&R_n^noYAPA@V( z_mby6u#(^;(Q(mV!A9c$lJV(S^mr7Ga zw=F%N>A1Q_&)@6O^DJ{S`YPjBAHJ)zTFA33fLZ_;DgQNc|j7Y#!>#`Sy?c0tCn zoAy7*akzz-uGM(SPdj{@c0y>Q-)7vJNBhY5b|&Z7%D9$epkZ-v1UxQ<$8mkn(qma$ z->-wmH^O7l*?&XdZ-U30F4OluJ!4tnao1<)yU_BQ_65ZC{WWZ2>WucgrUu%+*! z_gdc>`}OGiflurE_u;YV`&r{EGnKwif@jkAmcZjTEPa2Qc*cCO9FqPR zeGg$vWxN~O{{Y9~*0?t{CY3#2ZJ*&(XjyZGaqnd0W72`sJvwipip!&J7_W$vR&GFZ|$KTjy;$WZbK1p}g^6={odY#=S%6Z_(?6jCr@=hd(Iu z4I}Yg)uYog-yri0qOUUE6+cq5jE%4l4d|=Wk=|O*m`27uGS47mrnMYJpJm*ml(Tga z{%2=Mz4_L$b`JP8 z_c}sr%?#p^O;tQFhi^01IEn}Ud+0G!Vwqcver7tc%;!iy#B=Wc#626PIUpEoI>EC; zm$?S~mNLKokaIwJRjb*Dc;}tuGl^B0PdTITC1!H(W%71~9w(+aEj)TzcHgehlV+3A z2Y%$4+j+joHL}msM#;dNz*Bca$Mw#Vf$gCmneS89)x=Kk;rS}^v{SDqjDF!SKkORt z4)+$($86wO!n*$LbW)8<|9C!N2q;ydPG6&mNOSY;kxn%#F3_kRiwnMC=| zgFU_p56)AcE|nkt4@X+~+g0B;JHQ3ElJDD&0pS40$KlypaO($^|6q1=E#sscGh56u z|xIEzSYv6zVavveoQ%-WYfx^Ko-XMrhn^_)^{gL)7uUp_yyVTd7-Vg!l>S zb`|fH81KQZfAwm-&c!>sTY}9OZ5#PHR=>_swBzC1y?K ze3P`Z&JlsKoFC*ZqnwWH$MXgdmw%49vbC9ynP0}HkL7y=ucKt(&I}`Ko8wwy&V~g( zAYSb(v19A{tTQig-obm85vSHdJqKqRS$!yXG~W`O;)p#QHwsz@D>d%ds!w=+-`2bX zq#q`KP40K{hFjkhoFdlk`iHao#(2-SNqdfXwgr?Y@oB|epK^{2MB&9voR1*Ruh?(ll9MXv7ZyEg9x@-mDVl*x?OpC|t& zLg2|AX9hdEze}i42V3n+vzo4Mz2a-&JmND|ydWtTjvd-r|kSb;Q=Y z!&A|NBF3&G`PM>sJ)CbV-iN0{BdYv4^k*N>39a6&R&76?Lk33jJ;iYNd_8e6A3*o} z@OvuPKh610p48u+)nYEpdIW6RCoJDzjOJU54`}m|Vo$4%t>jGLQP`HjTpj35rDlo*^6 z;va_+Z&OCBO%ZW6#l+YQE>vUOv-vLK{#esBb7M_UqmQrAo*U8Wr$Z~uyy{p}B{t~S z=$7y6v8D=Sq0)Jc*>8HR>1$xT5Z7r-V@+;&TTEMd?};^Kz!Zsu?=R`Da^!yYw%%A8mlc|4>!n1g$eXGfy12f^QuP@dS4-5iOX4*PlE&BS@G zzy^*s2AB&S_*wpa0NIXZt6v87)npPTx;sZ2A%vjJjE-_MGge_Qz@^J?y`Hu8yYHp2s$ z(-wK|Bu{qb542smab2iY0hyy~dHN7UH??Pf+Rv2@wUbawb0^zpuMHg%ia=Mi%f_Uviu=EQCk{Rp4Z6QT02 z8ChmK-||htPc)VHoWLf1gX7)IuSos;y!Qi@Y5sfGkIk|tL*+j}c26Vo7toLM&YJ`B zUDKP{QNDlj2L{dQe{Wglqh=-L2l%e&ANkifvdsU;{ZZaOkWX~zrtFIH>nZ=+eb?k= za1=c;b6fM~@a$RI@@qLi&Kra-ho z)Bh9wd7JYVo=-Qf3X5J%rk}nFJ0$Y&rmaq>%&>#+fn&V$b#(uG@Jn!m=%n;br*a?3 zYv6d8>uT=tUCV%>#LT{dEi8MIcsh77ia6a`hYF7+9(QfU_sm;}yPd>%`{s4*K?7zf ze?pb7tXOH@@FP`TUD0fg$TrH48Ln_yzY5}ERCs89MR`&Git+$9e8f7j!%p*#%r%<- zr-@M>`a}gW(Jpf@_Ua6DKLXFL`;mNy=L*lEUi0Zo-s3y7p-)l##jf@D10G_=fAr%fImwUvwPzv#%F;(vGJZ4W7K8akIo+ z-uL^e^UEJ*O~eFk7uV%6GT*2Zu!Ga~|{G9Gxd=W4-6)9&sk? zo(|m@tzUOlbgral$J6DR<*Gbde=aY2)ORVZK07~p^nyn}OP+)Ek*lIdKkm8SRv+sV zJ$hG9{&V$_YokY93D@UxqDS)+ug67?_Di_F=ep?8V?E^^tXHF>M_*02j@=SH`eD!Y zx%zBp^yuk?>yd+_M>BfLJ6NAREPC{$=lmqTo78-WQNHrp*XQaFW=4;O60W6w{k`%{ z^0xYOxzSgut@F-nqD~jR#du4qdyD{qIdt`ln z&*-R=@00cUx|^fy(JSYaPpqcjO0WH!sFQD;J4sia8PT@Ap7?p>OVJST)#>W0Xo&af zbLtu5z47$2Xo&a5(~F`Z-Ye(z$bvdo7!C1meQ#S@G~)Nh&qof3;$w=RNBTwSALHlK zGopUG-04H2e!JXl1yR3MuA0s{WmdpbU2e=3^`G;ce@3YnW7fB)ol4yx?_c>aG0#ac zy>qJ76LRl7V?=cKMa9@f*12`DKWV1Hx@YV)!S}JI%I7=XhQeSo<4fY!8>d>a$db3V zK)smhXN?EOh!gk|ch!C3ruBK_iD^E@aoJS0m^kmii65@dJFHxH#s(6@m5^_cl~3{< z`;r=S%&87EXQ*6x&)jv*d2>xQrkHxIXPhMQUc0H!1jayZ>1uW{Sa`jUbdEZmF;ORL z6BmPx*JqHhv*u zA8{4Fm0+m+xYHHza6AE)nHc2z6UMWW)_@&e;8HV)?+be>)QpQkwYX!cYZmcyImfua z=dS!&rzji8Yiodi8gf?6G34Gkwv2g?I*#KFPorussEN3ikF7#h1{vPQcI7o=#CU9E zJiLLjqTVQBj4G`TzDz+=as*{Ul@EngSm2f9v^7R=S}N* z`mvPHBQyH>e!V=8jOh3G@8x-9ML(b4%k%if^z+2grhGp#qMtA9<#}X9KVRC*^T>>T zepoNhBP06xk-a?6-i7-4F}*xbyUO$JLAmd4EQa?^{;$x7SE2u}^Zk4~_az2i)>rX^ z3qlP=LFo&{W=MWFe=Tb%?8WQ&J<#t!5&lJqeU@+fs~h~m0?-bUM_FqW_OU1MA)L4SeJ+AF@-zzn$-NHZYeZefx3x{%7g?rEF~4?7}axuMVkv0K2Lzbh`J{iMnJ99Xb81dKIG=QisFTXB9Rmvp~&WMOofzi8b_gujY6X zn>UE_;~e=`Gq9>ijX8`BytPQpKJN5yX~(u5hPS)dt@`miY?~L`wFBEGaRM^Gwi+8I zw#|#}+JSBJabKrn!^F0Ev0Xc`Z9eYnbZnT|HZQho2e!?}eVvXC6Wiv+cJ08n`M9ss zv0-h>vU|G*fuY=YX`Q? z$9_jNipOl+GM+qDDR=HtFj$A*DJXM3?- zJFsm&?(1}HnAkQiwrdBr&BuM6jtyHrfOV2k1ry_NGAa;D3{{`FSQ-N>9S2OHR1Ijnyj zF9$o=TRFp#Ib9C6u(xtDkq4d zdAU~{oP%E1b5DHa&HP!<`oK_R>vifEKn{mt!`2$k15=O}u`A=r?_mzcr!rc-+|%#C z&TOR~9@d0)Q-0d}@?ERPY{%a1z~0H&aUb@s-LiK@*gKE%BDdaFe9KW;yY-@C-vjIj zb~#++R^_aHG`kUbmU=BS9F0;p!-{Wr^Ik7?JfDHw@53(d z!A=jABQ%w9lz6(~*vK8MdCvEB=Y=NQPP(gAw1u*EC{K3_=UuDCPI|PRJkCB1$E($t z9k;2)&sJZulRFG|V|z4iCq2Ah?4*}6SrZ^kS=vr|EITQ7RHs{Z(qq|4v76V@JSawqEs7|-+q{p(8Vn=nlV7&_3!?KfNM|HYoCq39fv6Es)b-HCIJ%yxW zC&iBHbjwb9EITQ7RHs{Z(qq|4v76V@JSawqEs7|-+q+mR;lVV48 zI(G8N&Dc-up2aruz3+???4-oob%Fl|VJDHNoOi*0Vkbo(Oxis| z`Lvx}!%^&{$W;V8xeUxFc2Z#{1p|)9PIjntZ727j6T2ykb<3jC#%aj47hBndOs__# zY&*FJJ1OtkL0KY;Zt{rSi{6Qy6usMxo$Rd~+fMGmPWD!g*hyUucCxo}Y&*FJJK0+~ zVkdPu*va0?vF+p@>|}4{h@I5sU?+Pk$F`Guu#>%&BX&}kgPrWH9NSLr!A|y8j@U_E z4tBD)a%?-+so7F)9tl@_VUqQCE893_T0mL4>nS4S=@$}1jR;*tu(PiVvCOR z+5Tfg)a*wXC%)%&hEF?9=0YMf$Ai0W8>EmWclT!QoyCTDI5O|w-38uSk3A9mHQrF& zC%D&Tcmu3M5xA&4cPe=f9JY_~XG^Ba9S{C1Ue}W68K}l=!loSN{XG~An;ZI)n!O2| zaySu#VRIsk3pZg?4kuzTY)%a9u?d@UI1z(kbCjfGQw}F$FlVp{-k454kuzTY>tw2Y|3G5OAiLa=7g>x9h-7E5rbiKB3F}+O*x#1!LT_o z#)X@(DTfm=7&b>qIyU8SA_l|e;M<`J+t*U?{Y zWB%zRHf7Mw)D`S?f;@t~vcX<5rhGwpT66j5(AF&+D?B^Lj$-}fT8`r#K5b88)|m35 zkqz$3)?-S+UG%>>(xyMdMr89p%N*5ru@f?;6uA@3H6Fb6Gh{EDfBZgUP75cUz>cJR z9*m@)$A+YQ9;_}n;so|1<@4AD{XDiK{XBLe<@4yjejXc<@_G6K{XF&|<@2@wh-*$0k>?Da{252 z%o^uOoy1>trSb$1{gxORJ0@Ll&1?(T%;YGT$O9f)&0p-AU?Szx`j)IBGz(leS%ooK(yC$Bui@5gQXp8>jbRqV$xQXgp=b$Bu%D zWbF89Oq8meWK5K*oMcRts+?p@l&YL$Oq8meWK5K*oMcRts+?p@l&YL$Oq8meWK5K* zoMcRts+?p@BtFqEf{6qVT{diy0q|9-u~-DWm1-;&17D>Yiz!J57m3d*aV!=B7o{4D)k^*p zW3d?cD%Ds_NjkVFc`O#Xmh=>3u?YAo)mSVBzDhL~Q<4rY5}#G#SS$oCN;MWMAb+Z{ z*hsNA${qGrf|q3M#TZP+U+*W_nq1nxZ_@Z{riGX0I4&Q54RYjQYjQp{{*rdh?y)u5 zz1o`Wp7B?9ueK(+oK&_ZxtvtCCb^tcwkElpRJJC$oK&_ZxtvtCCb^tcwkElpRJJC$ zoK&_ZxtvtCCb^tH*Vah?B)*{amM>@u*h=sf-%pqo|L^74Nc;nT*9#^RSxUx4r^qXq z2n?n%(UdRn><$Z06yyubgZ-=S){z`&}VZ@($*i3i2_} zkzPQ$a#h6Bc|K)2`3tz`SB@!zl|z>mvdbd9fOn_5H-zU{*XZRU?%%=t>a2P_qg+!q zC|7zt?=GN@5m%MzPzE8_MtUfro^u$tKgKw#j($kyex;41zhMrq`v}LUlo2?>T*w^8 z!p}0^GBPR;9dWV_lS}2Y?^|QVy5)IKr4tKA9bE8mJbmNFCw;l?PpVv5d#i(Ue4BxJ ztTkH8c#HYqm&Y?cPnpN1UM^tF#@z7Br`VU(&cpn(*-SaiO9kfo)XS5V5q@WrcbY3l z%{aEeJFR)CW7g5t-f0C(A3nr9c#c;Yt&BNl)^S`#EcFq5Umc_$R<1^W{@|K|{2}Z^ zvY|$CuJWI%@iT5c%6!uxbfmywPMvXA;nIg6FXov!j8WXsX?SjCor4hECR36rLCj^S2M?egSza$y>>J1$?Y)DBeDtF;}ynJqIYyAYGBC zh&=6_x3h=qJjxUK5&Ao9edPVdl6l(;tumYOF$+JIOPNcGw#%4jj&e7iw&u)kh4x?a zth6nBc&iQ>Im3IsOXgDs@8j8%{Eu*60B>d8(hXMGTvKN8cKAh^p2oYZGNmlyX=l$z zM%-FXJle0bOvPgfL_Uu3?C~G2&)Y#Pfy}uuzUwX`uf{W0KH4(yY9BSG5IJJb`T*^P z9Jv~+i6?k9ON}W(j@BbXB2Oo&pYVAjN8yjGTZ%s#nTlWAa;5Milpt3+u7Km`dJb88 ziswp^wQlClMdmy|QMtaK_;NQ{)If16Og~7$YDG3*Np7Z z4moAaxBK{eX@j{OHzI$2e6E5I92_swPDXxV%>@1mIjrPg(A0&AG%}s3U(utuWFfeG5#SI4JF%OM}FFo+rhk(`Q`0)euI39 z=a5C#iB_h_yj=T{9a+f8OcKg~oPz;|$UoX=EWHKx=$uski zNpvdO{2}s)T#B5o$yRS_IYoBT!K7*Mu+Wmt2CgI6$1-q6CGsga;q%C+o;#pTmLZ?= z?Z3=JpFlp3@s1+pX%(GzVF#Z@AJ@>vt7y{zvRa6KNqoU%;!E9JOIvTyGFrSn6T7>Y zHta%1SwoRByp4{AhV829ZX? zBer%G#|TG-tUis5S8#nvR*SW)3g5RPUz2n^LF6s;HrfR*!TYTaE%(0Mi9F|UhhCn{ zQFKP?BJ%sHbset@b{SfBAa7tKExVK8yR4ldwsiQXW%tc1$u1}`F1sT?ExSd%$Zny? zF1G)R+S6K*U9rRT)6!qtx@yay(E2Gmj6Gd0vP=FyNp_J_ExTezr9a26irk7#O-EKs zk%ze)MRvueDrEJG%4|gZ(+M)GklEvw%ofwWahaXBeIGm%nQftMFUhP&%dGSfJ@yIv zb_TopEbUx~Y>3=G%5!UY&egDRyU1?~*OI>yo{4R(w6Br*I~vNgyoz0A9ZKYtKAv~m z@+!~T^1AC&@*20T!s~6HM_zZ%+5V@<>pxiXDs+a?i3QY;dBmvTipJkPe5epTbD(Es z{H6RyX@Akv35It{rQuC)2WwWkCYTdc+LTI_)^k0HyrMh!gH6#N>969~j=%zN66<;q zgJE_X_Nr91es$^npYMHX-QsVy-}gGW zZXRWMp|y0$0{X25+dYPR3iGb%9nd8Weu0`%i<|dAUvm}N=+U10GZR4z3Y!>mJ+AfsQ&SD$>q_V_T^rbAG zXK(aCfPPZ&*Cgu2I_*96dY1Q3_*A{pF0U7T-);1L6Ef6{jr4tB&&Cey2lzGT4eUfG zeM(1{j1e9_Bz>W@rP!A5!moFo-oSBe$|=>Sbr||rMm&+paUTC7BQ{RvB_bRJgWbWg z3!Gu(7kxwJ7is*av0Hv|O@V9tB7bvRjr5y>=~CgjHWeB73~?MgjI2f<^CX?j9l0KQ z_;EMyD5egA-vf*ZI%q56^tS&=ykP7w9Gv(Fx+80(6C;cb@_`i>g7p?&Cc6`8XVD1< zvOAGuydM+U^=jFbYx+oSqhx#|W0t|xlQ_cd71UA2FS{5|vKK{s987*U<-{0kiv5y) zRr*;O|6JbB#>Y3(?%%_d+S5}XSMwO^g{uTtHw<}R7t+!97mAW{3Vq;eQEz$lfFLvP$TgJ zQ~1vqJNeLFmCy%$>cdp>D7u=&EO z{gtG-KUsBv{xIBfp?UwS7n%>;N&M)<3oG_dV%)v!!iocei?Kmr7xZ91O~EZIuuWxe zuFVrXFbw=y#u#WV-w2k02iNvorv>h6xNiGdz8Ak}o7PU{ZR z%izzTPn?SjjY4xR&o--};cjBIcTxZ2e0%DPuFY#CefxB!yGSSm%(0d2;vQB`+vb}W{dRZT1dyz6*Jse$zV+wm1q&I_M+R67C@7qtg zlU>#3M);9My}i)wfX)r@#s{rwMp1Zo-2}eH^MrYSxa^@@&Gw}e%#NiKO`rP_vw3N? zx!b*pHGx|6cYiyeO}=RpS}R@6#Hp7AHbU!G$`-yIgD1Y|V|is<3s0IgPae@c5r3Au z&J$>dA5Z&T0ULYES~r!%+WFv(^k2|GA3Jn=BYaq9^yxnGalGBf3*Kcs`Bl#WZlZV`V2M3Mc=cGerOdu zurX?T$Q=-j*ACA%&<@r3W?8LA)^C1!8U4%^^NQb0^3so-aykQ7%nLRvRnG7UujQ)+ ze~GX5IQXl+$5-przS=6~)V|tx5`484uHd2&n5q)IH3XbhH+$r?g8XM{1ZydcwVtl2 zWlUGkm`;4RLkzbm@$GXN)6E0_jaTkQvFjV5-Nv>ZAx}UsP6xCLuAKm8%4A$2{#)70 zNO&jy+aWwtM4kfLh&{6c_2_jy*Z7nJ6^u{rPW0oF*U3G>JOv>mAbWU-A545;e4AzY zbDe>I!43-6apH%a%QN%HQ_nNaAy+_ubHVjW+O^8^zk>H0pSOGmw}M~9FCl9LiH@8s zQFp(4opJZ+n;dt)H{N;o-OS|{vKP%f{>zXN86!Zy{?2PoDE^(7J(f`9ox68%D{DXE z?~mtQX61bqd2sQqS1Iyz(&;-u3|Q_U=AL}f6?wjVH71Sv7cN=2eHgga>xz}9t5`WQ z@OUe9czm()DeNEGzSKM5wujt(SNB_GwpUb}8}jl0@9j+(n-_){3T`E z1^W#$(i$g&)ovwbX9BukNGylMCpI&;x+AC-FavJy*v(ifq!3N(n#sAh#*?snI%C+J!>AmiT~k@)3;@t zVo&?!#6p5u+&fiNVr%U@bo z!({cM*WDu*4IOw(&2rKzNSn%eVQE2@tF)jd_N7~DzE9norS6W%xNnT})wEOh?^3^) zsB<&*3;d+L#`ww4YAV;iR1^EB4K-8Tw@fQ=-7>9`zv5rtyrrhD<*Aw#El=09t!k^O z&%X(O^G)d1P3Y21H7`E7qvoZ5db#FK-am!+KlbFNn$ev1<^1eV{-tI@SwYskKtWBj z=ay+N@PCQ=v{RokEgNdK@~)p#pAA-h+NsZ*>wjL;ynaK?qH+Ce&T>C6@aHw_#`f#`nr3Kzf%xYM`R&-2XKGx$yPf^#UtyfKf&UuT=aIPRwMM!b!9FxIR`VhI z%#XCPu6=9al7{Uf|7n)|KWfQ;nI->2E%~39Apg}V<-c^hd8zA-gOTS+*>s?oPH#Vj5PR4vX#q0Gz5BUVt#>RRfXCEp)1p2wGZ zV0Eg8qCHHdeh~Mr=v*SoP+P)9U@^3)M2O7+rOG>7jl23}xRc))wC)zJ!xb=axq7 z!b0qV_;{Syh4qwMhpe&&P*lb;4*rW>BNtuI|0HYcdN~%NTP}2KK7CvP|LLU7BW(g{ zitDOCUDi>~D>*OW+#9H?Ifp&C2Yc`e`Kq`#n4^PZE$JcB&p9LG6f)e#b%g7aE175H zy0bnsHB_;F>Sp%&K8&4z#)YrZ=Wb=Mj8>Va6CMdppzrIhCSH2w(ro6le6y;EQ>rF@ z@)5p`a)J$9eif}E4thL&#$58$lc$MCNU7YbGZ6Szi_hZyI}@(?3kMLhJa8mEva zL>}UoFUv#xa}}}9Wz0o8v&l1^Jj5nnmWSBpD&m;az#q7g8 zoc+mj4|%31<(W*Lsj7S*IMbO=o(Orqo|I=cdA_R3p9On6{p49ko`$46wd9!#e~<}h zA$i)!bAM8vyU247{9%mfEG5r2@6E*$2~<`R%|9#?0Kd4 z%9XK4CF^h1f~`d^>a&^mB_I3L&zis*jn%Bl7-B86lj!n?*rXoaV@+oV@n*@ow+7u9 zG)}$0P-4!|i%I$pFcGOM}w3fIqYeU3h*3w^Y8_9)lrsMg!A zS5&l<>&_wQsj+@)DPtkR$;eyX4>`z3zL{6*(c99bynZWhA$f-(pJFTU8)^LwCgmMzC>vcm?-dZc~T=L$9eiKX5 zqu)!C^4??Ry`Q{G(ND1#ww|v^${VrrHj{TP{1v-l>-&$A@~*S;K0)3m;jh>RTkkg~ zgZK(msS_9cA)Q zh+!wN6=EkgV<$dHv=hXN4K9e=2^Zx^AN>q{^n7%AGJUj{K6((}4#}J-^Cmt0^PWNR z{`nDXOuf}V*V8|PEu!=2pC6%Z&K+0N_-=fQ_k?%arGDDAr4>8>2)5Pkr-y&ZD=Pl$ZCXeELG3k_1Gl8@s(mL`-)-0yX8KkYqFR6Kke<9Z{uKnbZ zK3(NMU9%IsD*gHq>`mu0*o@`tr~0rN(zok=o&H^7T7|FdP5QF5`TV=`bLWkndPv&+ zm3yiJVk=gXCVm9z=l6+yvHJLw`7;vo`;b+!F;;({GJn5>{MnQ*cE++DDf8zi$UlhXtxWuw6Df7=x$UmL(6KqS${9jMV|5eHtEMnn|l=EIYZ_oUQO(BMFZtqcE-g$C;0?}MD7U%Lih6xFKM;nJGlp2 zL!T*FB%*PMtGiibn!IkFsVARD$`%vfA(_?|c)V4xXl^8NNi0p|5>E%#zw3{{{^SG_&?wp zx9DTimS9_EasErrf5`a_oc}Af;tBG)IA?sk$TPGcYa=!TAHbsH*pF3#0&LJN+BV(K zGx!DK*oJ4YTUm3t-;sZP&3%+Ji?sIqQP`o8HAA>|a$QTFTFTqWm|0<)#Qyw$%)JX( zl-IfFzvjZsz`%fL8Vf{cxPzDACCS*B_yHm+$;3;#+uiO{f#E83Vxmp7A$0`AB&4lh zbvOHI`&7K3iEUEbw7coqJzETlX>D4q-D&@)`)s+0Xi#GkO){<4|L^@~FbHEVd++o7 z|M0Bmoo}u6uIszr%erdpRWodi2p_6r{&FNAl0E%5@S(Z)pQuhNHu#XgF=lzo>f4h2 zb*aXFFX>0-BIgKiT7>;|13&sGJa`iOgXcU2-@Ab?eH0$NNo*Q}|Bd8NAB6{x68*{0 zwMO!(kHUjjL925X2|pakuRaP7o+Ub%VT+CATOWl7?-HBoSHkZ`@~@A=gNKP87c2JI zNIv#acWviviAn*NlVLRKe>!xCQt#_kPqBIELgc@f6k4RP)x z9mbQPiww_;Ft%=p6B#!*%!@E4ZivJ9khzi@=0%|W8{$CUGFNiLyvVvyaTqOO~=$XkngoDt=jf%UfN%;Z-&bzeTK7wyK!2 zGS)3+-MUKd3}u}p!<0}~ZHg&d#2TiDZ&|~Z^=jV8E#p1xvRKxzb6LZdwd=F2VawWe z4r|!IV(mJcwd?0uyUt?W+K)eLUf0*IWj(v*O7pMfKJ~6E%|~Uu8(vj5pY`k}*0M9N zZ2a{A>s}kLY&?o=b{3Lfg)%v1ZBjcPOcA|I_PI#i4pX0wa?ROMURWmUruED(4RHUB ztQkwayKtoK%mh{`YuWZloKvhf%iM*T`gh@qiIWbjROYf3kvM&QD?X&PaVF)w#hm{) z?hj%O&e%WXbZ~zrXUO7myHi%&rXHS3+4ER)o2SeTZclegp6Ayoin`>*sHJZ({&w)2 zvqQ|~hu03ya7TcgEtsrqD=VOxI_~=rTb{Qs;v8AOPN`iVUIW-XVhupnM6uc1o?)$R zyD6bT_H6!b#2o?Ia_1)VgMH}Vz1&mKZ;8)8Wl6~I-mir^)x6h7#=T~-96z%+X4OLO zCBAULu}bdYf8$5CRdO%?xu4rt4Zk-gck};kiVFROHt1QdLh`1#g7&}3+bok=GoOns ze1>{dOi=qhoi5$|`SNwtC&~Sso3)S0uT!RDMwv`C-|x4i<-z00-G9Qt8}N@)n%Sx=?E(&?)?8HZB7IOR}^2S3F<&eqIBDf!fWqs0>! zlzB84~zz=Udt( z2z1IfaW|ONoDDWL=ZYnD--b9f=by}~Er|bi^TeSbzhjA)4o$R{YA^R%ChR->AEmtE zaLc|U@Y5P_<^A+-cxs>J)A_ZeQ$rft%(u4v4A)LQCtD^A(q|FiNo zH1`^NX&Y&)9`-m%8*%pWs0-LBZNQtycLR5>EPpv@)_#FJGWLU*fU=K3Q_3m4))V=5 zqtkJ>#xK$-qwL2lr_GkDPsiE)^YlXax0<@}#0m3wX9jb|8_a199(C){HNXE}%HZeA z->>9u@}Sw$wj<8ewhP!p+ikauZ|Jj(&zJqk8g)&lEX_E^>NsdSKaM(S%scxDWBz}o zmK6NXF2beHq%F6R&d+e%quj8Oxu+i5&xF6ihGGq_A$a!MgZ;$!K%b2Fr9#_6*Gm_lp%*U>T!3b47y)6cn|Y^OJy9KC%lQimHrl5hR5o~wAXgaNnv%`FjXhsYe_8OhTg(l=f%c>gBu}Ba75E7+N`St~;SDCv z?MXkI=}$T5hy0{J!)K#{?75MC?4=w}I$2YVReBY38+8sxTQ;z1zIOe5U@167;P-+r zbRlU-dLrkxGe_DvU%k9h#sT$ip?%jXYn$|64{6`R??sfyOq+>p>7kC(cz&Hu_Pgecu+Jo&t z=?@ES>L+cH3yQwzg9eShFe#%iUSZFNoC%muUle8jDkXDW)ypkkb-xU~B1@Ff7ebRl zo8i7tMqljXTyl#=`-SkAR|p%Vtioqn;W5H%sv>+w^!gfj%r>*VtqMN#GobL8bKpx| zg?|fA=%cK{zlZtuw<71BS8$h;%sIdFxO)B_WJE6ZA!|0=Q|;2#!b-0p3!V(i0>j_^ zz?{kK%W7vHKzMmCe5mqkU)%b?!V}NRI@ds+y66!)CQQa@KWSR|?r`%KId9!a+1`0v zdw$qH>;XTMGWHVJC}W}uwVWvp1&N1Nw52~$LuQT7PmiQ&0k-ta54Dh%#1WYxcp_6I zEs5*j5|$^YKL|svM#8=<<8$8YCqD@L0Pjy>ygv~(vaYgkOzJ3glCn#krTobYPuvi% z7h2x>>a4cyYWz?i^GQL*f^u|zVT0K^R1U2_$)19P(ekCfQl|eIE$mb{OwJ)j+UnvB zZAE>g9i-i*txU9!w7Zn`6m2iSkgrkL<_)Q~E(aN?ODHC}|9*H=Nct zNNbZ(-n+FT z>5p(H02jrDwiP+`)!YN{5cjeNxQ~4m_ppDN`{WzkDzq|Fh3a!vsBWqX)fTAG+Sw|^ zjme?vxyBvy$Jn17q8|H~k`DFQzl3zC%l-#Qi~8*Mksfv0e?Mtbul@ItE_K^qM%vVG z|6haOQO_rH(u<81=>7UTOEagM2r zN_T(R$X{@dsV(Dl_nGVQk0~ufcb^*ZU4EDD{?qmE{c3fA?(Vss9^3C`=|&m7>0eYY!=rJCMYF zV=HdLrff~){(SiUsYYk&?xeWXLrIR*7We#dtmTi-QmnJ)ey|UBBu>=$R^}-3!uKVd zVlVFVG>R$bc(%|e_#)Ve9ts>-t!cGCuF}P?J|S!4B80WblDro$KSBF zdX%+Q?7VSHBIk%(iNpCIy&71Gv&bGu=JVQd6WR0lI&*k^{C*GkGn}72y>bS=$k^MP z>6K2Xh^VabR&!}iF0q3kj4M-E+MkDS=bovdj* z4UN>$zXSAdGyVG%?Pp)NlJi!v4d>{GA^PDA{jm87TWalXF{$?3cq@&5I72_=*5!L& zV0|NxIi9DD^Z0QMcJ|bMG+v(fJnI{B#^EXMM3lTF&yU8-_fCUn8~Jfp;tKWg^IOF_ zuaO^jD1MUsA0ZubGiw+9%6z8tcDCe%!_QN%C98`i7BT<|oVV1=e?S zrT=n=^Q(J#h<-myzYo&yHS~Mdr(;t4Cs9hpz6VtSA1pB{_NN zQ^~HRZ!EiCYhU(ocU$u6MNP@*I1_Ss$MhMG(iZ^b?DRF0vqAb|6Z3hk%-ucTXkWfJ zZSwM0frHj;=dT+Rm*?F!Ie8Dz0pzZHXLs7<P>SUo#3#ikZ(2n|3^~*7hw&nJ;Ny|IZCMByz*K!4XzR{6dN1Z!> zuhJHdOh>AM_N!@wezzsHN5!Q2rR=zB%GQZHgq+T(d&pbO+@r{!U6doE?sjh>er{#F zA3e^5Um<=Y?*Pr>TN~wvV6-}=9v$tpkcji9N z-lEKOl~jz3^vm6D^zmloo)teoZVa|jR3+T*x=#vaE*8M~8iH{(3JlO9qy|M&JF^Y$R` z_8{x__>zg|Z>n`A5x1hL)|bw2H?X*=+Ev(8?K1-v(9gbi53We|zvD#4iF^||Co*m| zGOhp_#~A~c38?ZtoI&7>f!vM2{$P1$M#gvtdx$KGeZriTt;O~hSts{=i@dAj+(nQv zIoN1R%|W(t@1enm?6;{8WZbKnhRmtueq}Di8CTE!%PTk&QOEs(!+1BwMT?tLNTiBYn9KIZ}@s z%R~CeqFRmgkzw`R$!?T?{>|c3e%9D)?<0L=SN+0B`b%yWpY-7$^`9qwWLDjS;q+_& zL7S6}?1({j^i1G}YWQP}$c|S@ADL5I74D1ra^4A&zNj137n#xeVv1Mp*Q;GkUdXHZ zFGuRK_GV>+=QEdC+elrIP4(*{bqU@qKIy~HYM&&1WKw-gB>iV@7N7K4C#c;<`pBaC zEs^y9>1OdsAN#t#U7I5^sP20b-`Y^STbq+kTbW~HQu`drkUgceRSs=+KeDIphuWOl z=d?MM`?WbX;tfoUN!224YRDXD6#ih$r!$U!e^%NPIv1JD-jg|s{m-^zE4TyQk!t1r z;I8;sN0T?hX^E@}%bO#GBmYOr8u>lp(>MN)lr{4EzmtD$8O6Vb`I+!9;bp?V zgpYj`|2hT#8uzjI*IxM7UijBu_}5>BDBHVefZc-(;vydc1wKt7kum^`4_ya5+3%S;a@iB z-8x${_}7Q=E?G|<&Aa|P_}2#XFFSnoHF*6obizb*NhiAGVsyy>y5cHy!&s}fp0^#= zbCz>`<`apj)^SP9i#StTRGhOF9r2{R3CbIy&+v{;cjO(NR^HLcd%~6K$a1D;b02+& zJ0X>Oww=3)Km5*^ylLGMiGK(YjAzjA5-6h~12)K9Z45fS znsD+;B4@gJKj7F?DGSzRtwW#F<=p=U71JPR|5ayZ+cf%>JMGq4*H^Dw0OUQhGVZ;c za%8Sr9z(m@;IER#Fuvdp-yI6M%HV%3);Feh+Ur<2_Jdpm-YVq-P}VmKfW-0&!XdlcN;V9+!M`P?%SD%$^n+p z{__5e>;d2`$$B^TrOiq>?`z}$OX#EP;a0+t^_=xxFL#pU088k*>){Ttz z11yOj5gt!C_N0w>=(lsnQ4X*qX+(Gu;k2o30^z)~kpnE5Fd}?{T3?7>X6McN0opbf zxL~5Tp8JaAT)%U{M77>b--#Z(Qib13T;K`6nb_TES$>W4@?!HGU47f~Sjr)1DO(yh zoRBx@>?UiQ%wHuSH>Tp`jG){Nz7cunC{%houn!q&aaXvMyTVry(V^WfmA)R%?^x(d zxi`K;ac?~O*6zj)TlbLH24!oo*PU9Ii(61vweEUZ>oV7^LeFaD9QIyxWT8z*-RX6C zxYD|sb@E0Udvctde_S_>K51qBYcIO-hs8Tj+qX_69y;-d#e0Few=xd)q6>dmyjAo? zYc947IrSo9!IiA5`T&1j=DHSRd|DggS>KVkhw0yMV$+Ep^mW>4F>8gK(bwfot|7*0 zzBLZjUrp#c)|S!)-Bv=!B`RjhPR5=U8a=@H^$@>^@Odh3s0rFte9In6InUN3bPD}* zj(2@7@K^CRXBNNvtlSS^wK>zdqa!xP;T(*&JGr~eDfG41Dq|$ZS=qB~~PidCB?HbDTvT!X|wKKK9a*r^%DYe5>Qr6*KP}bql#&sk)#vPcS{K(H6 zALjsV|K3aANEvKQOx^1#bq*$JO9vmEu=E;nXv+t$5#Igde@wCQ_Sk?qmOJX% zuNR}uY2{6{T3p@}<5LeeCZ|q&!ZDtFcxzf)+EF)YspPSPKKkz}i}0N5Wl2zT9PC|^ z@@zLdh8DB7F7qxiy_3D{8PYXqe-UN-IAv^Stz6pR>`UKH`6;wG{QD35K21Az$E%ql zmpVs%%erVaG`7tgb9CF^icW0fz8jC4&{l*~)(LHE9TVCPDRtNI{)hL*v$rQ=i*ROV zjvKdwzAOUz8%?P@=u`HVjxXf*Mt7mpLpyqC$9c44J9VE&87=gA|4Yp&74&-y{m$G; zY7zG>5WmdhE-GV>#5fQAD>&)&Z;<{Kygulo@1>@cLTE&R6Lf1%ML#S0d9w5~JYX{M zdWqKq4SDtlQ#RVz6Ukag(5&V}t3w8DO)rC< zAL*Rgwm~Hi$=ajPbq_l3Xqx^p?XaKvPayAysGEzr-A`HB@4IY4gq{bW&+bN7YTmfp zk~`AJ(z6HKc@O;mpBtUy4?9xXLz$4eH~mI>zT6mV(EK&(dikZTDc#Udhne?Gp=s`E z8%5XSpzEa6JA|&&Z=~x&c$LugN0mw9ebO=sT}!!a(6W?mMTEX%-kNO8Eed^iGOli< z@0*v^9ii{xvYvfuTS~O{lXxZO_wR~H3od&XzO|ozJU}~r6rN&l(17{??+AG4SxgW}-k{K__jF;rLM;ys*yGM+d;e8J>Ry5pBXoUOI87t=0 zosqF3dsmv=Mb09|N)cma1+*MwtgN8i7HCPvN@ZlMq!X7t^b)^Jb8BUav7#6&LjQ&E z3p2D61ML(+I~ug-X;h4p!W+hk3Hp&SWsDVQv-hQqDea7rbnem97$-%Hnc=ZAT>fGi zCrP&@{|EIC(oSaDSM(azifM9)bUyPL`m`^33n_wA@x7Qok4jZkkG6tlqr?E#~r7XkkXQQ4X)1*xgP^aF@#G{R6jC^Q( z>MQY0j1j4y;0#3SGh9!pm(;b8IMu`n%ah`<@+5vjTT5ho48N5XZEO@l7a~W5-i@&V zpD%*Xub>_9$vD7(l6kyF=Y2;)xC zE|W>Shd4dFiDM#dH)#jsSnGx+gRbzH7%p=W>GaWVvadUxxP`?1uyiZfZ>PYKeKE2= z6K#xW5t%Y_jEpDmpTIMIOnFyR&qV6yqiwv#7;zb6#1L+7F#)s%v3AY&W%evjA zQN~E5OrIWGrr|N-V4Wx07!lbZdeHFrh+0-;+$Sn4@{ssr${HRctVvP7Bh=3rBedUX z`cc|Y+Em){#xe3C@u{!GmoXyaL+UtOpW!j`Ul|{}BRZBF*%8*Utf``7S)h+*XrD7b z<10q#TkPX~Q0Oz0`fZHRr|4YP>pGV;6`V2Sq+)oSK>NeGR{1Dht9|r188tp+oQXWR zVSIc@da@r?#)phE_AQ0S2>bW9B1hKP#yi(^&O-khKQyd&jT|E~K9({jhR4T?jFr1a zjt^*HmRJQGO(+9*K;P&7c-t<%!4-$ER;THa0LedPwI++3}w&C*vquIm->%F^bON3&yyB zH;DZtbncOO)a57imDKBoaWpbMbv5D-j|=K2<3j2(a$HmpUh~<1{CzcZ0t-I-v$xlv zUoH6TzrDTYZ-ploe0JdNHD9xRcg>S!s{YG{6CO1loojsCOE|^)-x}-quv{5& zzT%V06&Ww16%INU|f1WdPtytvA=<)Jl=?#w;N#{Q^UPjB4sN-dX zJh|C;iN>Qp5r1a9MB~p<$IHm_e8TbaUoK}@?u?NmQOC`(^m7;XKYI zUB;fD%lgrK*!S-;e*THymsp>gX0(CXI4jW4_rP6R=oIPv%$(MSZL{pp#A{dcUPrF; zR`V_UHkd!%&}+Gs_@ClDLrVTOb84HSu7cOk*%-l-_*?&Gzf*ADGf!+2oY#SZKN?r= za2%e?7=3Q*TC>U6Q_+*Bwq)n4W9m|I=-`uD$j;e`dCET2jy{n4pxP3{{&;mTM(vrR8b*7TJE%j3cRLbge6pvodcInkZ4Ulk_H{E(^zJ2DZS#TI%Emm}!MW}hw~w>7Lxt;9K(%;$ z+%pjnzryke)WXoT&KwA`C#-^g?qE+_$Ncd6&ugslv_o66j>B3)n+K<{H->xkF`aEr zqkQb;l(n2aQfAh^rbgCtvY<=OR2VkMo6z+I&Za=eOAp+m9+vmF2X4{4hi_5dug_2q zW>Js4NIeFLo3}Kp?X<{xxSH<-(u9pyU7`ss75=UuF?CA>Bgp5yJziQuz-D(iS-@UtWM zte-x|`rR1(tO!1|w3l_eG5DDgeAZW=W3Sp6eA>+@zZ-nkw8r44NAOvrel9Z#z9)ju znYg{|HyeZRj^IxPpZ#TH@@N00k$(aB>?a$8&mEFR`|*zNbL<}*gU`Fe20nW^_p)DX zG(I-Ff!{G#jXOiz%bTqZ-V=DWKF7-&5M|HAa$c3apU?2y@q~5xcHa2q%;LDXRcXuf z;F(9E2j2K;i;vJx8&J+c9E2ui{W!?^2f5E$XtSI2(O`h5}xgSjXi@>_dU=}RD90Z8TimmRDA4n z10TAHiZACsB!B28Dn4s|20nBX6(9S-z=v+4;$vqU_|Q#Me0Z3F58Xt?hgTc;&`nf) zWQ&0h-9*Kw{|tQSCMrJsP4GLQn*-b_KS=vKXn$F=KO*hV+@0LBak{?RYiB>Ktbcdc zXL(n^2fmEIQt{Z!@ofpTWqZmR zQ~Xg6d}GGfw5=}OOjGdpzk^SmFpY0}(`0I6QnJki{}+5q-NRn)mM>%L;2c?(x2X7| zCV1f{9NRnEa;)lj4Zq7t99>>yv#nDZ<6J7;}Z`_|@EsMxZ3?8)h8{;Qrj8d=jr z9zE!hIdI|2toI*at=)8+GVW~dW&R1haGbQu2ICFm__mGANsP472hdy6kqZOt!EggP zr?iy4C}pjTu?ABNZ!$UC2FUx&1daF89c9;)bBMWrZw2FOC-Gw#doAqoZ_iaf-N2Yf zHZ7BVIdzO-&RXuXGlowiL(W+2`vxf^YbyJ4lI+I2hcafjqmzg%Y!`V)nljd{jP(u5 z+Hf9T_$2*W%U+Tg_JGLyiT5!tBJV`4FvSmXUwzwoWJWe{p2<0sh5r!WCsq8=IUw&T z8t*pzz~s!|#9NdbOff5a;E&htL$&}1EViQ^@hbTmdn*REZ2Hb&^VUNjJe9lD~_{f!~;16T)xs%(-AGyNbld<@m zi8An!D^I~6#^AFT-M~k#uqS0KKKrH&eB{bg@P{$@kuy*SkSne5hcWHP9he3_a^)%b z!x((_ryKc0W3BLq(fB)ft4Z)%kSlStJ8$B77jbrD5qFoIg`T0krMw+nmd)D+*SzdQ zLPzVSe~+NA#LD=C*4dA=Yzj0Khhv{fn}#eAdaN*HicMsSL8ryg={)2E`^^lQ(n`MY z0b`Gj@T(kLWbcqyWQy=Cp&8M~9Pq6iTsS<-kSS8`P0)<&@fm}UOfm4GnW*^46aycc ziHZ*|H1MIBsQAbf10R}+ijPb&@S&Ng_{bCkADW4Zk4!P}p_!=o$P@z~nu&^!Ofm4G znW*^moq-R{M8!v@2!0DRBRs`M+h^dq;Hkx&SrVBddju`$&~99Lc)yfaY?f0NTmHlF zxKozcd^yj}`4jGK3I4tcek3|}QGL1hU|qS_xLcy$?N#_qR#rn77JN7STkHnIW`GwX zFASR@op-OzAJb+~E$N2MkZ#xv>ArMq2JuVBW-uT&gFy2-Q*@gFe*aM;izFTlgk zV>9H^24`|&Ruyr_#T&PW@9G)0pT(vY`Us4aI&kx%ZMT|L-1$j%; z+XgHNhCOkFHWN9}!`?p8*+dQ;h}aWFjHx2V=L+R8?1@G6(^O?H%Zk_&n;D}vzZ-i(_riV>=Y9EKLFn^WektOUlPHG?=N5skIDam z2tItjlrcO8-xtA$?=N5skHNn`f)C#>WektOzb}Fh-(SEO9)n*N!H4gcGKRqp?Mq0HJL4N9f3X(^(bFXVVcsuvGZ}m1 z2zslW;|hm=!23&}o2d8^-Y;|$6+goJOQ4&m_z~VObQ2Xn!uw00o2d8^-Y;|$6+goJ zOQ4&m_z~VObQ2Xn!uw00o2d8^-Y;|$6+goJOQ4&m_z~V;1l`CxO5G#uhCSE~!u#bO zzQgsEURzxy`mL?3qdwhRq_QW;eSLEOe+y3Ri)jV$G3Y2C9pQfHXdd+VLv+6vuos>| zUyV_gqt6`Np3;Qh6z&wQBNuiZ?-qex%2A4#>Z%3a+x6qeHz9&C8f5kF> zr<*KCi!|;=;;yF!=Ilw`;GV!=;2(gepWU8v2-q44djWAs08E0k;Ke{H@ua5Z8>%v13Vuc6HS} z$OsqCuFP$f_=&tYk8F_d$?RXU6Q|Fx8(c$scoR;-#9#b)yO6#9=9NLxYm)Z!sM*Yg z9cAxn@&?9qjo$j58n>E#g#9Ncp_3PpAA`zOW;d%j<;?X|au1ZuMcJXR7jY7{xh~zS zVcXd28oe?P^&&9rKi8|Ji~r-^lgNt~fnoo%QteiJW*5820~+S96R1dhbc( z!;8SM{~WJ|y<)Fh=RJvBco7)(_j)z#6nouc-jm3K7lC2_ySy6qiM{So?@8pqi@>n| zon8&Q#9sFm?@9Roi@>n|9bOH4#9p`7dlJ6?A~5Vf+pA%R*z4AKPr~nC1cv=*c{S`0 zd)*`6lkoW$fnoodUJbj$j%|ICetr=c_MhP`#NN1{wmU+byXsbXcjA6)GM9a$Zkl%| zeydHkG9TmBT%?wYUU3q>F8YE7&D{22W?~+^V;X%u-DG3FD4{JuiG6Kr`v&k|8H=6J zn~kxYKpe3H=;Max(eq`Tz6Py5C%XTpynw`gm3bu2u|K#ITAge*Hw-GXq4%GLZrStC zyLAZ-F8KaVT)2#3-v0vQpREBX{ZYf={YE&vKWaF<-w22IM-7Mf8{zQ&sNwK_BOKlzH5}e=gv0xzhQs@faCm>z zaQe>(hxbPfhxZ%d@cyXb@C@NAgYbUVJ!t>%_zSmxy21NpF3QII-;21ge~!WX+2hEZ zNtpL{2>(ZR9Q<>5&E-r^t<-`K42|yF|ZWKoaL=Kzy&}%a6WJlep&=P0@Q$ef%gJ8 z1Lp#3fu8}E0_B~u9N?WmJ8(8|kTEk8*oRH?Kd%b3=f4chV!mf5I`t;X+F&vp^F6OH z-*bfd9^P;-JE@#QJ0tTwpJASddM!%>kNRG>39=(LK`~?RW;TJ0?_rzZg;6#^c#Yu$ zo8Sy>)C*r9USo)66P#pBt%8S+wh5j@hZ|mF7`6#yjbWrsfUTb&^Y>w!;8)lLBi9&K zm>k#yPZ~DCkr6h*LdJPmugvrIU=zq3x7Y-wjPKvE#*oB(QCR2C^|oUZ2yKZ?u#oXR zT4(LSCNS{f@uiIKG5FX720pxgA>(@tJ~n}Y56>@Ue2>A$CNS{f{R<77AUw}LY_s%W z6Bzi&fKtOI7*&330s|jeu#oXRCVy-K10R`C%J?3WKQ@7Zk8D`T_#T6gO<>?7BT5Q8flVOzViUZIy_RUq@h6r&XRI-VZG!L`Lrl~) zhL2|xIBu{Bu8pt>O37Pnf|JbWNdCiX43ht_O(1lG9zuB7CXh9T=R_xstTBj95EVaS z6A0Zz#YZkk-Nhz|iXX8Fgl?kZN7fj`CWwk3u?d83qT)x^7{n%siXX8Fgl?kZBNvSF zLpM?Jkqa`PBXkoLAGu)QLpM?Jkqd$^Hi7UEvB_jkPSzOqj%sV3pVd%xmPr4-NeTTD)I5oF(Y=FJKRFk8|4#*aKOtqwZXi-d2RZv6FWuFR~_) z0nhcQgtD-0;BZcXf7)4p2-^k@r`Qh9!(YO-fy2pruez*Rh<(6&j?Ny^x*eN!dE`3_ z_#m#5G@Ibz|AX*m_`aXGU%|g0o1qH0E8_Pkza{K338P+O>r{Z#9|>QFzlGnc@wXs< zB<_0rGVp7}FC*gjRs4$admO*wh~MM*`SJTIe*TDGBYw^Jt;cT{a2>D<_!zJs_$W~F z`3g|dUJI1;)&M1qM}W=1hvl2H)R3MTy-n6;M6PUR?Ztx3h@rncDyD2B`}W0VC?t;9 z3>TECP3~f3OzJC;EC0$|(|>H97q}ODVIH=FtX-c(hf6@m?!^``BMVn3)6js5XZa8^9q4?U zWQ_oOKx~qE$c<{s>N4m{!qUA#WLb6HYVSN`h6@au}7-0 z59T2wT)?pZ-QFPfKsEM(yiM%_hW$U|4Pp;eV;{^zCb)oM|2f_u_CPiE!8~Mv3mEqI zdV|;l)z}B~kO3}W*#9nX5PP5+`(Pft-vtc&-{}ov4^(3x%!B8_6KZ#2%=|K9~oOcLBrxv%EpVZ&M(lwA_JJ99n6?k=*)zPA z+`+#BdJvm{$8flhJA0C03t+3uxD=Z}?iZi*+04Xxc*i$PrZ(>FZ^O>uI+j{!$c1ev z^ZxwC-Y`Kc`TQ>A_ixbyPon$fK{Mi4fnP4a#V(NeXP_Uk3tl15UR(!uf#{;L&b$L! z-D$`Gb3<)i1$|u+v28qt3=rM)MMDO-8Y-Xz;WZw3%|>WJWWaA3|2qvCU?x03cpwr! z-TN9cz`!?TKooprfPrtwfGGIL00ZBU0a5Ug0S3My1ESy~0}Oma21LO}1{nB;42Xh{ z3^4Ew84v{@8DQWWG9U^*{b=ADG9U^*GQhw$WIz;rc!S`}Ij3<79`G>m9$*LXZr~>19AGu@E?^1p z4qz5=7BB`l12{mPZU>4z@C(B(aOD5|CU!wzWE~h8WUK=Z+XZtXc0nq52lLc^_TU_2 zf8PEg?OxrpyCkIkR1!*OuNZ#Eid3qe&YrSf_LO-#({Y2JJ?0?MDZqiNc zE0Z;p72-2&w;LZAwobn%z`9prB(e;fJ7 zNd6}6s`ZMAchJnb`HERLHCl8BW!gkuR%O;t0qvxB3@C4{?gGY;-orpk(9GMb+Ep`q z=vW)NY6@EPJ&|&Ax7h7jxIw-Tw^aMMtLJv9Q)Ww*&(iAmNxo7y5B2GxE}majxSCu1 zzV^uPN}!wixsCc&Qos0c{gk@egX_e#j?2Qf4WylvTK)S*4tc zxIGdd*NzL~%5fUbjfCNN3JBGQ^XohMaejR~+fblBR=n?8>U!f>s^d zP`3tSD6fsW1@AEjZPYt>k4f3NYa)1$3flFcyjz6RaBlI#^$@2M*NzL~%5fUbjZ-)& zhlMhjDFd`^(5|~vyI;ag;dZ#coZr$87RpAw?$_j-b}&;;`F0!O;D_5G9G`Zugxet; zpLQ@)m+SFq3lsH{?{NAS(vKODzLoUD-{JJFq;LBmej{x`8(c5Xl^D{e4Tj6pXe0gb zx1?{mVv~L_%Ay+W(ho+thv_Miy1N)R3Dk2o{SZ(6w&lA6n{19RIT=53)F+lYI4HOM zibc0I(kEA}x>d>{c}srekwn^$K>JH@PTFS>+Ki)JdiYMHoeu$BwDrrt1lqS57*D(2 z1&pP=(tr-y>CfQVX`g=v+Gv+nU<~c?Fwjand;uu+zXK@s{-3Mvf1zJ=682%jjyP+(kJ6twU+x%x77G{|FYUu*;482WL!7@vdUEmEN6U| zU*}&=8Q(rdU-Uqiow#;f5Lb@VaBiH!^$@2M*NzL~%5fUbjT`PSbBj7Y-xy2WwWu6= z%zQ_n!<{+ZiW54Hp ZOIzra#YErk0t&4U`_IVtOc%P}BH{GKPN1LtPVL|&5hnao z@Ml5;n+e;2lQ8jX<#!QrAEADOK;CYiZX=#Y@Ci$%tcreJK)9^2_t6%zm#PN;bo?s# zF5F!egU9Ng?w*i7{iFE4@I=cxb==$-#y74067yji zJdd=}65zG&>56nLq-iE?leKQcaGDtrS&|-+C8TA@5));yG;*KR74DuQotVbLIsUo4 z>&+f7zuT7YXRTUnmZG__E`PZ-zanVb=Rwbua!dI&@>N!kk*^s)OC(=OU-;hWe1~P2 zMS~xe^Bz5W(dLtHCC-8~sVeT$sd81TN>`=3(v``bZ^bR`zO0sxfVpL7K&MTmUH9W^ zpoa|lL*w^merEzLwuylbeiz}a(g(RMzN)$wUq4~x>~+|M-(h}xNVA0B<++=D{<=-R zO?;=f?DDm=w6p(tSD=`D3(2zyf9}l;_^tPFZ{|JRn|aRz3RgbY>dL~+$60WdbK_me zlJy!eE2!3IYHEEJzpc28PPIN=nb!N~PH+|B+?r{<8<-U|tHj1(<5cNi~*79qCZHU zBW3%IWr*lS$l@McC$1eA#FgVToEtaXCc-xg4ZZVn@Mys;f;)G;R7=6WqiY54BD2lB>I^LI8r}@?vIZygQP9# zN;#wrq#UB#NZF(;QYO)Jgclon4&{;dkTOddrCd@@58uOO6P=`m@`x@nvW!;Rq96AP zZU-&~*|sZ^kJK{;Ik$5}x-rPS9V5~e9mdMHls8)an@O`0SBM*KcXi5|Xro@(5a=+p zC;ckAgXjy2c#1N10^4yxTscm|xp4|7eMcG(SV_as*GNNjvXOd{f`^K(6aoVtFPHc4tk^U(6ZDd>-qOdI68aj}_4n{CbS1Wl&{Y*s=t}Gpp`R?E(2pIRq?rB| z*>6T)kiHjLFLJO0*NnUqJ3wf!y`|Q7Fk;V$UE?O~y6r+=_DFx?+HpZ#IZng5ani=- zL)!iDLtR-_BJu(IhQ3Z~hu>)lg}Cx9j8~lGE%|A)Z+oB+Cu2{>pquelzC{t2@dq^0 zml@de)m~o%3|lPKEb~K z<>?2_`#6_eR-$6|sk!AR+LhWTWoia5Ce7h%X|$)xyO24QTiyoBrQDVAW>+?4Z;7vV zHS=4_--~OFuXJsW_q&>=R=S#}`d!>Gl`sH5o{u{isn=m-PZiE+PwKXDRQ=!(q@@xL zM(QVeYa)Fwx~u4|pHyExNdJnQ=m(0-s0E6A_$g3iM-xzF$KL}*Ud#fD%$NuixiJ8p zi0t?yP-MqXfFeJ>4HOwt0~9$DrYpNXgKv>1x0to7RrI0gry00y(3a?wIq0Kn_$_*> z=&?d$qQ@@7?QVI@CpxUqqR@cov4^2C(PJxG*ZG#TKI+SE{fbZcViP)QFErSWek%0Z z+_D9a<-xf9IkHil$a^_pO$& zf5PMks)_3-u8avgx=s>$`|hc$T|zel(3t2y(niIkwUf9_LRV8Oeg61L-zM;``+19e z{&hvZP2OVPUi|xr+q|yWSH*9^nNK;Ea&Al~&-s+0lJH$=9j*e>&mzywd_N3bw-CP) zy0*HijJyY?R=XtcCc<}qNZys?-AoypfECcXjOk%{D)Ms&bRLY1>z#3GHg+@i8~P)6 zKuP-)3eVl5^sGpoEPPAZ)05D9wwUx9+H1HT1+iJs)51 zlD?7rJ>Y&={)OaUNjWNj3usR_t{eVn*dVlJD{ZO)74S@swhH<+&S7S+owPg$8Mh4i z=0V0HZe?#%w7H!#cI-KRxP#x#xC-Q+85z}s z+l>?X*ReJyAo4GW3@e?Q;p;#iD&(IhJ}b}@&)LFzJq8r{XNsSJ>?^n~`~1j04Ln1R zl2&s>_DNZGMD9V%rOers?+a3X>LTl|>qS;8N85LS#maGXKJlw@QjZGCc?)&i0$fMk zp2aQa_ikLevK`F=uaI^}Nx-YL42(I=+13gCR) z4(=!s8JtDGd`|j=HZKRtd^I}mQ9JE8V2L^E0QTV)QGYqxU}4Q;AHREXUg&B9&O$#` z(Y71G|03`+11eG83i|ugD)BVmw@l6m{22J{Ng06x;MTN^K+~g{fq}KN12Z1Y2}rxn zsL2W}sVWGhJ$85C5#k?S>kSmt6a+e|q>t_nYaG8DvoxDz)bWbhttpP5> zmC{!~1AYqFMHx@fS2AaD2jBfb>9YllpCbC{JGA!&i}|SVfgSvo@#evu<~)*vF_6IT zY}^l7%RS0>2YSIb`Mm}B2GEM@MCRA`b+VB%xhfp-WKx=F5`8`uop?19F*;b~P{6T|imdfG+``2g)32K2YXW-zHuXebfg% zw)6cB{I~Kw4JdW60V_$rk9Z!!OL0OE6YvvSs3DHV?_&CY8NajfTSH&Vd_zCKo7QFr z2EkcVlO9Os`yYwdxt1{lFaKxaCs)l3T*m(uXyi_y^zqA&-Wf1GdPiXG+B*ZDDsP~O z{@>=B9r)v<8SwELfoj}8^V<(SFN2S7bEOA_hrL6eT%LNTuX66}z|6Tb1G{8wfxp8w zi+9at`W}HM)a;A^vo1ahe5QqTG_ec$u0bE11^+XrrDF$jHXkSUqrb`HS_^NugMLbm zpXsY}F%1oW4Ooyk>Mkdb)oW?0=PV~XTsk3}L`L5=-0{$L&MCgd$ zKSp=_7Qd75YoVOG`P~i720n}{#Xm`@t3sbbo5lDEZHkR}1joI>1|1ghTj;VEIP#3> zwdUmG3!uqs#pdISkvqTQUG#;}>bbk@tERD*d10Qzc(Ysf{>fP&IUi)aUCDW%Z_x*G zCg>J$#uImu$?RN=4zbIuUFALX>0N3ea1gd7u)lV;w0UMemM#MT;QqZ@y0sf;7jtxquJL=oHM(47Zcc5JV7re zPT%9)r2!A<+m)oNI3a&6itW3&z7x5{K6CyypF3}>udA-uS6g4|%gSx`IrBFAGU}Rr_WI2})7mM4y02sf ziqI{EZ;L+kHhEa8GXi~nmp-e0t8c=}ZNApDDS@Fj-uOhndMYg|Fl0&AH>S-BoZG5G zmm|8^&~_EtSu-Q>8`iix&=DHGGAqy#pB1=|IqWqti4XPFs?ZkrKTEn;1}PU5%6nD|1o&y_Nq|HJz0VN zpQ})lYl`nV^5Z?thx#pX`^McdBk=aWkRJLPXS|MACZziuCR_CJk(9r4aIC+b;~vI2t{iTaF5>Ap|lznF17g?xhOeCfcQ$dv(q zvi``%bk~F5k46Oq1et5+jyz5>hX*8(NPocTDkMedYyyg{i&G$bK z{$k2UeI#Y~Pt55T2G9IJZWHy3tn$9^fs~NtuEEBfOzH^$y>Azk^3i z_4?lZv%2cIEi+I|`Ts=x#o&t^eB+zcm3Dsn1aG>YRH66%6Z9_j&Ae%uxbN$ftpwU0 zBK~E|1U(P<7w)$)<0tK4g-`;TiODOWb}=Tnx$t?EkuUnx%mZ;tjS>%|su z-r;^4fe&b*{gqmLl3OM8Y|uiNxu>U+w7y0A_jN&E{2u6X>KFRe)$?zvtMgsz___Dg z)l6^)9^#%GrLOkvoP&)BX4e|DAbF$udjrVIalJ$3+HQq0_wQV7vW7#TU z59N7@w%9{G2R3V=KhTF4y2j~i@q4#FLI0(>_WL_X_x$53biONIKW{NnuJQX`AYLoD zTd3#$ES2zezB~B7(x!#p?vK^K0}Tw&E|*@?LT@$4>LLfu`@y%HLQRx+72%tR|1YF} z*^;#H3l>}3yU@Or=iO%VWn5lynnG8;sfFImh}ADr-Yrv9!h2h_(AoZYy^;LhPBeuM z2!63k@1@SqlIGF;dU zLVsmXV3OoLT_qHd_p_v1LA+m3zhf291pXIyIrWQMRp=Pu7k;FLB>u6P_!r~Pc)i$9 zT4r0@W%B=v#jk$2Np*c?fKk$_c%Xt$W zI=JN5LKi=$g$532A?c&bYk2E;IW8kkxAFZI(*Jjf-xaH0V$4eWT&mSV|6BaND7Y%L znsNlCFT28N{wrm<1-yZyTF6G&rCJrb^eEBEIH%SNnZYamdeS;Qox?)rDv)$@sn0jHkel!<@pl%6&N5akd?!i%c`Ct(Z%N#Dv7Go*Rl=YpdEbC# z+&(vDKJ$H$jmCH|J%RYDEpS?=v91P;nQXWZw}yHyKG`dcIo=sTOR-e)y~mtI~D zol)j+J~iK8O`MCw>4J`W!4bTJjH4y^7tCfJlHYs8FM^YV|7z$fh<^Eq4ndDiz;`p8`clHq!B=+heI7b4@M!T%vchRs zfqNMqBWb+7D^8a@ZZ})oB#$@XAyuS#f$?(50{_Y&+^nu%Bt4<)v&FHx(B@Ecte!-g z1^MAL{ovNYZzRn#yLbm37^3`#fHC;*B25oE`;aA8{}g%cHKQv~m-)ay^DX79A>J0! zyf`hK=1OpfGLTikGw{bFKtFNL0^g^uzb4Id%?^F2*a81c)Hf1F+w6PFjI4q8)B@i@ zUlX1>oqk(F+DS9RX}@7f)FmC!p(LL;^a#mE^5{XYaWUs{WtT(GXN)`nk6T0$5A9k- z9`)e=JL$f=%cURY`!C4cKlA-5Wo@&Pr-wDB|3|{R5{$Ndqu8Y%l5dMk&m!#*>HKfL zcY^ymY30cnpe*kr*N&Lg)o+U*<@8E>A@g3ZRQkKf2I;facYn}lXPOiAGw^;%$3Yrm z<4Ae#1iv4i_kII@2}9$5WMOgnbZTgk2 z82x;4jP4=dHMCO`ZS)>G^4-Xz%Z!ym@Xj?`^{-Hlx8WC}f22Uaa>n&tOUk~P@Tv;p zZ0GxYv0cB=Y}fw+-tUNW&cc2b(jDru>3z*M{T=G`8Pe@VPQONcE`r>5k#>E9y3HUR z$xGtTAcWAag*H4txpMbVQYR_{J)YNNMioHVQP+V(X^?o zH)IF$5~ctP0`&=bKF2-Tfg0>qLnLCnti+p2!_IN=% zV_3NpPNO^Zd{YZ~2{No^g)r4TXsPM4tGL3>Gz-yO5CJ) zH~S3W7x*Pfy28M{&j@n4;SKX_UMuOQ8x(91Z_B~B23 z2jyP~&R*i@5N94*ci?AyQ${!6ImFw) z1H2@uL(TW?q`O7FC%6+tJ_Kop)$%>jogj3)MDn0qqMwXDODuYc=qaL`7-xzN{lpd4 zPrAbIYsmcC-^OF-(1!0?O!=32qh>+@a|p?tnYDZ>zXv<9&vHxtZ?0Z@c7u6>akgn# z7y8@y58k;-p&RT&NPTBH^_06D+LP7s+nGxnp4*do zy|-C^`zvRpD$U4O=Is^&WzMeJ!kjeeT|sC3JLU>q;1!}993%c;kh@3CX6Ns~V@|DX zBXMQz;dRcyoib@x8^D)2IhiNapwHLHw}?1jCJhVYr4aZ${=6-6{4LJ*GojJ;KI>ZV zk@jy%JD;@P!M#RU7vt$SglB_)kT|kG9(rjzNIvf&FP`H25^~K-_&dm^GSY=N>dz6* z{mRET0pIt>>*)$U0*_4w_7o@RGC!CD-z%g%XZxM{ufcn(*{Qbz;e&b=b2D$Ef0>w@ zLC@0n5&wL1tR4f8KZkxK`&b>MZ_c&&<}>bJk5k8I=EnI{oyF&=i}PjVIeov*wfgev zoxVeLR$m!&d9!op`-+*zv*j-G73DAXW!B9n{vzMvm5Y6o*?akw+^2oN&)w$R@#wt3 z%DSfsYw`K>ntW<)K686B1MVt!;IHUX%a~iQXWl&-8tAUu=KI&Qd4V2(g1(D2lAd`g zR9WBT+s*o8J7xOA+VsE=m=nKT?9>;-huqa}=4>4L;_BIf5c1)9)@S-2OAq8Rzt=#0 zisI7)y!m##X4<{JBJ{C;oSNZ#5*d1`KVDxWu$1|ws{BBISG-;npBLyaMqhAc``#;4 zAy3upK<^I-zsDWu_1pBH62JFHDpY@OdY~8C_Urh3U%%g}%N*T2%I=v>{Qej{?>4uu zA317-_s8nSzAyBPet)bkbBmtam`m((=>5(3^#job`ip_c{C+?BUmEEm_w&*yPnTWq z-zxEd&q_S@fG6boWDaOCbA|oi6&$-hfGqCcu0jL-arzqOoGRClY7*?xnmdr{((!;Srb770wpNF*kuN?2pq2(9H&lV|8uXEZ^A%{2oFd zv#^J54Ra>Q+JVRMLvJy$2Gzey%4XC1_cA|+9PeSi>MXMRl;zX=6l(|r%`y7B7Q(q} z+D*HdS*uX-xxO;wfUG@KW+gsQIBklrob}8W!aU67${Lsgw%~H1-y&cv@M&DGLe?^; zRKo9OCET-FF={Xo{PW>BwQc#ilN7{8N^-=cH$&I{X$9_pM&I;IFTbOYXC+=Bj8 z;D-MeYoWF97$dJzEhM`ArMttpy}a4CTH<9AuMC|Herm)+w!XuCnOR2pBKlswJ3-2E zk5P^!qZ~gW-MPkhqVc_mw7-R)=q0_(SxJ2Hdz-m_ui=+q_}yjvj^8Kp?oRnFazye% zh8uYzzX~YVlIiY*8IiK*kxnl%Y#iSrKSlN#anX^Q`7Pnchs%#1lYuM}xo5;dpLt7- zGjz&=neGH5FZ7p-w3!i(z7k8^V|*K7=qH9h`iR2+B5M>E(La*zbaRYV`fTF9H(47Q zWX(eAaE!2vbKD9017L19dX1kh<6xdSu!#E}4^5@lpYl=Sn>BM?O$Hy|_W8{d0o0TPm6fFQ|b zG5_zm-9g}|@AKxL&!b1`z%TH5L`^|aD$BpvDHJMZH9>o)1; zOi7dFV1HJWf3)~Vh(DBmt8PlVc!?kFV9zgQy@CzoHQg+v9s;vk>MFALSefs`*&|PV z-_T7juFzcYmpWBb{{xb4LQpOcSk<&m5Qfda)4?}r@k4X*rT2O;Pljv+u8TH;Xy%?H zHEG7toDoJVIQ(C11YX+vnB8GCXE+RzgM@xRoBWZ7aLVaO18c-C}`>jX+?EUil1p1h3;cS6MJmphF1Wt@f*oBjEY%)~k#n(kvtI zWIOt$J=~v;+nRBeQ7?Fwr5H1Txpq_#<}uQ?Z%wgu=zH-uOW2-i)xE7I#b}anMy7@L z8E7>GypIwm^|>0EBcHz2nv=qsK}_Y@nhb0@$(5(dGK_OM8Ac|3VhVh8CFR${W1ZCL znjv#f~M_s-_7HPLBe#9m^eFjfQ)pbow=j~dqgVv_EOFr2(J1*Q(K>M*42-vQ_6{95c;MhkOyTaLr{D|y?PH)YIx18sK`?%F!cXssD$ z+1jM7Ek2VGEKg{BzHFGWpEAxf*SFzzG0#U5pTa(=<2H4nGh>)B6#mi4yuU%6ZpIf{AY1bZyjo!-iVDI zdUo1}8lA`tw*$M8?^gRF1I(jspX2-KoFT@!njuCI7t%7<%lb+oWp!*FV#r$9L;TtZ z&rJV*%t`+|jXWTAJXJQt5V)saqhGwCOwnc2fq%+A#7LBWxf>fo#t=i+NFSt3vHgq& z-bv=QF8a~8HJL^S^2e!~;l@abXP*1^Olm)}P`Ylr}FLZhZ3v@V)|n;!enz3XRux`*5R{^4q^wtYZx~ z+8c4v~j~QvQh=mmxF~*uUXhJ!SO)|L<_yb6iHSESE8!Hv6Utn;~hw zl=8r_bF0hfY*pq?%04hI*awc=UB)5cu~ujv&u|&XJCr#Pc*l`luA#g~$=kIY8y)^{ zYO;+#gNuy!9q z$|U`O$}>4xMkjF3u;zD$b-~XIl+|WuSlfG>_;_$Q1%6-P??=Dr%IRxp=r;mG@a`-l zKkI>=_P)kip;2h;%Nj*nS%O8UGpu`_1lO*?nmHPpbfsyg1Gpw~#%<_DT{ZDW2Cfx{ zjAFyzpLAB(o?zJ_;~hcT9{^5kPJ+>l+jgyH3NL9JubI8XMUI(Cxve*7X6q!){2Opu zkzsyKyLV=2W?N07(K$>rZ=~!q!!`3B;?GpJ!zv(@2x8)TL+dKK*frhVXW+pha!K+)!l8nx0*~dZN z#-%!aBD!)XxGlz>DY%VeeiOOOWUs}ydvsIeqBeU!<0x^hHA#l7*Ei-2G^WrW8)|~M zp0*D(>dOWglbP?%ysw)t1G}MSfbnh40Bh~xI%u?*GU6u%%jo!sJp;gNsnN_V;J19H zoBeRT(ib-=^Gm+9?bd?xdaZ7@y+i+lC($n}TlZ*Y31x{dD*U+Jb!J-&SdUA=6Oarja67yBTKmRo4Y(cru` zGe|d)6ArU3B;(~Qw)2LsWerv5To-d=O@E^tdE`9niPLC@bB(%r_D$Agat0ayitZ+T z@o>!`;|B1W$Xwthd>8ni2B)*|g|CQ@r>w;xz9D6aEGT82{7PBnw0(_@g7`M($S~;B z+R2zdC;f~!t-JBp3`SnInbE+#iZV_#>E_``n;FJ_tHUui^Ki~!Bhtov-Kv|7eQdmE zHP~oio@}$H7!kzp1c&-oCH>owIrj<1yQQx#*Ub|$XNP2lXQ9jf5PrAP@7rHfW*_2C zf^R!AY?FL@N0~?AB`wR9DROH|2f8cn>D{zV340IdALoI8HEnQ0VARMw7GHUyo%VoN zxOr!DCHVBEF0tU&Qa0FVFB@oRv~?>qUd>)}p|ij^0B$=&@`TJQvd=-v?0P>aGj@TO z(5;~+**E}B-=cSj{CuKjAbJMteE4Tj)}7Go6l=&IQ~o!dx+(VLV&d=Od$q*fu3siU z$Q*c_^?s4zTH2K{YAZ z6O^GF>e3p#}Jlgf26MZ-@B89&i{5jgOZgtB|IVG*aF*lzsAc;(#Y|iqx~cOqtf5 zW~4h_OCRjxHs8SClIS+uB=1McoJL=r1s*K}+~!Gen~A@njIn!8nGTz}u!QnYex{gn zaoL~X#%SlmWjCj}%{Q^7)?e+m)&OPyqpayPjCY#}*iaiM zxy=sTFy_;xk6csS1dOHguPu&ZFWEHa_>KkF7LQ?mjlwTy7EU~rRqT5ti*pO3+4DH8 zSj9T5{l!sNIg6W^4<2U!qQZu`c>d^O+sIKft{FLOM#WDY#kc*G^CQ=dEWU>G9sN?q z&6vemnw_bmEmv_~BRusQ>wE%xb7v%A7khW5qxb%m*Yy59d-uNJ_dE6o*Yev(U1V?i zPR%e$9i~8*&$82N?Ck z-R7$!u9*?PnSQ}qNOOkUTtFHLj}CXl9rNpEBCuu6V{|WUaM!v`q1CauI{N{yn_ZnODzw<)weIoE9pZh}*NF8VWg*WZdAO!zYS#HJ{D zqS$-mA$>jN*58V(Fo&{2-((H6eyQ7(dNkxRALAZlew8{}3QS<`CtyUqILZZn5EpWFzY*10Vk zm(=6%R{Hg8Zu44bbL>sGnFy`c5ijey*Wwquh17E%KiR)s|ESv>LS0WT4VBm55qEL} zHbVJU;x<>2&Z<9aWc6#@W|quDJ@tE*I)~Qq;;Cc(2DdpMSjRTeHYuBXTluJK{U*jN zZE|euCG~uTdcSf>9p50#d}rkmTEF8qYr(nUBkF^DxR&pY)Qh?_f8{oHse7y2^x-r-$*^hcJU;x z^(~ce8?oIA9X^w`rCx6m25#f~ZgUatV(4(dM!GkGcpr!W?=M1aOrJltn>PPC6s8@I zy+gPu6sC^H;NczZZgVlXjAm_8_G#2JS2vtZWl%rfLY%Z~eX z(5`tn(qr2B?gsCM65{xt!%qX>=C6YI%b1+WI^vD+(fm+*TK%)rYCpqjPiemz-7K}M z3w7OYGaome`i*8?Q|#__@9UCYeOrk!wolWvN<)Y#6P zMOk%ay19n1RYp8zwCd(U>LlTrjG=~3)_j3`@-ytlxQ9h%A-&8ArIhXXlZ*39-Y0PdzSwmIek88gh6fOT5}E5vPOM?GsSB?HL+rQT7RDMn z;nTJ_zu+66{XNVk*2@HDOIdKgn;F7+4QXW_XhU~7hrRu5Bj15>%+5YI+z$4JIB-v* z4=xrwksAfiR@Tu3SAp4;6JtCMZmq1T37%$Qj3N8YT3H7!gBHzY(Z(_fV{?%DoPchR zO1LorTWPd$${uYzLikKsf)PXCDWD(ASV5QIE--X0^!=HXeFC{q$}Xb*rJ=IVBL6*1 zUa_g$_=#;apZbVB;v9NJB{mW}u*A+SHf*mA9k(#S7!AC&=#T<$I`DoAyf?`IH|lvK z>3+?g?1O~w!9PX9`O1hV+}7B~m`u1YWyrp^lY-w;_8hU6{|05X+T)Erl+i`|2;38e zeGE70`j&2PTnMaKFYL=N}Ec(~_pKx3Ly@ za>ipC@a3HG)8K!S{@=ttxM!taIlb9)7g@O;+{BJN6P;!)`)s7#Hgw46pxHNt3Og=+ zmUccqM_u?M{-%Y>+UxhAO^fl9SN7aKE$|9^8yg7U2i+w6@ioe58zy>XKcj89W`0b% z-wPg+7Txmz<(&wPxpwqsk%imQxz|$eYn0QD{M?Rxs2!QL9otVk`bj(Xmi9*_+}HR_ z(jXtl;oeG_i{Y==u_vM(`0d!n+HcTc1?>0YTMYKIXORz&%Qtk#_DLGBaK~%rapvAW zq}eI>gvP1pFYVV#8r%n@yaC3CQr?@$+2HpEZ5KuO@6h07T-jrBCQ&n|gTq_+k6Abj zFxrb`Utj;qXGwoX>;!`~a~x|Yn{8U|RB*eVcuC)E;nm-0M}BL^w$#3f^>uik>}6XH z%}&st#ZDz{BYO0=eFQg+H;()JYqWm;pWFNR8}CwPjn>~UYxX(z!Pa@j#@CctNExfZ zIRZTEGc@*k>lfUQr_H%FMje#%1S0F?kR}}5rOf&?^m@DI{{UH2bfa)zZ5JyB%I z-=I@8e#MzB+&UX)<|wlPd21f+WzE~7`-*NPI?rd~IxT)N`r05a4UEqQ)=wJHAsfmZ zMnjE+ara1=HM@5toMz$Fuv`2KUKHHx*T`CIkjHJpUTBqDmI_YF6j@QuBmHOU+cRXH zRq*iCT@#KwX zy-3ZL zw~=1<)XLeK4B`c!X4-BrcJ~u956YOOjHW(rbG3$E{eaHeKl_ojNWZ{sVxDT+fPDcN zGYK!CO`5KCU)TohcY%>ypx}cEl}9LteN-0;`5lSDc1ArX^8Lu0x;cR~M`_n}@Yuy7 zE3iLR%3LYs73mj5?-L$8o8KYYjq{Y&{W1G!OBp|Q-J80E_B+<9%-;fE=7>7%%Li=8 zXCFHRILwM$B_N_|UrIdYUQ?T4K?aGw0&&-wm zn__pQnc%exV$k#{g?5^-aJP9=sNqr|Bnafw@@5MhIptX#{38<3R9i zrhLJ(5Sq^c<|EKI`{69k+bQg+tVQ9@p+iJHrNjrz~moT0d(+BQI8(usHmDUD`uN5E)4lVHb|Tzi{6q$M=i%$w zwA7I?hWIa*pGL^h* z$SeHeNUo0E1Du`}eHgw$*{exEpC9+2T-ZrIOCBSi@E6hDrjYJ1W6y@0!B2RKoKGpE zE|RZ|a<|~hIV|BPvc9_(I6H-RTjlE)GQmO0Yj}gT0bJp|Wx&^gA?K%s$I1ET=0at@ zO!z%)S$}1{=H7*_;v=)dM{cYBx!-}UoGz7aEwmZIU z;~th%-0?87_sHT7&Y5PN9hW(y2|HRg`}dl;>tSG@Z0`CPHlvfXx&!IgQKPbE+>|=JxRalaxjzaX zHH7*erCy!f*CcyV!=arHEmuR|1;{6M!c%cek!#BtLjyTSC*NKmEcBG~Xe&u0-^6{F zJ(Dw``&#x{y-QrfR^1f(N}e9r0`o=kzr=Tm{{w#EkK*^?mwW&7{ur39Ayf8(ZPG*9b2eOfpwH} zta3+?=WFa@$Zd*xURt)Kv(k(v4g4Bd2OB$suzTQLOf!}=wZSw$2xEdHE&>|Yozu;R z&vY}4{i@>$H^FlTKoc8vaobp z&{cT;2Fek;$D_Co_*r8&wk7zv=+Oeh0ep)__E340FIYnWjqJYLW`EWl(`Il12k{|!-5TdcaW#ycHOGWXvqi7>v!wsrD+8JI%Ie^?H*5> z(a>FZkQW?f9&bXnK7uS?9j%PkTZ8;w_SKdC>4)FU`oVqfIS$K~vNKz)eS_a0`R(BM zIzKLJI1#^ZvRR4$Dg3YEuEAZ+ZyWw{+^x8q`Bm`S!moYgH1i;L%zrwC`O1@Ic+@m= z$A3;WpME&UEc#21Iep?3GyA`%nNb%en@xFB&HYbLF}F>gY?fC~F$*0Y)A?UhO*M9k znP5}q0pP^{Iodd(Df2V@?fJco&+vcBz4f0ixyJY-{!fVCu{Xmu*|>I8#1 z!F-Q2+YZ=`Rrn8+rd*BUeo6Ew;tRcLMh1TF(cekp1UYL{n!Q_pC|&Bh+DfuikzsLtxK^Hn)%_ z68tl&hx+B6w|Tr%Bk}uHRLnLN7E{RmD7;ITmvcUBu-I~saJOd>?-#wK!g42TDzHh5 zDVqLamOngJ56mAMzH!@mZ*44ZTvInA4Ln{C)z1!YQVuX&?bHEYV*Q0t4;%H-2GU-c zx*0Ws`2rfpfOmbG8n+2tp5e`!QrgT0znX#`Z=b1*J<8U4l=nI3YIf^=&P_M+uAH*D z8hPWWB=k;aelLwT`!wr&i570X+v8T6YcuciPf&Eo zZ8Icad6@TsImE|DcpsRLdkt=3D9tv$jd5-6-Pg5wMj`%MzAp@YYYK*o7lgw5gK&yZ zWNq$!AZzoCS8&(h765OmE5CPyi~Aahn@n6|7VlDI<S*@ghj(*+2u>XD?p%b!+c`f3=QwZcT!iEJ9?m}MW%V2C^-1WBwTm?39i1P7^$hRq zT!h72IzNQd{h{~PEE@5i&JV%41>ScN4sYuG5S)?li;H#RU7a6-6UVzd0>{a_I^nd* zCZ!e4qs_{rwrwn@%_dW~Ae2-Fr>Ac4# z`J(TQ4S|QXv+gqn_b|M2 zDDDw>;pn}}_=dD`q_Nw$CzWs!b85E68zb;Td6)TR+$PHSGkh(I_*JR9W(d54=#2tL z_}@bzp12x!HoUAnl*ZzB@WyN5jlx4u^L=gToA6S?#cM)g;g!HCP9XhB_#gbS_fFh0 z(k+BH4udzYB5po$VT50TH#Wi>%ixV$;f?!vTX-LLL~h~Nz&(*UUEO&iUzBTMF%?NF z?@8$&(686GPt;03T@9_~s)(Xti|(mvN~#RD)uOBklNM!HjZ9Q|a;K!E|M2t^wQJy; zb5&$f7HOmURc?&B;H_P>XsDI;lZ4LH$>W{${9(@^H`0J0sJq{nf3@&`O2W~iY5Lsn@hz`&27TTq7 zEgHjbe++gU{QEN4@ZBERSJHS#=q=2Pw1EHq7~EUn)0e@85C0fkk?$_Wc{Tj_$KXB# zPZqf4@Z|St=P25HE^<%$qJ>qSq*tvur@*4cu&R;BvE`(d@w$?1sRRi|-?kWb>P(B3p%*wZL<}hWETee&JOzuID17^?}Eo+^{J*4j$Ky zOeXwml#2A1sJPaTagPx$QN3GF;7(HE7T=q$#kfjX;^l2rm%wt_qNBg&+l^XOw4@KW zMY_1#7XH`EwFmxJJznK?YrUMlIK zDeEO`Y(;62xl!5MgJTDtI1HYsk5PH=hj?NZ?*EzxJ~<3NSL zo&D0rY{q3X@_uCYYr*jh@63jG-U9EGzVixvb362G9;4!gf3AjaiY(}k3!C9WPM3F* zh0Y(~7yfz79$nc64^4nS4os<-5f6XtfL~_9EBg|T#AU6!vLIsbPi`g66x=-0Gy>-& z{PsED%f+LKznVDVt4m2g+xPOQ5-qYwcxggf)r{%50$X_Q&$;hT;EH_NMY_*%NngB@ zeDS1}bhm}l2>)ER^5s!);r^DilSz{lO7jIgbT>R#c=5LK-P{>$r7cbjeP2o#_{F~? z-NU5I!ySto8R>mM%9nD=%ik(4EZ@PCeGS*^5S0jcn-7lQZ>_ z_hw+cX3Y;V|A+jpVE(%9JUN>$`2~kcYtHy5%Kx7$%D3i`f1>>Vx}tn*Zuuw5|Hl>O zTl397QT~@#lyA*J|3vwpUs1j_Fa3D=k+h#Bi!BP#|8K$aFY5!=T=jp)A@0x>I9T)7 zkK^!t9}40Sci;*dSaaGxQU0e_lyA**|3vv8Us1j__x%&)|Ft{sCi<|v{pq3)i!3a> z_=83FR;BZkF%-oZ5?M*!x%8yG7MdfoCuA*hRmFW^=^^Wc=f4V1-nVE`m4lz;o1F5J zrRQ+ZM{Z=w_E6gmnUJ|C>#})MWaaC5D^uozHN2fU1D?GK_h#I&#D|H^gmFG(*}N*5 zi?^j*G6yfqtSXmxjG4n@nSWEr7fJeFr2k;q!m1(sWX`baF(g=zZPa61W{=!6Y(mzu zVO7i@z=$lm54|V`7(IGSk1P5NYes?Z?Ce8OYV5u_>VPMT{hDgh=ik}6MG`lzkBJyh7xXvPF&wiaN;m66BJCXgx5Gyq*cNH{ zdr4SbZRkm|4@T{(rfbxMsB*rmS*XJoPOVrYx9pgcC`UbSAnnc(Iiz38mnm)slE zx!krrZ>-K;3u;$c1m`;KTIITEIWMFtGn5@!EV1<-@LhVgq_(cR?2v?=(0-|7-SZ_j z)v8qap`|N*&&wS%_s&u4&ybHc*tHT^tRcPSqwI%?|2;PIbv(0}Qu59tEq3q$$3pGkToIKx zDM~F79bDQWQR+{B16P;O$dX$_baL3#F7B*w*&Mz@r>VpJiM1P)Qfnnn>Dh*F3}<3E zXLT(wp3>C%AA%v@tg=J&l`^HTpT@q>FhH5=A>S%FM_wslfk>MoI6YHThbdp z?O8HP1xj4}u2+GEVY;LncbakAAN+Sy56&98_E1l;rHhT@8Qh8pl^|no;0i5K=htQL z8eh#Xsl>6d+BU!so`+OelK=DBYP||qy9THMelIxG+miebQ`R!de2ntEl>aDr2lOVaK_$G542_YvLPh1=8a(&j?b9(w)|EidIg-S!`Dt7^*W2Y*b$ z-d^9`z2Om?9_VjZW2L<3E-A04pNXDowFS1siYLZeee74HbMy-KFX4F)gWC_%&mN?o z_d(Vr=@&kMPaWzm=@*@s^ovJmqep0~M`)*N`1yE#(kC`NG0y4}g3~kTtb&iMJFKTq zZ06^CLQ9-LpQx~Pjem~cm3?9sRRL6ev zhR99HT`^j~+01zbJ7e3f1?u1A{B0jCaDF%EBI$3EpZmqEyTyFA;5;O8KeN82RQ?;T z&>%R@ICIIj+Z4Q$@+93@zOz@_^hL_t$X$!j_9*pY?RIB4^(}A9G2gl}u40P0^ZU31 zR=N|q`P!9nU%JhgzmMDLQ`}}0f>}YlQcrt&%DVUs*#CO@w*wcyQO0k7>>FkIL*G<& zaE{fUQ~}x}INyf)M>^v*2l=T4S)^Ll2XExu1-64i+FSY!>*+4JH_6MKUd^2D*5LQQ zhSy&rhgf6tlCa`W&KNYm5`KTn8xhu>v=@2$C4H)cdEM$qW7Mum;8r(U?fQ?G)OzMR zmv%}j6d)gh0mns$b8$4?4C^fFSKo3-phF1};xLS>^zL)R_ z;-|t}M#PV=vkyykXi?W~zCoo_N9cdC#g9r=1D&Z_{7+IRGRQ_85{2n zgO3ddPC9a~$cfl}WV}|7(gVZQuvCeYI!fId?7lNH4CgnG{n!7- z?>XisFKe62aqs%z2Hsjxt^#Z)cNPvDd?T>-p>y}by&L({yJ+wnUyZ}Bl62$F5`CST zaIG;hantkD*?Xf@GJ8M<2j??2$bV!S`-XFvpJu7`-_qWVIl6gd8nWzI_!;@79=6~5 z51syxF@~gF-?IF-l74zZ?S_5R^}q|Z6#w(~WWV$Qn`2+HMtORPGMvb~s#($o;l05A zXBE#|%wtqw%gvx4`!c zN&6;zZ&H$4vM1RV*f)du$rH!!yBxFjpD`cBrCe;ymCV+@s$z7G8A?u-@Leyq^00-9t!1|LGkoY7lktbUc-#^`~q z*A-iO#Y@-w0_kC%F3&(cuqBrD8E634bnJF}`m2EStv$&qu(>bcR22x)arM2e*6(F3sI}>gjiISd#z958N*PF>t>dmY=RgN5%A-p5(3=BW zqo)KKB5n@MU#SA~o=}08PE8BUdysV<=vG*)0tK`&FOCN4qHhj(>0@=txadxGF5KCy z5B<;d0O#%k75~6}g!taX)BoyHai`*r!u>hl_umrm!rv@mZCF3%W?5Sb==9m=sYgY!N~t(?zxm~Np4v2fTB|og{pB3#^DzHlMlQL{9t*e0JAe3CxkiZ6(jXi2ipAbP_4ZbOp>J>{k@gyS^9mBwTh#-A zeU`j^)n9x`YS-gQYV2NH;fvk@>Ta7Ve9;l*g&!59mN7Q9wez5LeyY+7QX6eI2O6%s zIZ%H+wEWr40ikoD4VuwcND=VTpS=CmUn-J4fwZ;S5}m%l*fwSCRLEEXPnlD7<^XUS zr!xmsL!-YXDCW$5mHX%e=mgy9IjC~1N{arF{wwh*Gu3)KGK`P56`G=}xMbcJd7$}~ zDZIhs-rn-YRPHE89uCO`%o~;4Njy946&S*_W1Q$sv@vGFByd(J{RTx_7~kO^3LBaSwIB z^#pbYDev>GYW-s&|6b;)W($vgm0!JuPSAqb~e_$UnzKrs!8$0Db5O zmcJ=mtrxz3nm#d^{K{VNVnHu;w?_M^r~=wAKQ-}+_IoIlEjKP>w7t9%wZEU{qstDKUf)>ohD9@ovc z)9ALpBwl!;wEa^2O6~V3^?^rhMT$R1b-OM$9|ym=%>R;BIX2xXaTcE7{qUX#)e3E}TG4Ng^_@7z)EtLWxjk{+k@~^z9OuDqdr)TC4&KfD>dRC>Evgq^)Yj1VTktx*SoIS<$ugJV=#S^t%B75aB599B}ye&Eja^)fR$>$AbOszxT zSxz2gR#%#qSma>svy}Oc^%KHc5p!*xUNmIFHhBFWTX>P^@E<%rzsj4Y=2+?B=N1m+ z-OPTd!68_e<`LV}kj|-`KN?V($$Z#Qdk14!WafUZZAv#^h*Sxm+XnhOx$n3F-XQhb zWLHI-&vxfYx)kcJfcw9VcNu?elk^MF-k=Q(+9IeA8gAIof#iNUOBYB(E>SBFVP`oMgZ!4#r*?yn zZv&St>+(Imv`X2ro!#YKHc1UCs;4cM-sM=fl>0YIY$>f8G!nU@B2kUgLTxsQzCDtC zLegf^Ru2&`ZL|Vc+DY1MAYo}Q#*IsCr1wMn+Q;Wrp?4JJ|Ln$EiPz!jEAGl)c6U+c z1hJFuv4s`2LGR2Ey@y;u?{erZ`e-NgmV2vwJ@f|V=JVZoFELJT2({r#{C5f6=?l_7 zo*=9PPf<=KZc0&>Uw-@pE+8qZa&6>yWsgiX!#hP{&a3d&Rc>hiG_oL_#``EANMu$#c z@x(eicF}I+EGP8!@NS>rag$PkZ1&`_AEfAY`lIxv)uA!6<9LwX*pFu)W{+Xd7+DJL zY+$#>$wT1LLwEYzq2t)E{`$DLYA$;$6#jf*vDdDsj&U&**x+vAmreMXJF0f zTl9~4@F9zM)IV`-xW_f>Pz~en|^2m_a0o2fBpa9y0eF$T{=z#Cr#SS!Zp9D0p9I_Z+pR4 z@V4rLt=$XG!n0Q}Uhgh)ihRnr(X6$B|3COT!S{3K9CU7%54;(xv&(QDxV6N0+wBL1 z_fKaoXxkkbd@~T8R`|Z~e>oT5V;>RQG7ppXDzk$%N0H*VcC}v zW@nCzVNb1tch&6JpOtDo%iQT;%u3zvG`rubOK0CIvYgB#BFjntl6gaPsJ7kHEIIO0 znT~d|=8!sQIN}mI9hbhzm_kOh@R~-w(#}UNk-d%zyFz$;^_?%rtJ%!+v-c5pqR)nB z?MtSg&Dy3^-wdUqw}nN>zTei=K;AHj+e$s9{e`cJZs$GOohNT~Bh{=9#`0269|J$Q z_m_En_A=(FFz8d*U!PE)6K2I15HIU&`6_S1g`31?JkXMb8p=f8X5ECbX@@t|V<(dR z@(#v4{griEdl5W(?7P@~Gl3!d@?{P}HcN8CJ0`IfszIL&#(TOQo8vOavbpq6#-1T- z#2vKJ%KhW~CCE;~i=UyKoVvLa=1*q)!C&?;cAtWWlz>CmfKAC&=y-L1Eu2s?SuH_k zn^mqbr9bW!25M%qZm9}ldrFPW;AxI=Uh zSb~?pDd(HO+RHcLvDP}~#Wkm}5HAgu-$0&aq_2Zkx8djhb{C^=EN61i6YWM0ZWZxb zqMB8Re;H$2{9gQbg#7=4e?rKAC;ovU|Lyp@uq{aXJp5mV{Il>^h5R${FAMpxVGVdL z?|!0kVAzr_6lSNMoj5&neFyxhWjy!q!K=<7I|SE0B3$Q?P3M-V?Q=^sel~t~eqsE=`9*B+UIV2P zwa2=jRe^VNgZ5SjHtP^yf`1R>98Z52{DQMEgI)iF-Js59*~SjZIxg}avSv!DmzK^mDxwGwQ=uz zO64`oouV6vzEF3rdsqFlqI3IZ|7oOUqp#G7)52u_Nklj1{3dw30Ds=Zdd)NGj0ML2 zubBsqq6-R~Z1P5BAa^@_vm?WOv%{bC9dbYB?b=_b8H^dj`RdJq8kJm??%d1X%CsVD z9`OyXnq2*4FwA^Xqpqs*RKyzZ`%jIobiU>>e$8km`GF--AvclSTutrm#r=v_6r3Sqt&7_j9r@txIgdQ&n2m ze3{28%97cK(z;)T`^&?^{dLl8zKXyQVLZcnX_2|&EI=}_j7zi9+$FD4X-v`|elfRz6+rYY1BXdZ~qGeqJGZbrZ zDV24r^{)T8MXjI5xl5UMFHKh^@%xnF%ZTTm`tS4qS>n?*;vJX8zb^4BC4Tf}@k<*t zV;kQb$cbro)tb*)DY5aH;5)?XYurUkUrNWXNF#Ji=ePJq`r}4D;HEweZ|Z>~ABnBQ zR&=G)-yxNt)e9?_v zrF#SG)bx$xoT)*_Je0}2!rTK5BV4767EEAWb4fmPkS4l3a^}~{-nyT@r3lNnSZMS{NeId9`;K@AINMGztJ4jji%q`L` z(S#f6hb7FT_d^f)c4>NB=(~+R6U5Q(;xd5sQm)twf^h>~@*TNq{hQz=eOvmw^b6_# zG7dy<_ycVxJWFgaEIh53zF)_l-3|Cz`u3=@oLtmYacJ;QxClz0^<-1tJSy~fld#x)n$mRh zlL0EP`iUpjweZcZtAptFMgiwq_SkGiTgI$R-qTkt@%Vn1?CGz@mfDoRjo)0_B=ZhE zP+B^-YV`|h%u_E!jT!PnRNu@ORA1g~%iXKObDe~T{z3KK%NarKKgU)59XX^<<%v#wpW)VtWsgKhW6yWVCVc^Snd!lg8ZuQHsa^9|44Kb3r24>tB$=6rCKom ze)5--U&`Kp-ku_O3U3(Tsh&n@oEX@MqOcoLtizk9+|6r?=P#Il)sJqyr(yd zI`rK}{&Mm-RYb0w#}rt>a9FVH{%Y1-6`ckz-Jy&b z4)#?`9R-rH8amWzUs0OX&*&=Pkyj zqCcqr%&e-W9qK)EnHNiD6_VFOUWb%rwPRFY=)*N7$gBcK@>}`FRXz1f&Qa{^Ym}`_ zFb*RRNPn+qAHM8OSdDDfOJn^D9(hqV4DF9&ELn2INA$zBj4$cumX3{`J}vZ%jqBYf zs#kPOSa?LF(rkA2dmNN|PLD9Y+IC0Xe>1YhH+y<cSTrYgAxmtR;gS+8U(?MoJud;HzQ!U&;vIijJ#2ht1+66?hmKRrr#375j*m zYDO{lD%>9__w%Vrv6cP%I<$_hN$(o{|g+|lE}^Y(xiq$=)3H ztm$g3j-6mxO<&&99h!O%b-9OnNWBs%Uu-DQ#^v0F98k#Ki0e6LfnJoTuS@pc&OX>D z!V-T0ZeHd_N69Z@2BG&9Wb`$bayOyKmC~1Tp||kZKfW21S0(;6{MFFj&iE*KT3d1- zI*u2)wR#zAjqk800@xx03hf<_sc~NBRj)x?-paS93D403$=ZZe+IL(Xc&9)YZ!T-} z;cD!oIeK6mb*(4D^_yy(oMBa}~b~RDgCgyeQ zgRY8SsBw*rVb-1s$(s(mMbIV_m=8~)Uf}9xo~xt(a{q-(>I~nS#Tr|sgS5)=_v9Ds zD#oK!jGp=T6*vr?8j;b0Z7uXkVtfvA{RjCRx2v&2$2z`CywFedllh67ag@H%MEee7 z{j=^iu|Y0)aV~j$x3PDJGLTDMFS~-ef{b5@)2YX1;_9G1YsQtnJhkf~ehc^}u!%$N z8szFJ(+14*k=)xs+cZ)Bn33e2t;YJ$Gc@+h)WH)}l!_5~aT)a%n0+X#dKUYANi&x| zbjz<*9(v6oKQgu457KB4t8{@!FLaS`2Qmn{NF=&Q{$umH6uJm=jxiKnBphAD?cC2f zG59z(t#EXak=0KH!;}|}F5*NNi9#1~R}NM2K2rNY!VGi zrF?s3Beti;BJNUJVNaZ_>>sVH9^!9!K$$m!KYXLIVGZ{oMcHB;@UF%(-P}X@VPSUv zE#)e2EB!&<A$-|caBe-!$QLVt<0^p_~?C}~}C_ky$HNs+Bv%Q<`1 z6xQpa{*n>WU$CK>N8x#m;MxFxO97Wg@DN*@@XMe+W3TK_y!1!z3^R{_o9z0lyI!UASG0L1wSixiaFIv#G-@%=5;LwaM zL#@)gn!%$Pe9Dm--K1-#49PEf>zJQfC?k`)3cTf{sporjdc4t-CbK&D?V*d`9N&LK zZjgK!_tzh>@{P8>N!&|5WD3gIMqfAr4)aLUQ(rmPw^`Qz_Hm(x( z(L+a(IfeGsPpVyyKBdOmq;Jvxeaj1$H3CDsd*GbX$J47shk|by-d(=rZe&gwBhAbW z0(*0ak41*?INXYU*1=vV>T@OE3Y-h_Evf5v%I zz?|1AxOgAq>?Pks4-|Tc9YFe)=z;%o_HsRtI#_z3@ZwBt-oQr>R7LZEyAK_V&imz>!mi%n2UN~lBEa!o^tEqtAdC50QXtr9^to-wfzsUqfdrsd;!mrd1(#2 z;xMww0ByiWo%@FQPum9N-eGoc_&eYCl3wPQYVxF$$4%OPs^3R%?Q{CyBHdfIq}<7N zl{7a|E!hIjrTm=nE3v73F9)!Bc3g!<+xmQm)(zucKIYd<+QM32{U!4*bAa?uk#Xfc zR^GbJi)TL{dy%+XHEPT^o79*D=?}Je{{U5bXrL-XH(vOngR+u+Wrqf-@0&xQY6( z&f{7Yt;R-?*LU~K+7E%Xdc_^JhgcUs^U$V4FRvIl=j{ovoKiPA{7=*!1`7H!6U(Wn@Y@mgnZdrV(umtR}^*Oj@oAkzZX5kzr9zs-;2KSOwof? z%w?`9ZM1Dhx|kEFADjySnId7I-%|6j_y2%8k*`U zKlMwIHLqEH>X(9>tWind$Y-6Z)IKk;hCbu7-^V%+d%odMnWQPR=LI5gWsWJe-yK+K zXD^`C%RZU4N#AS_e#WSUZA*`!|(8%!N{eY$~vc&mP4bCx%??oItd<16|F zAO53z^a~BI=@+(TEl71{6{a4o(J!d1g4A-tM|bNN3bW=DkN+M0f+vgpc=!*$&)tgg z#i@ma4}YXz813+;%D2Ox>D+V6J$n=8r=ErX*FCE)u#f0M!v=NX@J4k(-SPN&I-8tu9lj{@JPQ8Tny6QegI(l&i{A+5MKC$p`kJPgE zXv||hcRzlgUHQxHVd%*!$uUml*^oyxks(Nf9@FYsw4ln3o(N6G${MxkN1`hXL1xus z(BCP$0U3SD^3=XE9t+TK>ep;a-h;o6_(|wcUUUkjHYMkyS9sAYr0r!)U#eg9`V({M zAG*hRL%Kr@V|=_--oVPfd=oul^-kth_+z=aoJ|S?hZ4>(l?+zMRf8)PVUan%yH@Pq zZuH5i=#d`u$!Vv z^xsdodm@_e$3)I$f5}YB>x10U8(ljtio3A-`1(31V;Huc>_0^HwJ*E3YC3yk3POBL z?!i)=!xudtJAtL=bCaWG9}qrWxuzMbhZe&+aRrox6WOP@9y~0*crfKTlEeU?)%^)m+^EGx7CuQA?>@+D%ySD;4aSV0rL*02h z$<@Xj@*Q(XFNbgT*D9fiMgF`K)W4njuhrsnKePAA{l?z6^0+<0)yywa`TFjgqF1@0 ziP%q^DjvP4PmJX!4qe*ifETC3o3TAFal!M4r>MTuOMS>3wj~a1P0F`2IYW!dEzxXC zJerCr^!byW@OQa;Y!YcQG%YvZSDNgJwE;QYDn z0TsY-5-&2$?>f3S$lgnxaQyk;H|dw67jYk)Df(FH$HKF^$BieQkG#QkoWYgvBgcq5 z;5gbnZvI{9ddNn5u-Qdm--yJ15=Z`+nR?(E?rqtlt0iKGXnB8Ave)s~+ zr^%*EyO^KA5r>^Rmeqi*sq$_cIw)stU2K1jCV zI)EXxRGA+nd-&amo?5`Ty*o!4FW95}FW3k8SF*R*J6Jba!)d(<+gBZS0?|QQ&<&2D z%eF4(eJ93H(?awU#;C}xGVXfDeJSJUm@w4j&Bo!YI-b@J-u)ya$f z0A8^IUU6qsvcDh(moo*0H>kj5&J@h+gPsvJz+cB*dgUw78|*Qza?T&jOH{l=hwftM z+}O84x_ZCr9w#!pcX{_%FZ4}2-)Bkea%5Q6gk?QgK_}6xYiUy}9sXgop|ssS&`I=s zp?RU>!{mFhXGB3O_B77Q$L0~m-D72Td(40#A0|JX`C;82UW6N77evyRbZKMMH67TG# zX4yh%#HMi=KH8%Xi0<8E%h=TwvSmEfJ@#L*y<2%hWjsv1PP&8TxI=Nr2^Vm;qu4T} z{+^F>O!k}&_OM>4vv=$_&`8GgX!@|+-Bd{l>pdU1|4yKNGkCpZ1N9pqg^y5bM#GdASP5z3c!9(b?o?h5LL{6X| z_oE*x;^e)6w|Xn1U({{>eA*|SGJNPT3uqG$`*^Uo#&CBZ{djM(n;&cYgJu5tcU}6i zMnCSyeoVD1-|EL&>xbCuj?iBlX@|S$n^*SNDa1KG?A~>Re%W|Qztp&6%1gg=(*LAi z%K4Xk`sKK&e*R7H*Ue7^&&1@@CqG%pnR@E{IQuETwWqjb{r0lENuNoOwFV@oR9jQ%qc+RJ<^^SRjTgulqVn<4atrg9#rw6lAh*i_zy zrgqBvh&qq!BeR(>2iDmuiH2cnV(w@SV@;Wku?n!Zpzn5~(;EG;#j5Jaf zdpWJLj^K`eM|3814jsG0zjf~tzByn$G5|Weld=l=X@m=)WdS;)9Y1t)6)@%{>{O{^ ztnXq+wZd0f;c{Ru#2&bSzBpg(1lXQSu}MFPorF0&p#c4^5WeG7Q6D+0)8!qPRZ@dD?5DpbJ!k_u?AszB1~D$sAI3j7heh8QViSEGH-?7e!zixmVo@Zau8=1XrRZx$XyuxQr>cR0Z zHUOdjal&6?FP6P;J!MF`rk-@HH`o~OjfABvtvm=%;`YKX{+sy0;3Dng=JyD6x9kI} zyWjd2d*Nw*(%+t@e_qlnDNZ76PRDwW4)yQiGhQ4WO65b=3DlZIO*rI zXX84`x{I=^vA@>6gYM56WQpHE+z7_7*`cwXFY7P;;lG0_e}9s*u$&$7axRKBtzCNu zs)5$I#ee3UV-)4W8R!FQoAjaQ_V(%VumWk(~xH{(r>1 z3w%`7wfMi!%p@6@1oA+Lgw7)guOPlaP1KSz6CNs}73j4^er1vg5HdzY+B%U)CJ!I& zNHxkWecciSv_`4kR&O&uwSB%#d z9C4UR_LiAS4o@?cbWb;x9J@EY_Z`s7gBNPMz<)GO=tQTU{k>qS;O;Rmk} zKSSu-fb13ezW)LA{SZA!_TM4{W$w6grfL}i?_n>PZHQvdH;H{z_&FV$M0|x(?BL5S zIp%sxjz&9p&@VlVjsG(3TxGQ15owQ$+IE&AKlt5$0+u{{txP2@ct8@K4%%Aay_7t% zM@V8FSc1jaZt)MzQIDlCM{wzxEfW9WiA=r4)QtV;vEr8cUuJ~o>mzFCKU`c=XWqF= z>hZQ^^xM=$%hX)lBK~5mqaBxhKx26)YnVx%AwFV5l-444 zvn2ock00Rc1w6rFddo|joh|C}%UZ;CDszV5X!MO-&Lwf`u^V{j%vM+FB2%DaggK+) zK0jM{mQH&QkujQG%DgJdT~9j-O&Z_6pCiI4z})y}TFQrXJZN-^)ACAm*S_zT{`mR`PwlWy~G08Y4~mqX=}`3U;Tad>{9F| zQS2rg`Mm=iPQb;xiXp+7VcxHn{tk^B9}Se8=ogujcm9gsWUt_?MB6kr1xl6(S#hx&P7%d+n&u05f zLqdh-A)#&)z8a)rmus$CTKt_%y~IN*eQ~wA$mn190f%nHX^8uxijGi4pOdo0cXiHX z_#i*TJ^MO-_7Hv8JmQe-Nm*84X{ld3PPtAEDYfcLOsaXN3qLoB#o=I|8e=Nv$VKLkP{g|; z_6TM6HpOEyNjx4szK^nvG0!P5y@O!QXav-nuO6eK2;MwzPzQV!*>Hc@74!|;`< zDuz`i9Appg>ijR`{6mi$6C!Ez4D>&2qJ? zY*U$@rQl`Q9Bt9+tJ?z?;rCXmmZV=KzLFP*s@QWkj^F3-{l%FNGhb0dRE;}UU#6Dq z1iqiyh_(B>WyPOhckm4{hh7?bk!|Tfb4U?$HfZjsUB;fp#^HLnow<;u&M|8>cnq}! z=j?%p9b@bZUT?5xtuNfUrNfGff!l`;P_Kp?F#CYn2h2WTj(GGev(%TW!oPu6HBi3j zyvJ7IqdpK@5M>@A{(2*{0N2|ZpoNtAjZRmUlu19yVz25fMVV2`bYeg84piZ{ z;HiS6z%4jx;3sf?0*zclv;>Z%m*Si8E7g)g4Di127nWLzgg%Af(81mpfv?^?!2jv% z62lZ~%6!*fu3$GpX>uS=B_L`7`i`U_Q2u95pdSUz8Xr1|9Hq zGw3iVPKP&$+tIhK6LdfaJyTsL=rBlyrMzR%Vh_B!J)6Cdw3h)t@fFTkX7)cQGh2nP zLEZ{og}y>lp|3LfkFwFT60{|q18pm`mYY9eegd94zI%eF(6xbgPWt58_(O6}`<^1; z9uC~}3xRtEKGJ7|8+gu13;NH!E;X?O-#wv;<9fB^H~A`Sz$pBF>eP~h!%4qTOAd?` zUmx}t+|j?DW1g%lZx%kYju_hawS zt{35HMV%7d&4>_^A# z!8deYDd*jlVK18oKYOp&h%u+(dmy~J5nk&h#r_j(fZxiVbg7qh5~IC`B>FjXKI2(z zugQM?Df05Aq49n`qohBrUSdoc^cs3*dhKFNb--J_#POJW0l57NJ^5_71^*t$&6L2c zp$~42;PzK=I~NW2L&Jm6um>9cNa}%p`%j@?WdFJ8*8|<(?OTtuk+cb9OWqw4TpC>W|zry60 zj^sQ%Q^s`8^*Kco7}L)rV2Y&2VUif4GNvLI<1+}~3g-Ii=`;h{M}V0&?D z>;+)klMmgIAwu^Vm!G72>yVRlm)~}w*9-kgXTBkFKcR~`v*Y=OUO%+xYJPW9=DGMl zUtan{;+mX|-#9-!_c%3QKs|Nms7F6|?s~qYFP$$w73ZiYxcA)kWP^|NW8{S~){b64 zy_3&Tuah`v!h_BxlOF9OANIjNg`bM76Mic4ZhW7zg^xyh;&_~`yjdUyQ`^}cgTy}!SJdfWendfCg` zuYJ2Npx&SS3-xY2rQTm%K)rSULcJ?bsrU8^7?#AA6RAxV^7W;A{@|#1GPIADE~=-cUDqRwI5p zmFn(mx~k`6OTMTLo7`cV| z^WtTbPsBc!JqM3ND~a*;Z+Ymcq!wU247}@rY2XMwyb%3IG0!_dET`%B*FW(+eov*` zMa10Qi~m%!vf=lxhIoLp8yLFlro}2cD+2hR-_|VWnzBZU-?snztjn{1s1_4bw(oj1 ztMSWwuknCmKKtW+*cIhF6MjMR?T5h8!}`ZFU-Z5t_PPfz#!s4e5woRDo;z6k?A@aM zxrtQlYnr8Wa6h_Z6D`EoaUZ^Kt7)T}iE8!_f#=)E>Pp`4!mgRa{gqt1{&xS)+eqLk)(^uu4~arw^H9@{)N|1d3O)*q)sVsbmDjUzM0?Jc2@?ZoXV{9ymX$WoJ!JXdB2tS&6f`_>XmYy=h`6lBp8|o-+kuqw&c~^TV%bF+O`tQ%kyNP=X_hU$J-RAIrN-cpl61O3Gbl;;a(heXzUcm1cRy2h7Ir`*+{Tb~13` zS>U&l|8brxdEU3%|H`u_>+}|R=C{4OD_;>jBBTQQ(cP8p&7>>p(({^u=P=hJ+zZV9 z`z;2%*71Y$IL{{QrmHLl%$#YHHU0jyoUvC}@;KKftBCsnT!;MZg;Qyv_ZBP8KjXZ6 zAA8Nz&_nMpRNm%9vC*D0d0qq^?xt@{;~K^FDE@px zqjbKzk#w&%+Aie|mj1%Cl$XwZCFMxF%Wpl@_Z;-MCHje!A+#JI-;f?4@AI@-NZG(C zeflEu*6=LtCG9KidE4&AM*H^AeqW=lr9F*)&+|0eQ~Is6t+cDuE9Fn6J=c*=A(eXc zL^~G&=c9~|X5J0teg*eE+*i}KTS*`JYP^jfp&digrinI|cD0VRT&EFK7dd4zNj*8%vFbGJ8Obzj%w z+Fc$fq}@i*-ub)l3Ml$(!ERr`scd!yBK%kW3@HY#`;}vRqv3ea$MX zOUrpWUDf83u2rg5BYo1MYS&m*?P)TLnC0+$V_ijfb2_wbW(+83HJ$rz=yMbIKK;6u zu{>L$or~wj&N~A^Vr@Ox=?{Fbb5X#9O~0YDJm7%_!OrS{;Oo*fo8a2PZ{jZ^bSvWh z0Isj`{xYt+I{ocQ8r<25&pmXg>8x%~g$@>I;O|`0ZiNQbop-k{>RjBu4g8zH-zxa$ z3jPE0lyg8{haq2sGbQ$>;;+{{kht$ABhHz`IFmKJ_cvONnBB6@eX30R0^K1pOU0hV z*X48ciB|kw+{i5tZPbll>zsfiTkIB|dMyV$vhg7+iug71jJE5`9J9I>YT+DWphXsI zoS&jUA?t;aW#|dBU4y;%IcCkSzld0!`V)Kqh~1HWK4$uLFKE=sci)uX--?$dK5P1=KUqiZ*i}j^Lvaah;jzi)X@5D#D*`^68|Jlj1l64Ib) z{@?}^zHTi)86No@+aPVBYxn^m7v1Kp=^47y9vN(YwG~>7y}o zx_jpqbe1FLjO~N@eFOD~U->+9hCgz<`*_(CD~M^QvG>SaRAx3$_d1DfW;Tbr@fBk? z&O8^-s?I#?yY%NRwAE*{m5b-d?drITKBDl?`VwET=v$_+^qJ`E#JEH*MK+qkUq^mP z858iYbm!q~v)CPW)zv>y$h!x@X|{GzDDtv8{((6KeQdP-R*6j}@W1Q{r&HDjzPEC2 zSSqodI5B&$g)_WNoWnIGhiA^yT2EOIQH~;w>@>YPQPPc`SEmi;%m@0xmpseg)A2;DQ1X66i0iFKUT#PrJN4L~X|IDeGkbV4L*0*R zvB(`-OyG3ts%7sTD)!+MvY%CJ8=saDDmQ7N=tC;@5a;(TdRL8zlJCyHs=2qYPU$Co zlRB$Ok35ebH2rD+6Iyt>O=Y2@wD|eW%Jnt+!#3c!!kiHr&wh@`9d6F3u7Bdlv)F>n zgF|e*5A9#5#rE_4ksOV8gF;6JOPU)xVw2PsI+CWv@aqrl_i3@$=^x|q&pu+7-|V3y zy;4qU=*Z_PRyIs!jZP!qY888$d_L;QAoY+gFr|j}jn>f3#b0_@(P%UI*0K&`l$Q}Y za!ksxgpPb9sX27ysHCQlQQj(OK)xe~ct)Hw)fLc7&K?|lfBnw? z;(4J7I7>D14+`zSPSV`a{%a()h4xR7)QT^cr1sGMaayc9k23K$?HZ=VMw(NYdM)^Q zf}aKZEOvZwC>ZXZg+0(bxb4!{CxymupA;&uT3qZRzJ^OV zu5>MP1{(T2Z>n_$qC6kfGDFEcYk0?4ZJDQ({}SeWWlCjtY3gb>?XN4lZ9L<35cikS z#}v;pzFvsV3rN4b-0uoRxp(<54XiOzXP|?z=1{4A@3ZlaiYNO0nQr6 zq0apR;&#Zh^ydx0xSV#Wsdfc6Mdk&{tAV$BUcg(OACTA(Z`=mVqtz0789eKG+8>*I zz1e;!`Yihnu7TIHr=g2aEaoFg_B*eYuo)oEe&4d%)(7Nq#%`r+t&AYFmHKH)(u> zFYBeY#5d-1d}C9!>Oc6Vm-s^LHMw+f;+xO)v)40N)p~!*H^=yfa~UqpNqqCsIljqJ zwH-g^o1=U)0>9#6dTsY1JvInDmP3cl;Iw9dme-M{(06p=@MY#`!_e)XXK%@LckD~( z*EP+J54v9K%+qVxhfwRPv*-O5dTJJX-p`?91lxj}dl%p5^Svog)kbN9Qv5V@_RK_| zaED8CiA6{ZCHwO#vw~~JFIA>Sf8A#8`05nm%pCN&WA80=#}2`Z55MIJKh2q?@YA9( zY9Rc=78(P8y%gS8z}PjBDt;HayMLS|^|GA~o>G8f-X>LYdi?5SH6 z*JPeOJZnFE`WElXr*APAT5fGvx&9WND;~pU?JX|L<+m!XeCBs1&hhjRyXJuSLGAQ} zyFT}X>4&n{$sd&cv&5FjqTlDEpM3zGo`)tYpvRT(lm`aEOI-dX^!q{nN$*qyJj*ll z@~wmOHrq1tJkZH4boO5nn1Sz!+dRlN3BD@j43e`u`DWBR<#jH;yVAcruo=C@QFo$+!7@>jIXU)a|)pF!lGXds2Y-F7djD zC+e1SJ1?N_8urv0b)$nAb<4S(=UMj(c$VOuU!+Xp^tJtk9s-qYH|xY)>Eku9?34ex^Q z)GL$0e?&)ZZG``r-Qg|u@Sn2y_^C1JwNKJF8t5Ab=7}vX&W9qU?$|cQ5`Jv8PhHHY z$tCVSeIpe-Q#Hmdu@EBH#raT8s$MJKMXou=Hz}&t$^QPxgg76n8JPIyvU7YhK-C7> z^B)<9nzRx$a+_9SBdhH;=AKkh8R(I^(`|WuPcz&|hl()&Mog5Pv!+W6rJhSF!O@DUu zk8$4f-|(JEoT$^tRrCEg?|BX0BeB*e!#kdWkG!`S{<9SRbFVvgWSN_JorhRN>7g+y zBQ(}Lz~Dgz@S=Qpk~6`7%%sAPg#T<~%^r`AV;5KIH72|H_+uSJ-*yE3Pp@>ygAQD75EO?nufgq`dy`D_(I~ zuOMH(-A9^l9m5$!S8zYZK3&?Aw3@VB%eR-K;|$<_D)%>YpF)}LVwb&;=W(L{6my0I zb(pVp*;R3&-EwWdJ*Tt$mHF0@cJsAPd$VYGa zNxyQ9S!kDj;vsd>PZX(#bS!dJ`pu1n*?9vBQ}f2U^sKS>XR`Nu!1O1PRW8ysi^c?G zpMC41i2-aMEe#*{&VInO;OFbOdi*N3mAOmz?d%Pr4Q21+ULSH48^`{|ioL|xESSsx z0J}~PzvnXVU8l^U9_Dm=KHae@D(%jVUx@~XQ|_2;~9rOGVb+pp}UBsDDyu0 zF|!``yo_(E5yt#=dwh*A!km@3<%W$W(xi@Gh79oncbS#=KN~qugnGIkb;mwnE_-l) z+GSDf84Ix4bf=YtHOl+l*VWug>OauUTv%uZJYsed+#Ve&6nR$W``8WZ*=Ijb9siWJka+xu?oh|8u|@0; zshA&I)B$V;f5$F#6#LNo*h4eeDIz0FR>Zy`*m>m=d9;W z!QYVBCd|Euw;8%7JZZsb6(|JnrPxPaY@Zf;#H7c9>>W$yjzKhuY7%xi6%fJXth(;BonfV&*OKLsoT^UwIU1iD6_htA!OfPCM? zB{*n&?`6&+-|C5PwUH;kC0^7L;&FyryBvWvpZ3oFyUiWuyx+F{A<-Kg{sYK@ql}^V z(UCv+sUDlo7&^9Ek1ZwrWG(T|;KeJLgP7?jn`f#IqR6!rc&-J0d$86Q&^wA-_Hq6~ zA!*8eKIF!tQ)JqFWLi~1rrnB6yCosh#-EUBDaf=YRb<+l(_|X4VuV-K7SLuQ zH_UOl0c`}XgRkqc6itPaaQz_xS2d}?HHuV&FZP#b3;rQo*p3o#k@p;MwFXXsDY4S z#};)ie`TXeJ>>0N_{v!1*uu`bguEJy92;$~pxi~2v5@lOaxD425;-<1A;(4`$1Xv3 zjY5uHV!y+XW0$bjh8#2J+m~af9mxInky}3#nMRo+$ENXohaty`>;tJ|E$>wEX#3N} z`F0!iEkegx3yt?%i|m=eIZ$9L%tVfjvwKDibfi&^N>A$}$LJG=9ILb!7;>!AKAE(- zF58e}-ybt1Z{V1$yql0?HzCKG)xhcNkYhg5wTp_8V*`<66Hdsn(a12JxD0#YZ~Kr5 z67O|AV`?uv&r&#rb&Zswy)VNL;Z@zp2idM|fl)~5F{739U z?=yzQHq;te9>`zDT!>4t=6IT|V%em?yX=deXSVyF!(P0DGDJQ|Iij1tKv|-n@1wlO zDNofd4^-TTorhG_rBYrdwh#Jv!j@Ma=wDtG*t-5GG91~6?xbV;u7}>`&>@Fw25}RX z-si}^FzkRI{YoW6KsjxF@tbr=l9wU!xF`YF$S-+F_ zQPw>fE4M{#=5R6oc8)~6>YA&S>U$0QjZ%HDx@@KTUh6L@8*!*>U+F79d~EQ2S8p%< zUp23N`Kx8@%2CQAW%h1KG1k|OGe%f%O`eA>YwfZhQ`Xug#zb--t*pQQoxUvb$bKYn z)2HQZgXmItgsgSLXSf!asHJx zw8x^Z*d%+vp|!*)w(y-ZaUUdwzQDxVlUW%tFg9>TLofTMYe>6zA3rB=SkZ%fSmU-~ zPu#ADgI`rw{W?QU{0KeEyZM%|mv~2aeoxJ%zwTh8<=p>+4pvS2J+5DHWqhr|o<_YY zx5h5E0u`9}3jKt$a56ts;1o1f*jt$sE9?rHPQU%X;W=tdwOw<2k>QK%FMPCPm3(L9 z>GLgnAZ8zVFkbIr(ocZr*@x8J-*bPE%gX&A>XyB0%6eC#4u5|b9#kI+{}vdOwTAld zw6phRwwt;imwKHyI^wXM{#`lwv|v2;P{rm!VXYZj!Y8|FACZf4K17!f-uy>B{KPTn z$J&+9?|SIo%KcRI^~rg}4Zcp|G!x$%dAV)OWLXmocSHMa$XC(DO~5}w+KiY%$+#P* zp2d4c*|sIckZn19yMl2SVQji-qoMG`j_=y>-_f5Ke5G3XO&jN5x}5f}57uLHR;Lb3 z5%h!EIq21wqNg)Yi>$R6@ew}4zvCMA53KzSF*op^QO;Y!5#kSwt5b7fEIW!wck+HL zsTDoZ%bZVWsjPncqy#<78!vA$sakt};JN^Nd)f1C`EV1oq`VJ+b;tMbQ*)o;l9Ell4AR|tz^V8lJ>Eo{s zWFD#;b8`6Rcx10>v>iDVK7cQR#`wDx9{e8dr9+o4c({%HtQUvH??mAT6Uo!UhiKOd z%8)o*(c2Ygy_)hO4lNuZuG%e(xeW5Y$-1`e)mQ0*LK2_Q$^9iVr^Lqs94AU2iBiwu zCKWq`zQp|WP~$Y#6X*{j-=#0Shfa17Ju9bpDsq27n~!;#m%bon9Yi;Cj|&=oM&8SO z)(MZ5-{rUWmZ4+SOZnh3j(xJ=RkFnyGRE#S;;<)ZFn%61$ZKGqI1oNkhjUMcKj5s`iH|e;YCGJh@h*?5UKU`lKW9BxU^$9HvtCNb1q6%ZsJV1)U3w zayg45G@rW6TB^;bQn*aE`IKKl`A-3R0p)iNh#X!q5nsk5S8K?fgW#g(q|#Fx(r{y}{9t}izHto*6;!3V&5 z1Luk;^}@_|(R*^xdos~`6m}P@-a7Lh^q(c@J)?!6k5IE(t49?#nDy`vw!1>XG(Ft3 z-5J_EfH;WA*GKp3Vd5D2E!bAd0yCa)0ZR}1(9!$NdA^*?ywbm@C5m^O2M~iRbM^3^ z`>i<+-aVO-m8W=aKpr-rBhemV9sNzwheTfz{jUK%)J6Rb)Q_BPS&!e+9#g9S4c?y( zo|l;)3p`IVN8Vu7YX!b$>?bE-%gL+Eu^aFSY)QDffookBIvcPGOy$5NaAHHW37pNq zB`^ko%>isWXZ}Qp3#y@`I)U*w@co0|>|HhCPrVa|$UKHPE69=^kzvGMftUY)cTx0O z!NJKlS|7Xwr$;1iIxVUFl?T1%vdW*gH@JcCjutoc+@I$2rheUshz!!~s^d*_w8TaT>5#~2~vASA# zsQ%THJXCn6rvy6o;hjEsrVrUE{7_)mOVm~GGl$rNuDzm68FFSj=ZQ&w8w_7JcpNbJ z;oD-X$xyi=sr%VIVH`cNqWL!KIbOfZV zX3Ca&r7S5|%9FCryPQ@>z(P5xe$INtuT9GENLdz(t(mdx534YKwFA3n7%@KjZI6`P=s z@L+|1QVQjZ&+9KJf3i~3N5KO|!jqbrBdW|4Y#Y?6(PG7sLv$9>{Rw>qLrC#wHE@$2Oi!1u`pYhlw3Bx>d2mB`s{xb;vlL7C! z8{V_{47?}Qhxb&#dn(~QO$P6=_$L=I|4i^6>^pg5#}3M4m&OU+BYdX<{v+eLiTGgF zk%Le09vSB{t`+lBr7}+N9v3lo&%}FbcrU!?kv{M=CV1g93Em_2xnID0nt^W}XX;H) zz*csDR$i#imRFdOZNS!;;E6tXk11==X}m|~v%-5^z$Gv`&%t}d7g*xSu7=Mf@3(N@ zSJyd+uJfMgIC63HwXLZJ{|47qGP}C5jG3asYS06 zU0crR6Fs|3p;N=tL=O{PTXeCc-qk_*Zt{vgCH~#zn_Y&_XJ6f_@^$u+d$5d8CE3a9;8f(hb#C+{?@xnbh3l>)CHUZ`}M!;eQ7c<%Gq{7%8H-YGSv9C zdFzxDFo_*c^ugd6bi5xy&tCkFH@wh0Tjc0R*h4+duOMJOl5v`0Ncf3+Rjg#eV;aycEXN4WE;F^ zYHoU-@UQQ|zY1xm0{UMAeKIw7U|u8d#73Ae@8Dg{__0bm1?iXd^g|!*G>_DY9$!d% zxp{7)Z+19?wg%y$^egcxbos{=69c@Z*JSmt$Dd~WMsyqGn29sMMFyox3J!|2j{Yfd zd4NkK6#hWBnuyGHilIJerZ)Whhsp0Y8reR3RL?a2?k@ewkLB;6*t3-S@_9W|Y5Z%AKSvhpy-jDgZ;4$? z>|4n_B+0mAG5ARYKK2o73?10Fx^Gv;nrjz4uIF{^9=|5$6>U^jani0OKFoWuGd#px zhJB&8HGg~g{Yvaw8u`4uuTYkdh5n#T){9HU-euUdOvYI==-IdV zRGMMW(%=UQn#vhDlHZxQ50W}*Z_axNm(u_AKO76LgItv-XN@0{PYRI(vQ@;}NlELBBrstj7xT^w`LxJqvzl*t5vr z4egWszB>{%~}J*yRa*0Xo1xiU{`Bc)%w@C>QgqJn+wS>I34^Q1lN`oPbyXRS`yvu>(U zbH$!@Bk5mg%TsMx_a(k>U@xYu9XtEjvBVyRZvBGv?W7&cD|W13>#tg|OUWEe=3;M% zj|6tC2sA!|9qTadGyoskEOZtt<1T_7YXJEV(QX5opNal57X97H_v5}^FgTNOQ>cVap%}*%`Hi-1@P(wD)%}x-WnHS* zWcSa2XSk8Cja)vi0Q}kuTtSPR+Se7MxRBUkhguyNEf{#sZ)UCZJIUoIM+h1 zx%i%md@AUJ@1y61@8Hw$wJ<+T>J%4(Z}1d+UDXSUJzU-B6z7X?-!kI(#_fS~#2(1l zbzUN|U*mmg!`C1F*G8-}5TI{{J*~y|vi&j?fQoQReBRvAd1$tZ9E8 zyPj`EMjm#etcA?U9%AnMCUHdHKsLP2p3E&(i;Crpx&JF=GaueS*-umUTFU+ z+Vp9i%iF)jUeRrJX?d<(_BuebQP526c@Oe^17*qgQqBdJfjw`&z(5&Z?0HfK^JJUM zt+d2^dK7I3O{P!jEN^!wY?> zE$f*J`^>3>)gy~7@Rf}1g&{M1MB82vYDE`x!9NDUJAlVuh(EQ)ytP&I^7^d2H}BW- zq66%Co0+RN1E0)G81GpsH7(E09J(1@Q1B2vQK27;t|)dq3w*{5k1_0d>>-dj^&0A5 zk3CQN+a6Pj{|(*?pA#M@@R)!{<`5p>`6F{`;breIr~VUjYJqPZX9VQ~n~d?w`s}=( ztP#M6PrcBMOJH;Whb7x?z@~sj?05oOGq4%F57-1ovE>PTXR_zX{6Jt#+Ut^V3(SwO z&MM=26SVI_{)&ufm42AC*P*uwJhE>#19{-QEEpDBo!IO;_(t|o%6hHX>BL_52T$HEbHvr@n=LZ{l9;-i_QdA9zg8WE2@HG3&dD z$KQ88An!$2DjTO(vL?&CFU>Y7KJR+Wuu;4ow^4}x)XzpiJIdT&^rr*ZLJ#BrLEH%T zDyf**DO}`#4qeD(*d#fhFaWz)RkvIq3yAUs!O*T~NKfz@izA#8+!`IZ#hdiegc@Vm9} zUHtj8UQ_1j>7D*|8+?B~F%f)2Y=*3w58r(NSv8XK3Mfy?`KQW2CYdQCg)-!Omz0B# zDDu!)PbvqF=NPYB;Qu!4rzxFxwtJbEvi@{(9R=Cr!cKp5$ya8HefFr>XQ2)D*%xFj z^rU@u@jqvug}z%2`|RT43%1YF7F!Mb?8$G>*FL)m`)q)CetQynsMy+$?Cm`-`)rW4 z8Q~{3c!%huW_WngJ}Y`C=dAmC@Wc9N?6VrYMeMVpqn>J?Z8#xI;%h^)h9Ww~cLBG8V;#)RjoXq%y7)JnK!y zAvP1+TE^)pd<6U1iQp*(iN95fOm!j)S1<=TKspuOt~X)R zXh63V+r=9CK@^$SguW*>iu@6JvH0mknM2jHX4Qa?4s!UmW|bOp;G-ip4fY-sb(rVv zO5uE(^}W3>4xr9b_+18l!3qq-nwn{Lwq~co`?hhmsY7@nHj*{KTFTnu0N@e-pmmgK z)OoYsK9Bb|lBZNzj5@Wi1;hK{C%tNbf4vodZG3~!)n~Qvxu71Rjn+Ps7LAz8;(vLL3lAbU`t~<`v$;$E9cco+4vxZn^_O4z~>8{ zprwI)P2}l1L!NJvr-5%azlDDov?%9(BliMBBmo0s!+^m>`}Bpudj=RH%!vgKfk9vq zIP^2Xai)A%Ctz9K2bP~DU~$q9gdUTDr7sM@e*lBfSYU8aw%~UvJ^I3t%sYg!#QcK~C7knu< z5t~iJpR$28m-7JvD)VZM{;kP#n!3kL|B=`zd=qYz^M(FT?@*lzTZgx8^EcY{2zmtlQd|;9zefpp#C3@ z(qlg!q_Yo0E0TWplWg=^#?UHa;>!B&8+LqpHpG6E9&fpu~*28=8%i72Of~D9!6nh~Wih|+Irkv1f&MUczGLEqqp@#VM z!NKabWlO(;pOiLhAAY43*s#;lnHjfPa;}W*2l?Tp!SG*HPRI%mi}Kxd=Aof~i2AICO3LmJ~V$nWKp zPya7cte3mFcj8YZ=g~x_qi4I+)xlKkn2yY=BTwjI(fN;{BXuoITigf@zc*ZuS)pwk z_%=hcjmXmnuEi!pJgb!ZQ}UXrOU`r)!c#VkP_rLmZ)pKBYMvr>Q_nPOT49t(MS8@Q}Gr2Kc{u=ZIOYmQB|`q^p((*ee?f zs+JE(AL^hE_RxMnU)jg=INodPte1`E{eO#X9K>{{qhu^o@WJqIQ{aBIXw@$eg8a{oStU}vbtY6m!F8aN3cozXmdr|yBQ}gesg)v zMQ+B4jA_=bvK*T7YhBnZ>B~Pu50f!b3g1-ly!o6JT^QgD@kE)00mc_{cB6@yFX$Sw zZgnf)O(2~L{}4VYJWF^}oLA+^d=>tft9(%Q^t>?@LXc;>Ts+Y9c*SvxQM1^1=kE^U7%{Iky!|DJF3Z~xQqPqe=eI!GV5aQsaM z{<2^CZ1^t{{4bC%NFO+rFT6(k|Ig0z=L_q>{h#3r&Ho}_=z%Zn`v-hMctSy+ejz&P z*~UeZCkRbWP%!u*1 z%+21t#Cd7PTqwneefbe(%U+zM??Un%*o&yI{7U9C^!bXb_3(F7_1L|XnU5b+V7Mpj zCNAr@Z!*>!GgCiZ6VZ5QuC z@;oU1+{m-$oW%RMU9FToBrJVn0QQneL@-GjJ=VvSrQC7vL;##kq*f>VH+w zdSDfEBX5x&E3eC(H6L6zb5^Xx7VuuLvMq8xEa$#D2SC@+rjiI}!A8nVC9UL%Of!|R zUw&qUGhZVGrj{-_FZME1$yD;>^IZ>T)J8dT*1~fa=f^f^!5uxE4clc-Y1>y|Dyd?A zYUa!#*}o#O{rgwcN^mmh*hRjQwYHXhd@J-2TDTZP(q6S!4rx&@ zm|BE}$^25UzKaOB%fGFKsw3tIjP{5gkn zn49-63*3xbc8y%MiLoN*Fl(fZ%h_{330o%PPUEcSAY-bGE6O;FFt#)ccrw0ZJVhCI z8sn>*aVBG`hcPQ-N^p_!Bx6hZo{Xv1y}c8o)Ae6@FGX$<<82c#e9m0$Ku_=NQRFvc z-|?vtSL*4(Y~PTJi!7A)x!F=wS!bQqk*-Rdde76@6l*$kfO)xsZx()W!_I;)zP3~7=OAAXbnAvzPR{u(|CSz;ybm)! zF9fav@`_Aq03R3MG=WD0uy=6YLHT#%dB-qMmwXMtF1~t3KHzTv_Fy*oeh|-xjeT~$ zVV@4fJ0(W86lJEfcp@1(sIeXx*rcG9+rv&~DLs@4hp zbovMOqM0HmqGhHMH)n@S+b^KqnLpq5I&$Q9__xZL;rr+V2f%e7I4__d^!t5Y;`fE5 zK2wP=(Jy-FvwM*Pkw4N07$=c^q#{p|J!mCA&`b_Cz*&`tNr95x8 zJ5~-n$!~?P34E>5w5uc7kR_iBIUso*>GtAeK6Sizq6Hohq9h!A`#n_Gx(~qO$PM7!(Cgrp1s?2e@(`%oCjYreH_6TRTL`SnG`KLwr5meYC zIeK^$Dc^-nmoK(kxHnsU_KpE+?nrr`r-wU;DbbYfaa8c`qhr?l1ZUw)=^f${f#>BI^0w=?m) zuhe+_Xqv9%Pami+8}iF((fgW9<^LhSJX&hJ5AKVntrp#Q?)aj#cZ=!Inlm`_z-Wu% z-~8TXDK%GNBRG6bYR&tlvW}v#>zJNdcV8K2Vw+lG%gplJBJ&FIWl&BhYgR*<*AFvf zP~=hi0rb>IK}YEi?B}bP2)(%?Az7D5^oO!|f5^AeuHaumdtC0Uuum>jvzh;7cRj6# zYx6H}>3Lq{=EZFanrraTTP1%2j8>vTt>^(Mzy?v4H} zc!AH&@IJwB25?G$QTW_Qe^DdhiI>s`xXkEHn=b)ht|&N*tx)_>dcfJG)bvJhE=b_~ zn6tuO$@+reTMXU1!B_B=vC+*;s-@&oMI>k{X z_u!;iW;lG@d%(+0U$mx7cT_oVay&ey${u9Qmbcv;wsJ2z(0JAroWc{Fn})l*mMo#I zAqUw@E%cQ-s3zR|D818eJ7)Z8sxeR1nb z;HH2{qm7;Lxv#RWUTJIUOaV`+H;LyuVBHIzLiY!`PqEIo z3-4Jg@4>Gb{9YTPJJ!fE_*G`kaI|v2o_1b0rqW)RIo)B&yvgC=zM>-a_)Fli4tkwv zKk&d;(7@vj)+xNh)Z9j{zIg0Cfyev=9v;UF;4vBfL<0}(ctsKLC}o{q+Uf+~rky;% zBJHF}U*%r-wv5AM`!uDy9aAL_u$vf%<=>im+*>jAxQt;JJXFS^jKR%}!S6E$*Aw@` zMSRTp3sR4}#w@Zs>9gKBsmFuJj+J)ntRH!Di!}7k@?WNhjXA;S$?!7wGw)qCh1evX zXAWO8wI;TV7)PbkYT$RqdTa_ZNBFvl^e3c~Ny`)IS4iDF%Xz;auYza6zyHF0H}`wF zcTv|S@_fc~7tcR7eW2_6-sK`vP@QKZ;f=Qfb11DPbex18tA$R$Pp^&ppAJZo0B;yeT+v7OB3DPMDUSORWfk(gDN&A#vEG9$wOA%Q(h|SRcrfu!#>B~d@Lpu8$>MQb zoygaNEIs*qrF|XGQqHe|N8pwA`8M~-ekpDAO}58HB8F;eCxn;Nqo_sZX(LO=;a_${E7jVm{Fdp2Kk(Znj2-9mH;X=Uh46}oUvjTB zKVxjR&<(p~O9Oo01P@Nq^MpQ|pyhMS^JJ`!&yCZvgK}gXMwk!g=P|yxCPB+q#zi^z zPbT`iF>ZL4aU(KwIPDmPZWd@}1|R$}!}+99=%wTtn)nza7HA}TuLt^=(#|7_7c!aYc6WpM^f!pw+LC1SnouE%5-$;0h z0p&z%yCDG1k%&JX3gNJ>#e%Tg`3aiqLPO^czFJr{9Q7*Wnj^_4|?R zkr(}bBj1_ekGGO)b-A;|=A%Q)O&|4MrOo}?&g8S3XEj1)I}*Ql{H^z@jmy{!2jQQ^&w@r5%SGse`|S8&zP4{{kBq92Klb86d1rmY^{2>lx2wXIxoRlfelefFFCmVPFEL-xF@pd0ZZcBx^8Jt_kK zI>E!#>N!F59V5n*X~dxj`o%TNmIfl9F5g+^j|A%Bc^&XB@sn~M@4f2Vb@xB9j$GfL1>M*x?xu5>MMfQQ{TUBOt+&i|~e#@7=tGe;0LN3I- zX{;BR_2UDJtL=BYs_iwxKN9@41Kp*S@&umt>WQD#1C#6{EXR+h75lB7IK2k@x?GSDCzjUivBTT6rhW&+;toAv6-7 ziEilC1C3H>51~_1Ms!1y9%v&p@d865S2;4=p-g`5*>w2&>N)Cp(mPU*i``Y|Vysd@Q>Fj=G|J`0s4ll8!}J-)4zWY z8}u+e_5f=Lrh)23H@>zSYoev_t|0C2W-m_Z7imi_!3OCfeq!s?DY1g8NU={@vXCh; zU)}O2v?^kOh<{jBK|A@wk{|#2{`r4j5GuE#pOCNInjZEz@o6=w*gTbT$SrZ|fvE{t z{tDdg5qe4aK;my%Z!qF`I<3~QJ2&|b9!D8YD|^z1=p{a2aN%R;ttuDaoGfpZtKH3h zH2J>3Iyua^$tti~!abBr-M1BFcFd{FR5P38e$1BPK3QKPc1!0!_)3P@^ap;IKKF^NqhinLFwfhST(cMcAnT`J=E+`f)pm?F=*sx)8u8<)XiLXe z#^Dc8?i<)X3y@Jh=dR&C>X5ZM-=ET3eBf8Xy~b~{{`YZ#)*@~9?7KTweV6Y8&{5h{ z#<>d`Vh1zYQ=>ieX-^aFDY8h~GoSXHmuOEp+ezBfLwn-8Z?vZeyv$VlKF}BG6IzD+B0YSO zlHYUMr2Q|Y&A&~Xe+OF2yAyqGi!%D00v4(3eb$VmtPZ7K{ElZrOY$3m^$4&k@<^Nv z@u?~WX6d8-8j;T>X-8)b^N5wJP*fL+-zaI<3}|d{N4K(m)=vv>cxW0l;mHVr@YGBjL?{@%d)r>r>`v`nuE1deKBqU%Lk+)7%5pR2q}~F? zaXDi;pE2#0`!U!P8PhI{$+inxoNG*PlKw2~4JTxs$$lg9Bbj z-^mu8quiwW&3S8hCv#r;P3CD%$%78t#AT-MY3RDZ*l%qjl31J25_1=~rOc7(EH~CB zoalYhufDXwKN51G0pFA^V2z;5#Ym$GefN;On}7`#{Z`71>(CYUe4d@?yYKV+h3dPf z+8=t$uq%u<*SvR`#jwpEz9wlO#oQwP04>n-aHf&Et30h*ycVpl7CT!eM?AvNQxcZsTERD|tyC=lw zf#oM?sXOk5mRs}H>~7{gUdC$=b0N(coGEi5fy1zEFVn+8<}(7%os?T4^B<9i%!dqn zetq2bE%9(=e$>O9$!(e9m_AO;Z7X6f!nr$Rxi{?j%$uy-yU=4Lugr~G)s2pzy1`Ln z++)W+1=kE>g$b@s;56)PJV&u%tI_d((=d`b4A=SKT8M8;kAW*T-afc)1Gff&9b8*U z_kxr78ww3%JtK*)*Z`iA-@#Gvbz|#VFVEoB0iNr)7u@>dNLvu0*fskT`BWaI3)H>$2YHXt3Pi;JiO@t2iTWZ-_k} z+`QQ1jdo*=+;y><>){gIHeuIBKA#tEJ=lc=x9?yhkaiQfBe?DA({3klLpEs4-vu{m zKNmJ`!BOVw|2Of=NZN>5rx*M>kmXKnFK#Zu4_}D6QLesiw?EN#5o{6Cc3##LKXAs^ zTGQZXUEnwoULZCJS!)p-WiFr#F7!=fJkowEi^^hRzY}}D0>4XS>HooR$9qY9>Qijl0=%>?Pk1g|HtDjt>`0emD zQ{Zd(^^7hvZ20gyLoX6OEIOK`UeW^6(TUXX$A=fs;klc1AGQqP%@W^vKdI=7@;;AL zZ1iG(Z@_;2Bv%>lT%$PBi9n%Be&Q}pij!Zj@~NzDl%?|=&Y_hbOh{#&Q$y&u{A`Ihw?rLU3HvAz3LSG6}dQ0saI>7 z;<8cdb1`3&HBT41ybHZv=A*^jzj3?FpVe)m&pN@+I=gJ1jJXK=bQQLszB+6UI;^~p z>#@0QOHIQ$XNq%f5_;^#h8}xy+tvRcckdn_b#?83@9)gyIsps<=dK5aaN2$nf#SYMf z1h>de#~EgMjZeE_|>63wYISN!e=~ ze4rN|u>_g(GS)%eo19AD@Vqw?gikf_i$VC*d@J8Qgx=>7+P&N{wpwP%HWj zuNR-;4(X~)H#(I8-IpLe!_s8it3DZeLa>rfWEOoJ1H1$`*1z}`#ZHf9W>QWsH^N zhg7-u4lCy^jbj@+8R@(?icbJM~Q>GdHT64AvMNh7n%978=d)vb8g{gQ`DwAA$Az{BTad@`C|7KjQw89 z*L)AG47it5zY`z#e*Sy8Zz1+4%DSAr#NRVkWH!Cx`f{H zTfWBP*O_lxf8x~l1o&|_zW7IhSJDToPsp)(AbLo)abezrhlghP-Db35-ip_F1U*mR z^jjCKXts))k%tw(0z2~t_g_3sZ%v@@|)m+p($%lR(*9#6H2YbMgdsx@}z_Mf!v*1?YLKG%X@;heC>ReJGl{QJ=BXwI$g zPUv2{{v#*ag`I%*Ibw`g9c}AF_dE$-X#J1*qgso+ncF<3-BI)-(!5R@$xD*yH11*2 z_7DQ+`6D&=c@7o~&QjP4zRBLE-EHQ3(5)+7-K94SUViCmhijq5;g`dnTH_2UpLkP0 zX%3?=6b$>ptNKfWgY~bK4K`ou9ppZzXut4^w!Z|uQdwd75lrG{4BVj&9m2^MHFuvQ zJ@}^aS6y#${!z3<^lk#WnN+@V*-^0@X}FQHx9 z>sDUqIR5Cyglrmk3u{@^OzGLN`z{QCuC3>9?GVsm z9yK0b#98o<-%a9l*?ex0vF~TR`)yk3aK8mz60OX^KfGwK#$0rHx#l$Q>uGB$?h4|( z)PIZ_sm7{b0+*XC9H=-aN*?l(>_;i*3EhWS(1s`nJgaHqrjp zXn&ikZ;SNp68qaE``Z%x+Z3Jyw6Pgn$N`>nDi(talZ%_Y!Qy%FA71vL+AA7a(!;$E zRxBxgVYYmOnu03gHj~DexwP0f4jU+ZM{cDK^y2OSz9pm=@{vCA{Sy1Tz9H|$TbsO1 zz>qqP?N{WXrr_X@DQhcz+eROJv>}nNp}3TCRo)%UW7X#pEGfsXi+IiNRNR-#K2JOW zc)HIyt{fRGo<`okfJfqQ#4CtT7{sT{G;A7`SAE<-TdHWsm)kJB&2KTUR|6xJeUs)7 zc~!?V$+Azy=2zdwg8TW@aYVHEL}VV)mOO8kUG^S(^!V{K$oksTy#RVA+?b6H_aEVR zg?C@(cT;-X&EV*=-Mwo!gTI}Q@dLjEm&NDS0gE%~YYX*+;pI;mXV&N(obK8|CMAw_ zl(}wLM~>y2bX&nG=J9Xy?_^HPZVf&GzC5v~D!&ia;7S;Lh{GRzkG^@DPTQwDgmY zht_V*_8;+9VB5(2=}9+7ZfBoTZK+H5ACZnl{ni@#417aRx_?ungSCM+FUFrmFx_mb zhd1uwAIvuKM(TZ*`l$2BHs0&-dF7{{@G!DT<}A{Z`?b&BnZf=M{U`x;AJY%n#u#AN zLRueZD1saJOufu{~|XBBigfuqR8 z<1Vqk`Qa}#pZ!e}o7!z0b%o^bO8B{aVx@n`}VXzCi7PxCI&^mC>p`q#GJ7XVOzZgqhS_iJDU)KQlNzFf8{rW|~mwO|% zE;NNM8C>$`YX-~7mkHm*++hDMgSj!T`v9_oe3%?q$Qgo*@H4_5c^~_}OBl0y@>O#2 zlW^b1+VLP`ZLvqZ1s+^*J?nevaeNJ8V=12`R!Dm$$PU=tnW)kl>7jn(DBmVOLD0k?bI#}TLyNJS zrryaD{F|22=S%4G;^M?yn~cAl#muc~v|$qaKwg(Qg3VxDX|pZ#vT69&O~WtYF=mq^ zi~iPeM>l!WTS|bBiB2OA`Qpk`VhTgPpy~J-b34<@-yyyu25(Ad@d_8gENn5P1kN#-#8;yQ}_Ex5zX^Az{MMm;;7aA20UFA@%Uw?YUx%z z-Ba!HF*a^q0=}3F&OCAsKEPt!6*?R@^TEw3_vg5YPRPbh;iYh0xS0m7`ZE$ZDHx^j z(a-)s3LmkJj8>61z`lj{mFt*e?89}B!1uh?+nmk#jDYrOUK{#fJ8b=VgmGQP{M1~4 z1}`{Ln82}53Ew2or;N2|`OQ3os~7(}X@l%PD3A0$iT#2HDih(FWcYODf2}Vp-}T?U zXC>kvulywN{Pjaaqd>3c1I9cX7~1aIDgBM`K>8Z#blCr7PFvm5;Yg<=-H!aAr}i49 z&%qB-H+q`|qZ>HelV@gxx0#NQwmUn9J!7TofN$dc70$c7)~G&DuzA8yhdm$RxhG)TdMq1(O$~WQE1lM=a`5^?_^toB zkMqdj^DX(v+mz|#j8OlF@->9M@sR*}r-E{C!`%4bA%ji+14ZGGSjbY+F*YTL84(bx3L z&C+EJ(HFHr>EA)$qjvPM zMlN?0xbLT}%d<^hUkT?O*&{zSb9J@8H$!`t_qKSNnXk(?bb20Oyy|bfadiuOl0Ilm z3wx4_h+EFtthSTpMq8)PjkcV$FuELHc{QfMz4|0qbj@^EbZ@=Ac9(~drBv={>hr!g z#M#(?;!fJ_3Eub<&f-dMScu+dCh+_(aBDhYdxFLdLhIvBwAYuLO`u zl!vp+YaEUa>8m>(neX>OgSw!T8=(OYpwD$6Q`ToXi-N3I>qkO|;R!c#roA1%-`GXE zH?U`D430%P$38LFBF^Dn&lyziGj?w(MfT2>&ct&6bh6^I+z*$d3&?R0m+5|pGm{3t zs1I;n|J*F@UEuz>`mE>(?Z}_l*G$Vz?(++t5V_(xZTJ%TD7w)Eo7_B`iK@)r8BVq=@9*69dcxUtpK zNgrc_Lo=G;5nh5P@n1A{p~vN^zHro^J$~9Q-H`Nff|trTAGrLM{plXQ<#VPk4Y+B3 zYCl`^QMN3iZ-VVc(ux0;U54y9hTMMcRW0Ig?L2s*IU?HoWnT@Vv!ccJ+{JGnxHKco zoGF1uy>tdTD(1z#%m?XvgQHNtoNn^QtaRmXLEfLoo>mx|YQ80THNiK3ccgIgn2zfl zo}K90yBG2fzY*_;c02b;pNX%aStj1!W;zD@b2~0H&WM+Je}QwvPW;}yCtjz)KfOb` z*uC%tGxz3p?B(p{p^+v&INHQl*O@hC+tF8$PW|4?dCvL7wa`w*t-sMKYU7>#{J0|= z?p2z`KO&2s;);f$fkQK0(by^Z(c_ctlHIK8pFPUN_v%b0^$I`BSYK!6oA`BIi`B%(Ygxlx*Am%=POl@>YGPh8grFfd8#W~Ig9_P`BBv|2Ax??rJ26u;3rDw|GB>()=G^G5)Y-;-%ONaUSya@_y4FJ- zjW6Ho3FQ3Q)0#dq`Y(j{W{-@Dhr0v6T%DF{S?pgEe5`oZx}l-zokyI@x`?Zz%>%4A z-mcsZ-*K!PtPQ)-^I1>VZr*yDnE`V=zuC$O$$nP&BcGnf!>c;4FIiacDB6ip{4y(N zJ9Z^G?kZ!VesI(R?@F>bi=2vw=R}8AV`UPbH!MCASxG!K{!P3_>-u)|q&aSXj)_{# zea-p#(2gJf@W$1DqVCJLd3IjW>e(5j-X8?U?>yNtVyD_OVuq>NVwtGgvWE~JtY%9Z z@3dhLVT?MqWbsbjdkE|FKEg!z@K@gkPBt~8IE%a=e8A^)xp`83p`5yKoqzm5au-t;BFK3&_VoY^M zrrNoPcD5aE+u_46O&A{Lfi(O8qZ@sW@TQe>-Ra0U(!ad!y2<@u&eNVW#{F4f^DKFv zJACtt`w!o|qk;9Z#g$g1u?eCReE?tTb{T|r8JrpaLK)1FuPuY|tSY075uD|~@6B_B zb{ULis*JPfo7(a*eM@6reO*~IO`%)3v~}b*d~IM?&KyCPu*`aUsAgS~ru&bJj{eCyOicU>y^i}lm z>|;EF@N2`%u7#gH7G6fMUq$^b=xcm)8INK!>n3o15oK>-ooQo?jz0+-?_4u~J^CT; z_+40uJ%XW5$?k8Q2wvy7&Zk`qyc5=+--=I3%>n61eV1)G-z?g2exvaDr$0Y`3%Whu zPw@kJx@)A5KW(Zxll=zOr9QOd53rJX=6ksv-qjT{UF{y_5e-=MfoJDgUz;Yw)(3x9MknFKO(0Xv@p3)Z?HYg;ofjr6wEtr}HejW8#fb;RVl+3XeVj&8j!q z)!Q!~w{R|h=2bO!MpifE^my9&cj7;|{pH&TGehlNw}LAfp@x@l@w7YAqSC20bRmZe zmg#9x^WQ`4c^2(#fPYk(sz+t2Y`aXA{Wr>Ne={Sh`ch>dEth?%ws$h3{vAU#4e+D? zRGGcmf4fY^x9yeeXxH;YHH+YB@1dP7v~&CS$1N#n zEAzX7ai439d_h()2T%1ijvtNPVMQl%T5F8TP=4iWW*kGz>lS?JwBpw$jBaWMWp*+a zzHhNUF$SHiTb-;~S8g3z%RMk-TSjS3Oz;|swR5b!J|@=6L_9jm^2B@M+Y=6xt+kU7 zSu~O6?%(3;1m3298+;Lbhu8FcqYiv9?d#9?x>`=JG>!q*!|NWEsKA2~Arq={&Pa{ru6SMQU^Az?j zKXc}GyU2F|?_2rC-RARS#7PETNgbj|Q}|vN@a)vR5w+mQ2<+VZNqYd@4RfLUe8#+; z@t04KR^yD^%>AurG&WT{JMN5Ka~rR$c#!by#$^@lgy;0sR*V?WJNu-wc2C+ojprP_ zH(p;c2^#3;`P{~xYpTT>e@dp(Xxyv9xesqj^6L%lKc_Qm&;&~d+mnEN% z<2jUkK9*QT!u%X1&n!wwLeoGysGC z38rF?m14+M^OlQE)wAVLZ>5QagT8i&y#^$26+tdDgj=rmaaK(jh^*O8qZP5QY(0{>si?M89Lt)ZBOS|`&qL7dA`ycLgl1+1v_&VlAEAvGB z$ZNP)m+;GPI}4z_QOLpza*{Vuz@H~XI?4&TFo9V8b#CY*2Y%)8k5%e&MEanSzr?3$pVL>qy|6IiTUoNO zjd`#f*wi=HS4?)Jd&_f_W1^=ej^Vd}P z3arR-{8D$JE1_&~eq48bx_`FpPs$oUZdytC4J+Hu#Wdqs`Gy)v`918Rbh0+1d!McJ z@?)1td>207RR_M_%2kJ<+_(&n2^8Jt_zd(``DZE zGCp6ilmC)G+0Jt6@qAwYe^XBve!@EOXU)z_LQgA6u zwhLYMPsyWxtN+8{uD(n5=9Z&n^~Im}<37@R(|{xKcDG}Dz2Tei>uYi|r*vX6Bh zKDE0qV&Z+Q#eKC_)XEJ<=d$+iJJyP_z7M!g_eU4joEPn99_%~SiuPY*Mfb9n@1s4Y z!2gsReO>9d%#3kfZ}Gf)P0fg&(&CSft%}C*JJ-NHds{{Vuhr;C7*FXdU)RXrnQQNJ zJ91llKW0zh^(!fJmK8mJXYblAq>-=uu!A-uOBBl1Vpdi3@gJKR)=Ecy$wcQeKRyq= zU13j*JbO>A!mcW}Lupk0K4@3}!|VmEoa0uT4YH??b=m~SFBEUlKgx=>hO>5Rt&KgV zJ&%%seXE(L$eR7jO+4ndqV2hU{KRqB4zTb4cN1^@`OJ=eo%rc2E9iLrEMV|6(ouFS zWJP1t-{DgkIkEUhYs|%Ot~L|qVe9YR>Mb_FCf9pK@zOd|6Fadg z>aC-15$Mv{3H^`y9h*a$=y+t?F!kTensGjF@dLG{Cf8S9?5Cdd;ExTV(iE>YYYs3L zF~$NL|M&s)iCTw;SOXq~#>Qw*KkJPXo?#!~=VUq~e(owYtfkn$47BVHCiKO-y_>7x zd1BC8^yZ{DKd{h!^nAnM^F4;Vq4n(1b19c^ds#oSSxXuJXclW{CTnJu<#tc9 zGTmO2b}VC8<5=l;m)X21e5k9{9fap}a&K8P=f?%Vy{#3q_fd|IF)m$M<(~U*;;*x- z+ezDkj(j3%J4q`#zwhRX*_WJYra!du40kE%0w$|E;JVp;M$R*y2T8YubQ*7Pu>AGg zD`xwMt3nqS2$<zcSG5;en>&fB@A%F)5W!KS&!>27=VlBP?3$i4DoTt(Q=xm#YXYbwoh7Fot}n=Gp+R&JuP)&4lT!`^=8 zUm@jxc%6xF4saH91^S{4EBf0XqZ{g!&YJUN&CIu-kBH)%CH~<%$HzbXfd9wG$MgN! zI|b9e&yJ59Z&pVP8(iTrbgDOxIS>P%_KvEG%DzqG(*Gys3E%NAS`OpChVh!-$2{`B zTy5_$dS7-&*B5H-9MgRw{M)zCKXrNh@d9i}p$nt6R`%c4WI&X^((%psLioJRG-Tdyq ztb?|8qjzaTpW+-hAiGCPG>5&h*-l5tn$ZbAlNNl9+OQ8=S4A7tmVFKA5hg16Jr%~y2`uh$A0#Ro1LCe4|)f59ML}3 z=@|90znj<0zCUuPy=SJg)UwB1;U@lAWN&2L80}ZP;S)Pz^vhyjRbw)m@#qK6dskp< z%3iFWyH3!lz)LcQ@Y8+G`bK+rjxlGj>*7oqe}B(evEktoeN!t?&8Dpa5P4}+%0I|nHsyODjMWYP1O+u?_;5=s6Usp z209j%_b8zSZ50g^-K#r0hmdF13B@UmT|eJ) zc5D2p3!GG){_hh)yZS}DR?{BjLLYS3mVtggPv0MR^!RpE{iSIa_tow2X7;SJ!0F0; z(2iT69pup+x}QJ?|LPo9UQb@(_elODu%UhvJoi5`B3g$(!lE)4{!cylaT(vOJrM{0 zEbcs+$a*;$`o#U`)z3nk&a~32pT@t%d>o#%K^M-p(yFCr_*ctay=3>IrXO(E*`nRc zni_XEHf3<9<&+67_Hc5G7VW;W$!ju;>UM{k_8OPF!Fcn?=Pp5ir@e?;?$mmQwu|Pm z=TYuAS&;xVImY~~J~TM<^Ot$XJ{x6N+5d%C>40ys_2RL|{P7Ln=bV*kxL@;wGjsPF`STiASKRh;?^?|d>&`{C zZBqX`Lr;7NUDLXycGS0K?OYzn-gzE4+t2(7oOEKxJf4?d1iwT+d%i;JWTTO_*yhFV zG(D9z?aO6cYSA4i%~-xEe4;iHw!pVOK^g41AlHoPUWC5=>hC1xe?QMX=Oxxu(N4$Q z^K2aH2e&s+XASGsQ_1@K!E@zbdN*~S0RNoiJG>{D8IMCNTaW>KE;G84HE;c7aAPiO zIQiN08|_60`b+5RpCq3Iz*+Wf9n8BZ@4v#1WE}HP^d@kh;Nj^OUi+bsTi>}n?(OkL zdZ7JPb4-Vq|G3q2;|^!yyOXf0!E|i<;PQBYbYA=Uc<_?EpIsi`_VML$Kk+`po-6Cd zR@RFicsRAyIo&>EI@(cjp7^$q>vYbK7qoet({rM2d`CYsx|zNN3R*pmikzt3zudXI z&>6X{({rNz-^AALuS1WohbH2?Hrj=ZxA!VP`w_09I%r5GK1YR{XJd~j+x5Ed)ipJ6 z0IBY$KK7qVUOAq*(TW_YIU)LupNw+D99+!$w+&h>I*hNKcnTI99!jhuT`$V6-njo2 z8qYdVZqF(5$v#u%Jn*84KJbu<)=e0UUlCr_>;5Dgp<6b#gEM7`Q;_W z--0)r_UEA*H~iHQd|r+}SUi4H_iSZ!AX2C`1=RR-YOej;%%Nq6Z^>9 z56{3oPDOK|g)ZQ}2s+%-Q?{cNdWc?chcEN#b>dq~p)0M>xP3q4JOQ+^AKKW;{H*_` znJ#(=A2hn3df0=m4nWJ=p=&L>>zeM_UEieguQkXIj){3a$PdyX#aMgt=;I(b{E0KK zd;(|8-X$DPSErY{IzB)S8$jokOIjEIEJq&m(iBXAo*tl{1JKj6tc+@OC!^HnywK@%r$a++o2e|9O+&X0qoMGMk;#pVY#MqIp=fBFvrV%7 z7i{D!?Ev=Qe}aZqIx|B1leGG5XQumIi!&SK7p+#Es?TG2^Hkq@c!6AW2%-Nn9VIuL z_qU=0I{9YPv0${Lqta0@Ae~TUYwr8w+HyPU@F~*An2L8e@uwrA7W$kpx*gVui0L^k zVh&gDGWcOPrvCm?&2w~v8O#T-Z~>X%Q|yz|AvmT32(vpC62_<`3~ zd>l4eb<9=yaO!7XK>tQF{y(o`Zr}$>yhPM^Ig7;@-$I%&_<}@IbKC4-@p}HD*;BFW zTUxwyYiaQ`>~yD9)fb;Yx{d4n@%8tE@3d1qKl760`R_|?qeTO^eh8AP^YWd~R6qU;^7jI<(Kv(JbszjR!7d8E<%jj4B+-+sSA z@92c|?K+;NU#=~jdc*;{bgYSM#{9=>f#Z{;3la48i`pnPZUt10G|9G1p?}PXDQwO@sj&bnv z*i8(Gw*?NsAiQ8dFsUMZ9k|Q|9;tpmW6~n+z~pAWy%{n`+H=w(`+ses5n%K*ar+)K z(Z-t&-gpqXgmbSp&;BXrkgkR|KTP-ubspu}S(n?yv$GaAz_UNkIuSj}vpeD0J>8k` z?Bcac-Tvr>^zk;=F>Z!>}}CU;TwAGyiTX| zwFzE*J-m7tKE03jpaZbaOsTCtc=kT}V)N@E6Zb(M4EY6%Z6^c<6O405 z4EU63o-mig@aw->ha8f_86eV^^^`>#8coM~=61lC9UJa9_Pl)HhK9lWxR2pCHXhF$>-CxLZue?0iQ@iL+>+ z>LKdZtk57V5t^X1HYb$q?La)*a@S{Uq1OF+!H}GG76|m>s z$$7_(H!#nMo6P%$o1uAkF(-L`mbmnZ_*CNA&d>W9{9QRY(TRi`ZYS+MoS7PzNVD-q z`cK*b-$W->Mn-NT=&{@H%= zDrS<#czfRUOFuc(mc##Zy`*&gvM0p`s$2G?sXYMg3#4?D=>70&{?>s-+k6sc#PTj5f=1zm|GvK#6sw(}_vB0GU-PP4M78I>P_qpb% z?i1hk*dMV^pZ5xL>g5dk+(Nl&G}D!DD5?AG`&6`eR7VWmUaTz*9jNK9Txl(n4#5bP zJzoiO|k=i z=7#GA{|vmKiKX8&Ybt!+;)zOsEj%pG(hGX2SKr6|$gDY!G4V4deYO7h9Y0Ly1v_Qu z0q%vd;R&3Y)C=F&VS%?%xWL{ zK-+eRbmBW+CtcMo6|=>=O-6UPedU?Mbb@W}K+dxs@O5D=Y4?+Mqsb@_L@1ZIIp`nu zBO{hEmUE_<=qT_?e2Vt?ml#uh2{r@o!mI8@2e==dU>`ca#U|Z-;MFC_JC?ie)%vD$ z(FtZwb8=qMa>vjSPV-qsF=Uv~BvXXXljw)b{c+*&7WA{h(f$rw=l5s!6yH5QUi%^c zL;Q!(^+~r)T8p+w7cRZ{svW(^>;>I(vCY*ym9C8C`X3$e70}_>Lgp@U=b}3bv)+t>KVpAv z^cM7jesnth3mIeDr1eL9$wzA_mvTNL&yV3pEcg-WDa98_C--O8x(&9jkoijcZcXY4 z?}M+n0RBCrN4mqJZt*Aw;EiJNMLLgzjBM)*-+f_dZC5w^3Hrj$q`q(~Yj+RjJ^^nd zTTZRX@c#oNsjme-WuN9D?NeK;2-|6o+PV*YUOVsm(7pYI@L9DT9iH-iihk}I_>DN> z6B|rN7kb0pl&wC9PblM?_z=me+=Y{OceWEdRd{szbP!&}VfSNPw>yh-n)Ky7`mzCj zBw*a`eqb7gCsBKBSr>UiecY_RrJLwMc$`ko8yoD+BsZvU!}$`m&zIC8-Un~eIb4TG z`)!_tzHP-`%N}pWuBVi-o{1g}SoAMp9-&J#w5bYSy^s0P*I@Jg5$PUd%s-P&TE=iJ zc@^G6=zV8s#=>L6(HQxq6I455L-?|pOj_~>r4vM7$llx&Jqz)vPP_Y|P0|PYp-s(< z$u#yFMbF-5@7&f0Lf@*;1u8D*RoY8=!Lt%NYR%)o>WU8G-#af2tqq@UW~|nn1m+v} zCDy!uPG6OCR9_|il-lgz%&c@)K6F*yalzu<;MDMTOJ|j8yWw2jROw}bPtPX_y+Zgz z`VJkAu|}n6`fAqQyJ_c-!58UyymM%CLhtkQdwFj|@1r@smwAxT`#6v4ebTXQ-+=B% zx|=R^KYN)Y!8!02cg~I1`MI-$xwW5s+Za2^4Ey=Mm-(_GsRz;-gSsGm3Ht@X2Gh|) zn)T>|9)kDTFia=Zg-&QaI-#xTf(-XJZ9^AC`$um_7o@T96|{J^q7TwH#fxrBAG8g9 zkR69Ui1Bv!pbwf->5nhbotF;r)A)%+FHyE!w8ilSeb70K`4DoK=F@Su{<(lN{)zb| zUEPb{Nvy&8em%OkZ@)D(LuUfw>LX)*GjfsagKv3AauRn*FfRt7x4WU8;2men^Sf=l zTP;300UyOB=m-4&^FwR*!$*pS!b^d3y2D!Kn&{0BVc$nNI~lwFwcy3sbrtpKtg3EJ z=&WvD2i`#Y+mLU!!h?%%`&_nd_4LuN7ilYcx!DcKwtIPhHu)~THlM6&V(Kn)# z*?;3%@j5FLU5ul8ku{)ol`8|?c3RPM=)L{uVz%vG z+2k`BNnMP?*2PG--R#T?O+Cigx^3x7g51FkT;ShKq#0dFCVCPtvVS5O5gGq*1m5r4@LtY?FD?~99_=Zf9HFI=(di+^LxPa5Oe4) zgDLRUO=z)G%($6!?PaU zR+g>XdcoFhxoq9mc3ZcVm4xT#x~(o?@?a8vTY%pa4yQXKsoM%?aiJA(df`Kd=tVX* zJu|+b=enHn5O3)NcdvSKXsz@-XTp<-Pt`nropz6SY^bIRUX}Lcc{NASvw9oLDjLwU zO75tF$CVy)i!rvI)!)`MyXuyv*?~yY?Awy^r^>mSXX*H2z+?%}wbWA!uXZ=j+EX*w z(0nVYL(WX^Rv+rK8oH@GQscqxnC~{>#@LEv~n`= z=J3_U50Ivcw#ja$swfZ*G-P(zX_4bck=ASbzv=1U3B zRy?wKE3)|%#UsBjCOkv&$lVhOTam|G?n%h*lG*P#f*ej5B0QJ>H2#_V4I-HAR8G!3)wvr-9ZNOeLC`c8uGgfeZUuG_=4^Z_MSA3I~gnOOYQ^a zhtN-n#tf$~6WEL7?mYG)i*)~_y%(A79B;kxrB(398EonOTs66AnGp+-E#{T^S`inWnzW>Yt-y48ekskuX zUV7c=1fL+Dr>-164m}d|r##3Wi|z#*g7@li%7--hb*2k{!pbXK-=M=EZ+{*?z}eVJ zArJMj#?=w$?J^x742#Fl9rksc+Xv5-$MF3Z&-Sj>^Wby6YuVSCVHjWAo=<+Okrz}a zHj435+Nw4NM}B=fRn9fp@Sl`>U$WeO%9Xt*{?j*=thD$$Hrf41!olvpcqE5;d?9TO z(uW>wAXU~b@+yQ+>NUst;}5@(c>kf&5wCi_nN0H>dK1nb#)rcy1%v-emMh-Twv#4r zbF!UR(azUtAMmxuCDoo7GQ^3)@=Z;`>_1c=_Y~Gd}wM#;`ed!QW`hq9mLIBf&>=%JzAi zoKuwFYvqJ{=QD0W#;u3>rE$KIcAI3s?Qv&}H>oW24uZvJdM2z+jyLmlfy!0+srjn! zJ;`(qWA0Qrfi7Q%30k(ieGPTQ(5WaL=Y3@-8Lc2a{C>G?lI{3pe$8LKYp!i1UmxG4 zd-HPs(_-GP2R0TyQ0f$d(}I-+KKH3VxqMexz<0tbWO84RtHV{`-z4}>EHInq7F2DT zSYT}mO5!4fBZ+JH|VgmA8FsMiXBZo@=qQ7 z$6jYyIkL4|wqSM0^bHQ|n+C0Azr(hcy`lFS*b^{4&W?Ka3l@&vg?GX0WnhScLG*f<@ zg&T%CgXC2@n~o0m7w=5?i&q`8eW6Y94a~3K@ho0yKcVJ@Xuh5)H$m(1lOSF8SI67R z@1xHRj9V4;_B%_0P8>#F#bUYp;`j`kt?^ zU=AN0TWg}pL&wS3GUlYS@b%7})r_rGExqUe8)JLU*Nkn=|4+vD*uOWnoL$g7)3}N! z)tT(nzD4Tn!e8+Td9~Y2{{;LNjmCcQ<#FIgJ^Bs&)nDqD9h>Md z#y*h5Yo*g!2jR>0;Po}&C4I@;u&p#wYsL@Y3#DfErwP2)`vu;gtg9Rvh1~UHaC&_A zjsnteNg~!3R1gmirjbFz}U6 z2H|KB_*W+JdJ%I%+xHtpcY5jH`42+ILXC z9{h2ORyHNa6}p$V-lo^%25u`gHRF=wT4}}&RCs@E)9Vt(c3hk2^|!`Y@6({9ot>S*ot;(Y&SBt4%QdVAqR4@;HtSL`g^(8)RcXJUeBmlZ;!3@ zwPWiUMz3E1e_kCqI7>J-dqv5@zn1>NGo83E;?nq|xFp(W(GKB~XsK{Xv{d+!!lgyS zaH)>8tP9a_5|=dA|12&AIsYP<-|!Wfdj_)jcHvQ&dj?MPu3J|Nyf3tI$MEZH zzA*MjaZLU!G#7S$DgK`Khh`ikPGcI+7+mqEFXJjY_T_OEA5=%$Ii$5|ALHr+ubPwNs<|K<>7NMi1C2aA$@_>#wt`E*&c-FB z6OH`3aoxnXzc;R}$#Lz(Mb85)YyK8K1a0jD&Cd$`=ph= z+P29}#$7<%yQEW`e5xzG&b6g@rNX|U8H;!~{D!uho#M|$Z*93I-Q{OZRx0gO@O}U0P=uB{o=MwB7K2xWX zzri7Xa}qqE))4i}<`uY`M}4iJzJeU^hcjjcrl4B$xS;G0o>^FGKtLYJ6WH=%J_LxRkE@dl?Qc>_Q5eok`UH?xK)ufZ4Wwa_xr zbMXcVzMybm(@0aJ^OS;HttlM%j`yB*d*Jn7Y5fUnM`8Cf&cxc$Gb#bc{*ehdzD&H< zj%$-^N8lfv^Yiev_0P`v;cJIrCK%dt|Kp(u*Lc^g>!janY#FDZ8{hmk4G(4|=TBy$-**u&Tu;m$>_kfc zu{HB;bi1YhB(9GghU>!1ukb>{?mp7ENXONP?(q`v)cWoXVfJl(tYR`Lk1 zHxM>4_XTgkeIxIwP-(wMTKSz++CLHkM_W$Pv*aYv)7!AJ^`Kd z*UN1-oj_*)7#R@$i*r3DB6(FZ={fM0|C@|DmT}S<<1jh_;eWp)F@B}Qb0*W)nMqF7 z9G8!AgWgiKp^QE$z1kMQADDR2;c&O_7)#2GO~63DCk2Z!g24-dK~jGegP*ed zlL=o<{mtBU+I*wMpZk1<>k*-oDV|g`F`=6?o5m;~`V3%)4+6)Il3c?%AIFaMoNv~? zc^R{}5-Eg?d#&zXe?rmAO{FQ6(TJFfTZ53X0B<8$e z_7U_ljDG!(_+8xP$dCMiZ}+5|_}#!xb*%<2UsqQP`Lv!WpYs3r_TIHBYy00Qoq$&N2Xs=-SSs8w+;M>KAiJ#X!mIW?9_q4GO z?O@-LyCWYJPI~{~v0PznXA7!ZUhpBmegKdR5l zShwaRcvt!!+D88t^e|?BuPs{lQ)|BFv&P897}NnX_{(_f z1lBEJT(i=d50AFvTK<37HXS`w!GPdn0iRCBR{KO+A03Q^($`7vLmPs|%oc6ZHy=7L zd!1XExiH1=Kf+i9X>T*IOSNHZpJRI zbQ&8UI+j(e&FPug_a)0MC(Iyyy>oEZzKPq`Jrk_j1+IiPvaao$!ns}Aqy6XYCawB) z_Vyq2Zd-T2r0vL{+)KC<;X&6i*lr<1b7z6d50Gv#VI}vlsx8wjS9v<{wq(og%(8X4 zPWtW2WqyE@g6ksSdSJrYyX-#1OkSJdOWp(CIo+z~HO9^boRoe$aCHKwHgw>ElY{na z&vX$mQ2!ZQ8#WE}e~CB4&MzB~1Hez;vw@+?R=H0TFF2@tY*4xdqYPl9ei-7n0ozsh z_n-y$@OR05A_5b8dt8Iqvk#;B2;;pD4$2Z>JoM_jX|X z^p{|qdCb|n_#O`=VXQovzB%1$r(pE-Fc@zK#&aBI`ko|=xA8p%F7J z{14yr_8Mn(J98w{a@qagMSSM}Nx=R^V6S|t?>~s&N*lM^ZL|h%V;+<-57fr3$u`z8 z4-##xI$DRu;z{yuxADel&xftFwT1bRYO8E;^<*KjN|+&kyawspc;(TEZ+G-9HWEc|%0%e-Goc|mC9M0|lYXPWl|URQSvdO0zZ z_Z;5+u5M(Cnu$5Q=kgxpJAIsp@0{iW-ot#?J9m*ZkK?_I@67Fq+*bmh_I{wp)eSAE znaI5+ftbt2W6>tdmB43w6Lo(|TSY%y!0~J^G{EbRmRPO_{ej+Xw?%ONe7nVg7@_tq=d%8m~-X7Ko+U=^YcX<72N* zd8)Wux7k?BMi6QaYkpeHPvQPv=&X2#KKOU7gO%KWBt3xqog2#Nfu?)OQ%fE{c|_}! z?-G2S%w-Ne*ptyQhdB@~Fr)E@=#k6G|FI)~7QZ$HK(-cA@GY#@A)HRn~vOlLbBVfO!=xjR$*++Vln zc8H%_?Z~xdJn`7wBZKtm>!>xk@B4fZeu4mpMK3R%iO-saSUbo_>ZTYJQHn2A7zd=@qPH^ zaXmjV62OOn>txmh##DD2U%~i)=9El=-PF&9#?E2x6vR<*9rHQZ&u{{d*y zWcAMIjJ1y4XmIEDWS$Tp`)zSjBovE3hZ53N<2uxxO^qdLxY zLuZPV|83^`67sp2qf5zquu1+vP2S||7i~_r(%t);Cdy}B$71p|lJ8k;ypU5v((zw{ z9iD9M7SWbH+`AMkh31m?l5d*mA>^EPW2zTN9CdzHRqL*itNwSIUBn}MV3e>85} zfu|QfBf!6wc!NBJsJeXbH$avmGCyu48pRkW5zplCi!SH?juGx{(+>8(3<*R!g`LYO);|!P1 zVtRI+7P%<-UGW#?49?O$1LyPI&-bET{}Nf5{I2-FWDd@{l5fcDD z-tu3j56(Kg(8LRO&5Zn!@zptyL-^1Cqib;1m|Zg>4-=;|Y=3o*#fR+Rtc+b#A~D)7 z_#XzoJ=Wl?xHF?$=VG-_sPnITIp?cBVpqO);;3-cmG6q+_^CTgzMjv9W**=<<_bqw zUh1vr8X1n7d=rt3EO~`<<}U+n!_w;9NfBv({n60O z*NFF%=F&^Or-z57(H#{Y(yaS%Xy#9dpFnwnwRjbcrJ;X~1BGm@X1w)?LyF)YW zc+!MOBb+$+@EP_!wtv?r%65m1FB)?%ZCXm+u3>G`{L#FMzYPqD-$PsAe{Ek8kD@b& z_Q88`pBnoJS)7NsjOP;x&*eXW?^=8$$LBKVhFBk7!fr%7!>!PsXG~_~`Nl@pyb&R2 z3_P_dcnH6dd+_1f!aKAfuhV3N>R7v4jiY)5J_u_?m*Asn@e_3(<;*5e?NrCIx8Yp_ zQyud!Meh>AAFIAMz*CF9)lS71CU|=#-xL?f!CvRRk_xrwQP%Q)r^~h--;->|<)jl$ zMTW7{t4{5QsmvVe%%{%4I5QvKYBp>2(Yn;HT6~BcM|<@xRhQ~{$2p>0bw0vc9yHbt zgI-6tuewyO>RL~~F3&Wxl@|GEw(P%UF91C`ng%pCvcFUhGY z<9R~G>-m}Fv-D=r9eWKKYD>3$^<^=>|A@an@qCS>?aQ~KKVkgE2Wnk~_vn^ysZ%*y zCOp0Ssou4^_iYDrBZxommhAipeu>JxJ++$+wtC_VeYs|*_`xpZq18F?+I;ilqutB= zf>vvvth|sqnjHlp-I=2Kp>L+?>dm^tr{^^855#}z+tb)1nr3Do%g*=FmU`9`bf`PJ zIMcSAb~HQ2hJwkwh2&KlXiSI7El1y?GM&UtBzzFN0`YN;BasQITRugb9ga{B`5!`t zy_xm86yD?^_`?!7AC1q|;;H05igMD)P6i&neCsi0 z`p3>wyS@0@ePty3Uf}v3?#Kva@_tv?Q!>{qE4=d_Pno}T2fCW>zU%D0j`G+6)^o}> zrm(t>{R5ptHh%7y!ao>iqZexIusw12?KSZ2_|X|_Mbl_gDR*FcsXz9iiN?6UAV7ZO zpVc8hh#PaAkzeP!B4`OlHTca=orm7r2LE!%Jf%LWoKnizx0gG%R<2w>^r|m*LNM~zBtF~aD;nb{7vs# zt(_&s!A+xZhE` zIpzR1=_dXx<9>M=`cKODGQNA5GySF9jqI2I;&5+?Gb0oOcKyx__6ah(4}hDO^S#A^ z-@+<<9>5#!g$A0pR_;<64(;pH-`6>Bxu13JiGbO8sMU0Mjr_?Kbg%h!@7nuD0?#%- zcPx3zbzblFi*&EC8MxU&pMk+m*(S<0J&gngXp+`#wY`4zwQw82^DDL>~w zTfdZF@xhA0S=GuPGT6~3@{gr_ji30UwWklxI#K!MgOKmn?V1(&2!4cd%+vjBGiD6V z8f0Ev1E2B`@w$6U{@2cgPg%Tca-@f{hVv<(us@REQ;LrADQffWM>vlHpMrgC1fIa= z)x@Xh4!@pZe2Tt{Pm#_!eHfn-8=1%}`=}J35=#$9o5X`$>9^N^x`F&yX``YC9?U02*PSU-V(YUwQXK!-d}(U(t{PXz6rQ z5Rq?ptwpP#O)bnF$-&(c$ROK898YVqumpUz3F zNBFfq8poNFu8G8r92SR<-5%=TOv&fz@KYUw#?|4I`Dorkv&<+C|ItU|@VD&s5r;44 zqjAOf0q_!6IxG&q$3fP)y2-=hCUgD;A5wMrkUpBXoc3`SY~2aN;!dD_+$W8U{CT=l zXdidbBNKlfHwPk zG04Ax=c+~P&-X6s;=YWH=eHA{EqV74_M+UI(a#w|@gJ%;%)J?gJG&ZQtg9%c+!EuY zEp6}uj?g^x)eSG!SCqoD43A%hPTG#wT`$AZzr=o<9iRKf_z|i2f-lC;gV(pykNaZ$ zDtLW6p1s>Iln?K2$AeG98-#~=5_c;aEuf1VA ze)<>V=RrH`fse03@rg04#FvwFFLl5(HP8C;t8AUjxw{yHz5b`*z(&RPnx}d>Kc@BR z@2v&jePL+k55YsNgWjY(X!}1%tp}`~T9d73Su^m9Ah}g*ry=cST00tstsShxT06S7 zvvv@#@-9~z`KL&g$6BuPTDDT2;z@Ib(!etuO#`o?a)Misr`rOv_03JaT8kIbR;}%_ zh4wMGs|hW_b0n`oOT;UwOv(1ha<=dDO5o53e{ll&_K~g+`uPpQt%UzVxSnt}VGH3b z!aBkkgjIy668Z>FCbS4oBZhc7$!& zJ3H^RmJRnal+xo!e>42v%9M{G>7*LD8@mJ_Li;)M#6ExM_2)W0_#Z2O@EekK3ql|9 z{%xKQaF^f`?h?FZ<&=95a9`lZ*d@GjV|(??)3H~+p=6vb^iA>; z@@9N!?Wgb|v6<%aD{dTL^p-OVyBzrk z`kYriZ!vFNqfFF;?knGEq9`AtS#I+b_a7WN*k+Dojxt9I%S?1U=bb-}_O6vK>kaG} zvKyq|A5%WSoIS{X&s)s5cX@XKEAh3*1OIej;b>f3@ht0_?v6QwJH-^9^YhyXtP z&t?zS#oX&5ls@a!QLgg~`0i)#Z$17Z$M78HUXdKe(1_S$6aR zzEz@I+H7&h&068FBlLUjh%3Fb)$<>c2kVP%y6mhZ=#k=3HF8_;k5hIiJOybl<^ zeth#?L;F71Zn)=ea`Ah6O>~uWa`C%XAwHqZ{0)xu$eHB%z?qH@15Ke*i=U6zp-VIIxjztic zpNrI9`gaTAThzILw7+=fl*rxOp?*8hIivjXyBwn<EgQ9&c6{(8@y^BfKYYfN z$SsbH$b0Con`npX`Y2-J*YFKnxX4H78NQui?7KuCrM_<~UTIciPtN?b)2zkrY`H)F z?XzY?KDw9m#Q%ajjO=usd{en9YoqMblIb3nJvzE0^zL@LpPBfZ$aCkORUX-Y3wi>^ z=|{|gH@9F%@SKU?o}L*wumbwW{66a}bnH)BPx+XOF~;q{4imp6-4T&YT$hm*>H9sl zSImRHUC7nW5fR;&wErdFo(t0kNQ8#_XW~!GpXNPfSMKVK;O(s^`WUNGA48CXN2gV&wO>qs@Lt}(l-?+PC+SC!e&d(YKm677{%X?yjP%?` zcV`=rVpP(`X@<0hV;MwQu-}lP2Y1C>9>;}+n9sTeJTBpucmJ~!`S}D-gvAk zdQk8f2A_ksd^LR#n3kabSjyZu1vtO|Cx3ikm+A>GIQV;P{n8Thk|E@{Lddk&UxBQ2 zqCrLq-1pe|hJV0y(v^n)oT+sqom1=1FH3JZeGcPzE9J$WtcqR$y_m+BmslngL{{p- zAI((g(NCY58oBk-#-?L`*u45=@HPBeuxXE#$KD|RiiVAgKXh!j=cYywl{%~ zvdR*^@AFhuQpuC0l7NI14OQ6_5J6E>-7r)tVJ$^jdKss`CJRd-8b$1uQXoZAY!rg-MtK{|`#(=rVZ?|!@AuX3cYn8@ zyPkXQx#!&F+;ff5$j)b97)`!KOZ*liJUZ#i^HteYK+Z!h&o?^t3VD)L06Fr-JQ-KW zld1yGuvYp)Jp-?hCqo5N!TIHRN(RUCBz*x7RRdMv4(3FHzY_4b`-KwluwaSc?Q)z| z4OW3pWEi#`>hBn?X6=I43}qg{#K!-!#ojR)+Q`&~hR?vSzRMgTLrV&~;LjgejM5vC z5rzDZFn&+q+mUgP>3aAzOGdbY|9?l=v&5BX8Q~A`N9#j7?ED``xX!q>Q?`$E8O$$U zg8z+YE^>xB!v2J$p6Ps_<^NE4X&o>P(=yEY#4x^JqO4)sz@C?c4w+*#7N|vbEvZz} zo*^tr%P9ST`Gv$MX-UcB^`wQWSj~Ewawg-RrEI$`sbhio@DqV=5#i%?dykYS^$Q%u zy1jHV`!ABm?%@t4FxOe^VS6fil<2+GMb_jLr>QY#*-wfrtXVP$Is5AuZVZoReevkR zdzY+zbHS27akr3p>7t?V)6sg8f3!Z(FMN75Yl6|}hEK1*aY+?tGH11+W*Ps<-2dNR z_`C3<3zsjEa{h@jrl8X;Z=nuie*heQp$x`EAm~!FKGg=9Wqb_n_l4u1-dw(97<_6F z`w0E!hn8i}=8E~@TZ7nd=r=!f9b_-(iuvJVF#P`WL*qgAbFP>lzJ?K<{_{icE7<$# zFaKlogS20<#}S2n(C6?!8v0*^-L3`9^GfiC=c?)T%Pcd;4_1rn;WcNN|K7XkTQhev zZr9Ss|M@ND7zjONYMJ39miBSuQuS#+;`{Ez%MVEA9ZpK;4eiS~{kCk_k?tvsL1 z8Uh}vwDxiT$+~cB!hx}k+R%E=7+zB@lius|r zFU_Aue)goUm>-(^()^j^hqqoSKYNPgSKzN7_^%>Ad{)N4^n;wkJ@tYstmua|3+v7C zuT+x%a-PfHWneTkBXgeMf(2!=$99x*hM~*zApYe0vEP)W{Kapc5q@n9`(gIoXSgqI zEE|>u9nbVKAFIM1S&2EfOES;W-0;>KTi)}~cO=s~w4<{-I^VBnefMvi1Ao^tFnrdM(NU}q#n!2vcMiOPDbSUi zGuV$aFYBjGn-`8=GMe`g$LmIq8<{R==}*DmOK{WS*Vp2T$?ICMC^m=7?718-Rjied zllNNMF&%dsaLXJ|-uO8CV!3JCywftYbO2?aWli?)wDTj}dHKV z_|4Q;gMRzHze0z!!tz=p=RTM8(710Gw^z~2{!%adOTCSWIQ#BY;b24^0u1s+&e%0m$|L7E@$s1D3f}v9OtncFvpHAzZHAh4ioKb?Zd7gi(I2>p@9tD@+XUTa*wESQb@4tb zZ_%F4@V0S>!${1)2E7-(55i6j^tQdo8G0hRfBS=K(e2z@Jv-Rjwu7()^aRIi+)sy( zo%)uytq}dT1at}aD}B)j!n)n)uc-t>^a{}jS+ow_h|>k$wo}w$Lx1osWnc6*x)5jY zmpW`l_rFMajzu>ScDm8qR-`2w-TNh-Yths2xl^Ojmy>!&Q-{^ND21@I*9$Dvdp&uR zyo+uZy>Soc+Q4G-P_M&l+VN>2pY(}s9D0-VmCUUsE}7f<7GcjY78Cz6uk|cAP5Mh= z>&ibDEfKu{!Rg!3a_8^8|0?v=kb5A7jy*FU>&#D}wLh`9FhCcZB07GJ1osOM z5T1+P5WHbJhHl!{F+U1pw`{65z(5ZrqZ=MDo;G0cXqG4EU7$ZzG_~uD{&V z>Z6_~*dwceSJqNT1@)P_oczaD;jAw9q;ttH_H(*vcRAsM*gu?u|4C8~`wnW)Wa4jt ze_lX-7F2E@c{*_4Zw^wsZc-v0BnSaFu2ThOi7b-$ERYKVJsqc|Py2bdIeK$*8VcAV8 z#s53#TwolLr~+H_59AcWt9{DZ(S=@vPi2O6-Vdu~o%H$sA0F%fEc!pIGzbm%?f)k9 zSNryl?18-#_;#!C_h&xoyrl=SzPtGDW*<;=u9{en9;YAGOC!UwuQ#lHSef2AY{_`=rO<^E`jvId zm1s=p>1AYxqTH*1#fy)Q?DV&g=UPuRzufsX_f01SU%&Vv=eF?fl#jR@DSD>p$v47h zL^oK@B!nk_j9&1E>}8Ao!N7F#Fh7iEZLi-hM&ne&C*3C$|U$f3#=oZ%qu6`5z8M$U1s z`HbPcNV#TP+BG%Ap5z*;G|$lf;$`fANqB|EnAErztD%!;;0a)QXBo}hPpryhpNYGsG7rmR9lUfHi4Sn#2g@q?9TxXm$cK8;@MnxUm3jSbxZxdWr}xR)>6-- z)Fbz_=WzDltSlXh|J;KOUsqpM_OkKGjX~_(v41M58Z>IX79R8=^HNi=$b$i{n%g`x~%+4a5`v{lX zoc+m-&D7bR5u7nc+Ps|8C$r7gdJAi>zHMe+I-|cfFPN0#k$pis^65x0CDQ(c^h;v> z2*z_eI`Kk}!x*3PZlKsCjN5PfjQ2?veU` zMqYuLJLUeTsHficE$qBlOQ*0Vcs{oyXR7Py6Ouj(ck*X&b8qkLb)Ve$9B}LO^Wx=p zQx7o@nf7CNXC-hyM|q3EL5Y^-e=heJZ;X7_&yN82D(V(qaB7k|f2IOmyz%IteTThj z&ZTT0^gbrECbV>F5_{Ga=+TY$67MD6d%ljmO|&^go1w3st*r5rV(pwto8xU29J$=l zw(ca4g|=3)|C2@k2y9bSmR}+BWR5EB3@IIYR?|b^M#e%TV<1jv2Pa19EXX_Em(y8S zew5DQ0uXBq;_dYu2 zrLSeoSJBtaefl~?UrQYU;1!xVwsnRHuWv+@uB(7oXfw_`w=u61-gzaO{^O1ro)hR$ z&LM9Vc|-7B(fM0TzE0ZOX|^?~bb)U5pQNpF*SS_%JA_v9GNSZe;*Qcf>wQxOt);C~ zfbq+C!>8}{KK8&Bc*8T~62iCdieGH*pD`K_+QG1|3u#K)Dua}ZtB z&a1vSK5N~dr`-k6gs%_n#^vUn)GOm;RiBig!ZJ)Kkk{~kuf8* zTXl(cRsEDN;7|9T0DnGUm;9197yK#qu!Oct+y`^uU4Fr#IX;-X3m!japFm*h%k#c! z3|AHckBr}%@?*%8`aITh!k^;fK-w>3N$QL9C#h4~^k;A&urEfQEClycO?i?8?vFC| zlKqvyFJn*gp)2v(80H>#N&XkdVFffOWB72NaVR{ZFYj+c=2SxK3Yr(bFEXzwCg+sP zXUe(n0hiT;3!Vd9GR79ed!|sXm%eO*F437Y;S&4`&yDxdwm$UKH*X1fgXEPqeU{hy zxx5?5TN%SgJ@v-r>tbZ94}MmPoE2P%oRa!j({?n`w?F2d`$Fb5GA1jS7hIadmF^SC-NjN z3%(!Ad#T=mU%%de17;bAYt1=WQcn$Y?J0f6q4a-lYP9d;<8To5^&Pu4oL%)DyXM>t zdJ%e!=lKESy_tHrX>q<$sh+Lm@j_oU)FtUf#tDr{9vvE!@pCPC`r?GUyI)C{hc1In z^7MtRKfWTeU+R&0=rHD?f_rO>{!QAKF#v4wxt8=-W2~>^^YvWjDPL#I^u^m&bbr4J zwvJdmmtbR$@~dD=qdhW57TLKS`s~Z^yzH$nWIYh)b-cyWA-q6nSaAL@?`kmq$!qn` zf!Bph9(x!*cl3!VyfH7dFT7uPTs+T@U0%=2&N!cY`4XQy1RaXZv9k9Smpj6PWDXYR zLGd{pwmbVB=O4ZE<@_Wa-1NsAy2&GRx&HXcx-ZG|<`wFB>asqlVXybA`as?}HDT+A z2koaW;a$NmSr>g7&wKU?FhW?3Pas?QFM!qZY$wX+ZKisdm0*t?m z_i;Zsx$i6LONzsKS^I9kLi?Wll037o0OKO^#K%rPblZ3AxEMPNki(yiouto=okP51 z`el9Yqs}YMcO74X&oQxlP5sEmbHLh{r~26Ei}O_Bb8(((j@KAZ9RyG9uitX0NBXIJwjQ_IPzs_8aA%skvYHbY?_!l4V~^?w`624~&e!PsWLUbbRkj z_9-v0XD08>+@_6;e5X7;qIh3M^qOUlY9MYf`UGCymyt32GuC2Rbw4hvU{7ilIH*~E zmGcGGW7Wh**NC=yukaYwT*9m7Dl2pK!#UeHKan-*N_ds5NnMn&RUaH?4I3i7nVtjeO?}LpQN6qu<(7Ra&I9G$mtnjuy@LIzD!%32mumd^xV5;XI_t&KCDx1Q zLbx^7i>@hGMb53WUMv`$6*;%wdNKd`tjHwN<#`4~>hN>_bwH#P-(5a1((STFk{`8R zOmORwNl^ zvpBg|Ue5dM(wA;{{0nb$7WiSZY1=` z$U&KJh+N|?@L|vib5%wD6@G;MCle|9z&VP*2;`z-re3t5JD@uca8{I*&mD+G-^#R%;Eg5j%ow9&k7-!_!XkD3 zGk2K#nA2?u!PhI7T4rjToigTcsp9VC$^lz8p0FhC;p``@aVJWt_Hk~U+PA$yp%>=H zcjM<;?LX43*$v)ecbXSl!g(q<&Vo}xXh+%1Gv*NZ2;TLrnW8V2%A8+A&RXFiMd&vd zc=N-hA1yytW4DES!Eu3R3)i6U+jFC7Z>8rH{#?ygI$@p~v*{-8BF_V6-t!ZEW$>7} zi8Wo*`lg&F-fNj(x3D!;?R|YVcT!WRvwO@A^G-q00(V(sU1_VUTFqL=`Os|c3a|XH z<;M)xoAc}Dwtkjw1nCM|x6H=A2kF=&&gcQQxpnoeEtJ*5{e*%AMWh+tD(l6fIm)rp ztEL|SuPxkT)4?5QiWzQiZnzU%`KIKChto#RzrxjaEu08_?zw%)%$vZ?fFYZwy~mkE zCVmK=lLY)z=;YnnF8A8CJy(;)qPLG5!ME(?`ji&g5Zuzxt8Dc<@Vm+L%ixxgZo*d% z-8W6jdu_;$X;My$wd&4$h#Q?yb>}Ml8Tg@Cnj^%`EZvfJUFnu-A^v|v{Q6j&gLHg1 ztd4zmN6Tr*ApHl$Tc*8Qyd`ZfelzLjmsY10l~zw%N!VP%tbA`rSFj5@XfAe7tF^5d zdr+Jf9JdwMghLk<`!C7p#UvZ;taEM9fkuDr1jpbG8$EjcoVxkgPT8?B1g`TJ6oBiZ z);l=MmN(n6@0T%&wAk{gpG&$H(nb4(`wOJInzQT>>2&&SwV6)8EM2~t?j6pp&GOJ$ zxl(yz1Hvp1-IObpcL(PkW_jqKT&cXP;l*Zo=r~=eym#0qFw1j&zPv58*9~6W3!?3P zhP@0aPjD#Z>G@F{ejYc`Hs35~7J|d#&zE^Q4pTYbHenobWf)&!ZETju-LNaQS#*@m z^0+H@r8bN03n@==cWi>$cM4jV+lLmU%>}Kg$aW>|AWco(oYwM7IB^l5-+Jk+jk9cc zrFjl^^+eVe%e0xocPGK;Qs8&17_(ORT@820tGz1n_NeU}Pr>hQ*HXe0;dl8spNwI~ z;UWClDy3%yzDvUP?P#dQsS#Tn+#|L%2v3aj!vgrB@JAawaWi9KGd!^wewd4MQ1Gg4e#y_kMklS4_8AmADz*hZJZu4cR2Txrp}9S#U?| zyt+GDMdv3pYL7YIk1%IBGV13Wk3i#v3$87jQ+IW1`*rAgfS+{oz6(x-cV7)3n6sdP z{0;r&|3xf+5&1{9YNOSxXW-?M|L5?0H@sm!dFRCPc2l?9J6oj^{f9^WBF1;FE}Ku@ z(a3O-r}@|lZn5j(onw?E1fQRnYMtgoe^&Uu$hLXNNa6R$DemOxVa_`Dq`>PRgxBw- z&$Hplzi3yH4=uJmR(QJbeBs~Rec4lkp5gCEGXeh(q&Y`HJs^vfF8<1OR>w!fF&N=+A>%_v2kOCbA0e+WRzJ>yjm7bLYCU&64A=kLJF5s<)S>0Kp~X~a zqmcd|rX|$RU2r=zb-PKAE%rU8TnZ_hKV*LX$pw-vs}^zpQ>_?3Ld|8q2u|IJ`{=jdfHAd{~I!)G)Uh2fo- zF2ez``kUb3ogx!U@rOQn)wuCPtji?IR~-ti1nSjtctlqe{+N5=+&(<_Z*B; z!`vrHDV05zi6mD8=P#Wmz}0^{C|&fwhp=CoE|^UqHGBEMR)qvO4n@m`y~ zYhx|-ch%*WO^De6+@!RgYIF=m|5c+r)<@{1D8H5RSer-6mta%G5uMu|$5!U-C8qr( zbQ4vN=$Oggr-nTF$b>Js^ylm!#r0)b76xNWL(`YFpk)l}K-PsCYeMWY&P-$tSj(O1 zWY&PIky$l&eJj((I#6>*?T)36WbVb>$j-dT$NWgRxbq8ZK^OBLX*1qW z@|KYIY+Y#?>n{Jo0_B(zTj!N5v(5}nb_2URT#Q`yBCodt^KoG3zTb?bJBG}B5FBM8 zr+O^bJsJ4hNF#D<4(q#h$aC)bWrUE~O@t5AlIs^EpG3~h<2!;pn=|yeX_8-LqT~}< zHg%!_@SYd^ludn*e&w5Gn%eqR&;5Pc8mNiq9M^QhzgR-95 zihZz&gv;Ffbe*eA_MGJHGpj4u=3ZKLO!kcO?T4ROkFKrlpEr-ZTGqVq3|UJ}hG*z8 zo>9(vDrNN6jc4H>C;Ijzaug{Ay@icu0lGLs-vL+8c6l?#(N&@!_gn>#u3T zRjhNR>#U{BH532y`Cm@_LGg)q6DE64b6967@*lw|;@gQ+X5Q?E74Rq7qw?ZQT3MIH z_o`eg)de^Enu@Wg;{1vI2_0P2(ym%~lo#1@8ofpE`!Hbua->r9S?ii|kR$es$cg z$KTL9k^2n2jY+sAU~iV!;-#9y!mRDerae`2-%A%$=WR-mPJu_Rs&)Dz;Qz7A;(kt5W0N2{?sF%SFFC&=d|&8nPWpyo~XAV||l z8j)o+Zx*y3q`X?fCQ@F_n{!%UkhDXCfoObw>v+;inmO3ZmNZSd!GN3e^k2rDH}hJD z5ic+btj*L_^JaDHe!}KcPP7bn>x#l)Kwzr@#+L{mwk+DdXuPXc+7~Ph1`3I*21fg9 zkLL7JhJGP<6xoN!!44bo-IP=HW?k!B#2?|m)Wy6bqw39Kv;9?X&KKK6G= zy*V%TzmWfPWB&_Un@0u%P1gnkaoh)Q2nNb&!vf0Br41{-9Sm5g8(xrAMZM#JH6a4VD+gw2hrq0n)g1;!}^@O?mV#VK0 zy5f-6Gn0FRHvGrf$C#oe8P+vk&u_R-P_&MGxD8r@zm%{PRqokEng`HdN=Pa9| zwP72?e`c|2bIcf$arR!-RmHEzXU&FO}QsTdtLb4G4>CER~I{!V-oE=B6D!f zd$AbYJOS));Epd%b8fgh-MM&Sx^vy%r#m%Uy3?y!jePLkGZUNX%4!(Pld?8Y-@s)9 zor`y*WvrupZraj=Et*sJtG368@1B+J{P_E-?H>MzY12p8%js!U=z3cHhk?D2cAad7 z##VbTVBeyx%HqA~#)&MNsCzGVZ%@nU46C+I(jDKXMX>ML=1NwMt3q4S7Ke6>%;3$& zD!#e9a#0Iy8R_D?+{@YozcxuZuBD9H(2lfu|Fk`Au)ObBr6S)A{c_}>P)phpz7N@z zLxoyK7H)VpZEomSX}-`e)3%e={bXBOOK4}>jL@&sti&A&wWi(k#OAcx(62^T|Lobc zpO9CPX28&U(ps!z(`T&OnRdiFDm_HH=gf3FDeKoGHRrawERB`rjn7l!Oe za|~Uawrc3Uv|94|sK-sXBHi?a?1q)d@&tSzadU=jOTz|1dft#NX``8&9zk}u;3`RD z!A)m<(Gr@M79y+`H-Yyn^Klkje`A($YL3_4cBRCf84z`yBb5@D-P7AEuIxpn#Kq6q zK1628y9+XIKjOSbY-`unl%JQk7eq$Mf6g)@TX0R-8I`b4v%dHiT<;<6wG-?|&*)?y z5Z++QR?7VzefIqzebdf)k7^Ih+N>frZ+l>7750RJ?SaJh_P{)7F1h_c;2D)@%z=Jh zVlT>~4g`|C2Li9CRR2!sJ0W-=u#)&|v}EJVb*k-lm0+B@QMJv3U)a>aK#7*@w|fr; zR+Bcl{a~OXF2p+FjWGJ=N!Pf?Gf{SfvylF^s3`WLDU!{$8{s8SjJL(KWR zCaE@jfA@E={WM;+?NkoqK`q^AQ4aq*71X7r8C`zvqG{>=X2$v3xA1;DVPg1*i}(sYFjY(RZ{>d{<6C$@IW#wq?_95nJc926 zH-8OnP4n`9ZfI{>e(1Th?$FkeuZ1?J)r9tr+zTxq3T+)kvRfZiCBJ)v#*A_Gx!**fwqY zhON^QH*B6JHmi<=o}H!#CwU5Sme3^6L};J@|43->H0zp49?o?A*Wg>$P4YaX()}ax z+e162S=UeUG^jNH)%cbTlROVXTO;sQ>$B6Wk5BU4&ONr__?9OpdBVt~QhXhIiPp`N zJPYB&CHR)@lRRrhCgC5nCphaw2JIpo*J8Ih=R<#mPxFm?4;dl!sqdZSDZu@1T$*zN zu;uTgT--CBRA(i0Xlb3~$;GX^KE=sds$czPlE;m!A8k0Xo9v%@b+WUhB*|$nusge5 ziOwTK5}YmByhXv=6F!ITRCeW*`R(U%Z@Gl~lV5@Rc`@8iaLtS1ex8Z@?HgLYfP3f% z+*g463UFT$!+nJ(Wa7RehI``HRm5;#;R%|!uZZEExD6FC+*ibKUlGGSaZgsna9zdChI%d>k+3^Z|{3^b2LJLy9>n^@=LKjuYek7oC3u{234GS<8;baab?|KQH z<}&x%F7$`r&3h}MAy$+A3Ymvla6(&Vz0AWbxFgWJS#OAMT)f^~=3N$?)GPE`$b8I# zyOf_fm<4w!zm;#?rTomhEVxVgnX6fFm+~_&vfwV|5Alt=l%Khe1sBh+m>aoq=Gb8T z#K(uUT?Yp;=alwsRlLE1Ot8^5EA5Hi8@3tJ7MW8@oP=2ge&EHXcr-n*S_MAhBurql z0nerM0*}-mOE2kIkG9#+6W6)JVnu)6fUU7yfX~XaWmEr< zKJ~As{tbQVf1LDBewN;>AG_zaeCl^mS26XE=u`h@!nXIRe;4&X-KTyR<>h}?o~@Yr zNA#(GGxcxpQ~xf~KmA#Hvwk~w1xHct80szqjxWeCvE$4ZRh3ek0!& zzIDSgs@$WGp}*tl%P4=We8XiN3=l_cl4Z%)B~F zz5i}+aK^Us8zMdIfz)D4vJP8=lkApo1^XM;x-(1W2Fn9$mkyhGF6iY>|FHUyHFO*E zctdnNlGxXp>-7e@yxz7+b#+UcQ*6%Kr5Q6DFAQ6>n?0!oR(1WUTL;d3o3gpL@3++z zFB!R{a0zSh2zCj~yON!j5v7XqWqeNIErPjY)yz5AYHVRFO8Q3GlZxe8r-gGQ-wMvt z|BBAk_*nQb(n+}3aetd|-hTCWS*)ciDJw)-?+|vlH<($VHt{x=wN&i1_8yA8p*lmo zD))$Gu2%cK^79|V!{nZ;ycZ$!JoNoaCHw&MK6!h$GdBMVCa6-mQz`S%kNdvc!@Ifr zc~9Ze{IAbF+EnZ_@8Rb0n$x;c2&-J^7!bhr_sN!;|{!>nPB_DUxK}?eDvn3 z`9|N$Z|6Ig@8j&VTF7svWuMOt4O~k&_ee9U$)6aDyMcUmY+)tDzU|n!vc>*q7pRP! zZ>fyIZtkD5w|1Mw>W4Y_Gh*?#@s@@M=cYVtr(`%JoHg0?l&KNsU|n{G?;+exA46C* z|I-P33IA{4<2u5Q^FNKSUHEx?AHYxL+e$rl|3Xk|L1}GTQktNlss>#^!i))|5bVY z>{;Ilj6V-7A@4nX^4{~6dF$D)e$UK%FL@XD$-DR~^M=`{{=J#^KJwP~$y@uCd7omB z`WI&20C}tXxb2}8z&SA5Vr%eySunY(QF#+sz3Hd^Q8%(P%j zc9YV3ko$&mGz?v#xF=3n9sB1c%bwb}ro1@Zy>!n;vGd-|e56|G9o@HXdO}xvShFQ> zoNrAGCs~ui-4`Ywled3amv3}0)i-LY_Mcqhva5#nzwV6A`=QI%p~XEyg9bcCY(wg} zv)qI0!C|wuv>SH@hYd&U3M7}x+qAOpE_Y{ccAIx1J8Dx@rtI_Aa_%)-?6&BlZRh@#Enx2}g!E4j~*r9$v+rnw7})Mi=4u z@$k*uGg*n;ZOkVeKOWx69siZcgEn|g!##y%n?dUn~guiX0e%aSwRX4w^2p5O@75H2&@jFDm!1q=&?(=Y6z+a^- z&R00&5nYXK$P>xGnmIrr?lg2H?S2J5XXZz4^qZgaIWs@!bN%Lr*O~b_pX)b2=W}L$ z&gc5g55F_>b3WH^e$MC2{P|y!AD(CC=WMRu{LEp@{3E_3KYeND=WMRu{O}etKl%~< z!VmA0{4Jc#%~rPhrWpR25Bj}IcfP{eTnq6{b#u$yxN@cWT}m_8vO@wRAb z-rK!ndN~7`yBfPrNL>;_))^mWm^WL9bc4AoY^?dSGC`*TLhFU*?+KH){+#C#-`n}##rM;Ey9N_Cm~i}EgGoD>bokrxpC0Tf z0GGw!q>#4d(my4@wbN=hDy^*LYzaoLEeebD?~5wY;4Xt9@HFGPaYt|ymg-q^a0hW+ zxE7bq2)S4)+D0|xMj{+ z2_6NXChkZpI1?PEEz`4(h~GZglW=&jN7|C$9qbW2+g=*%kv7^Y`6i96J==4Jc3FN) zINz4Z;PY^{$9@y|^@8i0!0k);mEiujxXIa`5x_j0Hpo~J9IxU$L}>3tWf*e4vxmOF zn)a;(&$+aF4(B*>W>~^L>16hNcWNod`lVVHdkoM*sxeh18#T~Lmr60)vXwTWi)+-< z_Fn+oRN9Ii<_y*l886^uJ|3qVp&`c)vpwmr4)&aOl^>f%+Y^2;*pqhaU{9(1pG8~T z<;Rl$BiqwLynR-*owgsw+W&)WkKoMuXWID((%woN{{RiWO8frLrPQ%qZ>pM>UR zj7)-tN|F2Qtq3nLhBG%90j=9?7DM<-E^~+l^w~=Kv6g?oQE`Uk;NADaQg|CYC37jXhJ*m>JPT;~%t)g9o+uw%f&){yS&*#uz zb+ls+?Kp#fJ8d~hTk3FcXPaYM-e{NcdNr^P2X>+T5wve7v?ycwDBs1jQDpuCX!iH? zm!1BTzMe!s)iP#I;Y;7KPioZgeVG2|{6Ay6^c}cv0vAzQ=H0HlfZ?ve9_dTVJ=q>< zx3phqSH_#vbCNuQ1M5A5J<^ZXCD~>lroEr-*-jgimk#zMN%%*DJx54u{UqC@*`y0m z93?EF?MrFz`?UKb>idNDUdZ;0q@AVo-__8f@P6S3FVR0Epx>RgG$R)pX8+3&ntqvf zvu|(GXuW1PUIMOFwBrrybHRX|K?zv_oX)c=UBn&I_F$-Rkt@(Vha@mP=b@uOy%L?!cEmleNY~+PaJWWNlzf zP*#)AyvR6Pp)_L$e0pmPexXG-PT=+7+`wznnj^oF0+uz3d^#{(+n;%f5u1D}S0NHn@22oppk|q1)tC`#3Z4 zciH}6TA-@GAZe)DdW`ORBV<~Q#{ncut#Wq$Jx zl=;ouPv$r8Jz1nY-gv5_e5osYh}x%F2v78SG~#qa;xt1`2PWbzS?~pXZIIU^bfBDG zj~m}IES5emmcA%jhdw;o2JMf2IW;5gO=K|{+o9@f2`Xh zyrnGfI+yCa{q+X>G+Q^n{uu8so4PbLx+C%jhuRlR@b2E6(6nnm_aJ0`6!6(2*(qw@ z$JhhB&*wmAWib0c*?SIL6tY^S^`tyd7r#ck!S8Gyjj` zKYeKa_wt{9H2>eqfBMq=U&Vj=)BJxI|LIfne~|z5tNDLD|LI%v|7QNvzvlnF{HKr2 z|Ly#zpUwZT@}Iso|9A4A{#L+T_5RSZYWCJHU;BQVCvTBQ*S^P1d}W#VS`5A_z*nO_ zxTlJB%jI!nV{xK8%5m(VpTzJk_;x#jGvYYE*2MW$Ce9awb9v+X57-36=EiQFIqonu z*z7}DLrYvduhgFxub;ib%j1UhslS7~VmDCgKF)i;@w&76)O{~$4)9*R%pYBhH#g%= zXk3TZWt?cxx{MPYS~tI;b@LlqH@~5E^V_6#(nIU!H?(fXo3u`Tlh%nhX`OGA)-^-w z5_`XKdanc?`S#)u0$<__&yc+?S!)RI7=vBDEY=Adnq+S`i@nOIo>yE)|J^Fx7(6$_nR@*Y=gEvA&dJL%owp!+TaYUm_}wba_{X^p%5XZTF3WKq&Tu+! zLOw^!$Z$IN-;KO2VZSbux~692IPKK;+LR3ED@z^D(vo!Nk)UbX8 z{q@={5uch6d0w9oslGV*n36rGr2{uA_M6=7HL0($-z0iTq3Mwsb-!Ob<1U=+g%+#L zcgJN%ysxG2iwGZuD;V1zSV-CtW7-3yd|x}HJrLl#g}vY#MzsfaEVVjU($ABZ+v!(F zRzXU8paXw&S$p9A@-;@ufcC&n(iV(p4;+COzRmkgJNT9~r`V$_%x(`95q?d6d*GkT zpD<)k*F!xANpqSsMd&|VU)&z}IelN?Xb&7G{12MbD0a06woAFz_JBiq$Nd_5_)yO= z-`#nT@}48^H_IGZ-Sp+Hlxbt{b$08(Ue`e{hEQdbCKbLZMWUR`Wh)v&a*2bxfiF(cE7x-?a zj(y$@{ua{A!)C9AvI>ChWyzDe%6KPM)^kgGJ|`Bz-h5V_lB)=R|CR&ZP|rjLk~Y3@7cYDeH}c z{QreY_YeC~_TAFP1j6gE)&CTJ3vCscFHp9?{739_FE0O?e?#K{=PKfRETc-FgkPj+ zS;l+dXdQUBV=He3aJ}Yz*gu0b^T5GVyczPUV|~ugm`~rDqTsos(j7ssXNGTsA>|*@ zGtKhD=$JjLXZRD+RvAM7HuAp>PD{Xz^w9>&S|#`lD$j23TEEc0=+Dh#opC#9>(LdH zeoX?7c)vbJzmCx|jCqnTq&!b+DgI)OI@WkSbE)Hfc-PC|{dGOl-=R7E1(f-&rKEH` zeeg4Ic!WA%cC5{LWw|43${OW)rhL7zZkf&b9&t(Qyq@*&ms8O320hg;^w#2C=NEc= zThH-doBFVk4(=XYmg=;FpLZ?Smd+*LY;gS=TU6c{j-6!hjxms?u8i-=6ac zS~)*VdC2Io6qN1oiXVZ-kWI(;g7~6#lS1Ab1(Ov^`MEw;x=*u+-*U03L?l)E-z3Eq>>& z_COwK<})tOfZxI8D~;i|!^38^2c&<#y`()L{Uhg9qvlX9dAgQboWCHgjKhJ@Xz{J> zfeD0{l{XtDRqX*eCo8UO4?Im88K3j`t|zT7;Xh~(Y@@8VbW{qDoRL0>V_*6IJ za3pl|D|D{rawd}JZ4bPpXB$^fZV$NY+5@M6t(vhZ_Ne8}@JwW+oBwv&b?;Kc`MdIm z4Fg#@2Dv7%X~aEN{+J=>Z|krTFXK(%S*hFn+ceFPy}WAdZwp^~i0@i8$o~Q7Fz=zm zwHV&9C^Z5tj4mAy{ngPoVeUsA0LFQgn~@R8neI@Y+o@*+Wxfvo;jWfvk(Oy(N4uYF zOmV)J5;275ACHw$OdrpbfmLK!8gmVSPh{8#mFTbbJ?Wo88}n%E z(bTZ9h4ekp@giUm8vZHYN8lSv$$K4eRr5WTyuSk<^TDI=!}}YDIC&$_YL$vguRUI#!pLZ(f)55P3Q`Z{1^ue^DsPs7PcY7c3_re!SfoEO$PmM_# zt8*qjt~@_y&r0}Y;*(y_E6j(vv+RFa&-VW{@s2o*w3g%n$trg?@^H|8?=6$S`28CeGyu=6IjfOglDTX0y5Xkma>=*CgC=4jO#>#>6{h zzW45U`yDdRJ5yx4L-q~gb3b`sox3WL&U>-ds<7j}Sn+Oc(NM3$8%Pn~^*=8rv%kTA$lk`Eps~WxIYFHChDdk_m`r9Vq_j^6fAA84fj#}EucyGSf>p9Mt$(FW| zcIAg&Pllvx^m{~8YAK&L8%kF%F87?-rrNmIRJ!{9au2rpjk7yd+x3jy zrpEGdKOukfz2zQx`*X$Lyq+_h&#Yg}el_!;KR}a*@KbcF@oVB`-DAbS|3mM%EXrRB zZ2!o60m~M9$CYS<{SCl-a-(V+1ur_i3Hz}E!&9nlCV4U`2R(M z_uX4Q?h(=i7MG8^8~-Pb<(@;-J&*Q2#rJ*sAY+EEjLFQsXD}zZQ`!BZ`;bSybF^&Z zI?~i@+5UhU%-SfyD1rw6o-hmXxt6Ppzfjg9T{osvukYdmN2gwRpko1ZSCrd~HNY7H zwhZ)%3(0qedE;nwKuUn~A?QGKVRAo>96e7N(=S9i1g>+O@qd6G#+}4_xQl=-UPI^q zDBk}n9iHx7RGID!knX*W-nKk^ho0_#Z=1KxW5M4<81)Dp{Jo@k%G-7x+`qTe+x8y( zwfiw|TQ2eM(GOklpG4A#eC?t=wdln*^8b+eKasQ2qM_UPFS@hMX4oMAQo?HaFLYR8 zhF#^qkFY%c5B}%QAF*%h@1o2^U=^J~Y0vwuoj;QEz8&bQ%u!bVHo`=YKj-wRmN3T*SCYk}t{%niGk zZ}P4|=?Um(8R@QOANCM&S80QdTzotDI1e5^25-Dgg4`JFzn^s5!12Oj-Ko>Biz;>J zR?;3KY=XMVsNuh~p^`Q8LH-N;oWb}{0E6U_Hz}ljHf@k`hI=QHR?3hzN*_x*^BGfJ zl*by}%qL|C9Z0+5WtjC|Sb4OI_c|wBSjk3E4DiqR3h}`gM0)mg{6736__?J2 zzG9CEe**n*@YA0$7Jk;T_2Pp^r(bxmj2FS7;9B}3p;&WT!JiA9ojc@hO9F2S{Mx~<=!3~So|Wk0p1H94XyV1y z9lPj{TGw6LW>q7RG{hi0WZS%4dor&Z*)8TEKqS2`@trcXB^(8h6WIUGmkbt3biwTQ^z0`lCu``k4Xk>};R-@b7Y^4y1fpL|FBZW{7GdM~Zn@|wu|bJs=f z6N=oIdz>QsWiG(|A=Yi|(X%I!#5z77S}TC25?KQeW<4wW1any{tYRHl%Q*ZuzD4KP z&RTl`|GNlJg-^&`F*f^+fvod{hY;>}upSiNk-=KiV6B$UTJA>n%u-mJjn*ChOxArh zq&=h$G`f*{KhO!GkaZhqLPI&1F#@v0#SU+<2JK(dE{=b*+BJkS7m>C5guLB3yfT#Z*=B^I> zuHND>z6~x{BFFEyIQ$@WQUoZkh$-Hdy=BP?kO;Wuvj%|rj(NZRATQv}{6?f|^yDaIA{ zg&1?n5WF&X@V@~5WGslxtC#V~IFRuqw7(4=B=fWibXH{!)J1uJpsbhqE-%oW$;3}V zHZ|k_Z`Lz6kf!=#_~`Hp;SN~`O=Vv4hv^n)7y51wkx$Nx1lDrm+_DcydbjyM!zksy zMqLkBG~->;FSH~YAL5sSyLXY(zhhoh37$S=&Lm^3TRHu2@%=7)*bdezk5EnmoE8HbYQ4dxAQW$|wVPU(+%@SJ`4FYsMY{#xjG z@r6e^q};ib`w?>lDd&CULRNN`Q|joXE%Hu{^kFh?RD&jCPL%bEMu<$+0TCG zd(`>SBiOl|lk7|zz&#=M0o&=D1p1|lc4yIUp-C5eZ^8=}6(=}POWC-^Wm(Q`v}-Qy zIz*m%Oyz2!V;<~XwQ8swzNiUZ(b(FEm;-+LBWi0ux)$igke zb<)l|2d6v#wzzWlGt3WG5SCGCaVCvTa(=99{%XFnv7=CqpKM7rTA3eqxKR zKTkRte-qR|7z#nUU;;_1>Kx@4BIl$&0`Y>IUh|M=#10M_kXB4zdOt36dARd zJHjHP1pgwV;<8V1CVTEW?5s9N$`ik;S;)g`e3|9L@SEh(EmB^1iW~eWR)zks8kM3+Nl^m*ezLE&WoUY#j&a8?0VR_(6;%Xz7ZUn|LL1baA5wYZz{oq zn=-Xn--!OlLFz__F6{H-f_fM|DrhqbbG+XUqyaZDh<cDj&t6Y81B)97$j|WyR@*|iwkODje4c+RotKZvN$=zKSth@|E_-7 zx3A3p_^|hRu`gw%FS=gTewjykqL(UtDYzG#%UcuGKK7-~yUe)6OS-9-mnUPd{ABO* zHpX2SBcptPDjRko(R^>yMVo_F>1_hfiQeAzzW382 zCafwwvY5JRTv6DFd)4O}8L1Xq>2ofHt@pJ%BQ;fhzFos3HQqkoRU;xbw_p0+>vP>0 zsTpzU`&D0XV5DY9^jlYo^57G7m*Us^f@2~zV=sO0^;M}zP4T7g^}f5l9jTdo>3grQ zQ;*c-U;2LE=ei+Mb8DY(bycM1rc2*@eeWkkYAUt!2Wh|Hz&lGjPh0o;99fZ?A4J2w zW1_x^m-ZVX-n;sISMfbcJHG{8nRamLQsduXeR93vX~nO2{}|c*se$fJbJTV&dQ2N6 z?mRTt%e}Y+=-wtg9eX}j_{xzXLy?<9vp%&b^nFyIJ6IMuou>jJ!cG;bfY@t2JzND& zU84f0ufyjq|H(-zaPk)1_i?jv6)J+Qf&lO31x}4ufnGmuChi{;_6pj^VJ9Q93O^Nn z{Yefr{r#PZx13(8&pgR^5L>J04Z_bYdkP&1;UIS?bZkMDb7wzK+0v}oecGfFdi0^L zX)A_oPs=B41!2|P-FNSsKTU<))6}f&TeN-irn#+Uce+BZY08>?rx&|xo3VMeg8TF* zp}`P(E-RNVXTEO>bH~WfxDNk(V((+0TI6nj6jwIJF)!rv}>>)R9)fcOG!6P~Nm4u&jZfGCua8 zn;33+d+Eb1$Z78S0FNz<&7Vx`#NI(8ZXc4F^3n+EOX=ygXs)XV1l+{2+0*iIXDv4FE2;CR!0~DD+eO|}iR%1m z8P_T}?qs?;-&yOusj7U_O~v3zU|XkI!s{+hJhqNE%bRW3|H@7Y`y7_An|n*Z6WKNC zt6}U5Ulp)Py~lyChW{4eE5H>3pYE!p@c0gR z+zcL12_6qc@z|@S_G|^VQx$vz=N9=-+%|kau-*imCHSTIiTI~2#vVKWPlMZ9V0;^# zo&~4pz-Ko$LCy>UuX)~^+Oj6nNV^w;C#P~Zz8XTAWR_3ObWuss8g1UA8u zz$Wv{(U`pL z!2cAMl>Y%N+81DXP4M!64U6OJ!!ifD2tpIDaF=T;eYF<+OpW2EWO`}10Q}6sm9ReA z#e36Rz|UdaYW~}>HK<$N4cHLEwsS#)FO)y+L{O#rs&s4&xpC33ruCnNkuM_Q<)l3x zR5!b;v<9~|uVJ+d+wFwA2=834Zr-nwdP2f~q1|%EXywm!M-Kn&D3hiD)UzEh! zZJ%Bu?S4(#U99Y3X|uFf+8u9i4E|JsKNtArdj;)`e@i?2YvX6_vtMeT25-;*I_=B; zzi1!*+P8hOK9lxg_v8PU_DSE#x=H%)YqxL6*KeQjz5eg6R5JW~Cq~8Rd zfbBAz1DiRIioy2U|7WmafB5Uj4B^S~@qRUTJN?l8 z1JHeajP9pSAAX7MOI31sH}LLaT(*EWq5nL_yM~L7gMx-y#(0f2_p)(ca4GDwabM6N zeIaQ-KPCvL{A$XHj|-V|Nnh<($tLX_XZ<_p>x_-!{{arTUn}xy^<{iGKK6wV?*Z=Z z(9a>GaIBF|;A{fsN)y(6)2^!vcopzghg_e*8&RqIk;l>x0{8KcduQ3{1N)DM&a^ID z&VI6$Ig6D!3;RUO5wL;bH|H*6zSsv==Im!I*3!Onmp*iurUO$d_mEB5LqA+5drTf2 zlRc5m(4mcX2n`B7N}uHO9dZ?nbh%t3=YcytR5Q&-dwik7v~tQmfjnYQr9lf-PjeBj z2-gS?3VsP+LAcPS;8psq8XUTaM>eG@uWAT|s-_8zhKQ>T<)>jI?3ym}enzKBJv!+$ z==5vJDC~lN)3N%_W%v>L6xl3u7~$b@{JaQ0T5y7!1aM@zr=a05P7f7Lt1WgloDLOE z3*pxmS2cui&11JU92~N(L2y)o%&sAAEoptE@e$uNb}R9?Ixmy&ZtjVEE!<&W{YtpYeaV~Zwz7AgVoh_2 zv${qqYwk$JeSMinyP4~JE-n_XNb4rAvO*uRFf*N$N1ohRSwc4zV_YL^7^f;fcVv9* z#Ph5uR8@r=WC`m2D3G!BqdXOZaSDH4hc;s z33GEZ-+bR-Ruc#bnM~SxZWHeB|LPSO0&Ti{_s((|^h>>WtnE3A>|%QV9SX$j43hTZ82jc*zGFJ&e)zGZ|T zc8iVOOdp-lJZ3mDHlg{=@N44}T9Fx!7ACYQsrd+sXWEp>u81_o|Xs_mhsAps>D>>2<~#%nA=amcSf~D0GH1CeG$%1e+zIn zWl3;G=p#S=A?_TtM2SDj*fUS^5k5g$sLwam`)JU*XNzOg|u><#M|*Df87o8 zc}Y7&-I7l?^PM36iTcbu<@oJ5qrU6%dHJq~dQ?$oi^g14F;7)Wb4q`utvdbHu#Ko_ za71u(aDPA-%7|;k)uUcR9?5;(@*UOZnd&W)Z$*%= z)Omw%$~;oX?(c=Sdij>Z7u$QPu8G(zjk*l}NL|#KsxL&HW#~^K>Mf%$!C`&57d~X+ zUS11zMX8KP`$y|=7W(EP&*(Jn8YgU}pC0=3?;<-1)3*`yjXd1ntGrV! z0tb(G>N=G-b&V%)s(ZGhWstUQi!BXD;QeK>hL)|dr7dfVf?;1#c{tV-411c&!&{5m z!&{o#!|g@UaI`5J_Qx8+HuBfS>d;>zEw?>dA6^$*63(L?KGI{4E(!PdM8f3<8(bm$ zHrmsNJJDC?iX4o%Dhc=VUE9GWt`L5tYpKiDRqwiu_HgfO7#mYKMtZ1grRzjzqpK{o zCCojtVGn7Z7dl-^To2Cr`K%QGfQGZIz#=b*ypQ0xAG19OOn`@nu-w(!CUIb~#z@x_ z3O_nW()2{T_~3t=5w|4P7;$SNdawL%O|*-zY>74_ZcD5&;%SNK{qlcWqFsDt2gmG* zHo_JoE_c5+xRj^P74kH=w#K%FW3g`ZIPfXf)$%ZKSVo^_;M;H(;FrKJkiHY%iY{}8 zxZtFZdp!jv@^+WNvW_unU`(RKw=*uC#<*+`FQM-GSSL8Uy+!kPh1XcSkzaMLJnjNj z)-Le44t=N2<>3y{I$X@(ja;j9RS-7lNL~Gjy(Evjqk(PhIg9$JDN}b@xKDbS_`n*t z8nhPK92}8HTxhM1umzY4o<>Ys(`j#>j00&WxZ$YIq&c~}w4Cws^M8;rGiZ-KYT#(S z$3IoZyAtOw3cAXRDqWtYpsTE@lJ}5et_o<+jG^UEnqMv2F=V zT6b(*Rs-QW{57;ASXAa(OFPP%%4myxKkDi%YI6xs3iAE#rZ$({S*B5UC$7w<+@hC8 zaJuMH(2Ue8`q)<5Vxb+g2{#1mTy-q+o``|V-;1~u|8>%?vKV)`#u~8?_ucK|USV%+ z=~NYLbcL)rSzcU-u`M^plhOO=9QQ6Wc82{c^%jfxV-S$T-7X9F4G(hzQ#I}zzUoR| zO5Qh|@{|0|@ki%(f@h8Fsef_jh6QQR@wq~^d;>TpHuPQieca954o^IQUj>{_0aFcJ zivbUz@3jI)V7sJmPHmL*`I(I_EBN>@e59f8p4!lqMpqknxp&OOTA}|XlsD!Aq}ib} z;e*?zJnZtKqnycXa0wq%qOVYA7kLGb8mH8U8#3#|@~tarC82P`s!(`sNqKk&=_kp% zW>tB(k+77hpgr@^?-G2sf_4b5ZO!R+O{e~RzPX)AxR0EAaJEugC^j?Zo&N_<7NBb=kYfq7HQl)&q!6j{}%B*vh zO{sJ3%6z~jV>o;M%6qp9-dm1ne0v}}mh!AifZN$04 z;PMm=YQVD`*-{D2Wh@#c9@GrmfZAbSv4%MJB<=PgD<3BOEbaDMN7jnm-%dMO?|Qu* zKE|9SQOSRyzNJ&kty^1agO)@?%x&kxsal=rb2nAKb%DHNe z1ttcesW|Z`BG?iiinL53TtwKzdRr*Ri)^ZE@$rqqr==ic7oEa& z;rdDcEAnlj&4R}X(zYcEeaoi$tX=2`?kpLbHGN;1+F*T_d6GLzVD91j zDkmSAzobPczxLF_;VrB=XylD?2Y4BI4iLYzH8|Jmv%1b&qIXMt4SJ!ZS$vi&Y4zxq zlBWA~BP~cgRaW_w>oh#_6ui-=sgD#6eRoLL)bl=U@&^?@_V9Lm54PxuYT|_fJMU4h zN%BxxTa>dZvNu)kTbFy*<&Jf^*W&TZm%q#17J)6C-IupQ`tW0yWoUMlNk-&h7`-1P_)J zRUl&*h8vqI&;u9#Rz2`L=zYcLf-!VK(F4~&>vgyoI3jxBsXlne!8%uz@vW3Grmw;) z)IoH@gG*ehtI_qO@M7MUdIY}$ozUC$h)bb2iB5R3^HJAt(go$dZ>4l+9p~M-Uluu~ zV+*riX!|g^SK;y@{q@Dl(k$zZVn?~$YT;cNE6#>X!`X3H-;g=a9e)q=9vRz#Ln<*@3k@-j%=Nd2&oQn$ z7~}2GUGu+m^@Lc%m3Gb5obk!Z8Q;`~?X@j9qB9X3v7B%n;VpzWvA(vkO-ppP1?Md% z+)Ox{2+rF=TnC{z_+)oi-c!Ne_~&4k?(n9kGKx`Ws zx0=oHWWu}+W8^C$yvz(2_B=g?y2kfCwlgPLc84cb-;|yo`6aEn=b55Z+T@-+QzWga z=jrLGw4$CL7E2m!DM_W#mb)Zvh54One6z(2PbIwE4BtxlcWZCidCmZ^Kgs#a)P4fp z&?^O}|C2SehrXV`37u`gt;b;x+S^<=duW(VXfO7ly{5hBwd%VohbG-qHI#`h z$8n&1Xk(o#F&GOC^+zg(x}ORT#fn2i4Vx>5La~Y=?_1?V>aB{Qhcr1$s5UnruqHUH zF?1eVOZCcGi2z~lSiUrA%jXj5gdI}nNMGU{HWgIo&4a2afl54-Mz~*%NNgv3hWy>Z z(!^TArwPaQ-i~}%L#GHgJUlajUe5j{_TmhD275!w#^bs2u2lznqU3F>O;FTsbc1x< zMC|v4_~&?IP}cI~t-+4F)XIzBmA3~oE}S*e?H2~|*|?loOd98S1M=?ie&sasa}FV} zQ*&gjCp}F|%Q&v=4@UV$D|tDWW!7ys>f-;vc9$w%SHa!Q+$);87xWeG1XbAiFTpS0 zLmnmf7+BbMVcYFQUMc z`@WLezu^Bm(v(rwyq#Mk6J zA1>tG!Y9eQjc?iT%dk83Eh?&A&%5&VIs3wEkYOIucM%pOAOErJe_Isq$4fD1Tg8FB}+FhwRzA$i6$H9@;1SH00YE zW<8G2I%cqMGwvwM2spgyft{-gdu0DatFkx$jC#bTfL(X<0chFS&)0+Ah3+N$`GU#) ze47nh=e?gx_%h^$KP->AbOd(xM+lW{z5{wC2#} zw(MEl3H-EMEn*L1z@n1xcrU$c&aov=IYu>d4!c36)imU&QS2kFVXsIamg8Q?`U`ng zZzuQATCjUB<{sitRfau^tZpo_@RsRfzWb@laDP6wdTAH6N0@h0vbxr5e&O_%TG zUsHxNKSmk+Ys%#H2)+r7pG7vYezw5(i_67dC)`N*Y1spGNJ9sl*nF-~Uw(d?#W;ih z&P=Ou2L0Vxw&i=c>pt%YZ@)TtZ%tV)oPnp(?hB{z+2bDAI+6EY;gJuJuMk{(2fjFH zu^$EJM_mRsgWP?6-eM2fEvk3~-+WvP_U@7OKWksxEES)iPf;be3am8gK`GeRH~jj_B`AJ ztSi8YJnnL4-#R#9UD&~$&Vm!oa+fprO54~EIjS!>PxeB70Dk-u+$fk+7~h(yp@XLF zZpRn?bKiDH)`IPh+OKYNWG%uqY;)9xaQ|z&JL?79_i=xUdu*FK>wesu+ug!Xg-6yd zz`FgNZK4* z$%^!}k`)K+B`d0I(^uHirmu*Q=ATsO@)y;Gmy&kCK7GYKpPd=bBrTJ)Cc@E4URSip z8@`DB@>SBF#-D;eF?VLzNd-?A_zT8)-kbhuT-W-B~f(ytCu! zaF&tguHE=|FNCwm>n2}Q$DZ)3KiC%DX#0HaZNO#(=`PaGp{KsLMoUz$eY)j#(k{Z= zH$C-yxT51nVMp%xa4~r%0jmUh?O$QjulPY{*g+jX?{?Sj!T&btn@QhBJr}8GFt)Sh zTR(Uvyc0Myuievf__M5OJhe6as_|XgWc_@tl`yvM+WAjC8-DNadczxXwuSxrvLDQ) z4TCwihu`D>3clS>U4zhY#=0N1#K_;zf15vhdsymCwa41AEBrR!zLc{!Ttpo&k$)+9 z(kcHf%FMw(%N%7Ab#_zVtpYpx)J9P@*Rc#i~74}-meKXzzoF*qc&WQCS2CM~V!?Tr*Ir9(^hTh?DgOQ**S zr=|2jUWMv;2wIYT#pen`#<|t=)5@2>GqYm(yR#~nr{2YKAVVkdez1J^diovy%>dsl z{Egqt2;{9Q;vHdmKg-elX}&G;7n+{`DtmLi@L+hsXyIS4!W*SsX|yX<-%EGR`A+|8 z_d>akr+>`)n*N+`9^28hROInU(GNs7kh+x8;@ro7+X4D6{4({8}lw+(h((0n4%DT#RzkrCcqq|cYr(YkpWlpvIqBudC_Uw(DONSeI@VP=u$V#i!L)qaSoUF z9jznLN!HtIW9TC%kuBiPF?7w5+u-+ha15Psft)>Bi;gmYF4E6`$3+Lo$%FQNVQ;J} zEVdo585bVmLHF1S>?UfqWBB`NgDex);{H!5qnC_c!_@X(?8MKL@yTn zxdwN@KP$L13!F)#{HH1h9&G`?(KmY8uN<&bK2`1<^$!}~W4{yMyyko0)IH!-C2t4$ z!KwY=y5N-HlHB3hndD2yPJ?Twz_UVZo7}Y!w<~+R4qtR#g{~pAcoIC@Z{V2dwRz!6 zblVWVH?}p2YplP@+G|qp%`@bZ;GBhVnWbek_p1!&0Q&BW;M@V~OIJ4T%G3-;4NPbY2aT6^MZQf?EQ6 z(RG<4%})bX%Av;(FcvSuuY8oH9W!=NZcFle#(1<3`~GpIF4Q3#>r7mo4Sc^xeS(kk zMyW-DZ^FOMezzlg34W`x8ny^IM{*iI#yP#fab5Qv`aou5lkN0-?o}*^a{N5S)9{5@f{Hws%O7QhE zZSMwO1^<2szD5~)!POZ2Q1F$v1>+8!9XK}P3$BVx_TgVvHu&ME$JMBbtBcW%`q7R0 zOk6!oeFDQGaKwsB^$Xln<5214zqek#0g{Oj}f|mv0r;a;9KH(1)lm|Cw zNLiVqQI~;>?aa~Yk?mLTly3@trf~Js;i)wsJP`VQqi_}N#-+w>o!M>~Z{Zg*-qLOZ zcUI+#+=ZXon&%F~(eIl$%KLCvaC8tHU25W>A9@s<+C-IR$X%Oe3jqHIp`b+_q!rw& z5@J(pHUF2f&L63YV>iH4>MAzy?RUh}2>4bAp8c+P+J^0}2>Zd{b$EJ}E|Pe94PBUc zI@`okXwtw_XfBY#)jn`lWRrof*oXvQ*BSgZx*%Pp#r@#xQhX1%D*BwP!;5VGU2wK< z7|srYvmVY3oQ1!h250lBTkzJ3Y~BUkZeZNkf^Pxn&<`DMgU;m5UmI~5f8yY6K@Xd4 z79C+cA}_;j7@it)`6lRX$r_@L3s)o#0#*d{%H6nobM?!y;sco}`5tv#C#q zhtIkC?Ha-9!&l?b5%^4BWUb0;;&TzH8v~^iSgRi{R~z z@cFRtUG#(BmG3ISXW`esBj5E3J_GMR20o{7S@ZqtwMtspn1&>7! z)$x!20lZi6Sb@i9Ogt`N%#(P$q~~SeD0sYX7#<%s@i@)IW8wz?y-1totbiYU5nO%( zyrAqTYtsYh3HIg`A3TVTVenx77dqgK8F(|vz+ur_>VRWD02Zx_b@nqg_GxP><^0(;?9^Q2G-<#AcuGbqXCZNwUuETM-L+Q;i z>~8*SRh$n_2@Z>{I|;nxuHb6!6UZ2R%RWl!^0bH`6llcop=)8x~6{OzjyuUB6X}c=fmUAF(zr$72sRf)K6UM z-(|EvqxuzheRA$CyuGop4sDZNs9oh)&i6fkf`L3L?u+gSW+E#!Q9bs})BkP~R-p9dV8{tAN zt(tpgufT3M@SFtv3N>eSzUDO2yMgm?e2}}>ufc~Vf6pdhCg)4+)R_-Fja?P zZoa4Ep9TL0!M}d+uM#|)!?y;lv$@+gqxvM{C+Q*Lv%xjd@w=2>!+KoJi&x_Yo!=_F z4LVP~Mz=NO>{9mXPGvXJ6>*(9O&L~mkndb8 z)BJ`^6Wse6G+Qlm2XH`aKGh$7^Oy}8>Bq5lgnqcRC(gHbKw~0jrB6#Vd-XESp3zMk z2CbFOGtk#b=u6@u;`BYGH`btcT_=l^Ygflvn>@gIMVZ6QfmbgwdB;5HBE>t-4AbXC zR})<>HRsqba}H<}-R$*z_ze2ag|q8LpG(e5gy&X_{UrYozAbYP|1GMxfIbQTNXHj` zaXqdG@Ax#lq7RwP{W6AJOvjfw$?sJce1Y=@iwY<&W0Qd|^OP!ZxOx~43s3koJYXI? zK=i?GcmVLZGH-bX9^hdv@sh~{&cXxI8UHgT50JZD3$?6xfo6?oGVhl2T?jx!H#~v8 zN9?jO=zTG|VFZ6tne4&#w^*Qc_IQQ;#yp&}G|;&Q-3JZ&-UfXq|F6G7-^sYK4kh#r zKJ3?A(6`H}ILniwZ=r1`PUu@``W43OA?RCpxxiw*mQlS{OY+C-Y55bp5n8^Lz6%`- zJ?G=6Xj$l2=ve6V9CR!+Tt)r5?OK}Uu9{EK>?UlPLbJ=DS?24==f)nvFB|2BPEV?| z>H(E@L;4gxa5MV+Hgs{1NuQIT&q>4RQ)u%Ez9DVgi7)h7sX3}c>;mMehnSk182acw~@tDkg@5=9VfoX+cxM<=+JM_VVXgQ zgUH@LlnxC!JB$wdIRBcW!xRk`fZGq6^7Z%PP0-*7XfP#DQ}mY)?WN?X&|gZ9ep(t_ zZqndVp+VXxG&ckgeYzZ=;Uh4xIjXV44b-%Dr2 z9&YHLrrhIA*~4`+8`9z2t9DS4Hx77K06I)(e#=|A880z!pY$)xahVT@{l#Is$0;&$ zHueKMb27(ub28g+v&%rMo(WfNsG?sws4u{`f8#g#|M&i;%qg+4$@<0H%qa_?X$RrS zd^_VxKb_UpWNU-aR1_+p<@ z_$fQo66{d**rD=r3R()7dv;@MvSM=*dz8Yq)Xls!X4<5**xqnAHmG`;ujX(c6Z6<> zZBt^aDhyw>O(o+g+teEFW;m{8HBaK*kOB5r__0mp(;kuAVxJQJA-1WPz_AVJ&i#ym z4IGm(;N9)&Im6(;(>li~Jm&X?Kl=5n!1xJZDepAr12dWLE>`L6Cw{PJJ8ck~6?4*z zbIeP(W52QUebKjfVaKV$9;TBopLy?%Y+5IOs|_n)tTm==SONpFVIAbVvNpX_=^5LV zUhTtX^`h8}aM&0!Y_>|L@T?PtJ?oQpuFmW9_M6$Y1kWSz5m^&20;jyJiCfv5=@_XJ zV(XcxX%}q7)0ih5WS${**R{alEbWka^W(r^Hht7tL-*4raFIEL)tFNYpA&v}@H#u! zC+60&rf%A|WdFxqv`5bN$-266zKnbJE|$UL*n4E1{@Zo@AbD@5<2MFx&f_X(sbUv> zo`#zYuX*(w;}>4Sz5VC+9(xFX4|kitNO&WD6aL`cbB^s+=`~C7U&P6KB=3DzjpD7J znvH~avOfC~ZV74qxN6e+RTgV*Sv5c6-H=JdFMhP?=(j)G_{uvUZ9H1bz3t~edg7?O z<1vjp%VppD+aEoCv>%_h)N3;2os^F@96iq)8Qr8+@qULL`|A<8Q~jfLN9D~fdC%i< z?$np}Jh1059<~~>$pdree&G2cgn`NxIG_#gy>>E%{WA8~nwpQ+j4v39m ziR>S^Q!R2)ej08v`1t=Dn9!Hs87A0DmdM_S616Cc^6x-9)A2<0iG0 z*mA-@=Z(oT;K&|)!4>F#A8$H(FSwHNaS~Uio4Atx@u$a?SG5rauI#!VSLn;NaQXIc#g){)k4kvRY-CtB z@=WYDvKL=$H%F0U@YY3x_T)OsFOg%iNAnlRu}$!tw|VE*hW*s8jflIkpH4$Yi5=C2 zuk@tM`T$vlO>gA;*i>g}Y0dq_9oSMwS*Ne~D*K}IaQ?KS6+ZS$+pI+^8jwGA#NFHv zyCAnP{5vam;qU*1{Cf_5v=^Lu zA164q5InmFJiCoIaoo6_q*a;twH@3N{E~OL7MS?uCY-{rZgA@=evJaZM%B#VjV{5j z`5z~aj{11>EBAi9`RD?9>&wKi876++^E=?zblxx#UX;$eX4mi{`ZOHB_Pn0NuO0BB zJy&?qh--M!V&!aJB66Db`|lv9v#6s$jgD_bUJHL7r2mtf9_f*OzX7bIf6EE4HkjNa}an;2M*6dZvw|#p}G0MBw)hi zHee!rU3hdqFq{Nz1eU}3wD9fWym|z0#17}z0-x*YPhgWqUxZgT0~_Jj!l#8_--uT) zR+-IR@ay`f+k0MR9YFMmpP6f6ar(cGK28E&Yk`N@8QN)cfbgySH*NL!g;T$D@3HBe zA!*jKYK|yZ&35=rCGu@IarQDFlec3ANf+3NTw2aMFw*BAeiT1C4|q(?QKNPvvqm7B zb|Rak&lizTUcMtTDn!{G$SE)W@V?7C7t()u&qDCyLH4q|h^(5;yA}s|)1rVkE2@xR z2Y9nWV8Z^tnk`B*be>tjX42~$vt_M7*7Wm%j|be5{V1|8<@)sj*~k9ju=}xvZ~rrQ zv(JZLaTeu`+tO6xwqJbnm{pC4`*4A#rkny#^^f1l_o{8)ixvzsa>u8g}@C<8vhk;2gPT**~NyeLFBKrlNBL7zaTY=vN zV4DRz&jHW(Oj$p8ove?U@Dn%+{N(Lqf!{jb1Ut-oU;@Wwz)xT)@M~9k4Ype+dxvI- zUgi5cHKQ6mpc2^K1MKdBE@G6I{f?88@xTL3xAyEo58SVfyx`@&zU$#Q7hSC#I7)pZ z&=Wqbex~lYxqjv^zPWy8y`8s!(L?Nv$7I|+j7KHoaSj}wR9EGEi14Jk8umrmoDOuM zGvM_*yyZNbaoMhTR~gtZAzY;uI%j=kSvjaC*9eVVb+l?-@ zlr`&0#vb}j?V(8S%bdcU`sfaJ(W`L(CHf*dQK~QKI-ja9=tC!NRf|LilDUMPI;P+r z1ZGRjv8iTkHW99_n`@5E2xDw6^7gOj&N4R5jE(T9WsJ>YV{E3>JWU<%nqyN9+%KAA z^YbfX^Q~+dr>kSLY1r6g1e~JFnEiRk9G7NuT-GrzORgUm=HfNzE~3XQy@4L{GxV63 z*-Ig33S~dl^?J zm&jMo{WfKs1GeYvZ8?NKBl=Gn=adFG<6Cd)K%(EIbRYDg8|prXIP=@8Wnu%!bb4eR zAKhmPa2bKUT5M*MSu@&!?jt-{aH(+^F8z~%OJQ)y3Y}-woQBTd1DAxh*TU-rmxLEz z#igk=qMu&^m$os!)roIqzh~l-8(x0K;)l*RXTN9SQnx|p-_GuU&ev{U3!Q^YwC6Oq z6!X{uB6C~7r?t?u;FIh-dl6h})U1ZyGJHSgJoaB7MQ7n$aF3rmEX2kzm-dUi$Zu-y zSx^6-;d?vbVcY1(2F>B@&QYV@A>OS5&R6QH4PMr*3Txis|EjvG8tKPr`YwFxJ$RJ# zA*M2Gqz~`XFX2zpmv`t__vUYB3%v-9IOw5o#)w)sR2+{9mc%8)Mgv{E@M_NdKf=yfX+MCV86l?KH6H zM*cLD=Q#2H&GGCQeO)a5X8dGtPIoXZkinQa7_TnI51WgzpGZfyka62^HE!&e;;r(; zEG_dw-O$zZHit|ZzUQt_FT*=Oe{&gr_;WXx;oC~ti-^3-0Ct7AIjo^ovxertruH^) zJPRD1{9kRG;|$a9Il!+Hn2GG3s}H-|BYBUrfAwtVOSbjS zYTHHw?hf1Iys;ZFWVyh&+q%vvvONV~kuf6Qs}on{yU2Et@dA6f1Hh2+(8dG6SLpnV zDdR=Hi)=5rkqp6R5}m<*MP#7p2C@hEhJED!|FV5V_W#B{BJ&U2p4{^(d#{}IMQr8| zFqX}XrK|&-H^(v)8QjcTzzW9T0mf2zwD9NUjO8F>89?t(jpd$i%yU+MquLnDLB_J# zw#oS(G&ITf1Yjq8U)@qJrGyF~Tfmy^SF|MhxTy|wF(*sX1mK)8n zO!aX#Qm-W*Ko0(Wo^lI%wj8^=a$8vn80UMug8f3U+| zdxp9EMU{zdV}xPbxD{V)8y3^HaniJHY{3`X##{KZKP8xxhiyGCd>eAO0G&W=3Hj&( zUThToIN1x@jX!E)ad`a1+mZiW;RWaey&X*W}K0)WX1g0vn^ulIK6I5i`Y0m z_e5t)+Pdv6f4iZxB_I9ZA9DXPe28#w?qlIj{M*+3LwIX$1A9?>!=1U2@NH?cYWuN) z#H_PwJ7b+;>I?T1KD}<6w4*i;y@L9}YtbXvj~e#fxx>&c4iJB>ct^{3arHSXxxcMw z#j`jY>E-Aa1?Um}+@G}Ul{E4k;CysF=eSia_kp5Uup7QMsZSJROSwHS?>OYdU6bH7H2>Yut&?hp{CtTR`#isAaMt>B2LhShuXjbslYT)Th;OUF-oDuvl zc={C+Pa91<<(=}H+4Zw)3N?GpT4bT{nfJa?>lEJ8y}HslJ8d0!`fcYV@Rj$w1Hz}@ z2UkTV#jIu*|d)Ba}i-;Mga{099My1cf(oBrti z-9&$7eOLM`^eOXD>2DWuEJlArW*j-n`G9FX^H{T~_Nqj`Ve80+sF@*!72HC!r}>tj21mbWJou9ikG|-2_Hl^(Kx3p zddWF-63&~=2%?{0!!Y(9YrHEupwxBe76VuI9{(?7^gQ$u?iYGv4|>TS^pZ66Nk95q zKE95Bg#OQ^ZqZNfp?*7fj*gt%&rQEYzjUxpnMM2T@M0Yt=WP0@3@yLrOkHKoS(PSw zN{!%kiVq7c&e+yE9q`~m_^!xI>6_@8!e2wc<~%%FWMxXv6j+I_DLUL`@(!ZIrSukC zU7D%4*aO4$6&Yinj5Y9({od$9=qr#ItlQm!VxY_tGZD2od?%4veR?6KrW40;BgZ=J!b_HkjnSYn=Dms{r z-E3qxw(8TK!`v06afZ+uSo+qa9>v+EHuLO}eB)Kl!TZGKqV#w@Yh@FaZtSyeRkjN! z*-s|zKFL0^S#vmh3?HgzKg;#^^62BxkNECl)>vX+f=}c)W;CKV1j*0Y;?l*)-z(`N zYi}W)yGppfCU7O4xoSQ-_AH|K1= z`J9`Sf6pur&fKv5@0#WPH!05@9!CF*Zc_dov;35sl)qq>pMI0_+)Zb|ulOeA-%gef zmB{}(XSf?nyujZJ{N+sk9^TXxyP|5UFHxi`(j%*U1~0P0e{}MPNDq--Z=T_oah_}5 z5g~Z`-Ynf9NCmv8f`;tbZiW&QJIba(9e&Rx*v z0Q+V#kTtSj`ek%oBVBA?)Zc&0m%<-N_(5(*UbkyvImv5=56k%Lg!#z zL0{OKu2#xg)>Q5{OP77P*plSlxL45=Gc{`*c@&RAv$98H3x2DX-mF+xk~7Zb!1%Iq z!RuVkKFU_0=Twoe71~RGfISn~`q5RKJ7m3tbDZ*?Mm08vR+Yj3%X$uRhB;5OIJe3f zW$p}-^#VKP4pHuul5~GhRb+a?;+f7KS^I@F!j*)RckXc(n6SXq3OoR6w|m z2PEA+w|A$Ndr9!QPfu(&&I)&Cugw;PpIZVO`H#D&YVx({f|w&SvA+nu$vIOS@RNNM z@O$1+wC#R5D)$Rp;}KxFhwyCtr}{Y0z`Z@p`FG3xJ)21XS9sz-;I_WvN_jMCPJI!{q_dQPu_fGiSzbAyc{R_VmQHpM)F!bobAMgaEiBnL*RKM z^eVOmxf@vS$!S&Uf`K!A6MOQ1UEbS>GvdFt5U%RY$0g(TUJV&fOam6rR)T*q_jqsw18LGI7{s=GHjxVsCE%t@mcqbAbB)n)l zzL5?u+A@=LU?g+$?f6DIuxf_?2#;BYO`H1};&Q%`e#hmE<2#m&-PpPooW-^sGZUy#1WRd6$$Jz5CcN*rQf9kj;|>zlwmD2fE>*@ zt*jZG6AN@G+k<_aGwGn*8KW+jA?u){fOWho_R*GWaFjI-<1S3#=7$yw92F*>qPIKd z^je7@R#vCqVePdLH}KKn=i@nH)V+%W!;Wmww)8T_~JVF+&bX6g!maH^27>$&gne_ey#zop4UaEr5@x_o&q;) z5sxV4^w5rF%v~LwGZKyLmwXA=svH+ig9qDW4W%NBdwogja-`Sg zs`N=!`{X56xBPO}@b*eukI>eWW;-?78KRwD+PQdGJH65u+T^886MsEx zrRV;7qb=S(U+z7kU(t^fv|sw6RDEvUYHfm-w)+SN$47F#Mcj2yJEVPl-_U&&Z68g$ zxnt01x1=ivZNI*~a)&JZPVNVkHz8!6C;NA0&L{J|k0;9;5tiNmiO!wJ*pI<=tX8`^ zcw6pC-Qql+fnKMgqmH{&@9|Np_t03*>*(sEJ>21zMt{eHS2JSf!Pc2ZF{%`u4 zk4-1CW@JL$|L6-|i!Zlt6nmBR;79!#!QP2#OtZ(~$yM|}SQ5#V`a;OQf2RHpePZ)z z%jm!vJLdqi)XG!;S4Z}LSZ)by$x#bs{_I8mcmJyOSa)AuywYil2b=49;A_tEW^d0H zXui~tauhH_7JjG)dmq!SH8xAI_j#SYxB8goK5*PSVa$Y% zk1Z>Ue|@>Q&lT)FOdpl{jPn3}@1x%@vo6=xS~fIb851};Qw@34tT#{23=X{lUOz&8 ztuD3lLuse3jPg>~((Ex4lp5{qH|vl(o4A7^iJM8d)akz)T;!dP-b2Vt+OIeu;i3)5cs$!v;6*7RFz2;4I^H8utQem)B^o&$=1@ecih2LwM8>_$PSR z3f{GXcZ+E=vR3Y_?uGV8bpg9h+Bw3+xv}8eDHGqmPuuOnf^9zMTfPml?-12EL6Cv;$+Y2Zg}57%-0Y<;VR_YuwXZ&s_^PXMVG< zryUsoQrDf|HSz6D@T^tm9&F(K7P$5ox}|2K1zd+$odh2QFP;R)I>E8629Aw$c7Y$A z;MgS2U(}m8c4C?u3W8%NrUi!tu8&ZU;Mgxr9Fy|HacsL;htxUe1~~S+z~bgOc4yoJ zj`_f``_x$Ho!8;mIr!N1IJU*au`R&+6ZrLY=5gF9EWGu4{CfWe`1Nzr#$Lg%v4K;T zv4NkO_;qfFb@@5?oA9;K$jguO)R6GHlwIpr7Pb4A+}oVOT^|0O&~_&DDe zc?fJbtLVr?`u$&fVLxdmO&e+I{;$5^ndHg+IPY3I7CM(Xvnp!JJ-4G`xxhOmAAtF5 z1JLMoG)>yrD{1LLPcCmpjJs@shS6t4hNRvW64-t`0XPF&p;rZ+3eElp^el869D`Hp zBUuyjqG!pt+=<;@XzhD^8=ky53;3UGADIXO7inu0nr#DT))+LaHG7c_Z6>X@L96g| z=xgi+53ug~OJEG&XRcq|4n2Ga+>b&Bq9e3JPo4ZP@E0B8ZS3G0Fc+9^Azk{^%6~_a zIBUYN!DxegU-+VY_u~oI!V@^8@D(^&uE0sg6dAeTqQHtXG6JK8ydkiUw*)@?y0+_) zUz88E{bO(_q6dd&DRsdEANy-ykT&h|cVD}F`L(|y?Ed$(L;`>BRDDSPlk~DsX2Lzn zo$%CWCHDTCb|w8F|GDe^iGRZ1yY6Z_H1eAJ4POGDacS?_WIDY1($8@2`hvt!NpHWJ zj{Lgh?#fHNEa~68TF<%5mp8i)7AC;I&3jK?O+PE?&lM$r-{!sl<7z#;C9>Dubyou1 zeQocXSJOi(kZ}8MPrP?vMq=;ztLZ=2?k0UwVo$=J*!#+r^w&1NJ}TjEzb(;x;$9q(r(1}}|I^j|7Sbn_-dOnDPxXPU+vxl@rN0*hOD z7k3Kp;ZEiq+yL+2PU79$B99s>%f<}7(7lCcG_Z$QsTm2|TMesZ59k!f zuV!9WnavNfFMSQ`aZ`CytPYz(C?fCbX>ncCFOfNm8llBiA9?)I zRe9Ry5{2vqKfylmS()0(qSxZtv#>D~zV<|R!&`N$4!qU0YW7>pekFA-2H)$H#@;gS zB}UhJf_>J5*tZTowtH0_bx)$MAp4?q_CznHuCmwKvM=*CK;FO9uj-?&2)v^cHy4^O zqaC8lhE!YjDcW}eT5pKnmIwith9h+)W!N@Cv>9D{bHf-5=PdQOm%fLZ8cMux)vr>t zq0h4TO@o(`uHJfJmBa-G(%*jt_BwA9iN2eM?XJtJ?$CL+=%Dz#V{}q{-Zs*0_`G%G z6QB2wLgMotQoZ=Rk<>0eZzgq#&-+OS#pf-hlj8FZlb(jp+e|+3d8^6rdAF&HakKD- z(;9pacqeW1(PtlRNySex7nJy~Y3o5VEI89;hJQi0-3-fH?Db|CJ}@q1hJ{c0%rNf> zjnmDr$eWYq_n_%<2hH#a!d+(g-w3yxVS!gY;kWQZ_;2C|;d@))d&c`Ieb>I9vIf4U z&Ls!xUZb?K+bfeGmh8_2Bl*)SSS>!Zx`O@y3+|eG6n_)8^-9);GCcVwmI+5c$ey22pf9pJ@5$$jj-S<D!Ust<6plt#}X|FEf0lWmWOr(_4lb(~#|M6<<-Hh7|VOmVW?`a@9}+JhfF< zy$#O_k*toS!YPXU%OZ9)#hrw(nmG7jQK0N&`TZJMxT-QdAzCIaPI4W zb(+3D6y;qh_@w9n|3RNW5WN!}!1F)ti6;(fiEquOFXY{n9qJv)n~IO$*)rr-?!<=A zwG3sc@rm^_S`7HC`;(TTwV{@wVq}fLab<=Ydf26gR*X_ZEnRA8`F&dNL(i$9=D$}% z57Pe!=wlNwSw=sX0+S`cBa)_=vs!jHJd=b?E3j*PL6tVH#sPyL)Bk$2|0igBkiORg z1Mvk0UmeSvWOp(qGnh-^I%yL&l?fsCFElLBdKqt<_quF(()%19fmiV-8&jKi)bAr>T9`d&_z) zz+CWYIr`c<=)D;V!)ViS=$!w_S~ta8X=5B6%<493x}6F*VC zD^y`_wjI2g${PfMVDB%`S0h$6;Y0M$r>vF<2S#Z%&yTXyu=dof9{%h??`!SZgRbDv zeryq^Mg@nSf1^EH=I`gAl|iNA`>}aM@YArNc4N1=mHPjcHyhekR|%ip#)VY*34$)G<-hn}3|9=I0<+9i-R&sahm@@-Jxn!f~VH7H#Pd1}xdTPgut8 zK55C>{ipD_H+4&V{G)Gtcd=#k1&z7s{*YSf0k$WR10l}Yh2V4bWA%6>?VGzIY3)0) zpT+;Ql z=o_nPi`UWpedI8Afi3$%vTb8&TMli@-u));kv?Uy#NP*ZJmfvDs|zRKPf^0qf8vp` zD&FB!E2Dp=7M)<6y=qJid@4~lR*OgUFaIi%rvHlhx6#(oW?N;9q-~GXtAy-561Yoy z1y&mC+4oU*4s|8lGTMYw_U@j7}(Am7t|1n#geEqEkS;(-q9Nt1SJKfX3SluG}}wdsN{QkT^8s_dB{ zpY&^g8f$D;-rv2nxCH)O+72I&f+uUxfA(jfQ(0AMIe0cu&$>`kq+~xf1)oEe){_<_ ztwGX8kuNiuud~j~HN4{dSec+4n zUGN+oztl@SLSH?1sZzn`6zt~#%SIEH9XEjG0Q+AAmL0=j86-{W?idEk&ij*X=okh| zMVgUs7%U@SH1iFEW#4^fKHw&>)QC%41s6QP(P%69P|i5lqaR5-WvpfVWgJJKyGZ|s zw=n{pUf)KsR~Y$*wNd8P*S9eWt{eG=wQ&I3nUT+IV;yk=p0rQk8SUq;Q}*)=(3U4T z%L_kv-Os)yaC4;ph^M5L|NQ711GFojbe*-y{3CfKi%AcX#@a-wg?(oEM|?)!PTD1D zI(y4f`IMPvVLw?aUxc*Lqknpw{4en= z;@pej$>RSB#77h79SYBA{+IYT;=G&V8OQ&eF^^6l&fWyi1pb%!MB>20Gm-yUdyM80 z_Y=?Ke~A|oXJ3t{kpIUMpGa9-bt%~|3j=tWC?LM!D`WYunCh^h4Yx!T|ZsOyJFXVs5%rb`f1ma)he~FJL4v)_J zGgaF5C-CeX+Ot@dCi!8s_fKidt=NuEStbM`@b*UV3i!EwT(V31-~ke6qXz(t&=wGAgvMnsyb3oBK0UUZ7KLwMOn!wZ8P$LU#Wb8 zU+e=ZmHHdNuP(wq+FB0mPMWa$OQj#Z$bLG3V-Q@bM|T9C1{{~u#vu44@bkc*1zth$ zN#N&!Hw(Oi;FG}5178++1;HnQA9f@IUP16l;K!N0(gE5N1fK+c9{7jQW)OT5oL@{I zgeJcZ%p!K7$w&!&1e#3J88&p2CL<+5lO`upCP*8FuF4IXOwzBwOwxiTO-eq2nUT++ z$z(o(nUT+=Ny#TLOVXsL1fF$;CPg1Sx1%!ow%LznqmzZu(W;h<4fEaobI{o;Sg&FY z%wjR@a2An^=&d?(Q)FQTSsKKNOr6QvVkh)0G<_$$QKO%4!iNOU^P0a_l6TZoqS$jO zVct(1nRnD%(!qZb_E~yK6aM2p>Mv;}t#9!1B0p&wef1yBD=}!rOcVa&r>x|Qo;CB) z*HpfNGs!ed&eeQDGfiW!YARpnX)~YyYCdJAX+>A_MNXOdrd-X}chdas^sD(iW}2n= zYQE?RGhfNod;p&&6@gz8nL}sg3}^rQo7p-^zQ-m zJ41IvZxwy18=d3KLf#twB6En9Z+zEBnYIrWLyI}PpF;Qin}Y|pCu`C6P;SVef68!SM=)P-wc|4Kk)C;_pyd<`$fJfI=6gN_O|)>20C@G%6fI_FXL#)9`L*%o~H@*P4~ z1D4P1J`Y_9oe5oi$i6zEtKoa=guYG)O(Jfv(A{F8yQZ&}OQI{~13!^#5>7LD^l|qmz3Evx2?f9j#BObL$gM zyR9_`-FglC#F{5Kf-?^i9-o-vdW9zAxq z@aHG>@$t`4rd7YiC^KB4&kTOV_!zQQ_Xmf{fVZ6Ix^4R0W7CW09h+7XJ~s8P z+GDrQS#WI1+=a&`-+$k+z?Z&w?4Hc>V{>wwHS}W^}4vZJX*%-^t#Er&X_guj)!>|LZIpR~Y$O124omUSE20B+V}(_}Bk z5Oh3$KlY&A+&!Q_9URKPD_DxIT55z}AdK#pOfM^~MDI(c6GrDtriV(gNt@|}(e;w) z<)xMAdCB~Q(esk&6{VHTv6Jb9nOi5*D@!YxQzz32GnY=L&n~TG4xLOV%-lJdUR7Gj zoH?0J7#^i#x6S{O+5UZmSDRr;|DR@GB>mTB*vN18%gAqrjr?XGjr?ZV$Zz)7$Zv*? z{AS;c{ASq5Z^FUIZ-$NhCQOX{$*`>lS<4u7-$nb7skRr0lear(Se*Q+|Lcpvd&aMW z@nbQ~IP;blwI_7yX&e*WRWU~GQqO|c?koJ$@3}G*Jwnl8b3cmr{ZhZlEYV5lavG0b< zq`vtP?6AT^2G}1m+-_ZtZC!MW#x(9+L8dp5cP_T}7;Sg}J1_c5#yV{ERoK`&DBl1d ztHIV@jh#KeZ*6vi)e;Y5i=T%rz6m>V$Zd%)k6ULtn)7TUF(b}hrM zerR>(goXooafPio__8P7K>L~34&`Hex8cqJbFsgVZn?Sroi*ukUiRSVp5V|LWQNzn z`e9Jx&M9pC%*Cz1G*%MrWnCj)C$`D)A|s*;WPVy^RkyPyQ7Ypg<^8}ekA0Hml%2)8 zi_m9-QPvVKqpU_*59Ji=Dju_()Tfi?v*zBeU!TUI=TD?rCtOWaa0Bqm7Gu9(6rL5- z5rat*r9%qpAq#rrpR!l3kbZQB|tgUU( zO4$QlYTby>{M@=3pLx0UNqpwx*6-mn54S$0l?M54gm3wv7rjp_JqR9Kz-OU}R%n95 zBa5`YvQq6Z?Kpz_8SXW$^uMai@CE4yZS_^)(_Y^keA?`t8#LPe2DoSRHOPM@{8xcr zj6Vl|I{sYzDfsu|7vV3$_v7D>@4^2PKD>nSEcF3Hy%8Un>P`5-Sbqo~nClPYGY0yj z_>76Z3ZJpkSJM`AT%VA(NLtLyv%xI05nt+H+>AOIH{%zO-o@zO->C zzO?yieCfkpeCg9ZeCcBkzV!J8d~>{Gw85Tcvs!dbg^JW(Yc$$xxeI=*YG#s58!Xahu-z5fiJR0$k0oDnWRHkzKz&JkbPeIQit5r$cIgT zqz2v03Ni;k*E%>#UCM*DL($JA%2?-z53uH_#WmBfx+fXlAYngYYO#OeM&McdqH*hv(V6DYYRLzwR!!FHq1CCvAlBn%z;tiPJ6BcD!M@Zs(9-v;Cgyvz7zk%YgL zOg{oF^-RLl)g)WG}7RTKMo>C=hz9oYk{ zW62oEUaM4CsUxA#YR72yhOP9{2jtU*ljAzF53+{>nf24P#+Vf5&Q6230|Ob~SSIJf zbI|SFoEzZ0gUuoQnzP6r(){RsMfh{j1IH7-i*OKEft!MxOWJf?G5ofKIJlrkaGAJ! zaf@*G^WT^78*xqSSsSB%Dt!3s;J4!Y(g(q{P#<_Ur%r5B?y?QuxJONVb0Y1UNIM=T zuh)W{A%1`|8tp1$E~D|^1N^6DB>$^3|2rUg`L9gkv^6p;Pn(&i4!eisk@LBdFZC^r ze#*OIV*8b~ec7+p$(raP+URB7wLyKJxxc*AtHpx~x!6=!(gq(X2W}pfmm37m(x+74 zJR{XUbWzTz1c58}4Pui@2TwwK+p_Bjx02@FyC%DOwPo~VTsrS>wrUfb-F)MO#T~en zcQ6+d--JwYp$ktVJrgH*WCI4}>|v;w?w$}sN9JtXcltRudy?}9a$fFoj^it3=)Q7B zPQoXUd2%jJ!fg_!O%nD>7#fuD0nQm$jY)?8AJ*Olys0W({9ZfhB{VIx6ezSzle85| z0I#ipmr2rcwSYo9;~eFirY%Szq5@t}kfyW(8c{l+%&22q5FM)=b;Nm^89lV1=vZ%n z<9IuVqy>r~-cTXZn(z1SBv2eZ&j0&=eY&5$v)9_|`mXoB-c=#btUYlt!q zUI);p_UhbL;MQ;J$CbjB#xf^jgwuNv|cnmh@WEYe{#J?jqeq zx{Gud=`PY;q`Rbi+Sg3`nrUA%?Q5oe&9twX_7O)btx-$z*w~k!iY#g|m_0W3;0wIS zyo#?$GCa_|;qZ2Wff?{gpR+IJGcMVmB5;sLK8a_L0**`o_ZWeJ_ojnq2CrcY_Xg_ z+Dw0l{aLCd!>5h$0t0$pGkye;-%MV?&8PDoki4n?nzxR;xj)Ry-WC(%%ied7ix{1< zf779vJr%@Yknxpqlkv@=&2h9@+MY-|5-7hGTDlJ1&S%&e-{unCNdjv_`~b=8-w!@C zvi3v=Aw0W=Uu_C_p>kP8D|`Q!xWH$X%WSPS^q7sv7_v7>yUOcleWdMB37#sG=5s+4 zBX~ib{tNFi?y(b(MAyaOBO$sN-9G}n^J6+0D{)I~#A``ES8cB}K!?s_4ib=elbrsl zv8fj?K&BZrR&B59k6%CSd~*yi!dxZJx_jV6_Snxs@A2A-#H{(deFKfD_sxE=Sj{?z z^xeFB^}p%|zPB>2boEeU)*5SK*2}o7pK_8ZIseDzo@)EDV5j#}2%Jv-_iJXA0 zD2XcvxD#1(8~0R0lJ9)lYEdai=kiM&c+_$~F1r=GXw@zfh7o=Y)ldBo@<-sj9B(w|-Z=b4L1|1LK;`sZg#EYbNq7m-%Q^)9i|_tigp!`}L)8~#Bov8qQNn`wLG*_lO;G|lXO zQ*6I{0uGv;EhNn9tnx>j$Q*}l42VyMqdTq9@Oo_nQ@tB9+c>tKFG z|9SZpGjq8Yb8pVK^{>dc&FrSn75ERj7|$H~BK@BfZC5UL>El-FFQPqFw8u(&9vi-O z=BfvunCawtjLSv58vGJx8fnLRu1emG?}zB` zb9ld*_t3e9X7Au0Ut)J1?0WRvR{}tO%Uz_V`d+V-FGD-!TcMY` z(RW#htJ1<=sGabP#n6{Y(3vUFrJ@zYn)>iKEgW_~NslbWEP{^tu zo|LuK8gHIYU6noI!ndO3v!@|L@ZR^}hwI;mCISQy&d~G70yi71_+X^B z7@Xd{g720Z48F^OgBru2qoUiA`TZXIh3qr<)gEkjeSYg@78~~HK9N&Yuh4t(gA^Vh zwog=Of6NZ^2g(;+nfUO=QGYHx-Lj#R_GyXE--%zM>=($vb^)&LXinDfy&u$oe#4J! z@4o`NI)=*yoI8*|ZTLWp=J$c&YI_B?oLu~VYbL72;y)vMxdz8MLqp(=PB339sF#34 z>z8t`%bpa{ke3qpM)rw{O+;)P)yf$<2+hV$Ywu=nAa+~MQgXakgKwB=6nlJu5Ao@1 z9EY61eEhXYHGIJJLM1+aT$fU|>|J~$RzAF=ly#6gq`bB4y%j&oPHd&RP3)`E z+d^JRm%Op|$hVU3thV4ECv6F`HkQ+t8jD&iXY2$vJ41sLZ`)S{-cr@K^hmk*PL`Cz zznQ8FdpbDN&P$s6SGEDem7&DD+)|nX|I&}~OJ;4kNfSSZM~upBl`?=`p_7s>-+7G+ zUsUDsK{LJZL6(!q|BT1C`1iIMu;Zbt5FRasGcY&Q7}9I-RjRGg(q)eTGFFN8*$vQq zgC`xhtidL>6#p)%2Y=U45I#p>PsY>FI1Xjcsf>Xa7;GCD(Ghr&8yg$d;$Jhq*TbJS zUK-iUcn*H$l2^vC(>Rp5V;?5_&$fO%CA5|KY*LQ*CNu8`c^C0v9oAwXZx?xYPn;N% z`QJ^xHuC*sSuYl!E^CBdpZLO_DMv4(Y%+5<4Vn zNBn8H!|x<*KX52;cWJR|Xl1M}sfvtOVHEBj{0X>wjrj>+TV#BIyTShgcak1~y9jJX z;BN3w!X38wv>m{qz+D@(F$nCb19$9GZI}71%iKEb%h>@mV7ot1ak84uYp^z}Z#Ukh|E6z6)AzQAW=~>a9zT_lv%4#63v-Wg3w9m6h%K19ce^AQFn;j`9a0TVWdsNe1k#au1 z;@>Oh<0QSDTOM7v^T-SzSe|88Oqw9~Icv`1)>?VZ(`70@6Tv}Xr+ zNcvU#ath^W_Skn`^bIn87U&BQKgj63g2+@t2_4<@qB_aLk!?V_FdSWD#JI8`lnPcYrT%xu4Ad+ zPQA&r=O}!|Hdl)MAoX~8zfDUrdt7Gw>+Y!~7t#*mybdI8GGVWk{Vtww;cSsc;G;h= zI{&N8jndMrlr+?3V9dEj4 zmt57pK63#1Er$M{H{7#IQa9h18R)(L_5bAEfS&t1wy6tCBuMqnPIKJ zr-?IjtDl)9i~zn0?ha@L8Qh4NylCdm}oG*U9@k!@v?>voCWDd7boO8vXv0A-N=pK3qV)8uT7k&f+nVx51EB z(y!<4j)l$lWbSsmO3Ec}9_OfxcM}uZxxt~CJOR#C$!}hpnb@^ zEX2D?=vm#dRoP0c@PJ#%m)N`}^96${39AH86KB;NYGO}O59g{epG}mxpY^fPkXZ5x zYb2q^`+5kwhd9^_anQyh!ZJz zPkf_<7Y3en+!h|-+;jMiduPA)#?wo}bxC`|b%s5ktgxhaugHJ+2>Kr3nL2OO{M|k7 zeL3K!fJ5_7CFW`HgzSwrnUOzdjZ9fnBD|LHS;1G8U-qF8Pu~pAn$?Xzj>>yI)5cX~ zeKk|!a{QP-%;8O%zpGpGANU9#JA9W9J)uH@V$C1ir};aNqXWJ`6=Jj2_UHc~G#RN6fBK~EybbkoMbRI6|PGb%Ms#uoWgA%E7BrxBdH1)MGO&RIid zH!@8z@15wM9i(;fZ5(ySQSaPpYpd)ba)T#|@ST!2p>Oa=n~d~v9XL+ooyKpC{skPh z{=j|}8U(Hh{0)0`@*v+J(;#2qM1)oZ_B%t%@E01p6?+K$Z{Q?uhIYS7#lmkZO~*JvC4xU6$(;M8}vFi zUF{J+Mj11qtHFOZW}bpyk$pl!4>!Y$6&Vd?iKUb?fA6M1x69vkwKL>>R22q}M|d#s zS(#p561qsr*+yRj9%MNDjty#`*Ind z5vBxRu*1ok(9A*RCjWhRYoK_kUvQvzttu3rB#hol{eDtNyA8|2JRt$Ji@H}K%ROO;8RpE?yT%v&F6 zPc6SY@jLxw4ePm1g^t#!(1F`%_fi$=zA+jHa)F$pg<u` zzA9s*d79R-N1A?!-q*=<#lm^xbLgXk^)zFRD(jLlB<(YJijsR&ndl82#4Sa~Tvm*H zEqchddR4ZiUKOP9`+jtiRVt+~IXvsa{+ra?<2{b}l)ZAd8LEVdjaK2oikKIiGjW@0nX@WshnNM-gJFzi+Epd$n^kYNivqZICEt>Ft~`k zZ>kh?BQ&~&^3kR0<(I>j$avb~?lb4mFD=_tnj-LO9boVO2=MAmvje;KT%L1yU#0q+ zXHZTRzvV1H=F^@F{9+f#2!ba9#*_wwTD3Q@Lxs+p2kzJx+21-A9f{ySck=9QCsark)bF)|V*^krgvFSUbLs~GzlXhSVDQF!$oD$cX@o%+nKF3n%Z z-qA+VL`NPxr9#c`-jx}gqWLT2ccK;w?r??Xo9`>KAgpPx! zl)p1W120=V2hE!QKkrm?-sC#Um9$dL8O1f@KLm$5L!B9}kZoCIs|`LS*d=($6&bTc zS16G&K5z=V8T?Y`!{7n-O?IAghE`MGA&bFpR1zBxe+Teh(5H}#!M$de{~-8uH}hfx z-+cEu?F9cb2BBu+AOy`?$e@t#z!w@cr^n(7O#t_9A(q6aH>=^@PpQzwCPPP%`3OQ= z25WKVV3sQsd`5*j>loKAu1yM`BZE0;fxm!ObcL1pnEL|h%pbg|(KQtGZqC9>G!zT=b^k~~?=_XgD)p#5&>q|i5=wo-?cvR8o%g}!$( zR$ud-(4!(^{0N==4fTpHgFgGkZw{Kcu!;6<1fK_{&>nDR@^sn*ZE}uOh0yYMIycaE zBl8Ara;U)`XSMsJ(3m9bpPloa>_3No(%zF9jhQ{bq3pSpeG8qNoWxigZa)Q1A0T|d zr7nM-(cqK*Nxy}*ea$yGRJRCS`@Eb!MapQ|Xi#>AUFYkEouMn?CD4c2vGcTiZ5(Pp zi9SH$XT94`6+C!_DzNT~(6@f9^=i*8t)1{2R}lZB6JA5;T0hN@WB><9oNSrboG5+s z7zg`=##w%GhQ_(0H103ZxD7(%piyr2Ks%vvqR*)H6t?a+4E0=t?(_v>AWb0FTKg&N zQjBp3eZ?tgmGC|IGus2ew$Lr<>oNE!_1B zQ^myD5+1OaI9oYtqS#{7a#WmOQ&S`ULCWOEY@_>AHmPKP1+u)N?jZB9fq93&Al5!( zZ4uZ?_juX2C;J~l%#Xm!&EUVk{8AMJ`7Pttd9AGT!T3=)-W&JJ2u*eH9h_!a@FVQ5 z;9s{qvkqjuDjDDW>O00;h+Qdh$pl^-l{^crspj`|=&DIGCRwymp1V1N;&b5hT&HbLTCw0w&-?>orFFDUZ9sjr= zd))xfLVPPEU1+yM_0!9KEB+pH5c>KSw992y1+Qr)GiOwk_S2F}4s+(jD4ylF3)-5@ zd`ewuq(T1%Vk0gcqmoPHERB0Y%AU$Mf1?uxWQ^eQsW$2ea>#`s)# z2JIX6>o9+x@cSw9+1$<&fsgZP=UVxWI0E{2e4m1?MA}cBB;GTBlqci12wwx?i=OBG zd89wb-GW>nsn6tDhn%~fbXf<&N3?MdfZGBFRagM7leMxhPZid;ObJ1M_ja*ZRiiZ#1Mf zh<)Zd>_|I*speFESM0Ad@>LxnCi!Q@{_E`GUsRc0nHh<1J}(=4lzelj*xxX5l4btI;IvECoXvc56Zz(i zpp4F9|CRF1|3vDan-ht*I`3TCF>#_r?0j{X(2fs_{Zl31d&PPz-0Sci*h)E-Zx#FR z<^9|Xo&NdUtM(TAALowk+&pVyvHpG4>&5~lD^b2cUrNXh4<=vFq(i z+e@qu;J^$Fd_ultt9N!z-}vL;MC?(z&!ZKY$E~o1K&!mq=3MlB;`33aH|*nTZIZTD=d`vV zUsmerRjpz8k9u?zxuomul61x^_I=;?oMF*mBZf?kmipx=VnU10QQ)8O=f&t2<_s+j zY;cLZdZFmX1Mth`3OxcmsmA!Y!LPv$u9rIDvpeCjyWpv<6E~kLelhUUFQHS#4rTNd zzf+ef^jqQ&3%^tjAC0bvGnhDA2i|wpyY-o!@Xk4W*9Bi}3 z7yU*ai0F-uQ@bg#S{&fynv72mKfMU#0AcGddvRZ;RbYvu~pey?t9Wzu;NzopZ9)cw6?&KF?El7JUeEi@)=2e4}5p`8tu6 zWXwB}sRGDA`na!QZHVsU1h9_W6hOWZUL}AmrTre=BmBkJpL3?lDcVYG*@hw51k!PVv+4BC+JW+^y5Yg`yL#;aTp>xxfC^w8a+eNy@CkeXl|PIVE_iaQzdMef`#<-8blwifZ?C-T?yLUtXUFB`30vJaKkk^e z$)M)^CnXxy^CvzslPVeeQ8oITBLxcDWtJ zHHo+W_7`Q2t1i53U@PE2F?wsA|Mm4|qScvZbWL;uIAVc$ut<2y>Z_L~uSgH|26}^1k z?o9Y0_ALx;5nF)xW1Il@c9m#;*vsHbjZ!@*KyLiQGm{vwc$?W0kJ+VCMfhz{c$WWTS^lv;cTz})*!c|ONw^8Pm5gowT#po%)pFP0&fkxI}2KW>i{bt2}exXgQ z-2=$NHPEnwf|szlxZm++Zk2TALGbLY%1{z0K|it!UCMcs>sE^;URz**h7YCYIR%|+ zBF?1HLiAVm0~=Jx%G?I-*ZfI0s5woGRcgmgYEIxI6?$9lxrq&L$i0TxgXls6#>9qx zsWx5bB=V)SQE+;|r=f>co~8S|nWD>b!V3rBfrI;;p^WN^)&RD#fQPt36umH%Ok(i~Zg#e14geIt#c=@^?pg+f}*L z3(pAsH$PTIxg(wa^ZBN>tJvS4yLW%F-j4dw5uU8}qhf#Ec}{<#hbe0W_f;2B_CD%K(~ z`XlYn;hiadmgTu}_+Fj^Tkt>2nPs_&->=!OvfRM^PqvwsMcfZtXISRTd+QX-b@JXi z*)os&TI(dsT<+D@iI%C>5=*}IN{gxA_1Pv@Wwy%CmvJgo<40u&p3!wCk>_-m-^4rN zqZXkT9L(H(4c$Ih{7sm%ZHAHAJDO(n8c4g8+KkHF46^rySUDzO1{n)qV{--al$1FSS!|Y+nSO|rO=xgNVp&1ojh%{NuZTq7kN8EPJ~S}M*N$-ZVTieIg8m1AG2uBy)=I(V(agDq;+G@x z^at>4P3TO%1`e8;UpYfC2o4UEg9mG{1LIRCHq0FM<#mET6?Rr9Fj@}&l(Zc7>E-ZS z_z+d|&==Qj1J}*sosR4N=JcmrJj;^G?>7stvh?SkQaICM;(n}P zswGk07fi7vaNkxi*%HrvUBM&^d+O#aDwt@QQBYzTTX3ai8@O(pj_byr!FBuk;JO`s zo_C#j7M!Ty7w$96e^la8ngsVPg`WUV1(p+Mn{=Vc-#)L<@u%BQq2KOWF1loV;DAwd z=Jp!=4UPkEqGukdPH8cqv+0x%QGJC4AZGyntw8XXv z!XHVDj`3HUvMws`m$l@#I=+0i>v`-+)OUz9;!%P#v+QwE*t=K9nM3W~80;-&t>~~f z7e% za~JqhaNkaFslY)S_)>6Rfs_Rf-8BLn%{NllE^y~gaHQbOHgKlk(RT2t)Yk^iydbIg zG|p^~;>=y(%$-r3xjF9)&TQ+0GZ#-TvZRwHICIwIQp;Dlf-`4ZzT{pDu9Umr%rCeL z&g|wcIP(y9!I{K+{z;r^#cwzO{INI16Cj2jx+1?D9H;A`h`AR81|8s2?=V&Nn@Hv7qA!RxsyA3N_!3a zR`AJa5x5Q-Gmzm1i$1AL{42aeRaqx6+-1gYh)$~$I48enI`PK@UZK$~L%Da--s6=0 zEwC5@#!d+w!YgA-YS~O$FgvxhDSK#XC%khfHY%%9v;$uYVJCx6tt*-!yhl{`Ga=YjG(iKW2aj_Hm%oXAO40A{b`Vz-UW9gpZs2|# zUEEsw^)+j(>qrrDXD0HU#M&BU$Def8HO6#b%)fI-g1R7xucgGU`3q(3;|jpPi>^oJ z;t0B+z-X6$0shZH_}))RGXryhe>y|QsOK~C)#Fn$-(WW1!&zQ6_<#kBW@tiEi--0> zn+7>Fjt!iL4~@Lhwc|WF@ID zxRi8cBZ1i<;}y6K9Ukj1IGQpWnbX&-zTm^iKge7nJL$ir?uYq(o(==%0P>gXfrvlb zzZF+cWPf9!F82$b?nLh;_X6a4xql>ju;{vy-!h*rV%f>F!~xUaanEP$>bPWHD$og| zcZPptTzUQ@>Eh2U_*h_FU|ir`Y{;?(1nz^tyy)G6!1-h;7rjV0%BQ?X8+3Sz$y~^P zV%xY#|1&z1{<-C*%acwxK6vXyY1h`Hj#Ztn{{C+d1{{xk{P|Ub4)1gP%~ZOvr0Z43 zw#$2;yQbwu$6H@+8fU!dIY-0VPj30+md6~yEi2dk`sLp{T)+MP}x!}rC&q!FV*m&4B_Hd*L44EPo#>44$q3e^G>Fetpv%}0EJdD=zq3Y{Rj*aOCf43{HCpL@aL6h4 zM0}Unn0bwHc+ya8z<jlTb!*zil zAK|$P`Sc${RG||bF)|~&w7V{4f;&wW-jO410k*+2R{9n!jXdYj_F;brZ*q@Qg>LpY zX3__@L4}snrXFa%oA0D8v&i#Te5}0G@hisTGR}4nTv`-z8r1f~z}cF&oc`5&IjitJ z%w65?iGK9k~w=f?T5yU1z$;A z;x2SJl70@C&>jQh@g{iC%YI>@D`D({^A=jivu7LsAkOwxMxR3s@ic?4r0gJP5T#4` zgPh~bnZuv@OmrQnfd;EFn|$HF>%)uLAw_!7MR8gn3UCUuJ+qQL%K@Xp6a zInRr-G+^#peoKt=2R@0s3tsCC{Z-nI4qx&JyvAVl8{SK72QO`imAi#^v3P9;i+Arc z%zvz|k>o`HYS6;P`11~Hd5pYn=1QJBr4Gv3z+F*CIeBF+WKLr1?bCd94cn-+C=u-Pa?*}6&iLOY=%zc zfKRHNy|NaS%bLBDx}@BfKMQX<2%H;vpT}=`CvDME^WY_Obl={GsB<&#A95@I{U-I2 zGTE}d#Oc^Li?+jG$v2B=&qKsXY2sN~fye0cU-|tZeRQGAlfCK02@YM82(K|5K8L*< zN@aFrw&nQR$j2Vgqef!CJdrfaE^DtF`-rRu=Af|eTIs}Igs#=T`@!(0PV5qqwPMiM zimdszL*c@yjH$F`Ds_v^OY-MM-xc$2J$5%)<1*%gXJp(P8S@h!qrbLO)_Ho%w>KL7 z-&Gm?!Q)z}g#I~?gbUb@^=#LT#hfvI-J=Ko=?Wcuz8HOMhJE+-lSAJ^uR1-&{@DI5 zuSpG;@s_a`-g5zC{h>jzuSD#WLt12vBXJIgwaEB?Sc&bIF@HNLGRF8(zjP^M{4HZF z?HNQHZUv64x!`>9`2v1Y>B|`UCC^@-FOjijtc5qRGS>J>q`4U9Ovd?|T{fS^n0a&y zctOTj^eNEJ2~Cuh1O7P)Uh#pOE}=YG8xh~5xg<=CEIkg??Ym3koaVq$lsW9te73;TbkEgpBi)4wct1rBgO2!A-A{GIos7X(*z z7#X`N1MmcY0o? zUophlP(z!nS55cV&`w>)Ok3hMgg4#1(?q;1;h_dGACC8yj=+DDGv8|LT1c%Q-{8*C zbiO6FPq@v-n zE_m$Ufgdk)cL;R|{0i)9!0vEhw;9-V0K0!7t)1&)^}CMFt-!9o z5A2SL!fudpY@=-w^F`Vv{gCnai1#s=6?lEG54>)Nu4CV8QQs2>2Y79Y!fW$c@S1fR zUjIh^7`$5k7kGV4hu0xdc$NK~ec^Su{fnLmu4?{Sc+F}Nczu|9FaG9#hu3C-GvIYS zc^~Du26&Zo)nc&c?gM*ES8OP$0`^2!>kGr1&ruuoxzu4etL0A0@=?}OV7>~N|C;A; z@tN3{3OI2BCvM;~1|!0={#NDz`?wo8kvTwgDyYaT@>f=x8U(H-j-~A?l}1?&&rE^7 z^f`~I?^+Pplk=5gWpATDQz%=9dCHH$pR9eC)XCn`*gN+?S7-+9mvtj+MszkctR;Q_ zSD$l<3K`#Tq+iH#HNbdmZ)0qad`xze^I2g4vxLuka4_^+`UkFQ2HrGv-+iM^`L z$-p)EvB^X{$W*R4VrRm86F*_E*k_I#lkMQ|ffFd_H(V>=`!}9gx$n{iH@8-wrv_S5 z@J)t)E33Y_HB0JZ?3zw&oQ*!f-?V$nlCBc)(@K@4^4cHLR;=829k$0t{4L<2%Wkf= zwKfrF$l9M+V8q$l0v>dr=V&4}*9g&*thkf7(-Mma-yr-_mJ@qsSe&|@Jy80Y%3_O> zcu&$MX{)sBY0B%{wi);V?;zhIgUS5D<_(#T<1f4)e~zb_n{DV#uourB_4g6J+)2*X z4wYU~HAW4rLH?2#Vbhw-Fl{rj*HFIa+(3H;vW$gu=cR0QGF)c5 zT$PSVP}{v}f*(Zx$37UwMxzWxU+UtW$cM?LwQ2Z#;jgu<+BzOP{_U62pIhNacWCK4 z&N^hF2yM?hm%oy)i{f>66FlJTdz4lPz z`@{i5emZVUvCG&@$M>oUe>1^_$I%T6AE)EI(LyuN>?@Qr4J5t>Fs0MXr-2c8^6g%D z%qHMt3$UYr2ODF>p83$zz{=CW3jA`Yk-oeRJT~zSe(&1_w+l?kH}FV%g~tc(LIPh+ zd?T=DVLrwGDNt-^7`P?8NpPO%^Mu!45q-~IGW$V?5?@RE0eFbcaVqrHX7JfKXGnO{ z1JM104qz)3E||tQ&B}`o(!2NA6cw^1a|U=Zcg~{hq>RISe~|Cz!bctC`%l54hxxvf z?++BC>zhK`k;j!=HF)Dy=;c1;9pHN@uah#QJSk^(w46@LI6xWTi|rcUGS8u%d@EzF zIOwv8d6jO$W!x-00#x!n_+U`u3xK8Yw zV;}Oe9B0ER^fX$RYUn{%BQc>^uX`m1hPKPpAbaB`XUJLVS!P$3z{_yY?sp!^{3pMs z8J)dXa3;MgPZfS(h7Y0KFuqJEh{_rb86G?LZ&_PM;6dBiXY<~7HTzO1Z^~fgfC0|l zF#A=;+ZZlrvPyAU=cdRnq0 zzdh04GcJ%lT7x`Ca#Yzw){yw}V3_uIquUKA96#4WBL?ve>#@j&?33c`O+v2lu0R)& zf$yC%l$bal8z0pYt4aJKoiA0qmFKgiI(yf!28-|y)$%L!w%|8eW^-0%YqT4fd}(BL z{<1K7!2|f7DRiVJV(nqQjMGAH=)S^_1D{4ei)VY7^W9~9Wh@uz{WW^t_y%2wVUXUhu{Kp!%{P{H+Tu5? zk+Re!z!fo0G|J1eqU+(?L9CsOLBt|YR=xd*gPRnmdjErbIpEK7#_nm#uGG{Z`Q3;P z=E!LJ37tW&@vwXi2WA4@o(vGi;X%iadR%3%-dMz>2&|Vy)stT3(oGJ^o_Qh)i)P#;Gkc}*fVhj zbHRH0(SCf34n|-nMc_enQ^3P2Lsm%@XLiH^6E@(%{Z@`I2bh4?^g3hkFzRf0FaQrW z;K5m)x6A^*7hf5b5V zrx;7@<%44RXJ8|MUkG{WkDGZBxN-7r5_7T8phBWgD;lgqiv?e>R=W1C$&8KVBEF4{ zWwMmRSgQOpV=1s9@FMUbV=6Er<7%XS8N-F>V`Jkg`nie2h#fv!ZLih)GRV_GTMv*o z22%^MXK|KhOD(WiL3=Iq)5`@e(&6T7aJ9gV=*Oks)*Q8c80r5ZaF&7I7P(Q@2xC(g zh(15b`84X%=z6(S3yEG|$2p&d%T`6_?-27>tk0dnSNWDzpF0bN>h}sG-1{>oMou@Zw<4pQ)<+s@HINXIZNwpSN zwD0B2(-rhh<|c{q`odgX6y~adIgNG$Gdj$9`@o#|sB1dRxwB(9s2}aF1?H>^Y`~mJ zhdHqg0kct5_s`TN@Li$9x73xO*HzW0F2MncepP)K z-d>@@L!2k+L(V-+iQquNe=^6;Pa<&3xkWDs?3VIP5IraBrNzZ>JNaas{=)lCY*JSM zV@FsIF}M>LyQmM0$$l8|wRVv&24gxdJq=@tI*e^&90K?b3SAJqB6MIKWyRLRBIZlh zi_nE;U`;Vj2MmUiZfL?`(apd|x}ga%Jm8JN(humu89b2BI3+?CB6uK17h?2DXw!et zCb0<;d!a?}tKil>^g9=rDIP%V7=bNtvA`CJu|YblvG->Nc(99aD#=$FT~}_t7hEhj zIfjoP(aVnmX4(E5E#In-s}a9it;N7QC;7kRT@|?F*W{P`|8TGP5u7hN@-*@a-e@8Q zb&SR+@P+}rkqq9*0B@MV8;Rfz>6_pVp(C0pLTg07kE})ewH6!gx22zXFa1O*G^m(< z3qSED{S?^9>C;auZPuc5D`P1x{1ie1hBJ18jJ(Y~7 zjCT>ZO~zdEaMpc>jDz6C_0hH{_{mtkExZ%hkn|FsWgg}E8OpX&kCup^>;t+^db_}} z^gs6g2zIc}D)!%t9c;As^5@AH7)>n5a`@LO*3^9X6ZlX0POsbLMh6-5wHu_{w{GFg zP=Tc+%9XtZ%!RIZ2ajRfjJ2VQJV&U1BXxI?Px>bH9ia{L z`m|NrsOP1tpQ{`Z1k0{6%cM|B{wypG4X-V(-NcDdVQo z#HbER^iR6pCo138(oao6pOD*Y(RE_u3DqVcrwrsufEF=t>B<>eLi-59i2R-2vVpZH zd`(}SlVyeCY+&t4X!~NLRqSBk<0kf zOd>BOGR`8yDCDDb@*yLJ4zUJ+t=T`+Z8RsK2SulALw0ITP=1L^9P6L>p-VZntQVPc z;qkuMsN2s%Zszo6a7V1nzVmpN{)aLCnr~{zD}6ajkHeYFjxof}#~v;=a*@YkHt`>m z%Wfey<{Qu$$7^cwT=q4kAj>3v**H6at6OVYa)?Xh6p`ENiC-mW-rj@l{8MmYUPqy? zvCY!zFrI1izr|AZvv?D}G}f0Ex`)wK5p?lNB3@LRUhZ|?}T zJ;=TngQ00}fHloL&-zE%-c9UfoZV&+Uo7w5oy@@@);M}`y9Iej{MxM8b7jBTPJCf@ zEp+3{67iupNZP?+s^I-$>f%-X(QyzfW(Ra(QLZX`?V8Hg9Llw5!#z#Vg8|TkU3bjG zr^Up+Sa#8KHrQ{Vz4O=uUuPI$=S!*zu&tZS|BQ+|k=q6)U@rs%Inp1qUt7v1z=qHwl4_aGwRcq5k)%q^6 z$0Z(Vqrv29r(A&>{0@jAuUbC7!;LN~-D3`g%VbZ%PU_iZi1+1CPX+Z6?|W7)^#zOx zEmidSz{-rQRW$};qH0;6GPY}0B&G*BzpaS+yYUl|7&z?`SHW{m>oo$K@E@WN$$PC3 zI~cK0WX{1GihXt14LW51y_ff$;o8~aL+wI;^#*%>%;=%Sj#Ja?SnS!eDzm^-(F(kJ zstu|nqqZ?qS+Vc%HPjPioRBBJ2pW^YS!Vm8YgOpetKs+E z&QO~n!FLqciS50$5PRS#@bc-^k^Mv|z@bJvM8~-T+4lDzxTVjY>G&?mI~fz-m4iwf zv0ERZ&xe7b%?7jm`myT51jb7IIvQzL8|$PTeOM>@M|dt`Ow0PuY^lKhvvb)ct>W`0 zF>M2z8Z(!E=fI_2+4I!!5;r!*sa(76nA_TR4dX`L*n-P;eD7F{#-eP;caFuJ^H?Ua z2W5Y})cpx~#xa+5%=v1^IG1wn+|1Gx-bvgx{DcYxuVnCB=I~=K*~32yepS|sH%;x4 z_zDkeny;0#dlpo*YUnr%d3F$wMNxMEIFkB}?8h0THfEkgclZa&)8UQvB(NqhC$MH> z4GD}@0AnYO@pc=qWfRz>%p6ZX@NCoJ`D4DT1(vUhw(|z=hOlFntZ#{7U?t|n#_t`o z4l!4pvu6INbnhmCGg;g6-DvWQEY=RJtXkl1^|G(D9643sLHZ?qf>qY}k1V#it1TIDZBLX)uTj>tqHU=L@nA3ZJ2Z00eT@X9f55LcieqRMF zxRv8Q(OpXZSQ%r{=b}g6@FCy+8D2tg%t`JGjZXjLyi@#z>-y~x{kY(7iSsJ>TlPT- zZWp{R`2B}^Ht}yd2%L)^@(_H?ad74$zWtmv`dEf4tN}j8pnD2jE3_HB#yXb$eFxxg z4l<7D@$Kx1Y03N!{tVwJ$;aCF%ldZEhX>Jt%U;zaS+CPnp^SZ2lWK6A(E-fUwpR>* zpW~ed{k;WT>`tWr1E9BUs)6%%L!C?E2cUcSLWBf=xykQd4v)z=RgkZea%A4}NOMw# zo4jtmlk(tMD2$oTSW-qj z?YirFwS5cxVH3~BWTS6&wwm<>F+Bq!BM`S(VqyjC=yBlFz*l;#WZ6G^j_2&}#Gchf zTbBV>@8jzuXVL2LXH0C7y^X}SEfn4FGx*0!8~?VHw$p}xTW5#k=Razf{S*r!+4p8cKlNrSfLB)^+kzuJ)1 zXvO!7@5(u^XbkrvaB|RVY$y^siw@ZKTIF~fa}M141#dT^!|+Ld{2QlpcaeV;dzEc& zm3Dyd#P_xKwTjc|VFmP8;I{clBql9BS$3g&;)fBV zd56Fe`>_#?wGh7#xctXus?>ST*|6D`_v5fRt=e`O>rS^}2`o0T4!VJTgRI@F?iX>+-XJ`6rElbV%BGJ`L zyiU$_;I~E1`jYrhTh-8#9DX;$6MZ$n)w|}-75K8wfAn~|t5^1Tf1Tm#{U*!RyOQ_c zT3o%0sP{y!tM|ecD>j@Q>FTwS=fFj--V69GJk$By+lf_h9(Nb_bLBmIDXo-gy*Yv_ zv>B=}P9r`SvHS#9zJq73!*5(*#znqW#4)PkzLpq90y{&#S-H=a_sT;HiMv%S>BCp< zTg%wYi~b(QxaM&_5V4aMSE=hBwc+bwa;ZI6D5Fo#ji1JS3-7O%-~A@ad53Am{o?$^ z;HS#!TXnzo%Ib?-bBJ33yr$*!V?RLBRQdki{C?OGbD`Ne3#y-a`+i?rc~ z_(k-}L1>Y*U+{|bOZpLpR}$PZ`oF_^AC7$-*73_Xzf`4O(PQx&`=G#6GDopPk3qHxGMv0@zpK6VEEg z-8atwCr_SBsli8xD*ar=ijimMvG&a~S}jI5R#q|kOdc8Mp*oM^^k>U_@Y@Jq zl*O}x_Uz&=Je=^?6IdT^=#}u;!Vk}dw+<}D<^|s@e6sM@!dFiq&ihGYT+92vz!v~o zBmB2~Pd%Y!+y_B zI&JEtoo(>aF4`Da&bPF=^QiJ)z8+o;oaW{Xiq4~A%VlpA@&Yj~{Z``X*<@V##ztHR z!>GEwHg{Z_>kXT4Jl{!tTy56+y^=nf-wZ@c(=fGt=v4ZV=p_DzY7yN~j`f^|AY}{e z8nz^d9>w1;Fkd4+B|Pwam;bU{XM-1eNi8;Q!`9QgU(&0X}>ndIxNav}>FT6TUPexX+M^OTFuOZ+!le(w9EAAGOT ze*=9Ke3^e0=Zud-2T1#BITPGl%JUXOL+yp8@#*totw~5 zyPx00OYokOZxb78iI*vT^gZJ95*&BC%CmK}e`Z-0B(H<_oWEG+QbRhdJ+4Tcg|{W10REcSBYQBO zec{m!91)knFYqRCDe_`pxIA{T()SaFuwU6JV;a{`d2S9Oq`; z29ZgJ*R0%N1NYjhSG4A=NG^4ciqMa_y6nWh#C%nD4meHlSsd#l9@^ohZ+9a*4S_#3 zz+V&F)E|I9eUFQMa-r)u%|?Zc;{`x9OxF3P74H4ZU5jHaW3^Htdd z_AN>~gm0S+KO%a z_TjWubjlURvvtqa%%Q9e(LE0xDQiK6lF8R)jAzeae9NQ6+L62b{-gdpwB`Ef{4bO{ zb17xqCu!gkE&uHDuOiL*1?{DL4V}7$e2nGo8vI#fPvYV(qs>0uD)4a~d|Azg2bnY5 z#7Uu|>fm_cNgU*vj^4PR&Ue*p7&mDW^L1kUC;Ud%NxKG~X&hIO-$ElsY0M|*2;?ld zBg!LP(wbwM9^t!8$$r^)s2Ru$t;mtNC-1cCJ6h$;ziHKH=T*=oo8*ON{9N89^lvW7 z3+?#1yiTD}k{25Cb9n>Mp<2lcE%~{;Uf{Y}@sdF^vJku7TIp$btgB& ztFPjGsA;T~yk(5?Uh5*ps1n(rdEv^Fd7RN9 zbV1T{@bz2AnB?ebOHStA8P_K*uXP(^V9?VR^Id$OwA|J=p~*XuFPazL#CHjO((+o5 zF&;&F+Kqgd*e5NwHHEY-3vW1C18*a3u-$1&ucVD~zSm<57oC(b?2@+K*)P2g98e1_ zr~`I`ysLOWr&ZE~*FQm=CW#A2TqwH@8Q0X0b08U0(G^(O1IE6qGLheY!FeijcP0x? zI9rZ;QPyOX=4TU+$^gC-oHUm+r$iPKyi~ccvh@&n%Y_^ycQroVfZ?iu^ z-+M{^-!olC;(Enpm<8v^+TS^_?HX6AnmtOM?SIcKQp5yfPkyiPyHPy!Y_$Hs)-(10 zoNn*0d=Cxr4}cF<*v{OE;Bw0OAwJBzk3AcIKZCFO!;i%B9D?_V+3YgOcL?0q)+g_` zjJJ$|@V3_F6(@t_&tJ@bHuAZb+j?XkE$HLz(7lTpCq@2P*|BotDA)VSnfgzWXDRJY zL|^~>yX-@ttYq>Cj}+6f6+ssk+$c18a7!}v2_9DH+SEG_KP2{(k@Qpe8QCNAIpe&u z`kdAvJlyq+iRc-Hr|F=dnyX&tk3L;@Hovr=-@-3h-wAL3J%07gtQiH*B>a+sUsCW% zHZOaiJ?wRcUIpQoP6!W$?R*FA5?&^7A3PhsW$*kic~|t*bpK>{Bw4H5hag$BM0^g8GS0GRgnBve@6HV`&)B3j9c)4$-H>^r^dweMj^Oc*4)l@!p|mpAOTfZurzlpRmi* z2ZO5Jdp~^=evSAWEt7Mt^d<4EzR3JIRD#|YnV+$-`N7}vr}~l+?Mo8#(|O;SzPK5C znImo4nf|!xk9T=wj-He`qWv;QGCybagZ2k$zwFDAa$@a2ME>8>heM=A`jNn#oc|O3 zh|G!fV@9+e`FTIxkG^o$`NKJh!kNs8^x-Txi}sDxv(Ko$(;Nce3?$eS4wP7mi}~KVsj#Erth4{d<0|j(WJh#_L&cT%`gx8 znxRj9`ysK51fB#J0W*<4_Ybvr0vQ9m+jmSfHA=_+17FvyLbN7v^ zcMY3B@pJ@Bs{{HDc*i!GwJ8@~ODc=m#0 z^S{@o8YHa=o+T`NFFZ)4);8f2*+&uIHbMB^QE!j(Syg3r^9PkZ3V%GWrh08@&R*@^ z;7ai)7r$u*j+C|uthQ}{e~juw?nR$i8`XPE;@L~v1I$5DTH7^~p}FnQT&b&QRC|=} zCYZZO|IV1vau|Eb1mZo$WaIbQ7uk(GrJBM84?v?V>$NWzP`5Xkcm>q0#d-H02CrOo zugJ#W7jTJlh1xzEzCq4^>E~4q=0Rp(3Oq&%V>6--UF~|}$UrMLbMIt-hK(^ANj_qV z9Q}kbDW^Y+(A|s~#?uOJ1JkzuA4`{r5u508+vtlw+{QclzW7CQm5=kvQytEr8OKwA0YUDe>DG=_(=QK zQBHHb>XrQON56ZIdy~*x=&Qs^v_rFHE@V!O%!lAn!DBY?HthjE!P~5@|0ds0r9Bo+ zi{bpf-^Osg=t1@Gqp;pLPmIP%TiC1DA@YAt@1za2%wrC7zt0B`!+J$e+tRjFZI_q` z+n6_v_|Keo(P7iiwi@EGt$#3cf2LaeX}S154zXKn)li4Ptb#WquB6!f+K^kV@{BF1 z&4fQ0F)|&*lWJo>xLcmlHMcRBE}rrIvbQmZ68oRAFZ;VeD|r<@)0)P4T}mraoK+=p zniXr##938$!;`;$r%Dyv-#*pmb82muTZscLYch;|YYQ}3&bKY%%&#W$+E%Eca!%D0 z()Z&(+g@#LJ;t2vM%Phvamo+P6yNY$J##d%*Lo2d#RCTtKc8I@%rN^<@ zz*(Q2tT!k7JeJD%gCjdxbKV=&cHtRU)fxPC8LT~}ZWo4G2Wu)X!&#TpOk(TTPpCSmiXe* z-ZyEla#m&wziVYo-QurJeS4XMa`YK*ma4L(rD~2B+wQ$fz>DN5!Ix2Dg5E9na{RP7 zQ)L$Rn8Wyg&R1zZ#w>KKt^CE*>cy?w+H%f=zTfcZH3UF-=pTLk@FjtqzPY ziffxN6a1>)wo>=>UNdcci&*Ke!B5K>AAw!Krltz@Inn2%B3li;A=}J+h+Mh|o3^*E z$ghD*YlwR^y2+Pm3f1iEHl}gzc`|3zduIoBIsIR<#@+Z#oO|cW4Wcu2aW2B!ocmLw zX`VRM-`6zi2F{kfq4fxHB!e2~!Q#h#FV7Y=z#~2)8uR?UmQZpoIya>fO7Mm8<6Jh#x^RluHR#eXi@ z+1t*XjD6eYE2^IVViUAW_8i%OF`-|t07J6pXq~i^x?R;HUu<5Gzl@a!%?Bs39tyb| z#Lt>{2K=5~_`AB$CFkI4Y*86Ut5~b$#Q)0Wz6$?s@kRDRzjMqYlV~mA`dK;f3GY(Q zDs--TIy{8*(18)aeR%+vA2O|%9>0k$I04N?zlAP`|h5U zf@v0^>!PC#!v6^^{q!0320jIk53h4%3-q{Ag+6~+g+AMaPy7b_lJ3Ws96sq2aLA!L z6*>mqw|pgd#6=#~AUvDE<)OOBIc8t@kO%H}@+~m&Fmuz0pY;~_x+k2}gRk2&*coYq z&8R}+$JNC8jkcuvrLP%Gqi6!c%pCV-|p8JgiHBQF$->g<>$O1V%ZFBp(=cRWEqa z0E`NbQ~8z5XN3-P2nAXdOnqz+tSevG4!^;-gvE3!BV-UBNjP=+D#C zC2-b;&iF9%s)5_*zdpj(iEJiwE_;GMVcvoN2AT66-~^TT_lFE0Sasiqr?mvLH(t%M zF#n_BpW46$Hu?#?Hkk0yP~ZexbPvLQ&EV;P_U6c1&C0D?Nl9@~-61Ad0Oca~R z1iXOPKyPZlnPdV4qE$qX838l7py+7JXe=J^NC@y1Qa$ywaLSx&od7C=_CT;oDW^;l z5Hwn~qA(TB@3Y={2L`;H?|GhIpYI>vd7gRpUi;nmz4qE`uf6u#!rwf=95lY0b1*)) zJCSLfJ+~{Vzt~E#2~GKyxh?nQ4`R<=-t$x35pr=q>krU2=_j!RpE&R3PRL8V3-ms3 zU&!2lpE)RVeXdFgh&-cq{(>#NCM~$yqy<6)EVtAfG(c!UoDR58(Scg%!1VkG^!S_T z0KCJCmd4`7YHeu4Fl-)5+2!z51TK-vtSBlodoUBmwW4CM8)wxwM| ze39u1oe-Ix;8TSm%X?+zIOs&`ygAT`)CLFi+mdtQQaKY-`)Z&O*XA3#J$)8qJ)-vy%T}$p|B(v#=j1V2r}&ZOv84;1n{r%P33cv)IDdoH2RLlgO5ib2cygw)*+V zo;V{@MV#>>Z#sl6i^)-;Lpfdl0na-BIQxep^^wRK68TBl3)ZoRkhzN9K!%5N2$@5x z!TU7MHkz5QMc{P-crEi)!lyHj1&?J-k@?ze&ev{e>VG$1!$N=O6`V0&CC_5!tBgTx z>@xz*v@_XUX9UN)&2?tn*Q_&w^B(!UyNEW*eIYZipt+BbcDq@Nq!0cT{^LseT+U)@>gT*rI5b@5u<@6* zT3Ivv@JKp%BvDz%!xC8f$~# z)>}JD0^yeG7iy4^TWGh7J*Cv`h*`IHPu1Slo zz1Za0Q)s_-%lwn$4W1;%vqu`|opduUPH2$}o}_k^x>d$WS=|O-Am`VMzzchtE9%3Q zHU3^)p^e>2ZBAp~U9DRN`r*aoU5d}3>q657r%Rys1?-C&h##e%a%L@ZnE%ssKQYq@ z4`5+j@T=$Gi=SNi2#Go9$i zpwD9H^?0&44@qHt46C5%Ez8`jO;gdgkD-Sl>x|U@{~-QI=%L|S zZ9DnkSI16hdScr~e)83}{nbpDh?{?-4FZd9RUBXcN|=LsHX{pYrtMeBc})U7KWC|3{mJJG?3oWYCy zV*M28ANsC^d2;V!E;_?n*L>Wy?14l!*@y1$6X++G(%#Lv)Ao9hzu0GB-xYqL6CDr7Xd|?M+n*YgbfN=eCBEns+xc$c-{!e8>K2!{ ze&Vo}7Jqqu%r?o{_n}VPC`mH(lbx-uPzQDBEARG=A>TTy>#-!O3e+stvUJXG3e&6s z??+bT#B-nSIJ$^^WYR9jE(f|BbDwr>;QchtUt8LsLnBn+fji_)GD}+0_Nl(@wD(GQ z&df>Epiy(4?&h7+^^248x~;s$lWj%S*b?ZVjC{^?3+wAje~E5G@8#V-2Yd-Kj)n$- zFFFnLNb#)R{L}FH0-t{xP80aj)9}DWz!Oiyy96#e4gXT$ywh+%;1Q?c27%K~!!raP z6@$x_YPbMiz1MmA`!Bx>oOK!w2%K^no-rO+@Aioup?Dk5M|S|(0_RS1pH_>nik`Et zuJOnBm#wPh?a$$(T8D+LC3z@6Jl#EBJ}ST>7 zHAe`O#d+Pn@21$P0PssRa@UcP{wq#qAf}e6%<&JrE$Vx5>%+W7G4${+@ zoRS>KTAV+#30dCDt}A`Y>c4rrn&w-tRNAZIslIjG^?ShO%4l1hG4mDv2T$fNNJR#> z8uy(+-bRF9dk7r*0qqH=GPekuXGslYSX5LcDd>K)=+PG+Lk@UhlB*0EMRp(ebSy=; zN2j9GZuA*_=)&gJCTP`4^5L93<>7{J=|5+}Ldu8mqRG8%YyyjxLw0`X?sfE!@D2O{a?>ajo!SZ>GApK z+AvhX@k>(k{_^L##_99!YuvalDQ~AfBu(wRqwz-GpPtVhQ~MH?H;?)IgL(HYR*M@S zPgSXb`?!O;lX_tTG9dAPK-?j~*NiJ(^)Tg?TZRnC_wjpzD_vUgs&Z^Ye89d@berhQ zF3J1x?)=iWJ^76f|66`(D*af;e)6U7p$CYbq~Mp7Q?92DJjXh&yX|8?f_C(AXC=xT z>)}8B(}{y>R6|CpioOPofFF!DaNfF(HV+QBpl`@o=Py$7-s@@0J+e3@Z##98woa$r z>z_)(rtBS!53HLSg{DN;!=KHio&UM--p2K`?}7UHjUL)pN1NYauiAlZ?FeD(lr^xF ze2!RB(xzsPTjkP}bxZQHKpQkAaVJ zr;78PDj5^8eQHll4ICzI5pnHFDzH8~DIoewN65#{9WqrvyEL*dmR9b?Cy`d#D>jwp zKH6aHk`2kF#T!xSDJpY6?>oQ zPr`q*>DTaIX8Pr=(p=Mj693=La-x#I>HiG>f0+JH@ZV?p#eTxgrvC%{gWHDgISg*d z-MB-QDM8^M-T|lL_u~@pJ)eC)?ibuw`WZBKyL%||JZo13x_bzE`zbtv6}}nTy<7Q* z1%HeEHQ^n8$KLWO*3x6_iPgTfTlyoveLM6h zSR+0IxBai6XTZL?_W}Qw&6*{sGuIUF{0Xljyu?e|NaHM_kGvz>uqQ5Q?@-Y&_$9VX z-B(|A>YTrY^{1bB4!+4c3!RQLh!k2p6_+ODbWDUZST2*1*zhH=MV1#5W^`w(lE zl*PL=Gkbq1{87=^Lo>O@a5Zm0rf{|(d<(pd*nK{!>&01|V`bYdL62??!0U8_Z$bBkJWh~@YEXScYbpH{;wv4=Q5m-j~+7=zj?(YMX&>ZISCjQc|Jw-P^$PLxKQ z{G`J!+(0+^E9(1Ayw>}_z3O)1x8iT{iCs8w$KbnUpTxb`uBY= zkCz6ef1XMi6R6>?kMIW47l){KAN?@|ID)?ww+z@oh?fe%$8f4;3EIz^4y z~#=J$J-rEG3SeF_yi(mADEX zu?)DEb$SADIerK6gN#K5ac?55fHH*F?Id3(I=~iOFShvP&e>MtmXM|y*9~59ei`}^ z@e95eCY~kDMY=-xOgDUJ)`V#x4?Jb7%^Ju@Cbkuww^l3nZJ<8`6OnIT7WPRz`PLxt zcTdCT3q1BTJb*4uLGf8|$!Yj}`F_c1xIy4?r{P~-44iuwJp3$p$XW2n)9?WNY(YT+ z4F6e>c^Ynz@5!fO;fLk!sfT_NUNUc=w{g+^m#=c1&%5Wk^s7FjLcS61_{bggz$3}L zcnZ3D31e_|33^AYgX78LdT>bi%YT6n7y-{Wi~g6hpFYw@NplnU&yhcD_%a z-g(J{RqsO+^0l!8ZNy3M`T5Ga%*m_rHS550$o55c^$}~yr<@(8!S5;fy`k`X&x?*F z{9gGLYC*T`HQjSbc5g9OdUSg)4L|ZlN@8LUGRI=@O!^v%wA_*?_j*r;P+g# zL-@V^2lTwYo+ooB(EjbzUFN9pd+Gb{ZFD@s?Y@0;8?WNLbSv$3FjkfIa~rqPHV5t2 zH9f5jxIk%vFm1DH*0kCo&Q*434`+-69<6Ydd-u;*R>R|oPM<@@5PF9_pyD)mJZZxy zcsvU{UMKadVXq+V;XHx%Xs39*&sl@+0biv}*|=-yPdTrIx9JkxoDQF7gU>_GAC$K+ z%aQ2{uP5vIt?&zRUeCZ4aOi%*{Ha3&@_tkuc#P~h;K;TFT#QQ_^K2;N;h$Gi>W5d8 zIVJaEMP?=S?!hl``v3wMNnDmYz z=={LvUqXDLm+CxA5S)!Z#yo3EQWuxQ`;`}1PKd3Y@=nW^^6x1hX8|EF!M6hZtR$_U z@t*@<9u7MLVuM8H)%WMyr@X;FAOZ~)Ua=NBYMc!*-pMLCfS@J&T==zKJ!ysmzR=q3 z479-)b|1=bbir48nX{6Ydr@5@eDs1NO6)9Xd5-zcM)&-VQa|&tm->6)2c6IdXh5K1 zh$Y~KFD`^1Ec{|{vV;5&(^ql_x%+#T;ldL};0ZN*cdnDP7q_TjH}&^yP$AKQc2GwT z_DJfWA8UcRM;V-r-$@&47#9gEU#@&j>FQ&hwYgSl#aDv|vW~c+M^_Se&FkD>2ku>n zoRT$2=wAkZS!*R6`z!3P<&Hjnr3K~f6$wW!G0Ua_y{ zL>D|F^s`E6joimO3E#Prumia0#*TUc_ZPT}aocg9!hH;P3hr{;TXBDeI|la=`A%LB zs;I?6V2De#awoxxtUx@rFZVNRo#}XOWNpN0x z5NrZ<$=Ufi%%^5#RG;@-f=?os{5!Nh2j0`*NmUl_J6O8pZRk|~9mugPjHmD;c0(>? z+2!JH^vKcELZdDanU6oyGhGk81@1pF0^Le@8|(!Z`)24N;oU^<^}E<__sIJJ20XgU z&G~GcFH*%fYFd)nQ+M%IcM(SLU_0u9PrwE7HThxWDNF^|4FtXk?!m*1`FC#ppA` zI4_)4G3LxL>Nl&xer8x0T2@hbW|&>V&O0;A&%UkVf-}Q}E>%o8GmLpRt76ibVI9!I ziqbQ~l!Q$=Gt9%8gUo?yl`_%4!hI$!(0ib9Z-sT_s+ugtK8E#*`7(?={lt-RLpO={&$7E(7&E~+zl;~Mtnw`N zaqnMwuSUxr=%BoqJ+tgC?RMTXuIyPMJYG#Q>&+1Cq-n?uu#v^x|G;`=h$1VMH*vm? zymUR~YsB6Bwt@cx>^Td6|K6ppFPKyC@52oKT~p4W^nr&y@X|hHQGr_8Q%PMM)T74i zhu<^*gyM}zd^s7cYJ>=<9 zBUi~e!L!8ik6bGHSuUChhjz?Dy6D!0+4Kk{Y~~c55g7J6$LJyJ~CwKIh5i zoi!($cM-p#@?^_Sd)S{_d$MJh@HoxCafeh#ORn_82izy||3(YRI|zf7>8I?!$R1bd zNPKVmb+)`@|ENJntn69E-Z*o)tiKigTI{*IM^D?^A5hUG_y*ZKdau4VGz+?Mc%j0+ zthTEi8*Odhofdj>?6lA$(CdEmrxM5Gyk+TIpbFVZaV1W zB=7{f_x!P+3k}LL_C&}*pZBzIU&l2xSUXbMsO~D<*RjPS=niJ}wF>`f4OEQd zZji{l3fP15evA8~>QehSH7W8S=h2L(BV1hyUOewWC#%w?1z@Cl3h*Q6$y9CV*R!8? z+w?#`Yt-G$rBU$VDezK~#!LP+-*ZLpfM@%hy}!+KB{-GcwSj*792o$*h=I==R8(}1 zKfgmoufuIG$PGrow|iOBWew|RKBhD-YWy4>5LZgrSD6;}Unc0!dMoM8WK3d7*;qe!A}{(5ia}KlZ@fj zMXrtR5fvNdEy`nhTGx4nYGc7r%SN#Y(saK1IKrCJ06s{4cpr+jHXA#qyuXSZLu}bh z!{$sX_+j7=I4p7$t!*lJGm^8aqOtLHcMQ1fr`?giqMuQucK6*Yv^%>?4_6v-Mdl)O ztC={mAA>*2$boikW}Tl8&5%CRDKD|#q|c=7vTl4`f35$P{`zJAZJ^o@&aSjnBvLs8`#JmD1jDS3N5%CS}+CvWD@j1Y_dlJ^u-|a z9NOhjdRnj04e06ntow<7(evwtXvmh`Pe%L!i57f1((DJ>5E9|@>)JGo1 z+6j&MK6}4U*$e%Ez3UIz$KAqy;Z~0xnuXoU=X(ZM)UuX#6j*{atfe(Wpn331wZqXV zart{5sOVYYgqQ4qmlXYA&h%pRYyaS6-g21Xfu>n@cuRNlov}7}*+D&PkL=e(CaOcL z;OV<$%@AHOZYM0!4y5p*ah_CoQO@*x8i?Bqu2-^te8Sxe;Ypu_<{m7{*|im+<4v(N246uo)XR z{WFo7GT-|9_26;l+i~VvA8S!<0kTW`w2++N%3KyXNawA3$iY}%NZ802Km5FdF;wAU z!N0PHehXgsW?l{$ihM zjmTrMGuOeqDsNRE*C1CEzL_c`}BUqNc{t>lpbc~3bEzcZ5i@P5Ka4jmbItA+bv zlo6lzQbzJVnb+rZmEn)uk5i^>bP=-m)lRiQ${0y~~BP!bg72+!Z^va&F*-4*9`JFSK7Ov}X7B9Ab_Rzg2%R0u8&z)wALl^G%WFQ|8%G zZq(0!?!za=ABOZ|>fzeUtn>gWMi z&}$4x-72BoQctlX5wEA{i+)1=B;T6Zm z%bFs(>qkj58yuZ2X=#`Ag_|={4?Nfr*1~sx3;k#9;V#xd9eC_esl{IEBe+}x?t9o{ zm~{SmxxW)3ANPUN_a*-)JS{ZU;Aj7dx=Y*dp{~;AZCW1VlVh}7+WarHcd#iCc-z1-ry6g z$5wdf0+V;1ZSu~Wp)ob^Xsu3Hv=iQ<7QVR>zS)IMRzK~wFy;j&-|U8Gz8n6yxg6W@ z_*qwg|@ z5#FYmGK9Zbdf%ePHMXR*_2{&A*i~8*H0mXlH87vKbOJj339`dD@3jVjg_8rW@5X0hKv5!=#OfZWAy*uv3D!H z%|d8M6Evh*bm*xQYhdw%)U_FW_EW}6@;_Fo1)rp@pR%TvP*(sH2Pe#m_6Hj)&3iiNlR zHhLs)SsDB5%4CBM34IV+QNey*(U*>E9|%k2dN?#0=8alCjO z8%n#Fm&Uw89wKv8&V8?;PEFWa3BNlyOK^qxn(+>J9ginA7UJ;?8|mA$J&ya-twJ}? z!;Q;2;(Y7bXZgH4+GV^$LOpZru8@5UH10;$htc(8HB~#-ZL1mU#&2s>w_a_l$G)MO z6i&WAwC!GXtMPrbckEjHH`={pAGsa6XZokICb~b3bkMLJzTQ{vr#olK4SCqhfNc$9?W%EX{z=OM zwR;7!B5VmlH>DNhgknbtXI<{3VW}KZO78z&83fEqoibN$IG)XunJ+kBt``WdEgx`$5-b&tfBG4}dYp^Lq3 zenU7{h2&1-OWe&2XR6Q}EQz2=%fvH6~3Yu`J0SO&h96Sc%oBiSNHYL?I{vAN&>40j~SEBw=G(OJ?Ld`APFdpni^^jBsb`z7@QZ(hoT z?lJ!1zAK~M zdW*}NH_?ObEC+G0(_rX>tYD7$!TC1}uoe9if6sCJf|G*N$CF2~UZ`EY?BOm|qYV63 z=)Sx?d{p2#GF#qB?t115-h_~LYpUVGn_@UE;gVN8pZMI6w5udOb4TpQcilj{YA-PI zk@)R=TM8Wv^G@gI$cB`Q_guLneLHhS#yf9}>%|UqEo3ggaTQ_1uMd3!zKQAz+YE<~CD$yTN>dC6w zO8eLhq4oY%Rfq9gWB5?@0RD9R|Bfr^ESw7_xsrpIafT;&T?l=+IVCsn9=ug0IxX)E zK3H|1%H8#OQ(ILAch=oBOox z&kkB`(?UgrHBvV{47^Tz@m=!s0cUh*FRo=hv~JK|{66*ipuDweJaI4N{}}R}R=!n# zX<1O!^LTDG^tY-LTlvhrC-}COK3KowuF|Bi)z=QZevF#AjdRN7__y(`6}N5o7*eNScPSd)C&ZOOg~`@M~6 zE}JiXs?C?V!|H1r@p5jCEy-t9NxrrzD$|>`Ggm*Pg|^$a=UO9LXxseDwq$Lex+KFo z&6mE;9hyy>tcTp8JpO;xGm0~YCi&jSO@CGkt*y_SX?R zxH*&Pe{oAqcS_9F#^|Az`_rQR@v~0i+L`aJWMAgg^Uu67c?tYyao_nBzQ5sWKT7rmN9@V%n^@t~ZcX;}U0&fk7aY;* zl6{@DGb5br%d6*q8}Sxfv-0l5e|NI4b;P#Zyhi+slYRGrEBf|iU-q(OpS}b45!}~t zm*ehE_PK5QbF<1JNPm-bZ|b4!C&_Cc{(bnL!hZn&0sI~KBlsiu*Wo{e{}BES_>ba0ivL;s@8f?T z|MU1i!v7KeP56%``$o4@)|337;@`o49sdpdpXL8N|4r2Qm>x=DeDo8fJwd%r;-2KZ znzvPS*VVr4EwuNAWFHR>rah)*rsYh%dPzHdREh46SLLK-`)xjPAER%@9lb>l8SV>u z=o$K1{PNFNHs2y~tv26%Ius?v419$V+Rp`PT8hl0KKQ)|T0P%Ndvap*CNB zI{$3`qxp}q`PQax%gwjrFXVq7{|op};6I6fDgP-pUtwxbuGM3Gaa5f(lykLh$*6j3 zNMFZ)gEgc*V)Nbu0QG%;Vko-{ilK{{d@A(&XGmUXPIHow&=bp;t(gbGL2D>$s!Z zt)T$AifR9J5qg{G~CxyeUFK| zJJmN$+&5Dh8{B=V%uCz@xH2CjslKH$Mu$>;SF$$cA5HbGMK9WVe|p}HcYbGP{`;xE zB;L=vvoU{W{zs|4SynAA|5&O|^rG@lP{#c!S@|bZeJicjw4R~71+`eu+HX^#rSP70 zi<7gg_N0)Ne810IIhC|o)}tq^DpW|=g2fqm&ij+H+JTcMz%LWFoU}Um4CB1a$-3$> z)=oXfbFfzGHhFu9bsu@l+23{K-}3D_>|+?Hb?Zjli#bXN`@27aK=sf7j8` zl)Q%_yFB}wlC<%9AshM1cPV>ltn5eGTc{=6rJ-#){ULAtxse&kUfZH9yWH?``4%1f zgqDCEdS9NN6e{S@qUdd;DeSt~vy(ytzx(!gSWoSL;r+roZLI@$O8Yb%ZO zP5CD8s&hV6{M0TZ?pN+FChFrL>o&$s$}#eNdv)$X=wTnOoO@rv+d-mF=*gw;!Pgq< zbr1R)BC}#XWik&M?C2#(TF$_#8oA&0Heo9f1$g?75$B=>B)Io<x4mk?3FCLsxN@SgE4@m#b(8va6aFe@M#etE4Y4 zC;e5(wML=?f;_hxyCrhYD`y=sS#B2cK&?3M^}!V#pASx!@Dr8nJ!wl6y`e>vC+GR1 zhgV~^X)*P`m%5;@x7?83V?#^iauLe+@J-GsMXre)5t(IXu+orgp3^1ggKLl(ZcdPE z)*#o6aBk_L-Y=PQ&B#K3h%&2Ia^53#ILG$Jw`XMp`^*$~NT;I7(WnV}bX|sGLdmQl7{RMw3s3x*n&larvf) z_QcO52hB6dusf&N&m0h41TSMJ{Vr!bf_s!*mhlO1q##f2;`^YkpL*L$=AFp<&S8C) zGZHzU7CE5Yw*^*LwkS6`*F_>$MzNa z$%?bB;p8W-oSE61c<&A!6Xa<({WEvBM4zLBH1a*dS(~5zD)@bqyp1J!_1zLXFOvRS z$ocQ`GGqnB5q_@`P@XLMr6ph-(@7=}D)HSSJ$78iNy zo=Vc`4c7s$#^pxktZncQOO3LU8Xkpzc}dE`olQB1RniQB-+*sv()f-$n=+CtN#v8% zFbvrE4&P$rP2Ah@OBuq;td%oS+H@*^co-vp+%xj$jK|0y_l*33jr`$lPUVl^$RD?o z_uV$p12(=R$BOrj=o&TgO=Mfhse-TYFIVRbI6lFy zK4Wz=GI2To`jl}z&KPsQzrjU4Wqg~NBhvRW7BW_q=N-u9Jb^uo%2bh;s-Ssk)!4oj z9Cxd+LtNbP(#Idjwdpn^&f)xyDw_rV_KR2?n`P{fq$|>A_K{BtJT_}o<_6vy?0ttBKpsog%fnHTMX4U~exZ z{8qfaf5gw-mId8MIOhhBcifAP47mMm=N<8TTE>}&9(yD7Kg@K0BR{z>JXmSjBeWtn z-4#q+w`KlU{PMbx<9s#A2hIH}{pV=S3i6H=vNzRrd}U_P&KyP`V)>KQ;~m_0slUUx zYcuERVrbKO+|eqsxyr7cV8!0okifY^U1hc;Tc9xARW>~Xy)bJ^z?NYPthXiw)KK8` zlt94+uCg|(6}>^|&M>~ECj};yy2|7pcX(JzKy)qJ(yj2w0w)D7n&K);PficG)3tyz z+f^od?%`q9z=ugA0_mCQ+{+hO3rrd9D*G^FM4)7htIW$Cs>ya&*`z{OncPd8c%G|F z^ieLE;3|_l=NC_Mm9-~l2Syob(*p~WvjSDgnSqOwGXmapJuuP;9}##eYfRv+%#nf3 znK^;>%}PqAQ@U|`d7GCZ(@Yw*KhX7D($hxDIvCrRRWCG51Tj5@yQh~*nkxA)vwUVkJ0Ma1nH zA4@Oa1>SpMEdHtQ7suj%%=Zy|-!nNDU%m_6Qx=PV>iZS3_#g58L+ZD?A{Jl13%qAq zEdHtQ*Tmu2~>?(Va`2(KNmd;hT-{olBk3_b6A= z?Rdx;JxbX}C|lWsQbv*Vvh^DoZmgT#G#jWfEGv~9$Hd1I`OvkBk+oHJTSxX=tQ-|VE@zS$Yw z7IH?X^1YI8Zo;>9JEKluDQoM?Tw+Y`V;b!wfR%( zaf~`d$a5lVwx+v6yuaL4M}34x@v={qJU6$fU>o(B1^?kEA1O=vO1{PS*~c}Nww1ka zpI%Vx<}RtGt5EHgiua$-84x$VE6$hgRU;QCq3e*LfunZfOrxI~*(XW=Nxx~_+iur1>}{04CFvxMhJKoXYs8gtd5Zmx z^j)3pS+<99pa_igB3V=j+l?;v}vB4j8Ub|kjpx5CfZ;lXET>j62VJ#0&2 z4`>a9FF0}OL8TfRxLZ6;b!6_OZMShpxuH3Ww-K>3=VZ@7e)%e?;UV}{_DS3$w#-yp zRA!+Sd5GA^~BsN&Ns^& z^EKs-{+4v#G0Q`K{+0HP`Q~)&{bK!D_%-F(za?F+ntVO&`_J>R?M;7fXB-a3$DuHm z&X!|i9DbHC4z@tYIWZjg!v!kCbDrOqIR0Nh_II2bdq4J@jXs?qb^Ym?V|c+g*VUe5 zwsF$ev~j|>q{}kPEB%^2o%GG=Ix@`irhH9#rQec{w~~$axxS{nDc_vVKHMyC>erO# z`j&JYV32 zHSX@`RZ!^B?FV?H1>GQ7-{hTCp+ObUCy_y(O@}O$FYzj%Jz>52EuH&&?g{WQ+~Knl zF7^i0?niQ=Pd6!SNqVspbI>wkem!*`zQi)~ zD0fJt{Wj`<4fJnYh_Fj>+@H?jf6-sT(IljU2EzKw@7;j(_GwJR(l3@&Cq2Iux7;NaI$_L z(k-z)H@r01KA9-!94g2&b^aV$e5iPtwJFlK|n!Ps8 z7m$5@&OZJS<^P?3$NXCC!*geSzh_H1=UfiKo$R*UCS5fw;%)b8+?&_>bG!H3x8z&2 zfo62(nv|7wcJ9;jk-OZ@*t+z*8St<-twv5R`dmuYjpnU6rw;z^H|JdM;NQs`2W!yb>W5bm4{BEv_%ZW} zC*V*8 zu=|{ftA@As@a{x#{-XSuLoD8>%h3COjq;A|zidn42x}mVa&Cp^iQ|jh;T74h*f)9) zKJ8t2*Q4O%Oz=qV-o)eG0NezhbQBzVcLw)}Z$SP(lXC!(4I=|Zu8KYPykfEMB{IDE z$m!P59?$;SCu{a&Kc4!_8!k86J!2n*ejJ9+mG{6se5=`CYrOB0Zm%7ignY6W{3|Dq z0@7R1ZSCGaXUi^Vli=ZXqBn}Jo1OeDf1Z7^61M=?h3!`vKl`80J!#?p3TY4Dcm9@x zYD|OhaKhI$Ausk&FVVTP0}f1fbygdEXZP{4SyzF zaB@0s{@0vO{@a?7#n>gi>cYw~1AQgA<%4?C9@!Icb`TWWCA3ZOgu5%~vvYUa?(dQF ziZ8P`J7RwrzNBZxR%G-MQlZ&9&kc0> zc?acW>&|@3@B!z^)?HrGdUrYl^TX^n*fXSaPJ{>;J2B}Ek3`u+TqS%w^mzvRLC*Zd zZwFT`;pW`P4Y6d!y6m$EhY@lYrxee3@>ZIUK55#HQ>1>Txh}# zCJaw$e80nl;S~*dp$WtP8SuR(3}0u!i%b}P&48Os7(Pss_B<857Q!tu7UcQ^Vr-d6UG1{`neuS_`J*58{~5u zH{iW4LoQ^*q5VeK+sF@)6B%Ljff4p+SLjRb7#LyngAsPn%!__7;C>UP9}M`23DXY- zJYd4~g8_eN!t{dye`3P)g8?5mVfw*T20AS=979&t z8q@Kp;l7X1R)_!6;9_01i=Kw)XXsD4qHD2T?m_O6sGA}29pOuZ3(UBmEK(agDA&@V zqFZsLZ1p63;nUD*(o6iNmB?$P3|DFJPNmwL=2)ViEOKq6EQ6oXlv?ioXlPK*kyuYR zf#(AStf$zz*i@&&W$QSHa9GtI33s!GVf$kjX|nrhkMNX9N`nSk2G)I)Us_k+S2}fY zaB_ZqK`C~Ix}=Z97PX!9y!kOuPMmi+53J5s3wS%N>Ne{4-VyEB?~YoXdoFMZQ}K)F&fVY>1IhH}#Ob$5XdAlCV)s8LX2= zd9s&zi7~r?wOZ$$a;Z<-HMOO4l}bOftT5nL`EO05+`6Hz$L3lt<7`0f@t&Nz_Yk(9 ztxA>2*@y9c@y=EC=J&Rfm3tq=mfu`!%C3I+SnIsGMqF8U>xd`c+xR|=eNUa$x@)$X z?n260XXfiA-g;m!ao-@FZc&>@Q13N_Ngeh`URLWsn0kMNU&6zq285^;E z)bt2EhxE&G_&3HJeydCHCUJ}<-d^rB8TjMBEVyw0mC=P;t=x~y>U#g8o)se3b#Zqj zo~Hbgo>5L~xD1{x*yM-5g5P%XhC%^+slXk`+nl_sP{8{S#&?0!f!V7W-{H@k*}&Lq zHogly8hEt%o%Pc>26&A5U0^#fJeiT6_0(AiTxfn5_&nhA%mfaP*HQRZWO+M(3eLaJd>Cv}WdqEKBEDOHBKP}}10U*1#@zVB zg0kT4#1mbNOy90w z+WZ*x7F=Yny+`88`d~4keN|8zFY6WN-8|;qxQE6C!pys?D02?;ZX@$U@|SrxZr+^I2Pi}AlNsL^ zzrL!={Qe4a&YNe%75;h-@#Om}eE*QP&#@-&dd5t55#_v7AIsNE zyk~%A-iZy55hn&GEvNlbez)XfO&*BQexZfZCn86vW^BXYpW7H~&Zmjr3Z1Jo>71PJ z_dy4wtuNyrtkm~dY5zOWSDCBH(8_J~g~tAya)PT*XdiEY23FEfUR_OUQkDg>FXH@m zQzdh*6}r*1T`ibKTtB)aO*_;A7j|fxUWeBgceh&L7xzu(p}6~iMK*8%SlkFM>H74f zu0HCcBX5r29;6OJH+n0DZX|b=LpQ?TNH=171`_X^=*C~Zdzx-cWQ~i_j##?htHNdF z%rWla&FY;I^M}QMLxO*1%-@0RqW6a}zhCx?wJZI(fG5`KN3G-I`Dw_ZTRJVQStNMC}Y!eSp4bu zfn~f>NT&nK8=J2{KV=M7h@U!$zg_&$S@8$OPx<2infRf{;+Oio0xcE)GVw!a#lKYi z&|vYmh`%uAZxTPWQ^FUEAG#`jpZKAF1?Z{D;(nW%!+o(`O#?sxpZ)j(K$|9^-l{9{&Dqde9pl7pU`RmO2;P zj67xUACLbU_#Ka5kN=GL3 zXoKWg7%mK~CQrfLKJ2&4oRc{$Yc>4wnQJxiWnHO*w$EN{o!J&H3woiCbGX}vE$y-g z=(pB-Z)tynDqBlf{~fAK`gQ4!*`?C2hv%xYct6#DIyg)6nLB3c-grLsq&Z9(>*<3H z)ak+cxur*e#SZ$*v}GIpkkox{K<{=2p5eQU!8Uk!f!C4tj4^?ikC(L!ovnXJS@H3t zEE&%YAG6-lrgLc%-5GQU&qlotNgHU>gVc96_UVrRd$|+2oi-h!|CbWpEo01h%J_EE zCh0$cnMcOhE&;E{MVt$vT{dvsaA#om0h`%D{_el6E*5NC#D_a($ zb2aaae8|>S^DS+im(bSVpWRm4EOTHSeZ7@_oIyUebA(RVx~>&J{D}Ck5x>}F#($;w zhsFG?m!m{CNy1&?$KI{@uMq!tV*bm-pA++6D*kh0{z>A$SOs^Bi{6sFJzyKJg0G7^ zSp|3E4z^m2y_4)=dSwsBo=mm5qLC3Q>SEoqFGJTFSN3MT*qq2`&mwa+0xxtGZROjf z2sRn=m#Jue8-Kq-S6=M+S!28s-_U`0zL)s&Mnes8nusfTxjQPNwZy-(P_@fj%JF@i z?7=j@*q&FLq%JO8mnwhj?F)KV2rnpdH`zNLqrPJEl=^Ja9ud9mSiDcDZy&rlxVaqO zeYwMa`5C-G?*>TuTn;Xpzi;`@h-F6tR&hnIm@4APIr{=shU9|V^DgWcRe z7~cgp_YcN*_6v4%|6qI<*xWxD-`OwN&HaP%U0^%qvE~`y;n(biz^re^cY)3QgYljH zg5BId7~cgp_YcN*_6v4%|6qI+XuL_V4rmzx8k1*Yxk(-~E55e@mo) z;W>~SbR7X-MLyz5jqx3J_zsPAqLOvLi8bOiXk#U7eiLhcJ^nt{&2h{JJL_a(yldb| z;_;3WPu`hOCU2lY+pv3jM*N336N$$^PtHfqj!zvl>QGG`ByWv6R8t4ZJI-4O-(e^3 zl;NB|nS4h)A51fpO1!Yd!7ii4_ENpj-DU6{a>nAsj;8P)!gtJO&msE~4|MD> zdlKP0Bu^{rUWB)Dg!g#o%NQ-t;VIm#n~HU_j`dIY3E|0H*uAdY;Vq58S9B2G4<8YM zw~)QD&=4!@Z9Ls<`A+`Aqs=DosmL>gr*M@;|{Fzamx?U23O@-HuCS?_~7-#dr74$-eNLcz{0_ zpXNg*z(XeT$PxDHvR?W*V~xNgpYp>apYp>apYp>ai{Awg8-YhQ{Mc|1I_gjEv)6TP3@`@zrpXOcHJO;gWpXx_~Y>gzng0C z$KwrtH`U;e#~b`^YM1cGMYcR1URd5e9uL3!Htyxnb)h*T zUl+Tkahg-0b(E;OijYS&mV}`_F5YwOFnGNrV}3=r&$JC*Z=1mjC!fjdne$5{eJ$xV z(sLFtIf5*J_ZGTlVjKUPaNyGIOF|n{tC&qu5`(yF=%kY0CK6#(21NXU3)d7E; z#tHose4m!5Ho2jHy$SSB=C`a-LjPRM6_I}m{gZH^f3iO+FzKJwq6HkplQ)0;3G}Z6 z8G+rTe-`$j<)n?#KbtW=atA6tXTr20K44`Tbu25_tpZ+1*0NrBHKEV4p7pZEU1FvyGIM?mINugR+kEOcMOCX%=nN$ zR}dS|aajU-IHzO=JH>Cx5?&R*DWBLbepB9n&d({i!tcco&ApL&h+N@%aiO<{JOer_ zIyBODp|fuPtwLiXR1?(dWnmj`^h$bv2o=eRoO$;b@Erlj1r--cYnf()Zs zsmqRyz>qWBtgeaY z_pFdR?#LZRNg9Wm65R3mAhHRqE61+dB~Sm!!A|d*1s}jSi=0Edgtd@0%vgI8)|J$R{oDrlWZ}KP zZvB~8aC$wl;s45da@P8jI`(w@4cx8%O8kWN=e2WAuRrzp&t8AdEBe2~e|J!C;lK4y z2RFxYK*m4u%($AdkIS7lvF<0X^(V0Dp9p_b9@i)2vG%My1n2&zG*He$5@k+d-fl^h zIk^N*kU51}w-RMeE`bwdPGQ!oM46LI-~^ddnDr`A=HwDMLFN=@y-Jihxdcv-If?zx zM46LI-~^ddnDr_yb2{(T`m=1M@P?keGv#;9eQDd7r(`otAf;y&sINp>cVKtf6b*$jy_{G$&BT{eH{=_}j zUkHoutE64=z0?8mn|rK3iQn8;34ajZKM8*j-&YBL5Z|i_e-Ph$34b8_C@Ej~gRktd z-~|%*Sbf-RiLEoXu5A2%|5?~>@2e%L$)t+ zeM^yQ7rFdpxQ|!4L#@Tj;r&OKRe7#?*7$Dcd&e~oSE+fYVf%)Ms_aKk!~XdXSJ_jaI~Cvahh#6SsTz?w&d^b>~QcuJF;)jsaoQ7T0$2I>ntmc#7c?tPH{7{uj`0gJb zsOnf2i|>*8OMM?Q)6-X;o#g-UX;|X>r~fKeKj}+gdHc#=94kZmG6GKkPgM2&64fqe z?BrY0eE;+^-fu9@NBl{nFKwnDbv5>qX8N*~F_LuB|BDm)zvCEh)EHxv)8!_w)h(K# z11dV7qT@NJ$L`7czZh|;@JbTb5&mBADg)PKOmn&>k5}yrsY5)U3FMPFrp?e#!5yXY zFA-d+Pl$U1cvg1`#x@G|`;*`<@dZCbw{{2(xaZ>_Z3@m!* z@$U~2U(WmDFng)?X$i1)v1+eKfR6(Ue;<#3CGpD=;2X$)asuoxR_(IiipT#w@P!HR z^%tu4@xb>@Qtd?v;eWbBwL5`ZzM=2q`8`0qa}v_&-&O5732@~^)t&)-YMfl(3;q}U z4P$7``QwW;W8UA(o=xVvG4Gl4-17~-)md)n*G(Cx+V4JV-mhj(ql+`k%b3LHwO3_b zf}UuDm+_SO?qdEc=D&ntQ)t#7M+nbr*sCh;%Tv*V<*_+0bGuJ$%Y%~=w-TKq&OD(H z5;v!7&E(U#W8_7d9h7bVyr{(3D}a~B7r8ga@iLz7Me6M#ZX{Y%@)>;~xaOg59$>LM zqL4?&aZ>X2Q)Zm52pk5E(-nag^E6IZ1a=8sGUFkBiN}xA6@mSvkJA-_!@zO6Vx-TG z!Ew4GVbYg=`bp?YIpZMx>G`mzq?7)uMW4tsU*vS7OC&t3>PupMKdMW{HaX#o^%{7D!DBo`~&8ufj>uzO6DYlN6h-# z3HKy~XPM!icZy1c&x_Zu8=4^bbQ~@!nMHULbJD0Iui?IblH7#wpP1nt|5a3yoe;jy%qMc7sAPCT z_(*7)QGdd1gj?C?%lWk2xqFAd$ce{Yq1r{p;6W~+vro3F|-%odB(mDd4-(8AlKj?o!S(}&Z5AE{DQm{atg_Fo0?D}@r8DZEW*)| z9xOS*yJ_fSNZI{m!WTiK(4R2!CC(EmDm(5s^3*j$M?(0kvu#O89<14$PEbz^vz05n^9jasf7oFLfmg!}lpG_Ct%ut(Kl{H_f%KXz+S(dB^i4i*SoQqL7qPaZW)H9izD0d9%eng&VGk{FZy=9Xi6`MTydCYi#2w1# z`%(7L^8G5li>*~DyXK_%UB;F@v{5eKe`|iP_)vJqtgg!l`!!*`e^0s8$PbxTJ$q{T zHj!_?lyChNWghT__Xk52ACD;MJ5nKbB!ks<&d!hvR=d#urVdh94`*ZLyz7u^L6?AX zU#6U7#!m;=L@&Xb?kYQo&bMZBm07aoUY@HgWvHvH&~7c(9eQ!ET`Mk7dK&MZq`9Z4 zOb36>s>tF_F7QUmM&F>v!oL3Sz~CfV53Q5| zE@x=eLGFNCD7!^r3yXZD9E(lzN)E^!%_{P;+*T2)=#BBr4mC3PA~q8}%xlkOTFA=x zIpi<)HMt+#vjg}3k+J!2tcB2`Q@EgVg4y80|3})p$Jbrd`Tz4dmo%3GX(>=rH0R{f zCWos1Vw#H!_T(gK(~Cvg=(4W6IVUG+Q-YO(er>gylUo7f_qPqAXz}|^(l$V&?xI#D zx^B`7rI=Nr-LH$6wMk2F1TS?#i9+*xzUEv=N=1Eq|M)!S^O>2?%)Dn_^Pcy-=RGrj zVE(82JV1T^p7&HZ`^mq^d7-Iq&I$S4^zWFfr-yIL?-KS~;zfPvYo({v96|GgkHKSu z^y4r*ME4s=-cx=$^HF<%BzuW3ehB_4|1Z#|lW|3JIIm_~^*KrUoZ z>1Z$APn0Z^bjbAc{a2gdB>TblOD@%1RQg!uwfbiI6SAS+Yk5ajv3%$otKmU8;vZKJ zelLf;LOHI<$ou2pFwh5E-_Q4|`1d#Uy^8Oj#(CJ+^!-z3GV+V~_gD4(3%*ZQaXwDC z%(wOGx#5%Up#!ewGH2^t-n~5$zQ0s(?4iiF;{WvNpKtNcyW)9#N#E}x4_EyA3;K4s zZ26?)PS)YT^=4k=fp{AKq&N>alVS2bLmfqy$Nj_f@7Cq<@@QSv%D&U|nhxj->GZLOW79`=vANP z{1$sh7H8EJVYgFEU$~z=`-3L-z*F>rQ`kQ)+V|+gvNdmDUqRDYZuvs)z1r{$?ilU} z?lZWL*yz%rGlD5CLpgV)L1<_pu-MR-ky{35dDD{z~ z`6+1L_)Kp3Q!nEFdv5s&_MxaQ&q9+wo%00AuaLU2d4A+m@jO|3olaAdmg+xFmF!@z zOCfnZQoV3=Av~lBItoc64_Z!8U!p~}r1^>RRlhb>axecZRJ&9!8WsH;DAPjz*+7{V zl6M~E(_Vl=%BQjkLvBxb>DfeEpW+-u?q9Y023A6^>XS2m9)K^=&a(#71|E4>Wf9GV zq^-6tq>Y=va}+ z_mMBf^R)RXU*)HKl^^*wOv_V!1^F;=2+VGvoPJN5P4nIPb#>Wkym;*>Nk zPD#_^lr$|)M{tGH$8m+zKJwZr`escueTMpjpUH+oa%lnmE}e8c7(X?KZl!Pav7R;N zP7m1rT@{x%^XZFMA*W`~tKIgQ^w9A+^J}-Y(l_5me=T%nXZ@P<3WLlcy`7bl1Moa= zta7pm_ljIoat6M4mh`kfca||H#G3MyxuQjTCy;g6i-XL?cvQnUxRUX&!{-ig{z}C? z@Pk6XH?WqmP-E2B`9AFT1P0*`Ej(R(kHZsMji;p_*YlCe$-T%(?&m^7n~D$RbUe4| zl_+<{9b&AEGDaR^Y@7Y+REhR)RL$o+N7k-Y9+l+~byx*14pFCV*t@D;M6<7!voyE9 zb#6hB@eoWI^7YZD!@B2K@ATsjjLoO^bl*qhP4(v!h`-;{@XIZK@c`|8V=KT}^`LmM7ZU4WYbp9!dZBb@8sXR;SW zkqw49gTrJ8=jblrVeApZ=Bfp!cxNwLz-+(D-T^ZPJ?Y-w95;2f%yCVef=->+r7=2# zdg_D*H*E%QSl3zfbWTh0(>benuB81w@?7I9Ezh;Q()ipRuXKF8X=~HAd$x9Ny?bkv zGVGa68OXb1_Eig_BT^sIpYy;<6oj7=(|gL`QiL&6ztHf3BB9R;TR0Oh!Ybk+W+X@B** zm9rCV4;BZAAB@$Pub|zR@2oFBtF|8z259?d>dVI{>qw&Q)$S)~f3^JyY+RCUuXgWy zhCR5nMIU@XSO|h2?Gf*z?S+MUlQ9vbTz%A|A1p{`_}A8t+CUgO=e{DKy#ha&nkwP$ z%G>Vb{3GofPU2f<)~+&{whq-+%PEWUZrYx`pw*a`C+E#sa2^^|hoYsx@o=vFRSUHL zTePUW_C33Ua%WDA%`@fw)Z={eR6g3{sd`-H$?R?f15xU5BXt!fpB?1UOCD$D$MXO$ zEvLzYvsD9T{#6Txr{!VavpaKwv{RV!DX$4bX*z@-<{keaxe8WF$6aOH$+I;eyC1q~%F{XW;3HIHs z{FwI#l;@@SE&H?i&3i+BH~l~4m!J68mnf?%QC5}FW$WbA>r~cD%Xtm|ah}h!<5{s= z;%hWcz}A`XZ9S6XB|Cq!#yt2kx`Xkoky~t7-`ni`+sC;s|4bNd5xB=|_BWt2*zH|X zCVfkAmMK-Gxv?N>mM{ewiF@I@bjvX?YH#KZVubP-A zL>T)*W}fwnIIonwkH_^NJJ?@U`jNf?K-Rg>%xkrDWYh@v&58(Emw);e|Ts`Qd+~msFWNSvG&!9mdNT|CZh1 z8~!yn+JA@nclYhx>%JMfc0KxsfIoQc`q-`gcenHSxA#5#%}?!q*hfF%Jg4K|ytwgr zcwu(MM=4{3@@Wn})#1ER*YgSP38qb)XR3z|prdj9JT%mBwJC8^A7l48J^9o}1MLwm zL#I)?YMU|Urf_NIwg@!1vbA5i@9yX?LPLIZ>k;Z0T}WoVsodhAvr*fPo#^Ebk>R^r zZ}M*Q8<@L<_qBqrS3u2Gb;AEF64G(EFCeqOVRg2Bi@gMcB8~^q2-JDyQ zsq|HTx37I&fpKT{!efKjmE@&gKNp^`Wei)9+*sP(G1}ShxqdEZQ*7xgHFc2}GJ6_6 zfUbx$ts3sG+19YbyUk=Zm)UYsMqh4uS=jePnbI~+JA2$sX0GNo)P==?)&ZiSefGS| zPgFBEjjvM~>O8#2EOk`poDYQj9`I4GexC3zTtjMu$T81Qg!-orZ;D(}|EjC$bsx04 z7k6McbsKzn%Ie5e#xe9m!qzJx+LJQIUS3h=WZ$>WMV-_er$xAK*if@Aa!1WJoyQTZ zcF{@;_wT`P?Djm!mg_EI~xZaNDdK2Wzi&n#t5z}-BirzD<~=gFszSPuk$iL^l-0Ksm-$z?WLiHq@96o&Z|TQLK7bu)Q)o?v!N$tJ z^#)sqUgKTefL@><8DBaTY}M*cE;1#{`8Lpf1lo=uw`xR=Y^ zq7s^;%j0RfjeB(@nNB%8L-odg4tHo6(m@BqxgMrPXE5z8I+Rm@3_Dx@uX_FeF#qem z&~$WDfAW81BKtr39Q`l7P?AR3Tl;Scmx-n@dGBWJqLMWIBDWn))Pf(~Ed!%}kFn#>X{JU^jL6t19>p z{7mDwTvHQpU1&f6;0HW?l_Pw=x*{?o3%ri+OHkj)RwVl zdrQO5{-~_#*{Krsod#&Cq|c7K{eepLS?W#l=^E-s?IT{)N_ocWgG1|Sx9R*gc64f~ z%B%9LT~`zC`x))df9>)E7f(Q!WSR)!`mQAoIzi5-ye6=Wcb$37x_IDb-hapY#~ict zcgz(d^pi0CBp06PW6d+^?}L|y2Qw?~R2|)2vrT-Ed*TCk@_(4IM{9)omj6ciecWq# zchavxexJgR{+ImsALQ5W-FA+D#aoxrS1X@}{_kh@_&LMRS2zDE(;2yvvFo*J^1U1{ zdW`tHp?$T&;dSD3;RK($51w%Fxv8c4Hzhy$-rf`V)zm`|;@3bw`2=lOPv86qJV`e3 z_4G;U_cX?|u^%D)&)h#sUH&0imwdmRkQY^#FY>Olc|Z33RTcm9*s6+;{#0W`PT&mw zLC)RXivKqJ!}ymV%Xnye&K;!gJb`ocrz`0{QLqrjUb~h4(T5ya#rd*j;Jy@0FOB!9 zId=Z(a<%yBTVt%HYaDC^gNvbY{HQOR!BO=UzCB;`d z|HwZYbH{$5Gr(V$Ya&BabxVW+($jd~|8Jy$Y$lmO@>!JfN=ADK{kw299Vh$1(0B2_ zhC2B;b@D#yUT* zyK}DOJ;|0a=#rm*>wGIyZ0DPMSF*ShC2Irq6-wtl-JO;6i{KXlD`CprNZUqfOSRE_ z%6~m{mEo4+E``q-9-RviCLVWf1y<6o^BF6|KlEM0_x1Ybe|=Z-EghED-{b#W6Sx__ z>r($*6Da5V+SEVS1WNe6hVL8sNA2?m`rJ}v(0B3plnyw}B98AHQ%h?odvb5KZ1-Jv z!Vj}pi`W^g*lo&7yKYBzxQp?>Z}uzsd!20^%rkP~Ir$}KD2QC#Ztg1eJ&62)?Thb0 zQ&A7jVvNt$51pL+LbH~{<7|D)T+xyX@91aF7kiF6OXJ)D@{*iA!u+ot8$bJvzOERV zJfE~%;VW8Sh^Dbl3{Um#HI!{XMf)tXG>?Cjr|zK)5jXEK=pg_5SQGT2J3R&ean0WSaESHO zymT|!ezOxl_aLEnwPhmzyg%F;FFUjxU~M&7_CD&vp#K*g%2#2&1RXl3AsKHB`puG> zZPZ^$gE?9n#g0yNCF|op(s3i}O5V*U9nt;}|2LRtO66y1`tQF@y?>D~8<#p%*gx~F zwDPE%OKE*t`}?)7gMQS-I{oG7oL;xPUw$f8zCqIEe$Z{pp~+iaIoXQN<`D1E>>W8O zW17kf9SbSLY4n5bro1c$j(lL~u0$C(;4e0 z{{M2U?Szwl-?|9%o@Lp=E#~J=ope3M9WHGP1+6`zZ&#e(SINd;=h3n*7k4GHPp@M+ zcv9PyZVA4RHfG)}{fN?O;|bcd zoR-)J;%SAEJ=>up?}OQ8!THaW#j@X9Hg@Hbvc8JivM~KkJi6^4ZZ8|Txv0!kf1xaV z%ltCm`?Jep{399GkcY~8V2vp|usT-OwrXox+w%L$#!G!=C=7aF6f_jy>|LN zCn{(E@9WFjNk_H{>Qicm49<$^q^yU3cU9R!@;ysk7d&K^*3)ldn`ukdQA~9qXP}vG z2iD!Wu3^rt__jWS$bO{PP8=Wg=t7o87MKXZN2-l8${E?u zcD!17d;?*u^Yj#|-kAGp?ue{9akfln@Omf4amS4lh^%!=IP?BO@mi-Y8Z^)La;}@s zoQo2_@x|@OSNa{+8?~1feG~OD7CW)#T!-eNR$nk-`pp{SjNH=48RSLC0np_%sV z;Y|N-)|MuAqyK4#<`6Uop?MZz-W1KOJ0{9_23lErurwcl=KgA@WD1%$RfD^mIm7cK z=7ND{LwpCC&tLD<&GmS0J;T1S(>yNdK9rzaeMa@|hHeMC&!Ha_{rP*--{Iez{$cLh zeuu&R$lmOCypt!oH~YhWo*LdgJR#l<&p_w?&7Ga!*c|HIv)Od^ZyxCU`r1yO5Rc*c zTHTUc@8x+fPa03*j)Be3ckbQn+Od1{NN3;X0Z-Abojf5P!_&26U~S`$y=$YLyVv?V z`_?{E6uELkQDkj9ZXWJPk^jnIk$9%u zWOXlVe=gQroEzRGE`9twHd|gFaf^ss@FsEL3-@DN<}D)b65=j?leq8_*{pe&5SP8J zPRX0Zh5tN_oZ>AfZjiV)ze(I1OvNVFK)pfY))Ke+P2&2fU)C$VwZwfdao4;_+yd%X zYg_Ln?(M{_dy}|D)Gz$OdpmK%#Qor##9d7NVvpes6StYTjc*cn3H7Trz-Hp!Mcg~z zByI`y%bd-17vsuDc#LZ`&m0GQ`HWc|49Bv<<+2|ntv|ybf=~Tz>Ay<;wqse`7ViC5 z#&wO7ZBu*$-s(RBuY~t&o;vbmoNor{!+ypYAG~uJeCZ^7Di2!->Bn3zYCYaebik{` zV^tmpIZk6nNcRrid4nAf#i!aOCmi}%>GhYC<$qkEc^kTkgT19onYU`}QCWK_gLqPm zy(TK-;llK?jqm5KV){`PW5+_C8u}f3UxzvuX0zwh+rpWifh$((yk72quZ_zp1;iVn z-cPRx4$1#RE0~89_ieb6ZxsFm>iYERc=!)$;^F@bS2B;n4?y$jTjSwhT^#L^h&~)Gl#+F3BnpcF$H#WF=kiEy@GyR{e;k=1Lf-yw#qG3{SZi3PxgP%HJ%qiR z;*9VAr_!HLzGNJQRVMH_{*BgB>3pV#efp|6R>!}7Z|Q#%CK=8o<}A6;;{PgnC$R0J zt(4wM(u*=D?I5mXkVeYTN<9e6ZPbNy7@Z~WIesT|Z_US>|7Yc7OMB(y9Xl!~H~us< zv=6?by1blx>i;rzmt9^KK?kr5jP?yq)pb#qo5^RGx>Wl2k*{>h8%S5_9R*8``=<8i zUT?M>V!bzg-&Ea7@KW59-&6E=&09Btm!f?|-NwoNv5z&LFgAPU%Tr~Nfh2oANFCH^ z&P^VoPyNBpzeq=VrhCcLcP!qveLuvNj6RBNr2Z)WK!0?Q9op7Pc9>;lhg(SR4Rty2 z#=86+{WG7qHI#SYnf#tTw@0@&QQkd|<#&g{w`h+}qrH*x`Tj3`Fi3q**|mwCR+bC@ zkDkbRVTf&-P9}fc)I_pGSQ5D5vZw*%fMzH zvWS&|^RZikH*sd~o}kXkHn$xF1A7ST_{{Ey(Z_Tfs;fW@Guq?fMpNkm;5}8 zdG?!rRDdk(0oMf{{5^3wSoy15ze1+`Q+Vj#r8=wG7TJXkTza8h*Oh%-IQ>#?=}F2g zp4IgJH5KPcw}Y~squ+{etz>;bysMV=f%7ZO(7DxSXanJge{x;v^T+|GtDK%kj&hEb z@vJ^V=Oj{t0I+^S_6GIB)s79h5ajJ)Hm#V~0)M3E}-`$dr#x z?LPrd4?Hqe*Z;^=33Yj!AK9f1Sw?oVcC7=MQ}S+`WKMX|V%nnvy2X=Xe*+(MawlYS zkc%tZoMGd>!}lXom-!>?_kSNxGatL)7pHpHMc4STlW=!u!^xZ@u%y$+H1Z%RiuCkl|4`Yux zfQ?TGecAy3H2tLMmEBt#wt5*;-Xr^C%6J9k-Az~;?bP%s(k4BnyL{`0ty;f%a^7E< zCNi8&6FRSeW}7DM+SDFTvzRn%NVC`_xr>*xYZB%3C(7xkERml?Udf}J zl`13kq&oX17)!R1@8-+5QSf`FF7Q3G-~U3qjp!HHH`7M7@ix*rOXN(VjqZ-OkwI2f z8<^*41M0v<-OOx*j25$(Hel^VZBR%XY}gTRgW0sfBiqw#8yvB1aOc*3+8{|=;WXL? zXoDnegyw9lK> z@{jTFan6_gYx_g89-{Qw)|;^f9<_4D&d%(Do(}l1-) zId|tYEZ-)5#=e8t48RZ0v&Jy8%Bho%v+oo#>ipK@ZKR`lsd#r=2;Rwe+bZPf|6u>z z4OPd@_6)24*h>0JQ|b8rH9mI_!@sLPGF5U8p4|zZp7#`trXzRELheW#sW10F4qxs= z=Gd8#Ly$pcA&aE3R_lExx7;(5Tkd|G=QGpglJvM-g58s3j-Mv@S^G3OEA|~^x?@vT z&Ke_c@0w|HmT#Jz1s|$pUSj1e#*d_&^$2N-mJs!&HE-3?rU#HE7z;Fh6)}&=rS1)K zmE@E@H!k%)mf>Kd;0|b9)*N1Av&QB7@|}_hcc2;0k(Uj1ka{_Fo;@^ie*Nqzcm7}q zo~3*fmsw{gE@=o5cUQ zj?=A!=z)Li>EU{I$eJzos|zH(@9IE z6a2?_l>Yct?#)0~{)pPZn7Pt<9^PJg+<48i%NTWtX(#3 ztd0GfsoU^xoJsuM*ZKGhw11M1XNr$&jMZ4Hu@zj{F_rdB^79z7qI3{iFCQ5)b>vr~ zF}0cTa|JwHvcOrs3pX{CpWB|kAl-4zDfD?44B$85V+@5~!*4WxuJ78^RPH4&@x*4v z$iMg>%H;x|8Uypl=j?Xxg0swP{WrK$>*@YPKEh!eIF!7g{pJg=a`umZBTjz@V?ZMq z%b&gXVaXa=@06ZJ|8(-Gj0eEC>f-=wORA3ptXV28*%8?Bt)DZ;;pf7BuW?#D&@vAG z8{pqcOR`p*zTw}RFZ#tx{zM&52)mbQH{Z88tMc27zyBOBca(CURl8Nk$KSo!nMzJ- zV*Gp_y^-3WlR8n|bgEvmXV#0Y4``xKSQ^HVJ*9(En})w)>JG4XOlzv5`}dS7`JRj) z{^GRwU#8z<@A{YIorf)ii!^^lnw{{_0&q{AO>C-RO$7ee!NXq9(Wo(_ARjfa}&B&jzxPBh~od0J1;e$cua*G(BnFn9+F{WF8 z#`zff`9<({#;glI&V#f5@b?k)M2nC+>wWkmk6M5DzmdNW{{s9AuydyTg+9_pSG1@g zL01uBMTvh3(3@jpxu}SL7URD-;a_Ab*ymNZXfggv@L!VfU(6VTo?_7w{7dlX3^|+k z5>w%me+mBO_@i&L{w1W3-eOTX{?xIL^L?y8dZB*i2#e6O`Ovr7a^7sfvwLDpYy8GF zy2GT69>Hxwhkb%H2hiuTe$exX^tq(jf5vqyGIzJmN_K%+pXb2M8t0^YFrKSEY;N$c z9YZ(Dd6RV~NLPF840=YbFR+d?*iRehd#W<4m{&-T$r&u16C12RZ-BkKdm_&h%5>4j zo6sSOAGm4Xls|2}4@^kzbkn{mf7@S8c@r*^qhjY#vujLyCOvzp%$v0AA;0k_G zS3He(q{6_K_)YON{*ej;Utw@mJdKB>!oXMzEEP}VBdIWO)(4)7r}2_hnD`0UDW1kp zQel!Q!A~)GOY)Rd7?=~kDF$=(37(P)19v{KRXmNaq{6^m5F8ax<1MK$u%|OXil_0H zR2cY+!DEW2@t9N?7?k}`@iab@3ImS^;5EewUX$`q@S8Aa%*=Aq7#Ccl8{jpJ^`l4N zHB<1MBk+@_;WwKoFZlSbyoMUjq-$e z3{U3`g=?ccAs)lCgEgJytm!o1x~8q|h<~LsrZ02EzcRWFXQhdMX^%t$SPg+Q;aiw3 zW<5>(3;BV&Q=N%Q!ddgllw7eAJ5cd3=94qSz}lwMgn=~&J~rb&uy#K>4)HSPoHN6~ z+P+hSfi(wyHse3A_Vh`@z?uV3n-K=q&W{rY)*R_krk4|}Whe}+!MA3HiNB2z2G$(- z+l>Ff+R77zfi(yIHX{tIZTbaaV9kNY%?JZ)_x~4RV9kNg%?JZ)`+iOsSaaZYGs3{y z(?3H-0c!=+aTj&$P4K*I&V3kWzA*L;$t@R4eCV6}$mI_DrV+>Kj?g|)=!PFnNUyLd zhFvdn#{9wl;5#Fqf1LAkvqM zANm7y6Om^Ue#|uwu-8cY8UFM4@$!tIk81nF#gaa7Ys-UfB~>2UJz1Uxn@5E78fK;k z&s2JclIcATeXm?B$%D2r(ma5iTWR_qPNfMZl4)*&rbcK=(MTQ*ze&&t9Vr^2rD<#$ zjnnB#()gPMjbpFV_kaN*bCAq>-0DDgUegl5SsRJl#gpL~d=-96oY#RmCf$afUMcZ)4qqdiL^2 zzj1E7ZJp9F@F@8s8*v7`(-K|=ZYiI1B30ls$~>;s%xdX-CvsJ`JFv*{te#c;RL)8E zh{#?q${D;--{G7F;|j=bN-}gKy30=PK-Zk%k#AD|_e_->CXZP>FOc{7v-hU*mj7Au zo+9tq-^BTo>c#RW_PT0bGV*q8y;*0gCGUZBSD>i)XwCrnv1dGU_k362Aog^j?P=>n zl!N*SL@9@xa(Gk@)~{qI>t8ula+16}Jm=WAaQ4^#L|t%)GI{M`oJX#Q&a@W8IM9%8 zma1M9zmu}5KKp5({fzlh<{oK|YxS9;BRNsu!JH@QzXRl{x#Dlhr~g;%)kyXe=0GV- z({@QrH&~n|`pI-mCi=NT+e5f7N&mDB5>QmyyNgdyhm`5v)bi#@w{cZ+4S~_3L zSNTVMBMtuRM^8NcUk9DAc*IQop!mRs8T!HZkw*yJ>0FM}xF_AS0%JFDw*U63%HM)o0 z$_LEaeDEKWZo;Hlx$UFmqdY7foZ)ZA44X>?xiF1hXU&+gjQPCFj>_lqS#;Rzky z2sZZU=PHm9x+Cxs@xay47E~YKp7t>5^vD+SL+H%nezQ`3@5fIvh8KRRvz9-E>!(gh z_qILccjhnE&o6+dfoaJX)AjSzM+x=aGD5wm4bw~p-*(Re zKRWtK?PW-;J*Xcr*SCD?47iRI!CMpKtkw-8c5TP`e_GoKUPHN&UoKtSLDxdLGi(Q*VD(&@hg_Q72j9?AHBH0jq{H3Xv2MKL)y1^WnTCF$dx(=C$59bm~eg4 zef2EH=uq>5^}_Y@U^-OvMm)1$@%+Iz6} z@1pJ;>P&0@<6unsbr-T(*ZjCHoqSU^3qkeQgw2BZVURja_Lm=n`&`KumFSS+MX_6O z>05mjrcPt9A04Y<{&>IaMwT-_S&RKLXN6#2)g6_NT%jZ94N@A3q^ap+L!F;eY zY~0v_^nRe~`P}k+@g>T<%pe!iS7XbA702nTdmoR}?5Dg1)d^b%%IkV@CXFhuXndOT z7QQ2HXGwiN;Kk0ehW>A9#HLQV5lbU^C29QM{IiF$NpIZG*wDz>V4zF(8`2&785`jH z-A@i&gm1e8;@!*P+qx54I`h-B+H&NEp~0XxZiI&$6a1`n#?l|xC-~}HU$%N`o6jD2 zcLBUx`LJeS^NGT{l~31h<>RFCk&aq+5fS*eA3m*jFL_B%-N$}C10UC3O$YgcvIZDu z0_e~ZI%{kfY5ytqLT|u!LUs<1m^eQbFFnMQ;-~OX@zXB+uvbd)R6pej(m&vRTdHU` z!;+>C5zsz&Qw>;}$LciMt5A3?(b)Eli`9qub zYP5M?*F{@>FtloKcjfQnv_!@Crs=jNKfgi$e44UTo=Wu2(pjtQs#BF+`}V}|{3;{m zdP9EHwe-&&@T@c7g8sig0w1X2>>90$MS0)*x5o0ZKKdt^e%6BxQzQLMee{GeEz)D0 zqKx^_uZ(aU(@qYvV=NiYJ^Yb~dJVxDjGDo!c#=|e)iXZyxEx|RW zZses;9rxJsda&U$-O)wy@}8u;RcrD`-SAMAP4%JqiDB(ibEZ7TSr>YPJjoc;Q66=p zanF8JSN2!wTVyi174*%KPrcRJ?VP5+N5^;C;6~$S7vszs%F)bNqcM~@M*tfm<_FxR#(49TnYFt5$*GbF#+wQE zje}VxtNRRRhz&E&yfCXPNA4jo7G>Y}QFGs}DC3Qr@#eHUGmvYttQ?<%e9^|7OiXL97;LB1Qz zj$KvAJepf$M<39<+Wj)~A}7nPk^Yf&cjj9udUr714WxUsni=zyH)Ci(`6g*T!q|8C zdo$_PnQ12&>z-uX8(`eiyYg;^-l}5euB3m4@wJI@Zy?VKpe9EEu8Fk>$jz6Is zZSbNF&ebCRvrU6*G>$#H@#|}_e{i~+zq5wOcqw>#3zG^kz zmazm+^3&Jd;8*=1*SIF~!4K;ncJHMdoacit*6&F_sTUHml=6Ah+#9C} z>^^B}$_$)&i9(5`IKw+4Re{7&JAUU?7Dpy^UwC9;qtya z@y9QWyrI3p(&at#Tlo6lT`c(xa>`Yt<8lQnemzI&T-8$RxnXXN=dE*BdUEE5p!14P zx~^Ug&H|tGT>TYnD88DJ9%#AV6-oRHKz8$`uj6g$%EAZHy+Q4Tx`)B3# zD+65_HGvrAxbJ8)W!Y4&d%V*>=~^FZ%$b|+y zx|YMAXyXy~??|WD7QyxdyikWdRxbnXZLFb3psUpwYa1xqz6fm_;Bg(C3%C(JChRw} zM*bvYviiddxLKb}U(bE<>(w95;;KJzrxG$K=gTcLCHIq0knx$heVr5*kFPr3T=k%w_)o;}EHW4qH(DQa7 z6E=``6MEtZ{kt96umN4Gtw-ii!k6l>R`{sB_(ok=vd&qXn_lNP6F;&dt`lbLIu@Zk zNu99GpS1_YxA~KA6M06U#pX}GHh*+!$^45*k2C+W4DAy{CO8cr=;vK>)E>^ypiOU+ zy^&-C$+97M(+v9}>Q??KKkB=Zc6x(-5$z}5lp2fO@v%5a`IBRDnD^K!Q*q$}b+R`; z-gZD^BmOhSTdl7kmjpi>A8#XIP`XECNxL=^(U{8j0rHbf5V3X}g!BDob{mm%Q%j}4 zKBfHGv*4p1MyM0XDo_6GqO}jpldO{1S7&7vuxn)%%d3%9pg&Kth}`M22zkGax*j3j z=`vUq>8g$!B!ksXlfg*WB^k`7t99}q`W+LOtw`5?Q>SXjpCn`)*Zkb|G3rV-QIc&` zx2n%P<~@;Jugm61UA&cD68iSB`!11P(DzDqk=!z_db`9nR65*)q<# z_G#k34(W;EXByL_CqBv94+cH4;vYd)I6>Q}+yTlhy@eM&@o8iX>50)vWp*;gN*AL% zLg=NX-)~o5=;D=^^WY_U!HX}=OYx`Yb=6;z7rJ=m<@8*fv5sKtiSi3`eXR-1L1z+k z$+?Z}Y^K}3wNVDin{BiKYjo?YXa~(H{oy4&95nrqefKTt=}Ej>+jw(R&;Qal^2<}m zqS$EKd+5(`#&67H_D6Uc*pJFO_|QsYhR^};2MgSC9)R~|y?+TTIkGY5y-#{UGo&?EKWUyMty84&JpZ01>T>Gb7otYJW_L3*lvhg?vew@A0igS{3`LQEZxXyJ_+IjdT z-(5lKYJpkm_ONd_$LyC)LkK&ldax7P*kprZU5`IwV$uf6`XfV*paU;p z%&bq?Kv{prOXe_j1&pcn2^%QuulX>0t_oO3W)643$C|43XS|JFi@y*5gbkGSXFMLc z2LA&56SfN0zaWuL5&jALC+lB?|2*O^#y?^IWc?SD{?+&|!9QXDWc`Z_hU~YJyN?JyA%Gj?bFzj$WF7}$`lEI+BQS}v~4@~0;%+A+m+at zXuoK?T^CNor)|-j)=AIaj@~O3pSFD(+YyJhZMSRXiTJc_hWu&U_JV2gY1@_9XE?NN zd(kw1+V*~INgUd?9lL;3`n2uS$Zrm9+m1~@%AdB)kUwqPjy*uipSE2|U2FenC$<2s z=wocX(YE)if6})0n>JOSbNPbX>a%@YVx-k!+Sk#ZcKm0ZV3PCO_p5KYX#>Vj&eY5g zxRAx%$YLkmdAy^;HqK}-Z6m#)(i1jxPL2Al`?ab4@SkIOtnDa%p3YCQZDuCa){3w6 zJ;ZVSYHI(L{P#S%%of~g+)cQy>R^TL^#PCUsWWxS`*2*flnFi?#C|!9?#sp4?+(WI z4%#(h#>WQc0Q)!}LAKxIv92!`TyuuKDDG((rx{&Edx`k)sx$g$!zRise}26L&eLNF=bQjAg7tL42f&Ib9*xvSDDY094RRI{fpSgtiL)AROz>Ez8Lj~Yv zA7>gAfS0QIgn}uPX!#HVkYOfP?d#$)`SEEQHOF=Vpk~^V~GYEWl zS#0#=eT1>%E>q$ANCMNewazGUQ~p-QrF8m3EBbI3m>dB^t*ns*!FwxnwLZdx!+iGQ zMMp||v|n@?cy0inKH519c72Q|@@q?AHXip~Juj0-{QagLjiDauX3Fhijuo8jB@eAt z2jKy|mgmfxD25k2?@r_Vsab=a_|;IB zP=dd7_2rh=?5r>EdK|Y8m;PAuI4=FMhB;Xm^OG9-X&3X8BJeBw`BRi7%K9ntWKR?v zAK`JOF;3HVJJ7u)%M`}`L}ls+uOaSiDWKmM+CJ-K&U!6${5D>dIg&(9{RnB{cSu8%l zQM|4`c?mw~r!(-;c4AEm8+*)}F|ZLtcBrK-bDfNdPTGC|-KtL;Ph zY3#8wYJ$f6B#r8)(0G6`jeg8o6lPMqL21+@=S)w-MLk{4e-HlJ=filwS>Dc|&NcsQ z>b^hmukLxO=l#v_Tg=_HZx*h;PrY2HHd0xx;(ZbCtXJB5K67bDohgG}cJN=V>l%c| z+3$DZs{K!LPm=hkVXSQx&l3NHKLlwP)eZ9XmN0E6e2714EH;eAJUza2lUxVsS!T?H z^g{XYsyuKfo|pWexbgqNZy1|})c>~Jk5@e?emnK)A^t+*A7t%$IrIAy#?$gu@=D`B#usdw;$c7BeTIQbG`FD3F(-Ydyl z`K0bAI)t1`8%uW9fB!|e{?WgZL(qrB&j;ZC(lwM#VZTus(1D1r=*+z~rO%vS`R~D1 z-qUpwdS@;^$Ui+#W*)O^dDFv{)-u+ko+oXk_a4TyJm{jnAMkGvem0tZaMv<;=27|p z>*EhQ(5n1gMI3qV=T|Z60(i%X+SXHq8yRE_UWAdmq5W z>FauPbXL6T8e7SL?pSJKoC>ACQYL$e_ki!0XK}}bd3-K5ovWqqdQtsB`bgu>I+A{P z*8t@oW{f(I|J9U3?U+21JvsmA-|l%BOzjV%M@oaHG~DO8&+!!ZIi93VMiOnQc0R@3 zj?Z(q<2RTO%_BW9R8m78N>}$i>7V_i_dNe`9_QfKXixhO?b$%QuxlQ=)7ZKYagKne z%aup4pD_^xl4%^uF@k)I(~2$=7Ogr7Mi}QJyv)*StTEp>X=K zxK3-fYtohNnsm=|*|B_j-}gbUyDwfxqRmg9FM;_3)G>E&P4v_L)BCmh9DVC?)xSSz zdOix>Vaj7jBbIS2e&1rEtnM!aFWay5zdvSrHYDm_bUBTjF-$tXOZr5N@;QBG@}Sz~ z3uZE3-(O;0-RMkGw*3xwIOcxIO!|Z6J@wC_6Q_J`V|GUSuH-5-#&6z3;VXJ%U*Td5 z!ftL7+sQdD*~o#bT<(4GG2c1wXZ+l9Q~cQi15XP^Vskr z!qNNLaP)ZI#e^>*oX3VQCLBGV4M(5nWqzN5?q>y$4QGBohMvxb)1F@D{Tbzi^Vo3a z{^RKPbZ(fr+4L0CPAhN=RX4~(U5uBXHtx~tO7kr1^P`>2(}vLxcGAB0Ggm7{=7UFK z59sb@uTHm@{xU(o3A2}RfH;2KVdep*)4w*1Os>6*^~mIBk^i+HsE_@O9=M#QiyhjuccC^Q_ zO5xx|`aT=ZyA20B`_LQOaPZ=Q9UIQO4F@~>&>z}x@FM-64d>m4gPnco3vD=fksi>7 z^KQez&OYW2HXOV-(&MOnyxVZFvk(2D4F@j{*sXg?bcUZgj);k?^$u(OY`TH)j1#RYb> zkI3Pjy%t$6u(J<-m`AvDh?S~ybVlMiy3=P1JZ8+DG5BFzkMVT76puEx@tAw%f{RE( z27@n5J_#T31x-&iPrWe{IwNrzamH{*u!#)&Ovx}jsMseS#6DYMOj=eNdFft`72rlZXd!MjSYj?>!xw_1AUtLT_-Ta)EyS$`Lp~n; zkNrdiJhE;D_(4B(VIgic81nJhaBvia$E*N9t?;0QxYb|?9Z@_S9BD0K1^8)&2Q9>{ z217m``+tH5tpGphrY|kpR(Q}t z+-fl7P0e)KHK?`xK!H|!~hJ&LZJZ1&>X@v(Z#H|KHJ{}tmj?^1t>d~Qy2T3m=9weQ}5$ObYxI2RL;H2wj-a~w0blA8iY#)FRF&@=*fSH5fMZ72# z25ySsFCF0JAXpLqNrizKtx0r%m4o0!yeAa~UbJVr1DqTLBjP)$FtBnzJf#DS90VWY zIjJ!58~8~F_&5kQ#BWkzVB~3dNe9?C2rk5HQeoiZJba`BTpR=w;xnl*u%R`H4lr>L zJc!4n!oWo_{G|gt90UvEFR3svu@c_W0TvE|1M!wr7B^3r1?uVze zgMlNozt$uqS6iNt;3w_0|E2sydK&d_Vd9hU6UlF59!gp%GP?~qSreIQZ#>?-b$IfG6=C z8xEGjD+vcfz3`nP+!`V@wV;nsjP@f{lu&cY$W!B;PQrwF$OyovAFaIhAxBpi(O!gq>rYrvfN zjtvKIe$p4;se#{U?{%E-cm|8SwOK{*ojZ(YbQ651*zt_k!gsiP`a=3^)yLD>Q=jom z&LRfqH!`-(24mH@zjS8}#^5)fA-vyv;O1WVj6KUCA^+qj;*GN!Ak~iDlEZ!_JWtAU?l@L6_(&Vd%?<4 zaFT(W3QO>wz2M|17|Fm*g(Y~;UNCYLd}QFJ!VDOYok@ zz``suQ7K7*+)86Z7yWs!ZSt#Y^_#o`9DGa3#kyIT=|s-WttU%7Xz@m(ko@egd9S112QP1aQSyz>|$v z2tG`4A|AY@27E}S3E+yqq~d{$v^>I@uO5cFc(CAwDkv1ssVG7g#x(ZOR0F^&oFPb@!(B0 z;7>A909X7e6%Qz2Mhf7HU!~%KQOS}v z9z3fCj7nAt;QDY=@xW^v`DTIx$xJK3ta#UrxTjeoEOs)pHhEWO6@%elnzYdu;9;vc zBVr#stR5a#3=b=YM+M+vxOG|ZuV)wwe+B=#(@E?8u#??=8+N_#FjsXi#{D62^IRjh zoM7%Y#u`*hCFc?0R&%zv!xQ3sah)+|{<1U_;Gy1juHY-C<wu@y&J|a(M(L*fyXgaM^o1$pH}T6fz8i2A*Y71R{o*|9{|8BD5B;Ex{xF3e z!;PE9x8g;VCjDX`b5k3Se$YmLu<>xy_)f(WKV_b3}lPQ{~N6eC;Oc=Urd`h$&!o5pu49{obHq>V>EXrn*ac(`eNr{d8s zG&i;J=m%}|2OAGJjqg-E@oVHr8;^d_Mt@MeG+Z~|if7xHeo@R=+d#YZ(+_sgAEt~m z;l}myeIVIx^b6@|+vo?oiR;EqJo(~$ zktqkk>ZI25r8g@^CWy@ovfs{|waoFLkBisQ8Tqjv(=p!F_YwCXZay-sWakj>9j|tL zUwZbc*E&X5z1sf$&};3ZfmhqUUvIGAd97`9WF(f;YFsT1&$Kf(IW2vBQwQ8HVzOe4 zE4?OTVmz^iqP2;0kD3p?c%6Ceg@18Agf4he@-yce%()BMIr~$=&%VuMV;6D7L_7RB zpK?FSSa=5a1moNNL2Sl?=$Lrw8Dq~`nc6$?JT7~N1D)*GVEu7)fbs8y@lHI+9KP_~ z@iT~q8TV?TPvc&Zlb%%s{bTg8V*2qgV_q$;#=LwU8&03r{H>Tij6LLqT3n5F`8+n9 zzC6Y}P3I8}Gse~8YK+V0vElULG5Va&BpPOHtHssWmd|6u>APd}HJwW|%$Qb-t1*o| zZSipW>==DaXA=!Gmet~FEX(Jy|I=5;=vz9UXqYjq7FT0fK93EjkB%{SE2d8lGj`SD zYV6AAvElU1G5TCFeQ}sEs}@&dRz8mnr%#U2*NW+b!;Dq6xEibSd2Bd+ag07zOy3)3 zjH<=e7?sas!|8)#^sQq0+%RKPEw09$K4-y37jrgMvi8Ix*pH74cr*l_yXIDJm? zv&JIH)A_hIj6V0Y@s6J3x!k;6`l*2Na(}nZ2Jm*j$o`l%SzCC23j4=_$n8@Zmj3rf!C2ff@C7c*jG}qsguz!e7o9Am^Ycu%LI=S=< zkAnSS$2*~UelytG2(G$thsoRPc(acUNhfvuHbrx{Fb1W#SKsW6QV z;HDWoZ3IhQxT!EOrFnicSlS4Vx^Por;7RlRW^l9-40YkA!obqgV5J!hZ3I7E!c?-H z30b=t{A>g}UAU<*Fr;~YGuYV(Zn|(&VcMbk&0u9CIO)Pog@G684V%D8Cl7Y%S&iU?yE~D!vGIf#vdlgD zRmXG>qi@VW|NeqId(@50EuIo3EQnkny)!a3{4ulp?7fn^y%Ugj9PMl`V z@6-&r+++EW!4{tRedZzK2`qxwYCt@MAa6$g4ZPe-HdQ z?bRKl;fo!k(mmvww3e0wpUG*&U+*2Sc8r>5cH~fwmVuG(oF~Cv;WegQx+?MIUpsR~ z*SY45j!A}l*X#Ggc+kV|1G}uV9$Vtd9+i${6TG>JGOl4PSxvvvn4&$PvL8AEt$DcQ zIT6K;Qcr!@IxeD*eURsqiM}S8F3NL`bHFZgKg=@R2OrI*A7+2}TevIvzJupWk7g4u z`@_0N=6k&VY{z4p@8SNK+j+iy@4sz+U)S*F&)~O<_X^(c{%+se-+YJrV0apNR`6ZO zlf~0B)VKBzJHE4aXvfgntvjAr`-ywMvbJpV*Vn#$=i_U?apxmzZ!7)U+F7NKu6?p( zVC`KW+Pn4>{L@+T<+UHct>Br@lScWUed|XyH{7syv-pLl^og~`Uzzs`TzAD*-0YipnCd~|J7=K%NL z>|UD}h+KIRKGUDzGrBBzsKI|Z;7^~AAPxo2l=?>FpPJxRwaB&)395C+H8Q`K1 z7yH<(0@~l6ul%#vR#!!k&qub=Guw8oxLBB`_7$T*tG+_|2xgq6FW$+o%F`s z*AI@ndUJl}9DC?x_AznxNWgG5fc}q>PQ>MW*$*#_VP{h54h|u+tq!^k|IO2SeqiEFA={33G8gKwG|b1oq&H`98V!BeR*8mQ{uK?PWenS6wWY&avd_fk`eSK5 zZ9g`X&#Ha6`#sqnf4qk~-?6DsJ6*hyd)H{6N%H$0?fx?DG=I$7b6qU9?vK>_tJJ#( zn~M)XLzp~RXJ2~I6Uew<|(4G@A*R4M2GD8n>R_`|2@ng^vp&=3R%AH@@WnJTp_Pf~ULYp-}+X2#AhAl^>yEo@<=mRT(F!${B@n7uKsc(i!EBNZv zQZR80`F+JofbbKrc1A zn{q_RU-c+E7SaCB1nsduOuZ@XKZK@BX&?R3OxpiGLA$k&z$QfPYu+0gih0hJhPms- zc;?T|HM4c!OP!y)1Z4vedBii+P92X&P0zQL-bU7Lqu3077~XSp_WJP_+^{>VaR+y= z7+03@Ia%Uyl0U=iLPI`xB5m`rW2Ru`apPuh5ID5<6=P{Vqt8w~1SZ#682y@3FaK0(b zJ-L6XjH!P|X7!BnujY99oZEoi>oH3+Hc~I|F+Fa|DH|k}e>r7+=~3En4{i7_!HNgp zoxOhS%eW2htOs4LtOxVVjUHsx)87a}5BExc8{6Sw;(r%AK-xPL_69=8S0SG}(6G)m z^j+vsy#Be^1ViINz9VXP=C!Uno!i(`wIu^Q8IN;Y?(=5LV~nFd&MHra74w}8I|^oe zAAD~rY$e~xuye?s{_XSE`$#jFG&kv+G?$TPy57^-4+mD&Z*6^jqHK9&FcB2>P=%*N8EPL+LggeG&Ws5%arsn?z{{xTQ6R<-)p6%T(U6 zKP3Cy%yJG<&QzTeU;QtcrpBja9o*x}zU`l<)rrF1O`ULN)>7F>+d8429#8etc$v@I zHqgDS;Pn$O%a>%+=WeVVV$NSyUxM8+^R<@_X|7;y+6}(3j{?*41|J|leG7y7&P(9& zsf$w&oqP)H9s;{Rieq3^cc zsirSP_tt`TsIGqsg-X-Ou{)r!(!nr;ibDocvsS8(litZWe@t+qdr-ah8Zxl} zz~+rU@dP|snDPfRdSbMVeK#5LzEU+)o=fr7e8~$g+ixT@xM(}qjixkoV|rO=PIg%v zcRX=s;7#rDv+?WFOIuyDx7^2EI{d!RtqZ>In|FslCA!1hdE)3UkE~XgX^GH2KOOw^ zx@GK%{m$Uv-5>wdyB_|)RQUJ@T0grwR){^DJGbSli%i|^v&?NTvv*?tEYtHl>g@MX zz0dD{!Zp9UfjW)j^SZ$wyIkFA34F?b96tT|Yt4ht)BjGm=1-iYFOJdw4j;=cKX@{? zeB`&>-GciZn{l0SZVB1Zc^^|K$dT;V>+m;u%+f$rn zE6g^(FRSN2sYhQ{a46>EzFkvPn(DJ7nLW=CHl4>$wp8uAn9o>*j5t*lmm`^6mWW36 z-Da>Arzy^dp8dg0J`{l__3e?XXYwKK6TKWCI>7&Ze<2_8p}V(fUzbQb!H2>(%;ZD= zmvLqX1K6ef;gM-&Rahxyy=QW2>3@Jh(RUAH=H+Po!nFUydy5h@#;%-6V-Owxx!` z)RsvCh+wHAz5J}F%p`zFYFjRPK&hEPKs3EDO3SHwP6iMwQ`_1jwC1#@1n^p0 ztJ2!m_LN+>DYjlw;w``T=eZ<9fF3=6eDiwcHP5s6e)e8_?X}lld#$zCUYlVm8q-Rb zZ9!I>uQQoi?`U%iZ8?3EzxAN_w}7`#)?mGty+!3Vr8LTd$en z$`q0>{+;JPx#J?-KcYUfhaR}cP~SZnru!_X@14xK8}aEz#%t@$$*NqzJZNQqpgS2> ze0x^tCTL{7DQE~XzlEctls^F-yyNaowXb;lYras?cS@_?Zt#UV*-O8DoiB7%UtdSq zdymcnr?2bjYb?!7>8P&`{hs(VrKYIiD0R0FVx7t`ODAd!uB#4J^NyaRA&b0L_8$?( zsI#Fu)Rg6<&jb#^iEedX=hv!3dytD&egm?R?r!YN%&Lsc8I11^|16 zf@6(GUCrQlSB2S>I#=!e7X9XEVkslll#~w#%o|OxHQ4rK-#3E>@R=A zJbM{={QzaQo6MZU>^IGQt;Lexw+F0A^-+J$5#;zEQtl;W_T7}5^(kOOrpFeP(}fJL z^3$S{+cPFDq1<6)`bNq%Q(rf7{Y1*E%#kC=^MUk9W1?2hq3&>K17)#QA6?XJwUTHjPq(}%%Icj;QPM3SWf&B^0Wr|%;*cz8OEc0uel*!SH@Z}G3f9J z)xVf}m!#0@TGsqC@$s_E6k1K|r`7XQX)rt}J}Q+~Q~3C})N;`3uvA+0`1o$@87?0$ zPN7w$CG#D)KkL$}@YVi)V`apbdkVfTOvP7wPW)~9rP!-o(3|iee0+&A4$mk^j_29k zn-X_uP`p}r@Ux=s^ID9M=twzv<5?&wsnu-e>H<&g1M+9Q;a$@r^#1ijvA30!$Bo*gIt#w4-r4 zd5_XRE?-OePUF^_=ZsSz^W<^rz}|bhahm@z#wo@gP~#NHJ$al0pE!A(mNQPlKKZ@B zkJD0MRUdy3tlmECE$C0kfDH1Ts!^lr|; z=E)hWU29o$60Ec9Sa)>xzL~X0I@a4*d%EB)(z71E#Pm42*36ti=DPn-or}#mCBI-D zIeZDWKK7tGPc1xcqWz$6(SK}b&*ArtFHu?5a}XY-dd9MT+uvZvHRRuwQ4?yiYC_Ag zajeU(3H@?b4KSPX<#oQCF5tXZ7SJ~{mvog|jdrtpd0$zk%g(&iT0laHUtwVpF3|7kY; z0G-5SyMUHEe2GeE{vjKGdk4pBfhCr2*<+Ys48<=UJob;_EsWvsC}-#gecJ`>52;MB zeQ^8$d^Je@djHQJ2lj3M(7sD!F*jvh7U=6>=*?V_RZL%(jXVHgL8HK!!o}9AD8X1=?`7qxW?rHBJaC*KF zwj7DALvvoTqW{`y$c|QdH~t2kbzB<2r@3D7&aO>sv)_>)W7q@}MW!M=IJfe9(DK8` zIyaqVcE+Gt^ySAEQ|3*45**#Iv+m7$QaoQaD(C&hT#Z9PvXMUFBRQpg$wkOcMag#N zXoR*Gj1E^FM2^~xejti3hkT(E@U(Wz;8S6a9Yr@9O$&#X<5O2>6+KYcXD3}d3JiN zbYn-bQaibq>q%2LuG>PL*h5|jY(m7C*Qtf+jSg2 z1FvkWO=|_oR-4v}l8*>q_BiGzGkJa+x=FxezDK#cD6w_UOG(L|uPFJr7^F9aW zjjA(fM#g^v%-Z`zh4W(0@fov9I2XQ!OX1oFZlmDQ2R?;M-x+Xt4BOLBQsD`o6~6#@ zevz8iJ~Tdww4bG>!5q7*tJo)t}G(OUGIq$?$+_VCn@N}C_99R~m!UCPl1(uV>$c07o z&08A1HYCvQBz1T#*8g(*Jsv+0^B)4t3^K6F;CjG@bb}mjABI z>X4t`&a+4#UQG;KE2qhDx5DQ$R*Cn)6LJ>NkLWcSt0G^{ST&6PsI8imwmzBCmeTjo zRwr$Z;rkBi*F9Tx)DfVrNFDXCmPL@mBdkxJ&q)B>ztzq8fPsD|(C0|%k0DE}g*Ml? z``0FS|2oj`B!NGH>JNK9E$;p`#ywNc{D2OS#Xo_3(+EsDd+O23hwr4&O2=98m!U=J zPy}b7Pp(Yyi2>d>9!IXk_UGVTYhY1w!Pdd?pIm4*Y2CN`h-}{B(z#@SNz|JP%Q>R? z+I}7KhxyLh=;@E^hnb36f38jAqR$9?(xd%7X%jHdl;+8vTM7@g`EYJiF)~a;1e`j& zH$VAAYTv?x;t$iN$D=;XcWjNG9#(z%MQV9y^#_z!Iqw^fPp$p%tO~)BV6Bdr36%lh zkbT)}m-vHXQav6J8rCEc@Z!x8jn#2L;D zVoztynj$@ibYAVyOucB^@6+0rV=gsUcid%Gb$o~a7XEMJ-=4FD$vNknO^T1!?tY7p zaOg(j{cNcTuL?ptlJjl{@AWgPdknF|qQhpU*sSWMjhCtG zQMayr(CVH%{0D$#5&w?@*EoLnLCbrJ&=;at+-LkbYI6&7?;vn>17D}$q^>_wS1-@K zr1g@g`kyDQkA@<-@u}eTn{JwD>`vq~Y{%%X9DB?=@KMPe!n5Qq+2W#4#+&I^)H3^kiH*R-cjoy%e9?$mi)m^_E?6ZCx> zcp2#LGH@Ovr`z*b_FcPfZyx8JJdZD74Jqi;Z#b}SLWeUr1y=2K?*-NsuASMg?{xDS z+3v%~Qs@=Be+fK#G%sE)pCZpD|F6)!WYj%_E~t#MR>W@gT`eEhYV0ETz%9+qA_orIy?#CU_eQ*^AFeY$XN z*ej>vyq&gA#d$&U*VL_gJ__%QpqEnJ?E`ox`l^$7=ilJRTFX7Y`4IE5j~2s&;`f5H zlh(BqoY^qL55Mhxza{ls_`|n8!ng9@R6Vg1o?aw{CxgFlx%iYECqA&~JhSOLd?Vcd zlwZNBIr0>1Kp)(!36Jsa%@@ZHtlxgwon}arbC=j z+b8PaHl726u(4$2d>fwmWC}iS{3rOU&l!ln@G1B!N$oHA%RU4C3R25~KXV$q2+!H6 z<-p(Dz&8-j1M&Caqu!e1;P2Zm{w{Ly*9pG1F`vZ0nyjiy);$|<(TFccHk~m6lhX+< z4}#xraH%pK;IA3nHrZwTIc1a)9-XzPAo)q?^KtN)S{E^j<)en4!kS&P(&Xt^Yf5Te zWvm(Xl9#cM$vS&DZ5ob^NQyXXfd(3JZXXs?!!k$><>@ojf z<>Nowzt5~M30HNq&rDePPnU9r?K8xqiGbHcUR7lsIE}Ji)`Mf&=Xj)4EQk{;w&IJEahiQKq+?v8({hBFJb;BOlEn-2cuD{RH1 zPxTHTxL50%YI?4C1$*>VXTR79Z&2Fzk2(7`r3Z+g=k47dWXwdbUxvoirs_Ujn}SJg zYL8hxp^bVbv zVc?87oya4?-B!M>L4R_BJJY86t%lzaa~&Mp`U7WODnf5rTz<$unzJV(%a1TVRi6;A zcJTMl+TC@me~yo!J=rHy{ZH)k8|YRf=XraG?mYGo87X__%&%9@M|PH9wL?ew$zL&F zo&Gy}Aw3cHca`9GRvMp7vq!^}wUGU+~_Q3M=!W zk-XFTZn?1PoAs&RKts#^mv0(v9ZY_*(bd6poo{+R&m8VLU-MeBCOR$Bw!Q4mYtm!L z2RHHE3citT$C;Pl6CKOvX|MlVtGo_)9-z!Sz&M6^cVe3_-c>0YDYEN6IH&Xx>D8rQ zxRA3OVSIQxD#Jacrr=l?<5moPy-WGWmPD!+qWj=%M%&0wN)I{UTqRWNEGcUEtn>=fk}ot+K}<{o6T? z{B#j?n!s=DAnSh@GFrDQN9pcL(ZO2Q;@WSPuIy&5@BW1eNxtg-IlssP-4FANOx67p zevzrVe`rE$So8l(f9<(P-FE6k4(5BfRF#mB2}^llDg2TL%IyV*DG zBz|qe!d6fFb)(y>x>#cxp;I5eDVs9Z-rb4rSG?^wz7oCIYI@<7z0mGk%%8{KknIYZ zKql!bbM$J`yDo$#(C19?c#y59VEq%{75s*=)cF|kpyNHgyPPp(PL`UUU%dnl;eTDF znyY5#jqaS3yn6Dyrk|9LFo#w4Rr34BB32N$;9V!_J>2#+Zp#=qZw$YdI)<_Q_?H+b zcaQGOwT}GwM&zVaelV9Zr>ncKedbhxeQa;7-}XNl$m2cV6WI+sJA#EBp^Gt?kDL>O z23UixvaliOJ;J+e2$5n_(E$y}h9G-E1^nByAv_5UIBSq2+g)srf4^+^>uhI@`WoY} zu_@#{m-zM`c+;bj8{p+>$OfE$uX+qPy8Zd(%Wa>H!iFgFf!dS3dnUXjGSm#)jefP8 zJyaAu^PVNqsvveNo7NMBaXGJXxrA%SG*=yc|6BAuRo?1gj9zr}|4yFtH7ffu&(2sP zmq8ORQ0`gsnl7yAv4}<8bs6z~jn&dP*!*-Rx)<43{McIp#ynk`W_}ume|Au&8T;Se z?8_e=WTwQ}_v#F3E4F0&Y%F#wosW%WW>x5HcUe?9yw%$1baAb`y2H zS7ybhoHhCp;gfS{Eq7!8>gGHHw%g|qA-5I0-n*H$m&(qap#4_zo3LY6zty|571-5A zCv!Kbc93(ju+>I52m0=1nr8)^M=fr-lyzw$wpH24{(7``^9kl*Y>3$@I8;V(s7 z<}czN#Zk$(v8Ab9$>1s@-_~0g1L0lo7a%j}3@h_4`3S!bUO7wZ+P}|!)9H5t`?qj} zPV~YU_V3-4eY@6@{d?m-vwt6{wL*t4vqFbvTcLxWwL&B??a) z3_Lp1)HlA&)m`@9yC9iP-hZkrIKkKZSQF=OW#he@{!2eB9A-5HFO}W%C&2x0wwzIr zyw{d9ij$vGzwZjSX>Mo?`r5$$IvpBXM?D9bSBI&;89Ut1z@y;f40ekHv-BP#lLwZJ zuM!_Uc(v&{NLloTZHGR~^B3T~U*dm0|MkfK=OSAi>UHK_xG;_%m5p=t^LhAvBk#TY z93J%YPcm*0AA05InfUHF=eX^2-L4;;)(`Pr?JHAxQG|G>sk|u6dqVciai$`cnOpfY z`g9jO;01V5!n0@EdrjF+`hBd5>~ZOTzkiVUQDJg6bPJ!KGSB5lK7RMYk0e`)A5C}p z(LwI@T`PWspSAdr{Ki`0M;pYCxPM9Zo_h3`5z4e9SB2q6qRWK4CkzIP2Jj`$Xff`o zeCg$%%(&qle%TF@ncw5gu>6|9q0OJvSMjF={7HTO-U+Q;>QjC)m-*uHr=LL= z4?`28;oUZk6ef4Ovgl6Ax%_FP_>(<1>^-3T^YY`z;oFXWt}yu|xPf0it2QKu?gU=# z5u@B;C7xT2UR1V&<=k8KE_>o$=%dxjZ`i?}ynWX4D)2IywY6OQc+adzRTF$2y_b!v z4d8Hu{XC-KCC&!5&stfPKt~IWpRxQ%%1`wdG<0eoZi*Y8WSsTBm3eYE_jGLW_#^tvr`z~cs+Dep5b zF>B=P&TUqFD`S&Q9lA>;2A_P7z1b%yFaHbSZ^tsb%oG=JSL2i0lP-)$(O}INT;1llXmK{qXyzs9)`h zXS_ul;>BuPytx4!Y0u=nU&njIeP6)yzwoTPGsLIGvuzs?{7-rT|B31z?HSf)aaOUa z#=dJna`1lukL2LSi>;mr^HBWUPpm=7C|T^awD;T#udIW=N(Pq9jepkMpRj&AaI>$B z6~*rX?&!reJ;-yrRM#cYy=)5$;Q9X5Bd+$X&b>PFW6sIqi`Mv`!$K=QZS^d$@0xMC{fn~SSN@gYO|Y^@ouYmQh8(T%_AR#E$nWS(3QyFw9c5fpCj7yx6{=&8TZi!f zX}2DYfroz|_{Yxq(+#vK{MYb1<}K;)@{`{JFZ-x(GO$TE5`DL}jlDqmRQi1`+xLfn6|Gh2KY-*v7k4q1A;8r-^JD~l)3~c|{ z$?Xps(Ej&nUv{8ATm(kOXCUMCzYmYs@Gf11?!M{UcVRy`V@`v&3Jc$m`U1{$ibXlP+Xi*0y`e1lTBjcyO|ZbkNTW+GpqsHx-R{)*_pv7iaFz!H=npiFLB?L zVA_D}m4;7Qy2;IJq~Fb1`-}MR;Wdy;+(a4`v)Ol4{WVKg#cRGbWpJecAZ9l#ekcG@rXCF6UmUSw8>MLB>$y zXpJ_@OdysYK(3jOzmLv;@8w&Se~W%NG?K=&>Re=qPtacfP*u@}Z{Dt?pn1MrjO1~}6egt2n*Sn^fN7%p2L#{h^JO0+2u)7>FzLr*O%DXII%U1fi1$nn~ zai9uZ5<9KH*5~WahXiz`?>fLi0vk<78gb(O?$oghyH0BcvHMMai|!RvS(THoHS5IW z7<8;Ln@&HsGiKY}G3#K=wx^}H7{-hkxGmeqnz&iH@R2+D&ikf@Z)*6ahHq5fgwwb) z(rT%}fADfMv1Q`r`sVsaBp(d?M&m8XXjY6(xa7$fAeU?a%sgn zBdr|9zqPNu@TmBB+K{eNXQ%pjC~?0|-Y=Tu7U`e(PrD)`OXDN=nAMNma|!b1h*ER)rTFNumzvz; zAMtdAGVt2D?{@p*X2HmN967ca9F78qBa**;^|{TBR%yd;Su@{3-YcRkxF=s{UPdJG z-5BKF&v!GB$^V%i%kSto^}SEBA#^##+;`8e4{P`9+t(S_XWc%V)iwKbZ>`yX z0r3HY^jB@+B%b#Sx;2aa+}gre#WU%pSL5SzbvZI)CjEMv{|e%SoyG5O`G4ieZF3Ft zR{b9|;hAFMN9WzZ+K@q>_~$mCHCt=V+KKy$#|HNn*PHZgeD=$U$=u+7tF&sS$sR6by}lx1BRV+xIep2^FwYUEy1eJ4 ze$~>i+Ee>gLcfSv+s&Hr%pj9j1OLr-`*jR>Z{l2+`t^79>(%d^+%MMC|5yEL8qhD% zr#)t?tLay@-7k%k#;iL%R-tiw1{!+CS90|duRp9O7I>{OC0GCKRi|IyQolNzPVU!` z|9AbGJ)mC}aJK{Z%fNbs|61U+3~M^Fd4%6@o7Uo5%TyjiCha0$amxPTKab}z<=*(& z-_oymYMx88%6o#mdE|9LBeJRKuDE9K*^2#AcdH>M%}f7cP0w`vq0@ddwxyY8M>evU zyMBD~PripReZ#EKc4+8+;vPTN+xyV=@UVFL7p)#WAAqlH|9V+G{aWXJyO|PCk61kk z=$HIww?7n&r!TO24g-h%9x1ioB@@ZtZYuFfy?6lHXX$L{J1)=DK1@3MC_397^fB)- zr>@Cuy}K%x_;vey@zQ_uwS~Gf;uXa3swAG3;_9`trbpJ`V>i^V-sTy+{M|NU6wy*7jeWMpHTD$3SKzJr6~cMy82tSgy_msWb!$J~JEi~IjQAw< z3O8<@*0!2GeW@vIDBSqnVr*#T@4L3RM)U{|AP0+foq9(nyDLr4AE~#yQhIjnrAFJd zy$C$5#ugwNxsh{a#uUzu0QXO!RyIQZ&b3OKgd|Y;4&#e)#+Uh_IEaFo^|}0wR~#4>udyFS^Yk^u z*z^%AFDjcBV^PO^38Gh(ZnaT$pkIw(1E|xU9Q-hcrSEdaFg!ZGjB&W8r+4RAPtRZCF3?{x?tNv^vp$mgPJFqYsqe(nI>g-Z?#vWF@GS;L z--wDRy2==|7K6^D_ldFI+Obw@o&6c(_B_6e$z#NuQeV`+$cLqs>Z@({q+j}8{Z&8h z`rNwqAb&JM6N0%BnrK9S6s7-O{nK7?c&OsR_^zmFv#M%zkM1zv6&5-ut6?AWR&A!uZn;+T~Z>nsbo> zUs_Sqb^~S0;Po~9)|(+Y+*3EZChNDwbr%B%$0BdYiIjev@@i?9rU6f zxt&LceDrn}qVoz5>u)E*-tVLKr#bthw=)h~BJr%8u>)@b^c5eqooU2-`KWk1lukP% z``f`rW4A+0<@n?7_;iE!$L#STE}uO<`<(Gf%c^W(e7I-c9-l>wjb)EdhC4ow_m2;; zGhT)su4i1wT3MAr;>bmzk!sR73q1uHdT!*V?2zVByLIaPlW&VRKcpXNcgv@y{j)js zHTh&QXEo}OXnujm(YDQ!I5T4DdX-#*P`<)roE}yx3cu=M&!0YZmf8#nORX!JR&>oQs`r2 zthm+;%j+^L?RuijyV9|IkE~)i>uDZpDzS;rKkNPKEOc603y#jC`##H*Gadv0@-wRVeibF4Eq zUu4bc?(E&X06x4xvK4fp@wNHoulZ&D2@lGu6tCAh2kQSO_JC)?!643oMT;f-<|iMdZ_&>?&pUV)P2mG%>x^Z0xmjt&I>+k7 zm$`{|e~dGod>`cwkI3hh7fjZW7DZ1KCM|lNkGccN6*H`!F#DFsg}xraC;XhvdJw_> zDm?0JK-p{V`5fX{wWDt;<&5YRjL}rq3DJYk4^5b+;#(+-{=U!W?kZbFA|GoeE*CUo#S+*R4uFW>$E z8B6QsYTB5J{$UTgA<=Zxk>1IBh(&2ulw7@qSd_li!Fz(ls|>7;&7MM8!6IBXb~t!V z3TD1jKV_$|=K$xj%2ls$z`XEfI5@bNv_6@_oE`rYvbAIeVy~BLe-mS0<3~qZ&%Nc1 z;oz|y>_xnL)2ml+xo1?T^L?;=Z2SfKV&FqwzIfS0@?{4~)xjtZ@|*A}Vtd=ZL%}P< z=`h_;qgGsoJkk@oW*Vz9JZqwVJ= z;@d>;4)-8W>}e7Z!An!=`eFC{RxcJ5s@>?K&=dcgK zpT5_75Z&pnHJk~|3iq54UinserNqx`K)0YWZ;;-2H}X+-xJ|H|mB4*5a$mM-i{2UT zQD54v;WixA$g}O%+4i#!T5PupoM**Evx@EK1aL)@;T|9U*^!KJ8~dZl(i;W8c%u!Y z^gMqMEaa)2d^F0?1qqhl36>{%k^4z9R2qaRn`#KV=18}8Qlso3=^P)F9INqucunqz$u&oA5i79qN?D8E13j(A2V{^BQZ+D)sRpXxJWObkvdW zh3zpuBivn#DR8e9+?0*ZJsIwAsGYeU-1&Kp-!nGcfmeFxaW0i%5P2W$1u0gBl8;XH$D0`_7dOT>XiTg z^zC}*`SberR`wQmU?W|RAC%~1(XWF)CJB=t^Y^N!y)add{a@7whlm4&JIOP#+)O=fgDf#HY)z=H$wC)_)=J7G(oBGJ5@p97TkF@Z^FYezRGp}n; zn`r00VeVym2|LU76F1+vJv>0S6t82x`y%pX%uk-r_xLp0^(o%3>Mr!! z8fG5qYb!A>ewLSxzSv98ChdS#daQ;z9epx>ci1#q*(buM=bjpKFfA^g9sTgi{ejWp zJ4=CCvZ--lehNO)F)H?a(3m^WcRV*0xEEtPi+(usBbPtQ{Ew8Jx$cN%?jY{^bEVY1 zf%zY~mGj$QzH)zB%v`n3Ds1V_#D4zinfqt(-n!Dalyy0OEYD`++G6aFdDz?X50E~C z_aM(IQ@6%kb&z$xdC8Qjpi?e?KIsW;Az|uUe&^ca1a~2AWxi;wydS&Bmcb_UaIOj6 zS71Vk(I%ud)$rHsH@UrQ&2!!L+(i~Jug6UI1Fe%0V?KBQT#aE)B2&G7l;>%(aZyG( zLe3DiNS68hOV4e#*GFUp;ad7E+4l5XV|-7)ZMPH4dxziBfd3D-UpeQpA=$;*srz`w zj^m0{+>6kTtmK`4kFoAxuie>B zJhn{RN2oBl!Ya697d}6CQvY&nK&(ac-a>CfJf`w|{HtaEVP52^%lGB~M%TAzRQNd;*dOiMx5I z%=8?_Z{hp2e;C`p${!+5#=&#KJ>A%*GiGj>+vQJB>RvkTJxLz&C6=Xy*F1li-)Uzh z-Z(TVqb>a#vAKuO$!I%ten#8DQU0Es1D-r4A7sVYE=b1ONvrk8f5F&=bIg?LbIisL z;OrtTm_XK#5zB^Hp;j~edxPom;fs`xu4R0#c}QdRc&w0EO{V;yKi&3AW1q0}TyU;$ z_C48A6c%&2D!)26*2uZBPV_8?F7dZ5 z@NcLT&V1lT{r~yj9Dk??Hm&a7-q+;USO4{@c>Ui@kKTpD`a~$c;xMs~y4Y*1=bv?; zagFJjME}G)PVx(9{1_jbR^P03c%qM(L=I0J4^PZbzVG{>dc`T z5~$RAx`i_ZG5>^$f%2@~mMhPyty$ESy8e3d>@>CQ%ClEjwl#wu4ku56gv$FXV$+0gDIa-m5dQ5o|`DvfnPh2+{jj8)_e z@^7K)JdON&7U>#8Z;Uq`acEieBwi$1^7v8O-|$s(_3qS2hxOO!bkbWlL<90o=o^F)der;hqch|U*wf@ zDxOmRTzPh<+P~kC2Y;$>wx)hF%$8$q{JlK2Vn5#voX1+D;Bz~x`Cs)uaW8le^K25~ z9`D(gF!uAWCzt}QxAt7T#kV5>?ZXF;bq#MV-izKX|NYvwH*NX1re}F}evV>(KaBsW z1-|4fxV*?bC;lKhSOYJ<3A)&guL3?cQ*2VFr_azl@(>k^!5G`m1Vw_mC`xL zr!+so^}XI9xfA_rf2mk#vp8_=(Q9o(EBuV;Ty#{NLQ!DBSG zefl;Nf9jW<_jU8_@|>rWE>2}sUiIpm-IUwHnWdnqE2&8{*T$^6l3-R{Nnk{z#FzV( z5;GxMvd3?(HQ|LNxq)cOZ0NX&cRe3v+?7;W8-moVn z&dgqHPWBkJUl6|!eNO%N!mF?s+w)NH*m>a#;x)h`nC<}{;nXZS5w?F##~x!?S$hvu z{~erZy|Kdi@pGRg4(^EQZP^=YddgOVH|9ZkIP=8JvEdyvMpy5cR#3BJ*15GiHjFbn z)}QU$(OhWlxZ@N49ku?ImD_w(m4PhuB*e;@FP+rNf;^uoxzMaUJ5Rc}#30kQ&1Wjj z%F;YNi&jr6ZwfCwrTmAP6~KF;SAHDz-)Gk5x$*zXLubOWP8hqHerwy4;${qlh8nJ6KW6EQrO>R5sDieUd5>edo-}z_QS_)BnVU@yh>l_P920 zXZ^SRplh8vjXQ4#e*bovE#GczW)3&8hZjs1JlWa%7ojsKD4(*Eb9LJL)0XrA^}r-w z$MZ?oJ34@8^{vvR1DHs<Ft2W*8!i;)&UGp zp2zq7I)Hrk_C?78uPwX3MUK7!9l+25>Gg?Ea_4*O`7F{!7xJyvoNq+^N)}U{Qp>Md1`HY`y%R%%589Z-7=g^DJ zpaz}7I`j!O8=H%bt82h+ly7)nM7iCRIfM@3u_YH(ZMw6$xZW)jK&K#GLp|ljpmzwM zZ>Sr?T%zn`bPeo>LgUai1kg2X1TRK^EwG!>X7m)K58uKfezh^*VpIR)7GwSeE8%y}W8`NTbJ1vHKC|3s#1|U}TT8vY zj(DT|`NdC=n;aQq!2HpjoVsUTIyCfW6fRZ z>)p-^42jp0uDRgo#R~0nB!7lyoT<-V-|!=I^?OeJpLFZ5w)KHdpU(B#ba{c-r}3mq z7t`tXNq%DLPmsP%Ca=FwPCdn5Jp=kwkdmI-r=fOwLHX0rkK$N*Iv~#n>_hY=Zvww} zMsibHIHa*$kDsOPVr(AF{o43ZZK})QKE^ceW6aEHCH7_$wwL-b_-Nwuc0F{#eL8vD z#^ZNRjN|GZcg($xILBL(TbD(MXRKI5i->pJ9LdaKJ;+%b$jCuo(Xbfbh(&4soX4?Y zJ)UcEelMe8A8T!WMs=vp;?9!nYBxp-zYz-?yDz6cU~<}fTjw_7qcUL}zTC9`KpEeB zFC0qy>bK|C-AO#2b01t5{SPO;3VP*}zHKzzcO0MbuAF*qK@ipk#4sq^(#lhz` zA0lRksWww0Gq_`Z(uTQpHQ`Y0%MUDz;yTiFvEc$7;o{LYdCwv9x;VGM-oa$LTi8cMV z-ldE3 zkoezfZyh|WzP*Y$H!``7v~}>a>F~St@U(UCx^(JU2XDKaeVNvC(XAJYhS*W%&9TYx z!guXCU#>ZL+IT8%jM5Y2H_>9^puc>;Xr)1+&yPV4>R{#Mp% z{KMwO+_n00o|{>#o6$|TqMLq7`uer0`uY*cTE6d}!&<9HCMSAr*?o4~f;W|=q}%Pc zUu5G>=e$Of*W0JJ7oIq;j^6&KwypS|JA6<990p0x?dp)&2(t4W3 zdfnu%r{}OXmibRzPlN7y8a&NiBFMWC-JG-;qQt*I-Z z#RbscLTE1n&HVs=cv_n4m=a$}9C4jlt9Q#t&TI}(jxTf5b&k>dmVGyVaYgWK=ruAW zEo4xbMi}{gIOLzkx;2+|@S8i9Vc)jbzvb8TuUq+neC|c{H-z!GFwL{yG^_BcGJ9m zIC5V>@&VE{?w#(OliY_-&GSL#-p|PEhtaX!-s{%mwd=^T1Ku3yPZlAC~K zo!(s;Np(p^syEC}zE_>L+yty62aN4Q*v1Orv!~;+9=)W_H}Tl4Q~EM8=}+m4P4D); zYh?0+pPbBNy}n5Hvtb6W2Y@#yZ!4*3w6JniW< zcSP6bWFLjOk(7P?Oz64}x{JE|`hdT{-q(+Zrj~18zuMW?FVw#Nf@a%qKr#mY1o@In z7Ex|D@7mXoYnWWMJY`?+V@#{veZ2*4e2n87=*>sje8$<&7^g#IUX(#jDk;z#DX!$Z^1JSc+S@ZKY#_I@jg67<9jHBk1~YVdd60Jm=Vx-@4j^VZ0Rdg%?DmwBJH=my|x!0?XFxa{@t{i&~2tBw0>}neO75* z7Qc0woK?!m**+$H5Wxt!2kF+0J=@PTs$ZeM0vHnY`HZe+KRo@SR;|*FAyy zaq;(&LA7`PF1BUGA2Icp#&xbVz?zc7?;!SBt=8y<#l&6P`N<(!l6isv;VIz*52Qjb6rL_v~WDnmdRPd8LK1gg|BD-ulpny4<&t!KSyzL zk3_O_7M(|WWKd4DTrtB<-VyG@+-@>*-VInezX`8LKMBbx(TL<6M{Y8rPb&xn_ zf29ub3dN%G>Xj~MkK3N;LTxEe>+LU6(w#Kou#vxubVp}2!d`2yz;8i#ehJ-S6YV`} z*Q3}I+9wpVPq;Kb|7}NK?ZuAsVl<`3XL@C7n0x2aeH*UrCk|6ur_&!5)v67xemv2_)EbLvd_$mh@E-E6$QPv5D1 z+9KWuH<_#EQ|@KvSa!qMs#?;r&c-i`v;gx@Yj#%rc6-g{-Y$C&w}!b{#(bN=yd&_5 zy=MOhYhHjcRa_p!pXb*ny`|=y{Q9ut;4kF(I$7qkp_+ne`{$!G!e?jR`p;K~{>0ea zHn%!7oO+tRTpfBGdR});bttVi7=Ijn)fkhQ`#8FuH~quQ9}lGGq%((><44gPW6qSA zr3PQ!b%TkGW-=P8@pW3as5*3eU3F-~SF7#0aoZApnF~$1;kNCX2Z79--RQpLtJ8E7 z<(5^4Zo8E`N!0Gm{6?~JVg+H&jb-KpX%C;0h9=G?$JSGBO?7D9x2tVAyy*^pfp5bI zY(6GE$1tx-4N=@Ue^!YNd>!+34SKZOnX8(k8_=gIcJ*z{)y>RP8>XS8sXg>;y5kmK zvz(s?hUe6vV~b%oD>cI#beBu)((o#LP#dawuEnRt2X2<%ddvPQ&i@A%FMp)e_>U#9 zQ|+| zh&`tLK5fVU)?elgo_(2u&vz^eZbsCyhE&3{CYmYMMZ`kK*4YP3us$u@hx>Ge*YR1-@X-`Vb_acYrAhR&)D1AgN|KKzhU0Db}2pl zL5%kR?^{yrdiB`#4C(Ept4v40V9#@&+j)+;&k3Hx?sI_OZRjNX>~8~TLjJW8^p@hg z3Cf+k&KD%V^dra4ru=?8TS4-3q`P)Dd#~v2u|7+>^xDMVmhUXI=1Xb~2(ljj3wfe5 z`SUrvzaUxb)}#7uSstFRyiW~G$KI&)O44O}6YbVe?=#rc&g4JaM~|)@b{}O$dz+y1 zf&Et9%pX@*TYya^zkD=p`LHJp?0b<5naDeXV}1RLXUh8 zvUOit$ECJkKq+|qIqCQ-{K4q&|B0Q^Jm(vGWk|l#d+?$4aSwG9?9QtEx@qMeOEiv%Adg!YT`ifzf-Xp)6EJg^MbTu>%a;jS|F^DH`%{Wn6L!H&s#XP)ruYQ5mwx5rv zvweHEWc1fL0lPw!ch&hcHU*11=TqNep2r%0&UmwN?mA;3M`Seo20xN8YwvFIBkXy{ zF^A_fS6<<{k>3ZU-$6dmcWd}Y^)yl5Uy!xRHzI3Q>bb0Re769G?5=$8>}}e<7Qmuv6=7sr;2w_e8dT z7B~cnl&`?d1B~sW@Q6wvV4Xj(7`dK zUo)+3KC)64W1HaYX(|5H(q|>|cwTw-vIx(+Ys^x3&b&X}%$ci9v($jk1Kd~lBsknX z#w@*oG6xiEkMvUR>S!nZKpt_c`JGSs-;z&XSsN6iFFh`OQ3=E<_Z6V?lT6=NS0K%cG5$*)Q#-Y9+Ag>FZqQ;@~%@lZzWqc+dzh${v7E$-E`HZ^;q>i z?bdfk>Ng1ojz`H;EH3pU&~sg-#-|e=E<283w(IF|>S=T9xiPh#7REwb z8GC@S1IpX=eo$JmJ*zlxJLh?cV-%liGLB_I5BTa2Zy6zdda-GfV(b+RUI$6rtJ#q}Pw-?Pi*-|N6{>^gqOdvLJX`8are zf`9bfbJLJ-9w$~!Hn1JJG7z5xT-M@)RW;yvJ~+Odv8V&b`^<=nsV41MJAB!YUkbkK zh~Xn2UEzE0%(|+D;Ct(aF)d;6y@tAP2j7bAw-9_2TQ8>ue9s5p8^Cwhfbwc%8~CmV z-}T_T8GN@w3tQMnk+-adJ7k3y3p@`3&#L!j-Uoqa&gaa{0?&%Qqvt{NMfr-oBY(p| z;92jQ)3-Bjf^7ri_9E|P;C&l-uQypXzU#qtC+YRzU1|EJ9=tnn<&@W(LFJ0=-w2+o z!E-%$|AYI!hnRu-<~e<1_rutADE6VV$8vB*9DwrwB(2&q*Xmq^CI79g>Qb%0oxc9{ zXE3n7Wtz;{#0PEo z3Tt4q$!K8hpB>xhn$p`$mz?|Iq1E}9PD$;70-O& zTC12q-W?3wQ`u(oGVuHk_l=|HY?IDz0XPsGb>MD`@y&ksws0GA((L0c;kG%z7DiXO zkZ};qQOc<70&rQ!_bRWl>^(M{cY7yumrC2`{Drd*Qb)&|zIc?n**leU7t8ERDAP_X zaiw)MhKXxq8fM|2y%3rZ9A~PV_>P+c?*Ie)dK(7XwPBzh4`#toM!AmT4h-Fg8ByMd{jm`?JGynwV_mSLQRm#cj}?^Y~A*7$eO z*;>$1)P{$Wj%=A<^}o?O+0LU+s;`6CS;~9=LtuNocd}?q--*UG7kuDP%v~LIY#U`yB)^G&Z}|qy2wlX!)=G}>~<*A*N*C$ z+uzO$ln?wJU9{j5J=Agc4mc|VhToAFe#OmW+&h-_=Mh(QbL5!Y4&SLAjfL7#U7FV& zYx>LolJXrd^-exS-;dMpE?~RQ6yghKO$xB59Ty}nH}h)mB>evQ9k}0UDo>eP#DA#f z-JV-KYj4oi!re#{sDm>DTPL2rj_8E`IyP{QJIK50n8dSqEO)!M9sYT^?cHC{*WKZ^ zy`~s_pqUgPe&`}%3GWenxwMGTmp9R>Pc|Okg$@i@v8~y@(yxZ{cY}e6h#5Z!b zuur|#_;W;`fqK!JtwUZ$-1+j0p@YPqxlh0!_fOt#ZzDh<5Y zX@PV*?E#(702lW8jE<3ZT9(r2zkNQVz1U9cJF}tl8G)g8n&gl$vg+sPYY=^E6EJ=T z9ZYcL$UG;l&`z64+9Bq6CbC=9WK{|u|IM?0)6oB~-$-0R*6JMOg654r=p?P-LDp<* zG-o`>lh5lU-fPHfG~E3M4%X1OTJm;7U$c2v-fr?j&+>a%cgpblF8tyx zevdG>2Z5{in4cr~Ew%MqC(Dbr+$uR1U8AjYboGrLo1Hx!`jyE+{w?tZWYsc$`*_0$ z(Anb-uecR2ED zUCB}8*dXw9NxmJi*j_vS@n`HK$o494(q@)=-&kg8Ne%U?F6VoC-to2Y>x;WL>^gDq z)7lf1(Z1KNiOmX?5+_N%6baYoI>1>n;+NU+e!O~BS0gY7sQYrp+E8X7tN~!$zZ^Q~DdEH{L|OH#>Jj{6p_I^M0%I{<7Y0<$cZnt=$*B zcKJTF-QTO;HPpNQ|5op#UcG#uTJNt^?|PpjTc@0d6>fXi_TRxIou2Ms(!S^)yR*1& z=;XNCt_`-_fcwO8&dqys*bI(;<_GAVmI*(^ho`**jLRN(Tz>D4OMxk{$E6_f`{Gu2 zTsAQ-`HagZdt8Z1uwBF^!@U_aVbiEQ}r?~d+c#3N^a0Ql$w0{BZ>wPls z7t;Ruw6AyK3??c}sOdb~=RH^wo13_p`r)5x0nR}1dx&)HztYHC|0!Rt8JsrfvT9%M zq#3^4M@{>u7Lm5i^0({`o2C2Q_a!kCzrNkX_qy+C&G*e&Y<%%O?z_Kv+njM<^yNP0 zzFW;(=lGhp%vnDnI&{&5=p5BEo_f=px6heI+E~(5R|aWMP6!U&Fd;ZcbsQv3bzVmL zVeIUx=LeL(j`H24XOgbARrg`{{mHbZOZDw^%8jF37wJ!2>dQSwy+5ShjOP3293t%p zq}@)L>nTJ0_D^+^b{lDGV+Q?K+j&7x~&hB^V|F%Y=!+p+{*W zNttrWs7}GMkTO4X>sI^Mg?;gvzSyUh#C&lN2GzZQa>p+5W(PMQhql)WBZw)(UJZ(gcs!zSn0D4&{G_dOkrt z9z5eo8wgJZX&yYv9|(`~1;-WCbuM)Yp2HzuZVvDqOM&Nc(mZ&SKM)?}3yvk!Q%*fL zen=BuHiCn%Q%cdyKji$5m|{;#u{N11`a; z`c;|b;r;#AfNi@PGWEg4&dy_7Vod@5@NezU{2k``kxW0zySu-G@MTnBp? zyBuqVe}q#mY^PBl>xM;)3zbW-hq24CcK8EMIb)|$j`hPD>y(SIpRvoahWIBq<=VlG z-7f2hb*>Aaod$fYCH@Os_>dXxa;zuTWEVbUc&!&xtFSv(sa#oAn6$*KK-C`Nuo~V=bD(dacYotQcF(+_Ki;|D-V3zfN<7ultjaxeuF!ohR~h8uQrc># z?xzCCP( zAXiL9uDIbSG6r(R56Anioq#-H__uWUG)hjkkQBv~SHBa|$eh-*A&U{Dzsx(;LudHGRrA zbXJ+~+R?1{9o+x)CVG@X>}}ox-mF0lCBw(=DQ@yx!@fV&TT++<`pm}xSsOCU;SW`HyrTJ1{OY{3*+mEehSS$B}3}U>Z*6{55@h=w3w@+!& zTcRgIUo2ZGx&GeFv|+9I%I?7i=bt~~>PGT!=NrK$n9{JD51+87I6@s!w+@|)iQE!7 zk@m%)UB|#NHm?&G4Sc>b%6F}eN8ldv9=f}c5qm%B*eY%)Ir~!e^z;sSCVVygIO_xQlVUH`83zwbqJf<$kq9`m!){GKPNZ9mZB; z@s6$EElU1t;E%;48Ivs9eT!Jn9bYm%?Z}mspKGYEV?VJnyyrg>|Hym(i)ouvqT0%*j3-|?kzPyWi#iKl)9t)OpYe4o!|TnB-N ziG#jc5-WSL7+1@jAY&?8GlL=}RT|R?v+aFiZQ`mSx@KLBor@NH^;XSn@Ma34u)N`G(PX^=I?my8-nO@EK0=h#zoMQHDgD?;tFt_V$q_XcBYic3wf!AA_|AiN+jfG2D~Z(0l= zfG^}-ZT$u6urp9lqN3UldzaGZVZaWZrUVg|wr)}-I z+SzBJcgPdZY<=6ml$x(*&pYh;r&u?LB_UqfXr;X#gh!piUpV(+^OqB*pTGR+RQ~d0 zBmCu$&OB(~Id$*%-T$AxcaM*L43)jmusmD3pL>rwP51M?PX9~3rTYc` zz}y92Y~3&Td%iEvmhKmRjql5|rTewM%J=0Nel5CRJ9rwDXG`}}Jcs4k()~R2bt}(b zrTabpdwgfn{chZ=l1txGhVHkBv{>Cwo?~@Cc^28u*8SvJy19ljpPPeurOEXXt(}k#-+4-%ZGTw(j=? zX;Rl2w7&~@@+@`iBrfIUJF&W-Nk}vhJ^-;moc+zaW%GN~>y?m-ZlHa>Nk}vg$ z)%|vnCS$yeKDdQG5Z&)_((L+3esA6HNnkG`{cO752k?{$x&M9L?;3DIbid0i-Osg~ zZ&0Th)alD~zws}rGjzYt}P`L>Lq=w>^2nsZIy z{BL!?gTS(Nzqnn>(EUpI|NnKr{~O)UmX|KQ``ogsYaaT^N|Q%FIrnrP{nYNW*k`e8 z3y*eD*0#?E8cy+O_p;M@v@dizj}9z7oks^BJe@~}e|kEPZhhc%9^Jm=bRMmER>D&) z`>ea^bRO-y|8yQ5K*kD4d5cE}7oX0f!}p%fqqi;kukq+bOHCeq^>USb@xPlqdIo8+ zJX)S(d9*ys9JG0~Jj=Yh@JW+L%d^Zop-(m~5ZX74^xix=p0u;^=&MOT8;?#PUA`@_ zg-6Tt*?9Cz51z@RpCIi%Xwyy5CYwj!OPbVm9PJk#EzdTOmh$qQSRO6;HjloTZ+{t& ze$s+{8jn7kefFnk^5|Ddn@C-AscY0eOPaLZ<`2Dj^u?>bnny2s;Osnl9O(kv;L)~y zmNem!Gx)c8qr5NuW!N8y_vVR`Z}XtXiBF&nBWQ!oqb1+whc=I%L0WGfJ&rV~kNthS z&2~K`{|x&qX}#+cPnunyVZ?jaNAjf}r`czhoXMkik!IKD5b@sik$mZwSRVa2X@Wne z*=I?!>m&KSd2|!?nL+y5c=W%_K70RvjYkis+!^*+(uD7oP)BL6VV}M4bRJzp8R@ID z@#wgwQ#^Y8;(r~F-U%$5M;|0EGQfq@>wn6l!`I^%-OE0UhwvHp*}xBaOuJ@`eYW-c zl6Ja%)@`I=PmQt92ES*Oi?PqPPqpC1*k^r48t`K5v*GKkaxwN>>r|r$x8CqW;Y#s-k16rPC9SwHXe< zX4uTxw{~5`-muE5Pb<2;ZEuLf_!etpX#EX$wa3^XhGTQU-yxTCt#Uu$&Q7s6%bgXx zKV_k`l|Bkw%)XfZ{(bEZ^{R5QMtp^;n5W~1g;6$`FFxkOF37_E?{R2JmGNp`Fi(8H zNdv!(v_v(pm2w?_!e148fsxjqG|F}Sl{E0nNJ}AYG->-u1DA}nf%plHB5fajbc_pU zvE&-*nQC4F{mfYkxrdc1jVG^*JFzx=hyAPQ?+yK(WtH(-ldR7u+9EV9=v3bkyHtFf z`i{b8T*7?I!l%mJ7%s~$USFmN9_VTza)Ba&`dGrlui43@5=FqvpAG244^b5&1 z^5`RtH4@1S|EO0UeZ@+&k=J^2uRQt;zdIwZy_P(w2XO0{mkoSVv362D(=%6*Cv_CN z>L}91wmRqg?zu;1^i+J?8sGM;)5o_x`_%ZhUPj-)&UnO(Z@Z*19v*fY;J#g+@l>Q6@EJ$Dyo{yq>a&mI@S>iI zJbN6uOEh+#wzB`-o~NxB(8s;Tv6XYSdXHl(XKnQ!$5!rF>phN&yIgyZqc)JVuNX&} zqcT@(M*jE4u^FG%|H?ca&OF_(5~A}|m7IMXeZ^-V#~}TAwsCANJo`8*(v9-H#?j|L z`#1)DXCKF!F+CN>;SU--!wnuez=`%kN0RInQLaB`2JZCC^%#4|oF8h?Y{`^1r-sL?NEBRhLv{&jX`_>M#zmq$8au34W!q~taR^CB)z+u*br3`ve zZUcP9eoyk`9eG#s6UmF^Wk+^cwsUmgbMZ2F`nh@8x41Xb=4FFfv*=;{;;*b*45RLU zV!bY#yD8G}?H+~CcIj2>`d8?SBJgr2yrP1-R9n2}8scqMd^&CGwBnV-?eae)ZkPW7 z@dm5RRN`x`_;-oRzKJ2T7ff;U&35YZ40W+#>?B{-R^D@5bb+j|Od-#P!#<8E9QJWU z>yt~o(}I5y@oFpnY)l=VA^zGM#lMraDtk@ro4~f;dxHG6)_d!Sw^?!4;s%{dj&aj> z=gPYRS|sg|{+4#!&bK;%De}-z@{qBn3_%|HzS2rZ)7J}FvwA-JFPU4iw`Xc~ckh#R zDe=>M&+oqA{a4lRWG(wUjEya$yu>}JGOo`8*N?B3*z_O#1b=Gc@{J|L>#g{G#8+GK zMZ~vR@dn}@#NE6bB(7QYyPLSjir-1xZ^iE*UTMYW5U;o5vx%>^;y)(7&5G9&@37)E z#Ql6r>iK)*wMwfFuMn@d;x7?jZN+yG-)6)setoa;vNhB^ThpDd<*eP zEB-9;dMo}6@zqxRDdO9#_(tL#R{U||e!eC3{0)6uX?^$C#Otm2X5y=@_%DfXv*N!X z-eJX`B(7O7HxTz&@%6<0R(uWdO5$P0znOTwmHsI4)mHr9iEp#w4-?Na{JqcaZ!JEo z8bK#G2u=cWuZkydJUSw)Qhf-C1PH3?OXx@FPdJZ|Oc+2&A*2%02x zn{W@Iju0f&6BZB}2#th=ghhmV35yB$5$-265ta}hApDf@AYmyXL|8_6h_IaSGs44! z6@*6!|4vv*SVef0@N>drgl0mRu$r)ju$Hinu%7TZ;R(V9!bU=b@Fd|W!qbFb5S}4y zBK(r@Ea5rAX2KT2uL!>;JWpsL{D$yb!V84o5nd#0CA1Q@5w;WB2s;Qn3A+d{5q1+^ zCcHv;mGBzj_k=$XUMK7!>?OQG*hhGi@JGU1gg+79Cj6Q37s6i&?-2fj@SlYJgbxTG z5D^34bFTCA>%YJK-OM_X)=c#|fVhP7qEKx(S~W zJ|lci_$T2DLJxtTvCr4u{~!snUqEPvgtOgIZ13$2)7{|CW{o?AzM%%DtWKMp7i4dc z@BEDX#)p00X5{%GdQ4Dr=ZO!Nq&1B5%?qeU@+7Yv8M>Z3V?}mZpgTeh1J!bQKR94` zelYop{J?p>{MLSx^TT~-CLH+R01sz! z-OAp>e(AuYEI!%BU0%V5(Yx^DdH|m|d2a#t)5*J2@h`|Hq(HvbIJpN1pS-ncCcJeS zzV7wh&l<{9%cZ(#)Q_O1b@*f`|f!5M0KJ+K9y+*4lwOo1gZpXB`@cf|$JPh$7>#@QKK%4`p1SmT%)c3F&u_8Z>g-46Q}Zlc+!7Yca;<5PN6W z6nS6#nmIO#d(dTXO8rO0UL&8o&lO8rJ zioMZBUFvi31GI3+{g3>-kICbVu;s0^FTlAUttrJVFsRY>>~k~f&i=24Wj?Rq<-(Od z@1na2{_4Jgyvnqx`SpcXUB>yk|1-sEMlz`)~_ZN3*%ly{gLRE$lfjPueE; zy3Ot4i~@9UH}gd74L<&>IQvf5m|w8T)=!HJI|T6x`k`C!OwM(vPV{x-hqSpW-fXA9 znoOVAWjZLse!AIl=qfktS(tgSgMGj!tze!WepQOCmp7coLO785UZgO^njLDNm-keha|Pq)Z|ExdZf@uO}heZ@K@?ev>h_ z`>lw5RI&Z0Tm2?wq~By5r9B?bt(i=F_N6#md)0Y==o)G6K_2I7bc<%9}&s$yN^H)P_#2@xji;k{=b{&I`UIz`$J1ZT{h}d*= z?D=ZBl=nj;$3hd^fg$j&g)WI-m(aXsU8|jV7CP#Ij+*o>!=Rr+-{hSup$7ufh9mC_ zoFwS&TKXMa9QP@Csoi+?d*1y6I2%^zH0Pegen;r^v(Od$8$$Et+!6Vg zZ@xiX0pEAxJNfdB)zH=L(63)vHs#ok-naFaa3T+UiXHq% zeN{yZ;}FOzY?1YVV{5gL_tw6l6{A1z@dB=cFFP3V0UT2xJS~r7%u?M>k+uVB$Xc+ z$^JFy^}C6jZL(~lclx4<-T*%BRaX_ZG|Z1194zDvZMl~b9e&|Nd5KU4Q zW8p6-iN^jeQezMn~lG+8dy92IA>}wk9+jY z+InbqEdE8$3v=Le4E?I4ZF26Shj!gAG6%doVD)o5XNwr)K>p4+wOsCdlD<_g&P2zC z9N;^W{}5xe-_CQAhdnyTcO_5clDA{>f?xEEHpYcAHSh{4(?A(H&&h@z_@`BdZ;b!Q zEORGicEywla`uPJEqTZNVM4yhYVGu8ky^W|`tzcF4@us`)b*1dXb8AO8(x0VJa-At58f{PnDaZh$7&b$ zcRktX-LK+moi3l(#T{1(Y0!(l+;QP?oH5IRJsMLL${K%%rLf(4nF5idmn%_qjSw!2Qn^P8YPKlFmL4ybA)T55?Yka>@ zIZFkO?2Tc4$BV_GN#tXJ_aorV;C(r3k9|aM{DFV?<{s%6k2^JV+p3-w(Pv*uXg1G6 zcZA-A!8gaG!WO-tu%!+k@CIa?Sh`^BeKz`?wMl5ehtR&dw{!zP?Q$o#a*la}xnKGV z?oGuYvN@GA()J+}9fN*IJ+6YT1!nqNnswD3cDV8@*CcQbc539>B(>bc(bUMMt?a`c z$$sR^1ZPttPw`xtXT~>5{7N(axRkq$a(bart}ajOuDep}4okYO8)|p8p^? zIL$Tq7UYf!Y4MQLr z=!opsZZrEu+U8l>H{>24D4;Kr-4^{dzQs3 z>4UAr6=zmR`~`_)gO_-V#IesxTzG$M-5gRk##QPjv_tArNdHM0k9%O~z#v7Q>i#qG zp7g1dd)6vvmKhZKHF-YpTZ1pkIERVr!c*aug_yu}c%h^tn;q@q9_VTOck<8KN4Yuh zECt{9fyeG}-;-|6uqaIS&BH1;GJBmi&+SsiyEfh*=T2$p40vP0Sj%~i7y5kj*0Voh z{TNlg^>gldWvq@n^oZD{<=$AC8P5$apLSsTu8vp8ACBDV%aj-TUVg*F%DayL zorFUT-2b;yd1pMPyoY!`%yZ2e^%1Hevt)B;-V*aK)ZtR;Z+KrVZ1|{ zo4g!CfbYmTe8^9zFyJEN-2slsSZBW}X0VKrId7|$p|c#`=y*GH#tl$i0E%GVjeII2%cf@heLVWILj)cg`B10zHtns}Ad=I*&vupVGu^!{* zERs|QG?6nE({ofvd@dZ&ujdx|PL`7#4Qh2ERVVZlcJW!&whMq#o%;J<^SO^!yImP&?{myOfdh zIsVzRMdpN2$M)eN>38XWxnsdTi@tZ?KlL#9#r$h$u6nRlbT9|8-j8f&zJ|c3C_Hsh zNY34iK8G&~$+?@+XW#IU;9vB){ld^~nBfD9E$urhf-pRIil zR2FyuKOB|Mc*&V_eJL;Y%rNlU?eg$2$&-75Q>A>Ifj6OfA343Y4z!m34y<9HAhhiO z^hf9zGHuAsc$sAeMpjCh$L0P7bPntS_WgH*C{sy42aJAB8HsJln46r2Y|=crSC(_( zyYDL6NS_#Uq7plsz+DB*Ieb^*(w_#+iz)93=Z54RFJo!;H#)B`H#9uj-#oXE2o1HK zJ;4zn5AoAzMY}ofIbG0-a4fCRPSdI6ZVB0=CF3J^t{j7YD*CYlKJ8iV^NLOofX0cf z=w1F}>niq3sh=lsiBaEv)VC5E>1JLi_QPe#xl4>g5obBdStlo(VsJS z;YFLXlB<`ajmjYJbN;{RIBQG2gk7@5ndgTW@m?@d9KC<4$R(-t;K* zTjYLoEYc&=-kp!wbAjj9OG4Xt{tBMm;@+fMgpR|rz37Z1v-jwyXn31u&~SU+#L{q~ z-9GeP51|g4{CD)+?a;?#j92z@UyIz4<9@`~(#_ZjeP<=Gv<|)RJ<1K8?Cbt5W3;>w z`K$W!PzG(6yL5sJrk!kMzOB@!J?~H8%reH=H9%Dq&i6f3-gW1`Tl?#;K7{>y^v=C2 zra3t4ntthrej4l#pBSJvUrzdGqy=brQ!f1;K*#mbo_gveG}A|a2e4aa)r>B{wjK&n$1K_{X-^~P zvO3um7>KL|O&9y?D9Tq3eYRacWCeO;i&z#w23|ezczW) z<(v;0obsbbIn$AUkr$-Bb+osRwixyOv}bcY{VezJ9EbKHZ*}jXob-JVT4waULyeNX z$e+<4J9e1#QTqQ*#-aBZyv&{DG6w2c&z4j5xWcGMsZ|e=oh47|=Hb7D^cP8!Z_wrx z`Hqb7C;TrW-Np^y`#oC(FYY95#~000JPtjntLK?p(BX2&;(PdQ^i6@=K_5C3f^Ynl zx(KcXPxNfI)4v0b9G}A3zRdqF@I(6Aqf$nGyb`&OInN&ZL2k}KNS*bylxkfs6~1=1 zx!3^B3D7?dY@|7k@%csQu+{LNYUH`POSpfTx)h;HN7LpqCnSyeT6aD9(7z(|?Yj3& z8&FXO@eerv8XPd@HF7yC<|DH!RJSdgF{VpB?%|1;jm%fOF2^8*5l!{1)F69`8$3n^&(CK0PqPJii8e;wJt>-s+K|rzx{}rRrXN zWqr%sff-F<;YS0tCegpb;NdXjzRGNDDcQ<d>u= zeBH<+o1r(|akQ(FGasc)A@-hbDFaOsKI9hNhP>qqRA|A1tmhfGZlTYGF1<-~txur2 zYvF}b|7w*waxJ{C5E`}SO07lKN9y#9qdsu9itpeX6sdwPR{`U|r##SAS%XGD+ z9(r5PIIp2iGQP&R<(?WhKlA3a{uLf_mz)D_j*Hae2ZAfWX=hyT0(K?*QF!7k@M0CP z-=*Kp`eqvUxxKxzXNAc4k|yms8+;G<`q<<6+DhhDn{)5qkSPqg1bc$?y_N(GWvma8 zF1CL0aqNTrWG6hor$C!6I`?{XyM>MFni}ZQdY-XehPKYpW>3K0*&NhoyZD#6Si`!` z1Z;@SK{fj@xLd6nGX)O)5fa!@c-Uv5v!l>UN6CAN?@|65%I&RA4q_)!UUaW1Pmtfr z`-;26K6WJJI-vRJk=PD=8;=`yB&Q*Z7gJuoC*N`L-d_4ezE_>xm}%K6!C!3D?N^2b z&b1H8*q;gKc$>%^iOg|mAn$i#0}4~NbCBR>dc;rK0>T#3))=(X)H4cw-wfqKE6)bg zPu-Bmk%iCvUXR0R$nT~d#5|wfhhE~i+0R+R;XLOCU-vrjLBGP^Eo}>8tFLB_pyBel z`3;u^^V@Qh^V>$a^Btayd`JA^{09AzeC#;+)vP&59~rg_huKH5cKX-2cURzaesOu8 zoo?GRJ$#3Hg$`_C4Ybhbt-`)2HtZnt%BaH+u_?R5mc!=-@y&7cgUBJ{z=I-e_9fWXi~A~XAN<*K@U<^N z9w|l+G0Gx?6b+$lGG(#zmvE0~G52_GM3&FN|Gvac*`Ze1;gr3EvTn)_rR;FZUZT7c zxOXN8pZt<5C_Bn3TR_<{l)ZwoqbOTI*)iPnitQ!`Km8IPWs9w{<0(6dvOdZdQ+7OM zCn@iJ=nFac?w3raY=u>JDrK*y>}1MTP~yPa4P|epY=E-U zDO*F?o0a!v)~Irj_ey3_c8*ncE@kIab{1vlPMh`u8ZW?@h|R%{%YVzwk7F zJ9%BeJwo~S_-`k#OL_fADEl6FG|SxD-<)?Ib1PWr^VTxA#4cJHr$XWXD2Gw&|R5b?l$%tDfn|% zE$7vGA!~ZVjN?OpmAhS;OG3<$j@T%-IRWMd19j#}s8Z_^%2lM1CW}EH_z1qlK zj7Hucv+}kGE#jPPr>dVKcWTJ`if2qlO4R~ce|6T@zuCijikcnAd&u7v(`Z}!c>Zax z`znRa+1FA(k$W!3$@-i&Sn9B#j5A2ZzC1>Ba!0wEzh;$uF9^TSdE=tI|KOXk^-1Hd zR>{xVJIKhZVqHu4mz2RY@`lv8kae12R=Kv<@6D67xyPM8?@an=qs!-A%zxFjleo_} zzI2J|Q+oI?XX&3%Ei$(69VJeGzWbSK5&h1lt-kLeD_wbR+PX2QD(){oY zmskreD%L^^8@13;Xl~;UE!3Cq`q`(pBu)*ukpDW>x3&v<`ZyuLa|&TE@udVuhF11O zMoO8Qs+B!EHKlBOMsnH0i~(hPrY4t#rVc2Zk&#gLT!voeq|A*|6UsEo-qb5qLJ&K*#ea%F1ShXrY6U31gQ;_gf>8&{x}B@{TyuDCL#?CW=?l=S>xQevRRz50gi^+3KGiX+>MFEcg;;G%O*a8csAeRZliCxhP6P0*WvOk^x4FsH^d2d_?pZe%duhxoh`6|~5yyyIQm z1>IMj!87`BM}fg#+|Y)hCheIx99WkC>k43v0#*UA#sJF=tf9af4y;Rnbp^C!6tt-T znllFa_#eO${^J8yu?1^9uqFX(GO#LuH5FLb1Iq`jVqlF2)+As}237^IrUL7F^8N}e z;ZFfzO}Ajx0PAL8%>vdOV9f>Ad|(AAKOI;#z`7Y&vw$@RSaX3jANtB21P1>K0;|!2 zwHR1SfVC7@%YpR>upR|g5Lk`CS`4fuz*-8d<-mFbSdT(~xsSl$Z((4qvtVri)>FXR z1gy=#dLCFW04ofvb->yHtfzpr30Rwf^*pd%fIdSb4F1;&tQ{7t-N1ScSbKo=Ca~TH z);qvz1=bE=?FQCsz}f?>H-Yswu-<_`au0#QAKQV|Wx+ZEtoMNR0kDn%>m;x~2Ua_< zx`1^ASnmPr17IBk)=6M}4*z@|Si(P*ANj;@$Q%=0e(=i=e)+*KKltSbzx?2r27YPa zmj-@m;FpF>q9K!L$RwJ#4|lQ~{M8Mtp%$#+z`6ujR{(1iunK@R23T%j4F%S4U|j;N zD}Xf$SOvfuqj@*J0xaRbK42AFu*L&x60jx%s{&Y4fptBwe84IO)_7n|0@h?;RRC)$ zu&yU>H?V|12Y@x*f>i^on}Ib8SaX0i7g+Ow6`=fdVATNYW?;<%)*N8X1=f7c`|eI) z3I7fPtI>kB7+6bywG>#(f%OQm9tBnqSdGA146G%jaioJAMN&o&v@uzqe$w-|K(g@AbU^>@YCa0b>L2Kc#v7n>4R)GjN^<<_ns4#5V3c zeuwg{l;1)5-N1PbID3HeCUt$Av{qp30LE@$yvDnGc=t_Uy$!5)G($c($^Gy)?RT>W z(*0PB4BrA8b4@<4YUPgT_t4pWW5(|jUh5vJ3P!+t#%f8m*`jBlrwA|A;rRmZbLuMpvcF1f zB^_e(bgo$?>$ig`Q%^fOCa6*H*lW5RaS@M8g&cAYD)wcK_Z--Tnia18$iw%h`3i=y zmfu6&wk6kR)*%B_&(~7>qT8%S?vVH79od84d8|3V=%IwX$JlRH{cv-B=dy&nRm4k| zo$4p)7wM}k{QT{{iL?6Vh$D`^an(M6oXEObv~OM-+8Wb0ais^4gUr5h)yf^*(l^pC z(kF&2M8B-I`s8<3Uv!HMK)XGKX1hDBcE?k9Y4;BP6KMD2v3=zLn&S zCr|XYNmkx?@+Q%~e;~&>p16Qz97`Rhp;|}G|Wq()-zXAsZ zf5zFk1HRbyhZ1n8$ikOC4^kF95}X-l;|n-q+aF56n<5KGHa8Q* z0auDFyqK_rvdDLW8{=%e02gfgLkaj%WZ}ZQ_fr@WKa?=`MU1mye^^9W@U)n*9>-W4 z^KC9==kv_CmoV-{b16F?{9H&`@U}QeUZYiZF=dzV9HeX`WfxO+3HZ}US@5`cDS6AS zvX4;qQJ$Alb~$Aqq3omJ?*ht#*TrG-)>&mYQ1&UF!<1b|*$tF^iuqGdS@67g6M37h zvd>fY1)euib~9z4r|b*hcO7NH`{Gvec35S1Q}#8UTPeGPvb!n!8uRNOQ$8u$RDABy*2S9p^-@HXY&VSeAuyg7pXp`Ef_%#Zi@Zzr#daz{?tAKKZ68~nk!=gNrl zV&+N=4K?P9O+y{*Au?#EH7|-BAvM+gVrWXVMTGA(x4sJ!$Cjp=H zgNiCh2alrZ6~M0`{d&^DnP~d;z?bytq=O&P^y$DaC;euVCJGK1{dP0(r$7(q_^<zpm(&*)q}(OcO%w28Imi1;e+&{T3z`TkkR z8d`uYlwI5vA9xsld2BO_u`kI!07RCN0rqzpe#Bz81^#`L%dYO1n3)*6etY6BeWUm? z3G7ke%n5867bx$>nSBag{G7elKxZ^Q8W7#M6#Nq#x{5-mb&S+j&%Zk9^F!#R+@_KU3c0 z?d>13y@Ps@$3^n*T-4zJGNdS;6&Gx?kbG>Jk_%w!=tVWbw7x2 z7~>@V+O{93hjnW4H~GWZpEGILvHa8Ruw^TE%4Js z@4^B22&5FZxUpdhKD4Vq{(k(fkqIk;bHA1{h`tnj0e?7SIyhz6KsCAt8Qz6${xCB0 zjGs>Q-oSq&;f4i?-s$%wdfVnZ2H$u~qW6v|$=+(x>k0>W=Zw@_>ag$KmZ!H=-=FB6 zkYeurXt;;H1ld}*;6vvs&AS#n?)-`7&EZbw&RaFFga1#ewNU3Bnzw<_#_6Yt7ULT|m zUDTnII(+mT^Z3q*UbpP&VXuwYtkDrG0@z>0NB3RkTRT1~;?wPxahCZl>w)5PC%B5- zB=bCg%$_xd^1Lf}D|PS$uL?~BhXNL^bg=diuyAE3ceF-v&8LSBv&Mgj{Ym1#(1~9i za?Ogvto0wt@fm&#o%qY$1YI+}L%m*R4I%oS@Yv85G2ih}XP@<*AMj4}I{}B`XCd&v z4*ZKKBR&xV8$HC>kJ6x<`%!+(vjTszjyT^w9&hwe{R?ih$q0gTv>!XorjB^;> zR!c6%A4sLF*0o&d$*8TmbM|iL=KZpouNZbJuBiM?q(fW*Hz9?2Wh9_fy2ZD z*44@14-; z2GXu(-pPEt*TDTj;C@=96Z*ZDIq@@m7Y{+-4?^F&pzoc~^Q*w;)r;?EPNhZa`$TT3 zXHNZkpUf53jxDt5@gIIP5uXdSYp1+>+88iTm-LDpG370ng6N zK-~SM*oRUIp*7X+*37VG?$w$WCr5xJbI%Z=6@Lbv!>vu3)s%H(uj%rr8ik;%~X@Q-90tU-(<*>xC^vNhhroU9totWKppnqntdxd6uKaoIk*a$UzsChy zOWiB{uhd!=;m?YHKmHNtNAP!Hoo`@nmt#oou5iClLVw2VH^!cU++ZU7fclBAZD6L> z68HrFPjIa2BY#Uhc&4yZR^CE7aI1iOJ@q+W=X>@h_8?xw96sEpdGBS89ezpkUL^mo z^2~hx1b%V&b@(s!xHm_3-3neyW3S>$ULuRFSo|sB8T^B$WH?!3C#aPe}$+1 z3I4htzSRl8J*;`ZcfZa521Z^aUI|_Xsb7$~fs?iEW047{Klgi{(Z`PC3HieFvap{X zWc=4dcLNu&*PA<9DzSwIvI|@4h-(rbR@fqYG*?3_1G$AQ&7}J!ewn1l)pjsOc0Y6X zW{dQz^mQG5QvZV4m+nu@eVOav(UotBoR%7Ce4uBAym!#JZ~gp8;&1n^ILJNfzRS#h zmvQ4dniPR4{cpouN?p%yj|+WDKi)wZU#be7xU242@nde*2OaHT3>ud;e_!GYmesGE z&il(bA3^G+Ihr%Wj4%Fuxm7FuEz=j!KSsW@DVy^(Dxo_v&bKkfLl|FAd~$we;Wb|T z*+*A1=MOOFYnb!c`i_ogT|SHZd0qThG3To;P@`qNdgk!NRnrFeJ{*soQgfs4U{4e~ z^)~u4yYG;cX|3Aq8sZ*od)eT%*bNG?IZyLv9~JpC4Lp)FSh*wksOt*KAs@1?TP}7& z?x>og5A}IFIS0_`X1&)nIK_i~yKuf5kmG90oL)1yT<*E|5M&RhHdJ{(<1Y7hbO*-s z=x)xQG-N|?(U1wjF_8m1!L1zrZGFP#IX6PHWvpaBOeZ)f{OBNf-33l}f{Vw&<2Ap8 z_kwp)PUeNkaD(6IS)t*VD``UGvw61lh#x>($3*prAueESmx@c1!aH<%?`QTrnx?tpO;9wOza5O z?FLr@;0k*ZMo+hJNKskhWE zD)ZZT3!WU`giOvj3XM|E3q~5e0Xz{}c^C9W&SLBU?`$6KhPGII+~DDVjp5-JSUh~S z7FP+_O)ssY|HXGjcz2CaD8x5!56=;F__ z_7RoGTjN3l@9QyW`~AFg1bQ^u?OLUX&q7AJ3>tU~GEzVK`+edW_c+RL=Kn)S|J*_J z?P$`E5#TeWPWpEQeR`04+ZM$AwDd` zw&!Z+Gv~4mr5XI<;9B&VC(vh}RNh3vE#@jG2b#7u+s_nzMf7f|^MsPJVyU-n>l69E z<3ZEjC;ON?8^kA8MGoAnyd6!f&*49Bx2Y}e%r+fwkbOhypGTkRS>f4Ww##$mDTB97 z@71nao`q%!pEB(evL7=w@(%Bsv?|?bQ|14#{jUJW&@&DHW3$a!vR=zkjW_zg?U#1T z{wu?#W%yWYxzbkITV&utdweKwF@Ep#!E;u-tKp|-Yq!+bZu?Vw*MG$1>;9R)Fxq}$ zueM*pv!Axhd%~lUXTXc}$j@WiE@|2S!?rh_rR}s^yLHOdg*|O4d&Qo2{(f4F;y7WcWta=HGJ0woXl~C+{ioAp?}Ai zTj>tfotB`wkr`UDYCHw&lGW(_DZbfv^e=3=J+ZLmwv@t_y9O4v%+D-r5gq3Vbev(( zy!+5`cDY~59P1wz)o~6(%XTCG9Y8(FGZPd{qP^XW%LmTz44=*s1~^HtVgIL~0% z1wFdDcn9+IQ1*ha`@CmMCEt@V^6<^Lrar#GU#^F20M6~$1*Hz`{U{Y#!ohe~DwWiJN7hKu!Nez6=Ag(Go?wDO zkEL!U=xaAHZ$v&ih&&R9Tzwq5>L4-;df}!L^uoo+yZ0jRE<(;7(Jwe9RyRCo=!WT$ zIOy`bB4;7L9}yi9IqOg-vhZQeyLZtk`jdC>S@gqn_E1nSIWx@E@zQHGc#r6KqWi5r zK^z^=(D#VjIA-d2nNc0j)nejM0DGpi?P6py;VHX-E6;+1!$^~FrKPDYB2RC_-mQT* zBKy9~*+B{Pq3CmtR9{OmZ8G^wra?!iLsvQ#=Y^bi%3dZi9d-h54*fEnejMje-frec z@gUY16O^}jFl&RU$}2WCMDf<+q z`~mdFn|MF=`5%-`r><$tkK54&GRjpb4qU&My%cX}tI!;9@GafP{<-wp<;#ASd4j#k zqp&TS{gEN_F;W4{*yle3a|`DZbo{fY;=9-$Y+h;9nLe;>*`kX{UzE^h>4#$4EA^ND z7z@lVF7|cXd;NRw^A}q+bkpRU<($Q5>89GTo(fyv*udFAw!Y!8bW>a3c$hIY?gvqh zqvM%#z4Z<4I#b_pmY=C_6rpd3tZVBV>N@HTyr^t~oVWy>%^^+ZzRax=#BF&8-N%r3 z4qNZo^35gDXIJPa$e9MuQ?Ag>R$The<4z3K@GN-gw#pmnt$jjO_B-va&@|#=ODsmd ziM1ihK6loLA}1TP(4XjQ54zd`Xk=Qf9~pEfw>4Rf za--KraoC$W%UPF^`Co)ybsh5`+tGMy4(w*!g`bKY zsPhM={(ZQJIexX~eF$0eU@5xqG|jv1Y1)0i$SK?-4X@q?eqRYb8GE%X-OA6i;CCx9 zzhUTAvKLKoF*Wi_-j}lWa~@?M0*_68F6UefjBJRONsUPQrBa4{V?p{r;ZqlgH_uaS z!|pLk=)Ufo*GWAEM?0x=bv)0~W_hOG)BF48RVVu9by0uO<-2H~^oy)5~N<$?2mEa-^3l%M|JE~LHN4ZyJT-%fVzcs zK0ue;4BB@ECJ*Qky%Zgmwk|lq3y_Kv1=8ww^w8qJ;{|Pa)=MVziQ4+awEIc z!BaX}KWJrLVW?A{owe0G7xO#}d8SUq*LLCyxvP&F)%B9{E`$%ax6vN{553BHag5t- zgae7mdG2JNH|SEMDuFG$DhFQG;Q$96ak(D$j30+ryH!?!*y#;CWo@De{5jTXu1$zd zKxnnhBcai@9YEG5#7@-Hsl1;cqsy8^&tbw*y zGNtJKvUca>8>9`Ip|j69cI|aN@0w$Q?T5VF*s*x#T)Lg92gT}k4*@5t+d%&;ea>Aye#*CH zPBhzk4YIvGFN6+ zY8-m3;A$7+c$_f_(igL-N98LPUfyrw<=c&)3r|-d$LyJn_ExtBhQGwZRnke=9t9V5TuUwSoEhKdXL4u z^r@7wX~a)?jvb5b)>!mBd1@>q?dQxx0~erSx8t|dApBP7nDAThqLVe&Ht3j*A0}?3 z8|$mpl<9(I8T1SKAvEkT@O#%SVAai@GdJ>V%aL<9^UB5rslVWZ;DF$b;Dg|S;KSY2 zQ}P8bH(fDJAgiCN*OjG6)*o{4-md#+XIB&a8^r& z?sDb9Gv?(mmf4J=oUZ4%z$rB%>R`z8}y1eIcpBLIf-fzhhIij6<+2hH%CTH06V#hQ0 zEcIU7tKN}b_0G2HJvgS`lD35JgQr?m>D9%8uhzdV|FJTV_{WKlhWKj;J>zUC&U?{o zF9wf`=4O?P+#z`2gqGWLNbo@XCgRZv#n(;duSsJDMGi6NMJ^e}To>7deTm*E?L|KM zFaplbG<_yKeV#UaCT1FKJmoVnn`fEV`#BRu{3d>cOo_il)NkT;{3fc0`R2-)+5Qm1 zgA94MO?ltu8+N*s`8VK+pG4*V&`)9q@WlVfrs+1nFmYi($jf-2Ex)HhH_li)3BNVY z?}E3AolNu@p&3Fimc4JBlaZ_Xs!_Lbo<>-2m9wVMU(+M4&+awO)Djy9)1VaF$`+S$j@Eh zK#u+<|6|$9B;(V+$&gi6FE;tJZj4WAWSb?c^s&ZAw>N9IO!zP6`?UO@hgJ_l1m&-2{lNZnh<`Q%?^_mnY|F%4g$DjeTb zqdC_y)HxQPGVGUw8C$Vkc8>LRhrQ4?>>TLv19CX8KYf_^ccw?KW{hR-ove0-#HJZ* z&lFo`Grk#O#}s?!|07%G(yy{*>eRV|b_Kq~mbm~N5?khiiO>9>*)kVXkN*o>=KC8= zTW0HsueN0>WIx-MxtaR3{tIlGBP@Bcw=FXTyc~aCaLN&f?p+LRJ(8e%UCiYpNjx*R z!Nbsz^K`LmE*+0u^IquoB4nP0(Cfk&f0rYvx>s<|1+6$dSoaE44mIy$xP z{dxT<9;h!s4g)V^{asYHY0vzg@IS+6CB3#oY?zikvp&Y2>G=|S=9|x1HgU_Ic>=m3 zcB7rZHRtfa+>eBIW6zwEW!f`6ti9XzOgW3fuxHY4+nyvuOhNyNeNSwAV(*jh7GcvA`Bm(hhOKksDVkUhK8sEBcQ2cLWZN`%@NCPX zy=|JKct6&r*+SX>txYovm}VcDHqLdxv~8L{OFw1P6#J!=v)eDSo%DgUbpf>1ZoBkJ zA~1y>+vmof?MyuAq9Lyx1Aq3(8flDeQ_e!SZJXo2#I`BtuiLgw7yCs1x3@C?zZx~#;<2nj7(DjyCiBcao5!+NadbF#pnaTcXY$yA zNk^dRv3$0VcH?6PpFPiE@YxR5i3H!|`-TmDki#pyR&eVCd7QiCJ(S?^9!zq0yHXwA z&cXa=IlRAs&h+NB7cq{;xLUmSGM;U`I>vca(7P?e;3MMqFY>ySwRIiAF?*cb*n_cC znKIE1C%PAVFqZMX#q`U^ADFyV&U+Nzx|=lPn-(u!Ou5+Se$+wEKL76LvAlI)*J<=iTqMEx5)P1yC`3d(z>qY5}jY=GRGIkwha;A5;Vg+GS54`v)V$Q%gCnrDFY zcGCQ$4I%AH&g_(RvTs>pEdVI(|nQXI5fYEIpAE z7ixBBN9$$H2Orx{IFn?HJ|w9pMb4bvl(J=6FtZX`!MT;d8F;jFH2Yo1yOlHBw&(+s zPPXYG@nN%l)ns3S;JE`@A#&GR;L84lIOwPJg%cW@4!!vdoRak-*60j6>#*po!=kGW z=<54VoWlM3TyveMX19rVnzc^!6P|6{|7O%b$?zqO?B{*?rksr@er?k!E9=7UK5C2j zyj4m+k}v0szDe2G=kHNANZs3A_^4sq8`bxe{OUL-z05G^rLjZW;gaG|f9*9~q69@sb$<{VDSydk*2n#KnzP!LMA@FGB- zq>Uk8(&en~D@lvRiBG^4!Hd68?)%jRA;Ay1uS(;cbjDnKuKZTtWb^+3ZHRqNp>H-( z<~aRgueqI=a%#=(PuNX+ueo)fw&pg-m`8U+$H#pB{H0U;Y0EJ~kB-jycaSm6v6S`m zv`9_#UGw?xy!!}s68YGP%()+#xEh(b3YmBg>-*COvc_+%?=P}^nBTH|nD-Z+>BD@? z5udwXPdMenY_0G6Sl^#}mi7G^tSfhb)3R1CXCEJAZQu4`9{Y?X3-|J2mNTuZS-Y2Y zeUXK07^?-~xr23m_6c*IyOt~K`k%3$e=MFg6!D$5{0VR#Op~>B2kYwMYb)#f)#SaU zYsOlBJvbzF@u=p^m-v3C$l_7|TGcdzHN9%?oM_eu9}OD*xr2|2Uv@h_1HolM*7Vh@ zyEvzBzn*?E>ypN~t_uJAK(96ZOCRSv?o`gH1y8bMO`q@=#zFj-#g1?LFHa+W%6~cS zl>aj6e#?JZ*15%h+3sI+Z95~nwtdYnEm_d=U!DUm5k4SzQ2~C)dtKKlo{@LT*|+l@ z)%~`#{X3kcSkAtk>!?3%7GI5X`7{5Nx(|mg9ci=V=a($``BhVXJ_fxz^1AM=X1u>t ze%>eYbDAkX{}uW9Psq>vk)Jz}pAYNa-``{7b6R9%9qs5PKfBT4MW!vIKCBm|?9$^) zMgG{vo&fP}I0OwIOW(b0@tIgXK<>aW=ZYg&`XHBnlKeF2p7aGe>+IF&4;|o?toh#u zjCSVo7F{JRfv2`lIkgt;$G63n*N$KtIoDeB2Yl0(*EXDGExO}cb1k}S%2%&Nw_mHg z;ujL-pU7+P(qA%uGLF)Q2gx^Zn7(Nt-dl!{^X_A1h&y88sr1lp?e7VHWMr>e~PuC_7ce8Axe#i*iLof&$kQSLQ`~&$+^yGQO zk7Lt_T?-O_FR^(GuN3>UtcA#!g<1djI&-S>52k;_wj(Cri|jJ-#kOnzlIK|4WVQh( zEt1W<=GYS_?Fq`+He0dHNuDkLos#pdwV=*Z>vGA!iP~LcUmf--YdxsXPsWYAwWrNt ztOtpl^xjzYPm!T)nMi!Tq|fYqKC&j?1pn%0Epr0@Cmjiqnf&jDZoP-^$$Q1z zf9sKR$aBM~YLtSW+{M}4b1r7x?H7AjjOE;NPu<-Q4RHon%KGq7 z=-yW9RzE_Yk84KgtlG}Yei|isk03y588$4ImQwK*j$@?+SqbV!$n~dK< zc%7d(ww2HU;@vmu-a^J&U`xG@R_osi^S=Eoc^C4&$UH))C0%5m6_km69zq%EOXk@Mi=*((=YG5^eLI%Eo&=pRzda~YPPsO85Ya_CFBh6P zFp7WMY&|nax7O=T+d}8Xx_1`uolS0vm6_ffEBgXC1Az4e=^Gg{>7Sp+^v_DGf9(25 z-&_XlcWwIM8yMOdv}u8yaXcurjc2jT+V)pDZ&`3#?!S<;pSzj=;@fzFJ>voJOV0il zUjA>yH-lTt6IDoXo_h~JJiwk&m(W^ZwBM_R*3d`Y4VqVcSLVT+@N*EF5m64+B>K@D z()Puy8CMHV-in_FcyhcNe}Fs8y&<|W-%a0E*#|5**i(&-w(it^-eW(}ycf_`6A#e= ztu_7?J5Q%2kMV5F(AXKHYhk#yN;cwd6zTq4`gXxxks%N`pli1A@&-0yAs$Zoy2~HRN6mC^Bx#{ zI_;Kq{9{qtZTekH-Gk8X?bN&SGSfD$^)YSZ-?aMMUT-V3`djF;xsGp+<8#qAryI1p zfO20=yU+BgSPdMbf5k_+=oH; z4Xp31QeMTHgsgLk?|M`ueN=>?=$=F=nfMX?Ed?RXTev4Z$d*3 zK(D0#t9jSNA!rh5M<^HVzh}e%}dm zCVaa@&O@;2g>hHcQud(X%c9TM2Tx-k!2|S_k2UW(?5$AjJFxFjt7OlGe53NQL}UH5 zYGtDLowYqHZeu@SRbF9BCFR$qsFZ2QB7u=w_igHDnaJ7Ru{^i3{`p7t3*W|G_^thi z+!8>J3ve$R>6^DE4!#9{UFeRvKR+9o0q(R5$lf>$E_cC_!7wTttcYmw_O zq2AToz7@KOc=on2q4+BbTWW~kNVuWq=7Khv8~pdH|5m74#U=eieM|0rE_IG7Yo zn+pnEJ2Tt(Ur0H9jNY} zlyCG0{@;N;nQsZK1Hi0iPtqTZf4%f6{@1JiNmZ^roQK=DRKB&=^@r#;iu&`7ey6@6 zXV(3zzmdaT+WrBjzR}K_@W1*S_-u~$r=R*pD`zeItH067+4cVOPkked4kO>FWjsb$ zmM@ z3*&h1Vn1XD`nonJk!6A48x6$eY?aGC=oz$)xZ@Ikx8xP!zan!}18)Vt1#cx?aCba1 zmy~m`CaOVu^hU}+d&YuWm%r;CN8F`d3@`iA} zFy*9-oV6!BcN%xp8ax*{D7vqMJ0JQo7IBk&UU)EToGK!F-h8BO<$OLLHpi{ZRUh_) zO6HEx1CQ@pq37_e`z^G?%iZL6W^sm!etzxC%srvECmrYKdVJ@H@X?Osk+0SLc9qCh z8IFNT_1wRH0NYg$=kA=)Gn;(SyWz-O+>KGYoA$2(F1Ehh^<_Tqc3n@}O516}HRVbx ztxS9?b2axu$laRj4cfJS)oN^=v2utZTgKeWz&))k0qR{yy%qJ=YN`svPh|viwb9@W zT5cnCJwja*=*OLehbiNNcW}3SQi7(uVgosh-ork&kmSG2Sj5jS+}Fi9N{!B}@&z+z z6ci8Nk;xvplt%Z?%)`o=%N{XYb_XW0AMP4?e=%*_${0&~1*WvqZlknM+8NtMm(WJ= z$fMS;lJS;y%G&t3+Ov^4d$#r*{EGHSzS*84vpwwJi?)ZofoHUbx<=bWomW#&x%1^* z^?DcI<+Ii6UHbFO`gtMsde`V@|3001Ov4v%sMeerts8#!cHQFazUEv>sauWoHMqMC zANtt&^8j05+Qmik?-2A+i}BQinkeH$XH zj&S1h&V1?EU-#@-O*=XrKF=ML11dS&J88Zn^^hYecfv*3V;s&>mpizuQK`gcAN*m2 zs&LMA=gZw1!8&BL*~9ajl{VYAPF3uvxq`SpyZu%AE2$t)WPk&$63M}#&Jp8Sk+F?beRGWh#Ok~=tM-A#dl?X*$O*bFnE7lq(sc zQYCFG{n^NzC=55Q%u@Z2a>jL&pMJZA?|fZ%G|k~V?`w{xWa3jq-xj@){qrv)kEHXB zLk`EQV!xDg$6jNMx8GFF_mYh7t+^?uVA|&zXTj*k^8|2S=UeiPYU&{8O7LGH@FqZ` z8}<06LV_avLyK>^l>a3))di&loiJVNTk3;1#wll#)L9W8`@Hd$_5APXX?*p9&x5bD z_5@#j@$-eR?Ce?is+^(lZG6(3`7hnGBvaO^z~<4pUb zgZ>5wLfif!au#>vQbxwKQe-aVHo0fI@=9bs=ysq?=d1>;)`46i@|7F8MC7YF(tR^r z`8VB88gdDEQJxhemuS>kJY$XFtii0yf1O=ZDa!9o7t3yNHlnDl#imB=O2 zk@uF|REb>jO6FSr@26Z9GT%h4Z&DHam#bZ`WmY2x7Q%~)y3}aaN6c?CM@244F0X-}QPX^(YnjvI^Pf|6}gm zl}KWp!2 z-JkWW=e90ebj4EY$Zw+#^b*}a>JYu;-(83MFVulvV%H&h$-ldf_Wz;|^b)%c(M$f_ zb?o{*b)c8nb%O*9ogQJ6(!i!WndHJbslN zk4?W-lcDdzAbQCn#wx%#&Ez|JKut!D%nRIY>LsFYi(b+Itf$cVL1=ovMbigOnm)`t zX(g|uP43^srZ^L`{!8VsF}7SkY|2LVEc^BdE=>I+cWMXdSOMBsa`LeFf{96R9g0i98P{)6( z!Y5~_(5*Zrsz=9rMedB5HKrc&suNGKR(?D8LO;b5cw3d-N0fDZ%C6aFvY*xQGO0Urh&-Rvoz@SDK7m-5g^ z;M_-fJL^DC@xodz$XBo0DJ=QNx*r+zXCo9 z_$1(yfL{WfC-yq9%T16~Y#8gQOwaC|HG zUfyo#@2MYndPJV$y}#}M^(SZ4+!CD|P^HvTA_BmjTpTOQgey#i*Fh4NHPGA!S<_9(w7~>|eHO%#uV}VTs#+V80 zIDXlc6MB(Porn+$9!Fvdt=OPH?>Q-Luy zGGF{kH6jPJtSxb=jx}Rd`Ao(|#!2Sfc*6Jfyvfq@rUaNhkKO_PB=cycE2H2dm)dhk zW!&cbg(^REojP&6Mecfa?RkPZb;y;`@mgr*hOs|a+uw(uyoVif6#po;!ioNj?URFz z;_vgkuCnL6%bnwD7qr6M!?rjvjxd{fcOj3=!Pl{~u43$F@g9Aibj-z_%sDxKmCZc7 zkVodEPRDr8;yw5r>6n}7c_+pZW-~7@ zI>vn#?`j+An7iocC&m$GGjA{CkvXi>K?}2ZkN$*o;yYu`jw8%w9$&~Kb6Tf^K4$SA ze3o>~?VZfwafI1E((%X~*Xf{{S-cxRCLMEqCv$onVK(#pLLQm(IvsR0i+9C8v1IP= zWR8y`%$`6x9^nBx9kexz_vlvA!3%aW=f@FdPa++U@C2O>dYi?2@M+S)8+O72#t~*; zLOLGd5jq_-IE#1VDbm3!cES_J5oQ;Xjz@TgP6u7i;$1ySI(WxUc*Hou>|)aK2oKTe zpw(Htw{F4T2rp67ROk-E3kijv%;FJRxe6NojVogh_l3YeGWNV%YVwcQ&&)U=Jmc;6 z?mr-N#gA;kZv&lYG-kj@D&QYa5bq=03BOk>{NFO*Bh%p{30J?4XW<_1HYJ;!zk~nyZJCiuVWE?a)k+ap!@D_I#afHb@=<;gTdz;}g?*7CP zCgY$*`R`RTyv994w~Bv-)e^UxJMF4n2dwY-hfv%!-L$= zQ3GKz4%#{n&uWGjxuKl~!ekuu)Jx*vNp9$+fiM{d4G9lxhBvvPkp{wK9CRbPdNVxA z4P7)4CgY%$C5%ZkyvhwNG!Q1^ppP~1tY&x?Tp+ZZPo-TyD?Ef^^OV7Fj`Fm7%d|aG$v95OHesG>TPT4oRE2(A7H-&3=aTX zHBzUP(T+{`EM-2#^ES^1)GvLUxQ2Zd)ZL%DJ=jBX&%~P5s{F9nU_7gM%CIf%x;J5q ziEZR@*hZDqEpzn?pqrT=AC|8J!&whj2kgZ%TEHu$L9!_&{IKTl|pw#;scA(gQSA+LWVvA6()R*V-bmU|IeT_QBW-XVxv0;eQdaLM< zV#geNR_-t;jT=8n@Q+*k(D=t~A64I#rjM!;o5ty*693emr}nL1WR2%&zAMr1z}M8< z>C+wb@jvLx-+1~os=^y-&seKpg4f`ZMa8itV~b^e_jGsakw@X zF@@e}Ol%)LgYz~#QtnJbk;@7A*%2LPbclSeBknNa3hqb3C(V6Fp4(#h6H1WLTL}+) zGWS#=qxpwgN7dRj8xG&CwtJ!fI%M-qLe?@vb9lz{tWX(q#xNhE-@!M5ysbk%&m_!* zzs=zp&!f}8-@&v+i42L9)}lQhWII%M%o z!c6$!9G>w!It_eK-9Z}UY8`TTCSm3n((sJu(P`j^v2T)Q3~7+TGYK={i*tC!^XN42 z#pvy%L7vtje`gYA!XM}GjOWp5;E&;I(jZIucl8PR*9LbDhUV~$=h124lfm0agB-0x z?#?94gkR3#8PB8Bz%K(!NP`TmL*~vT%!F^w;Tg}P)4(^4#iT)g)*)|a5@t>#4bONU zod!PICSy8{I0L^A;T%HI{qWsHbed^u>LizE5BA!=CzNN;3S{lhVs&B#vUY`6g;pYK zg|AofE_aD3EXfytU#idFw*XMxmF=ZsaZ0Gqoa3-j;CRzsQ;ji$}>nWA!&Y>RQH3_|!!_ z)fL>6FoXXo@#Hb?!lT5NI0R1;9<`D1D51zP;Za-QQJl@tJj(YK_QPGxecm?-kII5a zse$ma>Z(w~hK708{R^x$%!Nl~Knr3Ih>dV0W5yh>@TeQ{nVLMRW-eg{G$FQt*atd| z@TeQiwQqP-&0Kg?2DBk|fY=5)jqs?sq%nC^&0N9^XhduPu?ut>;ZfI<#^g~oa|tt` z71962CeUf1mGI4^F?m$YTte=T3yJP8_JB?!JnCA~m^`XxE@1|=BYMBs0y>TGs5zuD zc~s3@!i+Jb;SoDPrx6}?HEB#9RWp|`16mS&Uu*!KMtIb0(wID|W-eg{G$p#e=>Iy6 z@Tgg&F?m$YT*3@!OZ0rv{dF4QQCE@1!W|VPf;}xoA1^0KtqXuAj&EIPAs6o)K@F?L=!l%R*kh2}at2U}Z)ykWF zhi`@NTM9lk0lT2YJ+M0F8Bp*9y2DW((eFNR4d^4hDh!X}j@kk33LfinRU2MoPT1mA zVR%#<{?&HqG#O{{sxUmN4Zmo+(5aoz;#FaIR2%-xcIYx0XYr~qJgN;pWV_I%ozLP` zVR%#<{=;^mM?22qRbhBk+vkWAI<(^~UKNH%wfTvI?vim9uL{GX+Qt$mbZ6(YcvTo4 z)i#khp*K6u;#FaIRNIBb37y$-7Ox7!quMSdPUy>yvv^e)9@RFPIH4;$&f-;K8^op( zC-j8=ZFo!PgrOhXHfV!(e1d=ICFbd0Ape*aowWmOW&PA)Qwf5stKg8P^JF;U)% z4lFwLa`ZdV%NzKX{Rb74??MlkGLE4$iY}Ij^Z!=D<ZTdkvOF8H0U8L8X&&h6XeZpsnvn27;e~C4@~^u#?rd0~T(`wIdy#i7dKw{j zQtt7ir4YG|qiJ?$C7UGTnDJezqkU47>4hQ}gkXtM-8?HR&d@V-?%n|X8^Xw~qO1{y6vPkV-N7rbv3&t@K-2AcKxNCT~wpr<`U zxC`F5if1#AP6O?#Jkmh3CFp6-5blEat>W3tqtigcG48=%4gHp&r#(Zs3*NViXETpZ z15Nv7yrvNc-}@=yD#Fb?9r)EUUD1=$e zOW=Wiujx}=pm(Ne9t?l-r{+A*oA>@iSi8KN8pXG6Y^hyIjuaS;g4n5)w0)Q z&Y9(JieIGi?D9PqoT-1a;%xn%>N5>*R-J9wQ=&Z8eX)NR5Wc#1Wv<*ICw_w?y^5x+ zLzj#SAH`?zPu@iroYxk7CRG2498vp5J4>$QncpUjDwPAO7g9$UB_N6kXy2(rUj1{Yl>+^9R}( z^JGWb`S;afov$xzWLXiJfBE#wEZY+iKldL=;{nH~JpCj8AP;9gBUhYG49#L3#sR-| z@h!zqEgmOwCv-?$) zCfx_zh0HmRNDK9u-&qmXQ7DR`N>v z&5ZdT-IhV@WjF8D(Py{Wi!FDRyn449Bz4ttM~&1qwPARuv%aAnn~)K|ySGBlPYh_j z%&0B#x@!E4*-HZr(R}$(31vT8cYD$7u^RSX zX?*yfOXJPmjM?`cW44MqyBo85;4)@)cDyxatRd<#Yh}z_y;8^Q%iM2bkD1^+2U-+- zcH;2-W44gGx*M}^=(Y@sd`*YLIVVtZ@Dui^rSDs__j%vP_}O*e_Zi3V7s)Xk!5HR7 zMkL2DH}VBt@8HNZ!gGz`Wa3&Gm&*w?O`l^7x0B`q#_&fnh91{G;Un;ndCsx4?)EG= z&Ahvt^M?1ZUur4$^cD6~O|DDWYYtp!FFH?^Z`|aq@uAZ$K~8PFCZonTRh4hWU$XJ~ z%$gv&rQH3neB|1B8{O{e*v0G>97x=}%o-oMU_iq;dq|$Te08b&nbO*myDo1$xNF^p z1^5x*E%SCUj}7cl=69`+@B5g48?W)!#H4Jg=N9Tm7d}os8^7(XiH=w0Z}jK=UT=*; zPu%!`x2AN8S-xGil;eILI;ZS>rCM&0GJ9v##3%O|Jcx4Hlew{nw`SV{$>rc3w{%kS( zGg8VLMY~xiTSMNB1>PEL!qoZ`scp}eJU265^naq{`37So<5TIasR!RFZO9=!! z={twuk+SzTY|%|1SCvPtcR%BvQq~7SEa`PCO!UxRQ&uZJ^qu__?^;@k3BVh?3t8$mZsM8 zf~0$r@fgLJUX(Vbr;V;OddAQ+`c!)TUrjAnczsH}CsW(Eo_NK*&%wNHQ&Q4#KGcE# zxZKT`62Bm|o|VLly!wdw|H`GRNz%ISGvWt#t>54*N6y7deZKVi=A_nFlV0EY)OguH z>THi5|DSe_e+BVN3)1kox|_MN(1tqc#eE7+YLgtN#AohsWG* zunw3pXCY~Yx4qB&&B2De8{VPdu_uwk`F9#|_((j-NA5Dq{z6(?-SboD$&~c?FQ>*| zlpa4cHGW)rd{ye$j7p2wxZ2!_t08Ie?pssy_aokA(LFZqjrcWcCbVH6a5smHfeH@~ z+5Ah*t|+dMe~Pa5HS(XagED_Bna5IRK0NgkbVPGbcfvljU}cVUCoGuc!#`8|KHtvq zc8@4a;Wh6NpEKMXzg^TRV>j9`;xcyA8Ivw!H6v}TW}9OrckQIq<4MK!9^#kwOQS1j zq>Bu>!7Ohl={F8UHo=s@3YeQYo(Cq#Ix)0;_7Y!U)C|_EeMVrEB3|rd7w>*_S7&=1eykiG2>ouHgIm!4kWQRw&+>;>sxzM*=&$as;^;C<#lv)qx z6gtzkI@0EpbxE7)NPByWBkks{<-S2*@y!j$llH&c*?yTL(q_?dmX@gjb=(E{KC~*j zk+fa-+vW7#ZvR8SbJX)m*LotfNpR!K@ND1ozQD{xUM_g61 zeyN{Em8}}Z4;#%?<)^Xp{Q=JPlc$V43&;Rb~_<(EHFfUxxSHhS-%U&V7PNAFhI$x&F*qedVk|rPiBRo^5 zqdkA2&e)ra%sAwTGwycc6g2;1@(Yg$!z=u;5uqU)_pSGRl9+s;2mFZsNgqV76<(AN zox8z7CEq^s`ne~!ldu?N-V|tF_*dDs;UQyoptuq_U|4d%ro9Wnp`yYDRb`RE}zDmk3JgoNpvvDzY07#@h|-b4{>|UzeeAk@x--A z8Y{j<{8_2-Q7vPv_}Xi`#!q$RpE@Hg-m1UFE`M5DytK`cKVH~1KBfLiUE@>gA47b? z{hX(ushTj zRk`flwQW7cdg0Sz_h5g-=3uw^dB;`^updI~Lf3aVr{((pzTT4j>T4JzLU0aAHB4t{xRkVZSm8N3fduZP0ChA<*4u` zwc`aTAA2EaP$oP`>_*?0Et?11Fd7g<8qhD;K+mEx*31WX4(?`vD%)|U(UR^A~IiOPM4{%A%Ac}=m>Y6d~%T~_nUQ_ zu#d4XCuB>Tu-)jJ>?aocGsfDs*q;?k9Bq0uwM`=Ln(+yR|Eg-6UBy%KI4cm`&Kel| z{ev$M1~?P_GGS2Fgt5oj19+oaHhiFhzr`+4g@U7RNjtDr)g|B_IU#<6;5P`b�+i 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

        u60ix(RL7i)i2QbJ1H{(f5n|_2YPNL|3E# zP~LtrdJ~bKMcC!n29Q3AZlKhcp>1M&{vo&@zh8d~K6yWZa&JYKrQB~vy*_#*TnEV=QI*nXE75yD>QvY{!8aeAd|3y#M z+Vo_H{2zV)yzgK1eW&kV_5D%bANT!9-~Ze9|MmS@UlbpVpNjk9qwzEGK>U0>7=Ji^ zDLxUu9KRNyiciO*@tOF1d@;The>$FuXXC5!XX1tUv+;6#JN|t9Ui^i4Enbf+aW$^T zjkp3U+s{5M(@{qf3f!)y}#W1>%D)!_nW=H(fd|36D^!u!|_+;i&NG5 zs*t%9#q#5YuII;(onrx#K({^EWG4UE`9&N&wzFMcT;WD|cyyWsCVqT;fv$l(P-1GT z{ve$SXk|XOyidx}vDu`yyt6ZMAPqFvy3wUoi6;FyXdZS**=_mfaEMQ}+{k3J@#72S z?Mx)vXyeZ<)vI6;GD&Rwn8q)0`>}-;yJ+Gsp!iIj7eB`OCBY3i(|84#{1>I-C3q-! zaen@@^D7T?nrG{W^Qb+kOiX#1ey}WlY=6$o*PG3pR5t#TlWS``*xdFomBz-OgJlN? zFr;FW^3TDg4_4cj@i++vo*6`j{H@n=RC>NUWlvbnRlw6g_^Op{iaYzAB3#if;d)=V&EK){+4-C4vVHtGI}16llucpFABQ_l zHZ~dm^H*@FAJ~|58k_%DPP_>0%dn>f!a(*axm z__bSY^Ivd{1mnTf6-A z^=)iMOsBB<&n&OhuBIb>da?|cwl?t>+$lC;B3u5&+c=%Fe!n$-EG;gEITb-|{`0rS za#xfjeza};*~R<;viZ+C{-8t#!L4fX5#e7{Au@1CUWPsr_c?wBnp_c9DEEuHX6Ppm zXtZ!E10PEaV6?&ak7#*G{{FbP1iIpBm>5!7UxyQb)j53-ZV~kz99&S8q|_s+(#eZp z4yuwgVkkb=Sh+9Bi=tzrz3}+>5mWs#-4mc!vS|j7BKj!wSP{$x2ca|*dFjwZ&nR>e zhwWA+RiHBP+4w2lG^zRt2KC2>WKXN;4VZIiJbos{wGkStVC0%8p0b?}4FT8CiMT(_ z$-!W8sNSFnlbMbU{mq{E1vgp&H#hJR_#><}z$p})IQax;7DzV^PxNwoESz4Tc;i+o zxMza*GFp@u3`kN88Ot*LrgVn`Aylq3Wevm!%Uez9>w$?wW98FhqeK7jK>TcmZKPV7 zN@yp99*~fg2O2^_^Z+H;l_uRiA;4nAM@<-cSQvWOs};J~!ac>++l#~1x72=Z!cYT_ zm%@?qP}&I2um)^g)*9%Maf~oz$c9*?-Rpg^3Lg_885?fJsC)nz@Kh6TNPI+EXW#D& zmK*>^JXK#`hqE@6rD*-c!O@X(14Hq1E2R<+il}2RRq->PoX&CML0e z7%ds4qHLZ*BV=?f)Lx38OAhcVR##Tb)nY{lRB-%4+*jLd7PrVx3Am4pzhcm$J)bmi zE`GKN&Zr31hrU-@0)3f|jK63~$l;s@F2#LofP_v>^*uOYl4mez#KLUCKn(r`FWLcz zb1Dm>CsT17o?jRgdR-l!P>@6A9p5cuEO8)m@vgWp9GW zn}QDqhJLgsJ_J&|vq?;Hv!9SYMC>qAU(G4NES>kNV~2)CXcUo_rpiMCZNb+=!01?2 z>XJlp^@aFp(+6puZTZk&J`g{Xo|7*auLHKEZ{jd|06(wVHd^Vqiyt600u{rolPT-o zS00%8+A{`}>*bM_(k`0-w`Pgs72e0t)Tcm0aO#E!w5j-*gL@64fPnh=_{Z}p$cUUa z1MreqO+0mFasdYCp|kN(KO7J-F(AD#0W;P0n>0e>W%AbSjmft;A^z$C_&InIp;KfD zBxH7rC!6YUUx5ppxB?2xA!dh=)-KUo1w`C<3{u%fPme=zusV*@qk$2eED7Pem*V)Dln4xn9jpQW2ZTXSUH|?iOd{-zIBnGpqWYYo5U|jXL9R*86FE#zXJ9}DK-PxkH^@Tf+981 zho!hoB6fv|umOn{FOKJ6d`yFC2%}Yr(^5!YA%0e3XhMSC1a!06R7XflI!?sTnY?oR zkGWiEuz(UQU4=v7DmKX$tK9j)g$w~WxflK?4+TXI4SWzQ8}t;|Afz>%(E7*hA}DR; z5_JfRU?1Of)q2^cL#L{Z;ue_ywTCj_`iSj!R^Uyn#EP$5Wd6$k$n>f=EvDWE`zdgbD=v#Tww^{ zxKkb+5&*vlE&=Ot5%vc;Evh;Aah5JL7MxSFwz7p2jJF554hq~q7(ZhJix9ilD-Q;r zVU?iB$6SQ4f8x$+2jeqdHlFXkvOV|;vK@EpRBAGeESZ{hOYFpvskw#88=qUeaeevv z0QSr@MSWC+({fo{WRH*A^(Rx1q`ZcN69?a3yvbow%Li9bI^vpc9f3lpRNpK%%V3p0 zfbfF?gl7%O9%d&e4lcbtgAxvv%2lwuA48aOPoo!rs(p6c#s^>1n9-4o7cT;b`WjfB zb?{!5m|n)D$jt{4V^eFad*b$S)zP6Bx+4NGFCc$wLqi z9FBXb1OOceKjVSBzh~&BI99L{i~~={2d5WrA{~AJqKLm~{lwM!)0Tr*_4 zk;;jytsIgK-hre~EF!RCK5b6s76KBk8Y<9WMjJ^P)JQgfDGCfNptW`(IDt6{|6w(| z93MYwDDNV}CVH3ADX!UaD2dc8IE0A|`gVst)gZbb)H8fN-f`mB8{OP&vy zJc0IYV3gvfs+~;@>ymoVq@GOcq$z@eNrxWBq`xEStq7XZQ4gGr`&X%UE|S?aIsOU< zn42(+9wDQahIA0)elaV}{H&(89SGFaYz}y6=)Fzh8$olRg7#J71D}pxKx)uY(PGPb zZt_(m-^Wawkk2Lx;dMTK76n+fw#oZN$@}3XuZgg{GJGxUQJ@It;8C_P zN$*P8w(pQ=67}uCTk#8esQ`qD>u`k0UtxF4Bp`KzLJ}Sp>OCJ^KChbpYu@)w2E&IS&{LDsa{hSYy zEh*m4p^V<0BDZ7-MD8z1CM$C1DB}tJ4eH>1ylqG>3;nE$o|$kYAToJK)eJIa_4Wf7 z%BENVd`R7w^mb5kECeim^PVmKK~TJJFn||e z?9sr#p$)ccFXij3X_vT&<1c6wHvRnh5EnCg#xwCV0z1+iljYylEEYo?Npe3pKeyC0 zVX{1wURZ=rn=P;-|Avnbd zo0`E+rHp0?jy6ZP#4ci5^OrP(U5`>W6U>HZu(wamBqqntg#gN0Q8bgWotR8tO=n7* zR!GLZj{l$l$&&G~+ZbgSFR9Nkh5v*WZU-Q3cOg(!3#{|xuWE7&)X)sW(ZwkXG`yJ7 ze<&E;v{6RVtD(iD|KTuw$_T@G*xa&o^~bd-c7FL55u#0#79LaVzZ0NMX!{}XpcUIN zNq-~&USQ_o*f`anN&b~^Y_et@uEyIi2ATAKS<~CW3Cu(TSnzQUBp5uOD*UMCuw)^} zFf{ZJdg2eZV$UEq$oPq}MpSjr$4_lmc>0LZ`5I*v1XbZ0M1Uv%e@rbGeN_C>24Gzr zp@WkkmFvaRci_eNh$_Nx)(Hxxiq^@N&~j-Ug#L$tmTTy@d*Wju&jaNHj_JTHbgFii zRv#LeiI0(pt*HEBXrK0dXexd-lbjOa6&x}H zL833#tPm$5Q%p@RPhT}UcP3i6zA)Q=aA-b$Hp{sJ?5acN=mC2o3P@^WM7+Qv zNf%8Pqv{k$m0K$`s=!D`!4c<7;~H;O=TY81M$-Yk;UV2oay&*2Td4wek>;8K69Un) z1j`e5E6RKYJ}~6IX!lIWVNcb$5QqeNo0S>@MaJ*8z(QDjQd=|7E2L!m+-C78ZBv#V1YEnp{?)0av)gJM@x^2u0nmOG3t=l?v`sMV@|OvcTmB|%+$ow^Ru^R=Vzuka=HW%{RF|O{&7^DQ>Tx$ zCFGylX{jw)D*}=Z>!rfen$wi*6ASGu0ZLVjX~L(=Ebg%EF?0hI(zKxI!H;1_yBtol_$X{oS7UxjfS%=$Vm> zN;nabM?~90m0pYoOblJ&t@fFv_iAaX;1~x_nR+6#IgViJ`WzrT4i4h;mQ`Q)Nuu z@y%h=3yEsu#8{CaQs}J#sUBbqL;mM%!Ym-9>~#B zV4FL+NrP}!znM)aoFr^pV?!{clT93WD#jbIh2P^qmR~p!59DYx(wzf?m8R~>0Ok>R zuh)TV0t%^>?-$J+a|=G`HiLDlQ70{Q`vrKk@C+C-zFHlb06RbX9@ zO*o3m`X(aGx99U!HYwN){r5dgnWv%2n^Y~ismu%_#2i;-i6Lt`H9pu%dp0FlW5bSh$^` zU{#Gzo?Bm8lf^J}S3K!hn~|O_0!jl;!{&Y@u9Pf3G%G3Q{nEj>KcjFv7xz*@XNaR^ zyVJ==7=VL*arWp07f!NUlxBo;HSUcaC6koUqW}eC;lveTLkV;zt`K#OL6EnCkpP|8 zg+xw*5nkB~xi6gZv4KxI3?xZR5IWPj6c*CW$H=<`4J2IgiLgTgZY@s0VL1umE#Q%) zs)MEF>zEcx%X8CMHFkxaSK{L-H7BO9I&g4YWeR7hIzz$*{7(E#T0aTg-IUW`Ww6Cj zM7)WFTjAkieWLS&kgq$!LDvW12ct$^DC-#u&rtP}anSfp@S-_-O)g(4*_e2eq1(iQ zuIYArA|JX}5jAZi={*7i4aj$Kqf&xXpO7gVJM^p4g^ZT<%`CTS-5#^4}i`2Wr+0V!Q89lPM4(3uLC$u~8fSV-7 zh{lHy5>HIZ5yw+nXA4-)2U(vVMOQ?}nnYm}AWcev(Vp#o5cg-)-3b9=QxgJ|PWWih zp9g?~-3<=33Pn&$P+p@R=WR(wqys0Zfq@qAry;j3rSBq+e3y$R^r`hbv_gyUBBZgSGbNEcXdRq`cafjT+|Wda;jbmCI=?KMvk9@ zdgBNb%iFl)1#3mgYJo;62aB!=t4~?PlfH>wc+YOZx#sBF3U2Fyk`Bs{X0Xgc=MqR7 z)KgN@_*Xd7EU^91TShM|v%(UQ;}~q`%GoH{vtpm0HN(}k;#q@CDQ@BMvID>OT-=}b z?j^byhb1aQb(TABU8VjnxfpaVUrnp5T@Z0*h1ZLfpK8%j?;8!&=Om=ivqKjq1%cRXZX>TIVoFp|A-CcSU z4NE@jeuI3w@Ft?d;D}=Z@|5c-7a?-aM{s_tf*{a2)0!JP_#BnQPC=d4Xy!Tis6)4P zAjr{aW*mIzzs@@Yv_)yPVd#o;Qqo$BaiA8<@vI?*NrpSC!^-unq33e4nI%t8mFHPQ zH|oSoEvt%x^qlpqp(AvXDMt_0!n1~E5uOR95X)E7NY<=p&9kYjd3u|`2ZkQc36b$- z{d^yo7bLwkcIV0Efe*}3P<$Y2XFN@KY;l4pX`wIeX`&kzte-jVx9Wuf)I~fv-zl7<+u!*{^&0f2H!*t=J zP_KOG8qBtH3)ipB;okN6>u=9dQ=(<{i$dkrLjMpuu!sXIc|Pc~6oePA-^PB(7YV!@ zu-WKIoJ(_WU%QS&N}q#C=tc8VRK+CrOahFb({ew|;+E#-XBVbt`(Kuq>sOXJlplcV z=;)HZXxisR>|UIoTkd~Be$LM!(+O6*Jh^bS|AXw)?YV`S>$epqgM{z$)f=-*SFg{{ z^nYwu-s*q$G+4Y8ZaOZGC@egk=dX^z@l-1m@{WP^K1?ZAybe@|Rj-4LzNM`co7R(4 z{g$vOSHd${fES_zbf#*wOBHuw)TYSbc@Y=`#+awfGuDeStPIMjtD4U0Ak#3(aO)Wh zDftg0rG)Bm@o@;$;as)@bvPGSkz=3^7ezK#CP|T4Fu0KR0b7iDor|N<#~r45oz^JX z@*`U(!~!Ic;6g-~kHZv#B!px#WpC&DV--@#KJamHrlBfV8E2o-J(J7mo;9JK$?2S} z^`r2##^%33_&bkC13MEP2!NmTqn|Okoe+3IVpRxyF_vgw5S*|Te;6DiDo%vKPa(z% zgV+p0%NA|Umk=x}vk%5c8Rk^uZ`uf|7ZdB)Wg8q=$3AUCq0cpjMJs5&g(wGYl!ew> zf2c`BVQj|eotJf_hM?lFa5?PAo<66!>aG(QNjJa zr#=GO&#h6U#aLSB7SxS|`=t7DAe#3X^nUZ_BA$2fd=1a<;(37QD|mh$&)4z%BRt>2 z^NV=?F`jSZ`6qaO56|!8`2wEr;Mu_Q4LrY$=kMVe#50QLEj+)1=MV6F7tf#I`87OS zc>X?~Z{qn4Jim#DXW0GMc)p6qelFn0Sv)Lj7!S)mhvz&Ver!Eg@%tS-8+abzu^+~N z1Wy6a%XnDE>v&im%ViwX*pL64VSF#(VLs-$fafhd_LEM}bPQu1{P1_H`ezWwHn7Y~ zc;3Qe)8nUnY+i=*!|$tj3V8f{^LSsxvy6x3vK^Cn*k=D@+gCs!+vwkQ#B_T&FI8CU zHi?@ND6EfafcCzKZ8-c)pJ38+d*N&#&S6CZ6BK^SgMyh3DINeh&{nY_I>} zyB%|e+ut@FzY8WDUoy^w8OPGby@lU|!38{ot^fH7UYL&Y7Cv9a?+18(1`lEM^LW0F zho4sUYpmAK^6ba|&9D#QVHnHdhjm(9WjNd6f0&Np1run0b8PwHyZl1p7)LnR zy71H0UBGXP9}Ksj3;1yf5A%Kw&*$;5theyY;PKnLjQ8)y^9~;SDd2}+?pN{7vMhYR zj^Bjo-@?OuTX_5r(-!dfeemNgJZu=#Gpt|&Ht@~z8P0ZJz{56I@vyFKJP+{v5T38# z;n==|=L>j#91q8wZML7^#gA{{VR@r?whm}{%)|1S_Um|l4bQjn{2rd~;Q20|@8OAh z-v4>@9n|?%D;IBA&PK*pDs8_JQTwyf)6J@%;@v ze~70a?;pVPC-^;x?_a@p0pBm<`BVJea0C09pv!W`+9S4`#*izxf>VS>3pB!YVuF6Y68tIvh*7z=vi<7G zNZNZIG8%4V9vffWZd|_)l`lr2I=8S?++#FwNVhwFk~d=u z=cxZ7j4F1ItZi}P6O}R+l6&(S}UkOe1Rxd0A%ztv$F+P z1k4l(ZxU2+tHCY3s}Bo2=Ap8Mn}2mDM3XrleY~&B$zmaHhi5-{;~$Le{?sr2ccyy1 z^?YJN5M*^{9kU7t$HKDBIYtSgkWC@?)6SHe=1y9Yv$ixc>01-1`a98oi`(k{r|5sg zO7n*}0sa5PYVyybe~MGZzl}A*KhOL~&*7d!JqLRJ4c3f*9sNHz>H9*@Ih+Lk22MKH z^UuE<{dcMHxKUmyfuKnjo1`OCl^QN7g&wecy)jcMTc{f{tc1m8;50v#1~@P3NIJ;! zg$A+gWw;Hn5{!u7W}S4hO!&62`A6F>uRkbd77GjypC5$goR`VcC`h#%djj zJsKg@6Enitk?r?14|Sad=;~V!CI1o#DUMc*j3=M{zFpbg(0GF%VlhT}GzYWX#A3@g zgxixZ_0^4Ynt&B_;Ay0iftUNyk!QU*f_*9QN3AKRqWlBjm1nScLoUMe`f(F__Qs9t zH&Bl79|fO^7oZR>+!{3%pFUlXz13j%M%dJx^xO5qYPqnZOGK%#Qf*-Md061NvK3q* z-z>Z)eR!?F{0OL)nx86cZUP+tdwhyw#nv!cQ} z80m6J+Qf2gf5nJRs#r)Yc~Wcw$3lL3Yvs#JomYOaV>gp2+aB?Sg(V9o0B2I?l@CY1 zuF@rz!JOndaFM;onWWkFay2ZKGYJVid|Z0+9k}=c`xgp9xV<8vKnj~J#pQSDtjCk= z$;@QPrcXBIWD@)BbLGo!olMefx!l8(NtX22m3KFrD7Ri^%5xLvrg!Ge+$`Dlx~A1PQSz+n>g+6E+5t#@zTuX%EH6rlvK#gAo3z2L z8#+62Mhe)gyfSV3yDc&(kK5=~58xUYmS?2+oK~t5U?jq2ZspA_urhZzLS~UQOCjAN z+%j7#?69MSlDXy{ssX|z?dxF~fZHpL8j??7wTH%`RxV)W#YGxrDi*N$d$VckVv$-- zz$2h7!TT^yUoEVx*6)>1eu@$~8oa}-E47FBR~`b|^lM@{OFL_85Z%{zs?~?KJ6PvB z_9Wd8mc`FP9V(ISjTPulcD8rW{%Hzi1+epF*tMI=Vc@XMLKC;mK;v1ET!f3?{!amT z<-&+jI&A|9n{OCc^N><*h2O5@bb$w`27p2t5&~5fdRXe1aaE*y$x2WCDhg2U!9tl` zr~nI479durg9icwQ{GmMSd&9fwg{w^h2WS3hrhCYR>LqW3Xc70nt`UGtI#shNO$n7 z*DzQi09}!W=4`4yrYW6tk#fWeMwdLFHaX4TT6|207dm2;4rDr?hC&X?oj0Z& zs4lVfk@-(lMSiHSGz-hmF(FJ$G&i8+zAN;EhhJ4~bJ;#XJrx~mc`ABeR2hnf;n|6OmYa+FOb!+At zUA|)Nlh%;6KlU@f;P%F|5PrGzAuy`qRvHq8QW;dKYcm7XutH#cfSX%@Lu(oIs3;Vc z#68aM&h1YiJ~4qtk;`@}Fw8#YVkj`!YRAn1n{5r&!tEAFogiMgp3Qm6 zM~V~c^_^M?yw`+*ua(Q?MA$@IsU1X`M_yl27VQ(lRF61hInhlkIeEWBD69v&-P zx>PuGvT(XEcJgH569^d|J9&ESqz0S$Ys))p;6-Mnonait_+q7S35+j{@yG)UfAHS1 zA7YoMo}y#QtCRCrBGIcGrSe3fvRweXh9kI!Pa6JO(8|c&qDi0}XoWb35U@i~hK4*^ z6QNr59T*7BjvL?ghw5xiab9lft&E%n`Q1-tz!rfJPfWnDRs%;mS9$;l)j;MRY>zO& zC>xm83mrCTPs*k1s>jiyab41uxrtrcg?wwAKB^9Zg`w6gH@1h(WVy?ucPouy8lhe< zR4XS>jx=dC62zLr*&o}L?T5CVcR9d#F%^lejB)1uzD*bO*W_WGYM-0tyXf+3criD> z&BOd#IJ=XwHh=Sj{@oj&fgHEBvQ}QMs~HpTGv%%A4W4o@2}%oc(g)J3LP*BXK$X~f z2J=GC4YmFq2pliG`f9<2g9Kdy&A&W6DxM|T@G+SYHe4Eqe{3&1$!~V9#=ZX1h^AN7 zSmaLBFd3(?H)*m|iV|ywMo0&j>(bo?^pk1$S>jz zldnK=R?^vok%K)L?uTpJAYO7)*6T3tZLhoz0}%)!wOb%1S^|uW=5m+how#kw*ZDey z16t9OEm?gf%9U@tqy$S}ca)fQDA6U+Lupem6WyI(TE1oqzKMxtT8JsL3N@RvESeme z5ab;*x#*g-R<2fY^<%}jlSMqb*$?CU7A`yl3JOBnDlv~R{0n7V-_zV);B8>5^#-ay z^Oq124)ZP+RF_|!)kvIVj$ljDof^(7#1Y610@I$oZ@M4xvLd#~y_*X`?K?02h z!RfRJkrQe0?QXA>R9sK&C6gMkmUFozV^AXxo-Oe@EGQF>aQ>lqErvy+T_?p}tjk1zk9?0ZNET1Ev~0PyXsf1i6N*m`OKxD-ZZwwyxpo zT1Guk4yUc%QD)u~P_*y-zuWrBb3ICpMt)TJnJ=7uhS_IZ+Uv(U%g>K0ugUeKiMSSl zh3Fszc@iimG*%ekep8&E_5fd8;ZZZs&QdYNd&{cTKsms!!nVC5_)_=HQz!kOME^uZUm(OnaI!C5&;jTZveD%WeReIDG zi?fSY?kz5zq07CkNx$3VZ|CkGHsn0)4!D7Ew!NxSD%_X)@+&%s0hJ$-;?vIAvcYmrK33ma`vR8|ga{Gm<4 zR{1{A>l}ERuA>o;0Ka9P_TE9yM}kTPUt2A1s)5P_G_S2}VMgwUKGoN0?nilnezyDl zOsQ_}Z58W`FR5ziIoM&4QaO}(kg=h%^B(3%y>Ur?Q;kC<#V!Zb6nMEn)xTuNKQjS# zhZ#P#l}=f^f}2u9uNQ=_&D3{*ol$h9TBkdCG`&+227Bt^w#YEkupKht(gvJ6@I7a? ziqAv$&hR11cj)-qMnS|7yQ5|g`dAk7h7^^vzvxE!OFOvs0{$C~J3HKcXDS*J9js`J z39>pAMIs(yw+EXSiRTOSM`l5(G_S*j7w-BDCuk{NRG{aBe7F3$#o6NW^&8Vy#r-NB zvoJSLMO4jdT1RDMZWUMy;Dd&P=t7P{FW`#7+$OAW8J1~gWtfpeP@R_|$uG{qP;B5b z0bB}(UM4~`JZ?7eSKC$}kOlw(krxorBBd3O*RJZ1ySMebWZp~W9eM@{!MB7gu^4C; zMG1^7b8x{7`8Hg59WkzWH_?Nd_xq9<|K!~$M>kUMOeFCDsx862n-Ua`=~jrms0}j}F(33u z^WrbJUTHwygr@woH4{L8?er^BB!v>}d4x7X73t8)f}=To8T>H(Yet|38XijZRh$QF zHT4&=$g{SiA!|F}ND;NZsv%Md^w_2H18JdwCx*ptX1FG*A63<3{6x+sR-pDZ=pD9) zhcr%o7Hg`vfI6`z7$uUlNzSoozB~Hfh@D~(sFU$qRLB@Onea)ygFcDFxmc0{2b#=Wc*A?ah{l8|YD7 z18~Q9^N4*(Y2T^QW5948Ky4yqQeV+_iLfFK!EQwQlQTB9DAvc`*>~iU_V{_;wIlhS zF-(k@t(>HuI?=IQz_wj&M)rps5QLJtF2`Vccqq8T1G{ZT^kLyRZpq+?o~&@0u0Zl} z#|W8sOi}rj9S_6+m;h5Y3ixP8eo^(Z@Oy+2T9tR!5Qt5&B+;;iql%iSR6+Mly+Rl1 zgl#CF!QUC0JIWN*>~u2evyDLeZntV6;;s&z%x^m~}7v48}z<+igqs_-wj^NzAi{6cKcY)e3kto zc3S1c)3V{BbK>txq}a3c_7_$krLJ~~mcFzD(*WA_C1GE&PV0g!7gHcTmQOkVsHljM zQ%@>|X_D#Z=gW<{Aqi5w*cZi~o>^xwM~hY0A-<8~=i*}#WL=As^2llBr`rzFQ4^k@ zZq=pBwi|47f#=$7(VrabgL7;M=$X}z*O0in(rj8j-?uL>XT<=A4`~8t+A+VFEZx%M zd9X5E3SqCqyiJa#^6Q!3SrP7;8PG^MXXEr`#o*AIi}egwKB-*AMXHEH`gH$nb!TN6 z?0CZWPfpFxlKN9IQO02mV0d7-R1QYiA2B!EWkvKK(9m^|*qu&h3am|A6$g5XowF2S zIut2Dwwg5T*r(UBgt0q$RS5oCA7k&uVwiwk=Rt?6o!0l&E)uHWmZ^{S0M+VPE&8MA zQ-qBP)mxxL>I()zZ(?Hk>P)41S2Tzm0g+vYHG+W@*(uHv+W2j=1^|)vrOLt{jJvb& zS@BA8d2Ath^+RU%^N4Jpt~al~wJPp?@pHP`NOxQJcOG$mHmUIZ*`UgH`E{tm5?RXLXI;V5AP@HPFNM*4wxMGhy7C$oCz|tJ6IMmaiGu1%Sij#N-C|7Gr&|-I zlRTq2-G;0{sfh{9?JJ8nLfm+Ni6E=53aBN5(eN!D`Sfc8ZThH)T<=I)|m&R6j zG&kJ@?AkKx9`!SFY*Ik2K;=)W{yvAE`}Oz$4A&=4M_4OVZ9tpF^!gpHBstFgPElK0 zY21aE;KYQ@=*|)$Ms+AZ*(0>aD#HC7t}X1yj5f^chGiRcpGa3d=&t&ga z11B2@A+$#@?4I76KEGkU-3}5$U-*72af|8`)nQ*#GvYn)_heh0rh_t0_)*dK6e(@U zp~TkDQYa3z4I~<-2vt7F;!wkh(MBO+RT9RfmHZ&c{Iu@m#JO?yJS=Rhyi3is^9z)X zi6&QJxcq?XSs^RH@uUYQbCnP%$NG()rdKK6v4cYVNQ<&6(eDP1ST+*z@{aEY!+D_| zGT_y`n@o5&ex~d{qm3UaMzC1?hy}&W7$i}2Ndz{suw@j zdUb~jcajMC2yLcv3O*CNTGPDrU-C2Xyc@>63lc!L6VY?Z>1N^{2ESrrmT^60yUXC@ zSDGS#^f%ioms0o?;Er?dGk#Hl+=p|uIdqVt zFiN%`^oKJ0!=+!%#AQ?P2I;Iwe!>hC6r9-1ktDS8q~sTAPW9KmoR`c+<0Ou9&G@?> z^QOl2qN&7&4vV*L5`3yKF4CK8OL;AUJPKvG5K$n{J+}QnhUg}O8}x{(3b%yOntlzv znwXfU4M3J0v*i*CnXvL)5BKUHlxfG_%&P*g*1ju&-%qB>RDcD5S$)LEP8gbm`$(^s zo&Cj9b-<^8A5K^_re0+;{MPMq{~b!lOHkjHZCZA@ZTgG! zL-$i_`WF68ZTyqGf^vP55?3L%XZPiwStxIx#b8$RJ(0YlO+)@PcfO&li3t|Q9gUkX z`|^}orD*~S$I}pgU6e%SyI!x}E29(z-vW5GJ@s|TDA~x5 zi9WFluzT$Qjg;<)?P?bdkcFu`Fj=bEMQRzz4w^=<@z_q_5Fq8O)*b#yZursd)Xa+H z`}G+9fTO&dVB6hp@L&1@U(2hIFiPbm+%8H}zV-fQ1CrtGraaRhoOvrE%N{!ATHn?D zmG(pXgDWITx~I+eiSi~B_$>8t(n*?zr}k3aOi4QAW8mKb9iSN#FLpWQ(7L^*%V+f% zM%7TLi`Ejv7)vuq`d4_u1!uFH)4Q8UYY^iaR-|+7Z_O_`#OgXN3>3r}6| z?dq)PAx%iZuPF<8Atp8XNvF$%0KwadQxq)+JAT4!+wvt>D&OwRaMfpMd zuvA{HH|?1R#MlnATTfj`@EKIdKN6vf61W~3sgOT?EM{&q@huq(gSu#+xNNy5F*};r zf!+!XF~vkm?La1ccsnuH%_1L*P2HC}R4!vTG11NXcCrh8EErxW5N?!V7vWj7b{%1} zx)@}|*)H(O0xwIS_JK5EPM$y80f4pv*vh}Sb`(e$Fanu*JtuAfYfht#DihrAVvIsWHyF6w0aniT-R3+Jc3xZZUN`hazz-^C zxNRq}kTT@V;)E8m$=%{t4!ySc?2l}Bxb5*|yQ?1vEhpZ{N)i0Cz3R3+z-v#$#s_GM z^a=)ahq&A?4ZH1a9La@^`kgTNK9Zp>omtZBmgK(+`XuOLB{Zuua~PM0G3fJNr$fY? zX#0NZL!|?XkCj?w+rZMS@ut2GEtVoI%a{N&hv)60=Z_*^CUv)_a*kwhQSAc1g9WHj z#*TMylv`IL%V3(j=pwnDc}f6*p54IS;@@(8u~EL~wJ)K-j*cZkd%(i(^%v5Aw@%RR zz{`XsG`D@78{-O_W?y!=0)@Z=$hyPVRbL+UTB9W1NuUBU%Ajr*=L?}aRPw(IdvYI~QGNE}2_}(s3rEoGyeG?yen`+FEs|RDOeQ9&7i;-@r6_ zLn1IX;K@#$O6g6w=LF{s4Y~9B@8fJ_i=8mYnU9t;M7v{iyCJwn z*z(v0_L55oRvKJEgpD9P$lv!dXAyE=$Ed$!LJOAg5jp)u&qg^Hgqzc+qk7KD9&DkCaEVLem5U(uEP4veTMel3k)F6H!thEU&O?3vMz^3O){>92)ZqvSF<44Y5eOU|WI54xVekNC+tCjd%jQ<-o8da{R6lEY<_^_?SdbhCn1Es%2-IUjW#@G zx?P=uWomR$zrYW*>e;hkgLTPLDN%phSw?+MvZtL5=vt}MNhr3XD9{ip4Shsgo?LQh za_eo~J-(>CX<#mebf`_zh-jDq19QUa_q&6Ip*JK$o!}w$O-yj9H*`85F**-`snjVa z0{(rk^3+bv@~j4UGM@ZOP9c4wJV}KQ=0}(a++_&!7KeW5M{(CgrzCpTajc z?wRpukw3)u&h=&HSE|NN{R`%I7xXMmPg2!&gilD%I`=O{KhxE9s;?FOcI6O0?fq-> z25P*RMvPoHUeC|gAOAhomqx5EE8Khk0>azTkNA=Mmqp~RdbsEQg^1r(UF_qY>&r}> z?yB5#eW{7oU2Tuhzw|`yvckRgujRzIC}w9x5bMRa3!Rbk)q8T_7xc@G^OMuQK(Kcs z9JVj757=|HwN-s+2FD)IV!uUyNNZ8iyZX{;+h8wf=$2XnMbRc`>s zm^TxbHN7!SHZ&~f+%Ek(ko%1)%`eS2;2+L2`gkRgz5j<^Cpqs&^+2~q+xJTC7I#Xs48+NAMs3MV z7+Li^2ng!LFQcRXmUBnL&8zC3AsSUvZ@_+>H)uUE;S;lA!G+fg^5qm|CO`SL*4Iyd zat>Cf2Cl1s=Yne7oS>D;KYoTs_C1`ohIx_6sZ-c zP%Hq9Zq)Bfv?)Pelh|}-8*Nf21lyLLEIX+XU9ebVk|a~gIktP4w^cEr@$R7KlnYC0 z3^OC2&6Zu&#L{7-%{pOLPz#}xiZr|PV?-0|dbdt;iVLfZqm!7*m2K%cF z#&aC^NHNHr%`B&a5hBVFoJ2oB-WKL zY0La3CF9$!&zXwzRgrdG#vpZA58Y_w@<;E>`jrCZ#Dw9~15oPf<Pa@~s_nS1PHJYF-Nj4E4R0N2CLgIJl`4z(_P?lulNte_n#FB7R zzf0V!0MD5U4ylDxE8W@U3@>lMlcADd`TT*G-g#j>8Jmc0dqaLV(_ZWR)(U-d!dvQ9 zJ?!@AQJy^$_C`GxOsJGl7)O83o8zn<0aF6hnf_!mwi68Yn|^erXYVh6pFjR-*ggh9 z$IP2O(+_)KT#A5zgUX?oS>1%4w!7sI9RB6w>ugmt6nXgSN2y?JLV~5%l@BvzQWVp7 zjo+D!?eKfQ@zLT_C?BPp^yHkPkSmX7n`=VMP~`}sr&Ll@r(AHFPB8T;qiA4A7aiA^ z%U}A{PfVD%>s!94yJrE`jt|D&-)HVu=~gJ+U(WRpYoF&=?EgkNDzbK!EX!~22Yn?p z)s^kNeet&o>?gVRpJl=IxE9Dg)5o%skF?yF;)k4kwN@{$uiJeE>}~f&1;kiGs#DdoM(7Y&5d0Y5$;2}TdUvaHNDv7gcI~}-Zoh`yR9gaqEJ5MT+vGl zYYU!~lw5v8ygiF}zWY31D@u=b0b5eAU4;anO=d#*jY3^yQj%A$pCIHrZT-m(7+Wek ze5$ZD;<#D9Z1M7>CDf068Bke~yvD}3cu!-|DF+J0N7-P1Af2jN;vMD5qHsE7PZDP5 z^`yPLrewsmGM7HO681sw~C0yh}O59mH^UV^D=6c35ahyAIHz*hC$HJ1)S1` z&8!PNrF_+#F{$ja%YO#0x2=*Uv$YHVsE!4-o4wthHvnvvoAo@Bt2`v8OK5@E4}9|Z zoBb%y$Ine&oiAIxt+9W~jeT+qwz<)0&wLFA9vD#M>Fz)Qd@By5@z}3d58Kv?4eDSc zvgX^U*Gt%?%QE#;0Bj__Q-j{U0mXRpO>FJYzgNkjuBSjEid*^=(%1I5`1q)8H}*ug zn&#?H-|zLOh6RhoTV;u+Sn?GDm>`}wsW^!IVna|_?} zd`Q9fNny9t-s#a~EB!pedc&@!mzSuv*<9XelyM(fwIr;PUds!)j`v-VxlxA4-Fsks ze%y@*<{cYMjgEU6H(yYQPC`6>Y4p8!)d({@R`>+uY^el4c%@&tdGeGg*78>t0I>HO z0DP`qtzR4+9kmDkRMH31urho+`kNZ!)HL5Cg>B2-C=Tbd`|HplJfXT>17at_Ia>tS!vl_*@91EX+Hv2YDIW!(1^> z|97URyIUWK&tRoH(CF^@?|gcgh1HY76WI2K>tkMfAI}oGAM2YhUnt*g=^Mzb@ekSa zyxD{!=Z?K%K0AM;K6~hk%B&?`KyQOA?rJ)U5k}W(=&pum)P^btOE=7odk~zb;8A0P zY`NmEB}eI~MIP6iLL-XAA}=me^C(GmRw#7P0&(F9!p8I{p3d{DJ-_mP%L9%c<7}47y;E#8R)kza0^$O=CMiho z%spmaAg&S32Ewf<8wkFZ9Wfs_e{<(MHqD9?PBPCIM7oM4ZyFhH18T%gVU2ZXMOhr zzzN=1somj)A^6!^E#&eL&-a^t7)3cn#?xdG_RP056x-4>Sm!VF`~n9!kvG<)(<7q2 z_uiqv*Rux!y=BKn82|7f6B&=N80zy~2nq^P@Ll7j2}@v!(9h}m){!k5d9x?IsAH(`Q+@D$bUjdGz`-)Z2q%%=FVN`-Xa-AGdo*2`i~bN zBVDD2Gcs{60{_ z>1mj;9W7;*o#}&Ow8Gg<%~r=@wUFQazCS)%*Ij=cHstEt_k-RL8?8T#rT>7l@9z@= z1mf@e;p;>A>_`6|r@qt88P(t3GTfRECP@KLxxv(&cBYv$v zO+ys?i7yQrZVu9I?rd$<8{17ifLQPAz6UZ|Divg7V^chvdAod7uDaFsszm9@+lI$8 zAu7kJXN|b!SjFefS|!mi>W%9l*se8NIQ|pfnAII9X!rUVQ=SycT{;P&c)dVg0&aR@ zKeRsfjy~q{n`agqm3m{U{=iXHm;RGMlw&wM)5n~Qort7^R{H#cOdCY>nrv?2aO4}j z4cngl=FmFVp+1(FmW1P zU1?U<o-h$D{6zin8(E z_dmo1P}L&D9s&2G`z>veA{STd4?@XjxCliqWew3Vd>XqECkkUHVJj=Hc+}8a$HIn2 zW|0)P5zZD|Gg;Qd{K0w3vGz(33oeBk{O%dr=cd_>GNw!Uo;~^B#!J)e;)tSbxYd0W zH*wOpX+CT6T8$Eu0=;h9EYdJs8?aT};Q7z^zK{Kq(oWobvCiPf_A+moJ{oVdHm9aYqwgbS;yO|TOYLNZwU3) zlReKD(m<>K*pKpj`*T8H!Q)nHYI`L5;HrgG$R4QcBj^XVwDyoIB0o^a9ByKVjm~SU zCosvKq5yi%uJ%nDRj>Sg|j*qcx_Xnu`qfK%P-Tj%vIov}T~w%_ZW9iLGC4g2yqIgCB)cbgoEH1#&; z_gFII*~u+QFq5=veWzQ$(jW=n_q2AgO%8u9Os#CMZ7hJj3@q}U@h2~1dmOT`;P-yx zlY>{bI};Pxusy@g_Mvn8J&A$q7!GI@8fXgG4}Rxy${TXNlf!4{zPESzVwGrCq!<%S zo^(BD41Dx_spKpwvH>;nAR2+|;6h)$Bno+2MIl$hZ^&spNj2^aO+A59BgTUaY?|Hv zYYsV^f-B%$O`ZKDivd}5Kc^A*)3qZY*^+Eat_cL}8;|j7SqW0E=G3#At_K0F>XFLu zFP|P~C(h%d$-AYGj(+8?mlsISL|mTojY77w__q1S$FoWOb<}3*NDo^U)E!OChkt(C z9>*B`+fL8i`p^ob`QdwBCyZXExdk?yuD@F~V5Fz8-828ea#Rttno+I;Su=KEIW#vk z29uWB{Wi`MIk+Iyq=%emDTkd0=Dgm7oH)&sO`+erozE8kLw-GfP@WvFJ?XQhCu3)q zcqnneOEFbP`jN@lo^IsBE3ErTf>USuvO9g5!LLNN&DBD6?~kw_{FtwQ@|gjdZ!mE| zzcYp9T##nZ^Is-lz(PrRn8#!jg#9o(6{HF2Dcmw$!fFNOrT8Tf2C2pimgFt?hcrGu zCSxX=&>6ql^W&i$3cQ)F<7CY$uBETnK2ydf^Qu@5ckibmjxErgpn+ZfCu*x&)a`ao z`;!o_Rh6-iZ6oPz)5Ne@j|%Vom~Tmo-b>w2fnkH97f@30P(QWnmE0e)ll$V|;L``3 z*$SKz2d=_!y-_gl8-*3P<(ilKC*}Tk+QlolL0s;N-ZR~(%JKX-Fky4EUP})0)T*wM zGoc8jueTFM1&UEb@|Y>a;ssIWMb)V;r@p$JcR-9_i#FREO+n{ObZ^ZLdjVUi@T+K`K>n{t9S->!%Gc zJ-x+i!$E&;){NgC{FzZ>2_^^Wp;E`3`Aho3IeZ;k#KgkAx zgj!i3!KRml)?z)jydqd)Q*@YNk=iGBh>Tx}dXUtyNvQ;no38Bn@j!FP3qB zaH(7>R%%5Yw2zeol!AxKd@A8EJ2wk?Ok1oAhjTY7+NPT`l=ckYa&xk3w-x$el;4{x zTbHmhr|d&{V8CIJxX#(q8NZ-hXyzyNv*|EOnbHD+S0$ zOZj1L3vyqX$&Uar3_r=^!+E~X?tlBjuO~d#d;a|t9hTv(Mjhu4G~Fy{7R`XqudJ4< zEtf$b9Xwj<2e+nv9AzQsj_32nJ6AK}NyC_xo&DK%iSKXY;`jR6BKG{@Y7MYiR&JJ_ z*&~<*S>>Nn`hBJM;DC$U-7Ma!>-2|9nq*t5EXJP3PP29zHRaR2@p4V^cvCW*BGCRt z&`$xyK2Oj+%dsWPxfgZdQmU}l44vVl<-kDfXTn7huFC2I4fIsosJ!fIcz7GuSBtN9ZpWz+V^Me#wsCO?*MfqFyz45tH^UEge6`7 zlS2g`mHv7BWqaBuTxPyJ;M*^{9KU_qZQ#x^@>bR+=Y^b^;;{vL_fM1JQp_Zf#j6D; zlGy5TZVH$>J*VWfFld^6tB!FJ6bttCtzxr(ZRjLTC_y;aDYM^ClGu)rwP2imXFGWP zr`TQ;gBi_ar^k2}sk{j{)3Lp#3tEb~XOsukvvKlG*LLlipR`f_(oO}uo600ObzUt( zHtD;}`d;A`9MK)7Ba_6s-1@T=kTaMnf_JNJv)b-lTorA-8cm#$!_muJ`Z{jR4T+xL zr9baSB^0(Zea&WUM`7)J3F%F`?kC4%!?ri1&)N3wH=kGa(>B*f$ujz^DD|D=(*8iv4QZn{M~3i4%n{mI@2&+k z1gxE0YS*7mc)PYyUb{QJgH!El+t(W<9NQ9>vUfVGJmukRsg1vML$-I>~A zyt=)bHWfHJ23uAUzj4Jb)Khx7n&yKNH7_57Z9dhry8CvM`m)efoE)LQ!HxMWn9^2L#M@QR9lV~iJNUu#!B^pm9(o_3WiO#&|^tH?N zI`*X29u|f#Q>!b@!4X~SJc_VfYtqC4U>6L2>M14ck>EzBgjk4-Rn)pEp{RF9M@B}_ zEDU_Pfs?-!K0yUZJ}Q2B`UwtIvAoil&g#- zN8-xQO+TB&kI!T}DkYx5mgQ?Z)qn}Ijq%HGnSZ)o9iQ9WYyQBQ%+%NReB*q;v^|5u z>yE&qefcdq+GP!PK8EXJtFZ@P_lSHDs9vI$%hdwxj(^MLFY-_kJcfsgIX4K?X$tBI zvm;(OjP$$Dai|VH*V8JAGA^6Oi4n_Ri(js`)~6y*!rp#QYC0dbuZ!0! z)O9rp7lu*~&OrQ1>5FidUc`wQ_N)s8s)w`*!D=6*Gv?Gw3^fTg$m1KZzszm1mF3^? zeujtz`(+^X%eJ*35IR@fA>uZ*1P7D2P+=XFms3~vq{U$xl)zYm%cdW)uu}^Tc$Y2zS?A#vP z{SEsG)yoBE4%YL?BOTO{WUs1ImrcKHP(q( z9OYM%9qR@dsu(kPueCVgN^@jpCG`K?RhVi%@k)-P$P1VB9vqUy=|D}H?CA6WFfCi| zwGLfxg<%g;Xh)=d|MRK;4l_=2}~!&2gdHIL18(#Qbbh|3M7=*eS6(9B>lAOZ7A>M^Y%}Ul|-7}rv3T+ z!jmAgf=zf|??bTTo8lMS4DjRS7;Sq({;pMX_MgKG>#fu(vf-3&K(%|qxL;}1H>bIC zW0=y#;x_zl+8RakM6t^dBf1!8sZZ=T$^E)k{?7GRxj4VHd@a-|v`v5E#zM>UM$fpi z0;Pc~Z`|e$qC3mGW2u7M87nY@SzlZEc`R&5hvHi3uY$flQDm&MJh(e~+aYVJ%faiO zEDuU^JGZwx`8Aw}LF*o$aSC0?r$4FsaftKHW_cO*%k7oTt>#Q+bC~O6YyGG{SDq;J zO6||yUa4((gCCwQD1y}cBhRPc{isSSMNRqN?f72b(VMUgGyn(zIS`ukRR<{Q6Vy+j9d>c3u8rqh8usD^HiJ+&K+7*35_#&>qu=-Ja*Z zXZ=Z|yrxz?)t)rXR{1MCHQC5g2(M=m6(09`i|3b|(yHfsB<&&JuCx=p`0`4nDg*2p zKK$UKY7vAlSMwg-A|QK$Paidc$++YN`}_`&L&KeBr9`=iI3tp%6-%r>B?we~%IyuO z2pFdza{EE@&TteD=Ji7MP^Ml;-pBhAog`P&5&_ z)}hZ_4GKYt5LFQIEHAx!@}L5n9#%fvp#ZU5sA86YBf4GONMl&>ffu5wfKSDZx|C`R zzluD?x{o_do1{}2R?0Vu6%)VVmvfu786_5bm!wzOHF-yQ7Fw&t4O=heTfYq3-t0IO zWm?k23c{ptWxWvGEo3zhA^v(nM}esYtR2(qC?x6kV}11f+w$pqxW4S;^4Nmjr|Nr5 zXCreAoqUn!Z*_6HQQvAI-<)xAfk4t(en@5PAV54G{x)d)qZ{e$WWaYm{-o=Bd;_{4 z^TGFTA2*7vgxG0k_smzU0i`^H3?}|6Zm)p@iC)%X?{;&?+qe^J;849%1qUIwZ6?`3 zv#sCBdL6vaeR3i6!d8EeN)0X}6>JDZwTYWZ6Ldzy!E}Imk|k2S$GxGHpLRS$eOzih zp9DpgX?WZDjQusZjWjsr#ic)+MEMiC^L$QcY(Jr$JRDXB|996iR__T#txddn`Wic4 zp*$NF{x}8NN2OQ$J%6#v(i@4+Zo2Hs>a18V?oB4t;{BfIb(7=gO>9%(HfFo*AvN!& zW^B8KV*?lhwYJ*Y6Z#p>xAgcuITNlMy`s~=?8AP_5U+C`La0Q=S*zf=WP)5-;cmr; z#)0Uo$ zjZSTD=@!sNzCX@*aTXu1z|Q5(%85q%RNmE6V_(~c^7gZRW8b$`zO$@^;b0_T`Pv zKInR8bb~J}Zx@Y2ksaE%IJwXBV{(`C!|^SZ&HIhYwtw6z&wQ-iF>aI4cI<3VHX17r zt!>hGmIN1Rt}#-6a%tsWd2Vy%jw=pV(ZZuqnUCpvD961a!zrsg1-!^FoDxUP%4SIp zC$z^fB}#B)@eZeh>fI~A>rYu0Qjarl*&)9xZj*^zpPTFdne;ZiU%Rr2yI4zk6(Wb} zYz?kC);JSfA1&jg*3ysRgg zMX&KSdhO%{&bq90wj2TkrDV$2 z@SIWvjwALG0zHyQw#4T}i1Ixz;w;bm@y}6O(P3)H$w}KA-m$~z!nP`2qzg(M8mBK; znpb!;!}ik77KRdbs9}Mf?CkM1oC#zDY;e+?$R7f}||V zDrw6sZEm_#SzRne)3i-Xp(7-10T(T!b<4(WK@mq#$`H5Uo<9Ni2KN^CmiPOdJ93kh zg6RMMzVGMriea>^1BVI~Pl;8Qd;h0jMZ2h!GphYmfwTKXXWi?KyE>~fe zHm_CTmL^#h77qt10JDF`lS|sHiwg@-g3PI@=ESjhdXN1iy=xk(>#O|AgQ96)C}NDE zqZUltn8N?A8B6P3XiQzsnv4eQ-0^58Y*G4ej-BYg&voA%+s*}Y zbpza}eikdoMTcJ}*^d!|=*XL}O$_D0Xw2nbybnPjWb@VJWWkYGvz zk`nl_>>p2?u2`{AMy?VulrHs(ngUViTr4MwQgvM(PaUe+buQT$-~(brpy4UnjQ1!OiMA(tR+KQ8R<_$7evpji9dRH%aWl>%<)6Zu|I=U zh1qh+gbL|Loy8y~CD02l14QRw#)UHVI5JyJcWDno{BdiZ+f7)ys!-lTL3=ew0?R*^ z9|*F8KAy?|&f&533~8XD@u%dw-)H8?k)h*^eDuj|L?tyUQgt`Sk4SKr)=b8~mF!

        z+C{x*(DMC*=o!YDl1a|+F@HDRMb zFKOpm!cN1=;U{X%NU}ir!@_6ujujxEezA*PrS9QeGxxPYz&V8#oiAA9{6L!6nP zo$C*20n88xYk^z(*X0jUN?)y+Cs3ZB9uhUiIBgm;6sw-{^2l!N{}t!u*GpS2GpujBqeZBHp`vg#=*!BhB7r-MvI7XKhKjz4yC`3*A5Xz2^w(g7Qm zA4wLA#XNNe^(p4;!onGaY_35q2W^jb;UX;T=&AGIakVlR+F1G>&!2xDRfb-o9^=VC zpX9Hj;8ZR-NIKzfmPR!!MDjP9d88Q|%QQq`IM-uAzS-QfTPrc``fJx;uX9_tYL0gF zyeJhoQWig!UKWknMnbFqs`QSF6UPPhk9zpbo}OjTlKbc|!1nCCTzj!3G8~`Td0EAF z3FIR1&C1SK;Yh&K(&ykg6N!O3-r|}0Q;X;3vr%klf2vxXI_!V*CrBB?!ld3%5-aQE zM=%}ypsa%*q3A%}Dv6Nd*zKS8mrkX>RQm;|r?jeGnu4>TAnO~PtPkkL9X@vW*a7zM z;bS+-U&0+ewhU`Nl1urww@z_M-w7<{QhsWddF1p^J}Uiq`K>U@-;n(9i`Mj~@(c^( zo3d&TcAZI=EK%33!06Neh4DvejawOikYT}5KiqpBMm7$5)146NuuSR4$G|+MOq2uO z$(fB?jOmCWG6RoUP$ob&n!@s`Ql%+mDR9F0E8_w=y`=QjEMo1PiA4twvn@HybU;JpD(HYcA-M3I;}R3bCnVt_mP^3c zvs*uQEolm=M2&sPe!%9F8V%Tq42lq%!&5CkXcxWp9;Nr9cgNHz zoC|m8DP|2bm|%v2T~XT1j>fnKZyd3yC(}=fpSrIiAb#*$o`L=J3)P03;^V0-bvc-s zf_CRB%P_1K1+>i+0JRR1X_$F9<@i#V+L0@hE1A$G!7Mg%c%`sJ({PN;ps?nUF@^EV zrWL9*Qme&rx#`oUrKb(8R4P*ToctL@GYhj7RL+dTY3apj$w{M;;to%>%R!oSQ`ouD zb1_CSkDQ~7R0fOE0OdIT)bM0=xtc1kmv-!xRy%7Knyag7U1lfUePosdsL$MaWDg4e zamZSIm=A?tn(k5)7bsE_U&g=KQwMEuEW4KJ!ft*bf`9z19I&9J64*8&4x?|5l3eu# zW0@0v5)aUS{$HZ}8#ywO5fV8CBYpjxzD(k2|&%)aW zb(v0geS^o<0X>n?XVdy*kauoUW~1znB?p(7oY|=1X6;$W=L7vdJKO;%@7$sGtYiN{ zA$2B1QjPsPBR_k3<}AmoysYdQnd$k(D7ucU?2MVYG7lr<&4?fBg-xa2vy{pj?h{kX zZ&_m|n-9^HQ;xWU*&Z;Jp(<31SDL6&2gs3ZJ847Reo=vRXBCYxWkZ;{)|1k$n>>0C zmM8HC7;I$bj^rw)p#c6ksZJ{K(d3yNpMdCavUv*QoeH;CUJIclJNfpwk;+(A9b4rq zb1LIrr9D;W(@YULWkWg)bcxcExN1-g^d}Y3PQA%1*U}z-w8ipziLy4U=%cppf%UF>#WAnVvL_*s|sAu5z*+zrRHXdtAXCcD~8M zdv93~HjaA&2QY6c;<$_{zyQvJ3G-$wcHAaNw7By*?hh;}md=;pN1%9jq{BshB!5Ip z#~8i1RDyS<10KzBMw29y{1NRUghOG(P3E}!<2mlJXeqqT!Y5rQJd#QN2wslO1`|%> zxWhdqJxLb|k7SbGM0>=@aaVSg;y`+mE)*WciTn}mJs1=D9=&=Q`y|@C_vk6a4z|tf z){BoFI$^qlkLojEqHT6*pMLSlSp}8u_>@VrYvwO4PfpFwuUxdGGHt>{>$G{UGQrqq zOc{R0n0^`b?bB}}eagl#h&em`hYQmwKO_czvOTm**KXYjRO>k_Ln$d4RrP4ZFeOS! z!6cg|Vag$C#SEZrT{`#gtS_6NhZSM?IF9uI3g~rVVfyf}h=_2cmhM8R$At?K#<;}v z$fyFRVbG%Jq~o9;e&*RjFTMQAtFOKO#+ygp|KP)qKK|s> z&p!Y5yYGMa@u#1E`SmwSHO)`2(}#zLg&RnJoqjQ;uMi#)ml$bGFEBV4MGZ=7?h>7` zW^?=gu7i^ckH(aG4t9$jGWN*OZz&2a1}7JR<);(_H3G-cU$zIS!;{crAgu>T&4wLQ z8r<$%Oe=(Pt4&QLY(%x*s>)i7X(bT<%6(vP`3i2MWUERJ-RmnYHM6~Rn!+Xz;AD}D zVKBwkAAF>S^3>a17E}2>W5wD>cBX1nuf|nj9EVAyW*rUA&8L5Id1t< zxRc~#CT-0Ys$``kpQQg0iU(z#IcTql|5#ol4gWQ(NbE6r+94)c@1*&*f00SiBf;5N zMec<3S$Wb|f@u~)r>GS^_1i_K@5=WPx`l;zH}*Bh$MuWq5fRxl`m{mAEfW(*4DKJ( z%g{S^z>twilTwmL4L#j7aMw6@b5e*^I+;%^!L zXmRQo7>fdPvg+%Yg51H&;e90S8KFdPHJF)$nh!!a=6PlvxS{2B1q z8-D}wC*p4z{vg5sQ^r##S&!JjF;Cq)JlsEDkt=p+{p)xL>mR|>NKP8VQzIc)YgNHu zy)^v?8!QG|$KXvDA@xU!grNQi>&=Hb{>+@b9JHjA6_gp;-^gkCMSal$%Re?gN|we) z@~n!6J?f9qC-`F>%+u-kC$R&M9S(i`$Bxv7G`+EE8jZKq-V`Po7ZyXRr&iI^#z<5~ zW_cy?u+4cx%cTF52!z@#nc;5nd@|p8T~1Hgd@@6d^h-fXa zzSUTTII;Uf6bsBWT%3**z0O*59ZY{xqvB-)6vVj!Auq;s6#H?|T#Uir9F_zLW+_F@ zl$PaX=EZE&D)z>qkAgf}WR(sGJL)RXw$pG2TY0f*CnrZq_kY^2$mplr7j| zse~3vP;#VXL%N#_ij`ePQp|~8-JK|JL#m?16)Hlm@&s&rDs8C37GP@16~UATW_d+& zlsUI}%1Cok!V=nLn2F_LYzUCoFcZvq73QUN4Q3}Y73i6zIOW+ud|58sWKv6AJ-XWJ zYLZ-8zc4AmGP>N=$hr>q!phOGUQ|?7j-s%!`^7cdgH14HHO_?)=0Vhm2!kf2aT<1`D-h8oLrO6woeN8y9wwCe3&dmk!F~uIFN@Y;EjknFQ3_8A zKG#*R2+6O*%t*n5|3vs{&Lti4PpeY*nU^&}zNEI@Sz9h`vWF)Po)Q%BY-d&d6xUK& zploNInw^`TIoB~eJ+F95Hf`N1Ys|wr(4wU{Ggm{bh!>5eq!5bd(*g>UP}Z1UUS5nn z;|wCctSTHCb}j{beS;yDwBshC=`%j?3nF}+7BDe0flP+#xg zRWI#drN)>}3{z^)p6_y1XVD-~vaPB88{OH&YFBYpy*l`1eWPNd46&_IUx{I>nYh>p zlGG%zSnwTAUzj7w;4osiJjRtFISJS&G<@9b1j`9lqeH@zrAVeXxuaJ7)8Pmy0>||z z53#ku`{#${LD|ufl#VqD7%~K;hqe^R7ARF;r1uQ09_G?Z2lXfyq2V#Piag|>ru2t0 ztE+G{nvrsh`B%d$*ES2G{*_4h`K9!jfo)bOrJ)`=2$1EEB1leURUQoPYV&b?X+_{+ z;{+v>WdErAQfg&+oQstfLlGkxwK5w+IYybuzt+U1>VwPl&;TkT{HdmmS6w9@Tc=8k zRyQe&>81K71DV|Hb|ge8YbrnTJD|Di$P*hiY1_n5{gv{tSZbZJmq^uENiMZMO0!y} z$aEN(ddN#IFD&~o*F_LW1f+=KTS@OwZT$6L)+b0Cjr~L}fBtSrsu2G4>7ZE)RXeD3 zY2-J!F(*B43!wT_!^69Cl(U*3$k?mReKlDqE%NC_&km_-auwk&Yo|v}KZeCWYQVwu z0p&qSUvzUCHT=PLm_b1T<@n6(Aof%(g19y5^-tqpP@jW_E1<4Y6xH&4n}a6cbRb*$r*I z=A!)c%xoIEXHPH24(3ueG>fBD#W`8p9Eap*CYFuxu_% z-E(~K(LKcro!?{kV9FnsPBm4vT%SOI2t zm}|=oH5-0jO$}q|J1GYzL2{(>5R}YBPa4|+T~6js)3+0kCrD;BP1N=!C%vdR$U511 zlv#tNbSwX+Jl10=Nf?q}$4jbzDcce{kWZ02<#Jeotk)QP)buXLL;$rA?{8x86i|AU zp7Z3(+e!HdxdS0seil>5YNmEj)kw3?LkUG1C#pluAW$n+>!!K0BpU@s$z8R7M(!a! zlxF%LrATKQ2L#Q^tePJV^jI+c;TUXXdTlvP)BY80j(bH2rErHWNTB}UlE?La7t2XC z*#qOG#^?Wj`Jx!gW$IrmQLGd}ni}amY?r{}wHU(CX;J^aVYYq+BlRiQTS`Aoy^Vu0 zmRTE>%QoZ|FOC-GeOFSfWI24 z38JBc=2$x$*1_hC|*jH@waG!rCFU3DkVR(6;X3m3V_|? zL8&2KFRI#8PdQ(ml}Jj57o{d(KeiklZlX@dy~OFwmvUjY0xmrN3@*YQ%SBpxat6K| z*QKN@w|%)!zx_L(zWV{6zQ|)Ob$`Y?06eG5JZ9dfj{`hNhKB$i3V0ZU)A@M!L~c0TBaS9y6x9srg6Zb(Uz{yQM{n*t${W##q13y8+8z&w18B>~k#>uOF#?&^S zF>Qy>Xx-;CiU({wbT?AmG7kInnMbE^S$r;+ZOKu?utQcJWSuF=(ob#j>8Bx#>A=qb zKA+)h`NI5it_bep13vxC!{>6dj-JKM=I3zRlYIKQ;N8B{r$4*Nr=JJE=g6?5#HTND z`}9uWOMx$w@J1JOt8n{_l}$e5eCS-&<})sU&I=DzGkt3glg>?C-9De*jqny7K9BPp zZREUsJxAd+NOJUxA$JMnE|uZ)OMLnZ5Z;BrUj+Oz32$uP=QA!xcq^KG#+3+fRh!S) zg78`o_>31HzC=!=cK$NkX72JGKK&K@eEKU7+`wJcb~U&9@Oo~|(Y4%mqffsMa<{Mb z={J=4^cxY*CK1J8xa)wsUdG+X`}8+ieEPP-tUMXFAiSI1KI1LWVe4w2@z%EO z{I-%i_}lVt=Mg94_D6ljJE5oV0Nn5UjCa9(H{3f8Q(8R5?cCwh@7m|n?>_Jtx2Nr4 z?w-T+18zTXkIJ~md7u6Xi%<^f|=z=q9{u{)T&HwNL+Qn@|7Rj?cN* zn?B;+*ms0`^T4~@TZiA~sI0w%Ft>Yr`uFmE`opsOeVb4J0pJg1_+#ks32>hR_nD0Q zg7@ja+~?DOb-<_p`mm(mQRwt7^!u(UT=>4^82>~5@BELpU-+LaKl8{FEM!|NDLV!3TZ%AxETm4O`csXQsL}_4q@Jra|EKF>x6C|pRuICXLQQ$vUH!Z9I#7< zD-%)wfvW;;fsCsbe8!snK4a}cpRw);#V^CSDDG;VCw;lj3q9%=q5e1f^o?tL`o)_s z(k*eGuUlGho{riDiqi$q^FruJx-Wyf3GQZD=N0X!|B$`v;Ci8D^HoCYk;{aOzr94D za&&1k!dmMyUhec6uUO3D9ea1~kNI$djn)G{g*B0EO zyAI)95B+Xv_UUhgem8AK{crc_Hy_-hqdw$jS&yyzQU4G6jN6Xv5N`X{C)_UFAy9tb zxf$|y;t%26wFdQHhTEM!SvYu&2{ojvp0YBf2`j0UF z1N@7?A7J<&ghPuy5MD}rQ+Qc;O?bums(?NdarYTtKj<^QaYS;z1;1~@?>n2{W%A#H z|HJTq1U&D{JRffM89xI4ZOlBIf?Z6 z^oHd=eV4U9eb+5MeYc(H{|}-5zu!|&c|~#S4SxQR&nUd#&uIKE))-}sHc~#tKpy3j zX}QnXXRXiJSB6h3^%?tne8vI5pAP&$h99MmgX}>b)PICGWG(uCgg5L_pZ<(PBlPj5 z!}VxmS$Q4#z7+0g$WD0FXB>0LYP4*bWK4X2oH6OUWFwW+v5-yWbbKl5zsF~sD8ng* z=>LIB1ujj-iAJB%mgF<0zYjm(&D3Wi>@4V!4Lx$8L+;K3y}fk0KCf`9{>+RidZi9c zgKpFw%)mDvU#d%ma2LT{3^%3CthK2BTTuUZE;Pi?st|A$cj-zUAV)Gvb0p5;EhckRXc z`qCBphQej~#*7Q}i<8dNFB!B{ue5FFZ-H(*QUCG12w!Rsn&57RdpX<`rJJcNuV(19t^*6vwMPKI7`;sQ+tkHLfk)Y+P4(gK>SvwZ;ueR~t7D+QjmM z`k!m?N9Ex24BeKm)H#jOrKeN5!}Ua&$LN$X2U&)xi93;TD^!n+wJ7%@#nC3 zp9@|G=p{sNt>#L3><9s_oXM)_Q!?hBavA?_mgHg4JKi}@zLnaNuY-W5$P+)CRjH6L2r$lp!e zCH!jsQqV8kaV2-T`!F^`?TuqlR+sN-9+}Hef z{5PN9t?*aeN^fULP?I)H07e=!iegog{%>5^m{TFzTHR*L+x=yFm>9EZt zyT}+(aJdkiKzeSc0+H*A0r6B8G(xeE}G#` z{{fo-_hImPLcc}hh124O==uu-bZApdr#tPYfz5*ib9$VB@J(n_OoKP$yEj1?Dhy*h zXE;X+@#(`EeMGawGYa3)jBgC%u{iCf#OAR=QhKr~XB?xK=qAM3go(l=#+L%V$<08-9l}8oyxO_@pu`%9`uIhB|>BRVwJv>(a&djc|qKT z0_EjJ!V29or`^y5U7Mlna;EFW!b;#)0oMXtE5q3hmjJ#L@MR3{slQ^)4&lm0H|eg5 zTg_yx5jN`9I_-vaps#P=pkw8!^*Uh_a90C&P5ZSn&ThCK@D1%ZDzK?7ZmY0a*ur$b z*=aZ3l1OQIr|wo^8^hfO-0i^Kkq&&TkKwihcNcJXGu-dG_C?PKJLB#Zb_u%$lr6&^ zgnLgj>OaED+xxigKH(wV{lGl{+=C3aUw9bsBY^iY81*0S$C&#GCgVw`-S8A}Pcz(y zx@Y4K2+s-6GujKF{Rgxc8SOpYLE%;1A>dvD{Brv%Iw}5d39kY7I&g2azbWHT{{g?# z{;mukX7Y}J@BL=G;RDd}_I@sWBz(;9p8)?U@SidKPr5IJZ**S*_Z4toGu-#WQNZ5< z{*J+@|8W1v+&?oJzc}rNUxE9L;r?J{;Lo_fSiT(-!u4FK-JsiIH|TeU=_S3p8Y6&< z1kSLti;P4654iiz9x`k;_8Qb%Z(nRT@tzo?U^MEfPDhp6P0>k|f2ZkVjV6Zc16*I= z`eji5^=G&Nz?}}A^-SmqU!h^+OT?S@p~(txuvoZVmpoDMjH z!CB0Iw((4TPO06H3z{9YJVu*goC4fb;HCjLo#E_;e82^O3mIH%EFOgV@0n$^Z$kZF zdya9Aajucd=+u~DH!Nm+7aErWcOG!(19t(#q5cD2 z2DpjAYxT?5u3$1&8ZXhWDnYZz3cpdY< z-gu3E19&$={-zAnfAHk(z0r6raMuBMJ#aTLoZWB};5NXU8T`2M=C!-^w|KTPIky_` z)Nd=b8*T&7?clkC@$4}AfZGn-UBKPVaCSpG;GKYXF?bL2e~sk z;D6frvmEB1#$SQ^4Y=QT{-Nsi7vN(%xiBez^-)y!!lJr_g_qe45y`0knW+CalYTv; zx&qe?xbDF9U^w*ufO`YxW!UJAilQQ$InX#k75~D{Km4qd%8xw}HiODiJ zEiBQS6bAiG$x-8@#+KPlr=A;i%i9?hd;h^gDKKkGeD2r^e^56{PFEQ9H_ZN3|#KWcXdokKMEfw0myeEAb+& z@7wiY)cwg1sD2+}ejj0B?<=#L_OEz6>e0-{)Ucmma$XF3D(Y#*^9*>NUGYNHbD7Vp zJpW-l??xSndO7SM=!aI=O)oLrTT!n7es#qgQLkmbuJXUhXm-=v;CqL;-(#{5gZIda z52N1C{6OXXh|xb`<>Ax8pM_C*_&n;{urI*-<*sj{zDoXDjmyy$ln%c}eOLBV)c46h zF#M0qzuojRXurtr-*){O^?ULks=vROKQ5f=kZwq?aD9DPIE51)ZHSI2x0@ozLT+yN z@Gfw7g}Yl8V5DUaxO+19(CFUvG2wi)5KeW-2)-!LqKVdOj*gA)8*Kuv50f(>ydT`B z!QG$ekaIfR1DQLH`5y%OVBm%ju60;A>2gN&i0F9Whcg)o;UnQ51@~y;fs8S5TbTR8 zh@|4n!jp$giym7)F5JG!ZW_NnHGD$!L?(L@{H3f!{lA6zi%yG954Qp*0%v2m?C1=@ znSiqxY&Ye=oy**LOvahzsQx;wlqYI*`tt%|I8;ZuFz05r;dS>)2 zhMNuC9N^|=0pEHy!_5Qk9N^AnxbwqH)>lP4qe~gB47Bo^VmeK20N<543^)SAA#?w%a{(t4t@Wok6R5|A{dQvt z>Dv0Z$C_TC>(x;_xSFZ@B^AA%kaXW31UFxnH*`+<8DxW|BdoZ;-ICjmbN_-O{mL_Ayn zR`hf0pARQFFGL>-|4+Hy^de{nb{~|(eJ%PW;9dsqmEEt(IJ@a}z;En+Q-&iV-d_Jv z_&d?>vb22D5&a3|eF{B3%R>E!oV>lihJRW9 zee_pZN5j7c-#06X*KYb2Jm2jGeH+IAD}N6E@s^*$(O(eF@C(ahyXiOZ{0=#PFgbs* z@Q)#UZdF)>E?Xa=gde_@{6$7kJPk2DBD%Ox|Hq;JXWLEPw~`J*Oi$o?0oNNip5ajc z0Y?FjX7I3x*bSx#lF=t-Ktx{`#{Zz726}%+9~5&sa07ue0~g0|sQ-Y603OQV2{C7E zh>su{!($R6M!4*zk-(4IGdc#kqAVoGi~-I9T;iT28D}?*1w3xgcp07;LH;MjSR+!v zI~np*v+brd@Z{~yj1hse0hbP32E(EL1I`AV!{G7=dqZ9f+7rW>8;T;P#7vE$x<1W? z`oF3mVn%j;1ax8fR>;zAUQBV!OvW<{JhNAw6)`7!uF7*Z<2i@X&jsDFsx+b`+o{sa z7~O7iZ9xCuP#sYjGe3gb)+(3Xv|yFpv~Vlwy(Fe4W>G{faCN}B8LlD51K10=p22og zBixIbdnuD~p381JAGiw`?&^q(hT2Wb8k!=gt!&=V8nHZP1>;)@zE$9BVSMXiE{?f8 z;u7F41@1D2TOD%+;41-N#bCQ>4cu#)dp(n}!DTmX1a1?n45vS1-Pxi-O6yN|A21?d6piXdjhy8fqRPK?51Y`KMVLd27ev#!iINa{?qVc1j#uN^Gd`)7y5tjyab+? z8PA(BuLAcPaIXXR2E*A+ZvlQA@H-5CFM|9Zj`=9!h|6wzAG8lZ`;gH-kNFt5Pk{Rr zxX&2QZu$c7mw>-waKG4Z8oI?E-SAVyw=v(bbpPIEH~p~6Zu*hYBVvD!`6J>N;C==C z+n(QJq%_jS{t4V)z#ZGe#Y#B4Nq?)|6n0Oz3`a&%xieJQO?GY

        Hhe${V&zv`+VxrSZ$BR7)V^dq;h+kWIulDmH79(Lc4JV^4;k37O2`&Cc; z$W!c@U-jINyue=iRj>TWYwV3*_12HP!`}N5UjKitc+k(RtQ#32v%MQRzV0> zQP5NpRFwr)6+u;1P*oFD)df`zK~+;w)eOP+0^OBWSFG$|h)7K?PGRlfXnl3?{)PfoW72p7liv``6 zf^LbRTPheW6LiZ3-3mdsQZV{T(5(`5s|BO41>G9KXsw`IC+OA-MjHg9je>5IV6<7# zZ4r#N3P#%m-FCrfhhVf*(Cre8b_+&(1f#uz(LTXwzhHDg&>a+vq6DL8!6-%u7AqLV z2}bdPQG#HUC>X(_QG>%mup@%eQNidNAs8$@H-N1J3}E|*Ab0~1vnEk zoiMzO8QRJ$$=@3a;*AAiyVxMGsdy0lN(eza2fd~VUfJ~bOI4G;J0=+YB?LPz1Un%F zJ1GP^B?LPy1Un-HJ1gkU399pg>VlxUD5x$8s>_1vilDkGXs!vW>w@Zrpt>ojZV9T} zg658(x+|#e399>o=7FGkD5xF@n#Y3biJ*EaXr2kG=Yr;ipn552UJ0t#g655&dMjw& z399#k=7XU6C}=(jsuZForKm|Is#1%ZG@>T0s7WWP(ufT5Cab8) zCTg;anjE4gr>My#YI2L3JfbGAsL3a4@{5`RqNbpzDI{tNi<%;$uBfOfCTfa{ni8U} zq^Kz+YD$ZmGNP`ms3|9E%8R-RqNbv#t0ZbFi@GYJrmCo`CTgmSx*DRUrl_kW>S~Lc zI-;(wsH-Px>WjJtqOPH+Yb5Gm$!Zcp)WLGnzfqzNmU8|LmRkOe5p`BkXA^a>xa@DR zDCuu@Q3s1h{)QJIi0To{vS_4;x`1fZMAS7EjhczN=AuyxQP)y5Y9$)A7Ikezqqd?^J5kqOH0mH4 zbrg*{iAJ48qb{PZt7z0sH0mxI^$?AEiblOequye$KB7@y(Wswj)L%3jAQ}x6gAEdm z28%{R#9%{3qhVsO;iAz9(P*R?Y?Np;S`0Qu3^rCY8Yc!DF9w?+8ch^~O%j7m7K2R@ zji!phrisC(i@|1y!DfoVW{IlVqH2z)nk%a2iK_XcW`U^sLR2jjRf|N`Vo~*_s9GXw zmWrxnqH4LQS|MsyimIHq5YW@;+$3@KvQFBt%of0*tMa>yecUIJ#6LsfB%>_|+QPf-# zb(clW6;XFp)Lj!b*G1h8QFl|++!A%SMco}yb63>e6Lt4R-2+kgP}DsVHIGHz6H)h6 z)IAe*&qdt}QTI~Ry%LRHi@GQvDlZvTkb+f| zj4DaNDoaLHq+nGgqiRyH>XK0nDOgR(sFoD0wiK+66s)dfR8I<4UkcVh3f52x)<_E0 zSTZ7{V5Fp@Bo!@bERu?mR8~o4lT@sv;v|(_QaL1*Q_{F36)&mWlFB2gyy~=3IQx?L z(cm^ndT6d++)LUaOBzK|1te7yNz+tPHIp>WB~=Sa(^68kk~FO)RU1juR#LT-H0>o- z2T9XW(sYtkoh3~dNz+wQb(1vRB~1@W(^FFQk~F;~O&>|qSJL#8H2o#b07*4a(hQO` zgC)%nNi$T^43jj&CCvy)H&W7!k~E_w%@|2DR?>`(#1+fagr`xGD?t)5+&Us z$>^|TbVSk}m5jcTjJ}nOzLSi;mvlc!Mn6hMKcSZu{OxDS=ojs^Ir!_Z=#^-H`%N_Wk?1E%;Q3`fRGP*1U zyCNA~m4aQ9f?b!4Zb-pyO2KYP!EQ@Nccfr;Ub4m3=QoWQ^uO!uLN%cn3yp>e%B-MLK^+8g7lr*0tRSH>^Qr4uBRjFlF8d;N8 zR;80w>19m@S(Q=NWRg{xWla`Yl~vYclU3PeO%7R=Q`Y2?Rk>wN9$AxDR^^j5`DIN3 zSyfQh6p}TCWmOSbQ&iRzlQqRsVRG$r`(?bI2N}taHgaUe>u~jYrmbwdGUr)o0*WCwszKFfcys z{`-;`E{%sraW*0NC>S=Uz9wUc%2WnBl^sH3dw zBu?ZgH4u=rpQK9Wus|w zu<5eV4B2R=9Bh_sG+Q>BBL|x+8_ko0&6kZ9$icplgDsSe7RkXD%fY^sjh4v4mde4F z$-$P(!B)sdE9GEc$-!31!B)$&jWz_~*wNX}Wl2w~!%@$d;RaR}2 zRoi9N4q3BPR_&5iyJgiLS+iGG?UPmeWz7Lubx>AC$(m?c6(eh6WmTN4iI-IgvL;bh z9g;PNWz`W`b5vG+BWu2uRo}^)?`6#o==C$;$G`oAULc13ENgyAdX43;=*7g?Z?fih zS@Vai`BPRMlQnIEn(MOWhOD_M>u$-K+p^}4th*~~?#Y__vhIPbc_?ch$-2j~=83F(Dr=s}y63X) zg{*lg>t4y4*Rt-7ta~eK-pRW6vhIVd`6%l?$+{Fuaw(P2QYoRNRzgdogqBtbEu9ih zdL^_BN@y9Ca55>OWmdw;qJ)!G2`8HpPIe`n97;Gjm2h$?;pJAs$)kjqR|zkl5>9?4 zyaGyi1(iq&Dd81X!YiUgQd9}Am=Z~GC6W?KBqfzdN-2?)Rw5~*L{?Ubq?{62c_p$6 zN@Nw4l$3RacU$p#-a`Bv(rbR$ED~j*?tmC0IQrx%x_S4V2^> zD##mE1N@(qr(Aq2EbWlR;sD#r=38%9XS{Egpu1YxF zlyJH$;q_3$>8XU%O9`*H5?&uAoW4qU{gm+fE8z`L!W*bWGDrz;uoB4-CA^_ZB*TxbfHYuOmtc0>f z31zDi$~GmG?Mi4nlu&jmq3lvZ+pUDQM+s%G652i`wEaqG2b9nbDxpOwp+zg<#3-S~ zD&fQ_p~WlVBq-q|D&ZVb!a1yjb3_T}s1n{cN;uyt;eDrs^Su(@4@!7HD&hU4g!i)& z-Y-fdzbfJVrbP0)65bz5B!4QA98)6sONr#T64?nQl9Ng#rBzI3q?!NN5 z2TF1emE;~NpL?t%_eA;JQzf})%IBUdpL?Nv?xpg%SIXyJE1!F#eD1CCxpzt^@0HJe zP(t~reD0GHN{T=zDFdHN6$mADAe1zLP|^lMOBVbtOat1=n6$mYNAe=mb(DDYt$rlJGe;}L!fp7{2!YLF8r*I&gB7ty< z2Er>A2(Ne`oDzZXN(RC!6$r0%AiOex@X7`vDHjN@d?1nvfk-L_!mAXBq;epVDuGC< z1|q8#h@^TTvKoO%Y6c>!6^N{MAe1_RV08n*>IH(;4+LuvNUmWZSffC4jRV1mKyqXt z7!^p44kTv@B*z4jvj&p01(IU}$#H???1AJQfzLSu$+-fb;{(aL1E2E*KIcW-Y$xMW zw}3UA{pwbML1!WGIWZ856!@I1PbvHRyHF3q10jzlfzLG!gwiY!O7lP{Edrlw83?6S zAe7dD(Aoq-X&VToT_BY9fzUbxLg^R?ty3Vh&VkUn1VZZ?2(4QnwC;h>dIUo283?CW zAhh0raQXy7>l+BCUm%?Rfp7){!WkF{XHX!#!GUmw1i~8{2xnLzyy1cHMg+ne83=Dw zAiU9m@Wuop85;<1Tp*J1fk-9n{7BCB# z1n{7BCB#1n{7BCB#1n{7BCB#1n{7BCB#1n{7BCB#1n{7BCB#1n{ z7BCB#1n{7BCB#1JG5+<{NS->n{7BCB#1I>Pi{Es< z{Z|WQAWZ*$fsDj|StjDYEHm-nm4)~(%S!xrWh4H(vJ?MhIf(y%K{{%(+ z?`YzGXCeM~4Dr9S68|@BL?kQ`2}eX?Cn9kWkvNG+Ttp;15s90K#6v{lB_i<=k@$&7 z1R^|qYB9Z_RUK1jcrbHyoh)9|f;k6(lX-P!ViU_YY5lI^&lD0&6?TAR) z6OnWv!s|#x(uoMKGZ9G_B9g8|c-@Fdx)b5`AR_5Wgx8CRq&E>>A0oWIL?r!)@cI*x z3?RZANJKJ-2yZYE-Vh>^p+tDYi13CJk&Gb18%cyWiU@Bs5y==Lys<=h!R2&0vR(N~0S6=AfRF#4J>T0Ko}(wMu!Na!-Vb#VRV!*`i3z2me74i7=2F|{Xpn`B#eF{ zjD99`zYs>h5=Orfy59+-KM12g3EeTm=r6+PIH5a17@Z_^rwF6dgwYv7ca|_ZN9fKI zMi&U9i-hhHVRV_$T_KFF61r=I(RIS;2BEu27~LXtw+W*=gzhe3bdS*8CyX8tx`%|( zBSQC>FnU7ho)SjS2;FnS=mnvBN$6e?Mz0Co8^Y)5r6YCeNnHlgC?l!MMCvk=Mp;N*R#KOZG|Eoua*(>5q){$Xmz&h( zA&v5qx_qQAKWS8e)DX1lXtR9Kf#~P4GL#z?0YD^;PV;&M8 z6p7H7g+v(4N+LFlB@qs@lZXRzl86iANyLqLNW_czNW_l`BqCxGiO85jA_1%ki8RHU zkw|l_1&Or8T9HU=tPP2@#oCcbd#nSAbi_K5NN21IiFC!fkw|x}2Z{8=dXY$PtPhFw z#rly*e=qu;C;!0vkypqp;B=G6owEsM-CW*|#W|PPqY%Yn+!{(Fo$pzRKB(e}&L?Vl^FG*wxwv=2-F2k0S z$O>#FiF}2vB9YbLYitdPti{%m$a-u8xq;k>Z6cA)*cKAmiftpek=wByB(f9RMIyVw z9&9g(?8Ekx$N_K=iz1O|EQUm4K^zuOA_-U`i5volu_GjM6#It!hWr-$jzqr4ejt$_ z!B5!FB=QUPEBPz=8}>Vi{DJ*R{z)Fg{vwg%*a`9kc@jHCBB!x40HG^dJM4kwP+o%vcsG z3zZeiMj_cj4lE~y|JQR`_1YJyr=ZK^g^2dhgV^+0{B0o8zN zh&7@bQH?PIKR`zx$m&5;G-bgUilMBSjj~ZJ#!-kJI4~#Wq+A$J@su0$P#(&Q`6wUd z#{>!yfrQDFOet7^3Q$e3rc_g^8P=R?PPM>VQZ1=gSZk^^)dp)zwWZo&?Wy)u2dpF2 zk?MqXraDtyu&z{BsvFjw>Q42*dQv^9URZCcH`NF0OZBDtVg0H8)BtQCHIN#F4WENnJ4o0@~orRGxeu=&({Y618HTSzUW7GaC2#nhMB5^4#xlv+kDr&fTK z)K}ChYBlvWSVOI))=}%J4PYa+iP}tUp|*l;)OKnIwUgQfc2j$(z0^KxKR7@gq@t*3 zDh9+-aa25&KqZ1h)M4rfb(H#s`WAdgeNX*B{Yd=;ex`n*ex-h+ey9Ebe^SS&zo_HX z3F;&`MV+S3P-m%g)Om1$x=3B3E>l;itKb@Sow`BYq;65S!5!)@b&tAFJ)j;^kHBN< z3H6kEMm?uqfS1%O>NWL-dP}{d-h&U+N9q%mf=)@NqEmx3bXqzcou1A>XQVTM%ybqy zE1iwbPUoO=(z!rxIuD(f&PV5`3(y5YA-XVKgf2=Kql?oe=#romU79XKm!-?m<>?A^ zMY(F)SdUSod0o{;pL^sAmNhJL8(6ohSXe(`_S(*cO z+Ce*M7tPad+CzJ3AMK|FAkq>o(+VA+o6t?^W^{A91>F*~qFd8#=(cn_x;@>2?nrl{ zJJVf2SGpVBo$f*RqU zijJmZ=vX?Aj;9moL~w{cOdp|-(%;bE(%;eF(?8HZ(m&BZ)4$Na(!bHa(|^!^(#Pn( z=;QPW`XqgdK24vY&(i1U^YjJ!B7KRzOkbg|(%0zg^bPtZeT%+L-=Xi)_vrid1NtHT zh<*&7&`;@S^mFJ3)BX6EOkLWP#-h^4M8K&7@%QEbU{s7;K$H{4hC3(4X}U% zc8dczfeY}!4LrbW@c};&fCwZY1H}>mO+Zu73^WHVKub$2&>FM>Z9zNG-qHbd1f4)< z(8bafbOYT%56~0zvh)UhKwr=g^tTKE1Hm9L7!0ut1;fB_Fv2nti~^&<7%2wIB&TCE`m#z%is#QYPklkgBzBc;Fje!xC8E5?t%N@f#o51WO)ppfTxyc z;5m3qnfZ}|W|f=`wdObR9?lM18;X_&Mi9g`kp02!G~ATyH%WChun z>>vk|6XarYgFGNFlMm!)3V?!4Ay60;VTyucOmR?xDG5q}(o7jpmMI6yGZjEZrV^+O zsxVbSHKsbK!PEq`nA)HYQy0`@>VpQLA=3yn#)J1Hx;SEJ^vlICj1|}z7I2ImI2b2z zF+6ZH9^hqsz|ROkWF#On3J5SwKvSj}XwI|%EtyuJHPZ&PW!i!EOb5`B=>$46T|if+ z8|cpT06m#rpf}S8^kw=n{h0yGAZ9Q#lo`ehXGSukn9jJ{meloiiu%jnRq6FNn{Q)N0@JzZ<+6zADEw*pP65n-8u&78LgSES*+Qt*{wOPxvY7td9C@a1+0avg{?)c#jGW)C9S2cWvu0_6|5Dl zm915*)vVR6HLbO*b*y!*^{ox9jbPFQX{F&~&}y|=Ijh6!wDMNB)ob-x1*>G0tpRHj zYcuQrVc##D+eW;A@3+itm^m?{WD8=cyWQH7%ot{-hOvP%Gcz+YGcz+YbGOXxD?2~W zGtE19J9qlb?7g$r=Rf#P#+J`HiI*qHljO zSIVp8)$&?-oxHoehrE}(kG!wEzkHy4kbH=In0&Z=q zsQkG6g#48JjQp(py!@j4lKhJNn*4_Rru?@2uKd3If&7vDiTtVjx%{R4mHf5*t^B?G zqx_Tni~O7XhrE%ZiK3aJg`%aRwW6(}y`qD{S>dX1S9mDA6g~<+MSvnu5v&MRFceG$ zTftTE6+(qb0VpI2NP#F&g-n6dLzqtVSB6|cC@6(Wp;2fRdWBJ8RzxTw714@VMZ6+W zk*r8nq$x5KS&AG*o+4jSpeRz5D9RKSiYi65qDE1t=&tCg=&k6h=&u;47^E1Y7^WDZ z7^N7a7^j$^n53AZn5vkrn5mepn5&qtSg2U6SgKgASgBa0Sff~{*r3>?*rM2`*rC{^ z*rV8|IG{MBIHEYFIH5SHIITFVIIp;P^P$G4bm$*+nARZErh$qBT;u-OrcuD+Cydqu`Z-{rqd*TD}k@!q} zA-)pdh#y2FvN73&Y(_RGTaYcu)?^#9E!mFjKsu4mq$}x0x|1HH7wJvj{+2GT^DNedZCMv>8EEEz|}lZj*!nM|gVX=DbONoJ8bWG1TgUKP}FmgCKf*eJTCdZKD$noSv zauPY2oJvk3XOJ_=S>zmYE;*lEKrSK|lS{~DO$pHg;X(B zLX}bFR3+7ws-|kGZd7-wC)JDUL-nKjQv<2N)DUVIHG&#Rji$y>iaJA`qs~(osms(=>Kb)}x<%cl?o#)uhtwnL3H6M6LA|72QE#ZX)O+e9^_luY zeWQL*jg?K5&6F*at(2{mZI$hnPD&T0tI}QRsq|L*DE*WH${=O1GE~V>vXmSpSIJij zm0~5Rlqex3q6}AJN}L{icT#p%DwKqhQmT|1rA}#38kJ^cgfdDQql{C=D-)H;%2Z{# zGEaEahC~LgiBBO66MRM&(xJ4&@%@ z0p$_p3FR5(1?3gx4dor>edS~2bLA`LJLM{Qjh0gA^)KrBta^T9sa9Qdv}y zs%TZLDqfYON>Qb$GE`ZrTvZoUfvQMVqAFKas=BIbRNYiPRJ~MvRQ**0RfAPSRU=fR zRAW@*R1;N`RZ~?nRI^lbRP$8}Rf|>2R4Y`gRBKi1RU1`XRNGWLRJ&DsRR>guR7X_D zRVP(vROeI|RF_p(RX0?(RCiVPRS#89RL@i|Rj*WURqs`wR9{rzRgKh5)y>td)NR!5 z)lO-V5p}p4rw3ktsTFEUtx{{%dbLR%p^j3= zsuR>n>Qr@xI$NEq&Q}+yOVs7+Ds_#zPTfP@Tis7RKs{JJOg&OPT0KrZQ9VUHT|HAh zM?GJ?NWE0OT)j%YR=q*JS-nlYQ@vZgPkm5*M15R+N_|#+L48?$O?^{+TYXRcQ2j*x zT>ZEDjrzU%llrUrhq{TTxu%t-t)_#hOOaggc?92)gT&~rlY2l zMxmiJYK=}~)L1l8nmA3OCPkC3$h~Ofyn5Rx?2} zSuFJ6tkV zyH&eWyH|TqdqjIedq#UfdqsOgdq?{~`$YRf`&#>6`&s*4+gR6B*Id_9*IL(B*IwtO zbJ4l!Jak?UiV4&MfY9TNZ(Z7 zT;EFHR^MLltasIW=)Ls5dVhV8K19#Zv-MoPKrhmRdZ`}K%k(%sqV23#=qbHQuhkp$ zCVhlHS|6)V&?oCt^%?qXeV#sFU!*V9m+PzaHTrJ)9{S$;e)@s>!TMqPk@_+Ear%k+ zDf;R9S^7Ep`T9lrrTP{6)%vyi4f@UcZTg-1J^KCnL;557dxC`^%s(PzJR@XD}Kf4AF)-L!u$YkYUI+B$*|S1!?4G&-*DJ)%y80h)^Nda#c$TNzJpb<98=;PnNj0&UD zs5Kgl7GtzA&X{COGiDldjRnRMW4W=bvCi1T*vB})IK(*IINCVgIN3PeILkQCxX8H7 zxXQTBxY4-PxYM}Tc+hy%c+z;*c+q&(c*A(d_`vwY_`>+w_}=*0_}$pp)YR16)Y8=2 z)YjDA?5kl9_ON1=@-J>8UW0 zCZ$PZ(wPhN>P zH0?I+GaWD;G95J?H=Qz_F`YAAG+j1bGu<%VHr+KnFg-FoF+DfEG`%*xHGMFBGJQ3D zH#IglHMcOgGPgCiH#?hM%^qeiv#&Y89ApkPGt6u=*DNrL&7c`FBW4+WJpHG+vsq!L z%xbgNY%rV65$0%foH@aqY)&(0n6u4!<^pq(xzt=?t}@q{yP12Mdz<^22bzbNhnYv3 z$C$^PCz+?1r<-S)=b9Io7nzruSD06u*O@n(x0tt?cbfN@_nQxykD5=IPn*x0FPJZz zubFR}@0jnKADN$;UzlH+-V8jIdyvP4*-Epe74OR6Qql5NSe6j(|u<(4W-jitM#m!+>| zfMtkfxMh@OtYxBQie4Wp=GIMg=Mv6y=9YSt7WHUkL7^nu;rNLl;y1DisiQD zk>#c3z2%#wSw!0i*9f18;0ShvC<3Mz-$aBq!V(c5krt5`Q4-NLqG!Z_h!GLvBc?~p zk60G5E@E56zKEj{XCtmg+>Lk|@h0L+MB~Wjk*y=!N4i9MM*2nuMutYRB6*RbNNFS* ziAQ#dR79#Gb&;mXsK~g;q{#Hh?8q*W#gXNa)sfvIdq?(<91=Mqa%|+J$Z3(YBj-mh ziCh`EHgZ$s_Q*Yv2O^I~o{Bslc_s2j8re9iMO51;=O~XT->9G{ zW)v?<90f(m=tU6`rH(R0MMlL%B}ZjOS@%gs1H%!qMAmxj&_Rni1v#Pjpjs)qM>Mv9%?G1 z_0bX0@zJT#+0lj3<!dH&+b-5Q);-oc);~5lmJ!Q|6~uzEaIB0z zMv%u+v6@&zY(#8KY(i{mY-Vg;Y+-C^Y*lP+Y|q%fv4diV#g2|0A3G&>X6)S9MX}3c zSI2IM-5R?yc3Eg_BF>#4;X>mDm1#x9@UE{jN^@$r8H#}}^+@!b}adYDq$E}Q8 z7q=yDSKNWPqj9I>F2-GtyBqg7?q%G&xX*Eo;#FQGJ{I-ys>z=V+r6B1@5EJ#?M zus&gX!oGxK3Fi{7CEQDRmhd*=OG1;x7Kv>VJ0!X$dM5fN1}26kvJ&};;zVg8nuycm zYa&sVs7o{_MkU52CMTvR<|O7P7AICDRws5(?439uaY*9G#IcE!5~nB5PF#?mPzfBT#`JK{E~u`m`S`O zaT1(_C3Q+7k~B%iq{yWBq?Dx0q%KLtNtH>pNxhQ#Ck;&+l{6t~YSQeag-Oej)+B98 z+McvG>2T7?q;pAEl5QnENP3p^I_YE5_oQaYZIYdnJ(K;DLz6kl;$%1(rw4}0WJ7Xf za(r@Ha!ztlaz%1&a_{7U$s>}-Cr?eDle{Q-W%7pP?a6zSk0hT?zLb13`F`@VkO23q$DPvQnrp!rMlCnBw zbIR_N!zrgyE~VT`d6e>Z%Ey#Osm)SbrM63TPIXW9PW4X>PGzQYQ-!HuDx8YZ>som# zm8wlOrbeX3q$Z}Ore>w)r52`^rBgZv)Mja|(>kQNrTL@a^}@ebWY|jYu1tHaTrZ+Pt(SX)Dv#r)^E! zm3AQQSlXGiOKCUK?xsCXdztnw?MqtY^p@%E)7{d2(u2}j>4J1gdN{pmCeyX)=JeR~ zhvDz{nLl0k4c}DJ~MrO`m*%3>08owr5{W`k$yh?YWkh@$LW8ke@OqH z-aMmShFgYjMo0!X1IR$>g*BO>&xp)O$jHd(l2MjXlhG?gEGT1*_r%Iai%mgJhLOcW+5`w znfgp~W^`tJW^!gmW=>{)W=Up6W=&@I%s!a|GKXf4%p8|FIdgjEoXiE8OEXtxuFKq< zxg&FL=E2NknWr-^WM0j@m3c4oapsH6H<=$ZzhySbYMIq8%O%S*%P%W9iZfS+}zuW`U1m27CubjXfW{xli%E5EwIqDp9PHav}PEJlyPE}6#oc=k(a>nIM&6%6CG-plDmYh8~ zM{-W*T+X?j^El^K&ZnG4xy^E0<+jUp$@R$f$qmR2$z|qpbA`E*TqGBxj|t?t%3N)( zF*h!rO(<3qKV$FLEggDB=|%MT#P0 zQDRYEQDsq|qLD?@i5a>?D2=Oyn;8kM#w^(YN0<(5k6Ll9MIL}_wqZfSXGkJ7=V<4R|hE-l?q zx~KGb>E+Vh_KN0-kkUsb-d{ABr!@)zab%Uf1BRd`hdS8ytT3Ry+x z3QdKjBB3I)qM)L(qDRHRicu9)D&|%!t5{#Lv*J+2nTl%__bXmje5z<#*}l@NGPF`q ziBxv3)K*4Urd8%wR#o<{99B88a&F~{%FUJgD^FKmt9(@Xwz5%GyDIN0MiodO463W5 zt1_xes=8MVshU_duWEJG&Z=WoSE?RWy{~H8)wOGIR}uX$MB1+LU30s3?K+_A_^$K2 zuIswD>)Eb%yT0k#xVm+}|QjJ$Ds&&;-)k)Ra)y37-)xE2SRFAEmRz1IZ zW%Z`&J=I66&sX25epLOs`fGKI8s{3{8b*z{Mpi@A7;55bGHZ%zYHIq`jI5bjv!G^m z&Gwo@HRoz>);z8GP}8*5sn)NSQw!DpRjaR!ug$J4ukBSkymm_MqT2PfdumVB-l%D2Noo5}RPEyyo&RCaRS6Ek9H>7S#-Qv1Ub%*LM);+BIQ1`>ZQNU5aQNU5aQNU5a zQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQNU5a zQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQNU5a zQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQNU5aQQ-e_fkuwUQNU5aQNU5aQNU5) zzgM7RBL_zTM*&9xM*&9xM*&9xM*&9xM*&9xM*&9xM*&9xM*&9xM*&9xM*&9xM*&9x zM*&9xM*&9xM*&9xM*&9xM*&9xM*&9xM*&9xM*&9xM*&9xM*&9xM*&9xM}hyJFYp6* za1?M9a1?M9a1?M9a1?M9a1?M9_^%ZBjypICI0`rlI12n13w*;J90eQ&{<{Uf;tq}i z|J?##aEJeLfzPyf8A^RzwQoNXsdxZbn9^(JD2l&73KK}2zhyUB| z;{Ucg_`mHo{%^a5|KD~K|2;SG-*p}TJ=gHxbrt_zSMc9+8UJ0E@ZWP0|6LdG-*q1U zJ?HS>br%0!XYk*38vi|~@ZWV3|6M2W-*p`SUB~d>a}@twNATZu82?>|@ZWV1|6K?0 z-?bnAUHkCgwHNmM|7VNv zUs;I%$^!hK&BuRb9{wwH@n4yP|FhZnugt=KWhVYBGw@%Tj{mc1_^(XGe`N~(E0ghG znS}q!MEqAK;Qwqq{ww3~Um1)4${74tM&rLS3jdXn_^*t>e`PrSE5q<#8H)eP5d2pL zSgkvz~ZEJ@B7(#~bQ~|Evygs22ZO z4c<^S-cVQkXH|GZmH5vp@P^9qhRX1tmEsMR;6E$I8!EyZD#U+QfH#zn|Evq%P#)e; zF8;F|yrFEop)CAonRr7Pcth#<&(iRQQt^gT@Si2)4JF|XCE`Czz#EFk8;Zk!7K=9& zgEth7Hxz~cED~=h0&mEIH)O_tX2KgX;td(_hV=N)ba+Eryde$VkQ)D)3U5e>H$>qL zk$6J{{xb#MkQ{HQGv3f&ctf4=hW^BV_6OcjN4z2Y|Mg&aLo&RfaJ(TD{~3Ze1mg`s zctcXWAqn0Ph&Ke_4T$S%1TH*Ct;&v_Ydd+dWW_Z1(xLp(6t}$M(5pMSb ztM?tV`-au~irIa^>^@`lK4Eqrv3egcyZ4ygJFMPY%tcBip=r!c#dnB57??l@NO7-n}Avpa&- zJB-;K!t4%Wb_cL}`!TzHnB88i-X6?uH)gjBv)hT)+kx3_$LzLYc3ZJ}TQIxLnB6AK zZX;H217^1#vs;JRt;OutVD(mGcB?SEm6+WMtlo0WZW(5`6ti1`*)7KEEyC;;Vs;BK zyZM;iJj`w`R&NewHyg8?h1t!->}Ftg)3JKfFuSRk-4x7jGG;dkvzv(3n}FGk$Lz*o zc4INSF__(G%x)BBHxjEi0<#;A*$u<&hGKR@FuTE+-5|_vAZ9lJtJfd1>xbF(#q9cE zcD*sXUYK1^%&rG!*B!I#hS}9&cD0yY4OXujv+Ii4Rbh6Om|X>CSB}}0VRogMT?uAa zjM)`oc7>Q-0cMwv*>%C}@-Vwx%q|DB%f{@oFuP35E(5bm$L!KDyHw0B1+z=W?2<6M zM9eM$vx~><;xM~d%q|AAi^lAtFuO?X|A@fsESQ}cvom3KM$FED+37Jm9cHJ+>@=92 z8naVjc1rC3pfEcUvm-D&1!gD5>^ft1e_?i=FuOmo|KktLt|Mk=fBnViM`ja_g=44< zf?2^d$VQ4uF^LU`SphV$jR+HALK^`l!1y*i%!*6n*sw7+#tNF!vua0cYtsg^ zYE5fp(-O04L2GW)46|xVYhu$FvuZ^9A+!2!^G)_m_SNQ#%<41klg&q&)d$*pn|Cs+ zx3o7luVq%RXn)(hlv%x?J-2x#vwCXtMD|4X*yfSU>LKlc&3&2GJ)66-yRthrw`Eqh zXg6(c$gHm0T$5dsUA4I)v$||^Np?wg(dL58>b%W4**V!+n=>-2(>AAMr(`E>PROi| z+Z>Y}lO44=BC|Sdb4YebcF^X4%xb^QKG{CmUYk8KtKBxcWL7(AJ8ZVgthU)~m04|} zZMNAYv)X90LAF7*-e#T5YOT#0nbm5WRkBsGl{PD6R?BUc$*h*rme?$oSuL_zD6?8% zGha4eHqU0R%xaF!Y?;+8o0+nivKcnhWmeN{rpm0Q*i4pLO`=V-nIN+oZ!=D2HP&W~ z%xbjFDA_34NShHdtKl}oWL86MhRCc2+YFKok`1&OAhYUk(@$pA*QSrms<%xqnN?4l z9x|)$v~D(aGOJpf8ktqKO;?#!l})A0s=}sRW>scWDzhrFDV7z>ifjsHRs}ZsGOI2& zc`~b9n;e-{woR7ID$^!IW|eM}CbLSlNs(D4+a$@X5^WM>R`E7*GOJjd7@1YHO_awN0ya=~? z{y)#ct)ALE3AcLuKaaw#9@;zzx4Qp7_rk62+T01Zy8S=5!mV!F+z79CJ>2S=&DC(L zD>j$IFVQa2E`*<_oui!%KSMiBI~9JCc7k?1{21*h?MV1x+9BG(@B_5{w0+@wX?tk9 z!*|hk(sqPzr){Hc4c|iBOxqN`k+y-hp0+N0Eo}{Lb@(dUO4q4lQqqV=Tp2=7koMysRMhS$)lX1n!fElopH(^NDijiQm^1WiGc(>l}sqIIJEN&AD= zF&wASFNwAfqj35`X$TFbK{RQ&ga*<8nwTb{326cvpT?tcX&f3moJC{O7_=~2C@q8* zObem~(gJAyG(Vaz&4=bq^P+juJi^^+ZZub#3(cA4MC(9nPiseOOKU@GO>0GKNozrC zPHRSMN^3%EOlw5@fqqB7p^b&dzy?~xa&!K10Gw5mb6nYXp zfgVSXp-0gp=wb8_dJsK;?nn2bdue;n-RLfKC%OaOj&4J@qFd0-=q7X{x&d8}u0z+N zYtYr`Ds&~f0$q+SLzkjU(8cH?+Cp>zIv<^f&PC^-v(Z`TOmqf19i4_wMW>*X(Mjk; zbOJga9Y-6BjzLGGqtKD)2y{3)3>}INK?kFQ(1GXxv_IO9))(!A_C|Z5J<%R$ceEQ? zht{GsXf@gutwJkl6=*qHhL)lwXfaxZ7NP}cKH3G%Lvv|4Xf~RKW}+ErI+}*2qA6%H znuI3O63}=w4vj@)&}cLYjYK0*3u>mBP$OzU^{5Wjq8e06`?{@fbwZPl#6muHp)VoC<6^cLunys zFdBpgq5-Hs>WBK$d{A%H3-v@jP5ZTAINv)8|^Fd1^JA8LOvoNkoUBA$XnzM@)~)C{EfV%y+EEL&yc6c6XY@N z5%LgufZRv!A$MtaklV;Di=07D(@r5LkrT*q zkgc>W$Yx{{vJu%pTaTEe$Y^8~GLkj|8IBA?h9W~~gONeVKx6=|Khh8Bi}XQy(|RF2kse5QS~sK) zsYPmN)ks&Q3aO-3AmvCIQi_z&ijg9u5GkPLBVCX@B$t+hWFuKfCM^R=N79f~S_+bk zBq52k1SB4bqs1aINHh{fi$o$23u3035F=th^fVo!MKm-uqC%7iMI#XcQ6O?!XXG!W z6YWpr52T}Qp@Y${Sk{j=6hROefoM`hf`Bvt5hEf*NE0A@gh%5d9E43{AxwmUgwaBg z5G0rugajf1G=Ibo@um47-iR0CN%KJ55jUDE;(|ESoRAJkds;iBEz*Y88fk^Jq_ser zBh6?{ktRrES|j8K{GIj<{tADgeTF~5A88-p_wYN~Tlfw9n)V9*8-7W90Y8VI(VoIj z;K#H_@I%@I_&$7(b{D=4--2(z*Ws)175FlI5xxMQgU`aJ;ZyJl_&9tNJ^~+x55foF zeehm*H@pkp0dI%5!CTeT=fSyf4x9yN!WnQHoC>GFNpK>Z0LQ_xa10y;N5T=X88*R2 zSP$!9Ev$xBuo5O=0#?AC;lJQc@Sku;7^jCC;V=p#Fa%3s2@JquSOg1UKFou;FdJsU zOqcuqW&eyTPuoGwcL+fZM}u;Wltt%ue@YoXQ9DrhCN0$L6&gO)&xp+(R_XaO`InhVW=W<#@}na~Vq z8Z;G}0!@Y{K@*_~&^Tx;GzJP-qA=7#ai(ga$zUpuSKas5jIL>IwCL zx{rnK}v{%NQi(GkR0j^b%Oqc{(w5t zt5b~ri4#tL%p(vCL68)ZKp+G_Vn_rDAwI-|xDW?oLoA31F`zIg6bgZYp&%#_3V{3} zKgbvIfxICv$P@B_+#xr}6>@=`At$H<)E;UFwT0S1t)W&>OQ;3Z9BKwNg_=N(p&!z3 z(l63a(ht&i(l^pq(wEZb(x=kL(udOf(!0{z(woxj(yP+T(o50{(sR-?(o@nC(qqyi z(nHb%(tXlB(p}OW(rwZ$(oND0()H4{($&(H(&f^n(#6t+()rT4(%I6P(izfe(kaqO z(h1UW(lOFe(h<_((xKA9(t*mOev$T`+4|>%slZHzXDI}Fh z0jXFjl=7uqDO<{tGNhr>U}=yvKcRj@=Eej@?7#v@vPH5JGE6c=GDtE|(qGa~(nr!u(o@o1 zQYWdER7<)_DkbHTGD(S~SW+m-mvoWjN^&Gwk_<_@Bvq0kNs=T;;w7s zKY<^>_uyOb4fqQD8+-vi2cLpZz(?Ri@IH7CybIn2Z-F)=)J3U~>;2%ZPefoH(e z;3@C~cpN+m9sv)52f_W|K5!4X8{7r%0Jno%!7bn>a3i<@TnDZNSA(m-72tAk8Mp*o z3@!v0fb+q*;2dxkI1`)!P6MZclfg;gL~uMf4jcoH21kJ-z~SIfa0oaU90(2o`+l^T1p%8_WVT!E`VUOa+s{Brp+- z2jjq4FdB>kBS8yj22G#=)Pp)u1FAt4NP#3sfO4=i_!rm-`~&O=;`FE@97I7Fgg_|> zf&eH6MW6uWgFKJ}vOyNe1jE2kFa!(&1Hk~$AM^!%KyT0s^Z?yKH_!!i2A#kTU^}oa z*amD3wgg*%&B1116Rbzj1HJ-ZfX~23-~;d;cn7=zUIVXyzkwIPbKn{96nFwW z0v-YnfcwB*;0|ybxCPtmR%*bHm}HUb-f^}t$S4X_$m1*`;C0Ly@-z!G3Fun1TP z%m?NHbAdU)Y+x2J1DFm>1EvB~fXTolU;;267zd06#sH&%QNRdbI4}$t3Jd`T1A~A8 zK!2bg&==?f^agqXJ%R2(H=quv1!{n5pes-XR08Ed8Bhw80L4HNPzV$N`9L0!3*-RV zKo*b*WB}5(14IK+Km=d{41f;M04jh26hLR76YvLs)59Ya zfB`8003tvD@Bj|L0vJFj5DWwY{(vvw4R`|XfD7ORvuY7A%&CMPj~~ zEe;b0i~YquVh^#axP!Q@xTUz6xRLmq=#%KZ=(Xsj=&9(D=$`1d=(^~N=%VPX=#=P~ z=&_sD-GhsFCQK@U!rP@U8Hb@P+WH@R9Jo@Q(1N@S5ggq?+d3Omw6 zK|}}%L7`YE5ORfVAww7{3=#$ieTCja5235jS=e6KR@h3|LfBN;SomG=Rq#phLGV`a zTJTcvT<}EjNbo>#S8!W!LvT%SS#VKsUT{WmN^o3oRB%{uK(J4+Td-5GU9d&4Nw7h% zR%1$x z3%s+ule}ZR!@T{xJ-i*ft-MXVb-dNQ6}%<9g}iyZS-k1IDZGiivAj{d;k?1T0ldDv zUc7F+8eSEzoL9^%;N|hMc^SMEULr4!7tM>{nRq&$nn&>zyuWyV(Ca&tC*=V=A&NN?Rc$uEqG0Njd$t1AE4WL!i@5W-bGfs))45Z)6S?ELW4I%^ z!?=UF1G)XUy}3QO-MBT}DsDNqlv~8j=jL&`Hlw-vVqw<)(V_dDk+ z=M(1x=PlvXEkR9XBlS+XCY@kXD(+JX9i~)XEJ9ZXFO*NXB1}yXBcNNXCS9Pr!S`$ zrw6ASr|F>wqW9Y@Vka!8JX z)0xwW^9Oxo7tTRA5J$oRI3kXK!{cx`EDnPc!U^I8aQrwv950Rs$BpB{apJV+wB@ws zwB$7BH03nrd}n`Vzh}Q@zhFOMKVaWs-(X*1UtphMpI{$lA7t-k?__UfZ)C4!uVgP{ zFJjMQ&tgwwPiBv2k7f^N4`vTw_hI*7*Rs2^%h|>3e0DB7lby;=V#l$g*cP^dtzj$K z3U()UM|LjJ(JTwg$kMUYEQ+OI{l)4?FEJ37 zlm)PaEFO!^Vz5G3fh=E^7t5XH!s@_k%WB1H&T7K?!Tien#C*?u!~C21ocV@J zhk28Ejd_`Qfq9mBig}!Qgn5v;kGY4rlevw#nYn?vmbr?#g1MBrh&i7*hdGluojHX$ zkvWbznmLj=j5(M&fZ31Po7sa|$E;yiG0T}H%pzt!Gnbjo%wVQ6lbH$3SY{M6f@xwJ zm|CWaNih}7znFj0r;*`Igehf$Oc9gMV+La~V?1LNV<=-FqYtA8qlQt*C}9*Zav2$n z6h=HFnqgt+8EOW}=*;Ly4{IR?zz{Ilj4(zJ!;j&`aAP-)nliqHy$gFD_8{y= z*oCkYVF$u?gl!C48MZKNR@kJl(P4wbdWY49m51erWrih&MTHr{sIX4-;1>+zhJ}Xt zg}H~d4{H(jBlKhFtI#K*cSEm*UI;xIdMI>v=$6oRq02)Tgw6_`96Ba+SZM#yo}tyD zWuXP3S)nPRv7wewT__paiC#}hLxrKN(BM$tQ1{Rdp{+ujgnkWqAM$s|laPBMH$pCj zoDDf1axi3f$kvbzA*(``gv<|_88RhgT*!!!!6AJ^dW2Mml!p|Cs_;T>M;FG~e zg7*jS4&D~LF?dbzir~e;^MYpuPYs?JJSKQ}@ZjKn!M%d(g1ZKn1s4T(3C;>m3r-A< z4UP;p25WeS$rLU4q*Ow+?O=+$i`{(5s-wLAQf0 z2b~T&60|31OVFC2r9pFprUi`)8Wz+)sC!UVP*G4$P-;+YkU2;bBoD%apdeuoD=09? zE66#hbx@O_FM)3Zp9ek&ycu{o@J!&*z?pd_G6KvqC%Kzu+{fGI!| zKnDC3fCs<fO@vrbN@h|Yt@z3y2_K)|E z_BZ?M{nh@2|6l$c>6HTHFZSpAv;D*TgZ%ycz5HGMJNUQpZ{gp>|C`@Czvq7U{jU3+ z_dD*l-*1QC2EP@43;kyLP4pY(H^{HIUyWaxUl+d&zeK-CKfNF2_opA~2l#RQLj8RG z-2B@4HTV1O`@#2b-^adpe6RVQ_dVfz(07;b7T>kL%X}C3&h(w+JH~gYZ-3t&zSX{^ zzWKhHzRA9^zGh#oFX`KfUUNu%1->lbU|%0!H{bTYEqxpNe(`zd^U~+B&pn?TK9_vX z_#E>&;IrFjtIv9$l|D;+=K0L@nd~#xXN1onpT0ibeX4!RdK{d;jT;dBfhIx6qsG&GZiO_V@PocK3GnZs*;~yP0<*?~h)8dp+{H<#oyH zwAW#;-Cmo$)_5)Pn&UOqYpmBWuYO+Ly(+zmyt2JgykfjeUTQD77v?4P5_mDa0=>Mv zoV;3jHTL@K`Ns2^=L651o|imNdmi!J>$%-?gXc=m#h!CKr+SX}9N{_0v$toRXN6~x zXO3r@XM$&>r@>R@+1V5KggwQc9M4cse@{#^NqlgAp5WgZJXW_wKanBXzWW2i@ek6s?N9+e)&9$h>#JyJa4Jt94f9vTnA zqmu{b0eb)*JP)Qvu!o5e5u6JCox}I}A?s~v=m+NNNHLlBC=ey2uo#Z;&b*O7U*Y2)eT}xfN zxMsR0xyHDfT{W(R>!0*G4s_+aGF^jQeO%pK+q<@OZS4BR<(s?m5EOwdaGQ(w(%UGA;E`wb9xO8{v>Qd%X;F9B#=91_V<6?HvxhP%a zE*)J^7m16|h3yjR65!(P;^xx9rL{{lmmkibo!>eC?flgFf%9$WYtEOP&pMxQKJ2{D zd6)B6=MB!QotHZ=a-Qov(|L;X1n1Gt!<+{>_jT^+T`w8?3;(_*LDPE(x5I1P2`>(tGu!s-8E?_R*;n)bl&uel_dB$LTBf@zzy(==^| zrj@p#QBkR;Of_wX27{7Gle80Z8Ofxb5)A6dp@%^c1VJ$<;s}Bqf+8q_BAg-!Cn$o@ zL2LiNYc9F9buRDof1dY!-poGrnZ5VgYyH-5t-a^Ads>lLns`>?sfo)It%(b`9c^~v z^u+YU)Wm}l6BBibs>I(6KN)r!zA$`jc;C=zc*XF7q0R7^;bDW{aEIX*!zRPu43`_c zhVu+Hh6=+PgTrvTVTEC-;dsLWZfnaj%rsaGX@(TTfrdmwtU+Vgldvn{hlFnuzD(#& z_%LC6!W#)42`?o4BjJgJM-sLq+>_9ha7)7V3BH6Y5-v-)D8ZdjmT*==LBisMV-m6w z4o#Sta9~1wf+}H`{#*U$`VaM;`j_fm7 zqo1pvsh_H!pg%~TppVl39{)}JKjUAEZ;O90{?_=b;xCGK#TUh|h|h~ZB7R!@*!cMP zJ#pX1eH!;p+)Ht-aSz1Z7Uzq*G;VENS=^a%wz!3HbK|DRO^8d1i;nv(_Pf~6V&9K_ zE%w>ime~7ZZ;ib+_VU=e*mGl7$DR>;V(f9TIkB^1r^TkmCdKMv|Iqd8zR`WEdtdju zZmaGo-6J}`?l#@^x{bO^b?52M)j4&Ax>I$_bc=LH>#}qix^!KN?f_l9PNVxJ=3g=I z$GjZV8sm?-Ddvip^JB_m&Wu?elN&QTW^&AdF)=Z}Mt>9iQFLeY^U*EQ_eS3w{kLdu zbWQZ?=+mO}qjRI@L{EzzADtMjiQX0UP1Gk*??iP(wM9J=b$8UwQCCN8h*}?28C4u* zk6ISBklRpZMx{rMi!w$a0vozB+>6!@|lO{={*Fi5-eskf(uMiHR?)rnYu(> zs6In|iuy$LQngjRP<;$HNFJe{t)8JiL_I}qR;Q><>SVQ19j}g2Yt)MBchxRczp78Q zQ`M{LQFW_6QhlI$SM|2)4b`ivmsKyQ+Es0;CsmKB{;qmh^?=H+x?6RJ>NeFass`2d zs%unNsjgJjt1eSrqPj>`r&_OCtEy4CR28aoR8Cc?YL%)`b*Acc)v2nJRVS&ItCp%x zP+3)rR0~zPs`;v;xWVTLRhDX&>M+#|)uAejYN~3oYLaTADpfU3Wl|laN>(MQjH(1x zyed`|ql!{#R4SDs_K4rbuVR<@S^Ok^6n)}5u~U34dc~LG3-P)5RD2>n7CXd;;sf!% zcvox}Z;MXxrg&YvCSDaC;$`uo*eaeE&xvQnGonpAEuIvu;&JhqXc2!GkBEoGL*ha4 zfVf}WC+-#Zh`YsI;!bggXcD)HTScR|McgbJ#Es$xalP0it`pY?pSW6FCH^KhiYvtx z;;-Uz@fUHK*dQ(ymxzmnS6n166c>m(alSZDtY`6vbz-fk6>d=@s>Qj&C8}5|MTICA z=ZLde%7jy_5vxThONl5Jt5}MJLlm-{CC(HpS8w5m{12Xh{)~WxNP2<3wZ`D{D>IGzm&V4wT5WK^L-hlUEwE<8Se`LPS~3k#PO&YBgh?%3MZt4pg3 zifYaoQk{?unJq#bVlJyOS5~?CzusS4R9;qMcC&*n1-Dm})zr{k*~617OFgdAVs~k% zgxO;*uBxgg8AWbce6RiM|IL1nxx933X}P(wwqjLj^@zgztna@ozpA{d_#E1(T;q1i z_zJ4aWaw4q>e8YTIxD+ruBvs{l$Dg4-Of^TSw+#BQuAsyPpdJP$kAR`R#{TDP9Dr- zQFV0{VHTB_%kd}bd>MX?_hGg#hQTDHdN-p>KU%M-F)&Wu0p*MjOb zwH2k6?#Rq3s|-(_>Y~aukl9VZ*y-(e!s ziO}R9-UXTbMUmMankoz#wV7Adx`UG?xDp;yIg`Q{0gj8*8$74>u9oxUoXVsk`2L?Pme?q78;mch`=hl`kaJ#F^XnV*7Ax+NZqDpg7WS6;Wwb{MiRT`dw z3yUh{SzTP^S|5yyE)`7U(75imp4!37N@-<@j8C>=b{DN8+j2A`XTra!XUI_uOL-L& zaqn1UYX40=WtE|;;E?*5>DB8aVf?$}_sYxuLisP^2)6xSln-aGrtG}P$vCv%POg9C zMqYvTJ+zS&gs;pD$*MAU%|HSo^Yh5Xk|x##xY3;Bp-Ot!KSg}#;2rCm}s7qHaUID)M=JO4xOGcW9DI*vu4l9I{b*a z*+eb2rA`|f{W%YzR+-2BMjA8mQ;@h4iJeCp}8e?0SS z`*Y8~u=T~4Uha71)z`MY{>Gb~Z@vA__IKZVzw3h!|GDF%k3Z@D^s~=;e@}ioWLiq|&SXQ~ZYWUg8`_Cf_3)fWE%0p&nQM#(KxVE~Q zi+*XLd?!^HJdKAOG_?E?!^_uJ?&FAo+ULz1UV5->u!s9CH?&qt(*IIVaj8pQK;(fd z+_UD$?ho4-tTFVT;rTecu#gL2acN0mZKZshw@3`%Pcqog`=-jl3Ws!_DhKjCw86BA zDdJZi#)Pr5RsFAV{Qt&>9>eP=W2IbQ_dguN|6uqsk8tZl>w+mhiM){QJbVuNkT@C|t*F5R{f8*EF4Z^#RMJQ`@lHev(ihm{CU z`hn6y*hXxyEg8O{Xh>Q4)HY&+ZOQNr&XMIuY_KgEzF|ang>A$J+mhiM+#~BBvB9=v z_=aJfm+_C-U|TYL!`UP2AF;uy8huq_$Bp<-nD5gTkvhHvnUEI(p{ZOQNr z>qnL!vB9=v_=ey`V8}7H5gTkvhHt1EQdT~-jo4sYGJHemQ~TgSwhYXrn<-_uZ+R>CpBfog=JMWi;Ib7RUs5H;pd?(I@R0!drE#WE?E9;5!%|XD5{@_l-#)k{z2D>n90P|Oc^1T23p>bkAZ^|Q6aP!S;x@hWIIFG<$M{sF6$k-zHG$0JYF6XiDU7I{c_*X{U?mruh#I-M)8<2 z-D4m8P9pSW!{B=8%ZdG!8{A7hg9pjt;`pVZ$gC?uE?5$JVhgV?4ZASxqOc3XE{p76 z6gqx!q+EFYgh;u;&&RW}`S4d(RampWvba!w6U;^GPp?ff&LN+d_j&xjUTtJvBM&!E zG!m8DU!JkD&?3TyRsjjUIUNb{24lg0&2_85Y z&)|6Q_GCZfF)(E~ey{TTnq!exr|?9+e>;pn^0|Dw6nQ>yu?z2$*QR;l=kj_Jc`mOb zk%zpl$bFHAyiN^Wmu2N#mLCdaTXGH$ZAX@sQ+R*-<=GlJ7v#JjS;whtD-Ca#b;#%Y zDktla?^k7A^8DIY88-88H-`4hw~Zs)lKW+UWFO>t8mVi4>#>YW=0LV9pUZwmaxIUSxse|uBG;FZW!M#rGqPQNvm#@V zj|Kd3@kbsja})WNK#rd*A8AL%5$U&VFY<_Nm&ZlQ%6+n4Szf-UmdbIFxs5zzKV?0# zZMj`Oui%gDhkP#Mk&os4k@3nhGS4ITFAHy%-;V9C4tDXrIkaEa^=IXV=35>&G{15^ zl9xz)L-Qy1NAe-ZOFkm&k-QGgi`+jn4|08If93kn{>k;B{gCT684!;Z^6NzgU};sz zg4)s=x#85(lFHDtP`LtUZFO)*XjL3nT^2lUMUlI1*N{wx>JrS z`Kb(M+1$;o2xmYTL<#7VPAciatZdg#e zrnZKvR`Atusl2rySc<$9yQ}2dvZ}R1H;cT|;$iEwA3TEggVJtL+6_v3VM8NAd%<Kw`shY)A1AF8# zLT%w+9j;Md5&Z0D8TiE5%)eS3`5f4!Ti6wlmN$}=`V37Mg zzKr`cDqQl*PqX~SjV}%OwV(ShWVbo;PmT-S`LJp|N7j^b*9pJ<4Ia4P8f%RKb=;l=sx|!JZpKf_G8Ln+Apz-aD?srSd1pwWZbWLU$Fv!G&)o2yLs8Hw}c} zG|QV@N-L{s*Er2JEw%GWNked!_YFAa1xw-S8yqtS^))2P5 z`6B72t~T1xI6e8}@7I0SrE;x1iN#Y^_E$Dzw+4Z9a{_N9U1n`5(>naSw`|93Ugs?0=DvC1 z`5F4oY2LixmrnfF9+_~3#qxK2zK$|i@+)%i?zF*+3H9VJEL>P{nr&b_SYLMX(nTjN zmR|sc_7^N(x+qv~d4B$af^bR7EnU8BQNef z^(EI^-hYJl@9X7J@O|3A7y5JMjko;%GY~AzFuq3wZ-1z+E?OVHZVt9SWW0;^U4ZvH z!TAx|U0J$rL>&Y3Wgi8SdFPdAUCAny2$qxwrO5xuwUpq| ztco#X#+dk}NILWp7+i^s9W!QdH88AXATTDHM`*X$^#c#F>*t@PLmt8HgX@Ep8u{Bb^JH7G;rj7;xV>7$9vv`R67UuSqGlUvcHSH zm%*)}+GL3tL&^zpkLnC%e@n@J_njHsbG+((@tinAc|csxe?!YG_Dl=z9ix)Re;b@c zDat$%BWe{Pnw1NbjbfdcEnX4_iZy$lQkIG1R<4S6oJGNuai)VHE2}rNckm&mlNFV? zU-?uSFCJG4mHSoKsXkUctjbV-rfO0JRFl*P{jo{4Qc}ulHRji6ux2n!jWq!+J+_z&SGQ9IdxANzUgA$kU=d^!Ya^Lk#5vi$P z^AJM*_dk0G@rZa_n<&l3&&=60XhDKU&u}P%qG&pjn}bjXpCvA?l#0AC>7*bE8&AzZ89O z^yATnxG0fCZwtha%741p#dV@fg#H_^ny8wsny*@{TB2I2x?B~h<29bi`80ic=*Q*h z3l}a7J)JHhf3HC9mk&!(WmV<+imF;}pymZ7_}=Rfwik!Ls5m$D@m>_wy5-j{qCE65 zpVwXa<*vCr_@f?W&*!GYqS|s^->TP4rrZVdEZ+9um5u3B4ET~@^1 z?$xDy!%@jA_~1e8Kf7pck$IuKw=UGo8ospPt^;|DyoGt7>4N+fyqONZ_YB|l8rmhd zuj4m!eq|rLA$H&>zQ-!%FK-0jip%?FtE%~K#4PjVEGsD~<@WFLvZ8RyGFtM%m&P@` z>6dSji@EtY5`yga{`Se^ib7w@h&45GjqeLf*O{fY;qi1k%Yu8(=Y4Gj0jw#nT2)le zrRR8Pg?kTb&dROE-&4~?vcueTN9xGTc>sSNj@ z^ZSf5IVAM$sSuOG$5n=JwGA%rX3?(}duSGYY_xV;(kLkSAM zq=*^eiCw)kRKb++an<4e&krZ2Iy@fSge(6h0e>UUJuoKn$SL9W=ZEX73740*MGP4} zAwSp3>EjN4eJg?=z&O?&?q_h_%z4B#DYx@ciofPlK4-RE;SpXxA}h2SSs#esSyaAS?vmAUCq(E&ba;Kv z?7?;FDVLXK{&rh=xyxNGU-RYTKoP4y(8NQVm~eWcaj3}R&oTTKaXP=9 zRq^im0&xlN)f&b9;$hJ$UJ-l#i{%5+Bfb$aTA_}S4XamZSFBiZuTX2FW9QC|PnerH z=70m|rjDC@aOgv|COPH@0KjlCg^QVYTQ+ z2R1DmtJvRAi>>Iw4JVFOT5&Tv|4@q#^kRL%SfvB~Xw1-vZD_%br&8Zsjc7&(x=yD( z^r3aRMzo*<-Dk2LH(_ptMzo?GJ&v(T6Eo6-$Y}`b=m2qM>I zvL8*4u>VHldzby_$NUD$VH@h+ixU|)Q63x7iTax<|6IJt!~nLT<@tEA;}+_BJ6?!J z#_#iZp}n1P{xV)z(2t$ig?&x*KM*gPrT;Y2Ie-^Khx?Plfyda)bz zcT-QSUSy&(PA}Y8kDKnH{|2_-OZoYFVZ-|4^}^-Hv)M1L(~DLNT%;G>*x8^L;=Zwp zuT?M1XnIdCeD_l>pcgIJgxj$d`>_*~A7DPA8|{BkFZ$vWM2lRXm>^beVZP2y5OvZU z5=0{gIuk@2`hQIjJFp?aAaAeQgfUPeW zL@S!#GKenB?J|gfT<@ozN642sQ52wQdZO@PU}mCdl-qL?MF5+y;P1qR&DiTn6y`@M zzdlj;(2Amk@jw^)u^YS4_89ZwyhPECz1@kT2OF}CLiadvXB))^^w$}MAAMe<*oGY& zj3WOD+RYpzn$f>(jL@}GU+EZ;{uJl?>M^1lJvC#5?`i7!ag1m|*X}W*3+pkZjpNXP zrafcCW^`aL1~B6vRz1V?U(Rd)oKSzC-j~?`4J8nn+K}o{&Jm)j6#O#BUL=)Pv2b<9H0(r!8 z)R~e*Gup6UIyFgTZzYddhut%iL_0Rm=6LKqoc3QN-XmxqbL~mOCD)6HU#?>SO=U?U z^s#t?*&%ky^10I~Hg~ z?rW@H#dY;{;&@FfTF|Lb?oH<5m?)9nNgRu#gaf;0M~h9^eq6M0y~Vg(6fL^nAs#KS zcJFh(r^bjT?5d3sJJ9z`jL7R^{6C5jUTmJI6JiJbI8P^Xu=P=$@L=vsI-&cBdGLx( ze?KAqD7$^ML zH#<)Bpzo|WvGQ~J;f)j9vE$k}(TiQz#|cLd@!k?Ay3lxMoUnaC`}cEQN8M9#BKJ#< z<2u`ltuMuker$S^>+iqF_d8rivG3D(;m6J&;zbV{xlWpU8J8HnSc%PZ^r8VA?bF%LcH z#RhD{Rt(7fk5JD}`tcn5rQ6t#<~P}oUEO+N`4)fIixSK|FhN+qV;(L^5F41n*A1dW zZhzAtw7=jxydGfJ#|BY{eV=gsN6Tjh(T|y58bszU>@|pTbp2=$ez~5QDB3V^K%&SB za9m2FsK=(siDDC4=kPl4EBSCH3MaO5J?}>Q!A6nt8`~EeMG5-2p1aZY1J`e~{X9nO zMDgnwVfmf@tCBCRU(;^d)g_4n)TMKM!~kx?TnpE)J&e;KNg@v| zhjM+z>={X-4P6+J>sg zJMY>1u?xL1)Q5T{@2ahzhklK1CH^ygISNA2mwmCKB%u^|FvpSP(ysUWgW+(wvPI7rI-3K`x5HEjyV28``B>>`9Sm4 z+@nYl0#EThUP!FHC8hWV*yU>R_PhuQ%3VFR|K{deXGZrMZmM&eiK z2MRG>@uChJ(2wnyuNtrPVm}&hRSTbbypoN1n(>MQ)3xK3delaZSDMipLwU5JxQ+2Z z6K;$huh_6Pp7LndQy#t8fsNRW$qD0?0GbnN=XT;sCNAtVQ4Tv&iKB@;rHxnYxCLF< ziuKqvdA!n!9Tw`r_8HW32jyo|5Bla(52j?ZA5BM&S2FLUpGS>XoajAzywZf*j~TCY zq4`+ayNmHhi*ynF#u6)ek}esqbmGco;}zXzwa8sQUdcr#+R=wD+bslrn2R>FW9C`3kLF_Xh}+P3593}z{Mb@O{BpgT?f24eH^*W2I*vpC`teF1n(L_7 zuNIpw9IyCLcQNf^-KF&RKD?UvG3Pq^iFw$EF4WymoYym6=(>r#%JoM2iS>6;?*ruX zUfRRW4^Vy!^W$OSK<%S!M@tLkG3#;0|3Uio#CXMu+g@PYvG-;2kDhJR_Ym>DMLU@F z0sY49JBagP#uNP*_=xyX{|WUqGj83)hv}bk9Oiz;xMR-e9FKiye1z*x595z@UodW% z^Cjg`|1aXe9oU5>z0B9YtHn;VVDnehkB+a$D<0g9P3ZlG{A2b`@`Zh9dX($IxAX(M zzN0)geNTCG_K^on|AGF>{b+9CeE5<2G3zJF<4$bC&HdDmmY=B~x1i}U;{JvDu?wBJ zau?%@-PnrG0Qte4sC%6De~s?Pf?oCk&vQvN)42MiaaM$9<@fwV+VTBJBIRTPfAfbF#UiO zr4M(b>1oO(rzpADaA1n!MCU;%iVyP-PElIXVoFiEu@7}^%&)O2N+vdrOHu5YJw8S8 zVlVo!A%(cmmYSjj&^jSSG5>>hC#EP?>_QiAG?OpPn?$~FH}>MzH1hQf`zMnxw5O9V zESW;S&^48OVcj(Hg_#!m|15b%3;GYC|7bsy{-b_6{l_-!KvxF+$NU-ezn%Wgr2n`B zo#;D^{-ZUM{-c;h|1p0y{eO=2IrJZ!(T?sc`j6Vfi3@c{5Epvq(vRnvXW8@{>y9KI z^v)w5EI5jI(40d&*pH?c7>}cg2b<=TCv+Y|o-i|)JmGHaMcuK~zm?a4h2#m%dE^Oq zVm)qOME%%$9Qk>Xc8@1NXtI(YY(Wot784IzPoO*+mkmk#({l2I8*Jp~WwppXk^JCpv}4Oj-x?!2G~A6dhbAPbMz3pF&*Njb3z~ zNd8s%~2>6FLpGw28ER?-hlKa+l7?pgE$ZH4sXRr2JZAGj5rSWrY> zu?IWQR6_i(aeOKH#O>&k>uZP`H((c-S0 zUhKt{=hN>_`dvqRm~{bp!t@J?5A_#OFE*lhi@3bhi^&&LFPbi)UTnoyv|h?MV-M=y zX1-rWKGBCxH2;P2xCL8r*$rGDJ3HkVd@kQN- z%p2T>4OstA=0E1`pdWJoN5s|5@tBSE9}^eaJ|Qkl?j|nm!Y{6xPox1V{7+Mk(k*o)n`{TI%IFNk*+=Ob#0Gt; z62O9lRK@%i^T3d*Sg{LT*qoTEG+?JORcXiGF{w%~?oLWoj9*jV0jWy1G&xmq;O+xc zm3kBh6BjmPH+Gna>l^AFOI+AHj<|4T3h`ijD*eUH6X@?w#%&_~MW>nmV#*}?i#^zi zo71Ql>n2n0xAJ`l^`dVIabV|E%A?Lg+;aaRsfzfH_a%p>Di(B2PgQKVF(Xy+VEGL4 zkNGpnKbj6B9_&HW_v9&)crbq!@!)Rsp>_`ONVA9s#o@%$$Na=hY&e2`qI)j+M_YEP z(u~?8Qxs3UNb<3F_=(aIGex|+? zX&;kMVt$~01@i;71>_k6*o#|FreD7>9;eVRTzM+}!aO_u!pzf%AC0HeFWik{7xA6J z_+Vfq<0Czj@xh&E5f=&vabZ6Ou(yb~0vx}JxUjF7xUi>$xNuV`aiPgcJiiie8F|7c zbfV*I@`U}^j`im-?wCDeA+WnpLrk4C+-a3v)-FlAO&3rzO z`mwH#`Gm#`X@3uSyomO((@UJV;S%eb{;({l;yZh!fkcr<_V78gHN+Hr>cL;HC!3;mVtc8&htk-`I>M zHNQXKLY%nyR`QQIw~>F`j$P=!oq9E_Vr>eOS^=Idr$s-zbgHJx0E<5nbqboH(%`+p+!$@`EX@H0tz#&MJJ5Ilc}<$2WTWl?;>IRyz^vp6N(XMj0B$>oc$1mG zrU{Az8^=vhny^1*g3={TrM?51cN3@&Z4)VnMl*T9&De_BlgI;ZL)}62CyjbBfDYU^ znev#PPQ2KLedw4nK`|dpIkcgDD*3{OX%m!Y?6FWU_F({bqtQga4k2%tjJaq=J7%B@ zH)0cRJCuB5$#jm#f(+Ul%lR^c^4Nu5ET75vpg4^3*nnc3Mr3Bv59~k(I%m-jxsL59 zvZxnx4=0}S8qqnIe4}L^?Msg$kJyGHh5Y4E4tvmso}(uy9@NjLJT_qmW*tMl*nyT* z@{~)wxEt%SVF7u^jAI#h+=`|N^m8Hkz^&-Q-HYfK<{VEPxNR}zCNd8Bw2y7*!Gfi< zk2|pgy~`LMOkPfTGv_DfVvddeVJG^~c_Mj0aT4XR0nL-h+Y0K(4)o&60>%?}V>dRQ z%s8e|-zn6Kjp)MdcH%|j8I(iYO3F=Uex1dC>pZzL{ky_Nl#cN_K0 zB2P`!gB^D;Z_#!q=MQ#aH|jRi|JjWH-PDKM?x8(Q@lzjmV;^q1kNW12*9V9jd$y2A zbUZ}=u=8R1m&NPLBjf>dAEh4b!FJr*!g%B6$H>>=yl;7&JY&fdoPSu3t?0&1tixX1 zfZ_<|1)8t{Gtv4a?Vt@kXh$D*V>{+P&AgpU`8N82na@&BHgTW@?d{Ba>_abZc#i&H z4|b#Hd5%Al>(dLghfV0ftgWZDZyu>`h9(17RWy+(zgYwvfeVFwM z`8tYv(1sbW(hqFMCMrk7Ykv(e*uXU{)XV4R>NY`hQ?tu=_{ywvh9=pE$4$>#^=<`iHr{ zkT*=;McjG3k3b7H1&9aheq~&+{5SfEDZeu=xC8re^KRzlBF1?SdBHApVfG)C$8Few z4u$gAkLKeTPcc!kVJ~`7ub!wh<7Vu_Y|TVP9MAD+!6q%`F*l0x*oDpLik_%+V_wWe zMQ7!B%tozlBKO-d|IvpTu@jY6Y{zaah?~go^R$n-SQkH0ap4YZ!W{iXr4t)boWM9I z5C`_54L2Bw1ADL;8;ui{KFmp)sF;@!Pcrpk#z7MmztqHjG>)U5e8xYO_|Q0!_T+jR zabZvTM8&j}>+aNviXHnc#E<&v#Dl#V^m7^W;IN5`6-~1yD)nfbGf`GrpiT702Pa%J}6FulXmHc6{o$~0%KFm3d`t9@^bFt)f;z8{h)Q^qW zfmti5AGe|9G|HVxJ}`jwxbZCF#`Hqs#tmpXo#P$Ui(86_8}+M*1G}*U-Nn?4+tG3c zc`hMtw3iY$iq(`y2X~a& zKGG{V->~Fw8xbYR@!2DMk zM>M`hyto+yn7xhiPWp{@biGdfsC$FBu@QSQ>rLiU8SjtKiYq&*7yHnU8{Q%gG`-FI zIGgJ{W~1>P;>OKbkJ;Oa8@FK>I^HGjbI2E3u>L*bM$7w*Ber2P7IZNma3>ne$;Sue z8BHIOM{LF>H2#x$isp}qqk{4OguJ4)o8u~J_jBee_V$o>)P6}m(1_jWLSq%zgI@ZH z_HT#-Grpr9?CT?MnEey|b8)`?O#4{Ai#XB#EBV5v-|5e}ut%7cPIPO` zim{q_qRfgFTVl+L7n@_vN-H+To0UGSOE4>z8qNcQS+QdW*5f9lS!u@&W6VlG?oXne zn|>c?RvhR$*sS=_i+=QBJ2qh#`o~eemid!vR$REl%zo6Tn-$$!>YKuLG*2}vP1t8K zE8XasZdOd|D0dj~VB>7F(t!5EsTX@tc$hD9%}O?I$fh229Z5Y{K96$fJc|CWXa47y zm0V0YhW?{&0sFBLb>}hO$Fd*u^VpBRMdSx}97n&g>3I5aKIIp)A1x=Cm1b|^?{rd~^9Qql_Q+q9462^b<24qhGiK%~xk6Dl{nCaz34%4C3!~^dNC6>pcU)Ufg90-KJ?)x^kW0&Ze%>siIykXkB!)h#;529 z_CCw}`y27UKs;!9iQ};uJ2CrZ;zvgZ?O(-wMh7OpLVwZzD)RvQu?vmc$jjB#^9Jo> zJ-Tqmn~aOx{ucFO*4y;Y$Mpj(=y->5$A0wSrtQRm8ShdrZbjWSc##Y#EY39Qw~c$VIE$`eD095@W3;o3nyNLfrt}6lZj?HMtykDsod$1Ynexo0l{5$<08m zv0fqX*e50_;wI*;YLb$Po79sOJ6bf86fd@+A8p!6N+x6fDUXh zPEvfBF=i6?aS}(;B&83X2hjelTqlxgAH{*Rj}C0cj)Q0)(@nI08~q+j``Cd_bc~~3 z?8jEDA5VEqNg<_ ziEY?~1+yrRJ5g+A-pr;Sm@-tnngd*kA3JkoOpP9 zj1AaUnaMHlvAJqEA|#Sx4L>aY`y*o)~X?qwdJ39~R0 zbI^);=)ipRpaXsAL_fN)9X;5EUhKnq)cLs%q8T@1Hf}*1wxAQ+(2HBK0e5E;A7&oK z@%PbB%*4DL;=t|b!`;}7x%0^n?m*rBoR`N?9`(880}B>VFScL@CNCt9SeHls9w5#| zl*5$chy$C^k9o%v2X{4Hl3(P*PybYT;AoJbsKUBNg#O#KD)4|k#+y(d#ICZ9sw=*LdX zvy+cz@`BmuK8<{%{&eESE!ZK~&!B(UkC~5fJzGhhQC~GMy^Bx^H z(%)9{d^2%jeo&GO$vkMHJo@gWJ}lYHeze}h{-=1o@w1K%_YvpQT!$ZEoUs8t zn6ZWaU^{kT!Gn~?UNp7Q?}vyRO%GEZo6(QfX3it*M%_P{-;WSK*8iP+W9OsfLE1vS z(#IG-EP0$bo+008#f?u8Kbl)9k1g1a)+gydcBAQ8=G{}2N8{7Pfi2jC_BQIrJ`7;} zKR937sqY!)9eS}Ilb6R=uAvgJZLwjDNR^DCXM?z8IL6D!;J@|DdyKWzmwAxE4Ch( z#{Ha(<3VXk1DZ`~N+(e464!M=EjPjtP{*%@Zky1!l^<&ODz)z1W8? z>`0?t3`|brK2EM1Qz(zNscA~~8=UXc()jy!l*0yWvQQ3t4^2~yZ<7BRY243AJm|&N znQ4k2HylR$7?_o&=sG!mPMVU5Em@RD*Wr}Mj3X$I+PRd+ZVX^=Hu1iNM-ne;k0M?a zN7Fv;m`}ZLlc!wjMbEL+D_uyvSdvG*(nZvZ_Tw0jcQ~Ih8!g9EA8tB<`mlc~^=+rU z732{+Ph&ea7p5tucbSK!j2m{GO?_x{F|O}1ZnbGjJ^If}H3KJxk@+qW=ZupM1;{Xxc6u4A)Ye~38b zI`+x+hdJ(_tYaqTHgmjON0(fGgyZEpHp}(Db3B?JP2>Jc#_3hc?I2Iv*pH64*p8O> z7>AGWN48`APqc@oJ+R=q2SdUI@!g6dy7j~i>d(ng9bK*f0dNC8*(1rnYVb)>9g)VHy zE!c^@*oWzv#MMLI(1ID5iD z*(NJa^kY44!6t0OR_w(t3}7FopGd#IqJL;X2U^jE4s1j(ZovlZ!dC3XPE0Nn8xsQ@KuBQL!_tAgsyq0pPyOsLU^Ay{^qn_u;H#%Ns{zyAG{(JKJ3jN3I*Juw- zuTvfaZ!k{i?&LV^dy9Ud{~h|(M?cpuZ3ppV-skim z%fFedn15ux|HAm7N1v`_|3sd~q$^&uAC#_ipks2n;^-&u=tECtI`=gaUsgJQ-_H#a-IlJjWAg2k zlk4{q&+i=9!tt2$81>_3H0>sTt?7y#?JuS)&1il%U9s#T?$6SdCanLSJpIAz+HdKK zAG-}xlx&6bG;xYz!-mu;N;mdm0R8i)C_bST&BsnrI?%gfisDphg|1)<_Yq>%6veF8 zik;_9Q5@*5rabCuD32cOMd#%lr_qW4)?`Hy zgig8t3fe~xw&E7-M&p%J6k`dQoAGTruJJEdY6r~T-QOEy*Q3jeZ3$rl?ZJ38nxqTDuqw@yp!A&=kZ)~`E zisI5y?=7^0`djH2X5T?SVznX{?Px_8+OQrAunD{Fq&x;NfUdj9L!4G@M+aIqQy#6@ zgk9Ky-Pn!27(o5q`NEx#Oi{e(ePW8zg&n9% zV0>HYKbD{qw_pSA#tyVSNqe~c8QL+h|5@@PeUAN@{37!qk@3Jx+>KTgFVP>=p$GNo zLnHdpgzcF7GI1J-4>Pg8gE+7s8*n!^qj-h(P>0=U!T_#B(-`8%Oe{w$?s%2{;?B3} zFLu2{IsSh|+P5=47(f?V-X$(HzDIpn@&V&<0P*f1ZfyF9_HpIMw2!_|$Xhb=r<=TC z7TVDGDdn*ro6z?e^A0mUCqDT0KQe<0^Y-Bd+PAU^L@?h|DH2I9bN zXvK}!&>m(rQXjV8KUHa#`~Nm=r5n9)MG0)VGp)rcLn{KOq?5t z8{4-`&N?jpJDs-IqrXFJdCpE*m$TgeOx>wPE^->;-Q00v*VsClz&q^B;)d5 zVm!My#6xbjJl^Lz)@_Y@FNgil6pQD?!_buH#zU2ZUxO5k07-Qk6*&)7Iyg9Q&H}faW_MD*eso5d3#6DXyJLI@~?d(wG zj`g!cnYHxnP`^~)H_rARKl7gIdd}K3I}CE?=Gmdji7m53B5A(N?2u*tQpcISVRq>C zUZ|}Fd9eE%vqN;bI5*Dre4oDGEI!9?5uf$nGM=rs&JG0*d|Mpu7?>SOY`Q~UEZ;Rd z)TWOAaCV5TF#c}!G56EiA;l498UNYr(8VJ2oV9PZ=K{^kAvWGSJB+fx3j2OOJGklk z|1YSUb;IgnKhxay%h{oW$@}zy_4m&XeH>(w+ec=HVYWV?UN$_a56nHJ?v?h%{@J0C zt&ggoTOU_Hi(~3%!`2t|hr=9X@+JM@UY6PNit(%c z%nY|h=7b!_rq2nzjJ;t_C@}ZNIbo2yILcvG+3|mKLMml_*})O^vhC%%p~8gy=f!&N#c)&IwuWVmC)mQ4bq7%n23tZWd>~eYQot-0?p7 zGjh88PqClQaGsGf=Y%55ADZJiKzV*_PDrHfgPi<1`f2mAdd{4X-k^_Nb3z|u+s((` zFUn`5&%ycfU`LO7n7Cw47&=woE@PWMUBONAxQd&t%e8YtWD5)CWp1~5r+)4?FGp{) z4jKRc`kv$5`$PG$aY%meRo71)XZC*mWzPe1LhOCwKQt#~SobUE+4UReSsN4QH21AT z;a1P7UBbhEtKz-}hl$95Lk$zk?zjJsInK1M%ezp;@`Tja?UGu*}; z``OF=EU-SKA8cTWjVyB(Ym77YVSQwZ6YOC8z2;#P3vA{fvm9j)qi5OYOtE;HdN^yV zJ}}SH)baPrvqOESpA@xoD||`tFPbwV*9sU&*Yu1`;>kBL-lj)NAh5GNFJZo?|t&%%=_fq>G#27#&P%= z^_^qCGtQpB+6NqCo)z}9^>5aLhgf5cvCr5y&x*@hMSnQ@oP4?ckk1Xv&)Z+0b$@ut zK4lw=?4M8%oBwT}ce$P!?t0n!a4!pt{71jp!ZP!We$MX+#@SwzFMHX`K^Az3gUtL_ zADCy2!>{W5=bdK<8z%LcY4)*?MfP);gB;^NR#{>6T=D;>uRQRY>pA$kCeOiH@57ox zWc$>8rzzBPm>C{mZtD27rqIt3mN>}@dk=34u`kGzadu2^3LWfYH_Pl}Wrpime1kaW z=^N`Ad1F&Z^ANi^?Z~Du#K|`|h3FUEH{aUiIXU~}n5K|t=I!!j>R9Ky_5HY}(94c^ zQ>d|SfqBmN@2AD$v2U4pUvht0*%T7YtyT|bt#_Ui8=6A$0)0HSDRgl!`#89{DO5SW zRenA8#~DrD%W5Bdped9&#K?ulpD7*_A887sZ25RoNL}PU#2o9-);G@VG#_K<=+ni< zGtFtAaXkmOo0r84ci{vC6@ zmrotmE!&fE~)>2tktZYZ$4Ngf>AB9E`RA7#Yj z#QVhK&eP_4p3L#AdD(lW`L5EZv*v~>8$0HP*w^)oakewfPIj=sUKUy40S>Y4BXh$T z$5@;4lXF9&&$x5udM}^*^113^{7dS*+V~61$4HO7xR=AsT__JWTqOT%>@#M#^I~zC z?lljmT{746Vm_CQUF&}L<+&ln%3RNliGP{AIL;3Ce^q>L&5O_2 z<>K=ISamx5a0fB@PUT&)j#!->tse z#AlUx?!8@nb{EBG^LNGnrv5O^eRqh@-aEx->mKnL{hs(Y`y4aLzVD0At#^sf`a$t| zfHf9=ApR}(=?}$c@TUC?Y~m@chvi9b@L$e?Ej5=*uGz$Q|Esx&)Zzj zG>Z?*lbyelCljOcE zeysb0{Jv{HvxEEoX#Lptqr9S4k?*;40z8CeA+g`HngYGvI;&GDQ9R0WYIPkLi*!>^% z{lI>xsgI5SRUaompe-Mw`BlEmJP<^kP z7Y5nz`gx(k8smHIx5MUnp33-X^Fo2!51$uCnVvo`MDI3!#ysx{)DL!ZBx)WO-e4Yf z9x*R8{@D08&huVC_lKGDLLVbX&I=_TWaJ+IF8IHBo~!cv_^5fFtCD|gUMRBdP4hyT z@i)&4^+P_7Z~yLTd5yxT&1s^xmtYIm>6;YNIB2ZHO_O-TGz91viTpdzOD8N^Xuf# zp7r{`u2b~;L7#`T^UQ6~Cw6Ys$A_FhRUf&%O`qAl$vUuSvw2I?BE4J0<&KPb+4o-S z_$!}>_vsspr&(w2-KwuFz2Ex%+WtFTy{w)gUrzggd|3ZM`}#NPJ=3}|+iqRibB=lU zTX)uTH`9!L#ypH%XnqcU)xP+x`#|3HEOVF#zAo;=*6TWTazBeq+-APtS>M}z-Z;W; z=Dw>Q?q`{^?$qZ|eP)jJd+dj)pTBQ@PH>EEcggb+`{&2gKM$%j+@s@2cb6`ya=7X!`sRKcJqY=Z9Xlo;W|$xRdpdTVE#G5}zM(+`&Aj&6yvD z*wth_i;L%nzTcaFwfUa#`8aic=x2JXdB)VAogcbbI&*#~v8&y6tpAYle{g@u%?}0k zer|q<{?Y#X!u*hBu6uqcvWvs)<`{cfWuDO|?FTlpz$E*bVUalwvX>3#i^EwQWc*9! zW4dR4NF0>sh4Vw2T^Fg7eHW{fL%s7opCsOw)$^2jFEx&(9rHssD_@Z(qhB>2^LgW* zHvbj!VE#(;G5R%iuymFBId+}6e^Tde{o%oz<;C`IsgIcf=gZdRcIVl0hw~iX<2)%jVkw4oHtY?u)4l%=Vc5#AvHs0-eCOFJ?mf6V~3#|W( zd6?h&Nxsr>u=K{y^k8l(qr>O2Rjbv1M`oI%fa947i&-0C(qhPv+rJ**vU0V;pz=*|@*!&tHsViG7^;SL4|BH{&?M#^=;sv7cFEA9wxT z=YXTn=>umTGT%R3_fO+^h<)7oFXK4L8k1Gy4$12U;~0BUpE+wnznFblynotf|8<^Y zub79$N%OD}=7-q7^yT%5kY#RKA{5v-JrTwjo00H5k^4zB5t6Jj$J`r?W0|EXk4S_X z$KRL;@v8NiX+GADOoTkgVu>(1_4At&A@YLHL0uxG*nLbQ^fCDk@fdw)BGkX=_^}D^ zS982E5qeoVF5x|Eu77tTlsW#MM2Nj)+${5O=JAQp#g-Eip`V>6ipOGHya{#AF^(fA z8OLgqacr1p9MkiS`?udWi9|@Se?cO2aOOh!aSw-CS(FG>_BAIwk0igv3C|;`pS{d4 zktc_e#&LX^asScB6~?ip#W?0x8pmC$)Wgzh_0(Lq#yFPO8pmj>aZIc;j@k9b{n!3J zMLjI0)x*&Z>S1l8df3>eo>$bhNj>b^tR5D&sE7IY8pl2Fv%asY=QQifeebuvY|17= zk;M-tJkP{->pE#2KkPg^&$9l^ebl;tKh4m_y85={$2^)4#*adzC(OTc7K>^=jw2_ZsJ?9Uhsy z)_HER8aAIDP*ygyAJPL}u4hkGxjeA#u%g3!*1ciT@W(NGRHpVIWwak*0I9f?=$|G!y^Msa}PVXm)+dQK8|m79S^a> zneUfpz3Z6dUS_!cbaB|je(vTF_i&U|R@iaI0?#uY9vR8Hj?oXulWpu}I}04(Fb}c9 zNk-l-{s$L?dS;kl2h$v57kkdMer#-C;CU!|$OPLyWF0xeUgkb5PtH8c`fvy9 z8^mLZ+dJgPL+sjI-^t)`uhPW=ofKpl9(1h;)b9X!ZhZaq&OZ09h0IL4i38c#stiU96rHtW&S~d4L_9U^k~-qAt$j;MC8TTF(>3 zXPo8B^q1{d%AW&YcRsFo+@CWAvN$!AbIFlAY|}UgkN;K{ns4Z&T-4<^XHleT(&K zvYxl;3$u6VBU9f~C(|5bj#bY3zCO-%Ju}>Om%ed$(7eq4P(Jgl-`)Df9_E?7Pdx5n z<9zGGB(wJ$$2}}CG9oTpSz$lx6Yc{{vGW1z#mIx|;%-)0{*`$b$nV$cVDw?@z~b-Z zJ#~CkoeTBx5%Cy(OdNLqNgj*T`;2*+W*=MrtY6&8>eTVSiQjD9o-;37|EXT~GrHKm z`fc)yh75b&w$O7|;>=qZ z(n-G`7A*`#HY{HlQp@ZIc5{M#+|#l!jB;f4Lhn^`oC)Sr3%ys(&n$4q8sk{Ec43IF zFfY^WIC){{WqISmP^K@2@LZJ76O*jlv@mor_uhqJi0$uN7;0?WD&LjrVlNxtFHasg z!}%$*@>pg5GhNRd^E~(=d9d}v#<8JB$MR+6qw-~ygUo+yVW_a5(bUv^(0E4A zF&|sDJJ0-=^k?o0;A8rowoZ?mmmOpF#Rlv2r15NeYGKH+?`h|`>rdjcR<@5A{j)es z{bix|kokO#>pvU*rf$~Q#i3_i&ocYj{BPq=RsVnVpOcYAVVL!ATokfx`u46xp~{)Z zEee@U*73wep}_Q!(`7tk z=Niw3FD?p$%wMp`d&cB_p*q-lvHY06WKoEnX8kT*6mm>{#c>ucTNK8)J@5Qh>w1NH zxpn8F(8r0Z%K8sF&lLOF!2x!25Bs>6MRp%hKYLkY!{g$gX`eC6?C-^6jYBLvu_#oS922Kq ze5Tp`2lKQ3kLKkN$JqX)_4<(YWsmcNVt5%()* zx$8Oc+4>LhS!IR&hs6J=&*eYG=OK1;_rJtv`g!qLVf16>sfy3m7sO|k1@^xvK2tA= z&qIuFbKjW|pH2T3pZht)&X>jK%>Ri0aqG!6+iK$T5R2UTU-8-Wiuj*!J(KKwRea8z z6rV+wnEs#m9B2HK_QPx9vyWZuXP%iL5010STBJEN=G>oO-yAwvVn3^gHHR|C4sZ5; zF>&759CD1!Yz}=qaAb2BojQJ0v-gU*?k&wB&7L~*aQD&XVTD7i9n?$Z+Rz&7qea?`{r*Y&_oibBsGd98Sz>4n_7iHT#}a zaT4bLjQSQfd;ZEkPd0~PZf$Y=v--V3JZ3h@p9dJ}GXHyg$>`Er8&JaCadvg=~=ZMS~C>SF$q=8)&` zm&N0@uQ>k&_wmb|=l;ArnYzMxj$GLsYE#E|%HurqeNF$k<0|8ryIMYMy2g5Z(eIt> z&BJLo>JN)7vv!m9?v~$f{bT%Qc}{tY>!<9O$NA=Af(fSC%nl~m%@+1C#Ufid%rwW? z#wvF)_9gp+X?A|g^=!Y@b!_{#@oX88_XXm9M|~V+jtAJw?%S*b8*WzzhZ*b9w_>yR zhpG3w)|>m-&yG8+FQ?sUeJ@lm6D;ge2Rpwff5yHqZ;rFd{9XEUk-7)eaPx><+nrKqw40a$LvF94qC^rxIg{XI&CnS++}{R zyks2ry=>hX|F8I8)rVL0oAJXIhhdH!u{b31>WM85{cJmWafn?mpJNt#?#un^?TbD4 zrA`*v{0`S~AII3*u-NxK`@ArEh0p&x7kf{c`wWvTGsA{s7kgisKCsAX?^+zn>}LIy z#xcWj=2$&WKCGW5pPlyW35!E7JLBT9Z_eV-@ipU{7JJW_y5=nosjG}jEcQMzeP3wa zudAzhamcf_c(Lca%$GEOpFS>g9V;v3eYL#TEcU&t>RxX=o7xup-c@;Sb{!AAUp?2D zr+u;afLV_Z%a7YWp$=|mjs2{@)_vfd#UabV?TdZ?s(p99cr0Hi-Y)z1Qt{Y!xp>^( zCmu(ybN)KxZgQS2-*%qaqVqg-=i(5#Ufp-ehZB3{!~BrC*}HFXs4(+$eY?SR!}`L8 z`}Ci&5qWbvOB{a4`GP!tvp5X#z{B>#H{3TKwN9LT+>-9^#AItBj=}SVgUtf<{ z5(e3D)RGYYmVUfxNhok{-I5T!mB%dc+>+1x+m?7<$?t=AEb(3|{e9PxFvN*>yKcZb zoZvbZ=eX`W_UAm;vAS@H=ZwT#y2N{>eBM_q@x7w@wp#q#<#+ND&kxx*=_Q^Un%W0T zJTIi5nI)bRvhTJo3Ayj`1L8B*z9cl>p`H%$S^VUZkh#<6@AKmD03&Th8D6%vZSw4Jeh~2IJ=+Y49j+sk+pQn8lbDphr zOFgG!U)DSSWARROp3y~1!w|ccE)CIp#9y&AWZBcQ)bly&U%52oxpmdj(9ed|#xr~J zQqSqwziH>$wt1=dAX$&omWGa>=wo(i7-rp>OT!q4+LwkJr=8`xpIYyaEDcFk&z1*g zeQs$eaO_;;xaW)V_?dARh{w8%UANEv{qj=pJu=^=jt0*x`y|a1O@@vK)br+~=U?Rcj%4V1(C27YGE}&2 zp7RgMcWKi5f2>Q|`I6t8?Bm{S()Ty≫c^PKGkGUr&0Uk9fBwL+m%kGr{QX$&g{1 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

        8kKXV-` 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%0A+>NWd&c_(&=OudmT#4TB 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≥)z1{UsU4 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 z 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

        W=y0z33O5XB|(>a>5)`27x}fS{3>V`nRAEq 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

        6EPoOhMK&U!_U2}Ij@6pBF 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%0AH=LflR7`n4x5~&Z1~N*>k|NQUKvaXd~4 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

        gjQwm%Ab&%7fB~!|^ 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≠Xsvmm2q%H{i=*p4?}VTO)(-KLwpk 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%0D7K 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

        irJ$aaFK<*3d>8^FBEV7DwSDOS=N7@Z7Q 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

        Ip-!&qqj*EGSUaler*?LFNoaI&a$6I?UuOLUVeu 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

        >M-*LoUdZbK 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

        !l~H_?~oc64`Z5(9{OA!3CO1;1YsJ5+?8+9M4ig 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

        o4)53<;W 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 z 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 z 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%0Dw1)p_}d~3e8d+DM6O9{}be5Adi!g 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

        |z+?T;4V^7=IKayk&h#eGpdIjn~@aB8s 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 z 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

        2JD?ee^w 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 z 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%0DD)V8|`Cc-_xYg^l?z{J$XmAj)q3!(8D>* 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 uJTrpExG{H0%P2wu#eJodyYXa9K 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

        Ewp#A?aXFn9! z|H}J3?~xJve=4;&bngLl>nQL^j_CWBwGR0D#D| z9wh&kstv{?|5fw_&xezKa>On@7kH&t7LIRoz%GrWn>o951MO)I`W=1BF5ShaY@|1H z-`S@_-22*uH)fZf4ow!ZOV{qrE{*?Xv|XxmiJhIfXtHN#rm-^>uR9oBLwoF@;hLbG z8T0wLn4L-8hMq;#Y}mjWv>CoeE=+)@EpI!!ayYldx7mbm$=T>{@;$fs`04WTBb)Xk zTx-7m#BV{pOYfi1OV&@9REVLu8Ky@2Sp%=t*|t&QrsORKh=; zk#zR*aOmBVO$$u<_-f#Pq~JZZby7k5ZSK22u6z+&^gn1v^l&?$VQg1tw^kLjuV-p# zPj+bez4^|2_+7LvIv0G%Y7R-oi2A1*TrN(fzU>1$QQH!^hCOq|-=` zJJ8qT8qjy7$0_b2nZ1+xSwZ`^lDSaqWuxQ^a~b@totP1_z{|6W?t8s6z8)9dPd%;+ z_}qHehi_f$oyHQ3IjkX`Dt%hjzN#pxSSrh{PWYM4n$^EX^hiNd5d&9#Tpie z%f~C;Al(=tvUPNbo$&L8`Gy9>d$sa9UZDmkbBX4(QF`+4 zCRz^aYS;Pi9~JB;ps#(ywc+2}&UevN4&7=OeFb&3<>9b&wO+-5f;!&*=xPTPydzyB z#XWs0J`>c{-d^Ncr>m{`WxiAK4yUV~!gWwr`wriOx|(!1>1wO^+#g*nMf=j#{_D~a zUG3{{Kv$EWE$DZ1d6LSDl;7>5U31to(dhfbg zMYh#{HkdbJ{ch-LZRkxq(bZi1mAHhJUxj|R`l7m8MRp-=J6-J(uJ^91Rb)Tp!=XM4 zb+u%`@75mhyR|#NTR>MUnm59FD_?`+J<1z-8C~t0zOE+x?M+wPwTG@&k(~vcPFH&? z*L&C1DzeA;W0J0>aXG&m{;^?Q?K2~~+VzFHn({=%JN|lk!<5oTR!CPuMwUA?eRgwRs_0=XXYGvMx77V|MHP-&g$-|Ueq(A8YdMgut;($zGF%GuBy?ux{+#G^a*$k%usx|)1nG2hPkd+TcTwC(H+ z=T~#OT5Ex>R@AQ+(ADsRY?E&0bT!Edr>nW#j|6&|=2g0yMq$GYdT7Q+@@zHj$+vdumVBpjk(|DEGS@DjL%N!~R<4uuH2EieJ?;8^`P638uJp8{7LMp? z-x#H*-LdA(1CtY8p>~LLul3}0s9uQlven_zamwSkbp~}qLT`He>dB_}Irgc1N%*)DS*7-doL{lMFRS`@@F#a5*&^>TN9im8CzmvF~Cr*f)|x{A+4g?lp&aBnCSw zhuG4GI(7t;lejlouAU#1^D8`K4rL)_=QYPvJd-kNPan8urP->ia)5BE|~Olh!uk^rVF+e$svBp*9Bb;vGoNM#9-_9 zh{0B5*8(SJb6TIM>X5b;iNU)3;Z^>a;sIT-fpuB-c*2jt2J(kTt<8<-e0{vPKl#Jq ziJpEq75#8u`NPG0d9Rf}T!|i{_*Jo(Y!|*fx5g%3!ZwnUh;>pDw02}7@YG-$^WPPVdCFc+93&d`* zPe$bf@1pHt9kWP2aMafc*RwV{ov`1JwJPUQzMx|Hz}oBT{C8>Jf1NJkzsnTl0Ef}< zUG6~wUUsoo!gC)dSvwmutct;l}G ze>SMI{k{BmOK98aY*%nyOlRvOzNh_BANS!1>TI$*+wgJxGx_i40jKld#kt;>|89;y zrv35XiSGX8za!uK4aHjj-|^q=6de@o?dty)z4nZ?{>y)-{cyf+ zCw=3M`0w6(&l~gKy_TLfn|7tARX305X`}sjciR0}&yF{?&WK5eQsg(~x+a-i$weN0 z3@C51jM_i!A7W4V`dyq!2;Xi?%s1>=E6YARUgyHz?d_xG{Idqm+a!l^0p|$X-n4HJiKAA&XEW^;>Z{o+ZE7E!PEPHvvXvK5SFLJf z&zp~9#;TaP#w}l|#u__d@=2l9^>cS}rjaS7UG`Koj->`LvDGWX^X6)QT_yX3LY#}& zIF1~?zc$QK?z?9fRkWOm4g3H;I=#1i0%!0km(s7B?8a6MMsTozhc3zf(ku8++)_U`O6|YqZ2jD(iPX8Af=$GElilz{^Za=3V&<`Ov2$N%jEVyKDuyQG=JUm+6uTs*x0;&U1M-(G^O4z>L|l6Q8)wcJ2w6 zceF$2dbTele^_`AU4Iy1BvowRhzwHC@eqc*ewD-Afy3qmemv z_-QPdM~h$P@^SFg1nllv^1z=KKK1;UIOnNew8s2bns7%WG|&VMJk2{B#)=nuEq;f2 z7dm$JuwOdPlOb(mJem$2=+Sf|bG&n$sSyv0p3fxr@Jjl}4tn}Y_B9fpyiYtHjrx4e zTxegG=3;=of{pNlaHpEthgp10ACw<|CqBXi<9`X7@0%Q*t?}SHzFgxs(3~67C|ZWT zGSF(@LFkvJJoR<>ThBV4QH=n*_wG2!w4YhruMAHgJQ%-~`bw5hK1qBdUMV-!#s+VT z!JBX!>_>ELIL~BX?H1$9KI%@nc@g}U-V5eY{P-Q_<0NG8kN6aRnlA8g+x%h9k1c6m z;b7cJO|d3;M0FlHyDitOw%`@jcxwdb!*UXtCY(=a|MH)-*AjU->9Z4W+Qojo#!th8 zS2AXJVX+Bq`2aGw0h(REdF2ZDzPgEdO#p*p%Z=bx_*x%cxgzn2crFh;AAc~oyOi_) z4l(N+>(3<30=#|Nut#+IVDptGC*OVJ=F%bL#I~!L=Oq)usn4`WQnz=9QpY2wpqX-H z$q(^q&QCu}%`RYRCYG&tn}F>S`d-DpJ@|U?OrCE&l(T!0nceK+YaMScUkuL;;KLGJ zPHujT?`o%pJ}&__!FmbLtuhrIn;6Gs>{Ib-n@23Ke)0|3c8?^(wfMQ8ex8T6f5vCclk7EPEE<=k-M)&{lkj6PT9FUyyMN3tc!5v-F8U72 zgvIdoV)%M7e7zVtt>Zb3^_~B2>(gY*BWAtkE6)DncfUX1x#UvO&*bb?pD;P)I||l+ z>+@jMUKI<^KzZt?f(N`j1V0bcmB0S(-W=@^|9)IBF=uMy?TlBl$m7Mb6#I^se|wB% zj3>i)Pc^woW*$6*j)0s|O*;H2S=Di$U23YOXK2m*IDX=OaIBh>apny=*|r&e(D%C; ze?L4ChbQiaXZzrVKKP&?KG*>t^dW~Hg0G>kr;kMz8Od{K_T$K?KE@J1Y)_e#9BZnt z8aw%<{&Df#=0oDS^XLazx8NaYcMOxai1(E*W0Wt;r$v7fw$j>by$wDZ~B#`-kKo2L1Sf4TXiv6GQfJ!r?xe2 z+UaA=575s8^z#7yJcJzS1OKXvBzhEl2i=+P6zuAMH+{K&U7u0<(|#w(Ht|j}Z04Q| z&ZJlMfscMR8YJy8f-5i^7w(Z04PMGpS=U&#RuM z#-n#cXZ_4el(h~1zcj>JS~!*+jAaL7*}+(VYrgO%cpdDDBRjbJnP>NYEpzSg@g#Ku zW56%`hfJtLbI?zFPtm`n%jCq=q0r?}$p~GF7N4JH)`~two6<4L2dMFX&%E43bXbiw z7B{I@@ZK0kE-|)N$z9sEYXt3|gY6}JW6ND1>pO;bCT8nON`_iLU$TZ=&}_qDCfD%U z(3&yOOY7Ct21zEjwLTM?+c;mmSe|WtAvCx3MgCvqKOCOhI+p)&{2#*q1pX)TKZXAz z`LE>v&HPvKe**t+=l>-B-@*So`LE~yUHreB|M%%1IJ@`+pIU2Lzt8^#+(ZA;+R^$E zJ}>3}6a0Ug|0_-IhoAQJb#%EJM>C=yhkwDGZeb5N@4EPY@OSMc7Y-&d-u2*7&#$jH zsVl(W^jl=ZOv*+QnuEJM{UcpJS2hdlO-<-MR!Q^gZ(+ZNc14xL^`MF#OX%QBfBKG zpgYfYnLMK7MA0wXku@t=_j+0LHZBtlg{jw!PVCE1t;frF=6Bd2V?SGV(@wkQM6w^{ znV&8(sZ~#X_6F&cD-%a==?<55JW=YcMZf3y$D7~W@dxBLvXiz4x7@<{Cu-wv z+K?RWhre|GN#`pEob(0Y7u;Q}%UUOwP4w2o)r>*#3D(jBy|t6N0++LYd%-&TaP2P& zPu!xmzf0S{a{L*el$yz!ahT;#&&~>idpEbjV+LEco<2tD_}H=ozTF|cRC7t4`LmtP z)C8=}W6|%CPio_I-oM5~wlrPJeb%p4)2KayzSP88-pIXZU$nz(BRt%O%UcN_hK*P* zS?aB0jwYlptHzG#1z9@(G2*I8>B9aT<+{?zZegt1Gi*~l1 z=gTI139_SB&cI?o1!I5O}I^g2DwHlY^CiatgIjwD> zYa&ChEZw|%u@4R=!O|W1<&SC zD&gP>2jJoNj~0W6HXJ_w_l>e~xv?^2bc*>k4>6>tQ22a3wr(C43;8Hz7P9!kUl1<`rXdEGnD+}?!F_{9&ue|r=9=QgcX_NF7{G_T|Sjl~K z#+n8ADs^Aa)Kj;=3BFJps*Sjmc7^K%HLrp`P^V)w&c|oNI`Add-DYeZ=bJRxl1<<% zhF#JG9_p}5C)t53$7O7L8vPuTU_v&qaIz=qZD zQQAn*M$mWco@+w)X+#G~U`tC+X~d2eT&5(sLU1Lp2_z5f+^~MKW=v`f*laQMH_4E_ z$qngn!hw56xN!1?TxM&RX&kc468@N#8zoxW+nRg_zYG7FO(w-WZkyuIL3$`(vy$Il zS$ey*A3Pc9>FHYkRI5pP8FdG!ITx-y{|@!wh9 z=ZNfs;gWIG=)GYB_QoXo-GQ!F$-I&mak*-(m5nj$UqHU5(eKc+IGgN@p)~ZEL0^vJ z8znbsn|@28lXfwO>!7D|P1%+K)!XMc(c}rp3ejW&y2nwL zV5G08mgM8e5}bKiot3vga0q|$S9U>H8R#nQ(^Uq#>hkHT3%W`}S83=f1HEs8uEggW zLk7F3%kpSNwvsx4CCu$2{7N{wYNRVkXA&Oe_j3B6=2mjR#{b0CCB@AiQ^68JkXAn zuTlRQ_;{4q9m3%~>FuBd>7p?91XReLRtskgL$uA>3V&B*`sTKX96+O2->^)nb zJTBD+J+*W1658lOm-#CCb3Hn?p3!&ldOiBJo{3YJUwz6?a6ZplJq>xE*k=rX)h zHmp~-@!lBu&Uxp?3(a!Dh_4`9Z+%`B*>?C`zLD#hr{u0ss&j#-4<#!{bmTUk`F1AX zsq-+x*dFsZN0hkRIj6lm=DJnH5L=PW?^R4E((vF-1Q%3y)R2!Uz3k|-z4mqiSM2@o z@@yAl_4Bp$KcR-{P<`%G*jK@KCVTI!weQ@2`sjDA!Cv_88M$Wr&K<+C#-16W6m^wz zhJCQ5ye}SuK>*F z?Hgv{`FacUnZW$b({g`)pNHp<7Qp;VALhp{cx^m?a2V$A4AX{qRP=C5x5@Q%hf=rR zYH~Ns)f21VUb)(63ce3uyOrDxKE_rI#iOEyDXC+U)d3N&DRVOD;y`?sJ z>P(Y7_0Ha{otb%KQjsO4sm#g96#Rawg)9GCZDPij%)F9RW**a2tHe`%w_k16xYR}Scb0{@8fYY$UDgL3o z(C#RlenU827D`Ph!08enr~ehiDQ)gSySy72#%XcdJ-!GX929_gVEsP%ZG?8OgAP7h zm%GfTgWpTP3Gmz5KFp0lnD@eO5AyE5_$`0dp8U3hID?ZByUEqsFB$P1GUDf_=W2bJ zHx|Hrqz`j7FzdXj_JcjSDE(LS&z|5d{Rf$QZCs7DWdK_-7M+~xp$71~@7UTYS>077 zJBf7xTAQAz+|ooF`u<#Vbw?e~4E#X8WBK+fvZwNWWi~WdzY7-WVe`ficbXL#q8tKACh3-RZb^!b^Rcy7t$cy9^*)MjE^ z%fZ7U{_%azMSrVq4Oa|qX0JxWa&x)tWpeu$w2h6=t=$^B9Q|oQ?GvHP)96CA{H`+% zsK3^sHT>&ihGzG_Q?O3Vp7htx-4LR$N@8g3=v?yMs$GMPihVbya$0;&JL}r=abCYo z=tfPzk|18@d?QxRpP{w)r#9Zfp4_>DXZro2%T*^S6E52_6dszr+3)k;=`&29qOY6a zC)qRq3B1yummgwMsypw+Da*1~@_T58IlPu8Gnv%hvqch3Bz7l=+#_QWxl(BCR zKlamICejh559zFyW`O@@^dgNT7=KAGY@QRv{w=(p44HeO@3p(2Ym=@?#RiT@Jr*g+ zejVD>8Rku#8yhBnjJe32#`S4t=%fbf-G|W;X7DeaqLuHG18(gU4OIw!_{Gsu8eic& za^o7v9XR*;l@AM!9P<;LFE>}MJcFHb!xPZXM8@1;CJs_RW&!xhF2HtIoaicO_J~RG zIf^H*1?+kX%VrPA@xkj(%YqSqc{W$++3?1C^ z0eCM1est*@nt{84T()J~Oq|Un& zKGetk(8Lw=xdE8-oWXq-xX6GD@s#ojz6Pvu=0N;P-Sfd?XkYIQ&%vm8Bxk1=iElf* zF*wI|Zt?H;F}`4XPSzO4A~-c>!G12|jxg?Zud+`GS_{JXabUcd{0MN-V`;S@S1*W* za?u!Lw=xTSyg=JuW$d!IB@?@uvqR}e(x)Ov1%;E?u#!p zuNO0?4e(|Y?Ow95Y0f6*FioEa(r1G2)6JNce!ka3vwE)C$G2!e^Q=$D@8U1Dt2tgk zyW-_Vd}_T}$y~MHaN~-%1265@3@nZRXi>O)i{gipQJO#bU~Rk08h@nwhOX&8hT2$qmUe;X$_fSsS)?u47K6yL+}dFka|3=O*_co_zvQ|d+h^5J%)mn`o z(C+2e8WBMk7yvdsk8N5d-F7y(ll(BWW#ThaD;ZOgxMq^r_{s^U_r@@=CCuDEAS1up zWafH4BQLkW;l^KcXfKj|fc_G^6C6wEjMuhDUA{pGID~(#!7<>8`}SEQbLntXA4Mi& z+s?qYo%eFdbvL5}XbnCHzREP4)bD`ddAkmIIhc~ak`1z-uS8aV0a|Y3ob(67V>-xV z+oH8eIF)ZxXQdB;kKOQH56|js*(B>7a=qm(=rhVY@Z{(b*>3s%=u7cg`TWYjFY(`= zP2f5X9H9vHUWrx5&|fqcbU#;EAXkWUp~c*UG} z%ZxdCzZ`tD*UwBvEgr&yA%6cI^R}FON$!+TsrAvJ+dF0Sa*5H*3Pnt6<%L{T5 zw1%ajf#txV{+sDj{U?E=jq511tu;dZrf=KYSpp2K@#Xri{?xDf%W%HK-ug%azkPn; zj5&J$8RkMduka;2d>)z;zRIadc&GiXJo_2${e3g?MB*eG()o=rJZH8lfcIul(W$T;HP9Lb*AOtyVfYTS#&L0 zbbND-FL%$RJ;~e%JS*7Sk-6v4ZZREg=UDUCVI8fn#Oi1#`Z8jSFT2Ll$I-|c(X{CP z9{TadfSdr1Rc7p#uOUZPnQ%v|88f(=Ij8PtjLojc^liO)*j_AT_;P7JOL3yvabhuZa!h@5;(ixFPiMm8 zwcunKG?O-C?Ky7;f(MOJeCOs^^t3B7HmfsilZWY?hUqQrKVOhAW9)kT1n&rsX>hAt zl73)!{S3=m`mVFTyS)_N+HKHz^e$_fefO^QBkwA|Jb^q(qrH!(M6zwHF~R5b zo_up{;jmqg+QTMS%X$=i*U^{dEzvydWIOV`7G4?vzwOMcXrSjYYcpqCB_EjY=BRWV z@M7u9v4r0BO4c#0iKOfl@LUuL29KNoL zbxCw_Jn(yGB;$hwXI@^3pNHeGORN!A=M$c*fw!E!JCZ-rEfb98Yw*Gj*5)S}k9-KC zb$s!if;Ypzo|8OJn39e-&q#(J1>UWUI|E&U@l-M%(R;?ujn6AK_tTF>`|F&>BN(I5 zSz_T)bN<40E%bE~^i|8+A{ul!KN=V%V=O-dgYB>{F~yZTt>D zjT&FS9bb7-T|VKDaVzVWVn}J$s>H&|Ir2SdjI-?+XV1|d8EAMdHZf;fVGpOLSy_Ak zizD*P%2#Mjb0!&9S>nx^lP`_nTk~Q}3AU>lEM@K1ct5}#ZDPD`ZOdk;12^T^ zpOU@OY3tyFT4d8N?HVK6E6-Br!pdpA^MQrYIgYP{n@T4;cz#3VZ_h3~pS%!i8`mIW&vU2JEx6`e|?2m}oNhg(5?0fb1$<4?pyU*Ld@GWRw zcAsF;ST{izAWNxCxta9r%*X=+-&%q^#~6 z1OHCTZ~Z2HMD4fnZ)Jb- zB>WU5=&fV3EcEd5ooimt-1H5No}0(f$@VojC;cCrn?3FL81o?gPWZ5Mo}0NZ*(W-X{7WKp zBm)PqbFV?Rv?0^bC(da{rb#YHRv%<-;PUKufm3#K599eCKGpXc*41LL*)?cjYU(}E z;3%Hqo^svE_v%!9U9f1)5G+w2mIU*nbsS$D5V9+(m@+A+kZ+iTe?^6kkls^5+x4y8U; zGRJ}!8=^}0qdKdM^Q9jnw&d>Fw)pKs_4!E`@h?7BTb7pX+EkjI4ex24ksK0yvJ3PX zT$75ucWl9Xw-tTQ`d)2+vQ@4<413p@>#sTN_|y($VF=ov$9U8~eu??5&~bu$&hOQQ ztm-qh46hlKSFq za-LWl3-jP4&kX)md{}FjS8C7Mp8gH|C^pwuu*=7)_^j|(PJ4Y;hS{@DtnXySx~-j7 zm+G6Dk_{*SYTvlBjvcI(+u@7plTEMm0rnd9zLtOWLHbIFmjb@xHFcupzptoTi^IU?Rb(4XKYk% zL(unm)epCJs$Ka%H}IPmt1Zu7?%%(Qd$DM7ALy5Ndp^)>n1^1T6E7jRuNNaB(2==eJavB8K0?o*>*@WCQ{t>Q71=gqW$;<+BOEv4BNW}# zB3Fa&I-k|w;wMyYp>(!p;1%zQ=l&6X!VYlf>?iTJr(=7ydYpYPKVh}+7fEp4gpEJZ z`U%5>2l~Ds>6}47p`MdWEP`f`Mj?1eO~e>N{%_)oCX}r z0=SXfaJWf;8`d5xhd+({({qJ5YV-A&z2WG)z7MsDdDlE^-re}*`>-;D@x8^4Z_^sB z8=__LpJFW6FyE``;WCY1{ELNe0Nidjwixuh}U3PX3uB?Raao?+em;k&IfKt)D%lu|R%!cihumoDCp( zK>UA{eev8o-8{!e+W3`n0;KDh+ztED#$&V*%vZmxHs2{&HW$F7d-Z<4`i6Pp#gV-D zhTuDa{&{C@{Q!G>zdkRQEqG^s@STDBVVLbZ*VN@=%jf03Rq)Q~!FMk6_YN~o3tKh$ z_uo7tcfEaQw9h8anmWY0q4bJv33#||#fE3v&U@gQ*u>q>Xg^pjI?q|y#pm#DqWz+w z8a|y}IGsK0(Rj$q`NaO6WiA|A2z}i~d*qMa7sUr*@IgfVSQa`{O=J7{LybN?M6pGK zw%>besfir0OA_rD3>`s#(;0{Qbf3}{`e=jtVE2XSBZlubn!cEE?7M>$Omd0|CFr{q4xAW0bG61oWcIb z53XN|5|@X?D$PKPo6lV-IHb5lRpw82+~Ap_SiW2z`Wmt?IXH~A5)wz z79wlv`p9Q7X13*Te;mO%tfL+JoTT6XtH|$eUbJp~pWlU_XWr@gx{2A|R}LP1Iy&6Z z(Vg|sB70R9*OTL~YxZZw5?{b?U7l^cWc4$RtN;6%{wJS!rm@Os{;!X{_1IM73Dk9e zpYp!Tv!~SNJHN$y;?w3*bGTho4nj8YuQ=;9!0h%zIUI@iVwZV)*hN!6J#B=h+`3UH zgSMZlXGZpmmEdcU-V)Y|Mo8)zc@mqNn|2N}Qa!uTC-G)5NQ-jnD?KUwjC* z=s0tD8=r-^3lTRe)}O{x?7rg%?ORWp+6VRi{o*gyBKeIqPoen2xmL#kcbPHpDs6@0 z$ILys-YoBtaPXU8j`96T^Z3Q)#`@PST_Mvqj!S3hm4ZM7>IFF1vloyJU)JY!yd80Wc- z;HJ7R-kEO?%+!9_uG;EHU3qmnBcFHXr$Rjrsn!&1q&i>vc<4S>LH!p$~lV-;7V| zdf!>x*S+W~`IGwnd(Z!WtepvbRMpx4?@huYpn|fA*31ARMq8<}x{ygg+*%75skI9; z39i&CmCfqg%mB73wk1`>)>bBf6=L7kwn0p5Wr9|zwsl9XS`xRqR&7F^6ck1&w0+dQ^LCGqVsRb7XA7b$(`V{bR{=1kh_QZ&HCQYT)GZ} zt~VOGine+BhSY6q+f!@*3V-(mvMKqr|1|%}rj|0FVUHUmW75AObUaBuw4M88AH3wq zy6^lu?~5&=O%nZhnP2%F_Sya0zKcmmsbhc1!{MAm$s6ok{M0RX`|wN~`3D*2?vJ?F zFSt9$FY$LikH652{S0heRp|4kitIXK%lgGX=59OQTc0cL)S36=(AV1f1?@?>{*Tx2 zV#H5rJwBZ4>z%t%;)!G1;rN3K$NF%M;leR13WrnYO9qZ#>;)W~4IJh8gTdMd+bg@& z!rch?LrrPuY^daB6%TDli-FEw5R^7{) zt0kP#N)glCP7c4<+rQcC!5VYb>S0;Vj;$^l@`m!Pf4|hPTZ>OLl=utx8@!=7>Ltjw z?oiBf2C|Lw27`+a-%ZrjUFV!jFY6JBF(5lp>+MdQ^ozE2yCc?0{M`v9lL)x4*% z&thEGSHG#Jo%VL555ajaeqZ8Q?S!x5K(eE=*{`rNVd*LQYHrqdWaH3O^wm8Wig)jV zrk1|{g| z^sd%9)?V4U`O(w88(32Ye!gfkl)BM6Td6ZOsPl(TGz{|kp_$GBNhU?N?BT2@q1|BM zV=uYtKH{f$jo@wv=*4rHXruX9v}u7xoF{v9mN&Ss_8sT5o)S$&8_@-xK2{5DN_vx5 zg`YQ^K2L>yx!r9WMQ63O{i!eYslIe?96n;ZAMg4#qKj;~_JxFVjp)OC)QXLWEl#)J zm2T^3k9AAKUyz}W?Y`3R@$Fuso&0UtaIJG?Uji94d0K%zO79!ki)!+Hb>=uhY)xyG zX68EC?J=5HoqVmzSoe8R|MQKevsgXapLY#(?1`+jU?&CBt-yEdn6kQcr_7mnuIKe%clAil zW|VFtSF5qd=tPt1mK>F6+U%9gy$IW~j&r}gh$Gxe45i0tuW4CH$?|3I{LkYpUdioA z?_c$h%-jTz2zr_<8W5CaSH#VeLhG$Td}}3AGK}dZmR~xtzSXLp60iN@rxOI zwO2g10ex7?*gY6~8Dp0)c1=m~@+4!g^Ss+%L7z1bDgWYLueeNcnc2v3_{<$S7sT$; zdNTuDOE~)^+@(*UEQWUv6|vA~oiPx-?!kRMtB>;MRWN@LE2^v658r1dG~~N!{(-B8c|*Mc$(deLQNRc3c2UDk z$RqZ07kb-R!`gUY%&Sv>tGD{|UIwStXZ!PnRBwyxzD>wx2iS5|;W6fCA@L={A!v3{hl^vAKRMT$}eO8wwCRK8OPBk{!K2Obg zGnNvIs2%CeyAWD%U+}zoY`=c9#aO$@c$lTUjC<;Twq_cA zYfha?-{d_EnZ~>~75XbSU~&1I^LJ&7SNEX%oGz}@8GT!~GFw!)g=gU^yjdLQ-z7`x zSW^V^S1_00E6b;Af0IQgTpUpG`ASqGerHRvHY%&28P*Z@7O-q~Ea^l3E{Q_Kai zt7FSO=7P((Yw0rGiQXOu4ClbhdU78ccICf}o#b!j%6T3-J`f$JU+KFC4|3>kHSe{L zuKi)<6sgb0xwl`oKWpk`O}!5ST+A8^T*e{`ep>#h*HHdZ@w*;8j-dm|CHT=7#V5`m zUP6p7e-^p;YGmy?Vw@ipPfB{+1$;{w_m06UwW%a$p!$}=ZGA7Xi@5xx+Pjc_be34) zW3RBTs79y6Yvt3=9?4z2z)(V6l`$W&$A~T9UA(uyeCfc%#0q3XZQ?oZ&oFJ|)5pA? z4|-mY<+35eWkYCp7=19${&)noL_WLqRiqC#RvZJSQuI5=xTS)P-z0er#5-3(j`s_J(;O$mcF@Yul8nOf*%O zvG4skzIg(_QW-Y3_>WPUJjV`mysj1a}>b%M4FUDhJLNn4ik;Vs7L&;dx~V?)5BR!5!MP)%>hj zFYCjyKd~>H90hNrW5JoPP{%SCr6#I=2K()SqsG@7EI(>XL`^W9niN}#!+vkt5?2} zAH6TnB8%Wq{1NgSZ87=_J4QVxa+}R z-(orw+^>O0m;IN!41j4Xv{#>6-!{?z4rmFj8q-DIuIu{*HfD(4?|0i@R*Fx6Wy^)PL^vNtChC`n3%8Q0i ztSuV+#>(L(ld_U!=9UGVJ&}w^rkDIsaxt)B>9x#%)L*?PoKMosCz2iH<1zK6dn?k+ zCvJcB$i1blomUliQQz?%VGgC>ytA15^wI-^GdI#f?d6DXqPPCO4ID%l;gJH5fsASK zNHMnVpIHDNieW8q@Obi~`4cT3)d3y{Hq?NJ>em`Pk`5l~OL!!~!|l(-Bb1SFy&LX&6tgE$w95EdSX>R<;mli!zPD0{MWK3tzrMNh`G$(-I{tjwzK*;uSu~j!6|rc zZ0S9|bC52=mqZ@*z8GDkZLsgE_}Nn4X-o&!uH9GI3o9p72g1x)JmUA`x7`_tMf#rU$ZN&F1i=HwLo z1o+_LpOng{If?Zu>lnp&1f$?hKufpI5$G&;D4(wWhgx{iS=Z+05+P65fQNis7w>Pw z3&B*+n#|(;4Cg&8obqv1z8ad^GMznf`$(BSnw>s4N7~-UZ>XOHcFmQ-)q9JzEqJv* z5A|o1=Dc~Qyvf-)0Non z^|M*Gvd6O`?(N6^ySKdIDAv6AZRa|Erj1LjAug3Y5`5@4OKhqFy%cZp37Y2MH%ZPj zp5K@6_cU$a6UyH4z$YJ2Fp38m=7e%^PQA!|3+IrdeXKXG`tPBBCIkKS=Dz++UO$D0 ztDB|(Or}1K84C%MP?Dl)w$nN`1j40Iae))d;hyDI6((kqL?)y#0^8F?cX5UBfdi&=4 z9U1ofy-2?g9@>4sxz7~p*MWC**zcwEo9u1u8uFWj){-0i_qlAu2Yx+1y!^lcNwW^o z8l;LfNcQis6n zUOS|FJkx^<;n|tr?Fj5Zc5+?X;IoT-+(okzO=EdCe-_`r5TC~| zf1QE-(mM5v{1U559Kr8Rlw%KEJI4aDs`PHwE68Z+BcVT%VtrG(4m*bJOZKC`J7{-m zX!nNm%_8~riD^MTUsLIQo_me4c|Tw>G9_Q|P;>zs#n#u|BdUIScIVKw!SJt?DD_;PSML??K9j zNUmKQvJ6?29jU-J%KuQzdMb8AbaUtO7Gi6$n0I;d5XDUoY*>!nliVxs!NZ41{0^AV zi9cYELtN7{@t-DbQEr$EAGB8-R=!WgNbm9=0H+6jn;BdEc>fc7qKIc#e`FIcVLW%< zr~vM5oOiZ5w3&Vc*XDh_8!Vl&ziMlQCQY38p673BtNJ!|7Pzt@-$t^*H%KKL*v?Qk zh+j%JJihPe%Ems#VMzk&tq`g{%yZ-UqU!N1x})QZh+&* z(RUKv5M0+9c*L`J&<&So8FcbOgM;!;f-&&!3?)R7exS9E0Yi(51OGyt72~ z_+NQJc@nZ z@aX9fZ_A@wfGx_ScQ{L{vWLz5^As?8d|#lI@4gBT$t~Y~2=w(0WA9G4W5LggC*dcw z4fxqVvzf82;`?0Tb@X8 zrVg64Oy+l;KhH-;VzOJ>EWDHHT2p56@p*TZ z!Q~BTAzacuvB4g56=RfNht0sZ6l^0IL$I~unw(tsBjGxNZ##3(M}U7~VBNKp<*@nn zJrwJNCfO6~uA(eGCY(1OC<^hF%?su$*^cqd`_NXfzepR6H#-7rGw;tau;zeOylp*{ z?|0KrJ#(bmNXN7$mENp^uCDFzX@8n&e+TWCf@f<_?+(R7u3uNWh*Nm(@(pgplzBd|P%QijQrtjKLk{@5e-@@CMJ!UPH z{%lCwzYYm?NPDruL$oM0_@{w&?OwuqB(P@VeCvh!qK}1l{T~gy?{tP&hymn&yri=?8fqWbL&6(c-x8%bx6M8Q@Y;|>Adz(=9 zMZ?vm4SBRz^&oU#6 z!b{JR$tw+fvl!drmEpZ?;Q|9^74I}3s*Uuo7zRGlz{Yiw8NT_f{z92S-%MW> z^rd$HHgiKS?5v)p=k@SiviP2%%bvk``}rY%OEy)P!=^XZB| zDDmcvX04|BnxoWqD{Z1S{Vd4=`}P4nvFWX^bhhaglv$g;7#Jlh>bIGG1+QzVbGnTr#i;e>QOa$iR|;=DxFD)>wx#mf9zf1#DB`3;fQs)B93G;~3+A9FMnx zi}3gcILa36HnMYxq09dCq4!e_9(I0|j{XstMZ2CF$G|ZZn4<80$hu>K>F1dCenMKP zpWEq2bf0F%J|0+Pza*oU=5f|2QJTL@zxz-p?$BH|!R|2?_X}g{o5?LpX~U#7afw${R?T;@w6Camd*fR6WQk=T%KpapfGJJ9d0;~KUWBF>$-kk>xI) zBzKBxuZ~#h#v;~$Q&_Xr{)}%Lv#(OA=Rbu!4rNT)8R6>epAUzJ%KKptankHL_*T#|j%c%QQK`R?hh*arA8^Pky~ zb@g8H>G3No`c{`@`fA@@d+myGy>dZnXDfR<_tCc0FPWQwcB{SKb2sp-Z%Qg}CJrC+ zd<^MupZHIGoi$tS?K5{hb*A8tzXxmIdnA{Vza}%^R1izFc5*&v z-K8HXe507;hPFxgulCAMaP@ry?W1*7uZ6vR)l+?I8(0$tb<^w_d5YuQM=pfmHsk1A ze+t;70|5@;=OZ&(0~AxXiMXeH5Yi z^g?lgO89B>QKTdDSx?5$hb7EI)vPDApPfE{SR?E1RIo4T&wU6z(72+dXmUTW7LCLv zDL(;R(%8}zwk*NABgT3oi7iWtcKzTHeo<+E;3WQ(gg1)Am69j5o-s2z<2UA*y4Wen z4tW5Iaiy^n!Eu_Cu*t9LUx02!2ti>)O zmY0UViW4YDcn)y`^fuU2LD+7W9jhd7u!J*>>xhSbuaDQXgj@o}tj?t0Y4of7ykGFE zz1;8d`wGA3@vFQPeV0PKKZU;o9^MBJ`+M`QCI%AlaC&DRj-qWLSo@%Z-NEW1t1mE@ zy+r#ctn3X2FbY<|C|CufV4cQqkV6Abg7q_$1@j#I8phxH)|BRxR}b%baf#+P<`m^2 zxcSbnAMfp!jmpqwF!CKAnfJ9%L5`Oio-dJ&LHBa(IW;aVs#^(r41N+0&{!=*=AJTu#hw4t0)$9^WB8C4MO`+`@i^Vu=Z2 z=h`#K5f@ZkIE#L{abcbBQCv8SKX2p0tsjzaZQ{W##Fqv45bTleD2w&(XwQPZf`c>$ zJ`QrHb&?MriV;+>r-eSX+uwS0kNn%fH+}_t)bEFV!nN>S@J!D?Hv7AcJO?naW+88( zLmc;9vnP~dEZJA-sN$7;tGDWMXb?QZuOv1{bC_)NtA|g!*ycFsyo_?fUq3#vd-oL& z201*ksnV|-8TVk?v=krA+HOcg5A-#0IP@rH3}DHElg2Hgj&jQa7`I}th=nT-Tpx)8 zUv*&T7~@l%)sRf6AMzT*K4{xqAQs#VPFkCmFrH*VK0q>v1AB9IrXXhQJn(ngTg|e@ zZ$>V(w>p(MTjNp)Qg@Crt-j$-pxPrivg263XEdrYs(mg|vFu zl<}?WfObCb9;D3b<^yIOzLqhkAs=Je*+%KON!X9IvT(HNF?g)E!dDynN6YPgHoCWMw-Yo3i zL|_5-!~}jtcjg7`D>v+!TB<=-9X<*=jjk* z-&*pQJxgP;-#)q{9kNTpwm&v>ur!cud+FU!r!EBk!1ua~d0hSqHo@A0Nzh(;mpII8 zbmyeZLm>^M$Hbt!)Z>TD7}FUej-R5rNWKa=Wnuh{FYfN%o7(u`C}TR)XWRANqQcLtOWJ|cr)zR zxP83?UtC?t{xj?=_0O;`z6lY~(Dp_CebATevFvii9btbOM>LQv{!{Nz9@kkMu;cag zhYuUXWMlGik+D|vAkN$-Ur}wfrVMCo*3;KMR``5}*3(P1Kg-_O7I0i*_GkH)W{4+# zVar#MDaI8|gs+9Kt$#RYX&jZsiAl^bG+%7n(=N5GGraZ3b%eJDc&mZ6mfV0Nu^+M} z^0WSE`vH!mna5fm?+C~91`drcI0Vnpz~S=scBh|QD#R!ARL6cED$vho=*Q)$_9p`V zgI9(*YQ@mlYoDV03HGG!quo@)%gczDr?5++r^dg4vGpuC^nAUA1sdm8hO}u$$E5$F zr)Y3`kN%aa3y}Uhd&pSz-UzN|J_cw#9+XrjOAsWN(kN(8WC3b&wq3J{WqZ%tY zGfx}!r*W)({Y!!IY8lU!JI-eXxYS1G+mWXHa>`x!-Zr>b(YM>rQ0jZkf#QL9p}lwI zz^|PW@?wtR#X8^%`B4(^V?O*?2S3(MVZFLI`M|G(PG><&*`|HKQ?{v=7)Z-p{6p+y`XYXr zCw+bc8+-@0^TLomUxPNofmJwYZ6ccg%D^iev^G)M22-Z>h@QV>^yG)wdD)I6w%B7W zHwHZk;CI$>t+%m`lRwQmF2moVl@E-H6XoWFa2y95T91fkb}e_E8MEHd?HDs=hG(ti z&oerFp~=nf#Xf5_FwDWG*BBdb_eE~jKE|IplaDMdWgjEi%L~>F|1o>BUo&`!hH3m$ z;c^81%LcW69vg(cv$jt7%MSh0o(X_&D)WJBwt@Mj4@0|?qF>Rrh3Bqd`x&sctj@!h zHn4qYU>oPa7W+#G+eBcK-b?nS`@JtWI(J8Bo$EAze2mRH8CkS8D>1&K&Dy%ajPpq6 zang#DIef49aa&c!tlwMfB7Dcs7R~NvKRn9!{UUs4-5A*LknaaKY(ow-2e%*t(w~EY zH#>?Ll!?=&wg6*f-QV1t*PF@kO}0kke;@lVo=cCc-lWSzy@|1ImEP2!nAaPhzt!%C zz%Bi7^`_-tA+N2@NJgJEWma!yf{S1$F44hWd8S|GUaOU=qz)rpR6Yd^6KCn-B z2%nNdT+fZ2}IJvj$h}4w!id%zAeR?_^VhcEBFm)RKk< zl}`*|f79%Fx;8b({+aAltAX<>1Gn%IOoBgc$~dDm#GPmMgU8lRK3S-5{7c)9=9+Jr zepb>?TDI7c>D2d;X=BTL{&sCyntd<9(#w%)Jl${QpRIa`SkM#62=H1i?FK!1`t9#!r#0&O} z)Q9+RCvEk&=Evp8b62shA~TlGi}{f~hbhoWI$Ce~TF&^gH*>Ke%v-@)@P22UdEJcj z>RX|HKg~GjQ&0V7fKxCAv1RjKu&eCLrr&RwF%{$Z7Ir%d<1ho`Yt*+eO)+if!yikp zdHikV_*?wlV&=bD^dI18bYl{2U0%p{YBI1*{%@$?uKYc8Q>d>wa>cCtH8USYw9>ST(OFuhw>-cYyDX$dnbZ}WX!dpKQeGio~-O$Ys#z*6+Ty) zvOeG=T9-MrIh?<(Zj9t_n=952IDcW|5VGqxbzH~RvzFNeUWIbSWD}z{8y}+G9`-Tg z7qW+!8TuxmZ`2-slXr#e;dzwjdWZIKJ^P5Fk!ue#>~C4!xDP$*N;i&o=xJ@|cvB{u z8OrX#4WBn2+@USc0#q_qa@1wqC&wh)KE;>j)bgng!DaVFp&duA< zIDfk~G;8p>vtQmXP`|RFy@7E&{ptBvycbO#6l_M12P5}dt6zsq==Vx~W3r*}njEbT zF&N=@0{HEZ4#jEjQD5<&zDB3?ek|{$d&g4tarlqM=MY?%fxGbTZ~9pVoa$rv-t_UO zJPlKZhLU5gyVdtRgY#tbd@;{f&M)F`*?-kLpTC!zI>jpKk#HZ+CK?=g02gt6szk1c}@{26@<_ZN-dE}CvPeeP@EJDk3b<8SdP zn492L>-f&RdX#pvsOR!(rs-oaeF(mKBhRCaO%U$8(VebzW4^(CrSUII3|>D6Co5C^ z=}Z3FDDyj*-|l4UHsItN9v$FZZ~FJ)i?x}1*bBG3`;fm^Q%7CoQ<4I`3{5Iv5a*lXG3Za@aH8s z6I;C{zo&Nuxi8h<%jf8Az^ARGQFsy6l~UjvxQ6WetxG-(B%e}IQA8$p@&y;|U9?TWB3 z!H-`T&VS?zL8m6=n0d&8?!RCS6wqre^!gR^!&+#S{&(BhFt2=ILj^SXj-gps{An#A zZ;SPPHFe{;k#$xcenPt}{R)N$*sGF_5ijD@Q`sEe2RtMuC>}~~Jnr91lj~*WGW7=e zmH%pMOp{}mF*$blGgV7XzF9T-W*PF$mO_We-)w8lP%mxH+n>hW4XQVsScb;CjJq(F zP8@DiZ7J_k zwEU32w-G~C zgzGP5TB5`*Rl_`8MQ+2XOBLOvL-f3CFiJe+6;#5UwKL#hz~) zo8cVZ7JY-DWpbd;AHE*qseSn;q0b=p@m2wAmUEIVJy~CK=23RT2lsN;dOm0WHDCRX z_tLF<7{}hXulvN@{5RRuDdIQ$p|7giL(pM<>yh(YOm0<{vFed?_EN{D58(SpMc#OK zJni!0MK4xsET&N^@uyZ)8nKt(i`t&Q=l->W3Sgy4-DogP$3hPO)lSAad zklq!6p&u}?pS_jb)+NADxng`>f_$uM#!Q&|U*gc&N0)?CE3%g6T<$J(tdx6~_f;Mj zGN#<)H6OH%9miNJ!7nbEBW|nnoP$feM~6Viox}pNoEuHP-!`^%1>X{(OuGLVbXt4S zWfSj3j%q1SQ+Ao|X5v07a-_)-()|It8}7ieZQKEUB67cyF@^g^zNMw{a{q2?Ty(J4 z7@j#B*wD;aJ*lU;tmWOd#_dI=ZyW`k)lWU|R8M}SatKxS8hgiqugYC0l3)bH~hADRh0Ai6Jj_bp3jCoqX)z9u3iIDf%vc{SulbdwRPxH@s+Uax>#y z&p4K^_U@Wi2ae^uPp}WII^?{MO|Wkn$dLA?iT}4UhYIF>OPPgoAS_0O}V^)HOgj5{z7GVM<@_|!Y^_OpHOOHLSl<(|#=#eQ-?(^dz^BI;*#4*LuK zytMLMz{k@s`qcW2bjT}PV&r!=`zr`|Rl>+`C3E%?*2jA^ z)!S>5zHRIi>h>tc+QFQ9q=E4g3lDRf@R#oVgSn-d{6fA5F{G7W*$vU!#)N*H`iSQIFNJT#{kXpfyDGb*d!oxPfELUzJ$iZL zRw4VE(>OB_`i7jp%3E#;05^NM zlU7qFg>B+Kh4B8b*Fsy2ts%+-J8)$q)d;(0c2JFfE^^re1u=Wi4b?x`!gigR4E zfgRa-EX5fI)t67IHUpux{9)VY8_;Yi^whg0*aPlZ49*z%oGFWA>r=?C$KG(<^G?^j zPWSOXMt@1_uN2|NlE_ZHQS!-q>j z59yWi+snN{bJOGllJ~yiM*fonzhcKR6YI8-_dfK%NkJ}pdmcLNf;=wlS1Eo*R=@c5 zT1zR9tA#Z~hde^b^WBsqyILm&=cQg^9~2xEFO0Fa5S_yzPMv=_4k-^uwo z#*7u@w2S7n%P1cm`I9`^+?p(BPXylp=3i{e=aIKypR^kLld}0z@UW|MIJ%<*`gFLX zxq>fgimU6%{MT<=+i_Wg6p5gUfG=XBH$FR8Ur18 zEHkvgJ}&e>&a5xj82bCj##{dk+h%ENbG3=%RJEMbF;~0B#^_RvuL;j8p{6?4fHI!H2|y1Dgys1 z+&8?{l*NOxFn5`}y`Y}O)#u&K2G27Lo(XvEIe8kncqmiHnS2}3uRZ@?wCEee%)>I} z|Er8U%rn6~9h?(T{y$|c+<_~2`NnY&vup)^8;kr-1g>V@EiiCt-KlmDn>`fS4&V!8 zF`UKGyS2#38`yy$j_By9&9$yJ{cBEib?qJG&+=xI>0fpvPXFb^dUS7-Vq+RZ`SQ~Z zOvUsQ@W0XIeZW7>^(nKLp5brT#-+&@Rv)jiuPu4E`4ghS@dman%*m?r5HN|CS|jTD z0iz?DcP1HHNFEj#InY@U!5kA!#vo7HSDcQ0Azx26J$(ef*mUJ8yEgsRAt6kcgSTj) zJ~S7z&JOZKbC)t7(_fl=?^^ofCgvdLIYEEQdCqb!#Lam=6*&p=wPXA~5}p-j{nVbX z9W!%%?*ud(LrYsff8^w&sdT?oei~NMFb=Yok``THIdayLs}hl2?Hba3$A= zcxG=ic-9#_f6x)nKVM6^=B{h_1+K1g;JJ-E;L&}+rPym?V}1@x|Aw}j!+y;#aHaTl z`RlC?+s-rjCUy_D9{%3@O32TcKkCp#+8ZmLOD@IRyUjb*)3fwp6J?@{<%f6>I~c+TDKC1GCCJ44os?d|lj+ zyhd}bMsu#a4!38?c3<((`oJe9{xSO%;`q=gq4~EPdB~m-;+cR((hq3b?$hY(mgFI6 za?oO;I`8UX;g$J6uw5HJ*n%6YOLTDZID}RcZqSgf}7n}>gS7T@Y8p%!nYu?tb z=!QSN41d1vjFHj$&KcutjN!_7%d25NdHt*57>kW9mY*ecqkIawsrE*Iz z^3DR7wMQ1ed*#O2_OTgZ`&L6A+kUZW z@8)DbNPCy3x)0U%lRZ7`C-rnkIL<53&t3Fm=|YSk>_faKw?76B@&RHdFTNT1jCYe4 z->|v+y!h-r9rNPfb!5#a4?Q|we0s<6YVawmO|txZNd@OB!+f$Y(SK|v-wX)ORfhRwr%{$8PKRHGuNCH#okUsU+%N~> z`|J%0ciAE9ALSN=c~hEmY(813k@aRX=R9j@lri?{3&@?|4RiMfHyp(n-dFMIjlWy* z@6Ne<_3!5W-7gv5h@UsHZV{h_pZKKpeU5p!7MV_7%`f`g`hBlG=e2^r)owL3(Hv@h zT9v)~QmCWyXZ5VP@=a4FKUQVy!KDZBVb&@ubg#13Dr-(=y$2uH;?v?w&$#t;a{hyR z*oqtGur8PH_@5tz{Jiya?w3B9HQp5NnKQZ4TgfpD_`0GqUu8qm5xyo3U)Ar$hPRTH zkiRCcnRnaFnAusD&%9G!Gw&YeT?@QcJMr7*HUF9N1o`&DwXey+borg-Jd5Zieyh$p zLm$iQSB?CKygsDiMd%gULFG9Q4*cjl3|!usPM$Mo@sjf2mcch-#6g}jWv%9}!N)is zBpz$bgALEMcW!y^ofGmrdv?h4IKP2?yaRjA`7X5^4y}eqcs}32FPtpjFNyG+Z~wS? z|0~+_{^7Iqw>|G4y1IG)3&C?8^j!U2zCGXBQ{j6buQmyr+OW7FGo3a6K%!+ zxG7u2e!l2w=Re89F!SzG-U+`j_iS*3a5>7r>m7v+K!+9g2DVPQXRWODtvsB8JlNcc zRoGhD05|tBHYJ=BvlaYe1AJlCW;6o_J;2ZsUfG zJN*Q((AO3N%TUvPBxm8Zo~sYywqcCPwr?}%6-{>$iO$6;PqSWATde~$AD=*1#jJmw1yV$5{P+z`L&c(^-eab@~3% zy~1-C-!T3C7h56N)St(`y88Pc;0yc%Cm!OHyO}ZZkor{};~}xbLO$QheRhh6w4x(6 zCbHv&P%i3?4(e{c!0xzx17Ak#0rpesmv`)2YctXCho*1auf}LGeV<96R(~`{asGNp zQnt+*Bg0*+DKkb~e}k{&I@sSi8hZ=9PxTHz^m&tC_jR-Gv2g25L_D&t>uq#f@Tp!2 zb@cZcrtN3V^J$U3{%gkg3OHH2I*Y$;KH-`Ct#g;^>v-CVrcayadTb2$kp=Q7K6&8K z?YjK-(DoidKho86XcNrU*nNLd$93H6?CnU0W0!YaE7mX0uN8ZAqf=KJel&q!Fa~~M z>t&tS9?io$u05(*d&s7zOia6sGcSs1>s(PKdur~TS~>$9o8NJ*qx`{OJl2U>a+$PF zj9=PueYS^OGtp7wh^|`iO*ioV!0@95-BO(&7+ODPo+T^iQ+B_xHyLC_eaL4mH+{$s zsO&@27xyf+=aFycZ)+!?Y+Di94$p~|@Ju@mgq~J+c^UBk$ zp*;UD?d_O9WK2Jz$Ab-Ce6KdZOZ}eSO}|@AzX#E;=In!Lr{8@HKEkDfJxzB$5iTE* zv&(m2I^e>+0Ku5QGxO2w&_}dgVe)%l;o0qH0=%*`-oySwcXRHrZg8kGIJk4}b*Ajk zj9COeYw=wL%P>a|Mwr-(@R5I{{j~cHtnPl!<)*JY4L&=JZLxa<(xFSKqj~jowwA)ruJrD|EumaiLbqU^Muy%uWmevrnJ?clWuG-NBAGhY@beR$fdHp@_%Wh` z=Foy?AS&`cMx4Lpr~1sD%5lgVKXn20wEm0aUcSZyz_`oI2N&~R{Bh4fd_a!A;$EA~ z?``}Bb5R#I;6rkZ|A?%*_Du7o=wj!l47Ax`X!8pFMb~hDSRTq&i*tUc0-q)wS<@^2 z+G^JH&oi#|FSMRafq!3U6_XD{94Db%J?70E>ptmXGiS<$M_`+^uAdmr7e_&ZYG4%| zDomW_y9QSA+pgg*H)WRJTEopZWxoL@(f1%DzxtaTzZ(RP{yvbu?HQsE(dVB)|8`h_ zEk3rhZM_xz{!XmRrRz4H?YAt8`{na8m1B_-@5lJ_((J92PX}-PvKN!vhu@p{WlbE* zdF}TX=}t|-R&Vz2SeFGk3UT!_k~j+O?Ow(1EA9(&1IpQ#$dS)o{z$lYGxc-CV8kQn zsXM#W-y!s;e43Vhoc#!NT>BAO+G>Bw2PRiuTiE+k+drFq^Z+ho=DXxL1U|0(ANEpH z*lNEYb0jfl;g}>>V-GeL`xxE>))RP4E`h#j^&mL=_+8cbU8<8bxp*G(t@~GkJ3DrA zr#ZGeK`!2$;BMODhAq%J7#IJ`>jSaK6Ol-8Vv6>52rrdl>vlEf~KrSdRK}Mu+(pf8S9)7Oc#A&NMDZwsSBzr#v z{u=fYWH&_r@6&GpOS&*D8R(!seoDPTv{7AsFIL|v$wF^$f4&uAzEe_9o=P_Iof4li zYiI5yms~mOf~_Ao$es#r8#_#BPZRm@xN|rQFKW?e9~w))r5B1ltL*_cM+DwjJ2Pi{ zNC#_Ulw&{Jl*zuRoov5wNFz`9!0q=_v>=yy{}KD_!9DvHN9N1(!7;IqohQMYd9s=^ ze2B4{9|KyD_waR<^$q98)h16(dMRI9XGvPn>DGXj;eGBC4Q$Ou&UD|UAMrgGncVyR zc^A;wS+lmX&sJ}~38FnW*9MTM5#Y1cS$t8?E)@8w%xA7c@jvRrTZP(K0*SqQO3De&y>Id?sx#S<6 z=aMz_Gr-^{ymhv~V?6EGt$~K+w97r(R<(k^cVF?FAjdD7*QakIYo6gOP}vsUVK=6t z33(cqP#)b;{=6fYPh#MjJjQRbHpJ$a?Y`pSVE#Z4?})FMR2MgS zbZ)lyDMeK~XtSs!Y_nyFSGVl|FKAOu{ig_gr6Ir12$nf^IPrElKY`W5|phV{pD|C#E4oBETv@A@QYV|aQ6 zc&!{VU_u)B2KP=k4Z)Ue<6M*dUh~KCFv%I3{~sQTf1>dz(D-a%**NTo0G6~@)OhE@ zgAQ0*H0*#uZ+?D!4YUvI4lY|#>DB#%Z?S35aSr9;K@uMD@#2Pch6gV}hepGLEIgR> zzTX%N_uQJiIh_0GO`Q5YziI+>Xe~ad;g#YcWj&Es^i|(!XsV>nZ0ejsUSo{?pd2~A zZToTVqSmi^`MXy~7mA*|NCqWUPMRdpUKoOSyCX#kO&6J;@V#$FCaN%bTHkMYUHvF1lWb*A6ns(}Q8}HKJ&9_@<+Uea>>hp?x zJ9oStw2NJyZ|9CTnD5o57v|e_7>_=4m*v~J;{|=r%eQmK`?7HVR=!o(T=_Q(`U|VXjEu;7Mt4g`wF~+a#1asg<#a2FGF24j@)PWZxy5Ys-kUp{J zKRtaqjJ3A7YhKJUV?FkNG*)p**JByJ=brpO8f!#1c%2vGm3#2hkClYy=;+K8b~lT? zl`WRdl`WMoP>Bq7@ z%NY)BhC`d#oDK4sr{n0?c+Sz>NzVB8VVvv4hueNA_c!AMXP5(3cMJ2~aP)C@3H#2< zNqH06wPB;pJeRo5Z@0-sod1yDD1OOzlx-IOJ_Fxu{p7lQ{TTJ_yqJbRrSA}1*$527 z`A$ruU*-A$y8HGJ@UZ=4nFsCsnqZ!?{RH!?=AX1*MI5AV4)d?(pVel5eVREY#$1>& zbMNAdMh0{5V&I)XyL1(=7Gb#awtNeI~n@3m4HYcWE9EcP`XC>2)y| z-buUU+9)b>yQpvR~lpD|dOU za(Q?&&$m-YJiK8zu`hU%Sd^EC`N+%h7fzfXJ|KlSTZ{Utc} z>RsP)ZsKfNWbHJ3;_9Ly!P+TX7tT#jcC&U$nzd6=uzvEFC(YVv(QgyG7Go>s|CYE2 zwn;IuC%yjTbI5EO{m2m$D;lO)&apFvxrGwI2BoR^rjRtKFy z_omynJIU9-Io~#Me7v+;*aB3PhgCb zDbv^){Nn8MVf?|n)|?@{8(n{bZ%!M(So*xQh;v)4aYxg3KEL$Qu9GeM zF!nIo>25vIVkK}&1~x&z7&>D0xh0~{1Ci+jdSdFv`HpY~FoGxc zZIZXle7ABAcevc{RekW?#P#W-!JJ8*J+U;6{4DgU7G4?3^o^89eaRc}TNmKBuIAkM z0&wuI2xWRDeSgw;0Q1lt;z8geFYU%ht~B$|jh}uV>M+)e-Hc^@r5ir|SXRffZ{~TM z>yy_L$;OR5x4h;RoFA|+W!_iw^Fz|i4_dnoWe!N5o#*{xBWseUrzMAH<$3SQT42l1 z%(rvxuGT#1>G^h1yQ@2EyIb>2BM)vC`&7_)MLR#&mUrzVR)_rb$XS-|eVR3orEzRd z9;Y05SX&g(nCC<)kC&@M(!K0A@@-w+JDYbc(BJC1OUG5{Ug9hHb}k(?f2C*T+ePWv z;?Un6ZyW7mGxF_RID@q+_Rrb~cf4S&`e@!pbQ&+&J>Q-tN9k4eR~1W?{f(!4)@^-` z`O?^K+1iJx!}sCyb-Z46n= zx_u^l)itP%88?m{eblLc5cTh&eg_?{>1GXL*15U)pI*L1gC(4g6U?H+55STAn_cNM z+Zq>Qv$lUw{O$!m_o|ZE$P7MY>Z0)zpW^KPBJ979j`}6uB(+VUmukO&d0q3~74)My zo^!}=#FbY-U!~rVH=3unRV}3LGVs*cH&E9d|6DUE%U0Gn}Q_V#iHTPYTpZ^!oXDNN^T_buMJ3Svip3fYnv2;J3 zd@0dezLd_fXR%A#TTO6o!SY|e)ISDs&!>?G(RhEp{X3NQc8xPg^rRo(OEi_g#F@q^ z+~Lo?E-5{~%G!nJn-~jSSuq&;Y7cD@zaBBp`PB2g#IA>yavtQ{{@8YXO82OH5&6&2 z&LdWAc_Db-Ht!*zh9t-(-K?%2CVeyj@8{SIa~3 zPiqDb`7X46St$Pel=T_>(H_AH4v9^9Iwb>r zbmGC{e`B6jE{(secmJDj>(Y1v{BCK;w{vN%JsYnqPq$7qMpq^{@Oi(^*UdWcl|w(5 zre$hlX`by>cd%$qUsgAV^Im_~)5o>Xw5=jfFo?^jOtF~_=t}xrzcJ8L))zkKIehf6 z`6Tw@&_iOg17h5b^%Lm$_nzL2fwZ{^d6_@n59YK`pAKs1%{a4*2hM$qScR37mZS1G z$TySyk#8nhOmLqO^Fp9Aiv22Pjz2vBUwW=`GI~gsjEzs+m8W-fEh2qLZp_o%<(2dy z_uG71msj!^ygTykTwci^a(V3PpVlH-hsW-C@=rX@XIs6Ej+ef*@OX;ddxP?{(w>OM zv^(uL8w+BL&w2Ce`*W`tvN{DBPBMp- zkT0?NI)7eEsb8howa(io$O$1v-LQzcr?q-=-RGD5Wz`niD0Yybj?RF175Uh~*#o^B zG%u!#S-Zyu)M@@1O5ZKTLmP(EHa5{8tH0IPp?aR=k8^df5s2uLw)Zs7a)$V{p{(sRTbdr>b>NF`*VkA&$*TTx|(Z4o$qen zS@%bMfDUhCoqHN<{;u|`W5iqhV87Z6_N&ilJ+rrUb)VMW*8Mg*zPELWXYF-eorm1p zey4tdy6=7h81zkJ!LYZyxrJD&tv|=`vSv^5q_kJQtxyg@k$7+7!1d%bRwGNu_oUg# zj?QgJUwmX|Uu5S-^h2^Ic|*Q-RRWup7mX=r(AuFiXD_X8XBp4+n=~Kl?4$LYq~EKV17z!;;$3W3-fvoD{3gA-lYSD)`(S=h z{zD<%|0Xb8xnuA7{4a2J_2+A}r;iS0U#9H*NZCxvsv~7zr0nY|gRYh)r%+~Tl4E|b zG;!Ah@+G%1watiJIsP)H#eCHAWZixJp zZNG0D_df5lyYqC8uDPDjn(Mz_)nUlkxyYE-T$|yK)~sSW8LaHP;RFnPb1k`aE{c^$>7cy|+4Pb+M4%E8knXJa{O%F3c+npW3t6 zxh~$eJ)b()1s`)oyroCoQtU}c_kj(!o4*yu_|LYsRX2f4lDs6Vw>ifiJfnBS?B8SF zeHGhPgKswxds+_76JDNXuD&#a=gq7mHOx8gOEo{LH7lacQkdrj`&HR1ue@G)X}1zHJNGnS`<~02FNp1| zjCpl0kyn;Hr=scHZ-n)~$Q~N~5BLTDJ=$rE8vV_&N5eAUT}JLg%{hKkoc?E1ENPHvTX83_FA?V4SM6XU+<~P6%Bf* zQF+$=ymv1q?{f8b{dsYIv&y&ToJuq6$ND~rN#uo>l~-}bjOR7`seREKuW?tNd|T0u z@7$GDGLFvj&h`es;rI8KYY!@cA61<5X3XKP$<-s-8=~*x5`RVw&$Z++yxQbddCz%# z8g=jIQ{8iE?Yn5Ln2WXZi}1Nb_X^;$wD-`@WKVC>&G5kbgW)_;+@N;y+2k88G;OCi zZL^xAXnPfH-7&THvt!zJ9md37sNJPqj2Xn97}LV*ju}%dmA2JPWUQlHqwOv`s;0 z%NtAI;z(Nyv;0@VZ1IhYH{||Gr%uPuFT_u^5v;b23v15cc>--+Smi^zu-4N@6xNt& zJIbstWY^S(Z6_Zi27EsME3u2pPwvwNJ>?g<^mKXAV#c{ub36TO9LcNpXYE*)hc0fG z|D5A2NEgLhG^W-i;)gqC%<%9#kuep&v186Jpj!ze=jV1Y=3t{+mKQGnF2Toi@l#zp zmaXsNXU9r?g0=25pP=p*>K2lxp%MEam=>ZdR)&8Up_#=&G;YSgtWlt6T9MU0$iK#j_Bvtgfu0on&`!bY(*q zaCIj`2he73`%eQ)A)0Az-IXpT49&g~!T-ySUWm^rV#2a(uDr%f+f%w2w>!KZiHxVZ z-O=0X#+EL|QjE4M9Id_iWn|19dueaP<3e<`_QuLbA$yaFjOp4N+s>t_#q*n8jM*KY zS;LQ6kulx5T)b=r?-XR5s7HIt*UM>Fh{oOFYx!Ce z8S~@#nlp4dql+;WcX926%UA1bO^l5Bad=u-M|3f!VD3tOExh|i#(WAmta2ntvyl8+8T@M(V|Hi1tqg98j5!3^v|~zsGdxG- z*ZP$8wB1{Kc_?e@y{%h9-9qvyp2=^}x%%x8`VX*AY*&ty*(*I0sb_=Z&+TRqn_cl(*MS zme-Y^@Ti|f^?U@bp@yH+HhsowFjc5 z_Wh&sV|7e(L?J$RH(vFp^z*8^@W=MX=1q=_>Ec+(7Nm`RKcb5<_hv3TFf!)e&SiVL z@SVHE)7p_B{^zU_KFM76SVUeIeT==d@_JhrHhLB`bY;%9msvyKx`>UwlX9!uh3uu3 z^DDa;v%7gAX~sM+GUg&@%tEqYX*;8fG4JeV{x!4pfTLNHr8MS0`W$+jy*rP3&S!>u*`Uy7WyOA8&YM%vFw$R|wC9k%xV|7*lz`u1>mR#!TBC z5uUnpiFn$KTtw&Sw9)5Q+U~92_9TAJ-qyW`y63WYls{KIxJ>&BTH9;?=vH&Cc&$0> zzKuIR?O8URZA*T%J2+n~|Khku+E)GWoyfi;_5c2Mn1d20_T7Buo^d)~l9@z(g*y1fG)UAKCZPmT> z-R|#Yd(^F^>>kQgCj(Ch0n_izb3L>i!1J9vldBTuF=r2|yOB1(p$wn3X$tfGaC}9b zH%~#Adho9|=lpagU+4UE-u#8co{c@AoomNj{TzWU@dH1yIEZUjAU7_)%fPk$eE7e2 zk9(0b>Pw+r@iHflell_Nukk%V{4?Pr8n-^&wrUvm**-td^I_&$@rq}7cE`Dhaa33N zZIAJ8k);Jb@85Wy0S+ZzV$xMx{Ta6szu!!*%?9>imtE)2Sf=3l*k>?aJ3m@_)s;hAHxEF2AtzBseQ2NWf9Yc;FzGIUHhyV)M-I7*r_1ZM zK)*fT;SAL|dphI`jibHqYrl~`vd7nrVvIK(nV*C2q*#{C53%_g!95YIHR8l^mAA2& z@l;p+NMBm{{)Tv{y=dw30_sXHebyieU{RYCx}0K;oE7o2TG=O?LtE`}YhJLn-L;k0 z4kRLNwP&ujZade0*!k~B+MOGLSM3yc&N5~&FTm%M1S_z&&t>f8YhE8n`$G6C-?=M% zr8C0!j}hBt=RxIByKoEN`P8>#uaC47eXO2X8o9V8ML*hKPrE{}D&JeMT3kE%Fa}ro zmac9JM?0?gYGuO8!c~#_l7a5(Z~Fu>${x^NGA8|e_ivr`A;Vp$dM_P)jrWsTck5Yp zQG4#E_wjBROPPz0g)NXzXm08K0dTqX21k6WDBh62nTM@h32w=i z^#@%Y3}PY3$U$Am^D1~J87VZ6TOBN>txKn_==s&XtannR-ULU^yOPzU*)w=15+k>E zE6UqDsF%hz`p{K5krn^h6P$b2yjl*OZ#W?R)0NcGylrXxE_pxL%5ct1#Ot2L-hS{_ z+mQE=wQmA*cppJY+3CzZXKO#bKlhaM=S&0l7u1t`@CtJ@`3js*_k-{G>2Hs_YE*B% z?w31|GZ25-T~)-rCcU`R?&UYRMBuWw+k|o{-@)`K`H*C4+@SW32 zyj`=oJ7sD=>LCy8C%5U0xjO- z4w)y41};x?wkgT|iaR*7KBRBQ@+{v&n?U){{k<6;wA)tXEzjvJ6y=M#nhpc_V^#y-y~w(r>+vIQ=J}iK;l@JV z@hwDTh`b4%(TRI|s+v9PHy&Cy3>_H981+TAY(m{2%EnM;?|IZcT)KBFfgHU5)uIhv zKX1m4gS}m)>%DoplS}t;>F%vOjsx58BiwOtVwdjE>q~!?_%oILPYAx@jEwY;nQu7T zych4Rd_H5aZX^duG0<9aVm?4eTc#GyYtp$-eTyrDZxX~@opYa0VgJ0Z=lgZ@B(*k5 zoRiPbbMqt@@-EAFH%8E>^7^7V>@8LKcG0{{`SZ4&JD%2@xi970x#KDBnwY@czvZwpyY@65xdAOqV4g99#^Yqm@ZRL#x`84t~ z7U$`^z|dFc!xn&3%YuBr3*edfrFZfhVwdIdbi}UTGd6OCL z@O0-Z>!17!+%2vx^YeX2aeYE?9bFjL_Zhq8%EGv=qo$BIUa@-Vx&3O*N} zD6X+@=i9lsYCO@%%7n%%HMCU>B-XQYj%fS6cSi4W#k03rnk2}fwsIMziG0cI$UGb_ z{L0J7aR$(~b>V-KciyS_b}syq4ZeL|5Ps1_-y06s8hdvp;eKQ}IQIz+TBhW2FJd03 z=3J2OEh*<+);UX*lka5gNFmzT{*ttjUnTny?Jqq#&x0+&So!<)p5VFlKW$ZibM!3v z*?j%5ugJYB_z`!JC$BsF7JN8lg5^(cUcOxddtl*y%=FFOw1F-^>yCv@w0sHH3y#eU zWSMV0qzqmzZ#KfW*xYY($0<{n;Be@q>dDNm;Zc-kGDq;hIUv@sw9s0HQMzkuWzTTZBdBn%HI-Kz&#Kq<^-5 ztr_FstoTm{8X7u$_zB?B_e9bus3RW=spOJ7&_z)6tPJ<#%_7r$EbHF3{FX;ka*;!Y2eCEvr`lDEW<)>aU)Xli!yr~1 z(L*bD+ZoffDYji9`*0uUfL!?Go7(z8j0he^_1((a^ayV9SE6mBdTjA)cFuE(wl+Sl z`A&S4?Ndx$@=`6^hwN0tL&?su(54VS#77FJijtS*d+w6k=V zPIN{0H28>T++EiJPpwDnn1%4ns!!VK-pWFF%64=mUv|uUB4gg*(6$hsp5gNb+U>19 zECxPXS8&>Rc_G_*5&iDIqN(8B`u`!0r*C8EKHeRib$X#VykB4O%rtS=gNd!AkEv*i z6?@~7#AS)sj;kgnrI_FcD;@~$?yup!ZBxm4y_@)^ zpW5k;e%q$Y`ka@0hHs{ISAP|I+=6E{@nemn{h8&>kearBE6>Ftcywf?dtkW*1xr26T-X)>sf$Rq-6+>r# zAwvv(9Q7}wTxE8j;Tq2ASsJ{6KfMw7y2EKnu$SvKEJHTbZYg`DlG`QnjkPx5zrHoF zgn8;oe0$YbJ=GT;wtj~CG1V2W#<$PV<^iY8QrfIGd$;Oe_5UAr?*boXb>@$snF$va zD?+%4)Jy;s(iY?*f>oJZK#_}>L~ZSMGn2^#29iveBwVU3!=+od>Fye|#ijj~1aMcU zd#!-dx|;xMyT#p~Vz>SM+>1eIYa4eftyZ#1^ZS0!dCz&z`_5$0-G2U`&tE?;llOhj z<++{bdCqgrd)|O-U&!`PpzKaP2SvUm=I|$qv6#UelziYEbPvXs!1*`R0pBV4r*ewq z;WL0mu6OG`hI*{?7+~Co)IGzk_ZWD)&4FnRd1k&e<#G2Vy1Dmw}CsK@xNz#icW>=FKan&+}! zm3=q$;-3G)_@|yDw{Unmbg$Hr56=JZdTjl)MMJ?U1MDk+OT;M&u!)Tm0E9X z9mqI37DS)iL!5!Wyy@r*-x+3E>YCOW>ew_{mgh+XJE>oM7m|JTfi}%Ap2eoe4dqKc zg2#>;k)qL8585VAg|$X$fF2&@Izl+%2(Hg-OK4~$1wP@9`R!x_8CAw zY@hg@hCZ>+HeX-VGu;>IV!d+8h5RLc(9sO){r)h0>OFnBZlzT>Ox;Iad;`P78;%Lx zr^eOpQ;-hSn?FpS9B($AcAtzpSofp8J~@7MpBh)YPx^7z8$C>)(l$7B~xa&Du?GwVG= zIQk@wG3YG&q~2ngM_~lkfp-af zs{`kS@!Ldd?XbA)OsJ^r$JUwS0`_h?^p0zA)B)ywIp(=8D6l3U1&r%u+)on2xaYZ% z`w=JXH)l{5m%WK^ZR$LK26Z?FnCIsnlNjs)>*)AFe`hY^ta~$N>4R-)fL+{&e)}(T z*M<~6GtAkH%+d5CM;dl;B3)d=)3osnh7jVZeV|X{LtG+gllV+S{d(ZTb&O-sIn9?d zSZhBWDlY3nJ)OhF8BgXLLJhE^dOk`yNnSucq$>k;J$k9D^8wJVb^f?V z=O>iSv2?y4b*N{QW2vkYhTkrhV~#okUgNt!6UqkP$DT;^YrcJDts%;FhYa?r($8Wn z(7y`kt!|e*r|vGnbLua0Fh)PAV_LShE@(aAS=nqqum#_=!rBIMEoN;4c?>h2@_nO# zJR>bU+nv1oK4>uOB8b7KgKpZ6FzB{z$LV*5A3u_>zVSo;+T-W=+e3%H^&xet8|BH1 z52Ej{e8{%(JxHUkp}%py%Q;>QYF*_%jT6wd?ognM-|XO+35+R``&M>TmB>;s}+^uZ=+zo+-h^jt?)|t?-!44xcQSvWY1)UqP47U@e==#`6zhVC^e~@opct**Z zez8z~=ELaWYmo2I&QULG8Ph*e#_z^MPda&=>|_yH%$TcWTVP}Vcu`v_-y1E?miFD+ z6%1rfVJ=vm#Jn$p?=@|ohHrXcf7$Ec)sknh?-9QdA}f$!VKKZW=PxtjQ!5AI$P z4WFD5q<<4#$hi%cM5mwRx8PW(0Xd^~d<$|LzK^@@W?U7xuETvbe(%L~zc?D3A_k-5 zV9P%uYM-7c7G!2e77tx2HdbJt^JZMzXN#`;#GWbqekJ$HF^7_whjV_`1vZMw#6OVj zxn2z30{oHR!r#hvtvSwfnmm4y#EMfqKWXPZAlUEz0ECuQfL&S}ugw)@vd7ey`= zH!ir8-ykf`cGryV>KQ+}>&VZ<;Nbz}qd-sZYhv)JGr_Lj(5S_|zr?!|zsB{;z|r3K z@H>FtA^e7dM|(%{3Jms+$M2-z(XA(j_B=kR;wW)AFskAx+b;#rdano!HsHLf_=6*^ z-UWUhK-r=C87Jd-hHvn7#qn$(_<0cR;=Hl0188$LbayByx_VwybnYL3-TxVUG3_Pd zrCyZl9w>)xP~Yig9*yxY&x4};pAn@jp{03nQo>3>m@HNB%wxHUNgYG-SbDAJO z<`~Em%IQ&@7f)R|k8{x|ADNFFEf&TguP}7J1o|7mo}B6EH@YjJzBk=~vzg#SwgFH2 zk~q$6l4mr{z&keZP1mB{S?EVE>N0lOiMpOL!1asx=JPImfBAq_7kdS2zc@9r$bQBg z9ou2-vO@$`5bp-yd*qn<)+%MnXEA)cc^96MhL^z;J}Z9Sp$W7I;M9oc*P`DU=(pRV z<@?ZW*)N_+IzXT77xYEYKmCjTj_y59+X3+T(S?e4Pl9)qcz)r5?|AdU@DEY=`xxeF z703e}z_&lkMP?jibSfr^zap}X?bdkniBNpzR4n4=1 z>-`w6&xoV1@LP-_?C1SVH~MH~`JgyVT3ANw z+=T~JS+@UKl=(4i(=SkG;f0|?{F}bF?YBdRV5`pcgYTu9ALy5RKiKzo@C*KqO6JnclCcA`!@QLCM((@qQ8iOP0_X#D1d2mb!afcUF#{uE;&%zM}c zj>l3wqg}qV>XZNcrT4eJvh#fFE3M2?YX0c$W!aD6 z{<&L4P3)bDY#h&CfFJrN+|wTwiJ}$d$mi~Z9DWiiD*H!_{r;gpIn@GPzg7gZOQ#|~ zQ3U&e@m?WDcFqu&ch-rK13!gc|Iv(Hd!anVrDD~$x8Xd(KD5*OQea~fbhP(p zG0;iKyLQajO!Zd+BUXGo{Nmmnfnb*P`cdaHaaoqKL0&Yw1kVQWYy|3T2#oAJ2pqQs zh~s4v$FHDV7#=+}@ z*FLxRTcs!Vo(P}VyG`;yczCc6Jm>@uzICmi2SqFXqV&bRe*oNHL%pAZ-jfaw4&vE9 zhX+OAL1Q4;xeNOKng|XMN6KjhXxIRo@dkJhT^!k6QY6kb!R|j!UQpJb1WlxEF6Uy-ZO^hBOFCM=Q^PmgqS6&N*1~ebG<2mK>T43}5 z-XAGD1{qFAyWsbs>0kg34^Xyz#QI-_vFC7!SaXhe zj#?-VT`n@aPoU4AhAz)uPu)TcaSzHa5z%wUps#G}uWuALUJcy;apq%3;2H4i{vLPwgDt7OYaZ4J9h|sk&;=M| zxZw@Z(Cp~ye>!9Ei_lf#5x`o`<-qSDjK@;obX){a9t;Fd>hUD8k4BY<<g0`pa||B?5A+x&Kd9&Z*LlbA&q5<4KW+v;KIl09b88&`Oo%LP(9bX?Y0Ef{ zzl3r8=huD@wo2Ku%V5i3^HzMT^yJ<~YaD-1jFPrYkK>=A9ggE=Viag9k~C?aa6A*& z-$x%&=%`qv#_~$+CH@%bdIIep2#LdQKxYP~io=l+>v#VLbh`w4{P8epT(PSNcZnf5rI9svC3a;#h;?ZUcia_zz~ z#E{A^Tq5m455_>J&n7$pecu)+87LYW+WqHa_wD81rDJ!=-?JDiv>6r7J#EPUM!y@b za&5Lg(MJF!_Ja%M-qd(gM&>z(K zIbeS%E;%_0b!G%E%N_(jnS=h1QI8#Y@*g6*2QYrFy|VAsB%UYm`?v^P`NR$4ZjPZb z(6J0+*;%C=LnBr+;_69y5d1M>nx)))CiUOe(yRZ(a z{YDUe<9Yav3iyr7@f!#q-+LTa9c(E2%hCt@nHZU+&7!`25&AX)K9=i?^qoQITNUaC z!)#+@7B=t{>$2VpVg&AS)~^Vhy!`yi-OM@u2ka32I(2M>@18t416sSGUz`(`pdFq8 zdv?^mDI8n0g_w7h9UC3l-Gdx3Y%pT3sq<(PIj^CeeYyW8Pr}2Cj_FP0n_@+C>rxptF(RrT;DI0xS>Rn*q zFJYgzL&xrf?I&;h&{thx&AHRy!w}j!hH@{6eXkAy@3`2$m*0C|3;nALM9)Q026d!= z*bcw&AJR4k%Gfr266HhxM4de*ig4!f-QQkqp0mN4rP$-8v8bY5x8-^~m8h`O3U0$LLQ(W3o@+Z}R_2l&4Q3 zZ}l(z1oiQBXjJxfTpUmEA@Io=*z-V^KJ8LjUfBrd()b+n{4$oM?Wf)6IMV&Y&Qw2w zJ{#T{x{-L$m-mN8lm#$n8i(~Obw9eS{LD~oG2j;-I4)y!#`26)8KW{borb?5fA*D~ zj%PoC9t9AijzVlY^4Z8M0mP^Dr$g{#>u{gM^Ljkn4xXL>PfuW8#h7ae>~##!L|{a= zdxSU)U90{Q^sWzOsB_F+U5aOah-WOrXTQL+xb?`KD+!cs{>+n2;99I~Be;N54 zd~18496B*1E*aqXybQYX8seBI(AR0yhn_6hhnN{e@%-n3FxnDg-~Ho(QweOvLoA0f zy`spJL4V^!5%E#_KN`QR*L{U}6u;xh^Cf{%132@r_C?7%HNW{?^R9BFIDDh*>;M0} zyBoZVfQQ5J4)fzf)TOhRKXhsd;-%{#-(#a5!hV6wtD&)duTB@C6$#Aewu=!bm%J~| zy$QM1kB!{D6VEH26?X?_9N#Mtd(+;%KH{P3ay$=&kHJo7PN^{>vOj?i{}dPP+;og> zfw6r6WBUZgc2r<&%e?E~OZ}(ra}11tu3rbdra`YuG2fc;b|hO4|6B_H{5{}^ce2mD zfL{SW^ha0|tsE11IWBH{dE5EWxn}5MPZ45P_;4LVz6KpUQIa`zI<)WAe*E%2BzEpC zr<`F+IYv14zck8;BT?pNz_y_reaW`p6MtI@_yFc}y|01xn6ig8ALE)Qj@>qOuj;f&F?15P^`e@tBY5cnqoLXJJo#RBj} zA4MJU4K+qz$FuT=sw{X~P2aQ~vC)2vSI7(Vkzn>T;DZ4A=?b9ET2h7{<5W!1lz#r{GKL?AH zKiUU>1l())frk!)5a|8)_V9}(AI(+`~JZ?=C# z`5XF;Y3~i)_y)1kB59eo}3QKhe=@f(L8kATizjyQY=bhbj= z@N(Vx5~;JtKx4P1vn7bvjt@CHi(lRcLE}>3V(aXv(TYx%y$!HB@Z#gJ+jTD~o!x-( z(fy?_or*(ek)Jq;c<9_$sIz0ll?SoD6~}npC4wt@@Ouz((Gt|(C9r1#dIer(DI?gB zar>aZ;Nc3&Av&W^>TkuEz?Ctn=Obj^fVxKE3EJYb@Yql`@YYhJ!!g85 z2OS-L9p|g((_!={bvSD2aO|z;A9)>gDjmL4>M-xM4l`Dx4)d9aO@N13^W4p zm$+deVxZkS0k6mWN!QowNL)iIhTZ0VV6G|cs|al5_s`xzUZMx}BU3R4gMBL66**r9 zK78>bVqEVH_|5@r@C>Xk?TTE}mGSL!=to;UXG9nF^6jC|(f3&6-g6N9G#LBwS<#Hh z7S3_y-&K)kF4KR{$ZVl4RL?Wd&=$(SfkO~~znyq-&so@v?Uzm+whivsU6H<-i^KTtEOKUx!((ub#Z`=JGOnq( z!nkJOnu+V#u9djf;Ht&-DO|sYD~hWD*E(EHxLR?wjqp4a4o`h3$6&RDqMHqT8V27u3B85 z!u5N&qPQAxt;5xXs})x}t}VD8#FYswCQstviOyNaZ%HoR7RFu-$h;gn7U(WV9{Q~# zCI5Q)V)A?scpiLEn4C20E!h>=$oOCt>ih}dY>#V$aqzeZ^#lJWc0RtYe$jJiCn$oQ zk?5+$@UaURLsKum_yZ9mLyVv_l>JHR?psPWWF}Eyg&yG5Q6Z+Xj0T z`*OM5kFX#5h8T1Y*R3}JkNr4*r2BL2=VQ1k&~F9$Z6uC(P8$dxJ|&LlA)G<-I$+0- z&+OWtUO-~r4KzPRU6tab1EgTT2M z_OW#DFCWYR&z^r@wHSW?R1C3s4{+t*0nGnTBkth3&))#o9^lSAek?10JKgn(=j0qj zJX9{nx}VnzKu5ze@i)`K>s{dW2=Hjvy7;2!(QinEI!RX?GzI@p>3NQweV|D|7UVT# zX=EtAqS_ClKL4&@e1|n3>PFxz0ok{BSd|gq(762FlcGqxOu6^OMc3jn;!*OmdlJ_x zPCOwnXJmcxm{adjU9b1aAnXifU-y1U>P;Wwh>Fou$JJ%9=MMgl_G%i=f2oT=2Dqnf zK-{!3jKAw5Sm)wzAJ&gij%y?IEB5b?asM9;_?8oRt=CR2Jn*z!lac$muvR{}q3Fr? z+D6E=^H1V@lJ|knf58@U?P}ZD5Wd}*IrYHKYr2k{33MF}1-r0jRef}Nu&YE&9jHfs zvf@DbVCA2b55}&m9ISu8qH_u6UHhjq_Y+xM4F9sDXv#R^%yE<{j_hujSBdXT7Ja?p zy3pX2$i3Bx;Km-nb^*qZolC3v5_ssW4zB{XZie@;$rXff5&s;&u<0QpbzXH z%HHkt6`Nf-*jD989_QromDoQfiidVy z^)lDbk?R31t)*`e;o@jL>0 z+OG)>Mp2G!)Zm%=R#S2IS18*9-ohrIdjc_QDd>-*e0?y`dAn(IV)hM`I}QDK%V}H6 z3cLwmy|CMn%^S#Dk$>1r*?Av$7d7=KWbuBhMc-A~f5$!XCZ4)2u04|0drZBnvOjeC zdlzF=>&^3cMjoATU|Mf3G4&>9pOs~<%06e8@!`7;@ig(>Dd`oRmB4vE+R(iD7V2u= zd>>^$+n9;7{o!0TdB+<6`9iy+_aEb8jU7-fu2UcmO@o9}`1B^hz9 z6!WGS@<^NmYMDOl;7R?Dd@F#qG;CrP@Apc2zvPsmoHfK~FXJ z4rzP%H0)+?HZa)z$K`{)y90xe`QdJq`A^{A1D{q3-%tv>&voXW{bRbmi}UL+fU=08 z4zo_+6FaH{Yrc~X3VcUb1U8h?hZbRU7rt{t40|N#_xeMavq0y?b(vE$ z1okOIU+SSpA?#C193LgWYxTs`6kPozlJ}9nNtnH&|qv~ zXz^lzj&Ml#&-eV7bYid+_{|xPKOY^7OCj76ppLf+aUN^q?QM z$Jk@Z9RcarNK5SaRq`Ez@q7+{P9IOZ!Lhe@Vq{T&XiC{{-<&vQqKz0mz8&D)mElB_XW4ipP*U;CP#ixia$X!3g$KO+dbXe6|$%k7KZf z@1y-Fd}j$_kbaJ}(PCT)_Q9^h-=&BLN=3LUd`Hx?Z@U(B(r!PBU()o$`WG2zRULvHmWConUkjED^o@ITFXJ{?^EX&`Hrl}+_1<}yS0E-s8_#?eGU~k<_0d*_u-mYw9lzsP z_g?JT0zNY#``$Ydg94v8%dA#^_g3TF9h?U_ie($ICwUz3B^~!;OyOJE8JyePhx)z0 z4;)bL0{glxu<;GHcU)}Tf!t*8H?iN0xa}4jry(xs{W9V?lw~Z^`yJ>V_mupZ*mwZH zPx4tsa3gH0;>F(wHh!P$!_eoRioo6FgjWYQMu6uN66fH?0P5j9JdB|!*{2Y%zV#k$ z!1(NW{9-R}wj4Uc`k!Ro`_VSmm3v#vTu(Q3o?)w^A3;VZ`icEF<6Qz!yTYye+p3t-$#J51(0-odJ-VV} zQ3K{G8Ry*cs0e;}2I@w}oY*^!zan%p%-_)`_KJr>U;ilnjy@RtI^!sm%~IF!+c}A4 zkhhw^-x(+N(r-j&p4dw{0{(+5@LMOap7*_d*iYsB{WRAsoxdmTles%t=Fj&bC+9r> z@xHx$KW&`8M?Um@_zs9t8QZs|Z-2P+G~~pbz>k6%+4kMB7x(P@ zEyg%viT+m?oJaX9&tg12ix_Re(2%Up_iGrR^`kEBGUGMIYH!SsT;RLzu*Y)W?NH?v zF9)}9?&^JKpZnW67o`p6p2b1LZye*a+qBWN*&jok(S4>Iaobx*x{-V6M~uY3n>Ke$Xh%=n@IQp9c4RruhC&~E^K#P5ImIhI4Ba|-%8jla8(mv#!| zI0WRweyOM1Pt5GvzCN~y@zNz2M+4Cp_tb;V9*n&T(288c;@IaFoTrYlJ=#lr18@)Q zqoj*-LejMubj46F5Pa*%YpBBtqEGwQjI#PLsqa#zyI{?}rQ$P5g z2lwK>3*Dd&A*QQ-J9JI<81%FKj{~rUZ=5<*8R%j^lqqvi@4`+-5T|s5R~?YY>7k*Q zx{=o^eQ80LcsS72h&U%h`0;g%QSQdS2F?4Y2Vi&QzU=HFu%uGX9?=W7FG_njl(xlp&KQW)%n8v z&`uF$f%Z?M-wf_Kmh^i4P$-u#93PzTux;*F-UB=}?azRA=x-VEybk(9nTz+!PxfFR zb_v!weiPg`2>Hu1oiB=jC=2ax00*G|GSbO#CsCnhnhSl0-XrTIhvHU!=odR zWq%( zEm~(ec22$9L)s3V5M6w)hq9u~sK1mozwJC0I{Z~fhYz2)qAMeHm~nG)b{XhK*;A1s z*t_|69;N;2hkuNn8pHR5yMlln2nIXj;mG3YLM+|}I~N7c+fWX^y7s{OdZ+=;00rJ9 z_^rVFuoSUtU1st*fq5tAvE5fJ#h4kNjb17SyT>mbjMk6b+C2xqjU%^akh_gyuYdPV zxW~IOl5V^U#5p$ep+lirQohWI4plC~*gfRrBa5DV1fTrRC6_h-x+e7G>lnX1m7nb5xS(9#jgNpXjD*b}_2g5PvvT2V;_Bh_;90i1V5Z_(EKENt~D~#COxt7sm?g zZ^wAyGtw4B{dVLLy4Q-qDDndwr%$2m+oQzb!L@u(mg6aieLmO=bVUVtcL#V>`Q$I= zEN_12GgaW-oz3sYmx6aIng=&51CMThvVRoq!;4S6g&fFGd`2hu@7U05j2y^k%HfbB z2lAhCpgbstcRo`De?3Cl5!zPTSn8dUO=%b9pk?x>kO%Q54@mbi(ET*{b42oi<7#|% zq(eXHh#C5ev-no;o~M3{yea7KeuaK_e722pap?c=(|pZEY4+=$rj4|#d{J?Z?)|>e zJw@+jptT$CUUVB9GCqs*0rn`Ht!T$N1yc4A=u)T-?^j9LE6GScE#$ zgE2>apdMW1lm83w7s{TF&*HryL;G{T@6ukChxT_+_ID+By}pN>|KJYfzL_85IFG=F z>opSCsFz9Sg$IrpfBeSvBbyKH48k^z0*^T+Mq_-1z^6-^Ij`hcAl*GXKh|}4=an)x zWh~14FrRb$zlJew`=lt=!W3*$wh#WNA29{}4}NQPo%c|mxwt5Bw0+4N*DnJe70`j( zfk!3qxdY?83ivEHpC2fkdEp5?x(G{-?M7NyOV=> zFG|KE;3XW6jN$oS>bs$$vNp^awgo3`KyY2#fxmn4_j=fd*cU$k20zbxOyBpMPYNQ+E6Mj`KU#Z#vI1;lTNY+wnJYL}eK~-@g9F z^O^Mv&qtA~8jpRre7D)-r>AobPrVy;;Qm_r(hsQ@ETNy`jotCNHkYAsG_YCA* zr|jE!o~ejz<+I~}9l#t&VBgwb;CavW$_DJm*ulDou>odW$@eC;ep>uTK9ch`+Pz}x z8)DAbw8-KeTq8jK{}SlacD#3ty^+ zWHIv~%+&{g4`MdP<*=>A*$DO>iOFKz2JnFLX72ykdqc8)jMpy4h~$AjUq|OO6t6{A zKpwO$VrJzljQJUd(mv|-DCVLkU@T8Z`$u;MkV6pIGm<&=odW@`JDiFlw;vrP7DPwl z7kklOmi-HO%J&BLO%>+^_F>UR?81J-hUw4k&0yWB2Yq3_`HLu?bB;(F z8bI4F>0ge0P#cZ=n;&^GkDjGYv!Y~0qkwR6Yb5yMW0v~xMbh}^aXp?2kP;=1pCmhN1xck zH`s@K+pY15S?>W^+-At?}Qdb+q zxg>J&nug17h-@W)e-52^6W1?rVKZ{}FGq-%dq;@B&4A_}tS@p5od!JzLCYPW^{goB zED011RKgGR0O#$^G`+{qbLdl5~DH-S_29|PanSl29vEJotJ;xn*;4e0AR&^QD1{Q>yh zh`)D|e%zPh{`%2k@MB}dVA)uFD;&HD1NJ!HZSDr%??C7J*F_hVfR+H(5e|*y8UXjd z$azg!owNzqM}jegaZ`4nGSHRAvqP6g7IXaX!@5-;^1t05f&FaeUeS>&4(* zx<2fptRD|_)#Djs#va5gF`S_wiXy-2L9XvaFmtpX^UVXuEi*^EllvC1#ylP42?(yIV)E_Z$26NLBXbbdq#Ybn3>iQLUz5r$W zu=i^c#>msbNu507VLry_WVt74a@je=ov&AfJ2{5M6=GaP7wQP2ic_Q;24e~GpyN*tJ5nOMd>7sO!)eV+6!6U%;yXS9W9 zQC8tA^Dt#cHNGe->atJamwAsm%NOt+^@{1o_eP-8T+62~ z5U?>B=nHek)UzGvYkN@TsMtpo^a|-8FqRRM^g-ra3$tY|_k%$9w13Fwf5~h5-}B%r z{UUj;*LmrCsTY;NnS7?d{I{i$wHV4&Z-X6(LdPPo^8$8UL`QaU zj3c-!eiZiRFm#IZ;sDygH#uZoj)^dATc#R&81ULF$7*z1ZF({#zm)z zqqU=P-UiN5IsB{7<2~{T+53JE`I;55QP?K|JYcIQWUKk?E-@%3sb@z}f5sKT&ZXe# zF8GeB5^;#YK7j4h8(}P`Hr&@@%OF|O|j)S&;4o>bojCpQ1c(~w! z=y}+<>;dQ{?ZaxwCOWREDUE#C+ct+nD!rB)7O9cMqf8iPTBn|}w1C`JL z;!HY-+fK;u8I1jRz^4%KV_#3<_cxHyzd{G1uummZKbnRv)h2*94(ts2?1v z#XDcpKZe1p?k&;tBLQR1YbZE!-~`&n`-tc#G;jiEL`{bbIj81(l+-WU1NxvXXqS6g zt^$1(z!fxNT_@Nz0X+Gx!=GC~$7{g}1IKZ;-l5>cPOhmv3Lc#aU7gKI! zUG&itg?RW!uTPe9FZq1h?5?BG*Q+r8?!lO!Qi-v-qpT~0b`MvK?0O%(yc#^>dd;>F z*0>?-Ue0I0r|lSz#Fcm-M4WK|u>|vJ2e41*AohOs;oO$P!6_%hp$VN6Aa|^Z4DvkV z@D*2gJ}^pjO~Cy-(9LgP>~f8VVo^m{qppABQ&mR=T-dt%{_2gjkV=IQJ3ha0dSaTT8B*j%#~{sSkEf&JA-&mstPGxmnwToyY_!z6EZ)At(d6n z+#^2){aB+R9$cfTz5hjp6Q1#&`8y|vnEf~4tJf(5z~R@IA%Ubl@b8}FJ2-kSwgho`4QL3D5rYxLM&S(3WClI$pk;;ty_g$MgH0Aw zKRRzZ_!y3et+W9>lMu&)mYzwV1@y!~M;Ng`VVagw(4ukYd{X01yfx0`haYFI|LC*! zw2u>**O6w-?-qdPFENJyD)8(Eo`e_*Jo`Me6VC+OOPD;c?^?uky*iy*hYUq8( ze#~QW&wan!QMWWQs%t*xPLIIet8oawiMj&MWPRv&6y;$HVY@M3`P7Sh7&nS?$N5-^W-5A5`4@6#8Urz?d-#p440?&Qlmz~O1M^J~cSDe?r*7(4buwycM5<;Xg(quu_BQ8>p>9I6DbVrYLG z@=ZI@exw^`@L^6!dshz~M?5w7DCT>l{cW_-jrN}oA!h~t{3-bJL-sQgb^ZS3}UU*q3dy;ROvOPc*nC_j9&OU?$udU)0}5x7rq`4Q+sfQXR2ozF?nH( z_oH>a@WLR@w}RZKh8In{CXBW?UWbOZZTqX||5v*Z=n4O=k8O(0>1ak#E%8ltv6hB3 zp4Z(2JlpD8R>j(DQx(bf=2+{znRl*UzO-di*~i1{<4v))HvBfFTGrwxC9%UF^{Et) zYndhS`5^79rfXB^Ctv%fVW%Tc`{fE%)kGbrU*6J~nweymghD}39n z;TwdQQ{RznYM9d;Yim!W>sn*+4WDqRoui1K)0}GPXiBurk$hj9Xi21F;MknDbbL;{ zwN=WlZ8rXrM4~9Qzjk+5b-YA5ZzNS=s!F+A~`*aJIwG*;0EH zmxO4sgdC2?+T-gI4dM8vn{QsaC7x()Po`RK4qw|Q*p3#2?4xp%DIlA2M}zly-u63M zHngNRw}cbAkMPXdvu8`iye9{gYzafR!|_x@BK&~e+~?Ub#6Pcc2$;`R4J~4NedOV9F{SZ~>|M#mdu&RO&wlOFq$GqkK z2lB9Nkd%j12K+-60!;oh6C(IH1f&0jSq3t`CerV&yyH%K;&(1AilSihIR;F;2XV`y3J-MBCaMZob**q11CdUa04@L4z!L zZ5z1SL8anoQ1scFE@^G4n;TE3+S+E$68fG*;?~^9Q!SekY1r+$x;yV&UR6aH|1;$~ z>YHQj`l*7s@HHLnP7PhYwWDoa-Q0TEOK%+w|6BqH)zvLuzC1rXo@(8ykh#-SK-EWo zHR`dtzdhmaAO31xtTh2@yglgtV-4#&+S*}zJ*~U+rdkp}uc~S|c(P>^+V)k>;aA<< zblO`+_urOKyspB3b_oq{NXFLY>p;UT`t0gPUa*((4fjgtO&*vsy1o{rzE5lguX3c} z@&n}x!sF>gtex!ku}rrQ>s5`IMCzQYJ#PE3fCb^MJ{VGDGrIkTl%h!8S9LVEs&X3M z+|dN&as{T~(5DJjo`dV=o8dP>4YZ?f?hX0+gT6VBb^8cyl51O>;bT?NaQspZIUM%D z0Ub^seDX8`)%Bh6*dCM_S}91@c{;1Vg0$X2Wx>p=K-87Fmy-w=~xB@Z;oy8+^?xDuS_+!cEBRe zo$Cq*Sg7)8MB9Y3&OZ-V;3!ujfwNe(@xe^28E-kNHPrE61_u{7H75UA=q+F28iH6_aH+pIDQ4*aWE z-(HhQH26_a@S1xo5INLz)VKL@RB(jR2`vF)?f$3W$%eR7QQc#9TsQYdvQphku*6&4 z1J8J6YEvu?bxJ28OGA@_H#Q|(6{hOGIjMVB_t1~pb?|@e)N^0<%X{inZjY zr>&#DJsl&?^YY3&jX6@yx{k)iCco0C_QB7k>2xZ6Zz5fvYO}S%fp4UsC`*lRGw>vl z>R$45b*iOiYjbk~9Eckt6uddPrE*=Yr3Dj715rG8;2ljhtq3;K9nHQ13hvS;h2VNU0dzSXr_m5_8eL_`v*bfeXHR%*HI5t8CZtRP9gerJC z(TZ@)t|ysc_z8W5rYe>73M{vMFU<;Gb8l554g;6VPz6`**C*0<$L>MFTNCLv z>I+PDEp)q$R#joE;MDhyeCRv;LHlaWqKqD{e zQ>;nS>BCXAU!O`hB+_t$i8M{KnITn8UB9=C8n+BmEBTIpX_ z$5unKdGV3iMsG!@4~HMAG#r@rnO65s|A>Y#9`iNe)NfCD?QtT#wh;eZ`{P5`>2Ga< z_K2UvD!SE*Y|{ zb?!nh*l9npMY@kX229m&1HWzhSh^6tpuaX5->@v5*w}##uQhBO`W<^~Q)2T+`dg_s z-tzOoVefwqe(f@nuocZIrr@$YX^6b-`MrrAugdh%8sdwyaFWXU_5@I}Lv~kYL*l6LtBYYCy%yWW2hk zCaq%3>O~$k6kLvn%8q&~Q1rBC{6~vlCaS))pOV??-js*m_iDI;TmHr;A_b3A>+=p^ z1y8m(gU44})8o#!tf6c12l2I*m#+oYKG|E--cXg;;i z$^Yc3Z{hD70II$--|*D5+b4cH!=aw*e^q^}eGj)aezraI7EtvKfBe%6hd$r=T#{MUsJQXT0KuTuWe1I;y2&iwzYX_L++%S}>$ z-$`MvinW@)J@mzsY0PrH%(447_z#0$8)BMdtm*c2tRV?O=u)Qt)~)F(>_yPebMQCq zYyK!2O#S*K^8jG*vSgDL$Qd|gn}fZ@pXOA$bzKUHwyjGs7K{}%^&6AzOA+0+`h1QB zXSegJZ06ehfnsB;%pI|G+T+tq{hCyL!mk{5{RT;&g_+`zsgEpud|hn<^JK_vu;oHl|>jg^6`l&2;`A#3-a2C|rNQpI&$4}Q{x zfFtRIC*Ne+zdhE0CDB+*g|rj7`co5M2ibcYxBG|w-=l+KgPp}6uYMX7P5-fYyaR5+ z&V_mKM+mYMo0O0(Z&_REjAhphm>#Y9nA5ZZeV}<6-8fP+Oi=2XnZZx#|0-a?wTydd z2+1S^mo6ur+_WNral*8_BGJG%$I`89+%&4z6a#07j1bmQ?%euX{)TgkE>j=<-yTC= zQT1>1#K2|B1bYe--X$6XM}7JyZdf#x(S;4yDq?qG;FkZfQ8e&IY1U|8jBb$v16Tej zN1_G}`^CX;?ce8H%(3C%Pc=+TO-DU8D7s}#eb`IJ4&_)?%gg`z)E4d8Y@S&4efsaC2O)HA z68ko9PbV9!6$DeC_;HmM31GD-nB&Swu1l}xztIEOjTmJ91rk-v z{A=)4{;YCk`5jC1@=N>6;q=4jFEtsa{Z@uy$WU%wn`)_b2fcyE8e&+H!FmqXLE8{G zAdkZ~4BYrf-Lj8fq+aRoeCWCLsZZ%PXbghNO^Ge)UsrE5Lri~u|Kv1m;7)vK>kiv6 zaG(FwSQ|JN_i5Yx7#p~W&%8JqxHf*uKN_+P9P-ywj>P6l%sSFBy*RCL@!$)4*rb?3 zAsMtxdxR^9UEQTu`6KO&+R9rRuzSoiv?Ys8d$DwUWuj$mJ9hcm4H|eoQgRKjd>rIf z5d&9SAQ}jkVa9STU+;>GDc`m+UEvOS)1`rfU-zccsg_i78P+yn+r55AB5%vri7$th z|JqclVHp-tJD|?BDa@kc8!R$(b1whf@m;gA!_6HT{EYs4Ge#~P&ax^OXBV#HOYel< zz+0eZ|#J;k$0Yz+tcb@hv?>dDGfd8ozp3%aq65 zufDQl`0?ZTJ3q#zzGE-^2pM>D0$b3W=+i1>;067eTfvlve(52r;}zm&;IJ3z)E17g zDtkg{;NXwz&+@mw5*tVuE942AG`p?-u-{{IqQM`-nEn!I6{mSH;pB znB%vYY~W`8=^Y^kZtRH*YUzU4?1pr@V^q%&6UY!PbS^8 z-*Wcue8BU)N7c`p8rzw=rTi~lfl`Sur>_N{!2tG!lz=*uduf~-q6wktvSB4?!) zradpchHnOrz!0k#6sCtF1J8+9RTBm-J&5W=j2xu zng(v-gJIjZ^JAuvsgL;9o7wU4kNysOBoaDNslYCM1@ap+HZ3(w;Ze4_N0r#`roRnw{I5BL>~*BhJYupu;WFQ&em@ADKe@I3g^f7M_L(3a1U z`T5QF@v4vu>1c`BX-Ct(wr`jZ<>kLS|FglaJaxXra7H0u+PCewRmQ-XFHjQ-j}0+! zH=kF&s>Us1;NJMl2;IQ*(2|J&mkTmd|e1>9!fup`BAK`Gxh3AXc44RI# ztnuyGLl3i2%CzUnZ@8rl9QuN3$Q^h&&SjQe-x(kCd@;9M-}oC#T2}vR{N8~qHtgtq zNT!=D28I^?VcJW!!CKLK;0K6lqzt^(&F9-48h9c7w^Y`Y*Z#(C%*Mx?A2AFx^_~2b zKjmTIcXX`Ew?bjy(1(2a6(2e-f3$z|6)^3&@w>^75NQK<{gI~y1NZtfQ^vr7ubuDE z3^8!pkNdERwVXLups?PPwly+0<#Wc1>e9faex}>i`h`KqrN_#jXk0w{WT+@oJ^0|svUD+>VwhdhVNkGQ>A{MC~;m2WW}n)a|B zz+9s*UE%VJ@u0HhcJnSA_~e;>yKoZ^TEy7=w&E9qoDCl?KVuiR%cpf>#VcS#ue1-2 z|FS4@;c~K-lOQ+ny!jFT?84%|H-0cZn)dR<4Nhokv8J zU*z54W#IHT_vkftYJIX1TNrXy+)R1scWoLO6?i8*w`Sml;|HUqro750d6BpIEAv&R zn&iEQ|4zQjU&6F+@=M+l25yZHdqf)eF!Nb&YnDE!EoB!?*_-yU`03_vTs9cEj`wZk zZ2qY6i&uSM1tC2>$u;%u^-V1}uPKl`HRav-zbZ-IIAsmoiWh7i7`Vwd*-#IE)P4`- zckB|Te*XB!F6za1Gj}(%;Z%rW+Ee-E9FyGKgsn43#iSCAH+XBx<^|!{O$TSt(eB%d zBMUh7%jLT(_r?%yd-q!t?wLCHC~)dmC)Q$ZI-UHS{VpLpkZ|>;7v|ted#T0r57W?) zjJNwZDZ#S79IB{`9lYyOKK`(M70M{;c`xa8R*iVi`gmQf5_wz9*s%O&(U7k`%CAad zv7alYR#AhmgtsIsxFf?_YO~>Z&ojkju)n&dXEj)@Ra_D3{7Zbe8xELCR{9GO-js?N zE;#hn#Q4I6iYz@<9Qc}aGL^SOr@xv_&24KNYH<*U4`;$1`S>6TVW&Rij|mCiE-A-8 z1uQP;oPh(EvL8-<;AcU4!4K{XK|Z=wQ7HG7Ds-IoD>ZVwM|+hq&J^@Ri^EQN=WVMs zu{2hqIPi2)2VRh0O21a=Dpu=C-~IXs{EhC{aOZS2MXRDnjXz)3gg1&O)S_4(Nx1w5 zeFgOy{mJnx6=+#U3&u9z@0CW`;ZGIi<(D;kaNtnS{3uxaN1AbrjvC)`H+fA5JiuC5 zF~dvU9_i23EJ9U%$xnxy?BBVUp2Fb|UI&0k6I^@AZ6ExoNTu5HcH+>3-R^U1mR93n zBcIfq_N%E}RrjHrJaDvsZ^}oP!rt(!rlYkLd;8P@6*dE${#UC3YC}{D4!od#D}7Ul zIruJbtK{iZ$;PDbodyS9*@V+Tpw@UR5^pV9G!f3!oP533dhVl#E8?s1k{*~|oxo0P zyib~oJL@?3=dnB<`W*h|x+teUx1r|kfN)12jQ;xVAN8w{eTV#KJdyz=mCH3gW@W;y+- z@s2pW8NST6sf2^yet!(I{Ugieuj*e7E~kFoT%Pa8ZN%;C674ZpD7yU^LSApA>b8ge zm%1ldsOS1$*7xh1{~q-(HlB0Fh28$e>`|Wn3fgn(uj8N0ISqDy{`SznQ+{}RD@Sl1 z0h2!$!=LiKcNw-sxnj}iNPYFp7koC;k)PUfkcW#79R9j+JWr@inX&aQLs|0kvk((QHM$hSl;9EiXN{lJTWA$_d9(O8#I0EjavMtxqR# z?z!}xN4lzfp7Cm_lQ$G_+RLM9iVg>kts-eI4Ed~y!4HR-H|T8GKF2rprNDgbL+M{0 zdM$nMo{Ql0zZ}^*ye-18$UB2}=+EccZGAV}u>34?>RbIoZ!8<+z@2!In`PIu`{QHq z=e|TN=hbu5{|E5*h$n~75420>t2o2KryxDRr=UNBe%;f;^~W@(;E9G|=OQG)=@0w! zJ91)03tliDlKNa=KBo1{=${o*IsF&RH=zB3`6$4L9hyeI@g%bm?(Elzv&s z1><$VKkRres89a!qwd{!Na~Bq-&vY0)lrY%fL9ec#H@=kmzNHGs6#F(uLqk~K*uxy{RB%84 zsXsDbY1sv>a#nk4zGC6ZG7i3Z@^|id$-^HX*L82k9?AeIUm^BKc{700Z->|@Iq=ox zO-+dDay8z8yYlxHap0(nvvTTFP0N~MYwaS0%kjU|nGm|D%fFoZNL&psAIh&#enZQL z9CX@~+aB|XN5fruyzX7gN7+Zeb9Us%@la?!3%Fy?U}oCdJ-&+gT}Q>Dwuzv{uElDAwPzj&*1QPwKEB3SRIk+m5K#ln@)AKa^+Jl zYC?%fmjzettm09K&UC^i+|etmJkYu;okZ9gYf}5Qypfu!V3qf`pLadSDqk6Ei^m!g z_S_^FA*+0{?XISVWjr|y=2uqrvO*$cl?VR7yC%8T&a8RiRk37qQzE@4k;3XpRlXNy zt@3u-%HbByv3BL7%#LjwP|AWs?P~5_^-6|&$Gzs=NO z>pVaUokc

        Bk}kD|@0R(O|Ah-jh?3`}8W%2Kp2}gk0|&1Pwhwqk z(n=E>i8%Fnz|HC=nboRF;GH_PxSzYdOXJJ$z$BY$HYBjb?_raR4`1+W@tjS|P8~SX zwQ)?wb4BLXU%CYc9Cf6fMSES+fvb?aB5C%)Xo4KL3PEad?m}~{brp``O?KdQzFcwU z;Nvgiw3m-R^7SGAB9DuI{*;~#*ZQF1YDJ+7_q|x_5a__UL@C!x{DG*3VQ~iPXy&>6_wdJNjN5-TUQScTN!v>2!0{dm-;_i&-VP}z-FN1PhpSdJe#-YifRK-^ z1`eFNi`F1rgKrR_arJ(YMTM5O(I@ElN`7jkoNp!DgUo4<WiTcDQbMTi3?%1!Y zbZo8Oo94ice%Wo4AO~*ghizR9oZ}_dT;Gthrmp+vtC2ij)_(%211~_YSIka%J^q|m zE?tY_!VCI8k9-_{NYV@7;~?VpW%0-G&kHsD$wyy4_0jw`?F}Oj#1^q+(^9CRJfPq0 z)xqD?cOg@C_MGQ zt~?9cQ;$5|@#&}D$U~J!Rxw$R7|J(hbl?27`&ahStN+&iELqg9Yt{GJUl%W@{SP89 z_-M;eI2}3lEq;Qj43r$Bqm+`4=@+3i_1pzGV?(=Ow{^Xac+kG#V|wT_8gILB|H_|+$$;dR7nuMmIGU%_}6`d%=;)Z<||dt>Bhj|EHq`S|BMdB`IV)1EC0 zt3BWNcYC$?QHZ~wr(paJe&yc+<+SgO*DWL+INC25Z(fW(pZtwaa|u=K(&IB9e;vj2 zZh$xV#gK?{DhZ(I28Y%de(#(FsOK0r7Pbd_oTE0WKql#~1Xe_T=J?RnBQo>7Vsn4*(aRN=%`f z5?k;_P&L0cz&-4K^XIp?_FK^P}v- z0v1U4P`$=B_nzq+{zev%4>*5F+OUC^N)?dA73Hh-NUW7xikqubtx(|;-7Jn?|r ze?IGN_g6RfL*NH~+=aE3VeMtEy>)cK#b=c~&`OyknP9WWBib+MZ>0PR$ir*zEWWt> zE$A=MKbMfPOHB*fQ6Q(jw|y(5bKAd|KeYXs+lgDhpnd~CAuBV&-j2b#_4{; z*lXY;ogw#ec^KrhZ?+Ivsv#xpz@c9S{h^OPutT(W{>EH)B{819km*ewcT4`K)$!~bJr&CRySjL4Hj0ezuL45{( z1^o}|UkrXR`U~3ci^VJGzo7poe(*>0{OW4i`-}01@kh?~E~|b)`wsr$RSE{c*mtW> zfXz_`S6_f{ZA|Y8*Sf@CSDyLjZ!SE){ju^>vZ&p*)xL^Xh96JBuVDXx7mVk@kAn6C z_4$DuwM&@+zvh)gAK(T37vKfsDPwrKz|q0Z`ym0sgtT<>(hsrFOffm{0H%YjwO7vQKR2deu_Ux zN;j%-c92@h@~fT*sR%Q*|UQ7RgM=+|Avj>E%_C)pW2_~Amr4) z7##AsnEoRE9DcqCdTjm3mrp4e|6Gip8h`(Au=rhYyo0`i@uZYTf$<6W#r$o-cmeeb z+JC?cjt{^K>ObHG>B9lp{+$m>Wi9`S?}_6)k~W+ghv^eiqw>EwGSZ&YjL9)xF~)9y z4WB@sF`Y^_%tmL_*SGeuG|?!)O0+zzXx3`1}W+)NPt~^UYN_+C`Fz zU1Cagu#ve*52rq?h|jtz3`cH{i=w-nFJiGg)#{{iE>5Xv5NKLjs2o zA(x09zecPQZt<%YOO>fK4li>eK8>H;iOMg(`z)G-gCL$2o&y95Zv7VDm$oeYT>O2l zJN1Xbk3!Y$D=UzzQX1~?$Gh1?h?YT8*TH9 zhuTy+zAo>0P~*i1SFDijTRX4iz0D6cY9XcZ!P&o!Ytkv4a%YcD2Op3A*Wy)6mo8mD zk3P!T^)US#iX|NFFK@x#V+$|MR0+>(A1r#czUMg=!_$6SZUG6`^@r;paM%7A)Fq0t zzQ;a7=dB_VZt=egN3OTH>{I%P=nlh;xp1qd;y~>Ow-&%sI+C!o7vaxr#_`4B+VHKi z1*LDFRsH$#wMLPLUwQD+aCs8YaQw`LrL z#tOFEy_(+{_o?+P@;KI1-KvrVt3FP!@qJ9vuCM6VY?XESkEt*5GyFA%$H4KO!h-F~`kFr1 zPMG@AX8Mq~`&amxel>!oKHkQI1pTiExcIyL^K@eB=NUWf!_r@;sP0+)n)(;hpL;#} zY4pff-#pj77`Uvj`RB61z%NF>r@q^bsW0J1zD5rW95ygVxqzgBUrc{4R{y^#{~6+` zA^yKu)QXh&l6V~V-_^{+@9KH+O$!_3Zs0{YS>vwF*i^GLKYZ>yT>$>BY5D4!x*Hqu zQSg?zH?64R30KQo8WLM%9MrZHz_|;Yx6|-d3Le?Gyk>sgQv7E%?(Kir_UF~$w3+z2 z57e|pPi}j27q5?Pia9Sms(ex^ogdeE4z2~;n>U~Bxi3jB-GUS-zu{WAO`8La&L_U+ zHDFFIKZ%4lm=bL(Fd3J@xD8ifhgZvNcs>(q!=XYht~K^siY`WWdE&Dou~mL~PtPiB zI8+uZT+18^6kawQ{jK(IF|*+pqbJ$6D%Q5aIUXg)aw(kc_8QFFweAb8HXQguLdcz1 zZTaB$wBilwb=F9>;pAVku@TdNP1xm>ORuKK7zdze*GK>NrsA=B%+1X{7a#m?e$=3S zYo3h)j)?5?F1@ZWZ8-U#YH5ybAq#odj7&>;%)19aw>^BzBi~_dK6*60c8hlZ8g74a z&W7i6DK^|155}w8a16Gb4Nx}Rqwm}`t3G6FqwAsn!}1IAtiiGI30K>^^0v|-j`X~6 z%^w>f8~=R#vHY!D6s^~^CgMC@v?1&~4#TJ;$CXNlIdMP^Hr$eG54WjvPZJHZ9gIGB z{@LwrPIIy?K8L1nPFp%YC*ImR#|745-y)RQNk?0Fx!M)R%X-RA7RHSzx()L{1^I%w z(FH#o@~AQm~f-iZ-uR4Tv*!DNH@Kdaw^pyuceoDOqHcJ+9LJ(j7 zj!R@7D7Sy$hedAn#aXQrc70F#j*+q9(BFdkh_6k1H>>;ji~0ro=Xfe;|1QEmDWAp| zCP4Y=Z%8O0j*L*u@!_X5x^Au;-Ffu``0>2;oIM-=kG=N*jH=51$0w+uxVrXU9%vu| zCKV|WxTXOSNMaJ2sAI|`8A&oBGYJHB6?g5sYhQbBUv+J}vX)iBuDh-)_HGiYfE9b= z|2gNDci)>y0=VD*uYE_%%zL+;d+xdCo_p>&=MtUhkBu+DQ$;K!foODQeEakJZ+Y>h zlM&b!x8L7-P4v*u`Z_t%7DI3>m~ktN`QRxnLwJ!6c{Gw#zh&pw_|>#WXt2}!<5vY` zv!~6VK!l7{_YB2Cr>8y|ufEn}-JUCrd*N|8O0Vl5=$XzHT`#v}{pn-9o?Vq6%C;@V z?D9lEex(eZaYkxck0Sb84tpDU+YD)e=+rqXMf|-AHPEXz(0FmPm!+pqstoY{=4hF%Yp3lM1E(_yu|V9 zk6!^_eZphO!@NJF)@*p(^1YvD*!hWm`dZKWOSj<3(L$52{&N4F8+N)Lzuwk!q8}v^ zB$byG{n*phgOC2`r@#8q|33LY(%Gn|H+fRQXLrv7pYFfi0UJO4$p>hEtJZh)w@-f2 zA3ij^?riY#Uzv_jx7cUu8D;ke@Vfjj0g}Y|qQ}qGhI-r6>GrJiwb!Tog#P|g`Cx11 z%|7{|#9uz$%bU2-k?8TzPk-a3@naL9jUQ|NYWDA`e+%fZPyCwo!x|vFeGOl4^iS|v z`X{c%E}v|FY^V2!AEa-UegyQJK(%&zE`N8k+3D_j;`Z21hiw;If!SvicDhIYP?OM3 zudYip39-}F{?BdPx8Az^M9*IDd?S3x{Y3Kg{^Tz`-WEA{=&iqW#ZPVa<1OD0{`!Nj zKmOJqz4a%r>H6&fu*avr@q@*7OG^O`sp@9Xvg(n$6?^dD1LN7JJgV{C8-LL0y}?WK zp)dIX^wMX#uD>^WNaTlh&cyWs@bsy_)$Q2?WaD3_+pT!gHCwha*y+}O$e_$l*Y%sk z#QE2+{%H<>i5yPLa*n>8QWY z`MCw@eaiRldgpQ&yM5rlzx`vM=SP6Azx`dm`V2UgL~3$z_=d`0PZX(xx~LUbyTOaS zti+2tMxdR)vbh>j1KJY$U=OItPaYIgqs>v+L9{lS?RLPVlRG@FK+Q#j7viRBDi4A#g^4RoUc#9km=fV9=krd zxscS9Fdii7kwK1%AQj4%I5Fiho->Nx{+V%M9!9O1q0!@3wOhKy^RlVR}FQ(q< z;L-=iv(NdU>Bl$Ph*#~umDmG-fv+vBD1e<3s-i^knh2~RGWjc_bvRn)OFZmsCY^s! zEHR1X1jV?j)8wb|@I#v93Qd#W(7$q`NWeFCdw%0Mv}wxw;M1Ko>9iPa&HN>PmB7uc z_O_b-nSLuI7j@5w41B0B8KXAoM31 zYK?Q5bimsuzt`}KH}IEB#%y^_+c25@3H(sjXwtp-HQdgm zCzO}Fir&+u7R#i={2a@%T0h7$iSZ6@AN5>mX!2wH;3242XLGBnN%!+pwaGE*H2zy7 zuW0^iBhMaxuGr;QIzW?Y51t&Dk&5KZa_iEM&7Un<*px^5R;_&%1Hb*sE8hB9 zV6)3_6}_UpKG&mU@`a6fHJ+9|kODHabVP*SHv&>oPtnLlsS!`ZWJCGfQSjNZ0&L4Z2BBro6N1JAuDRC{1~reZPlFsrSJNY8vh9yR*jB-S~~p(;%;e-Zw&ZTzVRQ?r}}eZ!A2$Tt0# z_;8;SVFy0?9FN>0-)QuKzp5w=y4zYBVS>Hx8TF$aCJHxQ^=sSlrA9`gY<%$|cd*PW zw9zZR0IzRslR)gt0StNu8$&`)cZIW@h1D^KBfU7}6(4PnJF@mU+9F?$ULdgL_W0y^ z!1nib48@`h*x`deZ}a^0;wu4LYCQVF7tL^&x{{8so9?f#yfD8|p06h0+0Iv@Mu7kN6C)iYlxLJ+BRVVLuRJ~ZxqeN301WYOII-(@LNS`!0tr4{hKCi zc>mM5q(Cp3>1~{eu6~g5XOUQfg(x`2}c^jP;HWnO-wgU32AAZ zwJo|Z#-l**_zhyO^BXx-c#vVLJZT)w%2S?mQ)THq*uM-856l|Ee&Ol8lnWP;C6FuU zCG!kDIn&aUvJHDl1V>YBjmL)m*z@HV@=F=!!<{PJ#xIB0TdlHJF<`@A&ZJ?Z9Dfd76QyxB^JSw=R+*OiJB@wNY>~j7J^V zKERnZ9(Gc3H;Gfz84t&ha~tr&6}foXJ8)1S7?>QmIxs8H82EDYlE4Ll`vc=A6;7Rz zIXaLYC<#OY=LYUjP?3N3cpTbddlV1X6|+CPd4?xDrDx}w4CJ})ZhlaQH@%Il>k`w) zC^IHqjpZTF<&VI+*;HMVBw5yfM0qEKzLs9oN8_ZRwKG|=ET2`;ji0!XB##is~c@f!fWr{v}uP`>nF? z{`v`_-|G75uT2>J*F_^dI4y6KgMX=Ykd>Ul0pDXFHMfolp*f>2(j0Rj1?2GaHq85I zd)%G%si_&Mbq#^Q@uQqNVw4kyr^beZ_f*rqJZ)a!WNsx8Xb0mOhu`XppR>pCGkwwf zT!M&K1pMOfF{3#jzNEaY*#&U}h|l&TugOwIl3NV>H>NpW;_60h^lGBfCjA$UYBre$ z8-m&lTK^|bWT7RkkmT*Q43ct!oJhZrn4V6-IPEtqB_(86bxAR2Tli}e?1FH%0}vp* za(jf}wDgG+)6&w$q&p;8U zYnxh5EW71xV`zAFV-!p;w>AqHOh^v3yc;5^M?I@wdOVrGkHN_ZHa`f8)?CS`be9ND zA6*n(*wP5`!k?=6^Ehw1y$JQq50Vw^dmbA>E3rv!^IIa-bCnUkuO|^Bz2bt#Qc8D> z(qt_}=u#$=pj$9C%F>wP9AS=STa1AkXQD-(0LBHiJ32QDy`#>! zxw6%uEn>vTx{si!!1fC;_#w3&B?zNgnub$S#s|MBX{qNI;O|5nAq3$y;IvRf?rXif zV=VyIi^hmEWFkngF+$x43^5(mdsluPVA&a?oEE|cyOk>+<;dT>*)v;OnX!6NuNe_~ zIfp=!g(X8|LfBGfECEt~HGTFu@A)jor7~;c*fhpk6U7Oc9g>orXQ%qZdj)L7?0o?? zHrbXM1dloTk%(0hIloq2#p|@Xa4TYif;f1H&C{6lZCT%%tK*IJpia-;Y7Rp|P0W?Q zENJFx8tWSr#&GYT(io<3_qFx|)XLB9n9?sv*fXjdG(izn=eIO8g$;<5NLWRS1{Xfe z=s|Dg$l0M#OM6ojy^A-79UMishn?!Ula^Y?lH0`87zKQRfaOH%9o!<)5O(IJ)+4Q6 z^Ttqh1~;W>E?+*t7H+c=5J`&QNf+LM#OD5BSVI9H54x!M>bVPOz zi;G%BoHU69$dLrL*%c5!rtW2#)gYUwU%xaf2K1?I(P%uDK{_|WmVC_OX9h6TW~Ev0 z4d1JU2S8O6mlRaDxr?x+%(wMw#N@2?Sql1|7bM*?W_bU=%YJQpO}GL;rtvF1k4*c` z)eVrV+UqP4V9Q$9HOX->^)*EslJ>&_lS-=m<nk*tD)L|Z&59=35jHC&?} zNPqOUeIFKsZ;MQL=-cPT4%fe)G4Rq?MC~2-+}3mITjI#C2aY>__jYd#gJsVi>&!&{#U+5Tr@n0nUfI=?P|zpC$6ReynM?_a8Y z4UdLTD0ssP{(-7L`>Os;Q2o7r!DE}hyYR6q$cnwJg6(^?%v3vj59o zll@<&`oCi@E0RbKUfnd<+t zqf~n@$^I{UN5P}|zw9X4|79%-{vB0+4pjY1RsB`;Je_72Z~gQ9=3BkoE_N{7Dr z=-F=;w%0^zx1^M&O4eV1+wgQ#r4^L+e6yf5{Gt^nN?Xl)qyodL&fed}*y5Atyx!DU z9L?&ty@NCS$eO(#JSW4t%dPCKAR|T9M{K}w_g_*UF?Pw$8{rHAW3Yxqq)F8dF-O*< zgU#vvs*jlhLKpwUfqi(=#pu0-FB{*cd~884jLuuo7VJ>H^Gt*yj7Ip^Ph(ROgbuJ+t~jwsQ-cX{LlvihQ9c4 zaH}EieY`@z#D4=G6g?Hwq3x_$Xf&}vMAkE;5xlK}h z^|{h}Ds$&!<*b7Fl{I}*pqC!KPZ|yW+BJX9%bPw^%7I`GB)W(6Mwx{}?@P~^RziE= zG$YOjPXC>1{6aK%T$@e%v~X;3c3?36jzagY|*qfksDW4+?Ub7gFp9_ru-!5CmUZRCHKgh&jnHOmb z6ZSyOdWVycM4K0>R7yxv6^{a>)K|T~X=`*h7g@9iNuxLJ-jp!_i0Q4t7qDS|SI2{s zs6vGw+UM!b3Vxd%3GD@S8Tze@XbkhVUO!+L2+Ny^4&pb~#<59ijkjq-YW2Rl$@@B> zi-u5nj)os__cxv}zQ7S=9qGD?iVMqTl!vCzq)lDI>%ysJ(~B#o&E>6QBo=C+(~%~^ zSkkWHmR5(9FQgj80eOpzGE0(!0}JwSTabcyv_Wx(Lu2XJ?!-EwLTgrt%-4MY8jPwB zaOF#S;kS%WymR%3H3qNEgg@BNsD9wV?H*uGc&)pq>6|)6IF)uFsw~JXSO|HjxrLlw17fQSw5zq^Zd%+%BAK2Ds^?oMt9{d%hAp8qN-@*Y^8% zYZk^j>N51RTaMVB#1^Gvy2%$RgIp*eVHM#vAe*Tw&SK;jaA z!jEBMfJwE7#k1G7&BN@I${%E=_um95Ru~pXv7SiOdDjjt$9dmc9W?7_VPh1oSMxi! zvKlj92tTi8YBetFBSLa9Y_(_dm)O=j8io4XT{o#BY+bfkpPbmABrB@2^ht&kYA?|~ zy`vh2Kk+aQdpRwsf%>fcv|0J&0@zgD>F$eqwcnkUuT6KIG{kV|sFq0DhV@zl$1Ap( zANs8^l&Xr(%2$TxHlW^-8s(TwB}GzFCuZXgVDI&l!MrJKw_sk{H74u=R1;aj5yKB3 za>#-E?Y+mZf3?%V?WPtNZ2UjzBQ|cFAmJUqam>bC`dM|%#?ooW&X$I;bY2T%@>(2V zV8v7RMPsU_R~A8YSqPs9vYzzW2aQ$9d}Rg<(Bf^`*<_|lMXH)&o;xw9emj45Har5u zssc|=$#7}-QAa-5D1}r9OnG^~@xIU^1s5P@9g-}kJsxSowMsb71Kjn9O#z!>lt(B5 z*o9)zCc>#wJX{$)$kHw~N&YJB$NV_pnyHIeEO;T{_6_|3MrE^%j5xswYlAbdr61)V z!Io;Wzjk>~rz>$PNsVy<7ed01G~r-2ThF#0-cDs?WO(y?(dWmn2c3F-$;+EMd$PI+ zBQKB4k^xT~_q<|z&gu%VAFwNzFUsBo0@irg7{TdgxUC~x*#v#F3mgg={@CB>6+qG9 z?I#uW)I~51##O>F7Kcv6rU3_daun;!&B)EjhN!azpTUkZi)@fd6vR|$i#Fvs-Vawc z82QSZs^c^mdHC%(Rk+&0zmzs*JzLOQ8 zLeBI^OZy^cbjG-htl$yjg4o`|b*k1`G;U02%xKvtUnJQ}1+sXyQ%yI|r~-vEs^^D$ z$?xQ#rRcL*aynLp@QkMG6O-kdHMx9NE<>DIIC7+dvmKEm9GJ(~b;3X$Lx$BgCKNEGWfE~C zM>=Hv3|mwma?u-uxZ2ukL`igTTXH;8U#hIWgDrLQgKgPa;Y`9ixEt7VrW)%Yu++Xt zU&9<6oiRSMwJl7e6wj1Nl8AV4l9y=!d}%Pb0{x9oHxT2tq=uN2rUokA#c!}atXGtn z6Rd9o=Wv3vTcW{MU=BZn*fP=i*u=iO0?CEv6nY}BkPhZ#XA=DetJ|8#j7H7vEeqj1 z8I03-P)p<~7_JKvcXxtl4;#2>O9VzSLG-vjLWa@7`Z}=HU<^A{%xikq+db>u?CMcL zl!qmCEv9kpe4;5|?X%G%So-2`n5>H@!l9tOttH5NB>fJJ2bDoXunzOaWJY96a6~k& z3de{>;pPx*rC?roE%~}hmyZNsJB4z?dt6x(13Sicv=*9aUg)Sg+N0LvnT6rwMcC&7;B6!41#otn+EHn%>WRWXE&=pgSH689g$e125|!7of8`) zb#?G3vEK!8FF0m=ENIe_RD*GX?|yAO2#?Kb!V#)yZ;8QA4TRGajkeO5%Ze~F0LH}J ztSl#3mg@wIN{fmMW=;Vh>X)C?i!f~(EJ7!c|A*9x{F6|EoEQH?>PcvHTSy%fD@jek zdc02{_%aYQ=)OpjbFe66=-T^6(s%Dm&;K5aPi?J&v)2X3KM((Bt@;09tkJ>3|YA$K6hqXQ8HHR9ZA3>ND+Ndg}NOQEV9a|`+y@=9bE^iPmh!qaVGn)vY zrNzNr-2kN4X>M|&H7CjF_D*XfRs)Bx33hN9I%SdTmH zPSv#_XPMc8rXuipY)Ya}sBN#qwiuhIW`};(G{nLU@+bFSx3XxO6YotY<;$xfE-jkosgjAVPb~pXinYcgPiwalH6BuFp&Es^uTM8c z%_MCl2DJ)N;aJwI7)6AWrU9l-R-wAsC@7j}_ln(Z&Jh_zt(dbe{P9 zDNSHfedQtcFlD+v8S>>+^~|c8)=LHehCBdzMi`m^rz8^|=-h>4r$=ghmARc*ELBa} zKw+-L;nC&AQ+mxV)s3v38lNTe&n_+~-;(^`$~d;bcw{Zg%E=1L!sVsCx20mcNLIx0 z0ytI|nNpNLJ$ZgPMAYV#qQV({<-x$sqC4$*7->-HUnvoUx1!R48geTU}5tlvp9!z?AixH8U1= zO6W+`DJf4Fdqt?8JWk1M54ctyHXidNDuAp!h2YuAvJk;jZfc9y)?|41<(V}nNljLs zT5#cLvokee3>iOg6o?{5N?0O03&aH{2p%6^Eu0*=s1tJ9pasR>#MX?8S*ZvHu?w1JOjnRg zwu{MQ7zqg!3vpuwg_iNxp=CR22!c{9o{$4=U|0YPEC3)Y_$$yLs7zH7l95aPZ_Mj3@ghb^jq$38WIN6e+!7RbqEa|9WTickV#XipVc~ml^qpLIN zd>3_4uWLKxp;|^Gd1FOdd{u5qb%TSy^fP!cA2pVh7nc^!3RM-u@~b?*YAV0PpG@^5 zleGMq6w#w8Gv3^q845+gHfuXVFx6_!n8P2+O0rEmtep_gh@*t4;sG+|p%Z9rU^KG@ zVzj!EoE4iYBTp+tDswbo317lZ>zpl6p-A7?Bz|D+ zS=$((L;U`8Ax<3_BI?p8j}4bzg$aIyvNwSM##dh@Plv^5%mH)49uFs$JWf=bOkmqM zHYRck%Sw8|4~=(Advgs|EfmCo6dcLP*plAU_Ss3pGA8X3s3GW>+G}xugsoL1+*Fs& z`K%n+xsl&pVFz3A18Ay;U!nHq>ezhKQ`I3X&V2TvY1OuC)VJGf(Ah1T2ouyH1Lin2 zbPui@)Qf1Zy_M4Qam53!rh$}O&yjO9{xE+EXBHV7qQI2acHSjO>gD-G%b_bvs)Fhz zZ74YF%$E5r@Yi-yv3G)OhPWLvW4n6qQjC00Ik#gRP^=FohbaRFlc~1SnY2;n zc!ttGRM{`5#`03JO=A%9$iX$8fCjv}V|XMEmoy&|G=9{6Gobij(M<5c!m`rIB~v6` z1}nr!A<}CM5y3uRwh{=;m@$V7R8|)2Zw`Qh=UjSGsea&VbOwCP`5QUP%gPH&t1xeI zdQSQBXUTf-&E+T0$mjBShGXSqO2>D>Y|2X?`CM2epY(IlG2Z9m3h#3Xs+DhK`SQu$ z^jQTnO6>Gm({(zX-_!3|l@d;cH&_;gib^W;3#QBN>-z?^)hNdtpmH*Q9wgRIq6(-u zlocdLY2`v#$KVioVk5+JS*a(JetJ@*B^2DQ)T10?QYZT1_jv1!t4(ulE z(D8UXRRDWw1bD~kaTF_IQzwx#b-fuUznIlAL5tCxsHLPWiGE z`Y_E6Lnlrp`!}ONemB?1?`i6JntGnEzO~Vb%*FBELS+0NVq`zikad2{aOb(=ruU-b0f{ofC!1@~97HaD4k$x`WE&gL}G=+{=w#VY-(3!8~7>XJZbILuRS1$lSolTpz{RP)$uOa?$Kv;NtTbk zS6<^eKxo?!8v8@2(#dp+t?eX;NsSO)t6;a!Tp#9WbRj$?LZq4WHc4>O+q^ui@N5Vz zzqM(eFPS0|;T8KOT0dR0J%4?i-P-_^!=yPj(K~E(2eQaHAJB3Op$v%gZE;%5{jWT^ zppf_Gp%=)}?7BW|!#Yn;hZ;cwBtyP5Yc(8~S4`!A@h}HpN2@c>J_Zn(x7E2KfRokQO5CG$i?GUc83wK3v z5C*_ijy*W$AknQZ~ZV4~+6#(ByJJ^w7qvuwo+ErmTd22yCoI2im;Us}}IJ6G- zU7s8swL9vkthbCB47_Lu_NTj4+@j%6!~6Fy$jxCz5w=>CAx zXv?wKOZvPidNZB(mZxC1mGL^nD(|m&LVfZ@Quhtpzq`D$v?6KUo{}l}3>YxL{(r!B z+ij=+r}z3defRfFdA8er`|b7r{XP5Z>o31Q{g;+k_DQ^r-@u(4_Vdt)A`pCi=BMM6cEd z{q=nQZ+lkso0nIkSr#ct`$a2Z)bgma@SOM-2Niyfqw**5I6!78vOw)cw`(WikFKzT z;j3*SL1Q$ny0qgb5uW!tTe&{MWiyjhmqyM&z1Y2E2S^vB{jJH#m7hsbBwZZMzN(*m z2#thbOK|n3E`AJ15x}a3?K%G zbr{q)*0BLnAl!CO#$&ehpVet3nK6*MgvT>FOA|q;B~rI2qa_@!3)jgZNt;HI4RyNl zduELkhmIw@jOKos$0GvM7+ch!3?fO7T*O8Z;3v7or^O@yCsJfJ8JIQ|ifM?y#GR^S zik75|Miljsk1!QfFmEw=P;b3NKv-qD7;r_X1N236g5PT}s6VB+8YfgzI+=zv;r(=` zoy6BU$#dsa9#g@jk(N+oYW|EFC8bl6mQ!gtOqS%MZXtokjNTz&AT+t8DL{}!(22>M zZRNHd+|knnDE>F?JoFrxTvl!@^CV}*oN1#n#ac_28-lQS)WwzE8ADkK`K74@vBvfJ0 zV18hck_C(ypPiXDC)vZ)8P(L5UuOu{;cul{;ctIY!Qls z1G~F}0Q5)M9)(d(uD|Zt^0-wM^5@UaEpLl1>P!SgAuJQx^Gw)2;hL=&{l@WKCXC@S zahEzgMVd(E#-G%>ARiULtc{=BXjhkkjkHRa&#WHcH>8Rq41}PX3)KJxD&ID&!@4S7 zi^&@{0#j&JT|g&NJM?aZ|AI0L!3-T`B*)t9Tt0&d*M%7Ll1Oo}57mCuO`}p{s&Q}_ zLaVTvgE|&lxng^`0_7=(rFY)Wja=1uHgU=u3 zMQ{0AVhVvG5Y{GK0XtHn8JzxYQNO*|SMlF*%%yaH@?I94MB(uEKYL#iL)`>*pqB>v zq752wyW`cdis(W)=DpU!!nb66I#z^de5pPn9Y4|FxCI9fWQ2s%VOX8wFcX$`_-2wC zvbFjrEPR~FDcg83+ zS>M$KWC04m8yhpaULS)&7=tWMAAO68RWWB|wVIo)*L*A{Tlrcm+jtYCBLG9Yh8rE5 zabYkH&A>%1c({GLU3!rphaqY;&Y9v1VKLi;%Obi~5Us>OklOT+WmZsOXM4QWN7;4N77<+7H8U1GUqY zZWusGC4JT(SCT(RJ@>~|s`XbkZQ2K>cp-vu46#xl zFV-ueEY#on1?i2=spw6cfS9o!JkEi({(8R`&69Mu-p6*U8jl9 z2K|_F+VW3D$KWNQDes*v_V_;K&Vz3JRIJ?Y$NTQ6$jk^`k(_JzFaIQIQqJ9(Wm0_i|!r1{Q9fK(!qxneVvN4*ujj;X7Yz@7c31XApNI`BpWpSj$K4@Tm0y1A0r5}7;|um* z@P5HvBECB1g}m9Hh>D%xJ#YT-yG87P_c|}i`$XJUv-|R_!S{+o`16TauP;R`wbL>4qPfmk9w%;Zwo&bPnD0oW6r?8 ziNCb9pZ@3LJ{HsFuRiaU&;BM3ek~vWJ{B+TadLCVI}eHj=KXl{sNo+A=j!Y?il2H& z#Fw{Ru=H0Si$CW&lMC*8SUkI|=(v_IHj3KUkIrkp_z|)5)!Usr>#dFA#*gnC`TU~4 zi?#nu`BU@b8%5!B^Dd}5;Zbo>_X#`v^_Gp|_`f#2v1j39qTswAjvaRXMzQ*f5iNs; zKQ0b>ZUO#nRQOmX&MMhu#iesLibvMJn|;y7W#Y4MpGvtvY!oeX|FOs34a>zrH)M=o zI&7nu`^T40`OTZlMc48r+YQ=vqxf?{!|%?V@`O154`+Sy+pji=8yYfSAMxN5;+uh& zo;&jW4dS224&FaH>`8I*q;tYQJ-tC3_SK=^R$TU^c=?eh_WJJ68^kN8t=jL+?Vb{c zZQgI>A(w3s@e2-deq8XBI6wEDiA|?&5b4iuyzj{mpAtKK^7zW0@CI?nssC&mIpb+j zcHp`PmXvM~t7l%dY0M)}iVO<7^OTI#;|s?viK3 zEkobVp0?8l@#-bFw`OgAMx@<))u^24tiz(wZDGj zS#ebK>#ZlTQ5fiuGds?7|zD z@BO@(+nsgHnlsjm-Cl6QH=OpoXg=WO+ftg>i=&#)`5^71=f%&t77 zt$0Bka7#Y^trx%j;na*Ve}6&TaL_Ynj~KOH)GqBg^wGoqAqGra{N1bjtQY%bp7Z0z z^Zy|ZxFH4q){8HeonHFFrhkaHb9cM!j~hP{w=BKjx?|@3Qv@65?|c25ABi`9AB>;% z?M)j^K!`#&PQVG$%NZ$0k60(do&WwJKm8T4AAi<~@f{!TcH-Pu#K8SdJUwL~;(4F-!JfyS`-(W~ zw3MHA_;Rf{{Mv`|vL1d#99(wnF{wRkMb^RHkMyj2MSQu#srjLo*NWfeSG}-czgNX6 zDH#|4_3^c$>eMT)dVk8R;;D^YI}W{jtvL3rWi`VVzADZi|F`*fUcFX)R2-Q({kB)d z^S3NoGX1=@;@96iackM@uZmrsy=wOzJJ*Vpx1V)Z*7mQ7`|lXN>b-`wV$XHkkN7m_ zHPPIj^5j2etrbt6aL|+ISHC7E?|XcFMe$nk@=iycKJdcV#2@lCx@cXp^Ko4R){2@}?tbc~ zsjrKDPyAw^6Tes^nvN~rcVWlt;<>Sf^S|j{Bf9_n<$WV=d0kXLzhu~LE7pjA>@;WD zV=Iuq>4|-so>-&i;8)Es( z=j2VfXpOjMud5Gv{;W5|zKu)vX6IP%UvcD*6K z8+y!18>`odBQ9RlQ?SdM;^w1|JhQA~jTrdy-@kry{F|a~$j)=0FIXd9dUyODrS)%$ z50;tCB%EIptTO*d;J9h8~kH0A{y(hczuY0W#Pu+XQk>9R= zQw-c^&WTHQ0KBi=aPXJ=yd{1NrjM@sdbQa1{6pSZQSg>nyZ6fv&0D)#+^}=*RTs6q zC2sB6_*BDNtHrSePn?x|)mvirZkLQa=Y`ecya(ny|KKxkiHp9U^6aCJtQODJj5+&| z&)*Wuk4>4s!=G1+iT_o+q2Zvn#hou6_IdTStHt;G3_0l1DQ}C9=Pb#3<&UeyoMZOP zzq##gapDehQf8fw`nvXAa@ne6Fy$BTGZ_L-hlbfzb$$yPI=_=+SOv(70Wgr zw&`s#lRvA)We>kzxBTFD#Ls8^eNF0=)nf49S6_J4)OW;&Uw=7ur}3-B`nTu*>6W&4 z#Izm$Yu4rwt3}CzB-}bB@bnt4i>b^No?)Tg~;+dy+?;iT=)nfjlDLLt% zBfUHY|5l56KR&kWAqT!IuAcsW%>|oQiJA*uJo%fVcg6S}GH>r%y-FOvX~MNjTizAZ zN4@uW;ajW354&CRr#V-=D_ZVNJ^P`5tP+Fo-sSwRC*Bp^7u@##q{mi?lMlT8+8G<( z74w!=-0;S|tHiL+_Wu0(z1|Z?r*zzX+D)s(jJyAJ` zv%=1#${`P%w_Mxw*)(2OKs=1>k9r5S)#W8bF7`D_|C2n~7iS18%?R~Kq ze^!a5uMfQP%pczu_2FGtoG}RfX*%VAa}NJN{IKVJBISpbV*7=S|FvNH2V&5@w-#LR z$x3nd*>6-A#6J)N?pXEcsGgPLtLiJl-(UTKc((n{i{5^HrC9#^$*)}b)CXeiT_@ji z*$XShm+v3-th3<*F*E(Jw@-X*rPw&|-p~bmd?@xh^8P)Kynm&bcgT`QSC9Wt41Ip_ zxWjK>M9rVGbKSWlF^ERj6|NZV=;@c6| zhh92fTW_sM?GjHc8u`OP6)VM&wJ&{o-MB6>dC#stcTQd@UKw`BwI5FF5`TGg z_PkYjE5$X%!yel!)Fr+@_@s}I%Umgr`tYFRCbe~mWxI_$dgWm&#jeHE&N=SPF7dYw zAI({~-%8;eF}o~!MVGj6MOMoGyQ~x|_Il~@j=Q?Vi36S<@qEfkamI+$Rc()ViN?$u zAN$?cJ>tPP9)7WQMVFYi;^!MnH}r_}UtDo!$*L}K`RUV^r*`#-Q%kNs=;O)}wB5>-G=LYrCXJ z+;HVve_!9(E%ve8zFyT$O7H%|F$V~;p|!h%B|da7G|e(~w8Lr>@t+qE|QyxSYy;x7v?`pvbK zJ>un~T2BbA>lPOuUV?u;V){;JPrLd1ZZYq~eJ_7-Qjci9>*5vf{i;WN_~=!OW{vI< z8y*k;xbvYsV#FRd3{4r)BMO#1{$^Hok684>kR=b|eeU?F(P@P}V$IB{r+4n%BmVi# z6)(-3*(2Uw-tem_JENYg(J3_zJz@_h1^;@mKR9=f6FPfD>!DAay8SoZ;*3FG?^1p~ z;CSe?314pP7U$jfZ#F3x&bc?%>!VJH+M?7|PM#EQcb&K==SoHBn%X`GZ zOK!S*;J>@YweMx5Jn%}7nA>&Gk3*m77L5Z|jft=75$PXKKI-VdcZQ25chm1r zue`KdTzYQKBR5T0Dc&7<;cxFduUov@ea*FLr7OiA`z_ghza^l9mRCQ%CA3of?u`TY zKW|~TSUP3O(tQ`K6rHhxa|gC`i{Et4`T6uSR*ICIAItwx*DdxRG3(W?OIC_qhPQ_f znb$48d+axp#$w*R@cK_TKYUEL82aPplHdIe^WtBFcMVMi-Q;|;`MKv-io>Uj{==@K zTYNuj!AS$&UMY5e{s{cTxMj}2BzHaL?edS$J%3cUD2T53-8}G(+^pl*&N-}GeDvPw zQy2dVd}ZqG`)3`{E$(TXyzYX7SBc&E(=C>r{$cYq8LPzUyQMt-!=P@_@X~iZ*9)Y7 z_VaF^{oIB1AorN7%2$b-Qvdq>$6s|R`C*l~@R~LAzuMR(?!Gfu#M_Yn#4~0N#Ju_N zob@Xzf4fTjY4QdC<-FS^2K{)`Z%16ZO5|O4#H^xMy2Rfn-FN)Ax2zIJzVm3=f)~0( ztY=o_v8AiTg8cK(x_x<<82`zO_jW$JN<4pU>c%w>c8S1GuXp{vOWgU)ykSACW53(2V8k_A2{qPQV=OKOlL+RI_jCp_Ql?{ha zTP>dbX3F4Uu`cniogb*WWZr7=!ycX2EIp}9T)FA5uYWgxwfOOl&tI8Q13vTlm`$@! zSuM_LZ@b}>xn1Ji&VMbv`}eEG_M_kY=JI2@#Hs7PPyOMV)#91DeO@dn=@O%^KVte( zcdr(^ZJ&>S=>I`$vrc^s^-VeB!Dqn->-KGW@BV+S76+Vg=+cX_y2N2u?lt>^_g9OL z(ii?%m)0fP_c{EI0iUcEJ8nN<$x%+1*zepG?;P^;YB6^4F=GzjuS>jj&Xg~6c3mTO z<4>3Pbo}=}7i6qa_r`RI7aq84^Qm_p^!YP4KDVmys`Pi3Ub6b-kN@!C^Ut2s{KVnE z>wZKk2R;+kr!Smz)u_)z{LH;yy>ISk;`yuF_bWd8Gx6(lziXPa^fPhOidSz7)5Qy0+sl-+d|0D7$vn$kAVkcZM$=GbQ?!NUxgu{-C?Q5>toVy?1o& zSK`c>dH4P1@UKPc(3xk9tNB{U`*FS&nFoX?{N=;1MLe`|UHhTmh!+|PW^D+4BhF6Q z5Zmj=2@^}RSgb<$t9oB6$1_EYD~`PY3f z?tb;yE3aSoz4&48vWITU{XtAQ;fF6ePWwT;^2D?Y4|(wiaZSaU?_a(Dk65o}XMEo9 zqljGi>3hzDKZ;Y%9dvYX&`;v*TYh+Nzd1jNGjrbEZp|G(iO|(2=U)EfPvUEF{@RT4 zpT#>D-g48uxBM)IA6xy&f#3fujw)`M*HOM%ymjGqOP;uWv$*xvg7rgwAAI(LMW@}F z7Wvzy&mDKfZ*QyUiBCHE=f;tRKb^4Spn(H-zy~IH{2_BZ`{OZ&O7dWvQf2OZHn2FbAaFb0FK9TvvP7I5$Voe7 zufc%{=6jD}gAd#v={E%a6!;_ZQ{I~cSK^NH-vuuBy~ksq7z$&YtKjUEHQ>tQ5Jw-4 z(e|b~(v{Lpex!y)zD~|(B_Uj(y6A5k&RN;jQJ=`*WDda+=}ZsdD5ME3+LV^c1g9sR z4;_$9hZK~EPwC9*)3qX725_;xCsq0cI?#ztvQt{@cBz-qD0KaB+q6y#jP4$d(E$To z^yn39^SMT;26sCEcu4=v9i%j>v?jt1nYe_6{YYdQYsg8L9;os77uqdy_n?25<#5Q@ z2A3XLTy~T*_|nyJfSZBw1MeU{N3;-7Ci|n#)d<+Abt@zMPRaQMZ>yU~0nP*fA6y(> zNw5NC@I2x`C!|Yf_fWE%!9Cb56j29P&Mk(X9Z87TX#6oH@Z4>-&o1mB4Yms_RZaeo z{JylvlY-N@;3S}julC0M*&(tvV>IFrioTUa++?)LmzNk+;*3W&%qNTRHO`+|RaRM5 zTrRtZU@d?Ya{<8PL*rqJ(y?P0&O-R)lYg!?J0$FAtfaMxeQ-IK9Dnz;Mca9sn^kaq zLe3~BmoOvkq_~Ad^asczRbR(Kw92y){#fLOMT7`9G=%b$n5VgrhHC^WnMQ!q5$Wi0 zy22Om11mT_CBqT5GO2f3iX>L#A)7l!8WBu4iYw6Jn<5mPdrS$(arD+SLdOchu@g?M z$Vs&+Oc7hjK~~ibxN18PaC$59bGvf9bnBqPRyq%4(xdsMi5$mDoSn%)b2EZg z0ZmG7_pPs}zQ1*_6h1X(1lUkQ9n-^M#za;CPHCQEB2j1q38h8lhIcAPPeVZY)x1{7 zw3t;a>N}=qD}~x*&OcO-^zTu%ZIxS&v|!Tk^a+2dba|%sB5ni+!?ShQC>_=e-MZSp$G_d=a+4P5C?XmZIK2LG-fV1 zr}7ch>;|Mzhxm6`oMp5P*i9sf)FAz{kXPDE!CWqRJ{nhEN3D6Krx3{s`w|r~AhnUyU5`YvGR}OnRECIh#K6svYi<}8^ArDTH)Cyy2&fMuHsB$`m zT>?E#kXvOsE}M6og)usrWviOtLP%+D`&I${(luZA#3AAJpCW+h{&O@CjX8+{9nXMS zE(nucmYrJISm1VpYGje?0EPxuR}?k_qXlnT9&=dlgSeY5!CT6!oEiCGQ=S#br?4j! za?f8n+!~8Ck);?iB424(ZESRYSoeal$QG=6)v8CeDG>;=CuQGPpQbCOFgWZ zQb1pUf+;eT0lxG3h5DoHHz4fL%46v`vMajmt(bjLQ0$ z2Glgsj#=GC`OD*NxkWyQFHadRO)g%ZkCqPUeiy2y1VQ4ByeJ1JiVLdQnB_FpitI|zj-krO%Y`iB#xH)aVWb^U~)kI}$~z9Wx#f zT=ZQr)-76|x~T!1KC}I})ooa%OrPbDFgiR#KFaK@xRebK?KFLPk?ci~+h494%SM`M zl9B4o4tyH#0}x@d9(W6AA_w?p2Adhc{dEZ{S$lqZ?0Zhrd^0piBqZB3uO!##t3?+d ziu(0n+J!6%kkl&&hp1U*(}iRz_bVxPQ}%2Tx^9mym>{m>nL02ev)BTZ1bpEKZKM>9 znD&WL0RWq~XhyEeUwqryucg&h@GEbS3j`4vA%I(seZ z_S9cKJs-OnC{LnoF(4rnX>F3jXVpS8pAuBgFeeeG(+Nf3SzHO2gIxyzH!p|}a6z|! z3SMhXQl0YCUw;&D#sjkhR}K<-dZCF#+!23p@r{-=8S&WZnP+3$^XDV$cv2$}fU;{h9bKZ~{|Xfp1j%9j=qF9D8|LBmxbhn(fU?gu2kXmXYU z`07qA8c0qgJAtBJytq{sc6f`)R;)(+{ElebWp}z-^Ckg7Hhzk5dyQ{|Ed0nuz4YRz zQB5Th_w-liXIY~v>L*g;fKU1K&;n?7>;w(9uAnU={v&YLF^lHC+3iga6PtL*s5wzGQLE1B=MPsfNzx!c`>Q1sE5OVB>fR*L|R}- z4tKuhO1f&fZQNva1#__>JoSU~k1mY1oHV5kmlASrI}@jm^QM;|sJ6~S>0=P89?lZk zIiSt5h47K14D554tRQ*SjV=n;S3{2?rINOi%A64V>Znc~ze)8wFE6oaI4p(ZHpwWQ zlZm|jdKe)kEe`Ud%_O@HPn?)$=YS7c{+v)rRdK~g@9X07O5U@Z!fJOriM@2qTkK~G zDNey8?C{A=-rtzFQr(ufW~&Ywl5IH019hI%jw>?5A>2h!M}boHp&sfB>5C%A7uNB4WGA7o=@S!wZBt7=!L@d6)w; z-e#UAA8~j)Q}jH`ld_DJn!M&2;zxgo2*9bf_&#B#vxcT)4VTs9G!N^?z`+XaN@BiR8A>6YC>dc z{))U6D{@!pPhiE=6;$u6(xsD^F5Pvh{sflJT1xManf&ymr=K49wEoO^y7K8Vyg#lr zeA4UqJ|)l`_(R~Vz`r-|AE5L0GXtjuIs*|r4+{*#^9ge*3SY+eVTT^L@9u%&0kUb> zVbGvJcmY2Ahkk6$M;1B}Mdqnuv+#Y)g6ZS#41BZM|KCmgPX6_$C3`*-u-+TE8a4(k zfx-aA6MP*1Ltjhrq_Qm!C(U>{Ri-EBzqlFL6%+bqx~eYSUN80K7Is*0Y+;Q|pO9YW z%$Q!>Qa79A01zm7=Xz>OkQ*(K{-64(<})J-zKJ-i@MFrbBvM57CQnpS+&=8M>ihz+ zHG(LNr2|JIawJ$I$ve340xB6Mb)S?!C%ds{UBnQlM{y!}u$^E(Bt!encA9>Dh zGfnx%7xgiCJ{0+=P0eqh6Wt;G17vdC7K<%Dd%80DC1XHV=NKUrmXzMH$nD|R246>4 zmX%h{kF;XvN--%C27!tLI+I`HcNY21C(rJ|teR!^-kt!__@(BzgaCQuL4U*n6I!(f z(k2djRCRkw;fGCCYook#Ugpy27@uvLe+EB9F#Vu2VQ~OHOnHr8M2b%6Cuj0u*Xq07 zUzUYqOf7~zHRBrekmOaNMtPbhrxn-hB|!s^CfKbSZ_UcP{$W!N@Zs8LITY7E*Js5pRg9EvBGHn=|t04yXq6k?37&EDNfQq@Z+ znNozTMVjgx;Y1{Zz~Cfc#+oNIN{Qn$qq;Srkm*jsLSc=^*79>6zr?0`897B#3SV5d zBpK_si~E@^`m5pP3UqI_1PCAA^rR#DiO}&C1<{A`4X$%jq?4Sb$nmM|m~KUGkgJuC zR;=P$P~uUrnOoBFOE&0zkDp5~tt7}nJ&}NrUV8816Z7#uCm(1z9w#yhka+OYi@u%t z8_yx!Wk{R35Uvua?nDGe@AUN`Hc<>Fk|T|YSvaIDRcH&nd3p6s?XgA^G@a>7UOpc} zU@lpLZ&XYa5;U8xkCE~Q3Nke4p{GPjVjyiEtLDQtZKaqNJvd1J53Wzd)IdtU1&ZOt zgwgVavd`#qTs%YWo6{Cyf*C_Z>~&6CIdz}0F0y1WwK~?QwwJ!@^?u5;ebMZiil~71 z=DdTRB?}^+t>=>~cQVc`{#?}-P9zKqRK@l*yMf)g-0DigVlIXS-G1`XxUT|5Fa7lg z1Lx@pJ#$Uo_SIA<#=RogY-u>WZ?^y*&;yAF+#6qZgHFjLEmDvj)B1Rxr+Q$_#R#O+ zOtyw%lugC%+DbKQ`ZVH-4;~*nJ^B9=4A4U#$@haE>hN`Wi{(iwCyC#sO(HVxzju%| zk=4@4Sg1~)=kuE4M~4R=TyQIuM4tYG>TrfB`|Cq@&DLwfQn>)Ei;w@3fH7 zc^X}_Ga)o-LS|@^M49w7h_=(U0m{sj&~N;B>Wp2wzUGEwfCX^(EH05oXu94qa4oQt zMm~zG))ZbuChyb_e6e{nej^H_&Iildm=sX89WYHA4=m4j@iM zk6K5OtBpUK&Jk0CO!X=c7AHjTRl``8BDw**IE+Xx~jqLEya0vj_r`nD29VzTrQH|hv#Hp#XAxW z`JxG$~+;oRsR^ja4I)X-oas1~Hr-FM;Y zW*RY2L@AJB49}f#td{N!C)UEfbmxP4rRhM{63DMXL^Gh0?pnee!yQ&~1gffQq`fZU zLqzN#d^4gC=9;IF-?`m|N6v)I+Uokq`Xi=&6qV9cYh7Tu4(eY)NX{n;0lt-WD2W1LziG+I;*%83cuhL8bT%$)WO2pil9m=T!^Xmn{No@a20H@Za*7A3I zgyBzZZ|85_56fhpx}57Z2g$KLp0tF(E09{2}-~U~18}+B8uq zGB`Tx(A0*HilJOpVNrW)Qv^12zztdheG$LWh_et(_1gea-zDQ?J_!n?Xnv}^)u~vt zy$#%+i!ywGhBAkhhR4*)iLQHCHJPo`6ovx>h#W4Yl7uYQ!aZPkt@dQyl-G9XsaCgu zN<48M#GTYb%Zy1jqOQcDTMxCDpuF(R_FJI2tI#LuO;@DxMq_|^n%D=~zG*lH)FZ58 z6d^e&e?5FiFj81CIX0^@r3WG7j2Rwn%);w<6@cF?dv{L3b=(#9W2Ba~za3X2ZvukTGNFv~(Rj%gctKS?sP=as+mg5m=I;rx{KNOvIOh zt`~&C9t3XNG&(Sf;p^h0f0-&}e01QQ636th{jIhLK@8Wth}rceYcD2wb#F~Fp5@kw zWDUCNNjL4@OR5Wu_t3)d=240?(%D@U%JGSPmV&RuFvHMW)ym% za0v-&=pd#>VhB|QG60vW3y^sW&EtD z6gV1N=+O_jsA0WWNIK+nM!Dr^TSe{AI;f>XEoQRJDWyXMey@YCT^!#*rW1&Y3FR!R zN|Y+ydu!Eg(bPTenF7D1nojxx>ok4EFu^ADMpjdoo&Y2h)OG~*>mX!T8YlFgHhpS+*Eqy{qT8IE zp*njEMAHc2)RqHunjC06@sFl(M;On1%Rm%vcY`ptmO2;4q5tXtBQF|CaytYXjo1l@gC*1aLyIbd{pn*WgMyt zem_m^cNIgW&=8ugw{*jcU2jP3dL6avmHTLxbo=2?EN82&n_(`hA9}v1WOT^|eNk#w z4(U#U8L%Y5xB3dCW@L{c4wq3{P1{Auzunyl&jfH&y^~JdSdTISx@TuC=^_vqGDQAz zPNCZAnU`z+cCaNYl-EuJjm*gHF`^-nIuwkQ7DQ#71&oa6a!lQGl0#jc2esFvLr4ZOp z*mvmt_3*m*aGG%R?XGbwR?us@w~K2YQWy8|Y2sqUq50d27h>}T*+;3t@WcmE)Ffq8 zuHMKk7NK$b%oSMuK&WN7uyQfgHG?&RU3<%)SQiJvTGY6?p?q)(tv5}2_2lIUdr(%g z6|tc*1%qO#jBkKIgFY<_;#aYnz>~+Qn+Ot66$1p#0)G>v^kYUOCV{W>YOjuK9I|4R*d($zTqUYO=4-ys#VoOlk7;! zFswn==IX_iRzcl64giQmB?#2487HIXB4l%(&gL2%ZPF$idK9A>@$0#;4W#}ue}_tr zZ^EF(8BE1QTu_&fQ^Q!AB9MWg4pjnQIRrjf#?#_vPa;4F9U$PVa`mGY#~waGGjub5 zkWbf1{UYJt0F7sjUyQV-7s8`iQ~dhYe64)-2*Y3n_0TA>z8TRkhELRBfDd3;Nm;8f z?MieMx&(>_a7+w47GeyOn$I-&dMBmluca1cMbiYasJY33mYh0;PZe$PbPoUy_R5em zYr^q`Va#B6%Oi6`-m^q`3xT#s-VQ}(TMS!gntFZLuSOdjUBm08FL>>d9HrEQAY&+e zpyXlZ<~gS@^7I4@NM2`kb5lmNtzlG7R#r|PgRbT!krEH1-iQ`-0>xhbk%W6ld1E2p z(W5b11C{aouv(sI{_=VNp9h6IB6_|0DLDaKIU*7ZZ_uMl%5Wm{uB$n?odVP;u0r<*0(u)ZAEJ_jExl}4~& zROujX1T%d!og`}RWjdS7Im1cjHYYl!>n0!zD}ezlrfG+jO2_|CgVyvy)Yrl)P5QyisjWk zh773p=4CwE8l=%BoYAKy8jnYt-B&Ue8|aU;!@b96OENQMeX2cH{n8u0(-Ql<@iJM% zBUP0atl*!LJz>zLJVe5z_c+GV<$-h>u+m`-#iEOikxFvqAO#02AF1h_h}6TW_eKh5 zDFpf}r!h*?IzaQ16kOQ;5$#E3Hr|6xwBtCNbzfAUuO8N4(0h4D7qcNrSo+Iya0&>f&~CA%vWU%?Awu zGzZ>PitA|W4Pv;pPYQ^54`&ka{aK;Ps#+_jIxTkhRwU| zvlc4`rWE$-1aE#TkVQvK>L6d9)?=qlQ<0^A08G=9O$zDYT8{C|s>#9ZG0-l@8 z{^s`%%&H(}!4{EfRy7!QJA`G@aY3AhnoMdt7C<+F;xt{BR4Uofv;?Gl0yQp0Go3gz zJ0okTDLZj!YHX;GJG&(LIAww)K>s!n>!&`4sE2acN!TuGF_qZ1+BUHvL7N(9+CLJS z2$%G6_VYuqAAH@Q z)3ZqLc)6f?9&dO3MqF+6X(Kr3ok2iKBMnKdhH`^(IhV#JuehM|aCXNT=y6Pyb1P z@Ja+&MIa+UvzmY*AN|p?tTskoic7#ZV*&Bud}r3a`XFp(g54{PDr#m*Qo0bTg85i; zxEZdtz#gke2u2ye6p{@pfSnJ{l@VsP6RZ!mAHcZMhS#EMwRFpK7R@hf=x#QTJ&_9+ z5tbSc_gp^1;dlr99^47%Uzl$&h+=Ysq%ZBcls)cb%(qhXJHaB0b*pT(0n=3ZU>Rw# z&8pU~vwfLT$&^AcuH=oNuST62cp~A6?UTv0lc$)gHD=cXPuqS!1VBUOt@_mPZOIoI z6bb2Pmv`iZiMmM2fbF*5Vc?)0cN)C&uXfq>*Sqb$$DVubz0bb;?JqMNaNt1)A9AQO zWawdsrw$vQmOf(Ss9;7Wx$JSe>VNT;`kHe72*SCwMR6(@tE3Hfb(6G~@?lMNRtKn{ zp`gxtd#~EBz#)-xldPmedxKOO<4Q@7r~s;Y<7~;psG_pzQBK4z)o<*{XY_AL&hW^^ zH7`#=R23~?g+ZauV+G1_r6y+`xq=zf0*jrtV$}GWTq#3{6dD7O1Z-i`?(rdFDpB~E zO^0U*B|NkyAGp7^1B{Q>RDG4!MaeWM8iA^Kl8PC%i508*Dj+pMBC$rx2do}-&L6St ztr=Us%o-ZirUx2e$?g(oA^T-xAj>XYkk^> zlF+H{V+N}ssmNzB%icaJ+(#MnPg1EU+Df#N)%Y~_%Cgo(`02RG%MulKy$Ds~$@KOM zt8)1ZhDY1iL%-HHY-$#eek+N)uZRDu>DfztJTi(&SQKOv4(r8() zF8ZxBQSZeGsyFv14X>IXwr8Vc&k6LG6hWGJ<%k&f0Op7qQzP&Msw;vi-- zcr$+FaI_`E6`Iy$0uL#ANR~f$EAx-;BR|RGO%Z64AV)%eq)jGPaH;AdOPexCeN(1uiFups z;~SdL(YA0XHi4Ew8TM;B%|cl)zKza^G}*cnsm4b(+@ELvRtKuKb_O{ zN3aDAPg$zKl!pSg8N%vx;J=*14=^M5L}jqJw+wybsaXoDx*z)6_>m;3AL05Fq4jx) zQhBON$5hkx>St-ZPZs<#MIIIKITRKrDmT9+y0ArmXWE-2Xi2d&u`WrSu58nIf<_2) zAyQ6JZD~N?07N_pl^UY0hdgKAsK7^sevg^p1}`S`)N9K!1e58 z`$%fl;i<9VuuOul1Rb=Z9*mjli`)qh&vO_d3H3U-b{utD^~q~sV5^==alqXwxx8C1 z%AwA|#T6B06_t5|Q)3L-%oy~ASi`C`!0s9@%CTpag^lL64Q;<=TeFRkK$ij_48fS_OcEupJKWOPKLrT$2k z;_r;lZ)$*zTD-Bj*u<+c?U*!#C9{N3ce;5ASo>4CbB6^ctCj|Yu9nf!SWxm74>Wg% zv`G;oM5#r#C2m-??v+cOuKb|(C|m6B6sl?+mhQ~s69D{nCeqpsf=-4fHcHT&O(4pW zvQY=G5puBc*T$EHq~Dm|#_~rNA-tM2>!;2Js2Jgm)lGSM$5iCz)Ti;$7=#VdSca^i z--$L4pA8C{c3c!Ra)eElHQ{VKN zz4q7NOO#7izIS*MppZ3eLwqxNMgf;%T5N6FB>W`D_f~g{s^SmL?<25}E^93|&)K8- zMW}=vRB(DPQ{4R7*)kn#aq%KM5m}gD$YhA3#rAVyGuq&IURg53l;RmPe8pvYj%xq^ zBkw)nt16nf;S;(jiinDcctOAk?9R^eA;O-5 z@(&i#Sro(ZNqV^VMtgD*FEfyrSS)Tp%*)JFs(+dNRN&@SgCh&_2UA)!T^p7WA3v?M z4AWfE;`p{jms6qM-Ph0}c|sg4@Po|i0siTMZmpPrQ%|O|V{xq6`v|QhOe@nzpQ!#I z366-M-5t#hh5z!M)Kor1=;fH7_!=`#!5S`5jh2TRmv}H7>z~Vt(+wckzQ<)s)jkms zuIWGo`e?_H>khEJf%3Ed7i~`!Y>Xbrq1z*dVl<1Qh_l7~(^!70kIJZWYi;6R-qb>t zETJ*{8hzr!1%-)^(o@STjyn30^V63S|LqeIL3h<)rP%C);!E<>!spE&m=4+L^zKt$ z{PNBZAwwUsI?yTT6@1i?co*lV3oA|Iqg$v6HB`L4;ZF6m>eCRtXVCSyL^XuZzus%0 z6HD3jTR%VTC4@l8r2q1rQlB?2m6lS~6+{jl*{fcP<&D)(=mU~CU4yEe;^{4qynkRA<%*YYdUBVw4a#%_^}}4^ z%&OK{eXRCsP`x!YK5%-@R0ruCYoNXuf6lB2Hh@pc|G%F_sQuMqac~Z9iPe-!m`|SB zeAjKxbKyZb&`EO=;YN92SU5H-!(c8j%+Wsx))kR>;Lrp@VDjS%$qvDS9o_Wkksmn9 zo)f!~So;-ct53~u$X27{RZ}#BfBE;PkDH*cw5jTu$-Sy`1M(o|bB$M8>&i4r`PYdG zKQxL;l2$5bmA-?WuhLQZ?ep(b%)WdP+v#giyEHi8(jOI~tX2)AN-2-D|kg#MqoKnJm#Kk#gSWpMJ%Ue?J0v z)5FKh!jdU8vG?sQe&&0a51l^!|GQ7Q@B!L>1ssWZT-IhnUS7NrK17R$EhXf%BG)U8 z-kzr1@%5yf(hBZKla`XPq>uY6qj4~j7GZ=65H-g)iPx(c4ldfg(l>_RB#)L;1V*(i zWPekk)J8h-_-)5uYg*|ka@+Z% zTGTgFgADhoksY7ef_}K(h=^#7V8`bHJN%$(qyf)t{!_pWPWU!hNNypFf^mvlto;3Z ze4fJM+>nA&as0?jKK-`;X;s+HFFU@bNdGDF`wE7CS$t1*!^ZIad+G4gzfVD7*l!7u z=WV!yC63(oZCuM)?7>a}nH{g5#g1-T@4BsG7JIkjPiyA9Hj5pbzNKToeY4nOU%uIW zYWF+YW2uW?$iCrDc24xDNk^C5$v!UJF`(y`JK4`W4}TNTVKzHaUD{=C+HBVO#OS@N z@0rbluK2LS!|P|W=9m9D^U8DPup=$+zbrp_4x4=Frf!B`pvC$8%E0|eu z7wi7loR<6Fx{FLXYxb$vBu<)w96^P$E&}dzJ_kBd}!-a_H}#yrsPmP z(ckkZt2+Djr`jHMGe`C1`0pn+H^2R);Og7h(bgveZmaru@~ar7lnY z#Oj)#T=7EH0_He2^YUXee`4j&Cd59o;XbzV`(>}R&-saUetk>pOIJU{CdXX!xGU}_ z_Ryl`S5`go2wU0qinu>|{=|&_)6RY5_9s}I%WppVQR|=BZ9A@*w`0YVtl7Qs$3EYG zggHO>d-a^hpJr8u0^V%B{s{ZFe%Uxp!RuBCAh-=-JNYN7$OlmrVX4=4DpCJK&3m(MMRu+27Bfbmgne(|PCgMG;5X za}&<53T?Zbb>;t#u*vmH1}>>s!Maul;Qu46ddAa72Dx5m^JgEc+q(NOyQpK^et%@X z!M?m~+0KA353`M%E`4xY^qcJanX9Laf9)_kn(*A3ogr_r`L}hw;+MsT8SB)FwZ3#E z8_;J}*4tALvyamUzc{AV+w6_9ipp26Kg>o<+C6{s(YM)U-$vvA!)$$rn~JA=_YUhk z?&Q;bt~|^fkA!WF|9BNEuPRxv@|?r$mHv)|n3q?x&pwR1zT}rfEN9C#5ygw&WoJLq zeBP+-huD*cSM**t?LD^lKLHOGuQ|kGKOeUs>&ExlqM939zWK}{cEg)RTQ7+HfW^!| zab2&w4zb<81edhFat-V9`DFZmNb=)DHan@^ru)YnV(%XKK5WsU582UU9|tU8hgiwj zFFRbAU&XpC3mLky*C96c-i)Kx8?zNWP6gk)R-%k#*D}KNHSjGcu*~WK2>iE|y2ifM^ z>N{;~{xQ4apH98IK5&qgFX-wxIr(FDSO4#>F1qC)3;OKPinTv}%vv5 zjv@Db3O&0cY{Xdy**Et+UmE()rz~*!lkd;|7v6u{zV8pPE}Jje zd*0U1*rlbPb}s$&0DER|)bGclK4Fc@8!?gnw*K_e_C>Y9T*+^ zWYvZ1*w~uTYxmrKfVKa^;aYavI#%3y<8uMU2Ut|`++BhD*RgBn7qpHZeSp0+>bFO) z%lLwIekL0KA7FQ!xFuxJdtb0+T|S)?+~)wxSy_Ae`&WF)nvIz8*Ebg(V4eESJ$dM^ zFIneh0r>v_`{l#R)GvPhlI`f<{(*ZB?Pt%dT=4j{;9fm8`(FVLhlLqW*=)e z_ABSA$s1Y3KNBi9e7KL*E%em(czPpy>DNi;t$t-68}ZK4(UZR2$R3>+@JH3d``DIi zUi<5=mYdi$D_%ajd-guI;)VN~%^9?btzKO9{*~qX*tyTW{POkrn^>pW+4z4Sb6@do z-*!tjv5u{#tu@m2vEvUHezauWCicUcH)cFEY#;mOso{_Rb8Hh^_RQ@8*97lluIXQ& zhz{D!I`Mz|*w86IwjV!sGi%jpd}TnZeeCJkyDqqH-ewkcTfl!?{}6TEELr+P;y3K$ zL)C4%zq*%QxBbHjy{3M{?i%{`q?aDq%l5|?j!b^;8@BG5X)}}O?`7xx`O&j!TfSlK zK3jTzo9TO5-Se|&hqm~Zz5e2W`kncE*#-Mr1pgHNEi0}FSo`Iuy=?7`UDn=}{Vhwl z_=fUL@q5|Ev!W_nE&P_<^LO;8M+fX>%cf0zz`5pI_WrJf+X8#+WrfYghd*@aTXxpX zj}}k6U@z-?tnZvxJ8xm7Gta)hy4hYfVe_jWKQ(*{yLkLB7mfdA4=cJZ{^F@qwy@6! z$4>gQW)G|R`nMIq&un4Y>t^i@%k6!(vV~=tn}$8Phy7C1+_Q4*R#vrfZbaguJ?yoPk91u(dn>!RVCF>yGxxBo z?;qIxy*IbA&iMg@o|wFc)jiq!rF*NlvcI}tJMmEV9yW0CwAz?<+t}0BTy8@i3j7yQ=1|8r6Rfdn)k<=d+8qv8V|FQ;%PN8bi$-Y4Ya{t)PF21Yl zcbj6iv%ME?Ts3a*Zno^~{!15?Y-i8b9{M%UYJ+OL9Zq;SqvA=JBZ%@y}-K_05=0{vG@D zlk;o3pSPP$nwA(I^fThq1MvTDHtysH=XSmHd-h234-*#rTF)jdSbx)>ao@9{E&DxR zy}O>>@awS0R+fCvlKbpj6T7{hooIjGgJYI_&q|i}oU`i7de-*Uc6U{O^gXLt@Z1lP zAJns(E`9#7l!M>1aUW(Z+q%4-^*Vat&rfvR$*u{Q^6G6*)w7gWzj}V#)jL`K#y9GQ zK2Xp8bpKQLTi#AqIXs|y%enPZ|LtTqb$l(cW=1{xVn#}N^{SmLZ~WK+8;a}M!C&t@ zdwI=Hw)E@YKmX78dY0R@?6sV>Kd>*Sd|taFvz~1^Xx#dD_z&#FjtQ<~3H9ub&uW+6 zHtq+Oa^&UEDR8p?37a4Oco*CI@=eb? z@I@W_?T4t(90zx?kwI7N82>>XJJf2qb3un6S;wnhzu>CZ>)5!iGvD7m^hefx-HahU zo~>iA1ePAZBKt>{b6clAT^_DuYajo6&^2>^WcRko`=nTpUvo5%|4pe`$U(FI(AjghMyiEQq2-BsD5R7LLJ-O>&3@@98t~Qcz^V``iMIA zXnd~^Iy$S_@yjM2zP?`_i~6z4^^s-O?8ElGuc^DDj-4AnV(#^KR8QPs1$mfe!{NS7XeR@M?>4Fe!NzWM>Xu(7OTdU-B-(&J-q$B1Ji5R1uN!u zSTVPjwfg$^^GfcnVJRD)9CG}YT2}H!{#$zXwyRuh+0E1Ge7$ zWLbXt3Iw_KQFEz36Jbk=|jT?XQL+?b^vf`H)Z`yfIE&K8PrPD?YsAUJ&xK5sZc`Xa>u&jGPa4n1Z zaLu;Ruv#|lM7NpmAiV$3;qDQ!wQSGG;g!=btY!cCbIFErBWu}?s{C^j&jy~*0Ra>8 zYgq?J0RFGV_rbglH%_l*rI&wnON&2i*zK+VXqSE$=vZ~zu-^{Vu=y+2{yq4yT2{V_ zUG-CK4SO{TJ$!jB`{0_8{NK0Nu)FS!JG{TDmR&aUsaIQlUBe#R84~c;=2|wky35J# zpVqK~X7z*0>uXui;e@Db-m75=52QaFjCQVj_m}*e!KXFt)B0~~UB@20sdM(~=WE!+ zzn?#E#wB&^@$;)M2>@RwU)Evh1-&76Pu*Rad4CPNe_r^zPYtVM-}hd4$BOwi?38n!YqaplF6>)3Qp%)C}5HSE^uWB#tZ zy^aNhpG?0ew}xF3JnEb3`|4P`D=VB`$JMaEKDae>T7FQ_mlr5&3YUC z;;XjjI)_7U!vFl|^Uv#8kHi7@oXcw1@llf}Hrr9h&R;hW|D)adO}elD0rcCd!}IRy zQ^R81n`VuJ-sm5C!`?Ah)Uf?KD~HcG2YO}r^OuBnu3@j0CG1;pSv@Q=c?JhUg>Pcv3fTCj^)pN|5!DfR1mQK zg0ptBtg`}!vIn472E1GK%q6>7t*heAm+!7-FMT?$S6_@{v)aeB={BpH-TcVvmaj%2 z{=llBCvHN&zyIO<9wTD@toz38W+ysKe{|)e({j1%q^Np9UTohW( zu6VfP=v_bTX8VJtp3DubW)&Cpc(K`$-Kdp8?AWs63Zcl9M>J3ezo z(03W8!3Ah-vDi*3-o}4u$8TQ`J^j^W@AXDi|L~@6Pv}+W)Y|Ej>q&mt+0YWVJ-@wv zr(XRR_L|`XMx?l4*_WOk2Twob=n{t^;O2wIiGyS8`u3ux=PgFC*YkA{2?wU>{&oF)>*h5T`mKuXc=ppUeq3 zA>k~_o&b}H5S)YekR3%B-QKN7&~4Z}g5TAx$557FJwPQ*C2I8uX;=#M1H7XOJ+Zia zps=LEU7_qY;4PKxmRz|(f;PB#hKmR*6r}TiIP}2zJ#NwsHh-Ej+7NQfw{}JSeGHHI zmLP4ra%-eC>l$s*L|HhT9!sZl%L=o(p_KeXIkdz|3sCS#zG+K;H5s5+5(0BiSxAy^ zh{7c6*Cc!yIEF7as7-kkMC7= zV(jGd40#Yg5Yj(fHV}``C4qob4hpBA+`+4GAXFh+6~}l=#}S&oVK)$Mf#P&R5ZMRe z!~#4epVB}GCPS2%GQvTs%-?T7@35fYutEKY47fRTTL0{UaQzCSA{)*yVQs_>kAi~3 zsUX-Mi3)I+M4*SB&|PK9flxg6M*({yI{SljIQ#$)s#HeA^QMO#Pf-yJMbXs)ITzqv zmfxHK2B@FI@QeII@F4mD78P?}t>_P&f?}a7(3u5C1;5b=c^MW)r&kcQiWww}um|v> zs5kS93cTp;-gv!&2(KBW@Y(`6UW5p|+^#_|NBW>82IU&229$DQz7sFFFofP9RUuE| z%z?j2h%6T$+=~HUH&CI_mG%G>E=3G!Jh&2r@*xm*WuhP_4<~Iy*vRi%>2!D=ghL$R ztwcEYfn9@xtRMLq8GerixyMj`pXt<=xVAy`1j3x54vuk;7kV_@EQp(XEdPe02f_`F z)YBe}?u?_pw1 z_xQ3h_(nmuSI9|m&;h&xHx85wk0Bx5DPNf@&!!qU!@3bd*A%#PAWo%C@Zi7?JQ;AY zMil9vw2~BD@hJO?WuC`-G5TX}Q>^>QKXM4&{E=%Pq;f+@LJ5_)X2L-4z&Ss%M-2=n zPc3}FDh{y*AMuORPJd2QU)v9t5!|;vkt&(jHg2)X|no z_EFK2VpWhbuH&ar35~G)SJC{~VS-SLe8`d6t^GqaKJYU&{)PxXE{f_kVn3$}jD!A* zh`5!o(ofagoWCScDjla+l51m(B+wkcz!ct!Dx*1V;sYp%Gp&4tCdVtCg|d&H+I(5o zmpez3ywWh4lK@JlF;BNAqbRK&xrK0bU=8OKiy>H%t0lzwWOQBYXojuYRNr7NF|1c} zi+EaFGSz&(?dNZN*Rq=Y6!nMKN6b+((vrB05`$?@0&z{Ji^jBhttzky^-)t8Y7?zw zfx%CH&Nw9YNlQ6YdNGUg=C3M>-?A)R$_=9&d{By{8Ia1a_pj{SiEtW4mFCTC`{OMy zj~R=MdyV^z!hh&LdV9!xUkdvE!M_#l4dV>}{a%Tu{_i`yZv%V}*bdkM*ae`p^lvkM zZv=b;*rbJv*nj@v-#ei(+}nIQI@I{j;5%1iVEwmN{I(4)8p;MD0&(|z`x%( zy#qx7(eQQ)5p=5)ccy%TM(G-b1`|)9-o#WdG04CZW^g2lY>^Wl8O!OkFM_m2wBsA$ zDuXRJruL`|x9O%{;44&`;;=e2C+OM=SA|O+`XvJSyTXT)$#6lCM;FBB^9T*ImRq9^ z=gJ{{g9h*}$CG4XYJrO^b1Q^(dTOS1bclsy8_(474*s^kv~iM0^jRIIA$l z4(L{01yY~k#EAIlGSj<}rayTCZy`}KG%OCEN4S-)k3+~Kmy|w^tVnXI!aWBCW~tNA zGAT|(o8@|=rRKUyN2MpWN#j+HEW}B<57y6DTMYn1Q5;KSu)>aX3Cxx$h&X=bluZ;<&#?qD|iU4WenKxTG(;XcRt?-DRT-bIS{4#gUZe5VpD6 z|2N)6o99TH(KwK;{OP=wc1C&W)QAXPV`^Wyn1VW@N_?VYPLux4t3YB(Ecn+@NMli& zC^V=8nxI;4_3n-;4|J&TyzqZk*N}d&4^5T`d!Y7maEhMB=s5m;B&Nh>eKB&tuTOC% z|4@vGz!znKQ&ZJ`qP<22DjoA3-nN8Q_F;^$l*#;upxH92!EU$`OT2 zW$`aXO_K>xGx68tmu=)F9jd7>-d|#cE~m+X$rBzS*pF~8)y@mB_a`+#mQ|F90n+R= z<`2r?Q-qi%aQzLdj(5%0#p3;e&1IVMP zK3*UDc%_xkb*d_!u*we>p3C|Jlot7l9bWSV+2DdDUIZY&KD|*Gz)*9l)DUOAn$6;= zMV&Q1sv2-fv?%sbh-zro=R2Sg+6jNn@y={r9;k3@-+|`9YUeM_0Od5)cgCtsP%&qf zd`g24XLxVsk7Q>?bW&!#le-L(mBj8r+4Kg|kUzm>1{6-^;;>Ctkv@?9D5V2zUF{eoRP32C)IMspN zYf@~o^V*T|BjcUv8EFYg$w{e+&iK^mnB@2%y6H^b%LF_S(dcAaMYn=t(^50DqEoYY zXfgF6Q`U<^{A@OHy2{~*i_^vV*)w!VQ4t(ObC$~Xjq?PmKHbMbb5L1dzJMvxL_}nb zO^2)Y4IqT>Pk{*m!4ZT9z{*ZDeX3kFbYFkBUx8 zrZzMX9-Eeuo|KGB^eBfFW8#BnduLkAHSw`h5k+SurKLI(fMH~YxxxWFX(O|oX$j7Z z_{_AC8K6j&E5o@a6JGKWgY=d>C8Z{$d6kZMDmOMQeXKKWRD4Eqbh^TqltNzk6VftL zqO+VSNtt-W4j0sNyta6%Q|8F@^t6nuc;W=`#*9o#j-%2OGon-c)C0GjTcJcpQf72= zQetX+95BTodqM)3m6ni@8J|V?;>X0t;&OoKtdW^w2qD^>@uT8Xvof7Ysm{^SNmaWts%pGG9g^HcY1V2R+8B?yt1M^AWMx;c1C9;f*K!26H)jF zJV~jeP|r9g{*Kh!RfWrPsAJjErzb~eQEPbP5$SoTEj_eCR{R*w4O_UWWzyqO6H9(n z`QTehbZVT?MiQ+~Hy5zK_!=IR(784D1Bs!=se%>?fz0#JS$IEPbxtJ?vaNXy{mqe7s)uUIq zR1|_pt^O%V>CR*n!Y6WCxTKp`->jJy4>_QoAtXx+7jo<+z*@Yi-*wT`;-$XPV{QEK z(J!$WRb=rCXOCs+!0=+a7e=;BVzBJLj9MrVWhxYV9OJ}$kdlTVl8GswrK*`81NIT8yX z4(>jfI31f7pOAp3qi-Axk*-$Le1pF_vk)L+oLOPk@7UC<;p8Y1EJCA^Q}CiT`dg9(z5>Vv6wa=jql@=U0F5i>_cX znPv-6m`|T?ghsW4`mL}vwO#vb?EoBFJ6LZ`=3k*DBSa6cGj9p&?R4q$;-lHNz^Jut z)8$x~JK*rs#w8Und!-em=!}d^GT15(sgRGpkrk#%mM{u#TK@rGvdi*AJTt@->Qn21 z_Vr18Ud4(}GJ81Yg9*;q;qkE}oH1k5qp=8p&W*n9DssZ5Tz;9mqSQlNz`b+1Q^=q@ z*O5|~1A95S2+{{0{B!u-V9_aJogj%a2WA90V%=q>xSmS6YUAO+lT=p7F{X}6ic5<2 zPKA5C_)d$%C?)2=PSQaOzClwwqV4V#J2%CKHOg&h9w~k9M~DbB9eUP zb^^2zhWBu&W^sdJb@`|T-J$|rPJiY7jL%ibYU5_8? z6;JPGynX!?D_~x$TITY%zOJPLlaL;3QtH(M^`#cjtQ9LWR+B=sr){0w`lRP;X*>bDP=4bM%><-8h}K6t%6zfeC0CZ?ax_ekWC}$P-3?0?74lvHtaFPE zHNJ#u=K|Jw`#4lS4{Sx{VsdyNj=@%s#PpFU9pkWkN;)iaP#dA#U^5RU?XaZaTeSn-FJc~;#h$Xs~mx#7}r42pJ=S_ zVWA-!ixXJh=jix;eFZnT4CUPg*By!1zQO?0fq$w+DNlCEbe@sIMd#-Q$&4x_0V9VEMAazh zK8;`I(l%$P42KfLeuB25O|v=ZTKTyu=7ULC4^zu{qBTrCS}Jy@v6WI-l#4q=^7$1O zfw-ljZKh~)y6pm%?c#r`zrMc{=keO!F-qJ%9WHwcc7U?6$w7NSscte{hRowSK((Xh z&{7b8%d-nhBzsNtBs7?~w#_B`qcZx%N#-X4=*_EM*oTBQ2yPk1*BS3;YX1onW@|El zOt4+X6&Lxru&v=Ja*EyMe1R=TFWhrfy!BMnK9c^CWSNuV zDo*2fk2O#SLhqM6;F0@KlXa?X{IUrp=(A=ieCI>72*S9%dCmS>R$fK`$PkAA(ga&)3xUeAvd{XquvK@L+o}lV41pxNrUL}f%K-Eng zCWpw7-M57?5l}@~&Cao^hDVCB?5XZN408xqKg-?a+0Z$vsTJ26Etih-=q+>VvTT0V)DI@1A^~c?s_LLiucsew;J$aOk>uGABFINhF-JsLIqugn=SY;!q`N8lL6a0I9;eGD zf90K;P5)j(8e$XiiIj$IuT}C->9f9lNi)cE8h+%zNt#KPW3`p+P=4?=Nn#=LK-qLv zt@){=*-`uFawjWB$?G}W-2WO5rFRBc)qEC_PE318Tl z6i|?y$0(YJ-!z#>2%~~j0t%JmGso{+R+z0U7)$26lwlqQZibPs@ zrpHMFz-dBxjiqy!L6vi=PC*wY)YLN8X+4lb{aB-i^Rc0N4e*nHs+Rdwe1Y+XPx%Gj z`Q^AuqXwq~x5;w*6H?$gMLdXph(I7L%W=}oqOhb7rfB&XFrA&Y2XLjmxcbcn~m715OwM#li@?q@q-%!RL!aZP|J79Hx;L zml8Xsu<#*TgV0e$GG3<%DnGYKFDBi_>EX4^a4>F_T4=>@3oFSB*5A&czTzyHH34zv z7r7^77g6)tbQVpSX)%TCW$l0=Uso_~Z)mpC4R3{>B(iJErz;4BKu->Vio`mDW_c)& zHRNT(@Fg%Pg!dU~%4{B!GQ=^&0S1>BdAYmVvoQM`is*)sA{%9yg!fwx|NO_k8YbiL)WgxA9)2*ZPy_Gg)rV6oEpcT+O>k!o50_MwF?!2s_au zztc?J8z@Q9h(o$=ysE{e<S{NQVcp(0?9UYyK3frd$@%c2WuUIdL zXiFc?NhN)u<>^ZI9GLaH__m8$)({_X{1j*&C(K0$(^M>X}(9DPR;q`t{&z)kQ^G@`4b;sScMIz{CEzar;O%L`Zj}ZaMPiA@$7H# zSCNmRjS6{nDSrYJesnKMd7~u{&5{r-w#voMxjz zTn=sac(pP}{Yg9RXC0OjD`T+Lr`3B}{PdJ7j*F*h53elCMV0BVIuL*shIu#7YZ->~ zQ98R=nPHnq)%gcI9|T{eaj_dUl1mcezBskeqKwEJvlln%l?2%A_bnRb;SHT^86?b@ zedr~;R=d-xm^dXW&Jy$4hfgK2{^T!<&Nm;PEB@Hq(Fe7;Xye5pUwpRn5ti8r)c~f* zWYaxd9Dz1DC!-(~L;2L)%* zzWPZ}RdGy>%L{WXIW)J%{RBlspsL7Fq90MkY(p1XyPSFn6w;ntGm-{CLg zO$niv@TJ$(3T8)&h%kT3Lq3u&MU%!tDXxM(-XM1V$)2Lr0Y1v*)zhX@Fw>X0N?ml8 z9EJI`mnac2n$IPvsAPWnYLk*IX_5~i-TZ~;04mPt34GBc2}%;%ek9HmO{BhKqCC`Xe|fZ)md@X3>{WREPuAeyH=V&>5V&qMDcoudwnAgAMBh z3g4Gdj*7%41$Tz!nL%!dNHA%&D<>OQ*>l>9F%1jJb(P}OviM}6rH8;`EEmvPDt&Lt z-#H~bJz)?jc~0?)dh^|6!4z@hd>_6KOS@1`ta((pLMCBToWEM)3@M7va#(cmOXY=~ zMBwQVMl=&8d|8qzL@%OgXxD`2Jch?8@F@OoFq|7`dS3*H7f9i+ABJQN+b$pN*QP6qm=wJ zvL~+y|A|DL_na15R1$Ig%a`I5J?d%dhdkb6y|gW9r^d9AHlM&;p&@;!>p#Ls(+aM1 zc^(V`P4>=&e&&nydynH$#td={qzd<2Kip)>YaeboEwd;@7U~Y5+g3xFR@G3Z@>9b`6aH^%D0~%q*8vOw z8&s&Ogb2mmW#z;#s#Yo;oJ&@Gq9M*jhZeYYGL+ti*}4ZtToWqD{!eIZA&8_etd(aP zDufG3TmQi|$LKD6{IY2UGnD&d6O$NgloJDyly@7x)9jB_3@p2c@wv#5NUrbyXZQv* zjIV)OE8lHWg@{iF8$A^bb;`d|1XCW1(b$cZZP9@Ah_Fjz1aIn4Hek|#$+a0zO1-zLLcsLUw8f^2>SD`N08 z@t?tXp!ms)9`wI!AC52le}~W3E>=@>E_5SHFj7$6X)R#X7`1tgog1}hS~j0{42YsOf!c$vjt54V;TVuQ-TO@CsStX{~!JcXx6+%%T}%1oYnU1bK0GI zUi}JRput0iMqD-Q z>PQw99TSU_risIot{IV>lA4x&ZANC+$Wf!mjJ z(Z?QtV%d{VJ^jqH&prRbi!Z(W%B!y}U-9}IZ@#ti?RQqKe)qliKUni&)kkYT{^Zlo zK4166m;YJ+)rPM(Zrc3Kw_CPu+rHzw?|1&N>&NPv+PeDPd-m?zf8gMu!$*EP`tvWp z{`UJHe;)hm_=%JM{ad;H`~UCLSL8o7jK9|!#!0|&z%jrdfZqVW0FDBV01g2T0QLd) z0O|p?fNH=lz)rw-fbD>-fNuet0UH4u0P6u?0@eXO1AGEl3#bCD0lW`*7qANOHsCG5 z8-Nvn*8r~oUIM%Tcnc|z~g{N0ZRc(01pE02P_6G1l$X_8!#U*7cd(z3vfH2 z5^ytM8lW6d3Mc{;0CEB20oMb@0I~q-fMmdMKpY?nFbpsRFaQt==mQ7@^Z+;jT>zZ` z9RckD=K$IOS^x~dv5&xKz&=1VU^`$VU>%?eunMpO@B&~NUC`t^yvwGC(CD3SiLh5AnpmN^)Bfh5rGSfMtLxKsCUK1|EO|5DJI_qyxqS zN&%ICxqyX$C4gms7XT{&s{mDib%2e4?SN{)KEP4HF@O;RJ^$3`hrL0mcBX2aE^g0tx^{fKos?U>e|NKqcUIz%0OQ zz+Aw5z}t_R!z zxDnt4j0a=`CIE5(xd0a+50DQi02Bfy0ww{90L6e3fE!Q>m<%WbcmU;q3cwV=RKPUA zbifS2O@NyLw*YPh+!o8{OXUUlT6dPXojDb`mMdw9#u=?Ykc|R9Dl2lz)#Vq!lR7dv z8O9AbX$CWwQgVJQOcJwjY8Y#;2qZfVSk_E{YtKn!=ToLUxN|zpH?gouzSdp&*y@{t z^W9i#1eOVf`AC^5ix6mN>QA`Lv%C0((@5~QPKU#(0GyT6yuKrUsVk>2uMlSM^z}=| zH5^B-+r{Uv#dKzZka(Xi_xR-F-{FC9kVVNWJT9!m(di$BmZI@ZLg%qfLdea11B{Aq zGBxmuj|o^IuJW*zloGr!ccn z;SXQ7k%iAJvjFEhAObPjxmNx8nNcbolFYAW-~m`@0}a%SZukkHlE_v{Bs1yE#raws z%HYcw-epiy;rEe{&{33ZtIQI#30f6S7dS@V9^x_qti)wc7iZ#Ow-p9AgYFXH=2M=u z*YIM=4JLkmNKmXLDe~YPD2`PW=Hbp1HLXx3sgs=YEuIOHMvIwGi6Q>iYUZ-X0FQ-2tE)J2rDI3 zi!`oWbWL%@!{m>|L4AUA6L;CT;gUi23SKgoYne{+oFD%Y^|BEs>dS**7%sc7St75m zSXog-Q$Yd)7PYVhUq%>sI-gKW?!1f4!>TA9OG3?Y_y=dMNG#CIx!`TN0Oi4-KDVZfo+RQ zN>LVLBuz3sXOQ&uh?a<%j`MTKs2W240tZol?Ip-iX-Iyc1zbFbPeb|@9ZrED4!LPB z8WkJPJ5qwXjIX$P%OS6VlnYfY{^V?@%E|hOs-&WOlZ8_jHM-2pAF8#@^hvOEp;VLu zRvi31FY50dgxYHc1HQc-Gf3XKi5segMIFQ4mE2(o|CJ_K`oyOytw~mrjQJLV#>?rlIHZ zRc>i($c1+wX-Kj}hv)Pa=1fU+r^5UXGAI;QgPCM~q!B;oGd5Id)CHybYp{@Fg`YZ< zCE-YGy@&>sm6G^T55Zqvf9Woml2AOa?i3P;EVob#%8~>@N{V6h}s>6fEBp|n-pR12{MIOc6}#LgZ`iD)l>@{Q!2^EO6` zVCZjn;AQ=_CR~`S(2^wr7~2N;w<8mE2@$8W){dx z2RqWsT&7T?&<5pOln=^i_({s0W)AIweWF~BR18ysM^YJ}{X~nP!1$6}KEW|7>36!L z+B-9Qiq~XT)zIoSkU_n7i7BmF9@QwzO&XX=w9$z=*|VD5G35<;gbKIod!AEK0#&4C zwDmvI9-R4P5eoM5-%@Yd^XQEPF4^Y8P3(6Kbwy5*lplCkX=pgLcR4A)yuVqjMis0V zTLmP3`i7A5*~sW?%B1M;ijkI>nhCfFQ$Yehh)>4{7De{V766_)4uIElhXM-RVVClyyUWf#feQdw#6S6huFJu*KyKp*WiXHHDcLe1by zB0NrVoVKTVDP{zW!6{JNH@D#?0kq@S=o`fsB2JS&Eq|=LNPQ&Ocj@gUaH8oZsaSE~ zL7pWbW^r46zb7IRlTG_$%1?IhyrR7JI9{G8uL1LBj5zHfPtyp6V6VUAZnDy&;hZQ;UnvO>H{S+OD)Vii?Tw$& z5_r9k0iO)F@N&~A6Vqvy!tueHH%zkx6MUwP{@78DsaQc3K6J>ZJ*^i~L?V`+g>|Zz zJo0Oktk#rmt)Ktk?RQf)?);oyjN6iLiHI;4%h5)rm@x?vc53W=xt z-NFVYkIaI;!yzbFQH(oxx;V1R%b@r{x#XIsC@dTw>1k6j6{pi!xK_>?Hb~`4cDqY? zP6{0$jq2lEw6;~2lo{@f$3Kow(u)G^VK0Sz2Ts4UtJ3epu3L@<(VV znn{Tg>?Z3tbj+{$w4Pi;>PZz&Nl!!suYsSQWZ9khRaRzxtOG+|a*7(lqUkw{GDWGS z!y8jaXJY3fm4>i&f&DMZehHrDb-S?D<6(H3VR^Ld;pV}m*@b01oEm&0T=j{}zyc)W zCf;BgK%>|5j!EfY?5wQjc@~ZvS@86mrFaT2%QOuyo&rB@rY$wzLggE9h&W!9G;t=S zL#1Lj5A+FJM*P(-3LdH1my7jsL26)8MY+&1_zN9nz6z^OC*DK&8Cy|O_&{z%%7g6} zQxN$$nl7~;xAHdM!h)2&q|MHqL`K<6l3h06DIzAqc9Q=V{L<{Tan2a$>n^43THzQu!^8Qj##E5OQj-hv2kFD^Jx-$%2a0$|5$YSG0sm;Z+(n z5*6sDX+=Mm)$18fMRI$8>f^)#-Ybz$bxeM*I5vGKoF3HMh;n}Z!@SCw4u5db@NnXI zMffl3pLA|s%bzQ{t4H)g(-DtghczBzGFg_LQywc$O;|>kd_43~&E^NVsh_b;g&AXG z*}0~->1gO=HBLx!EP9Fyr%7ZUFJjX2#IP-h^2VyginDj+xe*a)bZoznA+mY#l)e73 zVq%R?K=Zh$eY{k|hS4v-sSUrL-a6JLxRyDaywYNuA$~VDZAsQ-ZH%Syt6JhfVrC+KfcfCqGXJqnXQ0k5D?F@-MIB zw&Y2cZ)+bPzNiK>$+7ZFQW8qT26?rz4;Cx8IiE@q(xJDit%)0c;WA)hH2EXx;S$Rw zrtzA2Plyyo6Q8a9ZMYOun%3XEWFdTD7WVYAGu%_tN}aq7!kw^PaN~?`(ukrWZRRXG zq;LBErRvXyW zggsnS6Q-7x%1SQ}nkpyO4bL*@C@_xDK6OP8MLURU;MMAA;@ellE9s8~w)EKO24?%- zvwz@LERgwQ;Ajhn?*K$@Z2Y%36e?}f=fi(npApphM`a7;&E(5ZY7gJm70iOF<+&6? z)stf}>BDG##+9_h&EQs2n6zMKJgC9BX1LGv@=U&?inGg$E7UrODmO+>Ar(p74-n0F zK+wPj2@2B)qOT5xtCvgYBt?9IQ8-nRC={F$ zH3*C|X_1nI&tZJ$B3Y<|Iif{u1b$FK>hvP$iZeyX$`@|tixIIAju?)>$`_|m7i~2I z|2|b8UPL1JB3}ia_D?M$ub5*NvEuud+SvN06mNRG{VPu7mu}k)6llp46(*U)!!5)V zV?!M1!U=d!sL2ezoGQaqBU97hQX;tC=3i^#rzFfppDJ2@@y^ll6e?cfl6Z____GWR zQC`XDjlXa{a*@Dip~OX5dAPzsxfJuLLOk40dL>#sJ-vV;q_>Kt%oIuCgwtQavYuv{ z^u4MRCgZ8WMHdub#(}{uxbzEBVW!loaH~n^7vxc>EeP)r?k)k#IyYj>;JT3{8iN_> zF{yoFt&MMMTn=Wg!@NBz@!)7rxitf-d5`NxIp%)W?SSfM@+)}&A+V)m#hzsmR`J2bW_c> zIj60TYT~KtYT;F_DDi7kP8$N1Q58l^vY0Percm*xoZ^b}w0s(9{h_kFzr$tu*m6X} zy2xnFn{}!V-r@AFO;u%2S!&!F(4x7g+2ZD%jY3ew_d~)#sOcQe{z*si;RE9;ii@QW zdHX%t_QVR`z|8X822h&yL3~6+sk_w4ef&~KEYi;)LM?9ybnxC)v}vQ^d4H=`9+Hm6s++v9}-p z-XZ1SBjEl8S>iDHI|Z0?{5Y_p+!j4P-*sBka*UK5wU-MF5K)L=K{n9;Rx2!AVuW#tv{ z8ExY6>dMgg>OKoWx9L36w{3}`KKQ^FQ`OM$@qft=pA;8M{>{D?5dm{#h@I7cgfbF6 zN0$e0xkgo-lufU>$v3B_d%3{~Io&b4nudz{zTa>its-C0A1D+6yhp`~1y*h#qbd*- zBnu*1FrLT<5sL3Ou4sL`Dfz|qt_yEJ;1H>8^})rMK0e#zvW6JBz1U*Xe+vC2GHVSW z`QPO6vZ4BkJxX7y2*0Mkg!ziS?Z`=&(qI{`Ji8Jz+q<~1Bqe)VvO7m>WmCq`#zLQ) zGZFj%G4ij~eJ%N<{_CX}e3X|pjG6qU`p_xEh=|0}3Z=+2Y2yl6MA<7MF*MvhLP!PC zKFws7Z}J0WLpVL<%A%JBdk;xiuuZP@{)H?czRd0MUeDEX=;?Ft@e_HyI2QZ4pU5+@zP>Wsvzs=5&1>SQC1G-biGApZ>_F=S}RCN;K3{69#Zq z)>p{Cr6*8lQ*V%;eAA@HtWN2$g_JkR8RL+>1;Y>!xy zYJ3D@*61y)f(|9R-V;uu$Fz_0?#C42rL;-teH+YXib0h%CoD~nFU}G=5^C1i3h`z) zm)A^)hc6AJnZ1aGeB&Id@+XYS@Las5atpKbCBG$!Lc~q^_Q2$pFsfKN`sl4Hev1(S znwD7OmtI~Vu~KBPFiHg4bkD50+J`pjv5y%!bga#vf;H3Q6fysTK>Ic_J(aaWlSy4~ z=C_xZ?IEXmUKOxf*;LQMZ~Q5~A9!g(drIb6Y(t!H)AGd;n^>6zo?`x2QR>eNv*0^b zRSb}7hGaISSIai`>cxZx_$NKg`?gpE>3#T3U9p!}S;T|}^6T>_K|R=~Dy#9|hp8q$ zb8g|i%Wg)XyK+oowDUuojXwFkaJo|tlb+N6-mtm3Qtro0e0KSk{G#qhyIT2Si0nbXH=Y?rNvkE zaY>ycq!f05ya=voWg;>(ROMRvL}v;Noi;d6{0j>94Km1zA5I5^0gl**ljqI3hXy+2 z4U=F&8jqF*+4Et)B_I1@GAFzo;0qI{%w;yLSJRFRQs6vGT9QhpIlP6B2f7Z%I;L+F z7Uzo_+S0f$T&(blD*6ehy%ipetAP4Ol5Lf_YKwg&y3SA;a$$QhFwoTs6;D`l~LJCN4}5is2Cq2q?| zkV5p)B{zx5@=_Z?DOtKv3(%9x-jpeF_1%j1%m@)1i3sxN*BG;TIE0Yv|7xW_A!$r} zoHJ`|dc0Wi7w8PW^HQh`_bkkf^NXq>xJAEC#VabR5qxUxLZb0ypJX|w*iNr6hy2Cs z41{2UJ)8yNf?TS4pd9d%V4hC5+yw{mL_vKcOGrynQ&E?O2X2)D^2PJ1_uwGHii^J} zdmQ#UsBee@#F(E`z^ULHbZW~H7!a)O?x7!>uZZMzvDq+E0&BO97^1Wm$%`&3g{m)7 zgw?D|a=GA`PQ`=m9z-s!!QSowyhWo9{3;!^}cjrcD|i}-h5uH#lSGAHbEaWyO^E*J{n zZCt$a7iwv-Dau<<>_Mt~WWzjn z4Resr>K~qmU$k{c+4$amw;Xtc!KRloa8`1pf)#Z+xZMruoP0kIiB!C*B;WU>7l}Z{ zYrTOdQJdYk5ZYDb!434WI3Fdv+knNWql~a>IeR3hUcMYyXo)DW+ju*ks@jYSif+`e!V zkM@ezoELNaqA@8-$^AyyEAz?$qLx+YB89H!a=-?q?;RDgA-v3;E2Pg2#;!j{; zF^M8gLd?Sx!D{Lwb%KypkwfYk>bg8YXbhYLAjVTq_TV>SI93Xy%>2{`pJZu;sY2vY z3`b-nra@#<#7pHT(IiD21yRV)EyU4rgcMvqV6z0srLwqk!%U8oA?`RZhZ2$!5g{ZQ z5t^|S=2h;g=4K!lJ1;E4!pj$lWg^A-q0ylu;KHF7uLXqOz$f6Iae^>m+wgDsN8C2~ z*67`PsM2Zh8LM@$$fs);F|Vg@5!01h&s;9cPqJZMfzbN}K(tZ={ymb;=Hdy7KJ5Tm>4XIM}L@t(;?GK#m_0S%2l z2KRfGglZh8wDeEUPyJh3is@67#?nFPwACWMn2u%UDVSkVqoeG8a&q55IVeti$4sF^ zHS#bH71)$H6{YjWiz%YE8xS0XIjKbqx{6bNYKVMU=%gT$hVj4@viA_lNq_|3xHwwn z=;>(%q~Q#{`2Er4Taa%)?W3mQ;_Pz4>tp+nX)vcR|FmjR8;0PxuW(-!Bv>Li=$lXH zN5dI?^ZBWtlpU?P8f<6zp{DBRlauVS?2|qO*k^0pf=RRALa`WnpXr~5U!VQ?lkZctPbPId%;$Kw=)eL@-fKR@78kK{F(D=dQSMER~ipR4ofg(ya?dJ zfIp4kRdZgMkH0npGJxD3I$?(*r#->@4| z?yu5@mL!l?`U*?rMbtt<_+AK~6zi$6!idi@Tv82pwC1{_|0}a%0%}1A zZR~5m=6dt#ulM?1%Yg~6|MJzTTE5gTDk}e)<=gi5)IE2WT}T?A_e9f2oNb#yEIRY$ zZT=M?HWTseJ z3*0JDp&jYL`d9+4-tc(sG5`UXKOzNY#h!4v9H;hjc{%C@KA>D>#j$0DSY0T@J@qmY z*QBVjR7%mL(s0kLe`<6Y?i19^Dfr#4R&yhc-112N;+L@G5XfcY>+MPQq}i~Z$jF{b zJd>mg(=@cF=;8JkXH*_8y|#9Rxy=r7 zR(y2XJ~32#U_aVlcQZg0mkAp>ngHsZOlu;OerSWFTzu3)vs-(D8iQ01k`m*^uZRe7 zo}4dBb8}p;eQw1)UABk}vwW?68`&&X#hNvc^52-f3?<1Rdj{%aGQAK(uo!A0cOu4` z444puHhrU!lWNjuV`$_0TCs}C(z5w&F~Ju!8K)3Vub}cFr9vmDr&eo8KX2ngxecJ3 zM41cyjo3ffW{3@RNcmmi(<4oOoc{R9uZ%Z0L}d%=_2JE7v%jS#u#34_zAi7;EwMmh zXS2jFl9giOMv+;x#xW{Yn^66}u&zV1U2+c-yCP zxwKTADf{%p%zygrA?7ncuD6MaPZM0Oj~Z4-h_SSh8lO!(h}GFpLBe4R(oanI(QrQffl3k-W9TU@EmGHLi|Ly+Ke4}?Vr0^f^Hp@W z2JQvH*iKY=3!(SBCX`bD@tz^X+Waf=!;zzg-8K&rtWg7%dZO0~8Y`o!9LvU6w_ljP zF?2=g(Kd63uM2#kU|**tW3~@jHSJi7S#h8AcqX^L-AjT zo{JtFwRO`uL5zBG=sdcfic(kGegXU331TYd3|xKKbXf<|Ta* z^kU)uOCBD(W9aJXf3>_b{?ne%x^`dqz{o8FS62Mq?w*vd`o3Cx__D`t_~GggZuxKX zJ7Pb+;^~~a3+~JOrvICsU(dd4#D99fJn7)2kBs~Ns`qX>(Rxne=T|bAVcm+fKeNbxp zo`3J1+wnfd$p8Cjx9P0eWfQvnf%lJ}S-<93w?ek3WX#JKl%y7>f75BB^vrpSmO(@B1TpcD&EMITr6bBB^wW|71J8e-SwwrPI4H zFb?mlBYAc+{fm)QI>n3p4@dIsc+bBv0qN&O?x1MAzqm9C@6#ixbb9a6JsIzXk>W-> z^*%O|MMOVZpMT!gBy+OlGeC1d z3qVUiD?l5-SpeDtJ_m3fpgo`ipd+9Y;1a;4fUW=spa&oj&=)|vretD4&T@wVq5#7I zBLL}uYXR2*#skP=p$I@XQr!Zm1k3>}1Uv{>26zha7N82S4zL|i12_u!6>uCtl{pvS z0Q3Pw0pb7!fT@5=z(T+SfE9qXfNH=Vz;6IzL>E95U<_a~pb{__@HAi}UjC=!#LOW87oZZb0`MWA7C=mH4@dwk1H1v)2_VKt0kQy9fHtjhj~Ad4 zumrFXupdB;Qwq2X@Fjp6YCPapz$dcN9B8<^0a0gzzkpQ$YRG|rO27+%e(mrZ(EeQ9 z5D0hX>0gZ(q`8=Yj~t$0@A=19QSJMeoBWNa?#cQ^Jt?#25; z+ur}(`N;a@`ZzCwLB8^(QG5VjpRdw!2+4P>*xg#CpvCbzW}3eSb%YN{{W+MNPtl= z4B=4#bmoVW5O!^Vv1(+1vCtV{{GNkwbnwce0Ao-IexswWxCzh70K*MfHaoz${Vu%A zj^BQ1fKmNyfYIw^gh2_Ezk??f!LrW-jEt{P_O}7Xqu(K{8UV#Gd>@`r4pGPPG@2Rr z1IC;O1pq}+)xDW*#Wq31V?ofn9H8YMTH8Wzb#cwE(N@p|Ux(UsUPWgC;GTAr{ z&&p=TY5*yfko)k2Vkv#OnQ`LHW`^U#X2yZf5hfK)(N6q^vKjv;o|)5sC==xF=Qpes{l|?3pX}5 zKHZ7mP*jz_;c2um0s~qYE4sEYe(c?XE3V4;7RFQ8;5QUldk>zKEsT_zEsW~>S{SpR z!n;&xZ++6j2;G2pD7Ixk<7u=s$^u$)1$TWfJfY;ON3}Hm$Zu&x-P+Rlb^*ec0ig7@ zufh|Guj)ukqvm(~Hd-0)2edLOJGV00gtP)b0Z@if1+9!<-3WiEm9gX%gjKaNHvZ7c z_~KXmhLWu8+S)kx%GSp4fvvg1ES-oalxFYS@r2@ZJlWcqzZ$)CmxDbD%pa0XBp!k#XFR3R2`leCF`5D zMVquWRwd&J#as1iTjPOu+Zu(`9>i}b z=V{HMl%b&8Uymo0^kaA62}NDG@f>5%kN6FR9Xhrh;@TN|?`UT%d#|0bcrV_i0`HP~ zuCZ_;lsFW5^|yFJnU87#B@Tri6?2}^(SzTbVqeyxy-_>3y-_uzy>avM_Kb7%0-&MX1L`#?0AxV!#+*caiaU9}F0B;Fz@y zzcF|mZPm&6CbJVCL>#N|#H=HtH3ktmn5_R$3@GE@=#02ajSa0YHKL|oYV`Qp8eoPz z+Qo2e5d%%ti3-Xc+xI7AJ z=_9*M+cYHmO`4=_AWcJ(LQ5^%O?J~PO?JcXCQT5y5d{?$5%7KWR^TEcC_XMeP%NUN z;seo(4^XObMa2h*4^*`O&pGq>&iA|DeKsk*{Qg_W?sw+Q%sFSyoH;Y!GiR*oU*fkh z`7|9Cu)ee`V0|SOuqOW;uwJ4_$u zIG_FE8o;zzufMT{C(ytht=3PjZqpO#Td!G%de>VIAG6+?_{VylRJT{3i?s8sj~#m+ zPp(bpb?^imvo~Ojb?QkraC{fw&bKZ({(NgsyxSTY?m>U{@}ztF4>nob|NR1sKemz@Ioz)HVACtOwT*@`OG4jZ3UY+IIqG$f|qw5KrFMH>5!Gh;{Yu5uU{Nj-;*0 z-i&qJ6B#|B-?U;E%8XlgpEeHI3G3CjOz`Bs`#rBk`W4n`XIz24z7oGDd6IwezDaBT zmtMz{{odDJjr2EKhn)3Bp7fh~-)w#Q@VB6!-^!E!2}isg`PW;!7hZ4u@h|USLtszW zP1fJ4-ih>gS+6CM*UL$_K# z`pIqJ)$MFBbbaKb)}DXeX?^HBcd_v>`S(v)7eD+-z<=7BQ~PPubq^a7&&ECn^zXHn z-*Yb;6oD_?2bew9y3}1{Ew`W@Q>K=2u%D8&p)^3HvgOrkUc+tij9!P_dSiS{0$o-)jNL=m}jl+ZO`KS zc`Lm3c{WO#f`7&H->ug5e}_!{6TdAsPF}cT#*Dy~GucSl^VhjE-c~nn1{o{!IAPkO3<-m%Y5WR2PqI<;r-rL$)HGi0GLCj< zgn@MQC{{->lJ>m#{uw8o{vmBFtv~B7l)rn%-phs2)bz(M%y?$bmyq`58OK~D45-Nm zzQIP+=F7jU4XLh29|z3d8GEkXJ0tk5U*PvIXI%bPVOUM}{T|PMn(?OV-3HdP|EQ{J zdhw8|CwCsk#@6H?j;%WJ(i5u4=sMv)9K-A3rHf%?g{t0r+Hy9)w%0ZQrm1T3wx+7& z)|RTTKekRAWKSL5i@eQMBXc)vfm_&UYx=K`vElZH`p;pC0*Z z$Fs$T-LEEQ&D?(3+?l3<*YtE?=7&FW1`M=CGtc-9R+=#OCjYi- zX5HE~+UUE!^CIMLpSkC6+h;B~EY1et{lW*?Al!G| z9c&ctzVmZ{+cR_W*!ySpz2~d={jHfVobYXzkvRXzQxAk-oMVCHTl93 zv%dDjqqX5!`-_@cWIWc?t)68`19JDa%}9&S3bhTeA-QL89M6+%Og?_kHM6e&%-gk5 z`Ss&(N8a7D_FnV}e1B=y%E+EsmNYP%{_=gK{bE*c;z^gG`J>T8XOpqHd+ey$77Wfk zkFK13|A~!ATRXeqnssb^PM*7s4bVBGNo|Bad)2!DvwL>a?hnnrF?KtCe{y#AzdprA z>Eu}t&Hnt!k09;w+3)$pPjd{^ho7Hw$euqP1B3L$Lq5`Sk~UT+zten3XHPqf(%wVX z|6r3gTu0ve2Ee}ikcW1>mkrp!2R;p$J%>y_fBzxp9{o*i%-(tWi%6eyXxE&%Y}9`5 zx_~xpw?Eei1GeYTf1SMPPzwfb)0PaLC)vpTO3hpF`#py~8+@P3*bS_C1nIv%^rH4> z@Qqyq7`=P`a5x*jZ~gcJZTt>?B|3);;O!%6d}CJuMsU-;ch7nE;(PJ@%{j4azr_ae z(Kmwu}wv$-9Q*r#7~IQ_c-MDBY>YS6C-5u`@|(`M zNgL&x*S&!B`A6=af6S4zyK?i%%|}|&K;QF=*B*KPxo<=IZAZR%&K+#5Pk!>3coqix zo1(|TP_KE#-u_yb;okIyTVK)A^%>+n@`_L2@F>2qB?lvZ@`>ZwkUt@Eo;Kzme$xZ< zEg1BB_C7WLb4&h)-@>q;9E%>cbjuiw`kRjW`Z4c4%JLZbBafYUbkonmZ0!Hzo4suC z2O_&+@b5W#a_3i%{>|SW!|xZ5{?X+#Ug=!`bp6-cco7g?^{rO|w__|U1h)V1WGn!h zj+y*P+c7^|d9hv;%-Z=Uq@Qr?vnQP5S{wv^@Ht)}{C&$lUL@=}{G#K)UtTD5-0&g% z{`zqbzw`|9Hz-JT!gxbiIJM^~g(4u#81S-G&9P zqJ>1@{0s4oohd9P_5_bU@vBz{Po!O{#s3*U(Za%FGW!Ug#p0s6y;?6Y?!N9>USu?# zT7A+Je`&`8g}peme`5*L?D~r_o~N`h}s>Ei71${pQWCMa$lMR-7^Ug)7dW#misb`H?d$EMS`M zYgz!l^CIR4&wmELUs!PW->S~^E@pP0`)_B_PTZH1@4+{AvGb=-{p)NC3!cg2KfM_B@uKHFXS6J# zh0pG@KcE*s5C87^rI7EXd*1rHrQdjV!7^G1o%Gq)yB0%}A6%ywMC(ufMU7=Fibmdd zE*3?*Lrph-EOhpppTTdjK$`47qxRav`)g^3aC7*fTFbLo>bjwe7fjD>{}(Tswx9g- zRgmwx$u(Vd_x8VN%UDFUE?iMh3#n)SaC^Ol#nkDy#as)jz%^TVQ8oGY z@8SEf#`oQNVxwg&uI4rWG)xPuhtIu8>_{4mtnHUCX{LqN?~nLbvxUW0)9FXHfcL!M zdg`91@Eg09a?$nK*pJ(2;T7nKt)*SeMK`srvy27Up5dMA-L?pWR`37G_QFT-mwt9XEB-0__byt=Wh&T^1H;liPN6;WsbT z#vdEki?#W8evcPyd-}(FKk(E~d(DO0WY^Od{PK$%FQf(BuXgw_uihUak|PDSD&h4uMx^6_fG2D zd>L-Gm#C~k-hj`Can)dii{fe4dog zWAb^#{to+f49Ms0^7#V!+$Epa%I7Beyiz{b$mcWVb3i^HC!gorZ{Ye5k3FuDuR0{6)JK#oO_^#zCDd1eb zY{hK6E`Pg{^VZSey6T{Dif%~&qsvmmo%LCx~m((E{<6?{&|^{r3`Tv>f! zK}JAfn~+L#Rr(LZFNQ#aD4|3e0VAFp35o#Xx#hSTE{s2miDr~j&m3F<4`uof;S}1? zXe_>r?(#*zb8^awFC)Rg@rR{@a4M4b-wNz-0*=NUA~N;I6BvkWeibM0&fMTX-@tpChep zUA^lgB8iZ~$CbaKd2^&?eS1f1cUz|$EI*v6#+~1>v8B1UeIpD)*-+}0=($onG0ds3bB2QP(^oE2IdQ*?qM!o#p-Liyh_8h^ zIB+G9^2if4qIJiKkWMVFj}9YrveL)O%UM%cBE0B@;>8!k6&VK1AY%y5lQ6ekY{ha;(x{l&&O zEEA|+gpgxy-jg#L-&o1msUA_O-e+{LQQxA4>hc0Y8{YL=43s!J^Sk2j)UsFAzaf$A zk%UQ9)Cnwpbl9xIwem?7;0{u+2=<)QySbBTxhNiD9- zR8fn@2LXr>sb#&}J}twLTPBDS=-h?*Ak%WC zMe~F1M>TC^I$z{6g;fH2kbf$kI{b*mF62wxd~UDFN0dre-$b;lA9FF5?X@PxO6ovS zvqDxees8LYf9{F!_uhSf;O{;Ap1}7WxUfHgJsfK<{M^?`fA)XJGk-L_nbAHn1pI}u zfB=ZDGyz;h%KDoTKHL;O)uBo-)wc=5RBHU9K3Cxs6)G=)3pJB|gz_(K{8NpPC2^h* z)k$r}zX(@|s?dG1j}-kmS2vlIE)Eo@U+D|PYbbY&db`LJABA5srs!9ww2X$Dq3Qp43F0fO5MyZfIv&&THah8LHERTz&RM`sq z+uc82^(vpmU@=e3Qalk6QAw_Ll5yB6@pRxUjw6UX5$o%$K=m#pBigWtW9SYA!XEGx zxrAe;ET({XMg|5rrW6^3xBz2;h$hzelMY%SDHMLlis|i3}so-BNdDA}-BT^AFuY%>;6TtH3rZ zpRLw~gIE^R5t)RDE+cv`kqkh8FH>{OG8|sa;`I8&GNCner00wX`9g*W`W{OMVj1E% zQH3cZ5*(+C7%_cuGf*;J8JrkM#P$9F^PJeclK5Jkxhy1O5>uK8#^*|s+cK8ZKR6+R z%LsL_Jj5zQz)i$uJR337s?Eb56h=+=Bj=S;sz`r}a6T;?x*{DM@YZ;4qXwPlw)5T3 zou2%4-e#P>=hi10y3Mks_n?5)J2X~Y@I1eB79LXJqH0tjD3GQpy& zl>t9d!xW+%!%qk>j&rd-5aW*OAH}BGbk#r9CloJ<*QoqWEf4h>VW39U1D^xRy|QZVtu9Ne_24;Ve-*aKkNl(HN-}kG8_&;)wh5K3bK9J zXWa?`Rg-DGh$tv#owCT8)%5axs66GB zZ@eoWa+gT_<@kY^muZXY@^t?d_NvQAM@fbl*0R3Mv@PS33-^=iV>6W*EXz0dWmCa9|Mz5gj4_YWP*r(BiBsEMrRxP!!O{bs&|_IrE_=4;<*gFtfX&xc>v zdHuwe9QfeM%rM??n-U^H8G{`7eDx;;({tc`>X)G9)jv>r{Svgi`uj?+UxJob|0Si@ zFG0Efty-ku_Jq$?dJWy)xo%s4ENQ8`_`cH!UZG^8$$q>IAQN0)+CXnK<1n~!fjWXB zAWk7-9*}*;>I~Ob#*+w;*xydUL>pRV6=5tNIp6_&@Wf|pTX*-y?rnuykHO%1t-a}ZoC#$m*b!=nq_ov`A{vEOp@rasKJZB)+kk_9-FcmzJscOLJD$P*0Nh=OUW1qP(}53)Ae;t2MeU)G$WXFG(V9jPgj3X1 zsJx)2#PVu>&8LsRh@OZ~r<*JQbs8U4pO3yOu`1?NPJQL#XLjj+;^(Q#jbAW?{?6@b z_6K9tu!4IwfB)C6?P%`oY=cV%JGV%{9QuQyzG#eRmwrTI@m6Q>zq3<|(kl6qx_uDi z(_KW@FVLfbTmagT*HuRSAvyF>wNHIUu95F9FQh16d7W#Pm-b*jd58%@H9lG%z4n^~ z9jbTsY()9nRm{QH8)mc*BaH`+6`gwD@xkHMULzxK?UJne;o z-O*TLG*bjcU4K4!PZJtG80<(SafxUVA=L1pRqGQ76q$xE61KNm#5G1(Rg_x3t|K#8 z1eQ3U+snbvC8mN|F8EbqzU$#wO1dR)DWm>8^JAXz2i3|!nDf>wP;%<8rHLSwL1d;v zMGSblKsq~`jK@lXFWMho%02kG`on>B@bSt=sKXfMW$@o!%BVkw|87VRzCQdf4DZYT zoFWcBwSN514_^ZRa|(kb-JXa43Rdn9NMm&nQAX6=^Sn8xrKE7gaAdmdv=d zUOX8=ZeB`{%PYpa4R3aigDz8}gru<4gvyf|1@1_V7yp+^{-s3-_iAJKmN*#v%L*Fx z{SlJYbUn8099Mu#9c@|N4 zrKs@e8Hk%O`zp}5O1p@iXQMYuSGsCEl&EwSxHEi;>5rXiF3HtdP$w>BNd&kON|{mg zeFRdxUt)glw|H1<;p&gc8<$zr)q%97h3kNaQ|XDN;^af=ekIJ2Wq1#}46cd^elnbo z{q9SS$&D)BlalihR#a%4cHG3fUfz4d>*GW+mgtXXj2ynVi>fda`O+b(O4O5kZKvK4_nbrvoS4HqOfMWrw@)vIk3~05>3-CrJt}UAZ)fx96&z zopGG}pg6kKIQ+73Y2X6J7C4WBtF)(y9ZCd_oxrZ?FnlE9fdzbhsxH=m1lmlU8ot5~ zj%3LO24}@bzqXRkS!{J88j;nP#+L9P2$bn`9S)y#p-g6`M#&$1xt!l`(5UT`aI5ShKWt2Y;>b ze5vDBRv&2a2)wsk+{91-hoe+xz&@PNN5TJ?Ow}V2HOia6wxZ7mrhaXuLa9pj@)T4{C$F2NdtB;id-R2~ZdS z%Q_1~ga?rq{a93H*GUrXpyQ44OHhSEV)YD`GzPgPS4&EZBL95_!5Ga@YiP|j)$ zq~ob{ES|OqCl*x6H@>GB7K^;QTDf16M$xys5@zL4B$G+bqd*P4#up^kKQShIlqP$j>OQN!*sP66h=J0 zbg48d0O91vC@VK#=~)CEr#R@^ITE5vOX_Suc%JfnEYy$@gI)FuUJ~9MH5JeHIJ{(c&kBg?oW}Sy-s-0#ZfXMs;G|754v^973 zl-#VT+U-)uJ@D zm=v5gvZ+*nJq85+{&I?uLjkJsk(-DvK4y%8RmrqRHS5huA#l_^nR;Z1wVfxCF%f?b zs`aJ+#zbk0P5-jS%2Uw$lI?G(wQyR2N=CC4~Dwq!_g5e6;nHvpMz34oWJVA zXnLf1U;tLQ7l`shAd#!5|H;h;ohc-p z6KL*5E&49NbGSl5rL0{%L>k0?rssVQ3jtlgyDpwJBnW{Rk{Q@J!`dsDZ`2F5E)Nap zjp~*$SE8uO-@muMp5#Y}aAloZTy%KI&@LxBhPi-^hXN!C+#PDvvzq`ZAI<>O3{jrN zZdZ4-t@_<@I#z?(k+%*Ov#u1*x#g+QWUh*6qfc2o6&@7w%Yw_V7Z(TATgHOo%0MNF zs^2~;hDbaOXK3DukSm_j_r(&!JFqR(&pWsHO>&vLZ%ZTBXahSJgDF0fmZ43&rC3fQ z?uOVQ6@7sdeLP!q6<<y`V7oDU9+k!$i3ZB3;i{q5e2_?+1eaD!j-%4r^Kxo9v?R>#gN0Bmzm!xM@O<2yH&F`rr_nP; zd%Pd<673I|>novu^acThWJ(p0<`)z-F>FJ0B;&haccfm70)uNl2|!bXic|d}Myu9$ z9a_4jOu1Lr{<6UXL{%ieCH}lYl4oTtrXar)&2q!WT)4Z&3qABWTUgWbjf2!<+u zWc##VVC+2iA>4hMZK0-;$*V6=fk58lCM zFc&SX+pqy=a5rq=af)6uV|5V%+&;~ffPo@sQI<04y&Asz?PW z#PFy9QEsC{I2BCcspBoFF~oUkrI)P3Wa6vJfuB$u)MS0Vh%1Ig&qA>dAUv@QS`N<+ zMqJZF89UO^zLwDf;SODVqY@;*hQ*eX&oi1UmB*VKUqN5Xx^#48u%TDPRKej9M91m{ zapE~6(3iQ31M-JDo*^HxJ1>ZLz2M4Ue_L!vT-MBZRaCtd8HStLknk?ym~03Fy|Q*~ zOOW?b7YEcbS)8s`%hTZUMdb7b4+!Y;77Ch8eLqP`wJdx+DWnXUbaZKanywQomEXrqkYmBrHb)PbC2 zLEo-$Bkwz;<74!*QhNJA@yH-YCKvT4X!5xP`>nG6L<0|uv21_FSv&*u5}AKVo_zQo z3!#&n(eTfMZyUVQc%ugO^D`fPSKVE=sb#tL6QV$M2Drt~UT`5CjJPKso`UTC$YMk1 z@mXS!irLzM$DtrPXcb_0SMAvZAIa!YU|maO&AL|db<5r!F&&YM9U zW}uT=$kHAce|^oZf~K~)Spp78eM$|m<%Kol#Ew+57ydiGb?d1{)W6p=uUz05ujg;xniEDOhHEv?-C|pew%BQ6r>7Nq zX2E+0W4f=UeL;5;U2lsIUe4sexsoJYQnw8?rCy?-JlwTMmf{kF2Fb{eyPKT+)21RBJHGzl9kCVSI(SQlB-2CD}F%^LDcnXLS6D)kVOv^Uo?ol0kUTlknBgNQyGXEBb#w{-lf`6 z`olAxeO0+LO7m^N5bh2Xk7YTyO5P82#&2qPIF-c9YnP%z15jNwh<$#s*(&vv8lMu5 z;o+~bE(+h`^Wy1b9Pt5Bg_wQ(cNd&dukt;0QyV*pr93sz6ri70s`e`z=Q{{Z9^#rG zY2Im0?r6cmo)Jv!a;YSzh1`u8xl-5V`}7P!bo1V5JmxG}48`oy!5(1dBW%KEI4DqI zkDx5H;F1jcNW2Ty&H!LWWqbh9SmrUkQsKSDdXsfE>bnmAH>_N4tyYYd-|Ww}d<_ma zbfiPb$)w=2S!34#{ z3-(M54u8L1mx9?Ed&7_P6*%olYRFX`Z8v^Ow74tJ}~`lvm4Rmng#dD|;m z(ziXPuMVWKvzRv+4vJ8F27ZHtUperx^5C;&)}Jl2{!E$mXUeRfd!Y>e43t@atQ7cQ z$Q&CK!YH`ha3O3PZ%-ib5hVu&pwanae0a;((i?{MfxM-JY|-CBk`}F z&+-Ep^8Q>avHkrlKL91LU+p8bQ)T7z$qy?kAuK{oW$H%VN`&PBS0)Y*du6J!I;lRP zk41f~lBLQe+VTi`UPKGYYeMu_XoZ8mo&li$5y{O>tCoLXdc_zjx6UH;mR)HfdZm1Y zYCQBB>OqX}0`!$qhcjA)z9`V2Qt=4EFNm0|l<6ykUlAQttb8#YR;+w69agM-tcVWd z@;Un7B_=*v-|3NJ?MwO1TSuYxrT#R#Q5rYSP%74bDRns1$oZ&%Jj9CViul-`H|AI{yr$6Ys zkekx3C`iA5`}?JnD{iksom_Ey73$=Q+pAC~SKMBnjg4XwTXB2EHZqDeENzI2+plm= zsJOif=Y)#et8h*z*j^bMCna_t@5kg_Kl--kzi}~r?fGv^OkaEc8ynNso|Y5$M#mJl z=WGmVJ$j(pJ0SdY=sPg{bT+oMEj_LLG}=2L{B+toF#IgK@i)ceq3Fh8sqN9Z4aX}A zPrc;N1D7x3Xfhni@I)Dv`mqeKBZ~6bqp5e-U8Zy|?KTv3+JZh?PpCcA|^+|sFp^lK9neFTx8;Pm9Vxi@H4XYgv3Tww*> zf$HHpAZzp4inHPFftOWq=&&MG3IJ!1x5OxXp|C zxDPPH_2#Y@DF^Wkq#Mf^2+1NqkH^DE+yV1^Jw$sfUhy!;U*3iHQ@4T3+2V~p^# z!pF?y9!YvXdv&eh0HV~rB&2ILcDEul#D(3>U6$;1^4ODuol03&4M_-vqK4nyI0=vb z-4I|2lH(LPCg_9#I)Ruv0#uA$t`~wXCKdt|$cbmp1-^VPjN~yQbxbjV6a|GmY&LY4 zNZF!N(3~7>n}zo%C^kmhW*sa-h`5B^;s?9MfR$)lq+iCh&pJI#xSpg|qeGd%#L-4B zpmB^a%F-^ij`|Zxvgm|_a~yRYK*?)9z=fdaZm(OzKa<^swSOi%?CU2E>!F|6cT?$0 zp8+{KSXi(rxJZrXgtYbfa^9Bv3NDReAX-u z;6Gzfs0Yy%B6bS~m*Lb5-l!*#PkGLL^E4DG-$_w2#{4BGUG4qjyzci;%{f1)T!NJ^ zugkYp)!&8V73AmY@)`{*mti_p8coB+QH)!0_KxeNGLE~mb8y#egkZ$3qA1=#o^TsS z7K?Cum>JDXfAp32F^hOWl-I`?z>$q3`i>ouDdY0dgScMDKWdu8R`yEbw*aoQf{H(y z_J*F`#er7*&#eM^o#T(Wz}Ssqk0+d9D?JMmJt07(Q>hyz>CY^fsSi)9Ln`W9vWjCm z=#wzqE!rO%VTCD7TRf8qwVo#(!ab)~*|~lUUd|~YAM9%#p$LlMKo~t>=Iek7bZu8y zA8)mU|Fo2yDdwMU6BwO?egPx-_*Wr5P7gjB6LD!-8GTClsLo{ec*lpz%#koE={cQK z!U$pU^PrnMYSfSu-<|*%0wW$SBE%qLAqSlyBP_TFj^8Wu>3+qmvzm2mpV=m5?w4N)WyLVpcTfieQzWh9-K{5IJDuN5`l-M@~ml;>;OG!|c!K z5%P4v=_{%qWT=xVpz)yXKPGYi`fmE{2RY51+psV0?t zs>Lf6BoEpOpJMxxIhJpXq0xNv(M!ocDUyEL%gee0EPqmGnHHK44_`w4LtssLpI{W8`gFXi}D`c2cr>t(lM_7O9worQijr*}bo zj^fJ&@t?~fCpb&a>wX@XdMCwioye*%XBsh^qV^Ju4xRSYQprwNRkD zoJG(}D8I~!{EHf24N{h@Ql}GrFQvRP&+|>j)b#>6y~q~l`joZl$ZJ6woO+}r2#F-x zMYIEN&nuY~+@Ffgz=RM@UiReJWL^OOv944PGqYUdohQcv#)X4| zdo%T*mS3Mvck`QR5i(hT=?2t6#Cb7g5Isu&3PRfWZHdsp;_6JX!!L&(ONS5<6g9W^ zxvCr`EVuoIJb7>b5#xXA$B&-@QNmz42=u8OLisdmjzo?n(pd`Qh8_t}2bg_`5M;E2 zACF0?8zo!96$!;ikuPO@-P%-?D8Qaf_ufth_<5S zrzBxp$n&A#L8$eB?f1EiwF73V@&I=F`~cD`r>9)oroaRsI;BJ_T<9kHTUfr?t4E3+ zISc8T-u1xm9ONq}CEw6FhFYE``&jZR-xdMQi3$%f$n-XxW`M$1415!1!F}glqi2Q{ z{PrJ~`#;n3z|N*V`@U%TKuav_i|Tb~iVf)jaU-^?sL zdiTdf&oz)dq03FWMO z1w};9)Z4#BCLT1X_NHHw@s}%o1qLD0;*rkM2j9UWFJ->m@`?^z4us?!EcEbtzo5Q% zNboEbTtncXqDR>S;@cy0{u=S1!e8p6LerL)3OD`-gMB$wBSq*}h$yd%5!+OFv60iW z?}Wt`muI$lN%vQ$gb~!gOc`?_Nxt+$SSU5KCpYs!TAC~f$nkK1lBa%t5(7;7;+tjM8T*heqPJX#(b~jm*sHwhu9QJR~_v zJ&#FqklP5{Ol-{d?64*NO8>{=EMAT07(i zF=dvZ*lzIq<5}DizH)yv58ly{k)a6#@tok-Oj6$6Afew6c>lYkbJ|Q_Rw^Xl&Y%^P z=I9hJKn_E>uarFULq&^ERYSgwBd>Ad$ZI<;>%bK*2ujW!s{Gjfzs)I3%gtbPNZk3s z)p&$Y)T(yF=|Efruae7sc2z2o(Cs5rQh*-uE_+@3-PC1;6I4TJqq1``h_*kH7>^G* z7j)_P`*iSYbht)@=%>RdPQZT3q9-RaOPlyH0gGJmD6(1l41H5N{eX0Oa4Ps`u*=bZ zJ5s6G+ITcOiqQYPDcnfekK471bq&{~q*#4>OR46>g^S8IaLdCwzt&l_iD0~=aetYY zyNMS#_^aAi-$ICGK?ezutvE_|{v@&!9q}>TLM0E?B3^xK0$b_He%ui(Po&`tCoTs` zB9J~ORVZfzlEDa;*)MLJ!i5Eyo%-e{TnSJuQk-*SIO} zdnj=I5}mM$;Gz!3o`A$}e2I&*F6^jZ_V}wGpa1ydkBfM_D?Zm3it9t~458{^i4;gXH?vPvLF~)USjCY${kkPj`9i zaW2tu*j>0j4k{a5?WUXOh<2L3lsyrwb0D0)f+mvq`sQbg5zKW6}P|$U*Ok4g~}K`BwrqhzIOGGsz569Y3eDVG|G~J|10Ck zwcjVVKV5rZe%&U9V!@)KmyD&O&#B49flz3whMUG&jMY3tPIRRFtM_k2UlreCQDfQB zK1y|v?s~b6XVJ;#&?_>S^A;#+By;HlF^shgyv)Y4*yd>{GAd~UNc4xCR@DqACp`BA zT3VgN$Z|)zs9E$kJV+{1++~h=3{sxQg+?=M=mvzvA#)knY#f0tl)@#QQACcZUMLM9 zvS#RiHc^DNBQNp>y9_LJC6bFdEeWe!`dYoriP|z$gl{!e2bgIsQQ*;PLDyAF23EPP#FPb4UrO; zx!T^6_O_T5^Smu*L;7Xi-(u8hD-8s@hixUww|Jde3ZzuzmT(J%OD$uUZ+bPe=g)MS0*5C40+FeTuosje{(1orp*Y>V_wCgFOprItkua4flp?Pzp zt*8AW+LXknGQSYf;bt7}YJ?t*h+wmeC=6*t#+Zfcz`_8%zE32_A{kslACDm1t%zpp zBq8Q4;0T{s2AgtAqu6n;UdVyDDG{H6(PTdd%I5gLNs2ODOX(Sgmr-&>wIa!BpTKhJ zEe9tmFXGd3ll1s<+h5S*BUcx>HDb{rQmle}7L6WSP{JPd=YB_YU=-lXO#hkdL6g&^ zb#7^;%kNqDQgK@6wU=3c>hbC}BxQFN9i+acjQ(@yyN6@t6Be60rA$`PuX;b2{V~OS zBLe&Q`(U!^#(%utm`;wHDzSsa${c?HH68m=daQ{6dL`~jsY6@}x#`0%S6iRs?7kJ- zIFm=s7|WO2_!8?uZDP6gWaY~O7DjUe#u#+2)c^q9!_Kn^n67;_C31(&4$pk;%vNj7 zEX(@YtXIzLnrY8G9=|W2Gvm-DhkWVK`ok3PXc9h^(q<(XF_wAAW))EJmqz(DfYvvnHo2DJ8tL^Fx{2Sh z)5bGdoaFZH`i)1qCGEQzO~Zrgkwc1piZ{>a$m)Y8F1{k6?y$_|^4KA^pYleW|ole@_Q~e#)=Xj`H9aSy?+!U;&(84vAL!cAb!c=nn;OQIHvJKiM{CCFmJ1@i z>$}@})<-t>_H4pEOilu>W@_$S*U_dB>KjV+@8prXAP}M}HG;I@bW+2CAS1mgxigvC zm0X7LIyy3vO5=D#Kn+b?m?YI!09Qf{reY}J2k(H9S36fr_fzo=AL=#_QZ|G^vAaG9 zrka5GA{4BhfjZp=q8_mXHy@EJ*4v_0L!b64+@<(ZM?>k!ue^fml?QA<7m$BrUNwH2 zav|$$&ee84rymqnj&9>$B3bmT_|5YLGzh^iz_69Nw0LLvQfwhUH-y|3?#B`Lqmy?OuRLbMxqBBC6Zi& z#=phH-sDBgSkF+RA2SuRv2c62EwzkEwASG8LkzU?6*cPIl-VfNJ@KpyS200LymI)T7~Y}B0``u0R8t!4a#$8a z88Kpl73!hPV00vo>wo&wN*BqS<>V=uY959(Ci#ja{Zy;_ILS1LLo_^=HH?3Wq&|UD zxbEJ;csfq6#Ycx?fxdVEH>3^4;mZm{WQ*BU0D=ge6%WLPG!nx%8G0=fzjQQChkhJ2 zWo=9jO$7Q!(_`^WU{@kLNKzNyf!o&lQ@AsXZWTiYw()RCOsU62GSDB*!~>}TGNxz< z1~MeEqJL!y)O941932{BCg6;Z1YNi!JTMg9kqJP}Rr7(LU}zyR$kHoaQBtKiNL0NDH=+fdTeE0?k&;4A5~@0r)0R7F z7WyZ^hmn?H)=DSF)opc&Ody%c8rw#_jlkTtL&g#f4jAV z*uT_@sLvepG=iLShe|+MA13<8HpCIBb!4Jiw6_Q|gWoR*!y;8uAn6*vbhfL=*wysZ z*GC#aH`!6AjFyIkB2{5zr}L(zUr zdFD(*ZG)qzMsd@im+&EyD?x`5^T$ckD=IS#DTfz+f#Ff;V(8^m4EAF(#)Ez+nkG$}#ncp7E=v}wAMZ{q z@qQ;9;0qfa`Qxt0*L&QBvL8uE%9+o3eZHLH*9{HDhgvX+P8h3maXw)60OoKE2YKGe!omm!A z=FI;jXMOSPu6P`>#S*uQDUZa)m&Ovq(hdq)^z6bBQ)-^+HRzdM%P6|sC@MN25}PpE zb*hrx!+1Hzcw-Yv0}+#Xtt8hy=DJC(foRb~b1*H09NI+B$H>O1ua9hqB;&gxIEOqO zPi8ZbXf`sChG}Bu&+o&DaJ-*XqAn5LF_h|y4n+nhGUy_l`^d<2ZvxICBc#S?OfLT{ zL>-7F(6pjgeQW(EB_5;0nWV*Z<$ZR|FW$kR7do0AWI6{ia4P&W$i6L!0iPONPEFL zyt?NuM0@I7J5GA%XQ&cf`Msa~b=pUNzNGD=e_zt}4gTZg*-Og*m!y4z|K+p~H}Yiv z*b*E}7pgUpiHs%_bnCSc(81_fT&NJCsj(X4j6U4hOFzV3U8Vb!)NBf>eOPS|SdbwE z*oXymPGB$|g*hp(v8=Z75$twgQ?Z3EU+rvF>2e=2K-!dRl#BAS1cGP55Qt$#nF$Oh z;0Kf3p~|&kjSicVm1JgdATAyy3uLmfO@M&#W4Nd|W(|*KbCq8oh%FXS8c$|0zX^FRT#kqlaGjevI+Qr@29Xp=iD!clpfI+IgoQ-tQW?dE zHQ415FiM(sq_9#9L^J(B5CSPzD4mR{8&Rq&HJYVFu7c|9q^+O^#xE>(tOP>2e5F2< z@R~t#P#Fbz-%5!+2Dd^M7CbG(Ml%?4yk%C6eX%H8MZ@voRC*$Sg-)s;Zx&KXGI3ht z8BoKIatA~;;^qkR)4>N@4bce&N%ZxmQh^L&Ee^@PBjPnUx`g^o?fIzPpiCf!u64;l z3fpm1oy9J8dQ~}sZEJd2X!+83omwBg3iugrHdCv4u8~sD~%Ms zN53W$CYZpd=rctG;#L^blQiIZ!nApWV^;V?sfML9!Z zt9FMiOUU-t#5U4W`TN`ik34#sx1^p*wK#C4?-il^$hW|JDwRGLMSV=Nui+f3Ouz7oiqZqG#nk#1FQPN zCA-cJ2F3&HmkgdAT(~%}ig-HJ;g0BwI$mb4s56<{p-L{0<}%jB(p}tJGL0JXyr7hW7xsZ1ys|3(((6@Pm-O&_xgOk#ROh`+evuP*(uBdXk~6TN zrm-fL(xO5bUMdKs*#G2Ld$i{*9)+0Wkr&eeuj7a5%2D8@yHFJ_de&e|p(~xbWGblP zja#|9R~j|)WxbauPCh5FrnGnplAdnZ33%s2T~pmMMqg~SF7mt`(EGB6pEeK;1~Co>7~B*zV`vG#i!soub?Hh!axfu3uuH>vRy8bqE0vjd4vz z`8ClAZ1_Zz=)pcW(Xz0KlVXHX-c4UFX{v1pDThDx_0D)uOqx3Mec&RgUe5dpzi!PM>6ZB6D!x`EcZ!<|oqot+e*es)*C(U{RcKr@5aTvV^eVuL%H2-Voi% z0=J$wjn<~%%>*{fc3yL_ge= zqA|v=WeicO<2_hAz?5Wy>A4fzUo@vmc@W-g5}v*kL%b}`k)MuKYUk)kFI~@-!5akm zj*)~@Xb(sIn8OeRsSeh9L_mrLJ!-`i>Kymqu<67k@gv_0(L1aKOsOE-$DvT!6{?3_ z^a+d!cq(iIu%rSOsPJN?nUktN#r!^nnCDCdg}TkexlBt%@_$`CyCIR>5FIBHE{G0| zD%T3L@6<4LzQz1Rf0YXM=})DFr=m}N=a>?No4J>}AmZeb*A67JVz}^}?V4YG5z9Lk z6}PlLfYTsx9=nv?^tv$Pvdzdl$0k2pc*9&;D?Um@@X{@g=y->d zLZfK;8w5MM(sYwyyq$JZJZ`^&mr5rJId-}$XY`o>dL#-%%+!^7v7)Ez{NAapQg(@ zg?5=_1-eo+QgQ`^nfPe=U>1lj@%2danzqHB4T&+woNkZyd^f>E8>UP;OCFqwfr$;# zktu1L6p7m4fG``VKyKX$CT_$LjURcBGj6^ZnWF+f1QDwBcz9xn&`=Z}ZKi{^nlGTr7cCSp z@YUwwduE_!d@VjT_=tB0!W1S&0_7ux`eaF%tAHL0(jL7?;+82%kW72) zUN}y2!x?4ImKAZ`aHeNv?9_s6r#xkIhjRam-bcHRH~yj(!H~;YKfk`tb=DV1kwg`) zbEPXg-vI!@4@fhkU%b|`FfFmp5-}ysQkg%hRzlj}gvM__97fYo3{;#mC@TFf;7W&q zw~~V6!3$h?V0fYPj1U*m&Ink}Z?()imW0(%SWbK=e$hnMl8O%uWQuaj0Iif)?kWm$ z$_-kWPj1*eTrz2Om?YGRQ-Q-GtyMIKM5#pv&m8DlR!e3*gt9*@pLTN9k{`CNjC!Ge zNH>;-M9?{x1vwawX1j|C0K-(+^Qvs2E>|!G`&t3z>14`wI+sU)NHPUq(A!l4yg)>u2>vXz?I46Bu_h zfrpcsAjXU+RcDRyVxNra>g9`5afJr^O2V^k~kthJ$P(0x?Kj{<8&M zYrs`3|J3YS^idz1t>rIfwkFtaHT%&<9c*TFOCXeKPWu)B4!JqCi*X`Rw&V1ow>*MR z;%Fl($Pa>wppgrLpcc?w5M)J3wbT`<1p%!~z=aNP7DOf(Dy^PktO+u2;6G)a%|!PN z8wWF~3xK4K5iSnQ&!IaF*z3Scn1; zb<=pKLX;!d&w6DqR*&s;`~hbk^a-a8SY^>hzxX!SURb%w-MkX=upsm-8D;zJ=I#P7 zqzhE)_*#&ogpy=Ir8(SO(($0E3#_REsLAb@>=EQV-2rtfkD=M@JAm1iA4S4GpyIk>D3%qXAcz5R8 z0t=Z~@{7$7r&>*KEHPG?UN4#k{c^`dy~7idA^ujju3@g>mPUQd9&sIAWa$$wT`3MZD z5$y71DOv-&;0t@othYdA%2zhH1P+?wd_Z)Fol=QO;sl1ZVutv4(?0)y#qzzSc3a|~ zH+|}!5pInCDa_>il2zo2mkxEWTcgix4blx~wG@Ys^LTsi>iKQBq^+VLls@_$Lbxv!m^WFH6p;!!K1=7 zP%;S!cUxpuBw_-b!637s~)Pl(dv*f0ZIPq7#y~CT?>_i zdCIRosd|=ooxieqG&?$+baFlUwQF$f*Ua_gFF!Y)b!U6($2Yr7K3oo)aZ z{>#^=3iGEcnjRgBnl-q}2Sb}O@wBHCCrKClKm0%9U(UIz;nX=*jlp>>jriTT@Y&Q*FA~ns_=sLqr(fYJuSTCp->nw;T0Qt!mF?A4>x`{69#=~4OKK!LW`~&5y?7kBYv2UrK zYd=+Yq>Z-hfi1_`A5NTT|7zkC8|~VcyzfjKy4wEj=a<^R!A?H5(*F1}_4c#>2;0EN zPM@^S{?y|0>_0VZw1JyFw(UauGs9c$7p{odz|+3$gFEbdKep3;@xGJ|ob4;0*kym| z53iMdZdrh70A3Af12p$HK2>)e&j;y~9%LS1n1_K|_`yq0;yL5GC+os!GrVcjCg#IQ z4_=CSWD;p_1l)B=nZ`yRMech8M*uVjJ2LN+AV9v51s99{E^k5J)ud=`U zd;|Ek#=a`B-hS+!4a|${p4<#RUTindkJ<0LEdd^->yJ0vU;gS^@aSCRb%F=ygGZadqs`#a zYe3s}?)&sfI{PN60hZ(STiz1>^V7S-RlodH z_?Dx-8h-S#AFzD>Ve50@<(K>`{Ekaz+v~R+ZvXDEqwKf7{y6)&hyKk*S^JZZE#UF_ zzZWjEtA4rM?z*tf{_$N6_ReRT>|ZZywYUDU&3^Rmb#`WFyM5ki=h@@`(_z2j>Q1{l z*k%9l$LHIjfA6t7PTgd$+H-+@=xa9H-~Q7U`+e7LwXZyRn|`Xi z5uSI`|Dx)kJgJGNBWOD~y&emv5y|Mn~G8<)JwUL85b{?Neb_D$=m z?Vj07?7MFc+NYkj(*Ew%_4aMw4ciyZ5PeI$I^&p)_DRooGjHOTUu3_o`eNqA4Lx!D znePuC^z_f2Im15o&YAYj>khGZJvxWw=Q9rg`<8Xb+jFmb70c77 zW}ISwcv-+c`GV8z=;#^t=ihdwJ@}v1EMH&v_+tC}A6sgletV7mv-gMW;I*~(#JbhY zGm*934{08pPWpjQ1K|t&7-!(ccmp5C9e6PQeJ5PQ zH2iAfgG@*Av3r=7KQ(-p>ACEKPcu#EA+{49sF}yKT@yWl>1)5?45kq}n(3rDkZ8T( zjCQ7%<^-boglnQq_ha`AGwmOI8u~!mePj!eO+Y*$8-Z*E;t|;nWJ6GSvMI>6ARdyf zK{f}qLpBK6BE(~|O~^(eo|DZ&whQ$E*)n9)P@j+gJx61XY+jPVZ9g1k9+BQ7*-|ozy)WAT`hWI+f0^*tiNr_J zVbotV9!U;Kca#1iolIkqWOlm77u8K|h_)VJT|_t#E`$@|MmUy36X7~N_4@PBi`z@h z)Bjt2H9b5%80SB)oJ`;IbV-1_UYeiD7N)rx^9Sn++Do80oNQm3&uMRn=Jprw`vco4 zGzZa~Pjd{7ahgMD&Y(Gh>;jqt$VMO?@9bxlCL<0%-FW{0PY0F*_wU(r&L{4^yWzd> zIic~#Kib^*wzs~u@vb}XY@~Nmzx(ZP8{c@%A>ntw>$vcTZ#y&mnR`}-AN<+7=z1_ta)F1f@`CX;qLowmou z#_Y>3yUf1wO0@@5uFSrC;4i=Ya(jGy+|FjR_Q=SHJv20A4-O96u~^LBzJ0s>n%BI> z-n@CU-P_x1cXf5y9UUF^`t|GW*49?Lsj10sXlStO>gw#;+FBduTkOS)7u#?ivClZ; z3_B1A*e9KIl6}GnC)mdvbBsNI{(O7hym|JVIdkk;vu43gu;~An^z*t&>zsF7e|^K7 z-!!N38(&}Fc=a3J(D+}s-rD%puY9HPf1i4)@%2|#g>Ss!=ky zzW@I4H^1?X@FU;*Uic?J{&DyhKmU37H^2UM_>a#$7ykR-{uZ7wV}?C@_H6sG!w$2L zIN}KVsH2Xuk3IHS`&F-cm3{KbC)=lvBF-xdbQoy z*l0I5H`{n`Znw9$+Z#4)u+KkV>_czavc=xEZJQm9M(ub!ZYL56dw6)*zVy;d?a|Ru zdtze3zT%4V*M*MWetC=m;sNo3ctX4(9ucpIXT&?=A@P#dKg3(&G4YysPQ0f+puV6! zp}wI$qQ0U&qrRg)q`ss+rM{&;roN^=r@ki{AXy-pAlV=pAz2}rA=x1rB3UAtBH1Dt zBUvMvBiSPvBv~YxB-tbxC0QkzCD|nzCRrw#CfOz#Cs`+%C)s~V2cKx1bph!F(hZ~| zNLP@~Al*Sagmek%6w)oEV@TJK&LQ1HI*4=;=_Jxkq@zezkO%CmgZWTb7}6SIhf{R znv-d6ra7ACYMQfY?xs1M=5m_TX>O-Ep5}U*^J(rU8-Q#9vI)pGARB>f1+p2)b|4#q zYzeX{$hIIGgKQ15Imq@P8-#2TvPsA`AsdBk6|z~#b|D*vY#Fj?$hILHhio0PdC2xT z2;~3&X%w`7QwGPn;rECmdfhlAwPvCn=c)TCssdavy{@+2XT$f&?Omz;rE#0i$jH!y za=q}a)u=@}PoZb1d7#C<%ebC|u*@lJ`uUC}aQy^a3pHKJcc;GI^!=!>r{mk?< z^?Ll#vK;=1Tu<5cIJ9D=Xhp!Q4)GMqz}L24-fG36sQIK1u3W6!gh;~h_Yyz(m}TL1 zbIYjat!ndnk}c9vTAX@PPju>OJfX6fJ2*!*?wp+ULb4bF_CQcAE zu*lJkM4GM-^lTcbh`WjLF2P?{beqM2mAP!*G$N?V=$pc)vV9TSib*WgHm>+|m@3`_#X%(}>Z2nBCcYKRqvn`_aX~4_Xq+Wxn9oG$N`*0eQ8^@qIHklq5EAU1ucCtx z#tEhzQD7oX`u0~Iazl+377DlzI~^lgZsJ4y_Ejc^s4H@bSg8`6&ciQRAK11Dv1gcR zlmx!WFR;bbKxX?D^24Kjd_^;_?%@bf(Y{P|jAk-#lI+XIzEZ zSb#7CT+}V#W$&L#(Kw8lE5=ta=g}5f44H#4zQt%MCgG-h z@4r6t%m9UT8qWb{`};S(LiT3I^6Cct@g_i}zw3~%92qXve zr%L~GemlPegn%_6O$c|ou1+P(R-6)MZM~1yJt{sYJxb|oe^C7c@tOMrdTu$y`S+38 zADP{bfAoFdtovr2h=1z)e`a1kQ~g%ol=hdZzf^S`-f{SE=Kf~xv4s8ybFZFznfyn;Dg6yI-Y{dYCH~QGl}~vppVA4Q{wY{hw}OBAF!#UC!`%P+=X~za z&mBrwnBVkU{rmmlzd!urRZFXSEcZXvg8H_s2j)I7_XkD(DH!@bZ^n5uhJ60zOE+N& zW`VW9dg0Hx|5Q4C)91&3_y3nKj|*AYJvz>ke?^M=OUGnp$_II5hULmHP35aHB*Q9g zy6XEemV1Lw@7s6C3;Xt6`Ru-Zvre(BJJ8ru`2Pzp?%VgweATk}E*Jj2hgjCSMfC6@K7GxFzGQr^UmYBt-W=g{ijI4(eI8AC)RoZX6~cl3q&cBIu=L~D7CZ~nLj zph}F7A3W+T2Y%dzfKfO7^r?S5ga-2B6U@P%>(7VK@=y*up|fJ;3jY@T;DJtl_~kkE zGd}qWEcb&i(0~trLg-(8PS(TD9Dahr4ra!*aC-BpKh1nEe?kAa3&0~FUUlEGB ziSJtiyf{1#+Doh-(Sb{;KUgCX!n#ZpC|p0o1D0qg1-_1|Uxy*62`*f}1Fr}!6 zgfF#z;!j7kuPpu$d|CC6j+IwG;7hF^xRk{o1z&RgqhsaOFX7$whqi3G0P(RiBUBeW zdsK}7jzmox{V!#i1e)c!Fnq8K_)wYk6MSy{wI=?}ARs>ljDInBqlKdI9tui=_tqa2 z`1`TnV7;SH^1_Eq);sXajrw!g<8FcRF97dtf#IdtWK*&oxBM8?D)|v&<^%8FzlG~} zp;QDPsy`QA@H3Q6`HR0f1i1d9@D9nv;e)OrP#9haTj}^H_)_r^?9ZuR$b;Zdj{Fd` zQ-bj?0bXHL3cSgoV(^M$rL;nUE3G>3*ESIxfWZ4rASSi?n0{_~XA z?;re@bPY%hyWN)feGaqv8BOv0l+zw8(EXr`yHgP7 z{59LmX%C{3O`*~Kl$U%LcIx(~OMV6#_{FIj6w}lm>4WvOPVqW;Ok;au{1?u*ggTD~n1ZVbpcvvgMorJWu0 zO$|Aznbbg*6$WrorM4{$oE`AXKy`VuLda?`N(Gm$7yz#O;djhV$GZk`n^aeJD+qyW z4k0Dn;9$ih;f`Ysrpa!hykK1o#iMi*;3W+IV27%T_+yqo8(|?8kBGCbXYjNk5L#3n z3^X(Z#wRX|WCjxhj_Xk(M>xy^&u0 z=xM*GjYLBF122Pm94#ExlBe0caY#9&r@EsLxAMujpB(B_{;s7Os{Jz9Wm(_pSHo~B zn5QdNDEm~2z@hBf<}O3!Wc4|@GF`+qRd}K$jSl?e3dJYQk9W0$gqsOG;)>T#G!?Fc z=<;I+(|eip1tecTNVD*wyKJd;;ajd#9Xy@-bU^J)v3f-9ieI&awZuvMHh4;SY5g^| z`VzJSEn*7HM{0g$d(1T{RH8MNIp&>i+3%l}cgN@$t3fP;j3<4OwQ|&A7&w;-PgC_o zCW6$% zO=o+wzBy3xO!Tq+SY&&{p;z@E>qq=4v(KExzI&5H%ZJinrb|HO`$tM29VmW6ofny3 zrkFnU9>p_Uo&K8I_Vjy8?}(VD{v-JWPYcY~Q%j#}FGpT@tCEnRmwIxtrk~}{)U2+i ztAF%(_HI{9Q~xM?Du-XXJ*6+exc%F%P^Ogsewx`oeNO-M?RWnu{M|DZzoIz^=PNZn zi|po3+k8oLiSLA|PZ5jr7ufq-VEv+WOOZ?Nj*mfTPdU zcwzg1*s~u7g0a3)9Cp(p?RHudd6pXI2N>7q~Rubk06 zeeyx;OKSE&=}Y2)ao1a{eQtO%b|Dw z-urv#U0C7!n&D`+e-LvVU2kX{76;qJ+Zy(mV4$AC=tv1sgcvVT)-6z-qr-hTJB>&% z>I!QLdXq?wjAjD~+=+@?4dtsYom_Fu>QSjgE-l3NsuCU!o6$3vjC^j!PHCjf*%Jo*K<& z5;1YtA`yjqf1{b5IzS8u3lMJx&gM5HoT~!GIH3g24q0F%GoLA03rd{*LU)t}xU`tp zu=3TI*ykqCAka%&-uNkQ%yj=o3q}`}(;ml&nPM!+|7t}`NAr5=#<-|67>cax*tn*- z*~Vau3ECm&oDA3mV?W~@0F%S}{qL=+uI}yG9f`&7ecyZY?SE&wy6T2= z&pr3tbIv`ryxds6bl2tPOAfhk+TXlzk=MN~&mCFk$j2yZEgckoU7!N5Sl>9Yx_R)@ zUBQWC{!NEBj#UpGJy_j&$tP^d9H_bU@`a6ks~B4scxxstsJ1R&CPvf7hO5?{*LUev zwkPwe2lv)bp2+)v+cS;7+gW|%^ttqsls@!Ot@;+*L(i{x_`@&Td5dmCeZ`he?doOY zq!oE*OxlQ1DhJXSUV_(>m%kgoEiZt-h}VY8$;~&#cjL+>c>1%X>e#`vs`vKEpS=fH z4{YSJN99cN^HeUFpt_#Res)gZv(J>NL_dw6$NB3FrKYnaYpMM`mcQ*WtBB594jnmp z{3mgkX_7B%CZ@^cMv@ID+v+V=N)^P5ky1ONACh1+i^kg{aqtL^4)a<^UXEDZ{ zT$U$A<6M@fh2>n9x6>)NQ-0ZGVLO-Y(?WSJ%hSSoF3a2L6h1Tk3JdcNMc|IhJ16}e zwNHw{w@$xNc{>%+JMHgIMf6U~+v)g@?U!V-$@ePPV4AtmF;1&#XTa=1DC|7hi70b> z_Frz{QIS|duF>zg)#DpzM0O9c+Zc%UZz$t4%D=r>@Q0mN63R3`XKU}c!FzG z)>gFNW_!46TG540bUR3r9+GQCoRPDp%BvmyZAeTqW}P(S<5&;Ioh|BrexB^x)}FBj zoUL7Xdk$@^Z>}DmJ9zTg+4j{YfGlH>)5h}*TgNG*DYhCriI|OB_WQK*NBn)d-5h2< ze0+2NVN9zUjN38B{}bbLdb`gsNcs4zO>E)WlBX^Y(aene@>z^4C9F2+5A6#!?C#|H>YA#12@W` zewrmK4cXLPEzYsp?^EmjxO;3y_Y~!|?e>Jo&S|l&)XtbDo921@Qx?mFe|hyJ>3~-c zyBo(2ZydDZKVv(_NRR71Mce&6LAeI?4w$i=gZAzxTx+ktmhbevKIcFD{VA}*^*M*c$F5~JtLXF0H%@lRoTxfa zj)zMwUf(=)oCMS+X?8vjl?B@z2(qcE&9R~L?8&N2<+HGVn&Vsc&&%zj=jp-Q=?A$D zk6w2EMLCO@zL@r|o>*0uZspNl=Wo;R(+Yj~j(jWX<863!$L-107SeLdM80`=zY=yI zIehRI{LDuWZXDXcgSalnajrUPIEEG2x}cBKA@xnu%nplMn10eJF*`k%MSe{d5{}Q+ z<8Zm*FSq9R)ECY1vpmPR?ilqj8+hdrFS4lheXk$cIPM%ia>6;VdgF$3f_si0J8~3% zxvCPGNBYd9{&3aF+oe9_@^z#y%A4TxmXJKP#1v&D>qenHJJK|#E_vy~GTy(v$2M?r zjIT%b?L||XlX|qxTAD3a_IKV;Q+k1Z6a783)BaArk0@Vz?f&d^W$<z6qiZO#DejI^#K-Q`xLT8grB%*a)Am0W7g%$U#^LW>S;?7g1s|0j+dJ8##84k0%> zMoqtto-k|e(G$BYpK)sZ*eZ8vozeHEJpHX|4;&}FWg}C3ZXEk`;=tzK>kn@nKW-+qA7VrE#));Eq_eDs9j=;h_Z zCl4OfcZ3lg$`uKeXlBGV5h=S0s@RO>i?lJ-^_xYV!l!E-ZQag4$XmA31{}5%P;G6&e*`q#~PT{o66rRFS08k63&~yQNLI% zrYsI)Vzwa3+h2O>HE;RseXlJowXc2r-#qo&mptyJ*WUB~AHMcCpYi2uH=cCg-Ak7^ zyFc{aOLrgHJHPwg{}AnddUxOMl~>)g``@1Q)4LPrDZ5Yo+0%DF`pW0+{?toeynF5k z|8(~^AM=XcN8h=%`ycP~*4=NNeedo=s~_2Y(XmhMzTt*{-2L>W|J?n>tG>kkb7uAz zK6Fnq4{P5Y|{fVn)zxjx(XK&?wo-e+9&+KC#v@m2z&VJ90 zv;SPWY1Z4gc{V(H%j~E3KYI3G-N(!hf8epR5B}(5XRmnTPtHE^0gs#g`m-K4`@Fk8 zes-|(_}PcO`0=y%|H$KK@A8GmYtL?e>$9%wd)=q|^_-qpIVw-(s(jU>`c$v#S3A@m zwM*?&JJnvbTkTgr)F1Ur{Zl{HU-eu47ac?o(M9wTokTCuP4p8TMNiRH^c9^&Z_!=! z*EncAG%gw+jg!VpSC!ih55`|0&vWiuRnMU8iW@DcX68_MW2Mr)d8v`f-Z>oT6W+=-(;& zd5UVc==T==-+~TX&|?d_Y(bwb=(GjBwxHV<^xJ}tThMb0x^6+=E$F-jy|ptDD=k&bFQF$s?<*Odmr+QVt+M)KSU231&srIVfYQOrS z{-|H-pZcl(s^99r=pcHCE~1a1ujnj#i|(So#zEtuanbl_oHSk< zH;tdhQRAs`)%a?hHQpL`jlcLn{2;y%e~3@SFX9{VkN8OZB)$@ViOP zz7&6oPsOj|Tk)^>n0lY^|K;=ljC_XHGdF(c%*>zOd1mGmcpdmE_zL(U_!4+6coTRt zcmsGZcr|zrcoldfcnSD3@KW$H@aN#=;4i={z+Zw_g4cjs!AHS|!NP z;D^8u0|)#F_)+j<;KAU>!B2pPfb+ol-~#Yaa3Qz|TnrutE&-Q755Zr8-vX}y zF9LrAo&}x_o&%l>egpg_cpi8@cma4J_-*hz;C0{>cs=-C@VDT7yr1X&-~-@;;6vcU z;IF_(z(>Kyz+Z#E0UrmS0G|Y(0)GoW4gL=NJ@{YXAHZk8KZ1V({|x?=x*iN(0^R~# z=>Il;KO9^Et^`+sM}S9ytHCwkTCf|;g6qH@FbC$r0$2nkPzDuH1vTJ;I`BXP{26#T zcqw=@_^*4;%zPGn4tyT`H~0ehBKQ*cGWZJkD)<`sI`{_oCYa$}PImxz1a|^=26q8> z1$P5?2loK?1or~>2KNE?1>XVg2V&3$9gu)7=z%^MfFW1{%U}hpf;F%gtb+}(59|jA zz$SPUxE>q?hrnTQ1RMo=|I{&X9Gn2TJ!9|YvAqX3MrMpcp!AqO$>`bW^}LPLp8l|J z;T)N0#;gyc@-dqp42~S+*zw36X-YAED!q!;7E1YIbwdZ!1c}l7XVi(z1*ZMU z0#MJgJ3&(a*FS^z-z(l!0W*qz#GAvz?;Eaz?tO97w^IR0bd4R0bd1Q178Q<0N(^N zlyL`eM{p-_XK)vAS8z9QcW@7IPjD}AZ*U)QU+^8^eqd6bNS;fc^!aW8hF}RSgB7p} z*1%q{4mQ9(upb-%o8VF4dTl9? zMc}uUU_yh2V;E%u`gFgX(3SI)<06q!c2omtN`&s$(oO|*-_#^Oq z@W3Z4dj8T<#4|p$lA9z3b0QeyI5cn|oEASEUQSdSF z*Who!$H6DScKm-nZMXnD6kG@{0vCgaflI)pU>CRyTn-)%t^ikptH2|`Bf-_+8gMPx z4Q9c0U=NrBr}01Z|G$C%?*K2{5%9{(nLC5K0A7VTb2osPnSpc?|5BkOR%Y%4?hEuf zOu8_`G@kh`aDVXK;CsOLf(L-_0}lk>54Pj~4Zhn4_Jadp6FdrB4-SGu;4nA>j)EJ& zF>oB504KqX;3jZ0xCJ~KJO(@#{3LiBnB@Olzt}j4PI7!>SFZDzC4JZW$hD}yGcBU{ zmw8wAjmD>8!Ya*!%hy=P)NW_@Pn=J^*-u{IF&-fGZK}eJe409~o9R|NP}uVFR*xM! za?{3ot|FcFaBixyY^$`HuG&r%I*`{V{c!%s;Ttz@&M7v%%CR`8>3Zn2@()Tql&&|u z)U5RikCJA&Qvm;1qIitw`gu74KW?`qK0|a5mFC|s^IvisZQstKclXh z{;AqRewH!)d^(Lrl=t_UBbCRq-b`tBK}XMcRljq3rSoHFLt>TsN!M)l`AjTVUu72FaSfa1eU=HSOsff zFIWc~U?12I4uDPYC~!SE2o8b6;0QPhZUD!?E5HZ9Ujo@TZe%h2pS17EzBJ9g_fIGS z{|x>G{44l3@bBP1z<+}O0-pt+1D^-~4ZZ-r2)+cq488)s3cd!u4!!}t38Y}$0o)O6 zXW#Sqt^s@yfF=k*3q&9WZO{P;=z<>Tg8>+VC9n)uz$#b+d%-%`0Q;jj8%fZ9J72ry66?g=AB)A$} z1Fi+T!7R8AY&Rc&iSM2ao&uf1@*8%)l}w_R!J|4x+O{}c9^cTunGy>|k426q8>1$P5?2loK?1or~> z2KNE?1>XT=ANWr2UEu!UyTSK>?*$J4-v=HDz8^dY`~cW)f3% zEum*t52YE5o=SDRTwN&6Wv1guADW{7rb>K4iOfpdUhU1++o!Ur`VH^`@M}Q!r(Xrn z1y2Xh0Ga*im-t)ur(XoW4xRvh3Oo@!3H&tp8St~<=fKZ{UjR=APXR^y)6@9;BJfH! zcCP}j2Co6Pf>U4%ycWC;ydJy(yb-(!$e-{Qe!msG4ZIz^1H2Qw3%nb=2fP=&54<02 z$6r548-57FmxG6c zE5Nq=br${BjG$3136~*oSQ@6(%I!y1+>-OlLXmsL(};MMi;WxXZ?kNeE9qZ`Wk>&| zD-O(<&j%7_nH4H$-*E>(-rm*;#Xc7`;FKwIZ5;l$>sIE=YagM6&a(kph?`<4v5#~saFuUk) z7Xw98%uib0W>z3^<0m#usnPsZkDy@lcUIQ?jg#eP?aIo_`DxX(PkZ@=U?g9sXW|(( z(r!w#!uXx4K@CgxvtyJ_Px%Lpk{3zKL4WK`wp(|C+gCqa?&vsvNh?%$~D(q z%3t=FiplzFhmu z>_$#1tRCAirxmof-GAip>cNYh`1r;IvvUCBSRRHrGxoeW<#6))!$)p9oW%+^Hg0lk zwdNI%d5S*e+&ieK-V+B_51X&XDVV-L$+07#S)tQGhc-?eII^yW@7YV6SND!`{!JwD z<8;)qz01cpZW!acoV{#TF$i%6As_FdXQIGZr9HVd87F} z9;I)j`{{CFG^M#An*`8J5)Qq_{AZ5?j#i~~9TPh*XV2(7{H0fvH%PKaJ0HEVUO94d z|A9rrJNi%G@49UA`?=MF?3>oP&3u2!!RHbom8g(|dWXY?(Uvv2e8dT``;^>8Ka)@|(% z4{vI!o|ma3hP?_OMx-(%yDje=848^FD=J%KB5%l&r3?3XOsqWsU@Ms_}K4nDVCo$R@V-06dyRQS-W?6FERPoSdqE=yzD6*yR{6re$qrPod9`99TWxJ_0XEFS(IFSOMow?kjQ%{MAy^&ClM|!-sFFAGxVelsRKE zarqj@+*sM%e;~axZHQr;Z$XZj=f8z{pFb~J+j(DXlD$e>?R{hOKYw&IX8B!bDGj^D z+3C#G87IC-HYs$hs=0G6%%2~%&|FG~An&ieZ>+!hqoe-jcb%oQovd%EK8EgM+A?)- znJ#Zu*GzZPx_16;$X~qc%E|RU)hea&?0CsPP5--mveaztv^wC~*Y`pzP)i|0rYf14 zvXkef&mNZpfsU}-SAV8bv1rAVQZV`1Ebx?Y4Nv2l;t+^#hCi0mH`1kXD~3MP%RhOPJ*_%udLW?0@Yk~>WAhPE(mwu&1!&-;hJUA?h0#SnOx zX|mDmclx=|sWXg+qFEMiIBE8V3rbE;e>c|WZZWlFn~CkKw0kbdIr&GSc5JT4OdW)V zGiJxnJ9?pWgHfvYtsXos)#3Kp&1mWJM#jO*SgZ{T=bHe^J@2TgkVRqqU^55Eol8;^ z-{_V?MirJ&Sz@MscX@8^n^8Uv7G|>-RZDH+iCgxR}URpJ#X#& z@s{j8atMFG#ySQ6zy5QFJKpKece(4`?tYJZ-s|4?x$k$}?>oQi{@?vQ-}`{?d*Js! z=m&oAhkn@kkstlB2mkm_JmkFdFL>yM7hU|YOD^4Y+2s$v;>xQY@yM&Mxpw#Lb$jOK z7Zyw9O10+Jy@nq&!&VfxJG_9XKNv18udJ@^UEkQZ|G?&>u0MF_@R6f8VB9=;<4wFV z{xOgJ$;UnZ2|xA3C;jx#{Or&D{4f0CFFpAwPkq`i|H`la+OI$T8P9yyv!C?H_V2v-cYp8q|KJb*=#T&8Phaw9FMZjczg!VcuX^=sZaua2+Sk4Q4R3tY zo8R)*x4r!x?|j$0-}B!0z5fFr{LqL0>LVZh*kAw6$3OAOPyOwu|L*Vq*FSvbAOGo} z|K(r*?ce|7KmY5qpZolOf8mQ?`tn!4`n9irqZsD%|K{Hl{O@%_uhDiwuibWnR@BPA z_By`jw;kVWd2u5ST204qwwiGm$E~*C=KN98ZbV+_1+akM3gWOGwc7-2=g);+#B(vs z5$b{bdhD5!9KRh?%#7Dg>q)QY^-nFo9XhSBEq_*8UhKs*vKcqC=YlBoLJDrgEw2@Y z?V#;PKE2BC_ghZ0X{t7lWcAzD%*@o2hUn3t5T|YbYnygv^q@Xfn$_neMH;l)aoldT zgSgRxHo7P8x1nRR75ZvD*U#{r(~8<1bJx`8oiHra-%(vn&u{pCKy%QqU& zjHtRk8fQIb+LiHLqislRub+u7&1MujQL_mN3w)cF=X+Ec*gJwSt2`ff@d7!;HyXYdc+Ex_s9%1&5qpu>;v>)1X&+YuzY#QAK@>$A?ua>%7My;s(ePW% z2=;Hq@Sy0fQ3)BOMrbA#tQj(AQcm(ZEzfH^a0%@kn}<#DW0MxN8*S!c&~(f^j5M(t zIUm*&aa}qi{YJCV@~M|u8OJ(KLH%htF(c7##@XXuJH6f(@tEcfI;8t2uBY9j|J&Bn z3N_DcJsr4(@(S}Zj=UxX!xLVs6~;}?%-A<=GwrkWwP8*tY#LTGRW{n8;U~n4`CRV? zq7%c@b`txal_OdIs8^Mb+H2q+1>T8-GZW83QF z^Vb(OI)=zR>RLJ067wJlMJzL}4f<(Fl(LRKx0>e3mYu&%ufszb1tkaU>@Elq%4eR` z+Z>RAK7J#1LdMlJnCph8;XO~IPhp<#HeJ})>kx!MeL)0yB}2j{Gl;+8xSSxFytGRS zvMg$bP(~s=EuWzY>?N%_*`ty>Dl@;|EJ-|{Kj*h5zBD}2XlvFWts9!vG$+5G#j719 zVK?YbD|OUP+7~q$Hp_B|;ChqND6#HHfTZQI64sgbs;lm_f))igyFmgy0*!A>)lQfd z!ZU6c5!7~gqKU|WH9{6X?m(u%Z|!EM)iFiWjzChZg(6mL2lCO7EhB@-sHT|vySiUX z_Eh=?@zfsMjxaX@@gqE=!K3{#EoxF%z;H&bSON!07o_~F`J3_l>GXASe{eZ{@#N7r>zwql~Uq)JH;=R}J$DQxbK z#E?-OA*LXz=VH%Ggh-=nK}!Q|B$lP7p-;LtLj5qKK60QN1Ri`7K(W-|13~GjZ&q}TE<_RSEMYZX zsXnKcj)W!h5XLCox{N>^K%Y_VnP@R{ zRs70)WT`Mesa~O}Czg&_@{H8TCMc6rQqss|N)91#D}*o^6Z%uXZ`(QFK%QECK|?c@ zfBgt;IpudXsMd9ZI@$zcIg_^Oq|T&mJLoh!+TO6XCmFj!_moRo%oa&QCb^ci5S7rd zyzMS@$?k(vb~0)7&E$sw+tIC+%Ms+E_{z+3iCPAg5A+kABbOgiJ{UBkQ`w5O|H=9} zE_c)RgzSq9uT654eLnABejnWm8R+!K?LxHxJ(GPNJ49-x@2ytA5~Z{n58meCD(Q>-Nmu>fET6TX^BV1=EH1u6Zr<6el+~CeIRNWT3Fh=89$ED zx|&^<0`tRIyDhiHRLnj{E*eQAWS4>nW6+Rm$ga`zf!j3S!)>hW`d*VP`(Apu);1`G zdTe)0G`k_)QTkFk3p#O!9THktkZStbjz#;og6#m=Wk)G1-|Gav-O1Z4@KFQ87-K{v zZ8Pm@@jAN~TACUu(k-y|RcOEH!L7D*LCW>Ca*Wnw-H3i2Sw&joI@z+3R5ko1Jv-k@ z8u=?Tm?}2={-%e4fsJ0O*D@>8eKAWy$n1q=nl!m_BrrXJSIx>I(W@RK2U!Q0Gc3~~ zROfppzO;mpIX1d=?E3g4hH!lEv8q6Xu=tqt&U7D&s-?A-X2xSBo5vY9o~HxMaF4BL z?0i{tO$EYlv3*C;mihZo-Le zaT)cx>Nk3hG5E00kcMtQP`~s-R{sVQ$g~GO@R`Xm|EHg^v@o-SIAXaR?K7cA+FSL? z(Ane8l(ObC%dvLoEv~8_1ObY9Rx|tCI`clNM<~(FHfAx~0`|p>ij*IjyO;<(PN@NA z1N0@VGiX^*A>Z%Q{)S`&vxU2*W6?S06SXxQh^q~S7^B`r+-r_${Wq(n6e6=GNi<1G zHT|dzsE7%R>N3GQfurRv zK~{BCaJA1cAoMDOFs>p0dV%H7(o(fmYt{`5Xy2Q}y{O-GxER#cTZ9|Cr>NJ`#cr)r zm-V6(_1gWU-|O`|y4bGEw8-$cdr7a??aStMo67B|oPNL0bMvcZf9NMwr`|8e!+2(4 zrL@FPiJv9DM&4Q>3yGyl83Bu6GHmHUe5`_Pjb`-8?(W7RQYu@iI2X{`9m z!E$S*z0z5B_+z!b+F9F9X!W%fze7w*u#awb^-oct@hR%^$ z4^CwvJJW#PZh~*uu3~$_YE*4AWjdJZw6~^tjfRKaw&6t8m}!Fwu8pB#xNkQhHHiGs z?)gU5@#ov~j=#`a;8&ySSDNLh+^%$L)0$e2EA869P9sy&eLARXcJ!X!$VezjNWm-~F`mO3zCRF{FM z(erv*@wG`=Tnc!ymQ><$SoSORTGcBDrHH$`)qZ{855j)jP1>waLEmZA8Xd>4`5mWT zYt`CrM^;QWYd*I2TI{wly&D%;ouv`$yDSZojtP3DEGPVZ+v=mp8b!J+mbHfK)$2YB zw>D8m`5>DIbvTpdYGm(8ctBeq6(tvjeKE~Qn5J-1u!l;cvf##Vac*Ryu+tll0r zpH@%%m-5i`t6S>QxuBcx$FX~qLMp2D+9eik6buHb&y48S+jXdtw!2$$;V$1a$uyzT zwe3PJGoKkJ(X&QjPS5_=(>H0ouIg3g=4Nv}C^gFUs_WJo8g;15njG~}=@Rt1R(*x%GyyF7bx7p4&+)!Ef05Ip3~}dhiOCdanTenj<<`77L3|k8EBN%8n5iq z>bge|1IijIZwtd6GAM#>Ue8VWy4Dk2;iIl;zNJH~UN-wJ+sjyARr@)~Op8iOm69jE zH2-z_&Y;v0(JJtzA)%O#AM;#biLJq;eU@+GAEtOt=WLuxiET%b?`wTCM5eskM88y4 z+IHmg$drTR6$|T*v388{Uq%$3(EVXxX53iIx$e5vdf6-arJ&rbvYUi~m}*J6Q;JJb z8Of!cH~S0GIgm8;T;D}LdD>6zT z+|Z5K%_L~9`Q7YWhAmXdsLuYJHG$Ul+GNKl< zAH(l(_#E$k@eYqZNl-UG>)+ z`|A7MeeQaFwXqZoTD?xbp6;OiOVza1FfdXcV_x9nip7e;&YP`XKk0S5eba&JKxU2> zo8ZJ_`c;w=o1b!2#azI}0C~nRh+h+JJS=y&AwWNE&vmPd-h6$oHdmc5FS4nwl&jUM zTM5e1V&5r8wR*kcm6_r&U8~x1aVkZApY0q|rDFBAL3vmmx`UwCVgKJB^p|?e-PN2= z7Kb&jQZLua)k?Wma*@vPn2YTqVl}Eqe!a=`iD-0!0>_dPv^(uy#~Ks5!#3;p_Ok*- zqt)|S-z%^kBLI)PSO74v_TqGSXG*-EXD9QwSE3)4rP`7=^yv#m66}@)e^i!Y2B3wp z8(U3-*->R{RO*zvgX-fl`73Z4bFhO?3H`H3W#q^X+tD?8@US-Y27aIY zavNKdk$B7oV_^|d_^F^Q*LrxF2%BknQ4N913~rW#D)wD$To`q=?xmWLUHNM5TCPV` z`lyVzW&WyCezqA;6kWINCUvHL&<{}q;}}tdJiv}RF`~Ad(h$*6uhc5lYS}H-(KY-k zJ9uvW52i0TW_oeOE5_~jp6gN@L3df zBve^_kVO!o6R`eax>{VXfL@3(&U? zSnfAkhyC3{kFObBr8-Ew1Qng#7!DFl7EIw*J+^AJRSQjpnV!sK35;2vcD9mOdbGA= zh$Aa_s{Jz;MSZ26)W@a|8z)9h3|VJtnAeqB(kip&^s(}%QFG`w>esNd(q4_$nrr^* z*?Ne)mFnj;WoD1rPvZL#fiUfgmrCJcvqW^ARCe=&KZIJNQfo0R$y&b@t_Ew3wHbtm z${~uTgOh)>@4?>bm65znyHjM5Y|`KmPgTe3d4tBVIZVgH^QN_e1 zLwH^EJPB@==kf8OpB?QzTK%|}bdV^9SjawUoJmIMGV6?NmiE6kn;fq#Le=`7;aiAh zT2y#0SZ=J=*IXunxi2yF^b+iY*`|r>m0?QH(2Ym(4fAi*#h^j_9>Q0<`Gh4|6Q?>5 zmo=+Cwn#5RxmrUAv0PMG+vrD(t)7(}%WBw(WJA`pz>3Uv%1hUC4DH4$$k6+EZ`$-y z3r!-$V%fK?m0n)p_BKi<6bh}bh=UgUq8GYN)+%Wx(t}MW)z98&reMv-sz4|PccV&X zL^i4l`i=C=3OW(H`^0q;LcN-P%JfL!)-YO*R$EM(U`2Eq$OMZ%Y{mVTWTW zfhK78gVvIW$fA%9EBq=irIDRj=4GQ0-@{%pBs4P4#vijEq!WZJ6LFHzC6;}-rk_na z+6iZFTY{~jO0Csle)K1ydw4knA1lPO^kO&JndE3*0E;m8U2)pEENO_ z)}mU6*aB8C?PyR-u&eaYSqV`=eZ}mQQh+TKyur?WrL)#u6X*Mk{Lo#g*&9m3cB!$3 ze6092Pn&$!A-3(Ktr80j+79b;!>ePl!sOmz?9t(&WrrvRECNh9WB9=)(8JS_sIm0{ z9tkXLNH1nII!Ib%3rpCvjRT}^Gd&wEjBnDtqINu7FP z(86?UW2_XN&Qw2o)M-sqquKzX|XMv2gcH$#c^3I-$4}u4 zEHx~+m_(_??P0;i-r>dN{SE>Xy9QxcI7|uXU^mrdnBZWH=)I27BDd!Q@g&AeZFc>A z!TxYxYj4g4@H^|Tg24hpaO5y;QMjZreKzIdb(AF@p=kZdta6!wvD3xOfTS0z_)fcI zIY44iY>gwYg98`4PrDJ;QOWII0fNTj%gGJ0y^pm4$wR-=c}a}&XliPhXR1rGg;zVc zuQ6QEl!W6LqnfP%cCaq9Bn)uDnuqug{dhFY*k&~idcJPPKtctJ(Cm2`upwY_nz+#f8wUv2~3K`y1oGt@a7w zK~Km6I*d9$A^($rjYdT_-Vi%W!{`w5AH*h-rnp9F1Av*HBMG&>*1rH%fOR68vbtL- zRB{@GBtSpxP?G0T59^9#GKS`Y305AAJP1YO)W@ux>62Iw>KL_r^u}lqEwz@LN^N3( z7FKcfU=D0zq-(IC;B&z<-Nf*y9ht)}9ggX?`*^g6Ew=nvNxB#`FgD2SUBSLoulSV^ zx2*MSVEV>Y&}IMFtKu%n)Cc)Lsy%j3S-o!8pYzuof37{}_-pNaU3a_jT#TME7tcA3 zwYYFSnrkiwm7u0wdyC*GMf?$P++(ztjml(-cDun`YcZ-sSn=>*8OIsHB*?62&{`hp z52Yoxnt0Aym~a~Gt1-M_&oOH%-l3qr)=pJ~ZSg!dNBLgFZWT+&I$IoOZwQN1-s)dc(aVhc}|Eh`e!Op=S#?LD9>bl?eood{-ab@^F+-?^ShHJ=A z|H3-)Zl2$X9gYavn|Ka7=FV7^!#HW5RKai8zj28L@+C_hWeqroAoa|**$2A<~4i;e~6-qdFI0y(lys^vDS9RpW z;EOIMV$HwOG8z?8y4t!DvtsrxbxitI)JO?=YC;+*{E5vh?vz2xdZvvWWPdVeX0hVG zjEgso>e6S%)rNSP{%d@ixK!v4ZRjdQ0PjK9k*!{R=-XjYIh97;4bZc2I%{W%LeDv+ z3RXj`u2K@QH6;XBaxvy8&VXO7ZZvR$K{PP!Xy7lXHY#4lg(7qumsFz@a$lq65}*TB zyHE!rFi35_FzusWRyEAOgj-@3N1Y>REUd@4)`t$m8RM9h&yxGF)UgXn*gD2cXJYT9 z=qRGVC*Z(^auqf&7{S>Wu_+{|v_YggJC&AMY!ZgKqnQ`k#z%$5+ww64G-+*H|5Yif zB8xgZb6Q5(1m|ERjm<}d9eW_+c|=vgRZSjz38Aax?k%J8EcCz`hyZ0H5_)S1QjYou%U=i^He>=?@oK`gb7qBlo*iEVfjkKH6#}%+mW`9pmZC` zX!heKUYtghheJf#fRL9?B`ODH57h*Z3@#_zK+`@O_Gp7l&~DUtG-Ir7XwWF435pg$ ztcXV8yy^huVj8w09?6rw&<&Xw(?F?R;S7+r;C68BAsz4Ii@wEsgoeA~IfT zNdM#~#_m%o^-Im5-*aHx?f^?!yVrHlh|Pb!L7(*@-V@FR^Nq!N#jP{fS+dcRO=L$m zB-8?v71jww2jM^qF#Y%1Shm6y-$qjI-nTp4M|}$`3o9!mT82zqFrT?#eupc3Us@`4 zm!PBDb(iG2<~JA2buO6CCf=6rbz~gnH-DJt{c_XAUd7_o8a7wb1IIxeFVJllM=XM% zHH@iCKb-DZXqFLFJkaVkhyIGWtoA`Cm&w86*c`T2(iO|?hPXc5c9@>8V!smdvC9-U zKeV&$HoEPuf@1lRPpKBLO-ffR?jP3CkJ(n^6yfxekDsE3@UL1O->OJ#&IZY_hXAY& z`ITS|khK|o%g1GgqKI@O(ugr7Bp1g&0?emaR?Aushb<9>Eh3T#hitOUm<@kR8-Bbe zL`-8$#AIlkh|GsRzC={>Dmom>B{yJ2h>$ddj3($~P1v-KVhYzJW%|6>U&P6S+KfWN z-K-2OpLiiUY#g{3CkFlR)(2i1pu5;b$;QcqouQ5Q3G)yEM%>bprCg`AyNyABF2-I0 z(T7Xc#K03mzz1C1XA(_@zKjzt2!|N<(CHb@F_+EwE%+;bHg4!23zEtU=|JhZmC&h) zwS$#t#XgnspR*8#Yt9P)W!KTiTs&RywxXTzQlN6nrOvNr!mNi?OvnXtqF!gU(l0$L zevw?xG#TRaE6B3}=I4sOr(IQC-oD?$Vjp+9SO8$jFt;!BJb~qo4KC+?%jd?=p~ofv zrs`GrPmGX-pV9*sunJ2irV0ctgyyglM`_vm=uk3?JDVlMJhQ-2ls$4ERfK>_{X#J7 z=!ceo$@{f7aO^WS?eH*?=rphIv)poUfi;j&WtJg!2N)F+jb9sRKKP;Q;oM$Ic7Z)=_L;w!fPyXXi9H}Xv;nGO?a4Mf- zg2!=0QURtZkxl)XM!E&262C~jg5LxmQDm%Cd{({zv;qFGzYt(PVt_+K{7T0~^DA`GMLB(-BX`=d zQExYIfntAZ=vu96R3o00m~uY32q(74{1I_Pp~EQ$c1h;+DNGx1ScPCCVv5k`_-IdX zu%Sm2laod#HRYHNM$It}_5&tVQszN6rI-gTrD*R&1Nn|q z9|@YctP2?VS<-P7vuCKVpb@j%sQDh@qzs2k*Ih(2mI6~MG?-EzZWx3-`<^D20&J^< z1*88oDlF*LS{t9Eeoa<$*1X)x_%~k zr0?zdFr%eSYG1h)r~BZ?kHa-?gFS@f5R9`}p0CZ- z_XK;Qxn#b#I4m#Ma90LZ`To@^G;?pUg!(pmMG`5M1M4 zTb^Cmvu9zpe64#;a7}b=cXqgEWnpi5!`&Z{x3s%|xUsT#@5;t-f0vKJes`n1cVT7E zaJGAG!~-hl{Kxp`S1(w6=yexeeaV%VU3TRqS6_79Ll-Zop6{O@U(kQ(@HY+iQg z${VgeaotUew^SePKPG-m|Iy30tlzYG;?NB@96GUi)A}vTkM48Xe{}Vh#hb1>arF&X z9=dGvlJ$$0AKJelrXba`dtbOGnD-WH3+4I6J-aK{)%JLMdUL~t_ zm1Hhb}7%0bLM6p|rM?yIDH5B8hzz zJO{~>I8o9~;B#aaS6v_BZS0;lG~H>r?8=n>l4T15^^h0esY%k(xb9&|IFtYgvWyLp+K2q|smzC+rhrla5)MPOwfT zj>6UX*mL0>%88SneKH$IkJ^2gLx!gFbqqYTA9p?Lues6fr55mUu4to11RU-$7V=42 zixuF0WHagi9rKV%a(iZb$tE*4y0E+iEYIdxt6YJM2ucU5gAP$@a$tCa zV)DStBggY2K4QB|5CX&HcXEC*d};JGI}7;+Mj%iG1~c4=xlIg(o~8jG4ZX|u+pw z_>T!Ox;LE_x{vLlilS=8=QUh<(irjZIDZ>SBpwefm#TlEi{uJD+7pVQIVj9=95x)b zf8Qd%px+Zwfo#QaBkN6mkpDFKI}*L7V%FhWoue_FaARk|JSN<;JhmY{Vt~zF*&LjTS`Jh3gVRcA!kjK_$=FU zGDYFrGX`6nv`k0N+GC`oSkH)RW+Q|*~N%|BG-lCy-0!?h9|r{!nqDl zvH@eg=?3DjrV*kvKtayN-pX05(K^b$&Ky>cn0_^$vY%aI&lXnhTh(NLitXj#Hla!g4x%}= zQo$!R7Hz!hT1Q9yntES)lEAG0XKud^K^J=f;m{!z_m#BZ<54|?cqMp1L}WA)q)Ig&4N z4Fy!n-mX|_p*}Y;LmOJT-kvuReu**SsZesT#04XI%D6ENMOk#)r$TiEsEHdOk+L$ zWtO@GzOc8`u9OvE#I7XDXbKd#QR^Yw%O*8rS8H-7AuPpv)7hZ=5|z?b)o5UiK*}hS zB;#G=V?`De*%|8CdQb~ZOX@wF7Y>65{$-Os3XO$zQ_%~EMfxBs6Q4L;2aT+JV*W_8 zpoF5nMuIY|{gk1EH|!x&6$UA8GXyE-N0jg(0t!5i90m=)5@%wm9&Z31qRirihG~+* zU?(#*)%zoDn?RsxPssYl(waWO03a>e+WY7STNEdTw|P>TW@J(wE5JOayjciVB#O~p zHSrh=xl}X^1Wo1gs5{L*3r%qyVLT+(58siG0TG)tOPA;=s}SKm%pn=9QgVFt$Bv-=29fgkhLICm*v)dTJVe>n!*s0CVgFH=nFh(rE%KkC z*YGRAEkcAICMq4gVK~kGMLk$4QZN?L0uH03&4|d{P;ATizK1$e4X?CZ^H~w$0sh1O zXbeYz(FWz%H7X(k09$?nG!jI4Q`-pumfh6 zykklMJF)&_uS=T-v$c%n6E#j<#K_El%18zSnPgea9_0+tiLHVfO#d|LFl}=vOMQ}k z&IANwTE-wHo17+SleIzRq_Y{ibl5uL!qX0ztWg}N@w&Q zdOH?q+>g*ZqTtc=qu->N(l}w{CDubXL1+b78}?FMi2A2UTp7rjV?IMnFIg$|7ajnL z^Ly#-raUhDsu-k}h(u^=%=7SRFN|e$G*qJ|!BytnGczdynjaN>d2s^h9 zK3eq=oy-Uv?4J;<=C~mcbz7P+}R+ z?WQs|Z@JMm(JRE+gCk_P@Qnm=Y{F8cxy~*mGsH=nMPGYn z-)wD|HnbWRzzb$q9eOJv2HWF6vTUX2a6Lh1o`TWgFr`2;?a|Pom`ZgbGC}rg8ipMl zWs>d?*@#s@-axZtBhQqahec1lV&4EcjlC|d2mQdOF@cYC(#*u3!JHv8wEQ{9H|Cl# zj%gNBtzDFO7NrJ@OHgOp5L7`bTohD_2!k|F9dRK(oD%qOiB(H%v*A!|=;_Ipu40Bb zLWbcXZH|#sl*2B9_#XmQG0?#cbcho~T+kFXw<0t0@o?C(X%rbw)O8&LRZ>iblze<< z45=DN23`xK85b3ulL-#=W(lpS++}^0c6N;O6naySlfTf7{<1itDB&MqWx&qKjN%s| zv8J6h@@Hi=)R;M@Gzg8zb>m)j$ln7JDu zstABoYxtG5hIJs(>V>#61hWjT1VD0w80Ob75pST7SJ(l4Z=5>vsaXq;;+%*@iCIu+ zU_p0sh-87lCgB>^!F2sdv^U1Zg0f)hBT{`}7L+K&b)2z1@|0LqmKc|Sq{7Uhcx3~` z-b673l~|>Y#-OWp#SyIYaDZ8ph;>ErfnShvgg43Lrk)9~0?&Mt(99Y6o^qVrNj<%`TX?p?1<<$ZU6;l!Ffu`OJ=VXEmdTbIeN~e+(}T5}dL= zu_M&sOyaTlP-n67BmhYMu6}hzSCXvZL1oJ0@FGlG3mT^#7;dA+o{hGqoWj1iC_xpN zj}Wp_lmP3IgwbAAeyD=ps6mm!O?o;QSS$fqIf20OLAf%l6HN!TRdPzf%K4ay! z*}E_;jNC@Gkz_9|5wcET8L}5+7n&(vLiY7lL?proj#THg=Q17BMoePQYNzr`%2{bN zRHFBo58b4n;AV@_lM3>oiEzsoF2$R{u*^K!pJX343kJ)uAw7Bm`HPU>#phuF`#h@v zBANahIbnm#rNqG$j2Xm15Yqh`L7ax{hF{PM$Um_o?jUM0HczsBCgNEA*NGCkE$y6q zlq^lez-bdh`$b7Bp3yg@jdCT^3b+j|<#cTmR}s&$PuXr<*viA{RpN$Z2pNe~qa7l% z%rRI(56tSl?J}r*do_Z0jhIVM&a&!}LlN(-5)+s}PWI|3q*|OA1NMjf!5|W4qQhdG zh6|8~qC>{yIeQZ-z%q&@Py0d+iHgCH(X6qlG`Eu>od#O@?Qo3iF==?ZmBpv`Ynxea zN^-lX+E5%N3L_^0foRsOdL&vwfni)6(V1O1`KVBzFaxBKkDSA2--mgVLuc6cl_sSj zC5qr3&bGnID3ti*6)G;7Br_<|$TJ!^3jLUELJg_)W%$GjigYmHxiUYPag!1~+7a;V zn4P-TpZ0_?qNeVsIrM)j4JWwFNC%s498onZ0?vsO{>=ut9&C`C&j%a_SY%eWfB z%ACOCpE&GkwT~ncdtx7XwsNPHsJc|9Ys&1MR;Jo3y%81Sv`x6xpN;&qX(Ut45)o+D zIr1qK(+M-bj2dgr!bW|~^ml6)q`&Orr7&SQM>=GhJF}9lhH*=(ImRBA=>;6GO?RI1 z-6Du|=F`kyt&aKTm>sYf7-_|KrV##PpCrAjXuCoF&{M7AR%g$YdGkmW`;9Dk7;B}D z(+`Y!eKa}SW+Hs~pd=I30R}UTAcr(CXloA8UJQRsS|Sz|$)`*eY;>5Qk`uPvWC!JL zr;*grjkA8)@|Xr^Z)Rs3g+YwVxLsQ62>6G3B~q&#l@Egi-W~} z$#$8g9+OpECpm7*Pc;EP6Rk6*32=%PGikQaz|jO#Y7x@;0hnQ|*1LV|301S3R(u0aHI4!?9q_KAqB{Jc4rQ+t*sh%7^X$g+_y}t{ zVH1lvhdko=rA%sfSvXC@n6DnKMd{Ihh*3O-YBcq@4a79Ul{h&uZ3wC8gmvW2z?lGwooRb#O$>d9gx;$Ru~pzbPIf37ZZD~LXn5p(uaJ1zW3R{SMwGya zs6t*jqZeNhv&{D-W##N2D!NEb?f_yCF)Z_LH^`{(IYY>`3c@+y5J;vtvOlQE3R7Ww z>Q|zQfBl}RVLlg;yE+xAx^oaY2 z?($B%Ug_H--sCJmSV`h4#+N;c2`YtYT5@fWD`^zhkAjIdf`^U`8MXsrSqY}5Hkm!t z9!gUE1W0xiPt7vvGnj?Ggbk<~B+PnGy>p{bVaMERUQp?5^ik1G5qBwxNh< z`=fGk*2o5jL~7>iJmqu0X0MEXt-}2{+E{;XSNpQGBBvN8?qW7E>KSu$lZpFgv%uFVmYme(jTr2UvTcj@ zk-S-9WP{7?HdvEJzG)4Y#=vNSoXRZdp{bEIYY*o>6o-Ttl~;=CuR10ar@>Cb-a*zr z4ts^t_%uJmia`ka-0zbxzM+xio%daspz}{wr`UyGd;RtGf$fI|IBeMRq5O5 zw4RtHz{q>_b%k;&3d5+ptb9_pY;2neEH!a$MeQbgjR*XN->ENsiSq$04A?@=p1Gc| zrltE;t!-wl!)%0sT8kbkhm!A;(@I-(3^RDBd7%PaOub!esSZd5%?VcyKtoB+FKFF1 zGaoOw@v*Q1lP5!ewlS43PiVL%64QwJYyEyamr4sggr5U_&-h}D4_g^S20DE>^=aId zNJhCatx1d!_uK)XcsF**1kp)p(!SlQww#MU>vI!7=qind;O3x5X$9I(%0cSoGIPJNsk`V+Qi(CrL#Zq?D!4Y3nslPQ>ahX%lwlPEY4@gfgT zJ*@S8tUe|$5$CoMJqk*n5?hCa(mCF4(&eAcV`x((X%V#L6oi~+Z)S7A0H^qe-0pzL zWH)5&Pl|ZO>xv&$);Lp6Y00hN?x|O>fF?w;IAk~*I29}gP6dmA6AuPPfvXJNO4!7% zP^-|_T7{F{UQ!|TFgdGggYJM-Q06|?vnl8M9gh50m`LUjWH^XckW16f`#YonsAPvC zaaig;lZS((1LMg!h$ozjIA=eZjDvhoHWV#t8JJ#$_To+AZ- zeGUW6=(%ouT{utfTb5OVL2w)>k4L!bg!3jHh}&!^@R@gBkTK9-SAV#lEVCT3#sI;) zbd(>&+;7r?koXjRk7MZp_s8oqdy;vMzl1AJxy4PT7RLjVM{+!nbNBPTh5q7TVKCpH z>&|s}eF8b5I20Q6{H4Z<(_SEZbB#{+f}y|ct-5Q~waRK`rMg^OsjjllhB|i}D%o{d zWe|BgXY7!LjrCr~`O8C-cibd5tden&w5}DBNV5GRY=EuOSQc+CczD!cJQDMeaEKG) zF?m#_PZbimn+yVF@_S$jEh*=?a*#~sCeKsG;I~o=kcmX^6YWZKL%Y3(GS=HnB-Bgt z--+DsS$Y%l){Xkb`bP*VNwPT_TA~LW`m2)2iIgVv-{y%o{hxZDS@k# zC?thTi!q2>10y(?j~W-#NRv6!WRkCtog11Dl(U}QOT`Wo$D(KOGb=B*61X@%>31EU zz3+@H=s3vPrK4e`=zWt zC6eI0VTt^VB)L$s6>?#^WJ~0XnCjF|X*q2_D;wX_JNqAn_Vf;b3b|~!MvCc5pK{uL zn+6j)rsG2L4zI%9rr%X^#*mwYev30zetDSljE_b*o@S_R+zTe3y?ARxb0vpR`aJ2$K(k5+HvfN$nnUl`jv^$-rocGMzZQifIOjWxTtxMr7F1!Gu&+D?3f=GFZ z$&qL?N-GbKnHXlCo}P`r%ONO}S|^|5c_L8M?HEh5U0|y=Z@l5pdWnOT#gAmIx^YZcx%UNNldU>ydN#R;AkTY3Ux@?Dxu9!bui_91}-m`Av;4A4~R1K=egBA z4J2c3J+P-Lmd>8gsCt z9vyb+Waz@hB>G?zurFvZX{>@03&H5U3Ru*%hB{>3NDodce;3&gNutl@u@b|~xY3=G zBKtz6)h#XgN z4Da)vl}f)dPzAN@T?gq~6gb(0oKN3gU~;J97f^CKUUI-bpAEiEo2%g`UudyisotU_ zK%#@v%&YcPCZdZGjb;xwXY;T4JX-*aL1ZR@kg0x9QtHDtVfdxNsGh0!rFn`gOFQY8 z$XO{g4=wo7%>K^*@Aph4ULa!M4uFEyuXBzGAnXYT2A$ZMLS$toa^0KOEy^; zB@!iJ$+ZE!u-}xh@4{)t_am@jz{W}BQ&2uX{F>W z;t!_KG-Y3D*>s)Rg>jBd2KJGy#q8} z>0ix@J5rWo`9L2*RbzOPH9kRz0v;lMxAc`$MID()%{j zzLY2U+P-(hm7>?;1i(r8x;=vV!rJ3rIq~{G2cS5pa~RHnIhsF7IlpVNvG0f?_Gv)+;} z%Va6GZvtW5Y;r=j=^Uye19N^5%)Te!%=s&%m?DMoNd>j;=f z@Q1QLb(fGRdQ}i9aLH)gT~1cxHJ{uR?y|eYoB7glD(sguPUt^2q?P4DOb|d!vwJh! zjVL3J*{_-x;*nEPc4E3FEey{XijCd68b0t6b(wd*ushRRjd}knuXR{!teV%dlGRJk zVK-^6*>^)1`Nq7Afe3x1cPnc~MC_H_`b1_48Q(WkM_T#ZUi01tvI??SS&Mf}hj!t}=wap}J zgaXXhER}A~f99QS>H8n_KIhXIDBIgAZ=&I0wEw6#@%PuKYl6ov`%B zEulOBbOvuE+hdky4x{PSl5O!S20ljRZDhiN))*DT4^d_62{*CRA_^b!kb zPM{obvT({o15(8>3jiVCuIfu)ZULv{<*}`i<0e&j^qvoD%j?ZvdQn?-SL&;yr)(>v z*LB2q>B}&1F{vAMGkR3|P&0U4vAzBgxtB zWYS&b4bt~Jd4vx}r2JgVbXkv>mxvc{>4JGZRQd`Has&Qv?%r*=jVoK%KK83OV{ww`0u-V9BdOF z%G0z~)D*IpQFoFO9$08Vs(aAW${{8aVV9i}gGdc3G&*5G%tKRS5LOy5fR# z5g&)@AI1-EalyFW2c9>|iXyndQ5iX)&11EK32DVYAZ~=#)G_ia*Cgr~?ZtWhs_W1vwT~bZh)ab)Kj@biL26k@#KKK{>HCG-bwda)K}CSHfU1Fy{Ld|-p>_ZhTTjY}@HPV6R6A7{(fY6;(V8{u*7W+ds`XK?(oCw$qU}}@M4Zt` zIQEdLjpz@QgnkwMDVWnH7yX_{?->Tr3{t-h;)jaenennZBxpSX4O-1XU;9vB_l#QZ z+)`KA5YEEFrZ&B#qc+%m1_VMlYO8o`L$MP5K@fRQ-w1VTK%TSRzzecNm|ZP?^hw*) zDp2B#JgZL0Q3FvZHlJZP?qAOY24@xvk!}KmAlSh>!*{1N!WQ-7tj}t%uXjRQu((E? zl-fw}^$$C|SWy5aE4zn1m=r-tb{@oRdKes!OZ(3|0#E_s0x{Wrh|?5VUr{9m?*%k@ zpsC?{+ofm<0K*kUQyhvy;4s`Hh^F0LMF#Wx*pv`KEo_TWN+)8r$l#L>vOLo!0l;K3 z6QXC=3~P8;S9QDvZf$WE3kbyoBdQad0lDw^)QMO0_=0JX%BEGcqT>1LIoISmQceJh z>*_rbFG-!~_H^|J_wQnV`q{_z2V*($hftq~p@1q{tU~KrBvl|eMXW_7_)?7>Tcs|s zAkg-$CIA^al(WJPfiJg6s$dU%#X;>*6|Ra$g;C+KIHZQo2!Z5k^H7hr;)9Dve1$I% z;5#T0t^ zo?0saPqZziGqf9Et5C`q5D+yD04Yo^E;S1Kx`_g}p$eRoa3Gci5Cvp|p?;{I);Or6 z_gAR&RU8!$OT+SENmhVv>IO-*hs66I+O2}pkO9DYo)nc@f2O!4R>4mejwh;Nu;tmK zz-Yl{vI+?%c*nr2qt}hCS_X~3P%Qv~#H$EDVAU7gWGb!t7kDt7yTF)`yaHM_(0<8c zLsMX1$ZV+XH}Ho+a4ahVc3xL}^PqpYJM!`Q#dBGQxj&Otc=O&fgMPNCAE1tTfzwvm zEJD%A41f?#p)a_RZ;(u2PDHOhK;X4rQZAlT4MEnzIo04< zi{}&$ewyf@gAj(RrCJOKkrVR>SER|;zfxD)`At_g1|iHp_Vg=?J5 zzkMLe6|%2(@hqV)A*@A+#CmKZpIMDf;0H)Zaza#$QmG)E6;x0Xde{}#Qav`YL|9!r z#gHwfRu6MpmGu79y0R{@#BF8Spt*WprZu+B0O}mHD4fV9W(yN%8|3GjA14N&#lfX0;P-cBX=N4ir)(f(s5Nps3VHz<4WI9 zY7FOFjz~jcKOf41Qc;WjN4XUskQ!v^L(cXJ*0}U1BvPJ&@^{=fZ8>6XE!-owpKcfO z-3pxCY8uV=zE`SDzDw zxHg3i5L!B1C?s5F=k8ZwXO`6#q2Gh`d6aE7lpu7C)dT3TW1RZRpb9ba z`<;XK;Vr*jft4vgv#uj+4gH92D9WQ0OREq(UatVMo8r9BdzMjb0u7bo6rc^6;nO&xb#a zBE}Q^78ou{q3;2}GGI0ZAH2@!DjbuSxn65LsKAX4%wy0W_D8!%y=Yk3Z^MJLXWq*p zfkQBj&I%e zR#2t_G$5+vnyhIzU-*#=U3^>6HzH}{6WS^o(fd%RjJl%8CHw_RrLS;;mzbS^4f0qn zq#1??-_`hoKPyKi247{t;fd$SR=8Ug&Db%7f7VC^gxEaSQ?`bQi6gSbsz_}PULWZ1z)&IuNN zs2->GhU#&?3Yi*&5`{xWn&iSA2pMNNKZ(G*oef_~7VkS!QN_uKc~SOTpMb;80&1@m zNPO=VDsdi;>he{a>3V#W?rX+nmW8`jJwM@vZKM^)Wcn!q2xnse74S)TABEUH^wYw) zS&d6lQh+}L1Oq4unqPIj()F&W1GdmBeZH%>>tc~IZc5!U(=&Ai>ZiAU_58goXHz>W zQo||LGU3{wy1o7W5aXG%w1cIj{4t*^1F(70HAXnz1IF? zuVK^y+9}%B;|){@t$p++K!rA>tS8C{Fz3Lslv`$R@`G_!+>gve^7vA9*fRY*x;sG^ z*lQ?z_BzCg7%$@0;#)u~B6Lku9E+s|tkK<(aVydoQB$y9k*#bwXeb(czQUV62VS6k zD<2;yV)ho_EGF0U0MdRKSVhLA`r+~A0pb4Zp3m~>HkoHvB@Rn$k3uBW8VmVKB#jl? zWz3ppk+rPVs5@qcRJ|dW0|!sBS?h6=zU899_ql`n4-{9Yxd$0M)g`P2)V+`ENqd)D zI;J6vOI^4XCu{4JZKxHftg$MtA(V?%3hmhWRupg-K+!Iyk#-8_xS{!6zh50~1NPv< ze3cK6UL^DJQMhyx6IWIdS*mu!J{gi1q;LYM9BtJS!v#u>G~f#?WMk|FccT*B3UpI4 z7G^DvueP$8oDIYZm{k%@3Z+7UT0{Ut>!@g56kp7mRaG^6fUmMc;MC$tSW(TdqEdG| zRDVb@mVLG=)MgILOvTRHdQx{jQ8ganlfs7jpo#{NnhK(Rr%qmhS% z*y0{qs@U&Tpw1BgH7d|r&MB$bta2anvjd9o1gE5+l&CK#A|#pOyXfwB@uI6jeQi`7 zRu5|Xctk^iSe*x)OGS4sWpPE3ywz?Vkx)d@Hmore7Y;=J#3DD7O9}oJJ4e#jsh|oH z9pDlcZ|T zV@CV@Q2Hn<&zGl#fEV3IYQr8?xA5OEk9#)$9OOnAXX#^Ye3KmW$P4AxE4$uj*b*$} zenRhdt0o{{uH-?=Go=wmHTnU52vjrz&N_JU-HDsS zC3>yN6SyS{x8>D^u(!4^X5zL8;(}oWygl z1DtA@J_rT;&(un?6X`Zm_M(}!Qg0crtRY1@H zFp9nrZ385TSeN^^%TsC?T~sZu=i2C;yCjJd@xm939;3R*v=XVit4#?884wiaKiLcN z+vCzxfK2x%f>x>)C?}d{*_LpwRr3@`Lo##lw>kLZ6-?Fyn|l{#a2kX~NN$uoiYncW zN0$aw(B7Pj$f`|KiV%MfsCQCPiRN=0gF99kFUXVQ_0w0$TKt`Kl1@Q!!Z-O|>T|vj zwJ?6*W&-uBYGBj@OFp-{w+%A;upK+hJYZ{1|L{5dz~oXDC^|{Ma&?@xXk8?O6iYyz zPzh9iN!TVh@ydf@U)~=@q@;({qXCd?ps$>4Bn<t2yy+vBN{36rCq>-TF|D|kXAf|Jcgf?eQZ}YU zPGXf( zyb|q{ytMU5T`blk&?Q@sDu#m88m^uaQ&Xbv+^7r) zhHaN8Hx@}o%|y}#Z~*41(}83F^GQIT;xc)-o+wM@Aat~GAimqGa+nGP%u;% z))KF!Iv1{Ndq&N zSNJE1RjAM+*ilutrM3cf6I&3p3CzR4>;apUf-LN4S_N6A$Fa*%4~&w$_XGC=Gh*08{y9bo|>6YPhMEq7U3zYG1pT8#S zk?d|xW)xE*)^HM#h40=p^Z~Y+*~+|+{gp>&i2(DLqkLgdi1NijF(O5}6pxI8LH#8|2kcdtaF?r7(D z=eRrSMn~PFooLiMj{P{>hxwoL?v10t&jVhv7*;LgsDcm2MgTjEi8T%& zu>_MRB{(E%j4WV_6`}v~1%hK@!GT@CxPm=SR{N!~CGs)O2{3}NO(Ozfh3cSF^#;NY za~JGkkOxXS=PgbKR^5JGFR3NAS5@_M-RA-83}j{DuLjnDn?{s9ENQq-4DRKETU2UC z=OvzVPy)-+9Q6+S!~Olkz2ojlV_NwI!Mw+u4XcOE!``reus=B5J#L>iruUhfNqJH| zt)7-A<>;h*QjI2+(@HeyPIgXrPP>zCbkaT9i6*^M8(`+;W&R{8yeynVm6w$h5+7Qx zTicE8#;fK}?U%imyFc|`kyH=PmlzcsbU2{V9$-)gkSNZ6nc(ger%LK!|9E%OJ87RZ zCynFAVe3#RPst*vPHr@dGG?S4Ud^I|iDI!3G(EHJWHar5I0U<`IA5gYL+ zYK&U0ST*DS>Nrms!>I5YbVi@di)iqAa1?F7K71W*6F!f6M~CLfd_Bs&Zq&0!QTBDc z9%WvmP-k8bULO?tucO>(FaoSGI6CMHf^GlE_xilE+5Eo#W9=2j4sHhw>f`!p^Q<%9 zc^`E)Ti-Q)sQ+Bcf*tMF4(j8^o7P2Vj{aKyyvB9yA3LwQS;Swrd(dHunrF3n`F&K| zY<$=Hq5U(qCe?e1>y2A)8W%NPSNR-^{(V&aoap`gsPg&F=TYVT&ilAM-Ou4qc^~yY z=WKW%l|S!&9+lts!sq#Z_w(jv{oC4$+Di&R>TqNx;5BhvI(zk_+DYxN^;vVyJ=)Kj z&l}&?U({bVwq%w9eyX3;|Js-}ui9^Y{|8m>*Z#KiqVux-x^Ai=em3qWFa#dXqs~d^ zuWjx}W9!_n^=YTRE zTC>JH;=^z2-`9Suy+-LS16S`OFHSpWt;@!|`j+vjK5J~YzUh45{js}+!a@NQoJ&Ww z)B0Is)|y9r_-*_9&X1kfSb$~J%RV^}r?s=jWozDjyYU};FPg8K%~|wwvoVW)YBsN; zz5l6OY+m{C-5Tvb8$9cO+5c*=xxabv)xop`zl_scf}V6E@_?Gk{1@>MN`j|SBTl9i=}JyXOxbpzlaOvH zO38{Das-Juv56D_Azq-8Xe+T17%`wlr^vOj_^ij^{7Uj$0qR*nA7RH1<`{{X&LLW1iE8s7hj;@XJb=WWQvAsPKK%_H|d#vitQDmow$b7y62Y>w7C`PtxCA z{627^k^WfY*KokV zz=)HDl&UTkcL0)stESz$Fo)DpRs3%w`jT&yy!k&Fx!NtPJrANpu zY{f%ZU?h8Mos~+Mt~jhovM^!*y(GU-cN6Obm-v2_3)ZW$W!7g&3!!)Vq2Aez!AalZ zBvClea&LgdfloJn3He2%hN>5%Q*)s5gp70g8!?eNute$t%O#Cu>z;H!aMBB zY~p?($bxPsFh52dRw!XotM-h)iu6Xj1{fP~En$@km*N7{B{@5as#lIPF$e3H#*2x` z@vF?P@#Dh!T+WChFroE|<1GYva4&Q;tF+VN7{x4+46P36NNkY=J2*4UX&L6S`7EYu z(|!<{LvmqRH?yenhO7kt8ZqMn>Gj}5_O^FOO4-SfdX()IaTp5Rg`XT-d>5}Q zm~>Zf29vD^h@2#}onYW*50qC(jE_P<7z}s?da(l(SO)hP41{urjhA;Kd?M2=`3 zI+dD&4Z%$ii9IU4U4h$FQDAHeie%60hT*2@PKqkOjJN5|LsboyTM{+A+Z1ECGR~%T-Y|^JH zfxRU6!Llgi>q`2-6cFU_*!bK4pG1-Igte8tR-~V(ykHqL4tBsm4Z!9*$Ol~X&hyTf zN@$c&YFM160N?e5uB6l7Rf!~jO6fwo=OyKl&B=-3Ooira6IIYa-o#s zM-V-t2qy@uGsZv%VXh(|0%|kGogi`sB3!^=aJ;dv;d};Nhsy;&jA331xcdcd1PLlI zDNNk3Cs_M&lCqzK;RH8^1DAj@p)bm~>{R>Z{o+9$)DSz3HOLGRwuVWo>+!6hvhY8a zspP-`%O`XQ7yRfW-mvS9RFzHn??Iuy8!mc*YG2Q0Noy4&j{9 zmvkqxIraq^L*HQ2xk!4!-=zS(Iv8+SM-_qV5AgLe$mornc{b9a|3duSum5{Fk&u%F zQHz0_VF(mLYwH6gzG2GIY5tVqkPM2SU-Sh8DlR$}6%HpXMEtOpQ$W8^O0fRqaZ-Xf zFCbQSm|s>95d*Ct{HFBF1Acclwhv*=!R1bN*IuR%wb&k2>wDWfTbeyG+9-^mUB`>B(537q~2khf9pkQDwwj(e4ra}ei0=iztoqzyQs98ZWxek%42;Rgar>mA=E z(yuDtA?G$uUm%Twm->9>d&>{OiB`%-@&JWc#NEn{;cz3>0XFGCoMwTRZUgz(Aw1ni zZm`JM>6rQ~GEQG7OclYQjumT>8C#qpkfidwkUg$@78q#a!7X%FJ9j=_zQ-Ic#4y0? zNDd_Ooe-PqKjKJ*AfG=)XA6`<8FPD73zR+~#S+&A@c=ths)T6rAcg(*?-p6>ZMYmo z*T4%{@$g0P!ep7w9Z+Ef>XG%Cts)f#Afyr}32tN2ZGwdr0c3#)y$K1vMA#b+Ns~Sn zO9x|0>=_jtXCV!D>H_kQckAd zyZ+wZK#8-+PDSQ7;I^lu^$)w9AYP`-1v91KbLf!g5%A z{6+$)2!AEABdi~CQ^A)=LasRAJ;(-+Hm*nbBzSN@k4p&k8A06BT+P7?B9Q{LhIO{{ zq(}q_1gnrc6cvz9T(MPR9>{j2mCYRM7bhyjImAw-Lg7upgG^pJ;$ra-@p3FT5K5SA zZ(Qrlyi2OQJ@+0?tm50$4sIaRgWjTZUBM+6abw6(nOFmsx2~W(Voo{TE_Yp7y7;z< z3#XLBkS!0#IJ z>({iV0>!wJHt%Rpc@K4gwI=)$>ypM{&9w57xF~rI0}MmNFF0W=KyUcQN^bz9L(uOL zscpmZkQ5rqI~mHO4#xv;{ATl{f({wQ^GAnRGi)})VBWhPc zw-0QUqyuN=5~{Gcr|jMjeE*14DBwS2L`g0hk7TlLl!=CqoV15gc9rrxUlHvAWwBk#N?1!gE+^@A?u5SqCt)YFHxjOAts@0zkeY63}Ik) zHiAI388ctpa&PgW!b8eU;yLzdmJYE{b85}%2!68Bs=C{alg&WVTb6UR3pvI*_m zz&Y{oeM>MM$_Z2xm8jwuMaS6W?CpyF1TxD8V<53RmA~mTF<3Hn*nFX<)i8UZ zQ0=+#1G}aYy~;c`UJC7dlVkYjjSoVjY)lle4?98%FHec@iiZNl-!oBQ+}3%cSx1*7 zpNfNx3<&#W8nt*WOs?pTJVxu3b5i^fMx?dsc`z%80s~f-Bjj3F`Qj_}R!X|!hoCwm_IAholK4FDpA8QuGvNRruj{vzfT`KYh#Pcvp zqZ+p`)iqo$3lDNSOZ{WeMGnWD$|&I8IeJgICztp@t6BL5gOiBS!3#e9;{rzHq16AhC|r9dJ^&XN@G5CohqK>Pje@^ zah?RG3Td&rly)Wa9ohvcD#1BSM2eOW__qr6Y&EsF%U%(05dau3u-VXR%xBW8%rDt&{dKzEWFQ@v5_y_<3AAj>PK;0|^De4(1BZGUiQK z2k5hjw;2fl>k%)7YI7o2jG!u>=nu^^&{9)Cpy+D?yu$Dh8V%$I3yAV96*EiL$Q*S5 z_BpT-MC|QKmKj&#TbD9{q}0`k0MhsIb5r&izbAGa1_tPD<{p$KMlTAz+Yvg*4GD!0 zg)#s>$DF(!k&pEDZ3&Zy&{fFGEj-c%t-5vzqt=pjfm<*j{PYeocMrD%P%QA6ffVUb zD4{`OFBc;>?&|-CWd&q|k`vUEr_>V27qjPLR4AT$pwSJ*-NsdaaXz)PlA#L1H)R|q#|`NRMs~rKOmb&u0MPg zh6vV#z>Ot0bDZP4kg-Kf9|t4RwWyw}g3iLDrB$dX8w?Oi#NebB4$!iywW(!OOC+B?JpQQM57BmD7!=P|yD0szI7sfSkvUs97qBVd_SbMxh0C^QiP zv{kAR-_N676kzxwmeRua-Uj?f##_qP!~!iUDx+j5@>|f)X@6Z#E@Og5=5u`DsxHGL z!ZS;#goFotQX;-B)g@9632Y+3KsiAHrE!nCaL~kMu?9&wQ7lflL-;;IjtV&J2Fa0C zIJ#YK28B(g9j(I-Xe%=L zRuvlI`>X1Tkoi}AU3=Z2h6kxAb-?zN@Ms*89%%U^IpF9d?kTa5xyh;e4-2D8Vu7%I zN;RbQML;jgIqc%-s<`AsUiGlAl!XYs8jvQ*e85{VB06rTSo4UFRv1%|mh~egG$N$n3!}snkNIcNc?oEqV7=gaMO4?}2w=Mz zD;e=3l4Ph;MW!e^C-E7gSw7vInu*eFqe^Fmkw@UOioM8^W13M_ml5$xGS}FRo{=Q_H z`$&zyA63r;F%SC00(CWe#@Nweq;y4VNjMO~#jj&{(}Z8xRc_I)<DXnNO z;is-r3{|a}WF+S&rk1!6>UdKEM|S)mAu3%7Th8>5XPMt8ja}Ss1Z45mbLROdm}ZL= z=R8S^c@`n?yf|OjKAvHoxE-~qLwnhUWkv7Emd7?B%*wRwl(AeCWW*FIL{9Q<1OCx8d!M5qZS*BQ9%KvbjA;7O;VgK|h%?1bV)E6D_qJcI=v zXuo}~JVA67;pJnrCRVJc|5lJ){&6La#PdLa3?wRPfMgme3owL_;*cD<1%R&^Q;s1G zdYrmQ`3qthB?abas0G`q=y4Xl2s{BCtHdY}Y9N^PNM6HBT}LB>i)_Cd(i3?fO-c!O zg3E_X?EC5WZ(my3p?p)03@`8w4x`Vna6ON_y`IzYJEA^V&ZGk%y%wW*sax1cRdy6< z!dDMw1nLl<6|Me=sl-wTA)+&t#J-;yD(z|j+suA-zzGIOwod351DLQg!Fz?AEon$t z1La2*=!I5->SM8tB>PAKAq$X5rjPw8OA)z6RF!5E{po-V7uCETh`e}BIAHfRsw;9* zRp>!{iJj(QjPrgs5f2=`&fu7bfA4iSgW^LCU*Z8fAfOL{?(&x92m<`ws}CFK2fHom znL%4n29r-+zs8_CL_6Wl41wI574hve-9`9Y+xPe%TA5&8-NN244o?J15;W;QfkoYo?AFnfioZBJ=GmEl=ahHIHcMu`>UY0L~27T=*# zF#DePHua=IPD>59xLp_cI{jtn;@N8e&zAZROB3hREwyqF*I z=CWj!LiC6z;xS5gHK<^TV>-%77bOmN6cMIFr|W}Z1~$$3Zyi}yqZ#N{A|;p0=SdUD zXLG`0kw?bKty-JJ!sYWQ3)y}WEc{E~$0{e4Im$RdDj1`HtoEQ|VxJbEo+O`3 zM_3CBT;5B}K6a&X4`>U6D2SH?YM^Mdt5qBY z0A65wvjeY`b%*&k{H_&?vzi)|HC!qXh`2zj zSSk>R-!$HjU>KAzqy*hmeZSkJL(bI_W3Q!+(b8ShWVVi$`eik75Xac==$XPV$R<^! z$)GF;-C=WBJ1Fe~T?2us>T?`mg2{oeQvQcRACbd`>~{~Euo091Vu(Aez*mr`$@=IU z&sV@Z!qTfOG4Xtr^Ce_7dE2~&%Rwcv<;|5U7xAKnt4LTibfI`<2{+oK%~inLm?_H$ zSc}nmK3;GQ%!aZb8_?n5Tw0FquP75BKcd3KM$%t2Y$d!Q3=9cSsw(r6si!Px>OSWGA{!dZ*ewfiFFZo%K)Jya!o(7)LllR6~LPN=*@pgZ2RZ1J8^89~T{2uIuoj z`U+Mj4m~gn*rO(U2Ko@QGHiQVm`KI}PFY|au%QDWR*;A>Cw>7fn}(XT%Q6L7Easu! zE^on+NKDF8tC{N7Wa#NpOxwiM#hR2#|}`QV5+V~xH_3J$X3WHPiv~}DMVroz?U4NB zi{ytW1q25+xK0Rgs!FJ!O`NKnX{uotQU$F3u&f;8?Q`C1%Uza_i|CBwnpFZA9*&UP z1K!87$%>XHMi4SS&SLvXd2GIatCSX+jshO5D98=MLq)MYDm;Wtx^EXkoukzAWVBg6 znZThEjw)fi@`i1E0Vp(7HNh)D#6uSfBC5m9u$#mt@gEW{xjlHuTlp`=dxPSL%btg@ zq(hzLyV|1?4l8EpV_L)clGLa5K3A86zBrFqHdIl#b0#s3cj!|~WZ_YpGR)LsmV*~R zL?qgbsNdRc$97e&tUNxgbTb2TJA2OD%_|?QE&Io~04R5$6AI}`=6jCrm-6Bk(gLjz zZ&H|+^te1m0FxolH`|9bLWGCoNmS$V-=%gF{$GR{T8on+!Zn$yPl#YohY$-~%4$^+ zV?lG-0}Vi!S&*1QXGSIrvB5ZWc7e)3$nEb`#P2};M^-eDP1Jf~j8-=q?mx#a3CWEd zkZ1`U-b8Ov24N;6y{}IEn{C0(iJ9c-PDjhC<8jxau5>(JJ2}$)>M9F{Rl<)dN`MVo zM+TH1FJ#H8@e<;lq2kBNQNpEx%yAMc)Tho7qcw}Dq{G=2sm6vwFbMihyG4PAUkbs1 ztQSEd-Zch6sSs!*dnh;fsHEtV=0bJZFz%c`*&^W_*;%D*1DYNslz{}01tjGr$1YLM zAt_~8Q9G)1os-$sq0%)SF6QJ@%?lgNvXJXS+%XZ}7>P_qN8q7|$eW)Zv*-7C6vI_k zt|CdKv?ynz7m8zBDQz1#dHd4q37PC#{-C(SC{+1 z*X15Wp(-~%h~ECr!7jDBt!a0SgFpYObvF*TPC(G~s>@BxijBY9M};G9icXH0LdD^X zQra+lI}aHy?8w`7y)hD@VR6x0PE>Lb$m1aXr2q(Npdn?G^EkyR?1H!W;H}iR@+^xW z|FjVjp``lO%p}Z_CYeh53bDNctGFmx$ZqIpBjCHvvsd;+&&w5SrIq(@EnB~w_BnES zv^hYV<1eHUCR<$T_!Sa3-X~%G2xr31*KU@@l0^&ORUoGzxo#qg1(}xNb_c|FkatPl zailkOXjOh3+=&z>wl+FJmtW-h;10`?6)pLIFR&>$jmnYJUd{>jaGrq|=`gVI+0E zu0dF-XsnRywzx_JKWXf3xxQ*$nV2_$AIth={*AYwVJfZ_NtFyQ!M)9y!yz9yf`2bL zimraEB0C^+MM)GcBY%n?id)KG1Q8V2b0I+`8I0$2wcehrk~>s(FSm*rHtSx7?U*!$ zfE;z*J9~quNQM>6R%~1F061Dh)%d6g-kWGFXJ=88%2p#Wjy!d2i={{mbP+E5qL|4j zj()!m8J(W$aFM#raTEzWhMI(~6tCal_m1_ATl$&R+5Kc%8TE0qIPw5DWSJi2fTPY8 zfUa3~v9=G2o@u<|OJi(M6Qrr{DFL2H7xJ?L5nPTuHM9~yLr|7NA76v2Ph^G4!OqtS zO-a1UkpT#-h>K6bHn}v6;Fkn%z3-6ZxGljO;qQ@3XqunxQE7gr1Nw!p^}HamAFM}4 zHPPLZV5~|MWmH9Cs)pAE0aV!`s90m#sRa!#ic&eE5F;Ori-;x&(#ZwzU8%q}o+!TU z+m$`|=ynNm1oRW*7i5>Yu?=9XG&;8clAX^615L~AGNM=tGP zhnFZA#f2;jV@fZPfkF{zW@Sb zzz>A1L8UF>~$6wV0 zh~pZgUK*KzAeTZ-rlnMCI1Tl(sCEI3kuXL0!;fYfDf}gQI5SBMbkW=;1cTvCRAI#- z7$O3huC$90=rdvfPFxWe$}$GqUgHHXqe2)-5in71(3?ET`>8~BbwWHG#pBAoBrCjF>i^T@F~3 z%yyzNs|GUy2QL7JNK@g?)EMYrcCa)KE7~J7^EYnIMt-R-{OWlXU;|wiH~Qkd5`F{~ zy<&Rfl9TwV281MV)!`f@D+(Zf7mCi9=rlvUc-C6dc@lLLrea?Wq==b0*rQTB@Ee#0 zGcwH@>{X_!7TbolfO)w?v{X})x2iP+(#3E}2o<_fThweeHaxbS8I57b2^;LKE^r3a z8)KZ4BKHl>1hgM^ry#=Y5rj5ov(#T+ilrbzZhC7}=xR5g@K9ta1}In7PS!C&&@z&Y z%+Kk`#07F7?jibZSXanJh5`_+yB$wg=68@iIY)UaCrOW#S_%O*F z*~L1C7zl|DoiRRV3|A}wcWjvDZp&lU%2=@;TnB&8{(;;FEC|^qDQ!D#C{nuzz5S?t zK*iP}1WB!7`>=c1BUCQ=`JwX?t37mm`NTB4y@{eK*d{;}YJ{Qf@l=O=BKE_%%?vzb zpmIxcHAX+F7!5=aBDlqW37v#s*tq&V_Lm5|r$}2sF_Pm(1P{G42hNkGB=QMktSrtW znPr%zCaJK^RN?~_27)9>M79D;Rx$*JRKow*2x|ma7I_S%Zw%zK^Ss0Ll)xg4t>w&} zjq^tv)x@*ykX7IkQr6pR+v6J{E^SP3ynz58 zgM*Q)VsdCOpqawR8RRexu|mAKNvvcFwdg4{G#<>Aa|bW8&QU9tF%Z+*fcP?iQ1}@8 zJCe-&&Ae$va4)E)B!H20q@J0t)bno91i47@rpOB<2Ma`AST-t|ZvP7V;QE1Kh%G+E z+zCySM8)8EIL!LQR5pin)Rb|<90I!H&3VoJO ziHpe}iC0}`LIqxBPb_CN4$I*@D|;#g8Ab_-5JZi6G-N-4&5q9afYSyi72M#o3%^mw zlTUL?AZ3j^j}1k{m$K8Vg^|E{~C z*%PeNE;-uFte4fB~TxPUGE}a`DLqp+4^*p7X*+1|Nv47jv z5<5`%>OeL@k{d(MI&QLbdA1m|(H7;ZwXjgUf>y@bk}&FW;K$-VBBzil0ldXTcJT7Qi)|$8C4Ed*jNywrYl8|_ILYn=~dy{ZnhW>!r%zIHUr@?FE$!1`eZZ& zHo}R)j}^{-j#5?;pq>6g{Huz@XE`kezgBno)iEGhbhs+Y;Z~s9fSz5d5u-)ETa#Pi zPHQrjVADy3qLE&f_?pe2zL1ACinI{wu?0n(Zwp+qYr-y=KI*Gxt5F7-9%c8oDVe;B z;;6b65ydaLzqHoHa9lKyv=g&+#1iDko*^tejt2NT{vv)#(m!aOfdBw4L5k?g@r)h8 z%j*oie1Rh;$g#i&BC(VR3dM*($OFt@5^feB!VRI!0;I7AL9>I9#})9*^l0SzMTXYn zWN|^1%f+OdBjDMT2Iqd{cSThetTrt9t5p(_;D4uds7?iuiab)jwvOOq?vC30AQvs# zIo##PXwRNg*t0nzLx-T9qa5LxmYoiU4$PG(-vsq=nw6>wAs`_TSrLa+yNi8fh&a`d z+imVAUP9KXU~iPVz&p(wFvyCpL^d(U6$c!05gHQYAF~3MzJt^;(b{9N8meCScM4#s z(lauc6P+TH*y03y03fQ~41r*@7D;Y3f`7ISts1XCYDG!H?7>jt<_}Z^vR@!0fkCTw zU>o`-nVR$(OXIB&Swvc^KuVDWT32m08l%UksKYA2PzA|jrN7BP(;nbM^omN2oL7GE z29zdjQxTewreERACi_t)SB~MLRbYQ$`Gt-|>qPbs8IpS2@D;^a_g&~K_NOkN} z&sx=EcvXa>gEWXyRnK<-VwFK?;PcyI2J|f7u2dIVIVDJxDUKUf3Qhw{1?7qf#Ende46H*(ynsIeUnfsdnJZG&yEtwQ zAgR$d#&>CJLMP;`&MItXMQCx^eyXNgEssz+Ws$I8pgBier%OXBh;fVGIjmR``(3?A z(Q8nZz9+g%(lH9)5)}ThqaF;qjejXAOpkTaRN-P#&5~f$MB#uxRq?=$&lctWwO3CD=12QTGDy6*yIM z^1{(cWX}_RQT4%*CVfa=(q6;6y0m5O!vgg*Y_7Z>2cV0((G_6XVtP!`mv=iJDZ@r6}D3Evgnn zhvIBq^rhBObJP?8zRD@YY7iP7rJR&mPD&Lt1LW^=jru{nk^P7hTzeTLbe&yCfCHic z2#9zJE8S~N6541{qub{ma$aV1?`Zc(e0p;BQxeFv&7D`6-aQLA6ji0w=OMA=#l)aQ zRM!Nde68|OT;mrFh`@_68d}?wAf%wO{Lxq-Ed)C3Fk+mj71SH!2hmES#G8^%EcFnh zQu;$3ggX|WiEeZ;QF(yz3!3je#z7oaGGhSl8_-WkKmvXYCqk3r4QwA~o>+sN4fsUm zY+xBD2wshnYo+8}F^6Z1-AJg@Sy&1z$yp(Lnf|ysgs36Sin4o4eM>xsKfA(yw!O@z z;^;%xrgB9<1-U#D4l8$C=a(0o6=||PW?7Y7fgDG+OGCfuOIQJ<+%B#G^mqaxc;_(& zMZXJj7LEuoq2i4c6c9&g=oj@WjJwTOxKtrfcxJm2aLl07?dss3F(KH^ElfkR2TfgefgFasO1OEE7&W8I#r@nOSj09|{DFJ8mJkQDLVL(- zddh7$YIuj7-998?HNh>*sJAr;iE8o(;SB0wxZsA?$7}+!D;4-bjR$c?sS zsAMjA+l;NVYg#%ob}(^>PF62MnHb_L)_)CyO%0wrpf>9n2V(tP!f> zRHe|4GDGe3!-HtNsoMV7{WiN@jB(Z@*EDq)5@7>i%%2>vtT#)l=2Yd5w4Xv4yu&!c zG)!hDhY=M9Y6x0;-SlbB^xtnzsM=gdT_lLzjP3@E8YUG%Cxi5W#*IS~y`#1$M#Sl_ z#h=@!E@S{`6RIS;+IsB^v~egBnPalyucEXbEv4_kOkgHJ<0Ul7A!{&huL5DjSxRab z&5Wy5bW)WkIYp4D9C7ZD;JMN-B+uHcubrd4qdsyB`H0K$Fmlq){CC41pQ@6S7(+R8 zx~=M2D*)!=41DT&10R;#juqxQnRbo+Dwrhh! z3ZWyiO=HJIC~|C6_?Yd49D{5L=0%mP63UX0f_G#U7W_cEvos{D2k8ghVqS3kINng5 zICROLtVf2zY`Oj2EUpZ4jZ-56exgBGopupVyziK>QCE)%9!(23nh%bA7aj-n9q-lJ zR&$cw-D=ef+9SUPTq1;LFv;V;;>1-VFeKtggac^njv~^0soX-M^Z^dqE_uc5wk8?W z6eFsPN=JpG{3t&x4vQlc99WT7w@_S;k}!b@|+w+|^R zL}8)gVR499ra!^Or2&Yk3pjM4O#=oWFA!6NLeCIfCMOg+M60(5vH~{J@KrC3d-_Z$ zvLsaiOtio(Q__MLCM)*po1`tl6Vs-sFll7+924hj<256NmxBaTM+r>mZCEXk`@!AL z$qgf~ln6vCgciOk6#51E;P3(E@kR?wf^QE1IRQ&FE2-}SE=NUEyzJ1~2B768#Oipmd@R&mwXyN@@vFw`8eSA4coZ0G zIiF2S;kSCWy)6_1S?iqbQXTy$avoKiEgeg6UWlv$m00xfIQ_(vT0dx!)Vg2YhmCBo z7m-;ZhacI&!~SUZ$XD)yS6MOXpoO*+ro(>IBH$1%%3IHrd7?_xFT^g!CWD1@7}FaU zFz^?r7Y%l)Z|MCf@j{gKjO30bknyUf7Gz5DXo(odFr4mYgeLNb0>=Iy{MOJgOSwWd zfMN`Kf2^)5i?xRzgafZl0V$DypzC`zAH@NypQVKoiYd4U$qm39&dFV8UkT!k#-+Mr zif?A2_l$}o(zlC;RHQ1gZg^QSZ-?}hUWF3`9#B!W?m~KdA9=lAHdVzMqm4~TEV&;K z@v=0rFG7EbTZsx6h0auKrWs~GT)h0k?~4`%zVO!Sg$}`|-{4O{bD+oAx&+gAyqt#a z0T>-QefXG}PSlhJ)P8UeqAyZljcv}M4J{Cyj~K-=ssgneJW^U<9Ko)IiubQy?;w5L zddJn^rtsE!!?9n*#3E;r6&DyT9LXtd;cQ%3U$Rm=T6c&>k21ITlQ3(j z?on|B;Z7mw@1RLH4)C^UyJ5h=f~vp`YE`@C1_-?$zO#7Kk`jOjgDKytkOazmtWAQ- zB*QlG!y*-_iz)vV&E(KWg=Q3xcd%c=_ldXG07|h0ay?nz7l4D=6?lnIv0)BCL6WA5 z0=-9^ylp2-`#|1pG*O)`ywk@g)ETzSOhMSm_Jyg(w2!X5UxWjC(S?vH9*4nL-G;|yfE(Y9b37))m{a&V^vlN%%5s* zD}aYzfx0Y20rXr$Kb!0@BtFN(YELYEg?`R>pxl!SeLK{wkh0fVVpejs5rqv5ti>Y` zCh|SV!={iOtZ*pTmM>9dYwF8n4lm-E;E;r3It56V`H1kw=CM zZ3yJaX23{A?HIHVTEhlu<#jReN%*OHV+~G7q&5wM@B=p?rB!P>FPK}rXTnP&_`Qi2 zdoe8T^AY2gtT)`foRoQd6Ba!IW`cb|oDN6mitt2oU76xNqRA{5LG!|rhQR^qgjBgw zQHWJeXJzpzv4ez$j*d!(0xuHkKb0LwlB8IW{C~iCwTtUb0RuTeTUZ8oq4~oSK=lW0 zk!O0BU4k8TujhL5j!0~kdO+|NG8@$Av68F{Squwo0yx%`6^+@KI2%>5sx zD#atnwc0%(}-3i5Z1^a)2Pp)Qf`0k*|;$kELY?EPdM0a`Hq+EeKo0^wZo zydtR4Vk2Wp0RNzovEwW+ zhT<5A7>gD_&zyxBBqyOTIk=vAOw&R!3+hQaIi6>$Q5+-y5u<9*O6$c^qbO=S(^%; zLyd{b4TK6+N4OpmpXfPpD@~(Q(@cVhiHh$s+2r4wTY_~({*I*%$xpjT7V0xbsd+89 zfnxy^T_}$sYK6AK3C#m(Se3n3kWZY^lgf!D0*5_D7NZVpsGSGSKTbzmz^cuEPdgw) z!(athu89)ICBNABn6&`KG1PebPR2{}pGA!;LWy$O`?S*=y@&dw4X*56zrmp`71~N} z5pil#y88pq(B8-lQQ>f!;Zm!^G$m&U(pAMi#5dwghY+`bY#*&0ggXMq=v`DPO)&JFem&E3btfWKU${=cOGnZl; z=|DJn&^mP2t)jPt*|S~h)I@yP8bl4QgJV>+b-1o!*WHtM(E)+_0s^feUaV1Mr=ZgB zP%i?uay*Q9=fu89%7_RTg^NX?1F$zLM#57Ja~DVv9Fmzsyec5&ml+tvJ+Dg4cy$QQ z?I=U4sgfX%fcfer>?|xSNF0lmb&|R2~};JNIB(0k?ZfI(Tw-@Jvn)ciSKL?j>vK5Uu%vcKCf&rsC6O>RZa2om9a0|=_xbFR$UGDD(g zNA&o8HXz#)%&*ewsr1#URmco?REfsn5{WZWA>+W8NXSUdp*?p!2T!SjZ{aEI`1CXQ zWRXD8NiOl(xY!&|uIoPvjId2mt&6j86^>oCI-FNp$AARBAv1t1K~3ec zwmK-xe-1ziy=O6PffbSRpxc3w2QL`&E>c2_V^I!`))M_9@5Ka+6lX-);dPBF=pW`` zBnSuA!1W2YZ%6(bBVyE1sGY@hKy=HIV`Pk=T=6)ecB>5+uOj z0BnlcBVz6PF6SzIk66Q4LikLGBU9b0eo!5zzQe9>Kzr|c;`ku(rV;T*Fk_bhPQyJ% z33_m901WPYn%X1Y$o1DhtTnnHiTk3sg7E;o(SCLF`i0Qw>5scxv`S8-nJCc<@I9%% zBqS4-lj%{@cpZQm#+gQF4R|IgIEhMf_Y=c7A}Fn*X$zWn1@lOLD8iqu5-Ot6RxX+t zEqy{6{Vc#m={PObHOg{u-c$e!wWo^Xf`shLhjVZ zV!?wz)`M~f;>V<({E$-fS@C150AwfAL;g45Mzon+)-ze5c;~e%?iS?Lp+1P z6;1$0r^)@`mw4UDps-T55iM>P{=Q*Z5G}^s6KaY~Qw*DM@aEa_P=uoD?N^9?>3VoI zA??QPjP$f0ung!GrPd4DD~@s#deNeVyCkz|g(Kl4$#l1f`wK-JH;~h|u8T+;6uEvWty|Qb_5;8;44rrJb0Qs;nu*m@>Pe1JdprjTn@q_<$6H{zgI1Pc zo*1Lrj>xk?v>8k~sA!z3(stqWgsO*Mg`O;6eig{2)uiw*b8ruyPrTzs_IV%*!qtqQ z6k{Owz5t6{g{ZV5STKevK@+2g^fS^OfsJ9OV)Ni_6lExxBq9Rqk}H*yp4K6}LUjb% z$`J?h$Xpp5o&eAY)TuP4>Xvb$LWPg6hKVbTE>$<#aAKHLutcQU57yU8dWiDA#MBEQ z7(=PMF}=8sj^Dm`aW%UhT~Ef%$?^5*;`D4%xVWBN&3QGQT|7CSUCiCrn#tGx_%vGk zJ~yo0TwmT?zq+~_z5mQjf&Jup@qM4or+=S3`7HY3$LRa;l`oHOrf1_X&qs5+s4LQuCxx0 zj*oB7Z_emsZ!$f7Ltme$--V0NO1cwXr`rBB8qaQy&L*i(7y7i~{`D(bcznJ7_I88R z4Hq64H)7#2afensZ~cSrapM*DYyItJbTxV8U58A^v-#+J($d@x$MfsYqCfsI8XsRo zKmHiak1u>r9yiZ6iO)2_LsrNy&nD-W*Y8W(Gk4v_#`5>qb!>IJ(oed(Vex#hx86>E&EK4zt(=L4sXdy_ z&Ynj4nciwP(t6Vt_H@2AySSd+T=9z=FWof0Zt3~c>-XD}6U4xL>4MbqO)ckCtNb0E zeA#+4IsRqg`P|rxm94kj;7_3eTW?#Fzx|08yJn`JZ$ij@o2M_l+Im}=oVTuLSEJKO zd@Jk!#pR49%%hh~yxw@+y5nhY-!K)n^z6QG!hPLsH@=b-dvknqb*1I*{`evCPv;8v z`NibdYx~^(NPm8fU_G-|>hmY#$>sGMt-^1$w&Pddgkjn+xfRVPf4e~_PNL~Nx|m%@ zqvW00N#vSn&E3eJ%|_SLi_r5#K0%C+qY)P`JaKw4o*r|{+10|^_DsY+_e|eUjh;-ed0O)A3obn$ zU0+Rqbq#30nfTYy{LSp+Y!T%isRZI=FkC>UO-|C(66%`8XpyZ-)5^I=0pOD|_< z?@wnJ(Uaq|*_;u3PE&8L-cI6q9J)z*b~?GP9sLyvr5oE)3-7oG_^-KL?0Wh{H`$)d z={Qr%L;NCG*bL0p$6z9=HCP^5fb0<+C^O(W-fIi^3)=H96_2U}oNo-cGbi zSbJxa=xX*(iz9x0JUhEN*O_qZejFdsxejVgxYqXMVs>--Cc2(QC(~=2G(F#q&h6`M z0_@qEUL8o033it3R7bvA@%8ih)@JlX$^(mGZgWzXxQG`*bjx#+i>Dy_)T?IyUb*sKhI9D=GQIy z^gY`_H<-Rfz-Gc2>i2JR|8G9U{WrgAu?jE7>OkD)we5Yr8O9@bHM#(mx@t)N9FIu2 z;m6(Yb`#g$?~eKU^VU`iZG3*8N&5}&zjD$(_WsKwvi5#=&sTa#7AEaCxZiRU)7xRg z7E#+Ys1=*;#fybS_JjNO)2KfEb#m5z8u@8_`Qin}%hd=4<;iC$Yl_V+D+;s2{beG- zU-QS$qW(J$$H=$fM+uC-_&Y~GMmHRPrxzS4$8Sbge+f_G1Kn822fx1^vG7{QVC7 z`(3u=|G52i)BB+Q{pUDB7S`>3`(E`EQUd}hq+8|7!{zu2;8bLZXN zl$WNk{N~1nya3i<97A>=EO)uHFTQjxf>(+j-r(n@-jn0nw*0S%3 z?aZPNPIPYSdefh`KVq-kyS2T~X-|yxU#A}Y<_~PdL z2p=#40da>HavnW-_hx$h#{8)9XR)Vw9v$H}-1N79oE)E=kGcJ zzom7vu@O)9rdu;w4Q!|D5fgGTIVDhlJN}(Tz-=AG-+%tV@B90QdylT8vk5_aTQgb( zf1g~%b@x*G*VzS5!o*8Z}a@q>rGoeY1y6^9|ZGW4M%`>M$u^KhAX zLSU?n_#@y(@4bO6sgnLu5M4`WoD&3byflAPnGusxpfpBH_;+_gw{6UhAdEWu0M-5+;b zLao04i|q~P%hDs%>&MAW-^(QYO8k?x1+*j42BRlo&$?LC7hW-RW3BbZxIVK`s#6ue zG1c_;``>Eeyt#RHE7qp>eM{oC==;y;CIgo4_SW0@eG5#d=VOcILR7+y-G}Dmcy@I$ zxoX`U;ags*pxKg5tug0V77SzgulD5XeCuioz-Bs1R-$^x`a%j{$I)@dSB!w)wn%eN}tMsOz&r zwKZISAs=pj15#pibH)?Tc;;21^?aD&-$L^?-cGNsrF^j2Y`?E*iCp;Smqg}$FM?Fj zbb4`;7E#M0D}J3?4{oO8^+)L9_8_UFFJ2IN9-=s0kGv?GUyonBcx$8hgYLZc!sg_Z zIJAXOU&in-_r!<2{7h%o{95bruIH_3h$6ZPZp%IY!>>*Jf%8G#FtKNLR^rr4Rzd5%y|KW)n=b`D=PYS>O z`V^#wNw7!#w&Fj_lC4AcYHi~@IT_==yZG=u{Vm7bih{J*2y_e7;A2uSV|@=^T1}t7nOrwtmF-eTVseHGgwY7-~EQ z@%5MQuPT$#MeEJ<7M%XwveUFj1)yYOhubbnxDD&3~O*^S1Hl*Nc~a z^MLL0IQchsXTHIqoZg}K%NBHd7SyJHCE2BavOg0?0E0R@N2@%Wyv3s^!|QrB!(Rwk zOjcJgpt#QLWWZ)jiPv)YJklupjPRv>CS_T1zPZx@L&#Z~tEXx9|Vkmw(*Y_>XTk|7Ydj{%`*} z``7RO_5b^q|MOq|{a^l%jsNRkO~3l4GP}Bb)119?3s0)ix0UHd?XvJDlaVU)b@)Pc z)}0)um7ot?fBliy&p-0|laIW9{P^ofzkb~K+4UbWes=vwjGtZq5#wjq-*5c>!PQ~dC#oTi&gC-bzLH6FzUHVetu{=U3A2Hl8aDmrv8bw50ky`j?hWzuWVE$Muqy zJilB2K4QI?KUUsT=RNqLcKI~IMOwQgM=a%4NP|e?BryxDhP1HSrBAOi$LkNb!S^r! z;%*$iriYqS;x86Gafz-jUCjO-{(w{XWjZ%ZTG^*+uYqcQgC>50_GwA|ryEZf*ZKGX z{Z!+*kgoU<&5Yw;=UUIRv)SqU%xXN$Lf9(~b0y(87m2i`p8%kE(?YJ~7!&mYaOI!Z z1k(YWv2}d~v&)S_ZJD!);3ZEAmuFkBLzE`KbI$&>NIt>-@z-xp#XRG8bpnraxZ1^A zSYwvseI^>>-dYoV^k(tbid!w-Z}AIAf-O)2*DE^4s3wu3+kb_Qeya82(Aee91W3c zN;9+7R!f%N-h#-mwc`Cuxm>8X1U++@ItRIP06OtYlz$$vK0et6%hIH*7{$heK75H~}rkKLU(tP4q z&vldd)z=HJ7O8K(lQy!kadYv@#q8Zh6pQ~Ul9~xpc0Jg$Aa7s17<-8ufEga)tM$Ba zGU$zm9ty50_S57G;Aj12C#*OiOm^yHVfRvpjvFt1kltTTEnKm)+y|*Wr7Kr9JU%*saDyI`4Jjn_cKlv{RJ7#Ik4ToPhQ#bGq{RB zfkWHEg?^0F?Quhpxi|&5=$dnEhgTwg?mtL(9Qppq?w3EmU%apdSG#mwRjZcA{CE(Wa?u@~&9MQ)jkLJfvL5E^{z`6Ue+3j5 zFP8R;zrSl=eD_xuCl(&`t`?^EdVPt1r*y z3YFLf$A90A$3kybuBGs_cvP3#A7=ditzMd{2jJ<_7*adqm!WvyesVmWTcoM9iw$7` zr6JuL{i>FyF1l}<*Wvb70t@eZQ?{_~YkClU5E{__M$6IrQhfgOoqDHF?3MkIBp3_M z%txst5=$2GvQ)p~^+Kk`c>4DF_KO!&awEwJ7~Ncq;5=mINYe@nj0I=9L;CBafI0S1 zI~t##gzv7o|FOsw-Swax18~>3$-O@nRi5CChG*7CkHlA6r|fRe9nyR<1{xVa>)bc# z$Jy){!xFwg>}6&CO?}3Wy|3o{82#ILL)UN5ub=4m)98<|g}R&Rb?xf(NfbVa+$Z7v ziE(*`S2LsP(>R59mOn@QzYU+;^Wy9EYP@j$s?V3N_fOPf36C5P!ntE?cu8?9Ov7^awgmU>^|?9{%}`GL_l z?NQpN8kKqxycc)n`)ocZk1J*sT^S8nk>C^a|K-J2xHY{xR_=Gu4I~{xx?MOJ*8Qf{ z>4Q|0%D-5?*!`76Ft303WL|!T-Fxv(zaCfIzqLJmd&?hf6XG+mt(oZ`%ae%i@q@qM z`Aa6ze|J>_Ry-d*<)hKj^o+FQ>9O_I=|m51g7x~FxB=GV#pi|j(o(ro?Ori}LC;Hm zubRQd^7N@$Onr-Jf zTF<8!?qk~o{5aFfuZ(^TXOAVFj}tP~@V%=yv!}{}$HOAv{q-B<0&e4R{Fuub*;yn- z`wN7(Pu(V@y>pG{p5=UvnP%@#Z)*7e757bCKOD~RxL!hOeo0#9HHYDR0%Zx!IUik+ zG3eXZxgfh`c6xygO&=!LZ)TjVq`<4)a}r#|1#AQ5C)Ftu#GZ$k$!e29gGF*Oui)Gk&@qp|EMhXAr%&*Ij z*m~=|IPUg-{I}jp(@oA=jlhcbKA9UMioYoJLhbeQ#qo~xzrMK+oxC+3;!_cIcvu*E z82|k9(p@cF6jX!&*X6BvOmf~ccDU-4A%idL_hzr_KMFL2GZd&S*d zc|D<_)GVn%t7hM~W@!n;`|l*xy+lIXa-yZ)sGXP(ckVQ~)CcMA$4Z{>!u0D@awzNJ zap&8y+gbC(5}tmuc;CLw*?xM`BA)^V9lGc}@ScC)fp6Nx^E`U@W+E^4c%u98Su@ja z4ztu|+s;yiF`6Oyuii~zP>Jutm%e`9O75V$ZcrxUGL^0m&&J;;abEq8k!R6D&lM?) z6P>XT-h!$UUrEYsNY9p$XIln_=qIuUaw~-$)<}Jh-pclb3L39-`~(k(&fH~ zUfbV(gS2W%tuJ1pAPiHDCdYj^y*Qa!2!StOUN3U1S7#T-Br-cWnNJXPj^8FuuH($q z;8D%8G;C6$GDasN?O~U&O0DUC$y4!=t17Q7B=e9< zI$Yz1F1aeC81wX0qdj?rXEl2+w?}eG%Kz|Pkil_=U>{J`Y}9y_D17;JYA6#t`Gdb-(Q+k3;y z9)xC-mAmx@o*NTJTB`QqTJKNd0u$jpk%V2mLROkxVxoWL#q^0*@T~MUze_f!kC3#K ziX|qui?@=E*#G_C|JRMbZ~Q<1{X_r%_y705Zu~D?VfjSgZnw8A84gyI83DKy=Y)O! ze7jAo=JtnNAI}fShKV?g&?GL_d!iQ`o4!5}JK6Oo#CZ~-zAp5ZOlvX>aeHuB1WKj& zmKAEcxB!gVemd(PC(qSb^;7M1GTk@<+upgkU1+t3!_;KCHv&J?B7FZ7UK1zRukl&#EWNG-sAxO(5ejctwlW(n$2fuNv zG4wgqyGdl9@jLw?yzjN42gvpFGb;i2%lMkPh*#Q$$!jCTwUT34d-MM6WZwT}e_y4V zE~js2(i9ioN6`)Mo1s5Cnm-}#KY`f=FYeqb)p?C}I{x*1biJheNILrulKy?8cc1vT z6;zT+W`fnf7s63SE$Nzl`_^I6JPE+A&wh!1h>};P%{$Uz`|8`t@$H+aCH{k?eK!8# zT~(p-^frFk`x~p_x^YPkH|vqG9AO_6&5%{;E1i;B@KLB4x_wh!Dd_7n!}mL7|$F}>IZ%;zHi&L51!$8#CgtRWpv)N_F z?6>95(>M9hep$HjJ+{okdQ7$H#S07+oH3|Nv!UNK@gnzwy!<*IezsFk8vRV%U!Phz zU&{@ns^C2|S~X)C{}9&0`hMe9Dv#bnt%>5dtZ>Enf47Jinnieuh`*#&+FS-kHxaFO z2z=9~c=;||Zeu*WQoJX%64#9MijiN#*R{T%TKL165l=Zn!&{F{O=H;pi}Gus19rcW zYRH*%F?qJC`HNGc^`SBH1@4e0yb+3H{qTd`CH;9&*l}LP6|tOm-8nOt-063;_njC| z;|W`8M%>7-Ui>;kIoXs$@{@cay3$P0d5`jHHFvJIF)m1Cl4`^Nq4 zEHBsn?SsN=^+nILjtgibQgg!JXo;Fw&-ona&lE4bm|VY`UHw9dM(0&Mn&6VQbxCXy zuLXqlV^6QWVdZ<#ec^kYFKNBj{wLC zD&UYizd1I4scS%dD~tao9;1=t*yka>PV2d2UAIDTx^qHRXI6tFviCgi$!GEHL+{k# z#mkutqr6|ZgH(QX`l~M>G-cH=R-d_rw6Qz}|C|j!69f4Z*VfQ-Tb>)aSDjX?@T%%w zZEO^_Gu3vXy&GP)3b{(Husv+;R_v`4Cn@6ig?}B~UK@&?V>=pd!G62f@%M#i;Qjb@ zm=Z65HthA#t!F*(^{cH?y;;MP=>Co0IUyZhJKpK!y{7;2_?^$McsIN}yP0or9Zlnp zUh)1=IE2*Zw(r>@ zN}BE0QSt_;z=cD}H+v&c)F%gwi*l`Lzp_*ULL&^N))j!WV6V1=?Uq))8CL)K z=GXBTq`@a&`k;Qkbm2-IValjo=vVwq%Pp!x3_5?3o)!%r8Alu!03(+*U$-W3f`ghf zHDL?IP2vR{=9g#PZdpuEzBK|D15v$cHVYkp z@Onzym+=s|2mSxty#-uVOZNbZt=Qd)4Js&z#hKZP*Z~Nbh)4=bNvL39D|VvT-F0ow zUdQgZc3(U0wd>mP*36Ex4;&Ql-|zk2?|Huu*n3Z`S+i!%s#$}S#I*VUH}H@auPR>5 z(}M~hUN7W@f|phUkqAPGvDA`_VmjnE5M@9y3jTl6FUOP@hTC~Yg@wj?u(hUY^Cos~ z6FW*8{4)8{#j~?U4>5(E)0;$essf~z2*AsJ5Nr5T#T6qWdH&PW4qrluF3x^|@ZsKa{nNKZ%vHS4mmpalXR+qP)?7>cjS9 zCP>Nucs=Pd3T|>@w^CqjS)jE*eFV2(6n%KPKCJmZCg0Qci*x4c92SNIfYYwPWvtg9 z-}9dRxzRM6BWd7A(Ac=ibhX1-b5W5tB5sRDq*g46mBZxp^wV7ttz9N zuQC(B*dN{z_O&A%Y$NK`j&QV%s9)R8&dvvmd57EEhC9>_uU9+V(KcLqja4x)3MHn9 z8kj~KC82Qk8=vdi`s3;IKqL|AJ~hkc$}soOC_WJB0apv(hd62bq5zD79Gf2xw=TY( z&K=y_^E2d{4=!%)VU`sQjdtReh}t6u|Ns*nb9E(xs)ik5;?Cjyoz2GgHV(HSA#)|PEd`35+JOFeA4YbGg#(pzRm#=HKy7-bqu7-PtG8R_F zx{{3I7*7lr#KHAv@WjY06U!@)((I=xY@JbQHg-*A27m_Hc*jTo7%o=?Gr2 zpDL;uBIJLWlxLVv3We$)i8UyQrFZvbR$lVt=_~LXwltbq{Rem zK0EJ1)_?1HcJ9zX%5h}WeOUp`cm6@um$8CWp6M#aI`a31_?dl>^=f{JXJlZ!>JL-D z+q*|&Oiw^;GyYZWPx)?am_sXl&oEy#bF{IMXaM_}KF;9%QF|&NKWj*a&qNpm5(%Yc0ZIeBbv!D? zjzC976X~^d@Q}?Xk5P~o02**)pq1-=+h8=j?9w*l<5TdL#=osJhAi#B`$`#!D(#!_ zO?7^_4~^5Q)<>sRb<^tK99gI|b&6o_65OFsi1(Ck^p;ps8ZA7d{*6l(uf{`9ro<98 z#sO&;QRYm2lCj-UdSQ$YkfucCm+A-+)aEQu7o!JFZHH`NZrnnvF??xWXptbVb@uBQ z=oL-w|NkRchBhs&aE$*af3Hkgio;OG@$YM2qKGujTd?*sTCT`z(n|}RWoWqzyZIJ{ zGcL5Jkr*<=F4DD^iAqWl<#(p|ScW5Q6%^|cIY8Q2%%cKNn*_vmL02+r8Yp)Epr{Kj zT@Q97m-S|bz5Rs$XoLY{)PS{(W)`@DtTBcw{KWi*5zE9ZY40`5>Q#fK9MNSQnY!ct z&tIADp(cDeCNer!lB{Ez#k-*M6V+S|F0}g{!?*OTrOgbaSS5G`*O)P$A*MeI^=fat ztDAX>nNztp>Sn4|!s2AvTMQ(?PdotA3a=6W^>|+FPGd&=X}`*uWSK2kun0nw&hc;@ zKb2-YOpcH-r>x>f?90>D@eDP*Dz_JLb0xD@awRiR-Ve9~R92fU+PHeP@Nji*Z`H!X z!_C9VN@))_65beB)~wi5jGQwR4`#<$p}v8+4Dd7{o}r44i;7jkD^z`3F*cxLis!wU z)f07CGs?I!PQ@s}G*UJ$Wxti|@c8f=#LGKx)=PQ-r^fo~5XH_Ck7Aq6bj^ z>W=}97}PFT$M~hFDCC;Hl9?sO!dr$nP9vY96sA@(eV?W>Hfq8g*qIYK@eLoumo$<{(y_u6(C z3$Vrt0opYoukcu;bB;r$E3C+rD-JyV;2aSFj=;H9Oo-Yc@b9KbOIJAUXYB+@95*;^ z`+>m{S>S#Y8yb%B7QQS2h+nh?7seSwlYo{8fx#{tH8qIgLx|zBiZ6?MLtzCE&Bk)J zuDV*7ZsCiQW%`!qQ}RUvVA|IbK78YYwYcE6E*W0m40yLX|9JYFtsi-PF>>Hbof})F zHOJm5%if|(2nJ7D1w=>2#MtunB*hYP{vFM-qH^x8<#(aqkQd?F$aVd8Av0wO zG&?IVj5Wa+GE^PoFntK&qD_pGQ(xa;Oq3!>GtX$$&)*y80Ua+v1JT6k!&9$to`|u1 zeC5i^PUU&_fobE}Wa}mhqNTCjUF`z0ngiML`Wmhs#gdV9G1pow(jZ7ZH0U)9K& zCJK@5lbVldohjTtu56Y#Bx!KWi7171WiU->r{;o806L#kDnm~Y>h&yz8QabgZeBzM zOdUQJQml$PtDsPv6g*hZJxTG5=`nsPr2*ja77Q7xyjh#kZ4`1tT-DeJR#cmp=0o{u zA`i-IRkEX~p{}ZAYsQ>nY9HlDa9GAz9nAuw|>^a!G2FKyI5vNt+%Ljye6 z#)>|h$Ox@H)xjbCcT>Zv43gZQV?FcbeO=HBgIQFX%O^AW;dQMM^=J0Z3<1fc{gchd z@1YlYX45F_X6eT~F4V(8>H_&WIdOXc>QU;HXVkR6ALh&PRSv-VV(O;=ekxb(%e-=C z)YRE`qz`p{<1?Poh>HpF_4fd#^PMObaDf z9I+I;CxjnQG8aOm;NR3fnGu%$&*n;%U#NIutSY1Ker~?h=(}Oj42!{hyY-8xfxBi@ zP=uY83zuH`YdmqyW4c+nUyk1oi{|RB0;-j9-CMb^&6I^3AOw8#lmBM@u;Z2NHwN{F zA|)^)W8tS3cs)gQM68q}jftQU@?5gA>|bP>XMWDsimgO;TE!~TzYm&lupH-f(jfr0 zA*m`)jGdJtN^+wK`>2IYC3W?*m;{TOVAWVaQE}x0?C}TvT3PdXej2CfdqRy~AA=FgS94H0})gs}zPS!A?1? z%=8o6=MIl0KZ zDGvofRUVZJFd4IDBp%$CzN+6F^EYNB(4WbVnu?i{7|qgOdf1$tGO@QaGBBBcmc2vK zcF_{x(zzunywaIIg=9?1o9j0&3Rz8%960A35$F{i8qSOu>0?8<-t?>U^}ps%zps6X z9*zD2)QoVmGCuSC92T;@AX?ROd@;{x9A>YK*X$iqXfL0FUzV$I4`a*ME+i_7HNehc zDS9{>LyVh+togI=()}|gpO{I8|C8aBNkdbgVooP!W?@-J6kAyoo&yXDv|+k?guuSb z-=z0eaV!$gD#DhTRnnPoWER1zu=1>^R3V+QM>Yb6;@adk6Wp{}u$uxSnsV$dJQ!`u z#vc|#rajxq2KLK%<m$Z1S~7nzN`y?Wj59Kh?T5iFe!YVmv0AWk5+A5nFGgcnbyu8&E+y&_qWC* z-$Ce836y2X|AKNG3nV^1WM}ygiF_Db5+*c|@fR8>__J{wQhDhacZfI)Jr7Ob?hf{a zU1k&N7v_nP73}mh^24Ag44A{+jtMvJEINcY@T2vB#=}^abb=Yx(#j<>=KY#% ziAe?xGv6hUV6s_n&3EL3ze(J|8V#|G(LM(H^9@RE@?-)#GN2n)qdY%g*rO z-mfrR)=x0rj2nl}m>+e-%5gjBkBiB(l}6r^&RM%eVwzHvOG5)ZquANE7=Erch#zj2 z(|~b(l5ORhfK#+Wn7-h&A?xoBEjmbE9r?LI3+~02!GK-| zW3n!(N1j)Tg(N$q3vW*gzGPKVF(v(>v~NO}O4Ced$D|ibM04f#U#+B^$@-D#iN&0u z0YNCFMTZV#98=qh9KUO}du}WDVmnWBw63yR=`BP2W%@68PQ=89q&{n-^B95-2Znut1*w5Q+&K6vXP=XmDJOGxBHQRG&c)0i#KctPge%Um8aPZzS0&0V?O zCpOev@S=nQ!~o*ZRML~?m!ahM$a^w!(@1>3ul)?;D=iDsh6Bu)zN`!GZin8LA2R@;3!Ja#By_t?6>Hv8WWT z_4|cu!rXABF%5vxj5V(Hv=!y~;&YCFS5g#MML<^OlPy?j80;^TQKXw2sf3hn$#hTNtx=bafN8Us!t7!?Q=vKTa|{TK?}o)wN!|q zxHb|r>pL`t@2)|LXIRFE+E671xB7(mV$a?(^K8RH?tC;~(XP$-UCS^@q5Z|R$l$3Y zH?8Q*%Cum&3V-5Ocnm6a`4L8CT2^5*vD2yhStK94EFs~J{Ub5fyj;s*X8(TQevGSK z-Rn0Ksdd%f>0mEq>1~Et6g3tI)&A*F-|Tm0lC-bq+RWYb(5lin{#NAkjO$BsyHe$6 z_S7E$l8J1vMt#jh&dYFYKR=-k>#U4s0b?oI6TLu%CbZQU~r0xU^UaHNqHR$@5QVr{7?fMIkylfAumQp zBm0DSl1+4cihm#dO8iY(k0yNi2g{L1u5W zz8~37(gON3Cj2x0Zm$J26GoYzwr4u9pSGybk10PlBG1X`r?-hP68W_aU$Tw-=JjBn zpPQ@;Mh(C0QB+CiH^VEf-%vacr44ip3<~x`p6T0H?iN|7l-@{w#`B9-?AtH%^}g&l z4cb6u&d$uCilJ5Gk>K}an0!<82$|n=e-!qQJk(rullSJTGIfI0RmUYcxKLgtWe###-?VE2_ldKe5RPc$^%I(oC%)khtl&hh6XtdTisx@(9wX``jGI}McV83sF zG|vxAai`MDNASs-U)*PaBB z4%VkJTVp;0oGz_hR%t&YdSJtsavB-!-&!1);4KaQF&-v;e2eUFVt7kSdtG=(X33Im zTKp?E$Q{f-Ay6ft6Nja>zW+{rl+TE&k*4KWCV0_K7js^^ptZO&mpIk9^R)Fdnh(Fg zK!#yT?w#VCJ`PliXN~SJa#IX9Pv#}UERUyK17~5#_+&c^t421Dl zydEpdY+6{9|6}Fx8Z=%HPcYy)5}qH>H-=rXjU_M{0RD~l8O%ep_M?S zhUA0=k}8aYQVv=&%_|f$ET}P=ei4jCu_KhcBFi_+4*Oz0_c&D7EdtcJz>MKx%r3|? z(gr9Cu~KwoB;H-2n8)PvzA<4z!Lf?b4-<)UBPe!b;~RrlKZIyM$>UB#r*ilq0_%m7 zBe%qgVi@HBPGR1d&>v^e$BsA102|;N!KakBC_NYnN1Zb~Vah0l=MrRrpP?wz%2A@~ z<;W)eutt6C*npTzgpI@qgY->;fSocyd~uRgtbW`Bitas3a>Y`Xq7fD0L~AqC<8kuv zALFYw*q}6zzDh;OhRaLKf+H_2=Wz`PWnkb>M6I?lEF&Et*5v08#oV6Jv7DZ{kw9)o z`Sttwk9q&y?`vPnds(Z9R_Uaj111hr$nmH07TegGA;aODTPC>r{|0{3Oyer>Z2ru~ zhiEr6S^oIBF_2M~MpKk#{P&HAX@)+(-QN78{nPCE0~ud9ShIo*?%%E$s>}}_#7mQo zMHMkkOH=sT+%ZvvNgI=Ca0oA1#YrV(6!W*CwepsepSkmAu*`?-B%V;^YLQNF77 zAN#t}E3@{QAKG8E6@O~oFw$cN<5yw(x#e3Lut__{F-Y0xBXLXh{WZc?){9BIW^k9; z12B?Ljgyjg1|>)ZmBgfHRNqiuk40avJe!CwZM;Gn`7bl^c{=dm{O8X{wF$+IuL<$E{CJMQ)HahTsDK8>FMnRXY2MnOdv_H&b zTxs^xAIXCz{Lm~uevvWC3*vvho_}Ba=Iv!j#l0Dq<-ak*1bPkd(%?Xg*w8SZY?0kv z!WfwGi!^Yi|1z_L!WZ~6Q^e<nE+^ke-bNFn}xoZ_Bh8#4a<92gg^M=S~zF&~9F!fC!C$%~;(E)WB zV5*RXaNr$`EI5>{ZGKNKKdst4`xsq=&|n(cUwcEVQcYn=Y*-c{STTs_ zso}vNj9Y2PP^DTR6TdL}hmX#hU(Jh#N+~G{o^#-5%QYb`Qe~Da2z3_Z2@0MWpTo;% z(GJR*#JCw%AmqGA`?7uLHSN29U6Qr-!Jasu(% zS~ZqPjsY^U{%ZO))(gQns}M{$gK_FCRgeOvX+;xw89~bb*p|)2WkixJHm3s^?3~kk+BnPEeng5(itYRU1m^^T{^=T9it@=wqKg9 ztxkxUu1%WYm}2eVNHT#W6@HUO1|oT*?*ngDj>T)B<*8z^UJ=T|V>=gG`ORTMZK*a= zF^5B0CKfCc^Z%mV9}^=F46`1Hf$qGVjWi-Qr}8b*(t47<{?dqkLd;Uf@z}9cFvFgu z&zbL9GVH4}gN!ju&ajpFHW;Bua+=ysUB>V1f7paHm8v|aR?RF3Qho0K;B>DLm&Aej zD=D@y6HqXD3H>O%5(3U2upLbIrL?NvB=?in%vAlQ0dYPPqfI^TAB{0`5l+%=St#Nwe}C!#J0}Re+Q|(!#XF{M1*pK*4UQWqr$YmA1j9n+8fl-L1!q{DgQKNdpGwh(mk<4JS2 z346wcOHsC5zhec>c8_*l+|rQJgQD<;NhT<;vt5X6S1w#(B1hJ&CjPiu4E`5b2UE^8 zV@YOQoISiuabp+D1yu$AN-jv$yf9{&@6OWoKe+URFfDUDH?VPcwIWY)d{m36lbLQT zl=R3L80Qzr{HE3nrM|H?{I`uowZLjT5`hbWiX&HgAXfHu>naJ2jOwVZU|LpH0_6`T z)zI(HdZgj5ZFttBRR-p*V>Uodp&s(W7h}j8;u# zN6M-cc8p9Rlh8+Uyn_;naWE04(*${oBu4e@0h-QC8D3TpP|3kK267F{k;w* zVX!}L&lJ#1G{@mL51(gj11VUg4QnSIiW~DCl}GP-`nB<7!MbMqYhVI?ru#F+OhaXY zf2AvR{xdT^)Bf!1Vh*kU)Mv)?V~S6cnfmX;%QQYs`up$0`$2yW^)g_FX30XK>WuM) z)f_TdxIb)>PrLeq$F1?rvWS(} zcrz=dkGH$CM+;XkAH-1IU$8^sjZi^#@RV6tTwqWg$xP}{hrh%JIit0b)smgxl@Miz zVU&J$F|l#sQJN@43k&499I)1It(4!2;H21KRAC6Wa;tiFl7z@idtES<7EYy|Y)g=% z0<~Wx>jsMmjF9svsMF7ohjN|2LJsmXCzFInk5H)H%cTcclM^=7%`la#iw9%O8kz(XO+#H4NB@3@4@rtM-^ML-Pa0Z zTd|sUFZM|<-0HrTy!-^qIOhL=cm`hhOio=eiYoA6`YuJS5wU-s*b^=`hSf8a-g|y2xU}Bag#_` z@)xm!W&p&{2DdOp1eZ8##`NOJc)D+g0Rk)xT{bT4o$RVWa_*=8W)}LGS;SrZYp4rqKL%d}+~%xMSs*L@6v$G>QrpE>K^VC2n=9})t3~r-{ zq%$cg3+|qH@g*kXWu;=&EjnZRlK3>!%rlmnaDPpE{=+=JU6k}*I1q_r8FyCAYRC9T zHE=#Xp>oB60fc9}aJcCUpuDS=;So*gSvIT4M2{a#n;WXI=uHZf7A7mKSyn24G_xMl z$`a`oly;I$CoG*NDNnezhO)o$cV?s=jRe85tfE>HwUm*Y>Nr@)JSwE=$BQJKr3C6f z+F@AJM&4!A9&uf!qmOiW`#ti2f}9_XoDmwcccIzWtyOcpQ7<|)%EVYLe{Y1JUHtHD zBAT&z`MUT59Z5=#7!A9TzB{rCkrBaW%1HFg`6lyfI5{b8bNQkfIvVgUJ|p_1f|?Z} zZEi|UBhb9M@i7gR8X-)Ff9&5_jWd5tuH2jlurUo5K`~jG?1d)kP+EDCK?(gMgjdjh z$HmQ8aQd4C8K*I0FEB-2CZ(jzk5A_JX$EGx#ml>zR@`R8mX{45j&>cY)1?}LG@>CH z?M*}XlrUtS>knb?-RQePPwA?wb|BoPwDBijxRAV>RvCPej(e{cS1+tjX5957I^h9z zJL^VDt=ULtH5d*rH{=kiKUzVH26lp!19f4a+aB8S`yEflrelA%@&yd>W??#hJ>FGCVUE8g+Qt7Tb+Upj*TVyF+c=ZBZ;vVG_XQ!>!2b2A`w~@r_f08Y&o#@tqGib+p7PNI@BD9&eo*3#4 zpnGp_rZz)o>Z~_zC6!hAUkokVaJH`A`A&56u5t9E-8u^W$I~KSV`#~5R#2;O39;hLe$Zj}L-MVn zD{XQ!i8^(&q;2+9Onp^ghM2VAi+CWYllXMV8*zW5EW|IY5F9F9Rlns@XWDu2E1EiG zi#VoWH#+e9Sb96zi`Jf)OKcPWfh=wpNt61F)Nj6cQa`;~6dmy4nAp%EfJTj64OMH* zgyfxYYHO=$-8wd03_iG%8FWcJ(U~(qI5xc4sHaTVsMaD7Yrs?$wxteDR^x zM{X38vfD#|RSD=bwGqia=AsxrVTWjWY?o;3mk*|A`KI5rZwO>vn3H^LcYwb6wcH_K z`}F?|FGR{sjup>*?*QGdW;68h3wF9Z)=SKiI1lJOdFairj`YQ>Ksegj z70S1Bf^0eb$z{9ES=X|dN(aX z+P!)x4xV(AzPyzWVwz5aO>g5MoBd63?YT$#lV!$;d2)CYi^k_c_}H4}J=F*9q}~#T z@2^QJo?QzEzn7r19TI5KU0q4o%SCW)ei@p0IxlS95f2_?YeRDUGDs=EBK6qdk7CQ& zZN*BhhC^$+=F}#Uz_S&b=$$dA$-hV6l8VB4`egQ0+Qp_Zz35&aE-%a}^w_tK8a%d; zofY!x8+8=OOzvsz_1xu=f!=Gi%&P5i%PMUH&1aQ0#`=bl!gv%?hq-&fBd zKCh5g;%M>k)$_Wz;tR#*f6dqFnzf^0Im%IwQ!{DDYkjGub7?r6e=NB=#8TY9y$X$A zwh9{AULh5pSA{Q^Z;NjZR)>VW8Z#>3|M1<1SkTgBQTTbu&JKZ*7By%DQS zdn$hE(Na8kxCJ!dup6e^o`l@EM(UgiNe%gP0%W;8N1Qsl7~IhZi_6E)C4KU*6$`Y} z)4c5qLznzMbi~(Mbc<^zGG>t_414eq{&+Bf#@UwwyLsiv=dCMr7N>jDt$7o5u0Edl4J4TDugou})s``=h<^=A)aK``|{g(e^VCvT8Ai>nrM# z8;#Mg$k~F-t~v@Tyt@Je|2Zb+uD4B$NKS@a4QJ83t3#YV$5tVuL`%}^L@E0BmuF%P zpCYu@`+5*r;2q2=mz5s6=cs?Q=`ZRq%AMZ#@2anLt0VLcS)p5D5dy3F9Ms=G)g4}x zYb~Cd=1Jm)R3^Lfeb6shHv~%A6xBPNTS}_=uMnSHpA6p|#=;ldJg_lg2NW!22{Bue z;hps^@sQhK_>{AOE-AbZtZUyKu6&wH#hvwazN2eX`t2)8a_maaey&6-d%P1P50-}) zd+&>7Cq5CA?j{g@jjaT-EEDszsj6#T`W)2A*&N(PKNX*MAFP|=)PTIZo{KD+*aDUf zXapNdl!CV9r@#)+J8&kvu0HC^Yp1PaqM>4;1enlh19XdN3||97or*7yf)csw>W_3A zA)eY_jOMWLqx(k8qVL?d>!uYONuT&6lYcIX`oW{JL4l4FbU_uH5TDzS8nt*A33{9d z3S^%`3kM|W>+C8lHru!q%6#^sLc~CN+SP{kJ|;R**Mra~s4~3hYD@nKnnDVlZwN)- ze9*h^TTTW=G@*$TchUMbOThm`6R1$!9mJa>^j*JnhcS2Ui6Oiw4Dy) zzEkdrxgq&lJlS^ZIh{XXL#k(&vC!;w2yM2{F*U1)BXmsKNAtg{4WDOu!@wicNWBYZ zNxt)Uq4C**$oCw@A+s+)1M-a|C$1NBeVh$7|MZ}C+po}%LpQ^nCr`y{uN}zuEX9RW zS&Qn2xkkX@9?4K(OekFxpItcLv_063KSLXR>_FdHTL{Y^>FJc(Bk7Ukc#^z#A6;ja zK#P?sVhG*$LVVWpE*alu3n}O_C^cV4TX|>HPjekRN_u~<1Cwe! z6UWr=PUGgrk>PvV)5k-y3o%{y(vN5A&~3?ipj+GoaEoa~?&r4`u8htHQDqZh|Ja%0 z@R~2_xGxDnc5i{RgY!X^2Tf?#YOARDx)ANGn@uX+dPJY5y=aB(Y)vp~R5+ zG#q(o-S6+jg-O*Q;YCmJQ=wt7)%~`3KX+bXWwvs{z56|&?%n&)a>r)!@RE+)T-gP- z7aj|K4ep4#$FJy%h7Ll4?;v>G?GBWR@exPnoFWcgy9t6yG=yelas9hop=Szq5^6ls z!_yp2PI2>#(9Z{EP`4~Q$k^0bfEt zVcCUfeTUkq@bBmS^mC2vw4Ls%*r(EaG2-!A;_FKtHhMm1d<{fP- zmbm(oj@Fl@ZKmadW!cy3mQFn;o*Q(7e6sVQ`^WtW#SV|4Ue9NW4NC7OdAy6zhBs=G znH6h-E~OeYUp|H$8oQPreekMrXy0xSbZ#R|usokStmzgprQ~$csbmGZw7^E%+iQ|I zcKK%d)bA#FKQ{{@v7T!Z`YNaui)#b(h%9b`gD5 z@f*G1kwqA@yGQDd3elwQEa61`sb+h=l?PeHUTQ6SR zG*Tx(ITHVHjrjT+g}hfk=<~1l6T9wpg6es48>%L6fpVLQLvRxv$+JEuJ@}#?%vmsq z=IK#iSiSiI&3CXH39NIPI)3{`|L|!DGdy?G@J~AWedm1|acdLRw{oGmt6XB`bhN3ZBdty@H&gv_Li4>hH3yH1N`vrG_6 zH(deIIS0`4b1u^rA!8x_(HnB$$R!eUbUtandIM}6G#nOe#ACeM+^Kd zCYB!vJ5NT?F5)~ot@|h_5uc6Jw|Pe0rhcK`MVFHJ;STy)D>;NF88 z;vX*G$$Rg1(B)YwIoEibj;5@KYJMdQdrL2bEK715!h9M-w!A06t=I*Ut4slUB2N=~ z#P==p8QVD%7QcBa-04nvG69_Z1PmE6$_tyY=*+ej#+!>qm5VoBHCa z=c~!G`cI%&)LfXk{IOWYqNCWrc{1$1a~f(4v4)oE)H*+(^KqYYVv?LA5ebuRZ5f|^+f zmw*VqWv`|7zED=T@O&6~U?@m)$6qCjmrf+f6?)LqbzYHg|2(2ey<$X5i&5gr`fpNi zy_+Cftn3L>YIlP|1G>;h`-;Gu{abhM_x{6a?$-L?>0k>Nf^$;+&|dJz)ibbq)(j~A z={m$c+$Ww%JV&z@chq0{Gdr}e4rH+V-(=*g^HfZ1EmVJZmin(=PM3Q6({7t{8774k zHB=wjL6=Rm1nXHv$l6FBI`7?5eS!1M#8X}~8y`Pi5mu~h4J|uvA+2Zli+N@zi}|X| zC4;sf6+i0rq{v^Z=$E8ibmP{m@OsU0lKb!O^n}GBvCxg|(C*cCeN5iv(8S{*`8d>; zR&6_n3_jkPu36q!yl$N!-i}*E=GEu`doS72OZVo{euvu9+$sHG)!YgCor7}<`F8ge zZ3ZkBv#zWLIR<=#>D`@lT_(B0)zhgEu;is~ZtJ~t$+}nc%l;HyjRn(m@5U~JBiW0= z>emfv&D^`h*=FP>Tc6Y=B33-Jg@!P25u|-g(_aa@6Pb0*M zS89;?f8~du1EM%L=O19%ejJ_fC5(QH%3^TH1*AfY+4N0?6k2{*TY7)iPH|iJlMv!v zOo*L22D;r@3ojb zofz#$o{Ev+|8|gg<()tDEqs#fsr>|b)?HGzc&re8DNvYJ^gO-3brKXF{wEkNxEjjz zcZIq|CkXR>LAY~evk>-SrqDmMHy!fTnnv%MOJ}vdEf%e7DNcPjo3Sg4K9>bK6K^ zajD(3X7UWd`AkmXWJ)(^TWpiq_gg+VTs{##rdFh%JcuyCakOxD{c6i@(LcRKDj;o zxwUob*KO~~)R)bm>=cv-k|SW|uAGJ^53hn>a!bScW+&mU?NV5I>2>3|y=+t8cd0CN z>9mQyxji3>)>sZ-69z+KqZH!VrAg|i(i7>isPc690ym-I3_oFd;Cg-1`*8AV-Ei2m z?J-FR3ZeO1exy%om8XZ76sF$Qu8FbZ&%xN$qhZpryWmuO7x+Fs4R20lCqljhy5xSB zNEUH|xS{SXsQ+piY`^*t8u$!>f>{&5@4^T&a!E9}>Gx8fB7KA$>vGVK+monw;4YYY zusVqp7LtD3H`8Zr`-uI$Z_|n8Y6>Nzj)*g7<^tz&wh*$cCAm2Mm_AF`WLh}edty6q zIyrXh9(jB;0P0^ZB3@q74o3eum-<9ZBl(*4qif@qfm=v%dj4CizOKy<*uQ=xWT7jd zWaT3CZo%o`IQgmm{?h~CUZbI4|3@id*Nio!V`2x08rB}#EKVfb?jMJIjYm=ckL84s zyPFD0Aunj(63$}&Hao;V#pjDBx}T#9bZ(1(`Ien`AHv7lk;=QZL@cM50oHiaV(XN#R|7SdWsTSZ4Eko{%b z7#5EEizXzLrK@!NpvvfF@M@MNlzx4ezHhygoG+GD7~|<9^e_8@jJq~RXXtYdoX@v} zxVQfL(+*o`*XUhjZP!DzJ3KSGFmd)nQ$CmmciQGcm>4w_Gw)v)8wIS{-w6vjAB78m<1hY{0z z!t|>X#Tosc5~qgKh|@YfR36kv*SY_nFd*ovn0wqxD7c_Jj6KmRb=Q?qbap};q2!P@ zP;2^BnD((H>^NFetTcTscmxT79Bdh6~>K2B7jwZmad8Gk9T-5!2<1ADR zK1XU>&eZANmV#AX8;d(O_`v(hp-xYBe}zgVW1(fIZ?NjaAUL~Y79?dmN=99tLJ!YQ zfi8nurcRl$8+z1O37t|WfkV%7B=}}4G3o6>r{^mRi|cByg>nf_@c7MjI9nzZhAk>! z2)Vb5w!2YA7*irEt?{tFQ2)dF#{F}6()RO?!HN9)AxF|C@Nlm#G_YtXG##9etgv`O zD<6y%1@}Dk>EfN>D;UHg^{$aNcE0rQn}uM`x)}hW6QIiO@8apN(eU|WT|?M}%7(yf z?ZCO)NRn&qSGZfgfZ%-5Te#N6Qt0!pvvAvHJMH;l1r0bTXyK&nMs1#RMJ`#qK$TCLXtG z#e2u-`OnT&?C1a$dX+VVb!lkGlJgQg3C?2}e`PFOzn%pO6q<-Om%rg`t|{Qt$3>{w z+)+58XMMoC6a%Oy3%XMr_g%(*W#r;Q%U>vs8fv32JPo8)-{Uuq5UFOr`4ZoqhUCc)PhXsZsh1OB+np`Cn8~O0@M$-3`aD%ETQVoz zzic5ryX>2;>rhwflx-|2ZD$Y<_dEf!|3N)r+e&gOVJ$Rivym=(Pzt(+jsjmLWB0Ok49X9o-qjM`(9QtiP1{bH_fxRW_39mXi3dN38H58AV30{7QrbYXN3Lr_96*k0KMd4@y@cEOW{Wf#W@BxNQYx!6X?-7H907&wQ<7U^Qh z-3MUw^Ry)(qbxSE2&wS{26Z62w2sXw)zSw@%AZWu{D{1-V=@gI8R z-g`PeuNAHRn$qukcF`^6-_qd^!}U3DZzl);Ks)nBd!c=?&vbV{GoeYfNUD@!vv?!SlD8BtF7w7abkckOTbqE%KyyVBkU!^q`g(BLs} z#%7#2uvsOTvde`&AKrnU?<|TvUbq^beHj5~M&uJ5uLlb+VoM3h|7@XuZ%z`fJyU@+=-#`tO;_4bcEw3pav#&}E=cr9v4_^WO&XtA}7A;`NgHF)1Lr+8NWn&>nt5>98 zB!PEry1=7t>*0(0KcwNu0`#B#xrn#dT{xTk0Iatz6WcxahULq*!;#@l4S#Ly2`5^1 zfXiQf;K8RsaCh%taL&?!ZW>mVo~ad2h}%cBH@AY0v5sO&jU04G_5N^Z(ibr%yC_Zx zp9nK|ZiQFNV+`3J=wZ}Ve`xo$F1)mV1H!Y~FmS~{NZjT^W^B1g@`Y7|Uh~F?^Q|w6 z1MYPaou*mQA)%w8=h8;RVe={d=<_#4x9s;}pj|FHZ_q&!P^Jd0+~W%D@QtO8=UvEk zr>szCb&}X4?+{pdV>UTHW1Ieu?GwNkvcj<;2Y|YKAh##9hEfNgi$ikcHXM8A0tIZ3 z=yDGY7xx~^ZMf9?FpL`hP&|3IC23$kj&`5VF@;o0Ti7K&ty60P6r1d+tMJ&upsQ8S z(A#+}={s`)%uD)6^SkV#{kt@$TPpnnrH(I$>FY)sMh#m5jSJk;h39)IT3>0Ue-?WW z%Fm_nq0VCX)cuQY=&iHhuxg=Gl?@(3@4eaKTsceP7Q2WnY1v#H*S@%6O^7Xhvw5uk z;i8FfrQs3r{CG=)Q`QwugTMR(`CHY6tCy0*z3uzZeoda=tB;(e)In24{hoi;KnMTb+akn{z;50jf{VKY~o(@GaGU>>?-@+k{sC zdQ!jV)DAjrO?TnL)D9$1k0~(dbu>8oq=@7F>jItdiarf0PwjGB!OLsGG+WlAP^`y# zvDTLYB;N71SS+|BRLW;3xK?>hRwu0^bv@Tpi>0~YSgm64;88gA*t#9UFTEfGmL&;R zmj=?sHRjTs!^#QeN?Jjo5ALw#V_ES~o}6&;(I3#D(|oG0F$2no`GtcPi>Y6^?1o%t zdcl@@y#v)T6aM9N+X&v>V%7{5bp!?AYfo>a1M_ zt5btS{gC-k;8j1AJr={&)$wAhRdZqNk$uosEN!^%T~)}je;2hGw}H;uYDs%{)f+{tyX7F7JI8IY z-^*=~vzVR1s!L(mw04u;_SG7i`}+)f{&X!m+o=hyXjhQremj{?9MhY|oQtCQpB^WL z&mASs%fHcO{y{V}_axd@SAo9RKZiyo>?WhK$B{43hSU3GGWD~2Nu0C2q$B$^rU&xo zpw>fk>mCnXMII;pLuaNvl+BM^E%#MbT?cvkh)dM^4#A3ilc-p7fhXn*|P} z^Y0fB606@MZ(XL*4`nven>{CxLj8BsY8BQA)e>BVL6wiuqF0vE_@aN%#mll9E_}&v zIN>`MwtT(~1t#RBV;?pUqbkjUYl)VI)nl_6CWP&zt1jy4pPNt9t^*>4(z7=U8;%{P z9>tcE3d_IHE{EsQtw8ke>*49_|mx;36EMnvVM4$X2IK3#YZl{)JTf6ufrL_GR~ z3>tbz+%tV9dHir0S?t`E%!yl0-+X9An#H*2hE(q?mYEPseO`5kRbwn+_Q^`3@1}|1 zQMfX-UGz=7ai$N@cUwq%|C;nd!`eEZ>Mdx_^?T^<;yJ~aEhmxQo6m^Hdv-QSYMDM+|d;s(n((+tsCo4gQJn*Q=%CIO7rv#oaUI| z2Lqbc(Sc=om|T1m9bB|L&EK^gjjxv|^s2c@fPyQ9AqScY&nj+)6Ac{=%dV6&49al= zYJd1gJk_cjEEq8%RhM%dbVEDjpZg-osWmCE+0Y1H_*sgLZKsj(ORLl8=iG$Z@2v#G z`%r4Je2frQs)S%SatLvF=L+XORe(CP`iiSwwt=?UU((43`wLG;jTPRtTPkFEdYX1v zQcv9Y!B^Z>t&Wg=U3|R~&s?*O2v!W*o$sH#_hX>wsaXm}@?E*;oRm@sm@aQWFHVmMr#*uU6J20Jg+PkrJ5rCVe*?AtgFjy`?} zZw@)q%Yy^yy!jRBoMJ_2?1(71<(dpD-ZwPd8?^~;1eG()THhafcu#?*9dGFi{+&p- zY^arL_oR_HdzxMxy0|4xm}f(eCPoVfUl$XSvo9m3!{5=-&xYtG#~spliI0YE%|DBN zLl;5q2Y=CT5u3?hQ|^-FOO@%U;U6J%du!M`{RE7tH41j#%4ZlIUJ85{J|Z=o9AI$c z`6OiFIS6YT0!Mq@fH9>HLCZ%6ph0pcaklpta->)Y5#l20z9(Dsk1hjlocP#z@k0Ydxgb2lN!^h4Ble|Fk( zohNOXjnXzf?CHeY*TlE=5~0I%QB3-?sjzMMWmRA z&~?~4sM~ZAEjp?cJ(Btk7WpjFT^Mi~3MG%B6>L+W!mI4yRpB^1`~Fg51Ax9ukFYP^B3qpE@<+9eO13>H$7J%s%^YYBd-yJ&~foyh73N9f%tC7{iu zh2jZE)N{jD&`)_?gca)_(a(0)v_Sa>kZ)C8`t=1hw6}Q#N6Kx39ZlDgdW*{$2Ap_B zJMMK9JttH#yzjG_Sh{tF=70Z%_J#t6*(0OrY_~sQ_AFOn?%-6KS|LR=96Uf<%qs;o z0{21nH%B1&WF+0XYYm;>KD%I@Z8J^YQAPhE;UFnjHdXibbs`kYpTm&!qCCyn&x>}p zxJh^Sw}iX1vKVSx`#`y!bKu)IXSiZ>2E0elrDJ-pqn#znw#8j~h)6I%N~xPK|-)i>kuqKbt_ew)4eQ-5oezs|~GD?j`B> zvKF157zWu29EKB3io*GBdErT)>EID`1zME9O5?8&r+Lo|6t9IJ(C=+DA4WU$)(^XJ zUED{`!NK|0#S*SHgmC(e6sskYe1%7oyBGd~FEc?L;LsfAjQ58Jo}(b@8NyRbpl>lg zY0qCn;JMvyn0PTvyqBjg1g&@or%OGCgj`u^lO-h}@z2+yXRoo~RxY>U^0cYY|HXPJ z;C@9MUVS?3I_yL(93zRLek0-7y85(utM9O)-Voz4m~$Uy%b!r&H8wA+JFcwY26?5$*J@aQ)h#y1!V zv+j)6+kEIQj(z2TaZnH8)A&$mJ$w|9muq3~x|*=wKOA=ay&BFn>s+wRW+7G)?uZXZo`GZ6^9h9_3u4Tfr4V>;qOibc zlW;n2K8?IFlUDfNR>-QWCNxQ?1&995YIwBr7@R(pg`V7Vo9?Jo#^AYN2W+i39de+5 z^U;fwI*+k#WXi6~w8EsU!jAG~1^ZEPq*Jxww31hQvCPq}FsLf}qc6XOBd<4r|JG;X z#X1MY2Sf81QhMHnVaY`ei5trrLUvcC#mgMneW7q|SY0TAHZCxqWTW-P89krtcbAM8 zCnZdE`nt0%>@2$+PR8nW4ZE$UW#){A4aG{(eIKuh!R6mW!DS_3a<2aLW#7?cOvG`0 z%#l^}<2_%!MU5w<&5dx{*rpx5g@?Ue54DD+XHuK1!$^yE zUrF0f6G--PWnuFncYR&U(IjE#Bk@a_M>MbhhSU;~iy#{JuF+PO6rO&du8UI1;^JLl ztjz*(Rn{EB2fLoMht(d^BUd##>-1N;W59lTt)WOCk6B86Ru?3T=GGA!C*&2g7g-La z>rMdo;;m^B(tu1Kuo%1s&rbdFJRcM({tr2wvViV9Iu$&(6LI*%ykhl+mn#$IRb6^ zTVeLfdgSoF0^*y3f71GHhe?xw@o+U^Ihp6ZUw5X851s6nLPKt?B8fY8{y*e>2V4`& z^EehPD5xm*5<4gzL?Ab-G!+FzK>{Ai@Kdehn_nC<4 zx-GEw-btL%&K?KQmnhZqN>sY*H2hR{bB}n>RO<8TKd6dbBB|v?8o`B`2dTviyF#h! zrzrdR?Qn;V-|=0t9(b?lXSjB4F7C0=imDSO!;#}F;TDU_(c5EN(XQ$HaZ%Y^xHM!r zJz(Vx`bN)@_{QQCx_r`0vG1EB;yq^>d@^2)2c9a4qTbX(wO5Uy#kKCzbB;#h{ucY` z%d7U$t?He}_s$n%q+cr`OLsG5b7YFxz3hEz|B-NL_JD>!pT1CP+X1TSsJrxxZ3iIY zI79U*%h0Kp$$Dbg02-z@qMz2hL3{TJgBdyzY*wJY=tSP^pniR1Bc4U=+$iA64#K#93e@KN9of^>i z+Fo&Vaw>hh6GN#FT?NmJlf_#c2Ef5yNg((7PDd1LO_kJag7=k%iIb+Bq0K(N&$NEG zk{TJ_AhY}2HsIXR30LnOfYa**;Km0N>0@t0;nlK=blJ(JFg-v7ud|v$&>1JFYWski zNx!2?+c$?&yOetU)s%~-e24e^DfqaHnB4L zPT9rOpjoG>_V+As=C^o!YWQgS>0~AJw?J?`dL1>Wd2!V2eLGZdLNCiJr>Ba$$c1kvOWx{bqJb`ze3AaT4MJpzSw#-S=(AX zPn=eCB$$&u>M09*;dKXy|3SBv^nhtr*rESE{I>iEeDC6P+BIOeSaJ25HenE%AJ)4k zt`|Lr-v7t}PgtVFb_*i3mv=0LP1}241g!kkKyYp_u`4pB``1@ zq5l#)=y^Czyp{>U@rwFr*Gmd|*7#1h=#TKUn&w!t;|P6ewll8O*BM?<+=qAg`Qo&3 z!E{0cqT6>ziI;iA;ls0^YkO@;#?|VSz@;nA#t$lV5KoTE!26pkpqAnUy<&GQn6SeV zo!e3iDKAc<)Rk4V#f^(_xN|tPkSwA<#+1c}d$h)8P8hnMxdDeZrNF6TJ?S@PW>sk=xGb;kd4sR{R=FP?@aZb9|A$nJG3pE?#6z8 zyXlHkSK-&A2f@1-bG*N<6Fu;9XL@j>clePF;9=80;ITu;0Jwi>k^ zPwG4$mvOj>??xBL#e4Lp;$vFjtWou_ZR{Z!Fs}#o`o4mG-^8Bk@a8YN(}5Ax!9&x$ zJ3I=a+fNgV%M5n`m+>~thvY>xUdPb$w=bc`ZCgro?@szi%W>Ey&I;75?}GRi{U&}a zJ)!e3=w!7TS86r~)^!O4Ka1x0o0En_!bK1u{SgcQ{gh@cEIjR!|8pg zRhd4|7Q>w9Ex}3E9S^sih2<+M;;T37AbQ;bXjfH(*CpSjs|4SLHSepz%?2L0dHJ?* zQQe&y!Aycp7iWRmDjK$reMZF>-v@VlUx8Vc&2X;=3#j8$WZK0&ZP3Zp7hu2wSL_~G zl!?#U1K+iGVVg^T{HXpBsBg6kPVSfr%UfQe?k?FY?wYQ`8TG%yUzvTx1BUsF*Y&Rg z;XPMTE%!Bn5mjxet>=5vnGHwK>ymz>{yfW2-@E&XXAK`kA!;mayQ+luOk3*ss0iAY z?1|1E6$-uUj)u6vW_WjW9dTJ%pxEc=Soqe)8DEcdq3SFdi8qxXGWP5@*tlag6fHXk zUXN=8FXWTp*v^A6G`J`-TeFeg+;bxgHgAe64Y*DZOPNmv{818iJgiPderro#KJ0+~ z(-UYPj|%w8+oSZ!Yg^#k6nnU{|2Va~STouyZn?IC=NroW_(iJpm^8ZLb5GcFc`|sX zZ-Fk>YvDD)@qCsx;MRF@>z<*s>(Hs5&c(gKbHRMtd`U1Kdg&dtaFr`H z*ms8b)5Qzah&2c4FJ*~+o08?d|F#B)-MU4)Eg22OeS%`TwWl=YW<%We%5^b$9bOKH zE2JN0jY)tRuQx;J;lH%~?k%TRyZU0Ey<_Ow)}!ckR19Q2sH&YktU0xL{6HAJD-CB{ z-ik|NvMztt5uaGIQ(UfC0K93JPSv#8EFSr#3fl8I4G&Shq>pv~6Nb8l;A+8p#E)vM zrIwEnA$y<>y0b97zY=2J)NT8}hn{;nEG{5HUs$Cl`lU28B? z48zeY+oo?u9q?`IA;Y91jPhJjg!taq4^knX61+0jWnS;y1gRQP=nR!<5%ncsD8o z6rF(k|5lcQ<`cCck;TEcL`Qm2lEzO($D?5_=Awi#vB-4{;u+ zVP;?;{nT?bxR3RQ;d7QiVBL>Y%h6M)V>4;k5qxORL(8jh^f_ zoxW9UxmHfyd7cDrYfIsv=@iUbeF<-!zmW3#FpE0mJCQzCc_(cREn$cC5WK#KjQ)IS zE4W@DzJ=eeQGWHE@rj79beEwOaJ}L4Xz8bRcxDk1)IUstTGkE**KvY_A%O38xkj&+ zm8FWbss&9V6;SnEZJ57*>YiF9zfjaUbKIdpcRad95ZFJcPJ3f(m=*1yt$uxCX0!FL zsr{wYbj7`&sQT&0s0S{yDQQXx2sm6GYZtiCAG$TCr@eihIUuV>=BCabxXK7WaaM8~ zgamD-Q%AMY4%*fp?|(mlvU3QdhOP*Q(9$)i=|0`G6C(cvZE+Fa?c$`>Bz~qME_l(~ zGhR`%o;;z(KdlAjJ6qzDV8jdgZl%C(X1as{EbR1cl(H==I zOP7CM9gY$o{Di)3Ve`b7bjeAF;BnkSYVpHVSXtE{Z!H;3kD2^hyZH7F`YGx}2c7sP z9&_b0cwc=KRv1NJZR~@6E4tH{Pd23*2X+z{|3cOkwk*VqycAB9H-)MLtzexblTw|bsmU#_ zi#IL41M@l@(02Y#bex?%K5>S@>U+nut2F26#h0U~5<@Ff69Z<`joQWGmGSkl>g^&d z8<{13VXgtqsX92|Xd3l&z8_ux;U8K_!dJRpZ##@jrqQG3Q8;w>pOh871zW}!$CtI; zaF2a*IxcAnPMW+0A8hJHeD$25WXyL;oU{tQi(IJYtA|6(lffW5_9s=Q`+jN^Jr15# zFvm5QR-lv%jll7e#a~Qi$ZX_2=V#>o9LL1j(Bwu zKd6}K1TC+{!9?G=^wL++(9!23%_tNUb$kpy&|Qh+9I9cjaE)!A0C> z@@#l{b)2|)iaAtLmlf|g*#XjzhtlP{AEY+y8wM2~Ex~bP*MZsLC0NmJ6mGiy6rFN? z6jWMT54MkN1C1B8pcj{^kL~s*z?bbR7+a(TZ8u>l(fMSbcuH3)vgaPCbKwkBJzfuA zc-NN7Tsjw5$h5&HoSpH#12l{+`^KyJ)W?);>?X=5wS-sihfgS9_f5E=TPu8U!Ae+s zybtzY6;I8Iu>{BTF=QR_6MZd%j2mh;?q%&wolERY=s^51SFESU9+2Rrf0bs;#D7tH z*N%e{dxqehYZW-IY8o(}&!`2VW9gW{O89BTk#xf$dow!>Er(`bw5EgWn&aJ1dx#g0 zb`W=7SQ={2K1@Gt;eb>6UWX#wef1}Qh2p|D zdw|*Cq%YqpeLR31?fA*?BZlXTh5GVAn>*#s=gWc7kIsANq;FXJK!dPlB+?3rB4CIN zOPK7q61l<@u*v-4aT3acz+!_`2>25ub09}ZCQFPrxQy9ZG-wcsuWb0r*4Eb9PSi+b zYwIGSD3P0;$U)>{XGd-vASrHk4lZ{5Yuy?7!p3z>P{wo7A#H`LX6?vLEnHAa{R;(& zDb8MD#C?)9jwzysBm^P}3lPpl19#+u7?N;>+@;4PLu!r;y7-4|4zpM zlFH=`0qCCGoB2%SFDnoX<3VtdD+(1a!cYqF z5gOQ_HG+K8$F0dBciHgv`k)jcB&e!ku%cgzA1~(gfpl~f_;u}PA+Zd{N0|`n5!#=Z z-r)z}4@Ei`twkTdB3ot)l^Vsu_?ZY81;fvj*5TuZ81_1gOio09CS6cOT$%g>=Hza7 zZq>#0aKYMF_&BEm&bblF?j#|PDTAb7`29407?NG6zEETp;=>pM%-zq~#Q#xybn#sT z0iLU2ENtGYG5*DltZXLFu8)-;K0y(|L~?LG0{320obd@<0xxApP~C^4 zQ0cxlNcv?UQ0-QuL30z(^*Uqm#ra#X_i10aJ@GnZdDVcm0r#NF3$h1fu>jqV9gZrU zoP>K+T?64KE2Du4t5CImRne*FXc*|S9XBx>jrwI-qbtjAP}iQRk>iF|=)&PRIDGOq zy0MKVz7r#2>QxIv7Xx>~!Y1XI+tp6vC2y+Z{puI=`G+ys%Bd9C`;Vd9{8bw@Y&jUE zM}5Z!f?MIP*M{KB5v|aWKW2)HtdKy_MSEc@-4u13*A#6&K98Cs?~W3ye}+lXd!W|Z zad_#4Huz1^Q#fUQf8^Kc0PZ%xof+0W%e(Ei(#+=jmte~3P`K>15=I}H4&&>7guwES z;<8icFr`kGVv>CN;bAElzn{~FtQl{>=1NayV)@#*0Xer~eycRoW5o^Jp;9Si^|n0n zmkmXMapq`RvG=t7%b74~fjJ%7Y8hpFej0=YF7&$pdJ(?5Cb~FdmpR{| z=%u}|tLJafGUxzoe7ziM6}Lpa`!qoJ+Bz_At4gU${WH)($MM>UZF}Rh)+2GHM$H3q&)uHm|8Yt+H7SBF11y<;pRZ5Tk3Io%w7*Psb?^DsZU|6zXoO2>USGP zQ~}uFTA%s2&x#)7Vh7Wn908li-gsaTS+^{e0d=JAsLgUqGGv8~VNo8H3+u(OJ`qK%YvM`4vzlmUDb{7vCdKVw=cpqXLacVB>j>zFEQs`DD~WOmA~$a_!rA;oEQE zaVk_>>Evnb)wmy}xX~ZK=yHXcHERnVSiymLy?p^ZdfOdc`0fgJr%Ny$Tteub<-G9o z(ywv*PW_o1Ax#mdBr?VWgkje5+M;Ob0^H6D0l;1&F(uNa@b zaaG&R;ut-m;wx;|?=Akr&Yf8}avD|~dIJY5+=EpbXE^-O3c95*pdDyN?fBFiy5GBn z{f;cdBh%#Q-N+Txx~F2QMA`|+791_zcguRz=q|_by%Du>?PWAw_Vhcv3WcJ-lta+T_-d#jiF*(; zZw=mOz6XErdW*hXbUt4HeHo*)E|%Hoh&5BC^(fp}-h!z*pg8KKeh$IqywQ=-j;NI8 zGBTg=1U0|87KzHrk=Y-9u&J&mUY|4p+e|2jyk|AXSKK#2W;})>%njV_j5#xDRygx~ z+n&h z7zL(%f+?RPQ8Ye|j$PP=whbDEg5-{9jbkrrb8%~?d!5VltNFh4D&k9X%FYME{BGcS zS(S-gB%uM!u|U~sL~1UagEqiRzJgJp9OD)S-?W!3ut zpNR8?JBSCm%)q5Klw=w&moh8M6k&E+ zXHruV(@}6j7(6MW&a5>f38(E?i|;Nk&!{T3WcrP5&-4#&1J6bbLbt?OXl2h$DA0Z! zyij*X4R*9d>940_hx#3vc|AVRb9#HAQvqesi`6c8e_tJDu!x7|$y)3cC+0%1m{QrhSONnnP(3qWe`t=>xs#u683q`|3Fr z7=MTIJ31M5$ZH{|F}0v=OF8QBVHoOkS`9MSH?AxOf zTK4A^YUG=7c;gj!d}`nqEUmeW&hXtRR;|7bw~lturj^-Bn<*=x@g>G#zlZPe%qBie z_fA37)xoXt!Fg@zNq)f8US^LzA0LZG^ie>|W$rkrd1-ij#RIjkeHq&B`~+9r$e4|H zL07KLLG=?mVm=hP z;RD*sJ?U|CwnDi1GRo6=4>b@Eq>rmHK591)ibp=jRj!4=s?(k@ergj`bUr!z)Ve=x zepCXbzjR=xI@QG+(|oaG(fYVa^A1eYYg?!t6N@7=^#=OGbQh%hG8I=XGXmGxGZ`XV zjlgF@zu-OXC)3(X;f&+m(NOB{Lx_w!L5XWj!}12>@TY*|`1b8IY!)^jBsKa{3z-b6 zMOI0qel;7fk?q1ks~6*T-fbDU#&H3P}SM_|A6IAo<{z|MspbhYLI%u0zZ zGh&4|99SBL+NT7FxFvGd3U@O|q*P&%m5 zUo{fN+b+c7-Q92EwwBN6$X(vx71J4}o!OT;`)ekp_@oBu?MrwWWZ*d;Iy0Y|bYWDV z?^BIB&IboHidt~6A?mcfG^!D6O)Wp-kL&z32g(gxB7Rr#41F*y00oe9b#<&W(5gpc zk?7?gd zO9%A9`&WI$YomKJOB=RF&$pan`qpNcwE>54myqFjaEpe_m#{_5(igLsi_iO`#jhrOBQP}CUgZF6tfs@8tj5L&2A(Pum6_TwqA+$e_zQsbl=EC&9`LkIr?hb z&UuV2oc1&0=43Id30;s!i*H(D6VbbmIiNvhGf>jNrKrD+MT<4P*P_S2^@ev#CSY;a zIheL>EE+X85}|rKQN49qxEmCjFrOU2Jq4l{z_jzjs(G%Gh~*P;Sb zdjDGL;g{lQSkwqq!}kQT=ExsyH}3-7PDevPi|#4jG2PR4S7Z_aae`>?>)gt zLMt;vZSK$qFAakdBPK8}PADM7ZUZ`dEeq-|>V&T+E14zN@6d^=zbOBZI_O&CeYkA* z42p~)sN--(T*mhrF7m!F!-SS+QoC=*&7Pm8)1)1lX^+p*6;@S5rz~6HlF`@j1EtRj_euqDFSifJ(GKF@ot&87D_Sxq4)tKB*N$YC5+9<5PejPoG@e+o4lKVn6MX!~<8Ri>XpNKJpFzH{Azv}GjjI@sBkA1HM;Kz?T){ObFDVg(y+T= zakVzHCo7BcNUz4Y*oMQG4#k<)n_bY-A+w>_OdsZJyd{2_cpWz=?Mt_)-Ih7Mp%?l- zTZ~S=>4j~SmC*HRHZb_6^snHrbKiB|&&KQIJ6%TOex1Nk$i#7Pns>$^16MfK# zn^SR{4r9QY%EwPiMpLx zq5YmZfazPrlW}-jn%Nb_P;UDI80!@av8dMudT{Y?na?sCGd5oLaD7=PCZ%T+#-pnh zlva>fTobm@&)QCacW<}g>-W-_WhcfmPij{K&v(Pbdxw>V*akHiAIUlD#)sAPre_P8 zq|KX{=(jX(U-t@q#O)E8UsQxB%kpr1dU3R{)h8I*E{!U&a4KHovL9b5jz`mY;z?jvpXnEEmNII*gKmJvmn%cWF^=H@lupy`oa!X2sZ%rq_#(D8jZeA^B zWuppA)tNJJ@Ajp^$La+AerIVk_w^DOK+d@ynvsA$-=9vgy5x+f1Cl95!J=c+q4kLp zXt?)bsM@0^>|JmToDTg7t|#6=qkF|#l;o`IPB`re+jH7w*hrTBNsTh<%6m z|8XDJw>GEC^g5v}wzUe(u(^wCe;vxKA-3V*mPyFYycY7hv=s&a?%2ZXwFr4^{0`?! zo+NRLM!>Z0Lzr)6>o6UyuhGq`@1wUrZUc9&KgOjGJrOUg(2P-i*~hq~YSB6$PiCNX zRi=CKBjWOP9noKj$AHXIu}!B@jL(%Jh+0ww9PhotxcXu^c(E1g8P^%@%%sudm%CBj zdgkc&EBj&S^#pV|!h`wE`UxI3r#MY5mLrx|cZ@xTH=SO|Xxmgku3qoJ>RlfuD)l8U zd;BqWXjub1x;}?eC3>MLtIy#@)70=m{1$H7x>D=Tnc?6#3ZgUKK|qs;9un;P3DGp&4-KBwkNl=8PB$mGpC;P%!}ig zIX8d9=gxh{YyF<%CD+TNb!R&wkGc-T?{^GZ-n@7VhjTsAvhKu}M!uNo8gI{ZvhaZ! z!F!;NGJ1D4}}_3>-BI&kc+Kndg0~ zg0dFf@=IB!?#u(&ulNGG$Jl1b<6a%=?rItjdorG$Yh9YzIr=q@5EsK|GfrwR)!%@< zi;aMc^Rw_@EA7xLr!3fUz#S?x2zIvV3LTtdaG6F!sLM(QHCmsDsxKW+zj}QUGM;Gh z@G1Mn?Q2J(+8%XLmf0ujqf;8{8ZZ=g##e?R_xBT@tx41o4?DWd`6al0$~Y>_{{h}# zb1+QvafG>7iZD)!`n3Jv1YET-f|=2+nT3oMb74YteCudkbfVcPI%L5Y*iluET;{HY zk!?oPW4@??^e;Vi`AGbAcp~Z=BSIH5En#>a8}!7BtZ8X1;ZpiC%5C*d98s+mtz5Ja zO&ZV{EuV0jo^_@Q1A~h*O-TFz?a+yMRf7rG<9IpT`CcbSC>z(cbou&?E2*k0@m45?iV&FPbl-|u*i=c_uR$t^m-&8UT7`59AdmTbUR zoA}VXyH-I{?zF;=9UtSF<rILRk5k>!hF-0UT^sp^4Ru1qFld?a4C^#xwYwOwGdn=H20c)t@y@7* zB{|!lj2QP(lbPgBtr*K14e`Sx8u6g{-?YyyzCs}5OYFD|{3Yonq*!)E*t<2=`_ofT zzx%hT>uVbT>RAf9ZSRF@&Y@83@sUUxxd_Eut%2#pf2!)-#rRt}XKI5xiMzOiydSa< z#WWc#9^YjXwX*3|I=SOwdglDqR6TMIv7X`#HUH!&)c43{m{_hNI;j1f_%RO^H+<5P zq2AWQbsVqZC|fh;m4iJk3g`jPUiL@Do=rwoc6Ub+Yqp?2cKv}e8mUo*BTCe{?>yq; zXpc^J>&W!ISA>~T&6Wzh`TX7%VLUWI)2Di(BKx}o-SrIgJvtpVRn#Q3_C^O>`ky@{RHZY|siln@q6IduaB--FFP3k{JiOPC zS^Oy;z3sgi&sRHxy8K)Gd}|bF=A6aWjwA7~22XL3-WF(|`CPQ|w_{MU(Jqj#d8ge_ zDGS<*p3-(3*HS0n*pGi1NZAKmWL1`kGU#ofO<(*B?4z!$Gk^hWv+jJ@6u9;%;f zH3O{B`}!*|Dp?sET5N`44NIcNV>Uq<|Fe|SsCe{H(Hf;+u!rcSb(t=eC*pvs<(Y$f z9^g{}3vkk)N%(%FKk@g6=kUB9B~gdqad<`ib@0UPPz~CNtRpo=DYh0k*x?2}*k>Ia zD^m?6Dw}Iz&&oZkr?jNby&Mf-u?ydDYlkiVlA;4l547d8751a1(N{)p$DYi4@%d8y z&`hgYU=`ejx;@4X&3qF;#Sh&F-6R93&&RLA?{+uIS-(YO@8b~uUTPUuRrWy5&Q?H@ ziKT#D3uxPD71j=Hi94OKLj5bOq%MoU;9aS1M0a0-L+5%!#|QPz)_gFNc%OisOD0C*Z5G&v3||1CZ2UGyW1j9>1yeg);wY4)Yr9 zgv2R5K~<$L?m6-?K7PUpO)B*O&$-o;fwWN&yS^Xz9rs5!R>i=dElV(+PFG}h^+<8&2H{Q;Qq_u$jup$U2+x|n88>$u zKy?_sRx64gK~GsDhD*~zaIsR0@YTyNAh~}nYM@IcdQq|^efmr^kvp4l@|MTc4cA_H zbRB!9K{-&s#B-HpUoom2|%G1Fl6 zf^JmYh*Nl+-z=y_BetT;-JZ|kr&wsQHwm2Vx4ohuN{fg(H!XJxZ1+yMsJADe5 zd%2u0IwTk`QxAa!zbmO@=NC}5HrhY~e=juWb1c0EkHsBtP0qaBd@4?znxVZ__i$!e zWXY|`*Kr8JSH|qXmY-aiIQkh*ObTN%dJUys_jkfW6OP~}lPfY8?g!(0BLf-P_&X5& zempw;zy+NNzX|5V%O)Z98=Px&l$__(Am7L9ps(sSj0u&ZTc^gN;gNT!p2L45b6PXB z<0Cn16W97jJXQ5BKHna(h2mkljRTo0XVH$YOQ9j<%EkJ`BVFWhU zl7!p@E7ce8q*V1Gmk1er*z%_DL+9?>)|WJ_I4{5^ui)z?<*0zL zaJzVRheXBdu0GPeDy%;#4~BREMn$tM6Q$vKMt=jjT0{7P^+%M%0)$8SLHt9zlbRRfC%!{KFrKQ)KKj$3J42pALcD;pCncI zMT!DaVx&o|HzRRNO^#2{c#A9=H&i#aupl6e^5>J$C|}2rb|LLMh2#QEAett>C=WWf zN>*@gmO6~tJE3BvDg_Y`q9i35fKrvchB7~)ufrGzc_ zq;^b{q;SJ9NERp6$P%TT`y}xbZY1I;O&|+>%+pUnE;ClDxf}M>x+})H1pa;Y8}4#& z;yskA^GXKD*8$ljrvox4LpUeLACSV9%b80){)oSmlgI__QeFbZ>hI4r>5*sTrY%&I z&-l+{=$L%Xi3O89Kpei=I{uR~fbUWMZ!Ui@lSr}mp(|sgYIP2OFgxzPw&oE^g)~u; z#7buFem7U$3xAa)UYT27ySNGI$tsB=)+hs4zL_pPOe#|(NK}S7xO8`2day*HktG{x z1TNi0m(E^=X9Qh`pNCLCi=S~OuDsA7e-1yR3|zWb4*U#qaOs}L_!%T~^vP3SxfmgC zQXRP(tD_&l%iYi)0cG*e8$T0-`2oQE;h7|4z7X?=XNvIog46py>*a>P8v3r!@3zit z|LI)i1=h;Hc%JpMJYz8Gh(yS~Mv#{f?UOa+=2agRk+p(wBI7UDcs9YR`Jq&>@_K3T zL%i~WryII_GkGU-y(z=mtAeXJD+_;({mS{g3vS`w?D2d{7aWD91b&@28 zZ-I`j%!J{>vOAkmc;<#r_Ol?#g>+r_=gqH1{84ar%ai|q$Y@+E^TsDz75v<&)XRlf zsX{4JOQRwpgIsi4G^fut@vCOfd$BCfyI2dJ;iNN#A+C&8OI7{24p-~Wsvz#zi$ca4 z`TTFWBr!Txf}Ba43d3gts+xXs7s22*thbx2hoef_Uk$+iWw|_OD&ZTF%Kp`nRsY4& zLz6%XMk$n0G0CwK<2i($UK(i%dqk;~T%sYIOzct4WXdT7b3PjgMSBr9;`LuV5%usn z)@H9!Hg!>V{$foJ(y#(u2kGIfrIJKBv6%eiWYiW2_nd9f-2lw8gHf{#xWUXUQKm>C z+uXXdPvj}p;7O7~(kKwcO3A?{p|6PLPx1(Fg+3|_p9oEiiXm+zJtXjozO%^>Jw0S{ zc``wdvd3VHvfd$;YL;a_RokXmUm^#xPZ|SGjcZhn1No z(s}q{%4m{9tyCE1;NW{0!e=E-b`FDd9efk%o?Ll7e8U`U`MmA1+!g0TFn z65eubtYa%SoqN`GyZ%`(0oZfhl6a}0;aS^}U8GSvlB25=V2`C4Us zl)gBpN^-z9%3uWFI3|fL4RZqBIGGg-^0jBHMb!4GxHx?w> zQpz+IdVR{;6-4KHd*`88O&!w9`Obv>Qke0P(+-G|5f!K#FM51qrJTiO(h@Q z#^S-OZlI$yF-eok&#r6(9R)tIB>_U+>c?~v;c#MI3uB$-H%@=M`;h6AB2W9m zlS>Yc@Fi-W%kL_@U>PFY77*a&t$&RR=C3JPXeP#kVbwp-B?Tz2I}YkA(~$K&vikQU z!#G#x3FC!L;0#)BdSi?vnaai_6FXlTo*;|Un5-mwSmfXb0luEkj6wfM7v(br%dXP& zNaV<$TOJwLuV!0BhMmbq8Bzpz%h$E%BnK0VhQf-CQ-PuD9V0ScS$>a0&UFf92TT)L}1U0+_19Bg`? z@*)qw`N@s^;pK%$eh>wY;lFeBm+7VzKr;OZo&hO;;f&zd@$av*KVt;$G?-wsRp{m$WaUqz=PCA= zP8K|K!hAEf)Pqx)tn%P+0NYW|a~`*zfQmlhhR`*v;KimZ}{$b+R4h1#E6 z((X~;eC@ODru}tPy>1>`Il#{FQCpsHDtPi!{hs>@c0;)7w|FYT5b#!93Q@a3XhL*c>y1Tt}OsQ8hK(4 z1PX{hi6zGNM6Tim?cZGG1^f%yzXTrJ6MqLEg`b4S_n!cd=&-+4UciU%dX7pz36Jlu z!sBCHUciU%>Vo2vkXtHcclgh=CzlZaN&4n0FSMtS{cTDK{A7FBp3NqYfKMU&+msUc zNqpFz&5e&ie{-vNx+#c=?EY$$Dv>%tnJkaxqK!sNMchoOuF%7US#RV0C5$(~edKZx ziLDyTI!LIAi$3|w*Gg(s#>VRFBMWE|N?s*N0~N8-6cL%gi!=l&rAi|2#6e(V>lqY} zNl>b##7CJ8zRGU)#FCmt#6Ku7F`loB1#Z-CUDXMaep1dgSWWzpIIQ@}$TUum4}p_o z*)K_!B9#X!;*?Yb^7a;{?SF?}abyM+rI07GQz+su&iciWCPc~jNt9zkQW9CeAQWJi zgrj&OMzJ)EV!amJJ>1;MK9{b&Lbz7M?tQVJ!t|dJK8eY4jVv#$^!2hEZvrX!1(rO> z)KQ^MP9lA&A&%L^SDJVbh?H^q&8@nk_6m8b$i-gdYAxtIe-K@mqjGedHbIb;+U8 z#7@+$zf6-LiV%@CKC+Ha79yx*vJ%5abY@wW95Qf4VuAxnClJIeCgi6+3-`{SyfIh- z5fe1|?7Zt`zVzbk^BhDo-X1mDGRfHr!_6G7MXWbnb|&)6h`uIg13x0N$wK+9QyF5w z67^?0fXHr@#)!uDB6pz|$R2RKVOMa^ru%~|QRM6kcKqhUKR+TxPX7E)@SDD+9B<{v zZ`th=SeNU0cVz7HYtUYkUHPL%n=JHy-T(Sg_&?wOZUU$OME{el*?s;$(cgM1{L=n5 z$;$s2{?|(}R`C>6>0}E5feAQ$6K6s3$j0RGpt-;}=od-B>ypSk9(&vNSH9}VT4`G1N2Hr0GR5Bz=c^{*cfdRF+M zLet5B97bE7@=OqA*)q%E7iZ-Ehh-L#y+mH+i619#{Su@xeL~4eWp>qqJ+zeX7O$b{ zOvt61A+c6#_Qyaz^fAQ{ z|3AtV|8aU`&&Beh1*^pk=<&bA|3*zVlu`dP?al69!s7qp z^_Cn0Pd`^Fq`>=!_iw?)*^m48pEzC%(>|lIY9Ok)Nd{+6usPyPtReZaK@_C1oFFgE zwuNr@C)XwrS2O>oAob^{n&0R#+9}DqA_IQ?SL&mJkJoI5HtO&k6O4ZiJ&fem-U(_Wvu#Z^7lWu>dooiopcafFA!<{ub~v#Si*6{|}Al-0dvX zl3*^G^>64;y%H`|e+rz!jc)_X>z^gB1uTu^_OCZL|E@nF@6MO+PM`5M+P{In{+_%L zdXD2S14)^Szy8PdN4D{hA4T$AZ{R4DW3{0`{+W5NaOAmP!__5h+88o4i#>6oG>(+W zbuRa(03*Q2Kj#+-Zow@1r;VpV%d0%tC8vP?ulJu(1AoGh)^(UcfBlb-e`EWRj1`Uo zdG?<$^mN0`C@$&Gjx;lgY+1gGoqR zbS{2={Ya$DCc@zl;Ys*5iaN}mV`FcV;Lqo<$7hsW+;QPZU1G9YBg%cStWf8$NF6Ma z94~k}kf>GmA{P(#JNx(pISAzD%Dv(`Mdae3JB7s^GU5t}-1P4_q@9cr&T+UZg0wAB zqV6N&8bS`|@i4OCa)*nI&N=Z1jo3p=*@V&MGRmhrkz_g}TW_3PLQd>SRPo6q;E6_$ z0f`sPmLW%t0z*Q50z)FAA_9T}d~}DPgm)p~oJ7=*7aj3TvUDJOxQYvoYC=*Nb+=jl zVl|4LFsoQhCvMG(k{|3t3G%-b`OnoyqN?>KM=7I7EKFroZ%K@jL>*T|1^D^pb|K|F z4|D4f{UGJwan#EOL;`Fo)a39Vd;81J0_EWGmwZI^m#C81gN5W+m`awygVLYC;dNLx zW`yxrq)g!>O^%VvV##U6f?<=h$v=A5p~RDfgxS;KYY=GXCxSN>T>kbWP2%IqOJm5H zPxjCy`S7GGT-|K>L?zp8+^IeiAT+prL}2@nsE9D1knkWM_P2B8ZWO-CW>kQ*E9RM$S?ohO@@{TR?)NOLuj--FLx z;QS=A75^z9d~!0A|LE`(f+^`vTN>3XQxoN)ktvdu$s}Z}ak*S+w;t;zByy;}d^2)|LoUi1)C-UcD;=G9M7eZhta7It zW0ixR*?4&hc-3VQ7lL{bRDG4?peCo^^3lZPsv`+^AeWp6=i&+TI)+o%p2>bLtV(fn zjUzwUuHp#5%1ko5Ch}6RkJ!W6a;aXaa*CI{a^Ql)5#`BdX2*}7A6TYmpR)%NJLt1t zaOtMxM1e~bWhDbt0#1dB~vzK^DV;xzX*bi$TNaXRXwU>}6Qfrh+N#qc2w3HYh z#2C}4*@L_N*tpbWHsB~?b93WBd;_k~5$(V|D6bXDFNo5nr z6=7@?0rsFhG3-<%B!a?0Nx;e_Y;`Oiru3mCE>5P9{u*Uyr2I&IyfwldKPHv1R|P86 ztii?E0VH!yQ^w@8(M*Li;aNRz*p<8;lwDZp4wLOoP$nvWO>1+S0y$f6FkfjWkta$N z{5*vOc_!C;*m5l~`eSG2AIjdn#%iiy?ibrDs#=1 z@X0Wjr<$BH7*t^|;s+(yr#}b($6+g3hWRz|f;qjEW3`CbH@bUN;}qTMvDYuv>%qp+ zV1Gq%G%L(FiH?tpk0R`4I8qWw6hNga)l5NRt0a+oUxW@(kbLa#Sd#9_-d9Q1o8?5Z zlI0vSg9=ZOun}TNx|;hHDUm1hdYFICE+CgmxceT%h^XeSd(l;p%^uk!!%)9Dno~Xe4U;5D4Qoj8BxLaqBbOc!1;yUS$O#}n zNn+lS!r5H9#Y#hgF9;;k3JwMve5No!4wKn1|4*y`CA?w3+1WDxkG(ZiCx6^c^%9w_ zxCZd@$uqC?+yaV~PcANOSzXLgUJP<|3H9Y2FFOB<3L?M?H2yjC$S^2`0Q*V!KNK)O z3Gb%`B4;15OqyR8^7>mw!Z?$84VyWf{4m~!6*}o;bg{sIy z{}@D$;pDKGjY=Z&3n8IjT*TafGf*hxWwu!mWsuOQ$1jvuruD&pzWqi!0)?i7zz>Cy zx14^8mn5sziLw+jp=XzN6yzs+pPHbUqV*OP(I_&dSwD#?TiKAx4WC;}73^~$u|e7I zU>ONL#ePdt*n0$7b(cccq{F1K$=oHyMsW1?va!2dn>7>KWoo!MvT{S0A&$MXSXf3X z@D;-B)U4no-3%@tHdV4<0n>l3q+y+GQ-9rf=k@b{kH6i1YMcvvz_y>PH*kM)PH@<^ zkX;Ja7>E)sK>W|QFQ@$axpwLBBT?gH+LOD)VJ+SPpAvRxjX=10c zrWm)`LM$luwmoj^f)A{yHdtQLn{wGf?_%|F-AU&cMy|24Mxu%07On+bGLAHv6>C21 z6j*rhH8Uf<*k1?^NDO{5%j_pSvKiUb0xnOw8b}HK{5(ub405$VYdzhJNX4Q7b($tWb7kL*qJ!Xx>~ zzSA2rqy;2S56Q<3A1=S4`K>p0IQ!LuY~8D+2IC{!h~?6~{F5be_M+6>S(=2nxJI=O zYVYe46crT`<>KmWkcTbCU9g%BFK2$2W-MvQ1@*CE2})mOY-)B^uD^2ScMDLHyEF*X zN1DiOW|k|zyT43Wmorr$SAGxQWSKmc6%xUcq}(NP=67u-;KMdHQbLw0qseqrUocmG zXFsyH$Sy6iZI+SW`m9`g0}XHU`6)e{vt+@vC08l=Q<(A3-bc%gTw$|{z#&+$`hnjq z2z1e}^&4SF-t&Xq%&cy*n#5Tpu}65p%qnl&C=RFr7(GlPD)_`g$O>L+D!7Z9)$Af2 z*Yqa&EHD*_vrSIY-1N7?8_jnHO2~q4Y9iSm8cf_bvel7(oRD~~WHgvu0Loq)HCQV( zu+?=+At%4Nc(qch$R>xhhx}_ zH~7%8Bm+C`U}a`BJE{!I5?GQ%S**#X8nnvTo6$hJMJttZLuJf9vn1g3y%C*Rijs95 zmCB#&BlOF?BhDKYRwhZwm0L=ct(^gp!q|Js8fC9)8u2q*zY(oX^9g@J&(CqTfp-K)3j?0u`9HrG zy1r!T&yDXK1KA^QG;?U5!pTK>pCq2U1*3@I!P;rbYEfMfMMWu+<#HA`_Cw-L8{HVn znoT6cGTW<;{EaFFZsKAi2UMbX5`+fAaaYcTz}=Xkgp(xN&U8pB-V@|w~ul* zS*S)$c%Fn(CUK!ixLKAPNVMK&_9BfcS!!pOz0#>5*MaAsnOoQ8fs=ap_Oq}}Z03@5 zsfx^BO(e?M#;INO6)WS^jw$SuaXSgs*pyVm6dk2>NhzYHd<#=m-Q@k`;Tma@3yB%c zUcA~g2QV@-jw4-U&iTP|~OXnx3eqeX- zwdwUwf#>s_zIWEoj}0_7FB(nBQ+HF@bxY;>>x;Y!{(U=0Xun?X>8lD=%2UbJu?9Mh z2p%JMYEGRS?6C>3*zcd}zq|=kz~1A>h2H#Scgl#|)jt!l#EzSs7lZP7bdH$p?a_JU z<W*(qS(y$hLe4L@aBli|$kKBSg%-MA>huHsdAMWY@8`59j zpR74yz@7T;{h>L<8ZEg^3WIeVL$lI=74%bPLv+mUn;kM6VCHP*RD^#W;t{V@689WW z;*+USMkmL45)fpaULtpO4wELa3qrA>8dWQqR37U~RxENF9N`)_;sO&Gt`5xwsX3XD zhDu~Ak{IIRtRYi&rHZAymybrH;&v*@@(}JG72x7ZeiIL3 zWejWQ1%_+fiG!~yupLSD(9KwK)#~Dr6Yao|aObGz!BVxFTnwDwCy5Fq7M%^mVz|arN-hMI zM`@Gcnf2 z?02NWQBqcTM#+ivaZC{E@M{y`*G?2ijv`58y+yIoI0?BghwKfL`4;g+jAAF8AsvH) zyhXYK*=oblU~D?Z>EuKd>xsi=%_CpDZqYJ|Ex_jch3(@S70RkjGAk4LCdb7QW1O^G zl*}p`5t$(>Ro=W8hnX2+!gkVBZ*SJd5b+PJm!(2UF0J906Up?0_*b$xvL8PQIXI)1 zl2aX0O@cC3&3a;HXVgI;-kv{hPogq5nXK?S#VQm|i86JJQ#Prb1Ts1%MLWiD^s%tY ze#bV=+9Er9_3{#;xug2APDYMg?^iFYOd@w3#qm$|dRthx$|b<9?JPYW)`(5V_39-MQQe?8E!X+R8xdhQ^ByB_DMvhTQ{*N zt{`ec2fU_X1_NM@tSYI#t%ybO|Hs|C0LPV`XJQv5I73`M27}Rzppi6cLh}HrAqD^+ zA|VbncyR~|1R(+>M;eb?0J=f6*yx730X}3qme((N*WOjU-nBMyvMR5Wa<s%MYb1eFHDYhXm|W@saW8{Q{Xq*r|yF7kY+16(8}yH1K?U z%mQELiYX7l7SJ*^v_n&G#Dn$59lvm~hTpF@?oJ)I01}jMF7|w{r)TvkL4z}}mzi-_ zOaT4{^L!oCJ)GKhKD=GtRu4PrK@^Dq3x`2mc*eN_?qzL*bEr^&3$Qsqm2i2RV>z|=EgkpKMkt$Fyh`UQCNLJA+zwvFVh^Fh2FWK<))ZB-7}-{K1T zV_?!Mow^+)DO;tJ@~Y^BNt#J#8lDMn?rd&CyfMx2=d<=J)uB{=2h)-A1Ke|nWzTdx zm2O>D7gDBH?I5vWJUfEMw9KDsPv`mEj_*a|c!$ zxC;ypApG#a2jZg$U%7LqQN9Dc&0xQTq6mbF-wmt;gU?FfQ2ZhmGPsTxcWMb+Nummf z4L-*-FaGVG_$i%zDafW8rM%Ek+{;k`Gt@JDeEb7GOlBY}E+cN>*|?8sWU7EsG9C1$ zn&~wM*W+U)BWWlX#YVQ`qS7#T z?F3U$l$}sJo6^q194;HckvTYUIzBF7Etix_ZVo=(rlz5D@iAgyF#g~(njC7fu!qxFXQ<^Jp2se@z*#0X4nNh1w35;M)6$2!;g(;cmdB_c$k)H_+fnTdEr@n zhK62vopSBJ7yZXkF{(t(=!c{8(Gn7VEINJh_@(hzqvxaOP|rV&el_}W#J>?uLjU=x zo)7gL>G`wh52OD%`cIJKmFP}Sus)3?f_{+;mGG$kYL!~glH@K?Sl;*o=o2xPrAeAN zBU1&m@2JvaBW(@nTM?T(wyXpe(851Is1k%U6cR*FQ&8sU)rc<@nVbjpWnCuV0ex9j zgvQIuX5tW^TTEl5IvpR9HW>5{LQ*I3QAw%EQ=*8da ziThlE1APj!gTqG$jw!?r4j-I4(BH#X!tCJi0sBg*9UML^udh0|9c%?RN%x5aa$Gyw zLT&&P-N7v*H+yiKdfJGGLqFFOAN9MPB8#JD;nL-B$cL_su`r2!`rwn6Q@?m9KI~TJ<8eH* zjPpWnP2v!R{s?Gu81Gl+uTL%u>i6Mo=K9U4`Pu#hCK3mWoEh&wXx?t(^+JDd5;u0f z{}71I(^4#=p27rTDND;Y<`&-We|n%lK8n}r>(>_NXWu!0w*PRF7jM+3Fz?j$>+}7w ziTbQma>SJMS*?>3l?5{r4LXKZ`3N&gn4%3NJ8$I5NWc6Y$R#M&Pzzew49xk zfG?Vo6=V{07ffD%(!BF$CA6B9WkNPB6aYR+QZq>egc4FWr7IXEXv+pA4gV5YkY_w_ zO1g%Z&NRL`Fc2R{Is;Zowr!FrXeDR|RQTDX{Q$27-!si6h$Y~Dd)|fIWHXmwJleb_ z&j`695lbQy;-+-Co{!#AZp{eCn0GJZ;as%y@6p<0m_e^e@$n>#jq<1T&}ZT}X%Ghd z@KyuL-!&|D%1uH*0KW>!0hh{eB9z?mA*u*hS4u9lDf-Mq?R9~sn*1?9_oJ|tfX9LF z^n9!5n>|0(bF1f6&+kY7dGs^TO^ic}5q?7Wj(LlmvQ*zg^6%pLQ#{|nLpT%OZ{c|d z&laAq;`s)iZ{qnD9{=-b&X}A(d;M1-QsLz{lQN^K3EaWi4j}8pR zN1J9Fn1uGZqERD?07+xw7{SVkp?UN%mCz#yRSpcrl>B0jB1T#=b-E4zanu`tv`(9N zqwuj>ZQ|Yk3hmsh(MymYrav0}P=K!&pn2cgNQeRQ2l1bzIU$ISzJfHwSK{&4@DP{% z55pOD0naF&N5fy}{I@oI^o`;pCM-=%a*RDG)6k0+sjMdEKj?`MTL=uCFqRe-PM-@{ zO@#tj_rsP<2;vN@{Kyj;zOzhQL_$o4yE$F%34{P*f;Qrz_RmEze-c~K6B4)g?IsX-a_b& zDzL`lvGB#VnZkl9eh1++PxyL3n_i$Ih2_U9m`sA4a&uYQV1A5`>TFDe$Kp(7QwhH* zH%LErKAk>D%Pe;OnCyPP(s@TvmsOKK;ylydTRGihC!#oKRq$7hp)be%>4rhvK8Ve4 zz;X(K1s~V`iJN`DPzLVfY!%7e+

      2. $Z5HsA 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%0D8vhH*LMv70@R`jYT7{-C* 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

    =#AwMd=s6m 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Ν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

    U}MAZuq-Q2`ScX(J?Io|4`X=mW7>`U$P||> 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%0D*IvbD3!$g| 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

    =1WPXEqM!Tdr%gZC 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

    TPbkE>-U5Q(tFOSA98VQD5H;#Om&5zCV`ho2)p_ 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�N*DvGRVUw)p_8&Ue=Y2;pFk{ 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