From 0fe0e73ee1bd8a8a83140af8183412bc092c5539 Mon Sep 17 00:00:00 2001 From: Ch_confuse <1532701447@qq.com> Date: Wed, 18 Sep 2024 16:56:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- precision_Problem/Is_standard/CMakeLists.txt | 69 + .../Is_standard/CMakePresets.json | 63 + precision_Problem/Is_standard/build.sh | 80 ++ .../Is_standard/build_out/CMakeCache.txt | 425 ++++++ .../CMakeFiles/3.22.1/CMakeCCompiler.cmake | 72 + .../CMakeFiles/3.22.1/CMakeCXXCompiler.cmake | 83 ++ .../3.22.1/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 9024 bytes .../3.22.1/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 9048 bytes .../CMakeFiles/3.22.1/CMakeSystem.cmake | 15 + .../3.22.1/CompilerIdC/CMakeCCompilerId.c | 803 +++++++++++ .../CMakeFiles/3.22.1/CompilerIdC/a.out | Bin 0 -> 9168 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 791 +++++++++++ .../CMakeFiles/3.22.1/CompilerIdCXX/a.out | Bin 0 -> 9176 bytes .../CMakeDirectoryInformation.cmake | 16 + .../build_out/CMakeFiles/CMakeOutput.log | 437 ++++++ .../build_out/CMakeFiles/CMakeRuleHashes.txt | 18 + .../build_out/CMakeFiles/Makefile.cmake | 155 +++ .../build_out/CMakeFiles/Makefile2 | 649 +++++++++ .../CMakeFiles/TargetDirectories.txt | 58 + .../build_out/CMakeFiles/cmake.check_cache | 1 + .../gen_version_info.dir/DependInfo.cmake | 18 + .../gen_version_info.dir/build.make | 87 ++ .../gen_version_info.dir/cmake_clean.cmake | 8 + .../gen_version_info.dir/compiler_depend.make | 2 + .../gen_version_info.dir/compiler_depend.ts | 2 + .../gen_version_info.dir/progress.make | 1 + .../modify_vendor.dir/DependInfo.cmake | 24 + .../CMakeFiles/modify_vendor.dir/build.make | 98 ++ .../modify_vendor.dir/cmake_clean.cmake | 10 + .../modify_vendor.dir/compiler_depend.make | 2 + .../modify_vendor.dir/compiler_depend.ts | 2 + .../modify_vendor.dir/progress.make | 2 + .../build_out/CMakeFiles/progress.marks | 1 + .../Is_standard/build_out/CPackConfig.cmake | 71 + .../build_out/CPackSourceConfig.cmake | 79 ++ .../Is_standard/build_out/Makefile | 463 +++++++ .../custom_opp_ubuntu_aarch64.run.json | 26 + .../custom_opp_ubuntu_aarch64.run | 1040 ++++++++++++++ .../custom_opp_ubuntu_aarch64.run/help.info | 1 + .../custom_opp_ubuntu_aarch64.run/install.sh | 318 +++++ .../op_api/include/aclnn_reduce_sum.h | 55 + .../customize/op_api/lib/libcust_opapi.so | Bin 0 -> 10352 bytes .../vendors/customize/op_proto/inc/op_proto.h | 20 + .../packages/vendors/customize/version.info | 1 + .../custom_opp_ubuntu_aarch64.run/upgrade.sh | 151 ++ .../build_out/autogen/aclnn_reduce_sum.cpp | 201 +++ .../build_out/autogen/aclnn_reduce_sum.h | 55 + .../autogen/aic-ascend310b-ops-info.ini | 40 + .../autogen/custom_compile_options.ini | 0 .../build_out/autogen/libascend_all_ops.so | Bin 0 -> 1070488 bytes .../Is_standard/build_out/autogen/op_proto.cc | 5 + .../Is_standard/build_out/autogen/op_proto.h | 20 + .../Is_standard/build_out/cmake_install.cmake | 81 ++ .../build_out/custom_opp_ubuntu_aarch64.run | 1040 ++++++++++++++ .../custom_opp_ubuntu_aarch64.run.json | 26 + .../CMakeDirectoryInformation.cmake | 16 + .../framework/CMakeFiles/progress.marks | 1 + .../Is_standard/build_out/framework/Makefile | 211 +++ .../build_out/framework/cmake_install.cmake | 49 + .../CMakeDirectoryInformation.cmake | 16 + .../cust_tf_parsers.dir/DependInfo.cmake | 19 + .../CMakeFiles/cust_tf_parsers.dir/build.make | 110 ++ .../cust_tf_parsers.dir/cmake_clean.cmake | 11 + .../compiler_depend.internal | 225 +++ .../cust_tf_parsers.dir/compiler_depend.make | 650 +++++++++ .../cust_tf_parsers.dir/compiler_depend.ts | 2 + .../cust_tf_parsers.dir/depend.make | 2 + .../CMakeFiles/cust_tf_parsers.dir/flags.make | 10 + .../CMakeFiles/cust_tf_parsers.dir/link.txt | 1 + .../cust_tf_parsers.dir/progress.make | 3 + .../tensorflow_reduce_sum_plugin.cc.o | Bin 0 -> 10440 bytes .../tensorflow_reduce_sum_plugin.cc.o.d | 184 +++ .../tf_plugin/CMakeFiles/progress.marks | 1 + .../build_out/framework/tf_plugin/Makefile | 253 ++++ .../framework/tf_plugin/cmake_install.cmake | 67 + .../framework/tf_plugin/libcust_tf_parsers.so | Bin 0 -> 10160 bytes .../build_out/install_manifest.txt | 35 + ...eSum_aab7d211a4f4f395b4f928b8c56a621d.json | 93 ++ ...duceSum_aab7d211a4f4f395b4f928b8c56a621d.o | Bin 0 -> 4008 bytes ...eSum_aba912fd1d17807efc5a7debff52df92.json | 93 ++ ...duceSum_aba912fd1d17807efc5a7debff52df92.o | Bin 0 -> 4008 bytes ...eSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json | 93 ++ ...duceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o | Bin 0 -> 4008 bytes ...eSum_f92b0ed06094ccd956a40fd4f3d5b39a.json | 93 ++ ...duceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o | Bin 0 -> 4008 bytes .../config/ascend310b/binary_info_config.json | 48 + .../kernel/config/ascend310b/reduce_sum.json | 252 ++++ .../CMakeDirectoryInformation.cmake | 16 + .../cust_op_proto.dir/DependInfo.cmake | 20 + .../__/autogen/op_proto.cc.o | Bin 0 -> 65680 bytes .../__/autogen/op_proto.cc.o.d | 252 ++++ .../CMakeFiles/cust_op_proto.dir/build.make | 126 ++ .../cust_op_proto.dir/cmake_clean.cmake | 13 + .../compiler_depend.internal | 619 +++++++++ .../cust_op_proto.dir/compiler_depend.make | 1215 +++++++++++++++++ .../cust_op_proto.dir/compiler_depend.ts | 2 + .../CMakeFiles/cust_op_proto.dir/depend.make | 2 + .../CMakeFiles/cust_op_proto.dir/flags.make | 10 + .../CMakeFiles/cust_op_proto.dir/link.txt | 1 + .../cust_op_proto.dir/progress.make | 4 + .../cust_op_proto.dir/reduce_sum.cpp.o | Bin 0 -> 89360 bytes .../cust_op_proto.dir/reduce_sum.cpp.o.d | 270 ++++ .../cust_opapi.dir/DependInfo.cmake | 19 + .../__/autogen/aclnn_reduce_sum.cpp.o | Bin 0 -> 13040 bytes .../__/autogen/aclnn_reduce_sum.cpp.o.d | 142 ++ .../CMakeFiles/cust_opapi.dir/build.make | 110 ++ .../cust_opapi.dir/cmake_clean.cmake | 11 + .../cust_opapi.dir/compiler_depend.internal | 170 +++ .../cust_opapi.dir/compiler_depend.make | 499 +++++++ .../cust_opapi.dir/compiler_depend.ts | 2 + .../CMakeFiles/cust_opapi.dir/depend.make | 2 + .../CMakeFiles/cust_opapi.dir/flags.make | 10 + .../CMakeFiles/cust_opapi.dir/link.txt | 1 + .../CMakeFiles/cust_opapi.dir/progress.make | 3 + .../cust_optiling.dir/DependInfo.cmake | 19 + .../CMakeFiles/cust_optiling.dir/build.make | 110 ++ .../cust_optiling.dir/cmake_clean.cmake | 11 + .../compiler_depend.internal | 321 +++++ .../cust_optiling.dir/compiler_depend.make | 914 +++++++++++++ .../cust_optiling.dir/compiler_depend.ts | 2 + .../CMakeFiles/cust_optiling.dir/depend.make | 2 + .../CMakeFiles/cust_optiling.dir/flags.make | 10 + .../CMakeFiles/cust_optiling.dir/link.txt | 1 + .../cust_optiling.dir/progress.make | 3 + .../cust_optiling.dir/reduce_sum.cpp.o | Bin 0 -> 93896 bytes .../cust_optiling.dir/reduce_sum.cpp.o.d | 270 ++++ .../optiling_compat.dir/DependInfo.cmake | 18 + .../CMakeFiles/optiling_compat.dir/build.make | 87 ++ .../optiling_compat.dir/cmake_clean.cmake | 8 + .../optiling_compat.dir/compiler_depend.make | 2 + .../optiling_compat.dir/compiler_depend.ts | 2 + .../optiling_compat.dir/progress.make | 1 + .../op_host/CMakeFiles/progress.marks | 1 + .../Is_standard/build_out/op_host/Makefile | 355 +++++ .../build_out/op_host/cmake_install.cmake | 125 ++ .../build_out/op_host/libcust_opapi.so | Bin 0 -> 10352 bytes .../op_host/libcust_opmaster_rt2.0.so | Bin 0 -> 137160 bytes .../op_host/libcust_opsproto_rt2.0.so | Bin 0 -> 145352 bytes .../CMakeDirectoryInformation.cmake | 16 + .../DependInfo.cmake | 18 + .../ascendc_bin_ascend310b.dir/build.make | 87 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../ascendc_bin_ascend310b.dir/progress.make | 1 + .../DependInfo.cmake | 18 + .../build.make | 88 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../progress.make | 1 + .../DependInfo.cmake | 18 + .../build.make | 87 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../progress.make | 1 + .../DependInfo.cmake | 18 + .../build.make | 87 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../progress.make | 1 + .../DependInfo.cmake | 18 + .../build.make | 87 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../progress.make | 1 + .../DependInfo.cmake | 18 + .../build.make | 87 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../progress.make | 1 + .../DependInfo.cmake | 18 + .../build.make | 87 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../progress.make | 1 + .../ascendc_impl_gen.dir/DependInfo.cmake | 18 + .../ascendc_impl_gen.dir/build.make | 95 ++ .../ascendc_impl_gen.dir/cmake_clean.cmake | 9 + .../ascendc_impl_gen.dir/compiler_depend.make | 2 + .../ascendc_impl_gen.dir/compiler_depend.ts | 2 + .../ascendc_impl_gen.dir/progress.make | 2 + .../CMakeFiles/binary.dir/DependInfo.cmake | 18 + .../CMakeFiles/binary.dir/build.make | 83 ++ .../CMakeFiles/binary.dir/cmake_clean.cmake | 5 + .../binary.dir/compiler_depend.make | 2 + .../CMakeFiles/binary.dir/compiler_depend.ts | 2 + .../CMakeFiles/binary.dir/progress.make | 1 + .../npu_supported_ops.dir/DependInfo.cmake | 18 + .../npu_supported_ops.dir/build.make | 92 ++ .../npu_supported_ops.dir/cmake_clean.cmake | 9 + .../compiler_depend.make | 2 + .../npu_supported_ops.dir/compiler_depend.ts | 2 + .../npu_supported_ops.dir/progress.make | 2 + .../DependInfo.cmake | 18 + .../ops_info_gen_ascend310b.dir/build.make | 92 ++ .../cmake_clean.cmake | 9 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../ops_info_gen_ascend310b.dir/progress.make | 2 + .../op_kernel/CMakeFiles/progress.marks | 1 + .../Is_standard/build_out/op_kernel/Makefile | 376 +++++ .../ascend310b/bin/binary_info_config.json | 48 + .../binary/ascend310b/bin/reduce_sum.json | 252 ++++ ...eSum_aab7d211a4f4f395b4f928b8c56a621d.json | 93 ++ ...duceSum_aab7d211a4f4f395b4f928b8c56a621d.o | Bin 0 -> 4008 bytes ...eSum_aba912fd1d17807efc5a7debff52df92.json | 93 ++ ...duceSum_aba912fd1d17807efc5a7debff52df92.o | Bin 0 -> 4008 bytes ...eSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json | 93 ++ ...duceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o | Bin 0 -> 4008 bytes ...eSum_f92b0ed06094ccd956a40fd4f3d5b39a.json | 93 ++ ...duceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o | Bin 0 -> 4008 bytes .../ascend310b/gen/ReduceSum-reduce_sum-0.sh | 14 + .../ascend310b/gen/ReduceSum-reduce_sum-1.sh | 14 + .../ascend310b/gen/ReduceSum-reduce_sum-2.sh | 14 + .../ascend310b/gen/ReduceSum-reduce_sum-3.sh | 14 + ...ab7d211a4f4f395b4f928b8c56a621d_param.json | 59 + ...ba912fd1d17807efc5a7debff52df92_param.json | 59 + ...173a8c22ef4278e2efc1f7e4f04cf1f_param.json | 59 + ...92b0ed06094ccd956a40fd4f3d5b39a_param.json | 59 + .../binary/ascend310b/src/CMakeLists.txt | 68 + .../binary/ascend310b/src/ReduceSum.py | 205 +++ .../src/__pycache__/ReduceSum.cpython-39.pyc | Bin 0 -> 6521 bytes .../binary/ascend310b/src/reduce_sum.cpp | 85 ++ .../build_out/op_kernel/cmake_install.cmake | 108 ++ .../build_out/op_kernel/tbe/.impl_timestamp | 0 .../op_kernel/tbe/dynamic/reduce_sum.py | 205 +++ .../ascend310b/aic-ascend310b-ops-info.json | 73 + .../ai_core/npu_supported_ops.json | 6 + .../Is_standard/build_out/scripts/help.info | 1 + .../Is_standard/build_out/scripts/install.sh | 318 +++++ .../Is_standard/build_out/scripts/upgrade.sh | 151 ++ .../Is_standard/build_out/version.info | 1 + .../Is_standard/cmake/config.cmake | 25 + .../Is_standard/cmake/func.cmake | 192 +++ .../Is_standard/cmake/intf.cmake | 26 + .../Is_standard/cmake/makeself.cmake | 17 + .../Is_standard/cmake/util/__init__.py | 8 + .../util/__pycache__/__init__.cpython-39.pyc | Bin 0 -> 292 bytes .../ascendc_bin_param_build.cpython-39.pyc | Bin 0 -> 4215 bytes .../ascendc_impl_build.cpython-39.pyc | Bin 0 -> 18438 bytes .../ascendc_ops_config.cpython-39.pyc | Bin 0 -> 3564 bytes .../ascendc_replay_build.cpython-39.pyc | Bin 0 -> 2580 bytes .../code_channel_infer.cpython-39.pyc | Bin 0 -> 1533 bytes .../util/__pycache__/const_var.cpython-39.pyc | Bin 0 -> 1079 bytes .../__pycache__/insert_op_info.cpython-39.pyc | Bin 0 -> 1103 bytes .../insert_simplified_keys.cpython-39.pyc | Bin 0 -> 5587 bytes .../__pycache__/kernel_entry.cpython-39.pyc | Bin 0 -> 3120 bytes .../__pycache__/opdesc_parser.cpython-39.pyc | Bin 0 -> 9559 bytes .../parse_ini_to_json.cpython-39.pyc | Bin 0 -> 8508 bytes .../__pycache__/preset_parse.cpython-39.pyc | Bin 0 -> 791 bytes .../__pycache__/replay_codegen.cpython-39.pyc | Bin 0 -> 4404 bytes .../tiling_data_def_build.cpython-39.pyc | Bin 0 -> 3012 bytes .../cmake/util/ascendc_bin_param_build.py | 127 ++ .../cmake/util/ascendc_impl_build.py | 501 +++++++ .../cmake/util/ascendc_ops_config.py | 120 ++ .../cmake/util/ascendc_replay_build.py | 65 + .../cmake/util/batch_replay_impl.temp | 117 ++ .../cmake/util/code_channel_infer.py | 58 + .../Is_standard/cmake/util/const_var.py | 33 + .../cmake/util/gen_impl_and_mrege_json.sh | 20 + .../Is_standard/cmake/util/gen_ops_filter.sh | 62 + .../cmake/util/gen_version_info.sh | 6 + .../Is_standard/cmake/util/insert_op_info.py | 36 + .../cmake/util/insert_simplified_keys.py | 242 ++++ .../Is_standard/cmake/util/kernel_entry.py | 115 ++ .../Is_standard/cmake/util/kernel_impl.temp | 10 + .../Is_standard/cmake/util/makeself/COPYING | 339 +++++ .../Is_standard/cmake/util/makeself/README.md | 246 ++++ .../Is_standard/cmake/util/makeself/VERSION | 1 + .../cmake/util/makeself/make-release.sh | 9 + .../cmake/util/makeself/makeself-header.sh | 660 +++++++++ .../cmake/util/makeself/makeself.1 | 110 ++ .../cmake/util/makeself/makeself.lsm | 16 + .../cmake/util/makeself/makeself.sh | 822 +++++++++++ .../cmake/util/makeself/run-tests.sh | 8 + .../cmake/util/merge_aicpu_info_json.sh | 31 + .../Is_standard/cmake/util/opdesc_parser.py | 294 ++++ .../cmake/util/parse_ini_to_json.py | 338 +++++ .../Is_standard/cmake/util/preset_parse.py | 23 + .../Is_standard/cmake/util/replay_codegen.py | 105 ++ .../Is_standard/cmake/util/replay_impl.temp | 120 ++ .../cmake/util/tiling_data_def_build.py | 87 ++ .../Is_standard/framework/CMakeLists.txt | 11 + .../framework/tf_plugin/CMakeLists.txt | 14 + .../tf_plugin/tensorflow_reduce_sum_plugin.cc | 23 + .../Is_standard/op_host/CMakeLists.txt | 82 ++ .../Is_standard/op_host/reduce_sum.cpp | 119 ++ .../Is_standard/op_host/reduce_sum_tiling.h | 19 + .../Is_standard/op_kernel/CMakeLists.txt | 68 + .../Is_standard/op_kernel/reduce_sum.cpp | 85 ++ .../Is_standard/scripts/help.info | 1 + .../Is_standard/scripts/install.sh | 318 +++++ .../Is_standard/scripts/upgrade.sh | 151 ++ precision_Problem/No_standard/CMakeLists.txt | 69 + .../No_standard/CMakePresets.json | 63 + precision_Problem/No_standard/build.sh | 80 ++ .../No_standard/build_out/CMakeCache.txt | 425 ++++++ .../CMakeFiles/3.22.1/CMakeCCompiler.cmake | 72 + .../CMakeFiles/3.22.1/CMakeCXXCompiler.cmake | 83 ++ .../3.22.1/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 9024 bytes .../3.22.1/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 9048 bytes .../CMakeFiles/3.22.1/CMakeSystem.cmake | 15 + .../3.22.1/CompilerIdC/CMakeCCompilerId.c | 803 +++++++++++ .../CMakeFiles/3.22.1/CompilerIdC/a.out | Bin 0 -> 9168 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 791 +++++++++++ .../CMakeFiles/3.22.1/CompilerIdCXX/a.out | Bin 0 -> 9176 bytes .../CMakeDirectoryInformation.cmake | 16 + .../build_out/CMakeFiles/CMakeOutput.log | 437 ++++++ .../build_out/CMakeFiles/CMakeRuleHashes.txt | 18 + .../build_out/CMakeFiles/Makefile.cmake | 155 +++ .../build_out/CMakeFiles/Makefile2 | 649 +++++++++ .../CMakeFiles/TargetDirectories.txt | 58 + .../build_out/CMakeFiles/cmake.check_cache | 1 + .../gen_version_info.dir/DependInfo.cmake | 18 + .../gen_version_info.dir/build.make | 87 ++ .../gen_version_info.dir/cmake_clean.cmake | 8 + .../gen_version_info.dir/compiler_depend.make | 2 + .../gen_version_info.dir/compiler_depend.ts | 2 + .../gen_version_info.dir/progress.make | 1 + .../modify_vendor.dir/DependInfo.cmake | 24 + .../CMakeFiles/modify_vendor.dir/build.make | 98 ++ .../modify_vendor.dir/cmake_clean.cmake | 10 + .../modify_vendor.dir/compiler_depend.make | 2 + .../modify_vendor.dir/compiler_depend.ts | 2 + .../modify_vendor.dir/progress.make | 2 + .../build_out/CMakeFiles/progress.marks | 1 + .../No_standard/build_out/CPackConfig.cmake | 71 + .../build_out/CPackSourceConfig.cmake | 79 ++ .../No_standard/build_out/Makefile | 463 +++++++ .../custom_opp_ubuntu_aarch64.run.json | 26 + .../custom_opp_ubuntu_aarch64.run | 1040 ++++++++++++++ .../custom_opp_ubuntu_aarch64.run/help.info | 1 + .../custom_opp_ubuntu_aarch64.run/install.sh | 318 +++++ .../op_api/include/aclnn_reduce_sum.h | 55 + .../customize/op_api/lib/libcust_opapi.so | Bin 0 -> 10352 bytes .../vendors/customize/op_proto/inc/op_proto.h | 20 + .../packages/vendors/customize/version.info | 1 + .../custom_opp_ubuntu_aarch64.run/upgrade.sh | 151 ++ .../build_out/autogen/aclnn_reduce_sum.cpp | 201 +++ .../build_out/autogen/aclnn_reduce_sum.h | 55 + .../autogen/aic-ascend310b-ops-info.ini | 40 + .../autogen/custom_compile_options.ini | 0 .../build_out/autogen/libascend_all_ops.so | Bin 0 -> 1070488 bytes .../No_standard/build_out/autogen/op_proto.cc | 5 + .../No_standard/build_out/autogen/op_proto.h | 20 + .../No_standard/build_out/cmake_install.cmake | 81 ++ .../build_out/custom_opp_ubuntu_aarch64.run | 1040 ++++++++++++++ .../custom_opp_ubuntu_aarch64.run.json | 26 + .../CMakeDirectoryInformation.cmake | 16 + .../framework/CMakeFiles/progress.marks | 1 + .../No_standard/build_out/framework/Makefile | 211 +++ .../build_out/framework/cmake_install.cmake | 49 + .../CMakeDirectoryInformation.cmake | 16 + .../cust_tf_parsers.dir/DependInfo.cmake | 19 + .../CMakeFiles/cust_tf_parsers.dir/build.make | 110 ++ .../cust_tf_parsers.dir/cmake_clean.cmake | 11 + .../compiler_depend.internal | 225 +++ .../cust_tf_parsers.dir/compiler_depend.make | 650 +++++++++ .../cust_tf_parsers.dir/compiler_depend.ts | 2 + .../cust_tf_parsers.dir/depend.make | 2 + .../CMakeFiles/cust_tf_parsers.dir/flags.make | 10 + .../CMakeFiles/cust_tf_parsers.dir/link.txt | 1 + .../cust_tf_parsers.dir/progress.make | 3 + .../tensorflow_reduce_sum_plugin.cc.o | Bin 0 -> 10440 bytes .../tensorflow_reduce_sum_plugin.cc.o.d | 184 +++ .../tf_plugin/CMakeFiles/progress.marks | 1 + .../build_out/framework/tf_plugin/Makefile | 253 ++++ .../framework/tf_plugin/cmake_install.cmake | 67 + .../framework/tf_plugin/libcust_tf_parsers.so | Bin 0 -> 10160 bytes .../build_out/install_manifest.txt | 35 + ...eSum_aab7d211a4f4f395b4f928b8c56a621d.json | 93 ++ ...duceSum_aab7d211a4f4f395b4f928b8c56a621d.o | Bin 0 -> 4008 bytes ...eSum_aba912fd1d17807efc5a7debff52df92.json | 93 ++ ...duceSum_aba912fd1d17807efc5a7debff52df92.o | Bin 0 -> 4008 bytes ...eSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json | 93 ++ ...duceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o | Bin 0 -> 4008 bytes ...eSum_f92b0ed06094ccd956a40fd4f3d5b39a.json | 93 ++ ...duceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o | Bin 0 -> 4008 bytes .../config/ascend310b/binary_info_config.json | 48 + .../kernel/config/ascend310b/reduce_sum.json | 252 ++++ .../CMakeDirectoryInformation.cmake | 16 + .../cust_op_proto.dir/DependInfo.cmake | 20 + .../__/autogen/op_proto.cc.o | Bin 0 -> 65680 bytes .../__/autogen/op_proto.cc.o.d | 252 ++++ .../CMakeFiles/cust_op_proto.dir/build.make | 126 ++ .../cust_op_proto.dir/cmake_clean.cmake | 13 + .../compiler_depend.internal | 619 +++++++++ .../cust_op_proto.dir/compiler_depend.make | 1215 +++++++++++++++++ .../cust_op_proto.dir/compiler_depend.ts | 2 + .../CMakeFiles/cust_op_proto.dir/depend.make | 2 + .../CMakeFiles/cust_op_proto.dir/flags.make | 10 + .../CMakeFiles/cust_op_proto.dir/link.txt | 1 + .../cust_op_proto.dir/progress.make | 4 + .../cust_op_proto.dir/reduce_sum.cpp.o | Bin 0 -> 89360 bytes .../cust_op_proto.dir/reduce_sum.cpp.o.d | 270 ++++ .../cust_opapi.dir/DependInfo.cmake | 19 + .../__/autogen/aclnn_reduce_sum.cpp.o | Bin 0 -> 13040 bytes .../__/autogen/aclnn_reduce_sum.cpp.o.d | 142 ++ .../CMakeFiles/cust_opapi.dir/build.make | 110 ++ .../cust_opapi.dir/cmake_clean.cmake | 11 + .../cust_opapi.dir/compiler_depend.internal | 170 +++ .../cust_opapi.dir/compiler_depend.make | 499 +++++++ .../cust_opapi.dir/compiler_depend.ts | 2 + .../CMakeFiles/cust_opapi.dir/depend.make | 2 + .../CMakeFiles/cust_opapi.dir/flags.make | 10 + .../CMakeFiles/cust_opapi.dir/link.txt | 1 + .../CMakeFiles/cust_opapi.dir/progress.make | 3 + .../cust_optiling.dir/DependInfo.cmake | 19 + .../CMakeFiles/cust_optiling.dir/build.make | 110 ++ .../cust_optiling.dir/cmake_clean.cmake | 11 + .../compiler_depend.internal | 321 +++++ .../cust_optiling.dir/compiler_depend.make | 914 +++++++++++++ .../cust_optiling.dir/compiler_depend.ts | 2 + .../CMakeFiles/cust_optiling.dir/depend.make | 2 + .../CMakeFiles/cust_optiling.dir/flags.make | 10 + .../CMakeFiles/cust_optiling.dir/link.txt | 1 + .../cust_optiling.dir/progress.make | 3 + .../cust_optiling.dir/reduce_sum.cpp.o | Bin 0 -> 93896 bytes .../cust_optiling.dir/reduce_sum.cpp.o.d | 270 ++++ .../optiling_compat.dir/DependInfo.cmake | 18 + .../CMakeFiles/optiling_compat.dir/build.make | 87 ++ .../optiling_compat.dir/cmake_clean.cmake | 8 + .../optiling_compat.dir/compiler_depend.make | 2 + .../optiling_compat.dir/compiler_depend.ts | 2 + .../optiling_compat.dir/progress.make | 1 + .../op_host/CMakeFiles/progress.marks | 1 + .../No_standard/build_out/op_host/Makefile | 355 +++++ .../build_out/op_host/cmake_install.cmake | 125 ++ .../build_out/op_host/libcust_opapi.so | Bin 0 -> 10352 bytes .../op_host/libcust_opmaster_rt2.0.so | Bin 0 -> 137160 bytes .../op_host/libcust_opsproto_rt2.0.so | Bin 0 -> 145352 bytes .../CMakeDirectoryInformation.cmake | 16 + .../DependInfo.cmake | 18 + .../ascendc_bin_ascend310b.dir/build.make | 87 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../ascendc_bin_ascend310b.dir/progress.make | 1 + .../DependInfo.cmake | 18 + .../build.make | 88 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../progress.make | 1 + .../DependInfo.cmake | 18 + .../build.make | 87 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../progress.make | 1 + .../DependInfo.cmake | 18 + .../build.make | 87 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../progress.make | 1 + .../DependInfo.cmake | 18 + .../build.make | 87 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../progress.make | 1 + .../DependInfo.cmake | 18 + .../build.make | 87 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../progress.make | 1 + .../DependInfo.cmake | 18 + .../build.make | 87 ++ .../cmake_clean.cmake | 8 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../progress.make | 1 + .../ascendc_impl_gen.dir/DependInfo.cmake | 18 + .../ascendc_impl_gen.dir/build.make | 95 ++ .../ascendc_impl_gen.dir/cmake_clean.cmake | 9 + .../ascendc_impl_gen.dir/compiler_depend.make | 2 + .../ascendc_impl_gen.dir/compiler_depend.ts | 2 + .../ascendc_impl_gen.dir/progress.make | 2 + .../CMakeFiles/binary.dir/DependInfo.cmake | 18 + .../CMakeFiles/binary.dir/build.make | 83 ++ .../CMakeFiles/binary.dir/cmake_clean.cmake | 5 + .../binary.dir/compiler_depend.make | 2 + .../CMakeFiles/binary.dir/compiler_depend.ts | 2 + .../CMakeFiles/binary.dir/progress.make | 1 + .../npu_supported_ops.dir/DependInfo.cmake | 18 + .../npu_supported_ops.dir/build.make | 92 ++ .../npu_supported_ops.dir/cmake_clean.cmake | 9 + .../compiler_depend.make | 2 + .../npu_supported_ops.dir/compiler_depend.ts | 2 + .../npu_supported_ops.dir/progress.make | 2 + .../DependInfo.cmake | 18 + .../ops_info_gen_ascend310b.dir/build.make | 92 ++ .../cmake_clean.cmake | 9 + .../compiler_depend.make | 2 + .../compiler_depend.ts | 2 + .../ops_info_gen_ascend310b.dir/progress.make | 2 + .../op_kernel/CMakeFiles/progress.marks | 1 + .../No_standard/build_out/op_kernel/Makefile | 376 +++++ .../ascend310b/bin/binary_info_config.json | 48 + .../binary/ascend310b/bin/reduce_sum.json | 252 ++++ ...eSum_aab7d211a4f4f395b4f928b8c56a621d.json | 93 ++ ...duceSum_aab7d211a4f4f395b4f928b8c56a621d.o | Bin 0 -> 4008 bytes ...eSum_aba912fd1d17807efc5a7debff52df92.json | 93 ++ ...duceSum_aba912fd1d17807efc5a7debff52df92.o | Bin 0 -> 4008 bytes ...eSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json | 93 ++ ...duceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o | Bin 0 -> 4008 bytes ...eSum_f92b0ed06094ccd956a40fd4f3d5b39a.json | 93 ++ ...duceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o | Bin 0 -> 4008 bytes .../ascend310b/gen/ReduceSum-reduce_sum-0.sh | 14 + .../ascend310b/gen/ReduceSum-reduce_sum-1.sh | 14 + .../ascend310b/gen/ReduceSum-reduce_sum-2.sh | 14 + .../ascend310b/gen/ReduceSum-reduce_sum-3.sh | 14 + ...ab7d211a4f4f395b4f928b8c56a621d_param.json | 59 + ...ba912fd1d17807efc5a7debff52df92_param.json | 59 + ...173a8c22ef4278e2efc1f7e4f04cf1f_param.json | 59 + ...92b0ed06094ccd956a40fd4f3d5b39a_param.json | 59 + .../binary/ascend310b/src/CMakeLists.txt | 68 + .../binary/ascend310b/src/ReduceSum.py | 205 +++ .../src/__pycache__/ReduceSum.cpython-39.pyc | Bin 0 -> 6521 bytes .../binary/ascend310b/src/reduce_sum.cpp | 85 ++ .../build_out/op_kernel/cmake_install.cmake | 108 ++ .../build_out/op_kernel/tbe/.impl_timestamp | 0 .../op_kernel/tbe/dynamic/reduce_sum.py | 205 +++ .../ascend310b/aic-ascend310b-ops-info.json | 73 + .../ai_core/npu_supported_ops.json | 6 + .../No_standard/build_out/scripts/help.info | 1 + .../No_standard/build_out/scripts/install.sh | 318 +++++ .../No_standard/build_out/scripts/upgrade.sh | 151 ++ .../No_standard/build_out/version.info | 1 + .../No_standard/cmake/config.cmake | 25 + .../No_standard/cmake/func.cmake | 192 +++ .../No_standard/cmake/intf.cmake | 26 + .../No_standard/cmake/makeself.cmake | 17 + .../No_standard/cmake/util/__init__.py | 8 + .../util/__pycache__/__init__.cpython-39.pyc | Bin 0 -> 292 bytes .../ascendc_bin_param_build.cpython-39.pyc | Bin 0 -> 4215 bytes .../ascendc_impl_build.cpython-39.pyc | Bin 0 -> 18438 bytes .../ascendc_ops_config.cpython-39.pyc | Bin 0 -> 3564 bytes .../ascendc_replay_build.cpython-39.pyc | Bin 0 -> 2580 bytes .../code_channel_infer.cpython-39.pyc | Bin 0 -> 1533 bytes .../util/__pycache__/const_var.cpython-39.pyc | Bin 0 -> 1079 bytes .../__pycache__/insert_op_info.cpython-39.pyc | Bin 0 -> 1103 bytes .../insert_simplified_keys.cpython-39.pyc | Bin 0 -> 5587 bytes .../__pycache__/kernel_entry.cpython-39.pyc | Bin 0 -> 3120 bytes .../__pycache__/opdesc_parser.cpython-39.pyc | Bin 0 -> 9559 bytes .../parse_ini_to_json.cpython-39.pyc | Bin 0 -> 8508 bytes .../__pycache__/preset_parse.cpython-39.pyc | Bin 0 -> 791 bytes .../__pycache__/replay_codegen.cpython-39.pyc | Bin 0 -> 4404 bytes .../tiling_data_def_build.cpython-39.pyc | Bin 0 -> 3012 bytes .../cmake/util/ascendc_bin_param_build.py | 127 ++ .../cmake/util/ascendc_impl_build.py | 501 +++++++ .../cmake/util/ascendc_ops_config.py | 120 ++ .../cmake/util/ascendc_replay_build.py | 65 + .../cmake/util/batch_replay_impl.temp | 117 ++ .../cmake/util/code_channel_infer.py | 58 + .../No_standard/cmake/util/const_var.py | 33 + .../cmake/util/gen_impl_and_mrege_json.sh | 20 + .../No_standard/cmake/util/gen_ops_filter.sh | 62 + .../cmake/util/gen_version_info.sh | 6 + .../No_standard/cmake/util/insert_op_info.py | 36 + .../cmake/util/insert_simplified_keys.py | 242 ++++ .../No_standard/cmake/util/kernel_entry.py | 115 ++ .../No_standard/cmake/util/kernel_impl.temp | 10 + .../No_standard/cmake/util/makeself/COPYING | 339 +++++ .../No_standard/cmake/util/makeself/README.md | 246 ++++ .../No_standard/cmake/util/makeself/VERSION | 1 + .../cmake/util/makeself/make-release.sh | 9 + .../cmake/util/makeself/makeself-header.sh | 660 +++++++++ .../cmake/util/makeself/makeself.1 | 110 ++ .../cmake/util/makeself/makeself.lsm | 16 + .../cmake/util/makeself/makeself.sh | 822 +++++++++++ .../cmake/util/makeself/run-tests.sh | 8 + .../cmake/util/merge_aicpu_info_json.sh | 31 + .../No_standard/cmake/util/opdesc_parser.py | 294 ++++ .../cmake/util/parse_ini_to_json.py | 338 +++++ .../No_standard/cmake/util/preset_parse.py | 23 + .../No_standard/cmake/util/replay_codegen.py | 105 ++ .../No_standard/cmake/util/replay_impl.temp | 120 ++ .../cmake/util/tiling_data_def_build.py | 87 ++ .../No_standard/framework/CMakeLists.txt | 11 + .../framework/tf_plugin/CMakeLists.txt | 14 + .../tf_plugin/tensorflow_reduce_sum_plugin.cc | 23 + .../No_standard/op_host/CMakeLists.txt | 82 ++ .../No_standard/op_host/reduce_sum.cpp | 120 ++ .../No_standard/op_host/reduce_sum_tiling.h | 19 + .../No_standard/op_kernel/CMakeLists.txt | 68 + .../No_standard/op_kernel/reduce_sum.cpp | 85 ++ .../No_standard/scripts/help.info | 1 + .../No_standard/scripts/install.sh | 318 +++++ .../No_standard/scripts/upgrade.sh | 151 ++ precision_Problem/README.md | 100 ++ .../ReduceSumCase1/build/CMakeCache.txt | 369 +++++ .../CMakeFiles/3.22.1/CMakeCCompiler.cmake | 72 + .../CMakeFiles/3.22.1/CMakeCXXCompiler.cmake | 83 ++ .../3.22.1/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 9024 bytes .../3.22.1/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 9048 bytes .../build/CMakeFiles/3.22.1/CMakeSystem.cmake | 15 + .../3.22.1/CompilerIdC/CMakeCCompilerId.c | 803 +++++++++++ .../build/CMakeFiles/3.22.1/CompilerIdC/a.out | Bin 0 -> 9168 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 791 +++++++++++ .../CMakeFiles/3.22.1/CompilerIdCXX/a.out | Bin 0 -> 9176 bytes .../CMakeDirectoryInformation.cmake | 16 + .../build/CMakeFiles/CMakeOutput.log | 437 ++++++ .../build/CMakeFiles/Makefile.cmake | 122 ++ .../ReduceSumCase1/build/CMakeFiles/Makefile2 | 112 ++ .../build/CMakeFiles/TargetDirectories.txt | 7 + .../build/CMakeFiles/cmake.check_cache | 1 + .../execute_op.dir/DependInfo.cmake | 22 + .../CMakeFiles/execute_op.dir/build.make | 158 +++ .../execute_op.dir/cmake_clean.cmake | 17 + .../CMakeFiles/execute_op.dir/common.cpp.o | Bin 0 -> 15344 bytes .../CMakeFiles/execute_op.dir/common.cpp.o.d | 200 +++ .../execute_op.dir/compiler_depend.make | 2 + .../execute_op.dir/compiler_depend.ts | 2 + .../CMakeFiles/execute_op.dir/depend.make | 2 + .../CMakeFiles/execute_op.dir/flags.make | 10 + .../build/CMakeFiles/execute_op.dir/link.txt | 1 + .../CMakeFiles/execute_op.dir/main.cpp.o | Bin 0 -> 52464 bytes .../CMakeFiles/execute_op.dir/main.cpp.o.d | 197 +++ .../CMakeFiles/execute_op.dir/op_runner.cpp.o | Bin 0 -> 211168 bytes .../execute_op.dir/op_runner.cpp.o.d | 183 +++ .../execute_op.dir/operator_desc.cpp.o | Bin 0 -> 57816 bytes .../execute_op.dir/operator_desc.cpp.o.d | 173 +++ .../CMakeFiles/execute_op.dir/progress.make | 6 + .../build/CMakeFiles/progress.marks | 1 + .../ReduceSumCase1/build/Makefile | 311 +++++ .../ReduceSumCase1/build/cmake_install.cmake | 74 + precision_Problem/ReduceSumCase1/inc/common.h | 45 + .../ReduceSumCase1/inc/op_runner.h | 182 +++ .../ReduceSumCase1/inc/operator_desc.h | 60 + .../ReduceSumCase1/input/input_axis.bin | Bin 0 -> 4 bytes .../ReduceSumCase1/input/input_x.bin | 1 + .../ReduceSumCase1/output/execute_op | Bin 0 -> 161688 bytes .../ReduceSumCase1/output/golden.bin | 1 + .../ReduceSumCase1/output/output.bin | 1 + precision_Problem/ReduceSumCase1/run.sh | 116 ++ .../ReduceSumCase1/scripts/acl.json | 1 + .../ReduceSumCase1/scripts/gen_data.py | 23 + .../ReduceSumCase1/scripts/verify_result.py | 23 + .../ReduceSumCase1/src/CMakeLists.txt | 68 + .../ReduceSumCase1/src/common.cpp | 79 ++ precision_Problem/ReduceSumCase1/src/main.cpp | 170 +++ .../ReduceSumCase1/src/op_runner.cpp | 486 +++++++ .../ReduceSumCase1/src/operator_desc.cpp | 56 + 652 files changed, 57156 insertions(+) create mode 100644 precision_Problem/Is_standard/CMakeLists.txt create mode 100644 precision_Problem/Is_standard/CMakePresets.json create mode 100644 precision_Problem/Is_standard/build.sh create mode 100644 precision_Problem/Is_standard/build_out/CMakeCache.txt create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CMakeCCompiler.cmake create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_CXX.bin create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CMakeSystem.cmake create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CompilerIdC/a.out create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CompilerIdCXX/a.out create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/CMakeOutput.log create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/CMakeRuleHashes.txt create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/Makefile.cmake create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/Makefile2 create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/TargetDirectories.txt create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/cmake.check_cache create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/CMakeFiles/progress.marks create mode 100644 precision_Problem/Is_standard/build_out/CPackConfig.cmake create mode 100644 precision_Problem/Is_standard/build_out/CPackSourceConfig.cmake create mode 100644 precision_Problem/Is_standard/build_out/Makefile create mode 100644 precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run.json create mode 100644 precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/custom_opp_ubuntu_aarch64.run create mode 100644 precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/help.info create mode 100644 precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/install.sh create mode 100644 precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/include/aclnn_reduce_sum.h create mode 100644 precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/lib/libcust_opapi.so create mode 100644 precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_proto/inc/op_proto.h create mode 100644 precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/version.info create mode 100644 precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/upgrade.sh create mode 100644 precision_Problem/Is_standard/build_out/autogen/aclnn_reduce_sum.cpp create mode 100644 precision_Problem/Is_standard/build_out/autogen/aclnn_reduce_sum.h create mode 100644 precision_Problem/Is_standard/build_out/autogen/aic-ascend310b-ops-info.ini create mode 100644 precision_Problem/Is_standard/build_out/autogen/custom_compile_options.ini create mode 100644 precision_Problem/Is_standard/build_out/autogen/libascend_all_ops.so create mode 100644 precision_Problem/Is_standard/build_out/autogen/op_proto.cc create mode 100644 precision_Problem/Is_standard/build_out/autogen/op_proto.h create mode 100644 precision_Problem/Is_standard/build_out/cmake_install.cmake create mode 100644 precision_Problem/Is_standard/build_out/custom_opp_ubuntu_aarch64.run create mode 100644 precision_Problem/Is_standard/build_out/custom_opp_ubuntu_aarch64.run.json create mode 100644 precision_Problem/Is_standard/build_out/framework/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 precision_Problem/Is_standard/build_out/framework/CMakeFiles/progress.marks create mode 100644 precision_Problem/Is_standard/build_out/framework/Makefile create mode 100644 precision_Problem/Is_standard/build_out/framework/cmake_install.cmake create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.internal create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/depend.make create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/flags.make create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/link.txt create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o.d create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/progress.marks create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/Makefile create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/cmake_install.cmake create mode 100644 precision_Problem/Is_standard/build_out/framework/tf_plugin/libcust_tf_parsers.so create mode 100644 precision_Problem/Is_standard/build_out/install_manifest.txt create mode 100644 precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json create mode 100644 precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o create mode 100644 precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json create mode 100644 precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o create mode 100644 precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json create mode 100644 precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o create mode 100644 precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json create mode 100644 precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o create mode 100644 precision_Problem/Is_standard/build_out/kernel/config/ascend310b/binary_info_config.json create mode 100644 precision_Problem/Is_standard/build_out/kernel/config/ascend310b/reduce_sum.json create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o.d create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.internal create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/flags.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/link.txt create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o.d create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o.d create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.internal create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/flags.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/link.txt create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.internal create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/flags.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/link.txt create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o.d create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/op_host/CMakeFiles/progress.marks create mode 100644 precision_Problem/Is_standard/build_out/op_host/Makefile create mode 100644 precision_Problem/Is_standard/build_out/op_host/cmake_install.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_host/libcust_opapi.so create mode 100644 precision_Problem/Is_standard/build_out/op_host/libcust_opmaster_rt2.0.so create mode 100644 precision_Problem/Is_standard/build_out/op_host/libcust_opsproto_rt2.0.so create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_impl_gen.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_impl_gen.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_impl_gen.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_impl_gen.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_impl_gen.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ascendc_impl_gen.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/binary.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/binary.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/binary.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/binary.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/binary.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/binary.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/npu_supported_ops.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/npu_supported_ops.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/npu_supported_ops.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/npu_supported_ops.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/npu_supported_ops.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/npu_supported_ops.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/DependInfo.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/build.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/cmake_clean.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/compiler_depend.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/compiler_depend.ts create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/progress.make create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/CMakeFiles/progress.marks create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/Makefile create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/binary_info_config.json create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum.json create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-0.sh create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-1.sh create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-2.sh create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-3.sh create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d_param.json create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aba912fd1d17807efc5a7debff52df92_param.json create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f_param.json create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a_param.json create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/src/CMakeLists.txt create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/src/ReduceSum.py create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/src/__pycache__/ReduceSum.cpython-39.pyc create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/src/reduce_sum.cpp create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/cmake_install.cmake create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/tbe/.impl_timestamp create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/tbe/dynamic/reduce_sum.py create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/ascend310b/aic-ascend310b-ops-info.json create mode 100644 precision_Problem/Is_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/npu_supported_ops.json create mode 100644 precision_Problem/Is_standard/build_out/scripts/help.info create mode 100644 precision_Problem/Is_standard/build_out/scripts/install.sh create mode 100644 precision_Problem/Is_standard/build_out/scripts/upgrade.sh create mode 100644 precision_Problem/Is_standard/build_out/version.info create mode 100644 precision_Problem/Is_standard/cmake/config.cmake create mode 100644 precision_Problem/Is_standard/cmake/func.cmake create mode 100644 precision_Problem/Is_standard/cmake/intf.cmake create mode 100644 precision_Problem/Is_standard/cmake/makeself.cmake create mode 100644 precision_Problem/Is_standard/cmake/util/__init__.py create mode 100644 precision_Problem/Is_standard/cmake/util/__pycache__/__init__.cpython-39.pyc create mode 100644 precision_Problem/Is_standard/cmake/util/__pycache__/ascendc_bin_param_build.cpython-39.pyc create mode 100644 precision_Problem/Is_standard/cmake/util/__pycache__/ascendc_impl_build.cpython-39.pyc create mode 100644 precision_Problem/Is_standard/cmake/util/__pycache__/ascendc_ops_config.cpython-39.pyc create mode 100644 precision_Problem/Is_standard/cmake/util/__pycache__/ascendc_replay_build.cpython-39.pyc create mode 100644 precision_Problem/Is_standard/cmake/util/__pycache__/code_channel_infer.cpython-39.pyc create mode 100644 precision_Problem/Is_standard/cmake/util/__pycache__/const_var.cpython-39.pyc create mode 100644 precision_Problem/Is_standard/cmake/util/__pycache__/insert_op_info.cpython-39.pyc create mode 100644 precision_Problem/Is_standard/cmake/util/__pycache__/insert_simplified_keys.cpython-39.pyc create mode 100644 precision_Problem/Is_standard/cmake/util/__pycache__/kernel_entry.cpython-39.pyc create mode 100644 precision_Problem/Is_standard/cmake/util/__pycache__/opdesc_parser.cpython-39.pyc create mode 100644 precision_Problem/Is_standard/cmake/util/__pycache__/parse_ini_to_json.cpython-39.pyc create mode 100644 precision_Problem/Is_standard/cmake/util/__pycache__/preset_parse.cpython-39.pyc create mode 100644 precision_Problem/Is_standard/cmake/util/__pycache__/replay_codegen.cpython-39.pyc create mode 100644 precision_Problem/Is_standard/cmake/util/__pycache__/tiling_data_def_build.cpython-39.pyc create mode 100644 precision_Problem/Is_standard/cmake/util/ascendc_bin_param_build.py create mode 100644 precision_Problem/Is_standard/cmake/util/ascendc_impl_build.py create mode 100644 precision_Problem/Is_standard/cmake/util/ascendc_ops_config.py create mode 100644 precision_Problem/Is_standard/cmake/util/ascendc_replay_build.py create mode 100644 precision_Problem/Is_standard/cmake/util/batch_replay_impl.temp create mode 100644 precision_Problem/Is_standard/cmake/util/code_channel_infer.py create mode 100644 precision_Problem/Is_standard/cmake/util/const_var.py create mode 100644 precision_Problem/Is_standard/cmake/util/gen_impl_and_mrege_json.sh create mode 100644 precision_Problem/Is_standard/cmake/util/gen_ops_filter.sh create mode 100644 precision_Problem/Is_standard/cmake/util/gen_version_info.sh create mode 100644 precision_Problem/Is_standard/cmake/util/insert_op_info.py create mode 100644 precision_Problem/Is_standard/cmake/util/insert_simplified_keys.py create mode 100644 precision_Problem/Is_standard/cmake/util/kernel_entry.py create mode 100644 precision_Problem/Is_standard/cmake/util/kernel_impl.temp create mode 100644 precision_Problem/Is_standard/cmake/util/makeself/COPYING create mode 100644 precision_Problem/Is_standard/cmake/util/makeself/README.md create mode 100644 precision_Problem/Is_standard/cmake/util/makeself/VERSION create mode 100644 precision_Problem/Is_standard/cmake/util/makeself/make-release.sh create mode 100644 precision_Problem/Is_standard/cmake/util/makeself/makeself-header.sh create mode 100644 precision_Problem/Is_standard/cmake/util/makeself/makeself.1 create mode 100644 precision_Problem/Is_standard/cmake/util/makeself/makeself.lsm create mode 100644 precision_Problem/Is_standard/cmake/util/makeself/makeself.sh create mode 100644 precision_Problem/Is_standard/cmake/util/makeself/run-tests.sh create mode 100644 precision_Problem/Is_standard/cmake/util/merge_aicpu_info_json.sh create mode 100644 precision_Problem/Is_standard/cmake/util/opdesc_parser.py create mode 100644 precision_Problem/Is_standard/cmake/util/parse_ini_to_json.py create mode 100644 precision_Problem/Is_standard/cmake/util/preset_parse.py create mode 100644 precision_Problem/Is_standard/cmake/util/replay_codegen.py create mode 100644 precision_Problem/Is_standard/cmake/util/replay_impl.temp create mode 100644 precision_Problem/Is_standard/cmake/util/tiling_data_def_build.py create mode 100644 precision_Problem/Is_standard/framework/CMakeLists.txt create mode 100644 precision_Problem/Is_standard/framework/tf_plugin/CMakeLists.txt create mode 100644 precision_Problem/Is_standard/framework/tf_plugin/tensorflow_reduce_sum_plugin.cc create mode 100644 precision_Problem/Is_standard/op_host/CMakeLists.txt create mode 100644 precision_Problem/Is_standard/op_host/reduce_sum.cpp create mode 100644 precision_Problem/Is_standard/op_host/reduce_sum_tiling.h create mode 100644 precision_Problem/Is_standard/op_kernel/CMakeLists.txt create mode 100644 precision_Problem/Is_standard/op_kernel/reduce_sum.cpp create mode 100644 precision_Problem/Is_standard/scripts/help.info create mode 100644 precision_Problem/Is_standard/scripts/install.sh create mode 100644 precision_Problem/Is_standard/scripts/upgrade.sh create mode 100644 precision_Problem/No_standard/CMakeLists.txt create mode 100644 precision_Problem/No_standard/CMakePresets.json create mode 100644 precision_Problem/No_standard/build.sh create mode 100644 precision_Problem/No_standard/build_out/CMakeCache.txt create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CMakeCCompiler.cmake create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_CXX.bin create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CMakeSystem.cmake create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CompilerIdC/a.out create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CompilerIdCXX/a.out create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/CMakeOutput.log create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/CMakeRuleHashes.txt create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/Makefile.cmake create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/Makefile2 create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/TargetDirectories.txt create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/cmake.check_cache create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/CMakeFiles/progress.marks create mode 100644 precision_Problem/No_standard/build_out/CPackConfig.cmake create mode 100644 precision_Problem/No_standard/build_out/CPackSourceConfig.cmake create mode 100644 precision_Problem/No_standard/build_out/Makefile create mode 100644 precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run.json create mode 100644 precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/custom_opp_ubuntu_aarch64.run create mode 100644 precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/help.info create mode 100644 precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/install.sh create mode 100644 precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/include/aclnn_reduce_sum.h create mode 100644 precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/lib/libcust_opapi.so create mode 100644 precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_proto/inc/op_proto.h create mode 100644 precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/version.info create mode 100644 precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/upgrade.sh create mode 100644 precision_Problem/No_standard/build_out/autogen/aclnn_reduce_sum.cpp create mode 100644 precision_Problem/No_standard/build_out/autogen/aclnn_reduce_sum.h create mode 100644 precision_Problem/No_standard/build_out/autogen/aic-ascend310b-ops-info.ini create mode 100644 precision_Problem/No_standard/build_out/autogen/custom_compile_options.ini create mode 100644 precision_Problem/No_standard/build_out/autogen/libascend_all_ops.so create mode 100644 precision_Problem/No_standard/build_out/autogen/op_proto.cc create mode 100644 precision_Problem/No_standard/build_out/autogen/op_proto.h create mode 100644 precision_Problem/No_standard/build_out/cmake_install.cmake create mode 100644 precision_Problem/No_standard/build_out/custom_opp_ubuntu_aarch64.run create mode 100644 precision_Problem/No_standard/build_out/custom_opp_ubuntu_aarch64.run.json create mode 100644 precision_Problem/No_standard/build_out/framework/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 precision_Problem/No_standard/build_out/framework/CMakeFiles/progress.marks create mode 100644 precision_Problem/No_standard/build_out/framework/Makefile create mode 100644 precision_Problem/No_standard/build_out/framework/cmake_install.cmake create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.internal create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/depend.make create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/flags.make create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/link.txt create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o.d create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/progress.marks create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/Makefile create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/cmake_install.cmake create mode 100644 precision_Problem/No_standard/build_out/framework/tf_plugin/libcust_tf_parsers.so create mode 100644 precision_Problem/No_standard/build_out/install_manifest.txt create mode 100644 precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json create mode 100644 precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o create mode 100644 precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json create mode 100644 precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o create mode 100644 precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json create mode 100644 precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o create mode 100644 precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json create mode 100644 precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o create mode 100644 precision_Problem/No_standard/build_out/kernel/config/ascend310b/binary_info_config.json create mode 100644 precision_Problem/No_standard/build_out/kernel/config/ascend310b/reduce_sum.json create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o.d create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.internal create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/depend.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/flags.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/link.txt create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o.d create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o.d create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.internal create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/depend.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/flags.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/link.txt create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.internal create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/depend.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/flags.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/link.txt create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o.d create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/op_host/CMakeFiles/progress.marks create mode 100644 precision_Problem/No_standard/build_out/op_host/Makefile create mode 100644 precision_Problem/No_standard/build_out/op_host/cmake_install.cmake create mode 100644 precision_Problem/No_standard/build_out/op_host/libcust_opapi.so create mode 100644 precision_Problem/No_standard/build_out/op_host/libcust_opmaster_rt2.0.so create mode 100644 precision_Problem/No_standard/build_out/op_host/libcust_opsproto_rt2.0.so create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_impl_gen.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_impl_gen.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_impl_gen.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_impl_gen.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_impl_gen.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ascendc_impl_gen.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/binary.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/binary.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/binary.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/binary.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/binary.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/binary.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/npu_supported_ops.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/npu_supported_ops.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/npu_supported_ops.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/npu_supported_ops.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/npu_supported_ops.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/npu_supported_ops.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/DependInfo.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/build.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/cmake_clean.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/compiler_depend.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/compiler_depend.ts create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/progress.make create mode 100644 precision_Problem/No_standard/build_out/op_kernel/CMakeFiles/progress.marks create mode 100644 precision_Problem/No_standard/build_out/op_kernel/Makefile create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/binary_info_config.json create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum.json create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-0.sh create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-1.sh create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-2.sh create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-3.sh create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d_param.json create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aba912fd1d17807efc5a7debff52df92_param.json create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f_param.json create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a_param.json create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/src/CMakeLists.txt create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/src/ReduceSum.py create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/src/__pycache__/ReduceSum.cpython-39.pyc create mode 100644 precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/src/reduce_sum.cpp create mode 100644 precision_Problem/No_standard/build_out/op_kernel/cmake_install.cmake create mode 100644 precision_Problem/No_standard/build_out/op_kernel/tbe/.impl_timestamp create mode 100644 precision_Problem/No_standard/build_out/op_kernel/tbe/dynamic/reduce_sum.py create mode 100644 precision_Problem/No_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/ascend310b/aic-ascend310b-ops-info.json create mode 100644 precision_Problem/No_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/npu_supported_ops.json create mode 100644 precision_Problem/No_standard/build_out/scripts/help.info create mode 100644 precision_Problem/No_standard/build_out/scripts/install.sh create mode 100644 precision_Problem/No_standard/build_out/scripts/upgrade.sh create mode 100644 precision_Problem/No_standard/build_out/version.info create mode 100644 precision_Problem/No_standard/cmake/config.cmake create mode 100644 precision_Problem/No_standard/cmake/func.cmake create mode 100644 precision_Problem/No_standard/cmake/intf.cmake create mode 100644 precision_Problem/No_standard/cmake/makeself.cmake create mode 100644 precision_Problem/No_standard/cmake/util/__init__.py create mode 100644 precision_Problem/No_standard/cmake/util/__pycache__/__init__.cpython-39.pyc create mode 100644 precision_Problem/No_standard/cmake/util/__pycache__/ascendc_bin_param_build.cpython-39.pyc create mode 100644 precision_Problem/No_standard/cmake/util/__pycache__/ascendc_impl_build.cpython-39.pyc create mode 100644 precision_Problem/No_standard/cmake/util/__pycache__/ascendc_ops_config.cpython-39.pyc create mode 100644 precision_Problem/No_standard/cmake/util/__pycache__/ascendc_replay_build.cpython-39.pyc create mode 100644 precision_Problem/No_standard/cmake/util/__pycache__/code_channel_infer.cpython-39.pyc create mode 100644 precision_Problem/No_standard/cmake/util/__pycache__/const_var.cpython-39.pyc create mode 100644 precision_Problem/No_standard/cmake/util/__pycache__/insert_op_info.cpython-39.pyc create mode 100644 precision_Problem/No_standard/cmake/util/__pycache__/insert_simplified_keys.cpython-39.pyc create mode 100644 precision_Problem/No_standard/cmake/util/__pycache__/kernel_entry.cpython-39.pyc create mode 100644 precision_Problem/No_standard/cmake/util/__pycache__/opdesc_parser.cpython-39.pyc create mode 100644 precision_Problem/No_standard/cmake/util/__pycache__/parse_ini_to_json.cpython-39.pyc create mode 100644 precision_Problem/No_standard/cmake/util/__pycache__/preset_parse.cpython-39.pyc create mode 100644 precision_Problem/No_standard/cmake/util/__pycache__/replay_codegen.cpython-39.pyc create mode 100644 precision_Problem/No_standard/cmake/util/__pycache__/tiling_data_def_build.cpython-39.pyc create mode 100644 precision_Problem/No_standard/cmake/util/ascendc_bin_param_build.py create mode 100644 precision_Problem/No_standard/cmake/util/ascendc_impl_build.py create mode 100644 precision_Problem/No_standard/cmake/util/ascendc_ops_config.py create mode 100644 precision_Problem/No_standard/cmake/util/ascendc_replay_build.py create mode 100644 precision_Problem/No_standard/cmake/util/batch_replay_impl.temp create mode 100644 precision_Problem/No_standard/cmake/util/code_channel_infer.py create mode 100644 precision_Problem/No_standard/cmake/util/const_var.py create mode 100644 precision_Problem/No_standard/cmake/util/gen_impl_and_mrege_json.sh create mode 100644 precision_Problem/No_standard/cmake/util/gen_ops_filter.sh create mode 100644 precision_Problem/No_standard/cmake/util/gen_version_info.sh create mode 100644 precision_Problem/No_standard/cmake/util/insert_op_info.py create mode 100644 precision_Problem/No_standard/cmake/util/insert_simplified_keys.py create mode 100644 precision_Problem/No_standard/cmake/util/kernel_entry.py create mode 100644 precision_Problem/No_standard/cmake/util/kernel_impl.temp create mode 100644 precision_Problem/No_standard/cmake/util/makeself/COPYING create mode 100644 precision_Problem/No_standard/cmake/util/makeself/README.md create mode 100644 precision_Problem/No_standard/cmake/util/makeself/VERSION create mode 100644 precision_Problem/No_standard/cmake/util/makeself/make-release.sh create mode 100644 precision_Problem/No_standard/cmake/util/makeself/makeself-header.sh create mode 100644 precision_Problem/No_standard/cmake/util/makeself/makeself.1 create mode 100644 precision_Problem/No_standard/cmake/util/makeself/makeself.lsm create mode 100644 precision_Problem/No_standard/cmake/util/makeself/makeself.sh create mode 100644 precision_Problem/No_standard/cmake/util/makeself/run-tests.sh create mode 100644 precision_Problem/No_standard/cmake/util/merge_aicpu_info_json.sh create mode 100644 precision_Problem/No_standard/cmake/util/opdesc_parser.py create mode 100644 precision_Problem/No_standard/cmake/util/parse_ini_to_json.py create mode 100644 precision_Problem/No_standard/cmake/util/preset_parse.py create mode 100644 precision_Problem/No_standard/cmake/util/replay_codegen.py create mode 100644 precision_Problem/No_standard/cmake/util/replay_impl.temp create mode 100644 precision_Problem/No_standard/cmake/util/tiling_data_def_build.py create mode 100644 precision_Problem/No_standard/framework/CMakeLists.txt create mode 100644 precision_Problem/No_standard/framework/tf_plugin/CMakeLists.txt create mode 100644 precision_Problem/No_standard/framework/tf_plugin/tensorflow_reduce_sum_plugin.cc create mode 100644 precision_Problem/No_standard/op_host/CMakeLists.txt create mode 100644 precision_Problem/No_standard/op_host/reduce_sum.cpp create mode 100644 precision_Problem/No_standard/op_host/reduce_sum_tiling.h create mode 100644 precision_Problem/No_standard/op_kernel/CMakeLists.txt create mode 100644 precision_Problem/No_standard/op_kernel/reduce_sum.cpp create mode 100644 precision_Problem/No_standard/scripts/help.info create mode 100644 precision_Problem/No_standard/scripts/install.sh create mode 100644 precision_Problem/No_standard/scripts/upgrade.sh create mode 100644 precision_Problem/README.md create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeCache.txt create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CMakeCCompiler.cmake create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_CXX.bin create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CMakeSystem.cmake create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CompilerIdC/a.out create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CompilerIdCXX/a.out create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/CMakeOutput.log create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/Makefile.cmake create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/Makefile2 create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/TargetDirectories.txt create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/cmake.check_cache create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/DependInfo.cmake create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/build.make create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/cmake_clean.cmake create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/common.cpp.o create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/common.cpp.o.d create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/compiler_depend.make create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/compiler_depend.ts create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/depend.make create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/flags.make create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/link.txt create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/main.cpp.o create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/main.cpp.o.d create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/op_runner.cpp.o create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/op_runner.cpp.o.d create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/operator_desc.cpp.o create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/operator_desc.cpp.o.d create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/progress.make create mode 100644 precision_Problem/ReduceSumCase1/build/CMakeFiles/progress.marks create mode 100644 precision_Problem/ReduceSumCase1/build/Makefile create mode 100644 precision_Problem/ReduceSumCase1/build/cmake_install.cmake create mode 100644 precision_Problem/ReduceSumCase1/inc/common.h create mode 100644 precision_Problem/ReduceSumCase1/inc/op_runner.h create mode 100644 precision_Problem/ReduceSumCase1/inc/operator_desc.h create mode 100644 precision_Problem/ReduceSumCase1/input/input_axis.bin create mode 100644 precision_Problem/ReduceSumCase1/input/input_x.bin create mode 100644 precision_Problem/ReduceSumCase1/output/execute_op create mode 100644 precision_Problem/ReduceSumCase1/output/golden.bin create mode 100644 precision_Problem/ReduceSumCase1/output/output.bin create mode 100644 precision_Problem/ReduceSumCase1/run.sh create mode 100644 precision_Problem/ReduceSumCase1/scripts/acl.json create mode 100644 precision_Problem/ReduceSumCase1/scripts/gen_data.py create mode 100644 precision_Problem/ReduceSumCase1/scripts/verify_result.py create mode 100644 precision_Problem/ReduceSumCase1/src/CMakeLists.txt create mode 100644 precision_Problem/ReduceSumCase1/src/common.cpp create mode 100644 precision_Problem/ReduceSumCase1/src/main.cpp create mode 100644 precision_Problem/ReduceSumCase1/src/op_runner.cpp create mode 100644 precision_Problem/ReduceSumCase1/src/operator_desc.cpp diff --git a/precision_Problem/Is_standard/CMakeLists.txt b/precision_Problem/Is_standard/CMakeLists.txt new file mode 100644 index 0000000..584132d --- /dev/null +++ b/precision_Problem/Is_standard/CMakeLists.txt @@ -0,0 +1,69 @@ +cmake_minimum_required(VERSION 3.16.0) +project(opp) +if(ENABLE_CROSS_COMPILE) + if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL x86_64) + set(CROSS_COMPILE_PLATFORM aarch64) + else() + set(CROSS_COMPILE_PLATFORM x86_64) + endif() + set(PLATFORM ${CMAKE_SYSTEM_PROCESSOR}) + set(CMAKE_COMPILE_COMPILER_LIBRARY ${ASCEND_CANN_PACKAGE_PATH}/${PLATFORM}-linux/devlib/linux/${CROSS_COMPILE_PLATFORM}/) + set(CMAKE_COMPILE_RUNTIME_LIBRARY ${ASCEND_CANN_PACKAGE_PATH}/${PLATFORM}-linux/devlib/${CROSS_COMPILE_PLATFORM}/) + set(CMAKE_SYSTEM_PROCESSOR ${CROSS_COMPILE_PLATFORM}) + set(CMAKE_COMPILE ${CMAKE_CXX_COMPILER}) + set(CMAKE_CXX_COMPILER ${CMAKE_CROSS_PLATFORM_COMPILER}) +else() + set(CMAKE_COMPILE ${CMAKE_CXX_COMPILER}) +endif() + +include(cmake/config.cmake) +include(cmake/func.cmake) +include(cmake/intf.cmake) + +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/framework) + add_subdirectory(framework) +endif() +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/op_host) + add_subdirectory(op_host) +endif() +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/op_kernel) + add_subdirectory(op_kernel) +endif() +if(ENABLE_TEST AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/testcases) + add_subdirectory(testcases) +endif() + +# modify vendor_name in install.sh and upgrade.sh +add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/scripts/install.sh ${CMAKE_BINARY_DIR}/scripts/upgrade.sh + COMMAND mkdir -p ${CMAKE_BINARY_DIR}/scripts + COMMAND cp -r ${CMAKE_SOURCE_DIR}/scripts/* ${CMAKE_BINARY_DIR}/scripts/ + COMMAND sed -i "s/vendor_name=customize/vendor_name=${vendor_name}/g" ${CMAKE_BINARY_DIR}/scripts/* +) +add_custom_target(modify_vendor ALL DEPENDS ${CMAKE_BINARY_DIR}/scripts/install.sh ${CMAKE_BINARY_DIR}/scripts/upgrade.sh) +install(DIRECTORY ${CMAKE_BINARY_DIR}/scripts/ DESTINATION . FILE_PERMISSIONS OWNER_EXECUTE OWNER_READ GROUP_READ) + +install(FILES ${CMAKE_SOURCE_DIR}/custom.proto DESTINATION packages OPTIONAL) + +get_system_info(SYSTEM_INFO) + +# gen version.info +add_custom_target(gen_version_info ALL + COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/cmake/util/gen_version_info.sh ${ASCEND_CANN_PACKAGE_PATH} ${CMAKE_CURRENT_BINARY_DIR} +) + +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/version.info + DESTINATION packages/vendors/${vendor_name}/) + +# CPack config +set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME}) +set(CPACK_PACKAGE_VERSION ${CMAKE_PROJECT_VERSION}) +set(CPACK_PACKAGE_DESCRIPTION "CPack opp project") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CPack opp project") +set(CPACK_PACKAGE_DIRECTORY ${CMAKE_INSTALL_PREFIX}) +set(CPACK_PACKAGE_FILE_NAME "custom_opp_${SYSTEM_INFO}.run") +set(CPACK_GENERATOR External) +set(CPACK_CMAKE_GENERATOR "Unix Makefiles") +set(CPACK_EXTERNAL_ENABLE_STAGING TRUE) +set(CPACK_EXTERNAL_PACKAGE_SCRIPT ${CMAKE_SOURCE_DIR}/cmake/makeself.cmake) +set(CPACK_EXTERNAL_BUILT_PACKAGES ${CPACK_PACKAGE_DIRECTORY}/_CPack_Packages/Linux/External/${CPACK_PACKAGE_FILE_NAME}/${CPACK_PACKAGE_FILE_NAME}) +include(CPack) diff --git a/precision_Problem/Is_standard/CMakePresets.json b/precision_Problem/Is_standard/CMakePresets.json new file mode 100644 index 0000000..8b71810 --- /dev/null +++ b/precision_Problem/Is_standard/CMakePresets.json @@ -0,0 +1,63 @@ +{ + "version": 1, + "cmakeMinimumRequired": { + "major": 3, + "minor": 19, + "patch": 0 + }, + "configurePresets": [ + { + "name": "default", + "displayName": "Default Config", + "description": "Default build using Unix Makefiles generator", + "generator": "Unix Makefiles", + "binaryDir": "${sourceDir}/build_out", + "cacheVariables": { + "CMAKE_BUILD_TYPE": { + "type": "STRING", + "value": "Release" + }, + "ENABLE_SOURCE_PACKAGE": { + "type": "BOOL", + "value": "True" + }, + "ENABLE_BINARY_PACKAGE": { + "type": "BOOL", + "value": "True" + }, + "ASCEND_COMPUTE_UNIT": { + "type": "STRING", + "value": "ascend310b" + }, + "ENABLE_TEST": { + "type": "BOOL", + "value": "True" + }, + "vendor_name": { + "type": "STRING", + "value": "customize" + }, + "ASCEND_CANN_PACKAGE_PATH": { + "type": "PATH", + "value": "/usr/local/Ascend/ascend-toolkit/latest" + }, + "ASCEND_PYTHON_EXECUTABLE": { + "type": "STRING", + "value": "python3" + }, + "CMAKE_INSTALL_PREFIX": { + "type": "PATH", + "value": "${sourceDir}/build_out" + }, + "ENABLE_CROSS_COMPILE": { + "type": "BOOL", + "value": "False" + }, + "CMAKE_CROSS_PLATFORM_COMPILER": { + "type": "PATH", + "value": "/usr/bin/aarch64-linux-gnu-g++" + } + } + } + ] +} \ No newline at end of file diff --git a/precision_Problem/Is_standard/build.sh b/precision_Problem/Is_standard/build.sh new file mode 100644 index 0000000..27d1968 --- /dev/null +++ b/precision_Problem/Is_standard/build.sh @@ -0,0 +1,80 @@ +#!/bin/bash +script_path=$(realpath $(dirname $0)) + + +mkdir -p build_out +rm -rf build_out/* +cd build_out + +opts=$(python3 $script_path/cmake/util/preset_parse.py $script_path/CMakePresets.json) +ENABLE_CROSS="-DENABLE_CROSS_COMPILE=True" +ENABLE_BINARY="-DENABLE_BINARY_PACKAGE=True" +cmake_version=$(cmake --version | grep "cmake version" | awk '{print $3}') + +cmake_run_package() +{ + target=$1 + cmake --build . --target $target -j16 + if [ $? -ne 0 ]; then exit 1; fi + + if [ $target = "package" ]; then + if test -d ./op_kernel/binary ; then + ./cust*.run + if [ $? -ne 0 ]; then exit 1; fi + cmake --build . --target binary -j16 + if [ $? -ne 0 ]; then + echo "[ERROR] Kernel compile failed, the run package will not be generated." + rm -rf ./cust*.run && rm -rf ./cust*.run.json && exit 1; + fi + cmake --build . --target $target -j16 + fi + fi +} + +if [[ $opts =~ $ENABLE_CROSS ]] && [[ $opts =~ $ENABLE_BINARY ]] +then + target=package + if [ "$1"x != ""x ]; then target=$1; fi + if [ "$cmake_version" \< "3.19.0" ] ; then + cmake .. $opts -DENABLE_CROSS_COMPILE=0 + else + cmake .. --preset=default -DENABLE_CROSS_COMPILE=0 + fi + cmake_run_package $target + cp -r kernel ../ + rm -rf * + if [ "$cmake_version" \< "3.19.0" ] ; then + cmake .. $opts + else + cmake .. --preset=default + fi + + cmake --build . --target $target -j16 + if [ $? -ne 0 ]; then + echo "[ERROR] Kernel compile failed, the run package will not be generated." + rm -rf ./cust*.run && rm -rf ./cust*.run.json && exit 1; + fi + if [ $target = "package" ]; then + if test -d ./op_kernel/binary ; then + ./cust*.run + fi + fi + rm -rf ../kernel + +else + target=package + if [ "$1"x != ""x ]; then target=$1; fi + if [ "$cmake_version" \< "3.19.0" ] ; then + cmake .. $opts + else + cmake .. --preset=default + fi + cmake_run_package $target +fi + + +# for debug +# cd build_out +# make +# cpack +# verbose append -v \ No newline at end of file diff --git a/precision_Problem/Is_standard/build_out/CMakeCache.txt b/precision_Problem/Is_standard/build_out/CMakeCache.txt new file mode 100644 index 0000000..3be85a7 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeCache.txt @@ -0,0 +1,425 @@ +# This is the CMakeCache file. +# For build in directory: /Package_Cann/test/No_standard/build_out +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//No help, variable specified on the command line. +ASCEND_CANN_PACKAGE_PATH:PATH=/usr/local/Ascend/ascend-toolkit/latest + +//No help, variable specified on the command line. +ASCEND_COMPUTE_UNIT:STRING=ascend310b + +//No help, variable specified on the command line. +ASCEND_PYTHON_EXECUTABLE:STRING=python3 + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//No help, variable specified on the command line. +CMAKE_BUILD_TYPE:STRING=Release + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//No help, variable specified on the command line. +CMAKE_CROSS_PLATFORM_COMPILER:PATH=/usr/bin/aarch64-linux-gnu-g++ + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//No help, variable specified on the command line. +CMAKE_INSTALL_PREFIX:PATH=/Package_Cann/test/No_standard/build_out + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=opp + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Enable to build RPM source packages +CPACK_SOURCE_RPM:BOOL=OFF + +//Enable to build TBZ2 source packages +CPACK_SOURCE_TBZ2:BOOL=ON + +//Enable to build TGZ source packages +CPACK_SOURCE_TGZ:BOOL=ON + +//Enable to build TXZ source packages +CPACK_SOURCE_TXZ:BOOL=ON + +//Enable to build TZ source packages +CPACK_SOURCE_TZ:BOOL=ON + +//Enable to build ZIP source packages +CPACK_SOURCE_ZIP:BOOL=OFF + +//No help, variable specified on the command line. +ENABLE_BINARY_PACKAGE:BOOL=True + +//No help, variable specified on the command line. +ENABLE_CROSS_COMPILE:BOOL=False + +//No help, variable specified on the command line. +ENABLE_SOURCE_PACKAGE:BOOL=True + +//No help, variable specified on the command line. +ENABLE_TEST:BOOL=True + +//Value Computed by CMake +opp_BINARY_DIR:STATIC=/Package_Cann/test/No_standard/build_out + +//Value Computed by CMake +opp_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +opp_SOURCE_DIR:STATIC=/Package_Cann/test/No_standard + +//No help, variable specified on the command line. +vendor_name:STRING=customize + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/Package_Cann/test/No_standard/build_out +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=22 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/Package_Cann/test/No_standard +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=5 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.22 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_SOURCE_RPM +CPACK_SOURCE_RPM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_SOURCE_TBZ2 +CPACK_SOURCE_TBZ2-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_SOURCE_TGZ +CPACK_SOURCE_TGZ-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_SOURCE_TXZ +CPACK_SOURCE_TXZ-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_SOURCE_TZ +CPACK_SOURCE_TZ-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_SOURCE_ZIP +CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1 + diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CMakeCCompiler.cmake b/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CMakeCCompiler.cmake new file mode 100644 index 0000000..0c0b1de --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "11.4.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-11") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "aarch64-linux-gnu") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "aarch64-linux-gnu") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/aarch64-linux-gnu/11/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/aarch64-linux-gnu/11;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake b/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..f59b84f --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "11.4.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-11") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "aarch64-linux-gnu") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "aarch64-linux-gnu") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/11;/usr/include/aarch64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/lib/gcc/aarch64-linux-gnu/11/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/aarch64-linux-gnu/11;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin b/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin new file mode 100644 index 0000000000000000000000000000000000000000..dfdc241f48036b01323e7889d7e41cfab5b12a27 GIT binary patch literal 9024 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 se?c7J`^pwP>W{8VPG8h_ul|e(JnJ*A{i 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 J5oGGs{};RSnOy(? literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CMakeSystem.cmake b/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CMakeSystem.cmake new file mode 100644 index 0000000..e7ba5ca --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-5.10.0+") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "5.10.0+") +set(CMAKE_HOST_SYSTEM_PROCESSOR "aarch64") + + + +set(CMAKE_SYSTEM "Linux-5.10.0+") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "5.10.0+") +set(CMAKE_SYSTEM_PROCESSOR "aarch64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c b/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..41b99d7 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,803 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CompilerIdC/a.out b/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CompilerIdC/a.out new file mode 100644 index 0000000000000000000000000000000000000000..e8a72558d96dcc6624712e8c2160f02c6c9e0f9f GIT binary patch literal 9168 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 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CompilerIdCXX/a.out b/precision_Problem/Is_standard/build_out/CMakeFiles/3.22.1/CompilerIdCXX/a.out new file mode 100644 index 0000000000000000000000000000000000000000..47c74a11ebba8f57647130a4389f88befac42ec5 GIT binary patch literal 9176 zcmeHNYiwLc6+XM`wodbKTtZq%NH&ij;gO9ULh6>%tY2}A94DkMDn#Y_+Pn5{yWX{S z?-nOP#DyYJwM90KsHs%2pg-IKQjtPQq^hJLZOOKC{EN?Nc4xR7LPUCb%y%Ah?#!9FGsiyO-M2R!3K2?#eo4}ryw)OdWt?5F6((_NqhXEJ2TNISc+t^?6b!MgI z&#bf-L1)#EIi=8(rs&P7-kj=zE~sOmct3eJc?Q&8kajUo3aH3RIryfRkb2iL)2yMl zS(ref_XXC|DN~6nlhw*Tr2Q>5E-CdN6!WknlOEcUNo>!gv&D(+uA3iD?cNnDm%RVkjX)J)^exS7R84f>R8>!ShNl<+MDa(3C5yzaFMNNzp#WnInMBe>x`tcZYF&+ z$xR;UVW;4^dCwVh(^+zda(RygmEqn^J$=0$ozBi!>&=zwr+1OlJFwqLB=gD9biqsJ z2ljVna@pj7JCqTdqhq$d$ELr>VHcsDik&p=FnvyS zvA!Z2s8c$@v$~Fe#}!{_vhxG{gyM}lZ@|%B9l)n_0p1kA=M|3z@QaFX3*e2q{#pX~ zHpS1XpCNuPeKqsO^FG`kf`9el{&jlMhpQ{b&NGUK*|@9=lv6(3Z~u%B_uGHjhhuGt zt&P#hA1@#K)l-)vH2o=}6PJ&@Fn1>6ytcsD6wy@kYdxjaKe~N78s7Mt$l@`)KQZq` z%QNlQxqZRczQFD99;0jcZ*hCGZR0&a#qP&w^7k9~c{4&!pO3^#7q-y!TkO{)`#~3b zN)hHY@N>Rge(Y_24E|nEDNc0qjdJ-$@f-dz?-`n>>HC>(V!DUuZ)bQL=JwR4w|h!1 z>nub3Xd`rUjJojxC-Qh6htHu`az4pF=`-!yqTO7swag>Pa0C+0WCPxCIhd>(RxSC=F9 zEi}7%+Sp1Bw$-&Wdv!a;uQOMd6Ce4VrZG>5JH#CO!@EmZ2=(^wJ#g!AZfrcAN#+mp zm*H*$SL4oo$$TN5%N}kqrL{F?D=oWFX;C$+H=c35kz9W4aG!jw49oN*U#-Jd(zJP( z%_iJ@f;Y|)x0vw`x87W3CpqCIv(j;)B5|PqZVIi7e723Rq1zg&KX=|QG1FYkaoUJ=?bMd=j!!@#`O^K5#{6jg?kjv7#~$W z&SC4d4gTNXFXsfBvD6{i|%>kHrnd+p&4y7PVJi*ERsd#Y{A-2(T2KR3c>0^FOc@d!<5+*RWZm3XbjuOY-~HGVB2 zo~!Ze2=iQxHxlBb8ec|;!)pBcO1xI%OWjXb5azX7eq|*eQ;n~xtoLfXiN1|M_c0>; zJ9~XXvZlpH7 zcU8+{H7}ylTLZmQUPNrozD{kN$i6AJS;S9N71~}de2Kt4auLa^{*A?xoq*nrV_#+{5^4UtB?Jg7M90_~@+4#{+i0Yw)!-`_=auzad<^ zPJg(Bou8>xc9wh@U?_|8McEke_xw< z7Lfk}zJ+lax8OMZ-1NJ+e@dK5*`{_7&#<$52|Kqd9^C&w&-e|zei7&9j>`5Ah`+#9kk8`Y;Zo(D$Rzb0hcom#wx*kk;b2bc3h8x zYmRMM8$6&CR<@BvUFa5mp}zVTpQ+s8p?^v%pl4N1j)QWS zhdxf|UsN3WxMzVPPoQRM#_uc4kUKc^aUTQ4HxB+o4)k8umpeV$xVKfPb}atOJi~v5 z=_prZOrbxh0}P5h1Nw(P-v0sB?@)utTYwHKF8Y!i3F?1`G4Tt>ZRB}C(GQE5qVAzd z4|2_~k9#HPU`5haBq!`IC%EC)pHxRc7li36abI1kkMrZ#M_vkaO+Y^A|E%g`{Bdpp zeJ-Gn@dG>;(8s+O^fm}84fg+RKp*#G&?f`>!T!%MU()B5JeS^!@pty1JldeYW!)y9 zKJMGIn&^WZimwb!7f3{_FXCMx5f3vZV40ebBd< zL3!!RU+lewsKpO*9r~XP;L!I|#GYR?rTxF6 q4oDuglOOnlbt(5L`0m$l)5PqP0psWwvdv5ApVJS|KOv|zsQ+)$W7-S= literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/CMakeDirectoryInformation.cmake b/precision_Problem/Is_standard/build_out/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..84340a0 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/Package_Cann/test/No_standard") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/Package_Cann/test/No_standard/build_out") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/CMakeOutput.log b/precision_Problem/Is_standard/build_out/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..2a545e8 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/CMakeOutput.log @@ -0,0 +1,437 @@ +The system is: Linux - 5.10.0+ - aarch64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/cc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/Package_Cann/test/No_standard/build_out/CMakeFiles/3.22.1/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/Package_Cann/test/No_standard/build_out/CMakeFiles/3.22.1/CompilerIdCXX/a.out" + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_c5e4f/fast && /usr/bin/gmake -f CMakeFiles/cmTC_c5e4f.dir/build.make CMakeFiles/cmTC_c5e4f.dir/build +gmake[1]: Entering directory '/Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o +/usr/bin/cc -v -o CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +Target: aarch64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_c5e4f.dir/' + /usr/lib/gcc/aarch64-linux-gnu/11/cc1 -quiet -v -imultiarch aarch64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_c5e4f.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mlittle-endian -mabi=lp64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -o /tmp/ccF1G1lj.s +GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/aarch64-linux-gnu/11/include + /usr/local/include + /usr/include/aarch64-linux-gnu + /usr/include +End of search list. +GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 52ed857e9cd110e5efaa797811afcfbb +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_c5e4f.dir/' + as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o /tmp/ccF1G1lj.s +GNU assembler version 2.38 (aarch64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38 +COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.' +Linking C executable cmTC_c5e4f +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c5e4f.dir/link.txt --verbose=1 +/usr/bin/cc -v CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o -o cmTC_c5e4f +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper +Target: aarch64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) +COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c5e4f' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_c5e4f.' + /usr/lib/gcc/aarch64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccvPBbw9.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o cmTC_c5e4f /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/11 -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/11/../../.. CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c5e4f' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_c5e4f.' +gmake[1]: Leaving directory '/Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp' + + + +Parsed C implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/aarch64-linux-gnu/11/include] + add: [/usr/local/include] + add: [/usr/include/aarch64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/aarch64-linux-gnu/11/include] ==> [/usr/lib/gcc/aarch64-linux-gnu/11/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/aarch64-linux-gnu] ==> [/usr/include/aarch64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/aarch64-linux-gnu/11/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include] + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_c5e4f/fast && /usr/bin/gmake -f CMakeFiles/cmTC_c5e4f.dir/build.make CMakeFiles/cmTC_c5e4f.dir/build] + ignore line: [gmake[1]: Entering directory '/Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp'] + ignore line: [Building C object CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [Target: aarch64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_c5e4f.dir/'] + ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/11/cc1 -quiet -v -imultiarch aarch64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_c5e4f.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mlittle-endian -mabi=lp64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -o /tmp/ccF1G1lj.s] + ignore line: [GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/11/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/aarch64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 52ed857e9cd110e5efaa797811afcfbb] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_c5e4f.dir/'] + ignore line: [ as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o /tmp/ccF1G1lj.s] + ignore line: [GNU assembler version 2.38 (aarch64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38] + ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_c5e4f] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c5e4f.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o -o cmTC_c5e4f ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper] + ignore line: [Target: aarch64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c5e4f' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_c5e4f.'] + link line: [ /usr/lib/gcc/aarch64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccvPBbw9.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o cmTC_c5e4f /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/11 -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/11/../../.. CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccvPBbw9.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib/ld-linux-aarch64.so.1] ==> ignore + arg [-X] ==> ignore + arg [-EL] ==> ignore + arg [-maarch64linux] ==> ignore + arg [--fix-cortex-a53-843419] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_c5e4f] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] + arg [-L/lib/aarch64-linux-gnu] ==> dir [/lib/aarch64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/aarch64-linux-gnu] ==> dir [/usr/lib/aarch64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../..] + arg [CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] ==> [/usr/lib/aarch64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] ==> [/usr/lib/aarch64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] ==> [/usr/lib/aarch64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11] ==> [/usr/lib/gcc/aarch64-linux-gnu/11] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/aarch64-linux-gnu] ==> [/lib/aarch64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit objs: [/usr/lib/aarch64-linux-gnu/Scrt1.o;/usr/lib/aarch64-linux-gnu/crti.o;/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o;/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o;/usr/lib/aarch64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/aarch64-linux-gnu/11;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib] + implicit fwks: [] + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_fd186/fast && /usr/bin/gmake -f CMakeFiles/cmTC_fd186.dir/build.make CMakeFiles/cmTC_fd186.dir/build +gmake[1]: Entering directory '/Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -v -o CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +Target: aarch64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_fd186.dir/' + /usr/lib/gcc/aarch64-linux-gnu/11/cc1plus -quiet -v -imultiarch aarch64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_fd186.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mlittle-endian -mabi=lp64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -o /tmp/ccxYMiiS.s +GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring duplicate directory "/usr/include/aarch64-linux-gnu/c++/11" +ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/include/c++/11 + /usr/include/aarch64-linux-gnu/c++/11 + /usr/include/c++/11/backward + /usr/lib/gcc/aarch64-linux-gnu/11/include + /usr/local/include + /usr/include/aarch64-linux-gnu + /usr/include +End of search list. +GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 3e6e780af1232722b47e0979fda82402 +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_fd186.dir/' + as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccxYMiiS.s +GNU assembler version 2.38 (aarch64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38 +COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.' +Linking CXX executable cmTC_fd186 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_fd186.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_fd186 +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper +Target: aarch64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) +COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_fd186' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_fd186.' + /usr/lib/gcc/aarch64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccjc2MCu.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o cmTC_fd186 /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/11 -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/11/../../.. CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_fd186' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_fd186.' +gmake[1]: Leaving directory '/Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp' + + + +Parsed CXX implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/include/c++/11] + add: [/usr/include/aarch64-linux-gnu/c++/11] + add: [/usr/include/c++/11/backward] + add: [/usr/lib/gcc/aarch64-linux-gnu/11/include] + add: [/usr/local/include] + add: [/usr/include/aarch64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/include/c++/11] ==> [/usr/include/c++/11] + collapse include dir [/usr/include/aarch64-linux-gnu/c++/11] ==> [/usr/include/aarch64-linux-gnu/c++/11] + collapse include dir [/usr/include/c++/11/backward] ==> [/usr/include/c++/11/backward] + collapse include dir [/usr/lib/gcc/aarch64-linux-gnu/11/include] ==> [/usr/lib/gcc/aarch64-linux-gnu/11/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/aarch64-linux-gnu] ==> [/usr/include/aarch64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/11;/usr/include/aarch64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/lib/gcc/aarch64-linux-gnu/11/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include] + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_fd186/fast && /usr/bin/gmake -f CMakeFiles/cmTC_fd186.dir/build.make CMakeFiles/cmTC_fd186.dir/build] + ignore line: [gmake[1]: Entering directory '/Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp'] + ignore line: [Building CXX object CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [Target: aarch64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_fd186.dir/'] + ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/11/cc1plus -quiet -v -imultiarch aarch64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_fd186.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mlittle-endian -mabi=lp64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -o /tmp/ccxYMiiS.s] + ignore line: [GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/usr/include/aarch64-linux-gnu/c++/11"] + ignore line: [ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/include/c++/11] + ignore line: [ /usr/include/aarch64-linux-gnu/c++/11] + ignore line: [ /usr/include/c++/11/backward] + ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/11/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/aarch64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 3e6e780af1232722b47e0979fda82402] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_fd186.dir/'] + ignore line: [ as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccxYMiiS.s] + ignore line: [GNU assembler version 2.38 (aarch64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38] + ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_fd186] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_fd186.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_fd186 ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper] + ignore line: [Target: aarch64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_fd186' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_fd186.'] + link line: [ /usr/lib/gcc/aarch64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccjc2MCu.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o cmTC_fd186 /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/11 -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/11/../../.. CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccjc2MCu.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib/ld-linux-aarch64.so.1] ==> ignore + arg [-X] ==> ignore + arg [-EL] ==> ignore + arg [-maarch64linux] ==> ignore + arg [--fix-cortex-a53-843419] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_fd186] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] + arg [-L/lib/aarch64-linux-gnu] ==> dir [/lib/aarch64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/aarch64-linux-gnu] ==> dir [/usr/lib/aarch64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../..] + arg [CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] ==> [/usr/lib/aarch64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] ==> [/usr/lib/aarch64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] ==> [/usr/lib/aarch64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11] ==> [/usr/lib/gcc/aarch64-linux-gnu/11] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/aarch64-linux-gnu] ==> [/lib/aarch64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit objs: [/usr/lib/aarch64-linux-gnu/Scrt1.o;/usr/lib/aarch64-linux-gnu/crti.o;/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o;/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o;/usr/lib/aarch64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/aarch64-linux-gnu/11;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib] + implicit fwks: [] + + diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/CMakeRuleHashes.txt b/precision_Problem/Is_standard/build_out/CMakeFiles/CMakeRuleHashes.txt new file mode 100644 index 0000000..3203f38 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/CMakeRuleHashes.txt @@ -0,0 +1,18 @@ +# Hashes of file build rules. +fc49c36149720c74e3d4468798eba7b1 CMakeFiles/gen_version_info +106f4d5d8ed098670b9c384a316751e8 CMakeFiles/modify_vendor +c31e8771e27da55409d482fa28ad0d90 op_host/CMakeFiles/optiling_compat +d1a8db870d720ecb87278659a945ea2f op_kernel/CMakeFiles/ascendc_bin_ascend310b +101dfcdbaf1073ff487e946f5a8efff8 op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config +ac2562a204adb2b3ed75b44701ca7dc7 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0 +7c88e9e2f03c95e5b8d45fc36ff6aa29 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1 +fbfea8cec4c9072c969387d7f258d9f8 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2 +ebd53830620e349f320cb5b1c9832b24 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3 +858f4f53e024605f54ea6fcb1cb63350 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy +43d7f41cd2162bb770240c062cfef892 op_kernel/CMakeFiles/ascendc_impl_gen +43d7f41cd2162bb770240c062cfef892 op_kernel/CMakeFiles/npu_supported_ops +43d7f41cd2162bb770240c062cfef892 op_kernel/CMakeFiles/ops_info_gen_ascend310b +4d18c7c06f5999c6bb303693943923c0 op_kernel/tbe/.impl_timestamp +046f50afef67fbb6d968a55549df2185 op_kernel/tbe/op_info_cfg/ai_core/ascend310b/aic-ascend310b-ops-info.json +da76942fdfa458dc97491d13b6493bfd op_kernel/tbe/op_info_cfg/ai_core/npu_supported_ops.json +74b470842ccef39c1657faa217d342eb scripts/install.sh diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/Makefile.cmake b/precision_Problem/Is_standard/build_out/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..f061274 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/Makefile.cmake @@ -0,0 +1,155 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "../CMakeLists.txt" + "CMakeFiles/3.22.1/CMakeCCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCXXCompiler.cmake" + "CMakeFiles/3.22.1/CMakeSystem.cmake" + "../cmake/config.cmake" + "../cmake/func.cmake" + "../cmake/intf.cmake" + "../framework/CMakeLists.txt" + "../framework/tf_plugin/CMakeLists.txt" + "../op_host/CMakeLists.txt" + "../op_kernel/CMakeLists.txt" + "/usr/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + "/usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c" + "/usr/share/cmake-3.22/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + "/usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp" + "/usr/share/cmake-3.22/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake" + "/usr/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + "/usr/share/cmake-3.22/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake" + "/usr/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + "/usr/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + "/usr/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + "/usr/share/cmake-3.22/Modules/CMakeSystem.cmake.in" + "/usr/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + "/usr/share/cmake-3.22/Modules/CMakeUnixFindMake.cmake" + "/usr/share/cmake-3.22/Modules/CPack.cmake" + "/usr/share/cmake-3.22/Modules/CPackComponent.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-FindBinUtils.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-Determine-CXX.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux.cmake" + "/usr/share/cmake-3.22/Modules/Platform/UnixPaths.cmake" + "/usr/share/cmake-3.22/Templates/CPackConfig.cmake.in" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/3.22.1/CMakeSystem.cmake" + "CMakeFiles/3.22.1/CMakeCCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCXXCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCXXCompiler.cmake" + "CPackConfig.cmake" + "CPackSourceConfig.cmake" + "CMakeFiles/CMakeDirectoryInformation.cmake" + "framework/CMakeFiles/CMakeDirectoryInformation.cmake" + "framework/tf_plugin/CMakeFiles/CMakeDirectoryInformation.cmake" + "op_host/CMakeFiles/CMakeDirectoryInformation.cmake" + "op_kernel/CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/modify_vendor.dir/DependInfo.cmake" + "CMakeFiles/gen_version_info.dir/DependInfo.cmake" + "framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/DependInfo.cmake" + "op_host/CMakeFiles/cust_op_proto.dir/DependInfo.cmake" + "op_host/CMakeFiles/cust_optiling.dir/DependInfo.cmake" + "op_host/CMakeFiles/cust_opapi.dir/DependInfo.cmake" + "op_host/CMakeFiles/optiling_compat.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ascendc_impl_gen.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/binary.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/npu_supported_ops.dir/DependInfo.cmake" + ) diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/Makefile2 b/precision_Problem/Is_standard/build_out/CMakeFiles/Makefile2 new file mode 100644 index 0000000..2d78095 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/Makefile2 @@ -0,0 +1,649 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/modify_vendor.dir/all +all: CMakeFiles/gen_version_info.dir/all +all: framework/all +all: op_host/all +all: op_kernel/all +.PHONY : all + +# The main recursive "preinstall" target. +preinstall: framework/preinstall +preinstall: op_host/preinstall +preinstall: op_kernel/preinstall +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/modify_vendor.dir/clean +clean: CMakeFiles/gen_version_info.dir/clean +clean: framework/clean +clean: op_host/clean +clean: op_kernel/clean +.PHONY : clean + +#============================================================================= +# Directory level rules for directory framework + +# Recursive "all" directory target. +framework/all: framework/tf_plugin/all +.PHONY : framework/all + +# Recursive "preinstall" directory target. +framework/preinstall: framework/tf_plugin/preinstall +.PHONY : framework/preinstall + +# Recursive "clean" directory target. +framework/clean: framework/tf_plugin/clean +.PHONY : framework/clean + +#============================================================================= +# Directory level rules for directory framework/tf_plugin + +# Recursive "all" directory target. +framework/tf_plugin/all: framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/all +.PHONY : framework/tf_plugin/all + +# Recursive "preinstall" directory target. +framework/tf_plugin/preinstall: +.PHONY : framework/tf_plugin/preinstall + +# Recursive "clean" directory target. +framework/tf_plugin/clean: framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/clean +.PHONY : framework/tf_plugin/clean + +#============================================================================= +# Directory level rules for directory op_host + +# Recursive "all" directory target. +op_host/all: op_host/CMakeFiles/cust_op_proto.dir/all +op_host/all: op_host/CMakeFiles/cust_optiling.dir/all +op_host/all: op_host/CMakeFiles/cust_opapi.dir/all +op_host/all: op_host/CMakeFiles/optiling_compat.dir/all +.PHONY : op_host/all + +# Recursive "preinstall" directory target. +op_host/preinstall: +.PHONY : op_host/preinstall + +# Recursive "clean" directory target. +op_host/clean: op_host/CMakeFiles/cust_op_proto.dir/clean +op_host/clean: op_host/CMakeFiles/cust_optiling.dir/clean +op_host/clean: op_host/CMakeFiles/cust_opapi.dir/clean +op_host/clean: op_host/CMakeFiles/optiling_compat.dir/clean +.PHONY : op_host/clean + +#============================================================================= +# Directory level rules for directory op_kernel + +# Recursive "all" directory target. +op_kernel/all: op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/all +op_kernel/all: op_kernel/CMakeFiles/ascendc_impl_gen.dir/all +op_kernel/all: op_kernel/CMakeFiles/npu_supported_ops.dir/all +.PHONY : op_kernel/all + +# Recursive "preinstall" directory target. +op_kernel/preinstall: +.PHONY : op_kernel/preinstall + +# Recursive "clean" directory target. +op_kernel/clean: op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/ascendc_impl_gen.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/binary.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/npu_supported_ops.dir/clean +.PHONY : op_kernel/clean + +#============================================================================= +# Target rules for target CMakeFiles/modify_vendor.dir + +# All Build rule for target. +CMakeFiles/modify_vendor.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles/modify_vendor.dir/build.make CMakeFiles/modify_vendor.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/modify_vendor.dir/build.make CMakeFiles/modify_vendor.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=11 "Built target modify_vendor" +.PHONY : CMakeFiles/modify_vendor.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/modify_vendor.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/modify_vendor.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : CMakeFiles/modify_vendor.dir/rule + +# Convenience name for target. +modify_vendor: CMakeFiles/modify_vendor.dir/rule +.PHONY : modify_vendor + +# clean rule for target. +CMakeFiles/modify_vendor.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/modify_vendor.dir/build.make CMakeFiles/modify_vendor.dir/clean +.PHONY : CMakeFiles/modify_vendor.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/gen_version_info.dir + +# All Build rule for target. +CMakeFiles/gen_version_info.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles/gen_version_info.dir/build.make CMakeFiles/gen_version_info.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/gen_version_info.dir/build.make CMakeFiles/gen_version_info.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target gen_version_info" +.PHONY : CMakeFiles/gen_version_info.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/gen_version_info.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/gen_version_info.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : CMakeFiles/gen_version_info.dir/rule + +# Convenience name for target. +gen_version_info: CMakeFiles/gen_version_info.dir/rule +.PHONY : gen_version_info + +# clean rule for target. +CMakeFiles/gen_version_info.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/gen_version_info.dir/build.make CMakeFiles/gen_version_info.dir/clean +.PHONY : CMakeFiles/gen_version_info.dir/clean + +#============================================================================= +# Target rules for target framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir + +# All Build rule for target. +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/all: + $(MAKE) $(MAKESILENT) -f framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/depend + $(MAKE) $(MAKESILENT) -f framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=9,10 "Built target cust_tf_parsers" +.PHONY : framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/all + +# Build rule for subdir invocation for target. +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 2 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/rule + +# Convenience name for target. +cust_tf_parsers: framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/rule +.PHONY : cust_tf_parsers + +# clean rule for target. +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/clean: + $(MAKE) $(MAKESILENT) -f framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/clean +.PHONY : framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/clean + +#============================================================================= +# Target rules for target op_host/CMakeFiles/cust_op_proto.dir + +# All Build rule for target. +op_host/CMakeFiles/cust_op_proto.dir/all: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/depend + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=2,3,4 "Built target cust_op_proto" +.PHONY : op_host/CMakeFiles/cust_op_proto.dir/all + +# Build rule for subdir invocation for target. +op_host/CMakeFiles/cust_op_proto.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 3 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/CMakeFiles/cust_op_proto.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_host/CMakeFiles/cust_op_proto.dir/rule + +# Convenience name for target. +cust_op_proto: op_host/CMakeFiles/cust_op_proto.dir/rule +.PHONY : cust_op_proto + +# clean rule for target. +op_host/CMakeFiles/cust_op_proto.dir/clean: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/clean +.PHONY : op_host/CMakeFiles/cust_op_proto.dir/clean + +#============================================================================= +# Target rules for target op_host/CMakeFiles/cust_optiling.dir + +# All Build rule for target. +op_host/CMakeFiles/cust_optiling.dir/all: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_optiling.dir/build.make op_host/CMakeFiles/cust_optiling.dir/depend + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_optiling.dir/build.make op_host/CMakeFiles/cust_optiling.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=7,8 "Built target cust_optiling" +.PHONY : op_host/CMakeFiles/cust_optiling.dir/all + +# Build rule for subdir invocation for target. +op_host/CMakeFiles/cust_optiling.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 2 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/CMakeFiles/cust_optiling.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_host/CMakeFiles/cust_optiling.dir/rule + +# Convenience name for target. +cust_optiling: op_host/CMakeFiles/cust_optiling.dir/rule +.PHONY : cust_optiling + +# clean rule for target. +op_host/CMakeFiles/cust_optiling.dir/clean: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_optiling.dir/build.make op_host/CMakeFiles/cust_optiling.dir/clean +.PHONY : op_host/CMakeFiles/cust_optiling.dir/clean + +#============================================================================= +# Target rules for target op_host/CMakeFiles/cust_opapi.dir + +# All Build rule for target. +op_host/CMakeFiles/cust_opapi.dir/all: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_opapi.dir/build.make op_host/CMakeFiles/cust_opapi.dir/depend + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_opapi.dir/build.make op_host/CMakeFiles/cust_opapi.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=5,6 "Built target cust_opapi" +.PHONY : op_host/CMakeFiles/cust_opapi.dir/all + +# Build rule for subdir invocation for target. +op_host/CMakeFiles/cust_opapi.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 2 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/CMakeFiles/cust_opapi.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_host/CMakeFiles/cust_opapi.dir/rule + +# Convenience name for target. +cust_opapi: op_host/CMakeFiles/cust_opapi.dir/rule +.PHONY : cust_opapi + +# clean rule for target. +op_host/CMakeFiles/cust_opapi.dir/clean: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_opapi.dir/build.make op_host/CMakeFiles/cust_opapi.dir/clean +.PHONY : op_host/CMakeFiles/cust_opapi.dir/clean + +#============================================================================= +# Target rules for target op_host/CMakeFiles/optiling_compat.dir + +# All Build rule for target. +op_host/CMakeFiles/optiling_compat.dir/all: op_host/CMakeFiles/cust_optiling.dir/all + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/optiling_compat.dir/build.make op_host/CMakeFiles/optiling_compat.dir/depend + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/optiling_compat.dir/build.make op_host/CMakeFiles/optiling_compat.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target optiling_compat" +.PHONY : op_host/CMakeFiles/optiling_compat.dir/all + +# Build rule for subdir invocation for target. +op_host/CMakeFiles/optiling_compat.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 2 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/CMakeFiles/optiling_compat.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_host/CMakeFiles/optiling_compat.dir/rule + +# Convenience name for target. +optiling_compat: op_host/CMakeFiles/optiling_compat.dir/rule +.PHONY : optiling_compat + +# clean rule for target. +op_host/CMakeFiles/optiling_compat.dir/clean: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/optiling_compat.dir/build.make op_host/CMakeFiles/optiling_compat.dir/clean +.PHONY : op_host/CMakeFiles/optiling_compat.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/all: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/build.make op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/build.make op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=13 "Built target ops_info_gen_ascend310b" +.PHONY : op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/rule + +# Convenience name for target. +ops_info_gen_ascend310b: op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/rule +.PHONY : ops_info_gen_ascend310b + +# clean rule for target. +op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/build.make op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/clean +.PHONY : op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ascendc_impl_gen.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ascendc_impl_gen.dir/all: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_impl_gen.dir/build.make op_kernel/CMakeFiles/ascendc_impl_gen.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_impl_gen.dir/build.make op_kernel/CMakeFiles/ascendc_impl_gen.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=1 "Built target ascendc_impl_gen" +.PHONY : op_kernel/CMakeFiles/ascendc_impl_gen.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ascendc_impl_gen.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ascendc_impl_gen.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ascendc_impl_gen.dir/rule + +# Convenience name for target. +ascendc_impl_gen: op_kernel/CMakeFiles/ascendc_impl_gen.dir/rule +.PHONY : ascendc_impl_gen + +# clean rule for target. +op_kernel/CMakeFiles/ascendc_impl_gen.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_impl_gen.dir/build.make op_kernel/CMakeFiles/ascendc_impl_gen.dir/clean +.PHONY : op_kernel/CMakeFiles/ascendc_impl_gen.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/binary.dir + +# All Build rule for target. +op_kernel/CMakeFiles/binary.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/all + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/binary.dir/build.make op_kernel/CMakeFiles/binary.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/binary.dir/build.make op_kernel/CMakeFiles/binary.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target binary" +.PHONY : op_kernel/CMakeFiles/binary.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/binary.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/binary.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/binary.dir/rule + +# Convenience name for target. +binary: op_kernel/CMakeFiles/binary.dir/rule +.PHONY : binary + +# clean rule for target. +op_kernel/CMakeFiles/binary.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/binary.dir/build.make op_kernel/CMakeFiles/binary.dir/clean +.PHONY : op_kernel/CMakeFiles/binary.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/all: op_kernel/CMakeFiles/ascendc_impl_gen.dir/all + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target ascendc_bin_ascend310b" +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/rule + +# Convenience name for target. +ascendc_bin_ascend310b: op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/rule +.PHONY : ascendc_bin_ascend310b + +# clean rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/clean +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/all +op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/all +op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/all +op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/all + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target ascendc_bin_ascend310b_gen_ops_config" +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/rule + +# Convenience name for target. +ascendc_bin_ascend310b_gen_ops_config: op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/rule +.PHONY : ascendc_bin_ascend310b_gen_ops_config + +# clean rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/clean +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/all: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target ascendc_bin_ascend310b_reduce_sum_copy" +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/rule + +# Convenience name for target. +ascendc_bin_ascend310b_reduce_sum_copy: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/rule +.PHONY : ascendc_bin_ascend310b_reduce_sum_copy + +# clean rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/clean +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/all +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/all + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target ascendc_bin_ascend310b_reduce_sum_0" +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/rule + +# Convenience name for target. +ascendc_bin_ascend310b_reduce_sum_0: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/rule +.PHONY : ascendc_bin_ascend310b_reduce_sum_0 + +# clean rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/clean +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/all +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/all + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target ascendc_bin_ascend310b_reduce_sum_1" +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/rule + +# Convenience name for target. +ascendc_bin_ascend310b_reduce_sum_1: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/rule +.PHONY : ascendc_bin_ascend310b_reduce_sum_1 + +# clean rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/clean +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/all +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/all + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target ascendc_bin_ascend310b_reduce_sum_2" +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/rule + +# Convenience name for target. +ascendc_bin_ascend310b_reduce_sum_2: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/rule +.PHONY : ascendc_bin_ascend310b_reduce_sum_2 + +# clean rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/clean +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/all +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/all + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target ascendc_bin_ascend310b_reduce_sum_3" +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/rule + +# Convenience name for target. +ascendc_bin_ascend310b_reduce_sum_3: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/rule +.PHONY : ascendc_bin_ascend310b_reduce_sum_3 + +# clean rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/clean +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/npu_supported_ops.dir + +# All Build rule for target. +op_kernel/CMakeFiles/npu_supported_ops.dir/all: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/npu_supported_ops.dir/build.make op_kernel/CMakeFiles/npu_supported_ops.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/npu_supported_ops.dir/build.make op_kernel/CMakeFiles/npu_supported_ops.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=12 "Built target npu_supported_ops" +.PHONY : op_kernel/CMakeFiles/npu_supported_ops.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/npu_supported_ops.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/npu_supported_ops.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/npu_supported_ops.dir/rule + +# Convenience name for target. +npu_supported_ops: op_kernel/CMakeFiles/npu_supported_ops.dir/rule +.PHONY : npu_supported_ops + +# clean rule for target. +op_kernel/CMakeFiles/npu_supported_ops.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/npu_supported_ops.dir/build.make op_kernel/CMakeFiles/npu_supported_ops.dir/clean +.PHONY : op_kernel/CMakeFiles/npu_supported_ops.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/TargetDirectories.txt b/precision_Problem/Is_standard/build_out/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..50db8e5 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,58 @@ +/Package_Cann/test/No_standard/build_out/CMakeFiles/modify_vendor.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/gen_version_info.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/package.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/package_source.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/edit_cache.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/rebuild_cache.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/list_install_components.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/install.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/install/local.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/install/strip.dir +/Package_Cann/test/No_standard/build_out/framework/CMakeFiles/package.dir +/Package_Cann/test/No_standard/build_out/framework/CMakeFiles/package_source.dir +/Package_Cann/test/No_standard/build_out/framework/CMakeFiles/edit_cache.dir +/Package_Cann/test/No_standard/build_out/framework/CMakeFiles/rebuild_cache.dir +/Package_Cann/test/No_standard/build_out/framework/CMakeFiles/list_install_components.dir +/Package_Cann/test/No_standard/build_out/framework/CMakeFiles/install.dir +/Package_Cann/test/No_standard/build_out/framework/CMakeFiles/install/local.dir +/Package_Cann/test/No_standard/build_out/framework/CMakeFiles/install/strip.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/package.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/package_source.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/edit_cache.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/rebuild_cache.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/list_install_components.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/install.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/install/local.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/install/strip.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/package.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/package_source.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/edit_cache.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/rebuild_cache.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/list_install_components.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/install.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/install/local.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/install/strip.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ascendc_impl_gen.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/binary.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/npu_supported_ops.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/package.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/package_source.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/edit_cache.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/rebuild_cache.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/list_install_components.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/install.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/install/local.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/install/strip.dir diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/cmake.check_cache b/precision_Problem/Is_standard/build_out/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/DependInfo.cmake b/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/DependInfo.cmake new file mode 100644 index 0000000..dc55e44 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/DependInfo.cmake @@ -0,0 +1,18 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/build.make b/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/build.make new file mode 100644 index 0000000..6c2bea2 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +# Utility rule file for gen_version_info. + +# Include any custom commands dependencies for this target. +include CMakeFiles/gen_version_info.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/gen_version_info.dir/progress.make + +CMakeFiles/gen_version_info: + bash /Package_Cann/test/No_standard/cmake/util/gen_version_info.sh /usr/local/Ascend/ascend-toolkit/latest /Package_Cann/test/No_standard/build_out + +gen_version_info: CMakeFiles/gen_version_info +gen_version_info: CMakeFiles/gen_version_info.dir/build.make +.PHONY : gen_version_info + +# Rule to build all files generated by this target. +CMakeFiles/gen_version_info.dir/build: gen_version_info +.PHONY : CMakeFiles/gen_version_info.dir/build + +CMakeFiles/gen_version_info.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/gen_version_info.dir/cmake_clean.cmake +.PHONY : CMakeFiles/gen_version_info.dir/clean + +CMakeFiles/gen_version_info.dir/depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Package_Cann/test/No_standard /Package_Cann/test/No_standard /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out/CMakeFiles/gen_version_info.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/gen_version_info.dir/depend + diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/cmake_clean.cmake b/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/cmake_clean.cmake new file mode 100644 index 0000000..4183a83 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/gen_version_info" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/gen_version_info.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/compiler_depend.make b/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/compiler_depend.make new file mode 100644 index 0000000..9406130 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for gen_version_info. +# This may be replaced when dependencies are built. diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/compiler_depend.ts b/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/compiler_depend.ts new file mode 100644 index 0000000..714ce8f --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for gen_version_info. diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/progress.make b/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/gen_version_info.dir/progress.make @@ -0,0 +1 @@ + diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/DependInfo.cmake b/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/DependInfo.cmake new file mode 100644 index 0000000..7505cee --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/DependInfo.cmake @@ -0,0 +1,24 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Pairs of files generated by the same build rule. +set(CMAKE_MULTIPLE_OUTPUT_PAIRS + "/Package_Cann/test/No_standard/build_out/scripts/upgrade.sh" "/Package_Cann/test/No_standard/build_out/scripts/install.sh" + ) + + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/build.make b/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/build.make new file mode 100644 index 0000000..3e2c1ad --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/build.make @@ -0,0 +1,98 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +# Utility rule file for modify_vendor. + +# Include any custom commands dependencies for this target. +include CMakeFiles/modify_vendor.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/modify_vendor.dir/progress.make + +CMakeFiles/modify_vendor: scripts/install.sh +CMakeFiles/modify_vendor: scripts/upgrade.sh + +scripts/install.sh: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating scripts/install.sh, scripts/upgrade.sh" + mkdir -p /Package_Cann/test/No_standard/build_out/scripts + cp -r /Package_Cann/test/No_standard/scripts/* /Package_Cann/test/No_standard/build_out/scripts/ + sed -i s/vendor_name=customize/vendor_name=customize/g /Package_Cann/test/No_standard/build_out/scripts/* + +scripts/upgrade.sh: scripts/install.sh + @$(CMAKE_COMMAND) -E touch_nocreate scripts/upgrade.sh + +modify_vendor: CMakeFiles/modify_vendor +modify_vendor: scripts/install.sh +modify_vendor: scripts/upgrade.sh +modify_vendor: CMakeFiles/modify_vendor.dir/build.make +.PHONY : modify_vendor + +# Rule to build all files generated by this target. +CMakeFiles/modify_vendor.dir/build: modify_vendor +.PHONY : CMakeFiles/modify_vendor.dir/build + +CMakeFiles/modify_vendor.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/modify_vendor.dir/cmake_clean.cmake +.PHONY : CMakeFiles/modify_vendor.dir/clean + +CMakeFiles/modify_vendor.dir/depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Package_Cann/test/No_standard /Package_Cann/test/No_standard /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out/CMakeFiles/modify_vendor.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/modify_vendor.dir/depend + diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/cmake_clean.cmake b/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/cmake_clean.cmake new file mode 100644 index 0000000..5632851 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/cmake_clean.cmake @@ -0,0 +1,10 @@ +file(REMOVE_RECURSE + "CMakeFiles/modify_vendor" + "scripts/install.sh" + "scripts/upgrade.sh" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/modify_vendor.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/compiler_depend.make b/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/compiler_depend.make new file mode 100644 index 0000000..bda5864 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for modify_vendor. +# This may be replaced when dependencies are built. diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/compiler_depend.ts b/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/compiler_depend.ts new file mode 100644 index 0000000..4290d3f --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for modify_vendor. diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/progress.make b/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/progress.make new file mode 100644 index 0000000..27952ed --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/modify_vendor.dir/progress.make @@ -0,0 +1,2 @@ +CMAKE_PROGRESS_1 = 11 + diff --git a/precision_Problem/Is_standard/build_out/CMakeFiles/progress.marks b/precision_Problem/Is_standard/build_out/CMakeFiles/progress.marks new file mode 100644 index 0000000..b1bd38b --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CMakeFiles/progress.marks @@ -0,0 +1 @@ +13 diff --git a/precision_Problem/Is_standard/build_out/CPackConfig.cmake b/precision_Problem/Is_standard/build_out/CPackConfig.cmake new file mode 100644 index 0000000..5c0dc70 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CPackConfig.cmake @@ -0,0 +1,71 @@ +# This file will be configured to contain variables for CPack. These variables +# should be set in the CMake list file of the project before CPack module is +# included. The list of available CPACK_xxx variables and their associated +# documentation may be obtained using +# cpack --help-variable-list +# +# Some variables are common to all generators (e.g. CPACK_PACKAGE_NAME) +# and some are specific to a generator +# (e.g. CPACK_NSIS_EXTRA_INSTALL_COMMANDS). The generator specific variables +# usually begin with CPACK__xxxx. + + +set(CPACK_BUILD_SOURCE_DIRS "/Package_Cann/test/No_standard;/Package_Cann/test/No_standard/build_out") +set(CPACK_CMAKE_GENERATOR "Unix Makefiles") +set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE") +set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE") +set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake-3.22/Templates/CPack.GenericDescription.txt") +set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_SUMMARY "opp built using CMake") +set(CPACK_EXTERNAL_BUILT_PACKAGES "/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/custom_opp_ubuntu_aarch64.run") +set(CPACK_EXTERNAL_ENABLE_STAGING "TRUE") +set(CPACK_EXTERNAL_PACKAGE_SCRIPT "/Package_Cann/test/No_standard/cmake/makeself.cmake") +set(CPACK_GENERATOR "External") +set(CPACK_INSTALL_CMAKE_PROJECTS "/Package_Cann/test/No_standard/build_out;opp;ALL;/") +set(CPACK_INSTALL_PREFIX "/Package_Cann/test/No_standard/build_out") +set(CPACK_MODULE_PATH "") +set(CPACK_NSIS_DISPLAY_NAME "opp 0.1.1") +set(CPACK_NSIS_INSTALLER_ICON_CODE "") +set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "") +set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES") +set(CPACK_NSIS_PACKAGE_NAME "opp 0.1.1") +set(CPACK_NSIS_UNINSTALL_NAME "Uninstall") +set(CPACK_OUTPUT_CONFIG_FILE "/Package_Cann/test/No_standard/build_out/CPackConfig.cmake") +set(CPACK_PACKAGE_DEFAULT_LOCATION "/") +set(CPACK_PACKAGE_DESCRIPTION "CPack opp project") +set(CPACK_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake-3.22/Templates/CPack.GenericDescription.txt") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CPack opp project") +set(CPACK_PACKAGE_DIRECTORY "/Package_Cann/test/No_standard/build_out") +set(CPACK_PACKAGE_FILE_NAME "custom_opp_ubuntu_aarch64.run") +set(CPACK_PACKAGE_INSTALL_DIRECTORY "opp 0.1.1") +set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "opp 0.1.1") +set(CPACK_PACKAGE_NAME "opp") +set(CPACK_PACKAGE_RELOCATABLE "true") +set(CPACK_PACKAGE_VENDOR "Humanity") +set(CPACK_PACKAGE_VERSION "0.1.1") +set(CPACK_PACKAGE_VERSION_MAJOR "0") +set(CPACK_PACKAGE_VERSION_MINOR "1") +set(CPACK_PACKAGE_VERSION_PATCH "1") +set(CPACK_RESOURCE_FILE_LICENSE "/usr/share/cmake-3.22/Templates/CPack.GenericLicense.txt") +set(CPACK_RESOURCE_FILE_README "/usr/share/cmake-3.22/Templates/CPack.GenericDescription.txt") +set(CPACK_RESOURCE_FILE_WELCOME "/usr/share/cmake-3.22/Templates/CPack.GenericWelcome.txt") +set(CPACK_SET_DESTDIR "OFF") +set(CPACK_SOURCE_GENERATOR "TBZ2;TGZ;TXZ;TZ") +set(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/Package_Cann/test/No_standard/build_out/CPackSourceConfig.cmake") +set(CPACK_SOURCE_RPM "OFF") +set(CPACK_SOURCE_TBZ2 "ON") +set(CPACK_SOURCE_TGZ "ON") +set(CPACK_SOURCE_TXZ "ON") +set(CPACK_SOURCE_TZ "ON") +set(CPACK_SOURCE_ZIP "OFF") +set(CPACK_SYSTEM_NAME "Linux") +set(CPACK_THREADS "1") +set(CPACK_TOPLEVEL_TAG "Linux") +set(CPACK_WIX_SIZEOF_VOID_P "8") + +if(NOT CPACK_PROPERTIES_FILE) + set(CPACK_PROPERTIES_FILE "/Package_Cann/test/No_standard/build_out/CPackProperties.cmake") +endif() + +if(EXISTS ${CPACK_PROPERTIES_FILE}) + include(${CPACK_PROPERTIES_FILE}) +endif() diff --git a/precision_Problem/Is_standard/build_out/CPackSourceConfig.cmake b/precision_Problem/Is_standard/build_out/CPackSourceConfig.cmake new file mode 100644 index 0000000..8e8d547 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/CPackSourceConfig.cmake @@ -0,0 +1,79 @@ +# This file will be configured to contain variables for CPack. These variables +# should be set in the CMake list file of the project before CPack module is +# included. The list of available CPACK_xxx variables and their associated +# documentation may be obtained using +# cpack --help-variable-list +# +# Some variables are common to all generators (e.g. CPACK_PACKAGE_NAME) +# and some are specific to a generator +# (e.g. CPACK_NSIS_EXTRA_INSTALL_COMMANDS). The generator specific variables +# usually begin with CPACK__xxxx. + + +set(CPACK_BUILD_SOURCE_DIRS "/Package_Cann/test/No_standard;/Package_Cann/test/No_standard/build_out") +set(CPACK_CMAKE_GENERATOR "Unix Makefiles") +set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE") +set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE") +set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake-3.22/Templates/CPack.GenericDescription.txt") +set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_SUMMARY "opp built using CMake") +set(CPACK_EXTERNAL_BUILT_PACKAGES "/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/custom_opp_ubuntu_aarch64.run") +set(CPACK_EXTERNAL_ENABLE_STAGING "TRUE") +set(CPACK_EXTERNAL_PACKAGE_SCRIPT "/Package_Cann/test/No_standard/cmake/makeself.cmake") +set(CPACK_GENERATOR "TBZ2;TGZ;TXZ;TZ") +set(CPACK_IGNORE_FILES "/CVS/;/\\.svn/;/\\.bzr/;/\\.hg/;/\\.git/;\\.swp\$;\\.#;/#") +set(CPACK_INSTALLED_DIRECTORIES "/Package_Cann/test/No_standard;/") +set(CPACK_INSTALL_CMAKE_PROJECTS "") +set(CPACK_INSTALL_PREFIX "/Package_Cann/test/No_standard/build_out") +set(CPACK_MODULE_PATH "") +set(CPACK_NSIS_DISPLAY_NAME "opp 0.1.1") +set(CPACK_NSIS_INSTALLER_ICON_CODE "") +set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "") +set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES") +set(CPACK_NSIS_PACKAGE_NAME "opp 0.1.1") +set(CPACK_NSIS_UNINSTALL_NAME "Uninstall") +set(CPACK_OUTPUT_CONFIG_FILE "/Package_Cann/test/No_standard/build_out/CPackConfig.cmake") +set(CPACK_PACKAGE_DEFAULT_LOCATION "/") +set(CPACK_PACKAGE_DESCRIPTION "CPack opp project") +set(CPACK_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake-3.22/Templates/CPack.GenericDescription.txt") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CPack opp project") +set(CPACK_PACKAGE_DIRECTORY "/Package_Cann/test/No_standard/build_out") +set(CPACK_PACKAGE_FILE_NAME "opp-0.1.1-Source") +set(CPACK_PACKAGE_INSTALL_DIRECTORY "opp 0.1.1") +set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "opp 0.1.1") +set(CPACK_PACKAGE_NAME "opp") +set(CPACK_PACKAGE_RELOCATABLE "true") +set(CPACK_PACKAGE_VENDOR "Humanity") +set(CPACK_PACKAGE_VERSION "0.1.1") +set(CPACK_PACKAGE_VERSION_MAJOR "0") +set(CPACK_PACKAGE_VERSION_MINOR "1") +set(CPACK_PACKAGE_VERSION_PATCH "1") +set(CPACK_RESOURCE_FILE_LICENSE "/usr/share/cmake-3.22/Templates/CPack.GenericLicense.txt") +set(CPACK_RESOURCE_FILE_README "/usr/share/cmake-3.22/Templates/CPack.GenericDescription.txt") +set(CPACK_RESOURCE_FILE_WELCOME "/usr/share/cmake-3.22/Templates/CPack.GenericWelcome.txt") +set(CPACK_RPM_PACKAGE_SOURCES "ON") +set(CPACK_SET_DESTDIR "OFF") +set(CPACK_SOURCE_GENERATOR "TBZ2;TGZ;TXZ;TZ") +set(CPACK_SOURCE_IGNORE_FILES "/CVS/;/\\.svn/;/\\.bzr/;/\\.hg/;/\\.git/;\\.swp\$;\\.#;/#") +set(CPACK_SOURCE_INSTALLED_DIRECTORIES "/Package_Cann/test/No_standard;/") +set(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/Package_Cann/test/No_standard/build_out/CPackSourceConfig.cmake") +set(CPACK_SOURCE_PACKAGE_FILE_NAME "opp-0.1.1-Source") +set(CPACK_SOURCE_RPM "OFF") +set(CPACK_SOURCE_TBZ2 "ON") +set(CPACK_SOURCE_TGZ "ON") +set(CPACK_SOURCE_TOPLEVEL_TAG "Linux-Source") +set(CPACK_SOURCE_TXZ "ON") +set(CPACK_SOURCE_TZ "ON") +set(CPACK_SOURCE_ZIP "OFF") +set(CPACK_STRIP_FILES "") +set(CPACK_SYSTEM_NAME "Linux") +set(CPACK_THREADS "1") +set(CPACK_TOPLEVEL_TAG "Linux-Source") +set(CPACK_WIX_SIZEOF_VOID_P "8") + +if(NOT CPACK_PROPERTIES_FILE) + set(CPACK_PROPERTIES_FILE "/Package_Cann/test/No_standard/build_out/CPackProperties.cmake") +endif() + +if(EXISTS ${CPACK_PROPERTIES_FILE}) + include(${CPACK_PROPERTIES_FILE}) +endif() diff --git a/precision_Problem/Is_standard/build_out/Makefile b/precision_Problem/Is_standard/build_out/Makefile new file mode 100644 index 0000000..4d55c2f --- /dev/null +++ b/precision_Problem/Is_standard/build_out/Makefile @@ -0,0 +1,463 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target package +package: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..." + /usr/bin/cpack --config ./CPackConfig.cmake +.PHONY : package + +# Special rule for the target package +package/fast: package +.PHONY : package/fast + +# Special rule for the target package_source +package_source: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..." + /usr/bin/cpack --config ./CPackSourceConfig.cmake /Package_Cann/test/No_standard/build_out/CPackSourceConfig.cmake +.PHONY : package_source + +# Special rule for the target package_source +package_source/fast: package_source +.PHONY : package_source/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles /Package_Cann/test/No_standard/build_out//CMakeFiles/progress.marks + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named modify_vendor + +# Build rule for target. +modify_vendor: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 modify_vendor +.PHONY : modify_vendor + +# fast build rule for target. +modify_vendor/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/modify_vendor.dir/build.make CMakeFiles/modify_vendor.dir/build +.PHONY : modify_vendor/fast + +#============================================================================= +# Target rules for targets named gen_version_info + +# Build rule for target. +gen_version_info: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 gen_version_info +.PHONY : gen_version_info + +# fast build rule for target. +gen_version_info/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/gen_version_info.dir/build.make CMakeFiles/gen_version_info.dir/build +.PHONY : gen_version_info/fast + +#============================================================================= +# Target rules for targets named cust_tf_parsers + +# Build rule for target. +cust_tf_parsers: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 cust_tf_parsers +.PHONY : cust_tf_parsers + +# fast build rule for target. +cust_tf_parsers/fast: + $(MAKE) $(MAKESILENT) -f framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build +.PHONY : cust_tf_parsers/fast + +#============================================================================= +# Target rules for targets named cust_op_proto + +# Build rule for target. +cust_op_proto: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 cust_op_proto +.PHONY : cust_op_proto + +# fast build rule for target. +cust_op_proto/fast: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/build +.PHONY : cust_op_proto/fast + +#============================================================================= +# Target rules for targets named cust_optiling + +# Build rule for target. +cust_optiling: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 cust_optiling +.PHONY : cust_optiling + +# fast build rule for target. +cust_optiling/fast: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_optiling.dir/build.make op_host/CMakeFiles/cust_optiling.dir/build +.PHONY : cust_optiling/fast + +#============================================================================= +# Target rules for targets named cust_opapi + +# Build rule for target. +cust_opapi: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 cust_opapi +.PHONY : cust_opapi + +# fast build rule for target. +cust_opapi/fast: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_opapi.dir/build.make op_host/CMakeFiles/cust_opapi.dir/build +.PHONY : cust_opapi/fast + +#============================================================================= +# Target rules for targets named optiling_compat + +# Build rule for target. +optiling_compat: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 optiling_compat +.PHONY : optiling_compat + +# fast build rule for target. +optiling_compat/fast: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/optiling_compat.dir/build.make op_host/CMakeFiles/optiling_compat.dir/build +.PHONY : optiling_compat/fast + +#============================================================================= +# Target rules for targets named ops_info_gen_ascend310b + +# Build rule for target. +ops_info_gen_ascend310b: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ops_info_gen_ascend310b +.PHONY : ops_info_gen_ascend310b + +# fast build rule for target. +ops_info_gen_ascend310b/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/build.make op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/build +.PHONY : ops_info_gen_ascend310b/fast + +#============================================================================= +# Target rules for targets named ascendc_impl_gen + +# Build rule for target. +ascendc_impl_gen: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ascendc_impl_gen +.PHONY : ascendc_impl_gen + +# fast build rule for target. +ascendc_impl_gen/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_impl_gen.dir/build.make op_kernel/CMakeFiles/ascendc_impl_gen.dir/build +.PHONY : ascendc_impl_gen/fast + +#============================================================================= +# Target rules for targets named binary + +# Build rule for target. +binary: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 binary +.PHONY : binary + +# fast build rule for target. +binary/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/binary.dir/build.make op_kernel/CMakeFiles/binary.dir/build +.PHONY : binary/fast + +#============================================================================= +# Target rules for targets named ascendc_bin_ascend310b + +# Build rule for target. +ascendc_bin_ascend310b: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ascendc_bin_ascend310b +.PHONY : ascendc_bin_ascend310b + +# fast build rule for target. +ascendc_bin_ascend310b/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/build +.PHONY : ascendc_bin_ascend310b/fast + +#============================================================================= +# Target rules for targets named ascendc_bin_ascend310b_gen_ops_config + +# Build rule for target. +ascendc_bin_ascend310b_gen_ops_config: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ascendc_bin_ascend310b_gen_ops_config +.PHONY : ascendc_bin_ascend310b_gen_ops_config + +# fast build rule for target. +ascendc_bin_ascend310b_gen_ops_config/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/build +.PHONY : ascendc_bin_ascend310b_gen_ops_config/fast + +#============================================================================= +# Target rules for targets named ascendc_bin_ascend310b_reduce_sum_copy + +# Build rule for target. +ascendc_bin_ascend310b_reduce_sum_copy: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ascendc_bin_ascend310b_reduce_sum_copy +.PHONY : ascendc_bin_ascend310b_reduce_sum_copy + +# fast build rule for target. +ascendc_bin_ascend310b_reduce_sum_copy/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/build +.PHONY : ascendc_bin_ascend310b_reduce_sum_copy/fast + +#============================================================================= +# Target rules for targets named ascendc_bin_ascend310b_reduce_sum_0 + +# Build rule for target. +ascendc_bin_ascend310b_reduce_sum_0: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ascendc_bin_ascend310b_reduce_sum_0 +.PHONY : ascendc_bin_ascend310b_reduce_sum_0 + +# fast build rule for target. +ascendc_bin_ascend310b_reduce_sum_0/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/build +.PHONY : ascendc_bin_ascend310b_reduce_sum_0/fast + +#============================================================================= +# Target rules for targets named ascendc_bin_ascend310b_reduce_sum_1 + +# Build rule for target. +ascendc_bin_ascend310b_reduce_sum_1: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ascendc_bin_ascend310b_reduce_sum_1 +.PHONY : ascendc_bin_ascend310b_reduce_sum_1 + +# fast build rule for target. +ascendc_bin_ascend310b_reduce_sum_1/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/build +.PHONY : ascendc_bin_ascend310b_reduce_sum_1/fast + +#============================================================================= +# Target rules for targets named ascendc_bin_ascend310b_reduce_sum_2 + +# Build rule for target. +ascendc_bin_ascend310b_reduce_sum_2: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ascendc_bin_ascend310b_reduce_sum_2 +.PHONY : ascendc_bin_ascend310b_reduce_sum_2 + +# fast build rule for target. +ascendc_bin_ascend310b_reduce_sum_2/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/build +.PHONY : ascendc_bin_ascend310b_reduce_sum_2/fast + +#============================================================================= +# Target rules for targets named ascendc_bin_ascend310b_reduce_sum_3 + +# Build rule for target. +ascendc_bin_ascend310b_reduce_sum_3: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ascendc_bin_ascend310b_reduce_sum_3 +.PHONY : ascendc_bin_ascend310b_reduce_sum_3 + +# fast build rule for target. +ascendc_bin_ascend310b_reduce_sum_3/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/build +.PHONY : ascendc_bin_ascend310b_reduce_sum_3/fast + +#============================================================================= +# Target rules for targets named npu_supported_ops + +# Build rule for target. +npu_supported_ops: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 npu_supported_ops +.PHONY : npu_supported_ops + +# fast build rule for target. +npu_supported_ops/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/npu_supported_ops.dir/build.make op_kernel/CMakeFiles/npu_supported_ops.dir/build +.PHONY : npu_supported_ops/fast + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... package" + @echo "... package_source" + @echo "... rebuild_cache" + @echo "... ascendc_bin_ascend310b" + @echo "... ascendc_bin_ascend310b_gen_ops_config" + @echo "... ascendc_bin_ascend310b_reduce_sum_0" + @echo "... ascendc_bin_ascend310b_reduce_sum_1" + @echo "... ascendc_bin_ascend310b_reduce_sum_2" + @echo "... ascendc_bin_ascend310b_reduce_sum_3" + @echo "... ascendc_bin_ascend310b_reduce_sum_copy" + @echo "... ascendc_impl_gen" + @echo "... binary" + @echo "... gen_version_info" + @echo "... modify_vendor" + @echo "... npu_supported_ops" + @echo "... ops_info_gen_ascend310b" + @echo "... optiling_compat" + @echo "... cust_op_proto" + @echo "... cust_opapi" + @echo "... cust_optiling" + @echo "... cust_tf_parsers" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run.json b/precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run.json new file mode 100644 index 0000000..54b3f0b --- /dev/null +++ b/precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run.json @@ -0,0 +1,26 @@ +{ + "componentGroups" : {}, + "components" : {}, + "errorOnAbsoluteInstallDestination" : false, + "formatVersionMajor" : 1, + "formatVersionMinor" : 0, + "installationTypes" : {}, + "packageDescriptionFile" : "/usr/share/cmake-3.22/Templates/CPack.GenericDescription.txt", + "packageDescriptionSummary" : "CPack opp project", + "packageName" : "opp", + "packageVersion" : "0.1.1", + "projects" : + [ + { + "component" : "ALL", + "components" : [], + "directory" : "/Package_Cann/test/No_standard/build_out", + "installationTypes" : [], + "projectName" : "opp", + "subDirectory" : "/" + } + ], + "setDestdir" : false, + "stripFiles" : false, + "warnOnAbsoluteInstallDestination" : false +} \ No newline at end of file diff --git a/precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/custom_opp_ubuntu_aarch64.run b/precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/custom_opp_ubuntu_aarch64.run new file mode 100644 index 0000000..6806478 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/custom_opp_ubuntu_aarch64.run @@ -0,0 +1,1040 @@ +#!/bin/bash +# This script was generated using Makeself 2.4.5 +# The license covering this archive and its contents, if any, is wholly independent of the Makeself license (GPL) +# 2022.3.19-Modified the MS_Help function and some options +# Huawei Technologies Co., Ltd. + +ORIG_UMASK=`umask` + +CRCsum="3041702791" +MD5="00000000000000000000000000000000" +SHA="83564fdb0efb6398c2c16910aa031cf959b4e60afe89867f33033a9c0e1bdeaa" +SIGNATURE="" +TMPROOT=${TMPDIR:="$HOME"} +if ! test -d "$TMPROOT"; then + TMPROOT="$PWD" +fi +export TMPDIR="$TMPROOT" +USER_PWD="$PWD" +if ! test -d "$USER_PWD"; then + exit 1 +fi +export USER_PWD +ARCHIVE_DIR=`dirname "$0"` +export ARCHIVE_DIR + +name_of_file="$0 " +pwd_of_file="$PWD" +label="version:1.0" +script="./install.sh" +scriptargs="" +cleanup_script="" +licensetxt="" +helpheader=' --install-path Install operator package to specific dir path +' +targetdir="makeself-397763-20240915013443" +filesizes="132381" +totalsize="132381" +keep="n" +nooverwrite="n" +quiet="n" +accept="n" +nodiskspace="n" +export_conf="n" +decrypt_cmd="" +skip="672" + +print_cmd_arg="" +if type printf > /dev/null; then + print_cmd="printf" +elif test -x /usr/ucb/echo; then + print_cmd="/usr/ucb/echo" +else + print_cmd="echo" +fi + +if test -d /usr/xpg4/bin; then + PATH=/usr/xpg4/bin:$PATH + export PATH +fi + +if test -d /usr/sfw/bin; then + PATH=$PATH:/usr/sfw/bin + export PATH +fi + +unset CDPATH + +MS_Printf() +{ + $print_cmd $print_cmd_arg "$1" +} + +MS_PrintLicense() +{ + PAGER=${PAGER:=more} + if test x"$licensetxt" != x; then + PAGER_PATH=`exec <&- 2>&-; which $PAGER || command -v $PAGER || type $PAGER` + if test -x "$PAGER_PATH"; then + echo "$licensetxt" | $PAGER + else + echo "$licensetxt" + fi + if test x"$accept" != xy; then + while true + do + MS_Printf "Please type y to accept, n otherwise: " + read yn + if test x"$yn" = xn; then + keep=n + eval $finish; exit 1 + break; + elif test x"$yn" = xy; then + break; + fi + done + fi + fi +} + +MS_diskspace() +{ + ( + df -kP "$1" | tail -1 | awk '{ if ($4 ~ /%/) {print $3} else {print $4} }' + ) +} + +MS_dd() +{ + blocks=`expr $3 / 1024` + bytes=`expr $3 % 1024` + # Test for ibs, obs and conv feature + if dd if=/dev/zero of=/dev/null count=1 ibs=512 obs=512 conv=sync 2> /dev/null; then + dd if="$1" ibs=$2 skip=1 obs=1024 conv=sync 2> /dev/null | \ + { test $blocks -gt 0 && dd ibs=1024 obs=1024 count=$blocks ; \ + test $bytes -gt 0 && dd ibs=1 obs=1024 count=$bytes ; } 2> /dev/null + else + dd if="$1" bs=$2 skip=1 2> /dev/null + fi +} + +MS_dd_Progress() +{ + if test x"$noprogress" = xy; then + MS_dd "$@" + return $? + fi + file="$1" + offset=$2 + length=$3 + pos=0 + bsize=4194304 + while test $bsize -gt $length; do + bsize=`expr $bsize / 4` + done + blocks=`expr $length / $bsize` + bytes=`expr $length % $bsize` + ( + dd ibs=$offset skip=1 2>/dev/null + pos=`expr $pos \+ $bsize` + MS_Printf " 0%% " 1>&2 + if test $blocks -gt 0; then + while test $pos -le $length; do + dd bs=$bsize count=1 2>/dev/null + pcent=`expr $length / 100` + pcent=`expr $pos / $pcent` + if test $pcent -lt 100; then + MS_Printf "\b\b\b\b\b\b\b" 1>&2 + if test $pcent -lt 10; then + MS_Printf " $pcent%% " 1>&2 + else + MS_Printf " $pcent%% " 1>&2 + fi + fi + pos=`expr $pos \+ $bsize` + done + fi + if test $bytes -gt 0; then + dd bs=$bytes count=1 2>/dev/null + fi + MS_Printf "\b\b\b\b\b\b\b" 1>&2 + MS_Printf " 100%% " 1>&2 + ) < "$file" +} + +MS_Help() +{ + cat << EOH >&2 +Usage: $0 [options] +Options: + --help | -h Print this message + --info Print embedded info : title, default target directory, embedded script ... + --list Print the list of files in the archive + --check Checks integrity and version dependency of the archive + --quiet Quiet install mode, skip human-computer interactions + --nox11 Do not spawn an xterm + --noexec Do not run embedded script + --extract= Extract directly to a target directory (absolute or relative) + Usually used with --noexec to just extract files without running + --tar arg1 [arg2 ...] Access the contents of the archive through the tar command +${helpheader} +EOH +} + +MS_Verify_Sig() +{ + GPG_PATH=`exec <&- 2>&-; which gpg || command -v gpg || type gpg` + MKTEMP_PATH=`exec <&- 2>&-; which mktemp || command -v mktemp || type mktemp` + test -x "$GPG_PATH" || GPG_PATH=`exec <&- 2>&-; which gpg || command -v gpg || type gpg` + test -x "$MKTEMP_PATH" || MKTEMP_PATH=`exec <&- 2>&-; which mktemp || command -v mktemp || type mktemp` + offset=`head -n "$skip" "$1" | wc -c | tr -d " "` + temp_sig=`mktemp -t XXXXX` + echo $SIGNATURE | base64 --decode > "$temp_sig" + gpg_output=`MS_dd "$1" $offset $totalsize | LC_ALL=C "$GPG_PATH" --verify "$temp_sig" - 2>&1` + gpg_res=$? + rm -f "$temp_sig" + if test $gpg_res -eq 0 && test `echo $gpg_output | grep -c Good` -eq 1; then + if test `echo $gpg_output | grep -c $sig_key` -eq 1; then + test x"$quiet" = xn && echo "GPG signature is good" >&2 + else + echo "GPG Signature key does not match" >&2 + exit 2 + fi + else + test x"$quiet" = xn && echo "GPG signature failed to verify" >&2 + exit 2 + fi +} + +MS_Check() +{ + OLD_PATH="$PATH" + PATH=${GUESS_MD5_PATH:-"$OLD_PATH:/bin:/usr/bin:/sbin:/usr/local/ssl/bin:/usr/local/bin:/opt/openssl/bin"} + MD5_ARG="" + MD5_PATH=`exec <&- 2>&-; which md5sum || command -v md5sum || type md5sum` + test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which md5 || command -v md5 || type md5` + test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which digest || command -v digest || type digest` + PATH="$OLD_PATH" + + SHA_PATH=`exec <&- 2>&-; which shasum || command -v shasum || type shasum` + test -x "$SHA_PATH" || SHA_PATH=`exec <&- 2>&-; which sha256sum || command -v sha256sum || type sha256sum` + + if test x"$quiet" = xn; then + MS_Printf "Verifying archive integrity..." + fi + offset=`head -n "$skip" "$1" | wc -c | tr -d " "` + fsize=`cat "$1" | wc -c | tr -d " "` + if test $totalsize -ne `expr $fsize - $offset`; then + echo " Unexpected archive size." >&2 + exit 2 + fi + verb=$2 + i=1 + for s in $filesizes + do + crc=`echo $CRCsum | cut -d" " -f$i` + if test -x "$SHA_PATH"; then + if test x"`basename $SHA_PATH`" = xshasum; then + SHA_ARG="-a 256" + fi + sha=`echo $SHA | cut -d" " -f$i` + if test x"$sha" = x0000000000000000000000000000000000000000000000000000000000000000; then + test x"$verb" = xy && echo " $1 does not contain an embedded SHA256 checksum." >&2 + else + shasum=`MS_dd_Progress "$1" $offset $s | eval "$SHA_PATH $SHA_ARG" | cut -b-64`; + if test x"$shasum" != x"$sha"; then + echo "Error in SHA256 checksums: $shasum is different from $sha" >&2 + exit 2 + elif test x"$quiet" = xn; then + MS_Printf " SHA256 checksums are OK." >&2 + fi + crc="0000000000"; + fi + fi + if test -x "$MD5_PATH"; then + if test x"`basename $MD5_PATH`" = xdigest; then + MD5_ARG="-a md5" + fi + md5=`echo $MD5 | cut -d" " -f$i` + if test x"$md5" = x00000000000000000000000000000000; then + test x"$verb" = xy && echo " $1 does not contain an embedded MD5 checksum." >&2 + else + md5sum=`MS_dd_Progress "$1" $offset $s | eval "$MD5_PATH $MD5_ARG" | cut -b-32`; + if test x"$md5sum" != x"$md5"; then + echo "Error in MD5 checksums: $md5sum is different from $md5" >&2 + exit 2 + elif test x"$quiet" = xn; then + MS_Printf " MD5 checksums are OK." >&2 + fi + crc="0000000000"; verb=n + fi + fi + if test x"$crc" = x0000000000; then + test x"$verb" = xy && echo " $1 does not contain a CRC checksum." >&2 + else + sum1=`MS_dd_Progress "$1" $offset $s | CMD_ENV=xpg4 cksum | awk '{print $1}'` + if test x"$sum1" != x"$crc"; then + echo "Error in checksums: $sum1 is different from $crc" >&2 + exit 2 + elif test x"$quiet" = xn; then + MS_Printf " CRC checksums are OK." >&2 + fi + fi + i=`expr $i + 1` + offset=`expr $offset + $s` + done + if test x"$quiet" = xn; then + echo " All good." + fi +} + +MS_Decompress() +{ + if test x"$decrypt_cmd" != x""; then + { eval "$decrypt_cmd" || echo " ... Decryption failed." >&2; } | eval "gzip -cd" + else + eval "gzip -cd" + fi + + if test $? -ne 0; then + echo " ... Decompression failed." >&2 + fi +} + +UnTAR() +{ + if test x"$quiet" = xn; then + tar $1vf - 2>&1 || { echo " ... Extraction failed." >&2; kill -15 $$; } + else + tar $1f - 2>&1 || { echo Extraction failed. >&2; kill -15 $$; } + fi +} + +MS_exec_cleanup() { + if test x"$cleanup" = xy && test x"$cleanup_script" != x""; then + cleanup=n + cd "$tmpdir" + eval "\"$cleanup_script\" $scriptargs $cleanupargs" + fi +} + +MS_cleanup() +{ + echo 'Signal caught, cleaning up' >&2 + MS_exec_cleanup + cd "$TMPROOT" + rm -rf "$tmpdir" + eval $finish; exit 15 +} + +Script_Args_Check() +{ + script_supported_args=$(echo ${helpheader} | grep -o -E "\-\-[^ ]+" | awk -F"=" {'print $1'}) + arg_to_test=$(echo $1|awk -F"=" {'print $1'}) + + for arg in ${script_supported_args}; + do + if test x"$arg_to_test" = x"$arg" ;then + return + fi + done + + MS_Help + exit 1 +} + +finish=true +xterm_loop= +noprogress=n +nox11=n +copy=none +ownership=n +verbose=n +cleanup=y +cleanupargs= +sig_key= + +initargs="$@" + +while [ -n "$*" ] +do + case "$1" in + -h | --help) + MS_Help + exit 0 + ;; + -q | --quiet) + quiet=y + noprogress=y + shift + ;; + --info) + echo Identification: "$label" + echo Target directory: "$targetdir" + echo Uncompressed size: 380 KB + echo Compression: gzip + if test x"n" != x""; then + echo Encryption: n + fi + echo Date of packaging: Sun Sep 15 01:34:43 CST 2024 + echo Built with Makeself version 2.4.5 + echo Build command was: "/Package_Cann/test/No_standard/cmake/util/makeself/makeself.sh \\ + \"--header\" \\ + \"/Package_Cann/test/No_standard/cmake/util/makeself/makeself-header.sh\" \\ + \"--help-header\" \\ + \"./help.info\" \\ + \"--gzip\" \\ + \"--complevel\" \\ + \"4\" \\ + \"--nomd5\" \\ + \"--sha256\" \\ + \"./\" \\ + \"custom_opp_ubuntu_aarch64.run\" \\ + \"version:1.0\" \\ + \"./install.sh\"" + if test x"$script" != x; then + echo Script run after extraction: + echo " " $script $scriptargs + fi + if test x"" = xcopy; then + echo "Archive will copy itself to a temporary location" + fi + if test x"n" = xy; then + echo "Root permissions required for extraction" + fi + if test x"n" = xy; then + echo "directory $targetdir is permanent" + else + echo "$targetdir will be removed after extraction" + fi + exit 0 + ;; + --list) + echo Target directory: $targetdir + offset=`head -n "$skip" "$0" | wc -c | tr -d " "` + for s in $filesizes + do + MS_dd "$0" $offset $s | MS_Decompress | UnTAR t + offset=`expr $offset + $s` + done + exit 0 + ;; + --tar) + offset=`head -n "$skip" "$0" | wc -c | tr -d " "` + arg1="$2" + shift 2 || { MS_Help; exit 1; } + for s in $filesizes + do + MS_dd "$0" $offset $s | MS_Decompress | tar "$arg1" - "$@" + offset=`expr $offset + $s` + done + exit 0 + ;; + --check) + MS_Check "$0" y + scriptargs="$scriptargs $1" + shift + ;; + --noexec) + script="" + cleanup_script="" + shift + ;; + --extract=*) + keep=y + targetdir=`echo $1 | cut -d"=" -f2 ` + if ! shift; then MS_Help; exit 1; fi + ;; + --nox11) + nox11=y + shift + ;; + --xwin) + if test "n" = n; then + finish="echo Press Return to close this window...; read junk" + fi + xterm_loop=1 + shift + ;; + --phase2) + copy=phase2 + shift + ;; + --repack | --repack-path=*) + Script_Args_Check $1 + scriptargs="$scriptargs '$1'" + shift + if [[ ! "$1" =~ ^-.* ]]; then + scriptargs="$scriptargs '$1'" + shift + fi + ;; + *) + Script_Args_Check $1 + scriptargs="$scriptargs '$1'" + shift + ;; + esac +done + +quiet_para="" +if test x"$quiet" = xy; then + quiet_para="--quiet " +fi +scriptargs="--$name_of_file""--\"$pwd_of_file\""" $quiet_para""$scriptargs" + +if test x"$quiet" = xy -a x"$verbose" = xy; then + echo Cannot be verbose and quiet at the same time. >&2 + exit 1 +fi + +if test x"n" = xy -a `id -u` -ne 0; then + echo "Administrative privileges required for this archive (use su or sudo)" >&2 + exit 1 +fi + +if test x"$copy" \!= xphase2; then + MS_PrintLicense +fi + +case "$copy" in +copy) + tmpdir="$TMPROOT"/makeself.$RANDOM.`date +"%y%m%d%H%M%S"`.$$ + mkdir "$tmpdir" || { + echo "Could not create temporary directory $tmpdir" >&2 + exit 1 + } + SCRIPT_COPY="$tmpdir/makeself" + echo "Copying to a temporary location..." >&2 + cp "$0" "$SCRIPT_COPY" + chmod +x "$SCRIPT_COPY" + cd "$TMPROOT" + exec "$SCRIPT_COPY" --phase2 -- $initargs + ;; +phase2) + finish="$finish ; rm -rf `dirname $0`" + ;; +esac + +if test x"$nox11" = xn; then + if tty -s; then # Do we have a terminal? + : + else + if test x"$DISPLAY" != x -a x"$xterm_loop" = x; then # No, but do we have X? + if xset q > /dev/null 2>&1; then # Check for valid DISPLAY variable + GUESS_XTERMS="xterm gnome-terminal rxvt dtterm eterm Eterm xfce4-terminal lxterminal kvt konsole aterm terminology" + for a in $GUESS_XTERMS; do + if type $a >/dev/null 2>&1; then + XTERM=$a + break + fi + done + chmod a+x $0 || echo Please add execution rights on $0 + if test `echo "$0" | cut -c1` = "/"; then # Spawn a terminal! + exec $XTERM -e "$0 --xwin $initargs" + else + exec $XTERM -e "./$0 --xwin $initargs" + fi + fi + fi + fi +fi + +if test x"$targetdir" = x.; then + tmpdir="." +else + if test x"$keep" = xy; then + if test x"$nooverwrite" = xy && test -d "$targetdir"; then + echo "Target directory $targetdir already exists, aborting." >&2 + exit 1 + fi + if test x"$quiet" = xn; then + echo "Creating directory $targetdir" >&2 + fi + tmpdir="$targetdir" + dashp="-p" + else + tmpdir="$TMPROOT/selfgz$$$RANDOM" + dashp="" + fi + mkdir $dashp "$tmpdir" || { + echo 'Cannot create target directory' $tmpdir >&2 + echo 'You should try option --extract=' >&2 + eval $finish + exit 1 + } +fi + +location="`pwd`" +if test x"$SETUP_NOCHECK" != x1; then + MS_Check "$0" +fi +offset=`head -n "$skip" "$0" | wc -c | tr -d " "` + +if test x"$verbose" = xy; then + MS_Printf "About to extract 380 KB in $tmpdir ... Proceed ? [Y/n] " + read yn + if test x"$yn" = xn; then + eval $finish; exit 1 + fi +fi + +if test x"$quiet" = xn; then + # Decrypting with openssl will ask for password, + # the prompt needs to start on new line + if test x"n" = x"openssl"; then + echo "Decrypting and uncompressing $label..." + else + MS_Printf "Uncompressing $label" + fi +fi +res=3 +if test x"$keep" = xn; then + trap MS_cleanup 1 2 3 15 +fi + +if test x"$nodiskspace" = xn; then + leftspace=`MS_diskspace "$tmpdir"` + if test -n "$leftspace"; then + if test "$leftspace" -lt 380; then + echo + echo "Not enough space left in "`dirname $tmpdir`" ($leftspace KB) to decompress $0 (380 KB)" >&2 + if test x"$keep" = xn; then + echo "Consider setting TMPDIR to a directory with more free space." + fi + eval $finish; exit 1 + fi + fi +fi + +for s in $filesizes +do + if MS_dd_Progress "$0" $offset $s | MS_Decompress | ( cd "$tmpdir"; umask $ORIG_UMASK ; UnTAR xp ) 1>/dev/null; then + if test x"$ownership" = xy; then + (cd "$tmpdir"; chown -R `id -u` .; chgrp -R `id -g` .) + fi + else + echo >&2 + echo "Unable to decompress $0" >&2 + eval $finish; exit 1 + fi + offset=`expr $offset + $s` +done +if test x"$quiet" = xn; then + echo +fi + +cd "$tmpdir" +res=0 +if test x"$script" != x; then + if test x"$export_conf" = x"y"; then + MS_BUNDLE="$0" + MS_LABEL="$label" + MS_SCRIPT="$script" + MS_SCRIPTARGS="$scriptargs" + MS_ARCHDIRNAME="$archdirname" + MS_KEEP="$KEEP" + MS_NOOVERWRITE="$NOOVERWRITE" + MS_COMPRESS="$COMPRESS" + MS_CLEANUP="$cleanup" + export MS_BUNDLE MS_LABEL MS_SCRIPT MS_SCRIPTARGS + export MS_ARCHDIRNAME MS_KEEP MS_NOOVERWRITE MS_COMPRESS + fi + + if test x"$verbose" = x"y"; then + yn="x" + while test x"$yn" != x -a x"$yn" != xy -a x"$yn" != xY -a x"$yn" != xn -a x"$yn" != xN + do + MS_Printf "OK to execute: $script $scriptargs $* ? [Y/n] " + read yn + if test x"$yn" = x -o x"$yn" = xy -o x"$yn" = xY; then + eval "\"$script\" $scriptargs \"\$@\""; res=$?; + elif test x"$yn" = xn -o x"$yn" = xN; then + echo "Unable to decompress $script ,because of aborting! ";res=$? + else + echo "Input value is unacceptable,please try again." + fi + done + else + eval "\"$script\" $scriptargs \"\$@\""; res=$? + fi + if test "$res" -ne 0; then + test x"$verbose" = xy && echo "The program '$script' returned an error code ($res)" >&2 + fi +fi + +MS_exec_cleanup + +if test x"$keep" = xn; then + cd "$TMPROOT" + rm -rf "$tmpdir" +fi +eval $finish; exit $res +3f< u{+!c KB; 8tN*sܝb%Bݎ;!d&.(\Ag vat!F吘P@T +D SQhcٞϝ^~ޛ9-ƠI>)H,mI%@LR$ղTsKKK$STHɠO +XeNMڃ$b6fcyH`-m̼f)iIyEݮ icJv^SA]:Li_ M)|`7PLdfMK6֪]̜~ ilDYSUv[ℙϳv2&#,X =_]`fOىFHMk[Hd8gX-6#T֤Ɣn5Q5g[A(1sb] }=kZjjľnԂ#֨lUc%V,N쮥mY6`ivMaE.,98Z6.؂\lAZZfEQ~TtU0=m4r֭R1)f@7Qi +hHEj@*%K[EZػU*,*-nxA +9pJs莔r(KK5|"ch +RpHk;F[ WQƕ`MJICHK +,ti0PXQgY-+L{_g׆Ur禾==[ +CȨb,ѪTf궪"fk%cDG$IgX=ƚӉp&OpFRDwN:=~}םo=cw}OGo;~csGw8 CTFhy-ʸEjVJ[F<l!q88D*mtRi ;˂ +'MQ9L|+m+C$8s(nTUm EmYAgV9l`P1Ay>MRyg1LI̾i-9l=CG-{~L{gh=PӺelm\Xd)[P5.%-ae:DVQI+d,I06z_wUV7x}&R0glfΣ&M#P)gO,G$)a%w;PԢ"Um%!$ì(ż' MP_aU8l?rJ^ S{B|tXʚ3to:a=UW+:C.5ݐݫ'越xGSXީX2Z]M67-L+R7U=2U׼-(}%ٕM-lPAv} 6G; +᭘{`NTFA팆[Ҁ6}p + |Ly6x'b4U5:D e{eTԩsomE'.^|}sϙB9 +b1!_0|.a(')U•LOMA*_ h TA*F*,L?r6VM;$qVi !Rg[ +"x"C9Ӑ:LfiChVάihxF*d!>ٞ(zdDC$2w&ΑSPsd,sXjƐݻDd 됝jv!vYl +f)|% 1u|JqT+Iy5y+ >.k ^ᡱctc~4 i ۗkoj_JF!\;X0T$]墛.A$ +W5R)L/BG*Յ3\|pېJČ(.Lv.-弩$"d5V2M<518(YRj/O;;xtnޱVNśIPt -7S {?!CY=5D`EOU0dq9a혼0EߙQfwBy훁YY h|p6-_ +̡ ~&sC:o E:YUs#^|8./'%Ɓzb~a ӜC@,|o?[g9>/x1#RpN+q/G^ +pP|J_,|])9p%!cɇOn/tssícRH?nۣmn}BGP?B=4_APuT)/ ϱ~ؿP?twm'{kMwd_;jh-o]8Ccu8O%cxnP%mţݤ&{~^ۼQwx꿺ctnѺKƏ]<ӉOq@oHƐ hC~G?G Sy.@{`Tn!Ȟ^Ľ;U׺:v<ï&fxt_Pq dwh<}}Prhw[16 Ck?艹ۊw>3wdL7]X&&.qe.=PG^\?c0\IC8 t?Q'0o rnxvx8=^ǞsYx/v][,u;]I+*|$rY8qo0q?"sގr BE';pLcz<"6<&fBI8Np|܇,?_}rvoFHOu[ ipmaR,NZ` RuͭH m(3.o/$cȯۊ 5 A_A*%. U[|#;Kr2!ن'WKTcJIkR"=BխLh6,0!NOL^"@ <%2gWP}r ?eOB7/.}I֎8|:N"|r{ "H7^vƨ4|M=C@y <_@[wl\/,@(q=\~sC2]"T@zps܇C]Oh" I>S|r\SYXdzLgXQ{2~6s)XEVNv {~)2,Ogs>m;gk~-y/Zk@grԁs?ͬ~Q#%3ZB4M p:^>^~x~'8~oF(s?KmBm4n? ~~?8 ?_BP r9v>`>D=#?.xgt" ̥{h=ho?/"<%7wyt!( {ox_тw~I#y%bxA/Ѣ8c8?ϕhyEaK/- +'}qÙi ]_hi&CV3L%?ߧwQ$rQJ֖pMa;ss%tCZBQ$bc23Pc75- MKKSӀ>%Uչ咓mÊ- iކjiI)PY8hW:$K)Y2VVN #};}Fd  +V`D L̘l"ʤPHexJ=hZm.|Y|%恉m{a4tkh +-F 8zeoNA)TXV77 13[ .%k,gaH]vp0OAbmJ 7%`nve0]/ab{sNn<'fcQ(dwMMMV~閝2A46<#g-uS|¨cqTSB b2$)7) +vU*C>*unE O8T?iMLcopJծ%˜ԙU:v.#R -Q2W-G9!0<Ԃpi L "oc;U"֤D-gOkWjDzJ'+1a.q_: vqtNdgGTn VS;I7֏B +rD/5Xp孂>Ğd(7 @f=H.yvs![)d8`!FHIvr2໪NVskp!( Р %OA !->fpFذzW C +>(1龍C*]'qC8A#<:NIĞ·ptp<<`Aq#J׹K}X Bл}F +Y*tڟS\4ߪ)IWR*TÂB g]2Mex6:NƳyKDF{^USpV.ѩ$~4V6ItIDd|*:_'/d|\2N>$)d|5t2N^:y^u2.N{2N1:/'uS^r%G%{"69>,aķ0m ķI&C|䗰~obN \cr*%95u7յ33SQra,◢AzXՕ7ig%h,>vv]320>Q_~EԉZ~~8ȏxA;֌9pg=X~E c~\CwA"`wX{Y?axkwBwsW,77֓$ 7#UE46\>mml6qeg4:pβC6WxnW6kuf6s ǁFyWttxtz5myfJm󉆺ǯҎv䮫#@>>4O7Tf3c+#(͆gW*'WW9F]e7ȹ~I5BZc֎xa 9,RIeL}vB}u"Dgz2AB_@i`;E5|ihE"\QJ歚JaR_G| 㿊wT=A^̴V62iZǂG']@籿~nq*[_WY֞U_@uU=>tnqϊ47BP?߀|2 aʋ? ~هG.`iUQ>~W>n-k#ZPqU][y'ך?_ſq}K> g aXg +w(}yPX@{t8WF]ozSO_Kz/_j_ye'~CO@{ƶzN +DZX]Z]z'/q|[*u`k l-wy~f;E_[B?۠H(sbCeU,>z{7`oZ Do0W5VSqy1|l7QoaaqqH{fQ݂l8;mH5=$I5zWz55 &vJ1)fQMh[”y}"^+̧EUV%'{H|)kHmħo y嫱-ǎq~spq޹sx Dž\a 5p \#sbϝ!ςw[`>ּWA^f%Lw/b{ӝg./gUn'9].G/{lYO4$ٿL1:X=Lޢr+(:w]h+/'/{jY}R +>:]hd79^v2 +']FdpQ8ٽ@~gOmmmmȖ[C]K3ȖEv0<%ɖE0<ݐ jЇlI$dCR\?7&n6^~P(HzR⹮ ax_ΰJmpJGW)=١}9١}dV%o6~-&4 G(>t=-.ʠa5oWWɩIůѸE-N}_qAO?3A:ŧq4N_qrh^ ߭$;Gɩ5ZmЍq{Tkk"]}8{@v>9gSWkψ ]}MWk$W˛ҧ_uQl5mS5wI:ORk~M-0Uk]8U? F_P׋_.-t}!DG[K8~Qf{]tnw*@<~mCkkmontb8¨ 9n#S#tܤiBgY4epU@!|̗!0LQ?*ap |90tF£FWC +$hgdA&r*W Z^"U I{[&ɥk Mh^ R%np;N}JIFz +Q -ď O㦓Kٝ0]5cT]lz1o8K{$7Gd"V,s6<Js<=XL `_ȹmۍ<A yjlD3psrfDC0[WyԶĨnfZX 2@֦[(B27|ӧ?ӧ** }ͧͿx߾[/tɣo|w^G%a[-4"9oN1j*Ā66}R9'i'&Y+`x=-b<8Z(oЋ-  >rocyrօ8_'3&MǍaU~#vHv>yѠyy͋)%;Zw$E0I5ȎOtkkkTưdY&E}I" +ܪaX5]ahꬽsi)sm'^d -*R7dڑbVrQ5-uYaۄ|)&Ȁi +ҫN`d7n +:ꩃnw9x$~L)>hیTw8{ĉ+Mp]C) +`3UIL& X޴F[/*} ⴒͷllQ-Z.Ԣ]ruz37-tLE%{R؅,]\Y +v[i)Zf'>i4|nnr_*.NL3&d@Kb""Pd._'BVsmlùC{!$r!U֋e.|>'*F?ȳ@OYU~&^12`@&F# C&Aʦ'wG7#laU<0\r 1ǫXUeE U簣?5Ev5Vrh@EszvIV0]o&@_'_*;CˈI KMO,Y].aI򒇱([]ik? 7nr;UƊ\O#H_ef2|Npli%op(uXׁzoV47=u.FB9hJ#28)XMh Qob1sYnA&0EXŢ7u_a>w4:ú&B-:Fa˷KM9ƜR-: `֔(2䰦%=vĈc`Ym8:CX˷%<{7Ť;w0ngЎ644Sf +YZ S*#*AylAgYT5k7 W5^=W~G{@J` %(= KÅ: ez) ru_[(Eg XV¤Ͻ KVTDN ++DdXjJ`f}=ܤT>1G~S5E=:oY.Mв\ {%lqWn; *(tҗe(Y|q/ *op`FZsY^q;)_,<×&S^ZNX:US 8_ΆUyBlMŶRŁ1Ք{arZ/J?2 {tVx /nbs;ayQGBwsU!2.fP2VVD)ݠ5wKkQҡ>,{wҙ;;pnφWv̄4RMC 5%HI;NevZ2R Eu?Xՠ>Lu1 U?X7eiag:ج帏6;Fx|ca#[͡yG\aD>#Ю(7$㥐-B1 7s!5BüÍ\耗785/#-H x +@9xZXƣ_tNɁMt- Z$q#TȭgcCBhKhxw{~tg{kZrTò1=)ι8Gs1ܲO9hR3yMX] ~59m($aGm1><{8r _0#Gs<&or"p\0~3'8h>?7Q[ o|a{'8ٷ9X+G³ ϣ4#,vmƿ圾c؈ϣhrz?[) >ڧ6 m&QuHC&vycfkGN_4rڧx )kX<*_cNC_]o <Jf4=ٶ栭:;v l3HN_~>Ea!˧d[Gs|~ & s0y=G^0w;ʥ|"DvyHFq "dP [ BV-}C,&VnaMLJu)"rrei%+Dm(~c`3^*hPrd,i-w>-N4(i4װy?]ӄJ $3ooZ|0:^E݇pcxv;Vffv/{wǀwЮ;{K^l5Fzz=JA[b.4Otə˾J܎SD0=eKl2oJ ;}?Bc=qJ/5rNMi+Ii?W7X3FZTMT-L*~NY|51%?Fk ΨۜӌNي$lY1+Z(kJ*eft*adb$ Tx5Iׇb)Qd|zN?}_BD_?qtڶ$$;#JZ0+QZTV N&U2dB2ńI*YiYv2܌e T1^q5! F3=<FKV +P8  +<9f/)S3E7777;cl)G0YRoזԄlIY,pMV-&M[!+_IXF^wLNղȤ91S #0,#QI+!Zh Yʨ('Y˶9ievs/0p.%EO\(Ee#afD-dRPYYLEf֐L& 5HURdB$%s3Jw棞Yh-t,m-`g&r*@o^|16є#iÌ-7g314l:I&D6IsM?r3?6k ΨӌNM;Z?J$;Ḯ%eNKV& < +b)*{Cl?7?/0+RHW'.tx?A{ QT5c( KK##ۆe(x,ZiU5䬡&djȈiR=9Q,k4CLf:{x6`3q xr_S_*ooo4<g _4H0:K iv6`mVd]{X~H4Ybp00;g7<`0Ăa$\?+GK1 dX`1T>뚸H{ l֗iτzA|?;[8uL8z6M-׺L8ws^~9uל.*0i&oWX8>ŝI WOJ U.]㌁}v`.4(Ҳ&є tt[PО?]BwiO51i61]4Gӎb~bexE?<vG]>}(`1ؿM<]ſ?4E ǝCΩqԒï/uѪKve׌]/k躛[tU_ڞn=G%B?>=l<~I#b/Ԋs'L!a$LDf&30g&!QVv hE*˺ڲ躖}llJmuGj眛{䁙{sq8w;?+Q{[7ٽv[,6<3/MSۯzzu7oWW/ۡگRK+=6瓽g}_fgv}wmhIUҋOQuo>+|ӌͫ9|Ot/zl߁rTOT;ؑ`m')=%'R쨸Ao /uc/֤39:7fM6/|[0[1%1Cs-"F⭷-¾{7& ]ZJHE!%#P&zvv>EЖaąOWhMt2U>R(iD~ ]Zd,7S$fϽ-$g/Mʴ`(Nq3V#QIΎŚŲB S+\_/7잁+dsTO>uH[CVG:u+JKv o k ̔]>;IN9v~C|D.+n~;ZRGR&54X-Vg +G4JH u,۷`w:M}\7 bE­07Zٰ,l]v̊ڹUne猝ȶ,XPGѼ˷DT|mZ@8XK졣jY}u}I[pZZ D Mr&6ќujYz;. j yZD.eМ(W,zڇS\e_SLBX'JW˻h:(E] +7XӬ5$9rAF[(3<Ȇu;:vrPLka)&91R5>sR K>4TA9Lw_@՛`jˈsRN@%F‘ZOMNb:gW+~S:LϜԁ sDU{_ 't;f Er#M)r4Y ҤA-I`9Ж&mKx. 0J8tc5+IvuTGu;LG$Fjb#־ىA +Ԯ4վ"s.,nnMgc 9CMAvT{'$EWܦҐ$t {Po\4ޤ~;&lO8?< Nq;k%< sf~Dkw烥E;-\ҜG6 +|B&T0sg\O"bZp֛0OxG/y;>1d&jzL-2VF/)=?jWH9釚z8,NeX>SZuFw8דYiB7й8U_R +? R!W砓%5X,$ɏ8spdjakv&/9KN? E ,Sv5k4(bq[|EP/;n2)r9 멮JrE63oǩbAɅ6.yݽ +2wJq}W<0؄tE +N .hv+r:t)\{ts.sv" XYXU )[!ý{F\Z\;D-қI%,=In跓x̽+H瓘Yϲ'rLLI^tZm_6oaKSi257[53&}_,3Pl(huvSeά-C vrc,ߘ?)m)1iyJ9V[yOﱊ+c!;81ƑwoR"r0O|qi:{W3_in1&+)j{#{BRIJB㌱j{ 7smw)m\>>߬t5ޫ\=dzqoV 5x-sm8}7vewKoTϋm-[mE|DE<sg7x#E|Hg__V.ߢxE_?*SN|~ߪZZ7?,yoW|/QzUQx\х|V9Pī_Q?+>KA W1> +ËﶗbYUC81tC;ooTC~i; +vC |)ǁk9 5nX Fok(ܰB[87l3ݰr;^6 #8SuCN.>2A2/ɰXFy]*z*Q`ߤpC5g)z~EpF?B;/]K8p|=]a8{vは>0pOk|=7WR65nd[olο . |:gLQn~6*^ S^ \3<|!v yMx;p!7,>#a)8pxxC_ wܰx=g<|3[oa+oUہn{ +0 _ +ܘFg| +[Wo>Wn0oX2K/C87/>*l_ z|#Ϝa N[g7lvZ;_ |W]#"$_ [r[_ + |p^Cǀo | Kǁǁ'g/>< |8*naw_ <|=pui@x9[k8l|;~; j{.^>x~a 7P6| >MGwzeWm8uui;8Ol }=W.o#=@I +Ay~/llll>>g>LOAA~A~//>>w>>>߱}П}es~IO=tI@Kz%Ho= z:7=}6}=}lEl%ltzz.}Aw}Ћ>>诱}]ll2:Ag>~z&z%ۯmlllzyaQq {lll l/}/}?d_ew}?a_gY%6ۗ}1r̻llGl>>yd?񤧃@ $]% 7JH=7xl<z&d>>K>&}З}Эlt탾/t7N}Y탾탾^>;>;>5l=l:/lb1j㌡5K 197Ç&e(?߾1iMww4uz՟mU>+F=*_f G/~>f4k\|QU{fUr%f&AQЊrDM-j+heBlmK[+R@ҟK2$8Rne +X2pQ6}dַ[Z9~}}1 5Q7R3SNOkrK|)䯁N!V6ɔJG|*څ2~AEҋaHon+C! 9ө7ucha/]]M_y6/%K 3Գ7ɑ?A[JD2 kj-7vtʈ\})/T {2d3B!7K>f k|dA>9)C>LyT'}U{+{͓.JJWFWCo}+=>n1w+ fܝUa>tCCJW&G]i]vF,M~y//8r67#_]6>W6)oOCnj.=-o3o/Q _%_2o'_"__'q4_/O%_]67/se_6uڭ_ el\_d3o T)K ?Ps4f71P~S/n@y_6*7_bA// S[U{,(ew~_ϑ|9D/{n9_6_/z* Pce)w/q<~g "w/7' +Kiw/R(_!_#o;/ϓ).+ג/O)eN7~|G\-~||bSe?g|]nD(eG%nel"%~|nx&elg|REelߺjel'|29QoptE(e?GN=C~|?\;"C%c;Yʕy| N{*<@eloelin}#)3nD7$%\<3e?GN%|<5eM"_wˊ*y)'r/TޖzJT[Yo{v|_~||rKKf-wZ +~q4"7_" /'_]6O>W-/q׸3rƴe,Z# ]t6g#]t)אA).& ݏtˑCғHHS8Vi-H#݀RHG#݌tҗ"ݎkH'#݉zV%hW|Γ8߇}8^kr]Ъk*ZG1^79h` aUb~)d%0vfFμPĎaY%׺t,S#_TU٣|k}MjdYamJ4{Z#{jes,)a4'O?L&0//AX+ ׍ace3"d$a%;;g 0 1+x;zكحW/v#>Lb,JVYX=}|v}1sclY'"z:@*`V I9[Y>c{ kesMe|h=a9abl ܂ku;t=),¶"a}h0>M?T'KUE9H|dX]v5 ˳|YƼنz k@Ǝ\ k5:x;uӞɽӅCۡ7|p$Nso/ף b 4 +d"tCVׂn_Fx^&oYy>qy~=ΧU-:jX1\{*(k,>m<O3pwk\MErv⸥PᲓ2 PnL ;mpeNB xP幯zp\sLrmpwM_ʍl_^C\[QoE<`)䎠|9fEjup+zp7z kbXl+O^cBtL__T/Au:°GCˤ_WBDd01(VjqZڍUb 彴lPIg)Wj]$o'Xٸ2ddZ}mpmomcFb +Mw ݃nѦ2D=m~2dx7sSmf2h'6?vc +yuef1\a^nu Yc2#v;خ?<~c8+d q/h5jXrwL_x_Ȫ |#m/hP>5Km=Kr1 >~>!+􇍏,~uR,ѿ5>>u[YgBw|IEog_% ~>+Q#}R㎐FPID/?Xw۾hz~fHI;:kw8rmD=T%Zrq/N[ν>ɸw'ޭ{73&ޭκw{7h{[,U2],3>Rn;f_kUoOVXh ޑf/ϻxټ_D{3ռ-Xf^IXJMgn^8Z`sq8us,}u鳋L9׹ȼ2efJK]sWa3ϧg)ؑiر5kb"=H*п~9z˙Ts~/SNq_@c-!5ٺzЧbrplr&z-'#=d>&~>߃0k_d[t`<zB;mJFʬedX/G?ߥS-1Z+|y#쾶=W=l5\ה+)ÓyOXZrU̽ulht8Q^ $j%[<y*]!$EyMNvzG7)er#:*\'}mLׇr۝<6%rI0<>\7#3.>7 /ۄr^>:;>>y|rhɫ>:gGC)N}>y)95>vIח#5;ka}v9lK|-rˑlg;˵ˑ>\(ϩ/W"u t}(ݩ}y5N$˳˕<\?<.r>y96\Ϯ/OD^S}ۘ]N@^)WrF7y|N}(7ũyM/߮tʅq>\ CEv9#_}NvW _}9z>'o^_il_b^%c7lr݈ck9;Z13'vGX=HXczkHb֐Z+/Oog]|/Z (,.~Q]|я3vLw.ʱ+\}6tdn\'64B|w" .pM|,|cDC xn91oolda1vcnɑs 1֘(}NY[60y;ci}.3(cq-铁p5?Q-#=j5 D)WnΠ}F +aW֠Ly#~|['d%eNZ,bE]_c—T_v̓Qz{x9 Γa +[Š-vaEpa!]9~{ƅ  +46tR+>6![q꭮yj\➓'$&`:Z| ~faӣ3Ԛ +^7<ιCa=uZUÎ/*džAr^Z{$+79&崿$={Y?Ϣ4 C ?Hp[bZ~,oKp^Zin̳\vki9Uk2o٠tG e(/%5ǜՙîdX= s[<ڰl7{qIu7gְq:ް)' +6QVORxوW63Zϛp|}|#27ฟ}|=2_[u8kq,_=9_μ{^ĉwa!/Vy/0uo< U|^\/G1uϫ@a1 TƛSsݾ\yy.ߠ`96_>, r~[.qw8zt?cNsxzz rO<ç[n/;OV{_^&1.O>䖍rMyr[r\K-`ܷ7:@suN{3O~-)59uj]>sd|~jZlb|;]-1;na-VFg>Kln>İ|9n>ql'/?Aw{ϑ$_#@9o/q㚲tCTߒͷl|Pަ7_Pqlnxln>Nϑ|Q7_Hu|Er_6|b9R/o/\,~|?tEe_6|b9@/V7DW|i/%򣃴_6ߵn>Q*)J7_T$_ڿh|R||er3:sEɗ+:+(˽]E>ۢ^`-srs+;:rG|B3w.R3ʞ|oGʞ| +٬/R!w+teOW[W97_RNVks+eP/n>r_6ߣnȹel|se_6}nyr_6| e?OT\e?GNTɓƫ MT +^/Y7W/bqr;Ծ^nH@7|~7_" 7O֨c|r Uik{jVu[bﯸ&6 +.C:ba]Կ߰>iAk-ӂֳ~HYp͍ quyde_zP +LZ)A b]S7/ Z; k=A3s% AkĢubu7ˉjl +zŵ?͋#O]0|5|= Z/-Ϗ/tZi^/\HXܿa.[lr_Z05jL(3!!, i߬A7-y6&WXn0yUMNa`A+HaFV[Z#'||ȊrK!WcoAy5K \ȋob yd hz滐xNF^GVk(&d O9x?+S{ Ƨ ^ú[sj]wuOg;G(S2*FD&+ +\Řoc;GlG\;敁,S11&S}}Ⱦjor'5J.=lOJ]*.v?WWq?9lOH|8d-lOn">m&|kl|>Ob ̇63CRm6e'Bos}+Gm\نkBVzP%q9bxF|qex^8o>ܦ,Qf_j;)G>ḆݶL|l`9gMH#,,GF=˺U!|CBFeao/}}n߅r2CEZ` +ȥ}GHU/7ϸH^A'g_R +h[ڧl$ú 2^؅fz։5bRo 6C)ۼ \ܧ}7F0vP6nj3^soo{5FHe(iRPD?YGx>.|aۂ8omFevk7ݔs6wl!-ޠsmNG=p>Ű^Aڦv-p>Ͱ^Q醵CBw5fWjͰ:yG4 v[o,5c=6?E\M|ma2srC%}rb-6xB oxEeNܷeR~ H|?I=Er!W~{xpOzJ[O2$#ɋ5{GVމڇه:Dn+>6ilE(~x~ +6@>A8/lP?{PD㳀Ɨk8+/mKի0E^O4`j +hBȟk?R>۱Cr՟+J;"8Ns(Mi{(| !@>xE>#c 8mX |P>xߴ}'4 +p_Z +t_~ƃģ F:0>Gj`DUl|#$?|{#JWZ?q +iGR;#J 셴~9}V+< MI}>ƻG5CwPV᳀֮;uXT˾TB|-hzV*eLT*Ɨ).?l5Esm*sgxxD!w97| +6H +x_sT +|wj<_vy +/>џxDC_O5qqM j<4y +GyU +?17k06>W!cO%wW8$(xcO%7rZ;u'+}5 + |[a +1W_Xƃ _Z |ï5~%/#xvHܯ%a]ģo=BяO܎џ8_yt\|?g!sT<:v]_;[/v^~t'M;7t{qW:ν77;"Ds'9?џ_ǿO܎Oqq%'4^:G/^qqU>?W2G >_8G5>*GB{u'xx?񈎧>џ_ӯKyџOW7y\Q/#n+'m|#Moxq_9䉯xqY 6>xT?Ɨ)yƻ+gxoT_e]wWκ6_w_nݕ|?ƿ G%xwsWGaƵ+g}O'4%-#_W<9{.Ʃ+g] GqÌ_WκLG%ˁџxYVԫ k|Oh9"}u:x0]78qj>Izqtqt ~Q^q^cusmxD㻁ڸCy GBǣOrN8P}&uQPmm +_/wN7A e~[8WX\W_km1^s?I m^~H#׬J_h!5.wx9m~&ƹfP|?p# |zz_U;^u>8î= kԗNE>/ħO?~>|ϧO?~>|ޑyFdp=`GVi0:9&jO|?p>!:_/|Z]:j'ד*]~6zVG,L(^oq]PyG .߅8?H>stN֬1mGɃeWh _u$*Wdv_s ~UGC ] +0>'! +j. =-oRxƏϐ;Կ;5)mWӳl7>A6eB}arB5s'~\slEr>E{ETqrg3N$RԘȯyV k1X.o!us:h}sY5˜o%kb=uw'YXjNn,5ZXywAI;uYgL`H{Pny38;XVXp CXQQjv/ȋ%!? +Yi=cºs,{;dž9$d>r|O69e9#m>eoBȮ9+K{ƞ,~K?loKgMd{dWjqkuvaS/N]v{h܌>^%2];cЮ%r^f~y_")YPyr}w_K߿OilE v#qX|}X%X~&_C_+v.`2>l>2sv!e/ Fj|) y';cXsLsXbǔv||?{r|gϙgӗ%>9؜^?'c: +}oŢh~]m~wa,<_.}Pytq}3rWͱ>ڎE^x?rz1):< DGU#b_SǗ[hEb.ee3G7,gAc5ǒȐGV^y(}mbʦ;Di[XQ Üyn1N ݘ8n^$=qA uO[?9qTU7wAz;踒4^Mc폗-K1o8 +_D}9n[dJ==mM +1ON =%~`ϰֻh q΃ګG.'G4 +aM=J_ QzZj>sO+r?VAɩq$t[6r JMZcxuy^楈W/Kx@0ܥ8Gɹyxm.ZrK>GjaOC +U911='S|אEK<^J%&SO)_V/}al4g9?7܋wGU/bTU VX9*3At>x:,d(9#_V>*Z-,eoT}M%S; [*dH7W﬐~% +y! ׼`,;>ac0-.o~?✍(=ƽW ޗS5@p?#Lav~(yG^% o?RoӱK@/_胨W|K`ݣs1 +K ..; 1S(i#GRk'sqƾ7u,| x#7,ognOԟBti>KHxĘ ^y?K ~OKŶ2 Xp0 crՔn#o;~PoBwo>Rգj:qYSLʧ6u=#~uVb#F=6]xl+3:2ߪ'1'ZG%kE3LGr<`|5+W C)9V`+Iqݏ޻*ɘqA `ةM'Y|8b?47NjՑ1cȳ?AEZ>^+/!{v]O(B](-;/nwC7_+刃?-uu9i;?[ +0WĘ.7 κAתQ+SOx: ˇԕ2{:+.UhQ⤧ְu'*8]UOvAp|wod\5SeW(IZbcЖif]-lvP؏}f;/ ?dX)ShwUA'hȽ~,^QfX2^' HꮞP }ڪ|7&1]X{a1ѤGΘz}0kLS`.}YU^KWUTj98w:.#nWT1 qkO}#F8jP$zBtǟ\C߂WWzLbm\+PcG?>Gc2De2P&.:f eo;ee_.*Sl[2B٠4]H٠Ԭe˜<ý{ ~}t7)K2qŢA~߯Zw!m|M|w6U({j-CA^}(ddl/U1z~7OCx!d#h8m{)/Xz̘ wf1F"m#ָf1cH0TmtlQ.yaSΝy9"wfs%Q57G0N\wFC^mZ&>n'Gc]!AߞL>crm}:b>7M6scAp +56yl[z7F0Pkq<2ZX90X]S-3}EC/Ϝ~\**`jڷpEc0|Gz&[kj^™ ZxG +9^wj1kCMFiQ5ͦ-ܲwA̛z>6}"Q̈ߣ("mYȿyOή\H݇g  FfV5^_.k $l:ZOW!.@,O=1y1w@>֋?̝JsIjmV \#sfb#/s !;Kl?SF~,E륜o ؃;+ac[W>,ϸ15g.6Wq %O +}c7z poV(1Z &q:]3C($XѶi$=z/L~mmTb{!2I>MK[3 HQPA@- XZ`ZkgL&!<{{z?zZ KGf2:X/: +c QNZ56orVê=pS(utw +dB< ~q ʝ{#qZ΋EVߝ4`.-xg;c7|{8r@&9I>N5ײ? 8,$-xϭ7٧\a@Þ(,`bI~1~Ol~tCmftIrGΗqO$#,KnxYs @ +"Ray“wFN0=:_b=>L;AY9ЭDlEC{|y Os#B}n+쎷u --_Zt>m!uu7e2[M\InmCmvw9fn:HMr]bn'\(s{&6m &GG9׫yropڥDGj +{\@:s|PG~<;e'cSx(tg=g܏UJ@LJW{xh;i+^dIJ:!ga7SY/>fm^ sxԖ b'*7hU *_ 5xz2kieBLuJ@59J(4WE=r_w~w~+J5 6Hx" ԻD{@x1I42^\. PO˦PpjUn:xkd^|l/4(/qG&mf2М{'=g=ϼY7Lhm=cJ_Re|X۾s^Q괓.y +e|Do.S6x(Q{tAeG^_̧s&=ntܯw+: 6\C<,{g~ݧ8n_: yu-9'D[Ę:}/S· @V^aYWZp'ꊜ.c}ve(ctwZmMzvms}Y*B%B.lm/ v`9m7:4ߜtDuG(2jL6MMݪL}9F³+l[waui{K ˓:dömX:x,Cicu_rت޸ w ~G|m;|_ڲe_3ϦvoxBc›iІ1O45:iٝvlaۺZ1ml-leڶ "9/exu{ap.lA]e`7yaANز&)Nf?5[v R׾ږ͠mYaǴe;ߨ +7^QWp;֌X%;=-<]iҵ]M~}q#ۭ}'7~~<2KAfO?N86ynKe'I {j +(|1/|Ǿdfއdm;ϝ#|0ǽ{rpOT1PT5k3C?D=;[`GO ӫw֓gGY~*ȼexPwO*bߓOc-*;,9ۛ9-}x/u:sIö͓d֟ݙ}V3 +ߜH]i__D[]0Q9?m0?Kt>u5bT_>ʼncfS?K?hUcm<6]N`G(.xxknN?* WT䈶J]p*NUZW\#:9.Ƴ_rk+V+ ;>+u^Jw:ֆgl ,\>z4FfjV ae^pTL5GЇG~(u(0KnԡlI/vhg~c͚a¡>{x16ƍL7T|sNE_?2Erno0Bd{yPB GuEǦ*g%Z:.)8saxQoHt-tqY M?ږ ))܄zP&]RWhÕPuE+_Cy$Ǝ`U]m١x>Ve +XF.er"}T?;;,\l;W +ؗOw0q+qX9xx<9Ao<ǐH+ҍt$MW]2p{0:ħENCnцvݏI ;~0qFj݉gq۳}p h9Ε0&[4GF_={u栟ӏ'yX>w"A5E]uˍTxqיD>Dm,cܒMh1yJфxddI]+.ćs_1J}r8?zPq;"&b^2c6&}t7՘Et 7kEO/Zǫ d6woeŪM6HT]_'=9:j (cxw5%+D^zomz:Rԑom|P78x'g,}sJ+SVhf;`8fzf{&'1)%Aw7מ&i[`>lex_Z>vs3 (L؇z}-y^T>գ.y/qm]j&~J8ڸ:>AĎ}ȝe#SW]ZOp-b( Os upL:7]HէIh=8t :ƭӟkz# vc">ߒs`v6a|O6zag̏p>Pt朆 կW.A޷]2aJ?:O6Qɣ^syS +6ط3l^bhuPп~:g޺Ge92ss#+t~q!bn'{Zw~nCD7ro VqwQďw{͎4oܴe{r*6 +}0m=N?3u9п}xj'oYs\0 Hi!ZpyT ?~Ooi c? qzF<#Я$Fu (r}CІ+>xʱ.eե`VPɿH[ \u`)}9c$s9p憩9:FEG@πc-_)&F:{9uKYh~xu/瘯 ׁ.Y{|\(׻ugc%i8'xc#Qц:isV~&DCD+.NO 5<"~R`J5*^X&g>"uۏWJ>Ӻ~bv+ Y.G|otJ1_9}eHg?Y=\FH{ pC;μ$o(srNe;Qe^/쯈MW?:OM3"{; .?eζ8i=uQke +={[g%{f%}W) î8 f=-ש&6['+9+| I?]w/Y-bA2- \%b Rr!xܖ?7\nqM.Rm_f\nOm#Kц\ <ex`Qf)Ô!9 23g|zX4t,ͧ}%C|zH|si>ͽ4ޑ4_)zU ]WՁKEb6g!AU7|b<#:<1NIi]AR:uzֽNY״ R:|ƪbi%_oQg9'57Jw\~(lUu© +^NG~d ߖB?}9!g. iLE;:P|فJ7/yEJǷW>1 zm}dDDDo]&yv˓~b-58/>ic%dZPw*O&mX2ƾ̾67R#ګkQ~锯2/O\k|JZ+g~Jˇh+I垑-;e/KhxY]զjuRFF3%wsS?;+ +5}Cj _dq\"&='5WY!<6S5W#>}|n}jNs["/wi^ײ271vr.曈Q[{ ?~ ?'քe=Qe)Os@}ϓ8>3re6w/Yyw]$5V9˲DcBW9xheYTbu,r\nz3ͼHo4_lE0 p?`1V V{Zh}8#O!=4>>0nZҵ*?^BЩp-B2=62︀k*HWF>974fU\oB}G*GHx:y7r!y1^u!{wz1w+ǃbw%w%-$sb+Dž/6-nb;={ǘeb~;| +I;G;2&>cmn_zz0>K[C;=*pK;~ZD;S3LӕCή)cGyO0>ξ)0oAz(t+ۧ}fi< ,0Uk'_Ζ I8? wb\&߯_g&2SH@{m0"o0`񧎣n&5_>½#_a}h=U;7K'%'<||ASSϦ$]ܟުFpϳ_S/hupUX?k2w,*<:u \_N=g"|j6Ǐ`z~r\\41;צJ|F~(T㬜vUP7/Z[1&l9a8YZo⼚ǣ  +2EwFunC ͽ°"8W˿#BUiQukJ6zec/Hro<pr']u9b!kyqc{ X#/-% pSf"Ƙ& +d<4MyL0]3nc2v= N6a67v eEWNۡR<@>cw{xyvx xn7OL/~3|qĹI}͔Oj懲[K 8tdEw_.Qdk#]W^xm3캊AC]*FIX;yY⛺f#!ܿpYj]3y&ȡ\oZ~~:H\S;>t[X!5k +\M;?d1Zٟ\_Q`g}U>J_Eq/g%vʸU߷BRI76qI1<:;~nH?| 5O^y>/>=bNY)>uo [~<>zG雷FkOj6)Ŀ}yECcS^FO}q~u~ s})?oq_ZefŦu7Gt?[QE<׍ܳ>m㾱\%:k:7d̐ >I'};9U"\KZ_!G1ʻ& ~( +{P"5n]qkKS>p{scs±psA;3w"p29@Ls6,Ag8sd=_jmLUdפ Vv1 I)<)=o7ϳe^kw+`]qTݬ٪{nS'J;3{KݳL5nvN3`k.m2a)`Ecd8珳>|9c:k=*TluFkY6u_}?`]-dl]bkҀÇ䡒Uu1 ~$aɀ֯߷xߌ#ig?h|ĜOA//"=ڰM)`) 7}V||9֣Y6+}}vzw mC%6h3}\l0)eOhCo?ۡhr_G/qOKkSnGڅ kOA杖X'x[4ߠFo$:Ox5 gK1డZ4="k5FuDsnpFꇋGa".bX/wh}y< ҎuwvSPBޠ>tq{݋ 5QUjؠ:yYϽoۊڡیHSr95Q-k +><O?d5%A]- oJq}~G._}SiXƱ"H_:q]M>)q档mO y 8szjO+udMN!}%0i<=2m̓u'>c^ NMm،оzg3Wxt*3l?m!Ei+ԛCkH0^_R3]"٪㚓N\3PqLA\0F\;5&j9q oyL"]鷗 qhGs+ 4(K>ݰ(i3hlu?wϦz@cӠP(u2ʱ1a~'zzfʹ57%=]G0GN}|K~$}g x;bᅄ>ʧ6pkb=O _tdZ_S=qr7T}ΟE{S0T~3ߣb[?K&]*z>Hz1W9(AzSƆˍ瀟8}2x_zCqljo`KBSDmx?r!&| 1Ytޱݕ.#ͷ)H]q8|{#yvxv|ϼeK9mǩ91S=D=?I;\^ϟ~ߖr8RG38Y.}qZ}i+Iߟ07Tr|;>:gAu5w%}'1WxC<Ϭ>w5 Cf7{Hc-ޯ&<4Ͳc~5z\w~oCN~t_ݮ<||[W_:_;V2K}?hY;Im՝oQ?*Z EduMy@ x"v@<Wu (RkG2J[_3h ""؊yW9}xQW9J"h:Vښ)m=mvc;|z#l}upa=V`LWXPxX:k_(#oX sB]FݝSX:1Ni}S>ŴQ3 ]G`}zI#c0#0qC|DhMW ףgFM =+G'i0;9M2>g{W%9/8fDn/PgN7J[<=}cutٟrNkm + mWn'dCe"m" A| +5>F:En_8k-ջewWP<Ub +t_F_"k6ⴭӌ):e|8ԼR0 Hc6uvAr7$0wyιXG43EΰhsW@ׂ}}']9GְZ^F+\d9`~H=Ÿ?GW\iU6ԏe"[=uz+s*qO7s+;j۔a[yrN'W?rQUqA |xy'/.缀fh +eOuu;< ܿy:w/IL>HY߷pS_9ŹH}ܿ샓D#fF3J'JQҹSz|D]> -Y/v>\}E (]|MX?f=nvgn}_Xqoَ 8Z{Yߢr_Yqs +/]cs\wOY'O{}DU/,W[EEЧf0^Ϝt|d^oWO6TMOË߼^e Wx5*«v +rL0kI]]h5Vv%p~rH]'IОwK B IZ`QΦMKh/}w~L2? yɍɻlrIOr{z06oR#.n~g0l%1Jg Qcci:50e2)wEV#px^~s8ss%K s 1ǩ +ip亼'W¯6,_ʱQCܵkO5/Rr#džcـ2"̤{ij1ʑw(״6;[; ņ6{aqy>* ׇg8{E#4|MkM0uy)ZYsz^sVU~o=tYmgFh9ނ>Dܴs8 xÞ'}[*_xwU/3OTOx͊ +ٷȆ/d1O`%>b7h;~!ׂ.saTj ZK\yTdl55Ft`HU[W,7^ $u9Ey^Yqɀݹ_L=ki&fIK?،÷>#[~-x31<9 = Poɼ'OimQqK7uklHobQ>ҙ킍9<.Cȴ$ޣ( %vFS[^ىitT< "}#s k^kgn4JS[I}QzX 5À늴ynz=Eݠu/4t&ܮh\E iOzX܆yߊ߁O y'>B|;'@hݖ!ޒwԀO!N3Aӌ>I{7}|3dyoWO!_07[yaNQ[}%k~7~k=Yk2WlVA-y >f?\U61fU636ԧVEW{ߔ]&}3^1;~4ri=W@ Ci~z[ۦk6E l9f˙6r-\ilh~sAO;ngYI{dZi]adb,N"E9=n7ERO^^!&ؾ/"7(ܭARGX)ylή8rhQ+A~ 6itKg##=ߠ+ZMkmX֦؞{FM)  ч=v[y]8_aNBџl53M|DCw87j|Lfm _7agS7ӡ\=9|R]k?DEM6T_[,(yO?t}:%WS/Ef9 bv,שljaˊfJ2h-i_ +iKt6ud[Z.(Ƃ-^张C{KL7a\ ND)H<pv?6HZf6fi zu}k\xľ#;[e E,j<bٽW`BL::BE `x8σ l +k:Xһdz |>ܸ:{ +@Sǁr8 CQG]3,?ƌ: |꣒Ԅg\PC[>6 +^ c2AF)`Z0w "ӳ- R9GV <`&T(IE3]^vɩV>oMm[shZ1ڲ4nk~Ҏh2ob<d79%(o+y9{G7evj A_!~\⨀$nn.,rki5[Ɔ Ǧ}3F'V'GYSNZ(q:uՒgN-(-EH YCT`?0a|iTB?/㯱욡[Όʍcc^6 Lͧ\#ŏH9҃ծ~u[}Qx;fWcf<R']anRFe(0>b|γBݎMWnSB\M.ET}ߨ5yFE꼐W.E?Qֿ?ګ'򟩍+kGR n4;WkOg cssqn^/gN6:vi:=)n~L AbϞmo`#JSrBg; ΋hov[Em\D-עSb}Fm!~R=p^>axU} +;I0 Wj޿mhݠKiv7lGuEORcxeZ#eFke~b֚πhUO:Z|~h]ARO0:7_jEpl->(m7nw\1 df~ԁ2#QUJ)~ϻG+!x:;31e9=im+֚8jbQR@Yf.w̵VVvXM{^Ѵ]X9ǫĿy]iL)99M8 +oCl0]SPMq%觫#1E,AṌ:Z8a.ng귯l%|+,Ԯ+- ozfgb;t+a\`qx`Zc^;g(ւs%nK$0cfq +3BHòI”='F-5R.)&G,Hp*(\?tѥE?h:^(ovg PL:?Қwd>j + + (ET-ˑL W^#ۢQ+[az| +3Y ?Z/_vMX2TrN Nz ]oa$A7|D&×CSHIXηhmGBMLm{,sݴkQ(V!"!R{QH +_]LIKBi&){B[_H_G;D%jRk\GS>B3CQ탕ӊU/K1/:+E&d9"j,M9aaJZNGۢSH".ǺdXPC]s_ޘ2뇘=4ozAa/V?!%*DG: zT\DD}wӢgPk^DQz^^Tf# ,4/˴?VI\IS'0e2yTCYgNg43a_eĭLDf(bpU;X"eLCϕ2'ɘR=h %;tx}7NbPa}<#vL"!I%<戚\'&帊ýխ@~IdZzr1j1= +E~)MQzp*Jf:1RӢ`$/R{(IxCj*UihKwUT! !97S UygCȖ9az\<7esΘDگL~)C}~62;65go- #Zr3afCW"դ=U9t! +*-;X . +E uqOFT0$˹ZM4- 㥾kiUĨb)|:Wі?}=lo|3L{S yRǬ!~$$[Oc<<=SwrRt}yNhNe&OsuRTbkiԗA%7.Ar{a47A W㓻PFWaq/92cUvn9Ab _no%Mu,z@g d2q'jH+ T#!V1MıFO+3' TyR7g4[W~{K;*+kJ/7J\>FFțA~?G /_~Q8m@7 2 ch0~vp p2F-#w^ø 1øM~{go I&"@p6k?_ayx~xL]-k{KͲ`K>eo|,{#Yv0'MG컀8|2˚Oe?eC3xY?,{ ,{G Yv6Og;7I;#l.Ms xKY$Y ->}0,Yo=eI,ne{u1>|% `pO0oJ +?,yx ݯΟG?Ǹ?пh||xu xv)/WYv8Mk#;6`}`[ =m!%zm84z'>C-E'8|g?{VLyN' _??J(AK9я低?G訮s\f$! cc IXsgF h$#4fƱ%QF,$-U /UKqWՇnIK^x$z{4N^W}Xs{>{Ϲ{!V:6v~7.oσ<v~!t)\>TqkDﯵSާ6(!mĒq6\کxuj|Ư!%\-9/vɈg~>_e?!ڪ0[ \3Wu>tb<5YD\r^)~OLN݌vVi2!?|o^mx߁:d K|7pz2Ħcc2ć1$jrs#{,;+'W]q}rDޙikm; r> 8x~mT&, J~U~a"=_VL#J\OHd- #T| Hg[f\Mvt/%z;|zrj|@OUW.[@D!@3." +ڗ@_hYD!GdeQzu>Y 3A1/=Q|*'Tw^J&S'WcD3i Qn'Iwg +䖇-Eބ*g=i [׮ї#a}w]Dym bҚͿ#qhC쓆jh<&0I? B~!S4~!=rdŀbhNCtaF) +T")zmQ0U]п$Wr6qAGGӂ#گS@c3sh7O!O]cE>fd1zyᝅyWsHd:'ul~'J=/$ݍErX3(6 i69a{`ZfI̝+p؜ΈNW,j 2XA^ƯU:rn 2JT}8?A6XcbUoRgӠYuPѫcLT" }H+߬#]z.UE=&w'YkoB_|wIgKT{r%e< 13 FCG ~?m$/ܣ?c)11ƼJSp )eIXs{{yF.SiTJ0Sr#\jzC#%)gs-i (&c%0͂1lhAa2矚lX!rx= ]'F -߯+)1֏a`rj0q} !ěuJxNT@?;@6 }@Fo&읞2'0Q ?r?&+6aN@_.v1 ե7czd ϣ-5z:{A8NOyaA]& )KwmoX..F-Wgcx䋵cMY6`@BTCy8`XC;Ú>d}Jq]q~F`WYK?c +xB\% #O ruC[B4S3Vvg !J&3e> +]k[3И?S _ꓫ 6${uhdGJ +Жu#rZO|'VJ=ekNB,coЈA;"_3?gf ?Dm!9o ~hc)෉0Gzt:g7[Of~XPGSjmu4/]]ݳF6c&HJ5k{K_U`fZ_)H4`LQ ')_ ~ |֕ hۨ|])a/ +etT'̆jc0ӹוa><`eŕ NJ? 4w[s` q9q) r cZo}6!:[諭]k}k<-ٿBI󯖭z9p`jzꞴephe84#pLiڟ/, J)Jgל[Mre +3ͻ[_VЛZԳܗ"b< 39O~OF%DD +Yڛڗ|=ԳTKْ})ٽX[E}B޸8Vd*1|F7q6)<!5ܼFP80+ x6p<+m>x.x7 OlI+_؅٫T68xB͆R;F7MNlhhֱ PXԾ +lW` f.y&OK![Q+4Ž1qja! iA·J2fk4D*C#y:m9;W%Y SgݝkES)/;[\R5G-"$l0O.űI蠠[*2z昘iF"`yC`` X'Qv>}vãDC}YܩzkfZ\U!x T@G__tua磟~Q{kU84KŢPАnSS:C_.GSEbl=3i1%ї)jW!\o\A-)ƞEeEݥ<=^b@J^+$c+Ѷ/yxρƓW.^Fbz90 olyy]hg}ns*X@,.cko\gAǬpW(n' Wl6iz ~/F{H]a\St& pC `dN-pXbk_KI݄>lǜ𬅶7duhE!sA0*vʓꖎo'd_|w7OqΞS^}jW|*gAO>7F~jf +էуYCh)EpB)Yh8@Ji߭hKA<~h8օ!\[(ۤ[}̝++=)K +w/-%j[S_vCN + QQoppDa=,Vb(}>YY\ -x[<Ih^? f *fsoRབ+p)%O:vh[., c,אiV)>1hK4h[C6cqzp3ꥐS)ݠtvpwտ$ki/;u_Oq +LަJ۵;՗_gZZ:nf䧧-0cTIz[UlNZj{Ӗa)q[:m ϔsPv%ָ6~k+{%8}`[sy}[jvF+A +P*(]}1o|$nڤaU㨉[!$!>/AJh?3і'a#;Y:v~AOo-AAkŠ8/SaqUE㳢M\ +~W/s[{bnq>yܳ3Nsl΢ȆA[&$ l̄oFi{b?~ˉqOOT)`h:1  +?.t/Q {z{ >+&~QKv~ݔ̄YɌȥ W|`\.YQ7lB3ݴj_ +znh~r%| gg`]y4{GhYXڥ x/R.'vIJ 2@F%5ܔ!+m dDF2:`ꔫN's:e8QxrIA1EO)8( R2@( Nr/\S >EN_ѓ)=;]WH%g[)d*' !1 ]ARΗTB=%!Ҫ1蟎ܕ14 rSi˗۰DI.<;#[1?_6);I[I,N.>K.e+%7sIv lWrɅSݮ\29ww{Bnʵg6W*| c$d !X22T+TS^I8w%iJy >J/)%lb\ɰ׬s'*媂tE{2ezS(R+dHA+hƦURdYym:R zҎ1W֓xxW\2ˆ4X{F2+zr& Id, %)W֓+KVF8D]O)px!EIfi77W7K0qw,3^@6e;F2xHFoI9#"}HV(sujT1顲A +QHi'=^+PBxSy*ݒ]lR@(eOX=>7FR>㉒0;ub5+Vy-J+4r~TFz8|r2.~!Vsމ +/8_q(?q3?ϰ-bu?ƍ!(8&Z~~ Ž4ܷwkx`u,?j|%B[Szv$sޟƲ'rq.O=ޯX^r?ź7#TrANE?qň~ z13$}ΙG_?&y _T)O8LЧpN_ )a"1>fu@ӿtmٺQ}qvPjroc{޹p6a +cV_wX|_}Rd@ٱcDؔÔE2v2fB JCs6~m"'D|i9i׬(M.}gwѩw1mu Ձ<ޭ>r9Y$Y;QHC󈱴^V^ZYj/8li@_}QՄ_Z!xo`JxA/K6OekQI-[هs?n..H}xXǜF{Mq਺\[Gng(FrA_XAŸH )O4͖Lt XwD9VGy0_ vSbZ>$0gdl&t;aE M"EX.UFfa%щZd.M >e?6 uttm]f/jgZyb\_Ze? 1>;/jAZA'y{ZzbXUPCˣ?G?nA,Z(6k_[lj%wRdeMT4f6cllk~ކ9RP +Y>/+¯~~I;9ƏAسo?%|~oo_6a럿wWg/,宑̬}CM܇ί7o߿cy =s+o~g~מ;+tiOܶU\o;7z~u؍vzoώśo~7_懟o?Ñ{ooo/[r70lU-w,ܳ~_T]0=Pxژc]a$:?%RtI_bKH /F rtk:&:G.J +sE3J.:~ܽ6:[ ;4V >hzøhBIgK86NhҐ?CCo| +oBy:%:a:ao_4iDm =FF~1./hߩ'_/W|t|ƸN?> >?*?#i̔[ѯ$autO5+[τ}{24\?Zq7hg={s51eJc7j[F5Fh& 7iī 4߫f JհZ >׀RC?oj/4$oҊ; ,^`to + +}O +%3x#aQHJq$汫3 &fPRKqU,LW=@2K!oYZP>ۭ'vvF(U Nfp|,7|o@YKG>rfOC+,&tl|8#4HU~ D紆_ ,g忢!kkq繿႗X^@.p48pb\>MZkK=$2\K\|$>zxO9`6~kܞ#Mg#׳?@j @ (#ݮ1^z {0kUD,]nBC{\ρk=jӏ6^T^B*Z] Ja`$Oԗ%N{Eu49k +v¶ݎZYJܞ㍀RRζ;ξk;~|OF;W7 +4:юuu6d6N]GN\ٞjru‰鱻gcc͎=;~ މ\3MvT!:eʡ#9~IhR Chr;noIѽdW=H]B]NΌµ"aqUįl{ MYs`'XL9v}\0ЊZ6 ͱ*v[ElD GVgQɔY8tGp UDJ-Y:J?-qf=cF}QcO3]&5O`苞=7:Ꚋ<[PSIj)Ȅ~znwѳ4 < +s憺皝Fem[Q i!ffV܀aYPT -pj .%t&_yvڋ@<L$j49gݥhu<u>NWVUu2jn.^,ߧ/񴐌2q]FnOG ur=^R]|dnEAi9J#2VtHt|Փ07"kyYͬoN$n~ KE/y`@MEWjUV ˏ?Wed*TǠlyKrg.rap6Le:}Ϸ0kH@.7ʘc]rD6giyA۫W.+5wl.6T 断(\KP2 + W҆?ʰoIqA.rAiL漐\dNKW]˭*s6sheU&L/}ks,\A?5ڼk}i~W䖑iGt+OtUkhekϦḍBs!f-U5cFqG|exextWE rJV嬨n"9|gR h~uIS$j\vm-뚌Ly.ww[}L :ZTGpJrN+Ejw镪V(J~;V>E9+.($өs/.e=Vu*W-L/-^I`?O+*+ 3/gdɏJh/ΩZwѼYknXWTf2|+oM]YV號"YjQ$ҲY 2XUX|*~kWt+3WXӄft!ʌ:uBy΅ZUK௬h.ͭ.'`6Z9ǹ_IG`{mqLX^A6r\DԱDK}?VmmI6Ϻk.ery_6KҲX"K5FxVn~Qf? i})jq +o Qx>OPnqOZ<]=Uxf+3xUn/Txŗ(|_=g~{~=O췫T_Ӭv+-j +r/"Yyl>~Q +j +Oxz +OLW~/QkeK&9n7mnϷ]-&y$x`I幗Va𷿳)Z4SU]?Sw vu-|nՙ羶6 'b?8~ܚ2Jp~n{7g] ;7o^|7[ |?p~>nW? d[x3.lN繕|38tq&9w>y8ܥ܆-hl8B*p{Un9a)f,k| p~n5ŵܰqp558=.fࣀ~aJj-YsS~8Oy.Oxp~.B)』>x*c{ +6K-8?Sd7D3/n? m!t~^< <_5l ek |'< <x nMA(<< a]yn:pmb>x!{x*Ӂ3v>|+g/~3q?9V'k<|v?V;o>nZ|?p&n ax YKZZ8x)! +x: +ׁW |1bw_| p?x e_< x-x#x3Zແϔqk~aY Z';;Y#gB!nC?<F끧t skDs~]z$+fC + ?rJZ\&u'@o I'~#-r~Џs~Op~Oq~;8Ĩ~q~/r~/s~Яr~Яq~пr~~~~>AAAqIQA?As~Ю(zT%ziAA%0;@ @'qNq~it&AOq~>Ο7q~7s~зp~зr~ 8?;8?8?rΟՋ9?{8?J󃾟~'GF!z+8翠~~Dst~~~~-gG;A#Du'}#}>A(nT%ziAA%0;@ @'qNq~it&AOq~>?5oooop~wp~wq~??s~p~+8?蕜t}? 9?8?G8?譜Խk+#Z`s49~VdtT?H|y+q_i8]ҘQdX'x_7gjcau +M$iѶeG׆8clhX_CG)6J6r=<P|~?\S iĥ֩u0>;9Fur맽cG-/Οݖ]'FQGCgǧoK\bLq,K3R,ի99/R"qB;\du,2_P3:ɟ}Gֿ~U?m]8N~ɪ>IeBu_$*~U$񢬟/Vų~N3gt񄬟et ;y2FYVY?;@k+e~WLDG3]~NQb/)ns=YBsmSD/U?d1Aώ3Ud$[KqMB"xLc{GcaNH~ 9:Fd=e6Nvu{lq,7Wgr=~NoKhc?<_W/َ3&~zx +~UWi5w]鹢~T\񜬟su8牭~C~~C'QJ}ϧ]SE~6S?#.[_`x_!}'c.%}e/,0+qEi:׎]`tӹ~LR+|FSSt6߇IJT-~]3_ ib< kL=GcP7Ezg{fjƫA绰5m.t Fi?]Fg撱4fj~E3"oi˽~MXz9ꦱ[ -~3i|s[:v8y}W31C{k:g<"aQT[ږ#>1zޖuF;{>cOkFg`Ѹ9BcȦ.>D~t^]c,c&}c8N :);\F8i8A #,獚8f˞mkzq\n:oҌc_PX΁u6 ~F/>Ⱥ>膷g~ sL>Px_ӌOh4^E7'hͻj@91c {z=1w165a %ovkF{fZiyn|Nע^#t8nn$i8J׶G+4# F\Ưyx&#0[m^bK dVKg/tsowGS\5^t'Ņi_Mro+m3]c,yTO}Eu3'}X f=t)Ce= aۮ5NqX[ ՚ #9.6!11:&á=ɤ6/1_=n|; D l&7SO[1[3SA)^]HC/$'{|_=޿-I{lQয়S4&;EEiu^iwP]O;?pi̥y~kOxz{]z'U v~Hܝi9OQkBci;l֟ϟx:|IIJѴ4=9STӴ>2zʵ׆:s<5['[j |?ߙ IX$+2IP7d2Ժ`!j_mB,+jK#XZ[&δV* ek؊56 d{g$ߟ'<{{ɰqk˰ N_ ~j̸?;E/u>ei|W4~Wumi,?JQ ֔ƇxoG&?JC[L;4^]=xq`_i[w}vți" 4wDq7ai ?.\hhJ.qomK,linf|\m[EE{j`[YqehJ/+U.MA?{ ?a>m{*iH;i-N]ohh3B{fBn} p`j]_w/B(}8ʾ{q\]aߥ9VGXӈfZ.f(}T*6ྡ\Ps: .kzm"a{~t~ܤȴ|[Z#-g i_F9s,CaMǸBRj{ oEG>4r,79rvJ$ɵO\vX;(0xu"QpxRD?,VJ; +C<=9+k3 oi\#R8iCctT&J}WO׿Va\ب׿6vZڠֿ>]cJ^Զ[|Wnrm%\:.Q_f+OɎ$'ziΌW<uY!ZoK|Tee%׭W,vuҹKEnXcd1ʋ.Nsk/`ܝױVey;zΣױֱtu,k[jaZ~fYuG#aֱ4miih֗Xbk-|:ևX~֏s,9Oֱޒx\xbnM{u׏u,#::_%m:OZSſ8X:NZa  ;'0;NNP'%WbNzgXH,gZg^e:Nz3IoE:z'ؙV_:yNzbK/^I7R~w 2]nw3x^8Oze&8β^!tz8βW;I{mH7I/p8Lw^lk#H'FXF~&gϮ#Iwu_:7XwI{IN/.'=wmw kmqk=׺N/3#Nz+ I/pU*NNz󬋤=:_/wB[ä'.IӻIw_/'V_Vo9^`;L5,76z:=ԃKu,ױcg׃KU􎓞=s^+Ku$(zw/{Wxރ&<\x>Aװ\B6j k*}2Zê BQkX7v^O[z{*3pz]ְ8w-װ^ְs*+fBħwZ<{Eu|\v|"߯Ps\j25mְuOěK[vkIG5!|ְ +Z%M%ۯm#r 7qOWsXO>A~~w#5!-sú`݂ǗzzXw:N|e=Xl\_t!WT~\F^Y|G54ou#a\[U?~=a /|l`0O;ד`ǯ;m׮ǧv6-Wcr| +(O4|s +vjq +vBl׮%-#/,kWr=vs:i<⻶9^|i9%թ͡ Ovpt\4H_>\v<.W &x[\p^t'f*7lt9ۮ˓brŬ[](Lϥ,j-%Pu86mcDyVko·;ʍ>Ma}L*ּl[gcD>1LO:SN(SkBOJy' H8f]\W2t((HYY?ѵ =䙩 L}wkez,!(`oߤZW J3b[/Aa%\!V :-CX ]-2-0ĚJo]*_x5 iLRհIkb}v<{uҶ'CӬiH;``yn]iWrVASii;3t>|ӭVd@.tk4tچs{ty["-,c5ZO`Lye,ON\! SPLy,/C7O$˰jMyCɷ|^f4/ȷڔ絎BG X^]:WgZ#6t>o6Җ%C" |X^.zi~+DViy<(O[ϲ1̺K|u>0k%gm`y=U>0n/Y^Osu'gҖ6iaͬگM㋈ {G-2"O_7M?qc Dž5.\,rq]*wlCwb:XϓSAC`@IDcD +qT's7 kY|(;MŻ&E! ~m:rCma}/c )Iv0pw< ܰGߍ+/ζ£E|t0tc`}o\ovg,X`k\tr[ lv*`;`0vX_OH/;Ep`@֠_M̔cc{–~?Bc}Xہ>ؓ%T-L6ݘwHc!?P?[[-{Ere7|'=FC;>0kϱ/=C-I:M8F nL9u5-!чeگ$qBZ,{JCc3%'IS<N3⨆0İ϶-@hǦ~޾8Jf2$??C)~o~+W8񻖿7b{𻒿|F +3$!ѻ +{pv.#l(z]Կ}]5lWN _uw7~"ӝ}9 DyWA٧e싟i-`.f4ؼLsuU^u.}^4Gߗi3adƈ9lLxӟi4miiuJQpDDx{F?vs~4P44I>ZA֣ *o;{ _SCC AZkDmH,3 eW d\wg:7i[s~T?jnz&~_{o}K;}oٴ㽩ky +xCgry%nǰ1'6X8̋>~mABϽ<^Gcߧ.vo\%[ ">=_;N\ɽ}e"~F=XwK΋~-WB^럀ې·Iϋ|4x8'pHw^k<ܓW-^S +BҫL7'ǡ[UrN->rE}0x3x^?-3xk%rK7qu^m'=0ēNoI<9vod;m0x{"> x˽vrIiΰ\9טxZ.OEȽq)4%񌾜i͐kT{Dδ.g{0*Nδ&I2qg'.1=Sx?tn>]COYp=y.qGlU=~,ZgY}iL҉8r;VdZC|!a)kC/3U{LkJ:*7o&)K岊1m{Rr.Ue^xOۍ,k70z:Y;YnG|M,WUL6Bzrbp҃^zs>{SKizuWܫI\kɽ)z8yϳnrNW'yRɽ)zO9Γ*==_8W1Eo^|k_:_: >{S~(=x)z;/.3x޽NzH}T{SrNKWiH^H_:B+NӻI/pi;NJ'V;%W'FYmENzQˤ/NzQ_H20'QNKEooBzw KcB/ޱtqFPʏ{R>Sݰ1Wtt͞_ +O{Q&اͰgo{ #gֲoE~gygE^//Ğ㏿}鑶șx9/ϻ?w?~z||j}i['r{DF2#R4 tM~yyV 3B>#r?pv=;^tW8^/cK܃(WkcBa4P*BYl+3z*DE5,</aF -Q6$ءaac)E<_X ]V Ǘrlz߅rl|.etYp[>.7滑𢰰W ee0#E}İA]Vp~:{Npb>"Tn ¯\a=֫Um5HwEUp@*i>1q[1:ᲞwGȽh;fģ~7zy'`Kog(n6riqvdX;_<<wko*=0zo^Ӟ=[fgӊH}BrjCX3JscB{=fN0W#6:=#C(akx?95?Bw;Or_a]V.1u??veXxnlkEZvl65:0 e3zX^RF'{h=q]N4ܘ#n/ք'qC.O6*ʛ y~t 9:7~uGUݏ~Yw3ga:ݝ:a8Qv-?6un_YRi QW/m`$_%7iY&>{S}uFwl8okg_ڵ}' e}-|?L>^oRi+}G^\*mV_|Q|"7lT#a;ED}lE`h~BZS&v_| q~{QXABJW'ŗ3}ȳCA[wRiWanCSyCN{I3sZk=@f侞@R'"A'I\E>rЛ=5xٟg5X˒DW}+<`&Y6rN4Jk! _hxV^ùo4!S o ))O+kOHpo F.}$g'<>/H N_ Ù%xo_R>KxI=Uܓb3|)O?.=ɕXË+op?< oeRrA [Xq]$/ K@/$B NxXg3m^5ɟ|NLѹNI~IeB)KŀT]Rel]#Ը#|y1OH)F2ÿuv?a\._dLx@{^mx%;T3 1?)x% _?OIH +#gC +6S [I EG H_?OxH|Oo? `ÿẀ3~[< +xO?3%!=?C%'Y~?kvɏv o#<- w  /"UoU !uW/#s|_?W¿ ½Iu73pq O|V1KHE5K|e'<:I(wt],>ߐ(R)(?"ךzVQ[µ{.+ ng]?!z_j'ܫAj'\%sIxLcEx@n…skn4{ȧZ?B>M1NOkxpL×S o ~Xlh$<@? * > ~MOWSҧXWIXM) F.WKOc5OxXG~_ӯ}f7K| +?>՜c +^-_M7E?>3VL >V#0K|X_CS9 C_AO } +.S }½'\I|)tc8dk?YNK| +d{?OK xX^ O} S5r_Vpk )tq V~j2Ckx,Wo|9mF;u wY K^D-OxHhEkJcY{톬Ҹj}%:-ۗ?D9k3Oqj<5/DW]yy:o~t#ljDAx?=]ˋv*3?:erCym›=>7-ԸO%mL~η +GExNBϢxy>=t_$ĮcK,[Yt̿z;ݩ2;WWGF7c%ʹ&YF_I$zEhzTLP'v_.y<{UK?Ph ~yƟkv])>n=QލX6Qj[o8RrNO)&| +~J_ J%."mh>{x`j[%'"g?B=t(_>O)Ǧ Z>'닿-elkwnjmD/OK !{Pog+hqua澇h?;ur'uez\#ɲD;W}׈ݐQ^=x.H>~|~_vZ?9mĸt\6_Hqzɵ&ߎ_H]w/|6C:?$AӠT~0~bC2X#(u٢IIߚ%.L4M smI=G;|z#}3o'x>3?unN$77eJ9ruل15ܧq|Go9v|FoEAg>8XˀqvK hxO}wQt5'TQ?i)߮ڏ /qD܃=c&"euoPM}hi}2U棏;+"C#ILQw*G66eF'Ȏ$Acϼ~Wb ͎ K(|ʭLPq} YT- [e+\ޝ +YɒC|ˆ~{~]s]1YӺ[ݟ lunw:Vysk4y:';ۜV{_)/y{}?{:f![;3IlM;z.շV{Q%>ƹ-=eu>{z,*s5ݢ, ;KZwލU KzC!ycM8c=+m7T%inn,r!GGsO6}~3>bsn!ysᘂ|?oa1qaybɣ~2?O,GҎϦ-kǖ%"K{'@\0f?@c]^ߋ{5՝o^ r4c仔H#Mgz/¶rF붥< 8z>! O_zm'aw.qljqA>DQ˕~_Ey,[4dB{+}c_qeGDv+<x }Ƅo\N%~K*D|NBԂߵ͟}m.`k{ 63geNNJ;ov܅i!^(C2, yy/D)T Iݱ^ rEʰ sFЭWmm` sclƖ\qBrbe.81ۿȓs +U$!8_/hx3#W_ CY;I}?bU}࿍]~w%uy ^}77xPixźCfoX?~o_Ʊ{LŲt<%eP#C\:csD]g\lxNJ?E\U(G¥FDQ~1^}Ӗ \Ru2u"SߘcmATsF^vkQ/Dwˎ;&їdF~{6{5M>JSį̧N"MƮ4BBb_?m;pƱ[GA74apt /GB>lwt b\moN<nM{o6?,ПZ!؈CG{x7agK A?BHiOǂ/`,* "_]gA.&x'fuy|uHbL9'Dm14eS>3^?4L>)O.g$^Sϋ2ڻܑ%="h"Z ZJ~.1f)_v8֨ó$_`'#q/;w]C|cO1=+zP$cҿhVGH5Nqj 귳/^ 2p?En]}c}JOqhNvhz + 7n1Dːg 4f +ΫxB粊2\+E _KhuƏ}nqNYr'wAVMOawo55^9̝aġ_4r8W/Bϼr_oESo/C1ÀY)f<}a%?k(;> GBݐc(l|␨OL"pts߷KmlD}bX{7kw _}BQ߾O௹@'w>_KcEy䥨'C|읃ˊf.).`G^O +cÆWOΈtQvʾF٭1 gz N^e_gTF.3;cֿF +_)C|AhGYد y#r[!V1mn\}CRu?7xҺ; x\VxR1hkuWK[CFG]-ö2noLk++c|µ2ꊳ/s+ܡ=˄k׭–c6)Wz`?.6>0h{&r;FQudv@ȏ] BQ򂯉8eJ;Vr zC ;xoSJmeax'"<&O(FNLJ\3z;dH\mT &Tmi1w7 +ԥq%VȪX_?k[5n~YS#,mdqj|tkw(Q.i} :k{WjʋnFO+lgYGvZ 1h9AЁ<:N'К'q\!n򴾦_3y?_MC[ -DrD#0} +:JOXAp WH2퇰D_U|UO+rc53kg,fG*}-ۄg^Ȼ=5rRإǼFuvz##(/x}-uZX7 \bMù9+z0Tϻ1;)<`Z&~?.%V nwp+1UE kt}5׉ױN{Ds繉۫iqDzJQ=mb'<#%H [ȨvUFD^gsGW,ԍ}i/xwMeoϹXXпJNl:ƧDŽ˲D9HIUr#:ps29>+$c mU(BYSqVa<=a;SƣbGnGг C] _NQ?6<͏'9CZRkkЇFp.k:u3ڗ.ܠc'f(.ž2c(5ꎘ|3G G>[<}&_Rw~xc;WdMGdB3vX@<9_ ʤy{rkBq{DW,xW=u.>6`odžm<>=vᘧc|,4zih] "/mfw5Kϓ=ZR<>HyxӶy䉺ٟ]l_Y/ϻy^w,u>ZkgÈ[7Xm=~~&6?;'z"V%}Ժ_(Ęp/_ |7. ^r^ӭz!V!_ո#G+pҁ2g?!ܿôE| x}rkJoߡ0`EJ D|_eYWh|P%Z%.bf6 +vvԟzax}l(Enۡp;6uU;xTa,|l@^ӷ@32 +;e2ne "8uTڃ95;N^t^">ڝ^F*BlS(lR{\ +unǥQp-#6\2(zF]}Ue}(OZ}Լ -@^zŤ}s. 5&ʓlQ#? 6k \ sXs!;m~%6~J4L%޹oޯ{=ޕWگS<2=m1tydŷ){07gig9~<78x3;[jne=|6yWT64Wփ彉,ӲCYeZ '>b)otvz_8OaQ]W oQ2.ul_~Oe\XC](uwe~5߽P&CE!u^`^6'ʍyt?ڊrCnk@}Wɕ)ꕰ6Tzˮgz9&h|X07Z83CJ6z{}=_^^w9y}_ϫw?=\_G ;yVB<WZ8PLx^x-۠'&n!652~\(_v۬nsi;yQ!?YިNt[pM|q'N Oxxhi,AZy(ּ=zn `KֶjA9<~۞vi+@e]4ʏsy,˲ c3V rjP+)X}sg#Ibp]?(TОօEM^%gfBDލLwgZ&-]H; )VvǭCdYnt5>V CSkvw9D}yG Ub83M6ކ1<؅rgf /IJAӴ_\9.F}w@1mX>uCesYc*B_1n +>q` 9ۉѶʮsW" j 6 LW[mqFktue x]̸[gN7҇Zޣqk h[?}~m/b.kV~/zgvq#[ [Pm[W~7Q7uzg09<+Wl3gpdp̼ x21SgZ2@z<T = 47odчis:ogcquyiK?krzۂ8sD|>xhAL~:Pw yeF7F~CGw(߶4;rl݀q&Wt򣛐sJcAѿ%)Yz>Iqw(w"{ }пq؋@?zo.l=ƖVK8iVQ7u Az[ڙ~ȶҟQm_/ʛuK c{}DhQޥ`7>c FUOqN*i>wp%R} NhLG'ik>UzEr`# +h*EN%Sw+Ε0*hp c{1]q']0121yM %}-Ѕ}AZ&֣(<_BSf9<99ws8/OC'pTmĖ ~^/}޴3mfÆ{76fw^o=[Y܊uҌ]Omgv7ijS=߄3zlN\[G'Jٖ$Sw{t +}a95Zg1G&B.]hF/c"?}v[cb3;/~_RyX)>*ơNq~7s[^ 1S6mk;g#8_0ƪ|Pk. ܗ(Il/R(`^|Ɠa{lt~􌽾pܤY 냵z+k˳0ʽ9hRY6ƪa&y!MIAVē#?^1s3RTlx>` ϿR^k\/M¦=3EhpO 0LF~QVHbZonl4P}]d#e{66vY{R=d=v38TdB\cor jON qkhq]O>zIwźPYC=:@?/Ms~Pfz vy +7X(粝GPꔒ ȥˠ(YvYŽ̰ѫ8^<=9:˶ӢQ&G["+ib xee8cf/T56n8Y=(l{6z\>y[З9 YЭ]Dg7Vy1ܕ-s"MOAk~87h5#N MU4fM0ƸIvN~K%˪-wfIJA{[f2i;U6;.h8ibJ\:I=jӳ,L{gm8KDܟS60])}+<| 0^~ ?\;)=#d;yz~|VogliyWly/ Z9εd7sːwBؿf Y QV/ۥ+Dv{20-ZiisJ3g]"kwɹUiݡG$nټh ^垱Kt(k3O>_;CidWA]5\%Z~C -M_}/³<-?sʶp.2,/M!bu֏2 9kʏ}z6Cvߛ=.2LvQ22ˏ; ̶> <ú=NY3nn;y&CrƻOǽޔ1whI}78euR&*mtNo8.~yhW<{el:FЗPgˏ>l;/|G" k۟>Aƥb<غ_DqH뽽͆vfMh#˅ռ>cA;dX6KɅ6k]TWO@_'ۣ +RT춇vka^>Xޓ'ׯ9O3ovt/hw:яՇS}ZGPGobS/y(ݹϊ6;v ڮvog鐊V-ۣ_WX_2PTp=͹{:h+c&2KdxxelBc/QF:ZU<|oLMOUIynsK4SFPgG{!رX;>y>gtI?+}?!Y3gG];p嘺w҃'lBz|~>I:Ǖn1AĄ9c㜱猹~gUE1gؽҗɍIagYW{&K4"WAlyy8k1geU7=P#X?Qζ/cFqxΉu+'4'xO ϐ{;ƅݫЩ|˟dzवKa`3u&u'oteN71S_Y-x +h ;f!槾Q.ˆw~xap-L +~n׬cF.3J\olOSD9:<1sGx!8^+/JLg23zyWýȚH}e{s|>C}9/3+4Omn7pAݮ}YО: O<$z=`>:o!ߏZo.Ѫ~8%ʛ;99V}+̼s/_y4}A{}ML^JSpM|:}v̬RrOv62T\cnf%se˞eKy ,{;ԋnX3;}.D玞jVxWzcmm? w*7xAjTQ_|eGQ>o#ߌv O?8 + Ʋg-7vhg~ jyM/ #΄.o>(cx 7$V,ZЗVeЀE߂]8O Mlh.B=Bo6M?}oJ>t{?K4qseƀ7B xg2))>߲<K$6~?&tjUc S#l?ƍ_G;m?/lQهs:A>H3]2iPVwx`$ >mx)}g'hOY_X~y}3 _qWȏ 2#ʊX/o(Y{g,˦Ocf@?_Vy7,aBnr㽿z}ރ0^@od/tt6\u%MT|>.]q/^5,BO ቆq0|qg}֛귾^m]5;o w~[(CeE=߭Jaef_N〰؇w?up>uv6CڱvO4?o:rʹ兏~.ny8z|e@}'ϟwcqs~ȵ}~~Xʉ>Snt7c&L et5օ_~BO"if4͓Pup'2FaqbDh:i87 w(=]gMOcUۙiOiLSôƾROww/`쌕>9͢_lo^gm\amO+;mm] +e9ѹ n({h٤1F%dfqۻ)ac[sGG;n|W])xvӿRcKu=տu#1\_>8eu1~c/{x:nMO8jy9m?HxLݼuH;۹OqV2FWgܷzIo4Zrn{-?s6>{8O mWgu'gwkxrf C>9_CXF]ޮuy9˽JCjA1n^(<SwP ?ڦ'`j>`w>n=p 嵟#q~VRa;-sb'^<<;Bz9^``vr(O8<z'ʍ|/KKyE[SαuDžvL7eLuU'~Ɣ9О{7YG֏簺-j-3od/sW=u1M|xwp'rq>(>/3z~zcFDPT(E&Mmbw؞>p)V"5çӯ;qo70=tY-y/05c g9qfqqMi"8uFLNL3Ǚ3 D+R *9R9%w{"?'-<>ɶ)]VuNy/~1:y|NwO?Ѕ~ۑۍ~]6=j=RwhcQjΑb049VrM zb͆ÉFm49.hHN|vy2~>| ᬔNzv։6MtS΅Z'|eu:ҋѻy%⿷uS}C~caݿп[Ar<ey;c[)~V8q‰[) ~nysb(ہ>{vS蕒?'wWɭP߁ǒ}>铻>Ug])7:e6NC< e6SޝoJyK0M{Q?6h_^wԪrA9Ona{3Nrs%a v{r&)?:^8F[OԹD㏬G.&}ԍzuTk6٥@g~n|o8vK׺FtY/a<78{/auVȭK$m6W]%nE/! -{ .Ѿ>p ;ȐIKyLJPu3N]a:j +/oK䟴7x"oPNA';/oHd߇瓰'k{e4/H=}*uJ[XdߊRn'Vuog_z[kI[FfOF7<6:U'o}oNzͷߓ{ؿ)=8U_0ˑ^gB?翽’Mz/(Q߿j)ǝZkzqZSL֚^xbi/=!WF1gb4_CXwo_?og~~S?]4P?<)`Agwӧ=3mD٫h3a͸e\QoMH'ѧnkrK&2qɥhWޓh_ a c&髑'd;ysxWm]m6q}Moos}>}%o1);5y~fT߱S=w侗wWK +"[۳<wq!u@̎æ ow1~__ֿ =&=!pO|/}:hA,iF{Qgp +,_X܁]yvί?n*fcOR)ֽdL~+a?ty3+[)`hvNxRUr}y?Pww:kЖjE~ͶYDv "6p=r>HP}~㫧J~t{sDPVss>{G +#v7u0>𑆣~s:065G< hәr;c y?ױ/= 3w,;c|dz fj(u[\/჆+KŘktˠwC;/EsNXi/K$ʴ4Jc_-X=[x85+ʷ<$i> mEosF:^:ČlS:yB ͨ3sPnA; Ȗs{b܄,oo&bZf ;r]{}z_ͪ-Ky1hBn<2kSr5Aɋ=W5Uq+Sn(/#firZ cj wHaU{ 'k{s؏s&E+z&ZܢQD>VvC};\@g'ܣLuEq]c ![U x{^'سY_=rQۣ#=go7WRrlCOxN9k)[Cyug-[^>z}(bnOO_{A~̹ t^|qXgW{8S:=֌u&7{іNyxMKпLfP[ Cxzs|m?#N^Qۭ}CM~;uKܳBolfw-m>=k4gYY;csj?!3xGrx?+GNRdHk);ȖsD\iPd9Zѝ{@=__?:MXțQ!BMug~;Azspz99z9Y%MJ8 sfD{/SĻM<}EM/`<75:ȝu2N8l{YBQN{|zWz,H \4,ߤ_4C?[^-Z:vjX/lƖ%vz\QxO* SП2ۉ<ܴ";։:Я5nD_佝G+P\AOn1<עL”'x`|Isv ȉw@7JG+dGu;||܌о" 6?d&tM~h26봰9]7\݅ ~.mڜA[jWs{'ʯnцCƠot;veZosDZl[mf[Yܰww.o{ܜtŔ62oqZ챌cryC Q~ w86yJ_|ɫz6d(睲-C<! K]&܃ڳrڏO{_Ǔlk};|̥_=g&^S1|~q]Ţ'Wh7C(ok# yw=QN{fk>qMwzB;F2Qq.~cdk:D;O]WҽޘNޟ3G >n~G-mЎ,H 9&_ϳ{6sׅ66VߕPuܾ}(N|Fw]?cosa>w2(wɺʺ]>|Z[ސ%>O7EG/-V |?oo坘}d!x2~uqɭ;%8={ʛ)W*ABx,m$d@0Q}[a^ܫ=(eWOP/ןʐ!frUqe27(x2>x/O7>n)qޢ%D**[TN[MEmtCde?( iBM]{?gRB68@g"'$d?%M쏧i}[!%҇).Nni<p| ;jlm%y/wo]<#1w~LjxQyY! $\Y)q~cG7C=(~Q7oo60:W^QMukr=O%ݦVCs7**0>]g -nAM5^1_MBΕb2q{'홌"ޝcoeyi|ҽ7<9ؖVW-/=UPy~WsG_>JsCyA~͟Kܞm'Cn)vrwYW?de3|em^ߵbFlTy! g& ^xi:6 1hy$7h`6!ԕ mߍYV?xe}Bg?SD7rKa Uuh61R"KSF7R6!:;:v$M_B;:| <);lyS8Uw껨BdxGø{<_ND +s +VڧK+ G{C">1RoJS$퍲G>lX˻9Lж6\pD3!6 SW}]-D^k?OZkQl"ApK[dxs\eކLw~h~5W×H)21_Ǘl/, b ]e߫3!xojrgx6bL/%͉PߊPgVY uKn>`:e~~u;voH1 c[_d#xw[7Ϫp^6V~ۀZr.ygj\o+c׬ +P]Um>Кiyq OϑW+?:Y4$~w?x='lh YRtritv)W~2\@=jmYɺX.:u10!>6:hlP=]?wc]9AOw}} +yXavQ ++7ۂ;'-Eq[Q~saoJDˀC8TdyGkZH +y6s}QLߪ}o (m}ؾTxurGj5ubn+{'. t+|N~H 3a/7Aw+ +ڹ6} 胲GƢA +987 ہggt\9"#7_'e}cvvfk z Kx4bR3)y=|/e:?XZO ċEJ[:Ơ{#!֋Y/C|{%Oxp1WGN +xؔч{\Yypom3ߋoX{2ua#J~N9K{G "s3+;G%?)3Eɮ~$ķg2>|e/̺k<8.Hߒ' A?Lu~9=5ov֟g8ou_xc2lGƂ(ȇoQ{_bYq_Ĭi.'=}xr#GD[E"\W6%:i&}ߡB*GsT{ 6-9nk=/Eg+/]Ƥ7m-G~ؾנDuYzT +z}H>9/#W_ypU[I|t+?&S#qkubґaGH+ˁfIQ53iJsZg[j~sZnkQpb}XiI/HZ~9э6֞;onXmu75N[v4s_'˨J#Ew/no71nxN*ד0WCw@\ݹ;?sE޺4ݑ?('2iS/d n%,(x:O +9z;'V +˻,lϚ /31f@x&5k~7tydzEQHzW[6 ';`g[\YM/͛!r_c #*nَvm8l׆]#6} cc;m+T򼺼}XoE[!??QU:5R ^~g?\&2ݗr/b"⿦FֻNo%%+ڛavUhoK/9۬Txre{oG[e֢ͷg`;MWm87mN< ;,W3 +.pۨSmw*+煾^mB{)s܆6e;ؼXDٹc&@Tx u-@zTDӜאԨWo +yeA\џA;t[P~Av1 fп[ύgC Wt@9E1?}VtлDӫû𧉦=HF0K5 1+ZR>N{_x߽1ܝo3Օu5 \|qŌE V_Y]X?w:ճ4YU39UW-E5i*}.j|ԓ򪅵Tx Q쌹AYfDRY. R-xnQ9-[Ty>oί ]!Ub[]*_x)wfU5kTlnpB!2eWUϙ[gG@W_4=%TUεH4LP|T/"t2kN%ĿE+fUͬcjZM5O˯򊫧M2bƔˮp_< H ̚_13pM[UV.Uۯꅳmg,SϮ_W,MN{fApa^KUS + RT ;uIs(G3fUK)8rS_tK٣H>X]W4)<`SI|hv(Uz!TĐ2~┙Vt P_XQfVke;q]59s16KeÐBWޥhmJ5s ]  Duim ~.Ԧ%b-WգQ^7|RN5fD-+fWiM5:x] WyjMpܤ#| _%k+Ȃ~[1 + ]nT"Y8m,:Pmtl [vI@x>3|fU-Z8 bj++AF,tKe󪪀.LŠ)'QJ\9U_\#jR*գT]4 P>j: /MSMUΟ~3*.iǦLH=Ly9,8=fݿJN4ޕ3&cַwNUi;A%5^ϫ{FmzV{>,yWzgڹϒ*ii7^Bw…#J^R55U h4;|awfMѹAW9 ю1N224z;~=?xW4n/is+OiǦpu5#/trq_$D 3q4jƕ]7zȲS>ě1ybyZ6촊ѪvwY5)39t//.,ux/^&d {mmb`4TQPO /`vwO)؞n 1W̮ɼ_&sE gIPণ_P :g΢ "X[HbƢuS9\F +0Mʭ6\P+9`+NbՓE5u*RX⊲Uzn_|KER2_Q mgS_X.IbE2ή^8Fh/.I&|{ͩ"h: ko8Ƥ 0'_9)W{/_~jt.}D< :dӑ{ ^ye._(gH*OazRь\}pt۔^VPKqTni9tԪӥQs+J"nRJ)DIO8ndAm.5頋jzOsFM>Ԗѳ]Ust4J~a%CL5څJet;1wwJM͢] _3j2r-B{Sљw6̰sVyegU-AJPHםKL%˛ Мw"eRepT-It 8Awix*޲)^59F4B*֤։VYQ[UHҴ/:TVio\tnt.U-2?I ZE)y/_Ƭ\LoRS0Tx^E|ҟ:2Y:D)# ֵ#YU]&'fənG%^\n^55ķb7I.^sb]K]7u +[;8,BIT:[t"96r"v|*dPDM$lT!Z9_ +3Tη RIqv ѻ@YaϬ,ZXJ<Dz̭iqMltY / Jpqƭ\2KRkUǴiACV!Ycɲ%kTJn4On!M9u[aDjGWϮLB)X v~]_Τ* K^wWo1m'SM2~ !*<ң71>ӝ~歪Z\޲~j,b/?ߴV/9Emu5UN̦¤b{ZY0%Yj{E)*:XiL&5/2a\7)^DfBdUm%CtGN"ڒU +>~j9,Mŧ,X\w+9Ĵ238p$j1 )aUS^SMm+_f$tشICNNAXruB*'&Ѫe*R<Ā_KJORK¯dRŤ.D9.пij MZQgXm-uȮ[@U/Y-v [xEsᒨ)àTWZ% C:6;Y/t ȜFY:wYop[ur\:טz"WHZFj5ҩc\n 4wkĸN8ǁ$|֢*emFW76_:^D!-qU&~L -^յ ZW) ]}Ԟ:afW/T$u=A=24=\P(=M2FsIۢ3VrXH҅tclfsw. +ˏl5]V`KK|.d(@_e\"Uݤ,+__+7:]Zt ߗԣqf§gG^jV5WK僀2*ebj;WM[\f48@L>ƗJdbH#E\D:RBL[<]y82LJO*74Uk%pÏ!*IYYXJkwZH&L.>ӅH I$Ft}E5u)kZ;1!}%\N4bW%F_;~8HT &"%#*1^D:/lÔYFGebMmJ%h5ri:xNZfJ'_aAO DLcuPo6SW󤺡w骼4%irO{ǵupNTu{(AN>yZZF,fufTUuFKǓ8'(VEvVr'ɷ$5Nr:%ZWtNGLK4z rA_(;MMO͢xu8D>hh $$q .g3я^̉-{ tƇ;/WkRKKK!wj*8R;%[uDL9@`mz9t Im':tg[`ő_筅/I!hLUV`pS#Ur_d'[m1hN0S0r$IO 4z9vOfFV["͏Xku:$}5&gjP\t͎9(drnq":PM X[4zI<[;zIgߎ _~5F%uiO77WѡF)Ԯ˽f5HҕqJHKC-=]<]8ҹ9t&̄4*u23gmܓ˅y7k;)2o4$=FƬșA>2䂙b'|!yϯ^8OͷYDE] VQgN%3_“qVϦe"CdN/cQ +͇GoAHdTX7u>Z'-e&λq|LQi6d^XG+BvEʫs{pK}fƋFͲ.Γ-CUM̙VB4ԝ!K*]61d'~N.Ju%+)rf9obl +zCvzU/;EjkCJZ{Kίq g9>]=!ģ;3T!O|݅Bx886Duw':Zx.#<w'6)<7.1<n;x< x^g+(x= :?؊x65Oύx>g'O񜏧dzBHswD<}?ύD݊ !O$!Dx>g :NK$6y:sh"q.c^Gx³(X;81,x +g'ٹ !xuV"1_xD`Dxnx52؊1EЃ‰ w!{/M$9t&x /99rOI$~ vQqi~u hn#^6%2$dkK AT>0Z4r1޿q\ |+zoCl]YVG;0 p #ò.pp? 8F;`CzvYA{-? 9}`I?G`goC3sYڏ-` 0`5J }`/;>w?@ c_!`ʛ.17p'˟;4 q/<=h;?CQ Cjv@Go#T +p}z'0mHo+:*>mT/ePUj_ S0>h'8O[ >#`VvV5PxYJ{><`ht'y̛w%q ~xwƉěO|Yajr*Mʧ>زز*|8i?%qʯɾN?;+ :gzD$.v%v'xI&&=!tcj|7mߥ_3_Emϭck4 +bLy!c1#d% HakfV]Ip D'{{=;ssE]>GdijZ`߻gGpȞWMถXOpr4_+ ٠¶}*ڇe"*$"=AA |Z)}oPy`s+{} 5'qg'&&T>3 g><]n,ETq-o@n+isSKNoqs3a(&r|OB~z_sv44_SW^wYMӕiOj>˅]C^V'%].L?trθXEÑ('g#Xf<@R<=z/ mZ08P*'X2QLصAy?^ d,hS)/ 7pG>ǎ9n(Lx:ʵZ>5^"Ui#Aa`KQGަfX=.yǽ~&cl=L{}nnb _/d"}TӘTyXƑḒ1]?ev=ٽNGA]|L}V2ݕS40=>֗ >! + 4UL-&%Ss >ѳڍA~![2Qg }|3qk"#џS /p~ge4b <TZ ĆZ ou\1Bo+}O?S"-fOz1ƠWg +>֓޿>yť<[^ǵu;Bt\Bm |{ٙTܻg/$SR(gc4ݙ=;jTؗ曙;BЋ_waɓȁpͿ#:Z)_x支_FJ|'D;BW6j8THўkk:c/SsdS2 w*OJ6gD|WÔISHTk'f/v>I5y{)"ӂIנ_~c\CJ?~7!~a_ogHE jv%;[OjLIQ11SO"8y#f oQrm#b>AV93-+_iqWG˜oRmmcn3☶Q]B#m>G$Uʹۣ"vi^rby~SSgjQ $" &407HBC-LPgݘ7sqɶAqv|E]as@1mhی6#m^ѵݶ1m'=-}g? ]1x4wvKXLof4xde-v/9J͐B!˼&p!2 {,T^~YĠer|_( |>QynPCƀ2jGl\8L酌t +ٗ?ҬdgKɦ39 m>/xE0d@ip>DuS}=iůYwKs7jòXm6nW$nWrqkJ0ȟ_D4p.@hh2g(I:vw &/zqy,|I:܀}J7[ƒbKByNwqL19n3r4L{>t~vnzFl FΏOLЭ>y)Qqz8AO?{XoE ߗy1661$ÒAs +tW~ =Oχ}w\wuBi{dg݂|V F_| '?: (-;btzfWwaz&v]̽%b;5E;khDYUڳ'>ޛxmv·fKE}aH0o/EE>}94^Z{ O Z$Ck}^ٯ9:=s%Qgk1<\)DJq],V"S:Yf'DtYx$4%/DӋ<ͤGg)SI$H [bO*gp_f"C|O8NUݭc{>.N /UMw&v:~O>+s!}|72hN#W'&GTҼǴ~X ڛೀ&}Q|ĿדֻksTKiS6,FNKQNIxC\AZ"so~ZG#v%wO`lŦݻV<3DytJs!NЅtMq 褃h/ve"KV<}h3+}0L+b"h>Lrmr5fae)h#膴+ l|E]i^I=ŊQaWfʧOT;c⶧{CFO ӓӗ܇CבʗW͘W)/(WVӮe_rK +/K#yY2Klq3Le|hGl *kbv3"VR.7uґڔêk&n%H} "[%NH{3{7bf;h$~^񤏎?#pr\n!!+{y)@cWzߑ|>r>z8kT +u&SAxv٩\= -䦹Y'5vĆ@2d1qIt63ZO%ȯWbgLh#ӡЉ!Dhъ ܎H~ȯQfQgG_O[pSG3uP~CŲv- +RVI~3kF2dv[lQɬےو|N~ N>bN>bN~.sbÜ09_t;pLfc ?K+.v-_j;m$F&kK]#:eu[_[;6)|)M\樴n)x%;/+ ?Aۮ=:9};N/8(.jXSkߤ]>֑n޶e^޺V.法_gK϶N.~9 +^_l~o[˪퉰-F9G6tj+C\;er N۵j|Auhe)Vv K?ogv:· vӝآF +ZGS8p\ong뀰nghO#Yp=.緷3.^Z5mH6nƭcla1:673حMƍ ɸg]l,uy]߲u`[6v O'So9Fi6$V9 &vtdv#9iPoZ%n;q]t1'1˓D4%фI37gIQ}"qxы\fWGmI*q_WxpU馟X+2x#z|1[W/͓ |.@n;S+NFEXֱizYu`4d)bqJaVZܾW4^P.|nT)#Ts$+Aݴ= xB.-,A^!fߜRbd2.&jJ"& MTJWTBy" ` g0 >thbg&2tjݰtRrh$`XNڐA7%;G['knGn2ِΑ[ܢ~u8ޑQD z4]w^NBNSv P"uz/////(^FR;J \V.q +XeA?UP;KZ[r+&akY/<&JC*ZR+kӹ =]~%/ڿzI ݒjT6?zRB>SIL}"3UmoKN,)SR+cq*+hsAwsKx_*[*%[$LT[ c ytmk>+Rۿ1QyTA%VȧayL!dl~ɺVnY=B_7U +xaa`[zE@Uv~JK^t?Wnkn1v"gON^NլPx>goncOy{m9MM͍ͧf9u59gZrߔ>WDtS-˩Xt= SXs4!,-iozaӟsd95ޡz1\3gNmh>%^"y:xa_BA۽oXMM,BV7kΏ׆.G~%\ClHأmvMo)6l !ɥ&(Ov{lh9v(<†oٰŮy T;Oo]=ʛlhMy $L<Ն6]b Wc:l Աh42H8=b4"چvjX?d>Ά.;~&lHS5`?t6ܜn?}ߵI^ٰNU=_>dy +[ weYާHX}cGߦRY*zWOLMomY@Mo,o{Fc/Vhк'c%V6>Mѧ)_;N6=ŧb3t((i_6>5MU76`&W9^X¯PP%v?ey{vcF-B*]ſ~LboZ`oh8xJ A*v^JNnK5Hc ߳vݓ\|&7}.mlt00ٚss[s%$s=MgtL d /=+MfD]?_6knii̹hkRïtù(L#qB|{YGD&I*oɕTEq0#3,‘An-acoFKU +ƚMx[> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${INSTALL_PATH} failed" + exit 1 + fi + fi + targetdir=${INSTALL_PATH} +elif [ -n "${ASCEND_CUSTOM_OPP_PATH}" ]; then + if [ ! -d ${ASCEND_CUSTOM_OPP_PATH} ]; then + mkdir -p ${ASCEND_CUSTOM_OPP_PATH} >> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${ASCEND_CUSTOM_OPP_PATH} failed" + fi + fi + targetdir=${ASCEND_CUSTOM_OPP_PATH} +else + if [ "x${ASCEND_OPP_PATH}" == "x" ]; then + log "[ERROR] env ASCEND_OPP_PATH no exist" + exit 1 + fi + targetdir="${ASCEND_OPP_PATH}" +fi + +if [ ! -d $targetdir ];then + log "[ERROR] $targetdir no exist" + exit 1 +fi + +upgrade() +{ + if [ ! -d ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 files" + return 0 + fi + + if [ ! -d ${targetdir}/$vendordir/$1 ];then + log "[INFO] create ${targetdir}/$vendordir/$1." + mkdir -p ${targetdir}/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/$vendordir/$1 failed" + return 1 + fi + else + has_same_file=-1 + for file_a in ${sourcedir}/$vendordir/$1/*; do + file_b=${file_a##*/}; + if [ "ls ${targetdir}/$vendordir/$1" = "" ]; then + log "[INFO] ${targetdir}/$vendordir/$1 is empty !!" + return 1 + fi + grep -q $file_b <<<`ls ${targetdir}/$vendordir/$1`; + if [[ $? -eq 0 ]]; then + echo -n "${file_b} " + has_same_file=0 + fi + done + if [ 0 -eq $has_same_file ]; then + if test $QUIET = "n"; then + echo "[INFO]: has old version in ${targetdir}/$vendordir/$1, \ + you want to Overlay Installation , please enter:[o]; \ + or replace directory installation , please enter: [r]; \ + or not install , please enter:[n]." + + while true + do + read orn + if [ "$orn" = n ]; then + return 0 + elif [ "$orn" = m ]; then + break; + elif [ "$0rn" = r ]; then + [ -n "${targetdir}/$vendordir/$1/" ] && rm -rf "${targetdir}/$vendordir/$1"/* + break; + else + echo "[ERROR] input error, please input again!" + fi + done + fi + fi + log "[INFO] replace or merge old ops $1 files .g....." + fi + + log "copy new ops $1 files ......" + if [ -d ${targetdir}/$vendordir/$1/ ]; then + chmod -R +w "$targetdir/$vendordir/$1/" >/dev/null 2>&1 + fi + cp -rf ${sourcedir}/$vendordir/$1/* $targetdir/$vendordir/$1/ + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 files failed" + return 1 + fi + + return 0 +} +upgrade_proto() +{ + if [ ! -f ${sourcedir}/$vendordir/custom.proto ]; then + log "[INFO] no need to upgrade custom.proto files" + return 0 + fi + if [ ! -d ${targetdir}/$vendordir/framework/caffe ];then + log "[INFO] create ${targetdir}/$vendordir/framework/caffe." + mkdir -p ${targetdir}/$vendordir/framework/caffe + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/$vendordir/framework/caffe failed" + return 1 + fi + else + if [ -f ${targetdir}/$vendordir/framework/caffe/custom.proto ]; then + # 有老版本,判断是否要覆盖式安装 + if test $QUIET = "n"; then + echo "[INFO] ${targetdir}/$vendordir/framework/caffe has old version"\ + "custom.proto file. Do you want to replace? [y/n] " + + while true + do + read yn + if [ "$yn" = n ]; then + return 0 + elif [ "$yn" = y ]; then + break; + else + echo "[ERROR] input error, please input again!" + fi + done + fi + fi + log "[INFO] replace old caffe.proto files ......" + fi + chmod -R +w "$targetdir/$vendordir/framework/caffe/" >/dev/null 2>&1 + cp -rf ${sourcedir}/$vendordir/custom.proto ${targetdir}/$vendordir/framework/caffe/ + if [ $? -ne 0 ];then + log "[ERROR] copy new custom.proto failed" + return 1 + fi + log "[INFO] copy custom.proto success" + + return 0 +} + +upgrade_file() +{ + if [ ! -e ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 file" + return 0 + fi + + log "copy new $1 files ......" + cp -f ${sourcedir}/$vendordir/$1 $targetdir/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 file failed" + return 1 + fi + + return 0 +} + +delete_optiling_file() +{ + if [ ! -d ${targetdir}/vendors ];then + log "[INFO] $1 not exist, no need to uninstall" + return 0 + fi + sys_info=$(uname -m) + if [ ! -d ${sourcedir}/$vendordir/$1/ai_core/tbe/op_tiling/lib/linux/${sys_info} ];then + rm -rf ${sourcedir}/$vendordir/$1/ai_core/tbe/op_tiling/liboptiling.so + fi + return 0 +} + +log "[INFO] copy uninstall sh success" + +if [ ! -d ${targetdir}/vendors ];then + log "[INFO] create ${targetdir}/vendors." + mkdir -p ${targetdir}/vendors + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/vendors failed" + return 1 + fi +fi +chmod u+w ${targetdir}/vendors + +echo "[ops_custom]upgrade framework" +upgrade framework +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op proto" +upgrade op_proto +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade version.info" +upgrade_file version.info +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op impl" +delete_optiling_file op_impl +upgrade op_impl +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op api" +upgrade op_api +if [ $? -ne 0 ];then + exit 1 +fi + +upgrade_proto +if [ $? -ne 0 ];then + exit 1 +fi + +# set the set_env.bash +if [ -n "${INSTALL_PATH}" ] && [ -d ${INSTALL_PATH} ]; then + _ASCEND_CUSTOM_OPP_PATH=${targetdir}/${vendordir} + bin_path="${_ASCEND_CUSTOM_OPP_PATH}/bin" + set_env_variable="#!/bin/bash\nexport ASCEND_CUSTOM_OPP_PATH=${_ASCEND_CUSTOM_OPP_PATH}:\${ASCEND_CUSTOM_OPP_PATH}" + if [ ! -d ${bin_path} ]; then + mkdir -p ${bin_path} >> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${bin_path} failed" + exit 1 + fi + fi + echo -e ${set_env_variable} > ${bin_path}/set_env.bash + if [ $? -ne 0 ]; then + log "[ERROR] write ASCEND_CUSTOM_OPP_PATH to set_env.bash failed" + exit 1 + else + log "[INFO] using requirements: when custom module install finished or before you run the custom module, \ + execute the command [ source ${bin_path}/set_env.bash ] to set the environment path" + fi +else + config_file=${targetdir}/vendors/config.ini + if [ ! -f ${config_file} ]; then + touch ${config_file} + chmod 640 ${config_file} + echo "load_priority=$vendor_name" > ${config_file} + if [ $? -ne 0 ];then + echo "echo load_priority failed" + exit 1 + fi + else + found_vendors="$(grep -w "load_priority" "$config_file" | cut --only-delimited -d"=" -f2-)" + found_vendor=$(echo $found_vendors | sed "s/$vendor_name//g" | tr ',' ' ') + vendor=$(echo $found_vendor | tr -s ' ' ',') + if [ "$vendor" != "" ]; then + sed -i "/load_priority=$found_vendors/s@load_priority=$found_vendors@load_priority=$vendor_name,$vendor@g" "$config_file" + fi + fi +fi + +chmod u-w ${targetdir}/vendors + +if [ -d ${targetdir}/$vendordir/op_impl/cpu/aicpu_kernel/impl/ ]; then + chmod -R 440 ${targetdir}/$vendordir/op_impl/cpu/aicpu_kernel/impl/* >/dev/null 2>&1 +fi +if [ -f ${targetdir}/ascend_install.info ]; then + chmod -R 440 ${targetdir}/ascend_install.info +fi +if [ -f ${targetdir}/scene.info ]; then + chmod -R 440 ${targetdir}/scene.info +fi +if [ -f ${targetdir}/version.info ]; then + chmod -R 440 ${targetdir}/version.info +fi + +echo "SUCCESS" +exit 0 + diff --git a/precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/include/aclnn_reduce_sum.h b/precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/include/aclnn_reduce_sum.h new file mode 100644 index 0000000..9b58ad3 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/include/aclnn_reduce_sum.h @@ -0,0 +1,55 @@ + +/* + * calution: this file was generated automaticlly donot change it. +*/ + +#ifndef ACLNN_REDUCE_SUM_H_ +#define ACLNN_REDUCE_SUM_H_ + +#include "aclnn/acl_meta.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* funtion: aclnnReduceSumGetWorkspaceSize + * parameters : + * x : required + * axis : required + * keepDimsOptional : optional + * ignoreNanOptional : optional + * dtypeOptional : optional + * out : required + * workspaceSize : size of workspace(output). + * executor : executor context(output). + */ +__attribute__((visibility("default"))) +aclnnStatus aclnnReduceSumGetWorkspaceSize( + const aclTensor *x, + const aclTensor *axis, + bool keepDimsOptional, + bool ignoreNanOptional, + char *dtypeOptional, + const aclTensor *out, + uint64_t *workspaceSize, + aclOpExecutor **executor); + +/* funtion: aclnnReduceSum + * parameters : + * workspace : workspace memory addr(input). + * workspaceSize : size of workspace(input). + * executor : executor context(input). + * stream : acl stream. + */ +__attribute__((visibility("default"))) +aclnnStatus aclnnReduceSum( + void *workspace, + uint64_t workspaceSize, + aclOpExecutor *executor, + aclrtStream stream); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/lib/libcust_opapi.so b/precision_Problem/Is_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/lib/libcust_opapi.so new file mode 100644 index 0000000000000000000000000000000000000000..670beb70b7be554167a49645f8d56aacfa76751b GIT binary patch literal 10352 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 c;XJVYdKb>kQ7Ok(RWBJ1H>rYnW;=%e4 /dev/null) + for i in $vendor_installed_dir;do + vendor_installed_file=$(ls "$vendor_installed_dir/$vendor_name/$i" 2> /dev/null) + if [ "$i" = "$vendor_name" ] && [ "$vendor_installed_file" != "" ]; then + echo "[INFO]: $vendor_name custom opp package has been installed on the path $vendor_installed_dir, \ + you want to Overlay Installation , please enter:[o]; \ + or replace directory installation , please enter: [r]; \ + or not install , please enter:[n]." + fi + while true + do + read mrn + if [ "$mrn" = m ]; then + break + elif [ "$mrn" = r ]; then + [ -n "$vendor_installed_file"] && rm -rf "$vendor_installed_file" + break + elif [ "$mrn" = n ]; then + return 0 + else + echo "[WARNING]: Input error, please input m or r or n to choose!" + fi + done + done + log "[INFO] replace old ops $1 files ......" + fi + + log "copy new ops $1 files ......" + cp -rf ${sourcedir}/$vendordir/$1/* $targetdir/$vendordir/$1/ + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 files failed" + return 1 + fi + + return 0 +} + +upgrade_file() +{ + if [ ! -e ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 file" + return 0 + fi + + log "copy new $1 files ......" + cp -f ${sourcedir}/$vendordir/$1 $targetdir/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 file failed" + return 1 + fi + + return 0 +} + +log "[INFO] copy uninstall sh success" + +echo "[ops_custom]upgrade framework" +upgrade framework +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op proto" +upgrade op_proto +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op impl" +upgrade op_impl +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op api" +upgrade op_api +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade version.info" +upgrade_file version.info +if [ $? -ne 0 ];then + exit 1 +fi + +config_file=${targetdir}/vendors/config.ini +found_vendors="$(grep -w "load_priority" "$config_file" | cut --only-delimited -d"=" -f2-)" +found_vendor=$(echo $found_vendors | sed "s/$vendor_name//g" | tr ',' ' ') +vendor=$(echo $found_vendor | tr -s ' ' ',') +if [ "$vendor" != "" ]; then + sed -i "/load_priority=$found_vendors/s@load_priority=$found_vendors@load_priority=$vendor_name,$vendor@g" "$config_file" +fi + +changemode() +{ + if [ -d ${targetdir} ];then + chmod -R 550 ${targetdir}>/dev/null 2>&1 + fi + + return 0 +} +echo "[ops_custom]changemode..." +#changemode +if [ $? -ne 0 ];then + exit 1 +fi + +echo "SUCCESS" +exit 0 + diff --git a/precision_Problem/Is_standard/build_out/autogen/aclnn_reduce_sum.cpp b/precision_Problem/Is_standard/build_out/autogen/aclnn_reduce_sum.cpp new file mode 100644 index 0000000..b0d1117 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/autogen/aclnn_reduce_sum.cpp @@ -0,0 +1,201 @@ +#include +#include "graph/types.h" +#include "aclnn_reduce_sum.h" + +namespace { +typedef struct { + uint32_t id; + const char *funcName; + bool hasReg; +} NnopbaseDfxId; +typedef struct { + ge::DataType dtype; + ge::Format format; +} TensorDesc; +typedef struct { + TensorDesc *inputsDesc; + size_t inputsNum; + TensorDesc *outputsDesc; + size_t outputsNum; +} SupportInfo; +typedef struct { + SupportInfo *supportInfo; + size_t num; +} OpSocSupportInfo; +typedef struct { + OpSocSupportInfo *socSupportInfo; + size_t num; +} OpSupportList; +enum SocType { + SOC_VERSION_ASCEND910A = 1, + SOC_VERSION_ASCEND910B, + SOC_VERSION_ASCEND910C, + SOC_VERSION_ASCEND910D, + SOC_VERSION_ASCEND310P, + SOC_VERSION_ASCEND310B, + SOC_VERSION_BS9SX1A, + SOC_VERSION_MC61AM21A, + SOC_VERSION_ASCEND610Lite +}; +enum NnopbaseAttrDtype { + kNnopbaseBool = 0U, + kNnopbaseFloat, + kNnopbaseInt, + kNnopbaseString, + kNnopbaseAttrEnd +}; +uint32_t socSupportList[] = {SOC_VERSION_ASCEND310B}; +uint32_t socSupportListLen = 1; + +TensorDesc inputDesc0_0[2] = + {{ge::DT_FLOAT, ge::FORMAT_ND}, + {ge::DT_INT32, ge::FORMAT_ND}}; +TensorDesc inputDesc0_1[2] = + {{ge::DT_FLOAT16, ge::FORMAT_ND}, + {ge::DT_INT32, ge::FORMAT_ND}}; +TensorDesc inputDesc0_2[2] = + {{ge::DT_INT32, ge::FORMAT_ND}, + {ge::DT_INT32, ge::FORMAT_ND}}; +TensorDesc inputDesc0_3[2] = + {{ge::DT_INT8, ge::FORMAT_ND}, + {ge::DT_INT32, ge::FORMAT_ND}}; +TensorDesc outputDesc0_0[1] = + {{ge::DT_FLOAT, ge::FORMAT_ND}}; +TensorDesc outputDesc0_1[1] = + {{ge::DT_FLOAT16, ge::FORMAT_ND}}; +TensorDesc outputDesc0_2[1] = + {{ge::DT_INT32, ge::FORMAT_ND}}; +TensorDesc outputDesc0_3[1] = + {{ge::DT_INT8, ge::FORMAT_ND}}; +SupportInfo list0_0 = {inputDesc0_0, 2, outputDesc0_0, 1}; +SupportInfo list0_1 = {inputDesc0_1, 2, outputDesc0_1, 1}; +SupportInfo list0_2 = {inputDesc0_2, 2, outputDesc0_2, 1}; +SupportInfo list0_3 = {inputDesc0_3, 2, outputDesc0_3, 1}; +SupportInfo supportInfo0[4] = {list0_0, list0_1, list0_2, list0_3}; +OpSocSupportInfo socSupportInfo0= {supportInfo0, 4}; + +OpSocSupportInfo opSocSupportList[1] = {socSupportInfo0}; +OpSupportList supportList = {opSocSupportList, 1}; + +[[maybe_unused]] uint32_t NNOPBASE_ReduceSum = 0U; +} // namespace + +extern void NnopbaseOpLogE(const aclnnStatus code, const char *const expr); + +#ifdef __cplusplus +extern "C" { +#endif + +extern aclnnStatus NnopbaseCreateExecutorSpace(void **space); +extern void *NnopbaseGetExecutor(void *space, const char *opType, char *inputsDesc, uint32_t inputNum, + char *outputsDesc, uint32_t outputNum, char *attrsDesc, uint32_t attrsNum); +extern aclnnStatus NnopbaseAddInput(void *executor, const aclTensor *tensor, const uint32_t index); +extern aclnnStatus NnopbaseAddIgnoreContinuesInput(void *executor, + const aclTensor *tensor, const uint32_t index); +extern aclnnStatus NnopbaseAddIntArrayInput(void *executor, const aclIntArray *array, const uint32_t index); +extern aclnnStatus NnopbaseAddBoolArrayInput(void *executor, const aclBoolArray *array, const uint32_t index); +extern aclnnStatus NnopbaseAddFloatArrayInput(void *executor, const aclFloatArray *array, const uint32_t index); +extern aclnnStatus NnopbaseAddOutput(void *executor, const aclTensor *tensor, const uint32_t index); +extern aclnnStatus NnopbaseAddDynamicInput(void *executor, const aclTensorList *tensor_list, const uint32_t index); +extern aclnnStatus NnopbaseAddDynamicOutput(void *executor, const aclTensorList *tensor_list, const uint32_t index); +extern aclnnStatus NnopbaseAddAttrWithDtype(void *executor, void *attrAddr, size_t attrLen, const size_t index, const NnopbaseAttrDtype dtype); +extern aclnnStatus NnopbaseAddIntArrayAttr(void *executor, const aclIntArray* array, const size_t index); +extern aclnnStatus NnopbaseAddFloatArrayAttr(void *executor, const aclFloatArray* array, const size_t index); +extern aclnnStatus NnopbaseAddBoolArrayAttr(void *executor, const aclBoolArray* array, const size_t index); +extern aclnnStatus NnopbaseAddArrayAttrWithDtype(void *executor, void *array, const size_t len, const size_t elementSize, const size_t index, const NnopbaseAttrDtype dtype); +extern uint64_t NnopbaseMsprofSysTime(); +extern aclnnStatus NnopbaseAddTilingId(void *executor, NnopbaseDfxId *tilingId); +extern void NnopbaseReportApiInfo(const uint64_t beginTime, NnopbaseDfxId &dfxId); +extern aclnnStatus NnopbaseRunForWorkspace(void *executor, uint64_t *workspaceLen); +extern aclnnStatus NnopbaseRunWithWorkspace(void *executor, aclrtStream stream, void *workspace, uint64_t workspaceSize); +extern aclnnStatus NnopbaseAddSupportList(void *executor, OpSupportList *list, uint32_t *socSupportList, size_t socSupportListLen); +extern aclnnStatus NnopbaseAddScalarInput(void *executor, const aclScalar *scalar, const uint32_t index, const int32_t srcIndex, const ge::DataType dtype); +extern aclnnStatus NnopbaseAddScalarListInput(void *executor, const aclScalarList *scalarList, const uint32_t index, const int32_t srcIndex, const ge::DataType dtype); +extern void NnopbaseAddOpTypeId(void *executor, const uint32_t opTypeId); + +#define ACLNN_SUCCESS 0 +#define ACLNN_ERR_PARAM_NULLPTR 161001 + +#define NNOPBASE_ASSERT_OK_RETVAL(v) \ + do { \ + const aclnnStatus _chk_stutus = (v); \ + if (_chk_stutus != ACLNN_SUCCESS) { \ + NnopbaseOpLogE(_chk_stutus, #v); \ + return _chk_stutus; \ + } \ + } while (false) + +#define NNOPBASE_ASSERT_NOTNULL_RETVAL(v) \ + do { \ + if ((v) == nullptr) { \ + NnopbaseOpLogE(ACLNN_ERR_PARAM_NULLPTR, #v " != nullptr"); \ + return ACLNN_ERR_PARAM_NULLPTR; \ + } \ + } while (false) + +aclnnStatus aclnnReduceSumGetWorkspaceSize( + const aclTensor *x, + const aclTensor *axis, + bool keepDimsOptional, + bool ignoreNanOptional, + char *dtypeOptional, + const aclTensor *out, + uint64_t *workspaceSize, + aclOpExecutor **executor) +{ + uint64_t timeStamp = NnopbaseMsprofSysTime(); + static NnopbaseDfxId dfxId = {0x60000, __func__, false}; + static NnopbaseDfxId tilingId = {0x60000, "aclnnReduceSumTiling", false}; + void *nnopExecutor; + static void *executorSpace = NULL; + const char *opType = "ReduceSum"; + char inputDesc[] = {1, 1}; + char outputDesc[] = {1}; + char attrDesc[] = {0, 0, 0}; + + NNOPBASE_ASSERT_NOTNULL_RETVAL(x); + NNOPBASE_ASSERT_NOTNULL_RETVAL(axis); + NNOPBASE_ASSERT_NOTNULL_RETVAL(out); + + if (!executorSpace) { + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseCreateExecutorSpace(&executorSpace)); + } + nnopExecutor = NnopbaseGetExecutor(executorSpace, opType, inputDesc, sizeof(inputDesc) / sizeof(char), outputDesc, + sizeof(outputDesc) / sizeof(char), attrDesc, sizeof(attrDesc) / sizeof(char)); + NNOPBASE_ASSERT_NOTNULL_RETVAL(nnopExecutor); + NNOPBASE_ASSERT_NOTNULL_RETVAL(executor); + *executor = reinterpret_cast(nnopExecutor); + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddTilingId(*executor, &tilingId)); + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddInput(*executor, x, 0)); + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddInput(*executor, axis, 1)); + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddAttrWithDtype(*executor, static_cast(&keepDimsOptional), sizeof(bool), 0, kNnopbaseBool)); + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddAttrWithDtype(*executor, static_cast(&ignoreNanOptional), sizeof(bool), 1, kNnopbaseBool)); + if (dtypeOptional) { + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddAttrWithDtype(*executor, static_cast(dtypeOptional), strlen(dtypeOptional) + 1, 2, kNnopbaseString)); + } else { + static char *dtypeOptionalDef = "float"; + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddAttrWithDtype(*executor, static_cast(dtypeOptionalDef), strlen(dtypeOptionalDef) + 1, 2, kNnopbaseString)); + } + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddOutput(*executor, out, 0)); + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddSupportList(*executor, &supportList, socSupportList, socSupportListLen)); + aclnnStatus ret = NnopbaseRunForWorkspace(*executor, workspaceSize); + NnopbaseReportApiInfo(timeStamp, dfxId); + return ret; +} + +aclnnStatus aclnnReduceSum( + void *workspace, + uint64_t workspaceSize, + aclOpExecutor *executor, + aclrtStream stream) +{ + uint64_t timeStamp = NnopbaseMsprofSysTime(); + static NnopbaseDfxId dfxId = {0x60000, __func__, false}; + aclnnStatus ret = NnopbaseRunWithWorkspace(executor, stream, workspace, workspaceSize); + NnopbaseReportApiInfo(timeStamp, dfxId); + return ret; +} + +#ifdef __cplusplus +} +#endif diff --git a/precision_Problem/Is_standard/build_out/autogen/aclnn_reduce_sum.h b/precision_Problem/Is_standard/build_out/autogen/aclnn_reduce_sum.h new file mode 100644 index 0000000..9b58ad3 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/autogen/aclnn_reduce_sum.h @@ -0,0 +1,55 @@ + +/* + * calution: this file was generated automaticlly donot change it. +*/ + +#ifndef ACLNN_REDUCE_SUM_H_ +#define ACLNN_REDUCE_SUM_H_ + +#include "aclnn/acl_meta.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* funtion: aclnnReduceSumGetWorkspaceSize + * parameters : + * x : required + * axis : required + * keepDimsOptional : optional + * ignoreNanOptional : optional + * dtypeOptional : optional + * out : required + * workspaceSize : size of workspace(output). + * executor : executor context(output). + */ +__attribute__((visibility("default"))) +aclnnStatus aclnnReduceSumGetWorkspaceSize( + const aclTensor *x, + const aclTensor *axis, + bool keepDimsOptional, + bool ignoreNanOptional, + char *dtypeOptional, + const aclTensor *out, + uint64_t *workspaceSize, + aclOpExecutor **executor); + +/* funtion: aclnnReduceSum + * parameters : + * workspace : workspace memory addr(input). + * workspaceSize : size of workspace(input). + * executor : executor context(input). + * stream : acl stream. + */ +__attribute__((visibility("default"))) +aclnnStatus aclnnReduceSum( + void *workspace, + uint64_t workspaceSize, + aclOpExecutor *executor, + aclrtStream stream); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/precision_Problem/Is_standard/build_out/autogen/aic-ascend310b-ops-info.ini b/precision_Problem/Is_standard/build_out/autogen/aic-ascend310b-ops-info.ini new file mode 100644 index 0000000..b6ad90c --- /dev/null +++ b/precision_Problem/Is_standard/build_out/autogen/aic-ascend310b-ops-info.ini @@ -0,0 +1,40 @@ +[ReduceSum] +input0.name=x +input0.dtype=float32,float16,int32,int8 +input0.format=ND,ND,ND,ND +input0.unknownshape_format=ND,ND,ND,ND +input0.shape=all +input0.paramType=required +input1.name=axis +input1.dtype=int32,int32,int32,int32 +input1.format=ND,ND,ND,ND +input1.unknownshape_format=ND,ND,ND,ND +input1.shape=all +input1.paramType=required +output0.name=y +output0.dtype=float32,float16,int32,int8 +output0.format=ND,ND,ND,ND +output0.unknownshape_format=ND,ND,ND,ND +output0.shape=all +output0.paramType=required +attr.list=keep_dims,ignore_nan,dtype +attr_keep_dims.type=bool +attr_keep_dims.value=all +attr_keep_dims.paramType=optional +attr_keep_dims.defaultValue=false +attr_ignore_nan.type=bool +attr_ignore_nan.value=all +attr_ignore_nan.paramType=optional +attr_ignore_nan.defaultValue=false +attr_dtype.type=str +attr_dtype.value=all +attr_dtype.paramType=optional +attr_dtype.defaultValue=float +dynamicCompileStatic.flag=true +dynamicFormat.flag=true +dynamicRankSupport.flag=true +dynamicShapeSupport.flag=true +needCheckSupport.flag=false +precision_reduce.flag=true +opFile.value=reduce_sum +opInterface.value=reduce_sum diff --git a/precision_Problem/Is_standard/build_out/autogen/custom_compile_options.ini b/precision_Problem/Is_standard/build_out/autogen/custom_compile_options.ini new file mode 100644 index 0000000..e69de29 diff --git a/precision_Problem/Is_standard/build_out/autogen/libascend_all_ops.so b/precision_Problem/Is_standard/build_out/autogen/libascend_all_ops.so new file mode 100644 index 0000000000000000000000000000000000000000..b0f4a44a1bb1943cfa12cfe43788685e3ee00f04 GIT binary patch literal 1070488 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

=@I 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 literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o.d b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o.d new file mode 100644 index 0000000..1ed7057 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o.d @@ -0,0 +1,252 @@ +op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o: \ + /Package_Cann/test/No_standard/build_out/autogen/op_proto.cc \ + /usr/include/stdc-predef.h \ + /Package_Cann/test/No_standard/build_out/autogen/op_proto.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h \ + /usr/include/c++/11/functional \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h /usr/include/c++/11/tuple \ + /usr/include/c++/11/utility /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/bits/stl_pair.h /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/array /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h /usr/include/c++/11/bits/refwrap.h \ + /usr/include/c++/11/bits/std_function.h /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/memory /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h /usr/include/c++/11/bit \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/bits/shared_ptr.h /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/backward/auto_ptr.h /usr/include/c++/11/string \ + /usr/include/c++/11/bits/char_traits.h /usr/include/c++/11/cstdint \ + /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h /usr/include/c++/11/cctype \ + /usr/include/ctype.h /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/string_conversions.h /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h /usr/include/c++/11/cstdio \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/stdio2.h /usr/include/c++/11/cerrno \ + /usr/include/errno.h /usr/include/aarch64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/basic_string.tcc /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/vector.tcc \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/include/c++/11/map /usr/include/c++/11/bits/stl_tree.h \ + /usr/include/c++/11/bits/stl_map.h \ + /usr/include/c++/11/bits/stl_multimap.h \ + /usr/include/c++/11/bits/erase_if.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./inference_context.h \ + /usr/include/c++/11/set /usr/include/c++/11/bits/stl_set.h \ + /usr/include/c++/11/bits/stl_multiset.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./tensor.h \ + /usr/include/c++/11/atomic \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./resource_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./gnode.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h \ + /usr/include/c++/11/unordered_set /usr/include/c++/11/bits/hashtable.h \ + /usr/include/c++/11/bits/hashtable_policy.h \ + /usr/include/c++/11/bits/enable_special_members.h \ + /usr/include/c++/11/bits/unordered_set.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h \ + /usr/include/string.h /usr/include/strings.h \ + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h \ + /usr/include/aarch64-linux-gnu/bits/string_fortified.h \ + /usr/include/c++/11/stdlib.h /usr/include/c++/11/iostream \ + /usr/include/c++/11/ostream /usr/include/c++/11/ios \ + /usr/include/c++/11/bits/ios_base.h \ + /usr/include/c++/11/bits/locale_classes.h \ + /usr/include/c++/11/bits/locale_classes.tcc \ + /usr/include/c++/11/system_error \ + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h \ + /usr/include/c++/11/stdexcept /usr/include/c++/11/streambuf \ + /usr/include/c++/11/bits/streambuf.tcc \ + /usr/include/c++/11/bits/basic_ios.h \ + /usr/include/c++/11/bits/locale_facets.h /usr/include/c++/11/cwctype \ + /usr/include/wctype.h /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h \ + /usr/include/c++/11/bits/streambuf_iterator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h \ + /usr/include/c++/11/bits/locale_facets.tcc \ + /usr/include/c++/11/bits/basic_ios.tcc \ + /usr/include/c++/11/bits/ostream.tcc /usr/include/c++/11/istream \ + /usr/include/c++/11/bits/istream.tcc /usr/include/c++/11/cstring \ + /usr/include/c++/11/limits \ + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h \ + /usr/include/c++/11/cstddef \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/build.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/build.make new file mode 100644 index 0000000..6dd4742 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/build.make @@ -0,0 +1,126 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +# Include any dependencies generated for this target. +include op_host/CMakeFiles/cust_op_proto.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.make + +# Include the progress variables for this target. +include op_host/CMakeFiles/cust_op_proto.dir/progress.make + +# Include the compile flags for this target's objects. +include op_host/CMakeFiles/cust_op_proto.dir/flags.make + +op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o: op_host/CMakeFiles/cust_op_proto.dir/flags.make +op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o: ../op_host/reduce_sum.cpp +op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o: op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o -MF CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o.d -o CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o -c /Package_Cann/test/No_standard/op_host/reduce_sum.cpp + +op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.i" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Package_Cann/test/No_standard/op_host/reduce_sum.cpp > CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.i + +op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.s" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Package_Cann/test/No_standard/op_host/reduce_sum.cpp -o CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.s + +op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o: op_host/CMakeFiles/cust_op_proto.dir/flags.make +op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o: autogen/op_proto.cc +op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o: op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o -MF CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o.d -o CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o -c /Package_Cann/test/No_standard/build_out/autogen/op_proto.cc + +op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.i" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Package_Cann/test/No_standard/build_out/autogen/op_proto.cc > CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.i + +op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.s" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Package_Cann/test/No_standard/build_out/autogen/op_proto.cc -o CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.s + +# Object files for target cust_op_proto +cust_op_proto_OBJECTS = \ +"CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o" \ +"CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o" + +# External object files for target cust_op_proto +cust_op_proto_EXTERNAL_OBJECTS = + +op_host/libcust_opsproto_rt2.0.so: op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o +op_host/libcust_opsproto_rt2.0.so: op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o +op_host/libcust_opsproto_rt2.0.so: op_host/CMakeFiles/cust_op_proto.dir/build.make +op_host/libcust_opsproto_rt2.0.so: op_host/CMakeFiles/cust_op_proto.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Linking CXX shared library libcust_opsproto_rt2.0.so" + cd /Package_Cann/test/No_standard/build_out/op_host && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cust_op_proto.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +op_host/CMakeFiles/cust_op_proto.dir/build: op_host/libcust_opsproto_rt2.0.so +.PHONY : op_host/CMakeFiles/cust_op_proto.dir/build + +op_host/CMakeFiles/cust_op_proto.dir/clean: + cd /Package_Cann/test/No_standard/build_out/op_host && $(CMAKE_COMMAND) -P CMakeFiles/cust_op_proto.dir/cmake_clean.cmake +.PHONY : op_host/CMakeFiles/cust_op_proto.dir/clean + +op_host/CMakeFiles/cust_op_proto.dir/depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Package_Cann/test/No_standard /Package_Cann/test/No_standard/op_host /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out/op_host /Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : op_host/CMakeFiles/cust_op_proto.dir/depend + diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/cmake_clean.cmake b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/cmake_clean.cmake new file mode 100644 index 0000000..5a3ba00 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/cmake_clean.cmake @@ -0,0 +1,13 @@ +file(REMOVE_RECURSE + "CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o" + "CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o.d" + "CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o" + "CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o.d" + "libcust_opsproto_rt2.0.pdb" + "libcust_opsproto_rt2.0.so" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/cust_op_proto.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.internal b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.internal new file mode 100644 index 0000000..320e4d0 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.internal @@ -0,0 +1,619 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o + /Package_Cann/test/No_standard/build_out/autogen/op_proto.cc + /usr/include/stdc-predef.h + /Package_Cann/test/No_standard/build_out/autogen/op_proto.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h + /usr/include/c++/11/functional + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h + /usr/include/features.h + /usr/include/features-time64.h + /usr/include/aarch64-linux-gnu/bits/wordsize.h + /usr/include/aarch64-linux-gnu/bits/timesize.h + /usr/include/aarch64-linux-gnu/sys/cdefs.h + /usr/include/aarch64-linux-gnu/bits/long-double.h + /usr/include/aarch64-linux-gnu/gnu/stubs.h + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h + /usr/include/c++/11/bits/stl_function.h + /usr/include/c++/11/backward/binders.h + /usr/include/c++/11/new + /usr/include/c++/11/bits/exception.h + /usr/include/c++/11/tuple + /usr/include/c++/11/utility + /usr/include/c++/11/bits/stl_relops.h + /usr/include/c++/11/bits/stl_pair.h + /usr/include/c++/11/bits/move.h + /usr/include/c++/11/type_traits + /usr/include/c++/11/initializer_list + /usr/include/c++/11/array + /usr/include/c++/11/bits/functexcept.h + /usr/include/c++/11/bits/exception_defines.h + /usr/include/c++/11/bits/stl_algobase.h + /usr/include/c++/11/bits/cpp_type_traits.h + /usr/include/c++/11/ext/type_traits.h + /usr/include/c++/11/ext/numeric_traits.h + /usr/include/c++/11/bits/stl_iterator_base_types.h + /usr/include/c++/11/bits/stl_iterator_base_funcs.h + /usr/include/c++/11/bits/concept_check.h + /usr/include/c++/11/debug/assertions.h + /usr/include/c++/11/bits/stl_iterator.h + /usr/include/c++/11/bits/ptr_traits.h + /usr/include/c++/11/debug/debug.h + /usr/include/c++/11/bits/predefined_ops.h + /usr/include/c++/11/bits/range_access.h + /usr/include/c++/11/bits/uses_allocator.h + /usr/include/c++/11/bits/invoke.h + /usr/include/c++/11/bits/functional_hash.h + /usr/include/c++/11/bits/hash_bytes.h + /usr/include/c++/11/bits/refwrap.h + /usr/include/c++/11/bits/std_function.h + /usr/include/c++/11/typeinfo + /usr/include/c++/11/memory + /usr/include/c++/11/bits/allocator.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h + /usr/include/c++/11/ext/new_allocator.h + /usr/include/c++/11/bits/memoryfwd.h + /usr/include/c++/11/bits/stl_construct.h + /usr/include/c++/11/bits/stl_uninitialized.h + /usr/include/c++/11/ext/alloc_traits.h + /usr/include/c++/11/bits/alloc_traits.h + /usr/include/c++/11/bits/stl_tempbuf.h + /usr/include/c++/11/bits/stl_raw_storage_iter.h + /usr/include/c++/11/bits/align.h + /usr/include/c++/11/bit + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h + /usr/include/stdint.h + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h + /usr/include/aarch64-linux-gnu/bits/types.h + /usr/include/aarch64-linux-gnu/bits/typesizes.h + /usr/include/aarch64-linux-gnu/bits/time64.h + /usr/include/aarch64-linux-gnu/bits/wchar.h + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h + /usr/include/c++/11/bits/unique_ptr.h + /usr/include/c++/11/bits/shared_ptr.h + /usr/include/c++/11/iosfwd + /usr/include/c++/11/bits/stringfwd.h + /usr/include/c++/11/bits/postypes.h + /usr/include/c++/11/cwchar + /usr/include/wchar.h + /usr/include/aarch64-linux-gnu/bits/floatn.h + /usr/include/aarch64-linux-gnu/bits/floatn-common.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h + /usr/include/aarch64-linux-gnu/bits/types/FILE.h + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h + /usr/include/aarch64-linux-gnu/bits/wchar2.h + /usr/include/c++/11/bits/shared_ptr_base.h + /usr/include/c++/11/bits/allocated_ptr.h + /usr/include/c++/11/ext/aligned_buffer.h + /usr/include/c++/11/ext/atomicity.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/aarch64-linux-gnu/bits/types/time_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h + /usr/include/aarch64-linux-gnu/bits/endian.h + /usr/include/aarch64-linux-gnu/bits/endianness.h + /usr/include/aarch64-linux-gnu/bits/sched.h + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/aarch64-linux-gnu/bits/cpu-set.h + /usr/include/time.h + /usr/include/aarch64-linux-gnu/bits/time.h + /usr/include/aarch64-linux-gnu/bits/timex.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h + /usr/include/aarch64-linux-gnu/bits/setjmp.h + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h + /usr/include/aarch64-linux-gnu/sys/single_threaded.h + /usr/include/c++/11/ext/concurrence.h + /usr/include/c++/11/exception + /usr/include/c++/11/bits/exception_ptr.h + /usr/include/c++/11/bits/cxxabi_init_exception.h + /usr/include/c++/11/bits/nested_exception.h + /usr/include/c++/11/bits/shared_ptr_atomic.h + /usr/include/c++/11/bits/atomic_base.h + /usr/include/c++/11/bits/atomic_lockfree_defines.h + /usr/include/c++/11/backward/auto_ptr.h + /usr/include/c++/11/string + /usr/include/c++/11/bits/char_traits.h + /usr/include/c++/11/cstdint + /usr/include/c++/11/bits/localefwd.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h + /usr/include/c++/11/clocale + /usr/include/locale.h + /usr/include/aarch64-linux-gnu/bits/locale.h + /usr/include/c++/11/cctype + /usr/include/ctype.h + /usr/include/c++/11/bits/ostream_insert.h + /usr/include/c++/11/bits/cxxabi_forced.h + /usr/include/c++/11/bits/basic_string.h + /usr/include/c++/11/ext/string_conversions.h + /usr/include/c++/11/cstdlib + /usr/include/stdlib.h + /usr/include/aarch64-linux-gnu/bits/waitflags.h + /usr/include/aarch64-linux-gnu/bits/waitstatus.h + /usr/include/aarch64-linux-gnu/sys/types.h + /usr/include/endian.h + /usr/include/aarch64-linux-gnu/bits/byteswap.h + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h + /usr/include/aarch64-linux-gnu/sys/select.h + /usr/include/aarch64-linux-gnu/bits/select.h + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h + /usr/include/aarch64-linux-gnu/bits/select2.h + /usr/include/alloca.h + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h + /usr/include/aarch64-linux-gnu/bits/stdlib.h + /usr/include/c++/11/bits/std_abs.h + /usr/include/c++/11/cstdio + /usr/include/stdio.h + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h + /usr/include/aarch64-linux-gnu/bits/stdio.h + /usr/include/aarch64-linux-gnu/bits/stdio2.h + /usr/include/c++/11/cerrno + /usr/include/errno.h + /usr/include/aarch64-linux-gnu/bits/errno.h + /usr/include/linux/errno.h + /usr/include/aarch64-linux-gnu/asm/errno.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/errno-base.h + /usr/include/aarch64-linux-gnu/bits/types/error_t.h + /usr/include/c++/11/bits/charconv.h + /usr/include/c++/11/bits/basic_string.tcc + /usr/include/c++/11/vector + /usr/include/c++/11/bits/stl_vector.h + /usr/include/c++/11/bits/stl_bvector.h + /usr/include/c++/11/bits/vector.tcc + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h + /usr/include/c++/11/map + /usr/include/c++/11/bits/stl_tree.h + /usr/include/c++/11/bits/stl_map.h + /usr/include/c++/11/bits/stl_multimap.h + /usr/include/c++/11/bits/erase_if.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h + /usr/include/c++/11/set + /usr/include/c++/11/bits/stl_set.h + /usr/include/c++/11/bits/stl_multiset.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/include/c++/11/atomic + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/gnode.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h + /usr/include/c++/11/unordered_set + /usr/include/c++/11/bits/hashtable.h + /usr/include/c++/11/bits/hashtable_policy.h + /usr/include/c++/11/bits/enable_special_members.h + /usr/include/c++/11/bits/unordered_set.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h + /usr/include/aarch64-linux-gnu/bits/string_fortified.h + /usr/include/c++/11/stdlib.h + /usr/include/c++/11/iostream + /usr/include/c++/11/ostream + /usr/include/c++/11/ios + /usr/include/c++/11/bits/ios_base.h + /usr/include/c++/11/bits/locale_classes.h + /usr/include/c++/11/bits/locale_classes.tcc + /usr/include/c++/11/system_error + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h + /usr/include/c++/11/stdexcept + /usr/include/c++/11/streambuf + /usr/include/c++/11/bits/streambuf.tcc + /usr/include/c++/11/bits/basic_ios.h + /usr/include/c++/11/bits/locale_facets.h + /usr/include/c++/11/cwctype + /usr/include/wctype.h + /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h + /usr/include/c++/11/bits/streambuf_iterator.h + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h + /usr/include/c++/11/bits/locale_facets.tcc + /usr/include/c++/11/bits/basic_ios.tcc + /usr/include/c++/11/bits/ostream.tcc + /usr/include/c++/11/istream + /usr/include/c++/11/bits/istream.tcc + /usr/include/c++/11/cstring + /usr/include/c++/11/limits + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h + /usr/include/c++/11/cstddef + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + +op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o + /Package_Cann/test/No_standard/op_host/reduce_sum.cpp + /usr/include/stdc-predef.h + /Package_Cann/test/No_standard/op_host/reduce_sum_tiling.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/tilingdata_base.h + /usr/include/c++/11/vector + /usr/include/c++/11/bits/stl_algobase.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h + /usr/include/features.h + /usr/include/features-time64.h + /usr/include/aarch64-linux-gnu/bits/wordsize.h + /usr/include/aarch64-linux-gnu/bits/timesize.h + /usr/include/aarch64-linux-gnu/sys/cdefs.h + /usr/include/aarch64-linux-gnu/bits/long-double.h + /usr/include/aarch64-linux-gnu/gnu/stubs.h + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h + /usr/include/c++/11/bits/functexcept.h + /usr/include/c++/11/bits/exception_defines.h + /usr/include/c++/11/bits/cpp_type_traits.h + /usr/include/c++/11/ext/type_traits.h + /usr/include/c++/11/ext/numeric_traits.h + /usr/include/c++/11/bits/stl_pair.h + /usr/include/c++/11/bits/move.h + /usr/include/c++/11/type_traits + /usr/include/c++/11/bits/stl_iterator_base_types.h + /usr/include/c++/11/bits/stl_iterator_base_funcs.h + /usr/include/c++/11/bits/concept_check.h + /usr/include/c++/11/debug/assertions.h + /usr/include/c++/11/bits/stl_iterator.h + /usr/include/c++/11/bits/ptr_traits.h + /usr/include/c++/11/debug/debug.h + /usr/include/c++/11/bits/predefined_ops.h + /usr/include/c++/11/bits/allocator.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h + /usr/include/c++/11/ext/new_allocator.h + /usr/include/c++/11/new + /usr/include/c++/11/bits/exception.h + /usr/include/c++/11/bits/memoryfwd.h + /usr/include/c++/11/bits/stl_construct.h + /usr/include/c++/11/bits/stl_uninitialized.h + /usr/include/c++/11/ext/alloc_traits.h + /usr/include/c++/11/bits/alloc_traits.h + /usr/include/c++/11/bits/stl_vector.h + /usr/include/c++/11/initializer_list + /usr/include/c++/11/bits/stl_bvector.h + /usr/include/c++/11/bits/functional_hash.h + /usr/include/c++/11/bits/hash_bytes.h + /usr/include/c++/11/bits/range_access.h + /usr/include/c++/11/bits/vector.tcc + /usr/include/c++/11/map + /usr/include/c++/11/bits/stl_tree.h + /usr/include/c++/11/bits/stl_function.h + /usr/include/c++/11/backward/binders.h + /usr/include/c++/11/ext/aligned_buffer.h + /usr/include/c++/11/bits/stl_map.h + /usr/include/c++/11/tuple + /usr/include/c++/11/utility + /usr/include/c++/11/bits/stl_relops.h + /usr/include/c++/11/array + /usr/include/c++/11/bits/uses_allocator.h + /usr/include/c++/11/bits/invoke.h + /usr/include/c++/11/bits/stl_multimap.h + /usr/include/c++/11/bits/erase_if.h + /usr/include/c++/11/memory + /usr/include/c++/11/bits/stl_tempbuf.h + /usr/include/c++/11/bits/stl_raw_storage_iter.h + /usr/include/c++/11/bits/align.h + /usr/include/c++/11/bit + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h + /usr/include/stdint.h + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h + /usr/include/aarch64-linux-gnu/bits/types.h + /usr/include/aarch64-linux-gnu/bits/typesizes.h + /usr/include/aarch64-linux-gnu/bits/time64.h + /usr/include/aarch64-linux-gnu/bits/wchar.h + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h + /usr/include/c++/11/bits/unique_ptr.h + /usr/include/c++/11/bits/shared_ptr.h + /usr/include/c++/11/iosfwd + /usr/include/c++/11/bits/stringfwd.h + /usr/include/c++/11/bits/postypes.h + /usr/include/c++/11/cwchar + /usr/include/wchar.h + /usr/include/aarch64-linux-gnu/bits/floatn.h + /usr/include/aarch64-linux-gnu/bits/floatn-common.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h + /usr/include/aarch64-linux-gnu/bits/types/FILE.h + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h + /usr/include/aarch64-linux-gnu/bits/wchar2.h + /usr/include/c++/11/bits/shared_ptr_base.h + /usr/include/c++/11/typeinfo + /usr/include/c++/11/bits/allocated_ptr.h + /usr/include/c++/11/bits/refwrap.h + /usr/include/c++/11/ext/atomicity.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/aarch64-linux-gnu/bits/types/time_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h + /usr/include/aarch64-linux-gnu/bits/endian.h + /usr/include/aarch64-linux-gnu/bits/endianness.h + /usr/include/aarch64-linux-gnu/bits/sched.h + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/aarch64-linux-gnu/bits/cpu-set.h + /usr/include/time.h + /usr/include/aarch64-linux-gnu/bits/time.h + /usr/include/aarch64-linux-gnu/bits/timex.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h + /usr/include/aarch64-linux-gnu/bits/setjmp.h + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h + /usr/include/aarch64-linux-gnu/sys/single_threaded.h + /usr/include/c++/11/ext/concurrence.h + /usr/include/c++/11/exception + /usr/include/c++/11/bits/exception_ptr.h + /usr/include/c++/11/bits/cxxabi_init_exception.h + /usr/include/c++/11/bits/nested_exception.h + /usr/include/c++/11/bits/shared_ptr_atomic.h + /usr/include/c++/11/bits/atomic_base.h + /usr/include/c++/11/bits/atomic_lockfree_defines.h + /usr/include/c++/11/backward/auto_ptr.h + /usr/include/c++/11/cstring + /usr/include/string.h + /usr/include/strings.h + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h + /usr/include/aarch64-linux-gnu/bits/string_fortified.h + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h + /usr/include/stdio.h + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h + /usr/include/aarch64-linux-gnu/bits/stdio.h + /usr/include/aarch64-linux-gnu/bits/stdio2.h + /usr/include/c++/11/stdlib.h + /usr/include/c++/11/cstdlib + /usr/include/stdlib.h + /usr/include/aarch64-linux-gnu/bits/waitflags.h + /usr/include/aarch64-linux-gnu/bits/waitstatus.h + /usr/include/aarch64-linux-gnu/sys/types.h + /usr/include/endian.h + /usr/include/aarch64-linux-gnu/bits/byteswap.h + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h + /usr/include/aarch64-linux-gnu/sys/select.h + /usr/include/aarch64-linux-gnu/bits/select.h + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h + /usr/include/aarch64-linux-gnu/bits/select2.h + /usr/include/alloca.h + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h + /usr/include/aarch64-linux-gnu/bits/stdlib.h + /usr/include/c++/11/bits/std_abs.h + /usr/include/errno.h + /usr/include/aarch64-linux-gnu/bits/errno.h + /usr/include/linux/errno.h + /usr/include/aarch64-linux-gnu/asm/errno.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/errno-base.h + /usr/include/aarch64-linux-gnu/bits/types/error_t.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/include/c++/11/string + /usr/include/c++/11/bits/char_traits.h + /usr/include/c++/11/cstdint + /usr/include/c++/11/bits/localefwd.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h + /usr/include/c++/11/clocale + /usr/include/locale.h + /usr/include/aarch64-linux-gnu/bits/locale.h + /usr/include/c++/11/cctype + /usr/include/ctype.h + /usr/include/c++/11/bits/ostream_insert.h + /usr/include/c++/11/bits/cxxabi_forced.h + /usr/include/c++/11/bits/basic_string.h + /usr/include/c++/11/ext/string_conversions.h + /usr/include/c++/11/cstdio + /usr/include/c++/11/cerrno + /usr/include/c++/11/bits/charconv.h + /usr/include/c++/11/bits/basic_string.tcc + /usr/include/c++/11/functional + /usr/include/c++/11/bits/std_function.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/include/c++/11/atomic + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_registry.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def.h + /usr/include/c++/11/iostream + /usr/include/c++/11/ostream + /usr/include/c++/11/ios + /usr/include/c++/11/bits/ios_base.h + /usr/include/c++/11/bits/locale_classes.h + /usr/include/c++/11/bits/locale_classes.tcc + /usr/include/c++/11/system_error + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h + /usr/include/c++/11/stdexcept + /usr/include/c++/11/streambuf + /usr/include/c++/11/bits/streambuf.tcc + /usr/include/c++/11/bits/basic_ios.h + /usr/include/c++/11/bits/locale_facets.h + /usr/include/c++/11/cwctype + /usr/include/wctype.h + /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h + /usr/include/c++/11/bits/streambuf_iterator.h + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h + /usr/include/c++/11/bits/locale_facets.tcc + /usr/include/c++/11/bits/basic_ios.tcc + /usr/include/c++/11/bits/ostream.tcc + /usr/include/c++/11/istream + /usr/include/c++/11/bits/istream.tcc + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h + /usr/include/c++/11/unordered_set + /usr/include/c++/11/bits/hashtable.h + /usr/include/c++/11/bits/hashtable_policy.h + /usr/include/c++/11/bits/enable_special_members.h + /usr/include/c++/11/bits/unordered_set.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h + /usr/include/c++/11/limits + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h + /usr/include/c++/11/cstddef + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h + /usr/include/c++/11/set + /usr/include/c++/11/bits/stl_set.h + /usr/include/c++/11/bits/stl_multiset.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/gnode.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_factory.h + /usr/local/Ascend/ascend-toolkit/latest/include/tiling/platform/platform_ascendc.h + /usr/include/c++/11/mutex + /usr/include/c++/11/chrono + /usr/include/c++/11/ratio + /usr/include/c++/11/ctime + /usr/include/c++/11/bits/parse_numbers.h + /usr/include/c++/11/bits/std_mutex.h + /usr/include/c++/11/bits/unique_lock.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/utils/type_utils.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_rt.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_op.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_mdl.h + diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.make new file mode 100644 index 0000000..a997299 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.make @@ -0,0 +1,1215 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o: autogen/op_proto.cc \ + /usr/include/stdc-predef.h \ + autogen/op_proto.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h \ + /usr/include/c++/11/functional \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h \ + /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/tuple \ + /usr/include/c++/11/utility \ + /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/bits/stl_pair.h \ + /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/array \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h \ + /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/refwrap.h \ + /usr/include/c++/11/bits/std_function.h \ + /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/memory \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h \ + /usr/include/c++/11/bit \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h \ + /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/bits/shared_ptr.h \ + /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h \ + /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar \ + /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h \ + /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h \ + /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/backward/auto_ptr.h \ + /usr/include/c++/11/string \ + /usr/include/c++/11/bits/char_traits.h \ + /usr/include/c++/11/cstdint \ + /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale \ + /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h \ + /usr/include/c++/11/cctype \ + /usr/include/ctype.h \ + /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/string_conversions.h \ + /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h \ + /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h \ + /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h \ + /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h \ + /usr/include/c++/11/cstdio \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/stdio2.h \ + /usr/include/c++/11/cerrno \ + /usr/include/errno.h \ + /usr/include/aarch64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h \ + /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/basic_string.tcc \ + /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/vector.tcc \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/include/c++/11/map \ + /usr/include/c++/11/bits/stl_tree.h \ + /usr/include/c++/11/bits/stl_map.h \ + /usr/include/c++/11/bits/stl_multimap.h \ + /usr/include/c++/11/bits/erase_if.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/include/c++/11/set \ + /usr/include/c++/11/bits/stl_set.h \ + /usr/include/c++/11/bits/stl_multiset.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/include/c++/11/atomic \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/gnode.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h \ + /usr/include/c++/11/unordered_set \ + /usr/include/c++/11/bits/hashtable.h \ + /usr/include/c++/11/bits/hashtable_policy.h \ + /usr/include/c++/11/bits/enable_special_members.h \ + /usr/include/c++/11/bits/unordered_set.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h \ + /usr/include/aarch64-linux-gnu/bits/string_fortified.h \ + /usr/include/c++/11/stdlib.h \ + /usr/include/c++/11/iostream \ + /usr/include/c++/11/ostream \ + /usr/include/c++/11/ios \ + /usr/include/c++/11/bits/ios_base.h \ + /usr/include/c++/11/bits/locale_classes.h \ + /usr/include/c++/11/bits/locale_classes.tcc \ + /usr/include/c++/11/system_error \ + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h \ + /usr/include/c++/11/stdexcept \ + /usr/include/c++/11/streambuf \ + /usr/include/c++/11/bits/streambuf.tcc \ + /usr/include/c++/11/bits/basic_ios.h \ + /usr/include/c++/11/bits/locale_facets.h \ + /usr/include/c++/11/cwctype \ + /usr/include/wctype.h \ + /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h \ + /usr/include/c++/11/bits/streambuf_iterator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h \ + /usr/include/c++/11/bits/locale_facets.tcc \ + /usr/include/c++/11/bits/basic_ios.tcc \ + /usr/include/c++/11/bits/ostream.tcc \ + /usr/include/c++/11/istream \ + /usr/include/c++/11/bits/istream.tcc \ + /usr/include/c++/11/cstring \ + /usr/include/c++/11/limits \ + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h \ + /usr/include/c++/11/cstddef \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + +op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o: ../op_host/reduce_sum.cpp \ + /usr/include/stdc-predef.h \ + ../op_host/reduce_sum_tiling.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/tilingdata_base.h \ + /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h \ + /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_pair.h \ + /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h \ + /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h \ + /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/vector.tcc \ + /usr/include/c++/11/map \ + /usr/include/c++/11/bits/stl_tree.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/bits/stl_map.h \ + /usr/include/c++/11/tuple \ + /usr/include/c++/11/utility \ + /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/array \ + /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/stl_multimap.h \ + /usr/include/c++/11/bits/erase_if.h \ + /usr/include/c++/11/memory \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h \ + /usr/include/c++/11/bit \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h \ + /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/bits/shared_ptr.h \ + /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h \ + /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar \ + /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h \ + /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/bits/refwrap.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h \ + /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h \ + /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/backward/auto_ptr.h \ + /usr/include/c++/11/cstring \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h \ + /usr/include/aarch64-linux-gnu/bits/string_fortified.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/stdio2.h \ + /usr/include/c++/11/stdlib.h \ + /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h \ + /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h \ + /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h \ + /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h \ + /usr/include/errno.h \ + /usr/include/aarch64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h \ + /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/include/c++/11/string \ + /usr/include/c++/11/bits/char_traits.h \ + /usr/include/c++/11/cstdint \ + /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale \ + /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h \ + /usr/include/c++/11/cctype \ + /usr/include/ctype.h \ + /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/string_conversions.h \ + /usr/include/c++/11/cstdio \ + /usr/include/c++/11/cerrno \ + /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/basic_string.tcc \ + /usr/include/c++/11/functional \ + /usr/include/c++/11/bits/std_function.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/include/c++/11/atomic \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def.h \ + /usr/include/c++/11/iostream \ + /usr/include/c++/11/ostream \ + /usr/include/c++/11/ios \ + /usr/include/c++/11/bits/ios_base.h \ + /usr/include/c++/11/bits/locale_classes.h \ + /usr/include/c++/11/bits/locale_classes.tcc \ + /usr/include/c++/11/system_error \ + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h \ + /usr/include/c++/11/stdexcept \ + /usr/include/c++/11/streambuf \ + /usr/include/c++/11/bits/streambuf.tcc \ + /usr/include/c++/11/bits/basic_ios.h \ + /usr/include/c++/11/bits/locale_facets.h \ + /usr/include/c++/11/cwctype \ + /usr/include/wctype.h \ + /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h \ + /usr/include/c++/11/bits/streambuf_iterator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h \ + /usr/include/c++/11/bits/locale_facets.tcc \ + /usr/include/c++/11/bits/basic_ios.tcc \ + /usr/include/c++/11/bits/ostream.tcc \ + /usr/include/c++/11/istream \ + /usr/include/c++/11/bits/istream.tcc \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h \ + /usr/include/c++/11/unordered_set \ + /usr/include/c++/11/bits/hashtable.h \ + /usr/include/c++/11/bits/hashtable_policy.h \ + /usr/include/c++/11/bits/enable_special_members.h \ + /usr/include/c++/11/bits/unordered_set.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/include/c++/11/limits \ + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h \ + /usr/include/c++/11/cstddef \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h \ + /usr/include/c++/11/set \ + /usr/include/c++/11/bits/stl_set.h \ + /usr/include/c++/11/bits/stl_multiset.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/gnode.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/tiling/platform/platform_ascendc.h \ + /usr/include/c++/11/mutex \ + /usr/include/c++/11/chrono \ + /usr/include/c++/11/ratio \ + /usr/include/c++/11/ctime \ + /usr/include/c++/11/bits/parse_numbers.h \ + /usr/include/c++/11/bits/std_mutex.h \ + /usr/include/c++/11/bits/unique_lock.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/utils/type_utils.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_rt.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_op.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_mdl.h + + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_op.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_rt.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/utils/type_utils.h: + +/usr/include/c++/11/bits/parse_numbers.h: + +/usr/include/c++/11/ctime: + +/usr/include/c++/11/ratio: + +/usr/include/c++/11/chrono: + +/usr/include/c++/11/mutex: + +/usr/local/Ascend/ascend-toolkit/latest/include/tiling/platform/platform_ascendc.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_factory.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_def.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_registry.h: + +../op_host/reduce_sum_tiling.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h: + +/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h: + +/usr/include/aarch64-linux-gnu/bits/struct_mutex.h: + +/usr/include/aarch64-linux-gnu/bits/setjmp.h: + +/usr/include/aarch64-linux-gnu/bits/types.h: + +/usr/include/c++/11/bits/hashtable.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h: + +/usr/include/c++/11/bits/ostream.tcc: + +/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h: + +/usr/include/c++/11/bits/allocator.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h: + +/usr/include/c++/11/bits/streambuf_iterator.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h: + +/usr/include/c++/11/bits/allocated_ptr.h: + +/usr/include/aarch64-linux-gnu/bits/floatn-common.h: + +/usr/include/aarch64-linux-gnu/bits/wchar2.h: + +/usr/include/aarch64-linux-gnu/bits/wchar.h: + +/usr/include/aarch64-linux-gnu/bits/types/FILE.h: + +/usr/include/aarch64-linux-gnu/bits/types/__FILE.h: + +/usr/include/aarch64-linux-gnu/bits/cpu-set.h: + +/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h: + +/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h: + +/usr/include/c++/11/backward/binders.h: + +/usr/include/c++/11/iostream: + +/usr/include/wchar.h: + +/usr/include/c++/11/bits/cxxabi_init_exception.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h: + +/usr/include/c++/11/cwchar: + +/usr/include/c++/11/bits/stl_algobase.h: + +/usr/include/c++/11/bits/postypes.h: + +/usr/include/aarch64-linux-gnu/sys/types.h: + +/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h: + +/usr/include/c++/11/cstdio: + +/usr/include/aarch64-linux-gnu/bits/struct_rwlock.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h: + +/usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h: + +/usr/include/c++/11/initializer_list: + +/usr/include/c++/11/iosfwd: + +/usr/include/aarch64-linux-gnu/bits/stdint-intn.h: + +/usr/include/c++/11/bits/locale_facets.tcc: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h: + +/usr/include/c++/11/bit: + +/usr/include/c++/11/bits/stl_iterator_base_types.h: + +/usr/include/c++/11/cstdlib: + +/usr/include/c++/11/bits/align.h: + +/usr/include/c++/11/vector: + +/usr/include/c++/11/bits/stl_raw_storage_iter.h: + +/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h: + +/usr/include/aarch64-linux-gnu/bits/endian.h: + +/usr/include/c++/11/bits/unique_ptr.h: + +/usr/include/c++/11/ostream: + +autogen/op_proto.cc: + +/usr/include/c++/11/bits/stl_relops.h: + +/usr/include/c++/11/bits/hash_bytes.h: + +/usr/include/c++/11/bits/move.h: + +/usr/include/aarch64-linux-gnu/bits/wordsize.h: + +/usr/include/c++/11/bits/char_traits.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/c++/11/ext/atomicity.h: + +/usr/include/c++/11/bits/memoryfwd.h: + +/usr/include/c++/11/bits/stl_function.h: + +/usr/include/aarch64-linux-gnu/bits/endianness.h: + +/usr/include/ctype.h: + +/usr/include/c++/11/type_traits: + +/usr/include/c++/11/bits/stl_tree.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h: + +/usr/include/aarch64-linux-gnu/bits/stdio2.h: + +/usr/include/aarch64-linux-gnu/bits/errno.h: + +/usr/include/c++/11/bits/stl_pair.h: + +/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h: + +/usr/include/c++/11/ext/type_traits.h: + +/usr/include/aarch64-linux-gnu/bits/time.h: + +/usr/include/c++/11/bits/functexcept.h: + +/usr/include/aarch64-linux-gnu/bits/select2.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib-float.h: + +/usr/include/c++/11/streambuf: + +/usr/include/aarch64-linux-gnu/bits/time64.h: + +/usr/include/alloca.h: + +autogen/op_proto.h: + +/usr/include/c++/11/new: + +/usr/include/c++/11/bits/stl_iterator.h: + +/usr/include/c++/11/array: + +/usr/include/c++/11/cstddef: + +/usr/include/c++/11/bits/stl_vector.h: + +/usr/include/c++/11/system_error: + +/usr/include/c++/11/typeinfo: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h: + +/usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h: + +/usr/include/c++/11/bits/shared_ptr.h: + +/usr/include/c++/11/bits/stl_construct.h: + +/usr/include/aarch64-linux-gnu/sys/cdefs.h: + +/usr/include/c++/11/exception: + +/usr/include/aarch64-linux-gnu/bits/timesize.h: + +/usr/include/c++/11/bits/refwrap.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h: + +/usr/include/c++/11/limits: + +/usr/include/c++/11/bits/predefined_ops.h: + +/usr/include/c++/11/bits/functional_hash.h: + +/usr/include/c++/11/bits/atomic_base.h: + +/usr/include/errno.h: + +/usr/include/features.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h: + +/usr/include/c++/11/bits/unique_lock.h: + +/usr/include/c++/11/bits/uses_allocator.h: + +/usr/include/aarch64-linux-gnu/sys/single_threaded.h: + +/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h: + +/usr/include/features-time64.h: + +/usr/include/c++/11/debug/debug.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h: + +/usr/include/c++/11/clocale: + +/usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h: + +/usr/include/pthread.h: + +/usr/include/c++/11/bits/exception_defines.h: + +/usr/include/c++/11/atomic: + +/usr/include/aarch64-linux-gnu/bits/libc-header-start.h: + +/usr/include/c++/11/cstring: + +/usr/include/c++/11/bits/erase_if.h: + +/usr/include/endian.h: + +/usr/include/c++/11/bits/ptr_traits.h: + +/usr/include/stdint.h: + +/usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/timer_t.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h: + +/usr/include/c++/11/bits/concept_check.h: + +/usr/include/aarch64-linux-gnu/bits/byteswap.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h: + +/usr/include/c++/11/debug/assertions.h: + +/usr/include/aarch64-linux-gnu/bits/types/clock_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/locale_t.h: + +/usr/include/c++/11/bits/range_access.h: + +/usr/include/c++/11/map: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/tilingdata_base.h: + +/usr/include/c++/11/bits/std_function.h: + +/usr/include/c++/11/bits/stl_tempbuf.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h: + +/usr/include/c++/11/memory: + +/usr/include/c++/11/ext/new_allocator.h: + +/usr/include/c++/11/bits/cpp_type_traits.h: + +/usr/include/c++/11/bits/stl_iterator_base_funcs.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_mdl.h: + +/usr/include/c++/11/bits/stl_uninitialized.h: + +/usr/include/c++/11/backward/auto_ptr.h: + +/usr/include/c++/11/ext/alloc_traits.h: + +/usr/include/aarch64-linux-gnu/bits/floatn.h: + +/usr/include/c++/11/bits/cxxabi_forced.h: + +/usr/include/stdc-predef.h: + +/usr/include/c++/11/bits/alloc_traits.h: + +/usr/include/c++/11/ext/concurrence.h: + +/usr/include/c++/11/bits/exception_ptr.h: + +/usr/include/c++/11/ext/string_conversions.h: + +/usr/include/c++/11/bits/nested_exception.h: + +/usr/include/c++/11/bits/shared_ptr_atomic.h: + +/usr/include/aarch64-linux-gnu/bits/typesizes.h: + +/usr/include/c++/11/bits/atomic_lockfree_defines.h: + +/usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h: + +/usr/include/c++/11/string: + +/usr/include/c++/11/cstdint: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl.h: + +/usr/include/c++/11/bits/localefwd.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h: + +/usr/include/aarch64-linux-gnu/bits/stdio.h: + +/usr/include/c++/11/cerrno: + +/usr/include/aarch64-linux-gnu/bits/types/wint_t.h: + +/usr/include/locale.h: + +/usr/include/aarch64-linux-gnu/bits/locale.h: + +/usr/include/aarch64-linux-gnu/bits/string_fortified.h: + +/usr/include/c++/11/cctype: + +/usr/include/c++/11/bits/stl_multimap.h: + +/usr/include/aarch64-linux-gnu/asm/errno.h: + +/usr/include/c++/11/bits/ostream_insert.h: + +/usr/include/c++/11/bits/shared_ptr_base.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h: + +/usr/include/c++/11/bits/basic_string.h: + +/usr/include/stdlib.h: + +/usr/include/aarch64-linux-gnu/bits/waitflags.h: + +/usr/include/aarch64-linux-gnu/bits/waitstatus.h: + +/usr/include/aarch64-linux-gnu/bits/uintn-identity.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h: + +/usr/include/aarch64-linux-gnu/sys/select.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/aarch64-linux-gnu/bits/long-double.h: + +/usr/include/c++/11/bits/std_abs.h: + +/usr/include/stdio.h: + +/usr/include/c++/11/bits/stringfwd.h: + +/usr/include/aarch64-linux-gnu/bits/strings_fortified.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h: + +/usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h: + +/usr/include/time.h: + +/usr/include/aarch64-linux-gnu/bits/wctype-wchar.h: + +/usr/include/aarch64-linux-gnu/bits/types/error_t.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/c++/11/bits/basic_string.tcc: + +/usr/include/c++/11/bits/stl_bvector.h: + +/usr/include/c++/11/bits/vector.tcc: + +/usr/include/c++/11/ext/numeric_traits.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h: + +/usr/include/c++/11/bits/stl_map.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h: + +/usr/include/c++/11/istream: + +/usr/include/c++/11/set: + +/usr/include/c++/11/bits/charconv.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/securectype.h: + +/usr/include/c++/11/bits/ios_base.h: + +/usr/include/aarch64-linux-gnu/bits/types/time_t.h: + +/usr/include/c++/11/bits/stl_set.h: + +/usr/include/aarch64-linux-gnu/bits/stdio_lim.h: + +/usr/include/c++/11/bits/stl_multiset.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h: + +/usr/include/c++/11/bits/std_mutex.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/gnode.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h: + +/usr/include/c++/11/bits/basic_ios.tcc: + +/usr/include/c++/11/bits/enable_special_members.h: + +/usr/include/c++/11/bits/invoke.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h: + +/usr/include/aarch64-linux-gnu/bits/timex.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h: + +/usr/include/c++/11/unordered_set: + +/usr/include/c++/11/bits/hashtable_policy.h: + +/usr/include/c++/11/bits/unordered_set.h: + +/usr/include/c++/11/ext/aligned_buffer.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h: + +/usr/include/c++/11/stdexcept: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h: + +/usr/include/c++/11/stdlib.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h: + +/usr/include/c++/11/tuple: + +/usr/include/aarch64-linux-gnu/bits/select.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/securec.h: + +/usr/include/c++/11/bits/streambuf.tcc: + +/usr/include/string.h: + +/usr/include/strings.h: + +/usr/include/c++/11/utility: + +/usr/include/c++/11/ios: + +/usr/include/c++/11/bits/locale_classes.h: + +/usr/include/c++/11/bits/locale_classes.tcc: + +/usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h: + +/usr/include/c++/11/bits/basic_ios.h: + +/usr/include/c++/11/bits/exception.h: + +/usr/include/c++/11/bits/locale_facets.h: + +../op_host/reduce_sum.cpp: + +/usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h: + +/usr/include/c++/11/cwctype: + +/usr/include/sched.h: + +/usr/include/wctype.h: + +/usr/include/c++/11/functional: + +/usr/include/linux/errno.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h: + +/usr/include/aarch64-linux-gnu/bits/sched.h: + +/usr/include/c++/11/bits/istream.tcc: + +/usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h: diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.ts b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.ts new file mode 100644 index 0000000..00aea2a --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for cust_op_proto. diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/depend.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/depend.make new file mode 100644 index 0000000..4379581 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for cust_op_proto. +# This may be replaced when dependencies are built. diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/flags.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/flags.make new file mode 100644 index 0000000..500116b --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# compile CXX with /usr/bin/c++ +CXX_DEFINES = -DOP_PROTO_LIB -D_FORTIFY_SOURCE=2 -D_GLIBCXX_USE_CXX11_ABI=0 -Dcust_op_proto_EXPORTS + +CXX_INCLUDES = -I/usr/local/Ascend/ascend-toolkit/latest/include + +CXX_FLAGS = -fPIC -fvisibility=hidden -fPIC -fvisibility-inlines-hidden -O2 -std=c++11 -fstack-protector-strong + diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/link.txt b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/link.txt new file mode 100644 index 0000000..fcd114a --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -fPIC -s -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -shared -Wl,-soname,libcust_opsproto_rt2.0.so -o libcust_opsproto_rt2.0.so CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o -L/usr/local/Ascend/ascend-toolkit/latest/lib64 -Wl,-rpath,/usr/local/Ascend/ascend-toolkit/latest/lib64: -lexe_graph -lregister -ltiling_api -Wl,--whole-archive -lrt2_registry -Wl,--no-whole-archive diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/progress.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/progress.make new file mode 100644 index 0000000..4b14cc1 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/progress.make @@ -0,0 +1,4 @@ +CMAKE_PROGRESS_1 = 2 +CMAKE_PROGRESS_2 = 3 +CMAKE_PROGRESS_3 = 4 + diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..c34fbe55897d01f72d1cef924c623e722934aab3 GIT binary patch literal 89360 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 literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o.d b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o.d new file mode 100644 index 0000000..249acfd --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o.d @@ -0,0 +1,270 @@ +op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o: \ + /Package_Cann/test/No_standard/op_host/reduce_sum.cpp \ + /usr/include/stdc-predef.h \ + /Package_Cann/test/No_standard/op_host/reduce_sum_tiling.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/tilingdata_base.h \ + /usr/include/c++/11/vector /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_pair.h /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/vector.tcc /usr/include/c++/11/map \ + /usr/include/c++/11/bits/stl_tree.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/bits/stl_map.h /usr/include/c++/11/tuple \ + /usr/include/c++/11/utility /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/array /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/stl_multimap.h \ + /usr/include/c++/11/bits/erase_if.h /usr/include/c++/11/memory \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h /usr/include/c++/11/bit \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/bits/shared_ptr.h /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/bits/refwrap.h /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/backward/auto_ptr.h /usr/include/c++/11/cstring \ + /usr/include/string.h /usr/include/strings.h \ + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h \ + /usr/include/aarch64-linux-gnu/bits/string_fortified.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/stdio2.h \ + /usr/include/c++/11/stdlib.h /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h /usr/include/errno.h \ + /usr/include/aarch64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/include/c++/11/string /usr/include/c++/11/bits/char_traits.h \ + /usr/include/c++/11/cstdint /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h /usr/include/c++/11/cctype \ + /usr/include/ctype.h /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/string_conversions.h /usr/include/c++/11/cstdio \ + /usr/include/c++/11/cerrno /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/basic_string.tcc /usr/include/c++/11/functional \ + /usr/include/c++/11/bits/std_function.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/include/c++/11/atomic \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def.h \ + /usr/include/c++/11/iostream /usr/include/c++/11/ostream \ + /usr/include/c++/11/ios /usr/include/c++/11/bits/ios_base.h \ + /usr/include/c++/11/bits/locale_classes.h \ + /usr/include/c++/11/bits/locale_classes.tcc \ + /usr/include/c++/11/system_error \ + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h \ + /usr/include/c++/11/stdexcept /usr/include/c++/11/streambuf \ + /usr/include/c++/11/bits/streambuf.tcc \ + /usr/include/c++/11/bits/basic_ios.h \ + /usr/include/c++/11/bits/locale_facets.h /usr/include/c++/11/cwctype \ + /usr/include/wctype.h /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h \ + /usr/include/c++/11/bits/streambuf_iterator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h \ + /usr/include/c++/11/bits/locale_facets.tcc \ + /usr/include/c++/11/bits/basic_ios.tcc \ + /usr/include/c++/11/bits/ostream.tcc /usr/include/c++/11/istream \ + /usr/include/c++/11/bits/istream.tcc \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h \ + /usr/include/c++/11/unordered_set /usr/include/c++/11/bits/hashtable.h \ + /usr/include/c++/11/bits/hashtable_policy.h \ + /usr/include/c++/11/bits/enable_special_members.h \ + /usr/include/c++/11/bits/unordered_set.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/include/c++/11/limits \ + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h \ + /usr/include/c++/11/cstddef \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h \ + /usr/include/c++/11/set /usr/include/c++/11/bits/stl_set.h \ + /usr/include/c++/11/bits/stl_multiset.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./gnode.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/tiling/platform/platform_ascendc.h \ + /usr/include/c++/11/mutex /usr/include/c++/11/chrono \ + /usr/include/c++/11/ratio /usr/include/c++/11/ctime \ + /usr/include/c++/11/bits/parse_numbers.h \ + /usr/include/c++/11/bits/std_mutex.h \ + /usr/include/c++/11/bits/unique_lock.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/utils/type_utils.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_rt.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_op.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_mdl.h diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/DependInfo.cmake b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/DependInfo.cmake new file mode 100644 index 0000000..b4e5d58 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/DependInfo.cmake @@ -0,0 +1,19 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.cpp" "op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o" "gcc" "op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o.d" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..ab416d0be42e4496531a66bf14cb2bd31e401770 GIT binary patch literal 13040 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 L5dWztC{^)4(n?OP literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o.d b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o.d new file mode 100644 index 0000000..581dc39 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o.d @@ -0,0 +1,142 @@ +op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o: \ + /Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.cpp \ + /usr/include/stdc-predef.h /usr/include/string.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/strings.h \ + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h \ + /usr/include/aarch64-linux-gnu/bits/string_fortified.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/include/c++/11/atomic /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/bits/move.h /usr/include/c++/11/type_traits \ + /usr/include/c++/11/memory /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_pair.h \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h /usr/include/c++/11/bit \ + /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/unique_ptr.h /usr/include/c++/11/utility \ + /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/initializer_list /usr/include/c++/11/tuple \ + /usr/include/c++/11/array /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/shared_ptr.h /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/bits/refwrap.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/backward/auto_ptr.h /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/vector.tcc \ + /Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/aclnn/acl_meta.h \ + /usr/include/c++/11/cstdint /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/build.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/build.make new file mode 100644 index 0000000..b0e7674 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/build.make @@ -0,0 +1,110 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +# Include any dependencies generated for this target. +include op_host/CMakeFiles/cust_opapi.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include op_host/CMakeFiles/cust_opapi.dir/compiler_depend.make + +# Include the progress variables for this target. +include op_host/CMakeFiles/cust_opapi.dir/progress.make + +# Include the compile flags for this target's objects. +include op_host/CMakeFiles/cust_opapi.dir/flags.make + +op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o: op_host/CMakeFiles/cust_opapi.dir/flags.make +op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o: autogen/aclnn_reduce_sum.cpp +op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o: op_host/CMakeFiles/cust_opapi.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o -MF CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o.d -o CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o -c /Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.cpp + +op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.i" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.cpp > CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.i + +op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.s" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.cpp -o CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.s + +# Object files for target cust_opapi +cust_opapi_OBJECTS = \ +"CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o" + +# External object files for target cust_opapi +cust_opapi_EXTERNAL_OBJECTS = + +op_host/libcust_opapi.so: op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o +op_host/libcust_opapi.so: op_host/CMakeFiles/cust_opapi.dir/build.make +op_host/libcust_opapi.so: op_host/CMakeFiles/cust_opapi.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX shared library libcust_opapi.so" + cd /Package_Cann/test/No_standard/build_out/op_host && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cust_opapi.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +op_host/CMakeFiles/cust_opapi.dir/build: op_host/libcust_opapi.so +.PHONY : op_host/CMakeFiles/cust_opapi.dir/build + +op_host/CMakeFiles/cust_opapi.dir/clean: + cd /Package_Cann/test/No_standard/build_out/op_host && $(CMAKE_COMMAND) -P CMakeFiles/cust_opapi.dir/cmake_clean.cmake +.PHONY : op_host/CMakeFiles/cust_opapi.dir/clean + +op_host/CMakeFiles/cust_opapi.dir/depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Package_Cann/test/No_standard /Package_Cann/test/No_standard/op_host /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out/op_host /Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : op_host/CMakeFiles/cust_opapi.dir/depend + diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/cmake_clean.cmake b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/cmake_clean.cmake new file mode 100644 index 0000000..0812114 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o" + "CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o.d" + "libcust_opapi.pdb" + "libcust_opapi.so" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/cust_opapi.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.internal b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.internal new file mode 100644 index 0000000..a718883 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.internal @@ -0,0 +1,170 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o + /Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.cpp + /usr/include/stdc-predef.h + /usr/include/string.h + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h + /usr/include/features.h + /usr/include/features-time64.h + /usr/include/aarch64-linux-gnu/bits/wordsize.h + /usr/include/aarch64-linux-gnu/bits/timesize.h + /usr/include/aarch64-linux-gnu/sys/cdefs.h + /usr/include/aarch64-linux-gnu/bits/long-double.h + /usr/include/aarch64-linux-gnu/gnu/stubs.h + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h + /usr/include/strings.h + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h + /usr/include/aarch64-linux-gnu/bits/string_fortified.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/include/c++/11/atomic + /usr/include/c++/11/bits/atomic_base.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h + /usr/include/stdint.h + /usr/include/aarch64-linux-gnu/bits/types.h + /usr/include/aarch64-linux-gnu/bits/typesizes.h + /usr/include/aarch64-linux-gnu/bits/time64.h + /usr/include/aarch64-linux-gnu/bits/wchar.h + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h + /usr/include/c++/11/bits/atomic_lockfree_defines.h + /usr/include/c++/11/bits/move.h + /usr/include/c++/11/type_traits + /usr/include/c++/11/memory + /usr/include/c++/11/bits/stl_algobase.h + /usr/include/c++/11/bits/functexcept.h + /usr/include/c++/11/bits/exception_defines.h + /usr/include/c++/11/bits/cpp_type_traits.h + /usr/include/c++/11/ext/type_traits.h + /usr/include/c++/11/ext/numeric_traits.h + /usr/include/c++/11/bits/stl_pair.h + /usr/include/c++/11/bits/stl_iterator_base_types.h + /usr/include/c++/11/bits/stl_iterator_base_funcs.h + /usr/include/c++/11/bits/concept_check.h + /usr/include/c++/11/debug/assertions.h + /usr/include/c++/11/bits/stl_iterator.h + /usr/include/c++/11/bits/ptr_traits.h + /usr/include/c++/11/debug/debug.h + /usr/include/c++/11/bits/predefined_ops.h + /usr/include/c++/11/bits/allocator.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h + /usr/include/c++/11/ext/new_allocator.h + /usr/include/c++/11/new + /usr/include/c++/11/bits/exception.h + /usr/include/c++/11/bits/memoryfwd.h + /usr/include/c++/11/bits/stl_construct.h + /usr/include/c++/11/bits/stl_uninitialized.h + /usr/include/c++/11/ext/alloc_traits.h + /usr/include/c++/11/bits/alloc_traits.h + /usr/include/c++/11/bits/stl_tempbuf.h + /usr/include/c++/11/bits/stl_raw_storage_iter.h + /usr/include/c++/11/bits/align.h + /usr/include/c++/11/bit + /usr/include/c++/11/bits/uses_allocator.h + /usr/include/c++/11/bits/unique_ptr.h + /usr/include/c++/11/utility + /usr/include/c++/11/bits/stl_relops.h + /usr/include/c++/11/initializer_list + /usr/include/c++/11/tuple + /usr/include/c++/11/array + /usr/include/c++/11/bits/range_access.h + /usr/include/c++/11/bits/invoke.h + /usr/include/c++/11/bits/stl_function.h + /usr/include/c++/11/backward/binders.h + /usr/include/c++/11/bits/functional_hash.h + /usr/include/c++/11/bits/hash_bytes.h + /usr/include/c++/11/bits/shared_ptr.h + /usr/include/c++/11/iosfwd + /usr/include/c++/11/bits/stringfwd.h + /usr/include/c++/11/bits/postypes.h + /usr/include/c++/11/cwchar + /usr/include/wchar.h + /usr/include/aarch64-linux-gnu/bits/floatn.h + /usr/include/aarch64-linux-gnu/bits/floatn-common.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h + /usr/include/aarch64-linux-gnu/bits/types/FILE.h + /usr/include/aarch64-linux-gnu/bits/wchar2.h + /usr/include/c++/11/bits/shared_ptr_base.h + /usr/include/c++/11/typeinfo + /usr/include/c++/11/bits/allocated_ptr.h + /usr/include/c++/11/bits/refwrap.h + /usr/include/c++/11/ext/aligned_buffer.h + /usr/include/c++/11/ext/atomicity.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/aarch64-linux-gnu/bits/types/time_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h + /usr/include/aarch64-linux-gnu/bits/endian.h + /usr/include/aarch64-linux-gnu/bits/endianness.h + /usr/include/aarch64-linux-gnu/bits/sched.h + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/aarch64-linux-gnu/bits/cpu-set.h + /usr/include/time.h + /usr/include/aarch64-linux-gnu/bits/time.h + /usr/include/aarch64-linux-gnu/bits/timex.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h + /usr/include/aarch64-linux-gnu/bits/setjmp.h + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h + /usr/include/aarch64-linux-gnu/sys/single_threaded.h + /usr/include/c++/11/ext/concurrence.h + /usr/include/c++/11/exception + /usr/include/c++/11/bits/exception_ptr.h + /usr/include/c++/11/bits/cxxabi_init_exception.h + /usr/include/c++/11/bits/nested_exception.h + /usr/include/c++/11/bits/shared_ptr_atomic.h + /usr/include/c++/11/backward/auto_ptr.h + /usr/include/c++/11/vector + /usr/include/c++/11/bits/stl_vector.h + /usr/include/c++/11/bits/stl_bvector.h + /usr/include/c++/11/bits/vector.tcc + /Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.h + /usr/local/Ascend/ascend-toolkit/latest/include/aclnn/acl_meta.h + /usr/include/c++/11/cstdint + /usr/include/c++/11/cstdlib + /usr/include/stdlib.h + /usr/include/aarch64-linux-gnu/bits/waitflags.h + /usr/include/aarch64-linux-gnu/bits/waitstatus.h + /usr/include/aarch64-linux-gnu/sys/types.h + /usr/include/endian.h + /usr/include/aarch64-linux-gnu/bits/byteswap.h + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h + /usr/include/aarch64-linux-gnu/sys/select.h + /usr/include/aarch64-linux-gnu/bits/select.h + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h + /usr/include/aarch64-linux-gnu/bits/select2.h + /usr/include/alloca.h + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h + /usr/include/aarch64-linux-gnu/bits/stdlib.h + /usr/include/c++/11/bits/std_abs.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h + diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.make new file mode 100644 index 0000000..d0b8d58 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.make @@ -0,0 +1,499 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o: autogen/aclnn_reduce_sum.cpp \ + /usr/include/stdc-predef.h \ + /usr/include/string.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/features.h \ + /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/strings.h \ + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h \ + /usr/include/aarch64-linux-gnu/bits/string_fortified.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/include/c++/11/atomic \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h \ + /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/memory \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_pair.h \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h \ + /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h \ + /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h \ + /usr/include/c++/11/bit \ + /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/utility \ + /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/tuple \ + /usr/include/c++/11/array \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/shared_ptr.h \ + /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h \ + /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar \ + /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h \ + /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/bits/refwrap.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h \ + /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h \ + /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/backward/auto_ptr.h \ + /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/vector.tcc \ + autogen/aclnn_reduce_sum.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/aclnn/acl_meta.h \ + /usr/include/c++/11/cstdint \ + /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h \ + /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h \ + /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h \ + /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h + + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h: + +/usr/include/c++/11/bits/std_abs.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/aarch64-linux-gnu/sys/select.h: + +/usr/include/aarch64-linux-gnu/bits/uintn-identity.h: + +/usr/include/aarch64-linux-gnu/bits/waitstatus.h: + +/usr/include/aarch64-linux-gnu/bits/waitflags.h: + +/usr/include/stdlib.h: + +/usr/include/c++/11/cstdint: + +/usr/local/Ascend/ascend-toolkit/latest/include/aclnn/acl_meta.h: + +/usr/include/c++/11/bits/vector.tcc: + +/usr/include/c++/11/bits/stl_bvector.h: + +/usr/include/c++/11/bits/shared_ptr_atomic.h: + +/usr/include/c++/11/bits/nested_exception.h: + +/usr/include/c++/11/bits/exception_ptr.h: + +/usr/include/c++/11/ext/concurrence.h: + +/usr/include/aarch64-linux-gnu/sys/single_threaded.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h: + +/usr/include/c++/11/bits/stl_construct.h: + +/usr/include/aarch64-linux-gnu/bits/typesizes.h: + +/usr/include/c++/11/bits/exception.h: + +/usr/include/c++/11/bits/range_access.h: + +/usr/include/aarch64-linux-gnu/bits/sched.h: + +/usr/include/aarch64-linux-gnu/bits/types/locale_t.h: + +/usr/include/c++/11/debug/assertions.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h: + +/usr/include/aarch64-linux-gnu/bits/byteswap.h: + +/usr/include/c++/11/bits/concept_check.h: + +/usr/include/stdint.h: + +/usr/include/aarch64-linux-gnu/bits/long-double.h: + +/usr/include/aarch64-linux-gnu/bits/libc-header-start.h: + +/usr/include/c++/11/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/11/backward/auto_ptr.h: + +/usr/include/c++/11/bits/stl_uninitialized.h: + +/usr/include/c++/11/ext/new_allocator.h: + +/usr/include/c++/11/memory: + +/usr/include/c++/11/array: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h: + +/usr/include/aarch64-linux-gnu/bits/endianness.h: + +/usr/include/c++/11/bits/move.h: + +/usr/include/c++/11/bits/unique_ptr.h: + +/usr/include/c++/11/bits/stl_relops.h: + +/usr/include/c++/11/bits/atomic_lockfree_defines.h: + +autogen/aclnn_reduce_sum.h: + +/usr/include/c++/11/iosfwd: + +/usr/include/endian.h: + +/usr/include/c++/11/ext/aligned_buffer.h: + +/usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h: + +/usr/include/aarch64-linux-gnu/bits/struct_rwlock.h: + +/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h: + +/usr/include/aarch64-linux-gnu/bits/types/clock_t.h: + +/usr/include/c++/11/bits/predefined_ops.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h: + +/usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h: + +/usr/include/c++/11/exception: + +/usr/include/aarch64-linux-gnu/sys/cdefs.h: + +/usr/include/aarch64-linux-gnu/bits/wordsize.h: + +/usr/include/c++/11/bits/cpp_type_traits.h: + +/usr/include/pthread.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib.h: + +/usr/include/c++/11/bits/stl_vector.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h: + +/usr/include/features.h: + +/usr/include/c++/11/utility: + +/usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h: + +/usr/include/c++/11/debug/debug.h: + +/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h: + +/usr/include/c++/11/ext/type_traits.h: + +/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h: + +/usr/include/aarch64-linux-gnu/bits/select.h: + +/usr/include/aarch64-linux-gnu/bits/timesize.h: + +/usr/include/c++/11/bits/stl_function.h: + +/usr/include/c++/11/bits/stl_pair.h: + +/usr/include/c++/11/ext/atomicity.h: + +/usr/include/stdc-predef.h: + +autogen/aclnn_reduce_sum.cpp: + +/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h: + +/usr/include/c++/11/bits/hash_bytes.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h: + +/usr/include/features-time64.h: + +/usr/include/c++/11/bits/exception_defines.h: + +/usr/include/c++/11/atomic: + +/usr/include/strings.h: + +/usr/include/c++/11/ext/numeric_traits.h: + +/usr/include/c++/11/bits/atomic_base.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/aarch64-linux-gnu/bits/strings_fortified.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs.h: + +/usr/include/aarch64-linux-gnu/bits/stdint-intn.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h: + +/usr/include/aarch64-linux-gnu/bits/string_fortified.h: + +/usr/include/string.h: + +/usr/include/alloca.h: + +/usr/include/aarch64-linux-gnu/bits/time64.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib-float.h: + +/usr/include/aarch64-linux-gnu/bits/select2.h: + +/usr/include/c++/11/bits/functexcept.h: + +/usr/include/aarch64-linux-gnu/bits/time.h: + +/usr/include/c++/11/bits/stl_iterator.h: + +/usr/include/c++/11/new: + +/usr/include/c++/11/bits/ptr_traits.h: + +/usr/include/c++/11/ext/alloc_traits.h: + +/usr/include/c++/11/bits/alloc_traits.h: + +/usr/include/c++/11/bits/stl_tempbuf.h: + +/usr/include/aarch64-linux-gnu/bits/types/wint_t.h: + +/usr/include/c++/11/typeinfo: + +/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h: + +/usr/include/c++/11/bits/stl_raw_storage_iter.h: + +/usr/include/c++/11/vector: + +/usr/include/c++/11/bits/align.h: + +/usr/include/c++/11/cstdlib: + +/usr/include/c++/11/bits/stl_iterator_base_types.h: + +/usr/include/c++/11/bit: + +/usr/include/c++/11/bits/uses_allocator.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h: + +/usr/include/c++/11/type_traits: + +/usr/include/c++/11/tuple: + +/usr/include/c++/11/bits/invoke.h: + +/usr/include/aarch64-linux-gnu/bits/floatn.h: + +/usr/include/c++/11/backward/binders.h: + +/usr/include/c++/11/bits/functional_hash.h: + +/usr/include/aarch64-linux-gnu/sys/types.h: + +/usr/include/c++/11/bits/shared_ptr.h: + +/usr/include/c++/11/bits/memoryfwd.h: + +/usr/include/c++/11/bits/stringfwd.h: + +/usr/include/c++/11/bits/postypes.h: + +/usr/include/c++/11/bits/stl_algobase.h: + +/usr/include/c++/11/cwchar: + +/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h: + +/usr/include/c++/11/bits/cxxabi_init_exception.h: + +/usr/include/wchar.h: + +/usr/include/aarch64-linux-gnu/bits/timex.h: + +/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/__FILE.h: + +/usr/include/aarch64-linux-gnu/bits/types/FILE.h: + +/usr/include/aarch64-linux-gnu/bits/wchar.h: + +/usr/include/c++/11/bits/shared_ptr_base.h: + +/usr/include/aarch64-linux-gnu/bits/wchar2.h: + +/usr/include/aarch64-linux-gnu/bits/floatn-common.h: + +/usr/include/c++/11/bits/allocated_ptr.h: + +/usr/include/c++/11/bits/refwrap.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h: + +/usr/include/sched.h: + +/usr/include/aarch64-linux-gnu/bits/types/time_t.h: + +/usr/include/aarch64-linux-gnu/bits/endian.h: + +/usr/include/aarch64-linux-gnu/bits/cpu-set.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h: + +/usr/include/time.h: + +/usr/include/c++/11/initializer_list: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h: + +/usr/include/c++/11/bits/allocator.h: + +/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/timer_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h: + +/usr/include/aarch64-linux-gnu/bits/setjmp.h: + +/usr/include/aarch64-linux-gnu/bits/types.h: + +/usr/include/aarch64-linux-gnu/bits/struct_mutex.h: + +/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h: diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.ts b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.ts new file mode 100644 index 0000000..b3bb157 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for cust_opapi. diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/depend.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/depend.make new file mode 100644 index 0000000..dae58d6 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for cust_opapi. +# This may be replaced when dependencies are built. diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/flags.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/flags.make new file mode 100644 index 0000000..f4b2f4f --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# compile CXX with /usr/bin/c++ +CXX_DEFINES = -D_FORTIFY_SOURCE=2 -D_GLIBCXX_USE_CXX11_ABI=0 -Dcust_opapi_EXPORTS + +CXX_INCLUDES = -I/usr/local/Ascend/ascend-toolkit/latest/include + +CXX_FLAGS = -fPIC -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -O2 -std=c++11 -fstack-protector-strong + diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/link.txt b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/link.txt new file mode 100644 index 0000000..9246cc7 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -fPIC -s -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -shared -Wl,-soname,libcust_opapi.so -o libcust_opapi.so CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o -L/usr/local/Ascend/ascend-toolkit/latest/lib64 -Wl,-rpath,/usr/local/Ascend/ascend-toolkit/latest/lib64: -lascendcl -lnnopbase diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/progress.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/progress.make new file mode 100644 index 0000000..3a86673 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 5 +CMAKE_PROGRESS_2 = 6 + diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/DependInfo.cmake b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/DependInfo.cmake new file mode 100644 index 0000000..9abc19c --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/DependInfo.cmake @@ -0,0 +1,19 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/Package_Cann/test/No_standard/op_host/reduce_sum.cpp" "op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o" "gcc" "op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o.d" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/build.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/build.make new file mode 100644 index 0000000..755e38c --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/build.make @@ -0,0 +1,110 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +# Include any dependencies generated for this target. +include op_host/CMakeFiles/cust_optiling.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include op_host/CMakeFiles/cust_optiling.dir/compiler_depend.make + +# Include the progress variables for this target. +include op_host/CMakeFiles/cust_optiling.dir/progress.make + +# Include the compile flags for this target's objects. +include op_host/CMakeFiles/cust_optiling.dir/flags.make + +op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o: op_host/CMakeFiles/cust_optiling.dir/flags.make +op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o: ../op_host/reduce_sum.cpp +op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o: op_host/CMakeFiles/cust_optiling.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o -MF CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o.d -o CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o -c /Package_Cann/test/No_standard/op_host/reduce_sum.cpp + +op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/cust_optiling.dir/reduce_sum.cpp.i" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Package_Cann/test/No_standard/op_host/reduce_sum.cpp > CMakeFiles/cust_optiling.dir/reduce_sum.cpp.i + +op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/cust_optiling.dir/reduce_sum.cpp.s" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Package_Cann/test/No_standard/op_host/reduce_sum.cpp -o CMakeFiles/cust_optiling.dir/reduce_sum.cpp.s + +# Object files for target cust_optiling +cust_optiling_OBJECTS = \ +"CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o" + +# External object files for target cust_optiling +cust_optiling_EXTERNAL_OBJECTS = + +op_host/libcust_opmaster_rt2.0.so: op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o +op_host/libcust_opmaster_rt2.0.so: op_host/CMakeFiles/cust_optiling.dir/build.make +op_host/libcust_opmaster_rt2.0.so: op_host/CMakeFiles/cust_optiling.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX shared library libcust_opmaster_rt2.0.so" + cd /Package_Cann/test/No_standard/build_out/op_host && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cust_optiling.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +op_host/CMakeFiles/cust_optiling.dir/build: op_host/libcust_opmaster_rt2.0.so +.PHONY : op_host/CMakeFiles/cust_optiling.dir/build + +op_host/CMakeFiles/cust_optiling.dir/clean: + cd /Package_Cann/test/No_standard/build_out/op_host && $(CMAKE_COMMAND) -P CMakeFiles/cust_optiling.dir/cmake_clean.cmake +.PHONY : op_host/CMakeFiles/cust_optiling.dir/clean + +op_host/CMakeFiles/cust_optiling.dir/depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Package_Cann/test/No_standard /Package_Cann/test/No_standard/op_host /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out/op_host /Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : op_host/CMakeFiles/cust_optiling.dir/depend + diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/cmake_clean.cmake b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/cmake_clean.cmake new file mode 100644 index 0000000..42181a9 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o" + "CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o.d" + "libcust_opmaster_rt2.0.pdb" + "libcust_opmaster_rt2.0.so" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/cust_optiling.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.internal b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.internal new file mode 100644 index 0000000..fefb101 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.internal @@ -0,0 +1,321 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o + /Package_Cann/test/No_standard/op_host/reduce_sum.cpp + /usr/include/stdc-predef.h + /Package_Cann/test/No_standard/op_host/reduce_sum_tiling.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/tilingdata_base.h + /usr/include/c++/11/vector + /usr/include/c++/11/bits/stl_algobase.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h + /usr/include/features.h + /usr/include/features-time64.h + /usr/include/aarch64-linux-gnu/bits/wordsize.h + /usr/include/aarch64-linux-gnu/bits/timesize.h + /usr/include/aarch64-linux-gnu/sys/cdefs.h + /usr/include/aarch64-linux-gnu/bits/long-double.h + /usr/include/aarch64-linux-gnu/gnu/stubs.h + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h + /usr/include/c++/11/bits/functexcept.h + /usr/include/c++/11/bits/exception_defines.h + /usr/include/c++/11/bits/cpp_type_traits.h + /usr/include/c++/11/ext/type_traits.h + /usr/include/c++/11/ext/numeric_traits.h + /usr/include/c++/11/bits/stl_pair.h + /usr/include/c++/11/bits/move.h + /usr/include/c++/11/type_traits + /usr/include/c++/11/bits/stl_iterator_base_types.h + /usr/include/c++/11/bits/stl_iterator_base_funcs.h + /usr/include/c++/11/bits/concept_check.h + /usr/include/c++/11/debug/assertions.h + /usr/include/c++/11/bits/stl_iterator.h + /usr/include/c++/11/bits/ptr_traits.h + /usr/include/c++/11/debug/debug.h + /usr/include/c++/11/bits/predefined_ops.h + /usr/include/c++/11/bits/allocator.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h + /usr/include/c++/11/ext/new_allocator.h + /usr/include/c++/11/new + /usr/include/c++/11/bits/exception.h + /usr/include/c++/11/bits/memoryfwd.h + /usr/include/c++/11/bits/stl_construct.h + /usr/include/c++/11/bits/stl_uninitialized.h + /usr/include/c++/11/ext/alloc_traits.h + /usr/include/c++/11/bits/alloc_traits.h + /usr/include/c++/11/bits/stl_vector.h + /usr/include/c++/11/initializer_list + /usr/include/c++/11/bits/stl_bvector.h + /usr/include/c++/11/bits/functional_hash.h + /usr/include/c++/11/bits/hash_bytes.h + /usr/include/c++/11/bits/range_access.h + /usr/include/c++/11/bits/vector.tcc + /usr/include/c++/11/map + /usr/include/c++/11/bits/stl_tree.h + /usr/include/c++/11/bits/stl_function.h + /usr/include/c++/11/backward/binders.h + /usr/include/c++/11/ext/aligned_buffer.h + /usr/include/c++/11/bits/stl_map.h + /usr/include/c++/11/tuple + /usr/include/c++/11/utility + /usr/include/c++/11/bits/stl_relops.h + /usr/include/c++/11/array + /usr/include/c++/11/bits/uses_allocator.h + /usr/include/c++/11/bits/invoke.h + /usr/include/c++/11/bits/stl_multimap.h + /usr/include/c++/11/bits/erase_if.h + /usr/include/c++/11/memory + /usr/include/c++/11/bits/stl_tempbuf.h + /usr/include/c++/11/bits/stl_raw_storage_iter.h + /usr/include/c++/11/bits/align.h + /usr/include/c++/11/bit + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h + /usr/include/stdint.h + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h + /usr/include/aarch64-linux-gnu/bits/types.h + /usr/include/aarch64-linux-gnu/bits/typesizes.h + /usr/include/aarch64-linux-gnu/bits/time64.h + /usr/include/aarch64-linux-gnu/bits/wchar.h + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h + /usr/include/c++/11/bits/unique_ptr.h + /usr/include/c++/11/bits/shared_ptr.h + /usr/include/c++/11/iosfwd + /usr/include/c++/11/bits/stringfwd.h + /usr/include/c++/11/bits/postypes.h + /usr/include/c++/11/cwchar + /usr/include/wchar.h + /usr/include/aarch64-linux-gnu/bits/floatn.h + /usr/include/aarch64-linux-gnu/bits/floatn-common.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h + /usr/include/aarch64-linux-gnu/bits/types/FILE.h + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h + /usr/include/aarch64-linux-gnu/bits/wchar2.h + /usr/include/c++/11/bits/shared_ptr_base.h + /usr/include/c++/11/typeinfo + /usr/include/c++/11/bits/allocated_ptr.h + /usr/include/c++/11/bits/refwrap.h + /usr/include/c++/11/ext/atomicity.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/aarch64-linux-gnu/bits/types/time_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h + /usr/include/aarch64-linux-gnu/bits/endian.h + /usr/include/aarch64-linux-gnu/bits/endianness.h + /usr/include/aarch64-linux-gnu/bits/sched.h + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/aarch64-linux-gnu/bits/cpu-set.h + /usr/include/time.h + /usr/include/aarch64-linux-gnu/bits/time.h + /usr/include/aarch64-linux-gnu/bits/timex.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h + /usr/include/aarch64-linux-gnu/bits/setjmp.h + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h + /usr/include/aarch64-linux-gnu/sys/single_threaded.h + /usr/include/c++/11/ext/concurrence.h + /usr/include/c++/11/exception + /usr/include/c++/11/bits/exception_ptr.h + /usr/include/c++/11/bits/cxxabi_init_exception.h + /usr/include/c++/11/bits/nested_exception.h + /usr/include/c++/11/bits/shared_ptr_atomic.h + /usr/include/c++/11/bits/atomic_base.h + /usr/include/c++/11/bits/atomic_lockfree_defines.h + /usr/include/c++/11/backward/auto_ptr.h + /usr/include/c++/11/cstring + /usr/include/string.h + /usr/include/strings.h + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h + /usr/include/aarch64-linux-gnu/bits/string_fortified.h + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h + /usr/include/stdio.h + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h + /usr/include/aarch64-linux-gnu/bits/stdio.h + /usr/include/aarch64-linux-gnu/bits/stdio2.h + /usr/include/c++/11/stdlib.h + /usr/include/c++/11/cstdlib + /usr/include/stdlib.h + /usr/include/aarch64-linux-gnu/bits/waitflags.h + /usr/include/aarch64-linux-gnu/bits/waitstatus.h + /usr/include/aarch64-linux-gnu/sys/types.h + /usr/include/endian.h + /usr/include/aarch64-linux-gnu/bits/byteswap.h + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h + /usr/include/aarch64-linux-gnu/sys/select.h + /usr/include/aarch64-linux-gnu/bits/select.h + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h + /usr/include/aarch64-linux-gnu/bits/select2.h + /usr/include/alloca.h + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h + /usr/include/aarch64-linux-gnu/bits/stdlib.h + /usr/include/c++/11/bits/std_abs.h + /usr/include/errno.h + /usr/include/aarch64-linux-gnu/bits/errno.h + /usr/include/linux/errno.h + /usr/include/aarch64-linux-gnu/asm/errno.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/errno-base.h + /usr/include/aarch64-linux-gnu/bits/types/error_t.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/include/c++/11/string + /usr/include/c++/11/bits/char_traits.h + /usr/include/c++/11/cstdint + /usr/include/c++/11/bits/localefwd.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h + /usr/include/c++/11/clocale + /usr/include/locale.h + /usr/include/aarch64-linux-gnu/bits/locale.h + /usr/include/c++/11/cctype + /usr/include/ctype.h + /usr/include/c++/11/bits/ostream_insert.h + /usr/include/c++/11/bits/cxxabi_forced.h + /usr/include/c++/11/bits/basic_string.h + /usr/include/c++/11/ext/string_conversions.h + /usr/include/c++/11/cstdio + /usr/include/c++/11/cerrno + /usr/include/c++/11/bits/charconv.h + /usr/include/c++/11/bits/basic_string.tcc + /usr/include/c++/11/functional + /usr/include/c++/11/bits/std_function.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/include/c++/11/atomic + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_registry.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def.h + /usr/include/c++/11/iostream + /usr/include/c++/11/ostream + /usr/include/c++/11/ios + /usr/include/c++/11/bits/ios_base.h + /usr/include/c++/11/bits/locale_classes.h + /usr/include/c++/11/bits/locale_classes.tcc + /usr/include/c++/11/system_error + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h + /usr/include/c++/11/stdexcept + /usr/include/c++/11/streambuf + /usr/include/c++/11/bits/streambuf.tcc + /usr/include/c++/11/bits/basic_ios.h + /usr/include/c++/11/bits/locale_facets.h + /usr/include/c++/11/cwctype + /usr/include/wctype.h + /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h + /usr/include/c++/11/bits/streambuf_iterator.h + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h + /usr/include/c++/11/bits/locale_facets.tcc + /usr/include/c++/11/bits/basic_ios.tcc + /usr/include/c++/11/bits/ostream.tcc + /usr/include/c++/11/istream + /usr/include/c++/11/bits/istream.tcc + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h + /usr/include/c++/11/unordered_set + /usr/include/c++/11/bits/hashtable.h + /usr/include/c++/11/bits/hashtable_policy.h + /usr/include/c++/11/bits/enable_special_members.h + /usr/include/c++/11/bits/unordered_set.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h + /usr/include/c++/11/limits + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h + /usr/include/c++/11/cstddef + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h + /usr/include/c++/11/set + /usr/include/c++/11/bits/stl_set.h + /usr/include/c++/11/bits/stl_multiset.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/gnode.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_factory.h + /usr/local/Ascend/ascend-toolkit/latest/include/tiling/platform/platform_ascendc.h + /usr/include/c++/11/mutex + /usr/include/c++/11/chrono + /usr/include/c++/11/ratio + /usr/include/c++/11/ctime + /usr/include/c++/11/bits/parse_numbers.h + /usr/include/c++/11/bits/std_mutex.h + /usr/include/c++/11/bits/unique_lock.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/utils/type_utils.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_rt.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_op.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_mdl.h + diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.make new file mode 100644 index 0000000..00c03d3 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.make @@ -0,0 +1,914 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o: ../op_host/reduce_sum.cpp \ + /usr/include/stdc-predef.h \ + ../op_host/reduce_sum_tiling.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/tilingdata_base.h \ + /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h \ + /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_pair.h \ + /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h \ + /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h \ + /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/vector.tcc \ + /usr/include/c++/11/map \ + /usr/include/c++/11/bits/stl_tree.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/bits/stl_map.h \ + /usr/include/c++/11/tuple \ + /usr/include/c++/11/utility \ + /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/array \ + /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/stl_multimap.h \ + /usr/include/c++/11/bits/erase_if.h \ + /usr/include/c++/11/memory \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h \ + /usr/include/c++/11/bit \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h \ + /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/bits/shared_ptr.h \ + /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h \ + /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar \ + /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h \ + /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/bits/refwrap.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h \ + /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h \ + /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/backward/auto_ptr.h \ + /usr/include/c++/11/cstring \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h \ + /usr/include/aarch64-linux-gnu/bits/string_fortified.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/stdio2.h \ + /usr/include/c++/11/stdlib.h \ + /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h \ + /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h \ + /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h \ + /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h \ + /usr/include/errno.h \ + /usr/include/aarch64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h \ + /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/include/c++/11/string \ + /usr/include/c++/11/bits/char_traits.h \ + /usr/include/c++/11/cstdint \ + /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale \ + /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h \ + /usr/include/c++/11/cctype \ + /usr/include/ctype.h \ + /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/string_conversions.h \ + /usr/include/c++/11/cstdio \ + /usr/include/c++/11/cerrno \ + /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/basic_string.tcc \ + /usr/include/c++/11/functional \ + /usr/include/c++/11/bits/std_function.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/include/c++/11/atomic \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def.h \ + /usr/include/c++/11/iostream \ + /usr/include/c++/11/ostream \ + /usr/include/c++/11/ios \ + /usr/include/c++/11/bits/ios_base.h \ + /usr/include/c++/11/bits/locale_classes.h \ + /usr/include/c++/11/bits/locale_classes.tcc \ + /usr/include/c++/11/system_error \ + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h \ + /usr/include/c++/11/stdexcept \ + /usr/include/c++/11/streambuf \ + /usr/include/c++/11/bits/streambuf.tcc \ + /usr/include/c++/11/bits/basic_ios.h \ + /usr/include/c++/11/bits/locale_facets.h \ + /usr/include/c++/11/cwctype \ + /usr/include/wctype.h \ + /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h \ + /usr/include/c++/11/bits/streambuf_iterator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h \ + /usr/include/c++/11/bits/locale_facets.tcc \ + /usr/include/c++/11/bits/basic_ios.tcc \ + /usr/include/c++/11/bits/ostream.tcc \ + /usr/include/c++/11/istream \ + /usr/include/c++/11/bits/istream.tcc \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h \ + /usr/include/c++/11/unordered_set \ + /usr/include/c++/11/bits/hashtable.h \ + /usr/include/c++/11/bits/hashtable_policy.h \ + /usr/include/c++/11/bits/enable_special_members.h \ + /usr/include/c++/11/bits/unordered_set.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/include/c++/11/limits \ + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h \ + /usr/include/c++/11/cstddef \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h \ + /usr/include/c++/11/set \ + /usr/include/c++/11/bits/stl_set.h \ + /usr/include/c++/11/bits/stl_multiset.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/gnode.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/tiling/platform/platform_ascendc.h \ + /usr/include/c++/11/mutex \ + /usr/include/c++/11/chrono \ + /usr/include/c++/11/ratio \ + /usr/include/c++/11/ctime \ + /usr/include/c++/11/bits/parse_numbers.h \ + /usr/include/c++/11/bits/std_mutex.h \ + /usr/include/c++/11/bits/unique_lock.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/utils/type_utils.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_rt.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_op.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_mdl.h + + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_op.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_rt.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/utils/type_utils.h: + +/usr/include/c++/11/bits/parse_numbers.h: + +/usr/include/c++/11/ctime: + +/usr/include/c++/11/ratio: + +/usr/include/c++/11/chrono: + +/usr/include/c++/11/mutex: + +/usr/local/Ascend/ascend-toolkit/latest/include/tiling/platform/platform_ascendc.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_factory.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h: + +/usr/include/c++/11/set: + +/usr/include/aarch64-linux-gnu/bits/struct_mutex.h: + +/usr/include/aarch64-linux-gnu/bits/types.h: + +/usr/include/aarch64-linux-gnu/bits/setjmp.h: + +/usr/include/c++/11/bits/hashtable.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h: + +/usr/include/aarch64-linux-gnu/bits/types/timer_t.h: + +/usr/include/c++/11/bits/ostream.tcc: + +/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h: + +/usr/include/c++/11/bits/allocator.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h: + +/usr/include/aarch64-linux-gnu/bits/endian.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h: + +/usr/include/c++/11/bits/stl_set.h: + +/usr/include/aarch64-linux-gnu/bits/types/time_t.h: + +/usr/include/c++/11/bits/streambuf_iterator.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h: + +/usr/include/c++/11/bits/refwrap.h: + +/usr/include/c++/11/bits/allocated_ptr.h: + +/usr/include/aarch64-linux-gnu/bits/floatn-common.h: + +/usr/include/aarch64-linux-gnu/bits/wchar2.h: + +/usr/include/aarch64-linux-gnu/bits/wchar.h: + +/usr/include/aarch64-linux-gnu/bits/types/FILE.h: + +/usr/include/aarch64-linux-gnu/bits/types/__FILE.h: + +/usr/include/aarch64-linux-gnu/bits/cpu-set.h: + +/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h: + +/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h: + +/usr/include/c++/11/backward/binders.h: + +/usr/include/c++/11/iostream: + +/usr/include/wchar.h: + +/usr/include/c++/11/bits/cxxabi_init_exception.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h: + +/usr/include/c++/11/cwchar: + +/usr/include/c++/11/bits/stl_algobase.h: + +/usr/include/c++/11/bits/postypes.h: + +/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h: + +/usr/include/c++/11/cstdio: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h: + +/usr/include/c++/11/bit: + +/usr/include/c++/11/bits/stl_iterator_base_types.h: + +/usr/include/c++/11/cstdlib: + +/usr/include/c++/11/typeinfo: + +/usr/include/c++/11/bits/stl_raw_storage_iter.h: + +/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h: + +/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h: + +/usr/include/features.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h: + +/usr/include/c++/11/bits/unique_lock.h: + +/usr/include/c++/11/bits/uses_allocator.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h: + +/usr/include/c++/11/clocale: + +/usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h: + +/usr/include/c++/11/ext/type_traits.h: + +/usr/include/c++/11/bits/exception_defines.h: + +/usr/include/c++/11/atomic: + +/usr/include/c++/11/debug/assertions.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h: + +/usr/include/c++/11/ext/numeric_traits.h: + +/usr/include/c++/11/bits/atomic_base.h: + +/usr/include/aarch64-linux-gnu/bits/endianness.h: + +/usr/include/ctype.h: + +/usr/include/c++/11/type_traits: + +/usr/include/c++/11/bits/stl_tree.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h: + +/usr/include/aarch64-linux-gnu/bits/stdio2.h: + +/usr/include/aarch64-linux-gnu/bits/errno.h: + +/usr/include/aarch64-linux-gnu/sys/cdefs.h: + +/usr/include/c++/11/exception: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_def.h: + +/usr/include/c++/11/bits/std_function.h: + +/usr/include/c++/11/bits/stl_tempbuf.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/tilingdata_base.h: + +/usr/include/c++/11/new: + +/usr/include/c++/11/bits/stl_iterator.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h: + +../op_host/reduce_sum_tiling.h: + +/usr/include/c++/11/bits/stl_bvector.h: + +/usr/include/aarch64-linux-gnu/bits/timesize.h: + +/usr/include/c++/11/bits/align.h: + +/usr/include/c++/11/vector: + +/usr/include/pthread.h: + +/usr/include/aarch64-linux-gnu/bits/wordsize.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/c++/11/bits/char_traits.h: + +/usr/include/c++/11/array: + +/usr/include/c++/11/ext/atomicity.h: + +/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h: + +/usr/include/c++/11/bits/stl_pair.h: + +/usr/include/c++/11/bits/memoryfwd.h: + +/usr/include/c++/11/bits/stl_function.h: + +/usr/include/aarch64-linux-gnu/bits/libc-header-start.h: + +/usr/include/c++/11/cstring: + +/usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h: + +/usr/include/c++/11/bits/concept_check.h: + +/usr/include/aarch64-linux-gnu/bits/byteswap.h: + +/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h: + +/usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h: + +/usr/include/c++/11/limits: + +/usr/include/c++/11/bits/predefined_ops.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/gnode.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h: + +/usr/include/c++/11/memory: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib.h: + +/usr/include/c++/11/system_error: + +/usr/include/aarch64-linux-gnu/sys/types.h: + +/usr/include/c++/11/bits/vector.tcc: + +/usr/include/c++/11/bits/functexcept.h: + +/usr/include/aarch64-linux-gnu/bits/time.h: + +/usr/include/aarch64-linux-gnu/bits/select2.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib-float.h: + +/usr/include/c++/11/streambuf: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs.h: + +/usr/include/aarch64-linux-gnu/bits/stdint-intn.h: + +/usr/include/c++/11/bits/locale_facets.tcc: + +/usr/include/c++/11/debug/debug.h: + +/usr/include/features-time64.h: + +/usr/include/aarch64-linux-gnu/bits/types/clock_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/locale_t.h: + +/usr/include/c++/11/bits/functional_hash.h: + +/usr/include/errno.h: + +/usr/include/c++/11/bits/shared_ptr.h: + +/usr/include/c++/11/bits/stl_construct.h: + +/usr/include/c++/11/bits/cpp_type_traits.h: + +/usr/include/c++/11/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/11/ext/new_allocator.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_mdl.h: + +/usr/include/c++/11/bits/stl_uninitialized.h: + +/usr/include/c++/11/backward/auto_ptr.h: + +/usr/include/c++/11/ext/alloc_traits.h: + +/usr/include/aarch64-linux-gnu/bits/floatn.h: + +/usr/include/c++/11/bits/cxxabi_forced.h: + +/usr/include/stdc-predef.h: + +/usr/include/c++/11/bits/alloc_traits.h: + +/usr/include/aarch64-linux-gnu/bits/time64.h: + +/usr/include/alloca.h: + +/usr/include/c++/11/bits/range_access.h: + +/usr/include/c++/11/map: + +/usr/include/c++/11/bits/stl_vector.h: + +/usr/include/c++/11/cstddef: + +/usr/include/c++/11/initializer_list: + +/usr/include/c++/11/iosfwd: + +/usr/include/c++/11/bits/erase_if.h: + +/usr/include/c++/11/bits/ptr_traits.h: + +/usr/include/stdint.h: + +/usr/include/endian.h: + +/usr/include/c++/11/bits/stl_map.h: + +/usr/include/c++/11/bits/unique_ptr.h: + +/usr/include/c++/11/ostream: + +/usr/include/c++/11/bits/hash_bytes.h: + +/usr/include/c++/11/bits/move.h: + +/usr/include/c++/11/bits/stl_relops.h: + +/usr/include/aarch64-linux-gnu/bits/struct_rwlock.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h: + +/usr/include/aarch64-linux-gnu/sys/single_threaded.h: + +/usr/include/c++/11/ext/concurrence.h: + +/usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h: + +/usr/include/c++/11/bits/exception_ptr.h: + +/usr/include/c++/11/ext/string_conversions.h: + +/usr/include/c++/11/bits/nested_exception.h: + +/usr/include/c++/11/bits/shared_ptr_atomic.h: + +/usr/include/aarch64-linux-gnu/bits/typesizes.h: + +/usr/include/c++/11/bits/atomic_lockfree_defines.h: + +/usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h: + +/usr/include/c++/11/bits/streambuf.tcc: + +/usr/include/string.h: + +/usr/include/strings.h: + +/usr/include/aarch64-linux-gnu/bits/string_fortified.h: + +/usr/include/aarch64-linux-gnu/bits/locale.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h: + +/usr/include/c++/11/tuple: + +/usr/include/aarch64-linux-gnu/bits/select.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/securec.h: + +/usr/include/c++/11/bits/charconv.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/securectype.h: + +/usr/include/c++/11/bits/ios_base.h: + +/usr/include/stdio.h: + +/usr/include/c++/11/bits/stringfwd.h: + +/usr/include/aarch64-linux-gnu/bits/strings_fortified.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h: + +/usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h: + +/usr/include/time.h: + +/usr/include/aarch64-linux-gnu/bits/wctype-wchar.h: + +/usr/include/c++/11/bits/stl_multiset.h: + +/usr/include/aarch64-linux-gnu/bits/stdio_lim.h: + +/usr/include/aarch64-linux-gnu/bits/stdio.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h: + +/usr/include/c++/11/cerrno: + +/usr/include/c++/11/stdlib.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h: + +/usr/include/stdlib.h: + +/usr/include/aarch64-linux-gnu/bits/waitflags.h: + +/usr/include/aarch64-linux-gnu/bits/waitstatus.h: + +/usr/include/aarch64-linux-gnu/bits/uintn-identity.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h: + +/usr/include/aarch64-linux-gnu/sys/select.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/aarch64-linux-gnu/bits/long-double.h: + +/usr/include/c++/11/bits/std_abs.h: + +/usr/include/aarch64-linux-gnu/bits/types/error_t.h: + +/usr/include/c++/11/bits/stl_multimap.h: + +/usr/include/aarch64-linux-gnu/asm/errno.h: + +/usr/include/c++/11/cctype: + +/usr/include/asm-generic/errno.h: + +/usr/include/c++/11/bits/std_mutex.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h: + +/usr/include/c++/11/string: + +/usr/include/c++/11/cstdint: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl.h: + +/usr/include/c++/11/bits/localefwd.h: + +/usr/include/aarch64-linux-gnu/bits/types/wint_t.h: + +/usr/include/locale.h: + +/usr/include/c++/11/bits/ostream_insert.h: + +/usr/include/c++/11/bits/shared_ptr_base.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h: + +/usr/include/c++/11/bits/basic_string.h: + +/usr/include/c++/11/bits/basic_string.tcc: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_registry.h: + +/usr/include/c++/11/utility: + +/usr/include/c++/11/ios: + +/usr/include/c++/11/bits/locale_classes.h: + +/usr/include/c++/11/bits/locale_classes.tcc: + +/usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h: + +/usr/include/c++/11/stdexcept: + +/usr/include/c++/11/ext/aligned_buffer.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h: + +/usr/include/c++/11/bits/basic_ios.h: + +/usr/include/c++/11/bits/exception.h: + +/usr/include/c++/11/bits/locale_facets.h: + +../op_host/reduce_sum.cpp: + +/usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h: + +/usr/include/c++/11/cwctype: + +/usr/include/sched.h: + +/usr/include/wctype.h: + +/usr/include/c++/11/functional: + +/usr/include/linux/errno.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h: + +/usr/include/c++/11/istream: + +/usr/include/aarch64-linux-gnu/bits/sched.h: + +/usr/include/c++/11/bits/istream.tcc: + +/usr/include/c++/11/bits/invoke.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h: + +/usr/include/aarch64-linux-gnu/bits/timex.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h: + +/usr/include/c++/11/unordered_set: + +/usr/include/c++/11/bits/hashtable_policy.h: + +/usr/include/c++/11/bits/basic_ios.tcc: + +/usr/include/c++/11/bits/enable_special_members.h: + +/usr/include/c++/11/bits/unordered_set.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h: diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.ts b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.ts new file mode 100644 index 0000000..74472e3 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for cust_optiling. diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/depend.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/depend.make new file mode 100644 index 0000000..fe68c7f --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for cust_optiling. +# This may be replaced when dependencies are built. diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/flags.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/flags.make new file mode 100644 index 0000000..6d98162 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# compile CXX with /usr/bin/c++ +CXX_DEFINES = -DOP_TILING_LIB -D_FORTIFY_SOURCE=2 -D_GLIBCXX_USE_CXX11_ABI=0 -Dcust_optiling_EXPORTS + +CXX_INCLUDES = -I/usr/local/Ascend/ascend-toolkit/latest/include + +CXX_FLAGS = -fPIC -fvisibility=hidden -fPIC -fvisibility-inlines-hidden -O2 -std=c++11 -fstack-protector-strong + diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/link.txt b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/link.txt new file mode 100644 index 0000000..0b94d45 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -fPIC -s -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -shared -Wl,-soname,libcust_opmaster_rt2.0.so -o libcust_opmaster_rt2.0.so CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o -L/usr/local/Ascend/ascend-toolkit/latest/lib64 -Wl,-rpath,/usr/local/Ascend/ascend-toolkit/latest/lib64: -lexe_graph -lregister -ltiling_api -Wl,--whole-archive -lrt2_registry -Wl,--no-whole-archive diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/progress.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/progress.make new file mode 100644 index 0000000..72bb7dd --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 7 +CMAKE_PROGRESS_2 = 8 + diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..6484677dc8d7b180da8ad254db7805d5546a6f33 GIT binary patch literal 93896 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 Z>|HYd4IMvpUn{?@%anWy;**=^{~vRD{(k@f literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o.d b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o.d new file mode 100644 index 0000000..ee9e9d7 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o.d @@ -0,0 +1,270 @@ +op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o: \ + /Package_Cann/test/No_standard/op_host/reduce_sum.cpp \ + /usr/include/stdc-predef.h \ + /Package_Cann/test/No_standard/op_host/reduce_sum_tiling.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/tilingdata_base.h \ + /usr/include/c++/11/vector /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_pair.h /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/vector.tcc /usr/include/c++/11/map \ + /usr/include/c++/11/bits/stl_tree.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/bits/stl_map.h /usr/include/c++/11/tuple \ + /usr/include/c++/11/utility /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/array /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/stl_multimap.h \ + /usr/include/c++/11/bits/erase_if.h /usr/include/c++/11/memory \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h /usr/include/c++/11/bit \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/bits/shared_ptr.h /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/bits/refwrap.h /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/backward/auto_ptr.h /usr/include/c++/11/cstring \ + /usr/include/string.h /usr/include/strings.h \ + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h \ + /usr/include/aarch64-linux-gnu/bits/string_fortified.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/stdio2.h \ + /usr/include/c++/11/stdlib.h /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h /usr/include/errno.h \ + /usr/include/aarch64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/include/c++/11/string /usr/include/c++/11/bits/char_traits.h \ + /usr/include/c++/11/cstdint /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h /usr/include/c++/11/cctype \ + /usr/include/ctype.h /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/string_conversions.h /usr/include/c++/11/cstdio \ + /usr/include/c++/11/cerrno /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/basic_string.tcc /usr/include/c++/11/functional \ + /usr/include/c++/11/bits/std_function.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/include/c++/11/atomic \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def.h \ + /usr/include/c++/11/iostream /usr/include/c++/11/ostream \ + /usr/include/c++/11/ios /usr/include/c++/11/bits/ios_base.h \ + /usr/include/c++/11/bits/locale_classes.h \ + /usr/include/c++/11/bits/locale_classes.tcc \ + /usr/include/c++/11/system_error \ + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h \ + /usr/include/c++/11/stdexcept /usr/include/c++/11/streambuf \ + /usr/include/c++/11/bits/streambuf.tcc \ + /usr/include/c++/11/bits/basic_ios.h \ + /usr/include/c++/11/bits/locale_facets.h /usr/include/c++/11/cwctype \ + /usr/include/wctype.h /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h \ + /usr/include/c++/11/bits/streambuf_iterator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h \ + /usr/include/c++/11/bits/locale_facets.tcc \ + /usr/include/c++/11/bits/basic_ios.tcc \ + /usr/include/c++/11/bits/ostream.tcc /usr/include/c++/11/istream \ + /usr/include/c++/11/bits/istream.tcc \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h \ + /usr/include/c++/11/unordered_set /usr/include/c++/11/bits/hashtable.h \ + /usr/include/c++/11/bits/hashtable_policy.h \ + /usr/include/c++/11/bits/enable_special_members.h \ + /usr/include/c++/11/bits/unordered_set.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/include/c++/11/limits \ + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h \ + /usr/include/c++/11/cstddef \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h \ + /usr/include/c++/11/set /usr/include/c++/11/bits/stl_set.h \ + /usr/include/c++/11/bits/stl_multiset.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./gnode.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/tiling/platform/platform_ascendc.h \ + /usr/include/c++/11/mutex /usr/include/c++/11/chrono \ + /usr/include/c++/11/ratio /usr/include/c++/11/ctime \ + /usr/include/c++/11/bits/parse_numbers.h \ + /usr/include/c++/11/bits/std_mutex.h \ + /usr/include/c++/11/bits/unique_lock.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/utils/type_utils.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_rt.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_op.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_mdl.h diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/DependInfo.cmake b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/DependInfo.cmake new file mode 100644 index 0000000..dc55e44 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/DependInfo.cmake @@ -0,0 +1,18 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/build.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/build.make new file mode 100644 index 0000000..269566d --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +# Utility rule file for optiling_compat. + +# Include any custom commands dependencies for this target. +include op_host/CMakeFiles/optiling_compat.dir/compiler_depend.make + +# Include the progress variables for this target. +include op_host/CMakeFiles/optiling_compat.dir/progress.make + +op_host/CMakeFiles/optiling_compat: + cd /Package_Cann/test/No_standard/build_out/op_host && ln -sf lib/linux/aarch64/libcust_opmaster_rt2.0.so /Package_Cann/test/No_standard/build_out/op_host/liboptiling.so + +optiling_compat: op_host/CMakeFiles/optiling_compat +optiling_compat: op_host/CMakeFiles/optiling_compat.dir/build.make +.PHONY : optiling_compat + +# Rule to build all files generated by this target. +op_host/CMakeFiles/optiling_compat.dir/build: optiling_compat +.PHONY : op_host/CMakeFiles/optiling_compat.dir/build + +op_host/CMakeFiles/optiling_compat.dir/clean: + cd /Package_Cann/test/No_standard/build_out/op_host && $(CMAKE_COMMAND) -P CMakeFiles/optiling_compat.dir/cmake_clean.cmake +.PHONY : op_host/CMakeFiles/optiling_compat.dir/clean + +op_host/CMakeFiles/optiling_compat.dir/depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Package_Cann/test/No_standard /Package_Cann/test/No_standard/op_host /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out/op_host /Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : op_host/CMakeFiles/optiling_compat.dir/depend + diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/cmake_clean.cmake b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/cmake_clean.cmake new file mode 100644 index 0000000..d6c6218 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/optiling_compat" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/optiling_compat.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/compiler_depend.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/compiler_depend.make new file mode 100644 index 0000000..f6005bc --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for optiling_compat. +# This may be replaced when dependencies are built. diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/compiler_depend.ts b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/compiler_depend.ts new file mode 100644 index 0000000..218ad6e --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for optiling_compat. diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/progress.make b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/progress.make @@ -0,0 +1 @@ + diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/progress.marks b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/progress.marks new file mode 100644 index 0000000..7f8f011 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/progress.marks @@ -0,0 +1 @@ +7 diff --git a/precision_Problem/Is_standard/build_out/op_host/Makefile b/precision_Problem/Is_standard/build_out/op_host/Makefile new file mode 100644 index 0000000..9a3f395 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/Makefile @@ -0,0 +1,355 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target package +package: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..." + cd /Package_Cann/test/No_standard/build_out && /usr/bin/cpack --config ./CPackConfig.cmake +.PHONY : package + +# Special rule for the target package +package/fast: package +.PHONY : package/fast + +# Special rule for the target package_source +package_source: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..." + cd /Package_Cann/test/No_standard/build_out && /usr/bin/cpack --config ./CPackSourceConfig.cmake /Package_Cann/test/No_standard/build_out/CPackSourceConfig.cmake +.PHONY : package_source + +# Special rule for the target package_source +package_source/fast: package_source +.PHONY : package_source/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# The main all target +all: cmake_check_build_system + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles /Package_Cann/test/No_standard/build_out/op_host//CMakeFiles/progress.marks + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +op_host/CMakeFiles/cust_op_proto.dir/rule: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/CMakeFiles/cust_op_proto.dir/rule +.PHONY : op_host/CMakeFiles/cust_op_proto.dir/rule + +# Convenience name for target. +cust_op_proto: op_host/CMakeFiles/cust_op_proto.dir/rule +.PHONY : cust_op_proto + +# fast build rule for target. +cust_op_proto/fast: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/build +.PHONY : cust_op_proto/fast + +# Convenience name for target. +op_host/CMakeFiles/cust_optiling.dir/rule: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/CMakeFiles/cust_optiling.dir/rule +.PHONY : op_host/CMakeFiles/cust_optiling.dir/rule + +# Convenience name for target. +cust_optiling: op_host/CMakeFiles/cust_optiling.dir/rule +.PHONY : cust_optiling + +# fast build rule for target. +cust_optiling/fast: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_optiling.dir/build.make op_host/CMakeFiles/cust_optiling.dir/build +.PHONY : cust_optiling/fast + +# Convenience name for target. +op_host/CMakeFiles/cust_opapi.dir/rule: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/CMakeFiles/cust_opapi.dir/rule +.PHONY : op_host/CMakeFiles/cust_opapi.dir/rule + +# Convenience name for target. +cust_opapi: op_host/CMakeFiles/cust_opapi.dir/rule +.PHONY : cust_opapi + +# fast build rule for target. +cust_opapi/fast: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_opapi.dir/build.make op_host/CMakeFiles/cust_opapi.dir/build +.PHONY : cust_opapi/fast + +# Convenience name for target. +op_host/CMakeFiles/optiling_compat.dir/rule: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/CMakeFiles/optiling_compat.dir/rule +.PHONY : op_host/CMakeFiles/optiling_compat.dir/rule + +# Convenience name for target. +optiling_compat: op_host/CMakeFiles/optiling_compat.dir/rule +.PHONY : optiling_compat + +# fast build rule for target. +optiling_compat/fast: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/optiling_compat.dir/build.make op_host/CMakeFiles/optiling_compat.dir/build +.PHONY : optiling_compat/fast + +__/autogen/aclnn_reduce_sum.o: __/autogen/aclnn_reduce_sum.cpp.o +.PHONY : __/autogen/aclnn_reduce_sum.o + +# target to build an object file +__/autogen/aclnn_reduce_sum.cpp.o: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_opapi.dir/build.make op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o +.PHONY : __/autogen/aclnn_reduce_sum.cpp.o + +__/autogen/aclnn_reduce_sum.i: __/autogen/aclnn_reduce_sum.cpp.i +.PHONY : __/autogen/aclnn_reduce_sum.i + +# target to preprocess a source file +__/autogen/aclnn_reduce_sum.cpp.i: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_opapi.dir/build.make op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.i +.PHONY : __/autogen/aclnn_reduce_sum.cpp.i + +__/autogen/aclnn_reduce_sum.s: __/autogen/aclnn_reduce_sum.cpp.s +.PHONY : __/autogen/aclnn_reduce_sum.s + +# target to generate assembly for a file +__/autogen/aclnn_reduce_sum.cpp.s: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_opapi.dir/build.make op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.s +.PHONY : __/autogen/aclnn_reduce_sum.cpp.s + +__/autogen/op_proto.o: __/autogen/op_proto.cc.o +.PHONY : __/autogen/op_proto.o + +# target to build an object file +__/autogen/op_proto.cc.o: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o +.PHONY : __/autogen/op_proto.cc.o + +__/autogen/op_proto.i: __/autogen/op_proto.cc.i +.PHONY : __/autogen/op_proto.i + +# target to preprocess a source file +__/autogen/op_proto.cc.i: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.i +.PHONY : __/autogen/op_proto.cc.i + +__/autogen/op_proto.s: __/autogen/op_proto.cc.s +.PHONY : __/autogen/op_proto.s + +# target to generate assembly for a file +__/autogen/op_proto.cc.s: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.s +.PHONY : __/autogen/op_proto.cc.s + +reduce_sum.o: reduce_sum.cpp.o +.PHONY : reduce_sum.o + +# target to build an object file +reduce_sum.cpp.o: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_optiling.dir/build.make op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o +.PHONY : reduce_sum.cpp.o + +reduce_sum.i: reduce_sum.cpp.i +.PHONY : reduce_sum.i + +# target to preprocess a source file +reduce_sum.cpp.i: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.i + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_optiling.dir/build.make op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.i +.PHONY : reduce_sum.cpp.i + +reduce_sum.s: reduce_sum.cpp.s +.PHONY : reduce_sum.s + +# target to generate assembly for a file +reduce_sum.cpp.s: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.s + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_optiling.dir/build.make op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.s +.PHONY : reduce_sum.cpp.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... package" + @echo "... package_source" + @echo "... rebuild_cache" + @echo "... optiling_compat" + @echo "... cust_op_proto" + @echo "... cust_opapi" + @echo "... cust_optiling" + @echo "... __/autogen/aclnn_reduce_sum.o" + @echo "... __/autogen/aclnn_reduce_sum.i" + @echo "... __/autogen/aclnn_reduce_sum.s" + @echo "... __/autogen/op_proto.o" + @echo "... __/autogen/op_proto.i" + @echo "... __/autogen/op_proto.s" + @echo "... reduce_sum.o" + @echo "... reduce_sum.i" + @echo "... reduce_sum.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/precision_Problem/Is_standard/build_out/op_host/cmake_install.cmake b/precision_Problem/Is_standard/build_out/op_host/cmake_install.cmake new file mode 100644 index 0000000..d161fa6 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/cmake_install.cmake @@ -0,0 +1,125 @@ +# Install script for directory: /Package_Cann/test/No_standard/op_host + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/Package_Cann/test/No_standard/build_out") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so") + file(RPATH_CHECK + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so" + RPATH "") + endif() + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/lib/linux/aarch64" TYPE SHARED_LIBRARY FILES "/Package_Cann/test/No_standard/build_out/op_host/libcust_opsproto_rt2.0.so") + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so") + file(RPATH_CHANGE + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so" + OLD_RPATH "/usr/local/Ascend/ascend-toolkit/latest/lib64:" + NEW_RPATH "") + if(CMAKE_INSTALL_DO_STRIP) + execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so") + endif() + endif() +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/inc" TYPE FILE FILES "/Package_Cann/test/No_standard/build_out/autogen/op_proto.h") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so") + file(RPATH_CHECK + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so" + RPATH "") + endif() + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64" TYPE SHARED_LIBRARY FILES "/Package_Cann/test/No_standard/build_out/op_host/libcust_opmaster_rt2.0.so") + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so") + file(RPATH_CHANGE + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so" + OLD_RPATH "/usr/local/Ascend/ascend-toolkit/latest/lib64:" + NEW_RPATH "") + if(CMAKE_INSTALL_DO_STRIP) + execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so") + endif() + endif() +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling" TYPE FILE FILES "/Package_Cann/test/No_standard/build_out/op_host/liboptiling.so") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/lib/libcust_opapi.so" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/lib/libcust_opapi.so") + file(RPATH_CHECK + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/lib/libcust_opapi.so" + RPATH "") + endif() + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/lib" TYPE SHARED_LIBRARY FILES "/Package_Cann/test/No_standard/build_out/op_host/libcust_opapi.so") + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/lib/libcust_opapi.so" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/lib/libcust_opapi.so") + file(RPATH_CHANGE + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/lib/libcust_opapi.so" + OLD_RPATH "/usr/local/Ascend/ascend-toolkit/latest/lib64:" + NEW_RPATH "") + if(CMAKE_INSTALL_DO_STRIP) + execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/lib/libcust_opapi.so") + endif() + endif() +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/include" TYPE FILE FILES "/Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.h") +endif() + diff --git a/precision_Problem/Is_standard/build_out/op_host/libcust_opapi.so b/precision_Problem/Is_standard/build_out/op_host/libcust_opapi.so new file mode 100644 index 0000000000000000000000000000000000000000..6bd5e35d6ed556efe777a1e1d695a5e67b186a47 GIT binary patch literal 10352 zcmdT~3v68FmHzMCah}FaAdrM)$+ZcQ$-}WjN|O}mc${Fe4dB{Fu%)}>>zNyS>ha8I z=1#EVZR13{2o){z#CcF4!3q+>BeHcXcZtd_n832>wpyixLY4yS7^tGM53igMhG1sD zbMJq~zbBp*t+bW)T6fMp-+BJe`_CEg*|y_OkERK}bn$|i;)L)?!FV}q5VlFo#^?27 zsiRvmCA#7%v&@B<3hA9<%)-57xhr3?+>OfggxAFf^3GkkN7{`@yAf%})JF=qn9gxo zLGI{2<+{0ou9SLANtdpMkL(aVKflyrub|B?ESR$0w_r!@`?A*psn{sv73-Jtx~s@k zHpgk(B8W&_f6sm5H}#!AKk(8=Eid-BZ#ci_j5fAq)7Qz8y5~=Dlbw^FCNy9^!swdw z`qO{C=e%#f%gy|$i@9RF^h%j7t`oxGj9mHWAXi_hD*h2_GvO~3(f@7{{fkBPA1O{jC;U{*;J>Vh{x6Ee{hK2AeMRt>i}=622wsLkpQ-=fE#m*# zB7U+(@SBR@G|vs(h1c(j=mVZne{B)`JHW3N^Tmi

;*?a@g@dU$oF7!4-Fj5P?8j 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 T<=Cp~Wy9qrR1nW>$MF9E%;CJ_ literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/build_out/op_host/libcust_opmaster_rt2.0.so b/precision_Problem/Is_standard/build_out/op_host/libcust_opmaster_rt2.0.so new file mode 100644 index 0000000000000000000000000000000000000000..6667f28e8ecaae2c7414c90a1c61ffffea6c3459 GIT binary patch literal 137160 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 literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/build_out/op_host/libcust_opsproto_rt2.0.so b/precision_Problem/Is_standard/build_out/op_host/libcust_opsproto_rt2.0.so new file mode 100644 index 0000000000000000000000000000000000000000..ea924e54f9280ea0c1b000d25a6289a30f01351c GIT binary patch literal 145352 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 NZ&u@H&wuv#e*sO$9z*~D literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json new file mode 100644 index 0000000..999f4f8 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json @@ -0,0 +1,93 @@ +{ + "binFileName": "ReduceSum_aba912fd1d17807efc5a7debff52df92", + "binFileSuffix": ".o", + "blockDim": -1, + "coreType": "VectorCore", + "core_type": "AIV", + "kernelName": "ReduceSum_aba912fd1d17807efc5a7debff52df92", + "magic": "RT_DEV_BINARY_MAGIC_ELF", + "memoryStamping": [], + "opParaSize": 48, + "parameters": [], + "sha256": "4c18f6864ed2c98b13f4d0d0ef028655cb35953ab386a4afacea612aab6c7500", + "workspace": { + "num": 1, + "size": [ + -1 + ], + "type": [ + 0 + ] + }, + "kernelList": [ + { + "kernelName": "ReduceSum_aba912fd1d17807efc5a7debff52df92_0" + } + ], + "optionalInputMode": "gen_placeholder", + "compileInfo": {}, + "supportInfo": { + "implMode": "", + "int64Mode": false, + "simplifiedKeyMode": 0, + "simplifiedKey": [ + "ReduceSum/d=0,p=0/1,2/3,2/1,2", + "ReduceSum/d=1,p=0/1,2/3,2/1,2" + ], + "staticKey": "99fec46c7fb0c696b2b7d64cf7e55d7ea2f4477ec7431c03cb97e71ecceef43a", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "float16", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "float16", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "opMode": "dynamic", + "optionalInputMode": "gen_placeholder", + "deterministic": "ignore" + } +} \ No newline at end of file diff --git a/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o new file mode 100644 index 0000000000000000000000000000000000000000..86f4262d4913f82bbb071d0142af3d3782c96c5d GIT binary patch literal 4008 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 K&z}G6@&5uZp&qRO literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json new file mode 100644 index 0000000..ab16727 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json @@ -0,0 +1,93 @@ +{ + "binFileName": "ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a", + "binFileSuffix": ".o", + "blockDim": -1, + "coreType": "VectorCore", + "core_type": "AIV", + "kernelName": "ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a", + "magic": "RT_DEV_BINARY_MAGIC_ELF", + "memoryStamping": [], + "opParaSize": 48, + "parameters": [], + "sha256": "cf9debf69c81f9b99c329ea5e1b68f91ebde2e3004e6aa2c062f78c218fdda0a", + "workspace": { + "num": 1, + "size": [ + -1 + ], + "type": [ + 0 + ] + }, + "kernelList": [ + { + "kernelName": "ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a_0" + } + ], + "optionalInputMode": "gen_placeholder", + "compileInfo": {}, + "supportInfo": { + "implMode": "", + "int64Mode": false, + "simplifiedKeyMode": 0, + "simplifiedKey": [ + "ReduceSum/d=0,p=0/0,2/3,2/0,2", + "ReduceSum/d=1,p=0/0,2/3,2/0,2" + ], + "staticKey": "80602307177ba63e857667cbab2faea65a5120e0167977a2da73ed1c8cc3b00e", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "float32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "float32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "opMode": "dynamic", + "optionalInputMode": "gen_placeholder", + "deterministic": "ignore" + } +} \ No newline at end of file diff --git a/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o new file mode 100644 index 0000000000000000000000000000000000000000..ad0758e3affa845d1fc9d1a4e3784a2b5825b52f GIT binary patch literal 4008 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 L)%fZ2pFaLyx*Q&N literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-0.sh b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-0.sh new file mode 100644 index 0000000..aef070b --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-0.sh @@ -0,0 +1,14 @@ +#!/bin/bash +echo "[Ascend310B1] Generating ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a ..." +opc $1 --main_func=reduce_sum --input_param=/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a_param.json --soc_version=Ascend310B1 --output=$2 --impl_mode="" --simplified_key_mode=0 --op_mode=dynamic + +if ! test -f $2/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json ; then + echo "$2/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json not generated!" + exit 1 +fi + +if ! test -f $2/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o ; then + echo "$2/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o not generated!" + exit 1 +fi +echo "[Ascend310B1] Generating ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a Done" diff --git a/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-1.sh b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-1.sh new file mode 100644 index 0000000..d30a52e --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-1.sh @@ -0,0 +1,14 @@ +#!/bin/bash +echo "[Ascend310B1] Generating ReduceSum_aba912fd1d17807efc5a7debff52df92 ..." +opc $1 --main_func=reduce_sum --input_param=/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aba912fd1d17807efc5a7debff52df92_param.json --soc_version=Ascend310B1 --output=$2 --impl_mode="" --simplified_key_mode=0 --op_mode=dynamic + +if ! test -f $2/ReduceSum_aba912fd1d17807efc5a7debff52df92.json ; then + echo "$2/ReduceSum_aba912fd1d17807efc5a7debff52df92.json not generated!" + exit 1 +fi + +if ! test -f $2/ReduceSum_aba912fd1d17807efc5a7debff52df92.o ; then + echo "$2/ReduceSum_aba912fd1d17807efc5a7debff52df92.o not generated!" + exit 1 +fi +echo "[Ascend310B1] Generating ReduceSum_aba912fd1d17807efc5a7debff52df92 Done" diff --git a/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-2.sh b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-2.sh new file mode 100644 index 0000000..241bd93 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-2.sh @@ -0,0 +1,14 @@ +#!/bin/bash +echo "[Ascend310B1] Generating ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f ..." +opc $1 --main_func=reduce_sum --input_param=/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f_param.json --soc_version=Ascend310B1 --output=$2 --impl_mode="" --simplified_key_mode=0 --op_mode=dynamic + +if ! test -f $2/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json ; then + echo "$2/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json not generated!" + exit 1 +fi + +if ! test -f $2/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o ; then + echo "$2/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o not generated!" + exit 1 +fi +echo "[Ascend310B1] Generating ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f Done" diff --git a/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-3.sh b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-3.sh new file mode 100644 index 0000000..a6f5738 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-3.sh @@ -0,0 +1,14 @@ +#!/bin/bash +echo "[Ascend310B1] Generating ReduceSum_aab7d211a4f4f395b4f928b8c56a621d ..." +opc $1 --main_func=reduce_sum --input_param=/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d_param.json --soc_version=Ascend310B1 --output=$2 --impl_mode="" --simplified_key_mode=0 --op_mode=dynamic + +if ! test -f $2/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json ; then + echo "$2/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json not generated!" + exit 1 +fi + +if ! test -f $2/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o ; then + echo "$2/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o not generated!" + exit 1 +fi +echo "[Ascend310B1] Generating ReduceSum_aab7d211a4f4f395b4f928b8c56a621d Done" diff --git a/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d_param.json b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d_param.json new file mode 100644 index 0000000..a33ffaf --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d_param.json @@ -0,0 +1,59 @@ +{ + "op_type": "ReduceSum", + "op_list": [ + { + "bin_filename": "ReduceSum_aab7d211a4f4f395b4f928b8c56a621d", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "int8", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "int8", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ] + } + ] +} \ No newline at end of file diff --git a/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aba912fd1d17807efc5a7debff52df92_param.json b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aba912fd1d17807efc5a7debff52df92_param.json new file mode 100644 index 0000000..5c690e8 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aba912fd1d17807efc5a7debff52df92_param.json @@ -0,0 +1,59 @@ +{ + "op_type": "ReduceSum", + "op_list": [ + { + "bin_filename": "ReduceSum_aba912fd1d17807efc5a7debff52df92", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "float16", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "float16", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ] + } + ] +} \ No newline at end of file diff --git a/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f_param.json b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f_param.json new file mode 100644 index 0000000..e72f075 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f_param.json @@ -0,0 +1,59 @@ +{ + "op_type": "ReduceSum", + "op_list": [ + { + "bin_filename": "ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ] + } + ] +} \ No newline at end of file diff --git a/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a_param.json b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a_param.json new file mode 100644 index 0000000..17dd854 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a_param.json @@ -0,0 +1,59 @@ +{ + "op_type": "ReduceSum", + "op_list": [ + { + "bin_filename": "ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "float32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "float32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ] + } + ] +} \ No newline at end of file diff --git a/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/src/CMakeLists.txt b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/src/CMakeLists.txt new file mode 100644 index 0000000..8c94a95 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/src/CMakeLists.txt @@ -0,0 +1,68 @@ +# set custom compile options +if ("${CMAKE_BUILD_TYPE}x" STREQUAL "Debugx") + add_ops_compile_options(ALL OPTIONS -g -O0) +endif() + +foreach(compute_unit ${ASCEND_COMPUTE_UNIT}) + + # generate aic-${compute_unit}-ops-info.json + add_ops_info_target(TARGET ops_info_gen_${compute_unit} + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/tbe/op_info_cfg/ai_core/${compute_unit}/aic-${compute_unit}-ops-info.json + OPS_INFO ${ASCEND_AUTOGEN_PATH}/aic-${compute_unit}-ops-info.ini + INSTALL_DIR packages/vendors/${vendor_name}/op_impl/ai_core/tbe/config/${compute_unit} + ) + + # generate ascendc impl py once + if (NOT TARGET ascendc_impl_gen) + add_ops_impl_target(TARGET ascendc_impl_gen + OPS_INFO ${ASCEND_AUTOGEN_PATH}/aic-${compute_unit}-ops-info.ini + IMPL_DIR ${CMAKE_CURRENT_SOURCE_DIR} + OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/tbe + INSTALL_DIR packages/vendors/${vendor_name}/op_impl/ai_core/tbe/${vendor_name}_impl + ) + endif() + + # dynamic shape binary compile + if (${ENABLE_BINARY_PACKAGE} AND NOT ${ENABLE_CROSS_COMPILE}) + add_bin_compile_target(TARGET ascendc_bin_${compute_unit} + OPS_INFO ${ASCEND_AUTOGEN_PATH}/aic-${compute_unit}-ops-info.ini + IMPL_DIR ${CMAKE_CURRENT_SOURCE_DIR} + ADP_DIR ${CMAKE_CURRENT_BINARY_DIR}/tbe/dynamic + OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/binary/${compute_unit} + INSTALL_DIR packages/vendors/${vendor_name}/op_impl/ai_core/tbe/kernel + COMPUTE_UNIT ${compute_unit} + ) + add_dependencies(ascendc_bin_${compute_unit} ascendc_impl_gen) + endif() + + if (${ENABLE_CROSS_COMPILE} AND ${ENABLE_BINARY_PACKAGE}) + add_cross_compile_target( + TARGET bin_${compute_unit} + OUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../kernel + INSTALL_DIR packages/vendors/${vendor_name}/op_impl/ai_core/tbe/ + ) + endif() +endforeach() + +# generate npu_supported_ops.json +add_npu_support_target(TARGET npu_supported_ops + OPS_INFO_DIR ${ASCEND_AUTOGEN_PATH} + OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/tbe/op_info_cfg/ai_core + INSTALL_DIR packages/vendors/${vendor_name}/framework/${ASCEND_FRAMEWORK_TYPE} +) + +if(ENABLE_TEST AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/testcases) + add_subdirectory(testcases) +endif() + +# install kernel file +if (${ENABLE_SOURCE_PACKAGE}) + file(GLOB KERNEL_FILES + ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/*.h + ${CMAKE_CURRENT_SOURCE_DIR}/*.py + ) + install(FILES ${KERNEL_FILES} + DESTINATION packages/vendors/${vendor_name}/op_impl/ai_core/tbe/${vendor_name}_impl/dynamic + ) +endif() diff --git a/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/src/ReduceSum.py b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/src/ReduceSum.py new file mode 100644 index 0000000..5ce4bbb --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/src/ReduceSum.py @@ -0,0 +1,205 @@ + +import os, sys +import ctypes +import json +import shutil +from tbe.common.platform import get_soc_spec +from tbe.common.utils import para_check +from tbe.tikcpp import compile_op, replay_op, check_op_cap, generalize_op_params, get_code_channel, OpInfo +from tbe.common.buildcfg import get_default_build_config +from impl.util.platform_adapter import tbe_register +from tbe.common.buildcfg import get_current_build_config +PYF_PATH = os.path.dirname(os.path.realpath(__file__)) + +DTYPE_MAP = {"float32": ["DT_FLOAT", "float"], + "float16": ["DT_FLOAT16", "half"], + "int8": ["DT_INT8", "int8_t"], + "int16": ["DT_INT16", "int16_t"], + "int32": ["DT_INT32", "int32_t"], + "int64": ["DT_INT64", "int64_t"], + "uint1": ["DT_UINT1", "uint8_t"], + "uint8": ["DT_UINT8", "uint8_t"], + "uint16": ["DT_UINT16", "uint16_t"], + "uint32": ["DT_UINT32", "uint32_t"], + "uint64": ["DT_UINT64", "uint64_t"], + "bool": ["DT_BOOL", "bool"], + "double": ["DT_DOUBLE", "double"], + "dual": ["DT_DUAL", "unknown"], + "dual_sub_int8": ["DT_DUAL_SUB_INT8", "unknown"], + "dual_sub_uint8": ["DT_DUAL_SUB_UINT8", "unknown"], + "string": ["DT_STRING", "unknown"], + "complex64": ["DT_COMPLEX64", "unknown"], + "complex128": ["DT_COMPLEX128", "unknown"], + "qint8": ["DT_QINT8", "unknown"], + "qint16": ["DT_QINT16", "unknown"], + "qint32": ["DT_QINT32", "unknown"], + "quint8": ["DT_QUINT8", "unknown"], + "quint16": ["DT_QUINT16", "unknown"], + "resource": ["DT_RESOURCE", "unknown"], + "string_ref": ["DT_STRING_REF", "unknown"], + "int4": ["DT_INT4", "int4b_t"], + "bfloat16": ["DT_BF16", "bfloat16_t"]} + +def add_dtype_fmt_option_single(x, x_n, is_ref: bool = False): + options = [] + x_fmt = x.get("format") + x_dtype = x.get("dtype") + x_n_in_kernel = x_n + '_REF' if is_ref else x_n + options.append("-DDTYPE_{n}={t}".format(n=x_n_in_kernel, t=DTYPE_MAP.get(x_dtype)[1])) + options.append("-DORIG_DTYPE_{n}={ot}".format(n=x_n_in_kernel, ot=DTYPE_MAP.get(x_dtype)[0])) + options.append("-DFORMAT_{n}=FORMAT_{f}".format(n=x_n_in_kernel, f=x_fmt)) + return options + +def get_dtype_fmt_options(__inputs__, __outputs__): + options = [] + input_names = ['x', 'axis'] + output_names = ['y'] + unique_param_name_set = set() + for idx, x in enumerate(__inputs__): + if x is None: + continue + x_n = input_names[idx].upper() + unique_param_name_set.add(x_n) + options += add_dtype_fmt_option_single(x, x_n) + + for idx, x in enumerate(__outputs__): + if x is None: + continue + x_n = output_names[idx].upper() + if x_n in unique_param_name_set: + options += add_dtype_fmt_option_single(x, x_n, True) + else: + options += add_dtype_fmt_option_single(x, x_n) + return options + +def load_dso(so_path): + try: + ctypes.CDLL(so_path) + except OSError as error : + print(error) + raise RuntimeError("cannot open %s" %(so_path)) + else: + print("load so succ ", so_path) + +def get_shortsoc_compile_option(compile_option_list: list, shortsoc:str): + compile_options = [] + if shortsoc in compile_option_list: + compile_options = compile_option_list[shortsoc] + elif '__ALLSOC__' in compile_option_list: + compile_options = compile_option_list['__ALLSOC__'] + return compile_options + +def get_kernel_source(src_file, dir_snake, dir_ex): + src_ex = os.path.join(PYF_PATH, "..", "ascendc", dir_ex, src_file) + if os.path.exists(src_ex): + return src_ex + src = os.path.join(PYF_PATH, "..", "ascendc", dir_snake, src_file) + if os.path.exists(src): + return src + src = os.path.join(PYF_PATH, src_file) + if os.path.exists(src): + return src + return src_ex + +def _build_args(x_in__, axis_in__, y_out_, keep_dims, ignore_nan, dtype): + __inputs__ = [] + for arg in [x_in__, axis_in__]: + if arg != None: + if isinstance(arg, (list, tuple)): + if len(arg) == 0: + continue + __inputs__.append(arg[0]) + else: + __inputs__.append(arg) + else: + __inputs__.append(arg) + __outputs__ = [] + for arg in [y_out_]: + if arg != None: + if isinstance(arg, (list, tuple)): + if len(arg) == 0: + continue + __outputs__.append(arg[0]) + else: + __outputs__.append(arg) + else: + __outputs__.append(arg) + __attrs__ = [] + if keep_dims != None: + attr = {} + attr["name"] = "keep_dims" + attr["dtype"] = "bool" + attr["value"] = keep_dims + __attrs__.append(attr) + if ignore_nan != None: + attr = {} + attr["name"] = "ignore_nan" + attr["dtype"] = "bool" + attr["value"] = ignore_nan + __attrs__.append(attr) + if dtype != None: + attr = {} + attr["name"] = "dtype" + attr["dtype"] = "str" + attr["value"] = dtype + __attrs__.append(attr) + return __inputs__, __outputs__, __attrs__ + +@tbe_register.register_operator("ReduceSum", trans_bool_to_s8=False) +@para_check.check_op_params(para_check.REQUIRED_INPUT, para_check.REQUIRED_INPUT, para_check.REQUIRED_OUTPUT, para_check.OPTION_ATTR_BOOL, para_check.OPTION_ATTR_BOOL, para_check.OPTION_ATTR_STR, para_check.KERNEL_NAME) +def reduce_sum(x_in__, axis_in__, y_out_, keep_dims=False, ignore_nan=False, dtype="float", kernel_name="reduce_sum", impl_mode=""): + if get_current_build_config("enable_op_prebuild"): + return + __inputs__, __outputs__, __attrs__ = _build_args(x_in__, axis_in__, y_out_, keep_dims, ignore_nan, dtype) + options = get_dtype_fmt_options(__inputs__, __outputs__) + options += ["-x", "cce"] + bisheng = shutil.which("bisheng") + if bisheng != None: + bisheng_path = os.path.dirname(bisheng) + tikcpp_path = os.path.realpath(os.path.join(bisheng_path, "..", "..", "tikcpp")) + else: + tikcpp_path = os.path.realpath("/usr/local/Ascend/latest/compiler/tikcpp") + options.append("-I" + tikcpp_path) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw")) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw", "impl")) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw", "interface")) + options.append("-I" + os.path.join(PYF_PATH, "..", "ascendc", "common")) + if impl_mode == "high_performance": + options.append("-DHIGH_PERFORMANCE=1") + elif impl_mode == "high_precision": + options.append("-DHIGH_PRECISION=1") + if get_default_build_config("enable_deterministic_mode") == 1: + options.append("-DDETEMINISTIC_MODE=1") + + custom_compile_options = {}, + custom_all_compile_options = {}, + soc_version = get_soc_spec("SOC_VERSION") + soc_short = get_soc_spec("SHORT_SOC_VERSION").lower() + custom_compile_options_soc = get_shortsoc_compile_option(custom_compile_options[0], soc_short) + custom_all_compile_options_soc = get_shortsoc_compile_option(custom_all_compile_options[0], soc_short) + options += custom_all_compile_options_soc + options += custom_compile_options_soc + + origin_func_name = "reduce_sum" + ascendc_src_dir_ex = "reduce_sum" + ascendc_src_dir = "reduce_sum" + ascendc_src_file = "reduce_sum.cpp" + src = get_kernel_source(ascendc_src_file, ascendc_src_dir, ascendc_src_dir_ex) + + print("start compile Ascend C operator ReduceSum. kernel name is " + kernel_name) + op_type = "ReduceSum" + code_channel = get_code_channel(src, kernel_name, op_type, options) + op_info = OpInfo(kernel_name = kernel_name, op_type = op_type, inputs = __inputs__, outputs = __outputs__,\ + attrs = __attrs__, impl_mode = impl_mode, origin_inputs=[x_in__, axis_in__], origin_outputs = [y_out_], param_type_dynamic = False,\ + mc2_ctx = None, param_type_list = ['required', 'required', 'required']) + compile_op(src, origin_func_name, op_info, options, code_channel, '{}') + +def op_select_format(x_in__, axis_in__, y_out_, keep_dims=False, ignore_nan=False, dtype="float", impl_mode=""): + __inputs__, __outputs__, __attrs__ = _build_args(x_in__, axis_in__, y_out_, keep_dims, ignore_nan, dtype) + result = check_op_cap("op_select_format", "ReduceSum", __inputs__, __outputs__, __attrs__) + return result.decode("utf-8") + +def get_op_specific_info(x_in__, axis_in__, y_out_, keep_dims=False, ignore_nan=False, dtype="float", impl_mode=""): + __inputs__, __outputs__, __attrs__ = _build_args(x_in__, axis_in__, y_out_, keep_dims, ignore_nan, dtype) + result = check_op_cap("get_op_specific_info", "ReduceSum", __inputs__, __outputs__, __attrs__) + return result.decode("utf-8") diff --git a/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/src/__pycache__/ReduceSum.cpython-39.pyc b/precision_Problem/Is_standard/build_out/op_kernel/binary/ascend310b/src/__pycache__/ReduceSum.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dd9cc442d87eb1a4a0acfa336b346618beea7761 GIT binary patch literal 6521 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 xLocal = inQueueX.AllocTensor(); + LocalTensor yLocal = outQueueY.AllocTensor(); + DataCopy(xLocal, xGm, 32); + + // auto p1 = tmp1.Get(); + // auto p2 = tmp2.Get(); + // auto p3 = tmp3.Get(); + + // Cast(p1, xLocal, RoundMode::CAST_NONE, 32); + // Cast(p2, yLocal, RoundMode::CAST_NONE, 32); + + ReduceSum(yLocal, xLocal, yLocal[32], 32); + // Cast(yLocal, p2, RoundMode::CAST_TRUNC, 32); + yGm.SetValue(0, yLocal.GetValue(0)); + + inQueueX.FreeTensor(xLocal); + outQueueY.FreeTensor(yLocal); + + } + + + +private: + TPipe pipe; + TQue inQueueX; + + TQue outQueueY; + + TBuf tmp1, tmp2, tmp3; + + GlobalTensor xGm; + GlobalTensor yGm; + +}; + +extern "C" __global__ __aicore__ void reduce_sum(GM_ADDR x, GM_ADDR axes, GM_ADDR y, GM_ADDR workspace, GM_ADDR tiling) +{ + GET_TILING_DATA(tiling_data, tiling); + KernelAdd op; + op.Init(x, axes, y, tiling_data.size, + tiling_data.shape, tiling_data.axis_size, + tiling_data.dataType); + op.Act(); +} diff --git a/precision_Problem/Is_standard/build_out/op_kernel/cmake_install.cmake b/precision_Problem/Is_standard/build_out/op_kernel/cmake_install.cmake new file mode 100644 index 0000000..5a0cabd --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_kernel/cmake_install.cmake @@ -0,0 +1,108 @@ +# Install script for directory: /Package_Cann/test/No_standard/op_kernel + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/Package_Cann/test/No_standard/build_out") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/config/ascend310b" TYPE FILE FILES "/Package_Cann/test/No_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/ascend310b/aic-ascend310b-ops-info.json") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/customize_impl" TYPE DIRECTORY FILES "/Package_Cann/test/No_standard/build_out/op_kernel/tbe/dynamic") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b" TYPE DIRECTORY OPTIONAL FILES "/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/kernel/config/ascend310b" TYPE FILE OPTIONAL FILES "/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum.json") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/kernel/config/ascend310b" TYPE FILE OPTIONAL FILES "/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/bin/binary_info_config.json") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES + "/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum") + if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) + message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) + message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + file(INSTALL DESTINATION "/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b" TYPE DIRECTORY OPTIONAL FILES "/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES + "/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/config/ascend310b/binary_info_config.json") + if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) + message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) + message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + file(INSTALL DESTINATION "/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/config/ascend310b" TYPE FILE OPTIONAL FILES "/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/bin/binary_info_config.json") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES + "/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/config/ascend310b/reduce_sum.json") + if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) + message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) + message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + file(INSTALL DESTINATION "/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/config/ascend310b" TYPE FILE OPTIONAL FILES "/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum.json") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow" TYPE FILE FILES "/Package_Cann/test/No_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/npu_supported_ops.json") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/customize_impl/dynamic" TYPE FILE FILES "/Package_Cann/test/No_standard/op_kernel/reduce_sum.cpp") +endif() + diff --git a/precision_Problem/Is_standard/build_out/op_kernel/tbe/.impl_timestamp b/precision_Problem/Is_standard/build_out/op_kernel/tbe/.impl_timestamp new file mode 100644 index 0000000..e69de29 diff --git a/precision_Problem/Is_standard/build_out/op_kernel/tbe/dynamic/reduce_sum.py b/precision_Problem/Is_standard/build_out/op_kernel/tbe/dynamic/reduce_sum.py new file mode 100644 index 0000000..5ce4bbb --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_kernel/tbe/dynamic/reduce_sum.py @@ -0,0 +1,205 @@ + +import os, sys +import ctypes +import json +import shutil +from tbe.common.platform import get_soc_spec +from tbe.common.utils import para_check +from tbe.tikcpp import compile_op, replay_op, check_op_cap, generalize_op_params, get_code_channel, OpInfo +from tbe.common.buildcfg import get_default_build_config +from impl.util.platform_adapter import tbe_register +from tbe.common.buildcfg import get_current_build_config +PYF_PATH = os.path.dirname(os.path.realpath(__file__)) + +DTYPE_MAP = {"float32": ["DT_FLOAT", "float"], + "float16": ["DT_FLOAT16", "half"], + "int8": ["DT_INT8", "int8_t"], + "int16": ["DT_INT16", "int16_t"], + "int32": ["DT_INT32", "int32_t"], + "int64": ["DT_INT64", "int64_t"], + "uint1": ["DT_UINT1", "uint8_t"], + "uint8": ["DT_UINT8", "uint8_t"], + "uint16": ["DT_UINT16", "uint16_t"], + "uint32": ["DT_UINT32", "uint32_t"], + "uint64": ["DT_UINT64", "uint64_t"], + "bool": ["DT_BOOL", "bool"], + "double": ["DT_DOUBLE", "double"], + "dual": ["DT_DUAL", "unknown"], + "dual_sub_int8": ["DT_DUAL_SUB_INT8", "unknown"], + "dual_sub_uint8": ["DT_DUAL_SUB_UINT8", "unknown"], + "string": ["DT_STRING", "unknown"], + "complex64": ["DT_COMPLEX64", "unknown"], + "complex128": ["DT_COMPLEX128", "unknown"], + "qint8": ["DT_QINT8", "unknown"], + "qint16": ["DT_QINT16", "unknown"], + "qint32": ["DT_QINT32", "unknown"], + "quint8": ["DT_QUINT8", "unknown"], + "quint16": ["DT_QUINT16", "unknown"], + "resource": ["DT_RESOURCE", "unknown"], + "string_ref": ["DT_STRING_REF", "unknown"], + "int4": ["DT_INT4", "int4b_t"], + "bfloat16": ["DT_BF16", "bfloat16_t"]} + +def add_dtype_fmt_option_single(x, x_n, is_ref: bool = False): + options = [] + x_fmt = x.get("format") + x_dtype = x.get("dtype") + x_n_in_kernel = x_n + '_REF' if is_ref else x_n + options.append("-DDTYPE_{n}={t}".format(n=x_n_in_kernel, t=DTYPE_MAP.get(x_dtype)[1])) + options.append("-DORIG_DTYPE_{n}={ot}".format(n=x_n_in_kernel, ot=DTYPE_MAP.get(x_dtype)[0])) + options.append("-DFORMAT_{n}=FORMAT_{f}".format(n=x_n_in_kernel, f=x_fmt)) + return options + +def get_dtype_fmt_options(__inputs__, __outputs__): + options = [] + input_names = ['x', 'axis'] + output_names = ['y'] + unique_param_name_set = set() + for idx, x in enumerate(__inputs__): + if x is None: + continue + x_n = input_names[idx].upper() + unique_param_name_set.add(x_n) + options += add_dtype_fmt_option_single(x, x_n) + + for idx, x in enumerate(__outputs__): + if x is None: + continue + x_n = output_names[idx].upper() + if x_n in unique_param_name_set: + options += add_dtype_fmt_option_single(x, x_n, True) + else: + options += add_dtype_fmt_option_single(x, x_n) + return options + +def load_dso(so_path): + try: + ctypes.CDLL(so_path) + except OSError as error : + print(error) + raise RuntimeError("cannot open %s" %(so_path)) + else: + print("load so succ ", so_path) + +def get_shortsoc_compile_option(compile_option_list: list, shortsoc:str): + compile_options = [] + if shortsoc in compile_option_list: + compile_options = compile_option_list[shortsoc] + elif '__ALLSOC__' in compile_option_list: + compile_options = compile_option_list['__ALLSOC__'] + return compile_options + +def get_kernel_source(src_file, dir_snake, dir_ex): + src_ex = os.path.join(PYF_PATH, "..", "ascendc", dir_ex, src_file) + if os.path.exists(src_ex): + return src_ex + src = os.path.join(PYF_PATH, "..", "ascendc", dir_snake, src_file) + if os.path.exists(src): + return src + src = os.path.join(PYF_PATH, src_file) + if os.path.exists(src): + return src + return src_ex + +def _build_args(x_in__, axis_in__, y_out_, keep_dims, ignore_nan, dtype): + __inputs__ = [] + for arg in [x_in__, axis_in__]: + if arg != None: + if isinstance(arg, (list, tuple)): + if len(arg) == 0: + continue + __inputs__.append(arg[0]) + else: + __inputs__.append(arg) + else: + __inputs__.append(arg) + __outputs__ = [] + for arg in [y_out_]: + if arg != None: + if isinstance(arg, (list, tuple)): + if len(arg) == 0: + continue + __outputs__.append(arg[0]) + else: + __outputs__.append(arg) + else: + __outputs__.append(arg) + __attrs__ = [] + if keep_dims != None: + attr = {} + attr["name"] = "keep_dims" + attr["dtype"] = "bool" + attr["value"] = keep_dims + __attrs__.append(attr) + if ignore_nan != None: + attr = {} + attr["name"] = "ignore_nan" + attr["dtype"] = "bool" + attr["value"] = ignore_nan + __attrs__.append(attr) + if dtype != None: + attr = {} + attr["name"] = "dtype" + attr["dtype"] = "str" + attr["value"] = dtype + __attrs__.append(attr) + return __inputs__, __outputs__, __attrs__ + +@tbe_register.register_operator("ReduceSum", trans_bool_to_s8=False) +@para_check.check_op_params(para_check.REQUIRED_INPUT, para_check.REQUIRED_INPUT, para_check.REQUIRED_OUTPUT, para_check.OPTION_ATTR_BOOL, para_check.OPTION_ATTR_BOOL, para_check.OPTION_ATTR_STR, para_check.KERNEL_NAME) +def reduce_sum(x_in__, axis_in__, y_out_, keep_dims=False, ignore_nan=False, dtype="float", kernel_name="reduce_sum", impl_mode=""): + if get_current_build_config("enable_op_prebuild"): + return + __inputs__, __outputs__, __attrs__ = _build_args(x_in__, axis_in__, y_out_, keep_dims, ignore_nan, dtype) + options = get_dtype_fmt_options(__inputs__, __outputs__) + options += ["-x", "cce"] + bisheng = shutil.which("bisheng") + if bisheng != None: + bisheng_path = os.path.dirname(bisheng) + tikcpp_path = os.path.realpath(os.path.join(bisheng_path, "..", "..", "tikcpp")) + else: + tikcpp_path = os.path.realpath("/usr/local/Ascend/latest/compiler/tikcpp") + options.append("-I" + tikcpp_path) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw")) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw", "impl")) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw", "interface")) + options.append("-I" + os.path.join(PYF_PATH, "..", "ascendc", "common")) + if impl_mode == "high_performance": + options.append("-DHIGH_PERFORMANCE=1") + elif impl_mode == "high_precision": + options.append("-DHIGH_PRECISION=1") + if get_default_build_config("enable_deterministic_mode") == 1: + options.append("-DDETEMINISTIC_MODE=1") + + custom_compile_options = {}, + custom_all_compile_options = {}, + soc_version = get_soc_spec("SOC_VERSION") + soc_short = get_soc_spec("SHORT_SOC_VERSION").lower() + custom_compile_options_soc = get_shortsoc_compile_option(custom_compile_options[0], soc_short) + custom_all_compile_options_soc = get_shortsoc_compile_option(custom_all_compile_options[0], soc_short) + options += custom_all_compile_options_soc + options += custom_compile_options_soc + + origin_func_name = "reduce_sum" + ascendc_src_dir_ex = "reduce_sum" + ascendc_src_dir = "reduce_sum" + ascendc_src_file = "reduce_sum.cpp" + src = get_kernel_source(ascendc_src_file, ascendc_src_dir, ascendc_src_dir_ex) + + print("start compile Ascend C operator ReduceSum. kernel name is " + kernel_name) + op_type = "ReduceSum" + code_channel = get_code_channel(src, kernel_name, op_type, options) + op_info = OpInfo(kernel_name = kernel_name, op_type = op_type, inputs = __inputs__, outputs = __outputs__,\ + attrs = __attrs__, impl_mode = impl_mode, origin_inputs=[x_in__, axis_in__], origin_outputs = [y_out_], param_type_dynamic = False,\ + mc2_ctx = None, param_type_list = ['required', 'required', 'required']) + compile_op(src, origin_func_name, op_info, options, code_channel, '{}') + +def op_select_format(x_in__, axis_in__, y_out_, keep_dims=False, ignore_nan=False, dtype="float", impl_mode=""): + __inputs__, __outputs__, __attrs__ = _build_args(x_in__, axis_in__, y_out_, keep_dims, ignore_nan, dtype) + result = check_op_cap("op_select_format", "ReduceSum", __inputs__, __outputs__, __attrs__) + return result.decode("utf-8") + +def get_op_specific_info(x_in__, axis_in__, y_out_, keep_dims=False, ignore_nan=False, dtype="float", impl_mode=""): + __inputs__, __outputs__, __attrs__ = _build_args(x_in__, axis_in__, y_out_, keep_dims, ignore_nan, dtype) + result = check_op_cap("get_op_specific_info", "ReduceSum", __inputs__, __outputs__, __attrs__) + return result.decode("utf-8") diff --git a/precision_Problem/Is_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/ascend310b/aic-ascend310b-ops-info.json b/precision_Problem/Is_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/ascend310b/aic-ascend310b-ops-info.json new file mode 100644 index 0000000..19cd398 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/ascend310b/aic-ascend310b-ops-info.json @@ -0,0 +1,73 @@ +{ + "ReduceSum":{ + "attr":{ + "list":"keep_dims,ignore_nan,dtype" + }, + "attr_dtype":{ + "defaultValue":"float", + "paramType":"optional", + "type":"str", + "value":"all" + }, + "attr_ignore_nan":{ + "defaultValue":"false", + "paramType":"optional", + "type":"bool", + "value":"all" + }, + "attr_keep_dims":{ + "defaultValue":"false", + "paramType":"optional", + "type":"bool", + "value":"all" + }, + "dynamicCompileStatic":{ + "flag":"true" + }, + "dynamicFormat":{ + "flag":"true" + }, + "dynamicRankSupport":{ + "flag":"true" + }, + "dynamicShapeSupport":{ + "flag":"true" + }, + "input0":{ + "dtype":"float32,float16,int32,int8", + "format":"ND,ND,ND,ND", + "name":"x", + "paramType":"required", + "shape":"all", + "unknownshape_format":"ND,ND,ND,ND" + }, + "input1":{ + "dtype":"int32,int32,int32,int32", + "format":"ND,ND,ND,ND", + "name":"axis", + "paramType":"required", + "shape":"all", + "unknownshape_format":"ND,ND,ND,ND" + }, + "needCheckSupport":{ + "flag":"false" + }, + "opFile":{ + "value":"reduce_sum" + }, + "opInterface":{ + "value":"reduce_sum" + }, + "output0":{ + "dtype":"float32,float16,int32,int8", + "format":"ND,ND,ND,ND", + "name":"y", + "paramType":"required", + "shape":"all", + "unknownshape_format":"ND,ND,ND,ND" + }, + "precision_reduce":{ + "flag":"true" + } + } +} \ No newline at end of file diff --git a/precision_Problem/Is_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/npu_supported_ops.json b/precision_Problem/Is_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/npu_supported_ops.json new file mode 100644 index 0000000..716e4bb --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/npu_supported_ops.json @@ -0,0 +1,6 @@ +{ + "ReduceSum": { + "isGray": false, + "isHeavy": false + } +} diff --git a/precision_Problem/Is_standard/build_out/scripts/help.info b/precision_Problem/Is_standard/build_out/scripts/help.info new file mode 100644 index 0000000..f4b28d5 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/scripts/help.info @@ -0,0 +1 @@ + --install-path Install operator package to specific dir path \ No newline at end of file diff --git a/precision_Problem/Is_standard/build_out/scripts/install.sh b/precision_Problem/Is_standard/build_out/scripts/install.sh new file mode 100644 index 0000000..8468c5a --- /dev/null +++ b/precision_Problem/Is_standard/build_out/scripts/install.sh @@ -0,0 +1,318 @@ +#!/bin/bash +vendor_name=customize +targetdir=/usr/local/Ascend/opp +target_custom=0 + +sourcedir=$PWD/packages +vendordir=vendors/$vendor_name + +QUIET="y" + +while true +do + case $1 in + --quiet) + QUIET="y" + shift + ;; + --install-path=*) + INSTALL_PATH=$(echo $1 | cut -d"=" -f2-) + INSTALL_PATH=${INSTALL_PATH%*/} + shift + ;; + --*) + shift + ;; + *) + break + ;; + esac +done + +log() { + cur_date=`date +"%Y-%m-%d %H:%M:%S"` + echo "[runtime] [$cur_date] "$1 +} + +if [ -n "${INSTALL_PATH}" ]; then + if [[ ! "${INSTALL_PATH}" = /* ]]; then + log "[ERROR] use absolute path for --install-path argument" + exit 1 + fi + if [ ! -d ${INSTALL_PATH} ]; then + mkdir ${INSTALL_PATH} >> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${INSTALL_PATH} failed" + exit 1 + fi + fi + targetdir=${INSTALL_PATH} +elif [ -n "${ASCEND_CUSTOM_OPP_PATH}" ]; then + if [ ! -d ${ASCEND_CUSTOM_OPP_PATH} ]; then + mkdir -p ${ASCEND_CUSTOM_OPP_PATH} >> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${ASCEND_CUSTOM_OPP_PATH} failed" + fi + fi + targetdir=${ASCEND_CUSTOM_OPP_PATH} +else + if [ "x${ASCEND_OPP_PATH}" == "x" ]; then + log "[ERROR] env ASCEND_OPP_PATH no exist" + exit 1 + fi + targetdir="${ASCEND_OPP_PATH}" +fi + +if [ ! -d $targetdir ];then + log "[ERROR] $targetdir no exist" + exit 1 +fi + +upgrade() +{ + if [ ! -d ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 files" + return 0 + fi + + if [ ! -d ${targetdir}/$vendordir/$1 ];then + log "[INFO] create ${targetdir}/$vendordir/$1." + mkdir -p ${targetdir}/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/$vendordir/$1 failed" + return 1 + fi + else + has_same_file=-1 + for file_a in ${sourcedir}/$vendordir/$1/*; do + file_b=${file_a##*/}; + if [ "ls ${targetdir}/$vendordir/$1" = "" ]; then + log "[INFO] ${targetdir}/$vendordir/$1 is empty !!" + return 1 + fi + grep -q $file_b <<<`ls ${targetdir}/$vendordir/$1`; + if [[ $? -eq 0 ]]; then + echo -n "${file_b} " + has_same_file=0 + fi + done + if [ 0 -eq $has_same_file ]; then + if test $QUIET = "n"; then + echo "[INFO]: has old version in ${targetdir}/$vendordir/$1, \ + you want to Overlay Installation , please enter:[o]; \ + or replace directory installation , please enter: [r]; \ + or not install , please enter:[n]." + + while true + do + read orn + if [ "$orn" = n ]; then + return 0 + elif [ "$orn" = m ]; then + break; + elif [ "$0rn" = r ]; then + [ -n "${targetdir}/$vendordir/$1/" ] && rm -rf "${targetdir}/$vendordir/$1"/* + break; + else + echo "[ERROR] input error, please input again!" + fi + done + fi + fi + log "[INFO] replace or merge old ops $1 files .g....." + fi + + log "copy new ops $1 files ......" + if [ -d ${targetdir}/$vendordir/$1/ ]; then + chmod -R +w "$targetdir/$vendordir/$1/" >/dev/null 2>&1 + fi + cp -rf ${sourcedir}/$vendordir/$1/* $targetdir/$vendordir/$1/ + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 files failed" + return 1 + fi + + return 0 +} +upgrade_proto() +{ + if [ ! -f ${sourcedir}/$vendordir/custom.proto ]; then + log "[INFO] no need to upgrade custom.proto files" + return 0 + fi + if [ ! -d ${targetdir}/$vendordir/framework/caffe ];then + log "[INFO] create ${targetdir}/$vendordir/framework/caffe." + mkdir -p ${targetdir}/$vendordir/framework/caffe + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/$vendordir/framework/caffe failed" + return 1 + fi + else + if [ -f ${targetdir}/$vendordir/framework/caffe/custom.proto ]; then + # 有老版本,判断是否要覆盖式安装 + if test $QUIET = "n"; then + echo "[INFO] ${targetdir}/$vendordir/framework/caffe has old version"\ + "custom.proto file. Do you want to replace? [y/n] " + + while true + do + read yn + if [ "$yn" = n ]; then + return 0 + elif [ "$yn" = y ]; then + break; + else + echo "[ERROR] input error, please input again!" + fi + done + fi + fi + log "[INFO] replace old caffe.proto files ......" + fi + chmod -R +w "$targetdir/$vendordir/framework/caffe/" >/dev/null 2>&1 + cp -rf ${sourcedir}/$vendordir/custom.proto ${targetdir}/$vendordir/framework/caffe/ + if [ $? -ne 0 ];then + log "[ERROR] copy new custom.proto failed" + return 1 + fi + log "[INFO] copy custom.proto success" + + return 0 +} + +upgrade_file() +{ + if [ ! -e ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 file" + return 0 + fi + + log "copy new $1 files ......" + cp -f ${sourcedir}/$vendordir/$1 $targetdir/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 file failed" + return 1 + fi + + return 0 +} + +delete_optiling_file() +{ + if [ ! -d ${targetdir}/vendors ];then + log "[INFO] $1 not exist, no need to uninstall" + return 0 + fi + sys_info=$(uname -m) + if [ ! -d ${sourcedir}/$vendordir/$1/ai_core/tbe/op_tiling/lib/linux/${sys_info} ];then + rm -rf ${sourcedir}/$vendordir/$1/ai_core/tbe/op_tiling/liboptiling.so + fi + return 0 +} + +log "[INFO] copy uninstall sh success" + +if [ ! -d ${targetdir}/vendors ];then + log "[INFO] create ${targetdir}/vendors." + mkdir -p ${targetdir}/vendors + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/vendors failed" + return 1 + fi +fi +chmod u+w ${targetdir}/vendors + +echo "[ops_custom]upgrade framework" +upgrade framework +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op proto" +upgrade op_proto +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade version.info" +upgrade_file version.info +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op impl" +delete_optiling_file op_impl +upgrade op_impl +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op api" +upgrade op_api +if [ $? -ne 0 ];then + exit 1 +fi + +upgrade_proto +if [ $? -ne 0 ];then + exit 1 +fi + +# set the set_env.bash +if [ -n "${INSTALL_PATH}" ] && [ -d ${INSTALL_PATH} ]; then + _ASCEND_CUSTOM_OPP_PATH=${targetdir}/${vendordir} + bin_path="${_ASCEND_CUSTOM_OPP_PATH}/bin" + set_env_variable="#!/bin/bash\nexport ASCEND_CUSTOM_OPP_PATH=${_ASCEND_CUSTOM_OPP_PATH}:\${ASCEND_CUSTOM_OPP_PATH}" + if [ ! -d ${bin_path} ]; then + mkdir -p ${bin_path} >> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${bin_path} failed" + exit 1 + fi + fi + echo -e ${set_env_variable} > ${bin_path}/set_env.bash + if [ $? -ne 0 ]; then + log "[ERROR] write ASCEND_CUSTOM_OPP_PATH to set_env.bash failed" + exit 1 + else + log "[INFO] using requirements: when custom module install finished or before you run the custom module, \ + execute the command [ source ${bin_path}/set_env.bash ] to set the environment path" + fi +else + config_file=${targetdir}/vendors/config.ini + if [ ! -f ${config_file} ]; then + touch ${config_file} + chmod 640 ${config_file} + echo "load_priority=$vendor_name" > ${config_file} + if [ $? -ne 0 ];then + echo "echo load_priority failed" + exit 1 + fi + else + found_vendors="$(grep -w "load_priority" "$config_file" | cut --only-delimited -d"=" -f2-)" + found_vendor=$(echo $found_vendors | sed "s/$vendor_name//g" | tr ',' ' ') + vendor=$(echo $found_vendor | tr -s ' ' ',') + if [ "$vendor" != "" ]; then + sed -i "/load_priority=$found_vendors/s@load_priority=$found_vendors@load_priority=$vendor_name,$vendor@g" "$config_file" + fi + fi +fi + +chmod u-w ${targetdir}/vendors + +if [ -d ${targetdir}/$vendordir/op_impl/cpu/aicpu_kernel/impl/ ]; then + chmod -R 440 ${targetdir}/$vendordir/op_impl/cpu/aicpu_kernel/impl/* >/dev/null 2>&1 +fi +if [ -f ${targetdir}/ascend_install.info ]; then + chmod -R 440 ${targetdir}/ascend_install.info +fi +if [ -f ${targetdir}/scene.info ]; then + chmod -R 440 ${targetdir}/scene.info +fi +if [ -f ${targetdir}/version.info ]; then + chmod -R 440 ${targetdir}/version.info +fi + +echo "SUCCESS" +exit 0 + diff --git a/precision_Problem/Is_standard/build_out/scripts/upgrade.sh b/precision_Problem/Is_standard/build_out/scripts/upgrade.sh new file mode 100644 index 0000000..e091734 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/scripts/upgrade.sh @@ -0,0 +1,151 @@ +#!/bin/bash +vendor_name=customize +targetdir=/usr/local/Ascend/opp +target_custom=0 + +sourcedir=$PWD/packages +vendordir=vendors/$vendor_name + +log() { + cur_date=`date +"%Y-%m-%d %H:%M:%S"` + echo "[runtime] [$cur_date] "$1 +} + +if [[ "x${ASCEND_OPP_PATH}" == "x" ]];then + log "[ERROR] env ASCEND_OPP_PATH no exist" + exit 1 +fi + +targetdir=${ASCEND_OPP_PATH} + +if [ ! -d $targetdir ];then + log "[ERROR] $targetdir no exist" + exit 1 +fi + +upgrade() +{ + if [ ! -d ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 files" + return 0 + fi + + if [ ! -d ${targetdir}/$vendordir/$1 ];then + log "[INFO] create ${targetdir}/$vendordir/$1." + mkdir -p ${targetdir}/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/$vendordir/$1 failed" + return 1 + fi + else + vendor_installed_dir=$(ls "$targetdir/vendors" 2> /dev/null) + for i in $vendor_installed_dir;do + vendor_installed_file=$(ls "$vendor_installed_dir/$vendor_name/$i" 2> /dev/null) + if [ "$i" = "$vendor_name" ] && [ "$vendor_installed_file" != "" ]; then + echo "[INFO]: $vendor_name custom opp package has been installed on the path $vendor_installed_dir, \ + you want to Overlay Installation , please enter:[o]; \ + or replace directory installation , please enter: [r]; \ + or not install , please enter:[n]." + fi + while true + do + read mrn + if [ "$mrn" = m ]; then + break + elif [ "$mrn" = r ]; then + [ -n "$vendor_installed_file"] && rm -rf "$vendor_installed_file" + break + elif [ "$mrn" = n ]; then + return 0 + else + echo "[WARNING]: Input error, please input m or r or n to choose!" + fi + done + done + log "[INFO] replace old ops $1 files ......" + fi + + log "copy new ops $1 files ......" + cp -rf ${sourcedir}/$vendordir/$1/* $targetdir/$vendordir/$1/ + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 files failed" + return 1 + fi + + return 0 +} + +upgrade_file() +{ + if [ ! -e ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 file" + return 0 + fi + + log "copy new $1 files ......" + cp -f ${sourcedir}/$vendordir/$1 $targetdir/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 file failed" + return 1 + fi + + return 0 +} + +log "[INFO] copy uninstall sh success" + +echo "[ops_custom]upgrade framework" +upgrade framework +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op proto" +upgrade op_proto +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op impl" +upgrade op_impl +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op api" +upgrade op_api +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade version.info" +upgrade_file version.info +if [ $? -ne 0 ];then + exit 1 +fi + +config_file=${targetdir}/vendors/config.ini +found_vendors="$(grep -w "load_priority" "$config_file" | cut --only-delimited -d"=" -f2-)" +found_vendor=$(echo $found_vendors | sed "s/$vendor_name//g" | tr ',' ' ') +vendor=$(echo $found_vendor | tr -s ' ' ',') +if [ "$vendor" != "" ]; then + sed -i "/load_priority=$found_vendors/s@load_priority=$found_vendors@load_priority=$vendor_name,$vendor@g" "$config_file" +fi + +changemode() +{ + if [ -d ${targetdir} ];then + chmod -R 550 ${targetdir}>/dev/null 2>&1 + fi + + return 0 +} +echo "[ops_custom]changemode..." +#changemode +if [ $? -ne 0 ];then + exit 1 +fi + +echo "SUCCESS" +exit 0 + diff --git a/precision_Problem/Is_standard/build_out/version.info b/precision_Problem/Is_standard/build_out/version.info new file mode 100644 index 0000000..0ec7257 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/version.info @@ -0,0 +1 @@ +custom_opp_compiler_version=7.3.T10.0.B528 diff --git a/precision_Problem/Is_standard/cmake/config.cmake b/precision_Problem/Is_standard/cmake/config.cmake new file mode 100644 index 0000000..886119d --- /dev/null +++ b/precision_Problem/Is_standard/cmake/config.cmake @@ -0,0 +1,25 @@ + +set(CMAKE_CXX_FLAGS_DEBUG "") +set(CMAKE_CXX_FLAGS_RELEASE "") + +if (NOT DEFINED vendor_name) + set(vendor_name customize CACHE STRING "") +endif() +if (NOT DEFINED ASCEND_CANN_PACKAGE_PATH) + set(ASCEND_CANN_PACKAGE_PATH /usr/local/Ascend/latest CACHE PATH "") +endif() +if (NOT DEFINED ASCEND_PYTHON_EXECUTABLE) + set(ASCEND_PYTHON_EXECUTABLE python3 CACHE STRING "") +endif() +if (NOT DEFINED ASCEND_COMPUTE_UNIT) + message(FATAL_ERROR "ASCEND_COMPUTE_UNIT not set in CMakePreset.json ! +") +endif() +set(ASCEND_TENSOR_COMPILER_PATH ${ASCEND_CANN_PACKAGE_PATH}/compiler) +set(ASCEND_CCEC_COMPILER_PATH ${ASCEND_TENSOR_COMPILER_PATH}/ccec_compiler/bin) +set(ASCEND_AUTOGEN_PATH ${CMAKE_BINARY_DIR}/autogen) +set(ASCEND_FRAMEWORK_TYPE tensorflow) +file(MAKE_DIRECTORY ${ASCEND_AUTOGEN_PATH}) +set(CUSTOM_COMPILE_OPTIONS "custom_compile_options.ini") +execute_process(COMMAND rm -rf ${ASCEND_AUTOGEN_PATH}/${CUSTOM_COMPILE_OPTIONS} + COMMAND touch ${ASCEND_AUTOGEN_PATH}/${CUSTOM_COMPILE_OPTIONS}) diff --git a/precision_Problem/Is_standard/cmake/func.cmake b/precision_Problem/Is_standard/cmake/func.cmake new file mode 100644 index 0000000..4179dfd --- /dev/null +++ b/precision_Problem/Is_standard/cmake/func.cmake @@ -0,0 +1,192 @@ + +function(get_system_info SYSTEM_INFO) + if (UNIX) + execute_process(COMMAND grep -i ^id= /etc/os-release OUTPUT_VARIABLE TEMP) + string(REGEX REPLACE "\n|id=|ID=|\"" "" SYSTEM_NAME ${TEMP}) + set(${SYSTEM_INFO} ${SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR} PARENT_SCOPE) + elseif (WIN32) + message(STATUS "System is Windows. Only for pre-build.") + else () + message(FATAL_ERROR "${CMAKE_SYSTEM_NAME} not support.") + endif () +endfunction() + +function(opbuild) + message(STATUS "Opbuild generating sources") + cmake_parse_arguments(OPBUILD "" "OUT_DIR;PROJECT_NAME;ACCESS_PREFIX" "OPS_SRC" ${ARGN}) + execute_process(COMMAND ${CMAKE_COMPILE} -g -fPIC -shared -std=c++11 ${OPBUILD_OPS_SRC} -D_GLIBCXX_USE_CXX11_ABI=0 + -I ${ASCEND_CANN_PACKAGE_PATH}/include -L ${ASCEND_CANN_PACKAGE_PATH}/lib64 -lexe_graph -lregister -ltiling_api + -o ${OPBUILD_OUT_DIR}/libascend_all_ops.so + RESULT_VARIABLE EXEC_RESULT + OUTPUT_VARIABLE EXEC_INFO + ERROR_VARIABLE EXEC_ERROR + ) + if (${EXEC_RESULT}) + message("build ops lib info: ${EXEC_INFO}") + message("build ops lib error: ${EXEC_ERROR}") + message(FATAL_ERROR "opbuild run failed!") + endif() + set(proj_env "") + set(prefix_env "") + if (NOT "${OPBUILD_PROJECT_NAME}x" STREQUAL "x") + set(proj_env "OPS_PROJECT_NAME=${OPBUILD_PROJECT_NAME}") + endif() + if (NOT "${OPBUILD_ACCESS_PREFIX}x" STREQUAL "x") + set(prefix_env "OPS_DIRECT_ACCESS_PREFIX=${OPBUILD_ACCESS_PREFIX}") + endif() + execute_process(COMMAND ${proj_env} ${prefix_env} ${ASCEND_CANN_PACKAGE_PATH}/toolkit/tools/opbuild/op_build + ${OPBUILD_OUT_DIR}/libascend_all_ops.so ${OPBUILD_OUT_DIR} + RESULT_VARIABLE EXEC_RESULT + OUTPUT_VARIABLE EXEC_INFO + ERROR_VARIABLE EXEC_ERROR + ) + if (${EXEC_RESULT}) + message("opbuild ops info: ${EXEC_INFO}") + message("opbuild ops error: ${EXEC_ERROR}") + endif() + message(STATUS "Opbuild generating sources - done") +endfunction() + +function(add_ops_info_target) + cmake_parse_arguments(OPINFO "" "TARGET;OPS_INFO;OUTPUT;INSTALL_DIR" "" ${ARGN}) + get_filename_component(opinfo_file_path "${OPINFO_OUTPUT}" DIRECTORY) + add_custom_command(OUTPUT ${OPINFO_OUTPUT} + COMMAND mkdir -p ${opinfo_file_path} + COMMAND ${ASCEND_PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/cmake/util/parse_ini_to_json.py + ${OPINFO_OPS_INFO} ${OPINFO_OUTPUT} + ) + add_custom_target(${OPINFO_TARGET} ALL + DEPENDS ${OPINFO_OUTPUT} + ) + install(FILES ${OPINFO_OUTPUT} + DESTINATION ${OPINFO_INSTALL_DIR} + ) +endfunction() + +function(add_ops_compile_options OP_TYPE) + cmake_parse_arguments(OP_COMPILE "" "OP_TYPE" "COMPUTE_UNIT;OPTIONS" ${ARGN}) + file(APPEND ${ASCEND_AUTOGEN_PATH}/${CUSTOM_COMPILE_OPTIONS} + "${OP_TYPE},${OP_COMPILE_COMPUTE_UNIT},${OP_COMPILE_OPTIONS}\n") +endfunction() + +function(add_ops_impl_target) + cmake_parse_arguments(OPIMPL "" "TARGET;OPS_INFO;IMPL_DIR;OUT_DIR;INSTALL_DIR" "OPS_BATCH;OPS_ITERATE" ${ARGN}) + add_custom_command(OUTPUT ${OPIMPL_OUT_DIR}/.impl_timestamp + COMMAND mkdir -m 700 -p ${OPIMPL_OUT_DIR}/dynamic + COMMAND ${ASCEND_PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/cmake/util/ascendc_impl_build.py + ${OPIMPL_OPS_INFO} + \"${OPIMPL_OPS_BATCH}\" \"${OPIMPL_OPS_ITERATE}\" + ${OPIMPL_IMPL_DIR} + ${OPIMPL_OUT_DIR}/dynamic + ${ASCEND_AUTOGEN_PATH} + + COMMAND rm -rf ${OPIMPL_OUT_DIR}/.impl_timestamp + COMMAND touch ${OPIMPL_OUT_DIR}/.impl_timestamp + DEPENDS ${OPIMPL_OPS_INFO} + ${CMAKE_SOURCE_DIR}/cmake/util/ascendc_impl_build.py + ) + add_custom_target(${OPIMPL_TARGET} ALL + DEPENDS ${OPIMPL_OUT_DIR}/.impl_timestamp) + if (${ENABLE_SOURCE_PACKAGE}) + install(DIRECTORY ${OPIMPL_OUT_DIR}/dynamic + DESTINATION ${OPIMPL_INSTALL_DIR} + ) + endif() +endfunction() + +function(add_npu_support_target) + cmake_parse_arguments(NPUSUP "" "TARGET;OPS_INFO_DIR;OUT_DIR;INSTALL_DIR" "" ${ARGN}) + get_filename_component(npu_sup_file_path "${NPUSUP_OUT_DIR}" DIRECTORY) + add_custom_command(OUTPUT ${NPUSUP_OUT_DIR}/npu_supported_ops.json + COMMAND mkdir -p ${NPUSUP_OUT_DIR} + COMMAND ${CMAKE_SOURCE_DIR}/cmake/util/gen_ops_filter.sh + ${NPUSUP_OPS_INFO_DIR} + ${NPUSUP_OUT_DIR} + ) + add_custom_target(npu_supported_ops ALL + DEPENDS ${NPUSUP_OUT_DIR}/npu_supported_ops.json + ) + install(FILES ${NPUSUP_OUT_DIR}/npu_supported_ops.json + DESTINATION ${NPUSUP_INSTALL_DIR} + ) +endfunction() + +function(add_bin_compile_target) + cmake_parse_arguments(BINCMP "" "TARGET;OPS_INFO;COMPUTE_UNIT;IMPL_DIR;ADP_DIR;OUT_DIR;INSTALL_DIR" "" ${ARGN}) + file(MAKE_DIRECTORY ${BINCMP_OUT_DIR}/src) + file(MAKE_DIRECTORY ${BINCMP_OUT_DIR}/bin) + file(MAKE_DIRECTORY ${BINCMP_OUT_DIR}/gen) + execute_process(COMMAND ${ASCEND_PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/cmake/util/ascendc_bin_param_build.py + ${BINCMP_OPS_INFO} ${BINCMP_OUT_DIR}/gen ${BINCMP_COMPUTE_UNIT} + RESULT_VARIABLE EXEC_RESULT + OUTPUT_VARIABLE EXEC_INFO + ERROR_VARIABLE EXEC_ERROR + ) + if (${EXEC_RESULT}) + message("ops binary compile scripts gen info: ${EXEC_INFO}") + message("ops binary compile scripts gen error: ${EXEC_ERROR}") + message(FATAL_ERROR "ops binary compile scripts gen failed!") + endif() + if (NOT TARGET binary) + add_custom_target(binary) + endif() + add_custom_target(${BINCMP_TARGET} + COMMAND cp -r ${BINCMP_IMPL_DIR}/*.* ${BINCMP_OUT_DIR}/src + ) + add_custom_target(${BINCMP_TARGET}_gen_ops_config + COMMAND ${ASCEND_PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/cmake/util/insert_simplified_keys.py -p ${BINCMP_OUT_DIR}/bin + COMMAND ${ASCEND_PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/cmake/util/ascendc_ops_config.py -p ${BINCMP_OUT_DIR}/bin + -s ${BINCMP_COMPUTE_UNIT} + ) + add_dependencies(binary ${BINCMP_TARGET}_gen_ops_config) + file(GLOB bin_scripts ${BINCMP_OUT_DIR}/gen/*.sh) + foreach(bin_script ${bin_scripts}) + get_filename_component(bin_file ${bin_script} NAME_WE) + string(REPLACE "-" ";" bin_sep ${bin_file}) + list(GET bin_sep 0 op_type) + list(GET bin_sep 1 op_file) + list(GET bin_sep 2 op_index) + if (NOT TARGET ${BINCMP_TARGET}_${op_file}_copy) + file(MAKE_DIRECTORY ${BINCMP_OUT_DIR}/bin/${op_file}) + add_custom_target(${BINCMP_TARGET}_${op_file}_copy + COMMAND cp ${BINCMP_ADP_DIR}/${op_file}.py ${BINCMP_OUT_DIR}/src/${op_type}.py + ) + install(DIRECTORY ${BINCMP_OUT_DIR}/bin/${op_file} + DESTINATION ${BINCMP_INSTALL_DIR}/${BINCMP_COMPUTE_UNIT} OPTIONAL + ) + install(FILES ${BINCMP_OUT_DIR}/bin/${op_file}.json + DESTINATION ${BINCMP_INSTALL_DIR}/config/${BINCMP_COMPUTE_UNIT}/ OPTIONAL + ) + endif() + add_custom_target(${BINCMP_TARGET}_${op_file}_${op_index} + COMMAND export HI_PYTHON=${ASCEND_PYTHON_EXECUTABLE} && bash ${bin_script} ${BINCMP_OUT_DIR}/src/${op_type}.py ${BINCMP_OUT_DIR}/bin/${op_file} && echo $(MAKE) + WORKING_DIRECTORY ${BINCMP_OUT_DIR} + ) + add_dependencies(${BINCMP_TARGET}_${op_file}_${op_index} ${BINCMP_TARGET} ${BINCMP_TARGET}_${op_file}_copy) + add_dependencies(${BINCMP_TARGET}_gen_ops_config ${BINCMP_TARGET}_${op_file}_${op_index}) + endforeach() + install(FILES ${BINCMP_OUT_DIR}/bin/binary_info_config.json + DESTINATION ${BINCMP_INSTALL_DIR}/config/${BINCMP_COMPUTE_UNIT} OPTIONAL + ) + + install(DIRECTORY ${BINCMP_OUT_DIR}/bin/${op_file} + DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/../build_out/kernel/${BINCMP_COMPUTE_UNIT} OPTIONAL + ) + install(FILES ${BINCMP_OUT_DIR}/bin/binary_info_config.json + DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/../build_out/kernel/config/${BINCMP_COMPUTE_UNIT} OPTIONAL + ) + install(FILES ${BINCMP_OUT_DIR}/bin/${op_file}.json + DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/../build_out/kernel/config/${BINCMP_COMPUTE_UNIT} OPTIONAL + ) + +endfunction() + +function(add_cross_compile_target) + cmake_parse_arguments(CROSSMP "" "TARGET;OUT_DIR;INSTALL_DIR" "" ${ARGN}) + add_custom_target(${CROSSMP_TARGET} ALL + DEPENDS ${CROSSMP_OUT_DIR} + ) + install(DIRECTORY ${CROSSMP_OUT_DIR} + DESTINATION ${CROSSMP_INSTALL_DIR} + ) +endfunction() diff --git a/precision_Problem/Is_standard/cmake/intf.cmake b/precision_Problem/Is_standard/cmake/intf.cmake new file mode 100644 index 0000000..2f362c3 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/intf.cmake @@ -0,0 +1,26 @@ + +add_library(intf_pub INTERFACE) +target_compile_options(intf_pub INTERFACE + -fPIC + -fvisibility=hidden + -fvisibility-inlines-hidden + $<$:-O2> + $<$:-O0 -g> + $<$:-std=c++11> + $<$,$>:-ftrapv -fstack-check> + $<$:-pthread -Wfloat-equal -Wshadow -Wformat=2 -Wno-deprecated -Wextra> + $,-fstack-protector-strong,-fstack-protector-all> +) +target_compile_definitions(intf_pub INTERFACE + _GLIBCXX_USE_CXX11_ABI=0 + $<$:_FORTIFY_SOURCE=2> +) +target_include_directories(intf_pub INTERFACE ${ASCEND_CANN_PACKAGE_PATH}/include) +target_link_options(intf_pub INTERFACE + $<$,EXECUTABLE>:-pie> + $<$:-s> + -Wl,-z,relro + -Wl,-z,now + -Wl,-z,noexecstack +) +target_link_directories(intf_pub INTERFACE ${ASCEND_CANN_PACKAGE_PATH}/lib64) diff --git a/precision_Problem/Is_standard/cmake/makeself.cmake b/precision_Problem/Is_standard/cmake/makeself.cmake new file mode 100644 index 0000000..48c565b --- /dev/null +++ b/precision_Problem/Is_standard/cmake/makeself.cmake @@ -0,0 +1,17 @@ +execute_process(COMMAND chmod +x ${CMAKE_CURRENT_LIST_DIR}/util/makeself/makeself.sh) +execute_process(COMMAND ${CMAKE_CURRENT_LIST_DIR}/util/makeself/makeself.sh + --header ${CMAKE_CURRENT_LIST_DIR}/util/makeself/makeself-header.sh + --help-header ./help.info + --gzip --complevel 4 --nomd5 --sha256 + ./ ${CPACK_PACKAGE_FILE_NAME} "version:1.0" ./install.sh + WORKING_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY} + RESULT_VARIABLE EXEC_RESULT + ERROR_VARIABLE EXEC_ERROR +) +if (NOT "${EXEC_RESULT}x" STREQUAL "0x") + message(FATAL_ERROR "CPack Command error: ${EXEC_RESULT}\n${EXEC_ERROR}") +endif() +execute_process(COMMAND cp ${CPACK_EXTERNAL_BUILT_PACKAGES} ${CPACK_PACKAGE_DIRECTORY}/ + COMMAND echo "Copy ${CPACK_EXTERNAL_BUILT_PACKAGES} to ${CPACK_PACKAGE_DIRECTORY}/" + WORKING_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY} +) diff --git a/precision_Problem/Is_standard/cmake/util/__init__.py b/precision_Problem/Is_standard/cmake/util/__init__.py new file mode 100644 index 0000000..c4ddc89 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/__init__.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import sys +import os + +PYF_PATH = os.path.dirname(os.path.realpath(__file__)) +sys.path.append(PYF_PATH) diff --git a/precision_Problem/Is_standard/cmake/util/__pycache__/__init__.cpython-39.pyc b/precision_Problem/Is_standard/cmake/util/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1d4a3baeca0155418546acf1c217c6c07a4bfa41 GIT binary patch literal 292 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 U4v+mr`|!k|JO+}n&>$lEKTvn`SO5S3 literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/cmake/util/__pycache__/ascendc_ops_config.cpython-39.pyc b/precision_Problem/Is_standard/cmake/util/__pycache__/ascendc_ops_config.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..afad532e09d048e309b167165e0effa8f9cf9982 GIT binary patch literal 3564 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 Fe*@6RtZV=P literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/cmake/util/__pycache__/code_channel_infer.cpython-39.pyc b/precision_Problem/Is_standard/cmake/util/__pycache__/code_channel_infer.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5497fa13a5a851c068de4b053bb32c6220f50f57 GIT binary patch literal 1533 zcmah}O>ZML7@kR{lXTK#s}&b6$Tt$H&9q&LAVP@l&=o6{4?(*^me6Qoze&ta#v|Jk znu;6z3=Y6;ulxo60mr!_4i*1^3%qtd2rI2{6x;Lq{d}I+&br;m!}05HzfAtv^Ss~f z$L>Ix_W}O(El%8{9`|`8_o?sJ25q>tNte z9ddRuI)8ig);Vs@PNGDXOC_c=L;7q$KB}^BK#*%-vqI)_DnOG&4v)x{;X`L|j8>;Z za*^l6nQ5XxgIWL|M)z2)_sPAF^L+!S7k(YdGA)(l6*J7rH^c6&N`ilVh|{--(ZW*) zHgn#@?1Q@-1*TF35fj2HrJyiGOGXx;w7`0VCeO~Wf{5Vw+^Oo3`>+DcYDBJ81!N9c zu~xMQ1D{5jW>D~VPfy0zPhNN`!1yZMOn-e9D=AG}it^ZGY6|A~?h&MmEzG~yHe(h;7kqH_mXb1UcnabvR5Yo0*ES-oPXct|JVw%n%hM)b3j3E@n)?N)WX?FO!P}3c*( zDUJgN*;wcq6jQ?HeBHg7(AckAXP37Ooc_oHX_13lbVsgE8l=1uJs zGLi`<6>@{}SKkTJ7llo0LsaZG$<5=-)$ZA4;<6Y7t{q(?)$NV;dWTBNK7jw;8P&4A z`_T1xYBSiheIMnk9zTq1kN5C;8@UgsAu*j z)se2o_>3^nsLt$@b%2iO{x*BnwFxw_eOA{fvIKHdl{u(=JaU0|@^!b}CEb2+j?YsL c?>A9RzkyQ_wEdl5E5O8qX0H?a;om{<4@7pK-v9sr literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/cmake/util/__pycache__/const_var.cpython-39.pyc b/precision_Problem/Is_standard/cmake/util/__pycache__/const_var.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7d27150917350d18dce3cccbc1abf42bd6019b88 GIT binary patch literal 1079 zcmY+C-EP}96vri7v1Hj!+Z5O}8{{Uy65A;-U>_bPD|TYcu?<;X7TyqyNZD*;Qjn;u zuF*HxBlHFO7Q=wOgl>mj>=ky?QF4rRBzXAypASkp6mGR_O^v%h{tADqYTBQL_g4Ey1&>H&uARQjGWB?SnDIa|!N0Nn z6$J^6BfJ4&#tR>yTqYaa74arv%asHp9*Sg*clp;D{)IB&(_qC#B$kY(z!m3Tg0Up$ zz=+nK$F|A~GV+Plct-Hx*lDDHPp4QS(iQT!R-!}`vz()MnJ_wRlc zaR5%b;OuOT8AqxUL2s+JpOf&Fe_vk<%jlBN=zh2Z3(y-jF}LKe~Y z;9DS9l-mHP8xY|5|3NM!P<<;qOI{rpS#OyHT{~oUuKtIoF+8>MYATbw%DBuA!bo75 z8}~v)upY5gq7tnVRR*+6D$`)AexYP#@C(R3F66kQD_h03idy7i`$@m+3Ck?Rc{zX0D` zOx(P7I~+S#^W2=H(d}aHmEaXnySuj%-sIMI>b|pxes8Fw(qm-|)6%V~q3`FB-Yoc2tzuM+nyp)({sjUNMh^f0 literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/cmake/util/__pycache__/insert_op_info.cpython-39.pyc b/precision_Problem/Is_standard/cmake/util/__pycache__/insert_op_info.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2ca91a6ba6d427d186c1fe7e80fa71783b8c4829 GIT binary patch literal 1103 zcmZWn&u`l{6ecCvu@(QwGOtTIU?7HJXn@2@vSlcOVrY@J+o9VI84y%Mp{e4tBU>gl zl6Goeb1vFL&xPGvul*PHAMD6$PyQEr+LN+m87hMB@q6NX-^WMB&8AQA`|Iy_y>C21 z-WTBdS3__Yr+z~T;UpxSawnr9Exi*urFTQO^j_$dz7kfT%H5&!lB(CR0`8!8PPsR9 z)gMs5K$Jk8SI#MVckc7*qFAjK|M&ZT?AFp}I*H6uG@Jw*Fs?)1h0&FPL!OM@;RHm_A%*g4X=g1-Vb2 z9EKg}K)XN_f;G4CJay=Bzf{;jw0eo41)WU-ZRp&=oqsmKnSX}!N&{2|H*kKwaCu|l zy!blYfQ|Vk(7{b;^CoXScZ%-(PuKb$R?@GoE91^F*=o;(f21Hbz?l^6Av|Sl|2Es- zJv{jS@Vf(C?C<(VGM}one`?sRWQ+YYj?W-vzd>>;WG4G5Xm%vK+w76y-7;YZv-Y~| zUY4;kO)~`=)C73fUlyQJjh>TDpj52eIl;7$_yxHcJI46UjVEMNf9~DVxf% zDsV5&fMw~^%k|R1+$BCVVyT)n6y#Z)0F(LQ@3Z<7rpHMFTF+Kff$XM?TY9#{cT2XY zt)_y5Fk4^Pl_=sei6ZL_v=r8n+PZqGt*1?F!g?ZwHqj(jg=!Ix0C&0>22&zx(oMl%CY4X^d+A8L2qwPu`j811@y&<3m zI<(auzo>fh@X@^=kHhN8&%fS(a2(bPwPjOm)r?(uBcIXBzRt=1|(5^XO(SHEU!z^(C literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/cmake/util/__pycache__/insert_simplified_keys.cpython-39.pyc b/precision_Problem/Is_standard/cmake/util/__pycache__/insert_simplified_keys.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..050db729eacc5b667fd11870bfd92208c2851803 GIT binary patch literal 5587 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 literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/cmake/util/__pycache__/kernel_entry.cpython-39.pyc b/precision_Problem/Is_standard/cmake/util/__pycache__/kernel_entry.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ecdb23b2549f8f4e640993a2040c10b7fc0d0b4b GIT binary patch literal 3120 zcmai0O>f*(6!rIbJ{v-t&^CZcC}jGPNz})CCGiR6+_=mdDRYO(yo_*=d`J z%_gk)73s2D*6i4@X6Y>}{sEd5=U&fDriBWR=K8+(?t9NZ=iK}3HJddB*KdFPvio;S zQU0XH^rfNkDgMbl7@_PaLKWIi%8n{@Vc@O_Q&_m`q9SbE4N(;}+)Ysz4csl!{6=ZF z22pKG23{HnCytyig0ADN-E-DfH#hEXu5Z9uTdi%y{bL#KJx-lvzwJCY@}35v^Dyuq zM{zIS3xmYjidSwrU#4P(C)~oU+bhmzy`IC<5=RC}AfE(crRJM>-0@|@vGCu*KS^Qs zl-$hBGbK}=tE$4DI`#y6h_F(;X{McOpDT~v$t#(KcwOl8N@mO}sg_kv)p?$OxJoMs z<4n)2=jZE~w4%__3lA7r+e3BvFYK-iRcEN(bcSmCg;7{uzaK=RFr^pm1%;lZvM_## z!>DZ+W*VlwV8_}IWEAuY!;^baVZ*xVaX%=%$U6uMGl)`o%mGQEhA$L3OZ$A=k#U@M z`eFZ8idjK=Yj7uUpB!(9PA}|s`p4ic*fuW9<_;?_{;~#kYLFXt9 zd!6zDT;64+e_Yft!QDNIToLS6u~Tx9-b*#q8vhKnr7oy5@FflSI*pF53hom!entaO z>zNJ!$G{tzF`)*Y&OXczh|;7v3?)}!N&rg`3BrpEA;WkTqdq;(_#)Kl&zk-n z4gg}{N*Eak2980~8MG`nN!O%gfTU$m{&SAu9)=0ym6u?)vkJ)2Qa!ULFhAsY>&(ai zAj3>6GMK!tjkQft#W>{y?{K)tBee-B^@-PD5}JrMn1t50yoC1|%saS}ryzo8+wJY2Y_6_}yrhiak(Bp?t2C7^-%A4LB;UmUzSBhk+Ap~*7pDja z*gNW_o1@WzNu9YQPUJjH+mxhONj0Rfc4K+qrILV`R5#nzLfem~RAAwmqN4+O8G}1I z8j^^8y&`5w5eNRX96rE=WD#bZPc79@XOT2kAQVLm z^o+Ah=dz}ZvdEyk$W&yJF`;*X<5AwryqHG@m4%M`K`BZmt@vNwc}9VD6uoLmCUZ8p zd=y6M-E}v0T=$vtv9mmGw+Bt<##D2t-XF}ku9qCRuCu(j{ngitNWuvxWe%F>uru7R z2f0Zg_hsz6lx~|qC84#(=|+k6)(BBlEQ0=}ibXk2^iQXno^iSf9090HK=4#WVrh8= zM@9vR;h4y6VdPa|<~3pEb>OUyQiMF4Q6#TA_P{|sGczl*v+AiSY9q`MgOOT>WGY7{ z@i0*6dQa8zB>?28LIc(1Gx&KIgk~vqwW~2`5yzE8hbxWtv)r4sn&aN@tFw zipgA-iQ16wPzQ0z$7EWVek_8dsE;Z!pQBY)3A+_KW|7K8Rd}h#2d-?=5?t*Yqgi}F z7d4*7{;MUwRhE0&i%!`GSRr{IhQw#6HhzZMV1ImgUQy?e?sKU9avgCmRs9R-m{ffY z2NhTSQi3{3a3sYFq-YB@vmr$dQmhIcGBol!$r5tNqjFG6=)$>#II+Z2umnm49jlXGxkNhWncOSThy%f literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/cmake/util/__pycache__/opdesc_parser.cpython-39.pyc b/precision_Problem/Is_standard/cmake/util/__pycache__/opdesc_parser.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e1376fa0186638c0042e66840dd97bdca75ffed1 GIT binary patch literal 9559 zcmd^FO>i8?b)KG?{r|yY34$PLQya#%v^EX?%93bVAwvq1A{t}}ShU7g#)ItvFu-DF z(KAbt>xJzIv{L!AmA{Kasem|9!m5-jsmjT>9HN7(Qk6@pQgcZvsT_FmF_rM5eDBTf zVs`<`73mmk&71DmuX|p1zrTJBr&P*o_YFUu2d4!Ep4K`m}p z9>1TFpOT-xm$E8SU(o7Lbo~4khb^ zUFEH;MzyCJ_1epA=S|nEExL_WKWGLko*UM#1hc1V*CIK~9lnTOXJ>1do6Q<`3v0>^ zU3J@)v-yWuFKyn++4kjY*RJ2NZ7a{kh3i*rJI*;_!}aBJXV1j>L2;>HK7aO1YpA?r zWtPI{!aHZ3dezz^cdXK&YfA-=GVsMw+>$jpMB;9E?G48&3{XpFhb!l-;$F+S#&Fa5 z;mU=6h1eX7K$Y`WB^iM$w>@>{>^{u7eV7aTFwYKs0X$}Vvv*#&LNh$pXopd-VK;(} zme+LcpcQ$6AKGC6o&oIJt_p#%3bq}zqgFc#vErF!&v%;5yRq4F!VoL!g{!W=VikJ@ zyX8cyvFSFw<=AwhNcFjD*r96J%lJ~Pqb(D(?C5UGr2>D~I?>|?qaVmqWyOuqAYHq$ z>iE9fv?d9&?kbeQbz3#uIIY~Mt$eEzK$1M)UT*sh+jlnH*pTkBMPK#&bACt}cf!_=oPBS*Jwpi9MHs=H1rR5LZICa-^n=&?*F^b{%DEUDYr{)|q zS~=R`a5caTbPwhah`jYitHq*XrNh;BQIum;{eJeB&Vc$V-g&~m%!g;AX4;%$g`o~1Lf zCFP_H8M>amz=1v+UL}hckmIm z_BP5^X~Vf=FTu#H+tS;x%2W+k9Vm3@b=}81s+BR~`~2#xbxDaVl&zz372ZzYZkNJOS5Hjf=^gu&66ubOV@>RZH(2 z>T|_&PTC*O%rW#NG2hXo4rYv_+Pbc$rMaNV6bpH5MsQSWfmm1sSeyexuTkw50osot zt_nS_NJNM_Oao|oRhXhv9c7G2_VHzanir{z0&~?{q6JOe1WH*14*GJw_vH`)18DlI zF**8Cv_AfuQ)A!6ni#v-nz}i^H~&ZC)Z>}xPoFgZH-@+vn>sZ=(A9aG3+?Sbt4OQH z%kVEKbOjg@J0gPJS~IpGF-NprEQ`9?g;1>-Qhx?!)P@aPGk0LOcG6w6?h1hgT+0w< z&7_T$CiN4V{}zv!+8dEa>w+#j+TZ^=Q>Mo#-v?!GjB=JKGh>wh1j_svrAgM4EogSW zQ)Kh@?X6jguvos-)0ncAf|A;HXR_Z6S#~xS5e9TheH7caPGU$g0AiF4C#o0XJj{TK zLJqpp308d#W2#>xa1j8JS*wMhUwxA>&k^`Cf#(T)g@8?9T(lE?;?FOkJ)8#6#4%A8 zRWT!`#Z>>%2ckaI<^S&b-uCV5aG!mfJFsIFj7D~hR1zTtVoI2L zF<;l!H;5Zj@&j3#=nW6=%YywK;)*T2=uG!)+8D|IjS1yq#6BBWAIHX_OS>ChQDF2=|7VnHgbbi0BirGWR%EdK)x|lzwZ7kK?$VS*9wH^3gauvg>%l=nvi^#a7ZRuTIeJR4xu&e(mLMQmS6yC;IO&eY+fkmg)J*!$*1i^EJaj-#z`euc)dE#(DR$k4oyt)wQUgT5(@-%#QsT+H7i8Te8K@P`lP=dvFo9+e< z@8gcKrwM~2&mZAyVHQ9WML0)9exv#@AgqhH+yI}*);J-~17oon1S`AeZGu12ZvkD8rWe^= zz{pAf#KNu{anAMI2t|;ej8o0vO;^Pkj|`uy>ZaNRnN<#b94`hu$HI$6W8b2non{u{ zSVH7KLeG$#fu@_HBC=SRtf=bwy~P>p@OZg=AA>;NG%Ui8AcxwT*nu=6c-PvR`V5^= z*C3V8Q`~4EZZxSai57<=v7vsT-9*d?YGXj%>Bo^nbmo9AHK0o$K$j*uj_@*w@OZo7 zxcOje66{R&aWGyHkrgTsRB#ITWzA*rnT=n&C_X&VvXMbbp%hI`FeSJY_6&4jqj7#W_rjaw+O% z0s^; z^0YVGPP5m7ydd(R&|P%{BgaKV-;vkYaHG{gCXw0K32!b1K{JVY$i>Gdoq-bT)IeQH z0?Pze2&@vIl!{s-uuh;!phbYUxJxC9MTREMOF+kCbryi0a26mdDkpSNHSnZ*Z=+Ji z&lve-bWtf(3fvcG@GN{LB@e>=nJd~!dUz*KpwK04oPst&^VaAHZ3>vH1#Q!$OAqxu zkkm!rzLJ;bGV-IXA@2EHf7tdyvx>Dg4;x2#aV2h2VjG2kgV%7UkS z!jny$AoNV4KEWv!h!JrTAL*s)$8+ZDcZtt2sXC6#QDjqEwV&;Wg-du0|DKp6tE~}( zKfrrL{HbNYU=0;sv}xFIgVbQ%P*a;QR$apu!_4Z5uuq}`Ebw6M6a^XwvN+8w?qlx* z&<`!4F4PZcND*gx^B+kJke(95yu(kSK#{;MoJ&_k;=H@5Yz@I zi%zH7lq@ zTZK=B|0SnXB+-i!M@305cy6x2d+&SunVsS; z?mVHM??ol5MGX{z01kQZZ3M-7RHkk7$b*w1@Am_fV)wA zyU@+aDti8Rx6sW-6VGe@Q{0;4)?&8^o~O4;QKehj7F%Va>Xx6^-VvKw<^Xd%2Re04>AVxeM@S8rfDAClH~KK5f{=&$c6d1t>VCioqb}c z*e)fi*SA6B9m(-p#lEQ}?`IiMNnE3m#vP=c)6g-x^0IrI)En)eF;GaE4YIN(;>aQb z6nbazt8y(1Xd)X`5jx(4FXGAT1gV@CMP2NgC?G2 zv(qT`|4Jwf)coI}<}2D(T8ga<1?N&{rTqz1CQAW1R3>*7Li@%Kw({LPh2{K4tcjTP zC*8cnKP-G7IdG^EJXBi?UxR{}hn;?en?@X4q)g`KN%|`H z6Y6A?CKCXNOF5|H$!=PQdfY6Q z27Y1$Ut#=vz*k1_li>a&u#QAumkHk0j(zJ_l ziqoNSI!T>%s=cH29OtZNDaGG8?7ObKLJ6dW~Nt^({hh z^teQ&9RdvklE7FXx<)vTM#lnCjzL+GN@I$o9#Ee>B_hvhQACL(bz@ci1+~6U;4cAU zlY(i!f1`kN+)WpHc7WRc2jn4LztA}{(RvC8q0wvwNV|(@p?oyyzRoSwO3z3A^5PU| z)Zbv_I`Wf~amKbK!Uh|`{oRlau=+DJsvi^h0|Gt)3bNI26JVoDVdQ?OMA=BVqK#V`2%JUx}2D1TSWS2EdDHdD@4KC69* Ii5@b)FdvfC2a`N}?o6yBh6k*NZKRKawoVw6wMS6%|n+3xt-X-c`*)=phLS z1i+qww1fvP$J$hKaoJVL!3Q5mA5xV=EH7rtcKse{pasDH>Nf1PgFVjOQP~Q9`ClUX;KrK)TL3?h0eJl z49*iG!MQ2SElnnVr;DUCWpc|9Db!P_r)64Ns9UIKP|qOGBG1Y`+5fF3`s9EdMBXol zkb7>s;UahoKDKFL44qkLRuC8yF8t!_t(WomQ#~slWO10;mw&8|y%M}k3I+&&p3Uw|q$K)=E#S?iX&^udDgGa-r%`pk!O(16oW6cLOo1zv+7=y~S8pn8)s)Rr6-S5E@tRK^o^G&P zji%2=!*D#Cypfy2dKzyt+QfA3Q(@-kmp70uZ_EoLzaY~2`Dv7=L}sZlJ71h#afHaC zZGLKbV{MlD(Tkd}mevan4<77LE-cQk=D!eWnjsI8^SvETu`ruoUt3*Y6z?DFSzmM3 zi-r3OixG|Ji&x>yPu&y)9b&;%6AR9Z%bmvPrA~K-+wl}8)|uyt9xOlDh_*DBcQzL9 z-&-z4 z=T5Y*J}Ry~D!yT!<@?2Tk%>;Kj8BfuU}D-dR~MJ``Opio8?Ef9g7&nM147@lTo>!704{YEsqf{$!)l zxaODCmg`?@-Ef^3dq0$u)ymV!#-6`juT9n)&X!x7^j)ZX$#*A9UfHe5@??3Z^xU0n z`jzTr&ngJFCmMU<&|xd@ewI~XWu!?AyRof`EhJEdszHbEDf!@|P zwAyE;<|p>@y4D7(S|9tS1S|a{F>%uv)tHru!1#r+p*_ZR+%|q@)Ur`NrA=u8F6ZZ_ zk{Fi=w1{46V7HlXUH)>hP*^QIv6o6w^^1T7Jx8Ar^;d=th(p8M9zGT zlG7NW29eys<55A=4SiT2)X(UbaQfU=HmE)R^&_|N@Y!F70zox!p1;B0`v&@u)8(&bcCVr(ArmkSswkP#MCpIfo0O@)F)nCrlV%AL zfgYH5G?{KEcdtq-NWIV$M#>DvB&BtrGi^Gc`MEBW=U^Ifs}-d8Q!;y?e`T~Y?QD<< z5-)W1FBJ{5X6|S~Hc0HJgUo@BIsePIWM5!nZ2vhe$i#UT`M^2s?-zQ9w%r$4L0^!) zqwQX$e~^U9GKkTGM74o;o4}D*30tDXspL|EK_}yRdE56q6=0km=l~`@eyw>g3 zfL-xyVo!7yGLg%KCaFf4QEo|AD>c^(Q;P2JMu@At zq%b0k`(ANpYO zpK!^7o@DXwM~kJW@QmoA&>QL@?J@ph;7J*vF--I;nyp8ZdM+G#1z{8C-g>cDmnmZkevY%>dH)PS z^*Fa_0JkYRl`sj`!^Ow|wn{ss?%?>3?{C^fHbJIJSDMD{pH8(WNd4>*z=0|}_9(ww zm#MismtC(__iQinkL;gLwA$a3092bpjggrF;H<-wKA4!Bc(e07NeLyyC76>#5 z1RBxR=b-43401w9-xz`D{_)8PxkFs!`+?90ZV31asn|y-;(TQ-+)5Vg^&V^uC~)KIH7zD=HsklNtxVFfpO^w z%y-9mMp8;Eu+(n@3k;;0GMFiYnUX<y$p>nG%8)tWm`5f_A?MWlywAqH38w*3WKfTa$3f{-q|zA;-oNilQCBPmc2pARu5UNTfm|?HxQ;ae+R^Zg#-LrfM4`P zLfEw+2~Q8c8@JqH1=8t8Qz34qH2M(eZf61=N-+u#E*n@-2oYppA;GUh7)JQ;>rOU%x97(aXtV2J zLrCFX;0nhZY<2^CNbjm2LZB2rqEIX&9S6!4NtvR+LotMx2-igse6-+T&e-Y$DrW7S zisvD$jD`qR?owDTGF2Hg`2FMYGJr-iU&gbKV?j|Qe;nRzWL7*0Q;`eNy3@P9x9$aQ zY%k^AyV)%8g?t$GF_JJK;|hXZ1>rRf=r@zKsY};zJe}J1ZeqHVWx<;KdV{ zj&{bb&SCH9q465|Ym_!!#wn4)baZKwPo@3}NenqSQ^qgRAD<&pd1CD7n|haV9B2k2 zpoxL$Png>K3JDoN(LaI}GLZ>TBEac~vuwdpP8t1h%-}L7Og4}XDaf6UC?>~mtIiR1ey?k%;FeMuipJ%VdI_{52+QikjGPqHHrdLL}-RTl^u%^9ScNX z<8h(>viKbtq42>;k6!CDxkQ-3$1k5HB1}<~1|Qn8o=b9u4^Updb!8r3dMIXHZ$$ek zZ*JipFPB}<+iX^=dlR`Kbr#d9Q6%)`r&Q%=rnTy96jt*qkHhq;GhbMoErupg!4K2x z&i#!?>jf?psF2!}6i-qg(hSM+_D)?!o%afBP$%p+#CN2fMiezjahOO9_MU?{eORY8 zIJ5|neyP~pO3yxLoZducb)DuV*nzLHbo&K`kyxtV1PvTLz=G|s*Ii< z2~D7Zo_RbTMLD7nD!wwntbe6@mwcmhiLS$}hfMMp2bqA}n5}*AZ_Vv|GX6H7(d^%UJ_ zEsk)KP7Am{*t;~2_;eS*j6KelQ+y;4fBwor+?gcCP`p~p9Kw&1sE3y0?35}s$7!89 zszDPpjJ_gQS|-IYTS;zFUtuzuyL@s%9S6Y+we^BiPYg%j<{W$p zTtpb8xGYBKG`h#;um_vK2=xP+FOMWlBbr++mEHJGLb%L7a73)XVS?g3*Pr=(YK||nA{%^_vghNHL G`u_q}Q{bfl literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/cmake/util/__pycache__/preset_parse.cpython-39.pyc b/precision_Problem/Is_standard/cmake/util/__pycache__/preset_parse.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..88fdcf0d637a92c8f45267de944be23bf00356ff GIT binary patch literal 791 zcmYjPJ8u**5cX>y2??a2;1C4`%@tuG5f7n&kcd*AkdTO22`$drmu#}H*uIl4@m8Tv zM}1e)Qql7dDBV)!FHkYw1C$y0o0+ve-;8(o`uZvY`SJ7H_>v&>%LmtmLhu@vegPnm zz$HqT7N@w6NlF9}^fOASWP+U#^;A-cj{^}5&;`bD=N%e`S8yMVa_r4tSpnR7 zNH91R*+`%XR(m#roqJtui3sMgjcsJ(0TST=Eyy#}k<(A7d#79b&>I82pcvH~kCFcJ z2;p8o09rC%5s}3U0yV8#(szfTyLjY~!z$g#n|fRvPLzDBq?SgfH*=mJ$@g3p{GgQj zEZ*Eb?_QpF_gygMf<>tsm{6H@qQK*_%(y^wMwPVM+ z0W2FX96glAh2ut5+_*@|w&b~VL92?|3|AZ*7o~KOR(S?F{C%Sx84DLK3w6v}$LdDN zG^}{8fSsPm*;l0Qzz_MopQxrWNn5m=hASZ3JlmGpboN9fWpR+SGjr6`Nz-PBvQCVw zfZxc3>s;0%Px6YN$Yf%QGHLtw$Xc$neAv$1Ey$HEi^zOcp`U@f00`g446or;9E1L| zJK!n5?cyw}cu{BBl^>;HsQd&us%KgS;Qc@3A1uopgQ}-}FV|quC)%kRF)8IMpGW&F Lo-n5IMvVUeHP6$o literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/cmake/util/__pycache__/replay_codegen.cpython-39.pyc b/precision_Problem/Is_standard/cmake/util/__pycache__/replay_codegen.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e742fd36e703620fd0a1b1def33b090dea6744f0 GIT binary patch literal 4404 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 EUvcawb^rhX literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/cmake/util/__pycache__/tiling_data_def_build.cpython-39.pyc b/precision_Problem/Is_standard/cmake/util/__pycache__/tiling_data_def_build.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..91be34d1a7eedf2a61d7531815b564ad84c855ae GIT binary patch literal 3012 zcmbVO&2QYs73YxLuhGhq<&RXZ(oC$xUCOf7aojerU89O5D*_y~kQ4-^E3ov=?1~bX zWQId2;&Lxlu0?$6$%oxzuKg35`~^WzJQeN9K>q@xK=Ov<%4=IqgOWS*=FPnKdtWoN zv?nLA0?*gq{#w0eU6gjhw+(%P(&(aNlHq9TQ=+lqms z2u$M#k=GKA@7=*WdyH@vxb`t=N1mJ`%oF?=ulT_+cRG85YAH-;x8?dhk`DVW!EKJQYj=`EM)wUQS!I1$gP{VZsKQPSlKkxbVfL?<8`b( zW>dzkw&SvNs+g0Ex z$>>>Ml9EG2wOM6Q9x8oED&v7l#^M9I9Vl>DQC`;8LOu5mL@T z{r5O3h5c>Z*o+%THuvBF-65V&A~JVtj&{C0=#io5DSI>BF`4jZJH3+h0ZlU}dizl)#Ai{_ckf;o4#{`St+Co4Pg#Hs#WY+gE3G@d$@0sNaFcVTUF^|d%O zF#Ad{2BhpV6d|v{=I=fkDM2N+91pHbMjqKt%jayD9QqE0OW6@U8GgUf^1V<%ojP61 zA`w*O14}Fv6<;K|&;rS%ENTnezy>mPsT-?39DgXCehuUOTb3XTA#Xt>uUp7hjl8B1 z&7#DRrt<{~{(#zx3FC!zkY1P4@Sj2&b|ie_WXS?@kAzOl{C1<)H%OD*zDu0z*A24J zka*XLV}Rg7L;55c08;xnF3&SJWH`Q8r0Lb{{HTP)jZpx8^ ze?tA>e}-C}XC8IhuulR!I-2WiJEMIf4@sl=50y1uEb4FBykn3*;CvU1CZ)t(m>t_h zg)WFMl51l?a%Vz{rR@|Q8JAPl4^us`#a>!wpF5!l(^3GZUZmA9a2>%uhtXp@WS-q+ zX(&pU|w3|@F5_#I6%R!bb=Iz!sa48a==OjZXs&B zF04s>z@oWUp65fGo8?a*JX~Ji2Kw=DSJ$@F(h&zoj7cufHrJp_tD+lN(j{}U2rl#^ z-eM+((5!r%Rv;_^w^gdPXLG&R3Xzf$-+ zVCnfEo80$BGjM_%5JZQG8}a+hIz0XbZMx3mW^gR_e6Q&T7TnEE!MgD2C0NrATi{5m z+3MN{tQmoi&9Nd#yVm2#ap_WUoMO-{uG8~iG5i8L1=SHoIi0~qGdL<7K LdTn~8nx*P{#~)Q~ literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/cmake/util/ascendc_bin_param_build.py b/precision_Problem/Is_standard/cmake/util/ascendc_bin_param_build.py new file mode 100644 index 0000000..63b15c9 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/ascendc_bin_param_build.py @@ -0,0 +1,127 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" + +import sys +import os +import json +import hashlib +import const_var +import opdesc_parser + +PYF_PATH = os.path.dirname(os.path.realpath(__file__)) + + +class BinParamBuilder(opdesc_parser.OpDesc): + def __init__(self: any, op_type: str): + super().__init__(op_type) + self.soc = '' + self.out_path = '' + + def set_soc_version(self: any, soc: str): + self.soc = soc + + def set_out_path(self: any, out_path: str): + self.out_path = out_path + + def gen_input_json(self: any): + key_map = {} + count = len(self.input_dtype[0].split(',')) + for i in range(0, count): + inputs = [] + outputs = [] + attrs = [] + op_node = {} + for idx in range(0, len(self.input_name)): + idtypes = self.input_dtype[idx].split(',') + ifmts = self.input_fmt[idx].split(',') + itype = self.input_type[idx] + para = {} + para['name'] = self.input_name[idx][:-5] + para['index'] = idx + para['dtype'] = idtypes[i] + para['format'] = ifmts[i] + para['paramType'] = itype + para['shape'] = [-2] + if itype == 'dynamic': + inputs.append([para]) + else: + inputs.append(para) + for idx in range(0, len(self.output_name)): + odtypes = self.output_dtype[idx].split(',') + ofmts = self.output_fmt[idx].split(',') + otype = self.output_type[idx] + para = {} + para['name'] = self.output_name[idx][:-5] + para['index'] = idx + para['dtype'] = odtypes[i] + para['format'] = ofmts[i] + para['paramType'] = otype + para['shape'] = [-2] + if otype == 'dynamic': + outputs.append([para]) + else: + outputs.append(para) + for attr in self.attr_list: + att = {} + att['name'] = attr + atype = self.attr_val.get(attr).get('type').lower() + att['dtype'] = atype + att['value'] = const_var.ATTR_DEF_VAL.get(atype) + attrs.append(att) + op_node['bin_filename'] = '' + op_node['inputs'] = inputs + op_node['outputs'] = outputs + if len(attrs) > 0: + op_node['attrs'] = attrs + param = {} + param['op_type'] = self.op_type + param['op_list'] = [op_node] + objstr = json.dumps(param, indent=' ') + md5sum = hashlib.md5(objstr.encode('utf-8')).hexdigest() + while key_map.get(md5sum) is not None: + objstr += '1' + md5sum = hashlib.md5(objstr.encode('utf-8')).hexdigest() + key_map[md5sum] = md5sum + bin_file = self.op_type + '_' + md5sum + op_node['bin_filename'] = bin_file + param_file = os.path.join(self.out_path, bin_file + '_param.json') + param_file = os.path.realpath(param_file) + with os.fdopen(os.open(param_file, const_var.WFLAGS, const_var.WMODES), 'w') as fd: + json.dump(param, fd, indent=' ') + self._write_buld_cmd(param_file, bin_file, i) + + def _write_buld_cmd(self: any, param_file: str, bin_file: str, index: int): + hard_soc = const_var.SOC_MAP_EXT.get(self.soc) + if not hard_soc: + hard_soc = self.soc.capitalize() + name_com = [self.op_type, self.op_file, str(index)] + compile_file = os.path.join(self.out_path, '-'.join(name_com) + '.sh') + compile_file = os.path.realpath(compile_file) + with os.fdopen(os.open(compile_file, const_var.WFLAGS, const_var.WMODES), 'w') as fd: + fd.write('#!/bin/bash\n') + fd.write('echo "[{}] Generating {} ..."\n'.format(hard_soc, bin_file)) + cmd = const_var.BIN_CMD.format(fun=self.op_intf, soc=hard_soc, param=param_file, impl='""') + fd.write(cmd) + chk = const_var.CHK_CMD.format(res_file=bin_file + '.json') + fd.write(chk) + chk = const_var.CHK_CMD.format(res_file=bin_file + '.o') + fd.write(chk) + fd.write('echo "[{}] Generating {} Done"\n'.format(hard_soc, bin_file)) + + +def gen_bin_param_file(cfgfile: str, out_dir: str, soc: str): + op_descs = opdesc_parser.get_op_desc(cfgfile, [], [], BinParamBuilder, None) + for op_desc in op_descs: + op_desc.set_soc_version(soc) + op_desc.set_out_path(out_dir) + op_desc.gen_input_json() + + +if __name__ == '__main__': + if len(sys.argv) <= 3: + raise RuntimeError('arguments must greater than 3') + gen_bin_param_file(sys.argv[1], sys.argv[2], sys.argv[3]) diff --git a/precision_Problem/Is_standard/cmake/util/ascendc_impl_build.py b/precision_Problem/Is_standard/cmake/util/ascendc_impl_build.py new file mode 100644 index 0000000..647801c --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/ascendc_impl_build.py @@ -0,0 +1,501 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" + +import sys +import os +import re +import opdesc_parser +import const_var + +PYF_PATH = os.path.dirname(os.path.realpath(__file__)) + +IMPL_HEAD = ''' +import os, sys +import ctypes +import json +import shutil +from tbe.common.platform import get_soc_spec +from tbe.common.utils import para_check +from tbe.tikcpp import compile_op, replay_op, check_op_cap, generalize_op_params, get_code_channel, OpInfo +from tbe.common.buildcfg import get_default_build_config +from impl.util.platform_adapter import tbe_register +from tbe.common.buildcfg import get_current_build_config +PYF_PATH = os.path.dirname(os.path.realpath(__file__)) + +DTYPE_MAP = {{"float32": ["DT_FLOAT", "float"], + "float16": ["DT_FLOAT16", "half"], + "int8": ["DT_INT8", "int8_t"], + "int16": ["DT_INT16", "int16_t"], + "int32": ["DT_INT32", "int32_t"], + "int64": ["DT_INT64", "int64_t"], + "uint1": ["DT_UINT1", "uint8_t"], + "uint8": ["DT_UINT8", "uint8_t"], + "uint16": ["DT_UINT16", "uint16_t"], + "uint32": ["DT_UINT32", "uint32_t"], + "uint64": ["DT_UINT64", "uint64_t"], + "bool": ["DT_BOOL", "bool"], + "double": ["DT_DOUBLE", "double"], + "dual": ["DT_DUAL", "unknown"], + "dual_sub_int8": ["DT_DUAL_SUB_INT8", "unknown"], + "dual_sub_uint8": ["DT_DUAL_SUB_UINT8", "unknown"], + "string": ["DT_STRING", "unknown"], + "complex64": ["DT_COMPLEX64", "unknown"], + "complex128": ["DT_COMPLEX128", "unknown"], + "qint8": ["DT_QINT8", "unknown"], + "qint16": ["DT_QINT16", "unknown"], + "qint32": ["DT_QINT32", "unknown"], + "quint8": ["DT_QUINT8", "unknown"], + "quint16": ["DT_QUINT16", "unknown"], + "resource": ["DT_RESOURCE", "unknown"], + "string_ref": ["DT_STRING_REF", "unknown"], + "int4": ["DT_INT4", "int4b_t"], + "bfloat16": ["DT_BF16", "bfloat16_t"]}} + +def add_dtype_fmt_option_single(x, x_n, is_ref: bool = False): + options = [] + x_fmt = x.get("format") + x_dtype = x.get("dtype") + x_n_in_kernel = x_n + '_REF' if is_ref else x_n + options.append("-DDTYPE_{{n}}={{t}}".format(n=x_n_in_kernel, t=DTYPE_MAP.get(x_dtype)[1])) + options.append("-DORIG_DTYPE_{{n}}={{ot}}".format(n=x_n_in_kernel, ot=DTYPE_MAP.get(x_dtype)[0])) + options.append("-DFORMAT_{{n}}=FORMAT_{{f}}".format(n=x_n_in_kernel, f=x_fmt)) + return options + +def get_dtype_fmt_options(__inputs__, __outputs__): + options = [] + input_names = {} + output_names = {} + unique_param_name_set = set() + for idx, x in enumerate(__inputs__): + if x is None: + continue + x_n = input_names[idx].upper() + unique_param_name_set.add(x_n) + options += add_dtype_fmt_option_single(x, x_n) + + for idx, x in enumerate(__outputs__): + if x is None: + continue + x_n = output_names[idx].upper() + if x_n in unique_param_name_set: + options += add_dtype_fmt_option_single(x, x_n, True) + else: + options += add_dtype_fmt_option_single(x, x_n) + return options + +def load_dso(so_path): + try: + ctypes.CDLL(so_path) + except OSError as error : + print(error) + raise RuntimeError("cannot open %s" %(so_path)) + else: + print("load so succ ", so_path) + +def get_shortsoc_compile_option(compile_option_list: list, shortsoc:str): + compile_options = [] + if shortsoc in compile_option_list: + compile_options = compile_option_list[shortsoc] + elif '__ALLSOC__' in compile_option_list: + compile_options = compile_option_list['__ALLSOC__'] + return compile_options + +def get_kernel_source(src_file, dir_snake, dir_ex): + src_ex = os.path.join(PYF_PATH, "..", "ascendc", dir_ex, src_file) + if os.path.exists(src_ex): + return src_ex + src = os.path.join(PYF_PATH, "..", "ascendc", dir_snake, src_file) + if os.path.exists(src): + return src + src = os.path.join(PYF_PATH, src_file) + if os.path.exists(src): + return src + return src_ex + +''' + +IMPL_API = ''' +@tbe_register.register_operator("{}", trans_bool_to_s8=False) +@para_check.check_op_params({}) +def {}({}, kernel_name="{}", impl_mode=""): + if get_current_build_config("enable_op_prebuild"): + return + __inputs__, __outputs__, __attrs__ = _build_args({}) + options = get_dtype_fmt_options(__inputs__, __outputs__) + options += ["-x", "cce"] + bisheng = shutil.which("bisheng") + if bisheng != None: + bisheng_path = os.path.dirname(bisheng) + tikcpp_path = os.path.realpath(os.path.join(bisheng_path, "..", "..", "tikcpp")) + else: + tikcpp_path = os.path.realpath("/usr/local/Ascend/latest/compiler/tikcpp") + options.append("-I" + tikcpp_path) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw")) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw", "impl")) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw", "interface")) + options.append("-I" + os.path.join(PYF_PATH, "..", "ascendc", "common")) + if impl_mode == "high_performance": + options.append("-DHIGH_PERFORMANCE=1") + elif impl_mode == "high_precision": + options.append("-DHIGH_PRECISION=1") + if get_default_build_config("enable_deterministic_mode") == 1: + options.append("-DDETEMINISTIC_MODE=1") + + custom_compile_options = {}, + custom_all_compile_options = {}, + soc_version = get_soc_spec("SOC_VERSION") + soc_short = get_soc_spec("SHORT_SOC_VERSION").lower() + custom_compile_options_soc = get_shortsoc_compile_option(custom_compile_options[0], soc_short) + custom_all_compile_options_soc = get_shortsoc_compile_option(custom_all_compile_options[0], soc_short) + options += custom_all_compile_options_soc + options += custom_compile_options_soc + + origin_func_name = "{}" + ascendc_src_dir_ex = "{}" + ascendc_src_dir = "{}" + ascendc_src_file = "{}" + src = get_kernel_source(ascendc_src_file, ascendc_src_dir, ascendc_src_dir_ex) +''' + +REPLAY_OP_API = ''' + print("start replay Acend C Operator {}, kernel name is {}") + tikreplay_codegen_path = tikcpp_path + "/tikreplaylib/lib" + tikreplay_stub_path = tikcpp_path + "/tikreplaylib/lib/" + soc_version + print("start load libtikreplaylib_codegen.so and libtikreplaylib_stub.so") + codegen_so_path = tikreplay_codegen_path + "/libtikreplaylib_codegen.so" + replaystub_so_path = tikreplay_stub_path + "/libtikreplaylib_stub.so" + if PYF_PATH.endswith("dynamic"): + op_replay_path = os.path.join(PYF_PATH, "..", "..", "op_replay") + else: + op_replay_path = os.path.join(PYF_PATH, "..", "op_replay") + replayapi_so_path = os.path.join(op_replay_path, "libreplay_{}_" + soc_short + ".so") + load_dso(codegen_so_path) + load_dso(replaystub_so_path) + load_dso(replayapi_so_path) + op_type = "{}" + entry_obj = os.path.join(op_replay_path, "{}_entry_" + soc_short + ".o") + code_channel = get_code_channel(src, kernel_name, op_type, options) + op_info = OpInfo(kernel_name = kernel_name, op_type = op_type, inputs = __inputs__, outputs = __outputs__,\\ + attrs = __attrs__, impl_mode = impl_mode) + res, msg = replay_op(op_info, entry_obj, code_channel, src, options) + if not res: + print("call replay op failed for %s and get into call compile op" %(msg)) + compile_op(src, origin_func_name, op_info, options, code_channel, '{}') +''' + +COMPILE_OP_API = ''' + print("start compile Ascend C operator {}. kernel name is " + kernel_name) + op_type = "{}" + code_channel = get_code_channel(src, kernel_name, op_type, options) + op_info = OpInfo(kernel_name = kernel_name, op_type = op_type, inputs = __inputs__, outputs = __outputs__,\\ + attrs = __attrs__, impl_mode = impl_mode, origin_inputs=[{}], origin_outputs = [{}], param_type_dynamic = {},\\ + mc2_ctx = None, param_type_list = {}) + compile_op(src, origin_func_name, op_info, options, code_channel, '{}') +''' + +SUP_API = ''' +def {}({}, impl_mode=""): + __inputs__, __outputs__, __attrs__ = _build_args({}) + ret_str = check_op_cap("{}", "{}", __inputs__, __outputs__, __attrs__) + ret_dict = json.loads(ret_str) + err_code = ret_dict.get("ret_code") + sup = "Unknown" + reason = "Unknown reason" + if err_code is not None: + if err_code is 0: + sup = "True" + reason = "" + elif err_code is 1: + sup = "False" + reason = ret_dict.get("reason") + else: + sup = "Unknown" + reason = ret_dict.get("reason") + return sup, reason +''' +CAP_API = ''' +def {}({}, impl_mode=""): + __inputs__, __outputs__, __attrs__ = _build_args({}) + result = check_op_cap("{}", "{}", __inputs__, __outputs__, __attrs__) + return result.decode("utf-8") +''' +GLZ_API = ''' +@tbe_register.register_param_generalization("{}") +def {}_generalization({}, generalize_config=None): + __inputs__, __outputs__, __attrs__ = _build_args({}) + ret_str = generalize_op_params("{}", __inputs__, __outputs__, __attrs__, generalize_config) + return [json.loads(ret_str)] +''' + +ATTR_DEFAULT = {'bool': 'False', 'int': '0', 'float': '0.0', 'list_int': '[]', + 'list_float': '[]', 'list_bool': '[]', 'list_list_int': '[[]]', 'str': ''} + + +def _get_snake_str(s, i): + if s[i - 1] != '_': + if not s[i - 1].isupper(): + return "_" + elif s[i - 1].isupper() and (i + 1) < len(s) and s[i + 1].islower(): + return "_" + return "" + return "" + + +def optype_snake(origin_str): + temp_str = origin_str[0].lower() + origin_str[1:] + new_str = re.sub(r'([A-Z])', r'_\1', temp_str).lower() + return new_str + + +def optype_snake_ex(s): + snake_case = "" + for i, c in enumerate(s): + if i == 0: + snake_case += c.lower() + elif c.isupper(): + snake_case += _get_snake_str(s, i) + snake_case += c.lower() + else: + snake_case += c + return snake_case + + +class AdpBuilder(opdesc_parser.OpDesc): + def __init__(self: any, op_type: str): + self.argsdefv = [] + self.op_compile_option:str = '{}' + super().__init__(op_type) + + + def write_adapt(self: any, impl_path, path: str, op_compile_option_all:list = None): + self._build_paradefault() + if impl_path != "": + src_file = os.path.join(impl_path, self.op_file + '.cpp') + if not os.path.exists(src_file): + return + out_path = os.path.abspath(path) + if self.dynamic_shape and not out_path.endswith('dynamic'): + out_path = os.path.join(path, 'dynamic') + os.makedirs(out_path, mode=0o700, exist_ok=True) + adpfile = os.path.join(out_path, self.op_file + '.py') + self._gen_op_compile_option(op_compile_option_all) + with os.fdopen(os.open(adpfile, const_var.WFLAGS, const_var.WMODES), 'w') as fd: + self._write_head(fd) + self._write_argparse(fd) + self._write_impl(fd) + if self.op_chk_support: + self._write_cap('check_supported', fd) + self._write_cap('get_op_support_info', fd) + if self.op_fmt_sel: + self._write_cap('op_select_format', fd) + self._write_cap('get_op_specific_info', fd) + if self.op_range_limit == 'limited' or self.op_range_limit == 'dynamic': + self._write_glz(fd) + + + def _gen_op_compile_option(self:any, op_compile_option_all:list =None): + if op_compile_option_all is not None: + if self.op_type in op_compile_option_all: + self.op_compile_option = op_compile_option_all[self.op_type] + elif "__all__" in op_compile_option_all: + self.op_compile_option = op_compile_option_all["__all__"] + + + def _ip_argpack(self: any, default: bool = True) -> list: + args = [] + for i in range(len(self.input_name)): + arg = self.input_name[i] + if default and self.argsdefv[i] is not None: + arg += '=' + self.argsdefv[i] + args.append(arg) + return args + + def _op_argpack(self: any, default: bool = True) -> list: + args = [] + argidx = len(self.input_name) + for i in range(len(self.output_name)): + arg = self.output_name[i] + if default and self.argsdefv[i + argidx] is not None: + arg += '=' + self.argsdefv[i + argidx] + args.append(arg) + return args + + def _attr_argpack(self: any, default: bool = True) -> list: + args = [] + argidx = len(self.input_name) + len(self.output_name) + for i in range(len(self.attr_list)): + att = self.attr_list[i] + arg = att + if default and self.argsdefv[i + argidx] is not None: + if self.attr_val.get(att).get('type') == 'str': + arg += '="' + self.argsdefv[i + argidx] + '"' + elif self.attr_val.get(att).get('type') == 'bool': + arg += '=' + self.argsdefv[i + argidx].capitalize() + else: + arg += '=' + self.argsdefv[i + argidx] + args.append(arg) + return args + + def _build_paralist(self: any, default: bool = True) -> str: + args = [] + args.extend(self._ip_argpack(default)) + args.extend(self._op_argpack(default)) + args.extend(self._attr_argpack(default)) + return ', '.join(args) + + def _io_parachk(self: any, types: list, type_name: str) -> list: + chk = [] + for iot in types: + if iot == 'optional': + ptype = 'OPTION' + else: + ptype = iot.upper() + chk.append('para_check.{}_{}'.format(ptype, type_name)) + return chk + + def _attr_parachk(self: any) -> list: + chk = [] + for att in self.attr_list: + if self.attr_val.get(att).get('paramType') == 'optional': + pt = 'OPTION' + else: + pt = self.attr_val.get(att).get('paramType').upper() + att_type = self.attr_val.get(att).get('type').upper() + chk.append('para_check.{}_ATTR_{}'.format(pt, att_type)) + return chk + + def _build_parachk(self: any) -> str: + chk = [] + chk.extend(self._io_parachk(self.input_type, 'INPUT')) + chk.extend(self._io_parachk(self.output_type, 'OUTPUT')) + chk.extend(self._attr_parachk()) + chk.append('para_check.KERNEL_NAME') + return ', '.join(chk) + + def _build_paradefault(self: any): + optional = False + argtypes = [] + argtypes.extend(self.input_type) + argtypes.extend(self.output_type) + for atype in argtypes: + if atype == 'optional': + optional = True + if optional: + self.argsdefv.append('None') + else: + self.argsdefv.append(None) + for attr in self.attr_list: + atype = self.attr_val.get(attr).get('paramType') + if atype == 'optional': + optional = True + attrval = self.attr_val.get(attr).get('defaultValue') + if attrval is not None: + optional = True + if type == "bool": + attrval = attrval.capitalize() + elif type == "str": + attrval = "\"" + attrval + "\"" + self.argsdefv.append(attrval) + continue + if optional: + self.argsdefv.append(ATTR_DEFAULT.get(self.attr_val.get(attr).get('type'))) + else: + self.argsdefv.append(None) + + def _write_head(self: any, fd: object): + fd.write(IMPL_HEAD.format(self.input_ori_name, self.output_ori_name)) + + def _write_argparse(self: any, fd: object): + args = self._build_paralist(False) + fd.write('def _build_args({}):\n'.format(args)) + fd.write(' __inputs__ = []\n') + fd.write(' for arg in [{}]:\n'.format(', '.join(self.input_name))) + fd.write(' if arg != None:\n') + fd.write(' if isinstance(arg, (list, tuple)):\n') + fd.write(' if len(arg) == 0:\n') + fd.write(' continue\n') + fd.write(' __inputs__.append(arg[0])\n') + fd.write(' else:\n') + fd.write(' __inputs__.append(arg)\n') + fd.write(' else:\n') + fd.write(' __inputs__.append(arg)\n') + fd.write(' __outputs__ = []\n') + fd.write(' for arg in [{}]:\n'.format(', '.join(self.output_name))) + fd.write(' if arg != None:\n') + fd.write(' if isinstance(arg, (list, tuple)):\n') + fd.write(' if len(arg) == 0:\n') + fd.write(' continue\n') + fd.write(' __outputs__.append(arg[0])\n') + fd.write(' else:\n') + fd.write(' __outputs__.append(arg)\n') + fd.write(' else:\n') + fd.write(' __outputs__.append(arg)\n') + fd.write(' __attrs__ = []\n') + for attr in self.attr_list: + fd.write(' if {} != None:\n'.format(attr)) + fd.write(' attr = {}\n') + fd.write(' attr["name"] = "{}"\n'.format(attr)) + fd.write(' attr["dtype"] = "{}"\n'.format(self.attr_val.get(attr).get('type'))) + fd.write(' attr["value"] = {}\n'.format(attr)) + fd.write(' __attrs__.append(attr)\n') + fd.write(' return __inputs__, __outputs__, __attrs__\n') + + def _write_impl(self: any, fd: object): + argsdef = self._build_paralist() + argsval = self._build_paralist(False) + pchk = self._build_parachk() + if len(self.kern_name) > 0: + kern_name = self.kern_name + else: + kern_name = self.op_intf + src = self.op_file + '.cpp' + fd.write(IMPL_API.format(self.op_type, pchk, self.op_intf, argsdef, kern_name, argsval,\ + self.custom_compile_options, self.custom_all_compile_options, self.op_intf,\ + optype_snake_ex(self.op_type), optype_snake(self.op_type), src)) + if self.op_replay_flag: + fd.write(REPLAY_OP_API.format(self.op_type, kern_name, self.op_file, self.op_type, self.op_file,\ + self.op_compile_option)) + else: + fd.write(COMPILE_OP_API.format(self.op_type, self.op_type, ', '.join(self.input_name),\ + ', '.join(self.output_name), False, self.input_type + self.output_type, self.op_compile_option)) + + def _write_cap(self: any, cap_name: str, fd: object): + argsdef = self._build_paralist() + argsval = self._build_paralist(False) + if cap_name == 'check_supported': + fd.write(SUP_API.format(cap_name, argsdef, argsval, cap_name, self.op_type)) + else: + fd.write(CAP_API.format(cap_name, argsdef, argsval, cap_name, self.op_type)) + + def _write_glz(self: any, fd: object): + argsdef = self._build_paralist() + argsval = self._build_paralist(False) + fd.write(GLZ_API.format(self.op_type, self.op_intf, argsdef, argsval, self.op_type)) + + +def write_scripts(cfgfile: str, cfgs: dict, dirs: dict, ops: list = None, op_compile_option:list = None): + batch_lists = cfgs.get(const_var.REPLAY_BATCH).split(';') + iterator_lists = cfgs.get(const_var.REPLAY_ITERATE).split(';') + file_map = {} + op_descs = opdesc_parser.get_op_desc(cfgfile, batch_lists, iterator_lists, AdpBuilder,\ + ops, dirs.get(const_var.AUTO_GEN_DIR)) + for op_desc in op_descs: + op_desc.write_adapt(dirs.get(const_var.CFG_IMPL_DIR), dirs.get(const_var.CFG_OUT_DIR), op_compile_option) + file_map[op_desc.op_type] = op_desc.op_file + return file_map + +if __name__ == '__main__': + if len(sys.argv) <= 6: + raise RuntimeError('arguments must greater equal than 6') + rep_cfg = {} + rep_cfg[const_var.REPLAY_BATCH] = sys.argv[2] + rep_cfg[const_var.REPLAY_ITERATE] = sys.argv[3] + cfg_dir = {} + cfg_dir[const_var.CFG_IMPL_DIR] = sys.argv[4] + cfg_dir[const_var.CFG_OUT_DIR] = sys.argv[5] + cfg_dir[const_var.AUTO_GEN_DIR] = sys.argv[6] + write_scripts(cfgfile=sys.argv[1], cfgs=rep_cfg, dirs=cfg_dir) diff --git a/precision_Problem/Is_standard/cmake/util/ascendc_ops_config.py b/precision_Problem/Is_standard/cmake/util/ascendc_ops_config.py new file mode 100644 index 0000000..b138047 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/ascendc_ops_config.py @@ -0,0 +1,120 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" + +import sys +import os +import glob +import json +import argparse +import const_var + + +def load_json(json_file: str): + with open(json_file, encoding='utf-8') as file: + json_content = json.load(file) + return json_content + + +def get_specified_suffix_file(root_dir, suffix): + specified_suffix = os.path.join(root_dir, '**/*.{}'.format(suffix)) + all_suffix_files = glob.glob(specified_suffix, recursive=True) + return all_suffix_files + + +def add_simplified_config(op_type, key, core_type, task_ration, objfile, config): + simple_cfg = config.get('binary_info_config.json') + op_cfg = simple_cfg.get(op_type) + if not op_cfg: + op_cfg = {} + op_cfg['dynamicRankSupport'] = True + op_cfg['simplifiedKeyMode'] = 0 + op_cfg['binaryList'] = [] + simple_cfg[op_type] = op_cfg + bin_list = op_cfg.get('binaryList') + if core_type == 0 and task_ration == "tilingKey": + bin_list.append({'coreType': core_type, 'simplifiedKey': key, \ + 'multiKernelType':1, 'binPath': objfile}) + else: + bin_list.append({'coreType': core_type, 'simplifiedKey': key, 'binPath': objfile}) + + +def add_op_config(op_file, bin_info, config): + op_cfg = config.get(op_file) + if not op_cfg: + op_cfg = {} + op_cfg['binList'] = [] + config[op_file] = op_cfg + op_cfg.get('binList').append(bin_info) + + +def gen_ops_config(json_file, soc, config): + core_type_map = {'MIX': 0, 'AiCore': 1, 'VectorCore': 2, 'MIX_AICORE':3, 'MIX_VECTOR_CORE':4} + contents = load_json(json_file) + if ('binFileName' not in contents) or ('supportInfo' not in contents): + return + json_base_name = os.path.basename(json_file) + op_dir = os.path.basename(os.path.dirname(json_file)) + support_info = contents.get('supportInfo') + bin_name = contents.get('binFileName') + bin_suffix = contents.get('binFileSuffix') + task_ration = contents.get('taskRation') + core_type = core_type_map.get(contents.get("coreType")) + bin_file_name = bin_name + bin_suffix + op_type = bin_name.split('_')[0] + op_file = op_dir + '.json' + bin_info = {} + keys = support_info.get('simplifiedKey') + if keys: + bin_info['simplifiedKey'] = keys + for key in keys: + add_simplified_config(op_type, key, core_type, task_ration, os.path.join(soc, op_dir, bin_file_name), \ + config) + bin_info['staticKey'] = support_info.get('staticKey') + bin_info['int64Mode'] = support_info.get('int64Mode') + bin_info['inputs'] = support_info.get('inputs') + bin_info['outputs'] = support_info.get('outputs') + if support_info.get('attrs'): + bin_info['attrs'] = support_info.get('attrs') + bin_info['binInfo'] = {'jsonFilePath': os.path.join(soc, op_dir, json_base_name)} + add_op_config(op_file, bin_info, config) + + +def gen_all_config(root_dir, soc): + suffix = 'json' + config = {} + config['binary_info_config.json'] = {} + all_json_files = get_specified_suffix_file(root_dir, suffix) + for _json in all_json_files: + gen_ops_config(_json, soc, config) + for cfg_key in config.keys(): + cfg_file = os.path.join(root_dir, cfg_key) + with os.fdopen(os.open(cfg_file, const_var.WFLAGS, const_var.WMODES), 'w') as fd: + json.dump(config.get(cfg_key), fd, indent=' ') + + +def args_prase(): + parser = argparse.ArgumentParser() + parser.add_argument('-p', + '--path', + nargs='?', + required=True, + help='Parse the path of the json file.') + parser.add_argument('-s', + '--soc', + nargs='?', + required=True, + help='Parse the soc_version of ops.') + return parser.parse_args() + + +def main(): + args = args_prase() + gen_all_config(args.path, args.soc) + + +if __name__ == '__main__': + main() diff --git a/precision_Problem/Is_standard/cmake/util/ascendc_replay_build.py b/precision_Problem/Is_standard/cmake/util/ascendc_replay_build.py new file mode 100644 index 0000000..1cac7d9 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/ascendc_replay_build.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" + +import sys +import os +import opdesc_parser +import replay_codegen +import const_var +from replay_codegen import ReplayCodeGenParams + +PYF_PATH = os.path.dirname(os.path.realpath(__file__)) + + +class ReplayBuilder(opdesc_parser.OpDesc): + def __init__(self: any, op_type: str): + super().__init__(op_type) + + def gen_replay_source(self: any, impl_path: str, out_path: str, ops_product: str): + if not self.op_replay_flag: + print('{} replay not enabled'.format(self.op_type)) + return + argn = len(self.input_name) + len(self.output_name) + 1 + if self.op_replay_batch: + print('{} replay in batch mode'.format(self.op_type)) + else: + print('{} replay in normal mode'.format(self.op_type)) + if impl_path.endswith('op_kernel'): + implf = os.path.join(impl_path, self.op_file + '.cpp') + tiling_file = os.path.join(impl_path, "../op_host", self.op_file + '_tiling.h') + else: + if self.dynamic_shape: + dyn_path = 'dynamic' + else: + dyn_path = '' + implf = os.path.join(impl_path, dyn_path, self.op_file + '.cpp') + tiling_file = os.path.join(impl_path, "../../op_tiling", self.op_file + '_tiling.h') + rep_conf = replay_codegen.ReplayCodeGen(ReplayCodeGenParams(self.op_type, implf, tiling_file, self.op_file, \ + self.op_intf, argn, self.op_replay_batch, self.max_block_dim, self.max_shape_size)) + rep_conf.set_batch(self.op_replay_batch) + rep_conf.set_outdir(out_path) + rep_conf.gen_replay(ops_product) + + +def gen_replay(cfgfile: str, cfgs: dict, dirs: dict, ops_product: str, ops: list = None): + batch_lists = cfgs.get(const_var.REPLAY_BATCH).split(';') + iterator_lists = cfgs.get(const_var.REPLAY_ITERATE).split(';') + op_descs = opdesc_parser.get_op_desc(cfgfile, batch_lists, iterator_lists, ReplayBuilder, ops) + for op_desc in op_descs: + op_desc.gen_replay_source(dirs.get(const_var.CFG_IMPL_DIR), dirs.get(const_var.CFG_OUT_DIR), ops_product) + + +if __name__ == '__main__': + if len(sys.argv) <= 6: + raise RuntimeError('arguments must greater than 6') + rep_cfg = {} + rep_cfg[const_var.REPLAY_BATCH] = sys.argv[2] + rep_cfg[const_var.REPLAY_ITERATE] = sys.argv[3] + rep_dir = {} + rep_dir[const_var.CFG_IMPL_DIR] = sys.argv[4] + rep_dir[const_var.CFG_OUT_DIR] = sys.argv[5] + gen_replay(sys.argv[1], rep_cfg, rep_dir, sys.argv[6]) diff --git a/precision_Problem/Is_standard/cmake/util/batch_replay_impl.temp b/precision_Problem/Is_standard/cmake/util/batch_replay_impl.temp new file mode 100644 index 0000000..0e88346 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/batch_replay_impl.temp @@ -0,0 +1,117 @@ +#include +#include +#include +#include +#include +#include +#include +#include "replay_def.h" +#include "code_gen.h" +#include "replay_fun.h" +#include "register/op_check.h" +#define __ASCENDC_REPLAY_CODE__ +#include + +using namespace std; +using namespace optiling; +using namespace AscendCReplay; + +extern "C" void __KERNEL_FUN__ (__ARGS_DEF__, const char *); +extern "C" int elf_batch_append(char *elf, uint32_t elfSize, char *jit, int kernum, char *atext[], int alen[], + int atlen, const char* kernelname[]); + +#define KERNEL_N 1 +#define ARG_N (__ARG_NUM__) +#define MAX_L (1024 * 1024 * 100) +#define MAX_E (1024 * 1024) + +int __KERNEL_FUN___replay___OPS_PRODUCT__(ReplayFuncParam& param, const int core_type) +{ + // gen type 1 : direct call codes 0: load .o file + if (param.gentype < 0 || param.gentype > 1) { + printf("Error: call replay gen type is %d, should only be 1 or 0\n", param.gentype); + return 0; + } else if (param.gentype == 1 && param.objptr == nullptr) { + printf("Error: call replay with direct call mode, but code obj addr is null\n"); + return 0; + } else if (param.gentype == 0 && param.output_kernel_file == nullptr) { + printf("Error: call replay with object file mode, but object file path is null\n"); + return 0; + } + // core_type 0:MIX 1:CUBE 2:VEC + if (core_type < 0 || core_type > 2) { + printf("Error: call replay core type is %d !\n", core_type); + return 0; + } + g_coreType = __CORE_TYPE__; + g_taskRation = param.task_ration; + g_tilingKey = param.tiling_key; + + unsigned char *buf, *jit; + char *kernel[KERNEL_N]; + int len[KERNEL_N]; + block_idx = 0; + block_num = param.block_dim; + g_ubBase = block_num; + uint8_t *code = (uint8_t *)malloc(MAX_L); + uint8_t *pos = code; + struct timespec tp1, tp2; + + clock_gettime(CLOCK_MONOTONIC, &tp1); + if (block_num > 32) { + printf("Error: block_num > 32\n"); + return 0; + } + //__OP_FOPEN__ + for (int i = 0; i < KERNEL_N; i++) { + //__OP_SET_KERNEL__ + for (int j = 0; j < ARG_N; j++) + AddArg(j, ARG_STEP * (j + 1)); +#ifdef FP_CEILING + SetCtrlFloatEnable(); +#else + SetCtrlFloatDisable(); +#endif + CodeInit(pos, true); + __KERNEL_FUN__(__KERNEL_ARGS__, param.tiling_data); + CodeEnd(); + kernel[i] = (char *)pos; + len[i] = CodeLen(); + pos += len[i]; + } + //__OP_FCLOSE__ + clock_gettime(CLOCK_MONOTONIC, &tp2); + buf = (unsigned char *)malloc(MAX_E); + int fd = open(param.entry_file, O_RDONLY); + if (fd < 0) { + printf("[error]: cannot find entry.o : %s\n", param.entry_file); + return 0; + } + uint32_t bufSize = read(fd, buf, MAX_E); + if (bufSize <= 0) { + printf("[error]: entry.o : %s is too small ! \n", param.entry_file); + } + close(fd); + jit = (unsigned char *)malloc(MAX_L); + printf("total code generated %ld\n", pos - code); + int sz = elf_batch_append((char *)buf, bufSize, (char *)jit, KERNEL_N, kernel, len, pos - code, ¶m.kernel_name); + if (tp1.tv_sec != tp2.tv_sec) { + printf("%ld NS\n", tp2.tv_nsec + 1000000000 - tp1.tv_nsec); + } else { + printf("%ld NS\n", tp2.tv_nsec - tp1.tv_nsec); + } + printf("new elf size %d\n", sz); + if (param.gentype == 0) { + fd = open(param.output_kernel_file, O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR); + (void)write(fd, jit, sz); + close(fd); + free(jit); + } else if (param.gentype == 1) { + *param.objptr = (char*)jit; + } + free(buf); + free(code); + return sz; +} + +REG_REPLAY_FUNC(__OPTYPE__, __OPS_PRODUCT__, __KERNEL_FUN___replay___OPS_PRODUCT__); diff --git a/precision_Problem/Is_standard/cmake/util/code_channel_infer.py b/precision_Problem/Is_standard/cmake/util/code_channel_infer.py new file mode 100644 index 0000000..336b4cd --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/code_channel_infer.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" +import os +import stat +import ctypes +import collections +import shutil +import subprocess +import copy + +"""CODE_* is used to cube/vector api is called in operator code +CODE_MIX means both cube and vector api is called +CODE_CUBE means only cube api is called +CODE_VEC means only vector api is called +""" +CODE_MIX = 0 +CODE_CUBE = 1 +CODE_VEC = 2 + + +def _is_v220(op_product: str): + """return if current soc version is V220 + + Returns: + res: True means V220 + """ + if op_product in ["ascend910b"]: + return True + return False + + +InfoCodeChanelParams = collections.namedtuple('InfoCodeChanelParams',\ +['src_file', 'tiling_header', 'kernel_name', 'outdir', 'op_product', 'compile_options']) + + +def infer_code_channel(params: InfoCodeChanelParams): + """get code channel for v220, return CODE_MIX if soc version is not V220 + + Args: + src_file (str): AscendC operator code file + src_file (str): AscendC operator tiling header file + kernel_name (str): kernel function name + optype (str): operator type + compile_options (list): compile options for bisheng cmd + + Raises: + Exception: if not exist L1/L0/UB if code, it's not a aicore code + + Returns: + res (int): CODE_MIX/CODE_CUBE/CODE_VEC + """ + if not _is_v220(params.op_product): + return CODE_MIX + return CODE_VEC diff --git a/precision_Problem/Is_standard/cmake/util/const_var.py b/precision_Problem/Is_standard/cmake/util/const_var.py new file mode 100644 index 0000000..8b32c3b --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/const_var.py @@ -0,0 +1,33 @@ + +#!/usr/bin/env python +# coding=utf-8 +""" +Function: +The replay funtion entry +Copyright Information: +Huawei Technologies Co., Ltd. All Rights Reserved © 2020 +""" + +import os +import stat + + +REPLAY_BATCH = 'batch' +REPLAY_ITERATE = 'iterate' +CFG_IMPL_DIR = 'impl_dir' +CFG_OUT_DIR = 'out_dir' +AUTO_GEN_DIR = 'auto_gen_dir' +WFLAGS = os.O_WRONLY | os.O_CREAT | os.O_TRUNC +WMODES = stat.S_IWUSR | stat.S_IRUSR +SOC_MAP_EXT = {'ascend310p': 'Ascend310P3', 'ascend310b': 'Ascend310B1', + 'ascend910': 'Ascend910A', 'ascend910b': 'Ascend910B1'} +BIN_CMD = 'opc $1 --main_func={fun} --input_param={param} --soc_version={soc} \ +--output=$2 --impl_mode={impl} --simplified_key_mode=0 --op_mode=dynamic\n' +CHK_CMD = ''' +if ! test -f $2/{res_file} ; then + echo "$2/{res_file} not generated!" + exit 1 +fi +''' +ATTR_DEF_VAL = {'str' : '', 'int': 0, 'float': 0.0, 'bool': False, 'list_bool': [], + 'list_int': [], 'list_float': [], 'list_list_int': [[]]} diff --git a/precision_Problem/Is_standard/cmake/util/gen_impl_and_mrege_json.sh b/precision_Problem/Is_standard/cmake/util/gen_impl_and_mrege_json.sh new file mode 100644 index 0000000..492034e --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/gen_impl_and_mrege_json.sh @@ -0,0 +1,20 @@ +#!/usr/bin/bash + +project_path=$1 +build_path=$2 +vendor_name=customize +if [[ ! -d "$project_path" ]]; then + echo "[ERROR] No projcet path is provided" + exit 1 +fi + +if [[ ! -d "$build_path" ]]; then + echo "[ERROR] No build path is provided" + exit 1 +fi + +# copy aicpu kernel so operators +if [[ -d "${project_path}/cpukernel/aicpu_kernel_lib" ]]; then + cp -f ${project_path}/cpukernel/aicpu_kernel_lib/* ${build_path}/makepkg/packages/vendors/$vendor_name/op_impl/cpu/aicpu_kernel/impl + rm -rf ${project_path}/cpukernel/aicpu_kernel_lib +fi diff --git a/precision_Problem/Is_standard/cmake/util/gen_ops_filter.sh b/precision_Problem/Is_standard/cmake/util/gen_ops_filter.sh new file mode 100644 index 0000000..d4c27d1 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/gen_ops_filter.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +# Description: Generate npu_supported_ops.json +# ============================================================================== + +if [[ -z "$1" ]]; then + echo -e "[ERROR] No source dir provided" + exit 1 +fi + +if [[ -z "$2" ]]; then + echo -e "[ERROR] No destination dir provided" + exit 1 +fi + +src=$1 +dest_file=$2/npu_supported_ops.json + +if [ -f "$dest_file" ];then + chmod u+w $dest_file +fi + +echo $* + +add_ops() { + name=$1 + isHeavy=$2 + file=$3 + grep -w "\"$name\"" ${file} >/dev/null + if [ $? == 0 ];then + return + fi + echo " \"${name}\": {" >> ${file} + echo " \"isGray\": false," >> ${file} + echo " \"isHeavy\": ${isHeavy}" >> ${file} + echo " }," >> ${file} +} + +echo "{" > ${dest_file} +ini_files=$(find ${src} -name "*.ini") +for file in ${ini_files} ; do + name=$(grep '^\[' ${file} | sed 's/\[//g' | sed 's/]//g' | sed 's/\r//g') + grep 'heavyOp.flag' ${file} >/dev/null + if [ $? == 0 ];then + isHeavy=$(grep 'heavyOp.flag' ${file} | awk -F= '{print $2}') + else + isHeavy="false" + fi + for op in ${name} ; do + add_ops ${op} "false" ${dest_file} + done +done +echo "}" >> ${dest_file} +file_count=$(cat ${dest_file} | wc -l) +line=$(($file_count-1)) +sed -i "${line}{s/,//g}" ${dest_file} + +chmod 640 "${dest_file}" +echo -e "[INFO] Succed generated ${dest_file}" + +exit 0 + diff --git a/precision_Problem/Is_standard/cmake/util/gen_version_info.sh b/precision_Problem/Is_standard/cmake/util/gen_version_info.sh new file mode 100644 index 0000000..a06cfc7 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/gen_version_info.sh @@ -0,0 +1,6 @@ +ascend_install_dir=$1 +gen_file_dir=$2 + +# create version.info +compiler_version=$(grep "Version" -w ${ascend_install_dir}/compiler/version.info | awk -F = '{print $2}') +echo "custom_opp_compiler_version=${compiler_version}" > ${gen_file_dir}/version.info \ No newline at end of file diff --git a/precision_Problem/Is_standard/cmake/util/insert_op_info.py b/precision_Problem/Is_standard/cmake/util/insert_op_info.py new file mode 100644 index 0000000..28ba087 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/insert_op_info.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" +import json +import os +import sys +import stat +import const_var + + +if __name__ == '__main__': + if len(sys.argv) != 3: + print(sys.argv) + print('argv error, inert_op_info.py your_op_file lib_op_file') + sys.exit(2) + + with open(sys.argv[1], 'r') as load_f: + insert_operator = json.load(load_f) + + all_operators = {} + if os.path.exists(sys.argv[2]): + if os.path.getsize(sys.argv[2]) != 0: + with open(sys.argv[2], 'r') as load_f: + all_operators = json.load(load_f) + + for k in insert_operator.keys(): + if k in all_operators.keys(): + print('replace op:[', k, '] success') + else: + print('insert op:[', k, '] success') + all_operators[k] = insert_operator[k] + + with os.fdopen(os.open(sys.argv[2], const_var.WFLAGS, const_var.WMODES), 'w') as json_file: + json_file.write(json.dumps(all_operators, indent=4)) diff --git a/precision_Problem/Is_standard/cmake/util/insert_simplified_keys.py b/precision_Problem/Is_standard/cmake/util/insert_simplified_keys.py new file mode 100644 index 0000000..7e8dc2c --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/insert_simplified_keys.py @@ -0,0 +1,242 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" + +import os +import re +import glob +import json +import argparse + + +DATA_TPYE_DICT = { + 'float32': 0, + 'float16': 1, + 'int8': 2, + 'int16': 6, + 'uint16': 7, + 'uint8': 4, + 'int32': 3, + 'int64': 9, + 'uint32': 8, + 'uint64': 10, + 'bool': 12, + 'double': 11, + 'complex64': 16, + 'complex128': 17, + 'qint8': 18, + 'qint16': 19, + 'qint32': 20, + 'quint8': 21, + 'quint16': 22, + 'resource': 23, + 'string': 24, + 'dual': 25, + 'variant': 26, + 'bf16': 27, + 'bfloat16': 27, + 'undefined': 28, + 'int4': 29, + 'uint1': 30, + 'int2': 31 +} + +FORMAT_DICT = { + 'NCHW': 0, + 'NHWC': 1, + 'ND': 2, + 'NC1HWC0': 3, + 'FRACTAL_Z': 4, + 'NC1C0HWPAD': 5, + 'NHWC1C0': 6, + 'FSR_NCHW': 7, + 'FRACTAL_DECONV': 8, + 'C1HWNC0': 9, + 'FRACTAL_DECONV_TRANSPOSE': 10, + 'FRACTAL_DECONV_SP_STRIDE_TRANS': 11, + 'NC1HWC0_C04': 12, + 'FRACTAL_Z_C04': 13, + 'CHWN': 14, + 'FRACTAL_DECONV_SP_STRIDE8_TRANS': 15, + 'HWCN': 16, + 'NC1KHKWHWC0': 17, + 'BN_WEIGHT': 18, + 'FILTER_HWCK': 19, + 'HASHTABLE_LOOKUP_LOOKUPS': 20, + 'HASHTABLE_LOOKUP_KEYS': 21, + 'HASHTABLE_LOOKUP_VALUE': 22, + 'HASHTABLE_LOOKUP_OUTPUT': 23, + 'HASHTABLE_LOOKUP_HITS': 24, + 'C1HWNCoC0': 25, + 'MD': 26, + 'NDHWC': 27, + 'FRACTAL_ZZ': 28, + 'FRACTAL_NZ': 29, + 'NCDHW': 30, + 'DHWCN': 31, + 'NDC1HWC0': 32, + 'FRACTAL_Z_3D': 33, + 'CN': 34, + 'NC': 35, + 'DHWNC': 36, + 'FRACTAL_Z_3D_TRANSPOSE': 37, + 'FRACTAL_ZN_LSTM': 38, + 'FRACTAL_Z_G': 39, + 'RESERVED': 40, + 'ALL': 41, + 'NULL': 42, + 'ND_RNN_BIAS': 43, + 'FRACTAL_ZN_RNN': 44, + 'NYUV': 45, + 'NYUV_A': 46 +} + + +def load_json(json_file: str): + with open(json_file, encoding='utf-8') as file: + json_content = json.load(file) + return json_content + + +def get_specified_suffix_file(root_dir, suffix): + specified_suffix = os.path.join(root_dir, '**/*.{}'.format(suffix)) + all_suffix_files = glob.glob(specified_suffix, recursive=True) + return all_suffix_files + + +def get_deterministic_value(support_info): + deterministic_key = 'deterministic' + if deterministic_key not in support_info: + return 0 + deterministic_value = support_info.get(deterministic_key) + if deterministic_value == 'true': + return 1 + else: + return 0 + + +def get_precision_value(support_info): + precision_key = 'implMode' + precision_value = support_info.get(precision_key) + if precision_value == 'high_performance': + _value = 1 + elif precision_value == 'high_precision': + _value = 2 + else: + _value = 0 + return _value + + +def get_overflow_value(support_info): + return 0 + + +def get_parameters(info): + if info: + if 'dtype' in info: + data_type = info['dtype'] + data_type_value = DATA_TPYE_DICT.get(data_type) + else: + data_type_value = 0 + if 'format' in info: + _format = info['format'] + _format_value = FORMAT_DICT.get(_format) + else: + _format_value = 0 + else: + data_type_value = 0 + _format_value = 0 + return str(data_type_value), str(_format_value) + + +def get_dynamic_parameters(info): + # 动态输入时只需获取第一个参数 + return get_parameters(info[0]) + + +def get_all_parameters(support_info, _type): + result_list = list() + info_lists = support_info.get(_type) + if info_lists: + for _info in info_lists: + # 输入为列表时是动态输入 + if isinstance(_info, (list, tuple)): + data_type_value, _format_value = get_dynamic_parameters(_info) + else: + data_type_value, _format_value = get_parameters(_info) + result_list.append("{},{}".format(data_type_value, _format_value)) + return result_list + + +def get_all_input_parameters(support_info): + result = get_all_parameters(support_info, 'inputs') + return '/'.join(result) + + +def insert_content_into_file(input_file, content): + with open(input_file, 'r+') as file: + lines = file.readlines() + for index, line in enumerate(lines): + match_result = re.search(r'"staticKey":', line) + if match_result: + count = len(line) - len(line.lstrip()) + new_content = "{}{}".format(' ' * count, content) + # 插入到前一行,防止插入最后时还需要考虑是否添加逗号 + lines.insert(index, new_content) + break + file.seek(0) + file.write(''.join(lines)) + + +def insert_simplified_keys(json_file): + contents = load_json(json_file) + # 不存在'binFileName'或者'supportInfo'字段时,非需要替换的解析json文件 + if ('binFileName' not in contents) or ('supportInfo' not in contents): + return + support_info = contents.get('supportInfo') + bin_file_name = contents.get('binFileName') + # 'simplifiedKey'字段已经存在时,直接返回,不重复生成 + if 'simplifiedKey' in support_info: + return + op_type = bin_file_name.split('_')[0] + deterministic = str(get_deterministic_value(support_info)) + precision = str(get_precision_value(support_info)) + overflow = str(get_overflow_value(support_info)) + input_parameters = get_all_input_parameters(support_info) + key = '{}/d={},p={},o={}/{}/'.format( + op_type, + deterministic, + precision, + overflow, + input_parameters) + result = '"simplifiedKey": "' + key + '",\n' + insert_content_into_file(json_file, result) + + +def insert_all_simplified_keys(root_dir): + suffix = 'json' + all_json_files = get_specified_suffix_file(root_dir, suffix) + for _json in all_json_files: + insert_simplified_keys(_json) + + +def args_prase(): + parser = argparse.ArgumentParser() + parser.add_argument('-p', + '--path', + nargs='?', + required=True, + help='Parse the path of the json file.') + return parser.parse_args() + + +def main(): + args = args_prase() + insert_all_simplified_keys(args.path) + + +if __name__ == '__main__': + main() diff --git a/precision_Problem/Is_standard/cmake/util/kernel_entry.py b/precision_Problem/Is_standard/cmake/util/kernel_entry.py new file mode 100644 index 0000000..2b77c97 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/kernel_entry.py @@ -0,0 +1,115 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" + + +def gen_fun_def(title, kernel, argn, arg_type, arg_name): + entry = [] + entry.append(title) + entry.append(kernel) + entry.append('(') + args = [] + for i in range(0, argn): + args.append(arg_type + ' ' + arg_name + str(i)) + entry.append(', '.join(args)) + entry.append(')') + return ' '.join(entry) + + +def gen_batch_kernel_body(fname, argn, arg_name): + body = [] + body.append('{') + fun = [] + fun.append(fname) + fun.append('(') + args = [] + for i in range(0, argn): + args.append(arg_name + str(i)) + fun.append(', '.join(args)) + fun.append(');') + body.append(' '.join(fun)) + body.append('}') + return '\n'.join(body) + + +def gen_mc_kernel_body(kn, argn, arg_name, blknum): + body = [] + body.append('{') + body.append(' switch(block_idx) {') + for blk in range(0, blknum): + fun = [] + fun.append('{}_blk{:02d}'.format(kn, blk)) + fun.append('(') + args = [] + for i in range(0, argn): + args.append(arg_name + str(i)) + fun.append(', '.join(args)) + fun.append(')') + body.append(' case {}: {}; break;'.format(blk, ' '.join(fun))) + body.append(' default: break;') + body.append(' }') + body.append('}') + return '\n'.join(body) + + +def gen_proc_body(argn, arg_name): + body = [] + body.append('{') + args = [] + for i in range(0, argn): + args.append(arg_name + str(i)) + body.append('uint64_t __x = (uint64_t)' + ' + (uint64_t)'.join(args) + ';') + body.append('__asm__ ("NOP");') + body.append('__asm__ ("NOP");') + body.append('__asm__ ("NOP");') + body.append('}') + return '\n'.join(body) + + +def batch_code_gen(kn, argn, argt): + codes = [] + kernel_name = kn + proc_name = kernel_name + '_percore' + arg_num = int(argn) + data_type = argt + arg_type = '__gm__ ' + data_type + '* __restrict__' + arg_name = 'arg' + kernel_title = 'extern \"C\" __global__ __aicore__ void' + proc_title = 'extern \"C\" __attribute__((noinline)) __aicore__ void' + codes.append('#ifndef __aicore__') + codes.append('#define __aicore__ [aicore]') + codes.append('#endif') + codes.append(gen_fun_def(proc_title, proc_name, arg_num, arg_type, arg_name) + ';') + codes.append(gen_fun_def(kernel_title, kernel_name, arg_num, arg_type, arg_name)) + codes.append(gen_batch_kernel_body(proc_name, arg_num, arg_name)) + codes.append(gen_fun_def(proc_title, proc_name, arg_num, arg_type, arg_name)) + codes.append(gen_proc_body(arg_num, arg_name)) + return '\n'.join(codes) + '\n' + + +def mc_code_gen(kn, argn, argt, blknum): + codes = [] + kernel_name = kn + core_num = int(blknum) + arg_num = int(argn) + data_type = argt + arg_type = '__gm__ ' + data_type + '* __restrict__' + arg_name = 'arg' + kernel_title = 'extern \"C\" __global__ __aicore__ void' + proc_title = 'extern \"C\" __attribute__((noinline)) __aicore__ void' + codes.append('#ifndef __aicore__') + codes.append('#define __aicore__ [aicore]') + codes.append('#endif') + for i in range(0, core_num): + proc_name = '{}_blk{:02d}'.format(kernel_name, i) + codes.append(gen_fun_def(proc_title, proc_name, arg_num, arg_type, arg_name) + ';') + codes.append(gen_fun_def(kernel_title, kernel_name, arg_num, arg_type, arg_name)) + codes.append(gen_mc_kernel_body(kernel_name, arg_num, arg_name, core_num)) + for i in range(0, core_num): + proc_name = '{}_blk{:02d}'.format(kernel_name, i) + codes.append(gen_fun_def(proc_title, proc_name, arg_num, arg_type, arg_name)) + codes.append(gen_proc_body(arg_num, arg_name)) + return '\n'.join(codes) + '\n' diff --git a/precision_Problem/Is_standard/cmake/util/kernel_impl.temp b/precision_Problem/Is_standard/cmake/util/kernel_impl.temp new file mode 100644 index 0000000..5079a10 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/kernel_impl.temp @@ -0,0 +1,10 @@ +#include +#include +#include +#include +#include +#include "replay_def.h" +#include "code_gen.h" +#include "replay_fun.h" +#define __ASCENDC_REPLAY_CODE__ +#include "__CCE_FILE__" diff --git a/precision_Problem/Is_standard/cmake/util/makeself/COPYING b/precision_Problem/Is_standard/cmake/util/makeself/COPYING new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/makeself/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/precision_Problem/Is_standard/cmake/util/makeself/README.md b/precision_Problem/Is_standard/cmake/util/makeself/README.md new file mode 100644 index 0000000..b41f016 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/makeself/README.md @@ -0,0 +1,246 @@ +[![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) +![Build Status](https://github.com/megastep/makeself/workflows/CI/badge.svg) + +# makeself - Make self-extractable archives on Unix + +[makeself.sh][1] is a small shell script that generates a self-extractable +compressed tar archive from a directory. The resulting file appears as a shell script +(many of those have a **.run** suffix), and can be launched as is. The archive +will then uncompress itself to a temporary directory and an optional arbitrary +command will be executed (for example an installation script). This is pretty +similar to archives generated with WinZip Self-Extractor in the Windows world. +Makeself archives also include checksums for integrity self-validation (CRC +and/or MD5/SHA256 checksums). + +The makeself.sh script itself is used only to create the archives from a +directory of files. The resultant archive is actually a compressed (using +gzip, bzip2, or compress) TAR archive, with a small shell script stub at the +beginning. This small stub performs all the steps of extracting the files, +running the embedded command, and removing the temporary files when done. +All the user has to do to install the software contained in such an +archive is to "run" the archive, i.e **sh nice-software.run**. I recommend +using the ".run" (which was introduced by some Makeself archives released by +Loki Software) or ".sh" suffix for such archives not to confuse the users, +so that they will know they are actually shell scripts (with quite a lot of binary data +attached to them though!). + +I am trying to keep the code of this script as portable as possible, i.e it is +not relying on any bash-specific features and only calls commands that are +installed on any functioning UNIX-compatible system. This script as well as +the archives it generates should run on any Unix flavor, with any compatible +Bourne shell, provided of course that the compression programs are available. + +As of version 2.1, Makeself has been rewritten and tested on the following +platforms : + + * Linux (all distributions) + * Sun Solaris (8 and above) + * HP-UX (tested on 11.0 and 11i on HPPA RISC) + * SCO OpenUnix and OpenServer + * IBM AIX 5.1L + * macOS (Darwin) + * SGI IRIX 6.5 + * FreeBSD + * UnicOS / Cray + * Cygwin (Windows) + +If you successfully run Makeself and/or archives created with it on another +system, then please [let me know][2]! + +Examples of publicly available archives made using makeself are : + + * Game patches and installers for [Id Software][3] games like Quake 3 for Linux or Return To Castle Wolfenstein ; + * All game patches released by [Loki Software][4] for the Linux version of popular games ; + * The [nVidia drivers][5] for Linux + * The installer for the Linux version of [Google Earth][6] + * The [VirtualBox][7] installers for Linux + * The [Makeself][1] distribution itself ;-) + * and countless others... + +**Important note for Apache users:** By default, most Web servers will think that Makeself archives are regular text files and thus they may show up as text in a Web browser. The correct way to prevent this is to add a MIME type for this file format, like so (in httpd.conf) : + +`AddType application/x-makeself .run` + +**Important note for certain GNU/Linux distributions:** Archives created with Makeself prior to v2.1.2 were using an old syntax for the _head_ and _tail_ Unix commands that is being progressively obsoleted in their GNU forms. Therefore you may have problems uncompressing some of these archives. A workaround for this is to set the environment variable $_POSIX2_VERSION to enable the old syntax, i.e. : + +`export _POSIX2_VERSION=199209` + +## Usage + +The syntax of makeself is the following: + +``` +makeself.sh [args] archive_dir file_name label startup_script [script_args] +``` + + * _args_ are optional options for Makeself. The available ones are : + + * **`--version`** : Prints the version number on stdout, then exits immediately + * **`--gzip`** : Use gzip for compression (the default on platforms on which gzip is commonly available, like Linux) + * **`--bzip2`** : Use bzip2 instead of gzip for better compression. The bzip2 command must be available in the command path. It is recommended that the archive prefix be set to something like '.bz2.run', so that potential users know that they'll need bzip2 to extract it. + * **`--pbzip2`** : Use pbzip2 instead of gzip for better and faster compression on machines having multiple CPUs. The pbzip2 command must be available in the command path. It is recommended that the archive prefix be set to something like '.bz2.run', so that potential users know that they'll need bzip2 to extract it. + * **`--xz`** : Use xz instead of gzip for better compression. The xz command must be available in the command path. It is recommended that the archive prefix be set to something like '.xz.run' for the archive, so that potential users know that they'll need xz to extract it. + * **`--lzo`** : Use lzop instead of gzip for better compression. The lzop command must be available in the command path. It is recommended that the archive prefix be set to something like `.lzo.run` for the archive, so that potential users know that they'll need lzop to extract it. + * **`--lz4`** : Use lz4 instead of gzip for better compression. The lz4 command must be available in the command path. It is recommended that the archive prefix be set to something like '.lz4.run' for the archive, so that potential users know that they'll need lz4 to extract it. + * **`--zstd`** : Use zstd instead of gzip for better compression. The zstd command must be available in the command path. It is recommended that the archive prefix be set to something like '.zstd.run' for the archive, so that potential users know that they'll need zstd to extract it. + * **`--pigz`** : Use pigz for compression. + * **`--base64`** : Encode the archive to ASCII in Base64 format instead of compressing (base64 command required). + * **`--gpg-encrypt`** : Encrypt the archive using `gpg -ac -z $COMPRESS_LEVEL`. This will prompt for a password to encrypt with. Assumes that potential users have `gpg` installed. + * **`--ssl-encrypt`** : Encrypt the archive using `openssl aes-256-cbc -a -salt`. This will prompt for a password to encrypt with. Assumes that the potential users have the OpenSSL tools installed. + * **`--compress`** : Use the UNIX `compress` command to compress the data. This should be the default on all platforms that don't have gzip available. + * **`--nocomp`** : Do not use any compression for the archive, which will then be an uncompressed TAR. + * **`--complevel`** : Specify the compression level for gzip, bzip2, pbzip2, zstd, xz, lzo or lz4. (defaults to 9) + * **`--threads`** : Specify the number of threads to be used by compressors that support parallelization. Omit to use compressor's default. Most useful (and required) for opting into xz's threading, usually with `--threads=0` for all available cores. pbzip2 and pigz are parallel by default, and setting this value allows limiting the number of threads they use. + * **`--notemp`** : The generated archive will not extract the files to a temporary directory, but in a new directory created in the current directory. This is better to distribute software packages that may extract and compile by themselves (i.e. launch the compilation through the embedded script). + * **`--current`** : Files will be extracted to the current directory, instead of in a subdirectory. This option implies `--notemp` above. + * **`--follow`** : Follow the symbolic links inside of the archive directory, i.e. store the files that are being pointed to instead of the links themselves. + * **`--append`** _(new in 2.1.x)_: Append data to an existing archive, instead of creating a new one. In this mode, the settings from the original archive are reused (compression type, label, embedded script), and thus don't need to be specified again on the command line. + * **`--header`** : Makeself uses a separate file to store the header stub, called `makeself-header.sh`. By default, it is assumed that it is stored in the same location as makeself.sh. This option can be used to specify its actual location if it is stored someplace else. + * **`--cleanup`** : Specify a script that is run when execution is interrupted or finishes successfully. The script is executed with the same environment and initial `script_args` as `startup_script`. + * **`--copy`** : Upon extraction, the archive will first extract itself to a temporary directory. The main application of this is to allow self-contained installers stored in a Makeself archive on a CD, when the installer program will later need to unmount the CD and allow a new one to be inserted. This prevents "Filesystem busy" errors for installers that span multiple CDs. + * **`--nox11`** : Disable the automatic spawning of a new terminal in X11. + * **`--nowait`** : When executed from a new X11 terminal, disable the user prompt at the end of the script execution. + * **`--nomd5`** and **`--nocrc`** : Disable the creation of a MD5 / CRC checksum for the archive. This speeds up the extraction process if integrity checking is not necessary. + * **`--sha256`** : Adds a SHA256 checksum for the archive. This is in addition to the MD5 / CRC checksums unless `--nomd5` is also used. + * **`--lsm` _file_** : Provide and LSM file to makeself, that will be embedded in the generated archive. LSM files are describing a software package in a way that is easily parseable. The LSM entry can then be later retrieved using the `--lsm` argument to the archive. An example of a LSM file is provided with Makeself. + * **`--tar-format opt`** : Specify the tar archive format (default is ustar); you may use any value accepted by your tar command (such as posix, v7, etc). + * **`--tar-extra opt`** : Append more options to the tar command line. + + For instance, in order to exclude the `.git` directory from the packaged archive directory using the GNU `tar`, one can use `makeself.sh --tar-extra "--exclude=.git" ...` + + * **`--keep-umask`** : Keep the umask set to shell default, rather than overriding when executing self-extracting archive. + * **`--packaging-date date`** : Use provided string as the packaging date instead of the current date. + * **`--license`** : Append a license file. + * **`--nooverwrite`** : Do not extract the archive if the specified target directory already exists. + * **`--help-header file`** : Add a header to the archive's `--help` output. + * `archive_dir` is the name of the directory that contains the files to be archived + * `file_name` is the name of the archive to be created + * `label` is an arbitrary text string describing the package. It will be displayed while extracting the files. + * `startup_script` is the command to be executed _from within_ the directory of extracted files. Thus, if you wish to execute a program contained in this directory, you must prefix your command with `./`. For example, `./program` will be fine. The `script_args` are additional arguments for this command. + +Here is an example, assuming the user has a package image stored in a **/home/joe/mysoft**, and he wants to generate a self-extracting package named +**mysoft.sh**, which will launch the "setup" script initially stored in /home/joe/mysoft : + +`makeself.sh /home/joe/mysoft mysoft.sh "Joe's Nice Software Package" ./setup +` + +Here is also how I created the [makeself.run][9] archive which contains the Makeself distribution : + +`makeself.sh --notemp makeself makeself.run "Makeself by Stephane Peter" echo "Makeself has extracted itself" ` + +Archives generated with Makeself can be passed the following arguments: + + * **`--keep`** : Prevent the files to be extracted in a temporary directory that will be removed after the embedded script's execution. The files will then be extracted in the current working directory and will stay here until you remove them. + * **`--verbose`** : Will prompt the user before executing the embedded command + * **`--target dir`** : Allows to extract the archive in an arbitrary place. + * **`--nox11`** : Do not spawn a X11 terminal. + * **`--confirm`** : Prompt the user for confirmation before running the embedded command. + * **`--info`** : Print out general information about the archive (does not extract). + * **`--lsm`** : Print out the LSM entry, if it is present. + * **`--list`** : List the files in the archive. + * **`--check`** : Check the archive for integrity using the embedded checksums. Does not extract the archive. + * **`--nochown`** : By default, a `chown -R` command is run on the target directory after extraction, so that all files belong to the current user. This is mostly needed if you are running as root, as tar will then try to recreate the initial user ownerships. You may disable this behavior with this flag. + * **`--tar`** : Run the tar command on the contents of the archive, using the following arguments as parameter for the command. + * **`--noexec`** : Do not run the embedded script after extraction. + * **`--noexec-cleanup`** : Do not run the embedded cleanup script. + * **`--nodiskspace`** : Do not check for available disk space before attempting to extract. + * **`--cleanup-args`** : Specify arguments to be passed to the cleanup script. Wrap value in quotes to specify multiple arguments. + +Any subsequent arguments to the archive will be passed as additional arguments to the embedded command. You must explicitly use the `--` special command-line construct before any such options to make sure that Makeself will not try to interpret them. + +## Startup Script + +The startup script must be a regular Shell script. + +Within the startup script, you can use the `$USER_PWD` variable to get the path of the folder from which the self-extracting script is executed. This is especially useful to access files that are located in the same folder as the script, as shown in the example below. + +`my-self-extracting-script.sh --fooBarFileParameter foo.bar` + +## Building and Testing + +Clone the git repo and execute `git submodule update --init --recursive` to obtain all submodules. + +* To make a release: `make` +* To run all tests: `make test` + +## Maven Usage + +Makeself is now supported by the following maven plugin [makeself-maven-plugin](https://github.com/hazendaz/makeself-maven-plugin). Please refer to project for usage and report any bugs in regards to maven plugin on that project. + +## License + +Makeself itself is covered by the [GNU General Public License][8] (GPL) version 2 and above. Archives generated by Makeself don't have to be placed under this license (although I encourage it ;-)), since the archive itself is merely data for Makeself. + +## Contributing + +I will gladly consider merging your pull requests on the [GitHub][10] repository. However, please keep the following in mind: + + * One of the main purposes of Makeself is portability. Do not submit patches that will break supported platforms. The more platform-agnostic, the better. + * Please explain clearly what the purpose of the patch is, and how you achieved it. + +## Download + +Get the latest official distribution [here][9] (version 2.4.2). + +The latest development version can be grabbed from [GitHub][10]. Feel free to submit any patches there through the fork and pull request process. + +## Version history + + * **v1.0:** Initial public release + * **v1.1:** The archive can be passed parameters that will be passed on to the embedded script, thanks to John C. Quillan + * **v1.2:** Cosmetic updates, support for bzip2 compression and non-temporary archives. Many ideas thanks to Francois Petitjean. + * **v1.3:** More patches from Bjarni R. Einarsson and Francois Petitjean: Support for no compression (`--nocomp`), script is no longer mandatory, automatic launch in an xterm, optional verbose output, and -target archive option to indicate where to extract the files. + * **v1.4:** Many patches from Francois Petitjean: improved UNIX compatibility, automatic integrity checking, support of LSM files to get info on the package at run time.. + * **v1.5.x:** A lot of bugfixes, and many other patches, including automatic verification through the usage of checksums. Version 1.5.5 was the stable release for a long time, even though the Web page didn't get updated ;-). Makeself was also officially made a part of the [Loki Setup installer][11], and its source is being maintained as part of this package. + * **v2.0:** Complete internal rewrite of Makeself. The command-line parsing was vastly improved, the overall maintenance of the package was greatly improved by separating the stub from makeself.sh. Also Makeself was ported and tested to a variety of Unix platforms. + * **v2.0.1:** First public release of the new 2.0 branch. Prior versions are officially obsoleted. This release introduced the `--copy` argument that was introduced in response to a need for the [UT2K3][12] Linux installer. + * **v2.1.0:** Big change : Makeself can now support multiple embedded tarballs, each stored separately with their own checksums. An existing archive can be updated with the `--append` flag. Checksums are also better managed, and the `--nochown` option for archives appeared. + * **v2.1.1:** Fixes related to the Unix compression (compress command). Some Linux distributions made the insane choice to make it unavailable, even though gzip is capable of uncompressing these files, plus some more bugfixes in the extraction and checksum code. + * **v2.1.2:** Some bug fixes. Use head -n to avoid problems with POSIX conformance. + * **v2.1.3:** Bug fixes with the command line when spawning terminals. Added `--tar`, `--noexec` for archives. Added `--nomd5` and `--nocrc` to avoid creating checksums in archives. The embedded script is now run through "eval". The `--info` output now includes the command used to create the archive. A man page was contributed by Bartosz Fenski. + * **v2.1.4:** Fixed `--info` output. Generate random directory name when extracting files to . to avoid problems. Better handling of errors with wrong permissions for the directory containing the files. Avoid some race conditions, Unset the $CDPATH variable to avoid problems if it is set. Better handling of dot files in the archive directory. + * **v2.1.5:** Made the md5sum detection consistent with the header code. Check for the presence of the archive directory. Added `--encrypt` for symmetric encryption through gpg (Eric Windisch). Added support for the digest command on Solaris 10 for MD5 checksums. Check for available disk space before extracting to the target directory (Andreas Schweitzer). Allow extraction to run asynchronously (patch by Peter Hatch). Use file descriptors internally to avoid error messages (patch by Kay Tiong Khoo). + * **v2.1.6:** Replaced one dot per file progress with a realtime progress percentage and a spinning cursor. Added `--noprogress` to prevent showing the progress during the decompression. Added `--target` dir to allow extracting directly to a target directory. (Guy Baconniere) + * **v2.2.0:** First major new release in years! Includes many bugfixes and user contributions. Please look at the [project page on Github][10] for all the details. + * **v2.3.0:** Support for archive encryption via GPG or OpenSSL. Added LZO and LZ4 compression support. Options to set the packaging date and stop the umask from being overriden. Optionally ignore check for available disk space when extracting. New option to check for root permissions before extracting. + * **v2.3.1:** Various compatibility updates. Added unit tests for Travis CI in the GitHub repo. New `--tar-extra`, `--untar-extra`, `--gpg-extra`, `--gpg-asymmetric-encrypt-sign` options. + * **v2.4.0:** Added optional support for SHA256 archive integrity checksums. + * **v2.4.2:** New --cleanup and --cleanup-args arguments for cleanup scripts. Added threading support for supported compressors. Now supports zstd compression. + * **v2.4.3:** Make explicit POSIX tar archives for increased compatibility. + * **v2.4.4:** Fixed various compatibility issues (no longer use POSIX tar archives), Github Actions to check on Solaris and FreeBSD. + * **v2.4.5:** Added `--tar-format` option to set the tar archive format (default is ustar) + +## Links + + * Check out the ["Loki Setup"][11] installer, used to install many Linux games and other applications, and of which I am the co-author. Since the demise of Loki, I am now the official maintainer of the project, and it is now being hosted here on GitHub. + * Bjarni R. Einarsson also wrote the **setup.sh** installer script, inspired by Makeself. [Check it out !][14] + +## Contact + +This script was written by [Stéphane Peter][15] (megastep at megastep.org). Any enhancements and suggestions are welcome. + +Contributions were included from John C. Quillan, Bjarni R. Einarsson, +Francois Petitjean, Ryan C. Gordon, and many contributors on GitHub. If you think I forgot +your name, don't hesitate to contact me. + +This project is now hosted on GitHub. Feel free to submit patches and bug reports on the [project page][10]. + +* * * + +[Stephane Peter][2] + + [1]: http://makeself.io/ + [2]: mailto:megastep@megastep.org + [3]: http://www.idsoftware.com/ + [4]: http://www.lokigames.com/products/myth2/updates.php3 + [5]: http://www.nvidia.com/ + [6]: http://earth.google.com/ + [7]: http://www.virtualbox.org/ + [8]: http://www.gnu.org/copyleft/gpl.html + [9]: https://github.com/megastep/makeself/releases/download/release-2.4.5/makeself-2.4.5.run + [10]: https://github.com/megastep/makeself + [11]: https://github.com/megastep/loki_setup/ + [12]: http://www.unrealtournament2003.com/ + [13]: http://www.icculus.org/ + [14]: http://bre.klaki.net/programs/setup.sh/ + [15]: https://stephanepeter.com/ diff --git a/precision_Problem/Is_standard/cmake/util/makeself/VERSION b/precision_Problem/Is_standard/cmake/util/makeself/VERSION new file mode 100644 index 0000000..59aa62c --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/makeself/VERSION @@ -0,0 +1 @@ +2.4.5 diff --git a/precision_Problem/Is_standard/cmake/util/makeself/make-release.sh b/precision_Problem/Is_standard/cmake/util/makeself/make-release.sh new file mode 100644 index 0000000..b5692d4 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/makeself/make-release.sh @@ -0,0 +1,9 @@ +#!/bin/sh +# +# Create a distributable archive of the current version of Makeself + +VER=`cat VERSION` +mkdir -p /tmp/makeself-$VER release +cp -pPR makeself* test README.md COPYING VERSION .gitmodules /tmp/makeself-$VER/ +./makeself.sh --notemp /tmp/makeself-$VER release/makeself-$VER.run "Makeself v$VER" echo "Makeself has extracted itself" + diff --git a/precision_Problem/Is_standard/cmake/util/makeself/makeself-header.sh b/precision_Problem/Is_standard/cmake/util/makeself/makeself-header.sh new file mode 100644 index 0000000..9409031 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/makeself/makeself-header.sh @@ -0,0 +1,660 @@ +cat << EOF > "$archname" +#!/bin/bash +# This script was generated using Makeself $MS_VERSION +# The license covering this archive and its contents, if any, is wholly independent of the Makeself license (GPL) +# 2022.3.19-Modified the MS_Help function and some options +# Huawei Technologies Co., Ltd. + +ORIG_UMASK=\`umask\` + +CRCsum="$CRCsum" +MD5="$MD5sum" +SHA="$SHAsum" +SIGNATURE="$Signature" +TMPROOT=\${TMPDIR:="\$HOME"} +if ! test -d "\$TMPROOT"; then + TMPROOT="\$PWD" +fi +export TMPDIR="\$TMPROOT" +USER_PWD="\$PWD" +if ! test -d "\$USER_PWD"; then + exit 1 +fi +export USER_PWD +ARCHIVE_DIR=\`dirname "\$0"\` +export ARCHIVE_DIR + +name_of_file="\$0 " +pwd_of_file="\$PWD" +label="$LABEL" +script="$SCRIPT" +scriptargs="$SCRIPTARGS" +cleanup_script="${CLEANUP_SCRIPT}" +licensetxt="$LICENSE" +helpheader='$HELPHEADER' +targetdir="$archdirname" +filesizes="$filesizes" +totalsize="$totalsize" +keep="$KEEP" +nooverwrite="$NOOVERWRITE" +quiet="n" +accept="n" +nodiskspace="n" +export_conf="$EXPORT_CONF" +decrypt_cmd="$DECRYPT_CMD" +skip="$SKIP" + +print_cmd_arg="" +if type printf > /dev/null; then + print_cmd="printf" +elif test -x /usr/ucb/echo; then + print_cmd="/usr/ucb/echo" +else + print_cmd="echo" +fi + +if test -d /usr/xpg4/bin; then + PATH=/usr/xpg4/bin:\$PATH + export PATH +fi + +if test -d /usr/sfw/bin; then + PATH=\$PATH:/usr/sfw/bin + export PATH +fi + +unset CDPATH + +MS_Printf() +{ + \$print_cmd \$print_cmd_arg "\$1" +} + +MS_PrintLicense() +{ + PAGER=\${PAGER:=more} + if test x"\$licensetxt" != x; then + PAGER_PATH=\`exec <&- 2>&-; which \$PAGER || command -v \$PAGER || type \$PAGER\` + if test -x "\$PAGER_PATH"; then + echo "\$licensetxt" | \$PAGER + else + echo "\$licensetxt" + fi + if test x"\$accept" != xy; then + while true + do + MS_Printf "Please type y to accept, n otherwise: " + read yn + if test x"\$yn" = xn; then + keep=n + eval \$finish; exit 1 + break; + elif test x"\$yn" = xy; then + break; + fi + done + fi + fi +} + +MS_diskspace() +{ + ( + df -kP "\$1" | tail -1 | awk '{ if (\$4 ~ /%/) {print \$3} else {print \$4} }' + ) +} + +MS_dd() +{ + blocks=\`expr \$3 / 1024\` + bytes=\`expr \$3 % 1024\` + # Test for ibs, obs and conv feature + if dd if=/dev/zero of=/dev/null count=1 ibs=512 obs=512 conv=sync 2> /dev/null; then + dd if="\$1" ibs=\$2 skip=1 obs=1024 conv=sync 2> /dev/null | \\ + { test \$blocks -gt 0 && dd ibs=1024 obs=1024 count=\$blocks ; \\ + test \$bytes -gt 0 && dd ibs=1 obs=1024 count=\$bytes ; } 2> /dev/null + else + dd if="\$1" bs=\$2 skip=1 2> /dev/null + fi +} + +MS_dd_Progress() +{ + if test x"\$noprogress" = xy; then + MS_dd "\$@" + return \$? + fi + file="\$1" + offset=\$2 + length=\$3 + pos=0 + bsize=4194304 + while test \$bsize -gt \$length; do + bsize=\`expr \$bsize / 4\` + done + blocks=\`expr \$length / \$bsize\` + bytes=\`expr \$length % \$bsize\` + ( + dd ibs=\$offset skip=1 2>/dev/null + pos=\`expr \$pos \+ \$bsize\` + MS_Printf " 0%% " 1>&2 + if test \$blocks -gt 0; then + while test \$pos -le \$length; do + dd bs=\$bsize count=1 2>/dev/null + pcent=\`expr \$length / 100\` + pcent=\`expr \$pos / \$pcent\` + if test \$pcent -lt 100; then + MS_Printf "\b\b\b\b\b\b\b" 1>&2 + if test \$pcent -lt 10; then + MS_Printf " \$pcent%% " 1>&2 + else + MS_Printf " \$pcent%% " 1>&2 + fi + fi + pos=\`expr \$pos \+ \$bsize\` + done + fi + if test \$bytes -gt 0; then + dd bs=\$bytes count=1 2>/dev/null + fi + MS_Printf "\b\b\b\b\b\b\b" 1>&2 + MS_Printf " 100%% " 1>&2 + ) < "\$file" +} + +MS_Help() +{ + cat << EOH >&2 +Usage: \$0 [options] +Options: + --help | -h Print this message + --info Print embedded info : title, default target directory, embedded script ... + --list Print the list of files in the archive + --check Checks integrity and version dependency of the archive + --quiet Quiet install mode, skip human-computer interactions + --nox11 Do not spawn an xterm + --noexec Do not run embedded script + --extract= Extract directly to a target directory (absolute or relative) + Usually used with --noexec to just extract files without running + --tar arg1 [arg2 ...] Access the contents of the archive through the tar command +\${helpheader} +EOH +} + +MS_Verify_Sig() +{ + GPG_PATH=\`exec <&- 2>&-; which gpg || command -v gpg || type gpg\` + MKTEMP_PATH=\`exec <&- 2>&-; which mktemp || command -v mktemp || type mktemp\` + test -x "\$GPG_PATH" || GPG_PATH=\`exec <&- 2>&-; which gpg || command -v gpg || type gpg\` + test -x "\$MKTEMP_PATH" || MKTEMP_PATH=\`exec <&- 2>&-; which mktemp || command -v mktemp || type mktemp\` + offset=\`head -n "\$skip" "\$1" | wc -c | tr -d " "\` + temp_sig=\`mktemp -t XXXXX\` + echo \$SIGNATURE | base64 --decode > "\$temp_sig" + gpg_output=\`MS_dd "\$1" \$offset \$totalsize | LC_ALL=C "\$GPG_PATH" --verify "\$temp_sig" - 2>&1\` + gpg_res=\$? + rm -f "\$temp_sig" + if test \$gpg_res -eq 0 && test \`echo \$gpg_output | grep -c Good\` -eq 1; then + if test \`echo \$gpg_output | grep -c \$sig_key\` -eq 1; then + test x"\$quiet" = xn && echo "GPG signature is good" >&2 + else + echo "GPG Signature key does not match" >&2 + exit 2 + fi + else + test x"\$quiet" = xn && echo "GPG signature failed to verify" >&2 + exit 2 + fi +} + +MS_Check() +{ + OLD_PATH="\$PATH" + PATH=\${GUESS_MD5_PATH:-"\$OLD_PATH:/bin:/usr/bin:/sbin:/usr/local/ssl/bin:/usr/local/bin:/opt/openssl/bin"} + MD5_ARG="" + MD5_PATH=\`exec <&- 2>&-; which md5sum || command -v md5sum || type md5sum\` + test -x "\$MD5_PATH" || MD5_PATH=\`exec <&- 2>&-; which md5 || command -v md5 || type md5\` + test -x "\$MD5_PATH" || MD5_PATH=\`exec <&- 2>&-; which digest || command -v digest || type digest\` + PATH="\$OLD_PATH" + + SHA_PATH=\`exec <&- 2>&-; which shasum || command -v shasum || type shasum\` + test -x "\$SHA_PATH" || SHA_PATH=\`exec <&- 2>&-; which sha256sum || command -v sha256sum || type sha256sum\` + + if test x"\$quiet" = xn; then + MS_Printf "Verifying archive integrity..." + fi + offset=\`head -n "\$skip" "\$1" | wc -c | tr -d " "\` + fsize=\`cat "\$1" | wc -c | tr -d " "\` + if test \$totalsize -ne \`expr \$fsize - \$offset\`; then + echo " Unexpected archive size." >&2 + exit 2 + fi + verb=\$2 + i=1 + for s in \$filesizes + do + crc=\`echo \$CRCsum | cut -d" " -f\$i\` + if test -x "\$SHA_PATH"; then + if test x"\`basename \$SHA_PATH\`" = xshasum; then + SHA_ARG="-a 256" + fi + sha=\`echo \$SHA | cut -d" " -f\$i\` + if test x"\$sha" = x0000000000000000000000000000000000000000000000000000000000000000; then + test x"\$verb" = xy && echo " \$1 does not contain an embedded SHA256 checksum." >&2 + else + shasum=\`MS_dd_Progress "\$1" \$offset \$s | eval "\$SHA_PATH \$SHA_ARG" | cut -b-64\`; + if test x"\$shasum" != x"\$sha"; then + echo "Error in SHA256 checksums: \$shasum is different from \$sha" >&2 + exit 2 + elif test x"\$quiet" = xn; then + MS_Printf " SHA256 checksums are OK." >&2 + fi + crc="0000000000"; + fi + fi + if test -x "\$MD5_PATH"; then + if test x"\`basename \$MD5_PATH\`" = xdigest; then + MD5_ARG="-a md5" + fi + md5=\`echo \$MD5 | cut -d" " -f\$i\` + if test x"\$md5" = x00000000000000000000000000000000; then + test x"\$verb" = xy && echo " \$1 does not contain an embedded MD5 checksum." >&2 + else + md5sum=\`MS_dd_Progress "\$1" \$offset \$s | eval "\$MD5_PATH \$MD5_ARG" | cut -b-32\`; + if test x"\$md5sum" != x"\$md5"; then + echo "Error in MD5 checksums: \$md5sum is different from \$md5" >&2 + exit 2 + elif test x"\$quiet" = xn; then + MS_Printf " MD5 checksums are OK." >&2 + fi + crc="0000000000"; verb=n + fi + fi + if test x"\$crc" = x0000000000; then + test x"\$verb" = xy && echo " \$1 does not contain a CRC checksum." >&2 + else + sum1=\`MS_dd_Progress "\$1" \$offset \$s | CMD_ENV=xpg4 cksum | awk '{print \$1}'\` + if test x"\$sum1" != x"\$crc"; then + echo "Error in checksums: \$sum1 is different from \$crc" >&2 + exit 2 + elif test x"\$quiet" = xn; then + MS_Printf " CRC checksums are OK." >&2 + fi + fi + i=\`expr \$i + 1\` + offset=\`expr \$offset + \$s\` + done + if test x"\$quiet" = xn; then + echo " All good." + fi +} + +MS_Decompress() +{ + if test x"\$decrypt_cmd" != x""; then + { eval "\$decrypt_cmd" || echo " ... Decryption failed." >&2; } | eval "$GUNZIP_CMD" + else + eval "$GUNZIP_CMD" + fi + + if test \$? -ne 0; then + echo " ... Decompression failed." >&2 + fi +} + +UnTAR() +{ + if test x"\$quiet" = xn; then + tar \$1vf - $UNTAR_EXTRA 2>&1 || { echo " ... Extraction failed." >&2; kill -15 \$$; } + else + tar \$1f - $UNTAR_EXTRA 2>&1 || { echo Extraction failed. >&2; kill -15 \$$; } + fi +} + +MS_exec_cleanup() { + if test x"\$cleanup" = xy && test x"\$cleanup_script" != x""; then + cleanup=n + cd "\$tmpdir" + eval "\"\$cleanup_script\" \$scriptargs \$cleanupargs" + fi +} + +MS_cleanup() +{ + echo 'Signal caught, cleaning up' >&2 + MS_exec_cleanup + cd "\$TMPROOT" + rm -rf "\$tmpdir" + eval \$finish; exit 15 +} + +Script_Args_Check() +{ + script_supported_args=\$(echo \${helpheader} | grep -o -E "\-\-[^ ]+" | awk -F"=" {'print \$1'}) + arg_to_test=\$(echo \$1|awk -F"=" {'print \$1'}) + + for arg in \${script_supported_args}; + do + if test x"\$arg_to_test" = x"\$arg" ;then + return + fi + done + + MS_Help + exit 1 +} + +finish=true +xterm_loop= +noprogress=$NOPROGRESS +nox11=$NOX11 +copy=$COPY +ownership=$OWNERSHIP +verbose=n +cleanup=y +cleanupargs= +sig_key= + +initargs="\$@" + +while [ -n "\$*" ] +do + case "\$1" in + -h | --help) + MS_Help + exit 0 + ;; + -q | --quiet) + quiet=y + noprogress=y + shift + ;; + --info) + echo Identification: "\$label" + echo Target directory: "\$targetdir" + echo Uncompressed size: $USIZE KB + echo Compression: $COMPRESS + if test x"$ENCRYPT" != x""; then + echo Encryption: $ENCRYPT + fi + echo Date of packaging: $DATE + echo Built with Makeself version $MS_VERSION + echo Build command was: "$MS_COMMAND" + if test x"\$script" != x; then + echo Script run after extraction: + echo " " \$script \$scriptargs + fi + if test x"$copy" = xcopy; then + echo "Archive will copy itself to a temporary location" + fi + if test x"$NEED_ROOT" = xy; then + echo "Root permissions required for extraction" + fi + if test x"$KEEP" = xy; then + echo "directory \$targetdir is permanent" + else + echo "\$targetdir will be removed after extraction" + fi + exit 0 + ;; + --list) + echo Target directory: \$targetdir + offset=\`head -n "\$skip" "\$0" | wc -c | tr -d " "\` + for s in \$filesizes + do + MS_dd "\$0" \$offset \$s | MS_Decompress | UnTAR t + offset=\`expr \$offset + \$s\` + done + exit 0 + ;; + --tar) + offset=\`head -n "\$skip" "\$0" | wc -c | tr -d " "\` + arg1="\$2" + shift 2 || { MS_Help; exit 1; } + for s in \$filesizes + do + MS_dd "\$0" \$offset \$s | MS_Decompress | tar "\$arg1" - "\$@" + offset=\`expr \$offset + \$s\` + done + exit 0 + ;; + --check) + MS_Check "\$0" y + scriptargs="\$scriptargs \$1" + shift + ;; + --noexec) + script="" + cleanup_script="" + shift + ;; + --extract=*) + keep=y + targetdir=\`echo \$1 | cut -d"=" -f2 \` + if ! shift; then MS_Help; exit 1; fi + ;; + --nox11) + nox11=y + shift + ;; + --xwin) + if test "$NOWAIT" = n; then + finish="echo Press Return to close this window...; read junk" + fi + xterm_loop=1 + shift + ;; + --phase2) + copy=phase2 + shift + ;; + --repack | --repack-path=*) + Script_Args_Check \$1 + scriptargs="\$scriptargs '\$1'" + shift + if [[ ! "\$1" =~ ^-.* ]]; then + scriptargs="\$scriptargs '\$1'" + shift + fi + ;; + *) + Script_Args_Check \$1 + scriptargs="\$scriptargs '\$1'" + shift + ;; + esac +done + +quiet_para="" +if test x"\$quiet" = xy; then + quiet_para="--quiet " +fi +scriptargs="--\$name_of_file""--\"\$pwd_of_file\""" \$quiet_para""\$scriptargs" + +if test x"\$quiet" = xy -a x"\$verbose" = xy; then + echo Cannot be verbose and quiet at the same time. >&2 + exit 1 +fi + +if test x"$NEED_ROOT" = xy -a \`id -u\` -ne 0; then + echo "Administrative privileges required for this archive (use su or sudo)" >&2 + exit 1 +fi + +if test x"\$copy" \!= xphase2; then + MS_PrintLicense +fi + +case "\$copy" in +copy) + tmpdir="\$TMPROOT"/makeself.\$RANDOM.\`date +"%y%m%d%H%M%S"\`.\$\$ + mkdir "\$tmpdir" || { + echo "Could not create temporary directory \$tmpdir" >&2 + exit 1 + } + SCRIPT_COPY="\$tmpdir/makeself" + echo "Copying to a temporary location..." >&2 + cp "\$0" "\$SCRIPT_COPY" + chmod +x "\$SCRIPT_COPY" + cd "\$TMPROOT" + exec "\$SCRIPT_COPY" --phase2 -- \$initargs + ;; +phase2) + finish="\$finish ; rm -rf \`dirname \$0\`" + ;; +esac + +if test x"\$nox11" = xn; then + if tty -s; then # Do we have a terminal? + : + else + if test x"\$DISPLAY" != x -a x"\$xterm_loop" = x; then # No, but do we have X? + if xset q > /dev/null 2>&1; then # Check for valid DISPLAY variable + GUESS_XTERMS="xterm gnome-terminal rxvt dtterm eterm Eterm xfce4-terminal lxterminal kvt konsole aterm terminology" + for a in \$GUESS_XTERMS; do + if type \$a >/dev/null 2>&1; then + XTERM=\$a + break + fi + done + chmod a+x \$0 || echo Please add execution rights on \$0 + if test \`echo "\$0" | cut -c1\` = "/"; then # Spawn a terminal! + exec \$XTERM -e "\$0 --xwin \$initargs" + else + exec \$XTERM -e "./\$0 --xwin \$initargs" + fi + fi + fi + fi +fi + +if test x"\$targetdir" = x.; then + tmpdir="." +else + if test x"\$keep" = xy; then + if test x"\$nooverwrite" = xy && test -d "\$targetdir"; then + echo "Target directory \$targetdir already exists, aborting." >&2 + exit 1 + fi + if test x"\$quiet" = xn; then + echo "Creating directory \$targetdir" >&2 + fi + tmpdir="\$targetdir" + dashp="-p" + else + tmpdir="\$TMPROOT/selfgz\$\$\$RANDOM" + dashp="" + fi + mkdir \$dashp "\$tmpdir" || { + echo 'Cannot create target directory' \$tmpdir >&2 + echo 'You should try option --extract=' >&2 + eval \$finish + exit 1 + } +fi + +location="\`pwd\`" +if test x"\$SETUP_NOCHECK" != x1; then + MS_Check "\$0" +fi +offset=\`head -n "\$skip" "\$0" | wc -c | tr -d " "\` + +if test x"\$verbose" = xy; then + MS_Printf "About to extract $USIZE KB in \$tmpdir ... Proceed ? [Y/n] " + read yn + if test x"\$yn" = xn; then + eval \$finish; exit 1 + fi +fi + +if test x"\$quiet" = xn; then + # Decrypting with openssl will ask for password, + # the prompt needs to start on new line + if test x"$ENCRYPT" = x"openssl"; then + echo "Decrypting and uncompressing \$label..." + else + MS_Printf "Uncompressing \$label" + fi +fi +res=3 +if test x"\$keep" = xn; then + trap MS_cleanup 1 2 3 15 +fi + +if test x"\$nodiskspace" = xn; then + leftspace=\`MS_diskspace "\$tmpdir"\` + if test -n "\$leftspace"; then + if test "\$leftspace" -lt $USIZE; then + echo + echo "Not enough space left in "\`dirname \$tmpdir\`" (\$leftspace KB) to decompress \$0 ($USIZE KB)" >&2 + if test x"\$keep" = xn; then + echo "Consider setting TMPDIR to a directory with more free space." + fi + eval \$finish; exit 1 + fi + fi +fi + +for s in \$filesizes +do + if MS_dd_Progress "\$0" \$offset \$s | MS_Decompress | ( cd "\$tmpdir"; umask \$ORIG_UMASK ; UnTAR xp ) 1>/dev/null; then + if test x"\$ownership" = xy; then + (cd "\$tmpdir"; chown -R \`id -u\` .; chgrp -R \`id -g\` .) + fi + else + echo >&2 + echo "Unable to decompress \$0" >&2 + eval \$finish; exit 1 + fi + offset=\`expr \$offset + \$s\` +done +if test x"\$quiet" = xn; then + echo +fi + +cd "\$tmpdir" +res=0 +if test x"\$script" != x; then + if test x"\$export_conf" = x"y"; then + MS_BUNDLE="\$0" + MS_LABEL="\$label" + MS_SCRIPT="\$script" + MS_SCRIPTARGS="\$scriptargs" + MS_ARCHDIRNAME="\$archdirname" + MS_KEEP="\$KEEP" + MS_NOOVERWRITE="\$NOOVERWRITE" + MS_COMPRESS="\$COMPRESS" + MS_CLEANUP="\$cleanup" + export MS_BUNDLE MS_LABEL MS_SCRIPT MS_SCRIPTARGS + export MS_ARCHDIRNAME MS_KEEP MS_NOOVERWRITE MS_COMPRESS + fi + + if test x"\$verbose" = x"y"; then + yn="x" + while test x"\$yn" != x -a x"\$yn" != xy -a x"\$yn" != xY -a x"\$yn" != xn -a x"\$yn" != xN + do + MS_Printf "OK to execute: \$script \$scriptargs \$* ? [Y/n] " + read yn + if test x"\$yn" = x -o x"\$yn" = xy -o x"\$yn" = xY; then + eval "\"\$script\" \$scriptargs \"\\\$@\""; res=\$?; + elif test x"\$yn" = xn -o x"\$yn" = xN; then + echo "Unable to decompress \$script ,because of aborting! ";res=\$? + else + echo "Input value is unacceptable,please try again." + fi + done + else + eval "\"\$script\" \$scriptargs \"\\\$@\""; res=\$? + fi + if test "\$res" -ne 0; then + test x"\$verbose" = xy && echo "The program '\$script' returned an error code (\$res)" >&2 + fi +fi + +MS_exec_cleanup + +if test x"\$keep" = xn; then + cd "\$TMPROOT" + rm -rf "\$tmpdir" +fi +eval \$finish; exit \$res +EOF diff --git a/precision_Problem/Is_standard/cmake/util/makeself/makeself.1 b/precision_Problem/Is_standard/cmake/util/makeself/makeself.1 new file mode 100644 index 0000000..81bf6e4 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/makeself/makeself.1 @@ -0,0 +1,110 @@ +.TH "MAKESELF" "1" "2.4.5" +.SH "NAME" +makeself \- An utility to generate self-extractable archives. +.SH "SYNTAX" +.B makeself [\fIoptions\fP] archive_dir file_name label +.B [\fIstartup_script\fP] [\fIargs\fP] +.SH "DESCRIPTION" +This program is a free (GPL) utility designed to create self-extractable +archives from a directory. +.SH "OPTIONS" +The following options are supported. +.TP 15 +.B -v, --version +Prints out the makeself version number and exits. +.TP +.B -h, --help +Print out help information. +.TP +.B --tar-quietly +Suppress verbose output from the tar command +.TP +.B --quiet +Do not print any messages other than errors +.TP +.B --gzip +Compress using gzip (default if detected). +.TP +.B --bzip2 +Compress using bzip2. +.TP +.B --pbzip2 +Compress using pbzip2. +.TP +.B --xz +Compress using xz. +.TP +.B --lzo +Compress using lzop. +.TP +.B --lz4 +Compress using lz4. +.TP +.B --compress +Compress using the UNIX 'compress' command. +.TP +.B --nocomp +Do not compress the data. +.TP +.B --complevel lvl +Specify the compression level for gzip,bzip2,pbzui2,xz,lzo or lz4 +.TP +.B --notemp +The archive will create archive_dir in the current directory and +uncompress in ./archive_dir. +.TP +.B --copy +Upon extraction, the archive will first copy itself to a temporary directory. +.TP +.B --append +Append more files to an existing makeself archive. The label and startup scripts will then be ignored. +.TP +.B --current +Files will be extracted to the current directory. Both --current and --target dir imply --notemp. +.TP +.B --target dir +Extract directly to a target directory. Directory path can be either absolute or relative. +.TP +.B --header file +Specify location of the header script. +.TP +.B --cleanup file +Specify a cleanup script that executes on interrupt and when finished successfully. +.TP +.B --follow +Follow the symlinks in the archive. +.TP +.B --noprogress +Do not show the progress during the decompression. +.TP +.B --nox11 +Disable automatic spawn of an xterm if running in X11. +.TP +.B --nowait +Do not wait for user input after executing embedded program from an xterm. +.TP +.B --nomd5 +Do not create a MD5 checksum for the archive. +.TP +.B --nocrc +Do not create a CRC32 checksum for the archive. +.TP +.B --lsm file +LSM file describing the package. +.B --packaging-date date +Use provided string as the packaging date instead of the current date. +.SH "EXAMPLES" +Here is an example, assuming the user has a package image stored in a /home/joe/mysoft, +and he wants to generate a self-extracting package named mysoft.sh, which will launch +the "setup" script initially stored in /home/joe/mysoft: +.TP +makeself.sh /home/joe/mysoft mysoft.sh "Joe's Nice Software Package" ./setup +.TP +Here is also how I created the makeself.run archive which contains the Makeself distribution: +.TP +makeself.sh --notemp makeself makeself.run "Makeself by Stephane Peter" echo "Makeself has extracted itself" +.SH "AUTHORS" +Makeself has been written by Stéphane Peter . +.BR +This man page was originally written by Bartosz Fenski for the +Debian GNU/Linux distribution (but it may be used by others). diff --git a/precision_Problem/Is_standard/cmake/util/makeself/makeself.lsm b/precision_Problem/Is_standard/cmake/util/makeself/makeself.lsm new file mode 100644 index 0000000..3c4cea8 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/makeself/makeself.lsm @@ -0,0 +1,16 @@ +Begin3 +Title: makeself.sh +Version: 2.4.5 +Description: makeself.sh is a shell script that generates a self-extractable + tar.gz archive from a directory. The resulting file appears as a shell + script, and can be launched as is. The archive will then uncompress + itself to a temporary directory and an arbitrary command will be + executed (for example an installation script). This is pretty similar + to archives generated with WinZip Self-Extractor in the Windows world. +Keywords: Installation archive tar winzip +Author: Stephane Peter (megastep@megastep.org) +Maintained-by: Stephane Peter (megastep@megastep.org) +Original-site: https://makeself.io/ +Platform: Unix +Copying-policy: GPL +End diff --git a/precision_Problem/Is_standard/cmake/util/makeself/makeself.sh b/precision_Problem/Is_standard/cmake/util/makeself/makeself.sh new file mode 100644 index 0000000..c8ea565 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/makeself/makeself.sh @@ -0,0 +1,822 @@ +#!/bin/sh +# +# Makeself version 2.4.x +# by Stephane Peter +# +# Utility to create self-extracting tar.gz archives. +# The resulting archive is a file holding the tar.gz archive with +# a small Shell script stub that uncompresses the archive to a temporary +# directory and then executes a given script from withing that directory. +# +# Makeself home page: https://makeself.io/ +# +# Version 2.0 is a rewrite of version 1.0 to make the code easier to read and maintain. +# +# Version history : +# - 1.0 : Initial public release +# - 1.1 : The archive can be passed parameters that will be passed on to +# the embedded script, thanks to John C. Quillan +# - 1.2 : Package distribution, bzip2 compression, more command line options, +# support for non-temporary archives. Ideas thanks to Francois Petitjean +# - 1.3 : More patches from Bjarni R. Einarsson and Francois Petitjean: +# Support for no compression (--nocomp), script is no longer mandatory, +# automatic launch in an xterm, optional verbose output, and -target +# archive option to indicate where to extract the files. +# - 1.4 : Improved UNIX compatibility (Francois Petitjean) +# Automatic integrity checking, support of LSM files (Francois Petitjean) +# - 1.5 : Many bugfixes. Optionally disable xterm spawning. +# - 1.5.1 : More bugfixes, added archive options -list and -check. +# - 1.5.2 : Cosmetic changes to inform the user of what's going on with big +# archives (Quake III demo) +# - 1.5.3 : Check for validity of the DISPLAY variable before launching an xterm. +# More verbosity in xterms and check for embedded command's return value. +# Bugfix for Debian 2.0 systems that have a different "print" command. +# - 1.5.4 : Many bugfixes. Print out a message if the extraction failed. +# - 1.5.5 : More bugfixes. Added support for SETUP_NOCHECK environment variable to +# bypass checksum verification of archives. +# - 1.6.0 : Compute MD5 checksums with the md5sum command (patch from Ryan Gordon) +# - 2.0 : Brand new rewrite, cleaner architecture, separated header and UNIX ports. +# - 2.0.1 : Added --copy +# - 2.1.0 : Allow multiple tarballs to be stored in one archive, and incremental updates. +# Added --nochown for archives +# Stopped doing redundant checksums when not necesary +# - 2.1.1 : Work around insane behavior from certain Linux distros with no 'uncompress' command +# Cleaned up the code to handle error codes from compress. Simplified the extraction code. +# - 2.1.2 : Some bug fixes. Use head -n to avoid problems. +# - 2.1.3 : Bug fixes with command line when spawning terminals. +# Added --tar for archives, allowing to give arbitrary arguments to tar on the contents of the archive. +# Added --noexec to prevent execution of embedded scripts. +# Added --nomd5 and --nocrc to avoid creating checksums in archives. +# Added command used to create the archive in --info output. +# Run the embedded script through eval. +# - 2.1.4 : Fixed --info output. +# Generate random directory name when extracting files to . to avoid problems. (Jason Trent) +# Better handling of errors with wrong permissions for the directory containing the files. (Jason Trent) +# Avoid some race conditions (Ludwig Nussel) +# Unset the $CDPATH variable to avoid problems if it is set. (Debian) +# Better handling of dot files in the archive directory. +# - 2.1.5 : Made the md5sum detection consistent with the header code. +# Check for the presence of the archive directory +# Added --encrypt for symmetric encryption through gpg (Eric Windisch) +# Added support for the digest command on Solaris 10 for MD5 checksums +# Check for available disk space before extracting to the target directory (Andreas Schweitzer) +# Allow extraction to run asynchronously (patch by Peter Hatch) +# Use file descriptors internally to avoid error messages (patch by Kay Tiong Khoo) +# - 2.1.6 : Replaced one dot per file progress with a realtime progress percentage and a spining cursor (Guy Baconniere) +# Added --noprogress to prevent showing the progress during the decompression (Guy Baconniere) +# Added --target dir to allow extracting directly to a target directory (Guy Baconniere) +# - 2.2.0 : Many bugfixes, updates and contributions from users. Check out the project page on Github for the details. +# - 2.3.0 : Option to specify packaging date to enable byte-for-byte reproducibility. (Marc Pawlowsky) +# - 2.4.0 : Optional support for SHA256 checksums in archives. +# - 2.4.2 : Add support for threads for several compressors. (M. Limber) +# Added zstd support. +# - 2.4.3 : Make explicit POSIX tar archives for increased compatibility. +# - 2.4.5 : Added --tar-format to override ustar tar archive format +# +# (C) 1998-2021 by Stephane Peter +# +# This software is released under the terms of the GNU GPL version 2 and above +# Please read the license at http://www.gnu.org/copyleft/gpl.html +# Self-extracting archives created with this script are explictly NOT released under the term of the GPL +# + +MS_VERSION=2.4.5 +MS_COMMAND="$0" +unset CDPATH + +for f in ${1+"$@"}; do + MS_COMMAND="$MS_COMMAND \\\\ + \\\"$f\\\"" +done + +# For Solaris systems +if test -d /usr/xpg4/bin; then + PATH=/usr/xpg4/bin:$PATH + export PATH +fi + +# Procedures + +MS_Usage() +{ + echo "Usage: $0 [args] archive_dir file_name label startup_script [script_args]" + echo "args can be one or more of the following :" + echo " --version | -v : Print out Makeself version number and exit" + echo " --help | -h : Print out this help message" + echo " --tar-quietly : Suppress verbose output from the tar command" + echo " --quiet | -q : Do not print any messages other than errors." + echo " --gzip : Compress using gzip (default if detected)" + echo " --pigz : Compress with pigz" + echo " --zstd : Compress with zstd" + echo " --bzip2 : Compress using bzip2 instead of gzip" + echo " --pbzip2 : Compress using pbzip2 instead of gzip" + echo " --xz : Compress using xz instead of gzip" + echo " --lzo : Compress using lzop instead of gzip" + echo " --lz4 : Compress using lz4 instead of gzip" + echo " --compress : Compress using the UNIX 'compress' command" + echo " --complevel lvl : Compression level for gzip pigz zstd xz lzo lz4 bzip2 and pbzip2 (default 9)" + echo " --threads thds : Number of threads to be used by compressors that support parallelization." + echo " Omit to use compressor's default. Most useful (and required) for opting" + echo " into xz's threading, usually with '--threads=0' for all available cores." + echo " pbzip2 and pigz are parallel by default, and setting this value allows" + echo " limiting the number of threads they use." + echo " --base64 : Instead of compressing, encode the data using base64" + echo " --gpg-encrypt : Instead of compressing, encrypt the data using GPG" + echo " --gpg-asymmetric-encrypt-sign" + echo " : Instead of compressing, asymmetrically encrypt and sign the data using GPG" + echo " --gpg-extra opt : Append more options to the gpg command line" + echo " --ssl-encrypt : Instead of compressing, encrypt the data using OpenSSL" + echo " --ssl-passwd pass : Use the given password to encrypt the data using OpenSSL" + echo " --ssl-pass-src src : Use the given src as the source of password to encrypt the data" + echo " using OpenSSL. See \"PASS PHRASE ARGUMENTS\" in man openssl." + echo " If this option is not supplied, the user will be asked to enter" + echo " encryption password on the current terminal." + echo " --ssl-no-md : Do not use \"-md\" option not supported by older OpenSSL." + echo " --nochown : Do not give the target folder to the current user (default)" + echo " --chown : Give the target folder to the current user recursively" + echo " --nocomp : Do not compress the data" + echo " --notemp : The archive will create archive_dir in the" + echo " current directory and uncompress in ./archive_dir" + echo " --needroot : Check that the root user is extracting the archive before proceeding" + echo " --copy : Upon extraction, the archive will first copy itself to" + echo " a temporary directory" + echo " --append : Append more files to an existing Makeself archive" + echo " The label and startup scripts will then be ignored" + echo " --target dir : Extract directly to a target directory" + echo " directory path can be either absolute or relative" + echo " --nooverwrite : Do not extract the archive if the specified target directory exists" + echo " --current : Files will be extracted to the current directory" + echo " Both --current and --target imply --notemp" + echo " --tar-format opt : Specify a tar archive format (default is ustar)" + echo " --tar-extra opt : Append more options to the tar command line" + echo " --untar-extra opt : Append more options to the during the extraction of the tar archive" + echo " --nomd5 : Don't calculate an MD5 for archive" + echo " --nocrc : Don't calculate a CRC for archive" + echo " --sha256 : Compute a SHA256 checksum for the archive" + echo " --header file : Specify location of the header script" + echo " --cleanup file : Specify a cleanup script that executes on interrupt and when finished successfully." + echo " --follow : Follow the symlinks in the archive" + echo " --noprogress : Do not show the progress during the decompression" + echo " --nox11 : Disable automatic spawn of a xterm" + echo " --nowait : Do not wait for user input after executing embedded" + echo " program from an xterm" + echo " --sign passphrase : Signature private key to sign the package with" + echo " --lsm file : LSM file describing the package" + echo " --license file : Append a license file" + echo " --help-header file : Add a header to the archive's --help output" + echo " --packaging-date date" + echo " : Use provided string as the packaging date" + echo " instead of the current date." + echo + echo " --keep-umask : Keep the umask set to shell default, rather than overriding when executing self-extracting archive." + echo " --export-conf : Export configuration variables to startup_script" + echo + echo "Do not forget to give a fully qualified startup script name" + echo "(i.e. with a ./ prefix if inside the archive)." + exit 1 +} + +# Default settings +if type gzip >/dev/null 2>&1; then + COMPRESS=gzip +elif type compress >/dev/null 2>&1; then + COMPRESS=compress +else + echo "ERROR: missing commands: gzip, compress" >&2 + MS_Usage +fi +ENCRYPT=n +PASSWD="" +PASSWD_SRC="" +OPENSSL_NO_MD=n +COMPRESS_LEVEL=9 +DEFAULT_THREADS=123456 # Sentinel value +THREADS=$DEFAULT_THREADS +KEEP=n +CURRENT=n +NOX11=n +NOWAIT=n +APPEND=n +TAR_QUIETLY=n +KEEP_UMASK=n +QUIET=n +NOPROGRESS=n +COPY=none +NEED_ROOT=n +TAR_ARGS=rvf +TAR_FORMAT=ustar +TAR_EXTRA="" +GPG_EXTRA="" +DU_ARGS=-ks +HEADER=`dirname "$0"`/makeself-header.sh +SIGNATURE="" +TARGETDIR="" +NOOVERWRITE=n +DATE=`LC_ALL=C date` +EXPORT_CONF=n +SHA256=n +OWNERSHIP=n +SIGN=n +GPG_PASSPHRASE="" + +# LSM file stuff +LSM_CMD="echo No LSM. >> \"\$archname\"" + +while true +do + case "$1" in + --version | -v) + echo Makeself version $MS_VERSION + exit 0 + ;; + --pbzip2) + COMPRESS=pbzip2 + shift + ;; + --bzip2) + COMPRESS=bzip2 + shift + ;; + --gzip) + COMPRESS=gzip + shift + ;; + --pigz) + COMPRESS=pigz + shift + ;; + --zstd) + COMPRESS=zstd + shift + ;; + --xz) + COMPRESS=xz + shift + ;; + --lzo) + COMPRESS=lzo + shift + ;; + --lz4) + COMPRESS=lz4 + shift + ;; + --compress) + COMPRESS=compress + shift + ;; + --base64) + COMPRESS=base64 + shift + ;; + --gpg-encrypt) + COMPRESS=gpg + shift + ;; + --gpg-asymmetric-encrypt-sign) + COMPRESS=gpg-asymmetric + shift + ;; + --gpg-extra) + GPG_EXTRA="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --ssl-encrypt) + ENCRYPT=openssl + shift + ;; + --ssl-passwd) + PASSWD=$2 + shift 2 || { MS_Usage; exit 1; } + ;; + --ssl-pass-src) + PASSWD_SRC=$2 + shift 2 || { MS_Usage; exit 1; } + ;; + --ssl-no-md) + OPENSSL_NO_MD=y + shift + ;; + --nocomp) + COMPRESS=none + shift + ;; + --complevel) + COMPRESS_LEVEL="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --threads) + THREADS="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --nochown) + OWNERSHIP=n + shift + ;; + --chown) + OWNERSHIP=y + shift + ;; + --notemp) + KEEP=y + shift + ;; + --copy) + COPY=copy + shift + ;; + --current) + CURRENT=y + KEEP=y + shift + ;; + --tar-format) + TAR_FORMAT="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --tar-extra) + TAR_EXTRA="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --untar-extra) + UNTAR_EXTRA="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --target) + TARGETDIR="$2" + KEEP=y + shift 2 || { MS_Usage; exit 1; } + ;; + --sign) + SIGN=y + GPG_PASSPHRASE="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --nooverwrite) + NOOVERWRITE=y + shift + ;; + --needroot) + NEED_ROOT=y + shift + ;; + --header) + HEADER="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --cleanup) + CLEANUP_SCRIPT="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --license) + # We need to escape all characters having a special meaning in double quotes + LICENSE=$(sed 's/\\/\\\\/g; s/"/\\\"/g; s/`/\\\`/g; s/\$/\\\$/g' "$2") + shift 2 || { MS_Usage; exit 1; } + ;; + --follow) + TAR_ARGS=rvhf + DU_ARGS=-ksL + shift + ;; + --noprogress) + NOPROGRESS=y + shift + ;; + --nox11) + NOX11=y + shift + ;; + --nowait) + NOWAIT=y + shift + ;; + --nomd5) + NOMD5=y + shift + ;; + --sha256) + SHA256=y + shift + ;; + --nocrc) + NOCRC=y + shift + ;; + --append) + APPEND=y + shift + ;; + --lsm) + LSM_CMD="cat \"$2\" >> \"\$archname\"" + shift 2 || { MS_Usage; exit 1; } + ;; + --packaging-date) + DATE="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --help-header) + HELPHEADER=`sed -e "s/'/'\\\\\''/g" $2` + shift 2 || { MS_Usage; exit 1; } + [ -n "$HELPHEADER" ] && HELPHEADER="$HELPHEADER +" + ;; + --tar-quietly) + TAR_QUIETLY=y + shift + ;; + --keep-umask) + KEEP_UMASK=y + shift + ;; + --export-conf) + EXPORT_CONF=y + shift + ;; + -q | --quiet) + QUIET=y + shift + ;; + -h | --help) + MS_Usage + ;; + -*) + echo Unrecognized flag : "$1" + MS_Usage + ;; + *) + break + ;; + esac +done + +if test $# -lt 1; then + MS_Usage +else + if test -d "$1"; then + archdir="$1" + else + echo "Directory $1 does not exist." >&2 + exit 1 + fi +fi +archname="$2" + +if test "$QUIET" = "y" || test "$TAR_QUIETLY" = "y"; then + if test "$TAR_ARGS" = "rvf"; then + TAR_ARGS="rf" + elif test "$TAR_ARGS" = "rvhf"; then + TAR_ARGS="rhf" + fi +fi + +if test "$APPEND" = y; then + if test $# -lt 2; then + MS_Usage + fi + + # Gather the info from the original archive + OLDENV=`sh "$archname" --dumpconf` + if test $? -ne 0; then + echo "Unable to update archive: $archname" >&2 + exit 1 + else + eval "$OLDENV" + OLDSKIP=`expr $SKIP + 1` + fi +else + if test "$KEEP" = n -a $# = 3; then + echo "ERROR: Making a temporary archive with no embedded command does not make sense!" >&2 + echo >&2 + MS_Usage + fi + # We don't want to create an absolute directory unless a target directory is defined + if test "$CURRENT" = y; then + archdirname="." + elif test x"$TARGETDIR" != x; then + archdirname="$TARGETDIR" + else + archdirname=`basename "$1"` + fi + + if test $# -lt 3; then + MS_Usage + fi + + LABEL="$3" + SCRIPT="$4" + test "x$SCRIPT" = x || shift 1 + shift 3 + SCRIPTARGS="$*" +fi + +if test "$KEEP" = n -a "$CURRENT" = y; then + echo "ERROR: It is A VERY DANGEROUS IDEA to try to combine --notemp and --current." >&2 + exit 1 +fi + +case $COMPRESS in +gzip) + GZIP_CMD="gzip -c$COMPRESS_LEVEL" + GUNZIP_CMD="gzip -cd" + ;; +pigz) + GZIP_CMD="pigz -$COMPRESS_LEVEL" + if test $THREADS -ne $DEFAULT_THREADS; then # Leave as the default if threads not indicated + GZIP_CMD="$GZIP_CMD --processes $THREADS" + fi + GUNZIP_CMD="gzip -cd" + ;; +zstd) + GZIP_CMD="zstd -$COMPRESS_LEVEL" + if test $THREADS -ne $DEFAULT_THREADS; then # Leave as the default if threads not indicated + GZIP_CMD="$GZIP_CMD --threads=$THREADS" + fi + GUNZIP_CMD="zstd -cd" + ;; +pbzip2) + GZIP_CMD="pbzip2 -c$COMPRESS_LEVEL" + if test $THREADS -ne $DEFAULT_THREADS; then # Leave as the default if threads not indicated + GZIP_CMD="$GZIP_CMD -p$THREADS" + fi + GUNZIP_CMD="bzip2 -d" + ;; +bzip2) + GZIP_CMD="bzip2 -$COMPRESS_LEVEL" + GUNZIP_CMD="bzip2 -d" + ;; +xz) + GZIP_CMD="xz -c$COMPRESS_LEVEL" + # Must opt-in by specifying a value since not all versions of xz support threads + if test $THREADS -ne $DEFAULT_THREADS; then + GZIP_CMD="$GZIP_CMD --threads=$THREADS" + fi + GUNZIP_CMD="xz -d" + ;; +lzo) + GZIP_CMD="lzop -c$COMPRESS_LEVEL" + GUNZIP_CMD="lzop -d" + ;; +lz4) + GZIP_CMD="lz4 -c$COMPRESS_LEVEL" + GUNZIP_CMD="lz4 -d" + ;; +base64) + GZIP_CMD="base64" + GUNZIP_CMD="base64 --decode -i -" + ;; +gpg) + GZIP_CMD="gpg $GPG_EXTRA -ac -z$COMPRESS_LEVEL" + GUNZIP_CMD="gpg -d" + ENCRYPT="gpg" + ;; +gpg-asymmetric) + GZIP_CMD="gpg $GPG_EXTRA -z$COMPRESS_LEVEL -es" + GUNZIP_CMD="gpg --yes -d" + ENCRYPT="gpg" + ;; +compress) + GZIP_CMD="compress -fc" + GUNZIP_CMD="(type compress >/dev/null 2>&1 && compress -fcd || gzip -cd)" + ;; +none) + GZIP_CMD="cat" + GUNZIP_CMD="cat" + ;; +esac + +if test x"$ENCRYPT" = x"openssl"; then + if test x"$APPEND" = x"y"; then + echo "Appending to existing archive is not compatible with OpenSSL encryption." >&2 + fi + + ENCRYPT_CMD="openssl enc -aes-256-cbc -salt" + DECRYPT_CMD="openssl enc -aes-256-cbc -d" + + if test x"$OPENSSL_NO_MD" != x"y"; then + ENCRYPT_CMD="$ENCRYPT_CMD -md sha256" + DECRYPT_CMD="$DECRYPT_CMD -md sha256" + fi + + if test -n "$PASSWD_SRC"; then + ENCRYPT_CMD="$ENCRYPT_CMD -pass $PASSWD_SRC" + elif test -n "$PASSWD"; then + ENCRYPT_CMD="$ENCRYPT_CMD -pass pass:$PASSWD" + fi +fi + +tmpfile="${TMPDIR:-/tmp}/mkself$$" + +if test -f "$HEADER"; then + oldarchname="$archname" + archname="$tmpfile" + # Generate a fake header to count its lines + SKIP=0 + . "$HEADER" + SKIP=`cat "$tmpfile" |wc -l` + # Get rid of any spaces + SKIP=`expr $SKIP` + rm -f "$tmpfile" + if test "$QUIET" = "n"; then + echo "Header is $SKIP lines long" >&2 + fi + archname="$oldarchname" +else + echo "Unable to open header file: $HEADER" >&2 + exit 1 +fi + +if test "$QUIET" = "n"; then + echo +fi + +if test "$APPEND" = n; then + if test -f "$archname"; then + echo "WARNING: Overwriting existing file: $archname" >&2 + fi +fi + +USIZE=`du $DU_ARGS "$archdir" | awk '{print $1}'` + +if test "." = "$archdirname"; then + if test "$KEEP" = n; then + archdirname="makeself-$$-`date +%Y%m%d%H%M%S`" + fi +fi + +test -d "$archdir" || { echo "Error: $archdir does not exist."; rm -f "$tmpfile"; exit 1; } +if test "$QUIET" = "n"; then + echo "About to compress $USIZE KB of data..." + echo "Adding files to archive named \"$archname\"..." +fi + +# See if we have GNU tar +TAR=`exec <&- 2>&-; which gtar || command -v gtar || type gtar` +test -x "$TAR" || TAR=tar + +tmparch="${TMPDIR:-/tmp}/mkself$$.tar" +( + if test "$APPEND" = "y"; then + tail -n "+$OLDSKIP" "$archname" | eval "$GUNZIP_CMD" > "$tmparch" + fi + cd "$archdir" + # "Determining if a directory is empty" + # https://www.etalabs.net/sh_tricks.html + find . \ + \( \ + ! -type d \ + -o \ + \( -links 2 -exec sh -c ' + is_empty () ( + cd "$1" + set -- .[!.]* ; test -f "$1" && return 1 + set -- ..?* ; test -f "$1" && return 1 + set -- * ; test -f "$1" && return 1 + return 0 + ) + is_empty "$0"' {} \; \ + \) \ + \) -print \ + | LC_ALL=C sort \ + | sed 's/./\\&/g' \ + | xargs $TAR $TAR_EXTRA --format $TAR_FORMAT -$TAR_ARGS "$tmparch" +) || { + echo "ERROR: failed to create temporary archive: $tmparch" + rm -f "$tmparch" "$tmpfile" + exit 1 +} + +USIZE=`du $DU_ARGS "$tmparch" | awk '{print $1}'` + +eval "$GZIP_CMD" <"$tmparch" >"$tmpfile" || { + echo "ERROR: failed to create temporary file: $tmpfile" + rm -f "$tmparch" "$tmpfile" + exit 1 +} +rm -f "$tmparch" + +if test x"$ENCRYPT" = x"openssl"; then + echo "About to encrypt archive \"$archname\"..." + { eval "$ENCRYPT_CMD -in $tmpfile -out ${tmpfile}.enc" && mv -f ${tmpfile}.enc $tmpfile; } || \ + { echo Aborting: could not encrypt temporary file: "$tmpfile".; rm -f "$tmpfile"; exit 1; } +fi + +fsize=`cat "$tmpfile" | wc -c | tr -d " "` + +# Compute the checksums + +shasum=0000000000000000000000000000000000000000000000000000000000000000 +md5sum=00000000000000000000000000000000 +crcsum=0000000000 + +if test "$NOCRC" = y; then + if test "$QUIET" = "n"; then + echo "skipping crc at user request" + fi +else + crcsum=`CMD_ENV=xpg4 cksum < "$tmpfile" | sed -e 's/ /Z/' -e 's/ /Z/' | cut -dZ -f1` + if test "$QUIET" = "n"; then + echo "CRC: $crcsum" + fi +fi + +if test "$SHA256" = y; then + SHA_PATH=`exec <&- 2>&-; which shasum || command -v shasum || type shasum` + if test -x "$SHA_PATH"; then + shasum=`eval "$SHA_PATH -a 256" < "$tmpfile" | cut -b-64` + else + SHA_PATH=`exec <&- 2>&-; which sha256sum || command -v sha256sum || type sha256sum` + shasum=`eval "$SHA_PATH" < "$tmpfile" | cut -b-64` + fi + if test "$QUIET" = "n"; then + if test -x "$SHA_PATH"; then + echo "SHA256: $shasum" + else + echo "SHA256: none, SHA command not found" + fi + fi +fi +if test "$NOMD5" = y; then + if test "$QUIET" = "n"; then + echo "Skipping md5sum at user request" + fi +else + # Try to locate a MD5 binary + OLD_PATH=$PATH + PATH=${GUESS_MD5_PATH:-"$OLD_PATH:/bin:/usr/bin:/sbin:/usr/local/ssl/bin:/usr/local/bin:/opt/openssl/bin"} + MD5_ARG="" + MD5_PATH=`exec <&- 2>&-; which md5sum || command -v md5sum || type md5sum` + test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which md5 || command -v md5 || type md5` + test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which digest || command -v digest || type digest` + PATH=$OLD_PATH + if test -x "$MD5_PATH"; then + if test `basename ${MD5_PATH}`x = digestx; then + MD5_ARG="-a md5" + fi + md5sum=`eval "$MD5_PATH $MD5_ARG" < "$tmpfile" | cut -b-32` + if test "$QUIET" = "n"; then + echo "MD5: $md5sum" + fi + else + if test "$QUIET" = "n"; then + echo "MD5: none, MD5 command not found" + fi + fi +fi +if test "$SIGN" = y; then + GPG_PATH=`exec <&- 2>&-; which gpg || command -v gpg || type gpg` + if test -x "$GPG_PATH"; then + SIGNATURE=`$GPG_PATH --pinentry-mode=loopback --batch --yes --passphrase "$GPG_PASSPHRASE" --output - --detach-sig $tmpfile | base64 | tr -d \\\\n` + if test "$QUIET" = "n"; then + echo "Signature: $SIGNATURE" + fi + else + echo "Missing gpg command" >&2 + fi +fi + +totalsize=0 +for size in $fsize; +do + totalsize=`expr $totalsize + $size` +done + +if test "$APPEND" = y; then + mv "$archname" "$archname".bak || exit + + # Prepare entry for new archive + filesizes="$fsize" + CRCsum="$crcsum" + MD5sum="$md5sum" + SHAsum="$shasum" + Signature="$SIGNATURE" + # Generate the header + . "$HEADER" + # Append the new data + cat "$tmpfile" >> "$archname" + + chmod +x "$archname" + rm -f "$archname".bak + if test "$QUIET" = "n"; then + echo "Self-extractable archive \"$archname\" successfully updated." + fi +else + filesizes="$fsize" + CRCsum="$crcsum" + MD5sum="$md5sum" + SHAsum="$shasum" + Signature="$SIGNATURE" + + # Generate the header + . "$HEADER" + + # Append the compressed tar data after the stub + if test "$QUIET" = "n"; then + echo + fi + cat "$tmpfile" >> "$archname" + chmod +x "$archname" + if test "$QUIET" = "n"; then + echo Self-extractable archive \"$archname\" successfully created. + fi +fi +rm -f "$tmpfile" diff --git a/precision_Problem/Is_standard/cmake/util/makeself/run-tests.sh b/precision_Problem/Is_standard/cmake/util/makeself/run-tests.sh new file mode 100644 index 0000000..31ee165 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/makeself/run-tests.sh @@ -0,0 +1,8 @@ +#!/bin/sh +# Run every available test - Bash needed +cd test +for test in *test; +do + echo "Running test $test ..." + bash $test || { echo "*** ERROR: Test '$test' failed!"; exit 1; } +done diff --git a/precision_Problem/Is_standard/cmake/util/merge_aicpu_info_json.sh b/precision_Problem/Is_standard/cmake/util/merge_aicpu_info_json.sh new file mode 100644 index 0000000..a977bd5 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/merge_aicpu_info_json.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +project_path=$1 +build_path=$2 +vendor_name=customize +echo $@ +if [[ ! -d "$project_path" ]]; then + echo "[ERROR] No projcet path is provided" + exit 1 +fi + +if [[ ! -d "$build_path" ]]; then + echo "[ERROR] No build path is provided" + exit 1 +fi + +if [[ ! -d "$ASCEND_OPP_PATH" ]]; then + echo "[ERROR] No opp install path is provided" + exit 1 +fi +custom_exist_info_json=$ASCEND_OPP_PATH/vendors/$vendor_name/op_impl/cpu/config/cust_aicpu_kernel.json +custom_new_info_json=$build_path/makepkg/packages/vendors/$vendor_name/op_impl/cpu/config/cust_aicpu_kernel.json +temp_info_json=$build_path/makepkg/packages/vendors/$vendor_name/op_impl/cpu/config/temp_cust_aicpu_kernel.json + +if [[ -f "$custom_exist_info_json" ]] && [[ -f "$custom_new_info_json" ]]; then + cp -f $custom_exist_info_json $temp_info_json + chmod +w $temp_info_json + python3 ${project_path}/cmake/util/insert_op_info.py ${custom_new_info_json} ${temp_info_json} + cp -f $temp_info_json $custom_new_info_json + rm -f $temp_info_json +fi diff --git a/precision_Problem/Is_standard/cmake/util/opdesc_parser.py b/precision_Problem/Is_standard/cmake/util/opdesc_parser.py new file mode 100644 index 0000000..48efca2 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/opdesc_parser.py @@ -0,0 +1,294 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" + +import sys +import os + + +OP_ALL = '__ALLOP__' +SOC_ALL = '__ALLSOC__' +SOC_TO_SHORT_SOC_MAP = { + "ascend910a": "ascend910", + "ascend910proa": "ascend910", + "ascend910b": "ascend910", + "ascend910prob": "ascend910", + "ascend910premiuma": "ascend910", + "ascend910b1": "ascend910b", + "ascend910b2": "ascend910b", + "ascend910b2c": "ascend910b", + "ascend910b3": "ascend910b", + "ascend910b4": "ascend910b", + "ascend310p1": "ascend310p", + "ascend310p3": "ascend310p", + "ascend310p3vir01": "ascend310p", + "ascend310p3vir02": "ascend310p", + "ascend310p3vir04": "ascend310p", + "ascend310p3vir08": "ascend310p", + "ascend310b1": "ascend310b", + "bs9sx1aa": "bs9sx1a" +} +CONFLICT_KEYWORDS = { + "and", "as", "assert", "break", "class", "continue", "def", "del", "elif", "else", + "except", "finally", "for", "from", "global", "if", "import", "in", "is", "lambda", + "not", "or", "pass", "raise", "return", "try", "while", "with", "yield", "False", + "None", "True", "nonlocal", "arg", "__inputs__", "__outputs__", "options", "bisheng", + "bisheng_path", "tikcpp_path", "impl_mode", "custom_compile_options", + "custom_all_compile_options", "soc_version", "soc_short", "custom_compile_options_soc", + "custom_all_compile_options_soc", "origin_func_name", "ascendc_src_dir_ex", + "ascendc_src_dir", "ascendc_src_file", "src", "op_type", "code_channel", "op_info", + "compile_op", "get_code_channel", "result", "__attrs__", "isinstance", "attr", + "get_current_build_config", "_build_args", "get_dtype_fmt_options", "shutil", "os", + "get_kernel_source" +} + + +class OpDesc: + def __init__(self: any, op_type: str): + self.op_type = op_type + self.attr_list = [] + self.attr_val = {} + self.input_name = [] + self.input_ori_name = [] + self.input_type = [] + self.input_dtype = [] + self.input_fmt = [] + self.output_name = [] + self.output_ori_name = [] + self.output_type = [] + self.output_dtype = [] + self.output_fmt = [] + self.op_fmt_sel = False + self.op_chk_support = False + self.op_intf = '' + self.kern_name = '' + self.op_file = '' + self.op_replay_flag = False + self.op_replay_batch = False + self.input_idx = -1 + self.output_idx = -1 + self.max_block_dim = 32 + self.max_shape_size = 268435456 + self.dynamic_shape = False + self.op_range_limit = '' + self.custom_compile_options = {} + self.custom_all_compile_options = {} + + @staticmethod + def _parse_digit(conf: str) -> int: + return int(conf.split('=')[1]) + + @staticmethod + def _parse_flag(conf: str) -> bool: + if 'true' == conf.split('=')[1]: + return True + return False + + @staticmethod + def _parse_str(conf: str) -> str: + return conf.split('=')[1] + + @staticmethod + def _parse_list(conf: str) -> list: + return conf.split('=')[1].split(',') + + def parse_input(self: any, conf: str): + if conf.startswith('input{}.name'.format(int(self.input_idx) + 1)): + self.input_idx += 1 + self.input_ori_name.append(self._parse_str(conf)) + self.input_name.append(self.input_ori_name[-1] + '_in__') + elif conf.startswith('input{}.paramType'.format(int(self.input_idx))): + self.input_type.append(self._parse_str(conf)) + elif conf.startswith('input{}.dtype'.format(int(self.input_idx))): + self.input_dtype.append(self._parse_str(conf)) + elif conf.startswith('input{}.format'.format(int(self.input_idx))): + self.input_fmt.append(self._parse_str(conf)) + else: + return + + def parse_output(self: any, conf: str): + if conf.startswith('output{}.name'.format(int(self.output_idx) + 1)): + self.output_idx += 1 + self.output_ori_name.append(self._parse_str(conf)) + self.output_name.append(self.output_ori_name[-1] + '_out_') + elif conf.startswith('output{}.paramType'.format(int(self.output_idx))): + self.output_type.append(self._parse_str(conf)) + elif conf.startswith('output{}.dtype'.format(int(self.output_idx))): + self.output_dtype.append(self._parse_str(conf)) + elif conf.startswith('output{}.format'.format(int(self.output_idx))): + self.output_fmt.append(self._parse_str(conf)) + else: + return + + def parse_op_format(self: any, conf: str): + self.op_fmt_sel = self._parse_flag(conf) + + def parse_check_support(self: any, conf: str): + self.op_chk_support = self._parse_flag(conf) + + def parse_range_limit(self: any, conf: str): + self.op_range_limit = self._parse_str(conf) + + def parse_kern_name(self: any, conf: str): + self.kern_name = self._parse_str(conf) + + def parse_op_intf(self: any, conf: str): + self.op_intf = self._parse_str(conf) + + def parse_op_file(self: any, conf: str): + self.op_file = self._parse_str(conf) + + def parse_dynamic_shape(self: any, conf: str): + self.dynamic_shape = self._parse_flag(conf) + + def parse_attr_list(self: any, conf: str): + self.attr_list = self._parse_list(conf) + intersection_element = set(self.attr_list) & CONFLICT_KEYWORDS + if intersection_element: + raise Exception(f'The attribute name: {intersection_element} in op: {{\'{self.op_type}\'}} conflicts with\ + the built-in variable name. Use a complex name or prefix the operator name.') + + @staticmethod + def _camel_to_snake(camel_case_str: str): + snake_case_str = '' + for i, c in enumerate(camel_case_str): + if i == 0: + snake_case_str += c.lower() + elif c.isupper(): + snake_case_str += '_' + c.lower() + else: + snake_case_str += c + return snake_case_str + + def parse_attr_val(self: any, conf: str): + for attr in self.attr_list: + if self.attr_val.get(attr) is None: + self.attr_val[attr] = {} + if conf.startswith('attr_{}.type'.format(attr)): + self.attr_val.get(attr)['type'] = self._camel_to_snake(self._parse_str(conf)) + elif conf.startswith('attr_{}.paramType'.format(attr)): + self.attr_val.get(attr)['paramType'] = self._parse_str(conf) + elif conf.startswith('attr_{}.defaultValue'.format(attr)): + self.attr_val.get(attr)['defaultValue'] = self._parse_str(conf) + + def parse_replay_val(self: any, batch_list: list, iterator_list: list): + if self.op_type in batch_list: + self.op_replay_flag = True + self.op_replay_batch = True + elif self.op_type in iterator_list: + self.op_replay_flag = True + self.op_replay_batch = False + + +def _is_op_type_in_opdesc(op_descs: list, op_type: str): + for op in op_descs: + if op_type == op.op_type: + return True + return False + + +def _set_all_options_to_opdescs(op_descs, soc_ver_compile_options): + for op in op_descs: + op.custom_all_compile_options = soc_ver_compile_options + + +def _set_options_to_opdesc(op_descs, op_type, soc_ver_compile_options): + for op in op_descs: + if op.op_type != op_type: + continue + op.custom_compile_options = soc_ver_compile_options + + +def _trans_soc_ver_to_short(soc_ver: str): + low_soc_ver = soc_ver.lower() + if low_soc_ver not in SOC_TO_SHORT_SOC_MAP: + print(f'WARNING: caution: {soc_ver} will trans into ascend910, if not your intention,' + f'use ascend910b1~4 instead') + return SOC_TO_SHORT_SOC_MAP[low_soc_ver] + + +def _get_op_custom_options(op_descs: list, auto_gen_dir: str): + if auto_gen_dir is None: + return + file = os.path.join(auto_gen_dir, "custom_compile_options.ini") + if not os.path.exists(file): + print(f'WARNING: cannot find {auto_gen_dir}/custom_compile_options.ini') + return + with open(file, 'r') as fd: + lines = fd.readlines() + for line in lines: + param_list = str.split(line.rstrip('\n'), ',') + if len(param_list) != 3: + raise Exception(f'ERROR: custom compile option {param_list} len is not 3') + op_type = param_list[0] + if op_type.upper() == 'ALL': + op_type = OP_ALL + if op_type != OP_ALL and _is_op_type_in_opdesc(op_descs, op_type) == False: + print(f'WARNING: op: {op_type} are not exists in this project') + continue + soc_ver_compile_options = {} + soc_ver = param_list[1] + options_str = param_list[2] + options = str.split(options_str, ';') + if soc_ver == '': + soc_ver_compile_options[SOC_ALL] = options + else: + soc_ver_list = str.split(soc_ver, ';') + for ver in soc_ver_list: + short_ver = _trans_soc_ver_to_short(ver) + soc_ver_compile_options[short_ver] = options + if op_type == OP_ALL: + _set_all_options_to_opdescs(op_descs, soc_ver_compile_options) + else: + _set_options_to_opdesc(op_descs, op_type, soc_ver_compile_options) + + +def get_op_desc(file: str, batch_list: list, iterator_list: list, builder: any, + op_type: list, auto_gen_dir: str = None) -> list: + op_descs = [] + op_match = False + with open (file, 'r') as fd: + lines = fd.readlines() + for line in lines: + line = line.strip() + if line.startswith('['): + name = line[1:-1] + if op_type is None or name in op_type: + op_match = True + op_desc = builder(name) + op_desc.parse_replay_val(batch_list, iterator_list) + op_descs.append(op_desc) + else: + op_match = False + if op_type is not None and len(op_descs) == len(op_type): + return op_descs + continue + if not op_match: + continue + if line.startswith('input'): + op_desc.parse_input(line) + elif line.startswith('output'): + op_desc.parse_output(line) + elif line.startswith('dynamicFormat.flag'): + op_desc.parse_op_format(line) + elif line.startswith('needCheckSupport.flag'): + op_desc.parse_check_support(line) + elif line.startswith('rangeLimit.value'): + op_desc.parse_range_limit(line) + elif line.startswith('opInterface.value'): + op_desc.parse_op_intf(line) + elif line.startswith('kernel.name'): + op_desc.parse_kern_name(line) + elif line.startswith('opFile.value'): + op_desc.parse_op_file(line) + elif line.startswith('dynamicShapeSupport.flag'): + op_desc.parse_dynamic_shape(line) + elif line.startswith('attr.list'): + op_desc.parse_attr_list(line) + elif line.startswith('attr_'): + op_desc.parse_attr_val(line) + _get_op_custom_options(op_descs, auto_gen_dir) + return op_descs diff --git a/precision_Problem/Is_standard/cmake/util/parse_ini_to_json.py b/precision_Problem/Is_standard/cmake/util/parse_ini_to_json.py new file mode 100644 index 0000000..ac931e5 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/parse_ini_to_json.py @@ -0,0 +1,338 @@ +# Copyright 2020-2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +parser ini to json +""" + +import json +import os +import stat +import sys + + +ATTR_TYPE_LIST = ["int", "float", "bool", "str", "listInt", "listFloat", "listBool", "listStr", "listListInt", + "type", "listType", "tensor", "listTensor"] +ATTR_PARAMTYPE_LIST = ["optional", "required"] +BOOL_FLAG_KEY = ["dynamicFormat", "dynamicShapeSupport", "dynamicRankSupport", "precision_reduce", "heavyOp", + "needCheckSupport", "enableVectorCore"] +BOOL_LIST = ["true", "false"] +DTYPE_LIST = ["float16", "float", "float32", "int8", "int16", "int32", "uint8", "uint16", "uint32", "bool", + "int64", "uint64", "qint8", "qint16", "qint32", "quint8", "quint16", "double", "complex64", + "complex128", "string", "resource", "dual", "dual_sub_int8", "dual_sub_uint8", "string_ref", + "int4", "bfloat16", "uint1"] +FORMAT_LIST = ["NCHW", "NHWC", "ND", "NC1HWC0", "FRACTAL_Z", "NC1C0HWPAD", "NHWC1C0", "FSR_NCHW", "FRACTAL_DECONV", + "C1HWNC0", "FRACTAL_DECONV_TRANSPOSE", "FRACTAL_DECONV_SP_STRIDE_TRANS", "NC1HWC0_C04", + "FRACTAL_Z_C04", "CHWN", "FRACTAL_DECONV_SP_STRIDE8_TRANS", "HWCN", "NC1KHKWHWC0", "BN_WEIGHT", + "FILTER_HWCK", "HASHTABLE_LOOKUP_LOOKUPS", "HASHTABLE_LOOKUP_KEYS", "HASHTABLE_LOOKUP_VALUE", + "HASHTABLE_LOOKUP_OUTPUT", "HASHTABLE_LOOKUP_HITS", "C1HWNCoC0", "MD", "NDHWC", "FRACTAL_ZZ", + "FRACTAL_NZ", "NCDHW", "DHWCN", "NDC1HWC0", "FRACTAL_Z_3D", "CN", "NC", "DHWNC", + "FRACTAL_Z_3D_TRANSPOSE", "FRACTAL_ZN_LSTM", "FRACTAL_ZN_RNN", "FRACTAL_Z_G", "NULL"] + + +def parse_ini_files(ini_files): + """ + parse ini files to json + Parameters: + ---------------- + ini_files:input file list + return:ops_info + ---------------- + """ + tbe_ops_info = {} + for ini_file in ini_files: + check_file_size(ini_file) + parse_ini_to_obj(ini_file, tbe_ops_info) + return tbe_ops_info + + +def check_file_size(input_file): + try: + file_size = os.path.getsize(input_file) + except OSError as os_error: + print('[ERROR] Failed to open "%s". %s' % (input_file, str(os_error))) + raise OSError from os_error + if file_size > 10*1024*1024: + print('[WARN] The size of %s exceeds 10MB, it may take more time to run, please wait.' % input_file) + + +def parse_ini_to_obj(ini_file, tbe_ops_info): + """ + parse ini file to json obj + Parameters: + ---------------- + ini_file:ini file path + tbe_ops_info:ops_info + ---------------- + """ + with open(ini_file) as ini_file: + lines = ini_file.readlines() + op_dict = {} + op_name = "" + find_op_type = False + for line in lines: + line = line.rstrip() + if line == "": + continue + if line.startswith("["): + if line.endswith("]"): + op_name = line[1:-1] + op_dict = {} + tbe_ops_info[op_name] = op_dict + find_op_type = True + elif "=" in line: + key1 = line[:line.index("=")] + key2 = line[line.index("=")+1:] + key1_0, key1_1 = key1.split(".") + if key1_0 not in op_dict: + op_dict[key1_0] = {} + if key1_1 in op_dict.get(key1_0): + raise RuntimeError("Op:" + op_name + " " + key1_0 + " " + + key1_1 + " is repeated!") + dic_key = op_dict.get(key1_0) + dic_key[key1_1] = key2 + else: + continue + if not find_op_type: + raise RuntimeError("Not find OpType in .ini file.") + + +def check_output_exist(op_dict, is_valid): + """ + Function Description: + Check output is exist + Parameter: op_dict + Parameter: is_valid + """ + if "output0" in op_dict: + output0_dict = op_dict.get("output0") + if output0_dict.get("name", None) is None: + is_valid = False + print("output0.name is required in .ini file!") + else: + is_valid = False + print("output0 is required in .ini file!") + return is_valid + + +def check_attr_dict(attr_dict, is_valid, attr): + """ + Function Description: + Check attr_dict + Parameter: attr_dict + Parameter: is_valid + Parameter: attr + """ + attr_type = attr_dict.get("type") + value = attr_dict.get("value") + param_type = attr_dict.get("paramType") + if attr_type is None or value is None: + is_valid = False + print("If attr.list is exist, {0}.type and {0}.value is required".format(attr)) + if param_type and param_type not in ATTR_PARAMTYPE_LIST: + is_valid = False + print("{0}.paramType only support {1}.".format(attr, ATTR_PARAMTYPE_LIST)) + if attr_type and attr_type not in ATTR_TYPE_LIST: + is_valid = False + print("{0}.type only support {1}.".format(attr, ATTR_TYPE_LIST)) + return is_valid + + +def check_attr(op_dict, is_valid): + """ + Function Description: + Check attr + Parameter: op_dict + Parameter: is_valid + """ + if "attr" in op_dict: + attr_dict = op_dict.get("attr") + attr_list_str = attr_dict.get("list", None) + if attr_list_str is None: + is_valid = False + print("attr.list is required in .ini file!") + else: + attr_list = attr_list_str.split(",") + for attr_name in attr_list: + attr = "attr_" + attr_name.strip() + attr_dict = op_dict.get(attr) + if attr_dict: + is_valid = check_attr_dict(attr_dict, is_valid, attr) + else: + is_valid = False + print("%s is required in .ini file, when attr.list is %s!" % (attr, attr_list_str)) + return is_valid + + +def check_bool_flag(op_dict, is_valid): + """ + Function Description: + check_bool_flag + Parameter: op_dict + Parameter: is_valid + """ + for key in BOOL_FLAG_KEY: + if key in op_dict: + op_bool_key = op_dict.get(key) + if op_bool_key.get("flag").strip() not in BOOL_LIST: + is_valid = False + print("{0}.flag only support {1}.".format(key, BOOL_LIST)) + return is_valid + + +def check_type_format(op_info, is_valid, op_info_key): + """ + Function Description: + Check type and format + Parameter: op_info + Parameter: is_valid + Parameter: op_info_key + """ + op_info_dtype_str = op_info.get("dtype") + op_info_dtype_num = 0 + op_info_format_num = 0 + if op_info_dtype_str: + op_info_dtype = op_info_dtype_str.split(",") + op_info_dtype_num = len(op_info_dtype) + for dtype in op_info_dtype: + if dtype.strip() not in DTYPE_LIST: + is_valid = False + print("{0}.dtype not support {1}.".format(op_info_key, dtype)) + op_info_format_str = op_info.get("format") + if op_info_format_str: + op_info_format = op_info_format_str.split(",") + op_info_format_num = len(op_info_format) + for op_format in op_info_format: + if op_format.strip() not in FORMAT_LIST: + is_valid = False + print("{0}.format not support {1}.".format(op_info_key, op_format)) + if op_info_dtype_num > 0 and op_info_format_num > 0: + if op_info_dtype_num != op_info_format_num: + is_valid = False + print("The number of {0}.dtype not match the number of {0}.format.".format(op_info_key)) + return is_valid + + +def check_op_info(tbe_ops): + """ + Function Description: + Check info. + Parameter: tbe_ops + Return Value: is_valid + """ + print("\n\n==============check valid for ops info start==============") + required_op_input_info_keys = ["paramType", "name"] + required_op_output_info_keys = ["paramType", "name"] + param_type_valid_value = ["dynamic", "optional", "required"] + is_valid = True + for op_key in tbe_ops: + op_dict = tbe_ops[op_key] + for op_info_key in op_dict: + if op_info_key.startswith("input"): + op_input_info = op_dict[op_info_key] + missing_keys = [] + for required_op_input_info_key in required_op_input_info_keys: + if required_op_input_info_key not in op_input_info: + missing_keys.append(required_op_input_info_key) + if len(missing_keys) > 0: + print("op: " + op_key + " " + op_info_key + " missing: " + + ",".join(missing_keys)) + is_valid = False + else: + if not op_input_info["paramType"] in param_type_valid_value: + print("op: " + op_key + " " + op_info_key + \ + " paramType not valid, valid key:[dynamic, " + "optional, required]") + is_valid = False + is_valid = check_type_format(op_input_info, is_valid, op_info_key) + if op_info_key.startswith("output"): + op_input_info = op_dict[op_info_key] + missing_keys = [] + for required_op_input_info_key in required_op_output_info_keys: + if required_op_input_info_key not in op_input_info: + missing_keys.append(required_op_input_info_key) + if len(missing_keys) > 0: + print("op: " + op_key + " " + op_info_key + " missing: " + + ",".join(missing_keys)) + is_valid = False + else: + if not op_input_info["paramType"] in param_type_valid_value: + print("op: " + op_key + " " + op_info_key + + " paramType not valid, valid key:[dynamic, " + "optional, required]") + is_valid = False + is_valid = check_type_format(op_input_info, is_valid, op_info_key) + is_valid = check_attr(op_dict, is_valid) + is_valid = check_bool_flag(op_dict, is_valid) + print("==============check valid for ops info end================\n\n") + return is_valid + + +def write_json_file(tbe_ops_info, json_file_path): + """ + Save info to json file + Parameters: + ---------------- + tbe_ops_info: ops_info + json_file_path: json file path + ---------------- + """ + json_file_real_path = os.path.realpath(json_file_path) + wr_flag = os.O_WRONLY | os.O_CREAT + wr_mode = stat.S_IWUSR | stat.S_IRUSR + with os.fdopen(os.open(json_file_real_path, wr_flag, wr_mode), 'w') as file_path: + # The owner have all rights,group only have read rights + os.chmod(json_file_real_path, stat.S_IWUSR + stat.S_IRGRP + + stat.S_IRUSR) + json.dump(tbe_ops_info, file_path, sort_keys=True, indent=4, + separators=(',', ':')) + print("Compile op info cfg successfully.") + + +def parse_ini_to_json(ini_file_paths, outfile_path): + """ + parse ini files to json file + Parameters: + ---------------- + ini_file_paths: list of ini file path + outfile_path: output file path + ---------------- + """ + tbe_ops_info = parse_ini_files(ini_file_paths) + if not check_op_info(tbe_ops_info): + print("Compile op info cfg failed.") + return False + write_json_file(tbe_ops_info, outfile_path) + return True + + +if __name__ == '__main__': + args = sys.argv + + OUTPUT_FILE_PATH = "tbe_ops_info.json" + ini_file_path_list = [] + + for arg in args: + if arg.endswith("ini"): + ini_file_path_list.append(arg) + OUTPUT_FILE_PATH = arg.replace(".ini", ".json") + if arg.endswith("json"): + OUTPUT_FILE_PATH = arg + + if len(ini_file_path_list) == 0: + ini_file_path_list.append("tbe_ops_info.ini") + + if not parse_ini_to_json(ini_file_path_list, OUTPUT_FILE_PATH): + sys.exit(1) + sys.exit(0) diff --git a/precision_Problem/Is_standard/cmake/util/preset_parse.py b/precision_Problem/Is_standard/cmake/util/preset_parse.py new file mode 100644 index 0000000..8f1124b --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/preset_parse.py @@ -0,0 +1,23 @@ +import json +import sys +import os + + +def get_config_opts(file): + src_dir = os.path.abspath(os.path.dirname(file)) + opts = '' + with open(file, 'r') as fd: + config = json.load(fd) + for conf in config: + if conf == 'configurePresets': + for node in config[conf]: + macros = node.get('cacheVariables') + if macros is not None: + for key in macros: + opts += '-D{}={} '.format(key, macros[key]['value']) + opts = opts.replace('${sourceDir}', src_dir) + print(opts) + + +if __name__ == "__main__": + get_config_opts(sys.argv[1]) diff --git a/precision_Problem/Is_standard/cmake/util/replay_codegen.py b/precision_Problem/Is_standard/cmake/util/replay_codegen.py new file mode 100644 index 0000000..1baa364 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/replay_codegen.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" + +import os +import stat +import collections +import kernel_entry as keb +from tiling_data_def_build import gen_tiling +import code_channel_infer +import const_var + +PYF_PATH = os.path.dirname(__file__) + +ReplayCodeGenParams = collections.namedtuple('ReplayCodeGenParams',\ +['op_type', 'impl', 'tiling_file', 'kernel', 'entry', 'argn', 'op_replay_batch', 'max_block_dim', 'max_shape_size']) + + +class ReplayCodeGen: + def __init__(self, replayCodeGenParams): + self.op_type = replayCodeGenParams.op_type + self.impl = replayCodeGenParams.impl + self.tiling_file = replayCodeGenParams.tiling_file + self.tiling_data_file = '' + self.kernel = replayCodeGenParams.kernel + self.entry = replayCodeGenParams.entry + self.argn = replayCodeGenParams.argn + self.batch = False + self.outdir = '' + self.data_type = 'uint8_t' + self.blknum = 32 + self.op_replay_batch = replayCodeGenParams.op_replay_batch + self.max_block_dim = replayCodeGenParams.max_block_dim + self.max_shape_size = replayCodeGenParams.max_shape_size + + def set_batch(self, is_batch): + self.batch = is_batch + + def set_outdir(self, outdir): + self.outdir = outdir + + def gen_replay(self, ops_product: str): + kerentry = os.path.join(self.outdir, self.kernel + '_entry.cce') + kerimpl = os.path.join(self.outdir, self.kernel + '_impl.cpp') + replayimpl = os.path.join(self.outdir, self.kernel + '_replay.cpp') + if self.batch: + reptmp = os.path.join(PYF_PATH, 'batch_replay_impl.temp') + else: + reptmp = os.path.join(PYF_PATH, 'replay_impl.temp') + kertmp = os.path.join(PYF_PATH, 'kernel_impl.temp') + self._gen_kentry(kerentry) + self._gen_kimpl_code(kerimpl, kertmp) + self._gen_tiling_data_header() + self._gen_replay_code(replayimpl, reptmp, ops_product) + + def _gen_tiling_data_header(self): + self.tiling_data_file = os.path.join(self.outdir, self.kernel + '_tiling_data.h') + gen_tiling(self.tiling_file, self.tiling_data_file) + + def _gen_kimpl_code(self, src, tmpfile): + with open(tmpfile, 'r') as fd: + temp = fd.read() + temp = temp.replace('__CCE_FILE__', self.impl) + with os.fdopen(os.open(src, const_var.WFLAGS, const_var.WMODES), 'w') as ofd: + ofd.write(temp) + + def _gen_replay_code(self, src, tmpfile, ops_product: str): + with open(tmpfile, 'r') as fd: + temp = fd.read() + temp = temp.replace('__ARG_NUM__', str(self.argn)) + argdef = [] + kargs = [] + for i in range(0, self.argn): + argdef.append('{} *'.format(self.data_type)) + kargs.append('({} *)GetArg({})'.format(self.data_type, i)) + temp = temp.replace('__ARGS_DEF__', ', '.join(argdef)) + temp = temp.replace('__KERNEL_ARGS__', ', '.join(kargs)) + temp = temp.replace('__KERNEL_FUN__', self.entry) + core_type_infer = 'core_type' + code_channel = code_channel_infer.infer_code_channel(code_channel_infer.InfoCodeChanelParams(self.impl,\ + self.tiling_data_file, self.kernel, self.outdir, ops_product, None)) + if code_channel == code_channel_infer.CODE_VEC: + core_type_infer = '0' + elif code_channel == code_channel_infer.CODE_CUBE: + core_type_infer = '1' + temp = temp.replace('__CORE_TYPE__', core_type_infer) + # regist function + temp = temp.replace('__OPS_PRODUCT__', ops_product) + temp = temp.replace('__OPTYPE__', self.op_type) + with os.fdopen(os.open(src, const_var.WFLAGS, const_var.WMODES), 'w') as ofd: + ofd.write(temp) + + def _gen_kentry(self, src): + kf = '' + pre_alloc_str = 'A' * 256 + if self.batch: + kf += keb.batch_code_gen("K{:02d}_{}{}".format(0, self.entry, pre_alloc_str), self.argn, self.data_type) + else: + kf += keb.mc_code_gen("K{:02d}_{}{}".format(0, self.entry, pre_alloc_str),\ + self.argn, self.data_type, self.blknum) + with os.fdopen(os.open(src, const_var.WFLAGS, const_var.WMODES), 'w') as ofd: + ofd.write(kf) diff --git a/precision_Problem/Is_standard/cmake/util/replay_impl.temp b/precision_Problem/Is_standard/cmake/util/replay_impl.temp new file mode 100644 index 0000000..1d30dd8 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/replay_impl.temp @@ -0,0 +1,120 @@ +#include +#include +#include +#include +#include +#include +#include "replay_def.h" +#include "code_gen.h" +#include "replay_fun.h" +#include "register/op_check.h" +#define __ASCENDC_REPLAY_CODE__ +using namespace std; +using namespace optiling; +using namespace AscendCReplay; + +extern "C" void __KERNEL_FUN__ (__ARGS_DEF__, const char *); +extern "C" int elf_append(char *elf, uint32_t elfSize, char *jit, int kernum, int blknum[], char *atext[], + int alen[], int atlen, const char* kernelname[]); + +#define KERNEL_N 1 +#define ARG_N (__ARG_NUM__) +#define MAX_L (1024 * 1024 * 100) +#define MAX_E (1024 * 1024) + +int __KERNEL_FUN___replay___OPS_PRODUCT__(ReplayFuncParam& param, const int core_type) +{ + // gen type 1 : direct call codes 0: load .o file + if (param.gentype < 0 || param.gentype > 1) { + printf("Error: call replay gen type is %d, should only be 1 or 0\n", param.gentype); + return 0; + } else if (param.gentype == 1 && param.objptr == nullptr) { + printf("Error: call replay with direct call mode, but code obj addr is null\n"); + return 0; + } else if (param.gentype == 0 && param.output_kernel_file == nullptr) { + printf("Error: call replay with object file mode, but object file path is null\n"); + return 0; + } + // core_type 0:MIX 1:CUBE 2:VEC + if (core_type < 0 || core_type > 2) { + printf("Error: call replay core type is %d !\n", core_type); + return 0; + } + g_coreType = __CORE_TYPE__; + g_taskRation = param.task_ration; + g_tilingKey = param.tiling_key; + + unsigned char *buf, *jit; + char *kernel[KERNEL_N * 32]; + int len[KERNEL_N * 32]; + int blknum[KERNEL_N]; + int max; + block_num = param.block_dim; + g_ubBase = block_num; + uint8_t *code = (uint8_t *)malloc(MAX_L); + uint8_t *pos = code; + struct timespec tp1, tp2; + + clock_gettime(CLOCK_MONOTONIC, &tp1); + if (block_num > 32) { + printf("Error: block_num > 32\n"); + return 0; + } + //__OP_FOPEN__ + for (int i = 0; i < KERNEL_N; i++) { + for (int j = 0; j < ARG_N; j++) + AddArg(j, ARG_STEP * (j + 1)); + for (block_idx = 0; block_idx < block_num; block_idx++) { + //__OP_SET_KERNEL__ + int code_idx = i * block_num + block_idx; +#ifdef FP_CEILING + SetCtrlFloatEnable(); +#else + SetCtrlFloatDisable(); +#endif + CodeInit(pos, false); + __KERNEL_FUN__(__KERNEL_ARGS__, param.tiling_data); + CodeEnd(); + kernel[code_idx] = (char *)pos; + len[code_idx] = CodeLen(); + pos += len[code_idx]; + printf("kernel %d core %ld code generated len %d\n", i, block_idx, len[code_idx]); + } + blknum[i] = block_num; + } + //__OP_FCLOSE__ + clock_gettime(CLOCK_MONOTONIC, &tp2); + buf = (unsigned char *)malloc(MAX_E); + int fd = open(param.entry_file, O_RDONLY); + if (fd < 0) { + printf("[error]: cannot find entry.o : %s\n", param.entry_file); + return 0; + } + uint32_t bufSize = read(fd, buf, MAX_E); + if (bufSize <= 0) { + printf("[error]: entry.o : %s is too small ! \n", param.entry_file); + } + close(fd); + jit = (unsigned char *)malloc(MAX_L); + printf("total code generated %ld\n", pos - code); + int sz = elf_append((char *)buf, bufSize, (char *)jit, KERNEL_N, blknum, kernel, len, pos - code, ¶m.kernel_name); + if (tp1.tv_sec != tp2.tv_sec) { + printf("%ld NS\n", tp2.tv_nsec + 1000000000 - tp1.tv_nsec); + } else { + printf("%ld NS\n", tp2.tv_nsec - tp1.tv_nsec); + } + printf("new elf size %d\n", sz); + if (param.gentype == 0) { + fd = open(param.output_kernel_file, O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR); + (void)write(fd, jit, sz); + close(fd); + free(jit); + } else if (param.gentype == 1) { + *param.objptr = (char*)jit; + } + free(buf); + free(code); + return sz; +} + +REG_REPLAY_FUNC(__OPTYPE__, __OPS_PRODUCT__, __KERNEL_FUN___replay___OPS_PRODUCT__); diff --git a/precision_Problem/Is_standard/cmake/util/tiling_data_def_build.py b/precision_Problem/Is_standard/cmake/util/tiling_data_def_build.py new file mode 100644 index 0000000..4c5b099 --- /dev/null +++ b/precision_Problem/Is_standard/cmake/util/tiling_data_def_build.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python +# coding=utf-8 +""" +Function: +The replay funtion entry +Copyright Information: +Huawei Technologies Co., Ltd. All Rights Reserved © 2020 +""" + +import sys +import os +import stat +import re +import const_var + + +def gen_tiling(tiling_header_file: str, tiling_file_out: str): + if not os.path.exists(tiling_header_file): + print("warning: no userdef tiling header file: ", tiling_header_file) + return + print("generate tiling def header file: ", tiling_file_out) + tmp_name = os.path.splitext(os.path.basename(tiling_header_file))[0].upper() + tiling_source = '#ifndef __{}_H__\n'.format(tmp_name) + tiling_source += '#define __{}_H__\n\n'.format(tmp_name) + tiling_source += '#include \n' + tiling_source += '#include \n\n' + tiling_source += '#include "kernel_tiling/kernel_tiling.h"\n\n' + end_source = "" + pattern = re.compile(r'[(](.*)[)]', re.S) + with open(tiling_header_file, 'r') as fd: + lines = fd.readlines() + for line in lines: + line = line.strip() + if (line.startswith('BEGIN_TILING_DATA_DEF')): + tiling_source += '#pragma pack(1)\n' + tiling_source += 'struct ' + struct_def = re.findall(pattern, line)[0] + tiling_source += struct_def + ' {\n' + elif (line.startswith('TILING_DATA_FIELD_DEF_ARR')): + field_params = re.findall(pattern, line)[0] + fds = field_params.split(',') + tiling_source += ' {} {}[{}] = {{}};\n'.format(fds[0].strip(), fds[2].strip(), fds[1].strip()) + elif (line.startswith('TILING_DATA_FIELD_DEF_STRUCT')): + field_params = re.findall(pattern, line)[0] + fds = field_params.split(',') + tiling_source += ' {} {};\n'.format(fds[0].strip(), fds[1].strip()) + elif (line.startswith('TILING_DATA_FIELD_DEF')): + field_params = re.findall(pattern, line)[0] + fds = field_params.split(',') + tiling_source += ' {} {} = 0;\n'.format(fds[0].strip(), fds[1].strip()) + elif (line.startswith('END_TILING_DATA_DEF')): + tiling_source += '};\n' + tiling_source += '#pragma pack()\n\n' + tiling_source += '#ifdef __NPU_TILING__\n' + tiling_source += \ + 'inline [aicore] void Init{stru}(const __gm__ uint8_t* tiling, {stru}* const_data)\n'\ + .format(stru=struct_def) + tiling_source += '{\n' + tiling_source += ' const __gm__ uint32_t *src = (const __gm__ uint32_t *)tiling;\n' + tiling_source += ' uint32_t *dst = (uint32_t *)const_data;\n' + tiling_source += ' for (auto i = 0; i < sizeof({}) / 4; i++) *(dst + i) = *(src + i);\n'\ + .format(struct_def) + tiling_source += '}\n' + tiling_source += '#else\n' + tiling_source += 'inline void Init{stru}(uint8_t* tiling, {stru}* const_data)\n'.format(stru=struct_def) + tiling_source += '{\n' + tiling_source += ' uint64_t *src = (uint64_t *)tiling;\n' + tiling_source += ' uint64_t *dst = (uint64_t *)const_data;\n' + tiling_source += ' for (auto i = 0; i < sizeof({}) / 8; i++) *(dst + i) = *(src + i);\n'\ + .format(struct_def) + tiling_source += '}\n' + tiling_source += '#endif\n\n' + end_source = ''' +#define GET_TILING_DATA(tiling_data, tiling_arg) \\ +{stru} tiling_data; \\ +Init{stru}(tiling_arg, &tiling_data)\n +'''.format(stru=struct_def) + tiling_source += end_source + tiling_source += '#endif' + with os.fdopen(os.open(tiling_file_out, const_var.WFLAGS, const_var.WMODES), 'w') as ofd: + ofd.write(tiling_source) + + +if __name__ == '__main__': + if len(sys.argv) <= 2: + raise RuntimeError('arguments must greater than 2') + gen_tiling(sys.argv[1], sys.argv[2]) diff --git a/precision_Problem/Is_standard/framework/CMakeLists.txt b/precision_Problem/Is_standard/framework/CMakeLists.txt new file mode 100644 index 0000000..b6be9b4 --- /dev/null +++ b/precision_Problem/Is_standard/framework/CMakeLists.txt @@ -0,0 +1,11 @@ +if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mindspore") + if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/caffe_plugin") + add_subdirectory(caffe_plugin) + endif() + if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/tf_plugin") + add_subdirectory(tf_plugin) + endif() + if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/onnx_plugin") + add_subdirectory(onnx_plugin) + endif() +endif() diff --git a/precision_Problem/Is_standard/framework/tf_plugin/CMakeLists.txt b/precision_Problem/Is_standard/framework/tf_plugin/CMakeLists.txt new file mode 100644 index 0000000..a6aba5c --- /dev/null +++ b/precision_Problem/Is_standard/framework/tf_plugin/CMakeLists.txt @@ -0,0 +1,14 @@ + +aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} plugin_srcs) +add_library(cust_tf_parsers SHARED ${plugin_srcs}) +target_compile_definitions(cust_tf_parsers PRIVATE google=ascend_private) +if(ENABLE_CROSS_COMPILE) + target_link_directories(cust_tf_parsers PRIVATE + ${CMAKE_COMPILE_COMPILER_LIBRARY} + ${CMAKE_COMPILE_RUNTIME_LIBRARY} + ) +endif() +target_link_libraries(cust_tf_parsers PRIVATE intf_pub graph) +install(TARGETS cust_tf_parsers + LIBRARY DESTINATION packages/vendors/${vendor_name}/framework/tensorflow +) diff --git a/precision_Problem/Is_standard/framework/tf_plugin/tensorflow_reduce_sum_plugin.cc b/precision_Problem/Is_standard/framework/tf_plugin/tensorflow_reduce_sum_plugin.cc new file mode 100644 index 0000000..bab9fa8 --- /dev/null +++ b/precision_Problem/Is_standard/framework/tf_plugin/tensorflow_reduce_sum_plugin.cc @@ -0,0 +1,23 @@ +/* Copyright (C) 2020-2021. Huawei Technologies Co., Ltd. All +rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the Apache License Version 2.0. + * You may not use this file except in compliance with the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * Apache License for more details at + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +#include "register/register.h" + +namespace domi { +// register op info to GE +REGISTER_CUSTOM_OP("ReduceSum") + .FrameworkType(TENSORFLOW) // type: CAFFE, TENSORFLOW + .OriginOpType("ReduceSum") // name in tf module + .ParseParamsByOperatorFn(AutoMappingByOpFn); +} // namespace domi diff --git a/precision_Problem/Is_standard/op_host/CMakeLists.txt b/precision_Problem/Is_standard/op_host/CMakeLists.txt new file mode 100644 index 0000000..40dd51c --- /dev/null +++ b/precision_Problem/Is_standard/op_host/CMakeLists.txt @@ -0,0 +1,82 @@ + +aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} ops_srcs) + +opbuild(OPS_SRC ${ops_srcs} + OUT_DIR ${ASCEND_AUTOGEN_PATH} +) + +add_library(cust_op_proto SHARED ${ops_srcs} ${ASCEND_AUTOGEN_PATH}/op_proto.cc) +target_compile_definitions(cust_op_proto PRIVATE OP_PROTO_LIB) +target_compile_options(cust_op_proto PRIVATE + -fvisibility=hidden +) +if(ENABLE_CROSS_COMPILE) + target_link_directories(cust_op_proto PRIVATE + ${CMAKE_COMPILE_COMPILER_LIBRARY} + ${CMAKE_COMPILE_RUNTIME_LIBRARY} + ) +endif() +target_link_libraries(cust_op_proto PRIVATE + intf_pub + exe_graph + register + tiling_api + -Wl,--whole-archive + rt2_registry + -Wl,--no-whole-archive +) +set_target_properties(cust_op_proto PROPERTIES OUTPUT_NAME + cust_opsproto_rt2.0 +) +add_library(cust_optiling SHARED ${ops_srcs}) +target_compile_definitions(cust_optiling PRIVATE OP_TILING_LIB) +target_compile_options(cust_optiling PRIVATE + -fvisibility=hidden +) +if(ENABLE_CROSS_COMPILE) + target_link_directories(cust_optiling PRIVATE + ${CMAKE_COMPILE_COMPILER_LIBRARY} + ${CMAKE_COMPILE_RUNTIME_LIBRARY} + ) +endif() +target_link_libraries(cust_optiling PRIVATE + intf_pub + exe_graph + register + tiling_api + -Wl,--whole-archive + rt2_registry + -Wl,--no-whole-archive +) +set_target_properties(cust_optiling PROPERTIES OUTPUT_NAME + cust_opmaster_rt2.0 +) + +file(GLOB aclnn_src ${ASCEND_AUTOGEN_PATH}/aclnn_*.cpp) +file(GLOB aclnn_inc ${ASCEND_AUTOGEN_PATH}/aclnn_*.h) +add_library(cust_opapi SHARED ${aclnn_src}) +if(ENABLE_CROSS_COMPILE) + target_link_directories(cust_opapi PRIVATE + ${CMAKE_COMPILE_COMPILER_LIBRARY} + ${CMAKE_COMPILE_RUNTIME_LIBRARY} + ) +endif() +target_link_libraries(cust_opapi PRIVATE intf_pub ascendcl nnopbase) + +add_custom_target(optiling_compat ALL + COMMAND ln -sf lib/linux/${CMAKE_SYSTEM_PROCESSOR}/$ + ${CMAKE_CURRENT_BINARY_DIR}/liboptiling.so +) + +install(TARGETS cust_op_proto + LIBRARY DESTINATION packages/vendors/${vendor_name}/op_proto/lib/linux/${CMAKE_SYSTEM_PROCESSOR}) +install(FILES ${ASCEND_AUTOGEN_PATH}/op_proto.h + DESTINATION packages/vendors/${vendor_name}/op_proto/inc) +install(TARGETS cust_optiling + LIBRARY DESTINATION packages/vendors/${vendor_name}/op_impl/ai_core/tbe/op_tiling/lib/linux/${CMAKE_SYSTEM_PROCESSOR}) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liboptiling.so + DESTINATION packages/vendors/${vendor_name}/op_impl/ai_core/tbe/op_tiling) +install(TARGETS cust_opapi + LIBRARY DESTINATION packages/vendors/${vendor_name}/op_api/lib) +install(FILES ${aclnn_inc} + DESTINATION packages/vendors/${vendor_name}/op_api/include) diff --git a/precision_Problem/Is_standard/op_host/reduce_sum.cpp b/precision_Problem/Is_standard/op_host/reduce_sum.cpp new file mode 100644 index 0000000..93baba2 --- /dev/null +++ b/precision_Problem/Is_standard/op_host/reduce_sum.cpp @@ -0,0 +1,119 @@ + + +#include "reduce_sum_tiling.h" +#include "register/op_def_registry.h" + +#include "tiling/platform/platform_ascendc.h" +#include "graph/utils/type_utils.h" +#include "acl/acl.h" + +namespace optiling { +const uint32_t BLOCK_SIZE = 32; +const uint32_t BUFFER_NUM = 2; +static ge::graphStatus TilingFunc(gert::TilingContext* context) +{ + ReduceSumTilingData tiling; + + uint64_t ubSize; + auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo()); + ascendcPlatform.GetCoreMemSize(platform_ascendc::CoreMemType::UB, ubSize); + uint32_t dataType = 0; + ge::TypeUtils::GetDataTypeLength(context->GetInputDesc(0)->GetDataType(), dataType); + + + const gert::StorageShape* x1_shape = context->GetInputShape(0); + uint32_t size = x1_shape->GetStorageShape().GetDimNum(); + + uint16_t shape[10]; + for (int i = 0; i < x1_shape->GetStorageShape().GetDimNum(); i++){ + shape[i]=x1_shape->GetStorageShape().GetDim(i); + } + + +uint32_t alinum=32/dataType; +uint32_t copy_num=(shape[size-1]-1+alinum)/alinum*alinum; + + + + + + auto axes_tensor =context->GetInputTensor(1); + int32_t axis_size = axes_tensor->GetSize(); + std::cout<SetBlockDim(1); + tiling.SaveToBuffer(context->GetRawTilingData()->GetData(), context->GetRawTilingData()->GetCapacity()); + context->GetRawTilingData()->SetDataSize(tiling.GetDataSize()); + size_t *currentWorkspace = context->GetWorkspaceSizes(1); + currentWorkspace[0] = 0; + return ge::GRAPH_SUCCESS; +} +} + +namespace ge { +static ge::graphStatus InferShape(gert::InferShapeContext* context) +{ + const gert::Shape* x1_shape = context->GetInputShape(0); + gert::Shape* y_shape = context->GetOutputShape(0); + *y_shape = *x1_shape; + return GRAPH_SUCCESS; +} +static graphStatus InferDataType(gert::InferDataTypeContext* context) +{ + const auto inputDataType = context->GetInputDataType(0); + context->SetOutputDataType(0, inputDataType); + return ge::GRAPH_SUCCESS; +} +} + +namespace ops { +class ReduceSum : public OpDef { +public: + explicit ReduceSum(const char* name) : OpDef(name) + { + this->Input("x") + .ParamType(REQUIRED) + .DataType({ge::DT_FLOAT, ge::DT_FLOAT16, ge::DT_INT32, ge::DT_INT8}) + .Format({ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND}) + .UnknownShapeFormat({ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND}); + this->Input("axis") + .ParamType(REQUIRED) + .DataType({ge::DT_INT32, ge::DT_INT32, ge::DT_INT32, ge::DT_INT32}) + .Format({ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND}) + .UnknownShapeFormat({ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND}); + this->Output("y") + .ParamType(REQUIRED) + .DataType({ge::DT_FLOAT, ge::DT_FLOAT16, ge::DT_INT32, ge::DT_INT8}) + .Format({ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND}) + .UnknownShapeFormat({ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND}); + + this->Attr("keep_dims").AttrType(OPTIONAL).Bool(false); + this->Attr("ignore_nan").AttrType(OPTIONAL).Bool(false); + this->Attr("dtype").AttrType(OPTIONAL).String("float"); + + this->SetInferShape(ge::InferShape).SetInferDataType(ge::InferDataType); + + this->AICore() + .SetTiling(optiling::TilingFunc); + this->AICore().AddConfig("ascend310b"); + + } +}; + +OP_ADD(ReduceSum); +} + diff --git a/precision_Problem/Is_standard/op_host/reduce_sum_tiling.h b/precision_Problem/Is_standard/op_host/reduce_sum_tiling.h new file mode 100644 index 0000000..46539b1 --- /dev/null +++ b/precision_Problem/Is_standard/op_host/reduce_sum_tiling.h @@ -0,0 +1,19 @@ + +#include "register/tilingdata_base.h" + +namespace optiling { +BEGIN_TILING_DATA_DEF(ReduceSumTilingData) + TILING_DATA_FIELD_DEF(uint32_t, keep_dim); + TILING_DATA_FIELD_DEF(uint32_t, ignore); + TILING_DATA_FIELD_DEF(uint32_t, dtype); + + TILING_DATA_FIELD_DEF(uint32_t, dataType); + TILING_DATA_FIELD_DEF(uint32_t, size); + TILING_DATA_FIELD_DEF_ARR(uint16_t, 10,shape); + TILING_DATA_FIELD_DEF(uint32_t, axis_size); + TILING_DATA_FIELD_DEF(uint32_t, AlginNum); + +END_TILING_DATA_DEF; + +REGISTER_TILING_DATA_CLASS(ReduceSum, ReduceSumTilingData) +} diff --git a/precision_Problem/Is_standard/op_kernel/CMakeLists.txt b/precision_Problem/Is_standard/op_kernel/CMakeLists.txt new file mode 100644 index 0000000..8c94a95 --- /dev/null +++ b/precision_Problem/Is_standard/op_kernel/CMakeLists.txt @@ -0,0 +1,68 @@ +# set custom compile options +if ("${CMAKE_BUILD_TYPE}x" STREQUAL "Debugx") + add_ops_compile_options(ALL OPTIONS -g -O0) +endif() + +foreach(compute_unit ${ASCEND_COMPUTE_UNIT}) + + # generate aic-${compute_unit}-ops-info.json + add_ops_info_target(TARGET ops_info_gen_${compute_unit} + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/tbe/op_info_cfg/ai_core/${compute_unit}/aic-${compute_unit}-ops-info.json + OPS_INFO ${ASCEND_AUTOGEN_PATH}/aic-${compute_unit}-ops-info.ini + INSTALL_DIR packages/vendors/${vendor_name}/op_impl/ai_core/tbe/config/${compute_unit} + ) + + # generate ascendc impl py once + if (NOT TARGET ascendc_impl_gen) + add_ops_impl_target(TARGET ascendc_impl_gen + OPS_INFO ${ASCEND_AUTOGEN_PATH}/aic-${compute_unit}-ops-info.ini + IMPL_DIR ${CMAKE_CURRENT_SOURCE_DIR} + OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/tbe + INSTALL_DIR packages/vendors/${vendor_name}/op_impl/ai_core/tbe/${vendor_name}_impl + ) + endif() + + # dynamic shape binary compile + if (${ENABLE_BINARY_PACKAGE} AND NOT ${ENABLE_CROSS_COMPILE}) + add_bin_compile_target(TARGET ascendc_bin_${compute_unit} + OPS_INFO ${ASCEND_AUTOGEN_PATH}/aic-${compute_unit}-ops-info.ini + IMPL_DIR ${CMAKE_CURRENT_SOURCE_DIR} + ADP_DIR ${CMAKE_CURRENT_BINARY_DIR}/tbe/dynamic + OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/binary/${compute_unit} + INSTALL_DIR packages/vendors/${vendor_name}/op_impl/ai_core/tbe/kernel + COMPUTE_UNIT ${compute_unit} + ) + add_dependencies(ascendc_bin_${compute_unit} ascendc_impl_gen) + endif() + + if (${ENABLE_CROSS_COMPILE} AND ${ENABLE_BINARY_PACKAGE}) + add_cross_compile_target( + TARGET bin_${compute_unit} + OUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../kernel + INSTALL_DIR packages/vendors/${vendor_name}/op_impl/ai_core/tbe/ + ) + endif() +endforeach() + +# generate npu_supported_ops.json +add_npu_support_target(TARGET npu_supported_ops + OPS_INFO_DIR ${ASCEND_AUTOGEN_PATH} + OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/tbe/op_info_cfg/ai_core + INSTALL_DIR packages/vendors/${vendor_name}/framework/${ASCEND_FRAMEWORK_TYPE} +) + +if(ENABLE_TEST AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/testcases) + add_subdirectory(testcases) +endif() + +# install kernel file +if (${ENABLE_SOURCE_PACKAGE}) + file(GLOB KERNEL_FILES + ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/*.h + ${CMAKE_CURRENT_SOURCE_DIR}/*.py + ) + install(FILES ${KERNEL_FILES} + DESTINATION packages/vendors/${vendor_name}/op_impl/ai_core/tbe/${vendor_name}_impl/dynamic + ) +endif() diff --git a/precision_Problem/Is_standard/op_kernel/reduce_sum.cpp b/precision_Problem/Is_standard/op_kernel/reduce_sum.cpp new file mode 100644 index 0000000..1d2aa96 --- /dev/null +++ b/precision_Problem/Is_standard/op_kernel/reduce_sum.cpp @@ -0,0 +1,85 @@ +#include "kernel_operator.h" +using namespace AscendC; + +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2022-2023. All rights reserved. + * + * Function : z = x + y + * This sample is a very basic sample that implements vector add on Ascend plaform. + */ +#include "kernel_operator.h" +using namespace AscendC; + + +class KernelAdd +{ + + +public: + __aicore__ inline KernelAdd() {} + __aicore__ inline void Init(GM_ADDR x, GM_ADDR axis, GM_ADDR y, uint32_t size, uint16_t *shape, uint32_t axes_size, uint32_t dataType) + { + + + xGm.SetGlobalBuffer((__gm__ half *)x, 32); + + + + yGm.SetGlobalBuffer((__gm__ half *)y, 1); + + + pipe.InitBuffer(inQueueX, 1, 2048 * sizeof(half)); + + pipe.InitBuffer(outQueueY, 1, 2048 * sizeof(half)); + + pipe.InitBuffer(tmp1, 2048 * sizeof(float)); + pipe.InitBuffer(tmp2, 2048 * sizeof(float)); + pipe.InitBuffer(tmp3, 2048 * sizeof(float)); + + } + __aicore__ inline void Act() + { + LocalTensor xLocal = inQueueX.AllocTensor(); + LocalTensor yLocal = outQueueY.AllocTensor(); + DataCopy(xLocal, xGm, 32); + + auto p1 = tmp1.Get(); + auto p2 = tmp2.Get(); + auto p3 = tmp3.Get(); + + Cast(p1, xLocal, RoundMode::CAST_NONE, 32); + Cast(p2, yLocal, RoundMode::CAST_NONE, 32); + + ReduceSum(p2, p1, p3, 32); + Cast(yLocal, p2, RoundMode::CAST_TRUNC, 32); + yGm.SetValue(0, yLocal.GetValue(0)); + + inQueueX.FreeTensor(xLocal); + outQueueY.FreeTensor(yLocal); + + } + + + +private: + TPipe pipe; + TQue inQueueX; + + TQue outQueueY; + + TBuf tmp1, tmp2, tmp3; + + GlobalTensor xGm; + GlobalTensor yGm; + +}; + +extern "C" __global__ __aicore__ void reduce_sum(GM_ADDR x, GM_ADDR axes, GM_ADDR y, GM_ADDR workspace, GM_ADDR tiling) +{ + GET_TILING_DATA(tiling_data, tiling); + KernelAdd op; + op.Init(x, axes, y, tiling_data.size, + tiling_data.shape, tiling_data.axis_size, + tiling_data.dataType); + op.Act(); +} diff --git a/precision_Problem/Is_standard/scripts/help.info b/precision_Problem/Is_standard/scripts/help.info new file mode 100644 index 0000000..f4b28d5 --- /dev/null +++ b/precision_Problem/Is_standard/scripts/help.info @@ -0,0 +1 @@ + --install-path Install operator package to specific dir path \ No newline at end of file diff --git a/precision_Problem/Is_standard/scripts/install.sh b/precision_Problem/Is_standard/scripts/install.sh new file mode 100644 index 0000000..8468c5a --- /dev/null +++ b/precision_Problem/Is_standard/scripts/install.sh @@ -0,0 +1,318 @@ +#!/bin/bash +vendor_name=customize +targetdir=/usr/local/Ascend/opp +target_custom=0 + +sourcedir=$PWD/packages +vendordir=vendors/$vendor_name + +QUIET="y" + +while true +do + case $1 in + --quiet) + QUIET="y" + shift + ;; + --install-path=*) + INSTALL_PATH=$(echo $1 | cut -d"=" -f2-) + INSTALL_PATH=${INSTALL_PATH%*/} + shift + ;; + --*) + shift + ;; + *) + break + ;; + esac +done + +log() { + cur_date=`date +"%Y-%m-%d %H:%M:%S"` + echo "[runtime] [$cur_date] "$1 +} + +if [ -n "${INSTALL_PATH}" ]; then + if [[ ! "${INSTALL_PATH}" = /* ]]; then + log "[ERROR] use absolute path for --install-path argument" + exit 1 + fi + if [ ! -d ${INSTALL_PATH} ]; then + mkdir ${INSTALL_PATH} >> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${INSTALL_PATH} failed" + exit 1 + fi + fi + targetdir=${INSTALL_PATH} +elif [ -n "${ASCEND_CUSTOM_OPP_PATH}" ]; then + if [ ! -d ${ASCEND_CUSTOM_OPP_PATH} ]; then + mkdir -p ${ASCEND_CUSTOM_OPP_PATH} >> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${ASCEND_CUSTOM_OPP_PATH} failed" + fi + fi + targetdir=${ASCEND_CUSTOM_OPP_PATH} +else + if [ "x${ASCEND_OPP_PATH}" == "x" ]; then + log "[ERROR] env ASCEND_OPP_PATH no exist" + exit 1 + fi + targetdir="${ASCEND_OPP_PATH}" +fi + +if [ ! -d $targetdir ];then + log "[ERROR] $targetdir no exist" + exit 1 +fi + +upgrade() +{ + if [ ! -d ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 files" + return 0 + fi + + if [ ! -d ${targetdir}/$vendordir/$1 ];then + log "[INFO] create ${targetdir}/$vendordir/$1." + mkdir -p ${targetdir}/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/$vendordir/$1 failed" + return 1 + fi + else + has_same_file=-1 + for file_a in ${sourcedir}/$vendordir/$1/*; do + file_b=${file_a##*/}; + if [ "ls ${targetdir}/$vendordir/$1" = "" ]; then + log "[INFO] ${targetdir}/$vendordir/$1 is empty !!" + return 1 + fi + grep -q $file_b <<<`ls ${targetdir}/$vendordir/$1`; + if [[ $? -eq 0 ]]; then + echo -n "${file_b} " + has_same_file=0 + fi + done + if [ 0 -eq $has_same_file ]; then + if test $QUIET = "n"; then + echo "[INFO]: has old version in ${targetdir}/$vendordir/$1, \ + you want to Overlay Installation , please enter:[o]; \ + or replace directory installation , please enter: [r]; \ + or not install , please enter:[n]." + + while true + do + read orn + if [ "$orn" = n ]; then + return 0 + elif [ "$orn" = m ]; then + break; + elif [ "$0rn" = r ]; then + [ -n "${targetdir}/$vendordir/$1/" ] && rm -rf "${targetdir}/$vendordir/$1"/* + break; + else + echo "[ERROR] input error, please input again!" + fi + done + fi + fi + log "[INFO] replace or merge old ops $1 files .g....." + fi + + log "copy new ops $1 files ......" + if [ -d ${targetdir}/$vendordir/$1/ ]; then + chmod -R +w "$targetdir/$vendordir/$1/" >/dev/null 2>&1 + fi + cp -rf ${sourcedir}/$vendordir/$1/* $targetdir/$vendordir/$1/ + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 files failed" + return 1 + fi + + return 0 +} +upgrade_proto() +{ + if [ ! -f ${sourcedir}/$vendordir/custom.proto ]; then + log "[INFO] no need to upgrade custom.proto files" + return 0 + fi + if [ ! -d ${targetdir}/$vendordir/framework/caffe ];then + log "[INFO] create ${targetdir}/$vendordir/framework/caffe." + mkdir -p ${targetdir}/$vendordir/framework/caffe + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/$vendordir/framework/caffe failed" + return 1 + fi + else + if [ -f ${targetdir}/$vendordir/framework/caffe/custom.proto ]; then + # 有老版本,判断是否要覆盖式安装 + if test $QUIET = "n"; then + echo "[INFO] ${targetdir}/$vendordir/framework/caffe has old version"\ + "custom.proto file. Do you want to replace? [y/n] " + + while true + do + read yn + if [ "$yn" = n ]; then + return 0 + elif [ "$yn" = y ]; then + break; + else + echo "[ERROR] input error, please input again!" + fi + done + fi + fi + log "[INFO] replace old caffe.proto files ......" + fi + chmod -R +w "$targetdir/$vendordir/framework/caffe/" >/dev/null 2>&1 + cp -rf ${sourcedir}/$vendordir/custom.proto ${targetdir}/$vendordir/framework/caffe/ + if [ $? -ne 0 ];then + log "[ERROR] copy new custom.proto failed" + return 1 + fi + log "[INFO] copy custom.proto success" + + return 0 +} + +upgrade_file() +{ + if [ ! -e ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 file" + return 0 + fi + + log "copy new $1 files ......" + cp -f ${sourcedir}/$vendordir/$1 $targetdir/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 file failed" + return 1 + fi + + return 0 +} + +delete_optiling_file() +{ + if [ ! -d ${targetdir}/vendors ];then + log "[INFO] $1 not exist, no need to uninstall" + return 0 + fi + sys_info=$(uname -m) + if [ ! -d ${sourcedir}/$vendordir/$1/ai_core/tbe/op_tiling/lib/linux/${sys_info} ];then + rm -rf ${sourcedir}/$vendordir/$1/ai_core/tbe/op_tiling/liboptiling.so + fi + return 0 +} + +log "[INFO] copy uninstall sh success" + +if [ ! -d ${targetdir}/vendors ];then + log "[INFO] create ${targetdir}/vendors." + mkdir -p ${targetdir}/vendors + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/vendors failed" + return 1 + fi +fi +chmod u+w ${targetdir}/vendors + +echo "[ops_custom]upgrade framework" +upgrade framework +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op proto" +upgrade op_proto +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade version.info" +upgrade_file version.info +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op impl" +delete_optiling_file op_impl +upgrade op_impl +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op api" +upgrade op_api +if [ $? -ne 0 ];then + exit 1 +fi + +upgrade_proto +if [ $? -ne 0 ];then + exit 1 +fi + +# set the set_env.bash +if [ -n "${INSTALL_PATH}" ] && [ -d ${INSTALL_PATH} ]; then + _ASCEND_CUSTOM_OPP_PATH=${targetdir}/${vendordir} + bin_path="${_ASCEND_CUSTOM_OPP_PATH}/bin" + set_env_variable="#!/bin/bash\nexport ASCEND_CUSTOM_OPP_PATH=${_ASCEND_CUSTOM_OPP_PATH}:\${ASCEND_CUSTOM_OPP_PATH}" + if [ ! -d ${bin_path} ]; then + mkdir -p ${bin_path} >> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${bin_path} failed" + exit 1 + fi + fi + echo -e ${set_env_variable} > ${bin_path}/set_env.bash + if [ $? -ne 0 ]; then + log "[ERROR] write ASCEND_CUSTOM_OPP_PATH to set_env.bash failed" + exit 1 + else + log "[INFO] using requirements: when custom module install finished or before you run the custom module, \ + execute the command [ source ${bin_path}/set_env.bash ] to set the environment path" + fi +else + config_file=${targetdir}/vendors/config.ini + if [ ! -f ${config_file} ]; then + touch ${config_file} + chmod 640 ${config_file} + echo "load_priority=$vendor_name" > ${config_file} + if [ $? -ne 0 ];then + echo "echo load_priority failed" + exit 1 + fi + else + found_vendors="$(grep -w "load_priority" "$config_file" | cut --only-delimited -d"=" -f2-)" + found_vendor=$(echo $found_vendors | sed "s/$vendor_name//g" | tr ',' ' ') + vendor=$(echo $found_vendor | tr -s ' ' ',') + if [ "$vendor" != "" ]; then + sed -i "/load_priority=$found_vendors/s@load_priority=$found_vendors@load_priority=$vendor_name,$vendor@g" "$config_file" + fi + fi +fi + +chmod u-w ${targetdir}/vendors + +if [ -d ${targetdir}/$vendordir/op_impl/cpu/aicpu_kernel/impl/ ]; then + chmod -R 440 ${targetdir}/$vendordir/op_impl/cpu/aicpu_kernel/impl/* >/dev/null 2>&1 +fi +if [ -f ${targetdir}/ascend_install.info ]; then + chmod -R 440 ${targetdir}/ascend_install.info +fi +if [ -f ${targetdir}/scene.info ]; then + chmod -R 440 ${targetdir}/scene.info +fi +if [ -f ${targetdir}/version.info ]; then + chmod -R 440 ${targetdir}/version.info +fi + +echo "SUCCESS" +exit 0 + diff --git a/precision_Problem/Is_standard/scripts/upgrade.sh b/precision_Problem/Is_standard/scripts/upgrade.sh new file mode 100644 index 0000000..e091734 --- /dev/null +++ b/precision_Problem/Is_standard/scripts/upgrade.sh @@ -0,0 +1,151 @@ +#!/bin/bash +vendor_name=customize +targetdir=/usr/local/Ascend/opp +target_custom=0 + +sourcedir=$PWD/packages +vendordir=vendors/$vendor_name + +log() { + cur_date=`date +"%Y-%m-%d %H:%M:%S"` + echo "[runtime] [$cur_date] "$1 +} + +if [[ "x${ASCEND_OPP_PATH}" == "x" ]];then + log "[ERROR] env ASCEND_OPP_PATH no exist" + exit 1 +fi + +targetdir=${ASCEND_OPP_PATH} + +if [ ! -d $targetdir ];then + log "[ERROR] $targetdir no exist" + exit 1 +fi + +upgrade() +{ + if [ ! -d ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 files" + return 0 + fi + + if [ ! -d ${targetdir}/$vendordir/$1 ];then + log "[INFO] create ${targetdir}/$vendordir/$1." + mkdir -p ${targetdir}/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/$vendordir/$1 failed" + return 1 + fi + else + vendor_installed_dir=$(ls "$targetdir/vendors" 2> /dev/null) + for i in $vendor_installed_dir;do + vendor_installed_file=$(ls "$vendor_installed_dir/$vendor_name/$i" 2> /dev/null) + if [ "$i" = "$vendor_name" ] && [ "$vendor_installed_file" != "" ]; then + echo "[INFO]: $vendor_name custom opp package has been installed on the path $vendor_installed_dir, \ + you want to Overlay Installation , please enter:[o]; \ + or replace directory installation , please enter: [r]; \ + or not install , please enter:[n]." + fi + while true + do + read mrn + if [ "$mrn" = m ]; then + break + elif [ "$mrn" = r ]; then + [ -n "$vendor_installed_file"] && rm -rf "$vendor_installed_file" + break + elif [ "$mrn" = n ]; then + return 0 + else + echo "[WARNING]: Input error, please input m or r or n to choose!" + fi + done + done + log "[INFO] replace old ops $1 files ......" + fi + + log "copy new ops $1 files ......" + cp -rf ${sourcedir}/$vendordir/$1/* $targetdir/$vendordir/$1/ + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 files failed" + return 1 + fi + + return 0 +} + +upgrade_file() +{ + if [ ! -e ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 file" + return 0 + fi + + log "copy new $1 files ......" + cp -f ${sourcedir}/$vendordir/$1 $targetdir/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 file failed" + return 1 + fi + + return 0 +} + +log "[INFO] copy uninstall sh success" + +echo "[ops_custom]upgrade framework" +upgrade framework +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op proto" +upgrade op_proto +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op impl" +upgrade op_impl +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op api" +upgrade op_api +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade version.info" +upgrade_file version.info +if [ $? -ne 0 ];then + exit 1 +fi + +config_file=${targetdir}/vendors/config.ini +found_vendors="$(grep -w "load_priority" "$config_file" | cut --only-delimited -d"=" -f2-)" +found_vendor=$(echo $found_vendors | sed "s/$vendor_name//g" | tr ',' ' ') +vendor=$(echo $found_vendor | tr -s ' ' ',') +if [ "$vendor" != "" ]; then + sed -i "/load_priority=$found_vendors/s@load_priority=$found_vendors@load_priority=$vendor_name,$vendor@g" "$config_file" +fi + +changemode() +{ + if [ -d ${targetdir} ];then + chmod -R 550 ${targetdir}>/dev/null 2>&1 + fi + + return 0 +} +echo "[ops_custom]changemode..." +#changemode +if [ $? -ne 0 ];then + exit 1 +fi + +echo "SUCCESS" +exit 0 + diff --git a/precision_Problem/No_standard/CMakeLists.txt b/precision_Problem/No_standard/CMakeLists.txt new file mode 100644 index 0000000..584132d --- /dev/null +++ b/precision_Problem/No_standard/CMakeLists.txt @@ -0,0 +1,69 @@ +cmake_minimum_required(VERSION 3.16.0) +project(opp) +if(ENABLE_CROSS_COMPILE) + if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL x86_64) + set(CROSS_COMPILE_PLATFORM aarch64) + else() + set(CROSS_COMPILE_PLATFORM x86_64) + endif() + set(PLATFORM ${CMAKE_SYSTEM_PROCESSOR}) + set(CMAKE_COMPILE_COMPILER_LIBRARY ${ASCEND_CANN_PACKAGE_PATH}/${PLATFORM}-linux/devlib/linux/${CROSS_COMPILE_PLATFORM}/) + set(CMAKE_COMPILE_RUNTIME_LIBRARY ${ASCEND_CANN_PACKAGE_PATH}/${PLATFORM}-linux/devlib/${CROSS_COMPILE_PLATFORM}/) + set(CMAKE_SYSTEM_PROCESSOR ${CROSS_COMPILE_PLATFORM}) + set(CMAKE_COMPILE ${CMAKE_CXX_COMPILER}) + set(CMAKE_CXX_COMPILER ${CMAKE_CROSS_PLATFORM_COMPILER}) +else() + set(CMAKE_COMPILE ${CMAKE_CXX_COMPILER}) +endif() + +include(cmake/config.cmake) +include(cmake/func.cmake) +include(cmake/intf.cmake) + +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/framework) + add_subdirectory(framework) +endif() +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/op_host) + add_subdirectory(op_host) +endif() +if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/op_kernel) + add_subdirectory(op_kernel) +endif() +if(ENABLE_TEST AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/testcases) + add_subdirectory(testcases) +endif() + +# modify vendor_name in install.sh and upgrade.sh +add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/scripts/install.sh ${CMAKE_BINARY_DIR}/scripts/upgrade.sh + COMMAND mkdir -p ${CMAKE_BINARY_DIR}/scripts + COMMAND cp -r ${CMAKE_SOURCE_DIR}/scripts/* ${CMAKE_BINARY_DIR}/scripts/ + COMMAND sed -i "s/vendor_name=customize/vendor_name=${vendor_name}/g" ${CMAKE_BINARY_DIR}/scripts/* +) +add_custom_target(modify_vendor ALL DEPENDS ${CMAKE_BINARY_DIR}/scripts/install.sh ${CMAKE_BINARY_DIR}/scripts/upgrade.sh) +install(DIRECTORY ${CMAKE_BINARY_DIR}/scripts/ DESTINATION . FILE_PERMISSIONS OWNER_EXECUTE OWNER_READ GROUP_READ) + +install(FILES ${CMAKE_SOURCE_DIR}/custom.proto DESTINATION packages OPTIONAL) + +get_system_info(SYSTEM_INFO) + +# gen version.info +add_custom_target(gen_version_info ALL + COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/cmake/util/gen_version_info.sh ${ASCEND_CANN_PACKAGE_PATH} ${CMAKE_CURRENT_BINARY_DIR} +) + +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/version.info + DESTINATION packages/vendors/${vendor_name}/) + +# CPack config +set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME}) +set(CPACK_PACKAGE_VERSION ${CMAKE_PROJECT_VERSION}) +set(CPACK_PACKAGE_DESCRIPTION "CPack opp project") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CPack opp project") +set(CPACK_PACKAGE_DIRECTORY ${CMAKE_INSTALL_PREFIX}) +set(CPACK_PACKAGE_FILE_NAME "custom_opp_${SYSTEM_INFO}.run") +set(CPACK_GENERATOR External) +set(CPACK_CMAKE_GENERATOR "Unix Makefiles") +set(CPACK_EXTERNAL_ENABLE_STAGING TRUE) +set(CPACK_EXTERNAL_PACKAGE_SCRIPT ${CMAKE_SOURCE_DIR}/cmake/makeself.cmake) +set(CPACK_EXTERNAL_BUILT_PACKAGES ${CPACK_PACKAGE_DIRECTORY}/_CPack_Packages/Linux/External/${CPACK_PACKAGE_FILE_NAME}/${CPACK_PACKAGE_FILE_NAME}) +include(CPack) diff --git a/precision_Problem/No_standard/CMakePresets.json b/precision_Problem/No_standard/CMakePresets.json new file mode 100644 index 0000000..8b71810 --- /dev/null +++ b/precision_Problem/No_standard/CMakePresets.json @@ -0,0 +1,63 @@ +{ + "version": 1, + "cmakeMinimumRequired": { + "major": 3, + "minor": 19, + "patch": 0 + }, + "configurePresets": [ + { + "name": "default", + "displayName": "Default Config", + "description": "Default build using Unix Makefiles generator", + "generator": "Unix Makefiles", + "binaryDir": "${sourceDir}/build_out", + "cacheVariables": { + "CMAKE_BUILD_TYPE": { + "type": "STRING", + "value": "Release" + }, + "ENABLE_SOURCE_PACKAGE": { + "type": "BOOL", + "value": "True" + }, + "ENABLE_BINARY_PACKAGE": { + "type": "BOOL", + "value": "True" + }, + "ASCEND_COMPUTE_UNIT": { + "type": "STRING", + "value": "ascend310b" + }, + "ENABLE_TEST": { + "type": "BOOL", + "value": "True" + }, + "vendor_name": { + "type": "STRING", + "value": "customize" + }, + "ASCEND_CANN_PACKAGE_PATH": { + "type": "PATH", + "value": "/usr/local/Ascend/ascend-toolkit/latest" + }, + "ASCEND_PYTHON_EXECUTABLE": { + "type": "STRING", + "value": "python3" + }, + "CMAKE_INSTALL_PREFIX": { + "type": "PATH", + "value": "${sourceDir}/build_out" + }, + "ENABLE_CROSS_COMPILE": { + "type": "BOOL", + "value": "False" + }, + "CMAKE_CROSS_PLATFORM_COMPILER": { + "type": "PATH", + "value": "/usr/bin/aarch64-linux-gnu-g++" + } + } + } + ] +} \ No newline at end of file diff --git a/precision_Problem/No_standard/build.sh b/precision_Problem/No_standard/build.sh new file mode 100644 index 0000000..27d1968 --- /dev/null +++ b/precision_Problem/No_standard/build.sh @@ -0,0 +1,80 @@ +#!/bin/bash +script_path=$(realpath $(dirname $0)) + + +mkdir -p build_out +rm -rf build_out/* +cd build_out + +opts=$(python3 $script_path/cmake/util/preset_parse.py $script_path/CMakePresets.json) +ENABLE_CROSS="-DENABLE_CROSS_COMPILE=True" +ENABLE_BINARY="-DENABLE_BINARY_PACKAGE=True" +cmake_version=$(cmake --version | grep "cmake version" | awk '{print $3}') + +cmake_run_package() +{ + target=$1 + cmake --build . --target $target -j16 + if [ $? -ne 0 ]; then exit 1; fi + + if [ $target = "package" ]; then + if test -d ./op_kernel/binary ; then + ./cust*.run + if [ $? -ne 0 ]; then exit 1; fi + cmake --build . --target binary -j16 + if [ $? -ne 0 ]; then + echo "[ERROR] Kernel compile failed, the run package will not be generated." + rm -rf ./cust*.run && rm -rf ./cust*.run.json && exit 1; + fi + cmake --build . --target $target -j16 + fi + fi +} + +if [[ $opts =~ $ENABLE_CROSS ]] && [[ $opts =~ $ENABLE_BINARY ]] +then + target=package + if [ "$1"x != ""x ]; then target=$1; fi + if [ "$cmake_version" \< "3.19.0" ] ; then + cmake .. $opts -DENABLE_CROSS_COMPILE=0 + else + cmake .. --preset=default -DENABLE_CROSS_COMPILE=0 + fi + cmake_run_package $target + cp -r kernel ../ + rm -rf * + if [ "$cmake_version" \< "3.19.0" ] ; then + cmake .. $opts + else + cmake .. --preset=default + fi + + cmake --build . --target $target -j16 + if [ $? -ne 0 ]; then + echo "[ERROR] Kernel compile failed, the run package will not be generated." + rm -rf ./cust*.run && rm -rf ./cust*.run.json && exit 1; + fi + if [ $target = "package" ]; then + if test -d ./op_kernel/binary ; then + ./cust*.run + fi + fi + rm -rf ../kernel + +else + target=package + if [ "$1"x != ""x ]; then target=$1; fi + if [ "$cmake_version" \< "3.19.0" ] ; then + cmake .. $opts + else + cmake .. --preset=default + fi + cmake_run_package $target +fi + + +# for debug +# cd build_out +# make +# cpack +# verbose append -v \ No newline at end of file diff --git a/precision_Problem/No_standard/build_out/CMakeCache.txt b/precision_Problem/No_standard/build_out/CMakeCache.txt new file mode 100644 index 0000000..3be85a7 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeCache.txt @@ -0,0 +1,425 @@ +# This is the CMakeCache file. +# For build in directory: /Package_Cann/test/No_standard/build_out +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//No help, variable specified on the command line. +ASCEND_CANN_PACKAGE_PATH:PATH=/usr/local/Ascend/ascend-toolkit/latest + +//No help, variable specified on the command line. +ASCEND_COMPUTE_UNIT:STRING=ascend310b + +//No help, variable specified on the command line. +ASCEND_PYTHON_EXECUTABLE:STRING=python3 + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//No help, variable specified on the command line. +CMAKE_BUILD_TYPE:STRING=Release + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//No help, variable specified on the command line. +CMAKE_CROSS_PLATFORM_COMPILER:PATH=/usr/bin/aarch64-linux-gnu-g++ + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//No help, variable specified on the command line. +CMAKE_INSTALL_PREFIX:PATH=/Package_Cann/test/No_standard/build_out + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=opp + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Enable to build RPM source packages +CPACK_SOURCE_RPM:BOOL=OFF + +//Enable to build TBZ2 source packages +CPACK_SOURCE_TBZ2:BOOL=ON + +//Enable to build TGZ source packages +CPACK_SOURCE_TGZ:BOOL=ON + +//Enable to build TXZ source packages +CPACK_SOURCE_TXZ:BOOL=ON + +//Enable to build TZ source packages +CPACK_SOURCE_TZ:BOOL=ON + +//Enable to build ZIP source packages +CPACK_SOURCE_ZIP:BOOL=OFF + +//No help, variable specified on the command line. +ENABLE_BINARY_PACKAGE:BOOL=True + +//No help, variable specified on the command line. +ENABLE_CROSS_COMPILE:BOOL=False + +//No help, variable specified on the command line. +ENABLE_SOURCE_PACKAGE:BOOL=True + +//No help, variable specified on the command line. +ENABLE_TEST:BOOL=True + +//Value Computed by CMake +opp_BINARY_DIR:STATIC=/Package_Cann/test/No_standard/build_out + +//Value Computed by CMake +opp_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +opp_SOURCE_DIR:STATIC=/Package_Cann/test/No_standard + +//No help, variable specified on the command line. +vendor_name:STRING=customize + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/Package_Cann/test/No_standard/build_out +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=22 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/Package_Cann/test/No_standard +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=5 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.22 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_SOURCE_RPM +CPACK_SOURCE_RPM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_SOURCE_TBZ2 +CPACK_SOURCE_TBZ2-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_SOURCE_TGZ +CPACK_SOURCE_TGZ-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_SOURCE_TXZ +CPACK_SOURCE_TXZ-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_SOURCE_TZ +CPACK_SOURCE_TZ-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_SOURCE_ZIP +CPACK_SOURCE_ZIP-ADVANCED:INTERNAL=1 + diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CMakeCCompiler.cmake b/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CMakeCCompiler.cmake new file mode 100644 index 0000000..0c0b1de --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "11.4.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-11") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "aarch64-linux-gnu") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "aarch64-linux-gnu") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/aarch64-linux-gnu/11/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/aarch64-linux-gnu/11;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake b/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..f59b84f --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "11.4.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-11") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "aarch64-linux-gnu") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "aarch64-linux-gnu") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/11;/usr/include/aarch64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/lib/gcc/aarch64-linux-gnu/11/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/aarch64-linux-gnu/11;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin b/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin new file mode 100644 index 0000000000000000000000000000000000000000..dfdc241f48036b01323e7889d7e41cfab5b12a27 GIT binary patch literal 9024 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 se?c7J`^pwP>W{8VPG8h_ul|e(JnJ*A{i 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 J5oGGs{};RSnOy(? literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CMakeSystem.cmake b/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CMakeSystem.cmake new file mode 100644 index 0000000..e7ba5ca --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-5.10.0+") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "5.10.0+") +set(CMAKE_HOST_SYSTEM_PROCESSOR "aarch64") + + + +set(CMAKE_SYSTEM "Linux-5.10.0+") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "5.10.0+") +set(CMAKE_SYSTEM_PROCESSOR "aarch64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c b/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..41b99d7 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,803 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CompilerIdC/a.out b/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CompilerIdC/a.out new file mode 100644 index 0000000000000000000000000000000000000000..e8a72558d96dcc6624712e8c2160f02c6c9e0f9f GIT binary patch literal 9168 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 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CompilerIdCXX/a.out b/precision_Problem/No_standard/build_out/CMakeFiles/3.22.1/CompilerIdCXX/a.out new file mode 100644 index 0000000000000000000000000000000000000000..47c74a11ebba8f57647130a4389f88befac42ec5 GIT binary patch literal 9176 zcmeHNYiwLc6+XM`wodbKTtZq%NH&ij;gO9ULh6>%tY2}A94DkMDn#Y_+Pn5{yWX{S z?-nOP#DyYJwM90KsHs%2pg-IKQjtPQq^hJLZOOKC{EN?Nc4xR7LPUCb%y%Ah?#!9FGsiyO-M2R!3K2?#eo4}ryw)OdWt?5F6((_NqhXEJ2TNISc+t^?6b!MgI z&#bf-L1)#EIi=8(rs&P7-kj=zE~sOmct3eJc?Q&8kajUo3aH3RIryfRkb2iL)2yMl zS(ref_XXC|DN~6nlhw*Tr2Q>5E-CdN6!WknlOEcUNo>!gv&D(+uA3iD?cNnDm%RVkjX)J)^exS7R84f>R8>!ShNl<+MDa(3C5yzaFMNNzp#WnInMBe>x`tcZYF&+ z$xR;UVW;4^dCwVh(^+zda(RygmEqn^J$=0$ozBi!>&=zwr+1OlJFwqLB=gD9biqsJ z2ljVna@pj7JCqTdqhq$d$ELr>VHcsDik&p=FnvyS zvA!Z2s8c$@v$~Fe#}!{_vhxG{gyM}lZ@|%B9l)n_0p1kA=M|3z@QaFX3*e2q{#pX~ zHpS1XpCNuPeKqsO^FG`kf`9el{&jlMhpQ{b&NGUK*|@9=lv6(3Z~u%B_uGHjhhuGt zt&P#hA1@#K)l-)vH2o=}6PJ&@Fn1>6ytcsD6wy@kYdxjaKe~N78s7Mt$l@`)KQZq` z%QNlQxqZRczQFD99;0jcZ*hCGZR0&a#qP&w^7k9~c{4&!pO3^#7q-y!TkO{)`#~3b zN)hHY@N>Rge(Y_24E|nEDNc0qjdJ-$@f-dz?-`n>>HC>(V!DUuZ)bQL=JwR4w|h!1 z>nub3Xd`rUjJojxC-Qh6htHu`az4pF=`-!yqTO7swag>Pa0C+0WCPxCIhd>(RxSC=F9 zEi}7%+Sp1Bw$-&Wdv!a;uQOMd6Ce4VrZG>5JH#CO!@EmZ2=(^wJ#g!AZfrcAN#+mp zm*H*$SL4oo$$TN5%N}kqrL{F?D=oWFX;C$+H=c35kz9W4aG!jw49oN*U#-Jd(zJP( z%_iJ@f;Y|)x0vw`x87W3CpqCIv(j;)B5|PqZVIi7e723Rq1zg&KX=|QG1FYkaoUJ=?bMd=j!!@#`O^K5#{6jg?kjv7#~$W z&SC4d4gTNXFXsfBvD6{i|%>kHrnd+p&4y7PVJi*ERsd#Y{A-2(T2KR3c>0^FOc@d!<5+*RWZm3XbjuOY-~HGVB2 zo~!Ze2=iQxHxlBb8ec|;!)pBcO1xI%OWjXb5azX7eq|*eQ;n~xtoLfXiN1|M_c0>; zJ9~XXvZlpH7 zcU8+{H7}ylTLZmQUPNrozD{kN$i6AJS;S9N71~}de2Kt4auLa^{*A?xoq*nrV_#+{5^4UtB?Jg7M90_~@+4#{+i0Yw)!-`_=auzad<^ zPJg(Bou8>xc9wh@U?_|8McEke_xw< z7Lfk}zJ+lax8OMZ-1NJ+e@dK5*`{_7&#<$52|Kqd9^C&w&-e|zei7&9j>`5Ah`+#9kk8`Y;Zo(D$Rzb0hcom#wx*kk;b2bc3h8x zYmRMM8$6&CR<@BvUFa5mp}zVTpQ+s8p?^v%pl4N1j)QWS zhdxf|UsN3WxMzVPPoQRM#_uc4kUKc^aUTQ4HxB+o4)k8umpeV$xVKfPb}atOJi~v5 z=_prZOrbxh0}P5h1Nw(P-v0sB?@)utTYwHKF8Y!i3F?1`G4Tt>ZRB}C(GQE5qVAzd z4|2_~k9#HPU`5haBq!`IC%EC)pHxRc7li36abI1kkMrZ#M_vkaO+Y^A|E%g`{Bdpp zeJ-Gn@dG>;(8s+O^fm}84fg+RKp*#G&?f`>!T!%MU()B5JeS^!@pty1JldeYW!)y9 zKJMGIn&^WZimwb!7f3{_FXCMx5f3vZV40ebBd< zL3!!RU+lewsKpO*9r~XP;L!I|#GYR?rTxF6 q4oDuglOOnlbt(5L`0m$l)5PqP0psWwvdv5ApVJS|KOv|zsQ+)$W7-S= literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/CMakeDirectoryInformation.cmake b/precision_Problem/No_standard/build_out/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..84340a0 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/Package_Cann/test/No_standard") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/Package_Cann/test/No_standard/build_out") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/CMakeOutput.log b/precision_Problem/No_standard/build_out/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..2a545e8 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/CMakeOutput.log @@ -0,0 +1,437 @@ +The system is: Linux - 5.10.0+ - aarch64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/cc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/Package_Cann/test/No_standard/build_out/CMakeFiles/3.22.1/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/Package_Cann/test/No_standard/build_out/CMakeFiles/3.22.1/CompilerIdCXX/a.out" + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_c5e4f/fast && /usr/bin/gmake -f CMakeFiles/cmTC_c5e4f.dir/build.make CMakeFiles/cmTC_c5e4f.dir/build +gmake[1]: Entering directory '/Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o +/usr/bin/cc -v -o CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +Target: aarch64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_c5e4f.dir/' + /usr/lib/gcc/aarch64-linux-gnu/11/cc1 -quiet -v -imultiarch aarch64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_c5e4f.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mlittle-endian -mabi=lp64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -o /tmp/ccF1G1lj.s +GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/aarch64-linux-gnu/11/include + /usr/local/include + /usr/include/aarch64-linux-gnu + /usr/include +End of search list. +GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 52ed857e9cd110e5efaa797811afcfbb +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_c5e4f.dir/' + as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o /tmp/ccF1G1lj.s +GNU assembler version 2.38 (aarch64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38 +COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.' +Linking C executable cmTC_c5e4f +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c5e4f.dir/link.txt --verbose=1 +/usr/bin/cc -v CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o -o cmTC_c5e4f +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper +Target: aarch64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) +COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c5e4f' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_c5e4f.' + /usr/lib/gcc/aarch64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccvPBbw9.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o cmTC_c5e4f /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/11 -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/11/../../.. CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c5e4f' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_c5e4f.' +gmake[1]: Leaving directory '/Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp' + + + +Parsed C implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/aarch64-linux-gnu/11/include] + add: [/usr/local/include] + add: [/usr/include/aarch64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/aarch64-linux-gnu/11/include] ==> [/usr/lib/gcc/aarch64-linux-gnu/11/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/aarch64-linux-gnu] ==> [/usr/include/aarch64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/aarch64-linux-gnu/11/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include] + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_c5e4f/fast && /usr/bin/gmake -f CMakeFiles/cmTC_c5e4f.dir/build.make CMakeFiles/cmTC_c5e4f.dir/build] + ignore line: [gmake[1]: Entering directory '/Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp'] + ignore line: [Building C object CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [Target: aarch64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_c5e4f.dir/'] + ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/11/cc1 -quiet -v -imultiarch aarch64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_c5e4f.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mlittle-endian -mabi=lp64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -o /tmp/ccF1G1lj.s] + ignore line: [GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/11/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/aarch64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 52ed857e9cd110e5efaa797811afcfbb] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_c5e4f.dir/'] + ignore line: [ as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o /tmp/ccF1G1lj.s] + ignore line: [GNU assembler version 2.38 (aarch64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38] + ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_c5e4f] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c5e4f.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o -o cmTC_c5e4f ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper] + ignore line: [Target: aarch64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c5e4f' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_c5e4f.'] + link line: [ /usr/lib/gcc/aarch64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccvPBbw9.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o cmTC_c5e4f /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/11 -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/11/../../.. CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccvPBbw9.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib/ld-linux-aarch64.so.1] ==> ignore + arg [-X] ==> ignore + arg [-EL] ==> ignore + arg [-maarch64linux] ==> ignore + arg [--fix-cortex-a53-843419] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_c5e4f] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] + arg [-L/lib/aarch64-linux-gnu] ==> dir [/lib/aarch64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/aarch64-linux-gnu] ==> dir [/usr/lib/aarch64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../..] + arg [CMakeFiles/cmTC_c5e4f.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] ==> [/usr/lib/aarch64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] ==> [/usr/lib/aarch64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] ==> [/usr/lib/aarch64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11] ==> [/usr/lib/gcc/aarch64-linux-gnu/11] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/aarch64-linux-gnu] ==> [/lib/aarch64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit objs: [/usr/lib/aarch64-linux-gnu/Scrt1.o;/usr/lib/aarch64-linux-gnu/crti.o;/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o;/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o;/usr/lib/aarch64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/aarch64-linux-gnu/11;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib] + implicit fwks: [] + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_fd186/fast && /usr/bin/gmake -f CMakeFiles/cmTC_fd186.dir/build.make CMakeFiles/cmTC_fd186.dir/build +gmake[1]: Entering directory '/Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -v -o CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +Target: aarch64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_fd186.dir/' + /usr/lib/gcc/aarch64-linux-gnu/11/cc1plus -quiet -v -imultiarch aarch64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_fd186.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mlittle-endian -mabi=lp64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -o /tmp/ccxYMiiS.s +GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring duplicate directory "/usr/include/aarch64-linux-gnu/c++/11" +ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/include/c++/11 + /usr/include/aarch64-linux-gnu/c++/11 + /usr/include/c++/11/backward + /usr/lib/gcc/aarch64-linux-gnu/11/include + /usr/local/include + /usr/include/aarch64-linux-gnu + /usr/include +End of search list. +GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 3e6e780af1232722b47e0979fda82402 +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_fd186.dir/' + as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccxYMiiS.s +GNU assembler version 2.38 (aarch64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38 +COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.' +Linking CXX executable cmTC_fd186 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_fd186.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_fd186 +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper +Target: aarch64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) +COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_fd186' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_fd186.' + /usr/lib/gcc/aarch64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccjc2MCu.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o cmTC_fd186 /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/11 -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/11/../../.. CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_fd186' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_fd186.' +gmake[1]: Leaving directory '/Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp' + + + +Parsed CXX implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/include/c++/11] + add: [/usr/include/aarch64-linux-gnu/c++/11] + add: [/usr/include/c++/11/backward] + add: [/usr/lib/gcc/aarch64-linux-gnu/11/include] + add: [/usr/local/include] + add: [/usr/include/aarch64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/include/c++/11] ==> [/usr/include/c++/11] + collapse include dir [/usr/include/aarch64-linux-gnu/c++/11] ==> [/usr/include/aarch64-linux-gnu/c++/11] + collapse include dir [/usr/include/c++/11/backward] ==> [/usr/include/c++/11/backward] + collapse include dir [/usr/lib/gcc/aarch64-linux-gnu/11/include] ==> [/usr/lib/gcc/aarch64-linux-gnu/11/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/aarch64-linux-gnu] ==> [/usr/include/aarch64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/11;/usr/include/aarch64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/lib/gcc/aarch64-linux-gnu/11/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include] + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_fd186/fast && /usr/bin/gmake -f CMakeFiles/cmTC_fd186.dir/build.make CMakeFiles/cmTC_fd186.dir/build] + ignore line: [gmake[1]: Entering directory '/Package_Cann/test/No_standard/build_out/CMakeFiles/CMakeTmp'] + ignore line: [Building CXX object CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [Target: aarch64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_fd186.dir/'] + ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/11/cc1plus -quiet -v -imultiarch aarch64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_fd186.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mlittle-endian -mabi=lp64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -o /tmp/ccxYMiiS.s] + ignore line: [GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/usr/include/aarch64-linux-gnu/c++/11"] + ignore line: [ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/include/c++/11] + ignore line: [ /usr/include/aarch64-linux-gnu/c++/11] + ignore line: [ /usr/include/c++/11/backward] + ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/11/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/aarch64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 3e6e780af1232722b47e0979fda82402] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_fd186.dir/'] + ignore line: [ as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccxYMiiS.s] + ignore line: [GNU assembler version 2.38 (aarch64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38] + ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_fd186] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_fd186.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_fd186 ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper] + ignore line: [Target: aarch64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_fd186' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_fd186.'] + link line: [ /usr/lib/gcc/aarch64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccjc2MCu.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o cmTC_fd186 /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/11 -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/11/../../.. CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccjc2MCu.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib/ld-linux-aarch64.so.1] ==> ignore + arg [-X] ==> ignore + arg [-EL] ==> ignore + arg [-maarch64linux] ==> ignore + arg [--fix-cortex-a53-843419] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_fd186] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] + arg [-L/lib/aarch64-linux-gnu] ==> dir [/lib/aarch64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/aarch64-linux-gnu] ==> dir [/usr/lib/aarch64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../..] + arg [CMakeFiles/cmTC_fd186.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] ==> [/usr/lib/aarch64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] ==> [/usr/lib/aarch64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] ==> [/usr/lib/aarch64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11] ==> [/usr/lib/gcc/aarch64-linux-gnu/11] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/aarch64-linux-gnu] ==> [/lib/aarch64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit objs: [/usr/lib/aarch64-linux-gnu/Scrt1.o;/usr/lib/aarch64-linux-gnu/crti.o;/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o;/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o;/usr/lib/aarch64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/aarch64-linux-gnu/11;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib] + implicit fwks: [] + + diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/CMakeRuleHashes.txt b/precision_Problem/No_standard/build_out/CMakeFiles/CMakeRuleHashes.txt new file mode 100644 index 0000000..3203f38 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/CMakeRuleHashes.txt @@ -0,0 +1,18 @@ +# Hashes of file build rules. +fc49c36149720c74e3d4468798eba7b1 CMakeFiles/gen_version_info +106f4d5d8ed098670b9c384a316751e8 CMakeFiles/modify_vendor +c31e8771e27da55409d482fa28ad0d90 op_host/CMakeFiles/optiling_compat +d1a8db870d720ecb87278659a945ea2f op_kernel/CMakeFiles/ascendc_bin_ascend310b +101dfcdbaf1073ff487e946f5a8efff8 op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config +ac2562a204adb2b3ed75b44701ca7dc7 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0 +7c88e9e2f03c95e5b8d45fc36ff6aa29 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1 +fbfea8cec4c9072c969387d7f258d9f8 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2 +ebd53830620e349f320cb5b1c9832b24 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3 +858f4f53e024605f54ea6fcb1cb63350 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy +43d7f41cd2162bb770240c062cfef892 op_kernel/CMakeFiles/ascendc_impl_gen +43d7f41cd2162bb770240c062cfef892 op_kernel/CMakeFiles/npu_supported_ops +43d7f41cd2162bb770240c062cfef892 op_kernel/CMakeFiles/ops_info_gen_ascend310b +4d18c7c06f5999c6bb303693943923c0 op_kernel/tbe/.impl_timestamp +046f50afef67fbb6d968a55549df2185 op_kernel/tbe/op_info_cfg/ai_core/ascend310b/aic-ascend310b-ops-info.json +da76942fdfa458dc97491d13b6493bfd op_kernel/tbe/op_info_cfg/ai_core/npu_supported_ops.json +74b470842ccef39c1657faa217d342eb scripts/install.sh diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/Makefile.cmake b/precision_Problem/No_standard/build_out/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..f061274 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/Makefile.cmake @@ -0,0 +1,155 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "../CMakeLists.txt" + "CMakeFiles/3.22.1/CMakeCCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCXXCompiler.cmake" + "CMakeFiles/3.22.1/CMakeSystem.cmake" + "../cmake/config.cmake" + "../cmake/func.cmake" + "../cmake/intf.cmake" + "../framework/CMakeLists.txt" + "../framework/tf_plugin/CMakeLists.txt" + "../op_host/CMakeLists.txt" + "../op_kernel/CMakeLists.txt" + "/usr/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + "/usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c" + "/usr/share/cmake-3.22/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + "/usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp" + "/usr/share/cmake-3.22/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake" + "/usr/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + "/usr/share/cmake-3.22/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake" + "/usr/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + "/usr/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + "/usr/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + "/usr/share/cmake-3.22/Modules/CMakeSystem.cmake.in" + "/usr/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + "/usr/share/cmake-3.22/Modules/CMakeUnixFindMake.cmake" + "/usr/share/cmake-3.22/Modules/CPack.cmake" + "/usr/share/cmake-3.22/Modules/CPackComponent.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-FindBinUtils.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-Determine-CXX.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux.cmake" + "/usr/share/cmake-3.22/Modules/Platform/UnixPaths.cmake" + "/usr/share/cmake-3.22/Templates/CPackConfig.cmake.in" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/3.22.1/CMakeSystem.cmake" + "CMakeFiles/3.22.1/CMakeCCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCXXCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCXXCompiler.cmake" + "CPackConfig.cmake" + "CPackSourceConfig.cmake" + "CMakeFiles/CMakeDirectoryInformation.cmake" + "framework/CMakeFiles/CMakeDirectoryInformation.cmake" + "framework/tf_plugin/CMakeFiles/CMakeDirectoryInformation.cmake" + "op_host/CMakeFiles/CMakeDirectoryInformation.cmake" + "op_kernel/CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/modify_vendor.dir/DependInfo.cmake" + "CMakeFiles/gen_version_info.dir/DependInfo.cmake" + "framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/DependInfo.cmake" + "op_host/CMakeFiles/cust_op_proto.dir/DependInfo.cmake" + "op_host/CMakeFiles/cust_optiling.dir/DependInfo.cmake" + "op_host/CMakeFiles/cust_opapi.dir/DependInfo.cmake" + "op_host/CMakeFiles/optiling_compat.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ascendc_impl_gen.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/binary.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/DependInfo.cmake" + "op_kernel/CMakeFiles/npu_supported_ops.dir/DependInfo.cmake" + ) diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/Makefile2 b/precision_Problem/No_standard/build_out/CMakeFiles/Makefile2 new file mode 100644 index 0000000..2d78095 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/Makefile2 @@ -0,0 +1,649 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/modify_vendor.dir/all +all: CMakeFiles/gen_version_info.dir/all +all: framework/all +all: op_host/all +all: op_kernel/all +.PHONY : all + +# The main recursive "preinstall" target. +preinstall: framework/preinstall +preinstall: op_host/preinstall +preinstall: op_kernel/preinstall +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/modify_vendor.dir/clean +clean: CMakeFiles/gen_version_info.dir/clean +clean: framework/clean +clean: op_host/clean +clean: op_kernel/clean +.PHONY : clean + +#============================================================================= +# Directory level rules for directory framework + +# Recursive "all" directory target. +framework/all: framework/tf_plugin/all +.PHONY : framework/all + +# Recursive "preinstall" directory target. +framework/preinstall: framework/tf_plugin/preinstall +.PHONY : framework/preinstall + +# Recursive "clean" directory target. +framework/clean: framework/tf_plugin/clean +.PHONY : framework/clean + +#============================================================================= +# Directory level rules for directory framework/tf_plugin + +# Recursive "all" directory target. +framework/tf_plugin/all: framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/all +.PHONY : framework/tf_plugin/all + +# Recursive "preinstall" directory target. +framework/tf_plugin/preinstall: +.PHONY : framework/tf_plugin/preinstall + +# Recursive "clean" directory target. +framework/tf_plugin/clean: framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/clean +.PHONY : framework/tf_plugin/clean + +#============================================================================= +# Directory level rules for directory op_host + +# Recursive "all" directory target. +op_host/all: op_host/CMakeFiles/cust_op_proto.dir/all +op_host/all: op_host/CMakeFiles/cust_optiling.dir/all +op_host/all: op_host/CMakeFiles/cust_opapi.dir/all +op_host/all: op_host/CMakeFiles/optiling_compat.dir/all +.PHONY : op_host/all + +# Recursive "preinstall" directory target. +op_host/preinstall: +.PHONY : op_host/preinstall + +# Recursive "clean" directory target. +op_host/clean: op_host/CMakeFiles/cust_op_proto.dir/clean +op_host/clean: op_host/CMakeFiles/cust_optiling.dir/clean +op_host/clean: op_host/CMakeFiles/cust_opapi.dir/clean +op_host/clean: op_host/CMakeFiles/optiling_compat.dir/clean +.PHONY : op_host/clean + +#============================================================================= +# Directory level rules for directory op_kernel + +# Recursive "all" directory target. +op_kernel/all: op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/all +op_kernel/all: op_kernel/CMakeFiles/ascendc_impl_gen.dir/all +op_kernel/all: op_kernel/CMakeFiles/npu_supported_ops.dir/all +.PHONY : op_kernel/all + +# Recursive "preinstall" directory target. +op_kernel/preinstall: +.PHONY : op_kernel/preinstall + +# Recursive "clean" directory target. +op_kernel/clean: op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/ascendc_impl_gen.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/binary.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/clean +op_kernel/clean: op_kernel/CMakeFiles/npu_supported_ops.dir/clean +.PHONY : op_kernel/clean + +#============================================================================= +# Target rules for target CMakeFiles/modify_vendor.dir + +# All Build rule for target. +CMakeFiles/modify_vendor.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles/modify_vendor.dir/build.make CMakeFiles/modify_vendor.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/modify_vendor.dir/build.make CMakeFiles/modify_vendor.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=11 "Built target modify_vendor" +.PHONY : CMakeFiles/modify_vendor.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/modify_vendor.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/modify_vendor.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : CMakeFiles/modify_vendor.dir/rule + +# Convenience name for target. +modify_vendor: CMakeFiles/modify_vendor.dir/rule +.PHONY : modify_vendor + +# clean rule for target. +CMakeFiles/modify_vendor.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/modify_vendor.dir/build.make CMakeFiles/modify_vendor.dir/clean +.PHONY : CMakeFiles/modify_vendor.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/gen_version_info.dir + +# All Build rule for target. +CMakeFiles/gen_version_info.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles/gen_version_info.dir/build.make CMakeFiles/gen_version_info.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/gen_version_info.dir/build.make CMakeFiles/gen_version_info.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target gen_version_info" +.PHONY : CMakeFiles/gen_version_info.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/gen_version_info.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/gen_version_info.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : CMakeFiles/gen_version_info.dir/rule + +# Convenience name for target. +gen_version_info: CMakeFiles/gen_version_info.dir/rule +.PHONY : gen_version_info + +# clean rule for target. +CMakeFiles/gen_version_info.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/gen_version_info.dir/build.make CMakeFiles/gen_version_info.dir/clean +.PHONY : CMakeFiles/gen_version_info.dir/clean + +#============================================================================= +# Target rules for target framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir + +# All Build rule for target. +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/all: + $(MAKE) $(MAKESILENT) -f framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/depend + $(MAKE) $(MAKESILENT) -f framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=9,10 "Built target cust_tf_parsers" +.PHONY : framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/all + +# Build rule for subdir invocation for target. +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 2 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/rule + +# Convenience name for target. +cust_tf_parsers: framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/rule +.PHONY : cust_tf_parsers + +# clean rule for target. +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/clean: + $(MAKE) $(MAKESILENT) -f framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/clean +.PHONY : framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/clean + +#============================================================================= +# Target rules for target op_host/CMakeFiles/cust_op_proto.dir + +# All Build rule for target. +op_host/CMakeFiles/cust_op_proto.dir/all: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/depend + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=2,3,4 "Built target cust_op_proto" +.PHONY : op_host/CMakeFiles/cust_op_proto.dir/all + +# Build rule for subdir invocation for target. +op_host/CMakeFiles/cust_op_proto.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 3 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/CMakeFiles/cust_op_proto.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_host/CMakeFiles/cust_op_proto.dir/rule + +# Convenience name for target. +cust_op_proto: op_host/CMakeFiles/cust_op_proto.dir/rule +.PHONY : cust_op_proto + +# clean rule for target. +op_host/CMakeFiles/cust_op_proto.dir/clean: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/clean +.PHONY : op_host/CMakeFiles/cust_op_proto.dir/clean + +#============================================================================= +# Target rules for target op_host/CMakeFiles/cust_optiling.dir + +# All Build rule for target. +op_host/CMakeFiles/cust_optiling.dir/all: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_optiling.dir/build.make op_host/CMakeFiles/cust_optiling.dir/depend + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_optiling.dir/build.make op_host/CMakeFiles/cust_optiling.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=7,8 "Built target cust_optiling" +.PHONY : op_host/CMakeFiles/cust_optiling.dir/all + +# Build rule for subdir invocation for target. +op_host/CMakeFiles/cust_optiling.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 2 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/CMakeFiles/cust_optiling.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_host/CMakeFiles/cust_optiling.dir/rule + +# Convenience name for target. +cust_optiling: op_host/CMakeFiles/cust_optiling.dir/rule +.PHONY : cust_optiling + +# clean rule for target. +op_host/CMakeFiles/cust_optiling.dir/clean: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_optiling.dir/build.make op_host/CMakeFiles/cust_optiling.dir/clean +.PHONY : op_host/CMakeFiles/cust_optiling.dir/clean + +#============================================================================= +# Target rules for target op_host/CMakeFiles/cust_opapi.dir + +# All Build rule for target. +op_host/CMakeFiles/cust_opapi.dir/all: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_opapi.dir/build.make op_host/CMakeFiles/cust_opapi.dir/depend + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_opapi.dir/build.make op_host/CMakeFiles/cust_opapi.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=5,6 "Built target cust_opapi" +.PHONY : op_host/CMakeFiles/cust_opapi.dir/all + +# Build rule for subdir invocation for target. +op_host/CMakeFiles/cust_opapi.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 2 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/CMakeFiles/cust_opapi.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_host/CMakeFiles/cust_opapi.dir/rule + +# Convenience name for target. +cust_opapi: op_host/CMakeFiles/cust_opapi.dir/rule +.PHONY : cust_opapi + +# clean rule for target. +op_host/CMakeFiles/cust_opapi.dir/clean: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_opapi.dir/build.make op_host/CMakeFiles/cust_opapi.dir/clean +.PHONY : op_host/CMakeFiles/cust_opapi.dir/clean + +#============================================================================= +# Target rules for target op_host/CMakeFiles/optiling_compat.dir + +# All Build rule for target. +op_host/CMakeFiles/optiling_compat.dir/all: op_host/CMakeFiles/cust_optiling.dir/all + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/optiling_compat.dir/build.make op_host/CMakeFiles/optiling_compat.dir/depend + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/optiling_compat.dir/build.make op_host/CMakeFiles/optiling_compat.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target optiling_compat" +.PHONY : op_host/CMakeFiles/optiling_compat.dir/all + +# Build rule for subdir invocation for target. +op_host/CMakeFiles/optiling_compat.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 2 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/CMakeFiles/optiling_compat.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_host/CMakeFiles/optiling_compat.dir/rule + +# Convenience name for target. +optiling_compat: op_host/CMakeFiles/optiling_compat.dir/rule +.PHONY : optiling_compat + +# clean rule for target. +op_host/CMakeFiles/optiling_compat.dir/clean: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/optiling_compat.dir/build.make op_host/CMakeFiles/optiling_compat.dir/clean +.PHONY : op_host/CMakeFiles/optiling_compat.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/all: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/build.make op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/build.make op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=13 "Built target ops_info_gen_ascend310b" +.PHONY : op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/rule + +# Convenience name for target. +ops_info_gen_ascend310b: op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/rule +.PHONY : ops_info_gen_ascend310b + +# clean rule for target. +op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/build.make op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/clean +.PHONY : op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ascendc_impl_gen.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ascendc_impl_gen.dir/all: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_impl_gen.dir/build.make op_kernel/CMakeFiles/ascendc_impl_gen.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_impl_gen.dir/build.make op_kernel/CMakeFiles/ascendc_impl_gen.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=1 "Built target ascendc_impl_gen" +.PHONY : op_kernel/CMakeFiles/ascendc_impl_gen.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ascendc_impl_gen.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ascendc_impl_gen.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ascendc_impl_gen.dir/rule + +# Convenience name for target. +ascendc_impl_gen: op_kernel/CMakeFiles/ascendc_impl_gen.dir/rule +.PHONY : ascendc_impl_gen + +# clean rule for target. +op_kernel/CMakeFiles/ascendc_impl_gen.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_impl_gen.dir/build.make op_kernel/CMakeFiles/ascendc_impl_gen.dir/clean +.PHONY : op_kernel/CMakeFiles/ascendc_impl_gen.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/binary.dir + +# All Build rule for target. +op_kernel/CMakeFiles/binary.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/all + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/binary.dir/build.make op_kernel/CMakeFiles/binary.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/binary.dir/build.make op_kernel/CMakeFiles/binary.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target binary" +.PHONY : op_kernel/CMakeFiles/binary.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/binary.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/binary.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/binary.dir/rule + +# Convenience name for target. +binary: op_kernel/CMakeFiles/binary.dir/rule +.PHONY : binary + +# clean rule for target. +op_kernel/CMakeFiles/binary.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/binary.dir/build.make op_kernel/CMakeFiles/binary.dir/clean +.PHONY : op_kernel/CMakeFiles/binary.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/all: op_kernel/CMakeFiles/ascendc_impl_gen.dir/all + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target ascendc_bin_ascend310b" +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/rule + +# Convenience name for target. +ascendc_bin_ascend310b: op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/rule +.PHONY : ascendc_bin_ascend310b + +# clean rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/clean +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/all +op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/all +op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/all +op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/all + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target ascendc_bin_ascend310b_gen_ops_config" +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/rule + +# Convenience name for target. +ascendc_bin_ascend310b_gen_ops_config: op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/rule +.PHONY : ascendc_bin_ascend310b_gen_ops_config + +# clean rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/clean +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/all: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target ascendc_bin_ascend310b_reduce_sum_copy" +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/rule + +# Convenience name for target. +ascendc_bin_ascend310b_reduce_sum_copy: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/rule +.PHONY : ascendc_bin_ascend310b_reduce_sum_copy + +# clean rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/clean +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/all +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/all + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target ascendc_bin_ascend310b_reduce_sum_0" +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/rule + +# Convenience name for target. +ascendc_bin_ascend310b_reduce_sum_0: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/rule +.PHONY : ascendc_bin_ascend310b_reduce_sum_0 + +# clean rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/clean +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/all +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/all + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target ascendc_bin_ascend310b_reduce_sum_1" +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/rule + +# Convenience name for target. +ascendc_bin_ascend310b_reduce_sum_1: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/rule +.PHONY : ascendc_bin_ascend310b_reduce_sum_1 + +# clean rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/clean +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/all +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/all + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target ascendc_bin_ascend310b_reduce_sum_2" +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/rule + +# Convenience name for target. +ascendc_bin_ascend310b_reduce_sum_2: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/rule +.PHONY : ascendc_bin_ascend310b_reduce_sum_2 + +# clean rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/clean +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir + +# All Build rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/all +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/all: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/all + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num= "Built target ascendc_bin_ascend310b_reduce_sum_3" +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/rule + +# Convenience name for target. +ascendc_bin_ascend310b_reduce_sum_3: op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/rule +.PHONY : ascendc_bin_ascend310b_reduce_sum_3 + +# clean rule for target. +op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/clean +.PHONY : op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/clean + +#============================================================================= +# Target rules for target op_kernel/CMakeFiles/npu_supported_ops.dir + +# All Build rule for target. +op_kernel/CMakeFiles/npu_supported_ops.dir/all: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/npu_supported_ops.dir/build.make op_kernel/CMakeFiles/npu_supported_ops.dir/depend + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/npu_supported_ops.dir/build.make op_kernel/CMakeFiles/npu_supported_ops.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=12 "Built target npu_supported_ops" +.PHONY : op_kernel/CMakeFiles/npu_supported_ops.dir/all + +# Build rule for subdir invocation for target. +op_kernel/CMakeFiles/npu_supported_ops.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 1 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_kernel/CMakeFiles/npu_supported_ops.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : op_kernel/CMakeFiles/npu_supported_ops.dir/rule + +# Convenience name for target. +npu_supported_ops: op_kernel/CMakeFiles/npu_supported_ops.dir/rule +.PHONY : npu_supported_ops + +# clean rule for target. +op_kernel/CMakeFiles/npu_supported_ops.dir/clean: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/npu_supported_ops.dir/build.make op_kernel/CMakeFiles/npu_supported_ops.dir/clean +.PHONY : op_kernel/CMakeFiles/npu_supported_ops.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/TargetDirectories.txt b/precision_Problem/No_standard/build_out/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..50db8e5 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,58 @@ +/Package_Cann/test/No_standard/build_out/CMakeFiles/modify_vendor.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/gen_version_info.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/package.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/package_source.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/edit_cache.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/rebuild_cache.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/list_install_components.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/install.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/install/local.dir +/Package_Cann/test/No_standard/build_out/CMakeFiles/install/strip.dir +/Package_Cann/test/No_standard/build_out/framework/CMakeFiles/package.dir +/Package_Cann/test/No_standard/build_out/framework/CMakeFiles/package_source.dir +/Package_Cann/test/No_standard/build_out/framework/CMakeFiles/edit_cache.dir +/Package_Cann/test/No_standard/build_out/framework/CMakeFiles/rebuild_cache.dir +/Package_Cann/test/No_standard/build_out/framework/CMakeFiles/list_install_components.dir +/Package_Cann/test/No_standard/build_out/framework/CMakeFiles/install.dir +/Package_Cann/test/No_standard/build_out/framework/CMakeFiles/install/local.dir +/Package_Cann/test/No_standard/build_out/framework/CMakeFiles/install/strip.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/package.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/package_source.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/edit_cache.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/rebuild_cache.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/list_install_components.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/install.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/install/local.dir +/Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/install/strip.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/package.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/package_source.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/edit_cache.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/rebuild_cache.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/list_install_components.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/install.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/install/local.dir +/Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/install/strip.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ascendc_impl_gen.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/binary.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/npu_supported_ops.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/package.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/package_source.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/edit_cache.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/rebuild_cache.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/list_install_components.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/install.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/install/local.dir +/Package_Cann/test/No_standard/build_out/op_kernel/CMakeFiles/install/strip.dir diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/cmake.check_cache b/precision_Problem/No_standard/build_out/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/DependInfo.cmake b/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/DependInfo.cmake new file mode 100644 index 0000000..dc55e44 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/DependInfo.cmake @@ -0,0 +1,18 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/build.make b/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/build.make new file mode 100644 index 0000000..6c2bea2 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +# Utility rule file for gen_version_info. + +# Include any custom commands dependencies for this target. +include CMakeFiles/gen_version_info.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/gen_version_info.dir/progress.make + +CMakeFiles/gen_version_info: + bash /Package_Cann/test/No_standard/cmake/util/gen_version_info.sh /usr/local/Ascend/ascend-toolkit/latest /Package_Cann/test/No_standard/build_out + +gen_version_info: CMakeFiles/gen_version_info +gen_version_info: CMakeFiles/gen_version_info.dir/build.make +.PHONY : gen_version_info + +# Rule to build all files generated by this target. +CMakeFiles/gen_version_info.dir/build: gen_version_info +.PHONY : CMakeFiles/gen_version_info.dir/build + +CMakeFiles/gen_version_info.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/gen_version_info.dir/cmake_clean.cmake +.PHONY : CMakeFiles/gen_version_info.dir/clean + +CMakeFiles/gen_version_info.dir/depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Package_Cann/test/No_standard /Package_Cann/test/No_standard /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out/CMakeFiles/gen_version_info.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/gen_version_info.dir/depend + diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/cmake_clean.cmake b/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/cmake_clean.cmake new file mode 100644 index 0000000..4183a83 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/gen_version_info" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/gen_version_info.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/compiler_depend.make b/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/compiler_depend.make new file mode 100644 index 0000000..9406130 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for gen_version_info. +# This may be replaced when dependencies are built. diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/compiler_depend.ts b/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/compiler_depend.ts new file mode 100644 index 0000000..714ce8f --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for gen_version_info. diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/progress.make b/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/gen_version_info.dir/progress.make @@ -0,0 +1 @@ + diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/DependInfo.cmake b/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/DependInfo.cmake new file mode 100644 index 0000000..7505cee --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/DependInfo.cmake @@ -0,0 +1,24 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Pairs of files generated by the same build rule. +set(CMAKE_MULTIPLE_OUTPUT_PAIRS + "/Package_Cann/test/No_standard/build_out/scripts/upgrade.sh" "/Package_Cann/test/No_standard/build_out/scripts/install.sh" + ) + + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/build.make b/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/build.make new file mode 100644 index 0000000..3e2c1ad --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/build.make @@ -0,0 +1,98 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +# Utility rule file for modify_vendor. + +# Include any custom commands dependencies for this target. +include CMakeFiles/modify_vendor.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/modify_vendor.dir/progress.make + +CMakeFiles/modify_vendor: scripts/install.sh +CMakeFiles/modify_vendor: scripts/upgrade.sh + +scripts/install.sh: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating scripts/install.sh, scripts/upgrade.sh" + mkdir -p /Package_Cann/test/No_standard/build_out/scripts + cp -r /Package_Cann/test/No_standard/scripts/* /Package_Cann/test/No_standard/build_out/scripts/ + sed -i s/vendor_name=customize/vendor_name=customize/g /Package_Cann/test/No_standard/build_out/scripts/* + +scripts/upgrade.sh: scripts/install.sh + @$(CMAKE_COMMAND) -E touch_nocreate scripts/upgrade.sh + +modify_vendor: CMakeFiles/modify_vendor +modify_vendor: scripts/install.sh +modify_vendor: scripts/upgrade.sh +modify_vendor: CMakeFiles/modify_vendor.dir/build.make +.PHONY : modify_vendor + +# Rule to build all files generated by this target. +CMakeFiles/modify_vendor.dir/build: modify_vendor +.PHONY : CMakeFiles/modify_vendor.dir/build + +CMakeFiles/modify_vendor.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/modify_vendor.dir/cmake_clean.cmake +.PHONY : CMakeFiles/modify_vendor.dir/clean + +CMakeFiles/modify_vendor.dir/depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Package_Cann/test/No_standard /Package_Cann/test/No_standard /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out/CMakeFiles/modify_vendor.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/modify_vendor.dir/depend + diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/cmake_clean.cmake b/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/cmake_clean.cmake new file mode 100644 index 0000000..5632851 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/cmake_clean.cmake @@ -0,0 +1,10 @@ +file(REMOVE_RECURSE + "CMakeFiles/modify_vendor" + "scripts/install.sh" + "scripts/upgrade.sh" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/modify_vendor.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/compiler_depend.make b/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/compiler_depend.make new file mode 100644 index 0000000..bda5864 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for modify_vendor. +# This may be replaced when dependencies are built. diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/compiler_depend.ts b/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/compiler_depend.ts new file mode 100644 index 0000000..4290d3f --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for modify_vendor. diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/progress.make b/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/progress.make new file mode 100644 index 0000000..27952ed --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/modify_vendor.dir/progress.make @@ -0,0 +1,2 @@ +CMAKE_PROGRESS_1 = 11 + diff --git a/precision_Problem/No_standard/build_out/CMakeFiles/progress.marks b/precision_Problem/No_standard/build_out/CMakeFiles/progress.marks new file mode 100644 index 0000000..b1bd38b --- /dev/null +++ b/precision_Problem/No_standard/build_out/CMakeFiles/progress.marks @@ -0,0 +1 @@ +13 diff --git a/precision_Problem/No_standard/build_out/CPackConfig.cmake b/precision_Problem/No_standard/build_out/CPackConfig.cmake new file mode 100644 index 0000000..5c0dc70 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CPackConfig.cmake @@ -0,0 +1,71 @@ +# This file will be configured to contain variables for CPack. These variables +# should be set in the CMake list file of the project before CPack module is +# included. The list of available CPACK_xxx variables and their associated +# documentation may be obtained using +# cpack --help-variable-list +# +# Some variables are common to all generators (e.g. CPACK_PACKAGE_NAME) +# and some are specific to a generator +# (e.g. CPACK_NSIS_EXTRA_INSTALL_COMMANDS). The generator specific variables +# usually begin with CPACK__xxxx. + + +set(CPACK_BUILD_SOURCE_DIRS "/Package_Cann/test/No_standard;/Package_Cann/test/No_standard/build_out") +set(CPACK_CMAKE_GENERATOR "Unix Makefiles") +set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE") +set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE") +set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake-3.22/Templates/CPack.GenericDescription.txt") +set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_SUMMARY "opp built using CMake") +set(CPACK_EXTERNAL_BUILT_PACKAGES "/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/custom_opp_ubuntu_aarch64.run") +set(CPACK_EXTERNAL_ENABLE_STAGING "TRUE") +set(CPACK_EXTERNAL_PACKAGE_SCRIPT "/Package_Cann/test/No_standard/cmake/makeself.cmake") +set(CPACK_GENERATOR "External") +set(CPACK_INSTALL_CMAKE_PROJECTS "/Package_Cann/test/No_standard/build_out;opp;ALL;/") +set(CPACK_INSTALL_PREFIX "/Package_Cann/test/No_standard/build_out") +set(CPACK_MODULE_PATH "") +set(CPACK_NSIS_DISPLAY_NAME "opp 0.1.1") +set(CPACK_NSIS_INSTALLER_ICON_CODE "") +set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "") +set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES") +set(CPACK_NSIS_PACKAGE_NAME "opp 0.1.1") +set(CPACK_NSIS_UNINSTALL_NAME "Uninstall") +set(CPACK_OUTPUT_CONFIG_FILE "/Package_Cann/test/No_standard/build_out/CPackConfig.cmake") +set(CPACK_PACKAGE_DEFAULT_LOCATION "/") +set(CPACK_PACKAGE_DESCRIPTION "CPack opp project") +set(CPACK_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake-3.22/Templates/CPack.GenericDescription.txt") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CPack opp project") +set(CPACK_PACKAGE_DIRECTORY "/Package_Cann/test/No_standard/build_out") +set(CPACK_PACKAGE_FILE_NAME "custom_opp_ubuntu_aarch64.run") +set(CPACK_PACKAGE_INSTALL_DIRECTORY "opp 0.1.1") +set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "opp 0.1.1") +set(CPACK_PACKAGE_NAME "opp") +set(CPACK_PACKAGE_RELOCATABLE "true") +set(CPACK_PACKAGE_VENDOR "Humanity") +set(CPACK_PACKAGE_VERSION "0.1.1") +set(CPACK_PACKAGE_VERSION_MAJOR "0") +set(CPACK_PACKAGE_VERSION_MINOR "1") +set(CPACK_PACKAGE_VERSION_PATCH "1") +set(CPACK_RESOURCE_FILE_LICENSE "/usr/share/cmake-3.22/Templates/CPack.GenericLicense.txt") +set(CPACK_RESOURCE_FILE_README "/usr/share/cmake-3.22/Templates/CPack.GenericDescription.txt") +set(CPACK_RESOURCE_FILE_WELCOME "/usr/share/cmake-3.22/Templates/CPack.GenericWelcome.txt") +set(CPACK_SET_DESTDIR "OFF") +set(CPACK_SOURCE_GENERATOR "TBZ2;TGZ;TXZ;TZ") +set(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/Package_Cann/test/No_standard/build_out/CPackSourceConfig.cmake") +set(CPACK_SOURCE_RPM "OFF") +set(CPACK_SOURCE_TBZ2 "ON") +set(CPACK_SOURCE_TGZ "ON") +set(CPACK_SOURCE_TXZ "ON") +set(CPACK_SOURCE_TZ "ON") +set(CPACK_SOURCE_ZIP "OFF") +set(CPACK_SYSTEM_NAME "Linux") +set(CPACK_THREADS "1") +set(CPACK_TOPLEVEL_TAG "Linux") +set(CPACK_WIX_SIZEOF_VOID_P "8") + +if(NOT CPACK_PROPERTIES_FILE) + set(CPACK_PROPERTIES_FILE "/Package_Cann/test/No_standard/build_out/CPackProperties.cmake") +endif() + +if(EXISTS ${CPACK_PROPERTIES_FILE}) + include(${CPACK_PROPERTIES_FILE}) +endif() diff --git a/precision_Problem/No_standard/build_out/CPackSourceConfig.cmake b/precision_Problem/No_standard/build_out/CPackSourceConfig.cmake new file mode 100644 index 0000000..8e8d547 --- /dev/null +++ b/precision_Problem/No_standard/build_out/CPackSourceConfig.cmake @@ -0,0 +1,79 @@ +# This file will be configured to contain variables for CPack. These variables +# should be set in the CMake list file of the project before CPack module is +# included. The list of available CPACK_xxx variables and their associated +# documentation may be obtained using +# cpack --help-variable-list +# +# Some variables are common to all generators (e.g. CPACK_PACKAGE_NAME) +# and some are specific to a generator +# (e.g. CPACK_NSIS_EXTRA_INSTALL_COMMANDS). The generator specific variables +# usually begin with CPACK__xxxx. + + +set(CPACK_BUILD_SOURCE_DIRS "/Package_Cann/test/No_standard;/Package_Cann/test/No_standard/build_out") +set(CPACK_CMAKE_GENERATOR "Unix Makefiles") +set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE") +set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE") +set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake-3.22/Templates/CPack.GenericDescription.txt") +set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_SUMMARY "opp built using CMake") +set(CPACK_EXTERNAL_BUILT_PACKAGES "/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/custom_opp_ubuntu_aarch64.run") +set(CPACK_EXTERNAL_ENABLE_STAGING "TRUE") +set(CPACK_EXTERNAL_PACKAGE_SCRIPT "/Package_Cann/test/No_standard/cmake/makeself.cmake") +set(CPACK_GENERATOR "TBZ2;TGZ;TXZ;TZ") +set(CPACK_IGNORE_FILES "/CVS/;/\\.svn/;/\\.bzr/;/\\.hg/;/\\.git/;\\.swp\$;\\.#;/#") +set(CPACK_INSTALLED_DIRECTORIES "/Package_Cann/test/No_standard;/") +set(CPACK_INSTALL_CMAKE_PROJECTS "") +set(CPACK_INSTALL_PREFIX "/Package_Cann/test/No_standard/build_out") +set(CPACK_MODULE_PATH "") +set(CPACK_NSIS_DISPLAY_NAME "opp 0.1.1") +set(CPACK_NSIS_INSTALLER_ICON_CODE "") +set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "") +set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES") +set(CPACK_NSIS_PACKAGE_NAME "opp 0.1.1") +set(CPACK_NSIS_UNINSTALL_NAME "Uninstall") +set(CPACK_OUTPUT_CONFIG_FILE "/Package_Cann/test/No_standard/build_out/CPackConfig.cmake") +set(CPACK_PACKAGE_DEFAULT_LOCATION "/") +set(CPACK_PACKAGE_DESCRIPTION "CPack opp project") +set(CPACK_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake-3.22/Templates/CPack.GenericDescription.txt") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CPack opp project") +set(CPACK_PACKAGE_DIRECTORY "/Package_Cann/test/No_standard/build_out") +set(CPACK_PACKAGE_FILE_NAME "opp-0.1.1-Source") +set(CPACK_PACKAGE_INSTALL_DIRECTORY "opp 0.1.1") +set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "opp 0.1.1") +set(CPACK_PACKAGE_NAME "opp") +set(CPACK_PACKAGE_RELOCATABLE "true") +set(CPACK_PACKAGE_VENDOR "Humanity") +set(CPACK_PACKAGE_VERSION "0.1.1") +set(CPACK_PACKAGE_VERSION_MAJOR "0") +set(CPACK_PACKAGE_VERSION_MINOR "1") +set(CPACK_PACKAGE_VERSION_PATCH "1") +set(CPACK_RESOURCE_FILE_LICENSE "/usr/share/cmake-3.22/Templates/CPack.GenericLicense.txt") +set(CPACK_RESOURCE_FILE_README "/usr/share/cmake-3.22/Templates/CPack.GenericDescription.txt") +set(CPACK_RESOURCE_FILE_WELCOME "/usr/share/cmake-3.22/Templates/CPack.GenericWelcome.txt") +set(CPACK_RPM_PACKAGE_SOURCES "ON") +set(CPACK_SET_DESTDIR "OFF") +set(CPACK_SOURCE_GENERATOR "TBZ2;TGZ;TXZ;TZ") +set(CPACK_SOURCE_IGNORE_FILES "/CVS/;/\\.svn/;/\\.bzr/;/\\.hg/;/\\.git/;\\.swp\$;\\.#;/#") +set(CPACK_SOURCE_INSTALLED_DIRECTORIES "/Package_Cann/test/No_standard;/") +set(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/Package_Cann/test/No_standard/build_out/CPackSourceConfig.cmake") +set(CPACK_SOURCE_PACKAGE_FILE_NAME "opp-0.1.1-Source") +set(CPACK_SOURCE_RPM "OFF") +set(CPACK_SOURCE_TBZ2 "ON") +set(CPACK_SOURCE_TGZ "ON") +set(CPACK_SOURCE_TOPLEVEL_TAG "Linux-Source") +set(CPACK_SOURCE_TXZ "ON") +set(CPACK_SOURCE_TZ "ON") +set(CPACK_SOURCE_ZIP "OFF") +set(CPACK_STRIP_FILES "") +set(CPACK_SYSTEM_NAME "Linux") +set(CPACK_THREADS "1") +set(CPACK_TOPLEVEL_TAG "Linux-Source") +set(CPACK_WIX_SIZEOF_VOID_P "8") + +if(NOT CPACK_PROPERTIES_FILE) + set(CPACK_PROPERTIES_FILE "/Package_Cann/test/No_standard/build_out/CPackProperties.cmake") +endif() + +if(EXISTS ${CPACK_PROPERTIES_FILE}) + include(${CPACK_PROPERTIES_FILE}) +endif() diff --git a/precision_Problem/No_standard/build_out/Makefile b/precision_Problem/No_standard/build_out/Makefile new file mode 100644 index 0000000..4d55c2f --- /dev/null +++ b/precision_Problem/No_standard/build_out/Makefile @@ -0,0 +1,463 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target package +package: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..." + /usr/bin/cpack --config ./CPackConfig.cmake +.PHONY : package + +# Special rule for the target package +package/fast: package +.PHONY : package/fast + +# Special rule for the target package_source +package_source: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..." + /usr/bin/cpack --config ./CPackSourceConfig.cmake /Package_Cann/test/No_standard/build_out/CPackSourceConfig.cmake +.PHONY : package_source + +# Special rule for the target package_source +package_source/fast: package_source +.PHONY : package_source/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles /Package_Cann/test/No_standard/build_out//CMakeFiles/progress.marks + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named modify_vendor + +# Build rule for target. +modify_vendor: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 modify_vendor +.PHONY : modify_vendor + +# fast build rule for target. +modify_vendor/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/modify_vendor.dir/build.make CMakeFiles/modify_vendor.dir/build +.PHONY : modify_vendor/fast + +#============================================================================= +# Target rules for targets named gen_version_info + +# Build rule for target. +gen_version_info: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 gen_version_info +.PHONY : gen_version_info + +# fast build rule for target. +gen_version_info/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/gen_version_info.dir/build.make CMakeFiles/gen_version_info.dir/build +.PHONY : gen_version_info/fast + +#============================================================================= +# Target rules for targets named cust_tf_parsers + +# Build rule for target. +cust_tf_parsers: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 cust_tf_parsers +.PHONY : cust_tf_parsers + +# fast build rule for target. +cust_tf_parsers/fast: + $(MAKE) $(MAKESILENT) -f framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build +.PHONY : cust_tf_parsers/fast + +#============================================================================= +# Target rules for targets named cust_op_proto + +# Build rule for target. +cust_op_proto: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 cust_op_proto +.PHONY : cust_op_proto + +# fast build rule for target. +cust_op_proto/fast: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/build +.PHONY : cust_op_proto/fast + +#============================================================================= +# Target rules for targets named cust_optiling + +# Build rule for target. +cust_optiling: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 cust_optiling +.PHONY : cust_optiling + +# fast build rule for target. +cust_optiling/fast: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_optiling.dir/build.make op_host/CMakeFiles/cust_optiling.dir/build +.PHONY : cust_optiling/fast + +#============================================================================= +# Target rules for targets named cust_opapi + +# Build rule for target. +cust_opapi: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 cust_opapi +.PHONY : cust_opapi + +# fast build rule for target. +cust_opapi/fast: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_opapi.dir/build.make op_host/CMakeFiles/cust_opapi.dir/build +.PHONY : cust_opapi/fast + +#============================================================================= +# Target rules for targets named optiling_compat + +# Build rule for target. +optiling_compat: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 optiling_compat +.PHONY : optiling_compat + +# fast build rule for target. +optiling_compat/fast: + $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/optiling_compat.dir/build.make op_host/CMakeFiles/optiling_compat.dir/build +.PHONY : optiling_compat/fast + +#============================================================================= +# Target rules for targets named ops_info_gen_ascend310b + +# Build rule for target. +ops_info_gen_ascend310b: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ops_info_gen_ascend310b +.PHONY : ops_info_gen_ascend310b + +# fast build rule for target. +ops_info_gen_ascend310b/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/build.make op_kernel/CMakeFiles/ops_info_gen_ascend310b.dir/build +.PHONY : ops_info_gen_ascend310b/fast + +#============================================================================= +# Target rules for targets named ascendc_impl_gen + +# Build rule for target. +ascendc_impl_gen: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ascendc_impl_gen +.PHONY : ascendc_impl_gen + +# fast build rule for target. +ascendc_impl_gen/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_impl_gen.dir/build.make op_kernel/CMakeFiles/ascendc_impl_gen.dir/build +.PHONY : ascendc_impl_gen/fast + +#============================================================================= +# Target rules for targets named binary + +# Build rule for target. +binary: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 binary +.PHONY : binary + +# fast build rule for target. +binary/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/binary.dir/build.make op_kernel/CMakeFiles/binary.dir/build +.PHONY : binary/fast + +#============================================================================= +# Target rules for targets named ascendc_bin_ascend310b + +# Build rule for target. +ascendc_bin_ascend310b: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ascendc_bin_ascend310b +.PHONY : ascendc_bin_ascend310b + +# fast build rule for target. +ascendc_bin_ascend310b/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b.dir/build +.PHONY : ascendc_bin_ascend310b/fast + +#============================================================================= +# Target rules for targets named ascendc_bin_ascend310b_gen_ops_config + +# Build rule for target. +ascendc_bin_ascend310b_gen_ops_config: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ascendc_bin_ascend310b_gen_ops_config +.PHONY : ascendc_bin_ascend310b_gen_ops_config + +# fast build rule for target. +ascendc_bin_ascend310b_gen_ops_config/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_gen_ops_config.dir/build +.PHONY : ascendc_bin_ascend310b_gen_ops_config/fast + +#============================================================================= +# Target rules for targets named ascendc_bin_ascend310b_reduce_sum_copy + +# Build rule for target. +ascendc_bin_ascend310b_reduce_sum_copy: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ascendc_bin_ascend310b_reduce_sum_copy +.PHONY : ascendc_bin_ascend310b_reduce_sum_copy + +# fast build rule for target. +ascendc_bin_ascend310b_reduce_sum_copy/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_copy.dir/build +.PHONY : ascendc_bin_ascend310b_reduce_sum_copy/fast + +#============================================================================= +# Target rules for targets named ascendc_bin_ascend310b_reduce_sum_0 + +# Build rule for target. +ascendc_bin_ascend310b_reduce_sum_0: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ascendc_bin_ascend310b_reduce_sum_0 +.PHONY : ascendc_bin_ascend310b_reduce_sum_0 + +# fast build rule for target. +ascendc_bin_ascend310b_reduce_sum_0/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_0.dir/build +.PHONY : ascendc_bin_ascend310b_reduce_sum_0/fast + +#============================================================================= +# Target rules for targets named ascendc_bin_ascend310b_reduce_sum_1 + +# Build rule for target. +ascendc_bin_ascend310b_reduce_sum_1: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ascendc_bin_ascend310b_reduce_sum_1 +.PHONY : ascendc_bin_ascend310b_reduce_sum_1 + +# fast build rule for target. +ascendc_bin_ascend310b_reduce_sum_1/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_1.dir/build +.PHONY : ascendc_bin_ascend310b_reduce_sum_1/fast + +#============================================================================= +# Target rules for targets named ascendc_bin_ascend310b_reduce_sum_2 + +# Build rule for target. +ascendc_bin_ascend310b_reduce_sum_2: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ascendc_bin_ascend310b_reduce_sum_2 +.PHONY : ascendc_bin_ascend310b_reduce_sum_2 + +# fast build rule for target. +ascendc_bin_ascend310b_reduce_sum_2/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_2.dir/build +.PHONY : ascendc_bin_ascend310b_reduce_sum_2/fast + +#============================================================================= +# Target rules for targets named ascendc_bin_ascend310b_reduce_sum_3 + +# Build rule for target. +ascendc_bin_ascend310b_reduce_sum_3: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ascendc_bin_ascend310b_reduce_sum_3 +.PHONY : ascendc_bin_ascend310b_reduce_sum_3 + +# fast build rule for target. +ascendc_bin_ascend310b_reduce_sum_3/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/build.make op_kernel/CMakeFiles/ascendc_bin_ascend310b_reduce_sum_3.dir/build +.PHONY : ascendc_bin_ascend310b_reduce_sum_3/fast + +#============================================================================= +# Target rules for targets named npu_supported_ops + +# Build rule for target. +npu_supported_ops: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 npu_supported_ops +.PHONY : npu_supported_ops + +# fast build rule for target. +npu_supported_ops/fast: + $(MAKE) $(MAKESILENT) -f op_kernel/CMakeFiles/npu_supported_ops.dir/build.make op_kernel/CMakeFiles/npu_supported_ops.dir/build +.PHONY : npu_supported_ops/fast + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... package" + @echo "... package_source" + @echo "... rebuild_cache" + @echo "... ascendc_bin_ascend310b" + @echo "... ascendc_bin_ascend310b_gen_ops_config" + @echo "... ascendc_bin_ascend310b_reduce_sum_0" + @echo "... ascendc_bin_ascend310b_reduce_sum_1" + @echo "... ascendc_bin_ascend310b_reduce_sum_2" + @echo "... ascendc_bin_ascend310b_reduce_sum_3" + @echo "... ascendc_bin_ascend310b_reduce_sum_copy" + @echo "... ascendc_impl_gen" + @echo "... binary" + @echo "... gen_version_info" + @echo "... modify_vendor" + @echo "... npu_supported_ops" + @echo "... ops_info_gen_ascend310b" + @echo "... optiling_compat" + @echo "... cust_op_proto" + @echo "... cust_opapi" + @echo "... cust_optiling" + @echo "... cust_tf_parsers" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run.json b/precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run.json new file mode 100644 index 0000000..54b3f0b --- /dev/null +++ b/precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run.json @@ -0,0 +1,26 @@ +{ + "componentGroups" : {}, + "components" : {}, + "errorOnAbsoluteInstallDestination" : false, + "formatVersionMajor" : 1, + "formatVersionMinor" : 0, + "installationTypes" : {}, + "packageDescriptionFile" : "/usr/share/cmake-3.22/Templates/CPack.GenericDescription.txt", + "packageDescriptionSummary" : "CPack opp project", + "packageName" : "opp", + "packageVersion" : "0.1.1", + "projects" : + [ + { + "component" : "ALL", + "components" : [], + "directory" : "/Package_Cann/test/No_standard/build_out", + "installationTypes" : [], + "projectName" : "opp", + "subDirectory" : "/" + } + ], + "setDestdir" : false, + "stripFiles" : false, + "warnOnAbsoluteInstallDestination" : false +} \ No newline at end of file diff --git a/precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/custom_opp_ubuntu_aarch64.run b/precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/custom_opp_ubuntu_aarch64.run new file mode 100644 index 0000000..6806478 --- /dev/null +++ b/precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/custom_opp_ubuntu_aarch64.run @@ -0,0 +1,1040 @@ +#!/bin/bash +# This script was generated using Makeself 2.4.5 +# The license covering this archive and its contents, if any, is wholly independent of the Makeself license (GPL) +# 2022.3.19-Modified the MS_Help function and some options +# Huawei Technologies Co., Ltd. + +ORIG_UMASK=`umask` + +CRCsum="3041702791" +MD5="00000000000000000000000000000000" +SHA="83564fdb0efb6398c2c16910aa031cf959b4e60afe89867f33033a9c0e1bdeaa" +SIGNATURE="" +TMPROOT=${TMPDIR:="$HOME"} +if ! test -d "$TMPROOT"; then + TMPROOT="$PWD" +fi +export TMPDIR="$TMPROOT" +USER_PWD="$PWD" +if ! test -d "$USER_PWD"; then + exit 1 +fi +export USER_PWD +ARCHIVE_DIR=`dirname "$0"` +export ARCHIVE_DIR + +name_of_file="$0 " +pwd_of_file="$PWD" +label="version:1.0" +script="./install.sh" +scriptargs="" +cleanup_script="" +licensetxt="" +helpheader=' --install-path Install operator package to specific dir path +' +targetdir="makeself-397763-20240915013443" +filesizes="132381" +totalsize="132381" +keep="n" +nooverwrite="n" +quiet="n" +accept="n" +nodiskspace="n" +export_conf="n" +decrypt_cmd="" +skip="672" + +print_cmd_arg="" +if type printf > /dev/null; then + print_cmd="printf" +elif test -x /usr/ucb/echo; then + print_cmd="/usr/ucb/echo" +else + print_cmd="echo" +fi + +if test -d /usr/xpg4/bin; then + PATH=/usr/xpg4/bin:$PATH + export PATH +fi + +if test -d /usr/sfw/bin; then + PATH=$PATH:/usr/sfw/bin + export PATH +fi + +unset CDPATH + +MS_Printf() +{ + $print_cmd $print_cmd_arg "$1" +} + +MS_PrintLicense() +{ + PAGER=${PAGER:=more} + if test x"$licensetxt" != x; then + PAGER_PATH=`exec <&- 2>&-; which $PAGER || command -v $PAGER || type $PAGER` + if test -x "$PAGER_PATH"; then + echo "$licensetxt" | $PAGER + else + echo "$licensetxt" + fi + if test x"$accept" != xy; then + while true + do + MS_Printf "Please type y to accept, n otherwise: " + read yn + if test x"$yn" = xn; then + keep=n + eval $finish; exit 1 + break; + elif test x"$yn" = xy; then + break; + fi + done + fi + fi +} + +MS_diskspace() +{ + ( + df -kP "$1" | tail -1 | awk '{ if ($4 ~ /%/) {print $3} else {print $4} }' + ) +} + +MS_dd() +{ + blocks=`expr $3 / 1024` + bytes=`expr $3 % 1024` + # Test for ibs, obs and conv feature + if dd if=/dev/zero of=/dev/null count=1 ibs=512 obs=512 conv=sync 2> /dev/null; then + dd if="$1" ibs=$2 skip=1 obs=1024 conv=sync 2> /dev/null | \ + { test $blocks -gt 0 && dd ibs=1024 obs=1024 count=$blocks ; \ + test $bytes -gt 0 && dd ibs=1 obs=1024 count=$bytes ; } 2> /dev/null + else + dd if="$1" bs=$2 skip=1 2> /dev/null + fi +} + +MS_dd_Progress() +{ + if test x"$noprogress" = xy; then + MS_dd "$@" + return $? + fi + file="$1" + offset=$2 + length=$3 + pos=0 + bsize=4194304 + while test $bsize -gt $length; do + bsize=`expr $bsize / 4` + done + blocks=`expr $length / $bsize` + bytes=`expr $length % $bsize` + ( + dd ibs=$offset skip=1 2>/dev/null + pos=`expr $pos \+ $bsize` + MS_Printf " 0%% " 1>&2 + if test $blocks -gt 0; then + while test $pos -le $length; do + dd bs=$bsize count=1 2>/dev/null + pcent=`expr $length / 100` + pcent=`expr $pos / $pcent` + if test $pcent -lt 100; then + MS_Printf "\b\b\b\b\b\b\b" 1>&2 + if test $pcent -lt 10; then + MS_Printf " $pcent%% " 1>&2 + else + MS_Printf " $pcent%% " 1>&2 + fi + fi + pos=`expr $pos \+ $bsize` + done + fi + if test $bytes -gt 0; then + dd bs=$bytes count=1 2>/dev/null + fi + MS_Printf "\b\b\b\b\b\b\b" 1>&2 + MS_Printf " 100%% " 1>&2 + ) < "$file" +} + +MS_Help() +{ + cat << EOH >&2 +Usage: $0 [options] +Options: + --help | -h Print this message + --info Print embedded info : title, default target directory, embedded script ... + --list Print the list of files in the archive + --check Checks integrity and version dependency of the archive + --quiet Quiet install mode, skip human-computer interactions + --nox11 Do not spawn an xterm + --noexec Do not run embedded script + --extract= Extract directly to a target directory (absolute or relative) + Usually used with --noexec to just extract files without running + --tar arg1 [arg2 ...] Access the contents of the archive through the tar command +${helpheader} +EOH +} + +MS_Verify_Sig() +{ + GPG_PATH=`exec <&- 2>&-; which gpg || command -v gpg || type gpg` + MKTEMP_PATH=`exec <&- 2>&-; which mktemp || command -v mktemp || type mktemp` + test -x "$GPG_PATH" || GPG_PATH=`exec <&- 2>&-; which gpg || command -v gpg || type gpg` + test -x "$MKTEMP_PATH" || MKTEMP_PATH=`exec <&- 2>&-; which mktemp || command -v mktemp || type mktemp` + offset=`head -n "$skip" "$1" | wc -c | tr -d " "` + temp_sig=`mktemp -t XXXXX` + echo $SIGNATURE | base64 --decode > "$temp_sig" + gpg_output=`MS_dd "$1" $offset $totalsize | LC_ALL=C "$GPG_PATH" --verify "$temp_sig" - 2>&1` + gpg_res=$? + rm -f "$temp_sig" + if test $gpg_res -eq 0 && test `echo $gpg_output | grep -c Good` -eq 1; then + if test `echo $gpg_output | grep -c $sig_key` -eq 1; then + test x"$quiet" = xn && echo "GPG signature is good" >&2 + else + echo "GPG Signature key does not match" >&2 + exit 2 + fi + else + test x"$quiet" = xn && echo "GPG signature failed to verify" >&2 + exit 2 + fi +} + +MS_Check() +{ + OLD_PATH="$PATH" + PATH=${GUESS_MD5_PATH:-"$OLD_PATH:/bin:/usr/bin:/sbin:/usr/local/ssl/bin:/usr/local/bin:/opt/openssl/bin"} + MD5_ARG="" + MD5_PATH=`exec <&- 2>&-; which md5sum || command -v md5sum || type md5sum` + test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which md5 || command -v md5 || type md5` + test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which digest || command -v digest || type digest` + PATH="$OLD_PATH" + + SHA_PATH=`exec <&- 2>&-; which shasum || command -v shasum || type shasum` + test -x "$SHA_PATH" || SHA_PATH=`exec <&- 2>&-; which sha256sum || command -v sha256sum || type sha256sum` + + if test x"$quiet" = xn; then + MS_Printf "Verifying archive integrity..." + fi + offset=`head -n "$skip" "$1" | wc -c | tr -d " "` + fsize=`cat "$1" | wc -c | tr -d " "` + if test $totalsize -ne `expr $fsize - $offset`; then + echo " Unexpected archive size." >&2 + exit 2 + fi + verb=$2 + i=1 + for s in $filesizes + do + crc=`echo $CRCsum | cut -d" " -f$i` + if test -x "$SHA_PATH"; then + if test x"`basename $SHA_PATH`" = xshasum; then + SHA_ARG="-a 256" + fi + sha=`echo $SHA | cut -d" " -f$i` + if test x"$sha" = x0000000000000000000000000000000000000000000000000000000000000000; then + test x"$verb" = xy && echo " $1 does not contain an embedded SHA256 checksum." >&2 + else + shasum=`MS_dd_Progress "$1" $offset $s | eval "$SHA_PATH $SHA_ARG" | cut -b-64`; + if test x"$shasum" != x"$sha"; then + echo "Error in SHA256 checksums: $shasum is different from $sha" >&2 + exit 2 + elif test x"$quiet" = xn; then + MS_Printf " SHA256 checksums are OK." >&2 + fi + crc="0000000000"; + fi + fi + if test -x "$MD5_PATH"; then + if test x"`basename $MD5_PATH`" = xdigest; then + MD5_ARG="-a md5" + fi + md5=`echo $MD5 | cut -d" " -f$i` + if test x"$md5" = x00000000000000000000000000000000; then + test x"$verb" = xy && echo " $1 does not contain an embedded MD5 checksum." >&2 + else + md5sum=`MS_dd_Progress "$1" $offset $s | eval "$MD5_PATH $MD5_ARG" | cut -b-32`; + if test x"$md5sum" != x"$md5"; then + echo "Error in MD5 checksums: $md5sum is different from $md5" >&2 + exit 2 + elif test x"$quiet" = xn; then + MS_Printf " MD5 checksums are OK." >&2 + fi + crc="0000000000"; verb=n + fi + fi + if test x"$crc" = x0000000000; then + test x"$verb" = xy && echo " $1 does not contain a CRC checksum." >&2 + else + sum1=`MS_dd_Progress "$1" $offset $s | CMD_ENV=xpg4 cksum | awk '{print $1}'` + if test x"$sum1" != x"$crc"; then + echo "Error in checksums: $sum1 is different from $crc" >&2 + exit 2 + elif test x"$quiet" = xn; then + MS_Printf " CRC checksums are OK." >&2 + fi + fi + i=`expr $i + 1` + offset=`expr $offset + $s` + done + if test x"$quiet" = xn; then + echo " All good." + fi +} + +MS_Decompress() +{ + if test x"$decrypt_cmd" != x""; then + { eval "$decrypt_cmd" || echo " ... Decryption failed." >&2; } | eval "gzip -cd" + else + eval "gzip -cd" + fi + + if test $? -ne 0; then + echo " ... Decompression failed." >&2 + fi +} + +UnTAR() +{ + if test x"$quiet" = xn; then + tar $1vf - 2>&1 || { echo " ... Extraction failed." >&2; kill -15 $$; } + else + tar $1f - 2>&1 || { echo Extraction failed. >&2; kill -15 $$; } + fi +} + +MS_exec_cleanup() { + if test x"$cleanup" = xy && test x"$cleanup_script" != x""; then + cleanup=n + cd "$tmpdir" + eval "\"$cleanup_script\" $scriptargs $cleanupargs" + fi +} + +MS_cleanup() +{ + echo 'Signal caught, cleaning up' >&2 + MS_exec_cleanup + cd "$TMPROOT" + rm -rf "$tmpdir" + eval $finish; exit 15 +} + +Script_Args_Check() +{ + script_supported_args=$(echo ${helpheader} | grep -o -E "\-\-[^ ]+" | awk -F"=" {'print $1'}) + arg_to_test=$(echo $1|awk -F"=" {'print $1'}) + + for arg in ${script_supported_args}; + do + if test x"$arg_to_test" = x"$arg" ;then + return + fi + done + + MS_Help + exit 1 +} + +finish=true +xterm_loop= +noprogress=n +nox11=n +copy=none +ownership=n +verbose=n +cleanup=y +cleanupargs= +sig_key= + +initargs="$@" + +while [ -n "$*" ] +do + case "$1" in + -h | --help) + MS_Help + exit 0 + ;; + -q | --quiet) + quiet=y + noprogress=y + shift + ;; + --info) + echo Identification: "$label" + echo Target directory: "$targetdir" + echo Uncompressed size: 380 KB + echo Compression: gzip + if test x"n" != x""; then + echo Encryption: n + fi + echo Date of packaging: Sun Sep 15 01:34:43 CST 2024 + echo Built with Makeself version 2.4.5 + echo Build command was: "/Package_Cann/test/No_standard/cmake/util/makeself/makeself.sh \\ + \"--header\" \\ + \"/Package_Cann/test/No_standard/cmake/util/makeself/makeself-header.sh\" \\ + \"--help-header\" \\ + \"./help.info\" \\ + \"--gzip\" \\ + \"--complevel\" \\ + \"4\" \\ + \"--nomd5\" \\ + \"--sha256\" \\ + \"./\" \\ + \"custom_opp_ubuntu_aarch64.run\" \\ + \"version:1.0\" \\ + \"./install.sh\"" + if test x"$script" != x; then + echo Script run after extraction: + echo " " $script $scriptargs + fi + if test x"" = xcopy; then + echo "Archive will copy itself to a temporary location" + fi + if test x"n" = xy; then + echo "Root permissions required for extraction" + fi + if test x"n" = xy; then + echo "directory $targetdir is permanent" + else + echo "$targetdir will be removed after extraction" + fi + exit 0 + ;; + --list) + echo Target directory: $targetdir + offset=`head -n "$skip" "$0" | wc -c | tr -d " "` + for s in $filesizes + do + MS_dd "$0" $offset $s | MS_Decompress | UnTAR t + offset=`expr $offset + $s` + done + exit 0 + ;; + --tar) + offset=`head -n "$skip" "$0" | wc -c | tr -d " "` + arg1="$2" + shift 2 || { MS_Help; exit 1; } + for s in $filesizes + do + MS_dd "$0" $offset $s | MS_Decompress | tar "$arg1" - "$@" + offset=`expr $offset + $s` + done + exit 0 + ;; + --check) + MS_Check "$0" y + scriptargs="$scriptargs $1" + shift + ;; + --noexec) + script="" + cleanup_script="" + shift + ;; + --extract=*) + keep=y + targetdir=`echo $1 | cut -d"=" -f2 ` + if ! shift; then MS_Help; exit 1; fi + ;; + --nox11) + nox11=y + shift + ;; + --xwin) + if test "n" = n; then + finish="echo Press Return to close this window...; read junk" + fi + xterm_loop=1 + shift + ;; + --phase2) + copy=phase2 + shift + ;; + --repack | --repack-path=*) + Script_Args_Check $1 + scriptargs="$scriptargs '$1'" + shift + if [[ ! "$1" =~ ^-.* ]]; then + scriptargs="$scriptargs '$1'" + shift + fi + ;; + *) + Script_Args_Check $1 + scriptargs="$scriptargs '$1'" + shift + ;; + esac +done + +quiet_para="" +if test x"$quiet" = xy; then + quiet_para="--quiet " +fi +scriptargs="--$name_of_file""--\"$pwd_of_file\""" $quiet_para""$scriptargs" + +if test x"$quiet" = xy -a x"$verbose" = xy; then + echo Cannot be verbose and quiet at the same time. >&2 + exit 1 +fi + +if test x"n" = xy -a `id -u` -ne 0; then + echo "Administrative privileges required for this archive (use su or sudo)" >&2 + exit 1 +fi + +if test x"$copy" \!= xphase2; then + MS_PrintLicense +fi + +case "$copy" in +copy) + tmpdir="$TMPROOT"/makeself.$RANDOM.`date +"%y%m%d%H%M%S"`.$$ + mkdir "$tmpdir" || { + echo "Could not create temporary directory $tmpdir" >&2 + exit 1 + } + SCRIPT_COPY="$tmpdir/makeself" + echo "Copying to a temporary location..." >&2 + cp "$0" "$SCRIPT_COPY" + chmod +x "$SCRIPT_COPY" + cd "$TMPROOT" + exec "$SCRIPT_COPY" --phase2 -- $initargs + ;; +phase2) + finish="$finish ; rm -rf `dirname $0`" + ;; +esac + +if test x"$nox11" = xn; then + if tty -s; then # Do we have a terminal? + : + else + if test x"$DISPLAY" != x -a x"$xterm_loop" = x; then # No, but do we have X? + if xset q > /dev/null 2>&1; then # Check for valid DISPLAY variable + GUESS_XTERMS="xterm gnome-terminal rxvt dtterm eterm Eterm xfce4-terminal lxterminal kvt konsole aterm terminology" + for a in $GUESS_XTERMS; do + if type $a >/dev/null 2>&1; then + XTERM=$a + break + fi + done + chmod a+x $0 || echo Please add execution rights on $0 + if test `echo "$0" | cut -c1` = "/"; then # Spawn a terminal! + exec $XTERM -e "$0 --xwin $initargs" + else + exec $XTERM -e "./$0 --xwin $initargs" + fi + fi + fi + fi +fi + +if test x"$targetdir" = x.; then + tmpdir="." +else + if test x"$keep" = xy; then + if test x"$nooverwrite" = xy && test -d "$targetdir"; then + echo "Target directory $targetdir already exists, aborting." >&2 + exit 1 + fi + if test x"$quiet" = xn; then + echo "Creating directory $targetdir" >&2 + fi + tmpdir="$targetdir" + dashp="-p" + else + tmpdir="$TMPROOT/selfgz$$$RANDOM" + dashp="" + fi + mkdir $dashp "$tmpdir" || { + echo 'Cannot create target directory' $tmpdir >&2 + echo 'You should try option --extract=' >&2 + eval $finish + exit 1 + } +fi + +location="`pwd`" +if test x"$SETUP_NOCHECK" != x1; then + MS_Check "$0" +fi +offset=`head -n "$skip" "$0" | wc -c | tr -d " "` + +if test x"$verbose" = xy; then + MS_Printf "About to extract 380 KB in $tmpdir ... Proceed ? [Y/n] " + read yn + if test x"$yn" = xn; then + eval $finish; exit 1 + fi +fi + +if test x"$quiet" = xn; then + # Decrypting with openssl will ask for password, + # the prompt needs to start on new line + if test x"n" = x"openssl"; then + echo "Decrypting and uncompressing $label..." + else + MS_Printf "Uncompressing $label" + fi +fi +res=3 +if test x"$keep" = xn; then + trap MS_cleanup 1 2 3 15 +fi + +if test x"$nodiskspace" = xn; then + leftspace=`MS_diskspace "$tmpdir"` + if test -n "$leftspace"; then + if test "$leftspace" -lt 380; then + echo + echo "Not enough space left in "`dirname $tmpdir`" ($leftspace KB) to decompress $0 (380 KB)" >&2 + if test x"$keep" = xn; then + echo "Consider setting TMPDIR to a directory with more free space." + fi + eval $finish; exit 1 + fi + fi +fi + +for s in $filesizes +do + if MS_dd_Progress "$0" $offset $s | MS_Decompress | ( cd "$tmpdir"; umask $ORIG_UMASK ; UnTAR xp ) 1>/dev/null; then + if test x"$ownership" = xy; then + (cd "$tmpdir"; chown -R `id -u` .; chgrp -R `id -g` .) + fi + else + echo >&2 + echo "Unable to decompress $0" >&2 + eval $finish; exit 1 + fi + offset=`expr $offset + $s` +done +if test x"$quiet" = xn; then + echo +fi + +cd "$tmpdir" +res=0 +if test x"$script" != x; then + if test x"$export_conf" = x"y"; then + MS_BUNDLE="$0" + MS_LABEL="$label" + MS_SCRIPT="$script" + MS_SCRIPTARGS="$scriptargs" + MS_ARCHDIRNAME="$archdirname" + MS_KEEP="$KEEP" + MS_NOOVERWRITE="$NOOVERWRITE" + MS_COMPRESS="$COMPRESS" + MS_CLEANUP="$cleanup" + export MS_BUNDLE MS_LABEL MS_SCRIPT MS_SCRIPTARGS + export MS_ARCHDIRNAME MS_KEEP MS_NOOVERWRITE MS_COMPRESS + fi + + if test x"$verbose" = x"y"; then + yn="x" + while test x"$yn" != x -a x"$yn" != xy -a x"$yn" != xY -a x"$yn" != xn -a x"$yn" != xN + do + MS_Printf "OK to execute: $script $scriptargs $* ? [Y/n] " + read yn + if test x"$yn" = x -o x"$yn" = xy -o x"$yn" = xY; then + eval "\"$script\" $scriptargs \"\$@\""; res=$?; + elif test x"$yn" = xn -o x"$yn" = xN; then + echo "Unable to decompress $script ,because of aborting! ";res=$? + else + echo "Input value is unacceptable,please try again." + fi + done + else + eval "\"$script\" $scriptargs \"\$@\""; res=$? + fi + if test "$res" -ne 0; then + test x"$verbose" = xy && echo "The program '$script' returned an error code ($res)" >&2 + fi +fi + +MS_exec_cleanup + +if test x"$keep" = xn; then + cd "$TMPROOT" + rm -rf "$tmpdir" +fi +eval $finish; exit $res +3f< u{+!c KB; 8tN*sܝb%Bݎ;!d&.(\Ag vat!F吘P@T +D SQhcٞϝ^~ޛ9-ƠI>)H,mI%@LR$ղTsKKK$STHɠO +XeNMڃ$b6fcyH`-m̼f)iIyEݮ icJv^SA]:Li_ M)|`7PLdfMK6֪]̜~ ilDYSUv[ℙϳv2&#,X =_]`fOىFHMk[Hd8gX-6#T֤Ɣn5Q5g[A(1sb] }=kZjjľnԂ#֨lUc%V,N쮥mY6`ivMaE.,98Z6.؂\lAZZfEQ~TtU0=m4r֭R1)f@7Qi +hHEj@*%K[EZػU*,*-nxA +9pJs莔r(KK5|"ch +RpHk;F[ WQƕ`MJICHK +,ti0PXQgY-+L{_g׆Ur禾==[ +CȨb,ѪTf궪"fk%cDG$IgX=ƚӉp&OpFRDwN:=~}םo=cw}OGo;~csGw8 CTFhy-ʸEjVJ[F<l!q88D*mtRi ;˂ +'MQ9L|+m+C$8s(nTUm EmYAgV9l`P1Ay>MRyg1LI̾i-9l=CG-{~L{gh=PӺelm\Xd)[P5.%-ae:DVQI+d,I06z_wUV7x}&R0glfΣ&M#P)gO,G$)a%w;PԢ"Um%!$ì(ż' MP_aU8l?rJ^ S{B|tXʚ3to:a=UW+:C.5ݐݫ'越xGSXީX2Z]M67-L+R7U=2U׼-(}%ٕM-lPAv} 6G; +᭘{`NTFA팆[Ҁ6}p + |Ly6x'b4U5:D e{eTԩsomE'.^|}sϙB9 +b1!_0|.a(')U•LOMA*_ h TA*F*,L?r6VM;$qVi !Rg[ +"x"C9Ӑ:LfiChVάihxF*d!>ٞ(zdDC$2w&ΑSPsd,sXjƐݻDd 됝jv!vYl +f)|% 1u|JqT+Iy5y+ >.k ^ᡱctc~4 i ۗkoj_JF!\;X0T$]墛.A$ +W5R)L/BG*Յ3\|pېJČ(.Lv.-弩$"d5V2M<518(YRj/O;;xtnޱVNśIPt -7S {?!CY=5D`EOU0dq9a혼0EߙQfwBy훁YY h|p6-_ +̡ ~&sC:o E:YUs#^|8./'%Ɓzb~a ӜC@,|o?[g9>/x1#RpN+q/G^ +pP|J_,|])9p%!cɇOn/tssícRH?nۣmn}BGP?B=4_APuT)/ ϱ~ؿP?twm'{kMwd_;jh-o]8Ccu8O%cxnP%mţݤ&{~^ۼQwx꿺ctnѺKƏ]<ӉOq@oHƐ hC~G?G Sy.@{`Tn!Ȟ^Ľ;U׺:v<ï&fxt_Pq dwh<}}Prhw[16 Ck?艹ۊw>3wdL7]X&&.qe.=PG^\?c0\IC8 t?Q'0o rnxvx8=^ǞsYx/v][,u;]I+*|$rY8qo0q?"sގr BE';pLcz<"6<&fBI8Np|܇,?_}rvoFHOu[ ipmaR,NZ` RuͭH m(3.o/$cȯۊ 5 A_A*%. U[|#;Kr2!ن'WKTcJIkR"=BխLh6,0!NOL^"@ <%2gWP}r ?eOB7/.}I֎8|:N"|r{ "H7^vƨ4|M=C@y <_@[wl\/,@(q=\~sC2]"T@zps܇C]Oh" I>S|r\SYXdzLgXQ{2~6s)XEVNv {~)2,Ogs>m;gk~-y/Zk@grԁs?ͬ~Q#%3ZB4M p:^>^~x~'8~oF(s?KmBm4n? ~~?8 ?_BP r9v>`>D=#?.xgt" ̥{h=ho?/"<%7wyt!( {ox_тw~I#y%bxA/Ѣ8c8?ϕhyEaK/- +'}qÙi ]_hi&CV3L%?ߧwQ$rQJ֖pMa;ss%tCZBQ$bc23Pc75- MKKSӀ>%Uչ咓mÊ- iކjiI)PY8hW:$K)Y2VVN #};}Fd  +V`D L̘l"ʤPHexJ=hZm.|Y|%恉m{a4tkh +-F 8zeoNA)TXV77 13[ .%k,gaH]vp0OAbmJ 7%`nve0]/ab{sNn<'fcQ(dwMMMV~閝2A46<#g-uS|¨cqTSB b2$)7) +vU*C>*unE O8T?iMLcopJծ%˜ԙU:v.#R -Q2W-G9!0<Ԃpi L "oc;U"֤D-gOkWjDzJ'+1a.q_: vqtNdgGTn VS;I7֏B +rD/5Xp孂>Ğd(7 @f=H.yvs![)d8`!FHIvr2໪NVskp!( Р %OA !->fpFذzW C +>(1龍C*]'qC8A#<:NIĞ·ptp<<`Aq#J׹K}X Bл}F +Y*tڟS\4ߪ)IWR*TÂB g]2Mex6:NƳyKDF{^USpV.ѩ$~4V6ItIDd|*:_'/d|\2N>$)d|5t2N^:y^u2.N{2N1:/'uS^r%G%{"69>,aķ0m ķI&C|䗰~obN \cr*%95u7յ33SQra,◢AzXՕ7ig%h,>vv]320>Q_~EԉZ~~8ȏxA;֌9pg=X~E c~\CwA"`wX{Y?axkwBwsW,77֓$ 7#UE46\>mml6qeg4:pβC6WxnW6kuf6s ǁFyWttxtz5myfJm󉆺ǯҎv䮫#@>>4O7Tf3c+#(͆gW*'WW9F]e7ȹ~I5BZc֎xa 9,RIeL}vB}u"Dgz2AB_@i`;E5|ihE"\QJ歚JaR_G| 㿊wT=A^̴V62iZǂG']@籿~nq*[_WY֞U_@uU=>tnqϊ47BP?߀|2 aʋ? ~هG.`iUQ>~W>n-k#ZPqU][y'ך?_ſq}K> g aXg +w(}yPX@{t8WF]ozSO_Kz/_j_ye'~CO@{ƶzN +DZX]Z]z'/q|[*u`k l-wy~f;E_[B?۠H(sbCeU,>z{7`oZ Do0W5VSqy1|l7QoaaqqH{fQ݂l8;mH5=$I5zWz55 &vJ1)fQMh[”y}"^+̧EUV%'{H|)kHmħo y嫱-ǎq~spq޹sx Dž\a 5p \#sbϝ!ςw[`>ּWA^f%Lw/b{ӝg./gUn'9].G/{lYO4$ٿL1:X=Lޢr+(:w]h+/'/{jY}R +>:]hd79^v2 +']FdpQ8ٽ@~gOmmmmȖ[C]K3ȖEv0<%ɖE0<ݐ jЇlI$dCR\?7&n6^~P(HzR⹮ ax_ΰJmpJGW)=١}9١}dV%o6~-&4 G(>t=-.ʠa5oWWɩIůѸE-N}_qAO?3A:ŧq4N_qrh^ ߭$;Gɩ5ZmЍq{Tkk"]}8{@v>9gSWkψ ]}MWk$W˛ҧ_uQl5mS5wI:ORk~M-0Uk]8U? F_P׋_.-t}!DG[K8~Qf{]tnw*@<~mCkkmontb8¨ 9n#S#tܤiBgY4epU@!|̗!0LQ?*ap |90tF£FWC +$hgdA&r*W Z^"U I{[&ɥk Mh^ R%np;N}JIFz +Q -ď O㦓Kٝ0]5cT]lz1o8K{$7Gd"V,s6<Js<=XL `_ȹmۍ<A yjlD3psrfDC0[WyԶĨnfZX 2@֦[(B27|ӧ?ӧ** }ͧͿx߾[/tɣo|w^G%a[-4"9oN1j*Ā66}R9'i'&Y+`x=-b<8Z(oЋ-  >rocyrօ8_'3&MǍaU~#vHv>yѠyy͋)%;Zw$E0I5ȎOtkkkTưdY&E}I" +ܪaX5]ahꬽsi)sm'^d -*R7dڑbVrQ5-uYaۄ|)&Ȁi +ҫN`d7n +:ꩃnw9x$~L)>hیTw8{ĉ+Mp]C) +`3UIL& X޴F[/*} ⴒͷllQ-Z.Ԣ]ruz37-tLE%{R؅,]\Y +v[i)Zf'>i4|nnr_*.NL3&d@Kb""Pd._'BVsmlùC{!$r!U֋e.|>'*F?ȳ@OYU~&^12`@&F# C&Aʦ'wG7#laU<0\r 1ǫXUeE U簣?5Ev5Vrh@EszvIV0]o&@_'_*;CˈI KMO,Y].aI򒇱([]ik? 7nr;UƊ\O#H_ef2|Npli%op(uXׁzoV47=u.FB9hJ#28)XMh Qob1sYnA&0EXŢ7u_a>w4:ú&B-:Fa˷KM9ƜR-: `֔(2䰦%=vĈc`Ym8:CX˷%<{7Ť;w0ngЎ644Sf +YZ S*#*AylAgYT5k7 W5^=W~G{@J` %(= KÅ: ez) ru_[(Eg XV¤Ͻ KVTDN ++DdXjJ`f}=ܤT>1G~S5E=:oY.Mв\ {%lqWn; *(tҗe(Y|q/ *op`FZsY^q;)_,<×&S^ZNX:US 8_ΆUyBlMŶRŁ1Ք{arZ/J?2 {tVx /nbs;ayQGBwsU!2.fP2VVD)ݠ5wKkQҡ>,{wҙ;;pnφWv̄4RMC 5%HI;NevZ2R Eu?Xՠ>Lu1 U?X7eiag:ج帏6;Fx|ca#[͡yG\aD>#Ю(7$㥐-B1 7s!5BüÍ\耗785/#-H x +@9xZXƣ_tNɁMt- Z$q#TȭgcCBhKhxw{~tg{kZrTò1=)ι8Gs1ܲO9hR3yMX] ~59m($aGm1><{8r _0#Gs<&or"p\0~3'8h>?7Q[ o|a{'8ٷ9X+G³ ϣ4#,vmƿ圾c؈ϣhrz?[) >ڧ6 m&QuHC&vycfkGN_4rڧx )kX<*_cNC_]o <Jf4=ٶ栭:;v l3HN_~>Ea!˧d[Gs|~ & s0y=G^0w;ʥ|"DvyHFq "dP [ BV-}C,&VnaMLJu)"rrei%+Dm(~c`3^*hPrd,i-w>-N4(i4װy?]ӄJ $3ooZ|0:^E݇pcxv;Vffv/{wǀwЮ;{K^l5Fzz=JA[b.4Otə˾J܎SD0=eKl2oJ ;}?Bc=qJ/5rNMi+Ii?W7X3FZTMT-L*~NY|51%?Fk ΨۜӌNي$lY1+Z(kJ*eft*adb$ Tx5Iׇb)Qd|zN?}_BD_?qtڶ$$;#JZ0+QZTV N&U2dB2ńI*YiYv2܌e T1^q5! F3=<FKV +P8  +<9f/)S3E7777;cl)G0YRoזԄlIY,pMV-&M[!+_IXF^wLNղȤ91S #0,#QI+!Zh Yʨ('Y˶9ievs/0p.%EO\(Ee#afD-dRPYYLEf֐L& 5HURdB$%s3Jw棞Yh-t,m-`g&r*@o^|16є#iÌ-7g314l:I&D6IsM?r3?6k ΨӌNM;Z?J$;Ḯ%eNKV& < +b)*{Cl?7?/0+RHW'.tx?A{ QT5c( KK##ۆe(x,ZiU5䬡&djȈiR=9Q,k4CLf:{x6`3q xr_S_*ooo4<g _4H0:K iv6`mVd]{X~H4Ybp00;g7<`0Ăa$\?+GK1 dX`1T>뚸H{ l֗iτzA|?;[8uL8z6M-׺L8ws^~9uל.*0i&oWX8>ŝI WOJ U.]㌁}v`.4(Ҳ&є tt[PО?]BwiO51i61]4Gӎb~bexE?<vG]>}(`1ؿM<]ſ?4E ǝCΩqԒï/uѪKve׌]/k躛[tU_ڞn=G%B?>=l<~I#b/Ԋs'L!a$LDf&30g&!QVv hE*˺ڲ躖}llJmuGj眛{䁙{sq8w;?+Q{[7ٽv[,6<3/MSۯzzu7oWW/ۡگRK+=6瓽g}_fgv}wmhIUҋOQuo>+|ӌͫ9|Ot/zl߁rTOT;ؑ`m')=%'R쨸Ao /uc/֤39:7fM6/|[0[1%1Cs-"F⭷-¾{7& ]ZJHE!%#P&zvv>EЖaąOWhMt2U>R(iD~ ]Zd,7S$fϽ-$g/Mʴ`(Nq3V#QIΎŚŲB S+\_/7잁+dsTO>uH[CVG:u+JKv o k ̔]>;IN9v~C|D.+n~;ZRGR&54X-Vg +G4JH u,۷`w:M}\7 bE­07Zٰ,l]v̊ڹUne猝ȶ,XPGѼ˷DT|mZ@8XK졣jY}u}I[pZZ D Mr&6ќujYz;. j yZD.eМ(W,zڇS\e_SLBX'JW˻h:(E] +7XӬ5$9rAF[(3<Ȇu;:vrPLka)&91R5>sR K>4TA9Lw_@՛`jˈsRN@%F‘ZOMNb:gW+~S:LϜԁ sDU{_ 't;f Er#M)r4Y ҤA-I`9Ж&mKx. 0J8tc5+IvuTGu;LG$Fjb#־ىA +Ԯ4վ"s.,nnMgc 9CMAvT{'$EWܦҐ$t {Po\4ޤ~;&lO8?< Nq;k%< sf~Dkw烥E;-\ҜG6 +|B&T0sg\O"bZp֛0OxG/y;>1d&jzL-2VF/)=?jWH9釚z8,NeX>SZuFw8דYiB7й8U_R +? R!W砓%5X,$ɏ8spdjakv&/9KN? E ,Sv5k4(bq[|EP/;n2)r9 멮JrE63oǩbAɅ6.yݽ +2wJq}W<0؄tE +N .hv+r:t)\{ts.sv" XYXU )[!ý{F\Z\;D-қI%,=In跓x̽+H瓘Yϲ'rLLI^tZm_6oaKSi257[53&}_,3Pl(huvSeά-C vrc,ߘ?)m)1iyJ9V[yOﱊ+c!;81ƑwoR"r0O|qi:{W3_in1&+)j{#{BRIJB㌱j{ 7smw)m\>>߬t5ޫ\=dzqoV 5x-sm8}7vewKoTϋm-[mE|DE<sg7x#E|Hg__V.ߢxE_?*SN|~ߪZZ7?,yoW|/QzUQx\х|V9Pī_Q?+>KA W1> +ËﶗbYUC81tC;ooTC~i; +vC |)ǁk9 5nX Fok(ܰB[87l3ݰr;^6 #8SuCN.>2A2/ɰXFy]*z*Q`ߤpC5g)z~EpF?B;/]K8p|=]a8{vは>0pOk|=7WR65nd[olο . |:gLQn~6*^ S^ \3<|!v yMx;p!7,>#a)8pxxC_ wܰx=g<|3[oa+oUہn{ +0 _ +ܘFg| +[Wo>Wn0oX2K/C87/>*l_ z|#Ϝa N[g7lvZ;_ |W]#"$_ [r[_ + |p^Cǀo | Kǁǁ'g/>< |8*naw_ <|=pui@x9[k8l|;~; j{.^>x~a 7P6| >MGwzeWm8uui;8Ol }=W.o#=@I +Ay~/llll>>g>LOAA~A~//>>w>>>߱}П}es~IO=tI@Kz%Ho= z:7=}6}=}lEl%ltzz.}Aw}Ћ>>诱}]ll2:Ag>~z&z%ۯmlllzyaQq {lll l/}/}?d_ew}?a_gY%6ۗ}1r̻llGl>>yd?񤧃@ $]% 7JH=7xl<z&d>>K>&}З}Эlt탾/t7N}Y탾탾^>;>;>5l=l:/lb1j㌡5K 197Ç&e(?߾1iMww4uz՟mU>+F=*_f G/~>f4k\|QU{fUr%f&AQЊrDM-j+heBlmK[+R@ҟK2$8Rne +X2pQ6}dַ[Z9~}}1 5Q7R3SNOkrK|)䯁N!V6ɔJG|*څ2~AEҋaHon+C! 9ө7ucha/]]M_y6/%K 3Գ7ɑ?A[JD2 kj-7vtʈ\})/T {2d3B!7K>f k|dA>9)C>LyT'}U{+{͓.JJWFWCo}+=>n1w+ fܝUa>tCCJW&G]i]vF,M~y//8r67#_]6>W6)oOCnj.=-o3o/Q _%_2o'_"__'q4_/O%_]67/se_6uڭ_ el\_d3o T)K ?Ps4f71P~S/n@y_6*7_bA// S[U{,(ew~_ϑ|9D/{n9_6_/z* Pce)w/q<~g "w/7' +Kiw/R(_!_#o;/ϓ).+ג/O)eN7~|G\-~||bSe?g|]nD(eG%nel"%~|nx&elg|REelߺjel'|29QoptE(e?GN=C~|?\;"C%c;Yʕy| N{*<@eloelin}#)3nD7$%\<3e?GN%|<5eM"_wˊ*y)'r/TޖzJT[Yo{v|_~||rKKf-wZ +~q4"7_" /'_]6O>W-/q׸3rƴe,Z# ]t6g#]t)אA).& ݏtˑCғHHS8Vi-H#݀RHG#݌tҗ"ݎkH'#݉zV%hW|Γ8߇}8^kr]Ъk*ZG1^79h` aUb~)d%0vfFμPĎaY%׺t,S#_TU٣|k}MjdYamJ4{Z#{jes,)a4'O?L&0//AX+ ׍ace3"d$a%;;g 0 1+x;zكحW/v#>Lb,JVYX=}|v}1sclY'"z:@*`V I9[Y>c{ kesMe|h=a9abl ܂ku;t=),¶"a}h0>M?T'KUE9H|dX]v5 ˳|YƼنz k@Ǝ\ k5:x;uӞɽӅCۡ7|p$Nso/ף b 4 +d"tCVׂn_Fx^&oYy>qy~=ΧU-:jX1\{*(k,>m<O3pwk\MErv⸥PᲓ2 PnL ;mpeNB xP幯zp\sLrmpwM_ʍl_^C\[QoE<`)䎠|9fEjup+zp7z kbXl+O^cBtL__T/Au:°GCˤ_WBDd01(VjqZڍUb 彴lPIg)Wj]$o'Xٸ2ddZ}mpmomcFb +Mw ݃nѦ2D=m~2dx7sSmf2h'6?vc +yuef1\a^nu Yc2#v;خ?<~c8+d q/h5jXrwL_x_Ȫ |#m/hP>5Km=Kr1 >~>!+􇍏,~uR,ѿ5>>u[YgBw|IEog_% ~>+Q#}R㎐FPID/?Xw۾hz~fHI;:kw8rmD=T%Zrq/N[ν>ɸw'ޭ{73&ޭκw{7h{[,U2],3>Rn;f_kUoOVXh ޑf/ϻxټ_D{3ռ-Xf^IXJMgn^8Z`sq8us,}u鳋L9׹ȼ2efJK]sWa3ϧg)ؑiر5kb"=H*п~9z˙Ts~/SNq_@c-!5ٺzЧbrplr&z-'#=d>&~>߃0k_d[t`<zB;mJFʬedX/G?ߥS-1Z+|y#쾶=W=l5\ה+)ÓyOXZrU̽ulht8Q^ $j%[<y*]!$EyMNvzG7)er#:*\'}mLׇr۝<6%rI0<>\7#3.>7 /ۄr^>:;>>y|rhɫ>:gGC)N}>y)95>vIח#5;ka}v9lK|-rˑlg;˵ˑ>\(ϩ/W"u t}(ݩ}y5N$˳˕<\?<.r>y96\Ϯ/OD^S}ۘ]N@^)WrF7y|N}(7ũyM/߮tʅq>\ CEv9#_}NvW _}9z>'o^_il_b^%c7lr݈ck9;Z13'vGX=HXczkHb֐Z+/Oog]|/Z (,.~Q]|я3vLw.ʱ+\}6tdn\'64B|w" .pM|,|cDC xn91oolda1vcnɑs 1֘(}NY[60y;ci}.3(cq-铁p5?Q-#=j5 D)WnΠ}F +aW֠Ly#~|['d%eNZ,bE]_c—T_v̓Qz{x9 Γa +[Š-vaEpa!]9~{ƅ  +46tR+>6![q꭮yj\➓'$&`:Z| ~faӣ3Ԛ +^7<ιCa=uZUÎ/*džAr^Z{$+79&崿$={Y?Ϣ4 C ?Hp[bZ~,oKp^Zin̳\vki9Uk2o٠tG e(/%5ǜՙîdX= s[<ڰl7{qIu7gְq:ް)' +6QVORxوW63Zϛp|}|#27ฟ}|=2_[u8kq,_=9_μ{^ĉwa!/Vy/0uo< U|^\/G1uϫ@a1 TƛSsݾ\yy.ߠ`96_>, r~[.qw8zt?cNsxzz rO<ç[n/;OV{_^&1.O>䖍rMyr[r\K-`ܷ7:@suN{3O~-)59uj]>sd|~jZlb|;]-1;na-VFg>Kln>İ|9n>ql'/?Aw{ϑ$_#@9o/q㚲tCTߒͷl|Pަ7_Pqlnxln>Nϑ|Q7_Hu|Er_6|b9R/o/\,~|?tEe_6|b9@/V7DW|i/%򣃴_6ߵn>Q*)J7_T$_ڿh|R||er3:sEɗ+:+(˽]E>ۢ^`-srs+;:rG|B3w.R3ʞ|oGʞ| +٬/R!w+teOW[W97_RNVks+eP/n>r_6ߣnȹel|se_6}nyr_6| e?OT\e?GNTɓƫ MT +^/Y7W/bqr;Ծ^nH@7|~7_" 7O֨c|r Uik{jVu[bﯸ&6 +.C:ba]Կ߰>iAk-ӂֳ~HYp͍ quyde_zP +LZ)A b]S7/ Z; k=A3s% AkĢubu7ˉjl +zŵ?͋#O]0|5|= Z/-Ϗ/tZi^/\HXܿa.[lr_Z05jL(3!!, i߬A7-y6&WXn0yUMNa`A+HaFV[Z#'||ȊrK!WcoAy5K \ȋob yd hz滐xNF^GVk(&d O9x?+S{ Ƨ ^ú[sj]wuOg;G(S2*FD&+ +\Řoc;GlG\;敁,S11&S}}Ⱦjor'5J.=lOJ]*.v?WWq?9lOH|8d-lOn">m&|kl|>Ob ̇63CRm6e'Bos}+Gm\نkBVzP%q9bxF|qex^8o>ܦ,Qf_j;)G>ḆݶL|l`9gMH#,,GF=˺U!|CBFeao/}}n߅r2CEZ` +ȥ}GHU/7ϸH^A'g_R +h[ڧl$ú 2^؅fz։5bRo 6C)ۼ \ܧ}7F0vP6nj3^soo{5FHe(iRPD?YGx>.|aۂ8omFevk7ݔs6wl!-ޠsmNG=p>Ű^Aڦv-p>Ͱ^Q醵CBw5fWjͰ:yG4 v[o,5c=6?E\M|ma2srC%}rb-6xB oxEeNܷeR~ H|?I=Er!W~{xpOzJ[O2$#ɋ5{GVމڇه:Dn+>6ilE(~x~ +6@>A8/lP?{PD㳀Ɨk8+/mKի0E^O4`j +hBȟk?R>۱Cr՟+J;"8Ns(Mi{(| !@>xE>#c 8mX |P>xߴ}'4 +p_Z +t_~ƃģ F:0>Gj`DUl|#$?|{#JWZ?q +iGR;#J 셴~9}V+< MI}>ƻG5CwPV᳀֮;uXT˾TB|-hzV*eLT*Ɨ).?l5Esm*sgxxD!w97| +6H +x_sT +|wj<_vy +/>џxDC_O5qqM j<4y +GyU +?17k06>W!cO%wW8$(xcO%7rZ;u'+}5 + |[a +1W_Xƃ _Z |ï5~%/#xvHܯ%a]ģo=BяO܎џ8_yt\|?g!sT<:v]_;[/v^~t'M;7t{qW:ν77;"Ds'9?џ_ǿO܎Oqq%'4^:G/^qqU>?W2G >_8G5>*GB{u'xx?񈎧>џ_ӯKyџOW7y\Q/#n+'m|#Moxq_9䉯xqY 6>xT?Ɨ)yƻ+gxoT_e]wWκ6_w_nݕ|?ƿ G%xwsWGaƵ+g}O'4%-#_W<9{.Ʃ+g] GqÌ_WκLG%ˁџxYVԫ k|Oh9"}u:x0]78qj>Izqtqt ~Q^q^cusmxD㻁ڸCy GBǣOrN8P}&uQPmm +_/wN7A e~[8WX\W_km1^s?I m^~H#׬J_h!5.wx9m~&ƹfP|?p# |zz_U;^u>8î= kԗNE>/ħO?~>|ϧO?~>|ޑyFdp=`GVi0:9&jO|?p>!:_/|Z]:j'ד*]~6zVG,L(^oq]PyG .߅8?H>stN֬1mGɃeWh _u$*Wdv_s ~UGC ] +0>'! +j. =-oRxƏϐ;Կ;5)mWӳl7>A6eB}arB5s'~\slEr>E{ETqrg3N$RԘȯyV k1X.o!us:h}sY5˜o%kb=uw'YXjNn,5ZXywAI;uYgL`H{Pny38;XVXp CXQQjv/ȋ%!? +Yi=cºs,{;dž9$d>r|O69e9#m>eoBȮ9+K{ƞ,~K?loKgMd{dWjqkuvaS/N]v{h܌>^%2];cЮ%r^f~y_")YPyr}w_K߿OilE v#qX|}X%X~&_C_+v.`2>l>2sv!e/ Fj|) y';cXsLsXbǔv||?{r|gϙgӗ%>9؜^?'c: +}oŢh~]m~wa,<_.}Pytq}3rWͱ>ڎE^x?rz1):< DGU#b_SǗ[hEb.ee3G7,gAc5ǒȐGV^y(}mbʦ;Di[XQ Üyn1N ݘ8n^$=qA uO[?9qTU7wAz;踒4^Mc폗-K1o8 +_D}9n[dJ==mM +1ON =%~`ϰֻh q΃ګG.'G4 +aM=J_ QzZj>sO+r?VAɩq$t[6r JMZcxuy^楈W/Kx@0ܥ8Gɹyxm.ZrK>GjaOC +U911='S|אEK<^J%&SO)_V/}al4g9?7܋wGU/bTU VX9*3At>x:,d(9#_V>*Z-,eoT}M%S; [*dH7W﬐~% +y! ׼`,;>ac0-.o~?✍(=ƽW ޗS5@p?#Lav~(yG^% o?RoӱK@/_胨W|K`ݣs1 +K ..; 1S(i#GRk'sqƾ7u,| x#7,ognOԟBti>KHxĘ ^y?K ~OKŶ2 Xp0 crՔn#o;~PoBwo>Rգj:qYSLʧ6u=#~uVb#F=6]xl+3:2ߪ'1'ZG%kE3LGr<`|5+W C)9V`+Iqݏ޻*ɘqA `ةM'Y|8b?47NjՑ1cȳ?AEZ>^+/!{v]O(B](-;/nwC7_+刃?-uu9i;?[ +0WĘ.7 κAתQ+SOx: ˇԕ2{:+.UhQ⤧ְu'*8]UOvAp|wod\5SeW(IZbcЖif]-lvP؏}f;/ ?dX)ShwUA'hȽ~,^QfX2^' HꮞP }ڪ|7&1]X{a1ѤGΘz}0kLS`.}YU^KWUTj98w:.#nWT1 qkO}#F8jP$zBtǟ\C߂WWzLbm\+PcG?>Gc2De2P&.:f eo;ee_.*Sl[2B٠4]H٠Ԭe˜<ý{ ~}t7)K2qŢA~߯Zw!m|M|w6U({j-CA^}(ddl/U1z~7OCx!d#h8m{)/Xz̘ wf1F"m#ָf1cH0TmtlQ.yaSΝy9"wfs%Q57G0N\wFC^mZ&>n'Gc]!AߞL>crm}:b>7M6scAp +56yl[z7F0Pkq<2ZX90X]S-3}EC/Ϝ~\**`jڷpEc0|Gz&[kj^™ ZxG +9^wj1kCMFiQ5ͦ-ܲwA̛z>6}"Q̈ߣ("mYȿyOή\H݇g  FfV5^_.k $l:ZOW!.@,O=1y1w@>֋?̝JsIjmV \#sfb#/s !;Kl?SF~,E륜o ؃;+ac[W>,ϸ15g.6Wq %O +}c7z poV(1Z &q:]3C($XѶi$=z/L~mmTb{!2I>MK[3 HQPA@- XZ`ZkgL&!<{{z?zZ KGf2:X/: +c QNZ56orVê=pS(utw +dB< ~q ʝ{#qZ΋EVߝ4`.-xg;c7|{8r@&9I>N5ײ? 8,$-xϭ7٧\a@Þ(,`bI~1~Ol~tCmftIrGΗqO$#,KnxYs @ +"Ray“wFN0=:_b=>L;AY9ЭDlEC{|y Os#B}n+쎷u --_Zt>m!uu7e2[M\InmCmvw9fn:HMr]bn'\(s{&6m &GG9׫yropڥDGj +{\@:s|PG~<;e'cSx(tg=g܏UJ@LJW{xh;i+^dIJ:!ga7SY/>fm^ sxԖ b'*7hU *_ 5xz2kieBLuJ@59J(4WE=r_w~w~+J5 6Hx" ԻD{@x1I42^\. PO˦PpjUn:xkd^|l/4(/qG&mf2М{'=g=ϼY7Lhm=cJ_Re|X۾s^Q괓.y +e|Do.S6x(Q{tAeG^_̧s&=ntܯw+: 6\C<,{g~ݧ8n_: yu-9'D[Ę:}/S· @V^aYWZp'ꊜ.c}ve(ctwZmMzvms}Y*B%B.lm/ v`9m7:4ߜtDuG(2jL6MMݪL}9F³+l[waui{K ˓:dömX:x,Cicu_rت޸ w ~G|m;|_ڲe_3ϦvoxBc›iІ1O45:iٝvlaۺZ1ml-leڶ "9/exu{ap.lA]e`7yaANز&)Nf?5[v R׾ږ͠mYaǴe;ߨ +7^QWp;֌X%;=-<]iҵ]M~}q#ۭ}'7~~<2KAfO?N86ynKe'I {j +(|1/|Ǿdfއdm;ϝ#|0ǽ{rpOT1PT5k3C?D=;[`GO ӫw֓gGY~*ȼexPwO*bߓOc-*;,9ۛ9-}x/u:sIö͓d֟ݙ}V3 +ߜH]i__D[]0Q9?m0?Kt>u5bT_>ʼncfS?K?hUcm<6]N`G(.xxknN?* WT䈶J]p*NUZW\#:9.Ƴ_rk+V+ ;>+u^Jw:ֆgl ,\>z4FfjV ae^pTL5GЇG~(u(0KnԡlI/vhg~c͚a¡>{x16ƍL7T|sNE_?2Erno0Bd{yPB GuEǦ*g%Z:.)8saxQoHt-tqY M?ږ ))܄zP&]RWhÕPuE+_Cy$Ǝ`U]m١x>Ve +XF.er"}T?;;,\l;W +ؗOw0q+qX9xx<9Ao<ǐH+ҍt$MW]2p{0:ħENCnцvݏI ;~0qFj݉gq۳}p h9Ε0&[4GF_={u栟ӏ'yX>w"A5E]uˍTxqיD>Dm,cܒMh1yJфxddI]+.ćs_1J}r8?zPq;"&b^2c6&}t7՘Et 7kEO/Zǫ d6woeŪM6HT]_'=9:j (cxw5%+D^zomz:Rԑom|P78x'g,}sJ+SVhf;`8fzf{&'1)%Aw7מ&i[`>lex_Z>vs3 (L؇z}-y^T>գ.y/qm]j&~J8ڸ:>AĎ}ȝe#SW]ZOp-b( Os upL:7]HէIh=8t :ƭӟkz# vc">ߒs`v6a|O6zag̏p>Pt朆 կW.A޷]2aJ?:O6Qɣ^syS +6ط3l^bhuPп~:g޺Ge92ss#+t~q!bn'{Zw~nCD7ro VqwQďw{͎4oܴe{r*6 +}0m=N?3u9п}xj'oYs\0 Hi!ZpyT ?~Ooi c? qzF<#Я$Fu (r}CІ+>xʱ.eե`VPɿH[ \u`)}9c$s9p憩9:FEG@πc-_)&F:{9uKYh~xu/瘯 ׁ.Y{|\(׻ugc%i8'xc#Qц:isV~&DCD+.NO 5<"~R`J5*^X&g>"uۏWJ>Ӻ~bv+ Y.G|otJ1_9}eHg?Y=\FH{ pC;μ$o(srNe;Qe^/쯈MW?:OM3"{; .?eζ8i=uQke +={[g%{f%}W) î8 f=-ש&6['+9+| I?]w/Y-bA2- \%b Rr!xܖ?7\nqM.Rm_f\nOm#Kц\ <ex`Qf)Ô!9 23g|zX4t,ͧ}%C|zH|si>ͽ4ޑ4_)zU ]WՁKEb6g!AU7|b<#:<1NIi]AR:uzֽNY״ R:|ƪbi%_oQg9'57Jw\~(lUu© +^NG~d ߖB?}9!g. iLE;:P|فJ7/yEJǷW>1 zm}dDDDo]&yv˓~b-58/>ic%dZPw*O&mX2ƾ̾67R#ګkQ~锯2/O\k|JZ+g~Jˇh+I垑-;e/KhxY]զjuRFF3%wsS?;+ +5}Cj _dq\"&='5WY!<6S5W#>}|n}jNs["/wi^ײ271vr.曈Q[{ ?~ ?'քe=Qe)Os@}ϓ8>3re6w/Yyw]$5V9˲DcBW9xheYTbu,r\nz3ͼHo4_lE0 p?`1V V{Zh}8#O!=4>>0nZҵ*?^BЩp-B2=62︀k*HWF>974fU\oB}G*GHx:y7r!y1^u!{wz1w+ǃbw%w%-$sb+Dž/6-nb;={ǘeb~;| +I;G;2&>cmn_zz0>K[C;=*pK;~ZD;S3LӕCή)cGyO0>ξ)0oAz(t+ۧ}fi< ,0Uk'_Ζ I8? wb\&߯_g&2SH@{m0"o0`񧎣n&5_>½#_a}h=U;7K'%'<||ASSϦ$]ܟުFpϳ_S/hupUX?k2w,*<:u \_N=g"|j6Ǐ`z~r\\41;צJ|F~(T㬜vUP7/Z[1&l9a8YZo⼚ǣ  +2EwFunC ͽ°"8W˿#BUiQukJ6zec/Hro<pr']u9b!kyqc{ X#/-% pSf"Ƙ& +d<4MyL0]3nc2v= N6a67v eEWNۡR<@>cw{xyvx xn7OL/~3|qĹI}͔Oj懲[K 8tdEw_.Qdk#]W^xm3캊AC]*FIX;yY⛺f#!ܿpYj]3y&ȡ\oZ~~:H\S;>t[X!5k +\M;?d1Zٟ\_Q`g}U>J_Eq/g%vʸU߷BRI76qI1<:;~nH?| 5O^y>/>=bNY)>uo [~<>zG雷FkOj6)Ŀ}yECcS^FO}q~u~ s})?oq_ZefŦu7Gt?[QE<׍ܳ>m㾱\%:k:7d̐ >I'};9U"\KZ_!G1ʻ& ~( +{P"5n]qkKS>p{scs±psA;3w"p29@Ls6,Ag8sd=_jmLUdפ Vv1 I)<)=o7ϳe^kw+`]qTݬ٪{nS'J;3{KݳL5nvN3`k.m2a)`Ecd8珳>|9c:k=*TluFkY6u_}?`]-dl]bkҀÇ䡒Uu1 ~$aɀ֯߷xߌ#ig?h|ĜOA//"=ڰM)`) 7}V||9֣Y6+}}vzw mC%6h3}\l0)eOhCo?ۡhr_G/qOKkSnGڅ kOA杖X'x[4ߠFo$:Ox5 gK1డZ4="k5FuDsnpFꇋGa".bX/wh}y< ҎuwvSPBޠ>tq{݋ 5QUjؠ:yYϽoۊڡیHSr95Q-k +><O?d5%A]- oJq}~G._}SiXƱ"H_:q]M>)q档mO y 8szjO+udMN!}%0i<=2m̓u'>c^ NMm،оzg3Wxt*3l?m!Ei+ԛCkH0^_R3]"٪㚓N\3PqLA\0F\;5&j9q oyL"]鷗 qhGs+ 4(K>ݰ(i3hlu?wϦz@cӠP(u2ʱ1a~'zzfʹ57%=]G0GN}|K~$}g x;bᅄ>ʧ6pkb=O _tdZ_S=qr7T}ΟE{S0T~3ߣb[?K&]*z>Hz1W9(AzSƆˍ瀟8}2x_zCqljo`KBSDmx?r!&| 1Ytޱݕ.#ͷ)H]q8|{#yvxv|ϼeK9mǩ91S=D=?I;\^ϟ~ߖr8RG38Y.}qZ}i+Iߟ07Tr|;>:gAu5w%}'1WxC<Ϭ>w5 Cf7{Hc-ޯ&<4Ͳc~5z\w~oCN~t_ݮ<||[W_:_;V2K}?hY;Im՝oQ?*Z EduMy@ x"v@<Wu (RkG2J[_3h ""؊yW9}xQW9J"h:Vښ)m=mvc;|z#l}upa=V`LWXPxX:k_(#oX sB]FݝSX:1Ni}S>ŴQ3 ]G`}zI#c0#0qC|DhMW ףgFM =+G'i0;9M2>g{W%9/8fDn/PgN7J[<=}cutٟrNkm + mWn'dCe"m" A| +5>F:En_8k-ջewWP<Ub +t_F_"k6ⴭӌ):e|8ԼR0 Hc6uvAr7$0wyιXG43EΰhsW@ׂ}}']9GְZ^F+\d9`~H=Ÿ?GW\iU6ԏe"[=uz+s*qO7s+;j۔a[yrN'W?rQUqA |xy'/.缀fh +eOuu;< ܿy:w/IL>HY߷pS_9ŹH}ܿ샓D#fF3J'JQҹSz|D]> -Y/v>\}E (]|MX?f=nvgn}_Xqoَ 8Z{Yߢr_Yqs +/]cs\wOY'O{}DU/,W[EEЧf0^Ϝt|d^oWO6TMOË߼^e Wx5*«v +rL0kI]]h5Vv%p~rH]'IОwK B IZ`QΦMKh/}w~L2? yɍɻlrIOr{z06oR#.n~g0l%1Jg Qcci:50e2)wEV#px^~s8ss%K s 1ǩ +ip亼'W¯6,_ʱQCܵkO5/Rr#džcـ2"̤{ij1ʑw(״6;[; ņ6{aqy>* ׇg8{E#4|MkM0uy)ZYsz^sVU~o=tYmgFh9ނ>Dܴs8 xÞ'}[*_xwU/3OTOx͊ +ٷȆ/d1O`%>b7h;~!ׂ.saTj ZK\yTdl55Ft`HU[W,7^ $u9Ey^Yqɀݹ_L=ki&fIK?،÷>#[~-x31<9 = Poɼ'OimQqK7uklHobQ>ҙ킍9<.Cȴ$ޣ( %vFS[^ىitT< "}#s k^kgn4JS[I}QzX 5À늴ynz=Eݠu/4t&ܮh\E iOzX܆yߊ߁O y'>B|;'@hݖ!ޒwԀO!N3Aӌ>I{7}|3dyoWO!_07[yaNQ[}%k~7~k=Yk2WlVA-y >f?\U61fU636ԧVEW{ߔ]&}3^1;~4ri=W@ Ci~z[ۦk6E l9f˙6r-\ilh~sAO;ngYI{dZi]adb,N"E9=n7ERO^^!&ؾ/"7(ܭARGX)ylή8rhQ+A~ 6itKg##=ߠ+ZMkmX֦؞{FM)  ч=v[y]8_aNBџl53M|DCw87j|Lfm _7agS7ӡ\=9|R]k?DEM6T_[,(yO?t}:%WS/Ef9 bv,שljaˊfJ2h-i_ +iKt6ud[Z.(Ƃ-^张C{KL7a\ ND)H<pv?6HZf6fi zu}k\xľ#;[e E,j<bٽW`BL::BE `x8σ l +k:Xһdz |>ܸ:{ +@Sǁr8 CQG]3,?ƌ: |꣒Ԅg\PC[>6 +^ c2AF)`Z0w "ӳ- R9GV <`&T(IE3]^vɩV>oMm[shZ1ڲ4nk~Ҏh2ob<d79%(o+y9{G7evj A_!~\⨀$nn.,rki5[Ɔ Ǧ}3F'V'GYSNZ(q:uՒgN-(-EH YCT`?0a|iTB?/㯱욡[Όʍcc^6 Lͧ\#ŏH9҃ծ~u[}Qx;fWcf<R']anRFe(0>b|γBݎMWnSB\M.ET}ߨ5yFE꼐W.E?Qֿ?ګ'򟩍+kGR n4;WkOg cssqn^/gN6:vi:=)n~L AbϞmo`#JSrBg; ΋hov[Em\D-עSb}Fm!~R=p^>axU} +;I0 Wj޿mhݠKiv7lGuEORcxeZ#eFke~b֚πhUO:Z|~h]ARO0:7_jEpl->(m7nw\1 df~ԁ2#QUJ)~ϻG+!x:;31e9=im+֚8jbQR@Yf.w̵VVvXM{^Ѵ]X9ǫĿy]iL)99M8 +oCl0]SPMq%觫#1E,AṌ:Z8a.ng귯l%|+,Ԯ+- ozfgb;t+a\`qx`Zc^;g(ւs%nK$0cfq +3BHòI”='F-5R.)&G,Hp*(\?tѥE?h:^(ovg PL:?Қwd>j + + (ET-ˑL W^#ۢQ+[az| +3Y ?Z/_vMX2TrN Nz ]oa$A7|D&×CSHIXηhmGBMLm{,sݴkQ(V!"!R{QH +_]LIKBi&){B[_H_G;D%jRk\GS>B3CQ탕ӊU/K1/:+E&d9"j,M9aaJZNGۢSH".ǺdXPC]s_ޘ2뇘=4ozAa/V?!%*DG: zT\DD}wӢgPk^DQz^^Tf# ,4/˴?VI\IS'0e2yTCYgNg43a_eĭLDf(bpU;X"eLCϕ2'ɘR=h %;tx}7NbPa}<#vL"!I%<戚\'&帊ýխ@~IdZzr1j1= +E~)MQzp*Jf:1RӢ`$/R{(IxCj*UihKwUT! !97S UygCȖ9az\<7esΘDگL~)C}~62;65go- #Zr3afCW"դ=U9t! +*-;X . +E uqOFT0$˹ZM4- 㥾kiUĨb)|:Wі?}=lo|3L{S yRǬ!~$$[Oc<<=SwrRt}yNhNe&OsuRTbkiԗA%7.Ar{a47A W㓻PFWaq/92cUvn9Ab _no%Mu,z@g d2q'jH+ T#!V1MıFO+3' TyR7g4[W~{K;*+kJ/7J\>FFțA~?G /_~Q8m@7 2 ch0~vp p2F-#w^ø 1øM~{go I&"@p6k?_ayx~xL]-k{KͲ`K>eo|,{#Yv0'MG컀8|2˚Oe?eC3xY?,{ ,{G Yv6Og;7I;#l.Ms xKY$Y ->}0,Yo=eI,ne{u1>|% `pO0oJ +?,yx ݯΟG?Ǹ?пh||xu xv)/WYv8Mk#;6`}`[ =m!%zm84z'>C-E'8|g?{VLyN' _??J(AK9я低?G訮s\f$! cc IXsgF h$#4fƱ%QF,$-U /UKqWՇnIK^x$z{4N^W}Xs{>{Ϲ{!V:6v~7.oσ<v~!t)\>TqkDﯵSާ6(!mĒq6\کxuj|Ư!%\-9/vɈg~>_e?!ڪ0[ \3Wu>tb<5YD\r^)~OLN݌vVi2!?|o^mx߁:d K|7pz2Ħcc2ć1$jrs#{,;+'W]q}rDޙikm; r> 8x~mT&, J~U~a"=_VL#J\OHd- #T| Hg[f\Mvt/%z;|zrj|@OUW.[@D!@3." +ڗ@_hYD!GdeQzu>Y 3A1/=Q|*'Tw^J&S'WcD3i Qn'Iwg +䖇-Eބ*g=i [׮ї#a}w]Dym bҚͿ#qhC쓆jh<&0I? B~!S4~!=rdŀbhNCtaF) +T")zmQ0U]п$Wr6qAGGӂ#گS@c3sh7O!O]cE>fd1zyᝅyWsHd:'ul~'J=/$ݍErX3(6 i69a{`ZfI̝+p؜ΈNW,j 2XA^ƯU:rn 2JT}8?A6XcbUoRgӠYuPѫcLT" }H+߬#]z.UE=&w'YkoB_|wIgKT{r%e< 13 FCG ~?m$/ܣ?c)11ƼJSp )eIXs{{yF.SiTJ0Sr#\jzC#%)gs-i (&c%0͂1lhAa2矚lX!rx= ]'F -߯+)1֏a`rj0q} !ěuJxNT@?;@6 }@Fo&읞2'0Q ?r?&+6aN@_.v1 ե7czd ϣ-5z:{A8NOyaA]& )KwmoX..F-Wgcx䋵cMY6`@BTCy8`XC;Ú>d}Jq]q~F`WYK?c +xB\% #O ruC[B4S3Vvg !J&3e> +]k[3И?S _ꓫ 6${uhdGJ +Жu#rZO|'VJ=ekNB,coЈA;"_3?gf ?Dm!9o ~hc)෉0Gzt:g7[Of~XPGSjmu4/]]ݳF6c&HJ5k{K_U`fZ_)H4`LQ ')_ ~ |֕ hۨ|])a/ +etT'̆jc0ӹוa><`eŕ NJ? 4w[s` q9q) r cZo}6!:[諭]k}k<-ٿBI󯖭z9p`jzꞴephe84#pLiڟ/, J)Jgל[Mre +3ͻ[_VЛZԳܗ"b< 39O~OF%DD +Yڛڗ|=ԳTKْ})ٽX[E}B޸8Vd*1|F7q6)<!5ܼFP80+ x6p<+m>x.x7 OlI+_؅٫T68xB͆R;F7MNlhhֱ PXԾ +lW` f.y&OK![Q+4Ž1qja! iA·J2fk4D*C#y:m9;W%Y SgݝkES)/;[\R5G-"$l0O.űI蠠[*2z昘iF"`yC`` X'Qv>}vãDC}YܩzkfZ\U!x T@G__tua磟~Q{kU84KŢPАnSS:C_.GSEbl=3i1%ї)jW!\o\A-)ƞEeEݥ<=^b@J^+$c+Ѷ/yxρƓW.^Fbz90 olyy]hg}ns*X@,.cko\gAǬpW(n' Wl6iz ~/F{H]a\St& pC `dN-pXbk_KI݄>lǜ𬅶7duhE!sA0*vʓꖎo'd_|w7OqΞS^}jW|*gAO>7F~jf +էуYCh)EpB)Yh8@Ji߭hKA<~h8օ!\[(ۤ[}̝++=)K +w/-%j[S_vCN + QQoppDa=,Vb(}>YY\ -x[<Ih^? f *fsoRབ+p)%O:vh[., c,אiV)>1hK4h[C6cqzp3ꥐS)ݠtvpwտ$ki/;u_Oq +LަJ۵;՗_gZZ:nf䧧-0cTIz[UlNZj{Ӗa)q[:m ϔsPv%ָ6~k+{%8}`[sy}[jvF+A +P*(]}1o|$nڤaU㨉[!$!>/AJh?3і'a#;Y:v~AOo-AAkŠ8/SaqUE㳢M\ +~W/s[{bnq>yܳ3Nsl΢ȆA[&$ l̄oFi{b?~ˉqOOT)`h:1  +?.t/Q {z{ >+&~QKv~ݔ̄YɌȥ W|`\.YQ7lB3ݴj_ +znh~r%| gg`]y4{GhYXڥ x/R.'vIJ 2@F%5ܔ!+m dDF2:`ꔫN's:e8QxrIA1EO)8( R2@( Nr/\S >EN_ѓ)=;]WH%g[)d*' !1 ]ARΗTB=%!Ҫ1蟎ܕ14 rSi˗۰DI.<;#[1?_6);I[I,N.>K.e+%7sIv lWrɅSݮ\29ww{Bnʵg6W*| c$d !X22T+TS^I8w%iJy >J/)%lb\ɰ׬s'*媂tE{2ezS(R+dHA+hƦURdYym:R zҎ1W֓xxW\2ˆ4X{F2+zr& Id, %)W֓+KVF8D]O)px!EIfi77W7K0qw,3^@6e;F2xHFoI9#"}HV(sujT1顲A +QHi'=^+PBxSy*ݒ]lR@(eOX=>7FR>㉒0;ub5+Vy-J+4r~TFz8|r2.~!Vsމ +/8_q(?q3?ϰ-bu?ƍ!(8&Z~~ Ž4ܷwkx`u,?j|%B[Szv$sޟƲ'rq.O=ޯX^r?ź7#TrANE?qň~ z13$}ΙG_?&y _T)O8LЧpN_ )a"1>fu@ӿtmٺQ}qvPjroc{޹p6a +cV_wX|_}Rd@ٱcDؔÔE2v2fB JCs6~m"'D|i9i׬(M.}gwѩw1mu Ձ<ޭ>r9Y$Y;QHC󈱴^V^ZYj/8li@_}QՄ_Z!xo`JxA/K6OekQI-[هs?n..H}xXǜF{Mq਺\[Gng(FrA_XAŸH )O4͖Lt XwD9VGy0_ vSbZ>$0gdl&t;aE M"EX.UFfa%щZd.M >e?6 uttm]f/jgZyb\_Ze? 1>;/jAZA'y{ZzbXUPCˣ?G?nA,Z(6k_[lj%wRdeMT4f6cllk~ކ9RP +Y>/+¯~~I;9ƏAسo?%|~oo_6a럿wWg/,宑̬}CM܇ί7o߿cy =s+o~g~מ;+tiOܶU\o;7z~u؍vzoώśo~7_懟o?Ñ{ooo/[r70lU-w,ܳ~_T]0=Pxژc]a$:?%RtI_bKH /F rtk:&:G.J +sE3J.:~ܽ6:[ ;4V >hzøhBIgK86NhҐ?CCo| +oBy:%:a:ao_4iDm =FF~1./hߩ'_/W|t|ƸN?> >?*?#i̔[ѯ$autO5+[τ}{24\?Zq7hg={s51eJc7j[F5Fh& 7iī 4߫f JհZ >׀RC?oj/4$oҊ; ,^`to + +}O +%3x#aQHJq$汫3 &fPRKqU,LW=@2K!oYZP>ۭ'vvF(U Nfp|,7|o@YKG>rfOC+,&tl|8#4HU~ D紆_ ,g忢!kkq繿႗X^@.p48pb\>MZkK=$2\K\|$>zxO9`6~kܞ#Mg#׳?@j @ (#ݮ1^z {0kUD,]nBC{\ρk=jӏ6^T^B*Z] Ja`$Oԗ%N{Eu49k +v¶ݎZYJܞ㍀RRζ;ξk;~|OF;W7 +4:юuu6d6N]GN\ٞjru‰鱻gcc͎=;~ މ\3MvT!:eʡ#9~IhR Chr;noIѽdW=H]B]NΌµ"aqUįl{ MYs`'XL9v}\0ЊZ6 ͱ*v[ElD GVgQɔY8tGp UDJ-Y:J?-qf=cF}QcO3]&5O`苞=7:Ꚋ<[PSIj)Ȅ~znwѳ4 < +s憺皝Fem[Q i!ffV܀aYPT -pj .%t&_yvڋ@<L$j49gݥhu<u>NWVUu2jn.^,ߧ/񴐌2q]FnOG ur=^R]|dnEAi9J#2VtHt|Փ07"kyYͬoN$n~ KE/y`@MEWjUV ˏ?Wed*TǠlyKrg.rap6Le:}Ϸ0kH@.7ʘc]rD6giyA۫W.+5wl.6T 断(\KP2 + W҆?ʰoIqA.rAiL漐\dNKW]˭*s6sheU&L/}ks,\A?5ڼk}i~W䖑iGt+OtUkhekϦḍBs!f-U5cFqG|exextWE rJV嬨n"9|gR h~uIS$j\vm-뚌Ly.ww[}L :ZTGpJrN+Ejw镪V(J~;V>E9+.($өs/.e=Vu*W-L/-^I`?O+*+ 3/gdɏJh/ΩZwѼYknXWTf2|+oM]YV號"YjQ$ҲY 2XUX|*~kWt+3WXӄft!ʌ:uBy΅ZUK௬h.ͭ.'`6Z9ǹ_IG`{mqLX^A6r\DԱDK}?VmmI6Ϻk.ery_6KҲX"K5FxVn~Qf? i})jq +o Qx>OPnqOZ<]=Uxf+3xUn/Txŗ(|_=g~{~=O췫T_Ӭv+-j +r/"Yyl>~Q +j +Oxz +OLW~/QkeK&9n7mnϷ]-&y$x`I幗Va𷿳)Z4SU]?Sw vu-|nՙ羶6 'b?8~ܚ2Jp~n{7g] ;7o^|7[ |?p~>nW? d[x3.lN繕|38tq&9w>y8ܥ܆-hl8B*p{Un9a)f,k| p~n5ŵܰqp558=.fࣀ~aJj-YsS~8Oy.Oxp~.B)』>x*c{ +6K-8?Sd7D3/n? m!t~^< <_5l ek |'< <x nMA(<< a]yn:pmb>x!{x*Ӂ3v>|+g/~3q?9V'k<|v?V;o>nZ|?p&n ax YKZZ8x)! +x: +ׁW |1bw_| p?x e_< x-x#x3Zແϔqk~aY Z';;Y#gB!nC?<F끧t skDs~]z$+fC + ?rJZ\&u'@o I'~#-r~Џs~Op~Oq~;8Ĩ~q~/r~/s~Яr~Яq~пr~~~~>AAAqIQA?As~Ю(zT%ziAA%0;@ @'qNq~it&AOq~>Ο7q~7s~зp~зr~ 8?;8?8?rΟՋ9?{8?J󃾟~'GF!z+8翠~~Dst~~~~-gG;A#Du'}#}>A(nT%ziAA%0;@ @'qNq~it&AOq~>?5oooop~wp~wq~??s~p~+8?蕜t}? 9?8?G8?譜Խk+#Z`s49~VdtT?H|y+q_i8]ҘQdX'x_7gjcau +M$iѶeG׆8clhX_CG)6J6r=<P|~?\S iĥ֩u0>;9Fur맽cG-/Οݖ]'FQGCgǧoK\bLq,K3R,ի99/R"qB;\du,2_P3:ɟ}Gֿ~U?m]8N~ɪ>IeBu_$*~U$񢬟/Vų~N3gt񄬟et ;y2FYVY?;@k+e~WLDG3]~NQb/)ns=YBsmSD/U?d1Aώ3Ud$[KqMB"xLc{GcaNH~ 9:Fd=e6Nvu{lq,7Wgr=~NoKhc?<_W/َ3&~zx +~UWi5w]鹢~T\񜬟su8牭~C~~C'QJ}ϧ]SE~6S?#.[_`x_!}'c.%}e/,0+qEi:׎]`tӹ~LR+|FSSt6߇IJT-~]3_ ib< kL=GcP7Ezg{fjƫA绰5m.t Fi?]Fg撱4fj~E3"oi˽~MXz9ꦱ[ -~3i|s[:v8y}W31C{k:g<"aQT[ږ#>1zޖuF;{>cOkFg`Ѹ9BcȦ.>D~t^]c,c&}c8N :);\F8i8A #,獚8f˞mkzq\n:oҌc_PX΁u6 ~F/>Ⱥ>膷g~ sL>Px_ӌOh4^E7'hͻj@91c {z=1w165a %ovkF{fZiyn|Nע^#t8nn$i8J׶G+4# F\Ưyx&#0[m^bK dVKg/tsowGS\5^t'Ņi_Mro+m3]c,yTO}Eu3'}X f=t)Ce= aۮ5NqX[ ՚ #9.6!11:&á=ɤ6/1_=n|; D l&7SO[1[3SA)^]HC/$'{|_=޿-I{lQয়S4&;EEiu^iwP]O;?pi̥y~kOxz{]z'U v~Hܝi9OQkBci;l֟ϟx:|IIJѴ4=9STӴ>2zʵ׆:s<5['[j |?ߙ IX$+2IP7d2Ժ`!j_mB,+jK#XZ[&δV* ek؊56 d{g$ߟ'<{{ɰqk˰ N_ ~j̸?;E/u>ei|W4~Wumi,?JQ ֔ƇxoG&?JC[L;4^]=xq`_i[w}vți" 4wDq7ai ?.\hhJ.qomK,linf|\m[EE{j`[YqehJ/+U.MA?{ ?a>m{*iH;i-N]ohh3B{fBn} p`j]_w/B(}8ʾ{q\]aߥ9VGXӈfZ.f(}T*6ྡ\Ps: .kzm"a{~t~ܤȴ|[Z#-g i_F9s,CaMǸBRj{ oEG>4r,79rvJ$ɵO\vX;(0xu"QpxRD?,VJ; +C<=9+k3 oi\#R8iCctT&J}WO׿Va\ب׿6vZڠֿ>]cJ^Զ[|Wnrm%\:.Q_f+OɎ$'ziΌW<uY!ZoK|Tee%׭W,vuҹKEnXcd1ʋ.Nsk/`ܝױVey;zΣױֱtu,k[jaZ~fYuG#aֱ4miih֗Xbk-|:ևX~֏s,9Oֱޒx\xbnM{u׏u,#::_%m:OZSſ8X:NZa  ;'0;NNP'%WbNzgXH,gZg^e:Nz3IoE:z'ؙV_:yNzbK/^I7R~w 2]nw3x^8Oze&8β^!tz8βW;I{mH7I/p8Lw^lk#H'FXF~&gϮ#Iwu_:7XwI{IN/.'=wmw kmqk=׺N/3#Nz+ I/pU*NNz󬋤=:_/wB[ä'.IӻIw_/'V_Vo9^`;L5,76z:=ԃKu,ױcg׃KU􎓞=s^+Ku$(zw/{Wxރ&<\x>Aװ\B6j k*}2Zê BQkX7v^O[z{*3pz]ְ8w-װ^ְs*+fBħwZ<{Eu|\v|"߯Ps\j25mְuOěK[vkIG5!|ְ +Z%M%ۯm#r 7qOWsXO>A~~w#5!-sú`݂ǗzzXw:N|e=Xl\_t!WT~\F^Y|G54ou#a\[U?~=a /|l`0O;ד`ǯ;m׮ǧv6-Wcr| +(O4|s +vjq +vBl׮%-#/,kWr=vs:i<⻶9^|i9%թ͡ Ovpt\4H_>\v<.W &x[\p^t'f*7lt9ۮ˓brŬ[](Lϥ,j-%Pu86mcDyVko·;ʍ>Ma}L*ּl[gcD>1LO:SN(SkBOJy' H8f]\W2t((HYY?ѵ =䙩 L}wkez,!(`oߤZW J3b[/Aa%\!V :-CX ]-2-0ĚJo]*_x5 iLRհIkb}v<{uҶ'CӬiH;``yn]iWrVASii;3t>|ӭVd@.tk4tچs{ty["-,c5ZO`Lye,ON\! SPLy,/C7O$˰jMyCɷ|^f4/ȷڔ絎BG X^]:WgZ#6t>o6Җ%C" |X^.zi~+DViy<(O[ϲ1̺K|u>0k%gm`y=U>0n/Y^Osu'gҖ6iaͬگM㋈ {G-2"O_7M?qc Dž5.\,rq]*wlCwb:XϓSAC`@IDcD +qT's7 kY|(;MŻ&E! ~m:rCma}/c )Iv0pw< ܰGߍ+/ζ£E|t0tc`}o\ovg,X`k\tr[ lv*`;`0vX_OH/;Ep`@֠_M̔cc{–~?Bc}Xہ>ؓ%T-L6ݘwHc!?P?[[-{Ere7|'=FC;>0kϱ/=C-I:M8F nL9u5-!чeگ$qBZ,{JCc3%'IS<N3⨆0İ϶-@hǦ~޾8Jf2$??C)~o~+W8񻖿7b{𻒿|F +3$!ѻ +{pv.#l(z]Կ}]5lWN _uw7~"ӝ}9 DyWA٧e싟i-`.f4ؼLsuU^u.}^4Gߗi3adƈ9lLxӟi4miiuJQpDDx{F?vs~4P44I>ZA֣ *o;{ _SCC AZkDmH,3 eW d\wg:7i[s~T?jnz&~_{o}K;}oٴ㽩ky +xCgry%nǰ1'6X8̋>~mABϽ<^Gcߧ.vo\%[ ">=_;N\ɽ}e"~F=XwK΋~-WB^럀ې·Iϋ|4x8'pHw^k<ܓW-^S +BҫL7'ǡ[UrN->rE}0x3x^?-3xk%rK7qu^m'=0ēNoI<9vod;m0x{"> x˽vrIiΰ\9טxZ.OEȽq)4%񌾜i͐kT{Dδ.g{0*Nδ&I2qg'.1=Sx?tn>]COYp=y.qGlU=~,ZgY}iL҉8r;VdZC|!a)kC/3U{LkJ:*7o&)K岊1m{Rr.Ue^xOۍ,k70z:Y;YnG|M,WUL6Bzrbp҃^zs>{SKizuWܫI\kɽ)z8yϳnrNW'yRɽ)zO9Γ*==_8W1Eo^|k_:_: >{S~(=x)z;/.3x޽NzH}T{SrNKWiH^H_:B+NӻI/pi;NJ'V;%W'FYmENzQˤ/NzQ_H20'QNKEooBzw KcB/ޱtqFPʏ{R>Sݰ1Wtt͞_ +O{Q&اͰgo{ #gֲoE~gygE^//Ğ㏿}鑶șx9/ϻ?w?~z||j}i['r{DF2#R4 tM~yyV 3B>#r?pv=;^tW8^/cK܃(WkcBa4P*BYl+3z*DE5,</aF -Q6$ءaac)E<_X ]V Ǘrlz߅rl|.etYp[>.7滑𢰰W ee0#E}İA]Vp~:{Npb>"Tn ¯\a=֫Um5HwEUp@*i>1q[1:ᲞwGȽh;fģ~7zy'`Kog(n6riqvdX;_<<wko*=0zo^Ӟ=[fgӊH}BrjCX3JscB{=fN0W#6:=#C(akx?95?Bw;Or_a]V.1u??veXxnlkEZvl65:0 e3zX^RF'{h=q]N4ܘ#n/ք'qC.O6*ʛ y~t 9:7~uGUݏ~Yw3ga:ݝ:a8Qv-?6un_YRi QW/m`$_%7iY&>{S}uFwl8okg_ڵ}' e}-|?L>^oRi+}G^\*mV_|Q|"7lT#a;ED}lE`h~BZS&v_| q~{QXABJW'ŗ3}ȳCA[wRiWanCSyCN{I3sZk=@f侞@R'"A'I\E>rЛ=5xٟg5X˒DW}+<`&Y6rN4Jk! _hxV^ùo4!S o ))O+kOHpo F.}$g'<>/H N_ Ù%xo_R>KxI=Uܓb3|)O?.=ɕXË+op?< oeRrA [Xq]$/ K@/$B NxXg3m^5ɟ|NLѹNI~IeB)KŀT]Rel]#Ը#|y1OH)F2ÿuv?a\._dLx@{^mx%;T3 1?)x% _?OIH +#gC +6S [I EG H_?OxH|Oo? `ÿẀ3~[< +xO?3%!=?C%'Y~?kvɏv o#<- w  /"UoU !uW/#s|_?W¿ ½Iu73pq O|V1KHE5K|e'<:I(wt],>ߐ(R)(?"ךzVQ[µ{.+ ng]?!z_j'ܫAj'\%sIxLcEx@n…skn4{ȧZ?B>M1NOkxpL×S o ~Xlh$<@? * > ~MOWSҧXWIXM) F.WKOc5OxXG~_ӯ}f7K| +?>՜c +^-_M7E?>3VL >V#0K|X_CS9 C_AO } +.S }½'\I|)tc8dk?YNK| +d{?OK xX^ O} S5r_Vpk )tq V~j2Ckx,Wo|9mF;u wY K^D-OxHhEkJcY{톬Ҹj}%:-ۗ?D9k3Oqj<5/DW]yy:o~t#ljDAx?=]ˋv*3?:erCym›=>7-ԸO%mL~η +GExNBϢxy>=t_$ĮcK,[Yt̿z;ݩ2;WWGF7c%ʹ&YF_I$zEhzTLP'v_.y<{UK?Ph ~yƟkv])>n=QލX6Qj[o8RrNO)&| +~J_ J%."mh>{x`j[%'"g?B=t(_>O)Ǧ Z>'닿-elkwnjmD/OK !{Pog+hqua澇h?;ur'uez\#ɲD;W}׈ݐQ^=x.H>~|~_vZ?9mĸt\6_Hqzɵ&ߎ_H]w/|6C:?$AӠT~0~bC2X#(u٢IIߚ%.L4M smI=G;|z#}3o'x>3?unN$77eJ9ruل15ܧq|Go9v|FoEAg>8XˀqvK hxO}wQt5'TQ?i)߮ڏ /qD܃=c&"euoPM}hi}2U棏;+"C#ILQw*G66eF'Ȏ$Acϼ~Wb ͎ K(|ʭLPq} YT- [e+\ޝ +YɒC|ˆ~{~]s]1YӺ[ݟ lunw:Vysk4y:';ۜV{_)/y{}?{:f![;3IlM;z.շV{Q%>ƹ-=eu>{z,*s5ݢ, ;KZwލU KzC!ycM8c=+m7T%inn,r!GGsO6}~3>bsn!ysᘂ|?oa1qaybɣ~2?O,GҎϦ-kǖ%"K{'@\0f?@c]^ߋ{5՝o^ r4c仔H#Mgz/¶rF붥< 8z>! O_zm'aw.qljqA>DQ˕~_Ey,[4dB{+}c_qeGDv+<x }Ƅo\N%~K*D|NBԂߵ͟}m.`k{ 63geNNJ;ov܅i!^(C2, yy/D)T Iݱ^ rEʰ sFЭWmm` sclƖ\qBrbe.81ۿȓs +U$!8_/hx3#W_ CY;I}?bU}࿍]~w%uy ^}77xPixźCfoX?~o_Ʊ{LŲt<%eP#C\:csD]g\lxNJ?E\U(G¥FDQ~1^}Ӗ \Ru2u"SߘcmATsF^vkQ/Dwˎ;&їdF~{6{5M>JSį̧N"MƮ4BBb_?m;pƱ[GA74apt /GB>lwt b\moN<nM{o6?,ПZ!؈CG{x7agK A?BHiOǂ/`,* "_]gA.&x'fuy|uHbL9'Dm14eS>3^?4L>)O.g$^Sϋ2ڻܑ%="h"Z ZJ~.1f)_v8֨ó$_`'#q/;w]C|cO1=+zP$cҿhVGH5Nqj 귳/^ 2p?En]}c}JOqhNvhz + 7n1Dːg 4f +ΫxB粊2\+E _KhuƏ}nqNYr'wAVMOawo55^9̝aġ_4r8W/Bϼr_oESo/C1ÀY)f<}a%?k(;> GBݐc(l|␨OL"pts߷KmlD}bX{7kw _}BQ߾O௹@'w>_KcEy䥨'C|읃ˊf.).`G^O +cÆWOΈtQvʾF٭1 gz N^e_gTF.3;cֿF +_)C|AhGYد y#r[!V1mn\}CRu?7xҺ; x\VxR1hkuWK[CFG]-ö2noLk++c|µ2ꊳ/s+ܡ=˄k׭–c6)Wz`?.6>0h{&r;FQudv@ȏ] BQ򂯉8eJ;Vr zC ;xoSJmeax'"<&O(FNLJ\3z;dH\mT &Tmi1w7 +ԥq%VȪX_?k[5n~YS#,mdqj|tkw(Q.i} :k{WjʋnFO+lgYGvZ 1h9AЁ<:N'К'q\!n򴾦_3y?_MC[ -DrD#0} +:JOXAp WH2퇰D_U|UO+rc53kg,fG*}-ۄg^Ȼ=5rRإǼFuvz##(/x}-uZX7 \bMù9+z0Tϻ1;)<`Z&~?.%V nwp+1UE kt}5׉ױN{Ds繉۫iqDzJQ=mb'<#%H [ȨvUFD^gsGW,ԍ}i/xwMeoϹXXпJNl:ƧDŽ˲D9HIUr#:ps29>+$c mU(BYSqVa<=a;SƣbGnGг C] _NQ?6<͏'9CZRkkЇFp.k:u3ڗ.ܠc'f(.ž2c(5ꎘ|3G G>[<}&_Rw~xc;WdMGdB3vX@<9_ ʤy{rkBq{DW,xW=u.>6`odžm<>=vᘧc|,4zih] "/mfw5Kϓ=ZR<>HyxӶy䉺ٟ]l_Y/ϻy^w,u>ZkgÈ[7Xm=~~&6?;'z"V%}Ժ_(Ęp/_ |7. ^r^ӭz!V!_ո#G+pҁ2g?!ܿôE| x}rkJoߡ0`EJ D|_eYWh|P%Z%.bf6 +vvԟzax}l(Enۡp;6uU;xTa,|l@^ӷ@32 +;e2ne "8uTڃ95;N^t^">ڝ^F*BlS(lR{\ +unǥQp-#6\2(zF]}Ue}(OZ}Լ -@^zŤ}s. 5&ʓlQ#? 6k \ sXs!;m~%6~J4L%޹oޯ{=ޕWگS<2=m1tydŷ){07gig9~<78x3;[jne=|6yWT64Wփ彉,ӲCYeZ '>b)otvz_8OaQ]W oQ2.ul_~Oe\XC](uwe~5߽P&CE!u^`^6'ʍyt?ڊrCnk@}Wɕ)ꕰ6Tzˮgz9&h|X07Z83CJ6z{}=_^^w9y}_ϫw?=\_G ;yVB<WZ8PLx^x-۠'&n!652~\(_v۬nsi;yQ!?YިNt[pM|q'N Oxxhi,AZy(ּ=zn `KֶjA9<~۞vi+@e]4ʏsy,˲ c3V rjP+)X}sg#Ibp]?(TОօEM^%gfBDލLwgZ&-]H; )VvǭCdYnt5>V CSkvw9D}yG Ub83M6ކ1<؅rgf /IJAӴ_\9.F}w@1mX>uCesYc*B_1n +>q` 9ۉѶʮsW" j 6 LW[mqFktue x]̸[gN7҇Zޣqk h[?}~m/b.kV~/zgvq#[ [Pm[W~7Q7uzg09<+Wl3gpdp̼ x21SgZ2@z<T = 47odчis:ogcquyiK?krzۂ8sD|>xhAL~:Pw yeF7F~CGw(߶4;rl݀q&Wt򣛐sJcAѿ%)Yz>Iqw(w"{ }пq؋@?zo.l=ƖVK8iVQ7u Az[ڙ~ȶҟQm_/ʛuK c{}DhQޥ`7>c FUOqN*i>wp%R} NhLG'ik>UzEr`# +h*EN%Sw+Ε0*hp c{1]q']0121yM %}-Ѕ}AZ&֣(<_BSf9<99ws8/OC'pTmĖ ~^/}޴3mfÆ{76fw^o=[Y܊uҌ]Omgv7ijS=߄3zlN\[G'Jٖ$Sw{t +}a95Zg1G&B.]hF/c"?}v[cb3;/~_RyX)>*ơNq~7s[^ 1S6mk;g#8_0ƪ|Pk. ܗ(Il/R(`^|Ɠa{lt~􌽾pܤY 냵z+k˳0ʽ9hRY6ƪa&y!MIAVē#?^1s3RTlx>` ϿR^k\/M¦=3EhpO 0LF~QVHbZonl4P}]d#e{66vY{R=d=v38TdB\cor jON qkhq]O>zIwźPYC=:@?/Ms~Pfz vy +7X(粝GPꔒ ȥˠ(YvYŽ̰ѫ8^<=9:˶ӢQ&G["+ib xee8cf/T56n8Y=(l{6z\>y[З9 YЭ]Dg7Vy1ܕ-s"MOAk~87h5#N MU4fM0ƸIvN~K%˪-wfIJA{[f2i;U6;.h8ibJ\:I=jӳ,L{gm8KDܟS60])}+<| 0^~ ?\;)=#d;yz~|VogliyWly/ Z9εd7sːwBؿf Y QV/ۥ+Dv{20-ZiisJ3g]"kwɹUiݡG$nټh ^垱Kt(k3O>_;CidWA]5\%Z~C -M_}/³<-?sʶp.2,/M!bu֏2 9kʏ}z6Cvߛ=.2LvQ22ˏ; ̶> <ú=NY3nn;y&CrƻOǽޔ1whI}78euR&*mtNo8.~yhW<{el:FЗPgˏ>l;/|G" k۟>Aƥb<غ_DqH뽽͆vfMh#˅ռ>cA;dX6KɅ6k]TWO@_'ۣ +RT춇vka^>Xޓ'ׯ9O3ovt/hw:яՇS}ZGPGobS/y(ݹϊ6;v ڮvog鐊V-ۣ_WX_2PTp=͹{:h+c&2KdxxelBc/QF:ZU<|oLMOUIynsK4SFPgG{!رX;>y>gtI?+}?!Y3gG];p嘺w҃'lBz|~>I:Ǖn1AĄ9c㜱猹~gUE1gؽҗɍIagYW{&K4"WAlyy8k1geU7=P#X?Qζ/cFqxΉu+'4'xO ϐ{;ƅݫЩ|˟dzवKa`3u&u'oteN71S_Y-x +h ;f!槾Q.ˆw~xap-L +~n׬cF.3J\olOSD9:<1sGx!8^+/JLg23zyWýȚH}e{s|>C}9/3+4Omn7pAݮ}YО: O<$z=`>:o!ߏZo.Ѫ~8%ʛ;99V}+̼s/_y4}A{}ML^JSpM|:}v̬RrOv62T\cnf%se˞eKy ,{;ԋnX3;}.D玞jVxWzcmm? w*7xAjTQ_|eGQ>o#ߌv O?8 + Ʋg-7vhg~ jyM/ #΄.o>(cx 7$V,ZЗVeЀE߂]8O Mlh.B=Bo6M?}oJ>t{?K4qseƀ7B xg2))>߲<K$6~?&tjUc S#l?ƍ_G;m?/lQهs:A>H3]2iPVwx`$ >mx)}g'hOY_X~y}3 _qWȏ 2#ʊX/o(Y{g,˦Ocf@?_Vy7,aBnr㽿z}ރ0^@od/tt6\u%MT|>.]q/^5,BO ቆq0|qg}֛귾^m]5;o w~[(CeE=߭Jaef_N〰؇w?up>uv6CڱvO4?o:rʹ兏~.ny8z|e@}'ϟwcqs~ȵ}~~Xʉ>Snt7c&L et5օ_~BO"if4͓Pup'2FaqbDh:i87 w(=]gMOcUۙiOiLSôƾROww/`쌕>9͢_lo^gm\amO+;mm] +e9ѹ n({h٤1F%dfqۻ)ac[sGG;n|W])xvӿRcKu=տu#1\_>8eu1~c/{x:nMO8jy9m?HxLݼuH;۹OqV2FWgܷzIo4Zrn{-?s6>{8O mWgu'gwkxrf C>9_CXF]ޮuy9˽JCjA1n^(<SwP ?ڦ'`j>`w>n=p 嵟#q~VRa;-sb'^<<;Bz9^``vr(O8<z'ʍ|/KKyE[SαuDžvL7eLuU'~Ɣ9О{7YG֏簺-j-3od/sW=u1M|xwp'rq>(>/3z~zcFDPT(E&Mmbw؞>p)V"5çӯ;qo70=tY-y/05c g9qfqqMi"8uFLNL3Ǚ3 D+R *9R9%w{"?'-<>ɶ)]VuNy/~1:y|NwO?Ѕ~ۑۍ~]6=j=RwhcQjΑb049VrM zb͆ÉFm49.hHN|vy2~>| ᬔNzv։6MtS΅Z'|eu:ҋѻy%⿷uS}C~caݿп[Ar<ey;c[)~V8q‰[) ~nysb(ہ>{vS蕒?'wWɭP߁ǒ}>铻>Ug])7:e6NC< e6SޝoJyK0M{Q?6h_^wԪrA9Ona{3Nrs%a v{r&)?:^8F[OԹD㏬G.&}ԍzuTk6٥@g~n|o8vK׺FtY/a<78{/auVȭK$m6W]%nE/! -{ .Ѿ>p ;ȐIKyLJPu3N]a:j +/oK䟴7x"oPNA';/oHd߇瓰'k{e4/H=}*uJ[XdߊRn'Vuog_z[kI[FfOF7<6:U'o}oNzͷߓ{ؿ)=8U_0ˑ^gB?翽’Mz/(Q߿j)ǝZkzqZSL֚^xbi/=!WF1gb4_CXwo_?og~~S?]4P?<)`Agwӧ=3mD٫h3a͸e\QoMH'ѧnkrK&2qɥhWޓh_ a c&髑'd;ysxWm]m6q}Moos}>}%o1);5y~fT߱S=w侗wWK +"[۳<wq!u@̎æ ow1~__ֿ =&=!pO|/}:hA,iF{Qgp +,_X܁]yvί?n*fcOR)ֽdL~+a?ty3+[)`hvNxRUr}y?Pww:kЖjE~ͶYDv "6p=r>HP}~㫧J~t{sDPVss>{G +#v7u0>𑆣~s:065G< hәr;c y?ױ/= 3w,;c|dz fj(u[\/჆+KŘktˠwC;/EsNXi/K$ʴ4Jc_-X=[x85+ʷ<$i> mEosF:^:ČlS:yB ͨ3sPnA; Ȗs{b܄,oo&bZf ;r]{}z_ͪ-Ky1hBn<2kSr5Aɋ=W5Uq+Sn(/#firZ cj wHaU{ 'k{s؏s&E+z&ZܢQD>VvC};\@g'ܣLuEq]c ![U x{^'سY_=rQۣ#=go7WRrlCOxN9k)[Cyug-[^>z}(bnOO_{A~̹ t^|qXgW{8S:=֌u&7{іNyxMKпLfP[ Cxzs|m?#N^Qۭ}CM~;uKܳBolfw-m>=k4gYY;csj?!3xGrx?+GNRdHk);ȖsD\iPd9Zѝ{@=__?:MXțQ!BMug~;Azspz99z9Y%MJ8 sfD{/SĻM<}EM/`<75:ȝu2N8l{YBQN{|zWz,H \4,ߤ_4C?[^-Z:vjX/lƖ%vz\QxO* SП2ۉ<ܴ";։:Я5nD_佝G+P\AOn1<עL”'x`|Isv ȉw@7JG+dGu;||܌о" 6?d&tM~h26봰9]7\݅ ~.mڜA[jWs{'ʯnцCƠot;veZosDZl[mf[Yܰww.o{ܜtŔ62oqZ챌cryC Q~ w86yJ_|ɫz6d(睲-C<! K]&܃ڳrڏO{_Ǔlk};|̥_=g&^S1|~q]Ţ'Wh7C(ok# yw=QN{fk>qMwzB;F2Qq.~cdk:D;O]WҽޘNޟ3G >n~G-mЎ,H 9&_ϳ{6sׅ66VߕPuܾ}(N|Fw]?cosa>w2(wɺʺ]>|Z[ސ%>O7EG/-V |?oo坘}d!x2~uqɭ;%8={ʛ)W*ABx,m$d@0Q}[a^ܫ=(eWOP/ןʐ!frUqe27(x2>x/O7>n)qޢ%D**[TN[MEmtCde?( iBM]{?gRB68@g"'$d?%M쏧i}[!%҇).Nni<p| ;jlm%y/wo]<#1w~LjxQyY! $\Y)q~cG7C=(~Q7oo60:W^QMukr=O%ݦVCs7**0>]g -nAM5^1_MBΕb2q{'홌"ޝcoeyi|ҽ7<9ؖVW-/=UPy~WsG_>JsCyA~͟Kܞm'Cn)vrwYW?de3|em^ߵbFlTy! g& ^xi:6 1hy$7h`6!ԕ mߍYV?xe}Bg?SD7rKa Uuh61R"KSF7R6!:;:v$M_B;:| <);lyS8Uw껨BdxGø{<_ND +s +VڧK+ G{C">1RoJS$퍲G>lX˻9Lж6\pD3!6 SW}]-D^k?OZkQl"ApK[dxs\eކLw~h~5W×H)21_Ǘl/, b ]e߫3!xojrgx6bL/%͉PߊPgVY uKn>`:e~~u;voH1 c[_d#xw[7Ϫp^6V~ۀZr.ygj\o+c׬ +P]Um>Кiyq OϑW+?:Y4$~w?x='lh YRtritv)W~2\@=jmYɺX.:u10!>6:hlP=]?wc]9AOw}} +yXavQ ++7ۂ;'-Eq[Q~saoJDˀC8TdyGkZH +y6s}QLߪ}o (m}ؾTxurGj5ubn+{'. t+|N~H 3a/7Aw+ +ڹ6} 胲GƢA +987 ہggt\9"#7_'e}cvvfk z Kx4bR3)y=|/e:?XZO ċEJ[:Ơ{#!֋Y/C|{%Oxp1WGN +xؔч{\Yypom3ߋoX{2ua#J~N9K{G "s3+;G%?)3Eɮ~$ķg2>|e/̺k<8.Hߒ' A?Lu~9=5ov֟g8ou_xc2lGƂ(ȇoQ{_bYq_Ĭi.'=}xr#GD[E"\W6%:i&}ߡB*GsT{ 6-9nk=/Eg+/]Ƥ7m-G~ؾנDuYzT +z}H>9/#W_ypU[I|t+?&S#qkubґaGH+ˁfIQ53iJsZg[j~sZnkQpb}XiI/HZ~9э6֞;onXmu75N[v4s_'˨J#Ew/no71nxN*ד0WCw@\ݹ;?sE޺4ݑ?('2iS/d n%,(x:O +9z;'V +˻,lϚ /31f@x&5k~7tydzEQHzW[6 ';`g[\YM/͛!r_c #*nَvm8l׆]#6} cc;m+T򼺼}XoE[!??QU:5R ^~g?\&2ݗr/b"⿦FֻNo%%+ڛavUhoK/9۬Txre{oG[e֢ͷg`;MWm87mN< ;,W3 +.pۨSmw*+煾^mB{)s܆6e;ؼXDٹc&@Tx u-@zTDӜאԨWo +yeA\џA;t[P~Av1 fп[ύgC Wt@9E1?}VtлDӫû𧉦=HF0K5 1+ZR>N{_x߽1ܝo3Օu5 \|qŌE V_Y]X?w:ճ4YU39UW-E5i*}.j|ԓ򪅵Tx Q쌹AYfDRY. R-xnQ9-[Ty>oί ]!Ub[]*_x)wfU5kTlnpB!2eWUϙ[gG@W_4=%TUεH4LP|T/"t2kN%ĿE+fUͬcjZM5O˯򊫧M2bƔˮp_< H ̚_13pM[UV.Uۯꅳmg,SϮ_W,MN{fApa^KUS + RT ;uIs(G3fUK)8rS_tK٣H>X]W4)<`SI|hv(Uz!TĐ2~┙Vt P_XQfVke;q]59s16KeÐBWޥhmJ5s ]  Duim ~.Ԧ%b-WգQ^7|RN5fD-+fWiM5:x] WyjMpܤ#| _%k+Ȃ~[1 + ]nT"Y8m,:Pmtl [vI@x>3|fU-Z8 bj++AF,tKe󪪀.LŠ)'QJ\9U_\#jR*գT]4 P>j: /MSMUΟ~3*.iǦLH=Ly9,8=fݿJN4ޕ3&cַwNUi;A%5^ϫ{FmzV{>,yWzgڹϒ*ii7^Bw…#J^R55U h4;|awfMѹAW9 ю1N224z;~=?xW4n/is+OiǦpu5#/trq_$D 3q4jƕ]7zȲS>ě1ybyZ6촊ѪvwY5)39t//.,ux/^&d {mmb`4TQPO /`vwO)؞n 1W̮ɼ_&sE gIPণ_P :g΢ "X[HbƢuS9\F +0Mʭ6\P+9`+NbՓE5u*RX⊲Uzn_|KER2_Q mgS_X.IbE2ή^8Fh/.I&|{ͩ"h: ko8Ƥ 0'_9)W{/_~jt.}D< :dӑ{ ^ye._(gH*OazRь\}pt۔^VPKqTni9tԪӥQs+J"nRJ)DIO8ndAm.5頋jzOsFM>Ԗѳ]Ust4J~a%CL5څJet;1wwJM͢] _3j2r-B{Sљw6̰sVyegU-AJPHםKL%˛ Мw"eRepT-It 8Awix*޲)^59F4B*֤։VYQ[UHҴ/:TVio\tnt.U-2?I ZE)y/_Ƭ\LoRS0Tx^E|ҟ:2Y:D)# ֵ#YU]&'fənG%^\n^55ķb7I.^sb]K]7u +[;8,BIT:[t"96r"v|*dPDM$lT!Z9_ +3Tη RIqv ѻ@YaϬ,ZXJ<Dz̭iqMltY / Jpqƭ\2KRkUǴiACV!Ycɲ%kTJn4On!M9u[aDjGWϮLB)X v~]_Τ* K^wWo1m'SM2~ !*<ң71>ӝ~歪Z\޲~j,b/?ߴV/9Emu5UN̦¤b{ZY0%Yj{E)*:XiL&5/2a\7)^DfBdUm%CtGN"ڒU +>~j9,Mŧ,X\w+9Ĵ238p$j1 )aUS^SMm+_f$tشICNNAXruB*'&Ѫe*R<Ā_KJORK¯dRŤ.D9.пij MZQgXm-uȮ[@U/Y-v [xEsᒨ)àTWZ% C:6;Y/t ȜFY:wYop[ur\:טz"WHZFj5ҩc\n 4wkĸN8ǁ$|֢*emFW76_:^D!-qU&~L -^յ ZW) ]}Ԟ:afW/T$u=A=24=\P(=M2FsIۢ3VrXH҅tclfsw. +ˏl5]V`KK|.d(@_e\"Uݤ,+__+7:]Zt ߗԣqf§gG^jV5WK僀2*ebj;WM[\f48@L>ƗJdbH#E\D:RBL[<]y82LJO*74Uk%pÏ!*IYYXJkwZH&L.>ӅH I$Ft}E5u)kZ;1!}%\N4bW%F_;~8HT &"%#*1^D:/lÔYFGebMmJ%h5ri:xNZfJ'_aAO DLcuPo6SW󤺡w骼4%irO{ǵupNTu{(AN>yZZF,fufTUuFKǓ8'(VEvVr'ɷ$5Nr:%ZWtNGLK4z rA_(;MMO͢xu8D>hh $$q .g3я^̉-{ tƇ;/WkRKKK!wj*8R;%[uDL9@`mz9t Im':tg[`ő_筅/I!hLUV`pS#Ur_d'[m1hN0S0r$IO 4z9vOfFV["͏Xku:$}5&gjP\t͎9(drnq":PM X[4zI<[;zIgߎ _~5F%uiO77WѡF)Ԯ˽f5HҕqJHKC-=]<]8ҹ9t&̄4*u23gmܓ˅y7k;)2o4$=FƬșA>2䂙b'|!yϯ^8OͷYDE] VQgN%3_“qVϦe"CdN/cQ +͇GoAHdTX7u>Z'-e&λq|LQi6d^XG+BvEʫs{pK}fƋFͲ.Γ-CUM̙VB4ԝ!K*]61d'~N.Ju%+)rf9obl +zCvzU/;EjkCJZ{Kίq g9>]=!ģ;3T!O|݅Bx886Duw':Zx.#<w'6)<7.1<n;x< x^g+(x= :?؊x65Oύx>g'O񜏧dzBHswD<}?ύD݊ !O$!Dx>g :NK$6y:sh"q.c^Gx³(X;81,x +g'ٹ !xuV"1_xD`Dxnx52؊1EЃ‰ w!{/M$9t&x /99rOI$~ vQqi~u hn#^6%2$dkK AT>0Z4r1޿q\ |+zoCl]YVG;0 p #ò.pp? 8F;`CzvYA{-? 9}`I?G`goC3sYڏ-` 0`5J }`/;>w?@ c_!`ʛ.17p'˟;4 q/<=h;?CQ Cjv@Go#T +p}z'0mHo+:*>mT/ePUj_ S0>h'8O[ >#`VvV5PxYJ{><`ht'y̛w%q ~xwƉěO|Yajr*Mʧ>زز*|8i?%qʯɾN?;+ :gzD$.v%v'xI&&=!tcj|7mߥ_3_Emϭck4 +bLy!c1#d% HakfV]Ip D'{{=;ssE]>GdijZ`߻gGpȞWMถXOpr4_+ ٠¶}*ڇe"*$"=AA |Z)}oPy`s+{} 5'qg'&&T>3 g><]n,ETq-o@n+isSKNoqs3a(&r|OB~z_sv44_SW^wYMӕiOj>˅]C^V'%].L?trθXEÑ('g#Xf<@R<=z/ mZ08P*'X2QLصAy?^ d,hS)/ 7pG>ǎ9n(Lx:ʵZ>5^"Ui#Aa`KQGަfX=.yǽ~&cl=L{}nnb _/d"}TӘTyXƑḒ1]?ev=ٽNGA]|L}V2ݕS40=>֗ >! + 4UL-&%Ss >ѳڍA~![2Qg }|3qk"#џS /p~ge4b <TZ ĆZ ou\1Bo+}O?S"-fOz1ƠWg +>֓޿>yť<[^ǵu;Bt\Bm |{ٙTܻg/$SR(gc4ݙ=;jTؗ曙;BЋ_waɓȁpͿ#:Z)_x支_FJ|'D;BW6j8THўkk:c/SsdS2 w*OJ6gD|WÔISHTk'f/v>I5y{)"ӂIנ_~c\CJ?~7!~a_ogHE jv%;[OjLIQ11SO"8y#f oQrm#b>AV93-+_iqWG˜oRmmcn3☶Q]B#m>G$Uʹۣ"vi^rby~SSgjQ $" &407HBC-LPgݘ7sqɶAqv|E]as@1mhی6#m^ѵݶ1m'=-}g? ]1x4wvKXLof4xde-v/9J͐B!˼&p!2 {,T^~YĠer|_( |>QynPCƀ2jGl\8L酌t +ٗ?ҬdgKɦ39 m>/xE0d@ip>DuS}=iůYwKs7jòXm6nW$nWrqkJ0ȟ_D4p.@hh2g(I:vw &/zqy,|I:܀}J7[ƒbKByNwqL19n3r4L{>t~vnzFl FΏOLЭ>y)Qqz8AO?{XoE ߗy1661$ÒAs +tW~ =Oχ}w\wuBi{dg݂|V F_| '?: (-;btzfWwaz&v]̽%b;5E;khDYUڳ'>ޛxmv·fKE}aH0o/EE>}94^Z{ O Z$Ck}^ٯ9:=s%Qgk1<\)DJq],V"S:Yf'DtYx$4%/DӋ<ͤGg)SI$H [bO*gp_f"C|O8NUݭc{>.N /UMw&v:~O>+s!}|72hN#W'&GTҼǴ~X ڛೀ&}Q|ĿדֻksTKiS6,FNKQNIxC\AZ"so~ZG#v%wO`lŦݻV<3DytJs!NЅtMq 褃h/ve"KV<}h3+}0L+b"h>Lrmr5fae)h#膴+ l|E]i^I=ŊQaWfʧOT;c⶧{CFO ӓӗ܇CבʗW͘W)/(WVӮe_rK +/K#yY2Klq3Le|hGl *kbv3"VR.7uґڔêk&n%H} "[%NH{3{7bf;h$~^񤏎?#pr\n!!+{y)@cWzߑ|>r>z8kT +u&SAxv٩\= -䦹Y'5vĆ@2d1qIt63ZO%ȯWbgLh#ӡЉ!Dhъ ܎H~ȯQfQgG_O[pSG3uP~CŲv- +RVI~3kF2dv[lQɬےو|N~ N>bN>bN~.sbÜ09_t;pLfc ?K+.v-_j;m$F&kK]#:eu[_[;6)|)M\樴n)x%;/+ ?Aۮ=:9};N/8(.jXSkߤ]>֑n޶e^޺V.法_gK϶N.~9 +^_l~o[˪퉰-F9G6tj+C\;er N۵j|Auhe)Vv K?ogv:· vӝآF +ZGS8p\ong뀰nghO#Yp=.緷3.^Z5mH6nƭcla1:673حMƍ ɸg]l,uy]߲u`[6v O'So9Fi6$V9 &vtdv#9iPoZ%n;q]t1'1˓D4%фI37gIQ}"qxы\fWGmI*q_WxpU馟X+2x#z|1[W/͓ |.@n;S+NFEXֱizYu`4d)bqJaVZܾW4^P.|nT)#Ts$+Aݴ= xB.-,A^!fߜRbd2.&jJ"& MTJWTBy" ` g0 >thbg&2tjݰtRrh$`XNڐA7%;G['knGn2ِΑ[ܢ~u8ޑQD z4]w^NBNSv P"uz/////(^FR;J \V.q +XeA?UP;KZ[r+&akY/<&JC*ZR+kӹ =]~%/ڿzI ݒjT6?zRB>SIL}"3UmoKN,)SR+cq*+hsAwsKx_*[*%[$LT[ c ytmk>+Rۿ1QyTA%VȧayL!dl~ɺVnY=B_7U +xaa`[zE@Uv~JK^t?Wnkn1v"gON^NլPx>goncOy{m9MM͍ͧf9u59gZrߔ>WDtS-˩Xt= SXs4!,-iozaӟsd95ޡz1\3gNmh>%^"y:xa_BA۽oXMM,BV7kΏ׆.G~%\ClHأmvMo)6l !ɥ&(Ov{lh9v(<†oٰŮy T;Oo]=ʛlhMy $L<Ն6]b Wc:l Աh42H8=b4"چvjX?d>Ά.;~&lHS5`?t6ܜn?}ߵI^ٰNU=_>dy +[ weYާHX}cGߦRY*zWOLMomY@Mo,o{Fc/Vhк'c%V6>Mѧ)_;N6=ŧb3t((i_6>5MU76`&W9^X¯PP%v?ey{vcF-B*]ſ~LboZ`oh8xJ A*v^JNnK5Hc ߳vݓ\|&7}.mlt00ٚss[s%$s=MgtL d /=+MfD]?_6knii̹hkRïtù(L#qB|{YGD&I*oɕTEq0#3,‘An-acoFKU +ƚMx[> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${INSTALL_PATH} failed" + exit 1 + fi + fi + targetdir=${INSTALL_PATH} +elif [ -n "${ASCEND_CUSTOM_OPP_PATH}" ]; then + if [ ! -d ${ASCEND_CUSTOM_OPP_PATH} ]; then + mkdir -p ${ASCEND_CUSTOM_OPP_PATH} >> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${ASCEND_CUSTOM_OPP_PATH} failed" + fi + fi + targetdir=${ASCEND_CUSTOM_OPP_PATH} +else + if [ "x${ASCEND_OPP_PATH}" == "x" ]; then + log "[ERROR] env ASCEND_OPP_PATH no exist" + exit 1 + fi + targetdir="${ASCEND_OPP_PATH}" +fi + +if [ ! -d $targetdir ];then + log "[ERROR] $targetdir no exist" + exit 1 +fi + +upgrade() +{ + if [ ! -d ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 files" + return 0 + fi + + if [ ! -d ${targetdir}/$vendordir/$1 ];then + log "[INFO] create ${targetdir}/$vendordir/$1." + mkdir -p ${targetdir}/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/$vendordir/$1 failed" + return 1 + fi + else + has_same_file=-1 + for file_a in ${sourcedir}/$vendordir/$1/*; do + file_b=${file_a##*/}; + if [ "ls ${targetdir}/$vendordir/$1" = "" ]; then + log "[INFO] ${targetdir}/$vendordir/$1 is empty !!" + return 1 + fi + grep -q $file_b <<<`ls ${targetdir}/$vendordir/$1`; + if [[ $? -eq 0 ]]; then + echo -n "${file_b} " + has_same_file=0 + fi + done + if [ 0 -eq $has_same_file ]; then + if test $QUIET = "n"; then + echo "[INFO]: has old version in ${targetdir}/$vendordir/$1, \ + you want to Overlay Installation , please enter:[o]; \ + or replace directory installation , please enter: [r]; \ + or not install , please enter:[n]." + + while true + do + read orn + if [ "$orn" = n ]; then + return 0 + elif [ "$orn" = m ]; then + break; + elif [ "$0rn" = r ]; then + [ -n "${targetdir}/$vendordir/$1/" ] && rm -rf "${targetdir}/$vendordir/$1"/* + break; + else + echo "[ERROR] input error, please input again!" + fi + done + fi + fi + log "[INFO] replace or merge old ops $1 files .g....." + fi + + log "copy new ops $1 files ......" + if [ -d ${targetdir}/$vendordir/$1/ ]; then + chmod -R +w "$targetdir/$vendordir/$1/" >/dev/null 2>&1 + fi + cp -rf ${sourcedir}/$vendordir/$1/* $targetdir/$vendordir/$1/ + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 files failed" + return 1 + fi + + return 0 +} +upgrade_proto() +{ + if [ ! -f ${sourcedir}/$vendordir/custom.proto ]; then + log "[INFO] no need to upgrade custom.proto files" + return 0 + fi + if [ ! -d ${targetdir}/$vendordir/framework/caffe ];then + log "[INFO] create ${targetdir}/$vendordir/framework/caffe." + mkdir -p ${targetdir}/$vendordir/framework/caffe + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/$vendordir/framework/caffe failed" + return 1 + fi + else + if [ -f ${targetdir}/$vendordir/framework/caffe/custom.proto ]; then + # 有老版本,判断是否要覆盖式安装 + if test $QUIET = "n"; then + echo "[INFO] ${targetdir}/$vendordir/framework/caffe has old version"\ + "custom.proto file. Do you want to replace? [y/n] " + + while true + do + read yn + if [ "$yn" = n ]; then + return 0 + elif [ "$yn" = y ]; then + break; + else + echo "[ERROR] input error, please input again!" + fi + done + fi + fi + log "[INFO] replace old caffe.proto files ......" + fi + chmod -R +w "$targetdir/$vendordir/framework/caffe/" >/dev/null 2>&1 + cp -rf ${sourcedir}/$vendordir/custom.proto ${targetdir}/$vendordir/framework/caffe/ + if [ $? -ne 0 ];then + log "[ERROR] copy new custom.proto failed" + return 1 + fi + log "[INFO] copy custom.proto success" + + return 0 +} + +upgrade_file() +{ + if [ ! -e ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 file" + return 0 + fi + + log "copy new $1 files ......" + cp -f ${sourcedir}/$vendordir/$1 $targetdir/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 file failed" + return 1 + fi + + return 0 +} + +delete_optiling_file() +{ + if [ ! -d ${targetdir}/vendors ];then + log "[INFO] $1 not exist, no need to uninstall" + return 0 + fi + sys_info=$(uname -m) + if [ ! -d ${sourcedir}/$vendordir/$1/ai_core/tbe/op_tiling/lib/linux/${sys_info} ];then + rm -rf ${sourcedir}/$vendordir/$1/ai_core/tbe/op_tiling/liboptiling.so + fi + return 0 +} + +log "[INFO] copy uninstall sh success" + +if [ ! -d ${targetdir}/vendors ];then + log "[INFO] create ${targetdir}/vendors." + mkdir -p ${targetdir}/vendors + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/vendors failed" + return 1 + fi +fi +chmod u+w ${targetdir}/vendors + +echo "[ops_custom]upgrade framework" +upgrade framework +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op proto" +upgrade op_proto +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade version.info" +upgrade_file version.info +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op impl" +delete_optiling_file op_impl +upgrade op_impl +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op api" +upgrade op_api +if [ $? -ne 0 ];then + exit 1 +fi + +upgrade_proto +if [ $? -ne 0 ];then + exit 1 +fi + +# set the set_env.bash +if [ -n "${INSTALL_PATH}" ] && [ -d ${INSTALL_PATH} ]; then + _ASCEND_CUSTOM_OPP_PATH=${targetdir}/${vendordir} + bin_path="${_ASCEND_CUSTOM_OPP_PATH}/bin" + set_env_variable="#!/bin/bash\nexport ASCEND_CUSTOM_OPP_PATH=${_ASCEND_CUSTOM_OPP_PATH}:\${ASCEND_CUSTOM_OPP_PATH}" + if [ ! -d ${bin_path} ]; then + mkdir -p ${bin_path} >> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${bin_path} failed" + exit 1 + fi + fi + echo -e ${set_env_variable} > ${bin_path}/set_env.bash + if [ $? -ne 0 ]; then + log "[ERROR] write ASCEND_CUSTOM_OPP_PATH to set_env.bash failed" + exit 1 + else + log "[INFO] using requirements: when custom module install finished or before you run the custom module, \ + execute the command [ source ${bin_path}/set_env.bash ] to set the environment path" + fi +else + config_file=${targetdir}/vendors/config.ini + if [ ! -f ${config_file} ]; then + touch ${config_file} + chmod 640 ${config_file} + echo "load_priority=$vendor_name" > ${config_file} + if [ $? -ne 0 ];then + echo "echo load_priority failed" + exit 1 + fi + else + found_vendors="$(grep -w "load_priority" "$config_file" | cut --only-delimited -d"=" -f2-)" + found_vendor=$(echo $found_vendors | sed "s/$vendor_name//g" | tr ',' ' ') + vendor=$(echo $found_vendor | tr -s ' ' ',') + if [ "$vendor" != "" ]; then + sed -i "/load_priority=$found_vendors/s@load_priority=$found_vendors@load_priority=$vendor_name,$vendor@g" "$config_file" + fi + fi +fi + +chmod u-w ${targetdir}/vendors + +if [ -d ${targetdir}/$vendordir/op_impl/cpu/aicpu_kernel/impl/ ]; then + chmod -R 440 ${targetdir}/$vendordir/op_impl/cpu/aicpu_kernel/impl/* >/dev/null 2>&1 +fi +if [ -f ${targetdir}/ascend_install.info ]; then + chmod -R 440 ${targetdir}/ascend_install.info +fi +if [ -f ${targetdir}/scene.info ]; then + chmod -R 440 ${targetdir}/scene.info +fi +if [ -f ${targetdir}/version.info ]; then + chmod -R 440 ${targetdir}/version.info +fi + +echo "SUCCESS" +exit 0 + diff --git a/precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/include/aclnn_reduce_sum.h b/precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/include/aclnn_reduce_sum.h new file mode 100644 index 0000000..9b58ad3 --- /dev/null +++ b/precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/include/aclnn_reduce_sum.h @@ -0,0 +1,55 @@ + +/* + * calution: this file was generated automaticlly donot change it. +*/ + +#ifndef ACLNN_REDUCE_SUM_H_ +#define ACLNN_REDUCE_SUM_H_ + +#include "aclnn/acl_meta.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* funtion: aclnnReduceSumGetWorkspaceSize + * parameters : + * x : required + * axis : required + * keepDimsOptional : optional + * ignoreNanOptional : optional + * dtypeOptional : optional + * out : required + * workspaceSize : size of workspace(output). + * executor : executor context(output). + */ +__attribute__((visibility("default"))) +aclnnStatus aclnnReduceSumGetWorkspaceSize( + const aclTensor *x, + const aclTensor *axis, + bool keepDimsOptional, + bool ignoreNanOptional, + char *dtypeOptional, + const aclTensor *out, + uint64_t *workspaceSize, + aclOpExecutor **executor); + +/* funtion: aclnnReduceSum + * parameters : + * workspace : workspace memory addr(input). + * workspaceSize : size of workspace(input). + * executor : executor context(input). + * stream : acl stream. + */ +__attribute__((visibility("default"))) +aclnnStatus aclnnReduceSum( + void *workspace, + uint64_t workspaceSize, + aclOpExecutor *executor, + aclrtStream stream); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/lib/libcust_opapi.so b/precision_Problem/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/lib/libcust_opapi.so new file mode 100644 index 0000000000000000000000000000000000000000..670beb70b7be554167a49645f8d56aacfa76751b GIT binary patch literal 10352 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 c;XJVYdKb>kQ7Ok(RWBJ1H>rYnW;=%e4 /dev/null) + for i in $vendor_installed_dir;do + vendor_installed_file=$(ls "$vendor_installed_dir/$vendor_name/$i" 2> /dev/null) + if [ "$i" = "$vendor_name" ] && [ "$vendor_installed_file" != "" ]; then + echo "[INFO]: $vendor_name custom opp package has been installed on the path $vendor_installed_dir, \ + you want to Overlay Installation , please enter:[o]; \ + or replace directory installation , please enter: [r]; \ + or not install , please enter:[n]." + fi + while true + do + read mrn + if [ "$mrn" = m ]; then + break + elif [ "$mrn" = r ]; then + [ -n "$vendor_installed_file"] && rm -rf "$vendor_installed_file" + break + elif [ "$mrn" = n ]; then + return 0 + else + echo "[WARNING]: Input error, please input m or r or n to choose!" + fi + done + done + log "[INFO] replace old ops $1 files ......" + fi + + log "copy new ops $1 files ......" + cp -rf ${sourcedir}/$vendordir/$1/* $targetdir/$vendordir/$1/ + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 files failed" + return 1 + fi + + return 0 +} + +upgrade_file() +{ + if [ ! -e ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 file" + return 0 + fi + + log "copy new $1 files ......" + cp -f ${sourcedir}/$vendordir/$1 $targetdir/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 file failed" + return 1 + fi + + return 0 +} + +log "[INFO] copy uninstall sh success" + +echo "[ops_custom]upgrade framework" +upgrade framework +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op proto" +upgrade op_proto +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op impl" +upgrade op_impl +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op api" +upgrade op_api +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade version.info" +upgrade_file version.info +if [ $? -ne 0 ];then + exit 1 +fi + +config_file=${targetdir}/vendors/config.ini +found_vendors="$(grep -w "load_priority" "$config_file" | cut --only-delimited -d"=" -f2-)" +found_vendor=$(echo $found_vendors | sed "s/$vendor_name//g" | tr ',' ' ') +vendor=$(echo $found_vendor | tr -s ' ' ',') +if [ "$vendor" != "" ]; then + sed -i "/load_priority=$found_vendors/s@load_priority=$found_vendors@load_priority=$vendor_name,$vendor@g" "$config_file" +fi + +changemode() +{ + if [ -d ${targetdir} ];then + chmod -R 550 ${targetdir}>/dev/null 2>&1 + fi + + return 0 +} +echo "[ops_custom]changemode..." +#changemode +if [ $? -ne 0 ];then + exit 1 +fi + +echo "SUCCESS" +exit 0 + diff --git a/precision_Problem/No_standard/build_out/autogen/aclnn_reduce_sum.cpp b/precision_Problem/No_standard/build_out/autogen/aclnn_reduce_sum.cpp new file mode 100644 index 0000000..b0d1117 --- /dev/null +++ b/precision_Problem/No_standard/build_out/autogen/aclnn_reduce_sum.cpp @@ -0,0 +1,201 @@ +#include +#include "graph/types.h" +#include "aclnn_reduce_sum.h" + +namespace { +typedef struct { + uint32_t id; + const char *funcName; + bool hasReg; +} NnopbaseDfxId; +typedef struct { + ge::DataType dtype; + ge::Format format; +} TensorDesc; +typedef struct { + TensorDesc *inputsDesc; + size_t inputsNum; + TensorDesc *outputsDesc; + size_t outputsNum; +} SupportInfo; +typedef struct { + SupportInfo *supportInfo; + size_t num; +} OpSocSupportInfo; +typedef struct { + OpSocSupportInfo *socSupportInfo; + size_t num; +} OpSupportList; +enum SocType { + SOC_VERSION_ASCEND910A = 1, + SOC_VERSION_ASCEND910B, + SOC_VERSION_ASCEND910C, + SOC_VERSION_ASCEND910D, + SOC_VERSION_ASCEND310P, + SOC_VERSION_ASCEND310B, + SOC_VERSION_BS9SX1A, + SOC_VERSION_MC61AM21A, + SOC_VERSION_ASCEND610Lite +}; +enum NnopbaseAttrDtype { + kNnopbaseBool = 0U, + kNnopbaseFloat, + kNnopbaseInt, + kNnopbaseString, + kNnopbaseAttrEnd +}; +uint32_t socSupportList[] = {SOC_VERSION_ASCEND310B}; +uint32_t socSupportListLen = 1; + +TensorDesc inputDesc0_0[2] = + {{ge::DT_FLOAT, ge::FORMAT_ND}, + {ge::DT_INT32, ge::FORMAT_ND}}; +TensorDesc inputDesc0_1[2] = + {{ge::DT_FLOAT16, ge::FORMAT_ND}, + {ge::DT_INT32, ge::FORMAT_ND}}; +TensorDesc inputDesc0_2[2] = + {{ge::DT_INT32, ge::FORMAT_ND}, + {ge::DT_INT32, ge::FORMAT_ND}}; +TensorDesc inputDesc0_3[2] = + {{ge::DT_INT8, ge::FORMAT_ND}, + {ge::DT_INT32, ge::FORMAT_ND}}; +TensorDesc outputDesc0_0[1] = + {{ge::DT_FLOAT, ge::FORMAT_ND}}; +TensorDesc outputDesc0_1[1] = + {{ge::DT_FLOAT16, ge::FORMAT_ND}}; +TensorDesc outputDesc0_2[1] = + {{ge::DT_INT32, ge::FORMAT_ND}}; +TensorDesc outputDesc0_3[1] = + {{ge::DT_INT8, ge::FORMAT_ND}}; +SupportInfo list0_0 = {inputDesc0_0, 2, outputDesc0_0, 1}; +SupportInfo list0_1 = {inputDesc0_1, 2, outputDesc0_1, 1}; +SupportInfo list0_2 = {inputDesc0_2, 2, outputDesc0_2, 1}; +SupportInfo list0_3 = {inputDesc0_3, 2, outputDesc0_3, 1}; +SupportInfo supportInfo0[4] = {list0_0, list0_1, list0_2, list0_3}; +OpSocSupportInfo socSupportInfo0= {supportInfo0, 4}; + +OpSocSupportInfo opSocSupportList[1] = {socSupportInfo0}; +OpSupportList supportList = {opSocSupportList, 1}; + +[[maybe_unused]] uint32_t NNOPBASE_ReduceSum = 0U; +} // namespace + +extern void NnopbaseOpLogE(const aclnnStatus code, const char *const expr); + +#ifdef __cplusplus +extern "C" { +#endif + +extern aclnnStatus NnopbaseCreateExecutorSpace(void **space); +extern void *NnopbaseGetExecutor(void *space, const char *opType, char *inputsDesc, uint32_t inputNum, + char *outputsDesc, uint32_t outputNum, char *attrsDesc, uint32_t attrsNum); +extern aclnnStatus NnopbaseAddInput(void *executor, const aclTensor *tensor, const uint32_t index); +extern aclnnStatus NnopbaseAddIgnoreContinuesInput(void *executor, + const aclTensor *tensor, const uint32_t index); +extern aclnnStatus NnopbaseAddIntArrayInput(void *executor, const aclIntArray *array, const uint32_t index); +extern aclnnStatus NnopbaseAddBoolArrayInput(void *executor, const aclBoolArray *array, const uint32_t index); +extern aclnnStatus NnopbaseAddFloatArrayInput(void *executor, const aclFloatArray *array, const uint32_t index); +extern aclnnStatus NnopbaseAddOutput(void *executor, const aclTensor *tensor, const uint32_t index); +extern aclnnStatus NnopbaseAddDynamicInput(void *executor, const aclTensorList *tensor_list, const uint32_t index); +extern aclnnStatus NnopbaseAddDynamicOutput(void *executor, const aclTensorList *tensor_list, const uint32_t index); +extern aclnnStatus NnopbaseAddAttrWithDtype(void *executor, void *attrAddr, size_t attrLen, const size_t index, const NnopbaseAttrDtype dtype); +extern aclnnStatus NnopbaseAddIntArrayAttr(void *executor, const aclIntArray* array, const size_t index); +extern aclnnStatus NnopbaseAddFloatArrayAttr(void *executor, const aclFloatArray* array, const size_t index); +extern aclnnStatus NnopbaseAddBoolArrayAttr(void *executor, const aclBoolArray* array, const size_t index); +extern aclnnStatus NnopbaseAddArrayAttrWithDtype(void *executor, void *array, const size_t len, const size_t elementSize, const size_t index, const NnopbaseAttrDtype dtype); +extern uint64_t NnopbaseMsprofSysTime(); +extern aclnnStatus NnopbaseAddTilingId(void *executor, NnopbaseDfxId *tilingId); +extern void NnopbaseReportApiInfo(const uint64_t beginTime, NnopbaseDfxId &dfxId); +extern aclnnStatus NnopbaseRunForWorkspace(void *executor, uint64_t *workspaceLen); +extern aclnnStatus NnopbaseRunWithWorkspace(void *executor, aclrtStream stream, void *workspace, uint64_t workspaceSize); +extern aclnnStatus NnopbaseAddSupportList(void *executor, OpSupportList *list, uint32_t *socSupportList, size_t socSupportListLen); +extern aclnnStatus NnopbaseAddScalarInput(void *executor, const aclScalar *scalar, const uint32_t index, const int32_t srcIndex, const ge::DataType dtype); +extern aclnnStatus NnopbaseAddScalarListInput(void *executor, const aclScalarList *scalarList, const uint32_t index, const int32_t srcIndex, const ge::DataType dtype); +extern void NnopbaseAddOpTypeId(void *executor, const uint32_t opTypeId); + +#define ACLNN_SUCCESS 0 +#define ACLNN_ERR_PARAM_NULLPTR 161001 + +#define NNOPBASE_ASSERT_OK_RETVAL(v) \ + do { \ + const aclnnStatus _chk_stutus = (v); \ + if (_chk_stutus != ACLNN_SUCCESS) { \ + NnopbaseOpLogE(_chk_stutus, #v); \ + return _chk_stutus; \ + } \ + } while (false) + +#define NNOPBASE_ASSERT_NOTNULL_RETVAL(v) \ + do { \ + if ((v) == nullptr) { \ + NnopbaseOpLogE(ACLNN_ERR_PARAM_NULLPTR, #v " != nullptr"); \ + return ACLNN_ERR_PARAM_NULLPTR; \ + } \ + } while (false) + +aclnnStatus aclnnReduceSumGetWorkspaceSize( + const aclTensor *x, + const aclTensor *axis, + bool keepDimsOptional, + bool ignoreNanOptional, + char *dtypeOptional, + const aclTensor *out, + uint64_t *workspaceSize, + aclOpExecutor **executor) +{ + uint64_t timeStamp = NnopbaseMsprofSysTime(); + static NnopbaseDfxId dfxId = {0x60000, __func__, false}; + static NnopbaseDfxId tilingId = {0x60000, "aclnnReduceSumTiling", false}; + void *nnopExecutor; + static void *executorSpace = NULL; + const char *opType = "ReduceSum"; + char inputDesc[] = {1, 1}; + char outputDesc[] = {1}; + char attrDesc[] = {0, 0, 0}; + + NNOPBASE_ASSERT_NOTNULL_RETVAL(x); + NNOPBASE_ASSERT_NOTNULL_RETVAL(axis); + NNOPBASE_ASSERT_NOTNULL_RETVAL(out); + + if (!executorSpace) { + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseCreateExecutorSpace(&executorSpace)); + } + nnopExecutor = NnopbaseGetExecutor(executorSpace, opType, inputDesc, sizeof(inputDesc) / sizeof(char), outputDesc, + sizeof(outputDesc) / sizeof(char), attrDesc, sizeof(attrDesc) / sizeof(char)); + NNOPBASE_ASSERT_NOTNULL_RETVAL(nnopExecutor); + NNOPBASE_ASSERT_NOTNULL_RETVAL(executor); + *executor = reinterpret_cast(nnopExecutor); + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddTilingId(*executor, &tilingId)); + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddInput(*executor, x, 0)); + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddInput(*executor, axis, 1)); + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddAttrWithDtype(*executor, static_cast(&keepDimsOptional), sizeof(bool), 0, kNnopbaseBool)); + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddAttrWithDtype(*executor, static_cast(&ignoreNanOptional), sizeof(bool), 1, kNnopbaseBool)); + if (dtypeOptional) { + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddAttrWithDtype(*executor, static_cast(dtypeOptional), strlen(dtypeOptional) + 1, 2, kNnopbaseString)); + } else { + static char *dtypeOptionalDef = "float"; + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddAttrWithDtype(*executor, static_cast(dtypeOptionalDef), strlen(dtypeOptionalDef) + 1, 2, kNnopbaseString)); + } + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddOutput(*executor, out, 0)); + NNOPBASE_ASSERT_OK_RETVAL(NnopbaseAddSupportList(*executor, &supportList, socSupportList, socSupportListLen)); + aclnnStatus ret = NnopbaseRunForWorkspace(*executor, workspaceSize); + NnopbaseReportApiInfo(timeStamp, dfxId); + return ret; +} + +aclnnStatus aclnnReduceSum( + void *workspace, + uint64_t workspaceSize, + aclOpExecutor *executor, + aclrtStream stream) +{ + uint64_t timeStamp = NnopbaseMsprofSysTime(); + static NnopbaseDfxId dfxId = {0x60000, __func__, false}; + aclnnStatus ret = NnopbaseRunWithWorkspace(executor, stream, workspace, workspaceSize); + NnopbaseReportApiInfo(timeStamp, dfxId); + return ret; +} + +#ifdef __cplusplus +} +#endif diff --git a/precision_Problem/No_standard/build_out/autogen/aclnn_reduce_sum.h b/precision_Problem/No_standard/build_out/autogen/aclnn_reduce_sum.h new file mode 100644 index 0000000..9b58ad3 --- /dev/null +++ b/precision_Problem/No_standard/build_out/autogen/aclnn_reduce_sum.h @@ -0,0 +1,55 @@ + +/* + * calution: this file was generated automaticlly donot change it. +*/ + +#ifndef ACLNN_REDUCE_SUM_H_ +#define ACLNN_REDUCE_SUM_H_ + +#include "aclnn/acl_meta.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* funtion: aclnnReduceSumGetWorkspaceSize + * parameters : + * x : required + * axis : required + * keepDimsOptional : optional + * ignoreNanOptional : optional + * dtypeOptional : optional + * out : required + * workspaceSize : size of workspace(output). + * executor : executor context(output). + */ +__attribute__((visibility("default"))) +aclnnStatus aclnnReduceSumGetWorkspaceSize( + const aclTensor *x, + const aclTensor *axis, + bool keepDimsOptional, + bool ignoreNanOptional, + char *dtypeOptional, + const aclTensor *out, + uint64_t *workspaceSize, + aclOpExecutor **executor); + +/* funtion: aclnnReduceSum + * parameters : + * workspace : workspace memory addr(input). + * workspaceSize : size of workspace(input). + * executor : executor context(input). + * stream : acl stream. + */ +__attribute__((visibility("default"))) +aclnnStatus aclnnReduceSum( + void *workspace, + uint64_t workspaceSize, + aclOpExecutor *executor, + aclrtStream stream); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/precision_Problem/No_standard/build_out/autogen/aic-ascend310b-ops-info.ini b/precision_Problem/No_standard/build_out/autogen/aic-ascend310b-ops-info.ini new file mode 100644 index 0000000..b6ad90c --- /dev/null +++ b/precision_Problem/No_standard/build_out/autogen/aic-ascend310b-ops-info.ini @@ -0,0 +1,40 @@ +[ReduceSum] +input0.name=x +input0.dtype=float32,float16,int32,int8 +input0.format=ND,ND,ND,ND +input0.unknownshape_format=ND,ND,ND,ND +input0.shape=all +input0.paramType=required +input1.name=axis +input1.dtype=int32,int32,int32,int32 +input1.format=ND,ND,ND,ND +input1.unknownshape_format=ND,ND,ND,ND +input1.shape=all +input1.paramType=required +output0.name=y +output0.dtype=float32,float16,int32,int8 +output0.format=ND,ND,ND,ND +output0.unknownshape_format=ND,ND,ND,ND +output0.shape=all +output0.paramType=required +attr.list=keep_dims,ignore_nan,dtype +attr_keep_dims.type=bool +attr_keep_dims.value=all +attr_keep_dims.paramType=optional +attr_keep_dims.defaultValue=false +attr_ignore_nan.type=bool +attr_ignore_nan.value=all +attr_ignore_nan.paramType=optional +attr_ignore_nan.defaultValue=false +attr_dtype.type=str +attr_dtype.value=all +attr_dtype.paramType=optional +attr_dtype.defaultValue=float +dynamicCompileStatic.flag=true +dynamicFormat.flag=true +dynamicRankSupport.flag=true +dynamicShapeSupport.flag=true +needCheckSupport.flag=false +precision_reduce.flag=true +opFile.value=reduce_sum +opInterface.value=reduce_sum diff --git a/precision_Problem/No_standard/build_out/autogen/custom_compile_options.ini b/precision_Problem/No_standard/build_out/autogen/custom_compile_options.ini new file mode 100644 index 0000000..e69de29 diff --git a/precision_Problem/No_standard/build_out/autogen/libascend_all_ops.so b/precision_Problem/No_standard/build_out/autogen/libascend_all_ops.so new file mode 100644 index 0000000000000000000000000000000000000000..b0f4a44a1bb1943cfa12cfe43788685e3ee00f04 GIT binary patch literal 1070488 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

=@I zRjccAtWI2Z#wzJQJx)moYA@DxCtc;GhT`KFoRGfHtx3^YyP!8hr($$YO?1pO>G354 z!@!=KA(3H<1Sgb3-y6{vb7LgZ zsFkHIGO44~yfqbu9q4X33owW&x@eX@tWvR#X@It#OfZ{JO%C9RN4BEcMM=(VVI`GO z?#(9#6cvZD5Y?tOb0^?@DuuiiDk-3 zJ5K;zSDq*UB)OS#I+5-TMGPm}xdz#_@sFL+pLoeT3VKrp_t$Q<; zg$`Ja6y#1dQjN;8bi3qoUFAtg;$7uCU3l>B@z1rBZYQtJDTjBkN=vR4^g}?g*u<$p z^ddk|$YR|c9OiPmE;LGI-AM}qDymXkjb*O}m!vLbGEfaNE(D^Q)bv9*aBXno*GN2g zYK&}p&89C`p6(R5sdHaqlE z4o_N&lw4)Nq?MEsOMTf!Qslqx$okYc-^BvC_{d7~T`(P&e1Y#}ahV%AL}Xx~ehQHo zhy^fM_rM-ua8#@T!g>c*aU`pE(7uCLzNl^yiw(5zpo%8C!Hq6dwLEV2l&S1MZ$K4F zU);ORbqR}-hCag;C&O;eOLj%S^P9InuJnGVtZqasemG`;f?y7E(Yi}t-qgY5jFTFD}andZ=)wOD;X3Bx^Ufkuf z6Hk>4&?f6<4o`J6te8eV5~Wf)Hn zk>BN}97^bVQpgebeEtm?RQJIb!Zl}|SQ_%DCRqjPlWx_Py$Ww%;nD{_v+6}FJm%LI zDCgn7D;#I&ubL@8iI$RaEE?41i#E38$h$)u-6`o=DXCvEsY&$R!Kskqv}q?ei6k)q zj%rfi`6>3c8L?78H+Bz6$zX+KEEkUfJS2PI|LC`K9n0APN)ukg0uR-Tg$QPwHQSU0 z8_o43jYi1P@+_ZNkO{sQq^=dfrF>rOF2W5!TiJpv_tSSM^CtT48t&9c~Gq``K zct;mr+^WgqQ`O=ItY#^O&IXsoop*H9imj|Jr;yIt?`W5SOypVB7bTo!*r%Na%g0wcx09U?!6R@GKksW=(b3<()QWY^P>9D}5A>mUG$U6&)CA!t@om z@^fLTDPbJaUs-M9^16;dsOy028PvKeYC2>jwaP0r={kcXc6JFeEz(6NoLf@v@@f;H ztO>kRGv1sJMR!mV$_kaGazpp-hWA~sl=Ef{G-uxRCJ> zmfSt+Op~CKF8b%NJ5fm8x?6q%>11(M20WW3J>Vk~1Lv6J9A%H)fKv!_R2IG9gEPho zAqV&w5oSo*;y6{om3F^;Au7Zc{rftHtu={ThImls>eL_|{WAmGX%*!9Y4l*CkOCp0NakEOr>s#08L43HHTi3|c>iLtj#!YY_l zECXlddrIpmhwJ4LaxPINB!B^x;`01W4Z7nbKsc&YrvqnSY>8kuvdU_3Wuf4o9&X@8Iq-sG_Hr9} z9U}Oi{9AWkK*T*G7+lqEWQB?LQI=frq4_Z&Y(Cz#@)btzR|~oIG9PEP5X(7fZa8>w zMI~kd=2%Q?>8~Wzr*L+-M3Ou~SRJvl2&{`}SzO+QaWPk=P9M^}A_=@(R^h`$qoTtM zRV7Sp-~+}4PqN$qdl#UbL`!W8<7-`2o$!DA}u+P*u*bT@ z0EdlKdO=84xh>DXyNDn~d0{CG&HPlw$`v=K!L}Afk61fpj)qR4I4T4lQI<_n)CxLX zyNrD8Vqya_psua4wtP9&Syj1OM&1(O>dfJ{j!pP3PB6=Yt4Q&6f^093^Qxf*>`RfMY11sKQ5 z(l5M%LoTe<=t(VIH6*8dCQ*%{iHWhw&LDsdI+^@9aE35~tC2)05|t7q(Q1fC9oU7Y zVpVJ?Fflp3*i2dg1Cp7DCwOjh-HrQrxW?wXr3ovQ6#RPPR1Tk zTqWEgT`T4M6=!4BV1p=!)k(0k(AZh~rIow|>D5fIS7Ve4IaTLsNm?*}oJ1A30>90<5oGQTtHN-nj^6U)oHkd+oMY^SCCgHPFY5<1kzHc`mDPUbjAB)3 z@ai{svjF@wfOPn!n}`gPD%0YC6th<_&oJc?4XaJV$~1Xl8io;|tVr3KE%^na#|@=E z@Jup)rwtrjLMar*hrOB0Du}<*!Zw8FUdg$*hJ8mkbL66h4_K zJW)`YM{nDKIwtWYDltj$c1P&b$sqlDCwNGZvr&o*??jcGXp32$idYRoZ-KkBJ+P#q z^sWN2pK4YOjns;2Ao!A^8c;wka-!U6#uXAxlQ=BU4tDy{M<8%V=dP19h7m|EJaZJ` z2&Jm;OoFWkuU}x*8Cf}e^qi)S3^UIfQt&J=!ngK-0x_CF>EmX;qZ1EgC7rVJC(0JH z%BO#;vWeMIRytB0e!y8WvIMvx`;CXnHAWWw!U8N{<;c189;d3V6SK=~sn|L(Uq~;K zM8U2QN~(oRxevq#=J45U*gf5(HwaP83kD0$^ph+$R!yCxCt2{~Av|Zg!}|wnP1q|g zM00`~N=F6!3nDCPMtB=}rTxn6LWL9YO4dpWF<^}Q!j-BNjqtNTl2q=#XpWux&|#88gU|dq%W7QSrckZg9**YyCX?Lj;m7-K zmKQ-ii#a7nugHZd0T)$F@B#@qh8BN?rb68d_dI3C{<39edmeA$zp~0)f3Xw>>cW88 zuygeuD$uxBn=jyBze!ziNdYfz>MP(5tS{9-ZsAO~Pwg zNHe%!TcW?PHf6Den}rsVwPhozXm4351B_Bt%Ah|8JrX>mae7|v9n#8-3QLc&_d1K- z3)j9bOCUgY>E%3nb93V@JY;e7DBwW&sY@kCx{Qy?8>-9?dFcToB_%U8oiedDLdTOq zKf*;2!K-St{XOa2UHR)(=wso}^vMDY_g1?`2O;7+WLU?tR1ZiumRYcTSmiIJtMY2F z*Ts_eSoP`@*r_-*Q_EjlYq<%E_w}Jtn4s=9H<&U^X=~O&rV|LZ7&gf)H`5dnKbkCb1o5OLO z5?P&PVXV^6-c*NT4YD=NC3PM_Yi4U;<*Jyi5t$Dbk8((Q$(m|RRS`kdY#B6@F*PFT zGJ$gEWJjGaseD7Zneh;pjVC-<(n9f0aK#oy>xd_aRXO)&l4?mwksc|9@VD}_T_+NA zozU-~!%KWygzP6BlwOJRPFH8ox+fB%v88-_j`Sld;9#mwDU}YZy!0NJ2!?=1it;lJ z6$#yQF6{#j(U}uhNPfWKF3k!Lw1D%){_oCdhpG=eUgW|pB@eU@qSZ$s(h0O?)wQZ8 zjT`_lK>OrFd8-(B%g&zBVXQ3kqNIVj7g^RuEw=omj;BbRqNgLY{05aH?YvJCS&k`@ zuAabhG8Ky1;qAj<+UO|Bg}6!t?wGJvPO+wSzPR#6*fM zR-Jou;UnYOLj{vu(MtwI^ppRs6U{*G6ZdB?2$3u?##^X<8dM zsL7x54Kcg>gBEbuDfh7B;7wkT0G2;wMUUDsMIjyKu%lh^=$R#rA#DGlVlvHUss7nxpCGPMq^s9QV1)I*r3Z#b8pbP`{f6 zzg@1wM%d8`{EX~M@qwf6j!rtqlytD0J~i%Ob>TvF<=dJ64`KO#l2oqDq+KcdnFEa# z<6#00t%9!s!Vm8Q7t1VJgrRc(wT>kuv&;@jS=?OVH<^IblH=);g0^AT&(t{6{<4D| znIB3fN}Pvuz*PO`q1ER_+TDXm$7dv&Kx)+eur*N~JZTex6tsq&tYWDSJYp%aT>I#N ztslq}I~j-r#Rox#&XcF``&mpY@>l|7gBJ}cpa0bE#`OtB5Hm3Jrf@s_U?$XMr{+Ob zmm?is7d|S(kwYF7%c47w*l~CEO=d+33v>nhgo5LQU%;Vm$)!9cn=!;eJzU}Ue*TW z80Sz!O5csjv*hA;qE15u7iWn~Y8A#$JgWg&SNk)nGf18L#J5IK@s;k0hxiLxT-@9_ z@lf2LnRXG68uV=lD+O_RPytM+m^71{X7|n?6i-<}pH9>6-u*ghHur9ZjjK`SRMjCU z9#@fW77IH>!DHJDW`>U#!r=&=*GP|#OSga^!T%h}(;eB3Oh3VKmaF6)9KPVLt}0Qn z9>uME9sDS^>#`)fNtT(b#yBFRXPJ|2;t`KYOtM$pbl_iAZ?cs+@fEvLmp#E|cGq`- z6_eE~z`wv<5r0Jq$6h5mifRCP_DwarjMUzG!Yw zTt!pG1E2`zL3Gn(?vaaFQXHBap(Gu+$PQDgJ7Q<1fH6QEY8B*1HGO$#7vy$m$I4{l zd+>L+^M#OycFv7j4e_~iF_gGEnjw^Ibyb#CmH))VI}S7ulmQQy;AVl!v}l0adjb=9-WK_KGV|6KZn3 z8tS%QW$6d`p>#FUWmQflsdH(Su!&W+fO}xnsKx0ff3#dK87|BxGGA#wYr=PDDhFOn z>qaSO<#M4?#Fb=Iok;Q5T}av3nmM(F@Niw z*~O`A2wPkC5<+a>;W?>fppaLT zGI8(Wt$!;c#Nv1eo@K{4kQaigwOpG8UK;OQa_#&OSw`1sBKE9}m<0myLGI6!y*l_8P9Z_-;JURN-qj(SLtnL6C{1 z;~6*Jd#5~n{g)RJ)=(@%hKDmCo%nyuCri93G8<#ke|g&KQ-J>?!H~+>Yc7V6j;&;W zNS!&rDmb&9V)~LDs=!8Y@%*j{_BCcmqv4<$LTGpz8uSZfo`NfJ&Y4Qp%vOTl;31MT z^m8u(rAT;Hq%OLIHb*o(g=jP;LkgQ8!z8oc6o=RGCqdsypd6S22hPQZk>po(9I~j> z&qL$wK~QqvBkzs)GiD4tZ16JMLMINXrkji{}jLCD!oH>?Xyg zs**znojaW{mY<>&O;w4g{4RRiLWl4r zOLnBzS3FY_wX0}poR$p^mvxWv6mJq&Et`hH;+vS_{)!WT@V3G)zL*A(ZDdx+#SgtW z(bOc2G7`9tu)>3RZ7lcBUr%hz&9Ek0M`gfE>zywma5#q)nG1ff3DRiMec(?xI~ISs z)s^H*=hX6$RJq*Zti%FktKFWHDhn#)_kcEFBgG^Qh@uop<|JiWli3T=oxzCgKCpBY zgos)<76u(hr`@a+!o3(R#VUH;fFEG)nUf7qS?4D^wEOELMl#A@A#l4NI&6w}WWy1! z=5$1dqr$LZQ7E-}2jY;*9YFR>A3L>|#cM7PnQP{QgH?!OKNS#Yj>&=F6wA%AWh9R_ z!B5Sz8eUOd{3ny<@66TLf;9~Q^(V^v20_v}y{Z|D-H3^u?g6V%;s-zfN8t`Ln=lGi z)Pzx9#d!S=$b=hQ`Tt;H6pkS03MQ+Wg>&R^&H5iCC_qQ^2uQAuwR1y?5`6t#{GRrop3$~ToWl7|%?&Y3D=U@MsR5yvR<144HF22N_70JWM!Qo||X9Z4630m#7<*&}Q zo0KPGys}yhrkxsx!U+~2^TeQwctB%7JS4&pyOM|~Q}p@Yrubff#{LCPpBU6aXG~v3$2rxgEUI+l(2!Qy zI-;79oNRMeNGsILjOoW2us6hj>i?o|t~~xP`gR64&Z?vTtB`_K9XVqgal3I39&#i9 zO;{u5TJR|2|6(~5A&vCpivCEPTU0MZkfm9Hqg8ew|0{o&TsvO5z?5x`!Vo4)yyT+> z?34S6@I#xTXCcqc%SczlM^t(la^FEl%;}UkT}p5z*(?&(A3FEAv|LF&O1NFc{bhaL~*y5ExXm$Omf);rCW8$6%)$}$<1_?34o|UmI<(vA1#`1d5p&&@l&cM9mSy3 zDDqpme$crQG#kq*@cbu#i8|PA_F6ayk(3b}+roVyD22_-f+R6RQ&j=b+5n6TED-?& zp-ZhnWx5^`DU}DS6H-kKp|~P<1ICBh;*(Nv`d6JE-Uth_N%I>DfT^xoh+Zk%V8P*i-x+pzPduJY|5sh&E5_;E^r{%_#5!>Gt(!I zZjRBpR;WNu%>mhA5?bYWPJjx;0t>uPGS6xrnUUwnx7Zk|LH&WN@J)dwDPyFO6?@w= z%*i&3-ENk;Wa=>?{$F3-io;>grRa>M8uLfK!Q=V)4oHTHkCeME`h)?2goS0~*hTE% zXz=@awnz=Ojl%uXEm+*#4JyFvj{}u#Lq4mhUL-c(&3Ehpg<88F7A& z!{mtVkZ$ZyRD7X2JygJdNT-Gg239`HYSQ^nRp|Q-mCnFfA<5R7DkRxf(;K|_U6n-` z(t5xO@tF#E9R;iGkIZ&0`WmX%9&C=Y=HeHm5J5Asf?&2!0#mKVpjey5(JLn}D;o5a zoeP!5H&SXzdYKACGR9bvthR{kl)l!{?DSeJx8YRcv3vGL53@BZ*D)Gup>koL<>Xn? ztl|h{uV&GwR-tD&aDtv7Pa<_Bz2U|Am2?-n^YBGQBpCshSVT)bM9f;*nXczdk@^?) zkUf}wwO%|FtZ+NJow~R8HHN~&D~?oH9J9rqY|TzdHiod}VvqRi*5sVLl#C3}e$NS@Egd<`8uhRGFh}Ar-MTTrIX}9q;_QqSk=$V&;|XJ3KWkQx zQ7~0jyJaLm0+?=7oS1mi=#McS*k`fHZw=%S*}ZN}F|?<}mYiTuPVZrZC5g<)GG%6F zitA8OtU%tlC z)rzKG&>cKj0vP@OWAEMLqpI%p|DBoK1ch)BA|ebEg$RNvC`42oCJOOVOp$7;9vvoX zqqUf#weeCNCf25EZ5CRj+Uhv**pOCD@zS8yj)S$S?XeMCnp(xl#M)G>#v3Lm@_jyg zuRZ(8GV1B~d(I!f-%EVOHP3r}*0a`Ld#$zi>^-x`eUISQ^C?E3v^m3#hJ8)Iz2J!7 zwjW_|RGfB6-RbAAy%dLY`}W(gXWQcTIj&dQzgCWZmbC{2Uk|}EgVwIbY3)dNuMy$w z!UbQ)qi#OCQlkQ|wf2fi3)TOSUv7E)-|eI$F1T=wyj64u$tTq&lk9(gADFfL+nxUJ z8hmCin}#w?{~KfP(;i3jztz|OPrq7#>EI0lcL+Gy+XP>{J(V<U`5!MM9`zxB1hPkZj_=p}0}`){9XEc8wpoX0SK(pk|L zj-=!GX*ihblYsx*Be{K+b;^a&r41LJamm`Roz{SF9^1C|XB9raQ|8ZiPs#Mz+!t4` z!I|;eFD&qS;)|;rG#4nR|8Dg-ojMWU9gyFL z^SW-N$ocl$>y_VJbJ>MoKi{p=ej_0h^3yAky)?YYX_w;i_qoQIt6UNXJGDXHX|KN6 zF_+$u#ltwstvD@rE*!o>PUM_3F=@$p7hlqF{u(5gUh#GOzwTmOj{5idbpArOwZnH- zu516jJv6^TpUBG=*{2Hs#_m1RD}3Q)U%adlNG!Z?!_0b`DWwX)vMRm z)h|54$zOiTiQ%eq=g<4XB5Qe7)wv7iRah=sFyDK5g!8ht77<6xn|~BbtE#qkY52r* zzc6os<^0RDe3l>o<>S9R{O6bqj_HlKxKeW{MW?9lba7LL8Mw0{19uN7E0iZ6hce_emh zw^P59STP@p<6pPILnk@B$KZ{54$l}org^`?E42TB$&d2e^$r?5q`9?ycspw}FE)6+ z<|PJ?X_&Z_~Wo;3>^34BoAIrNJ|rhYUWbd9}ey7CZe=WAK3HwFa-yJYw)_ z&Fc*w(Y(RnjhZ(ayhZbv!P_)%Hh4<&7K8U_zR}*x)Ui zml(W5^HPI%YaTH8fac`}FFDrPt_p*fYhG#aYRy9iuh+cV;LV!X7`#pMT7!3K9x-@E z^Lm3@OPuyM7`#;TMuUemj~TpH^JarLXx?J*7R@&ryiN0j!MikXGkA~Y9R?rJywl*t z$2r@ZGI&7qE`wKU-fi$2&3g=9uX)DcjhgoxJf-=7!MimdGua)tYx1yk7HegSTkjWAIMRGY0R{yx-tGnhzL!K=VO^TUE~XT7Mlr{!273Hh4hu z5`$N0UTW}=<^hA(YF=*e2F)uB-mH10!8d9iGI)pP)do*#USsec&1(%lsCmTTCCBUW zZ}5QT4F<2!ywTv*n#T+t(Y)E<4Vt$YJf`_ZgKyM4Vek&k+YH{Nd56LKHSaX|pynxq z7oXttPnW?TUSjZW z%}Wj5uX(`W)-tDm$_-wkd4<8tHLo;ywdNs%M>MZCcueyegKyNl*5DnQM-1MrdA-3i znl~8STJCIbqrn53#|&Pnd9%T5G;c9@qvjh8-lBQJ;0ev!44%@w!{9xdcN%;^^OV7@ zYCZl9UaEPw!7DWHF?dMxjKOO)?>Bh8<^u+A)O^t38#TB7HhlbdYF=#cZp}*!-miJ7 z!L1XWeh3)cJ)bEzc)5fO(qzvw^ zCtU`2*OP98ck6ccm|U+X8H2m)Ouxb1^X&nHyXV`326xZ@TV5PK{u@tm#%=$u;oQ~5 zIzBJYvbH*xsO;-YCBzRSUP}CRlyUzBh}RM?C%(ZAMp{AqPZS>_o=-gX3A~p0spMb( z2|PmlM^4u`rCxUWCl3kp28urck#hY~{%!mO-bj4F3AO*4*QetXcxZCLE_`cznJ>}uf$7; zyGy)emlFRQZC8N!f#g$8d>Ziz;=iSSs3cxa{vqOrQ+ze?a`LYs{yOnm;+4cB#HUif z)e}F4;v0xhrFJ$FKZ@EJBi>H_&BRY6{}$q7$$um9RTQ5feme0s;so$~sv=K32w=FFqufl20-5yD7ee_!;D1 zO8iOk2@oHm_;TWDimxF4E#j5LzfV3P;_E2BnmA#rhWK|Vqn7x;Xn#eBw^F_J#J@;B z4aA=(pGM+Nk2{?jBmN`uZzhf#Ik|r=#OG4I8;K9*qAe>yypVVs@qXeR#EXb`68{D9 z6m#0%F5-vKc6AfKns^WK3gQ{!7ZUF$jvHUOe*?tzB{Ms3koYgDomQ_m{tL;!nE1WK zONj5t)r$3;_&&q~#5<|pa^e-lD~Oj6uOxmA@euL##H)!fAznlL1=_A!;ybDR5#sw% zd_D2|h&K@Lpz+yA95+UD|6;_Cq;@tFj}vbpelFF!k$5H5n;?Ea#kUbZmUsv8M)K(- z{x#w$;(Mr_UBvgzZ7uG%5`UWN?IC^_#b=2Bg6i!jekIjAKs-YJgT(Krcq{9T|GOx@ znD{c{CB)OjONsxP`~$@ArS_K-f1Khgh%X>sNxX}ELd5r@eyb+Fm3(T5UroH0csub3 zas8IkuBD#%7^=5{_;Tu>M&gfBe2jRK;+u(Yr}nfEKaTiD;#ZJQg7}%l+lX%`-a)*a z{5y$%i`t(e{&nJA#IGjaP5e2kw}*I`>dg>eM7*E)UBm~7&mjLn;$x{jR-ZTin~4__ zf0_JCh(AZXl=$DN-T?7$P<%P@uTs4g#J@qjlK2P--zK)j83CDq$O z{1?PKi9bT^NfDn&{$0eQ)Xr|=i?g-$L;v#H*?OrNjfo1H>O7|8n9#rT7ZsE2!Q|;zbl6BK|)4R})W?PYv;(QNPs^ zkCIP>_zM(YPka*b2I7;6HxmCYwLeCDCh=zCM^XD*h#y3JBk`?NZ-V&sv|Vk)H&DGD z#P21aPU34QK1IBg;=71{K)jpyG-^)|@t;zBhWNKBzMuG)i4PDzliE2*+@gN7{_c(c zDO7JU@x8=Lh_4}DO1y;p1H@mT_LLKUh}vI4d>X}968{;+hlqcNcs21;iPsSSF}1Un z_)nIJqi2t18 z+laSOy&c4-(*Erv{t@}7h+j{fh6Q4o#4iN7r|3Tuj zDc*Y38~^`B@x{cirFu(<&m>+-yq$ak#Pcb>ocOyGUqSptYG)C`_V;%`xWHSycY zzlQiv$fuTgfOv%X0`jRRzCUeO1M$bGJ&nZY5RVaWCZA^FGpIc+#J@%D*+@J_@d@Ik z6yHWXNbw!SU#Iv^;(p>O;$`I1Mf_mm-Na9&e&`{dB%UGuF!fJA@m^}r0P*jU&mi$b zs6Ey{yzxJicro!!RBs9KiR52O{3(hL5O1USa^m`t$uI(e~;=dCVmUWmk?i1?Jp(XNA(7X???XS#P=tk3gZ8ydMkbFkfj}lK2pGQ7j#1Ei)yNOp5?;+ksJ{jWci1!meocI9oIJI+- z`02#0e|qD89<`^Kc!qch@tdfhONn1h?FkUSfa)zLzL)$fi2oP)R1(iny&>W|$)}q5 zZz#Toco*?n;{T+2BgC&KUQe9wCpHlO0>w8Hzk}+H5r2btGw}rVTMO|gXnQvjzmV!p z5T8%Hjra}Z-$7h|waG5kNxY2OnIb-me7cD5p?bTCSCUT;arb-RQY=G!F2(l~@1%Yh zApR?gA0+-8YNz#@H~x>Hb`}#qhkQziUrW4{_@%@H#E&HZa^hd4_E!*}LOzwme@;Fj z;wj?Q#Q#V>HN+QEd@b?W)ISm8KH~MnhseKy_+u2`NPG=#Z;bf&h&K~oOa3jyPbL42 z#23+aC5RtIyp4DP`F9ZCMD6J$zJ}^e5yw{`bN{-CKTJN|#D73OJ;YBYpA7MGiti_0 zO7R24AIY`GvIdDiOYO0CdgK31;>E=ESEOvW65`j9e<|@(s67GVH;{ih@jJ<=_>aiHmUx1EBE%mgpL*ggv|k#C|BHMYi7%&mW5kap-c0;D z;w{AMsXZHs|Apcc#6KY3M*Ko*e+Ti+)c#K5`NUJi&nDhQ{C4v1CO(FE5AkWlGsNGe z_V*Kig7^UOuTgsjiJwIN*6ZH*Urha3O#CeJDItC&`IHj>Hnk@}{2KBvC;mS13gSl- zuOxm2@euI_YEL!seW?94#NQ*ITH+T``y<5pb8Gd)@1S}ch#yP-jl_RV{xRbEtJij^ zX5u$ed<*d|^4~~&E43#CK`-$I7e1Q0U)XqWTyQ%-JH@xwGJjE9iznj`qLVN@9QsNJje}MR{#LJ0KAfF22 z4^ew6iC;q78zMf6cs22Nh}RH5o!V1N{8i!+;`%FgcB|@%|Bm7th~H1`ZzTQ`YEO*# zB^2LGd>Qc;;wMwTZ6tmf@dWYZST==OFQ)P`owZjsN$^znJ)R;w8j?MgFD4Pa+;5{vr94 z6F-^aD~P{Hyps4gsQn@0Rn%|Q#1EtR8sfVszLxmG)XoU;Q>Z=l#BU`32I3b`d?WD` z#m9)>L-EbTyQ!Tm#J@=K8;P$Vo*@1p)!Rn=35xF^ejU}@Nqi^uPm1{OiFXnI1MzO+ z2a$gd@mr`p8R9Py?LS zIq?MX3gY^aLw0K`i9bZ~A>vQa{;ekd5b+w~KO~=8;_HY_@uFC=cg?T!Bx)c#`PPm_NM@huczO8i9X{{Znv zsorwpEyOE`KSR8d_-oXj5b-R^Vhxi%flOg^X#rG4}j{vhv4G{l6ZPy_2o5;s{#~c6upmr7$FC(84;+Io9ONqZl z{sH106kksKVyd@-c$n&~B>rQH4-wBJUQK)>wWo&opNQ8I{|dD;LVPo|r=Iw=i2c8VV$ekSoj;?Gb!t#`fgKcCuJOnf2n65=i7Q%by; z;seC*BVJDYBWh;_@#`tRlK2$jA>toUd#Z_7P<##XpHh4+@h?$)g!t{$|MkRwLp}|} zLloag{4Cnu81ZFPZ!__;DZYhxoa)_3{68o@LHrhqZzFyh@ebnWkWVM^o2i{C;(fHe zUBpiy|8C;vl7A2J1n~^8vn~9ebA4R-^_&>rH$7mdcK`ZryX$lWi&gxw%uJ0p#I*WyiRW zmJgL=k5d8P^zBl{{X<^&IA3T8YoMKH>q6)t=~2*O(qo{bq{lGjZY(i@J^gQS&>G{xc(hH%Jq!&Y{ zNiTuUk`6=rMtSuwgAS5D2|7%A1$313O6WN0)1i~3&xB5sJ_kBWItuL@?bUw)bddB# z&|%VRprfSMLdQv84xJ=@C3KqfHPBhoacJMZUj5fY2T9)m9VUGaZ=s4*O&`Hv_ zL#IjK37sXKg!b*{)qgK^kaRnAnDqV7QPP{CLCG88N{t~bLLg*mrQP5%1W1yp?$3w?SPl8U8o&udFJq=hZ(G zI!JmpbeQx!=qTy=&~efWp_8N+L#IhEfzFZ+L;J>i^)G`Cl0FGKOnL=$l=MpIIO)@& zlcdjtPLn!E|BZ-5Syz8N}7dOdWU^aki8>D!^xr0;~zl1@VV_V?<)7dl9~9Xd?$*ccq=pgB5pu?n}g^rTm1|2889Xd(+1?V*C9ne|QS!my6 zul`q|gQQ=B4wHTZI!gL&=s4+J&`Hv}q0^*4g3glmRiXY;ul_>lAn8%iVbWuuqol_} z$4O6uPLiGiohCgEI!ihT?K{A$e3Psm((|F?q!&UbNiT*@lU@RyB^`$L zP4Vhq1|1}Q5_FjK3g{^5mC$k0r$Z-6p9!5NeGYV%bQIcmpjZC|&_U7{L5Fj?W850( zDCxD(anhGVCrMukohE$^be41++Bem$zhm6>&_U8SK!-`+3>_uC9y(5X19Xz~?a*n` zcS2`LC!u`@dG+559VFcj9VUH0bd>aF=s4*|pp&E@g-(-x0y;}N4egue)&Defkn}Uq zVbae+M@eskj+5RFoh1DNbei-I=q%|hv~Rjs|EthJ(yu{>NxuOdCH*#Zob)c}B{zB*==~2*O(qo{bq{lFM-aI4nzBbUj56UgQQP_4wGI19VNXII!^j@=p^Yg zq0^+#fzFbSLi@_R`Y(VElD-H!OnMD;l=NEYIO)rwlccYNPLsX{I!ihZ?K{}3|9a>k z=^LQKq;H0fl3ouTC%pkWN&0r^H0e8`v!s*IzC*nF?}ZMMZifz&z8^YDdNXvK^drzo z(vL!?Nk0LdC7p)$&GhPj8ahb&8R#(SXQ88{w?W5AZ--8jegQg7dIxltbQan-%d7uY z=pgCWpu?o!fR2)W8#+#U7j%;JZs;`WkD#-peJ7y)aFQPT6F6OrN(x*cwNuLRwCVdWcmUI-_H^;000_Y&=i=e}#*FZ-}uZ512 zz8pG9`by|D>1&{~q~p-O!@T;hhYpgy0Xj_jX6PvC_0VzB8=#Y(zfRbdYpAbeQ!0&{5Kxq2r_%CrR&yPLuu!I!oHO z4E0xd^%p`1NsodKlO6*dB|RQGPI?k_lJpelH0f#3S<*ph-xs|4XF>-_&xQ_@o(CNz zJs&zwdLeX@^kV2V=_Sxv(qU-de6Rjx&_U8CL5E4NfR2)02^}YWI&_lsnb2v{=Rjvk zN1=TSy!tPI4wAkII!t;Ebd>a3=s4-ip_8Pqgie#b20BYR4(&U_tN(iFAn6;R!=!J9 zj*?yv9Vfj3I!XF==rrj&p|hlu(7q$R`tOAfl5U3%lfEB1N_sPNob)5mNz#u(r%68n zoh6-y_AT`4e;PVS`Wfgj>1Uy%q_;uGNpFWvl70a?O?n4(mUI@{x5%siRp=n;*Pz3s z-++#iej7SYdKYw(^ls=h>5rhZqNcsloFzK72qomhE$4PI1PLjSII!*dc=q%|ZwC`B2 z{(GT=q}!pxr0<80lHLp*C;bR?lJuj{Y0^(XXGy1_eM`LhpN0;Seg-;B`dR2G>21() z(%Yevq+ftelimTHC7p%#9p}~mDs+(aYtUiRZ$L*$zYQHHy$d=?dN*{M^heOyobE90 z|96Zl#Qnjb<+i6|+$iWU=`qkz(&M4yq$fcqNl$@Jlb!~hB^`wJ<$3kZgbtFP4IL&u z4?0SEK6IS)Lg*yv#n5TeOQ5r)!_YpTSN}5TAnB8!!=zV0M@g@Qj*~teI!XFW=rrkb zptGc-&_2Ic{{_%N(icI8Nw0y9l3oiPCw)0|lJu3(Y0}p~XGzDQefeJf*Fy(M-vAvZ zeKT~F^m^zx=?&0H(zipWN#6;bC7p!!6?paE3mqig4jm?aKXjDzX6QKSN1&6WAB9en zegZm6It}eB^y+^aI!O8%=rHMLp`)a?LB~mNhfb1y0Xj{32XvNn7TQ&{@(x+z<2>d-WGW2T6~D4wD`O9VI;;I!<~LbdvNG z=rrkR&{@(!Xx~0w{WGD1q-R5iNza3hlAaG8C%q6lNqRAKn)DLrEa@<`Zwq`b_9F>2sj7q@&Qj(O&%*KnF=*1RW;520BW5Ep(jp<(zffbddB7&|%UyLq|!khmMop0G%X#J9L`#ozPj*Noe1GUj6q% z2T8X>he_WL9VNXPI!^i#=p^Y!q0^+FfXf^*;?AB>fC@nDn#IQPSI>CI z^%p`1NsodKlO6*dB|RQGPI?k_lJpelH0f#3S<*ph-#D-Snb1Mfv!TPJ=RrqF&xeka zUI?8ey%;)8dI@xvbQsz<-m8BZbddB(&|%UmprfQ$LdQv;4xJ=@CUlzgInY_sQE1-; zul@_5gQPEl4wGI39VNXMI!^j>=p^YYq0^+VfzFbSL;EIr^Fv--(l0=#N$-HplFmZ=CVTb23LPZ<8g!WS8_-eG zZ$rmP?}AQ}-VL25{SkDQv=8?KeWhOgh0sCLqoBj2$3RC(kB5$vo&=pFJq0>VdKz?= zbP(EifLH%a=pgCY&|%W^prfScL&r%kgiexP44o#u1UgGP4DFlZ)xQinNctq`FzFT0 zQPL}+b#A#Z_=CD!s8}sRUaMPftJJ5< z#fnu0@}6|drNN(f>nm1=BCpRa*C+M)bbb4%AoB9^oNY*j!QXM~+eaOUysi0q`}{uC zr_06mQ4^6j!!4HvpWxHmw~yKnc~v^EwG8EaeqG-vRfxRRZn-e{0$naNO6~m!+vnC- zCH3iYu~BLedF$MAY4FqB`bMd@q?}t{oz$1F>l>|JL*A2axiI*pZhfOwAM*O#a!pd7 zE*BfEUPRsu-Ii1u{1&&q(dy60t8&}fD)klU`u0`NB5$=@E)4#lTi?Fwx5)GRbboG@ z`gFP2zAA;hb#A#d`15Xk`>HL-D|5^BNqvR7zWvl@6 zK3y)hpSnltbIYZ{C;0XL+fV%jd97}_GL-Wb>H5Z~4aj@aEf)q~pv#5Es2?D&&n;Ia z_33i4F{&APd44_4(%`4L^^H;MkXNSjTI-~~VqM=@btUqay5+*)m%8aIQ1pQs&kO{q+2cw{-E2=vFZ%u^|^WR zeN^jKooAJ(8sz0+|7CE!_wMKYTVC;(w)bIO$mYkkSt(2PVx4*C{k^ws`C9%ae80H+ zp|RG`pWw0h+T}x!&9R0GENh~C7v3Z^ZuCB6HT?y|G;Vpja5F2`P`Orl2yj#}QSc#fo_{RG3 z)C%%-+Mc&F??h{rc(hg(DDiDQ)w0{V4)Grid2O|QQzdH89$}^Jsi0m@t#N7)to78; zkZeO3+YqbrsRdHkW6n0XbuB%?TIFt6jvepRpW7ys&6xFu#;KQ4M<42S`zhAyQ&UFR zp4CeYKg9jP^h=CWzc>B-epNVv-?}A+AL2SqzsxxGOS4}hSmWPjgI^~%_}-Q0$)e)VVZ*JCHw$BP`V5A?WMjkxcUm$PrjtLqKFNLjvm zashl&`M6cKoJZztw*29oCS< zNq)Uqw>3e1)vUWOUnNJVdq#z|stSDvzx^J&4F|TLiaPE= z8$uY@!v8iX<92HMQs|8TKwPcY`K?a=^KL%0I> zH+CHM$&8G|O=&+Eaan9*FJ6a3J|*WMdojl!Epv`Z$yUS$CfczFaBKpxIPZ8Du?fEu z`vKaWY(jiwqDm~VhW5+FABef?hqq7lOFa5p+F{4nAwGuqMb=Or$43y4^NbfIek;XS zAwGrpqphL$K6Kj-|CIRqRky^qQhb@Te}9!Y&KmkB#|QG^?^jPrd=tg{rTvJnvW8yb z_!#1GKG7-hbrj#{L;DfG+!}h0<3k1T&sRT3{Nq(ld~z#dGy9`2r?x+xi=EmYP9Rp! z9T59inU2L;G9xkxu?Mz4mW!2sEQD`?+F-ZaXCF`c(C>1*u_A>ko)_CDb0dgxvmJ3V zKDNiL=XSq^G3KANa~+N!iSG_yE7z4`O}Noulfiyqut{LI7;JyA+YB}l><)uX0K3az z56bS&t6bxo$sel^i4ANB{ICag4+qwk}&f z)Eh0dk3U)e#P$zy-tz&DF}t&cYA9@}voJpgF=rAOqjLPr!+4N=_7&`hT~SMkUoW(j zo!T$&9j3OgKp8Jy=F5TYUzGiZm|nb=m=o-IFLQQ^GnW&S)bY8PDR#^;h{^aT!&}dH zYqB~TF}*gMXvZwb`5d6vgvn}t&gTF-W_B*7RM$0G9h!?NwPR)==9gF#a&=`UqurC+ zr|04(+i{Z-m)kZR&tyzZvfDJt?gQDjF^G8>@1yR1bLmh5=PLordM2}v_3)Oj9lzfHHsQUQlJDlqI@KStZhd9X-pTU%?|6L+&Ta0N zw&C@ScrEMG%Xr-+d_idFMZCUBUM~s_{S~h-mDfjyhPLDN*W~qap`qvTx=vnKg@(HE z`Yd_9JT&xQc#ZdL@SNKI3|^mXzdo@2w|HG8F<8r=!t0}LUfTX7USIQ()3zt@`fUCB zF}ywjuce)xczw8j{V-n7(lMLydbEE10A9a~ZIt+*qRd+Y})UEI_=d_)N_2v7L_k-bc$Iin#b-m;nbKK6W z!|_$}jJfXAm#-Qn&zSReUTePkhU6J@-_F~buP%~2V-2wL`tntswmrH^!a8P130gd{*|>PV4r&*uru?KoO_qH z9}ACn5hMBc>-0gLcIxz3Nbklusl)_x9=@G+8_|x#q#dY(*Q(41dsoTWI0ShwqWsJF z+kwBA@b@qL{SALF;7`uedywk)5FPR!VmsbLh}XNQ@3Bh@Hl=d!84j@Plyil#@ZD~| zub8wm566KF)}|J{%@4s(+PX!jx9apqI=xe;tw`nlN&5#*D&MuYe6elvefw_??7htj z6rYCY1h&Zc?gJtJQ8K@=UUpb5%ZEai_0WrN@0~16Jme2~16Jlhg?%tE11X-VzB7d} z4Bau~;^jlDQD(rO*KXl^`r2z){0z(beelC;pI^G~x*KPFxb&7M5s%+h?g)1;ABx&# zeYvty-=3?Uu&)8hbshX3%|Il3)={B6>qxte4=o>xp^V+8%c_Rv?%I1B`uVm1u9-x# z2Oj0DTWR}w0&e?dKkePR&vWjzCGpKnwuWrKKP?~1!?mQ|MR`bL+cH%?RgCw3naQD{ zYv3*Cd6~LAbsAU#b!3jVwq&btUe{+S;rqS4_qM%Y5-;Vyj(ydF<9gO_&CVdkF7Nlv zJ{SFN`y*}u>u?6=UKy;BKSB9d-i5BRw(LF5+7iT?A^bLQc(iAZi*3;!?bpNCcZ@Y& zm^FCq^SwB44Auu4SqJJPjfkIZZ`-ZQhyI22NPI-+{Xvd{zV@k3`-ZW}V434WTdaI* zTn6oU2X#n0zKM1`j`ra>VLLOk?wVpvwZ>1ktZ(%0#yJXp(lswLPmZ-67U~*k!&8G(qMV;(v*4ftNFmF-Q9rEgkY7og82b=p0= zK6lNMGSaT;S6iE=7dx--k?j?>FErXc$+B*B=V=E0^bYcb?+@xUi2xIDXmlOZxk?rJMF#^_1Sfx_&uEpq}0Xah(GDHiLaD^91{A)%1MK7xe2` zS*zjOAoEJEu~uNd3Sb=XtMl+Y##`Bo`AsEqMT;4kA%%3X@r!($)I_4j)iTXvu8 z?RNXlK0eOUeUA2i6&`kN?evHjMJU#@{*|Dc~Y+v7V= zS(qEHcXrnB{bKRFM%nkUol^ExlvyV0q26Ebp)dAa^&7p+oA2gKp!59zLD$5y?*~}83WaNzkGZg4BxgdVNG?nZKSz365Df?w~y`p z+h-kRk86wxcRvi<$7t&tXsf-CF=k4zk1fm{o?CywwNbaMxesM-{Y}=@+}v{alQX8x zbpd^ME3XR^bYJk=6XgSAxcisA_KF9n4))K5COaGC# zs`o}5yZ7F;@;J--+LN#5t-}6apV^D@eML%+i_$Kfj}2wE7O5pNe~`+xq~6iXH=+Lr zENiN|M~*+>VH~T3`4R`pIS?KVHq|*7x^DTWvD=-RsxH^w6HRaAx!%3bS}|Y+4pKog z4$O{warw|++_>1mssp}u9f^b0AsD;zI@c#)cA1|qA9@C5q>cArPDv`~rwKWyjXC{i zr4ClVk#UT?Q?d38^Ff~NgKJBj+GqX8eCA6G-U}V99@IX^nm)*LeeTshG1JGg`vd#> z5OufqnPd7O&-J-g`>Zj20t=k>1P)O@&^`y4KFD)@;@anI(RLWihtYo8+12YIef zgZ4Rzd~h5c$V=Eh-B#of^)>DD9#WL+*88hF4|&in7W(-d?Ne#`SVu@qw-q}?eMS59 znLfyKeNNFnGfkh6_DLL~mTRBqOdsUAK8v-_MAIjxeNu<0Bel=3O&{dBKIPiSXZmEc zPv#I+rhV=+eURt+Owv9Bm?!Rdw);7Bq{MVv)=V`{``lsrAkX#5*FHN;pM>@a%v5_Z zucVIenLfyKecqO1H)8%^`UDm_?Fr3P|I$9+GJTNe`ed}vqoz+n`$T4{ziFTIO&{dB zKF?~OHq*yi66kv)-1J7`;0by zkmvebrhQhJKGwd@b_HgsOSI1rQk3)h8F{WxRQnub`h>JkXqNg9?eh=Q2YIefjrN&s z`rxx1QnwYErB2p9e>Q!P=lU$sKKA=teY~*eS4#WDW~rmJ&sNh1d9Kf4+NaQLkF}rE zp2RFQOZ)u7^g*8MGe!HntLLj6zwGuzv`=c5+F$$JW%?k`^(odqS<@$_eKNC@U;BLD z^g*8MvkT`(GT*yRpTHPryR35cmR{qoGJTNe`n;ljo-lnP+9y!1Ue-Prnm)*LeYRtg+5^MatD<+UEq*2YIf~{o1G5^ucFf5QF1a zx!R{c^%GGzY&sft3d9F{R z_E~BAgi4(4%9N{1wa*@;vaPw}JMvtg3$#zj^ugy>q>N=9s#a^Cou&`+T%T3iXP)VU z&#TxzfkV})+UKvP5As}}u=bg1`UJ)~KA}U^vD)XirVsL5p9<|W%Jhk8pU9zVj`n%j z^g*8MGfn#py7SeY?w=hWD|M)PPp@&;nm)*LefqUe+Vn|jpUk1EPy5LAb@BGbkLR;p`*fH-feB7~ ztl8>0?Q@ptgFLrAPidb!O&@%2!``mIZ1rpHbE4^kJlAKl_PNRQN$GhSnyv2BK8s8r zK@7&vY<0f&c@wFy+r<ES>eURt+1hvnH zdcNk4?}4M7_JroBgS5|2O&{dBJ|)`cHPa`f+Y_0iMr)rRnm)*LeLm9f<$Fw@!2V8q zVsq4xUgMffALO|{uWO&DO&@%Q12NrJVvhQU_W6eCgFM&g1??mE6XY14>z|bNNzGAz z);{N&KFD)@y0lNy^a)II+LM{1wrZa*nm)*LeIC(1Ev8RQ?=R~x^$YEDwCRI9*XJJX zbIr$mbbA7ask^k#p{5V=T%YyY=VH?*HO1Mk&|&KP+Gn!qgFM$KrhU#deInW?a+tbG z`xKZy$P39e5WIh1qkXD}`*i1p?CUKZR_ri!q4s$PDeCXg^SvVvd9Kgd+GnBZld=1! z!%7^c&d@&k`jO{@JlE$W?Q^i{6PhgB-eIK4QAi=TYr*tLYQbKB>9tVeNCA>4QAi zr%n6BO`nk7@0q!(Rr|~}eURt+Y|uV(KZ@4F?!1IMeqeGW8zta&+~>$J}~rcX+5 zS74sHR{QK@`XJA3&syzsis=(LK#!k!>g(F)eWVed?;+18qJ0*dJ~8bRnWxUuK7TiT zkmt5%h4v{oeJpz&!}>E%ov3}DH+_)j`W&NuCVkB37(IUGsYTl7Nz*6c`OMZn`KC`q z`=sWnL$uEWrVsMm_LOR$xAlC@&G(qTj-HvPCTJh|yveYBMxN_asC_b~Pexy7$7d_@ zw9k#E5As}}cmL&#zh^(@quUcWT)nB+xGPK_bu+ULur5As}}C*Tv2udFPvw6!P`E(PweKr0Ocj-sNZp3i1IRX zRGRZ5lxH2L9^v$l&u~oQHc*x$O(hQD5P_5an5itCgG=p}fFMbu#D0C@(Zq9nX0Q z%8SfY$8uhZ@&bpeg`Ah6ywKt5aL&X1rrb6J<|;X!LQ8Ts^cOQhkK9`C*vv8=TmaL?L}()#VF32ZpXzW4&T8zUE+}1 zaS4ixIC1v$E7GP<-}bKKYQ(r9j+$ea|W3zzdBCJAeAy!#wjD8EnDrz zV*J^$b$)e(#3Hq0t-Rdl&`x(_tp!eOlV2Swu}JOMfEO#{$!@HJ*^67yUOy_J2*D=BDFnJp6C8iZ!eCec7I_Fv}2p{)i#MmYPTWa#meVpGOhXQ8OcX#Zx_aTZafEO+1vG+>lxAe zc5A-+m6SnhdqzCZm)%&*H@p76e6?9(k=n5_FZNGTKR%D%F8N69`V&-tWQJY;GZKf- zrY9s0sU4T1xQr8*lDH~-zenPb+Ho0*iv(>yxgKEmk>!rn0`)y9Q|FYi@O>-yGm}4a zV*@(2sX$#Lu}JOh33#yyH#VeWTMN{s5{uN14SBIYbYo*~pBAWkiQTGWBVOzcZfruw z_7$lAkXWR)Z_JCm){RZ+SbQ&TrNkn&V-sHNWr)p`6{?dYAF1T~Q%=4!uBX`jb&7bjre|< z+y5uKu>l?1TBxQ;EK+-WLSAghjg9Hpt%YiW#3Hq0BVO#0Zfruw_7$pPiA8G1#=O|s zh|T!1-bp@Ed%F@&zTHn2KD&$U3b>vzcm5ZtcV0)CGN+7{@;vt!&#EG|Q}U78o*D9t zIG&?j&x~$oU6I-$WsutKwB-2;&gXkAHx|b;XYLoN=OwmD#|FIE_pp{p`9a*P_)3BE znV{ysBX%odTZ_~y@U%bAgzs!*{RhZrgIcV}5zg@uG54YTJ1Bo?*cpTJIrIcRUv_EG zdQLuH_8a8y#^?JpO-0K7{A^v3I!|wNRMN5{Wsetskvc~-`rWyHRH)7r-CC$>C2cBH zGG1g{t&+3~<5|+OLRBNFzfi4^6m#JeNily;lC-rzRZH4bpq5EmSD=oUw5mXbB`qt! zce0WC3!KkyVSPGAG}g4mlD6h6`}$E+zFH`{E?*rXX;r?OFKJo6s*u#5ujWaL-P94R8n}XUwVlc&WRtNKKJAq;_12;zCZ{izTk9NR>z& zQadg~ar(TiLgM<0)Go}4$@ng)T&vmo3d$fIJ}2b6dy}0x5jaw%u`Wog9KY>3f$sr} zk2xpg{K1_Qck8y_C23WW`iZ1vMd}Vo{YC0WlA_;llN9^uhmy7ys#}l_8w04{9RnZ! zQ}=N|uRpDR_54n>AE~s*9Rs`2PJ3U3blg_I`kllfl{hQl?TejmY(&TQ`PCB=i`0${ zd9fKcHl)uzFgG5QSfqAr#Ebp28ynHFm``mIi`0&dd9iYSBJ(aG`A8+-pK$W+^%v(9 zvi_!A&zN_fbc>X!)1E2M^Iz>1S6`LbJ{=qKV&(iq)~a(QAF163I7Udl=mV?; z&N=9{uBYW5g9_A2DTDRSZfnf*yi7c+uwF_&Qrk0;^ThGG%PEzq9695ihpfjg9DYt1^7|8SAcl?qtQh z*n`|y_dK|&Pz^{dQo9WaFLpd)<@nYw`A8+-pK|i;@vYB;<@`jBhdU$=sU4T0IDH=c z5!N|bEB+*LNbNX_&e!yL@Vkg}#cq58GtBegw4yGGoQdXqeqzqCiW5v9>pK)VTI<^YyrNkn&V-sHN zuciLFBK1SbM{3uf%GKYJ7dy^w=fkciohvmMyd-XJtQ(6OH{eR?^l&wV$L-g=(~eLgGa zO7?iE%2)poUY4)^E~!6X^+}3jN3Wzf-q_=%)vsQHma&*Sw?Y4f^tsKl{=K)!Jn&_X z!Sx+{pH$98@fp+WaJ;j*b*%95&RAZkt^v3AO<$4Pfa}Jx@8mj=tdkbL(=|r+o%3DH z7OQ)qTr=7tF|UIk?RUN#F8gg2>XmcZ4X^6&j)0x2nId+QW;YSrWN+_;_U{tAN3%Gw zyEOYYvD-CkB=$qiE+y8Y*&1RuYIY&9>oq%%*gDP5C3dxDXA=9CW?v?@RW*^`^nEkypjI~nDb`hJP*;~ZMX!bg>eKh+A zv3$+4#P;G?CvAR-*lx{wh`p!T^TY-;dzRQv&3;GhRn49v)~ngCiM^=Vqs0EA*~7%P zY1TpPzcl+9u`bQ-CAL+wyNSv9tn|T;iEYvBHewHHww~Annth*GyJqr!+TEA`saX>- zIiHn!uOW7aW>*l~pxI@_lxCL@yGgT)h<#VH^NGbZix89ZS!v5z#2Pg_o!F(CeTmo_ z%}yb9p=Qg8ou^rtn4Hf_y~h$eQ?p89U)F2^u^P?h5j$D4Ly0ZZ>|kO`HJeWC7|o^- zTcp|k#N>Qd+FU|xu4bc&m1|Z=tW2{!V$(GH5brhJ@p6D>?-QG-+1td%YW6Q;qcrO$ zR-joQF-x-@#1`Qk=v{2vr(N4wffzYoc?ZwH@Zr0XcAJ}U`~=VGI=mldU4?5(tjloj z#M)n^US!=@sCrm$bdYpA%f$C(v zwLm?@y0t)cux=_)KWAN6V4u(C+FMni?&170T+e3hFHk>b-IuR6vfi4nZe`t?uUc3) z<*S=m*Wvvv>#BTp9qY1u6=UtsS68#fIa(uYoU2{N8s}^ctegDmV%BwjRnNN0ug+s# z=2sEce!n`Kb)Qewvfk=bt5~=CR1NDUpE`wgoljLm%RHS)qoiqiuMn(M*H7ojrI?)M*Cl9jrRAmZYor-u&%>P6ON znE$N(nE$N%3RE}itp(~2tXm6I7we`1^%UzmJU5PYRe^e(bs6SAYd_{c>%M%|!Fns6 zSI4>)*RxnR<*R#G*Wr2=>nc1Wk#!m7KWjhcKkGifYGJ+AuWn-9>Q~LsGJY;_$4_68 zdNAX#)nIsk)nVZ~(Al3Z{n#@YzJ&KQ^85w&*<(X^7TE`L^s~pR_S4Vp__h6vf?j-2 z8sA}Fc{lD;%Cn2)Swrsk-SIwaDC75@LBU+U(+#b?hJU9U-|^of-zER$4)?p?&T|9Y z^732@d{=v@7pc6K=VIhu%QG`1zr=Y~#z=Ma%5w+cpO=sFc&3_#6yNpUnZa`ogp0;^ z>yMh=hG$D?=A&47KPk`bDZ+7Fo=316_dcW#Wd2x4-S4B@eSFjMA?_1?CI@fNNbR)S zQjBe}thX|#L$n`S(q8;U<^8aAoc&BFx6Y4!w_d)Rk63w5#ow?NT31g$O`b#IJ(t4S zk9J!-@ch3IU+%)Tuea-*>^)m3g=a9hF@JyA+3rjc<)feM{Ef?pzJqaw*8}o?URWNO zo!7X0XeHWUzeZiZ?bWZ5?~Wb!xd^#u1EBqOy!(B9_n8-XPC##yrJl`VOyk)Y^4x$$ z7}uFHY%iWsA$;Ei z`!Aj6uE_d;an_5ml*QQU!}Dfd!E-s>@nJugW4VR?!u7yec-A7G&C!do<;Qq_2U?y% zCeOC%Eej2eN8gKf){F`5>k%VmtP;e@Gb!*oPhP`ghGpI8XmG5zQpT;bZ+U3gvz9{G z)_;gM?g2Q@SUL^d39|6`!ff4@^@{xP~RKeGz=`R=&@an5HCV<4gJ) zDPHF_pdC`~!!euebWoSiQ2D_0Vda~-e9S3t;rAJ*e^}vol;$~Y2u-Ip4EOjJd$h2} ze8;0wd&I~C-(TbHxPUzp>~VzSQL8VV$B%VmigS4ZuVI0cyzk`I>XzZ*l>>- z?2%!QV{8vx^X-_Cnqgm`mFs^#Y?Ixm0q46uzr#4{$8~r4j);s0xt1y4Z?|JmPCg5I z&tIIe_6V*K=AH?U*hzBj75Al5FX9>_t~tB+A>4Z*y+s(~MY#4^gy*(noZ9zya6MO2 ztHHirf1{m;dqnO%lM%~ej1DUs`!~v#<_#~~@^6%_G|DFajk2{y*^ZIRy7x%jxh>D1 z56JUe+-tggj|A6q^DsW`{ggsK;+nR+&XYdH_2~evIm>hP<^ETyz_~}_<{d28qa_ym zSI7Ro3BOsAMZ9x8JHLIV?B_-3>qXA9*b{h0xBYDUt(JOF)-j}gxEGTfA2DYP{YkDJ zgF8MG+K-V~Xc;e3rWWICl>7M-@DA|Y{b}Ua$bBD-qj?xd?zWF~-)0)hIpfT^cQfKx z*=Y28_sIP|V%bikY-Z%LeEfJ4b3o>fwAUKVP0T?)H~`{U7%??E4t4mi?^wwdl_bUc39{0@*Ln^*CO+TC+p3? zx1X1BEB9}+h_S~uSjc9Uqx11wFeqmqQ{g4|XT-m64}QM~Wvq~2`SIO1{BFg{Jfv4+ zZ5D2>M|Rs$-fg?PP3WJY4DM-7k63SAhfIm2yy?Zdm&F*f%e!mu;d(w{yrCU$S%nzSRe7ob+t!OzetW_Gz7Xyv$Y1E19d`!#2k7`I5}J ziM8^(3^H#dPwq|2=PcZL;(9pq%KF&6vgfMdU1!hP*tQ~`vn7`Lw0WEJ!JKy6==#|E z0d?5x7TRbZSEbI+@U+`ZbAH&iSfMQ=ZX=G}BXS(4b6oDv7g=(gcFvtp#%wcw)4}dj zUkKw;+Ag0h!Tn_UjVHXXxY2t3YI{w!KP!N3vh%Rcx_R(!ch;r68}XTf5!ZIf|Dud1 zS&Q|Y!1<;8rouM+w>D($2ftO1wLQ7t^clW3J%q76(z++d52-_r4If~feO62o=e}-? z(brzzRSoYucg)FL$n~#|G54SQzRUf5g|uzIPuTtv>3?kdH?bz!eTi+Dj^Dz`Eb=~A zBlFztD|b83&#m+B?-6-@#r@HWHOJl7VeOiX^EI?<2KK?}==Tx!&3Jphp=~&BZox5l zi_EuA+Bd7=(<5sW=I)5~>3y^ganE8~N2qU`9N(ocWIwKxv0$v>Za?JfxYu*X3bzmR z@2N;#daOMl=PvTuAgrab7Q5pPA0DvR%*kkrz2+f*BG$=>59hn`nGduhQ--;Va|nCC z;Im#0vKGs_JZrd@-5#)Njl3Oy_+!{G1HiWv>hN*v2^)k8Sg~zbQ92-On$zd%sU) z{>I9=Xy;k>F|j-Me&hiQ>moiYb1vF+R%qx~==UsMW1r%CribI0=xZ-QpDe`~+lBoq z`(*E&ye$DaZXGV~XOS+*+Y*v=5ze<;@!8kY65J}pX=v{)6b9m$?4}G>%NFcpQ5krl=|A%ZeQa! zZ(`Ed$2om{)W`aI`KAwb-ELcJ|DC>Gp#2v)ef?jUi^KbR*`|=u*H7uW8}tzMh3x z8PiL3Uwqb>mgjN&NZMJ3_Q^FGNt^U|)6e2a8vXnc;&Nl|Gsd($+u%0wNBb```xw7X zEYCG~72|`)^hN(hKg)Myf2jNU?2q-c^ZnRo#h=FXY~9Z-x}UR{LsI`ux}SH5Mjw>x zejda9oN)U2P}DU8{X89Q#X7U{KGcyL_ZcT9pkpTKn0ve!e1Cqry$0cjVr`%O5RfJ``RB8hBYg-cW*~tK)&znYoCC&Nu13p>qOco3ULhu>RY}BlOQH*#6x0jyk{kG0NsN`saAgufqDr`RK0~F)niPW%!MEv}->3 zAHn78{OUR`--qX!aDJ6vUCsGT`2BaozYYFV$bTxAhyTS~9{v+KAO7cYKKy@f__x46 zw>{{?pUbfi*BkCfU*i3VeXPko;GBQ+`;$9S&&Z!;-#+5+)NO#T91Fek81LLl&Y9+a zM*d09e|q_gFy4pzd%puG$MW7AeVh86>v`Vs6XzWm*V{7Fas0$_e;u}2uE`vYy6o|S z*EhlU|8Vy%;89ig-v7=;iIyss`=w>L*ixkx1qClXOh^!@s40m`TQmttfM`f!E(%I( zRC=V9(U1qH<#mA0HpPf@9*Ev>`lw46d)6x755`G3A^?=`b#GP!6^ z-}ia{d7k}zXVzYq-}>FxT6=a5r1d*b`lxrZsqXE>zv$j8-;c@GxL4@%jNCgO0XW#wpdeVg~#b(+SS%v#g#7ufv%&ehl>dhCZL$GRzK;Aj%rp7gYcU-^xi8xE`8wrw;QjO;-==##t)i`OBfg$~S$)C7J?M)1ir3Tb`}-U7 za{IeOa;3k1^xIv3_W#D3-=WaPWBn~%^a8n>eq>+BGd;n+R!iU1hWnf)ne(L-_C?G- z1m(jR-}naFzKvc){Q~#?kd(G~86Jlp;_)-x$n9s?U%U+B`$@xA)Q{O)0A+6>{`Yvw ziR=}TV<|r_xbB;8@xP)U_UTJA^1V=cN!?L_@31zUxGs4kpz)*K)Kh-&L1^@#(WR?z zpwEBpFy}x|SmOoz>oMPr?=Zfb{gEtuS_IVp?3@(no4ywY^00Qd9~rqm*~4c<{W$fF z{?o_b>Elndl`Z@BX#H!99=mR||8Mvgy8=6+&G>*XZreCNsl7JIkG&!5C+EsXQ!YQG za_cYS+EH%WQLm@%>=?E`yLPr`T+;Qs;JeXjKF>rJ+N&#I&F<2ls3T7WyzNYfX2Fkm z-3a`?VjXdJ-~DMD?C(F2Pjhrl8~FcY#82(v>U`lP*(9Hh&geG~@c1EUR#^l(Ox*)s zLj(29|8eDW6Q6w@^Zn7s_^$s=>*s+f4X+0BtwGkNjPYt^AM{;8nWZV&-fX_cH2+80 z?#;&A=7YrO__@d5XSXZrbG1H~O^V*G+I%apkqOwO>dW_^>|ihP<9w1fUG;e@_pR^0 zM>a&i^eD_!Mhu$equz5k4!z(v0_^QSht&IP5#&_}p zGrwec!FI_zAuovIspCshI_x+3{>tu|+Vj8_q8tAy+gE;A80>}GJ;3ir^(x-)CH7v7lg+}O>$YT;paI~pVhTodUZqpEzvx~_7hM4y6AnoPa1#!0R8)X zwD&t*`^Ef7!rJdI@_*~Rh8lc^i3fcCHD!rwKiOk6XJGAj2whOj*bgtFF@sp*<{9{b zyjRt)i5d2{uHEOrUyA0Jehh0cdzFno!(!63h-l`h$Q z$=2zvEHOWN2ie8zWQ_lA9BqvHHmkd_dWy%L<@w%;thgNd%d%DKukSFfbAF?J5Poy3 zv-Jb_dY3A<((hw`BY9vC$Ixf(Z+ru}nAnIO=b>xnGdjKxKVv>qN3lkAO+HFJ<%}cr zT$9T5dt}h8!NEJ}PtWD>fA5>@m}{Xo+8669@ygFPZhRJoY|Z$gl6WE8ptj7l!+cf)cl)Zr-+IJJ=$p0c&`)+~){EyAyULfbQ>$861DZ03vzQt$PM|}U6u{L#@ z4`WV}aNE|0K7$>IVF<;^Ol!-~=J$;+?rqL~D{b=>j`a7Eoxa-67gZzRxcV1U( zLh-c`e`|9M*C)F4%_pw9zR~(vLt~fu?3U>Hs98fIclSL4aeU@X&F<}HS$)FSjfU4| zjR=1qL+-v`>gVt6BHM$M1-8?6E_50_F}@(&)&O54_np2Wa=D*3GhSX~B68#V0qkhM z&PTPEMn4}X=4Idu_EE0yU#BnGQKTrP;X&@<6Rf=J&2RQ6$IH8pzP0DHZ71!5KE6aB zIrvi9#wo>K{ONY)^Q`EK>fer}`|o!o#Cywg$-&A#S(()bn;V+v33!&^8XF_f<7tW? zlwAycW?zKQ@(G_a-}%h`jqYo$G2&Evp7DWSn^F@4?gbIJGH zK0TT@y}$ON`%PqF^aWd%4_SlkTv}XSqB}fw1%FOIYWFRt-S=%f>KI$bZs!H`p z<1BI7HQ08}IFo{Qvx2#K&U;@XigobvUfLPGm7ifw-%vl4>z>(PrYzLi-ZJ;}yM%`% z3&{nV$tQdnK}QO?on$5dluRZml8G6|&jGFO?4PWDV&`WC>0TcBO20)fix0jpQGC}k z(_P72&(s?Br|wPe<=3UkBYB^`-WHY%gAC19tz&mv!H!-vu&r^A%SXF&~zYLlLJ; zj&ydQ$Dl`^_DAVApHr2yQAcG~uU^Bpg7{|EG1h0kAKCpRsyFd*M?AB%TKe6x#2m}+ z@qHvA-k-cP`8v?roAK2_4sO``j1rt=hRH*W8JzIZ{|h=69>N8;~9JnS>N?x%i# z#Wd{bL1mDZyxqj3Op`kHt@=jvv1eN8@(Zy`rJkNjXBKb0JudHnSQ&g1X@>CVHkgTSX+8O7-Z{Q6|z z|HZop_?);7y&4(Wb?7fdo6S|wo9m^Q_=9}6D(>Q6wqm2VL_Xm^4<38QKBnXD zoL=e>o1DBCpPBeRJIhC-PtH1Y4Lme{YiPJ_E&62Fp=tP+#C7Nc^0EFNPTQk=cGsal zM7Mgn4&8(9yX(+l&|vbVqLc=$e|x$P9YQ}QcSQ$3L?2JUYt3bjYydqTi5?9Obfl~N z$gA@jzQ}x|a&n*dcl^H9oj_jEc<|4Z)7F2-qBCZ)GB^IX<0Y$`Sk}G&i|Lqr^J-+N zHkKcW@mzJ}$JcgIPjx!qC!P|wPdr;PqW34VrM1>pkwdt2tF%cKu=9M{xc_V<4D;6GT4Sv|M} zzJ5?WcvL>b(SuL$-RgnI80Is2u#dTa5IyKie~EhVZ*~mn)c=AW%!=}{)tP0p~+YZy=6{XBze@=N$o%~w8;M{r&s*ecb&s@W+SwVKQFx3`Hfq!&u-S=Jr9qM zi&rwP)d9;B^v>jw`vM*szGcP#KGLoeWk1r5evD;()H(74@WA9!%wP9s5@(X_5vXtG zbzY4B@$@N=*++kt#t!-&==2=;)tT;>Q5}$vaAT_GiXFcFGx(4EC7aWo zdH)%?m|T;&FF@u8kw0hj{&_6&QQMD6&U}tP!}8Bik0p#3r*9KuzU8MHpEb}ibU=M> zrceD}Hhac|zTDc#KA!Gfqd12Cg!D`<-&OVl%A}v`h}%YAk&mmdFVMeTD-~d?+KUeS zh5y_(>#X)*Pg(nsM$TD0BS^0M6Zx+Drfyh`T}W3o-Yf88m9-P;itHWQ?`3>Du6^!) ztuuB@FXo^*DrN<99U0KxVZP9$v4(Kp=pmm6^4Y{O=D+&ieJ@n$m~G_aTD^C>5wW0u3G`{0xL z4Gpww-j{bm&*vR_>XPv2V#X9-6L}PN;uFc#!4uV0kvU=^Og64gY4wM=mCZK$gay z@io7OkH)6Br}bi@P5ttxo!fI{GVkW1f5l;wyU~Zqe*`=Ygdac+&d_5;ubmXmA_yYQ4d=xS^dUSf-tDDeooppuM!$0uSy&r@!T0Y}t z)O|*M`f)SK@1N6r9alVy<~Pwe?fm}789%A6A=eX@CO#|wFHH4bR(zYR-xdY?H;OBY z2b#lD$)38eQ`h?2*JRK5>V4$3dOr78(mVW6fqs`B#EV~0$LKM7BRxK#{^)0KU{lg3 zmFwLZrhm%K9$gRg>^1p{jgs)Rr0Jd-{b@;Tr`hu@93IZ>i+1!o=p`BRYR3_#C%n!6wP5ILCIL4#!W4QRJ? zC(nD5>#TBL$>JF8t==Bxv&r$~FM>SxF6j_sp1d>pTEyB^18rSfv9zen+O=J$*>#rI zBko*wp+|lno$m*9*T?-)o9(=hUMnim23|1Gj6TZK`)T0m%zhh zV`)wG1?n03Ag9~O!KDY%hu%8h<+J?$PtpBkbeKIso)fS#vAhs{y4ThEKx;94O$U1u zO(~2io0|`9J+ZkzXf1?YC+e=DqbEKvA+HYBaxvO$%uOS%!IRqUL2iWqliq(xbl#V~ z!S_x4&Qr0M9Pl_kNjy9UJvsyU2!F=6# zX?ZU>CCbCdsRywyQID)W{>MwPm^(76lkw+GW(+4@{wwK8K_4w`XC~N`9k(-jOgZ{x zc@$mCv6qp!ma{T2c~`KWA7JxeWdAU7jlC-Z6R ze_Nnuj}r4c=mWZvxQ_p*)d%BSldt0|8P~3nEsuI)r-^avO8Id4bM*R$d`?`)-~3Ok z>U%FP~F_u|#G2Tngc*)k8KSbw5XX4x%nTzD`J?`7w za6O;RJc?p#@o!KjnifWBNNLb{ocbJ_F!x4>md0QWegMAqWDWl9VD7n$t@o4hBn(gNp2@A$ab532XHCg_;`i5Yf#P#;40zSCw?G|h$*?Rj$#!6Ukn>dtnpuX`qQ6Sk*wmlFx{jW}mA=Q4MEnmvtq%iVZ2M1kCUcSHztQ*P>!4)oy5-2Er|UY)U(xfYme`ukm9x92@>h5kFT?ot zix*( zze08~JCEISb!i?t(pkUw0JARa$#b{xD|+S=_Y4uwzFU0^dEUz&zrV9*cJ}-=SX*|G zx96RDz?`Qs7vnF2N$w>06MxTU##eXG}qwZaX zUf6qf9F4F3ldtFF$2gBUkAMf$oqpU{`!?@W)Nc&-X`h}P`~Z3ILF_SNV;6g!i?KsJ z4>gd!On%6{GRjO$W&Lv@GI(1#FS*S}&`G`bO|fwWe!lkG*uhcX&QZ=bX0O#zR+^G_Ik8@uUZmYU& z#l_hCCI)el{vH#(k`bTRDh41kqq}c-mkxxl;=Rfef8+Nwe3ea^{4|iokC8!yc9A#y z-+R^t`?wkOYu*n^UxOtNjmKx@4JoXN_aSTT8J{N}2W`X3#h~dG`C;i4YX{ZIM2j1=s`_!Z=Q zJwC?Jj+`s-kBVJg?zuC^H=%uG;OBqG+>^yS(V}u|vo4Kpc_KeAgNAQAal^JV{$0Px z!Vin*ihYUin6hKJeJVD)G3i@BiTU?vyu{X`zei^;|6q}KX>{*C*yD^iamn(vL!7lf z5nrftlU(M}6Mwi+amn$A(f$L!lYIgRWfaLd(i@*Ew`y`2C^uO7TW9ff(^? zc$T=wWcSZzp|^@55xYL8{tL91Y+go(-2JoHR37|Rpn$lc7}wczEzQ(*_h>TcOTOOS zKkEfu?*7>iH6DJ_?w>vFjF)WxY$$diIuqyC80??*<-XlN>%(WGYs4Mm9l1~6rswHj zG`ag{L-1GXb9uttS30yb2K#3ZQ^)Ymc}Id5>{IP0#@T(N|CGKnPU8OAqrv#@{@II^ zx%+1~C(u#l(2;EaY?kgP;Ym24OZqT_I<9Qi1oXN4XRGny>gTfwGBN!JI$-#Kj(xr> zKBUF?a9=P^;{Mr<&?El1`)75O#pMk2qnzO_?~)NIuV=&^{Acnf}T3p1`Ke?=k3KKG&S7(eJ+TjF+Ez>DQGz>YjZj zh0o@h6wyMRS>o9R@&nW@bVT!sGB&a{IEKH|w~&n73UMZbV*oP51-s)vgK8LI%m! zgdzB(HQ|-p;9amLd>7vTjy}cLWzsWbcn!MU&6?2Ykg*S&|G+bo%aR8@0q>j~$k#XY zIB`ulHqbY_KC^t5txA{q-p!iOiJ?K>gzd&?v$o6F*TF-(p8JVDWAk=B$3x%o>p5(z z5MCLZC3g}}rplisS;IX`J-dcmiVWN}T%oguD-}-?)^Hi(x3h*@Kzr*K64!8T;uSt} zaIl8c`rWSKzDqyund}f~?W~_a2mQqP;ZeRHt{46Be%SCb+1l+n`Rp$Iu#sWh+AWqx z+C1@)^&3Wauq`lVD;?`+L!YtvB=xQC7#r=@|Ht}v_wiOG_#xY;=3;VQA?q~rJ>gwl z$#PpaXMGbH`93Z_Z&g{(_x+}Hw(l3ydDb=B+xNT^(S1MVA3ATh`+k4K{*?!am)2gA z?crt{8Eelb`TniD#ySnXipj2L`+kFrkM;Yuyq5gL6KngfUv_1se8=Z!$7eGBSy{dH ztnK^%ysUmBpWw)W%ZylS#?(K%1}0b4|9r*-*K&{ z{jCwmz}Pze*F4+HS(JR5H!S>s$}B&-C+$4lGIx%N`w!Z$jmQ@p#)o9hJ1SBSG68+ZM92T1$mA3gJc&Ip}D7afsBn^M2>ks zZfuIYWo<+L|KwKsK`x@heK*d0WRl2_#NXi9XJ3~=i`CPw@Y(9=J$#NmBjuk*tbtd) zekS)%5pumebjj#L5Z~iv*|V5(FJoIjb@I-qqwj2cThHq{_7fM{tu$1p_gU2VzPWm-@pW%NG!dvlVA7?Sj8?Qyy z$1Z1V>g`p(^rQIvVd#|Y?z=p&2k;lbKbSA{--|BNWYnCkuYnHv} zVzM>Mcj1v;v%Eo@&ekmQr-^Hp8`S3o*Z{htv!wHb`4N+EOEDm2+u54s%%GoSYnCF$ch@Y?a8&yn$<{3OvVnhc&GIZZZ)`O1QQfUsbe`LJ zeP3@9_c`ouBwFyrrY-#0KtJxDinXcEauCsF&QI}OF+Gjxu$xPdM7QF7ZAX1}ZTn}) z&adCm#;kpH7NbYK&#_+H^8Uwi*CpRD@yzZkb)S3PARWbrY7cHUzR||CtLz=ZZ=dws; zWoFFI`QqyC_i1N+@%x?ooNnfx4ez^~`_G~EpP73FbN{+C_kTF^iRxVtR}z086mr%z ziE{g?=_h_It!IZ~_Uz|h##cFKr&_Ok7kOHnS;uGhe5oD(6aV|C|IMHe^lH{e1^xh@5vrE$Gc96Z)U%cJnj=V zUc8jjFbCiFHYlDw20h2vgVmXpm&)@$@JYVrz`D#!&2v2WW?mX0r|gBkDDL@r9q$dG zY=Ftx`Zpb<^c{d_`x(O>x!<>o!9%BiSt-p*l-~+JZ9Zga(%$_I zPodw`*Esd`aX7HOZ-dIC@)^UW-L-SYeChgJ+WE4wdLFX}-M^VJ;_t`u6#KqQoo$GQ zA2OcVCzmW3|9Y zJ~uWGH@~^2n|}U=jm6J5){p3$7u9V`hvN$aUu*5q#Ci0~_yO@pwkjX7EqG>;G831< zzF}mIyydUn6yNmO%)M{ZXCzO)UkmNx^No&w{5bc{Ko^XzbI+rnTImy???QIs{~w^) z(xms)iZ1v6LH?3{UB7H?Pxda~VE4JLZFZ0$W6osE81Fl-&y633rcm(As=LmBHuHNJ z?af8?2VOt98MorW5t%#ppp|+xVGi z4j4RpwhLZI%M$X!Xf6S-t>4%P56s>dvGUvKt1Gv+B{yVkbE`ysnSsv6_!iG&J^TLy z<{fW?$>;HpsIA(3FV>gwEv)e$>d;rLj+qPNeXbK9XV>IrzYV^<(P6wKbTRKAQP1dF z4|3Yh@|RY4IuJf4%U|xMJQ;7TY?QxD!WYN$ut)jJuIO(BocyJ~^pN~zAbMlwMc%S> zQ!Ia}g&sG5nE~y|@|VN3Nz7mVq?pIP)Fx~d+ce`R%U{;xUwV?iBoXI_l|6mXakZYY3*ThsP2XqJw{Jro{fiq9K1o}19u@rVIT=0j(J3vl-zm5>TE3}F z^%D6Mw0PpU8NZV7I}x=fZ=J>eh}s(c+}qpgwol}N zJzE+P)k&KJ#&puvi~Hb#uRk5@Nq6sae3LttiCuMG!?VcL@;TYO6WiPeuat{l7bl;< zza{+6Q+rxQcTTH&^$++e`G(tRZ+*ie%B*i#!)Mnwq+laje@v8&=|^q%GMASFy_9|` z@0<)BN&N=AXFlxR@oc6yzbSvY|JK3UycqY z=2H(Kd*xFFf!_J&cU{RU=DXx~E~0LuX=eXXF5u?z7S`CS$Dhn6qF zI0wW0=I#mW`H4iC8y|%K>EN>*8~z|;{oe2} z-WMf~<;pUhvWXc(ve<-+QZZ%l5YlG9qtL9`A>pIVFwl$nhk4 ztJtA@sXIH2u5bRF_T!eFG5c#_?r;3au|LP|W*}QDgXo?g@hkD%UOMp}`l0<${T9OP zpQhBk`bqkhpY+e&`!#J~oJ2d>p*<1oXi0F zWAo{{?$4k#RyW=@?=<&(UlFC_&)$y<=EdZgs4ri`A6VLLoN?E+@%u7URwUh*K{jr# zd^L24_wtn;_hkZ`cJjFoGRA~1$B5_4SJB7V9OLg@)QP<$vkl4AEsx`+)~0sf4m&jQ z5Y&F#x0Ubkc^x$SKFRv?cv>FCC#&8sjosTizCPGkDL<(`Go+WYF}@cfLt}5`RR6|U z8Y4bl20Zuo!eVQ9{Hob|4Cp*Y%rpJm>opA1`VLf%B3%t(bD~Y_DV6O|9O3>$`tJF^ z!AQ1u_!Fbsete1g3um9`BK3nVEQ4+{HhUBD8S)G2H>G77{|_eIHVhfsJ?;Yb0~3FH zq%!eB&#QRkxSiR^&2jo3*wi`q(ko20%Ug9@YYe3t()kvUtagB*7?WS z*POd{QbXefUR!2J>*#^(n-6Mg8|AfqN^y6XSG8t5@6qO+JO$LdwC<)>kN1`J10PKt zeE6ORzWvZ#&)Zba93!WB7q3hm{Bq>Z@Q)wmy~$;#!TWm)&F2sC`FOf_aUp$dD&l`H z)jsd21)~JB(C*3*)8yV&9qGX5+K@o%*{)SsU8${U`7Af1?tm zOMHTk2cYYB?d=24g_onaMsod$J>JJW_OMQ`n^jbh)-a_dt)UQ_LcQu{oe90-)6=w( zd?RVSnq)&$QtD<6gg2T8c6pvld-y$mpH06b(1VoIyiI=&d9Un44@M&A{U_3vtwRsk zpS`trTYKJ`tdxc|==x8C{=dtdUD`y~LFh1a)ul)2I*5I0?B<}I)w|SGZxg(JWhCQC zuST6nU$#EbyRq;1<9&tko(S6QtIOYF=&BpO<@c10`%03x3@po7|01-M0Wk7_ddftt@~au{>}eA#=k+@H+ zCw=}f`mDU*S5L}M`|*0+OCJA2G`v;iirx6%=E9l7w^ZY=3h`5GhiS$7n#3g3~5y(wlCWxO~fgk5`H+K2AS@NV@o zUK%pR3*Rx4xN-8%=QsQbUnKuQzs>R;C)2!!Kc}Uhms)UI!(;fs?2pvVvc66JPk!YU z@)Tm|tdn=XV4myrW7-d+&&M98p6vFitn>!OqI>WIW}d{Dbv(2X<7&*lW5QeQn05SL3F~Y3_wC%*&in_y zc3o=2dFbYE@S~m0`QX{XoV_8@IWJ_+F9rU23pv}C1F7hi*St1OIM~Ed4?PYeGnF^K zH{krg@u&bIu>(w;GeZp@+SGj}B?P%i9`0-J9UC zf4%bwo<*+HnfH*UMxK#=k7qOWeCB18r_*QSvCK=?T&{P>s_(%~OEbb-vp?i*eHDJ! zVOt*WU$4XF-krj8y;D-&d;xhZW)1_HPbjTd!)ReYZek4|YE+TcZ|wGGPh zUfH@XwP8Ir{t&WPouS0>eX>=fcS8=Z;a!yU`^xaNfrm4(yQj%Hw%(Gx;o0h`8_EK? zdAHo&I-*awEuH*klyWLB?eIPI_daw_inqDWOM7`Axs>vpjjiMg(>{zl~^@aR5b*sDp}ze}0)LgTLC z^V8&-lB?vc^QISmfKP2y)29*wBOUt_7ZXhGzp! zP9Pd4oos*bb$Iti>Y&3Z@J@Wwx?8+^dMNK?qF?o2klL#u7aMI1Y*6&5FVQsI>vvfC zSD+k(F-Os-`uH9)Rog$1v+ZFXf92A5+0ftk?EAIYbDr|i{g`(lK4hf)7S9XmTtoW` zYB!$PIvgKcK)xSHt+57W72)M2H8ki+_f90}hWsFP=iD-(U`r zw9}iEdn%S_e_n0b+c@udFhBYJIKPUI%|65W)uB-zlgHRO4knul*U1N^*@_D`Sic`g6#MEMBwH}$K!vpDKo$mGaJ~w>P$Ew1C ztk$p}Q6QTozBXcWc70%<7cn|VTlTMSy_^62-XdM~(qCyw_1caykKW9|*O%u_9BiiU zK4Q=a;t#fZi^n)>o08r*%L{RNcMoynrOPEM`d&Oz>oL-?)%(Oq*p^GyjXLWpIeA$?_w7=#=VQL46`3dTZ zyX)nL<&Pt*%PN?o{Q5pVdtOGv@3HeWxncP2HM#4qH6KC$saHKRqv4IzzK0`y(be<9 zTUSEM+PlJScL(;6GAPF9_x_#@EwYPUCjLGp-@y2>7&f5kTE-8f?<#M6G8V&H@Y&P3 zC%Sb{G|SJl+(R5A)@5=}{>ro?uGu)&@}k#pS#VGDHTQ{g`W@w}PWIZ?5(C{hwq`QFvq~%r=)m_BNo$o464s3dk@#NcN|8AU>e{;Vp zuah21*8k3D>5}y7B>wUE_laG|^mSL>)%h_`K0kD!TP)2 z_qSeCBQ}h0*`@uZ+o4bAdu!(V{^XsJXEeM=Ol&#zMn+vKfePFTVK*UcLp~-o0i%jIy8p}GRj3)eBaZrsg+!Ubw&M} zEPnGFjS;DbGlzM3&)=1?;UN8NSw|c_kkarTeaJTaeg-sU(vSAGl>1F-$uRkQ1RwDm z>}f6bb2t5k4G-Bz8sz0I<-2&4%6cS)wTR;H0qFB+yPn*#l(7_t^?n`YIknK{`ub2m zd_A!x!hQLawfBCiIXZG_pO~KAHnbRodlojktX&-E?vAaP{Z=g$01$HOiPQxY&j|Wo_^mUL;YG=1nDUm>wvN1z=RosmdpB)I=$&?qtN-n2 zZ|htK3e|Yji2p||Goe0uMh5m{}%`Ctbd-8-noC? zxnKEUO2e(R>zmLnmAKfMUtfMm;|*vkq8%~E_}RL%0{))mZGD=uO!7*jC*+m#v##IW zm+<{C-|ak8u%pCz9z=&uP)GjU?YEG!q1@ZJgcsnZS$I9p{!S|&73<~-Q zeKaZ`^;1hf=g>}lNYAXCdk1B|hA&C`8*J(NSX_UF^mp=9`#|f1Z$xL6lPLdoeN6%D zC9T1J(?)E<=Y)yjRoH=i$ZYJ%wsHNj-)2zLFVrURU7qo+{SHU;4jbh768DZkyT<~g0qWVHHwwNI;?K)8D`&RM5=em%8N4F zCZLnG+~2hJjD|X5QzPY)zsXUjoY63%()WwwJtN(4O4dwW9s{w^HSOdaR0x#?;*$k0X3%D7eM3p3@`gN zodz$pS0{b5XNKAn?2C_h68+r7d6;5f9e$#Y?}eTC`Y>yZO=rVDvp49U4;BP|s4(zD zDdcR0N&FDLDsLtIujD+SuoFKt0{KPTI)12-aitS>Z22Uer-r=YuNMS%T8N$g-S8<^ zPj$l7(Y)1OK1^#?pAY`?#zv;hUF(#0;hXZ0HrDng?;!8iy7s+!;SKp|gAcbb2d&*( zsjqcq<4Y+G1HLz{O?v<*D0`AMqw?w8*TNg_O6_-8{CfBaq8CrzvS<9 zZa6wvSEn#<n>1;G$`?4l3(xzV)GroHxz#4GVld=yXf@G-tz{QrCR z&Ks#ZU#yo*WP>fr3ulFWxtO(5-K&PjddD60Hp@0a<)DLz?_0C5XYv~9lh6D9hYP9e z@?L9;$W?f`>ZO(^+3jz(efWtk>UpBlh0uRbBA!2>wKV?N`M9gAV`fIo7+B ziB8cxpeOTwHGbZ$@Jn-VWE~@2)cmy{^^E3BpM#ly|2Vztf0+HvxVdYe>-g#MbN?0o zVjpuJL|dO{gUp_GB0qFCs{IS`qZR$L@8XvHzTE|1dKCQHGM@BzC70@qz<+2zTIblCCgZ=5-(Y;t+FsK(q~7OkXe8E6 zPV0Br!@r9j(b7ntEzJ9A=6Z}Vp1GIvd-xo)lYxi#p;xY*SpPDO{-4a9W_+95&(&V7#Me3hogag`$m@K4 z8{G6))&f@F26b^BU8eN`{M<+VmL&SAyw1)0bROL!J=M87JbIaaf1c2X^i=0>*~nIT ziPq?5-EI7TaCS}GufMCjXi(ET-}CdMKKQA2K0k#VpX9!tk&wQG&_&O*_4hZWJ9p9c z(otT6{La_N7oOC4AY&=+OK+vK${kcD-TnjpDyPu*Pg7rcR`?(7n|{t7!XC<9Kdp88 zZ_p>%)H`Y~KaEXj@3f76b+%$+Y2dTpIMZu;_dx;Q$HGVT`#a<&UZ1?v-}e{)2I*eakc=jJ)V<3-@2lB{49=;y>&v7Vc)4ohg zz{}i2cfO{aPQMqEE}lUDF7^7}|E|?X@-*dk`Pf3isi`aS@A5W;SRH$J*= z(|`!8>^_o{We<~$Vtu3V-+GV%9@`Zrxf`(wWgZ+QNc zx8eD-yf*3CZsLMsLInL9&ROFQJ->v1e=?{mz3)dn*s|Z-u!%O3$MHb#U6~D~exl4a zA?J7R@ftRBP3AmMd$TrA)EN&dqU8m2$mX4r-Ddo<{F>@-#*aycDu0WzKSG!5@7_ialsCBR1+AryS-lGUTwmgn zc&%|XKjnMM%eLS*#3%XQ!n3ruGO+1$*lNw0oa24O=Bfh@XDY9S)??^JDRgf-)xKHz zs@6b~r^)k?kN6%^o-g0Vx-6FG`+lvp1uNQT7h^2XL0SvKRYT#uf)OU5ai=S9E^+F6YawoGUB#Tzv0Mt@kij<;Xfi z&*hx)uGIdA=RWXF^Ne3D<3v23g-GrHGCVl%uGE2tcap!}gm@7U-SLy{ zo8L$sa=3tdndt0z`gtB(S^L0>huEjw+=!h;&$YGJV9&MDt(KJ5iHdbk!ZUkbF1_Wblc_`ed_tbDJ1vv_3ds-5a3h{rv@ho%65I zr%cA}N}qmB-ubW8r-oopqC0*14SFYi>fbDV3jW_Yxr6jc{=5x)R9^8Ow)GFzin6(t zr+b^OK(C}v-$ajOtJ14)p-=KF+W&d&9$ychMGqdv?)U3_k+GyxYtRWj$28d+cz7&& zFxm5Us>N%)ggsT_Zr!XF+Gr0&`5ya#I)k58*WSMQU35X~?R!$aiyvkURDgb3{gQrK z{gRG`(NVc<^&hO={dKr+pZ&0z5IU!42*`s>9QY;vU=BV@;|<`M4bh^x zy7RjHMEj->aqgnHp*Ysn7?Oi{un+!7Umt-N-apzecIp2V>vcV!VBQVbgZ^y(BK_5~ z2`1Jumv^ye?K`)ycPyXxd1R$ElKkTY=I{*XH^`{U?IXP)S?<{6?t&GkpbwiM>5yx@|Ad20Mm2K~BY z_dX-O-@1&}OB8SHJiWe;K9tgTg_+}r(W6DgO_$bw^x5)W`vk>N%~!k-Eov`)6JNxu zSiA|IHyJ=YBKAq=krDS zv*W9t?!OrHXZ@9lf9QQHerQsk)cbipXRFTKAAQx^u<{i9R>;?1Z>2OnjsH?kuK3u7 z|5C2;9==QaVEduZe;4M!rcCmxx3QOftX0vgH{aozv`14@4!=I&(IKy=`Ol+`d93}x zVRc@Eo^|v02Zl90xSsPV_G1s=6Y4mx*Sndp_w#hdISzhAkd4Q4XpsS4TlEyLLGd(` zJ(0sK>!}qLs_@PuiKbAK1<>B7o!`hD- z?hQG7K5`tub7QZ=t9ux?kv&0M=fkWkv>$j0KJ~xAYoJ+YvE#7i1LQf%!S>;Yl^1EJs#EW;y<>f;=ix`}pyf~LNPgn8ck)YrI&3LhlKL1~i7qg-NUl}j*N2mSzD9_mSnUZyB zrRPlud66wTlRL`uczUkl9IwxZE_&XKgp){VP zXA48u!9WV&fJrDy`19jkq8EuEzXj zmd!6Mzos@i5BuG}%ZpD+iffBXa%&gnm6ny3&(DTDb1O-?nOu#jCaUx27FL&hdO;{} z#>^SlOv}&C%*)Kba>mq|+42NvVCz*@6kk)g(9mb-DK4ojt5|GEj_XhD@(Smcm0StO zxI_EG(xS@RE6WP!t0Ld4D`r*{7UvY!EbzaZ{z}T#D7$tcMx;MGZZRc6)ehykH6=mq z`1&!b;>)ATkA>9D|0Ha zv1?5)N$yYS=6=GwqW#(q6Zo{CsHn`!R<{!7Q&>~6u(Zf2FD|W?pl6lTR+n5|vaq6x zLn!^(cBR#M*cz6s@fMceQ7C3O_lp;o7t-U5^2%D{yKK9le41=&Dh5+qQ(|Tky^qD4 zM%B6UNV5vd=NtcI@B94Cs;FFiZEX#GXBHP5m9Y1Xk*edo(uE}z{@5u#_2+tZ;i6pMF;ae8VO6Pkk$6kpM)^@CMtz~AszRhW46}5ViV>EZGs=rGrfRo6 zq$aIk+Z*C$TuaZHWn~pbQPbi6yt0bh4L`XVC0yktg*COPIqq{-$-Jr(TsyNcR2#aB zD$1*CW|qz?DOz0QmK!@StC(L}R9Kd6d|XypZFNmaRkq_xEM0N+a74CzAx@IkQRkDS z-0!=rv|0*c@B8xgO~>Vr;a~ndV^Ss##pYq?t*rKatL>-ACpovWL|Pr|KkD}a#j*9P zD#}WXKTIsQesX4s)H_ONw0=VQ?G;tGlvEK2Rhd8fUs$*(|CW-)`Q<9qcnjy26c=MU ziu-;or(edqy09`jj?a&&WB>Ihh$BpZI1&KvT zWeK`gUbHyBv^-xyg>s`x`GlBCTz^%5k^CH__?|U-ABux<0$1P~y6>+{C@`8Aqs+Fq zCB8d~x>1c^jqfcf&#$b){pCwfG)^GjimHW$#$Sj$RJJ<*_L9>13u+*@d|p70k+(I< z{K6t5VEQ%X6_v*8XHmUWfsArOY!IaV?=`jMFh3U83M)!X_oegmam|5&h)zG0!$igT z{8AGuU`9<<>0I1a&_+b@XUCVHo$C8Fc_5rr{Qb(Z!lIIeCFMbJv|VZS^@UY4%1dhu zKV$t>+*VR01NVCg$}3B%=)1h;(D($4D8*5~C;BNZuV$ocD@_64 z{ZMcXhG8-}QRBA{Ou~e5>KT2v0lvfzq56fj zH5GZa<MQvJEL^X8RQ z+4Mrh^Jn^zI_56Khi5G)EH5{T7%k5VqB=|1-kpC^m*}42R zOTzs5CFLd96+(H5BUX{f%jT4Z+xJj zv@0UnARE1-BwG?NS(4$O4GHLzWv=YVbmy61#{$55Wjnr~*k+ZL6qe^yl$90*X{?cl z#`pb=pRl{Vpsm zM`2CMZ90z9ulg7aP9{A%B8%2u78xF4j_Qwq_KAX_zjvZ?pN!ucgh%Ck!s`uPHW zTkAM!N}$Y8LcdOVw7FA$ZDnAmzI)A47{8XaU$xC=i?tBTj^z_#acy-z(d+MD|j$HE2!AxG06yCMOHSdwyBrVqBYP zW!m|EEA`R8dF0>byFZx82Si^m8-MSkm)9pJ7&Z#Xe4 zyhAw|-v4m@h3hca5w5>-{f+DITt~Uyv66PTuofx=i12i1Fk2ye#q6#^&_qyb3MtmiEA_0Q(RATZQ1uAg%KjO*uIJGlOn>la)vbM55%CD%1mQoU=ra=1RnHH#~kD~~Ju z;WRIkYYJBuS2ovFt}D5waYa_7d!aSGyb)X@xkhn~<~o;)Ju5H7rG3U~{NiOGdSO-+ z`mDc2KA3$ueYAeg?k8G>@b?SRVY8a?Jd#I~a2Hk=u~Ha+;kdbeN4F7ZE2=KLEdOe9 zJ2~kh^jmpKFisHxtfD4FDo+X&s;()%>@vSesI0JReo0lRh7cFRm6*lam`?`Hyz{OZ zPgXbc!in?qqg#KNKygX&)z_8fTvaqRf2ye}dzO9r8EfG0P447+X=ATN3$qrKmdu-B z43c)i_nZn58~c8PS(*8Z&Y;{cG7U{V|GRN|eD^)Eaxg8(f13#z4G)RX0aw8`;#L8-m zOUSvkQgzmcxuoN4Ar-P}TI57h#$8xk#@=rEEl$>G=!9RalE@{L+n5ziKv$(xU3?3^ z*H+^8ocOAI@9NsJn$oN3fTre;`Zt$q8EFEK8OP9FQF%jQX^oa@z9gv^luw0?taM_x zOh47NMMbO&J%6V;=-h$anv2Hg=PJV0me-IfRn}A~Flf~`<`*qmbm2w$ z-NM3KO7aP7RnS<&mM`TO=3mWx7n%L`Zo8URQj_Ip!BZB;w88VT3d@S}NLi-fF>WE% zu&kkeuA67a+Fx%xjZ<%C>DJD$jWGu+QMQ_C{8pA$&ZY}EZOZd~ zhgS6IqDo`CUp%+^vU7`X1a1t?FR2OHdcl#w*bs?;P7uzm=FQdobz7hP5x;(XQ@33r zFQQ|yfGP^j4LB4!w>HE&ytb@3B#%0`BsAYR)xd?a+6Wj;#WOvBzL#D&F4K@1`#vS% zdk#zT(%OYVwOGBJstT1w`{BEqM!!$-Po`qu{lq->eY_bc_I*Oa_lvSr5WSz3&|g+U ze_3(;T@*hr;!%#3c%^DK7oozdCNbi{ksgBw;+h&nz{* z$Di*d7hW7k&%_JIU0+%?jxPQC!FNcC`wj_l-zRzGLzm{xzA)2@&zoL4e&VHhfv{LMWf%_djmDKfBm>OE25#`Rq+Z{blW3 zqo2{O*321MIoIV9^`Up&EqyQ5ag12GU(;@Q_~WuP@~JdSS$VEl z{f_rUQ|8Q>`7<-8Or4oO^_pzH=Pn?P$%m@gR*E6rFjebgw#Kx9o>e=yMAVIq4dB#@oh9Tz{3+FUEF9SX0G3q_0odOO6>P&@cRw|26jAcmu0%vOm8GfSnFo}>4?J%4E0 z(|6CBrks=X520v-)} z-f^%GUN`ikQ|;5igWyVe;U7a6*aBwE^t`>`81N_<2GgHB)jk_s4lV(AfQ{f0aH$+L z4}7l%uK>4!vxRd#Z~L34+K1u4B49T2Y6a(jecn3NUIR`7SAsR*M(_~06Fd&`9HEzS zjQN4Xz_C0nIS0%EmxGnyu;ZuN>%kVV8H|9tK<{nl3x>cxJe(2+$AJZ44p;|Pg4@Am z;GlPy54Z|!0q4AXs{J51A)~!LV=(am90S&X)4`SC0&o+!4BQPq4ju=0fW>FDw;uxg z@sfi+Ly#Xh23!t?!5!diFr5b$E5R_h3|w+ndwVmu1>6B12P5Fvvw6m2DE)vTuo4V| zhrnXc>(k!81Y8fU2DgEmz*cZ4*yo(~_JiOU@B}y=95&4J7JyfP%fLC{K~^eXtQ+2DX5W;2v;0cof_VX7JEk&OrJBYryGX3%CG0 z2rdKj1|cW#5V#W@JGj052)G379im@wG}r=e1eb@n4{ij;MdbHDDNA56%X6@!-u8Fr9~RR)eF#ZQyJ$0zM9Aj6#0kIB+Eo z?Bs#lz#4EbxDuT7amED;z&&6c*b43fhmEHE6UYZ#4K4t8gLPo~}8vE}uj{z*XQJa3@#?dgmbzFa)-MdEh~C5t#mQ=mkfE+rcZqL+2w;u+P}` z_C?@qa241HZqa>k4>;~q&<`#G2YmuLfRn(CPs2BGG`I+y1lEIfU^BP_+yx#2kAfK& zpjTs%8#oC(0TzJ6#z8-L1=t8iz#ZVY3uy=Dfn)Kj3&3n}2{;E_4K4wx)Stk-!Q~e-E_f8I1N&XVxL`K81*`=3g7x4Da0?hZpZ>r}VDCxT zH#int3WmYeU>>*$+yd?fcZ0{lLtyW*jB_dT0LOsYU>;ZuE&!K+jo@l9{WA0poCEF! zE5YMn4KK3}eF`~(VXy_94ekaj!9M>6|G{x!GdKs_0ak($a3kn_8vcMG@CX%rCFPH-C-0e6GP!6V?XF!Q+py$2_NyTO@Y?@Z`WIam+w1)IU}6!ZX`10DsJ zfPF~X>cKJKdN2%TWFZ%DG+3wa+3oG?!7^|=SPvcqTfh_G5irE!qW4tVgJEzsxBy%N zuDlYz0&W6#fIGnmco1v_Pk?<`7xkM49pD%+3|;}w2J^s5Z~?dsTmm+N_23q8J-7?p z4ju)MfPKc(emZ;s^T3(la_31$TqPE%fOEhl;1X~>xEkC7ZUT3LJHZHe5X{M; zpGo+`T>L0FArJozW?#qrz(wFHa5>lvt_OF3+rS988*BwnfP*eYU#`b4!6o1va6MQ9 zZoGkhz}~Zw7dRW-3)X`t!0q6$%a|890UYyrPN#Ja7HdqN(f-Av#FakD%t>6xD*cX`(SO@}bTIuh@BAU8QSb!VXEJf21UZ8_;B;^~ zSO$)p2VcMiU^BQ1+y%CPN5P|DpD=nlpY~ujI3275%fQhKXb;W-o5AJaE^rg5J)Iq3 z4R{dT1NJUOZ@@`lpDEA-jsX{eVekl80QS2X{{v138^Ho_3%Cs21#Se7f;+%IS+oPk zfPHR(K5!?v2pm@if5GWsGgtub0M~z0sB=l4{$6v8=MI)0_(tf@NuvijDWkq@U6@PtOWa9Nx$G2uo;{V z?g1BoqpP3;oC!V-E&_Le%fSe^9&81-fPJPx7dQqy4o(MqSHo9u9JmOqyAA&Ut^zlK z8^N96p4*9Y;IKv5!F0w0uK?@80Wjo>P<1#AZQfIGmWU>S(;E(O!Sirm2o;C8SQJOnNU_1_5AgCTGy7zR&(1z?}A!Dnz1 zxC&eVZUL8oyTJ9}QLy*@Vp7E(iN9ho9gwa3{D4JOb_n({qt4 zI2!EpAMg`g3KoOS;9hVicmj-o{qmUa*O4E%5u6R~1{Z;ke}nmg+rVw$E^s$^2s{Gz zsYlFKvx0T2ZEC#28JHQ3tad0^}`@J>J-7s%4z2WFr0s908ff4WuuocV$Lk}T$a1OW}Tm)_emxJ5EJ>Wqw<6-FdB6a}|1E+%% zz}4VvuoTBjDrU*wye8oC6*LD?x7#d;$l7JHT<^Q7{J_^a%Zc6To^f4{Qb( zfIGnD;306(ckshE(myx`%m%|?88{n!99#r$1M9(IkK%{Hao|p{9y|)J2QzMhUT_TP zHPR0l28+Sn;8O4qxEk!U20aBQfqTJKU`9T207KvoFbp0A3&1gJkq=k{HiFB*E#PW! z7q|mF3P!+;0^|sWz>Ia+3pfFs4bB8B!3AJFxCDG0TnV;-o4`Hb4)7>Ab3ObiM6bXr zz`fuc@F=LC2n~CTJQ$n~ZUT$J-QW`N2)GLDJs1B1js*+8OP&ud0n5Nu;Bv4TTo3L5 zy&~xT9`u7_!7x|}7K5$eQn2iC>VwO`?O-!_5Zn%)0FQt<#msvH^PY!4+z8*n-A`c8 z;9l@J$a`tqhs|f+;E6KyViWZiGOwrT58MV0DyQDl*c-U?S;hlLzlh#fz-RCZ#yJ5N zgX!Dh1GxI9=yeHv{TciLkN=!F1ZKa?d>C)(PUZpb{3ZMbC+vdG1;mk8kOP z%DAP_^&0jBt^`}a>|dj2H-meS6S)1i=;JNu$L|@JdDQ%oc|czu&;LugW0se`=wm5E zdk;5dgD9S}f<49HzUqzTT143uL0Je4bFHV0lz~HnvqF!ge zHFwnRAXf|JHK1+x#h{($m7c=5d)ar^ef~tlAj*1Erq7}+E1+#0tZW zaIx3JpSv%`8!BFgDA#p}@xx&H!#LZ3PcX^QE*h87Z#w-NerKLF?vc~KbJ}N}`;T*9 zG}cpB^gNRKos_xG{TnUH5r2KKpmnW2urvD|(uUX}?pIL@Jqx(}eu~Lhcwy0^P6m0E1mmbSFT z7VG!ybM_f#Zif8Ux4!pX>wDi7)*8;;`+4?0`|NY>x##|wJCRDycD_}dr)21R9ej!{ zi}jTh7|)G*Z9#Y`aR2z!aaIFQ0$vbge|1nhn}HXe#J&r75pbTrWghkX?T61H;4Q!# zlz%-pZqV}##b`!hEPNaoW75Y}K`|r&&j4Pie8{=#8pbJ?^iV`O@Zg-0-xBC6q4z7h zkTnN!GZ0(n7qKoh5yR`ac#$15YGxl=^Z1oHy9-g3Pve)Tj;|YdC-4ka zkBnc>)tS&y4!ww@7yFyJQ`R%&I+XJG`73vy*KqEhq&6R zWew#T{#&qZ(gmdK7~R(m)@DS4wh*rkyixF|FHKYOWWEq@gBv@bZgT<_!wCZC3gGGe z569EM{+9tf1vvTCc*yY&cp7kOo5uD2OJk;r?P=}JZo*4| zn{*MA&oizK>bFt&s5(g>HJduQ%-_YyCYBs*$-md?7f0~=<(YSdBI1-$JR&mVn~r}z87yh`;o zqP_<3{MgoGD|lb*I0;ViG@u@`m+@?$I-XAOd=VTEy}2mNJWsh!j>Fsx9{Hxc)4I@) z%`E8KAHuVXO0V0pUe9x6TLz9Fw!wWy+qPZ5tF_8q{RfDdCkDBpMLd{Z5RR7c#@ZJwYyfXhDQ z`7Zbvl6X4CIB@4NBpv!r=!54i=P{%hoNjRZD!!2YgK|;Dcsk=(peKo2fS870r;aUI zfxghk7Shx6^uts?9YZY1nerGignEYKr;dXL58=UMlHyC4LZ3E;K7R^*DeHs#U$!6m zA=K;C*F!%TCZ1N-JNaGE4}|eE0DXTL{V4Q(4n0&NVlJ-lLGQ=59{<7X&1A;I%>iU% za(#ugy?a@}hhB40+}q(p%nZ%7AF3MGPqqIOrxl!d*mht$XuOB4*LuNe1t&O1)V5*h zTc8gfuffM>^9;s z?@9!ZORBG(^(V_!KRBbXJz1{C!Ks;bVy=8=VvdG>s$8W3FSz%_`@-~HjC_Zl;w^0Pg|LaZ3MstwZDTFz{jE#6^t06})!pg?^r3uy#DZV~tR|dD0-bLFBTdqsS61*nP0^S3hk0F8c!eZ$Aq0d*ob-#x^7qJVR zaYtOT{j5iL)IM2f@LWVcdQ5iV@<;jU2QCsq$2RGYLq7pK+NQkeW3)M6`3u(jK}m#u z4Ezek*ZFC%iq&|bHq&>0vQSqw*2M5B&-HS4dmC)mpdyhUe9FOVJU#renEccN9|Z0* zq@T&_X0EIdKkeXkCx*ZFOY!#s9{?WQ7TO+xz90JF`9yNg3a?KHqo;Pzca_LbxZD$7 z2z+n~+z-40_%QHdY$IQKU&qupx$dR!JtfQy)FICu$+ivpWauM8bM!fFOZE4G<2?h< zgkc;0<+!^pXbup24^9s_;qpuV=(}8f4&P+g1AQ;_;pQB&8v#BT#!f82 zcsYrkANYvFj{IdnKkU#`9EH#iK_4!D!YkO{RB_e=ABTPLI3>GQ)}tAeJ2@xlwW@4C z@Cn!j_p82-DBBM_`OHwiq!(u^J^PjO7x_zoJ{|lr;_x`q*I#7&fmZ?Nb_T|1A@sG- z_bR)|{dfm@8OIp1tpq2{A38orUk7~(^ucW>eM=ZU#n{REbZqOK1dqc(;8|h(jj^75 z!!9rnde6c0bz%5PVf0jgChMoFzXW(;7=M*v^nUoOWBmZO5tp8CcLwht^j$!6-qgn< z`i`Ig9^9XPs79ct?{em2TlXjS`;g<27oC{~PH_IIok^_sE87!}M|q5+2=s$KU!feA z0my*g;C%a`-vxa-^iv&Qh(q6DtOlph4Po;5;_Bn1P<-9sv?YZftK?%C_$Y91=)Bnw zdA}NyD8pxH`YVYnF20;_T4e`k|_3eXt$+ zC1g$30!{*KTfm2Jear}1ll6ep2u_CL$oPWSWFx@afrp!SWc$yd!}uF z@7=fL1!1bA4L%CsgSNqweW2H(r0WHqUlIP989(sj!1I82VLNCXp^nMpuMZ6{r^o}v zo(7!yg4-FmZkZ2-ANt__C4MREbzb#-yejC^z^@F7CHT3SM&LD5#6fNC08ag#9%LUp z_YVMX4inEP>p7mleZ`0iuz!Hh^QO#g@bNVnIE{~Rxu<{IFzT12lI6Z$1JZOEtMNOVi%l3npeqLz3=*MAc6qh05N8}Y z?c&(Xx6zTjPwL|W`7ec^UT}i_lfEj9p5mqNdK2G|ZS5~OUiuC=;pqzZ(RD+z>w$g* zdcB{~^UnGhO!x@!QQ#TMP98&oj}H;(fQa+MpEr;_eYZRxIQLV?IX$%}A3!ni;C7N7 zeFvTN9GA2Uj*GsVUV0L|8F)GH0u{IHKfSIc|6RZvPGUaw{w_|K=hbyTRvYu7dXQ!0kxk2QLM@!3#t8HRnFzMIH1m3Zxy+ z^kLEA*eA$OCHzFBo!n0m{3L@T{XBT0AIfbf{G@|J+qxcoJft=b0#5@ToI~P{K~L|; zV13A3PvfKyb!P$Z#I|Y6x=%VM=Us$-68tjo5r-V(!RJb4z4!F{Z5`lLFADWZZR=w_(lFr9_RvcTA^KLv`l>#q>-3jf7z6^Tq zhZEZmywXu0`DzTQIb2^kFIdjfhI6XE79syh*jg~asG zYX-qOAgGYOT*76l;1kwCBPG~O}VD;1Ct%SpNI6^W|^ztbBJ!>Wx$CW zZVV0sF9lwyaA_YrXVd$A4g(K2Mky|O?@t$SXI%6iAkt42R|)VQ;8Vr53wSs1sp4t^ zo^Z+3adiSOEe$=kQeE`kp%UoP?7+AVzE(8`ybAbKam6pgK08I+l#g`a)GpfA`-C5x z1<+G_@|9lCtAT6GR9^)+BjALan+dN6UVt`pPUU{3`y z{Nx^Q1y8FK+aP>RfEyeqZI3}e9!Bq74h(u{KPRz%s(#J`PW6P#C)HO5oazhqOZr`` z501|deFN9WInu}U&*=3H@jJjNx-_(HNzl_fqza*L#kTn6Vc!QH z+30;H_LZtjD*K z=cX*^`zG}#90y7nFN1&WTb~-f?EKJoK%WFX_njWIA#?2@ zIQb{>Jpnu~jPLk7tm{tVo8rmkBBc{L_ZUXu)=nI1U247oDT!DKgz{9N{ z$yX-u3E;u;lD-IfZ&qmg{LpV_eG#@1hn_Q0rJ6IzmfkIw30vCMvC?)c^cfC4wYLlU zbm%#TkTFX55c|u*wyraH9~LWVjtR6;#-y(oQN4cP+a2|iJ_Gu4=$(C7$oedBD1Led zi{hYn-_@TaPI@O^<4JIOS6(ylaD7ZVdWT*Ua6h(DZ^%4M@s2P~+d8k(*D6(SlF~~% zeH#%J;IFoGkzSiKOZ~5>u4fJk4k$qyn(YyL4VDHQmy}OU}!DENwsfV84 z{hEnw)D<$;DfV{Y$&Pyb(Dy)}1br#CLt+ft?~a308phVl#~An@Y?Hxhbl6h7SS!fEP^SA^Qy3^dV10z)P`hej_f>u3WlCu*bwz0(It2F=Sni zV?dY~ilMK8p6WyUWF2~5CtVfr>M3F%ypjE8D0?{$g74RK0B?pp&s}m%>bZ;J8UWtw zh>P^}PR1UGp6a7_GkQo=dW}JL^zOz!;LdSO?{XwPabOp?e^Ly+vwo_l0(z={ zs(R{y_dDt#yH?iIwlkkpcMtGzaSTCEaX8~1XT4wflj}M1|8(3mmdFFjYC%bEAbQjBul&iC>0#N_0C{7U%R1@2UBX#idY+!;d~^p((u%N_Zm zuN+sO1V0YE?j-ekF_>zB2j`0XCb2$TyrjzmUIV)_Y@^+BEC#P}%YgTs1g`<^%?qCo z^4|iS-d`QAe#%ida1(fN+@v22qtAk#-V54rHGX#j=aT08(<$b@Y1xOiK7Px}-Q^88 z@7c0<^S-jiP5U<<*l@7aea-ZD-wS#n1neme`g(mA+C={Jcnm(S76Tsw9`3l}he;Li zVc>bnUXG{Wdudch6FAhaTE&rh#TV!U=Ww0C>3!anK|X@7YYYOX_j`xS8|fy1cLJyJ ztJ|RGNy=a18sru@Z37Rio6?~tzv0?Oev5!N<9!%huY6aTp8I^jD}lG)gzwRjU;L4- z7P&nW3VsrAG&An+WT9X&UDw=1{7xS~G?M_;^QE!#WSzuVPd&>fAEsQz5m z+AE_pBge-61{cTSFMoaDTBBO4lfymUoPAL%_eUJC@){#^_S(5ko`chJ8lrc{+|d7K z_TW1?N3sVn`Qoi0Z>b8a4Ry6)ue~p-F_H`qPHXbe*Embx>_0N_&R{kfXOo-ky>@nE zB)y7KY`+S}!&1Cg5Zh>vyr)Rj@3r<#%cJK#^7lmK>^B=dR~#M4c?-8Qj=cS5zpAiQ zKMt~QTBB#bNpBM>d~4unHnFq!M8Gdx_QL--{FkbHo#=mMqbKixd%u~pCt~%nqd9Nk zfHA;zNwz5wH!TGL^h~}+CVuR+koSa8)NgA=sA5|JBRWZvo|`o(at*%c`%}& zVft=g&OUF>{wP;bRR5c~Z)YDxj~#mlFIJ&8*{&cO;LLzbN59wTC3>+^Huw&-5Z5YQEzIIE@4kT>M74F*vD=E?|smC zOt>0tU4>_@u}yz8)>EJxg07epyf#Bzd3cNxfyl9F`vDb!=gY_Y+ljYEy{m6U^jvf( zqQqYoKIw(n|2AR%Kwp{fOb;0k)W_(ey_S3k2qWT_6Wa-MQH6iwWqgm}N79Ep=1{Ko znT>c4Bc35!wP#xXUe8TOkb7iGjwkeWp?bWGSoEgAoV_0Sqj-Da^Y~`W<&^*3(q|z5 z`==f70RZ)8rRwHZ4|_B*Si-ooBDh}}dDTRZ2ioIO!sG+GDE z9oQ|fncZk*A2f5`f|Rp25~!53NtW-4tiJ~Re{<+F?y~PAa`sI_K346uQ?tLbX>Sa-HW)Hlbee7s9HTsC$Pwf>-^Jey2d90hv^| zK^ZSY6}wO$y+1wpdH(+$Z5>8E15^*{q(7>A9J*fU+8lEQ%`-^w0rv_TfCpVo#=dDQ z8a*Wg*I*33Lw!q6qshIk*rCa>@hyg6N;m2$Ey6XJZFqMo##3-k_e{&(XXfp9VU#vl zyCaZYee@rQ#sk@*gK+*y zm%JhSD>ByTS+zR~BQ!@&uX`;_8#UVyg!?;Z==QBTH> z|Fg$J6Z&WLTC87ijOsVhKTlwBfn%WS(EP{eQTOcjH=LQX=Zw8`Z^P~p*jIKmp1!GR z_Q8bQeTg{-PTN1nl^vy~3M?+{;p)H;E??&%zIx<&WTkrlhIyfkFEE$!A>m32j`!o- zy`G||BiZ&Q`j>YkTOJG2;3p9Wx-=ZesLg1jTz|?Y;xssKkGa=qg8#7NAsu|}2$K|0oCT#q=xEucIejG{WKU5EUSpD8Ojqhaof1G5j#%HNZ? z_w;>pHo?QOcP3|_%}q0N_9rx+=E{r0UOJd#UpH`c@TSJo_9ryWEW~D>+RVjfHu18X zX5N5pX@l)L)Zc;nI|}f=>}ja~Dp`M@acIutr&0ZTX6>Dsvpb<-cHX}D#<*1nVlUr6 zBm1DwweD#4J2;Z_3*x9v-no4S5y^tM`)3@8J?JApTaUg|vVTU-L0?%Etgz&{?&v#f z_Rl!z%RBncl~m?JeYNyU`OZh~dal8`1>2@e#v{)QWIFJbfZRQ4@s2bum7@i`8CKDbGwzrKsGTMT>5P8+XEBId+26YnLfv&=!S7_`h@uQ+a*onFxyVYYciZ-m+874?xl2B>w> zDx!!IvrJT~ZQXEZ8If+53wlv4vfwK;YYkD2unoNLZL+b1Iej^0>6h|*aIO(w27eV< zV}?=VGV#*m2FfKJgC)Men3I{0j&fy=nZ|%S1IK7j!mvk-QeQAjh7(y}?h>+NP`|SM zAAGC6rBGr@;B33uXi#4$+tZ9#G_BS!8f62eUR6i#1D}H@<@xf>CYPu&%rOJ6e}iY( z*%0dt(JU+a6!z0g%_^f-DpA*Dqqq)Rh9O!A(yCw=$l*-GTV$3P+sz8GYtjM85ouGg=w%ND|Z|yPLHsRehX4fXs9&Pq-664Y4$R^PhW8&rWwbRY|GSN5PY$?Ng&diQ7 zG2}CQ%kbNT=1`d!jWx&0@cV;i?PgIOXEtpXJ#l9HW>Ft+c5lYJ4$OhgqIsryd^6rh zV^(j$H?7TvEn<9@*}4V4255F}5w!_s-xkrAU=D8)ji;I8Tg1?5X5G!Ab&lD5vlyLY z9==(0oNo5qEUFXD!J9=-qB(lAsGn=rl#7A6W@9ac04(6*4!!v zE;Ji&70qd8+pS_G&Fs2Wv@bOKZx!PU&5>J0*CKP`R#AJAS$`Xzlr>v!6N8y%O{J*0 z%pAKzv|VNn-+`wm%>FyX#ARmp9inBKdH4?e#+%u4hZtXGHbAr7thqzGhnf*KQyKQDSG+E|hXtK=~XtK?Qow&wp*6b8*Ip)~yIIlH_Z^sonv;TI{mTPuH zlWQKnT}&3jA)GSyO>4*5=p_F|o=V-XU7^&Hf#@25xpklW*e3SX(bQTXu-P%gqL8E;nnS zS#6HpCWcm<9k+?*HD>pnqGyeH_)amp#%#G$G+t#k+$p-RGHdP>$FDNSDn&z~Ib10^ z3(fvYF;-|cR*IHu%$j>e-!Q|2p$9G}oIg&|GgefOEZBQzdGO&9S>h zd$Bouw-_uo`|lRDH<;abi^DgVhoQN_Y`I(1tTP+#7H#Xyn!CloI&4KJ z%dfas$%+zY?2^Puc0wb~19K=!6FvksJ zz@Y6>n%~-8=3!UB4|sD*p{=JwELDo@o-Pxwz3&P-LXf}9jPz2o*Q7bM$258kv)XM; zV1mPcm)v%nHKtK*noXuSOt01*GKsF^Jvh&pjY$^o$44W3Tt>gk9ChJ{10qvs{(Rji zXvOJbL!>!4Pt-*LY>qPVUV&lS9FH4aa(Pqy)(GvshV2s&4Pc%-)X4`bLZ=PuIVY3xe-#jtqD}%Gxgtqyjc1B{$d~tY2 zV()x0G{fILU)0C>@zbGQasI>e@$NPMm|rx<`;Yta9vAnw@h+Z^A$%rIKb-glP1bbrD8mgxL`(4o4!4ptk!` zAlDhy#)wPQxv@>-;%qu@4;xj@5u(>^;w{_5ZnMiWx~D-=*r!w$=Sq7?IbYTqFdseHm%1~uBmuZZrEyV?Q;&EBXWjUACT-I~h%4HXqeOwN4 zInJf;66M#=Wg3_HT$XZK#brI0tz33-Il$#8m%dAt-!v`@xvb!_p38PFd$=6oQe-Oo z1THhUEatL;%X%)`x$NU|luO@b%1<(v`COKBS<7WBmpxn#aVeH@99(8`S za@oV>0GFd&Ml4tU{9I;mS;%EMmsMPLaoNY^5SQazCS-B@xXj|Rn9C|I>$z;^vV+S$ zE=RZ==Q1Lj zAuh!#&IgwnTo!U!#brI0&0KbIIl$#8mm;6r&t)2ySzH!#S@+@JOSFAoO) zKl)ciH-!H`{OR@gQ@>MAwEVn7e#IgG(jgyZ8Fx+OpYO-YQ#8x|B`QvN!UtW?TWW2M zOXu>>&n2F;mVYCR)AdvO!%30+!_WKdpp8)u)T7j*^)9u6OUm-EgB{~)uKZi}p(=4z zUjE?}N&e~Vjl8eoQL6x4pUzV_UDu^Qx_?Q3vsEFAKdS=J`mD`L)^XB%eCZFTLh?`7 z_uo%d{MBWO|0&D*OkX{r{;lE^T4Tj;M6>DY92T>51g6@PR#?S=7Cf5z^QrQ)I4x%9ym1* zoSFyz&zT2C{uz2-U{!AJCH~}VH{N+$<(>Y83scim(=J$erxX`{ZqcIDwDfaXEfjUt znrqMXFG;;9b)kPz+QN*qi_$KVKeV83u&CQ4HT;mpz$zLVco_mejG=FqR6683mXj4- z9A-I_0mTbI2_$>-xJL@~}fT zx2pOyKgl8IIpi{jT;q^iSk~h`eVg(xe?S~LDBiAQy?@lQtjA|B%Q`>9Ea!9nQf^iD zdi++itoe-&x!oc6IOHLgb^jFKru^&rnpxI2l{;D1{XOK6%^k{K$CJpi=4UzZVwNkp zeZ3C;D9Z(mXI3cx+FvQldVlF-xqHe7~-b;9G~xV3fIS%43@S3VwOvof7rnvbnquw*7X-{CUR`K=tsA5^$H#+1FmbHD!7enpaSl0RPV_C;P z?2yM<*7YTPN%_=Oh0S#n=8zSWaQQmSy>a^w1@IS@B01kNAp`%UIsd zvW~x=Wj$WHSl0fJv+QSk@1vpdr#s{lmi2s6Td(-qzLjO&o=%6{$Fhz${j17ekC#H0 zwS5`OI^KE*-r~Uf9QZKHdOk>eEHq!$EEjY82UyniA7|O*r<_LjgtphWSIIiQOqR8M zA{uQrGMfW!W{!#;UmX#M#Pxt!&6uCIw@9Zx&UC5(F;l|LO{KFgY4;*cv? z*5kX8v+8fl|L=}S=Rn) zSl0fUSsvziYMPY2=8v$P#JKm6!u9@?$+GVMa+dwfuVp!% z$4kVM%6|v*yI9uk>1SEzUwkbzo_L3x%(9LzpJg3i1+zGpvflqHS#II>CVXA-b$x{_Yx`=Jb^NU?Yk$Km>+vq0R{pZse-_KS zeZ?#fF`n@a#n<*lEbINDisgLfcd@Mf4Y2HIe4J$+ufJ9K*ZE3!$oUSrgyjnM*UNG> z&(8&I%AekU+gX-B&I_BaZz(*T?Z;Tw^+$YL;W~c5L(Xu>g)Hm#R5|2kmWy@!9k~BH zsy_K59dMG{m0ZgFT9yk~?q@lJW$$yL?a5+Ux2K3@J)T=w*75c__(Lq~@#TA7`PcrE zSk`!v121>TyI9uswK(kiS=RYJ&axg~z86&ey8R_AYknomn%~H>?*9pvb^S^B-YWg| za{fkH*6lODt8nc<(IKa^oX+;;4!oLW?XSUsw>ji)mbJfe2k!e`XgtX*4{-hBMTP7A zGm&MTk1Uq+nP1DYZeKIYe#X04*7+J?S+{3`WxfAx?@;y2AN7Kd&X<&|^Y8CevX_r< zDKCe{o6oWyPgN}I`Rg#tI^JFf9`QrvuZ81pV>yH6VV1T3_#Y|0ZeJ$L8sE;cuD_LK zU4NGYpI}+n-`u7A>-q;+*8U@239UbkWu4zVmUVxYI{39L>*L8`mUVo+4*nR+m7I_A zABWao&$1qW-7IT=gATs=6J@W*S2D{w-aH3h?vU$P?&Ns#yOlpZUfNjJ^>;huL6-B_ z-v6qyZ{_jT^O};i{SeD~{3pMzaNQrp4!M?P?Z200Ki7AhW$ho|Lzjr==d-N+SFx=5 z^$xj}W$nL*W!)bWEbH-_^ix$|2FFvvaw*H5EbID@v#jekf2QoUzZ8dD#Il}mn;m!$ z%X<8cv8=~$#2d=LuFuc1#?u{gKFd0u3Wt3y%Sqh6HkS2#Gx3Yi`r?17WL;k}%ldq^ zs88X#zZzNA`RZ}t-d`!c#xq&gr#LT`cQ-4LIacmgSEO z!KS8P*=v3i%R0VZhdkln$G@fQ1NmWD=f99;-M_n7*8baA*7bKg?2oft$?YpWqUzKB zYgtZbypv_^uiwF+U|GkL{I>F^<0)oY+gGrx>uY3L$KxFcjVGOD9ZxyS+F!LpZe&^a z|6!K3|Ky{}zmB(v<#=vyxkKK?vW~Zf<#OhGk12oJ-p{fgKQ%1pGryN*9p4Dc+Q09e z(EMewT*dYsEbIDuS*~Hca8TKou-wM7?vFv1(;4@@tN3|5KNr2HWS!sbEbDwVI`DRu zb$jFA54BHm$axOAgk_zNDwcJ9EiCK(E8{nz{tH>w?W=ak?JQ?Z+MoC^)L#nAnxD_I&Q}S`x;-r{>+zfXd*x5p zU&wMl$DcH!aP2R{As4W$+f&A}_E*QUj<40h?_yc|?`K)ZSNu_E{o7e?<@n34%Xi4-EbDw_9#{67U*eE=v8>12kVDSALgGGU$>`#W!>I7mIL``S?8;lW!+z64m{y6%D?7kvaI=KEZ1;;M;y3s zRN3qN4705Jdz@t*U;JMcU*pLv>-JT!tod~gezSu=;=m_ZF6DSj{-)~FTd!?Z1s>U4J*rMQooi7MhO~hn&T-_E*kw7TdS7 ztm_|e*dJ$E*Khtq)u-+ASl0fxJLCqIbw1iz_H+GxEbIIXv#iHc#6MMibS81H1cf#t%FL;aPp ztmCh9$cI@jW&8MlhuSBztn;16vi7%~Un&Hse@PheTkKY1+c{FgZR z6%M(^Vc+hs?_pWTKkTp{ckq1^Dn38ACyiwte;&(v{^?=4lKGjRD0^LBG0WP1JIlJg zjSjinVL!yO&d0a|kN>Z#uZ-)ja>#=$>v+Z;a{Q;tUi(jR$ayShvHu#D_5Re#avtNy zS*~TdQm6~VIzJ;U>v&8<;d(r!u&ncy#j>uC-3E$BKXnU_Fd|6NZyep~5_8UFP`)rf zKosIF#*x*pKn)!N*k>-k%{nUnLiRMVRT=MUwBhpZ?Gg7bh5V{4nwS37W@^44he~ua11e zchJqrMBF z#vm!B@ciW$xx}}L{#|k-JajjG*U=xjM9SKWiAdcs<5xnQ|Ct59mlLO* zY_k512#ji|A0}t>&%%ENJz;&g5o7Tn6i;i&NFjV3<*l?4kwSV2iq}H%lBJ80AnQ6@ z+`=GHPF=D`gr^va1$D`I4dXej-mhbCDST~(Ak-5M>QTW5B+{BrU(f?q8(@7lt zPrPk>yiJlGd6_Hv(zihf{6qMeUqj9Qg;DRo#dnR88%^O~5;ODt8w}xJI{oz@7;1M) zl^fSqhi?r3b?XIAlkYvbzL=xxCdD~4^4;KhQt@x6*dJ2N9OSX+9L;fRC zWPal&kDLe$QP~68qFKhZDdGiKpE2+}T6D%Emt%N{1&@Co?RRaC+KD&6%t(CK6t1oD z)J8G$OuTs0b@RN{7$r0Q_znibHs8+yM9g^ZkMOl!3ceX}WOAz%63$!v0gwuh|F955 zodcf+ZHSqtk+br1ir`GK?)Egip%_`jBC0sA+lOjC=lS84%6?tIe!!5>L!OV`HI!Rv zAUxEd1=%Z1k?d-XipFzzGo~GK3)iy=1c(_kS3~$_G|f)_Gl}NBgQ5Pf4Lpadc||v6NdOBpnnG7a)P(6yB>aj;rVHYTTDX)%BMKD zACsYx@^b1k(53IV#w}7_@%-mZw@4+Kc(;;u`fY^#*mLdqrpSkOtwvmOms5s6@%#ZT zxEat+4I4Yj`XM<9rgYDU$aRUkp?L)O-cU~D`fC>o>P2iUk{iN9nM%5P0{d}#TZH## zkm6_uNdH#E>|Nw{!SZ!3;Y)eb`v)A%Qi<)JanXE_NI7bgCo$t+co9&_F)2hWAG**K zDVG?rMGdC#;tf8t@o_y2o*|tn{8A(Kl~-T{Y)JtBJUN>~6H>~3f9 z=|t_!`Kn=Ev`uj;f!`nCd_u?E_&+}cKQ9{Ahnqa20oW4(oV<$oq^EHJC^fwIePoE& zfE~d{X6J8s%bv{6Va!h|a#9&2iukIpqj@mPTI>;@z$6-#NwXCvnvsglntr3qKEYXb zI!yAkS>%akq++vcDVaIOj7Rqhu@NRawb^8Bv}Jrp#&%%~Mh{}!mMz47FrNu#JDMcT zRFh;Sg~p6yyWQe-n7pmb7KzD9$iE5+%L_e#iu3@YA(M1JjzMw&*?28eU;xQJUGUl; zfGxQwDh*JLLDG_o77Vt##ko+p_E3Ka583S+LfuO)zL1D?==~#(+)MHo{CGFnua4RS z^@8UgLo7=Qyq|}#l}5{wg47LbOmQb<*Awt%yeki*3v;0mGj=4Qwt_2)Ne~&2{Rf`r zzv8xk2RVYq$oyB`-tWwX_WRJ_UAn^6LO!0MpcbX#By@g{+p4qO;wZ59H7-^Seg?xK z=@Igmah`F`KY@JDz_O>M!xZ!XGR;GZ7ma=OkUpMv;ir%c5wkSQ{`c7~lwY|R+Owtp|n@7k^uviqJrSC%i@8M5rK*UIwyw*Lace_$_` z@f(saLER5OP&zN zpdAVz=ik!6fup0vSEod0qS6W|O3;WxE-4nq7M)uQaPPpXr*727N@h@uPW55pu zII<4KdC0oPaHk$$|tsfV9BtKr+&b&ml1jmBN_XzZog-txHy0a&rT#V=8_`c zHPB%rZw@J*H0TF*FDZ-|!#mX}6$WWVTs79-7bhBX--VN}83RjA(G2je3|zo=S4Cag zX~^0e$UW6#*ozRI@Z1GOjJZBO0tdhtvowAh)G_9U_|v4kG5$Z;gfzE#U4Mmq#y5J&Vczr{*Vf)K7CZy?`-aDO z*$`B_d(gNTCu!#IjM(Q9E}gBqIjopVue5y>3CeU?7TLwJyxzV;mY=b|B+HxZr)9a` zevQlD$+FZoaWWNiX{ntg%MErOmz!j{(SCr-uThzKzx{AJmDTo3vV7Q{e=*5lw6kPc zXWuBxFWa}v@+B?Fm`#w-a#g6q9+tPM76D`&wBZvhR{* zv)w4mr|dRae%=0oET6W2F3WG&f0AXZ9leD7JY!!V%Wv9wvTUeG&Z3F-YN~N{NIM4UHyH+ zmyosm_a_W?5&Jz{Kv?!g!Hi9d;>pn#CEyH>h=LLk_5{@Jj^L@kG@TwwxB|wtZQ94BI5z5f3 zhV?j3$4K)Gk+R`Z#O?CB#j+cXdDK)7>0|F9%^QaGz+Sf`9wD;KbnJKj2I!ZDwJl9e zYX8)Jl(X*}n|Evx%ic7sts6YjHukO8OtI{3!#eVuODfJnXDV{kk8qEWx=h3@ztHYV z!YE&!X7|c+p*5zzop+C+m>>!JzJJ}cCsv2+TF5TW%tQ4-yW3Z<@SgyudvHxSzuSl z@=AM`EZ5kzvMjU{WPMlLg37Fm?UhJ&Ox9w%4m(av))M<0RAz6qAE$+0_9lB3?Zw%f z?e9zd7Q0uLH`~9JWx4&aEN`)W*o|Vcx7ugRa+`gbEVtV?$?{hFep%jbAC%=z`xRMM z+P{_MowhrZ?C-LZWLafjD$9H9Yh=00E|uly?7L<8p#3FT*4WLme8_%DmS3=cApzdoLruU$#$^<)ik6D3gA81fA_aXm~%w&&1F|L4-aSgUa+-03^;eXtSrprto0^_c3fcXoCJcC!}?;6(n2_QggLd*>kMcl8b z!fzSTbViWx`X(Iy1-n4E5YGqLWUFe7?e^pH$5}4x!Us%2G5nmMLPR9qHSWCw#*19m z>34FZQZF)I{ih)!Qnz^RRSR)C(1dSxN2FdD9dqq0TvDURMLg+J7e>42fw{R*Ux1J6 zT52byL0yJh{Hp~ZrAJ4RN<3^FgpFsOTU@TWF4{Tqi)WOA)Z4w6Uik+sIy_X%d&c*1 z2_`i&`i#S0bBRsR7l*>#2zf zUKMR^!cl?Xp91P9_!b?jNQ&R(5(%kI-k9CEEWhw3%qil1<7u4Zs$MvkNx}Y2IFTJkM|5z;s@&K(4 z!13#r0)Efy`tc$|tcQ9tL3fa4e90o@?YCan?q-*`7wYOs==>icRUdj?`S)W140W@H z3`(1r^Y{la{fF1pd6R1I_ksUNbHtpl%|@jkdtHCPL`Ufu05qau*=wrnVprlP6LXHa zJ(0zxprGg%Vq_KSpS;W(|L{5lV@A7vhsV+9gKz;pvI)vb{Lld${G*acKC0){%pI^$sr=|G-UFVXlpITn6Vth6#?>95{rtla&{w<8=>E#F}33;*ah$l z0m1_`&=g@_jP=%Rcs~U2`4EC?p4>?l^}HCXrw^6&fc9<}s?3CUm1)lMcYILzfSmTxUiYR>{UBft-gsbK1w80)%Q(5Y)cyD5|!6zdH!R%{vqs08DS z0ha6w8e+i?H^*47`~b~*0<>oX)Gth?=5xa>)aoo6g}=e-vZA zALS8sWOqFX8#T$0U8_j1$5?+e@uOBm+6BTF0wg)673tS8R#y~$u8c@eg3uNq$z4&A zeiLI^H!_WxI#^shVKj^X5pho zzrquyTdyY?YM)L6wwQ1^{a&>Bwlb0GpKiVQshX9q0(5P_T*2p0x3kuxe zNc%qk8x7zQZ6m-Nrdvf=w;9v?=yiP5$Pet1Lb0BlZXNy)?F?Wn31Nwd^KsuK^_l6G zcNW}S32?0@2zMr7FHE<7g%zyyc`L9x2$zE=LPP=YnQra)GHkyHeS@}D)3PG`a=LXt z5uOFut_dRIE4kPwk4(3&`7id|*P!nWVD9%vk-Ov5tz7JBbhXC#5ZH0T)uN%}J>2pJ`(5m;sh9h#FF>CKMIi4L>74#I^$bD>pJ{M zkt7`jVK_iiGq5DR?6ZElnWx16f)EEw)kmR+LgAM5*L>Dz@B<&x=LMi%7N7@?gv|Vf z&w3O?K{BrgYhwtLN$>isFZOfVc7aeAAWiOds^SlQ*86{BcTa=$T!1NC95Ii2ac->j z1)Q)OuLJybfS~e57g|zNVy%l?IQ-)v{3}3GDUqa%SnGD&oR*QtCgC86k4lL;lt|K= zSnKn#9Qk4pt_YBvd6V>;Vy(-ti%OrHLA^6T56YWlZjH4{KFbY#6s!XwOyQQKdt6kw{nor%l8sXvLeioS(O`BQ-L3v_GcVs_GB zgrvS7Ydv3t6rTs$C81O`^d#%=u~r&pYFTR$SY-jG^rw<7nUOQB(!VnEb6_=|$edh{ z3AeQI&#(^unsfg=_^*fB1Z7mx7tOG)OXuAG2GqZvNN2~F&#=CwgR#%X)dzegCoC0* z8covijWev8P3qjqxCGSI0lG|`VjevUljpt}*6QWlUu9rb2ADD*^iQ}Y^BXg)R2)mC zgRg+KKfsiy6^iuI4C~%|c!}}?2tNrSsS}WhYp}vg?Ve$YZ{Too6pZ&ZOStF!3_-m+ z!^-+Er}1N8G3T7vTGdmM{`VQy1ApO}A{o?GQ_zFEOB#CPtf9x*a086)3u746XVS(W zXZ;XQi^&1B2mEKJu;Hd;#97O4;HGqg`d%3Nx z&%{|5lyVj4fSMhK?rgV|Wb&v97 z^+WIn!q`lnMXHv6FV3phhnT;C?>+a#mdmElKaTB{IP0hSU~)G2Sz&Afd1IS5;;fNm zZvHy(E5q1Ko)D|phT~>Fgn=t_@D=c%3S%QDnmO;{d9~CF;;r^))Y$3-^GJXl*sp^2 z+Bu)O1xu`j@mAkCDr0{EJ@P!=_(_w=evECq6DF6(Tl;aTgYuXP`lL&BMil$(YV2wo zEm5s9|Z73x3!=~jjy+;@}D zX)~>hALG^j09YddW>D>tIeVt{vuaayiYrBk+4!hV3Dh3!c)?8T!&vUag`j4iNaqk1 z&$PaJA%}1ySla^3pkQx19htv&rWL=ALwE?RJppD=u#&lDrnUSi`}_`A-2tXESV^y( zY3-}xE_)BuKc7e!Zpo~jX?cFknT@yrSAFnNSqKWY>-)&;Gc&E+ci875uyO*-pkO8Q z2Q#f5Z}12x0qgbv(;2L!_sp~wUd~x~1k{5k(uG?x2WMIjRI%glg7s>E85C>|uB@d_ z%(Rjp<7T}N)?Wh5pkO64dX{w#4#aXFj7-G^Pkh1;14%!9mQ`>ihmZkk{)u$qmdp!g zS>+#cvo?aYGr$ZAwi!<;rLLJ}rAKnGbzn6Gm_flx=K5LIZ~n_ZzX#SE0j4vvl78zf z>kH{j{~f6RIFT;gl6n6u>y6bsx~Jpe?=$f^VHlVL2=>WYR(66*(9I!ZDOi^Wn3L0( zn{LOZ9-d{LwqIS9G&X^CTYyQ;5{eW%+seh_i!LDxxf40@~p1Q?r zya?)%Dd@qok~F+*w)OWvxK%x)F#1oxkTS=?TszxZ{S^*oChnA+hmXp_WH3SWirJQR z76+3DD&1TOM_1EG(%uTX6SKz~vk$z*FVMA%ecovDEEX@N%LI)|iddY3UlC2+@AZ8S zD;1xJZQO&a&1+rOQ#gI41IEu_A2lDph$=gM@*iE!Gvp)fvEN*UD+3wvkzF2jbKw&* z`6!Cc^uU??Cry?j0#!@un)t}EDs^+^d|Vcr%0vY20~fux0aF3aiHgc`t&)x^!b4-@ z-0YROlw@CMUy3VLbLkF+y?74QJEJHA+n3C^0q(_Ix;bWFobV@X&!~(7aB19501;=t zj=Mzmve>dLJO&EIckpo?#IP}F%OH-JOV`rvCDN-`@^fPUd_R`GeL#dU%M&c6d;QNXyp18 z>TbA)Rww5?(usdhkGsUo)wo)kd(}M3gl9GAEyi_ttjg!PBJu#FjU%VwnF)Vs~p0$Z}7vWmO)_u75 ze{Jk9@B|I{c@=)&pum1X1`53{HVRh;$@2$5J|c90(2bAZ>JgreaW_J<@x_l&&!(u~ z0{FVokB(Y5vc)atqKdQdk>5>uH3^T^O23M+e*VpFu^i}%5Qg;qbtCy<_;?vlrfvXw zvu4!cm%f#c9~gH$fF`fAp4efEe}VUq=FqcFiX%KvAhya}teWJr@189YFM)N&O5FJq zXB1wEOY&#@d$~ur&UpSSZhQ^s+=eG{zsj>S^3cUXykxwB3x9X|FsJ?-}N{+ak$ezD=KIz9``2=p=>B!9AC^O#O1pU?X-~g`CCqR9chFtP0_q0J=R`dKT zs_+&%3v285FQ#6}vfP4~H2(HfmbNR60F5ugKjrI?RuUxXF_8XK+EcHxqcc@ z{{~v|v_Z8UcFF60e+XdY$@nVT3%iGL4!GBxj%-D)UwNCL4pn~TmUP}}T#CC3Z>EOl zz(-xW0Uv8MPNPKmn7#*F>|i=frQ~b|+C;Hs2E$AS8r6zqbjx_J%`fuPXHSrHYcoV*k;^TV$+tjP_+cr;FNf-vk zpP~L(Lq;dz@+&pltMNP`q!@TS4IgQ$aQ;fomAI9jtPwRHgy)-Zm2^QNGE2`)ELnmn zRzEXAU*!lqGZDMV5UXHZiI4Fb5aVHNO+GV0emn$*e`X?Ui%Xh!gqRy7PVvk{%}i5# z7+_P?s>Z-G6TQE53yQ%&%*Gp(hgki{#NbW1{QxL20L9T2V*isyG(80t_sdxx;s3D_ zK|zZJxBMFG#>gVCxD>+Gn7a}pZ;Uw((;0C$;A;z?iTW$H#f&9yV6fdJg@_sdj;E0) z1>c!u6S=`jErBhXT-_2@;+>C}vVmMcxpZ`d56DrtWkDfmg@8k%8wVWWyE`N1RDO z#Y<>`Vf_RLp8KGFSVM+-Qp!+Z-n5=iK;){u|6+y2J_)t__f=C5Ec0m@;vtVWs1S z$5s&T)FhWYqAdOz9yyLIGU7j>!8T_l9|d-Fqv zUAPL*AJWEyu#_7Vh}@ty$PF4na$`_$q#)6$6d~JlV zWmC|_qN}lXiu}D{<>LEyYr(n!AJ>I6+OCq&Uk&T#tvELAfc{>M8B2*EFUv$eYs{g3 zFg%1RoBtZtJ->zODQI2@*w7Xm(gHfN)tEzlYIq2Ukd;NbtdVjYg$JSeYpCHe%8sg* zCiTe2joCB~3=i>?^|>yqa0f!2a~WoId}K3>Tnbe+Gt-4V$0aTSwjzM%6RsRAcUdc_ ztv3SP79fxVRdc)y@^Y6ofkj$12zvq~@*+v92Nm;5mv!%ILp%%CkHRozSE-uUyQ~lJ zM3(UuXums=%JJRqvbO#K_5246dzo(FwHWa#zKBBV%%@$}_i=N?mJ09ASFm$ymWU- zhmqBCVi=qJUC=5F}I@q(PAq0Z~9g8U!UIq>+a2J!f{#-rxO@=b6j?=6&Z( z?%A2MGiMKhaYk4yhIfiZ&sF7z;jy52V?%Ua$FFtAVWx_H*|Jh1=uyjim7>3fp1CFL zVvb+wjwY#+V3sF#L&}`@IYgIt{8urvrF@$LY9+!nT;1`XhpC71cpG65!JL}6K}63} zg=*DAd-FDk==zRd3NNvUq~_w!0%G(1#M>aEzfr~Oh3w{z@5O79+6U%gVzX@C<`CV^ z@oz7JMnSZ?fj@T%XK5Pm;`q%*2kB!g!W@VYq^E5V(fu5M;X1`dSA~I<3~|~95k185 z>taPlRZ|UsH4Aat1`$2d@vD65awSx6VEsd!wn0RXL(^c9N0n3)fK3T;TEIq62EIls z0ks_1+7PF04$;#ce-ftaJR0@^J1jVFV2EDe_{$q&oc@FOdxTNl718w$hv*+1e_bnd zbc#w?VIhPBrAHTSbBI3a_&qIZC~;4!ofB6DRg_3IEl4$;#H3QNfQ45DYNB4v2s($<9N)UN-|Z`J^JxY6tw<@nHzB&6>;Hv43{+9|J_w_X9KClTx|{3o85xvy zHn4d{h{bysqWio4i#Q0*>9+ve5vHfT3(><}Klx2Z*Yymr3t@VCM-V;U^}8kW_)NM| zRdB={f$L%MJA~+ou79vG-alY2sImczC!9Nz-?~T7b$x#_hD&+G*EDH^kwUNKqgT3q z?}q5k)&M&Tp&2WxhMCYeKfC@5cu1>Z06#PYD+#@1%{<&YgXuP@5j7LgQUfc#zj!?I zTjA*Bo?r9*fVmT_BauwbPBUNh{L68+mU)v{RZYjSOjeMZS<>^jeW{hF$^=&7NG6YO zT?Bf08$H?cAE`iaZBUy=(DfVM=;fY2@Yg`i_5$I(2ohIIzx|2c>G^w>qTZ9im@O=N z#^?<{(Z@W$+zcrAwE%xG1SDRKHZ7gRe>pSibpY{y8H`7F&^2>qE~qvQ&o!mIZLq7@83E=I0?#qDE=Wh6^cdUO_v7$bMKGEOi#siBqbS;6lDWO@ zrN{_sSJ2)OD(C3rf?mnI%=U(_(z?MO55iKa!543NAZ8o?b5xSqV zoE5Q#eNI%eJBgo7BrW%k{rSS z%Dl*1kqyXOI8~fx60t`XKgz+dnP0; zgk&WU?C+_V^%?8nc(wjTlh;9fGlQw0LPAf+yZaI9&>i5A2!eW^24>Vv%3`DKZ+a1| z&%u~!ST@hNbs4tVe)PZSyHx-;8G_nH`S48I{nhqoKDDjAh*3vDI2%cdy8Iy;{kZLK zZj72d0O-9E)I?Dl%ju1^tNWMj-$>(fm#Qov(Lt=z&&+Csix(4b~1n$-7HNjG!Jmb_@oD$ldx=)qpjYmm3 zoIkMsRN--8kA_C6)17GyI8L&Cb#PH3C2~sQ#MY{SelCVlQ3k=zT+T6AwBy%IidKCU z@huIe`$i{z&hcOW8U^bOaIg@#9-5HO@tq@(@EO1vLdecpl&9=paQu1LQKwb{+-L}T zeCY1a?)dHU;|@d;bp(XJ3@PClDd6~>anzbgk3on+^|&H>z-mcl9RD>Ke3_ITg#1F% z<>7%;)$tF{M=MqVSWgI)CKyO{9REZ)r3X?c5PA?PALHD;uR8vMk=h2LMg#lY;6YKC z)Y$Pe77j++5)jr2i3f@v18p2V1`^)x&!KWZs0tVZ&$$DW9YV5$^@;- z4dBl9kJUhDK8H3+i=dkzCiyW^On&2{5Ska!g+r)IE21l9Ot7PE_fS z=jknRRI0}LQIymCBPQVxpk^%9?>)Rob~Cxj(l$W%(?dW-6}p4eRo&Q5>2bq3^`RyZ z?7v8j6k+T=EQDs;){BVFZ6NhG;nm3a;lA%aKXHX?{ezgw!0SeGiWDUIScT-xfR~xT zx*Ocq>YVc!w@#M4221#p=VI;TLKzD-ZNeuewG6zXRX z4hl(2dA%8mao6=OE{}Ya&qZoGaHIw1>g10p228UOA*H_1ke2 z&^_-Y>kr0eMYG$Bj-Iw&as2b|J5~d#LR+96Nk&sDz&u6nE)x#0LcmJB-9AuJ-!{Rx zqNq?sHBEzG-ymu+Noh$^L`5w;XM+QbnDrtV^M~fzV$_T8dFoy|L9+ zeFE@vLkJo*t1HUsyXDI2iM&^V@*UCoQ9+Dy`squpef9%6BB&^*xeo&6bQ9RU5I4%{ zNycExn+ko99zjbNV@waZaL{9z{FW5@0_F{u#vT*43?Jd7Dtf_;-(Dm&(sz#b0<4 zR|n{-5#0BbS~dffq2*}rW(k&~v`r~ojuz?VSer<0dT?Guu(wfz$Z~W8PT~Jdcqw2N z1efJ#JD42_ZwBaffmw4>MhWlyKT)u_4J%P5T8>T!S(c+jl{8kVy)aAh4CY7+^aP~~ z)k9~RxBi60zff*_sIa0QE+FbO!es-g1B8ous5cXS0ubXi$6E~qPOdqk9(KKjQUWVz za63{xwEh4?s2adm4MClxOhi2#r6a^00rnO`qBRt7 z7(zIM`2f`mXE5cfde)yP!BG(ZAo2w&j!_bMus4Vnu6Kbv7F3kP+Yf`SP3h3mnGtkq z$0!LmHkiSb1Xf;fQ4(9)qBR;JzBOUg8;Tk@R1(K$Aif{K4}@@qSdmI%DCV;?gP8%+ zd?HdE5-AC)V3G};Cm|_!)`_y{jyR31bZH<0?5aM2SD7NdN%0X7xF!;kDo-CopXDIoL4t<7RPT^V=TVm@6f_>pT0o37Os zSXaTjZ-6lI8Cv%{*ZLR9J^(&WI12}&B{T;jd2D24Uz2LW0Vpo=N{QVvjXf)S3`Ea&t@cR#u94hYB(oqbVmua` z>ce$NJ&97IOA1?5LR=KFI9KlpdL;MF)}UaMTZY%ENABQ<@f+O$HnNbis0`-`%0TTPo7{@NW$S{XIvSFFZB#=m_m3OU(`f#w_*J0ey#&qw z=kKUmNko@Nu$z!r)BNRjqm>#W`gH@THiUEY$H2bvCVuq+HY5@cnt$$b92hi+X?`kB z|FQ)=tB`%f#?rg+N*CqpQ|m`81ux`onF(8z^47_WAD8?AZCs1G`!CnAgfgLI@lind_gD>D@(i0$mBD> zWMjB51Xvcq?o1*yGSy!JyJCIBzGe{Bm*8TYaHhWsJGOfO8X)kyVd`0ahLg(r1khB0 zhj950MB(8}1@L?zr8d`f&=Lz&vR*y#o?KO4?pi;zMXPYH6()*RxW5P0oTf)jSe&NY z?mNq{7ZUMTNbqoysi8Tx+hH2|6{%wo7*b;if0>gmvE7t&l$8xwKEWpt{tDwOZ1(`B zT9ts+5qxqee~s;CybU*fzQ|!g+rRo^1-d1p(a})y)SsBs4(@E%6#NH+;v#6XJkGK81)8Sr< z@D%OPItcbM!g*(soz>1rx32OC;8SCEUfUn^s>4iG39&W8B$XQ>%a!US8hW-fY&0}y zA=`hL#nYsoV7^UkE>Z1*Rw` ztBeC@?shWAPla^=mvla1luLl6bo`dNz#(zl2%{XVGHX1@NsV19zX$0~hv^u@JBFYC z4(jtLOvh!x>xK7EIJzw9-xQhb7e9;RkNC;a^(;o1E(>Eh9KZ3LphsT~)3MY0c*nnY zHE5r1VLHaJ`D)+~O1I5uN#_j4iqcLV_dpmS$*2*z zCH2jo@i6?!*?FS91quTctS=B2N3vNfWGss|u**byFZRakED(M|_)UnKLmt8G;g0{_ zQEZ+^Mi+tK7S2v;#x(Q>-fro8RW4y7))5g1x+S!Xom8N1zBl7Hm-ERFymACb7oTU3 z8JRuU_pUU@Rx#w%63kx2rW=MwHV;#!*^7QalaBShmHBnki~)1zf68X|7rxj3b1i!< zn7{s)>>|0a3DTa0H*!6(Z2+tbMy?gb&|JrV*b2+i$B0jk1+K0$KX!Ig!)Vq#$M5hQ z9*{Y}C?G6uIZarGyYN1`uqwd%LP#KCC0w!Ng^lU}@NFTG1jQ^}(C-{S+dO4`1i~aC z?GMYb!SP>8hS}I6fZs|`oW z`SCMX??l!W+~fG8hN6NwK`Z|Msa8}xHS}S}KLgdTYJ<_#uxx%r^U}@!F^N~Fxnmus zEP8=3$dD8_rgMuF^B<0X5ypC&>ZnN|Oed07wRB3&{>$-W=jr=Gtp@hJ5n}OPPWuA( za<<3zN(?;pJFw%Dp0{7xmmNPz0iFIfpa+s%!`Pp9x*ygDNS+#RelsBG+j ziyW}Ev~j>D5w0I1j6Ze!rMYnvBU&xPpVfrx^t83mc3gi`Z15U&FR{C5$yE z^{tiW#m=~=zm4|x$6y%*>`lR`T?2e$wDVum>1lL_8L{uJ*nn^up|-b7gEf3Tz?VFSzP@cAnYd+_Xa;C9VXp({WGw9 zb9PrixGR!0X(_4U$F5&9CXf`{4bNAEgp!z~Jb%g1KvD@1DiMhbt|gtWfCIlc0OQiQe_*f)qQaacOuwlb%UOgDqUxTp7kSwiKrYG@I z*Rr)z`3cx>gmdj#b*AAD-+b)(f3H#2Ibe4LXFa4hgfXd85^o3Q;Yqv0?1G?$FzF0N zk=`|C4@}~vZ|+$IL3lZm6mBiEMFf}3q?PkEr*9wB4J6Jz%3X}$Ye>KbOP309k(hg>B2G& zYj!?wL#rvvn}_vC+|J=}Ky24kF@Lb*kxVhC2YCHL?k|(UZKU$kBr{_in$PZ`{7cnfkw<$?18){_xdk-*w(?s5CK2lq zwi#IQ(>9|;*$u%dt^r!aN#K7O4!ph+{DJbfysJe#0_39&I0r4FMC*6)dy=Q!;o+26q<1H6;xw{EnG=WeEW-G-T!Kj{t6Y7BXg5$T{Ry3`tu!#9}Pc`PRrpm+l(Y~p;%Pm>+T z{vo0w@al#WG;vYozmrWDr467i22R+-RaLBR3N{!dQ*mT4NYLI?==k5RVJqdWc-LxL zt-5VB{TkE#+*O;v6z0E~>yo%QctajdR@-V^u+%AX)tU9cFf(rV>9L z{3{@b8i49b>dfTW)t_ISCdfQv_D4hOr0|%6uZO}2DxxyejM-mMhNicgi?<%@raMeg zUxN3w$mP>Y{xs$1D24N4h*q2M=O@CsSQ?+J{0+@9!6f_-{5eNBw-!5f_3?p@Z*-3eGM;{BH`<g{vqX8#9WUkY7zb{7p_CIb^kc(vO{V7 z7hwAY&zuWJB)?NSdZpq~GJei7cY?-K(WGEAlV!z!iw!FtVLBC- z4TrwRCN4@<1hM5MRSHT)2Y>twwx4C3<}?A^Rwyi(DcNoRSZdcwjWq899zhi97@apC zK=ENt`X74dUs4Y)HEcZblhae5ZXrdANT0RwySx7K%!tYXFt;IC znPV$q)O5*23w2((`|r5^S5sl72SwG#pC-iR`z`+d`zZY0r?_c`Vv!2vO_=J3KLdrt z%OZaQj&z}CS#3=O_9fw5B3(Ihn&vNb{VN!=T$A-6Y%@ZF0Yqyjf0OG^9B=De;uHuM z6Om|H|ApEtwlB3? z^e#Rw=SjR*EVeu^4+8%V7poL^!-YK%7}_*D{EE} zZW_y@vc+wyfjr4k%KE{)U~pvw(Tz;D(eFzKwtN=h^BLKa2;K9z!rA4m_~*#kF`~p&#Obg?@+!mK2x?r9ea)1baV~ z$9Q0w__Jf>LTpiks1pna9$4(Mu=xOLDDWAAjR%$#KK6hMbe^_62J0U#IF5Sno&H=hE@PiQk z+>Yvoo!!VYB?8M;PeXW$U96?DasVnC0V@`vJ+Pd~=UJ5u8jN@2fu#;==24Br14}JB zu>-Z)ACW^SRWyEt9#{(R#8ephPX_b_!Kn!r4=gj0cus*D)6W;jSUsthL1h%P^djT*8Oa zfYlS6QY7-g@+*9a*>8f;Q&`-L{CJ`pnk_;+-aS%_rABO{yBUsG>`!1|r3()!`GN|< z7gPtnpb^9ut*u0C3O1o|g)k4Bq#VCfo%g55y;BZH|DL=X=w)DOxdR6MY}cb2#4r zAh0||S3$x^4=eSHaxKSI8;j{)d+uD5SvRT9$0R^ z=4xqufej#>?@sZ+vUj4+M12nIe_?v#fh7rS2Gl%iC9w4&ZalEOKPSKs06QAu#sf?5 z7+aU`7O?vvPBshjz_Rx5Apg`O@%|GbD8KQ*67{220;(vm(jiWE2=c(P1eReQ4UK@c z5L`U4tXze$+!OHw3FFa4^w0xKk$D(5;{nc!ASgY$j0ct~8Npfu#s1dnCB=!1CS_lrVM_#y>)W5{d_wcpkXM1Ivt8@d5x$RTY2g zCrV;GuoMlGzynM2sva{{f6#|h5-K2TR4dAOV7ZSqnLQQY+(?4)z*4lZ;(Wgcyqzdv zTN)26>w37H&ndtcBc+H3mK&Hia`Bzf7yt;tc%-k(kO!8XL$nN)16Xdtbz`!J6?kCz z>s4E)uL7)AnBI6`+5QyUA(6Lg53F;T-gsb1_cBbPnCqz#z{Z5>8HWd!7x6A;7U6S& zEs*r$fh87O3e+aV?=oqFkzzcsL}72FIt}o$5L&RJYM2QXh6k3Mqaj_5fjI*~*WP$w zNro*rtdz0>Dr8{A_aBc(?JWf!Smt+yheNt8Ujgg2NG4~enef1Jyj;NS2i6CXOjeMZ z2@fnQ7UP>zBy%QMDX8V#HXV@%mhn@u?k1TxiSSWSVO=At zR_KAHQW7ZK^kC!=7CmD^4=nj!LA#X(__85{9#{^K!W+dVi0@!9Jzvl_vGKrC>~lPK z2Z1p%f@MV+4=hic;#Jib02d44ACxiZVdH`2^Gvu?wt{h3SX{-hjl=`Xo3K#X|A2N+ zsH}a&1IwkcS~u9KKDMm%2*K@OJg^k3u1ADj1XyK*>-N+AY&@`h7^_>_ZUt7iXEBWj zmed)7dDTd;CKFTCf&NIOcwo8HODk7U*YfV0laiA4rQ*oA>tir^?FrkPU_cNILaJjv}? zO+n}=B%V|8gjkc{fu&4u7{EdJIFh7iQf@;yhFPfmh3!?FnG^`cFm-r9|_a2*+AAGY!%b%k5TWzD%LnD{xr{t_ih!6Vp;y)PB?JE zxsWG#)E9W;J6JQ#xez*^^B?CzW_Nb2=19;U!R~{uP#;r&$hnX!Ct?2vHbU^}n}F*x zA0w4NzJjveM~W|i&l67U_vjAI!5fkqJ00e12L6k1@)JkSg|w^VS*L+r7M!HgTgJi` z6(1MI%$63E+$o-iMuoX-?5C*gGMaW7b6Hy4)haKd3nSR$Ns2L-y^$YKbwoEXkeWs~ zo6CA&$I+Mg)e%_lNIWo?6(4F_?-|7A$*tu%h={9+Z4qoP8#fLn0OMDfnp4bW(P*eI z!Tl9MeFa3F!c}N4BRL*{&o-B}YowDuhYZ5xihllwxvb#xwpBscl(o(=mL@^;E#~6` zl|^M}L8JxL4q`4#^^MI1?I)0!%c%9``~?--%6Xw6)`zfaHUB(;Rjcaw(5h7n*J9P8 zA7a&_AE8w%w`-k6j+YSZbyOf@)$*VWo**_FbVk%xh6AhCx%Kco1t^!mI|w#bt!!Jd zSQqG5f-LU~h%;8LC&~`}3g?)Bp~Dp`OdPRl9oT_s5TuMIN&7haz^XN)oU*<^>^y_0 z;~_lG-m(;DtpIHo_;d(=Zs(ql19X7S34AVur`SW`K>I$RXcUXHRRk**p{-h9{;I5W z2DSCDG*+#GHr}XFjl`<;V?M{a1POH!*@#kIquj)=@YpO^jw7ZUpgsiOCs?dnJW45E ztXlIfI82;@$hne0tXf~fCcX~Q8wuj9#H#f&CT#~0eab-U3FReLt^7!O3)mCE|3PS2OU`ogepREus=Ew0;|?oAFn}xwHKUQU#wbZCpgx- zz(xyB=@XU|R;^@s1v~?UB|@T_D4mnBYKGiHYVmmYNPCrPG$F8R z_53ohSRF_HY`UU?@CDU@FK7huMKN>n0WJ!VpwOz7A8uaAbhQ;FNMzMo`IUaTe3Br3 zqKZ{(_Ju@NEv}qcwff-Y?^UGAi>0Wdiv)k7sEZ=4T67P1#1*U7jQmIdZ!Dpsu{kFYd& zh?r!P0(pwAf`k!PEiq_)3RjD&AXrr+(`2HC(K#A}77YRA5l;+S&9PZZbw|v*k~$le zQVd#ak>(R%Qw4vCa4~4j$0SZI1-MZNBtYjZ2CW*W@x=iU{uUBRVNxQ4)}6GD^%$&F zlT8bROg#-_(-&L{C!2tZ=K`(N|EGoqt-5g0r|N;xT3G!s*me2Dpq2JAqWXa`%&=^} zV~s&;AXH0UD)Cg{a}7svQ;9*VTuE43i1Y&pJB7sUB?hfB@t!9A3Bo@@qB4aBt(Heo zHD?NxF#?Y(Jr1Z(LxYyxAFSM96cZMU5rbBJJP{HYw1#P>Y6bcmCP`?}`otAB3|f=1 zErv+yBm5ap>_U{e7_`#->2SUa04*b!N52@fa$zJ>@|_5K2BEpAO@RR#76;VexIT5XdD>E8s_B}{J& zT8oeCqN@*peH7xxpj9ZTqg&=HU<*Us7_@%B7s%fRY*&aIgVv&2o-Y4cV3$JN7_{EU zW*)xl-Ty&jBLwv`2Cb)XD8hIgusni`L2LI_v~5Mi*CveW&Vwg3X#H;|qS^uM9YIif zbQy!z%J-oeMuG8(VTA^*_BhPMMVJR{3E|wm{DEU~DLnYSV2AV$V7mo32Cb&8QGh=Y z{SQH53B{n5ln1UcXf60sF;hK1&9bs0BuruqT4}>1FlcST2ONm0YT{2LN_q zT0gaObXji$dtiiEjxlI$!;v6rD3xY9CJhK&jsS-P0T?OE0d5dNancq1 z;Zrhbl|TvAet<^|L0k&AN*gGp8-Uaorjc3m@OTu1*7?3RD;)I#Sa~CvoShi7GTV;`3Gkb#dK_rvMw=ROX6dn{5b|$C`BIuz(>*az0=|>O_M359! zD>P`G!;VmO5scfyqQ^&Q&?=t?l}I`R%O(Wf>*7+lJUkcMFCo5!!4f_qj6v&MeVAD4 zfYB_16&kc+ZCJdz0~{g*nlc7GYz$i1u#STPV9Xa5H(S_7V$do{hj})F_OnolWr;zn zLVi6%wEqI(q9Ix0Qn<}M#eHHsGx7XG(6=3r2;I-dpq09ar3$w(O~HoJU%Y!pI=Gb`Xr9#khxVf2_W==({5Mj_-02h1lAe0mm&y*q! zTIou-Rvi#pMUr?XCCdUfHtA)->nLyhoG&1`#v3p;{kR;<{J8rL8=Jb$!gPP~CKVc+ zBAk#Ehp{MhLNf1FGy^jIjWX^|%J+S0D={{;!b18SuXzcovmmJ3-T^9mLpl|4Ww(dPX3zFHsGx z-1$Gz&HwHkH2>oy37h|Y{78rB%n0^Y5^I{jODY`vD}w0q22wi+=jKm-Nm;+*S3_X0 zN8&;Ax5iATn?X$TQ*rvAI7VJAj{FHQ(!WQs%y{k_{~qO=x)ycGD$u?oISVLr~K8!>I&hmyJvQ*_(f&Yxv-x~iJr{^M9Zk1>H&$wMcSucT-55e9? zGR1$!@tXJoCZg*YNF5?v{AW};>{{)BbrbwJ;o?7|9SpAT0~;&&=}*7a1qf;odnU5EmK0pLMKrBs}&jY==Ow zFHup%MMkeeu62#@!oW%rew%P{kwK$hc?5`yj5Lj1W~w(4+a*k5Tx3x1g)TCho>Q9i z8JJUv%>@t_8QaLW!BWJpH<%)sp^J<)eUWA_qK+jZyy4=o99(34S{hcH>i{1{62wIY zHPL^$$f)@`Oomk8!e68Q2)cOx;UeQ+X-|{dfZ2iA+*;xyqtRQAmNpF7hayc}WYo-{ zbowuWeI2GZE;6nU$18j)%_d+!h3SopjQn`l&V~E~*tsyhagosnW14&9DKPIFDW7qX zu@t+l8P5VNC*j-~;v$1?tBfcWjEju!s~z1oizJ=6$as4M*1btk#GiouhQRHro}hCQyT~9^Tx9(3 zV@IcZjM%985$VK5#v;s>S$K93iU^6Wf*g#CjPIaHLl+s*ode;of!XC*>5PkvO_WYt zWE^Ox=@XFT8%ajZ!o8|*c5#uBCl$I6tW5}eBiXDKGL}Ufkc*6TKWpOOAl(w8=JXu| z4qRlEgHeiNVirL4A?RjwXs#kIGOE1+_guhA3a(`s7a4vBjG!PcIoVduS^AQMd0qi4$1QOsP zV~LM^MgyEG1d^bbB`z{L?o!qg5Y`DPc~}m($jFBqQ|$qGDuSS;h>MJLrQ!b#gs4TP zn@I{kQ3Ly^agp)e2!*ecpedihJOfP}rUqR87#D|9@)eBBSsajN~3*3@|L4 zC!lPwBo`Sy+RUII`#f;o3_k+F?6 zL5)0k&ca2;Q`cdVdK1hpB8;t#~=W0@yl{ zrg6B)_-t8_em}4yVS3{tfTb@!P*zW)OHdZE;6>^EfIC8x(vdswEih49ntUUgRQUY6^4|m1hvJkp@rXBIDa5 zT8XJyAS@yhYe-!l<04}}nw1Ov69~U0A{iGM{_^0CxCFu-B5`l}NK$AjAr~2ytH7E7 z!l+0ROOo?zvTkE15|!}YQVz25%T-!$Sl)#>IKy^*JpMGorsMctTVYhWnhZZPWKmYr zT1{Ll_sJ?YpO??H9(xml^YWC;oR>d`Qke7dN0WP2EG#kU5bShxzXs>!qqBKd9z>Qg zfPNBYB8oXL&+C681n1@NHc(b;{Ol}gvJpKvFTZq*vIYYgCFo0p>O<^j{qntF1_t!4 zz}Zm#1i1$1<-f15EV3Q#5gwOGi@EOiMY;b3bW>m|gG#`;?PrD|CdmrRN{hgiR#cLN zoCp4l-(4#Y@G`>T;;aq9=~p0KyI-QHd-$FTWWLNS&e1fN+6Gg^)zf%aa0<^YVSq zI80H=S7MEfp!?pOm#5oV&dX1{oYKP1v>Q&)3do=lV;May~lGua%gB8|6vh%HG8s83Zj9#09+%M&K&OZJo+lgY(Y_x>_wLm7JIVyBa3%aR3Vn zLEmTQynGAn0;k(c)dHb~koXqi0_gm3UcPyh(#*bKjfiA&ruqOo&dbMdfgfLzIRmWu z5llT}q4V;)QDG)+1!1?4C@LV~y!_7gO84~z5N-;ITUcj@^YRa|MUExKti`$+K{o_f zf&Ss+krBbZJ z(GP@#qs*L_?}fzNOhrMcK%@lOne*}ucfq{_-RR9hXrD-uIWJ$TY#?a}2%{58GUw&H zXAe}$91xZyl4Q=yw{r35!vkFH0AYV3N#?wK)r`SJ>Iw*VBPGdvgWu86y)V-Yep%CN z7W&^if-K@cs}Hkz+Cm!^V67=u#!5{RrSBAzTj$aG(EmZV(m$TqA@?_xa86{_zfy>;-;IIGhVVH|YaF zSFges4LIsH2v3E?If?uHi>cw<7nO@c;995$lmz=;G0ewfE}gWrvKPSg*{ELwi#4z%}OhA<-LTAnoj=?GqER0(F|}i@C1pBn}LxPp$qVP41ztD>TKK$ zWUQ>L8Hk;45SwQc#?3%(%P*sSk^C3}O@AHiNm<&_VMbirxbRfJCfHbrpxu*j$(it%p&tr1w-IpG%{sDyEsW}{5> zVG$an@?jAwlccdqr7emVj`V4?marKWpmgDfMMf2efEPDF6oS2;3M(HL`5W&wN+Y_e zfz*$L^DNHAr_pxzQPxhxybiomBu73hvKS`vA;3l(T=%d3ZU{b&b~__FV6LsE&y~EE4r8ZhUuwYrjB>svHv5KnQPqE>HG|8$aQIq#+o;rVM-mv_-P`ng8Hp zBwcV->W_*jA>BC6rUW+*>5}lq@lQipQB4*i#kUByOBu-+*L@G5vpFcBio9`lVjB^aLS+Uamyom+bK|sY2SNpaRShBh zB2QWf4{x06L(u6E*A>LxM9xQbHaE_$wt7qQ7$D;Wl^f?9*ev+QSpaNVh?^Uy=d|D( zlRpF7E4bV^T^?b?og zAtKcw(TziOOmyR<+50&@FxSPiYu`hsBi(2Oxo;Y`Zi`VxPfjjZcfO%to(At+Pi^JnGv1KK&m3)^2whZchImE0M-%$KlNd2*+~Asak7yw(eGBt=JM|j$u{!;osu2p|2rqUhX3cNnU~;ecN>~7`W(D{ zcJ_Y#5$b#ka;k*LItX@YY!Xu3P?@`BbFG>+3chIgH8=Z*z#n)JjNXVGEc_ZU>}i=b zyZP%U2b@X3X9;I7k_DXAewu9oXFc$3!pV>w?T~cSS@`tCRb%=}M&(#k_<84)ZPofD z8x`fEx_b!5+48Aw;yx9(D1@ipoxSTifr{6;W>j z>}d$POIhRB?rHlS(kZJUl8grax#4Ibd=u0j1=o9ru&ah-F9BhlkhIdK&AYWH;FH{V z>(X&A?&tj=oFq~+O7ag%Yq1lP+SgR_zfcpcm}~zJ8~dw!%yhS-?GQMHmFdG_%Bp=s zB`-~6j{xV`IAk)@_NOm)tyUzqBx1``5~_26&qZzKV8aXH&49g5I2A(c`r7mC`Y&o_ z{x*<7f;xEdWz}A4`$cjoE{~c7Y&zjAJ&GPVwRhMtCx3$E<%r*4F#X_SWnUW~KcC$K zg#7?d3W3_q>dxJD!1nXbcdeVi9t+-)@LqKP)IMmZezBVFjkKtGHU!bjCmQOF*xxQY)@%6PmSlW%16fFN>=8p`?p0qY z46gT*75Etml_NeL) z;QvTjyg;>xVQ9Ml@D)fqf@tb(h7?^{nQ2>F?TN|9;D_eU_6K<=yt~t~QX*(>R+7c% zF=~IEel%9TIT4|90WX?}Lm$(vy*Sm~kCc^%ICb#5q2X9b7+#VpS1CBYLzb#5pxy)* z%|n>g%ge2OS)F}S7TqqyOhQd_8JNNAN9OO8pU42nCOAn0R~Z2 zFRK_QY#KZ8s$+cuXsW<-L%3P&yfeFq%1f>LW_m_HRW4=PMbR77#Msb*ppoBjQG9_QtDlv3=DPbHn!3>zR( zcgrgZDRG(mqGz(tQZbEw!Q6tPoLJ6nzVcfq@i@CTN$6V2PD6{7|MMBe`3)mz13_uZ zr9>H*D*q<7Ku<*UGz5DKL9Z~h0``juwzUk=-x)|Z;LD6}P_Z9Rg8c*7F~M2%>vVH( zR%z$LNh9Rl0QxABp)=pE{3+1*v8YKV1kPM-rxHY6#%Rf&73!}U=43?xmKOq7ENr0K zC-9m%8@G_<6-PEXZzqRuUHCsn>`a5G z-w4)&MsUI~9^vKPx{J9ukV}MN*+$Jrg z$K7P**W2J)_CkQGg}|*8wz(d6)aYjLy@ra$<#+}9jjUFr$i$-Mlkif7=F`CZ-AT3| zGnxWKS9K0ys+B#Nn|WPt{h%&V;FfJ=ujt19hGCHxyb=g@EYjmng%FKbc4Kq(hdu?? zRPY$Wc?y&Lmg|=rs;sn>tQQD_g!C7R6_B2|e)`t~(j*XO3F#cJv<*IcQO~c5TR^Qr z)D|I-VC(<40M$8eGFgeJ1!&$TEx?7#d3C#kXYg+^%`t5%Od8!PW>0~n1OAfDj+GIy zIT7q)RPNH0$1qYQQ}ABC0)CYNRxJ{L#*-rMQw$+htZtH+A>ir))Ju}K3Iqt-D)kFa z53nI5=C=ffkV(~%u|wY*aQ8WWn~C_EBNb&O1g)oxdr_Ih5R&qaZM{wS0boZ37emM| z?H$H%0=g$K7lJZMxPYXh#tp$#h7BPlP$n^i5LMDxrP5>!K26+rKL!z{3k@N6e}RCu zNZb*@9!P~1Lr7(8DH(+5kp@!32p2=hln>x06fs`{Ul_>|L&!9&q&5NDWpF#v5VE`_ z@;?pmvLUE3l!+KZM%PDcsePCYA#ec`8A1w2yIczO5(tHbq@@@`$Pk$BR1JW24Iwmy zWI@iMA>=?(+xiqG=m+9JB7aWBF@}&WoAo{S8IY-hiXmi5gTR8g0@%6`H-?ZNSh&{1 zR8j2*c0_P7gv7mxA$Aq<_X(rkP}IPoA>_3_h);=b%z~f^Q;EgPXt5wx|5Y18N`X{` zh*XC}h7hV_B14D_nS{fP23C9xyxR5Ng{0i29%3xv)5ISgz)&Jg>=a9J(o-!2=Ud8g z28lOziaA%o`w7v%8A#0`TbDC^fvgf#bVDsXBG^c}2iU<7H@cxY zT=TJRxC-pH;G!E=V8gpgie7pifqO$y1Bbfd9<7)20xTvE>Q7}iU0lcAbI2X|k zSCZlZ0gmbhLVqD~PNExTs@*@dARzMN7CdHC_x* z8G*TUlu<%0u?f=Savn$Hkd}BCWYH2tl{8kVTIqvVDXWj6nJHbUB`TIjVdo(6e9El> z6;`yw<0xhQfaskDQcVdLE%9q@$7+d~Gr+GzazslsgE>bX#q%G5#oLiuVlmBNvIER- z2&ye*B3j}mELW-uz3532v(o&3;II#@Ma16k4h7f9rb|`wNC64y6 ztqv%`8W1-SxeFD?Xo=K#M@(wqAdq8%ik8@yA(%nj2KFGtjh5(#7@C~DwPON_{lgH{aywi7~6Vnxm%Hse4wy?q}D(uYK(IwaB(RL5s& ziNwQ<23CAke2Uro4w7>J)=6uLUor3s5GGopQ7ino0?tj!u^)*yTH+OaWJ&o*kqUt! zHGpu@61_X3e7OJ?6~fSv04-4yD`Qm)U}GUfYKio)4UIsO?!ey_4(B3TB5PfTIqEYI zW(bLM5-m{z8(vlb+bZ~Ih)tj+sDUhR8!8#!AcJRl`#_BUqZ=CNI9)Xu54-kvSopDv z?MD{^M?-62a%7J~$IZn8b5RgyyBK=TT(reSfzeIz)=c}+UZ(s4I4(v5uRfVVsRWj| z*#4lNel&F<=nN1`oDm&>=Qv6wF19N-Lr;h^qKw@!T#;%WrKF1lf1;nmjma5_i|waK z>=9R-5uKWghbAKKN2X;_EP#t6&WIdK=a=JTL{>r%oe|}qL>us_HzKJK_%nvs zEKHmcRS4N|Mzjs{BO0qky= z-Z&#FT2~ic#bUgrLkQ#>XGBwn2Y6v%B}3deBWjY>)#YmdtXYWD4rlVNeHnKlm%lf# z{vmFh5%rs5^Zlh8D~Vhp{`Y$Kk@uW2%50mL^$|9k554_cXbhq0V_ke?gHARP0ol;;d~6Q zLK*{mO>pCkDCFCt1zqpylOf?7eC5e(4XGE96BydL5 zV};F3^*iXNDG3!YXb0nr=(F^Q{}-V8D}rF05mi0pa=sY=#}Oqgsc}X$Xpk;ZIlwg{ zrHC`4!)0|vRXY&gGIA_&M$`=Fzo=H~ePE-EkkA=X{b)y5e>SjrVS3|TJ4;?&2DJs) zjxfD(Ml|#;7M;3@#DC4_j=72=Gj`@4|d24Dw65NAXMM%Y>@4F&Y6ffcC^Js!2=Ab8haF)2`A z^TApd$>i)b6W+C>8)}uP_Jj3jB$E}SX2QGnslNi5kHCsOXR61!hYFXshm&{h<+Fmq z<^{Dx1YK`5C-2%DQFKm z#u-s1w3D3`jN-!LDu!(&&WKV^LXNdTYbsRMKH`jMP;$NYuzP{sd_Wj40m5XM|~bbQY}J#1wUq$QeFuNgnT^CjWeQ515o!Gh;N9X?-ZIdiZh}H9|r~Q3j7`6P;JE-(dBZk zuKqaSUq)~g6VuG8h!Fs1L~G~40tCV~A@Q7w=fau<@7gV2_pGBJT#O_^@dt0SX->%d z+i5y#d6%#@D7ATGuq;T8IG*x9Y7)%-vo;Mbu9}#Bjf0pb=HhEy6xiJ`;j*AcI_-$G zZK0#bASr+&wbt+jFjDnlya9Qv&#_nfGwU<)TMS?%G@De%EvY;x8 zsv{WXdbE(<<52wm6} z@$VQ+EhIv?EGUUOdW6cdU{-Ua`4Tb9Bn@2!37@?zXi^Mm4uJJ{WSV8vFgi!GEErn_ zRF8PFEcoIGqGB(hSO{DLwFtBNa9QyELc9h6R!;C$R0~-a^hgig))3$uLLdP;XIU29 zft#!TAdD3fNnui=Wx>iKjx`&sHP2vjFUhiCNNGHceg*Bs|EGq_0)_iQ-6Y0kQ^5t; z+MvrP%YxtPpfu^h$YEG^#Im4B0nZwarHv{FyoTZErjlhrIgC3dwF9A>khr~MS>R$* z9Fs9UJb-J3z~g}WG+Y)OhnrBf8;m2uVllETC?8Jru`Gxxq?yXP z0xg7~2dpd$Du-+=3%;>zCaD5o79;k0%3PKOZSd_<%C|0{Mj}j>1#Fc1?&%2NG}KUWE7 zX|gPs9iuZ*QFs8RK+t95gOAbu96zqPZXT5jSb-2X%Ytdyf|jWXtX_zlWkK#awk}^M zU_CCt7D1#3_Yl^2Y{h86lKy?~uUJRoZWYd|=6ulOjf66kZ) z6&fzUsK#MKIy1uqvsvwQ-^RAJGRAzT)$X@L7=DZo{R5H1V4Hp1ZDh4^Czc1YLV*jiBPPEO=oc)*vOps3R=W{Rwk?k{#Bg z_O>@X7Ug;awC+M>?IX*A3s|v}$-o{3!Y76lE(?6Dkokc&57=6R>k*;**(?jXWY8^b z?*r@1vzTUCaJz%nSN21&lHCf1xGsL`9GLFNM|W~Tc~W`pd|+t;&!J>lQ2Td$9G3_+ ziSQ$jbF(byhq;U08u6Ve3%*lmiYd#2SMvr{8xH&v;ZSX5Sx`Q8!1)IFnh1_!VwyP> z^|D|`A=~-|gyTZuIaTDcU`~H!T?fI!1YehkNj#I{H*z#5)XM@)M=ejGyzzI+;nUtt zu48nZQcnN)hj_LF-I;MKE1RZns5?cQhNM{l3 z!hV8|=}+_g`-patiXl~&aPAoUhHF*CuMEKABJr5gCGfUpso&u*q%RGus=;;lv^p5$ zS_|wR&EN(XNYeWmU5hH9v*5nBJSunpn@NQ& zDw;}Z{C&1=gSRX|w*uKoXm&!`ZwzH>dEF72^JpV9cie~=3-++251~;BOR8`xo-aOy z;~!E$R@{9YhEQ=ItC$*K7Cwx$R>r}2p&B<%`NtON)oOk~a9j2b;k8O-&@PJMV+@4@|1Ih*P>HsNajdkH}b%9FO&R5nH zwfbLZ;QOdGkEy~$u?qLcOe0ErI-PF2xxR(Zm3xRruse}Vaf0fdb*<`%ZeSqQhj4L% znhv`TIs)r0cz?ph32Nug${Go5g5ZNg`EY{T6#DubU~2@Y^eO=fPEad7f&K&GxR9vX zG-JW|fklX&#{7;vw}V+)JL1MiCFG^RR{WeG*y}v8560kyK9c zkeV8Ev+;yC0@i}?Nra1sRJwbWM}T-pEj?2+)kwsS4U-rTsWje052+{iyPC8L%htyB+V({HS)T2ZM;~}*}br4cLz{4AXrE3Y|A(fiwzdWSo zi^8a-0yje97Dj;eA0ATo!@9ww_rV-RY;G;_kox=XK-z3z^F*3>NL`;&>GWHG?FiEw z52=q&Bd(Hem4~Zakzu_}%ou!b!6`YrYNV-L+bD!gJJUzVU$bgA@$BFSC=dL5in|x&_n9ohCvJDBuu9> z9#V(p3o2bHOlLf#=8tuBSzZq@;~};2`JkQyLYc-x>h@AW9Vdn9jEB^3vCQZ8Sstb{ z9#VgWO_FeC;Cc+ zosx{2g?mTes^THF6+WFx>@x^ABH64J{*SIR57eo6w`dIWy0BX3jGey@%9xjQ&C_juE^pp}=!r(R)bU@SN*IdEiZyvq+jzJ){oo5f3_m zU8cCp$9qWq{W+c(^0^uOo-~dtzVzQfJ*57H$0}*bc`%D>ZQqjk zE*`V9wOJ+&qaIQpdK7haAdDf(vMr|`Qv1(@FcEN?5(-GbLuy6&7<)0`8YPGXmydc# zJ$7>A&JqTl#XN7i(w&qgtkox&B6TBqlcpk!Q zo@8ues)y991d0pOl-UL03n96Q<)6CTzJ0M|^@GNCL-Pk1%b%%xYBx-Xht#3NsSzE| zR0OLkxJ_@3nc^We$v4K*jhg^97ua?Q2eSxX?shj8Tnf}%Q>%y6;qtm<-L{E`)cm!f zC7JOsC#f*?ka|bN#zX4K&+-sLGOPHrM%b=q#m7=JJfu$T>9RB*g6$IA7R}l^Lp-Ej zhp#}J{#UR+qV%$UAI3P)xvP5_H)ZfQT#?}9|A&Xvf7UsYX$iB9vSZ#uYFLwfF+`jG z{28dY-Ax#NmrNXEE1J2J_=$o^NsZjw$U|zy8d$)<7AY>bCGwEEkT=tvlH@(4j(vtNWTkc^AdD|0$$Lm$btRt$NbjEq;Te_WYUe$q zE@nf@JwkdD!uu-8k-Uf0t_=2eSIV~#e)J^w(OHOx)bAFvu|RrX@q`J=5?t-=(5W6$ zTU^h82zIvOHigC8e6o-R|k>KHeZmCyo;V$pP{8g7&gC?T+W8umS9g}mLJtDHTAIY zN|EZJcg~;){lf6>YZxizO=Ae$JAFd=Q81yEQSq$b$^N?{$$GV2Ut9!hJweM>Jg0A1 zpgkh3N79>n?q=kOt$LHnJy$e&0|!3X4*dfX;^I zeMvlLK*AatTt)4s8Tk`f-*MK8u$+OyUQFqMdiEx17PGTlW+CfoMBe;@#36p>6vG`& z(Xfrl%tEy*b2qAT*xe+5`jE|GWHp%(-oeca+FGcmNyY{S!IMNk>megoLFtocQ`bvO z{ff+XPEK#Wqh$uz2K<;q3?#cdOmY(s zxro>b{-Ngt4jyZg;_O^XahPz_!%jrQ-oq)=Muteq`}%+DBC0tbcqEQ6W!ZGMy^t~tGGFROPn9Jbz`Q?ByC+j zQ0}@o9$W`^3Sow%9%Ao=ZQZyjBX%&?x+j`sCB`h_tR<|ExVCkRnVR-COT25t$|kv} z1sl(i_dSunN&;JI2j`gN;q%y0M05#iS%F~Tf=yhV9uVHX2oH5F?s1x%~GFE}d0q7}(r3}V$-Y}9^%>2YM-x~0Dlp`f6 z$SG#lj^ikD@b8sli(}=~dlms%^rQ&`6G4pK`y~ms!l8Yz>{m2drYmlqBtPlpIOawOBa~z}=2gz7cV^vQLB>m~#%HxQ z$szYJZNoG3`SY|S_>^JSb$S~FW#N0a=RK~8S6 zISlrT;+17s%$izXW&x}I^NB<9y}9^Fhhk1FVSTr|=D6??kxlJ;=gpeLSBJ)rmG=@#otJm%RsBGflF>N2&bdC7H1ZuBvw7 zK5H)iHpZv+^X7n^rnq&woHgSNQHHJ4FolT>f%poP4q4WKDA&MI0Yz z)eMv8j=|T2bd;9xx}>MF@~sc$td?Q&P98)v5XKN?xeckZl$`ZIn0#z}O4R)jW-3Vv z;NCy7mW0VcOdYm`R}j5cN#EKA5HHkO!(9UiW?x9M-UyT5mP@!&9whdtrm}Uj^6d*r z*6uL*K?CkU$t<2lVeWO8xXb>k|ggM zSv_OPb2_CY9f0t&kZjj-1-GO=v1C{(B`K5XraYlw?c`k}i!*}emoe^Lqb`J|LMkB1 zlE%l9bM}Oe)D1$vbV;f$UgCAb0vj+VF*?;cf~UHyj59KBqMO^XDWjoPs!CmgWi;dL zQj-xF*rzY!tO~L)Uuq~PBxjscdLcm3li#YxiJIqT&#RXRJ|g04$^HkqO>$*~6IhS- z8I7#eOv`VXed=8(?nTHllVB4BMP&C;M(gAYd?qC6OfFDufq#|WRzyrG8TrY-D!E)t zE1z9(OG*u@!8LR7&VMTHCQD=%te*K2ydC??GwBn;v zuuh7L)SztjzTi7bOAU&S+=LgE3dv;NH9XLBAihXwGA88oKQ5}hE(z{2Q^v8=l;0Cf zRaud2JrR7OnMJHCTYv&*7S%uDv(E9`GUl0MCAN9fmV^t0E^0+XfuFx2;B_u?2cHl5$-Pp(;vhn;6|GP zL{37$f8PvH1>HrGHzHA#+{n-W*bK1y%6M?4vL&s{Q8xp;-G%SAA&e5z)s!gO4A5<& zE9fkRbje?87}R=T0TrP6>tVLZn}cUaZT?>$!GO9A(#M4G2@&g?e~9deJ4E#F9x_V> zx6MDOA77R7D-((3We<=fb$F`zvrpp`B#-#!m*U)d-)31#-Z>jEeINq7a?R@(;fj3*N0jt!-DSE0n@3`QHqV2S`v6BDTjj>=lgat~HW^*LBl0WJCMDQZ$8=m1hWPzsHK;3jD{|+9J#5TCP zl0T4x-j9mVza;iVD*Km|Q&;kz?1@7#CJR#;tcKv3GIi)mzKj&J^7+$QE^KS*O8zlS z9#-0QU^fZwTDueGr0|0F)!Z5~cSm`M>Uox%AI~EsxUsmHf)Nsq~w{wngdv zO8%4UF)K(bdgk7y--U+1{1;SW(dzmk96Td8yzbg5K2zmmVTM#7b)W`y~b{Hi-R za6;;NzF@8_ekH%puYqI7;GzZFLU*q$^))9Fh7VT{Rk(R?}B zD+GI&OeOnZ%Ii;9A*>(+w@C=9EBTEc;N7?gTF*Dc{+ganSMvA$6L+MNl}%8E;DpOn zDhI!kKbB!OTFJk!duj*3g)qDQTROjzU;k9n=}La=Il3J5I|vVHGHDjulI~&GmHb1z z#0vWv!prGwJ1Xc(ejO~aLi~`hM~RN(SMry(aYN5h@K_aJ)2h;px{`l(Ys`RPH57L; z{7U}1vs{6if_F~ixZ+!VR#)=poEzFUy%y$O!j=cd_H5hT+`OwR`Mpn|uTr*|Fqi(P zY`>CU?rbM}Bg{|#OSZ1$2b^N|Bdp)N+|(L9EBT}3o1e^+dH*N4yKkqRTxl3x$uD&` z+CV)R&6H(ZPFM2JlTCyd1NK%z0ST<+KYSCq$xy(tN)QRgvUDZ?i%zlN5eQEz>9nXE ztmN-Z(4p4=zLQ39QgkK%r%Qrh4}@RSNiy9QTFIY~kqC-arRx)1Une`7ybJz!kvS#FBfmHhT!n&1q{;w}jHdXlk?sVn(K&{;**F;7BR zEF?G7`j!0oEkfH>%m%P`ybx!~la>58dbrMEz5@GJ)9Xrp>CasHST){p2)5?#qo$CR z{Hq^x$*TjMDzMF6SMr~zB_n}9>$Db&K0-2`_|r|;c9PST{Dl#lmHg6%oP~WSf5r;i z)y%KtU;JI%Nt+Ayq~LDKv^XpIUsX({UkA1!O7B`OVKrNvaB=wvY-)@+)!r)(rfETA&7 z+tqP-o8q$o-bZq-8^l4hvO1oJx}>Y)4e+1$Gb~rdfcq@rc}e|%y%TOm)>BY0QOiB`u~9&jQC1KsA~f=$foxN8b)Fvu`DVlXJs-csnAH*8}o`dPe`bvxr? zH1JjrbEsbXXE04C2V@+tn_4PQK3q$lC4ao}26FSq8$W+m82rfZ-=qW$qybaM8<)HR z{f||{6A2curYdu;Q2g=6)<`OZ)bYkw)eVDY{A{CX&KG*>c;gOi5bp_cm7;9~^~W2p z`w9PlK$8^?Fsc{GHFdmk38taP;Vf02Et5aqxXpdMECX#*Sjyna?Kr!Y;6pE=(ht~mulWTQm zIo>#zE-11Z0W}lYigGY+kheU-HhbW1K)p1zKi*grWUDbJC$O97f|#Y4G4Lj+D1W@M zsK<`WI?SWvb|n(8V^ zB_G7g@y5Sku@}h$fNxNW6>KT2z3YvWEnc7#2B*z=qzui5uW+be8(wOcgMUFS_ z!)L`-+o4#Bo~V5&7T3nwa;7n z@y6GV3oK^thA>e{_O(ckH@=vi^tJ__09z)wj5VpgF+7tekK>KsXv2{nRKje6u-ywu zk^J$-2kWMq=`e(&g-G)5l>9cHJnO84%dQkNX=Ose>?|pkNY-Y*q0O!lgqA`o&|l@X zC|N#{oc>~JyzK?y>Ozt%sdgecpJ}3^Sdq~oFkpWpVRvaj^r*Nwv$KPwCK<2eFT&90H7N@Y#x`?dQNYvD`Uaa z#7qF6n$EH3^tuIT&gqrH2MO67khA1+3fN$IQMNF!&Lih#HCR!!!gKaB-lZ)Q4%=4{ z8_35{LE{PgF-wUj{hRC4$A9@S9>llCN<4N2($tfF+khEBoco*z=VU^7qPSsDPx^PVb(diV2P&gsM?8X%uw zlRJ+3$X>|4qg=2vJ?`$WbAin{y~WtlYc2%r>asyzzw zx1#DJ`;FSEnYaQiU4`IM$Gng15jXLX8y(Fw20K@A^^tw+4;1AR;`<0Dcf&{nM?SJw z$)e>jz;Q}wA*`}=&_GYw=!l*uKC1Zo`KrrX65+ zC3K1i_{c7LDis(6I9v(oKC&<2W^^UV6!6)~vAI~)SWelfJTh)M<^>3^E6L`hKC+*A zJs#`;+pl;J#1`<8Ee#YT4$>Gk>yGB?2*jEvJjY}3k6b;*A)7T9{l*53l8yM8H#Zj4 zYAfHXi2n;>^5$f7|NWMio$IOi1w`i)!p>}z(>)i>=g_!)iN4N5rkmh)&&4)YHGA@F z6xe;~cxunZnu|FF%_Hui3lf!y$hq|(^|4!C8Z&0dJ8;z}O$l-9qg!6q@P57;?tX%~ zk$lWiuA(h3A}1l>zi)Zz$c{uwei|7>$&LK{k1a1pZ%hQ2DqGUJ9CgdftKGst$}mJo z!=xS5|Hbo5@e={`fI{m3LOhb_{ue29P^-ydIxyShW;Tho$%)G%zfJB1DdfLxlY0+9 zx5-_}X6-+T$V5t5H;V?6D1LIE_8D*i64~QK9|Dk z9CmbW7%U+AIS-kAg6kYskIr+Dn76?{Oy}qvw)AIwVS@eY@j`Rh({Ioi#m~WlLa_Op z!;*>4VXfv<+}eN*m5@G%T|U&6!gPYrQ%O#WpTj==hr4tW;H{nz&0!Z&v}g{Sb7m~~ znG(!}_@t13m*V(2Z1R)N5dI3t8;a^2b|*gN?AzpLV0$Cn&tU^{Q>VfFDHwOdN!K~- z+{d|{6^O4PnA{B`4IIs3dq)u81n?py{3)#TIcy@IBg-7tAJQNpN*xN#VN%C`o5Kos zGwE10Us%oK@HmocWvy~^*s5l9CBbwKyOMFwdgPuAjqpJw&yBAo>pvnIeMg z9G2OI+mnUJN(7tMWJCn!u;$wt>+1qGRYLk4HUK+(7D>8-_f?L~Mdz@V4cPPz$J`EK zoRVx#I)@!@&e#vOSn;xw#5QpBOeL03lbZjW$yBu(V$Cz(rh(RT)%XD%GTKq1*SQ5o ziS|57(J1k0vv_c_NR7cMMhJ8G6^#-fHes+8yare;#dVaZ{|^%*cuSx*3ft02Mg>QS zEtDzehiAxLMv3u|b(9dQrU@FqU70%@KPjHE{yc82q>Dz0sccy_&yn~A$t_O`tE0p` zhUd*h@9>bRFSw2pnd^8XCFTe4KhilmN<5S_!3pT16$w^+p;2P##Z=%-z;isoG?Pqp zlsIJ+1?&viO9|QHEukUIX`C{ehZNyn=B z&ckRnn~+rNy7ze+(R6pUpeqTcqr~|;`SAyw04VG%;{7Ob)ghkovP4()km)A4juMk+ zQND(NEtJqRA}~snJp~Ef0sAW{burXmwDcF7mZYFX{^A%H zdGTjxcs)NRM)#B%Yck^9))YNI=3C4%0xcHkOWu*9^JDt6%UU3H6ul0ik)!A?ID&YY zR7WMHTom|Ii!Ul%MtXkCOp28dt~!c->%6!X(B%BIv{sZAV2h)UqRW5Dk#wZL;y>sG z97SKjYY?nE31J>Zi5x{=hXKY+BmOaunZ`m;N72L4%}hd2brk(P)3Mn^%uY=sSE+<) zj-nF+IH$?Q!{p@G8Lvz$Uib*MAjT$aCavSL_1>Zvoy*gn5T1IAeo~x0Hz%g8rfw-k z)k9>K+!zn~fL*J2Yr)l9^uwIB2zTzr0RXz@pnJJA}6~>v$YTAW_wq?{?bP<+o%!M#I zdzPCv{2?+`un0UOkL9)C!#u~>rm~N_93nG|(@QLAGK5E!WZTP;I7Ft{vA~g5L3mY3 zQl`jT^pE|>>Lb9fm7w=D@)rFLTP4hK7)37h4PeEnx9FeBQ7gMDB!|chrH;ZhdHiYM zlLYE5`nQOUx9H)=9Le;8*G{3&c(GP_PBhsgYJ zS>U9VYmM4Oa8IYhIYg#Rv(Tk)2-Z|^m);*Db5W;+ExPFj)+@rjx9IZI;|{+CY-EJX zI#MydAB#_Sl`s#3&5rP5tRu-GGWQ)x;V*!_65;AC8Wqdl?HypBMY!zbDmIJn)9y&& zzk&U!xO$8JVh?w{R2$x_3DJNMd5dn%hdQP{;Q46;BO^vo)O(9wF^)cX8H_%j6~z1@ zGS5$Q@LAw6UtJU93nI1qtwgGBVdmy?!867O`**yqF)tA#!fqA1?nw&iS3Hk z^)rXa48pQ3Oml!gKNm{ky+ywiCBa+t-s`~rE4n^rt*+hRE6Hoqmrz?Xg(iTeyA$2pnx9Fj((Lx*1#;1VQ5!}vJ zG4CyU4T!Cw`Dmo9ZdvTlCC^^ryQ4A5cPP+m*bx=Mni{?i!}=?oX|r=o4v}faw+vQh z`FvC!g1d26rX3(1lS5?MJ&T1$vT6aVTRJluaP69(93oS%e2RV})DdZPx11-3$lN-? z4UA?wgav6NTdl}j^j7+{c^Sq=Wy$mrd5g~HqZjiT;9gINyhVSrpWR|di7(pDS1>AZ zQSUAK0rrrFRbbRgV@2Mgr`IHPbHI*Du->BGSl|zlS@i{(T?ylMW!YvckmKLgF}dL_ z`mGI6AA~kbslp1>Tl77xoGutX58-7`3iJ?}Q~z{#FZ>AXYmd7g;qJ5d7Jc~5)YSJ6 ztP|S%X0Z3!F}=6wiz}t{s#>s`2vf!@rzfR*i=NvG57d-5>;cOWtfrveqG!F85_O9Z zy4im2y+ywi@Uk?C_!*Lg9W6wc42tYv6}R#;iOcq;3j7@S%gT|aOmSXH?Dm`w!M{r5 z7)!KU7v&I{37x~>7=&USd}dbtiMB2l;}DsLX0rkUAupZurRd;A<5w|U*D4Yo#^+Jk z9!7sc@s(rUc;G5vM+W=neM;%x@g5h{k_i%5WgY&C(qU zm@P&=ExL$!p^0xpdti}zgXmLh$niBP+uPFf)wub2Y36vrcY%GOxSB1VuH^7zK>sLg zO%Re%L9@kJ;G9RQFan9$q8VjUvxQJK4QJ;t&|0&_?VV{bNf((d{=9=qT}|RagmAkQ zR?QajWy%<$@Ar_|DY%*~68T}Uo0zA-m#1^oY>|_}Iyu-jj~6mq?7xZTI{^5zCz!pG ziJC2X4X1!bJ5f7=EucF9-722(FXGALY%-NnnA0INR+5wA%@%E+W~}c3c!?)OW{XqE zIWk+k*diVrK->t3qlJ7(isQ`|mu`1vi$_2nQ&i0szvQLN7OTNtjc{+=Jbg>dnJqp6 z+oQOeEoKa(m`8{YxKpmOQnkozapD<_d*uL6QNmAB_jI$xJ!9Mq! zVV+zKx`DXGa`kr`mPJ;{)xvi{*U8nZm`-!U4+2aSmt@}7O}^nhOY9XrOOCmiZIPwf z+)(WD;&P@`P^!^phNa&2N6}J$l#wyY{>VC6(iH0#p0$P#_o1Fj2>VETIpnHvI@e8! zZS4^=z{1CFL)9J>?ij){0MJzmUnB6f*KYzI7QTKiM?onxSfC)Wi{h7+)x2Vt6+2Wq z400zi_f#l0s${E6*mz+Vzv>DnI9Y&VcZXNp9S>eZ%0`hi#Aa`i3E{r^bWdWx_J|oC z!IQ(f51QZ@P#nQFp}8Z1r-r5OC10Q#3Xc)^S}S};`1sf`sGkP89l*BOxG6oYVM~8)zM4*E!m}K2wV}TU#exRuWPZ79uGh9Oz%Qofg zVx`1aeC;8c?Sy3j9 z*)O<07Tg9lR&m?Ft`O&# z80>=}2e;YkxXGd6<9KQ)c8Mu7m0l23ypR>4V)&u^jrT)&GRpGU$eC{i8{nVC+zfoo zt^X$o&H}qYaY^A?spt)~Ua_mW0Y9M@^n`JhvTQTj$6MAlonJgz&rQggaW%W~`d2fz z8;|aq<}v%|Ht12{(QVc}dUWNKXnl0$hd#RULm%Ba=P_xK`#vebCTV{E=oZIv{kz0M zw}{zd;nbsBqEQ%>1FEL*2Lk&?w{b-tMuk2WC`e34oPTsb;K(U`bmdg)y4L?+UE%1X zyQwYH7}#i$^qI{*_2{0#nJLqWo#zqrWdu(SpZO&otO9yf;r$UjHGJfUc(5JlbA`VX z*gv{`&WQ)#r$NRh*GD&&!J{jM)<<{9R5pzxqt>N-vPTGyh(LXGKdi7)DH5cdBQy~ac4AIVD}-IeTi zdJk-u;^~j>+wBs;4`BbK;ZBG?x>Iiwi9G)Vo4<+6V!q3SM|b#Ow!VQiSKKzRKDwnE zp#gynP+Za%EGduf53FR~24SL-q$a7H{G)qHaTCmiAV;y=k`#J$J8+kxNB4rKf^E{cUN}T0RGXvf;YAw!2%vFhf9h=kM3ejJYhK))sz)Iy0QtcfJ@5>bm^KmJP`&p zd$mafxjO?i&HUz>Q%TvNUT!SNZ<*byC;NZ-eXU3fhzm}ZQ#JBCCKL5I0gKp)f+Rpp zae?g+@dOUHg2eeCwT}JG6P`aRqkAvLgDZGzF!^^E+XhlrHvZ+0D=w+nDtKcciP$%B zV<72*i{8d5SpK8QhW$vgpO{00@L|a!(?YY7BYU9}nVy(F2o^GO6;zfn~WLYzB{(=g>mxu@Rh%lYOdlllGwh4JlO08+eYrSxWfsgQAa3y~;jX#eHyx8V&DhsXo%Ss){MGukGD}h!EY%5d5!q1jEdsxUfYrr1>?bOtn zqMzq4&pbx|Fo%gg>QlP9$_Ic!{^}Ekj$j)KkjbW<%M(&f^*y_E^IuOMS&8I2L^tw~ zk=nY?O!D8ZRFPJWZe6iHtx|U(F_SjTU7kVe>K!sKyPOAWVUGcPzLAVRwtb zG9t?%7iZtVn$8SjANPondIb$^!fx3ov*q^%pw|_y62aZGXVYIk0{TMX8jo@ zyXvEB+CJCxt;S586yFqow0q$CVWJng<*c1WWc7I_b7XI{dWni<+uRnKwD10iCHL6BZ0~^Wu&OS%p~ia9tLZPUQY;{3e?s@D@=00oFLdq^ga){ z25fHeS4{S+H_{EjVwA-ub)qj9w^y&3gS^^GDJp{IrZZgT8=2ovi3MkaU7&aiDM8Wi z=q=T&hRK(3k{9*_yh;hSVo?L-e|9-vH`-PU61^!*ZpKdh8drZg^UglLldR3|dTKm) z91#me%!QJL>m;vb&zcbguMqo|M@+uJu9K|KzT{DkK>^yYaHj~~kUg1)IlzjC&9vLDo7sO`kI?4AX>;R{2 z5ZF#);}WAOOitgj40Y8*lXDXZSH6u z52Q*DfzC;1xSo5uNj_0K7OVhUtN0yK4A<`-HpyTjCEE`8xe{zEMQ!f-oiw`de0S3@ zIUU&&XBsRinkfUBv+^u0T7HZOZ#-?Ubj*)p8OOo$gl^jH_>iW}h*w_vxwBT(%flyd z_4DG{T`FMUg4c%-P9nXrLLA;Qp1q=T5DW#oOYwUo6Z-~T{g-&M#nqf|Dajsz@T8J5 zxk{1#jwe?%N;uLwqTg0h$^MY6rK5WNMDh=2Ub6@ATP29#;Qw1d>YTHThu^lqNl4Ka zu!YNQIVofgem`?GP+b|(g9ahbU;g&w)1w&Xi0wcKpOtd2l05E`p#-Bru$o_2fDKN^ zb&`)}ik!^PnT;E?FOvBbTvvb&Mar#1fU<*Hud)(WH2>#}-2+meIOZR%CIt@a)u_Qd zhvV3;_l3bn#C#z+u9p&Rk`fiIF8CED* zT+eYr>|M&gkLQrXq=aLdLujicx7$Z7mHE?6@{HXL=C3rp`0!b_R#XAWQ8boA zL+7tC$-n<{r7`D%wG!M)FKTs-4JLWdXWYsj#9!$#BlUNEGk*)OrFhsfBLK%ML7Fod zWbfjKCOMN2ZDxTzrTCYE-zfcxQx{7geJ5^jz^mZzq;s^l+!<*h(xn>T(KWSi<@B3U zds0@dOkM2s7f<<%IxA9834d`p7kLApqq4ehC9j-orq)-=n803}K=-Z8UhW2l{sMgo z675?tafZNx`&OzihvT-LylIjb+{z|tQavXr<)Xl!L=$eA%}DpH{7K@3aCP6xX>0+I zbU&r1wW6#5TO8fDa`)`e(koq+mX*?@eJfw_vG-VipYEDN> z2v7H|Y#2}K-z6pEldXoSB1P4GE3p$2L3yz1iq{Za_pRKB=3*KHwo!rza5?L~m1R%y z88C#Kl_XLusnEWabzk896V~j1VcJ`z`&QPv~Oh`ZGVT zB5}(!`=KB5Nuqr#^CC9;R^BOxiv&nG+s9r(2v3#Fb>GUS&`GNg)I?zW2%NuASH>*KjDk5{h3USPGa@$oR{pFUSdv)=bCt^0eJkeoz)9N* z_MuACeJj7Pa4MOY@A>nq;I?LZ%K6z#T=STc*JAx7q;S7)WnWcSHIoO{Aj18=mEsS$ zN|+8{mqfVVw^9{9X*U1CU_&F^?^{{i1Yfi~k>&xgX%X)Ct>od_*y78;Rw=IgR@zsm zTf9U3M}o<1F+z{_t=xJmz3V%`<7ourdY9j~@;eKWCi^b{k`tE7rp7p#%s zt_l6Vm7{bu8PrW@ueJgLAz!C{e^B8{?7fRyy zt@MwQuy17t=U52Se88XGl0*uaY6rh>r4`?zguej(olfxkRyw}#@-25g_8&rllKOos zrFkKde3}5a5=xYf?prCz^lppa8^QoDC)&625NeAp>z!a@y^v_%N{#E|F8y4vC!_R! z-^v?xV=nzVunkdqzi(w!d$cK8rvDu5t0=wSxANdA*c}A_8!SF3Rf$0Nt<3nAcC1Kz zu3+|Vxt`+pt@M-E`Evj-RKn?Ypz`}x4kVG#3$VW@=)RSsn0{sWG9!TQ^RTfakIhB* zt&Cd~I_3gc&!;nOcDipxjzPCF--ER$ooNS1-M3Qy+7$B`tdfI$^=$6ZfUEmf9+{G& zp9-~p8a>*#GVjJzIom_HJdI?l<@CN{n-as3(y4 zc}z=9iX@+|MCW~u_}4sUdw1#~_WM>EJi+?y4j5miv7&t|H)DVfe+Nvmj_7W#7&ud6 z{JxdDn_|JJ45Oa1Yy(GaRMhWViT{P1Hqb6ssvUiF-^y9{x;5)iRxXElQnYVne7}Uf zd*S_Hb3E>PguBmv-^wB04(-(UBCNOmjp_HTnjVX$w?pq1RxULZn1RtUtse|rY zIpu!W$HGbAv(q@n63aY(9zB44E6<=ZEQj#AlB`Z;6=FwX-^v2+<_-w^(@9@)kAtF_ zc=C{aE7ugm^;UxSfQkgWZ$-ufR{=XR*gx-6O853DdZgXAB6@6)*vl(N?pwUyiMe|W zBD}f#z5C+9#r(dE5EjEqrsnQyxrty9vBL!^31UhMY~NNg&^&Nf0aEK29&g0leIbh- zxd(Zr5OeoyAl}?9sjRtM5?OP%q*HVEIc0gmJ|gB*Lim_u;mzGmzed`RL?8E%kt;QK z&*z6XclW!3`Rb&bG4B(s81tmaQgiprAXr3%IS)L)5GQ5sUSBE^EECQE@M}Fs&E56J z2eu^UZlH+*ue3R&%-wh0hpj#PyO-i5?Hv|;YY9Q-2Y z?lwccC9_j@--9N&9$`0&z{(=ao4a>Z3WM>)PVtD5da1el)sxx(4kW8zHle8*!QHc) zPY;6)K<_DBClcN}S%ckB`+$B?xUeO2Wb%CcRY*&hptz=?r1s|S%Z6d9C!(exHd}A* zwzXBOnlpF17QloO+gN6EsQyKmUS-hX0W@QArYU~lfOFbxlHKp!c5Sp;v$o;iZ=Ux9vA zxOXIcbMm}%7;`8_1%l1?|JFplNtQY*46YziJve5dr1s|S?HGHcFzp1f*?M!g9pJPL zoVnY^C2pi3Im@mRyDH}HgIGN3N}~jM0;IYM=I(xH^EnNopBB-BBvUnazx@LPGBIxm zbhAKe?iNW2iC1&?`Z?&MaDIs7cysqCcBYI3Doz=k95r`;vx_@JbS@zrEm^3!JNIPV zYZKkpL-uwQ?01;EH;f2_J`k=|k}YS--2E0ifuu^KK_{g%)ZBdmOJ(!HmMA`6ilOH2 zr(^WHHvqRN!M0M==C0pKqgP9HzME--oF@;UzlynA1~N7F-Y3Ev|F#Y%jAHKo7A#Nb zk-2+YIcK_3b9cCn6%cqG2;p?n8!JT3-GAbY;R>+9ia#isSlfV@yFa*|4_zhM1PD`= zbe#G`=I$-Hr?aG`5MEN!UtC4z?$4G|(5*y$q6A5kGItkj0jYD&R*Vw11u||c&;qt_ zxnk56bN7uvb!9|XbN9>NU?(EB86kX0%Dqde0;E4GGGd%Eq3Y?NJ5l~%mM4ToK}-pOt@IyG23^|TLZym~6Bta>Vmta>WxR6YIW0v@}e@NbuV9+51(dKx@P zc_$P7sE3SPsd{=IKfHSS%RE~AWg<2zcdp3t>S_Bs!{7-b%pUM>3vp8F=^xwCD}@uI zF2xA0IDR+AnRmx*NlbO1Qw3gXb4aPD9kb)OdnI)Xpw?09lzKXKG8@ZhGsidTQ@N z;uM-9cg+uEj(U24TkiCWPT6^z!XSg+*@UpX$nxsxLYgU;*fTw1q+Y6?=I+1@1k_RC zY7yK$`^HOH{{tGV@F|h--pSW5j0aF@CAC*iZ+?M~e~H*A zh|Sikr?$2_3p(}GwZONuSkAa=(gLWb#YZv4NmQhsj(y){R|y-HIZLur_4NMA37cO- zfzB34)zfiyfgu#5dN#c)XG%RikC{TMR28&#Iz!dd871Svd0_d9kCI}jdivQ6 zB=-ZnUJ169qBeK^P8z*hs`F)2qMX}{F}{g9jP6J?n;`?RivKw1)S^& zh1Anh8SH5#$wKgzp5uhryCmxAZ?8L!*#cpwlG4@F)>HV94$S<_pQA$hNJ`?>Q&BZk zJ)K^h1Hyz`Wt_|wo~!EVg@42>-VEq`g}r(zJvkxKs-CXI|L`uU{9s~-N&;z$NIm^C z5fAnV{s7oC!EM>Rdb)FoTU%NJvO-Z+PbU<0r7`biUq*TuMpWeDyrNs~wF>AmbKsRhN}EyY!hVL@D+=KU>3jUi?onsZ&g%ZoDv4l6Z@JVNm&rj6xil7 zi&NNw#O)xpMpWZ17CY(#6PU~fFQf%fREypdDXNmnDyovmDyouB71gU=qfIKquR#cB zN)}#G{dzr$YGb0$_mGh*RaC!0j#pGqm%0rAy+OHiM3z@ntL3oIl?XEdd}<+1N>Lqm z8OHz$X9@TU&rv(-FE|yD{LNE918f=d8uwmB7Vl zs1pb-wO3Sku+7Wl5PgO~lG4@HE2>o(ZEfalz&m)3DykP-vQiz+xF%6oIOYsV z?G@E;9|&wC-yn$1)+?&EwmKg=Mb)*yRLYrCb`b3+it0*~kvxe?X&-DG9>8amlHCRo z+CZ{XMYZIUF26kjH4#V^)#8^Wf?tXLgAkr8kSeO1pN|J8kWWQ|gMF|?Ge*nV6Uite>fhL zLQrLbO=!AA@P_OwuETT<)KuZ_k?_sQE7}J^C!oFx7w#nAB>N8tI2j`r+z!X|lhj^O z{o^Fg4`V5&eUR zzDhDxMRm#-4BNyMp9FNBK&q&Uq=dw)qWbu)@!&={jfCvvct!P+pTl4nP#2Y>it773 z7grNKh!EZ`S*W6V{m&*CL-a!)vbUpPze7>|xpEjh4Pk|nY&lbk>Nf6)6y~#3ATu?c2S$VekYAyE!Fwf(3Uw9t72UfMO6ke zRnx|b@WwN|qFV0(o?W3wit4Ndh3u%U=Lf-k$aq)^@BrzJ6{3pjDqMO#1NMUA6D1Q> zRKFP$3#Ll4_aS_$r1QCo6xGl3`D#)~M-|R5c|?nv|kiumz;f zIZyqXQdBR7t}S2-mph@osE6-oz64ZPMs!tFcb|_1h}dzG$8sss3zCObRL?vWKU(~H z6l_5{{x35{PDycfD0bA{a8*%#4FSpyYL)+(8ltF{nGz|gQs78YozD=RiP5G!A$(Ix z^p2EB71b6?xqqhvHui)L!ZEi%7_FpqMfEwBRyR^M zGYi6eA$=$%@rtUX$dbE&32o55bBt&xkCqqb@Gb>N63h4tS$N zoRp5b6FbH8!s!Iw&2v;oEjKf?B{4Su4HI~c%^{_u4q=71v7~+gXj+syWlVjR?Txhr zUJA5QQ+pkCIiC%iO+;_^DP3K?j`~7n*9_(m_|KlBI_i5}xV1@cK`DZ(zSLHA)FW6i zqFZNmRC^Z^LukX?y9Y4-p`$jK=GBi**>~ZL;ZlV47J)e;%j>9Hm}qV$_70C2sh8@g z&(scrDL}Io&Wqsg*?)H8MgYC6aQ#Sl@8mUg7=eKHC|p?m7@549S7mAGV{l9}N$qvi z@r!uJBce1FF*aMTquSc)ROob6*8+`@lJgvfeygK)pUyldQIU@N8xGMVyMZFKrDUf% zYKtnIUPa8^0<{)Mb<~n)aF`a+a|vNPfmBDm@5~@rN%T4oxdv1n^?E)k-46D-;#PD@ zN8Qjk45SoCKm$r^g%`{mW9p^_VNe#Vs^Xoc1gfL1>(9ophJY=UU@I0ikkb`x3k8WL zWR*Ma4EJf+flIJp`(soi2WZzHznC}dL5M=Hd3WQpu^J{s-u>82LBgeGZnvIilI8{ z*wPsBmjSL;f^DU!&0W8fMz5CYe7&h?PVzIJPtj3jAX5$PAraoVc9+zrZ98W2>d`UJG!d*%_K(Qhn z_0&t*@*t!~AUvt0Z@7wd)E1=~bk`8|rV=DgN=Gf&0#fIk-kVY_@H=#E0b97-e4Lqx zj@k<|NnIJyRY(05UkO!+twji5l_G7BJgkmd^wdP~HowjVyC@ykNj{n>a;h|7iV+=k zG+fnDw<188PEzF#aRqWyx{7lxU}vNOja^>}4_A06+7D zLON>365L6Va-`dm0XAys%$BfV; z9d-IX5_bdarvz!vNJm|HMLf6#Y_#G(39dTo<_b72A?8u=1?e2^EmlW$bFg%&+}5{K zDom&)W=HDj9zJ9Gob+FbjN+$}g;!5|oE-#5iH*SyPXIAx1h&!#SLG_P7PQvhmGWqe z%GfrC92SJoP*3wopj2 ze4j$BDM?k!5W-b9hm?9+9<8mOq&^*}zQDFJ-h}#k39Q5dw*%^;sl9qy>|^fD)kNRy zQ@Xl(^>jS%yEgOtz^8bQs;4FTBKawzmwU)aZB;#;_BidPx6Tea_AVq!QK8&i(eqGG zx6k#ON2lzqkKq3XVSkChDk96Pr@O~&15%h3g4k@mdTMK{v!GK? zT?_1>f;sy>;_X08sJ}hN6em%UdV2dmF1sXs(N}6tLis{-J!S@ol;NdvalefmTj-dU|*> z_HVFP70;IvsCs%sS=7^y0KZUztyt7RPED{a6eM=ioVnLLB0K(G&OFL1sOt)AvyZoq z2Pg5HmJ7m8l7&}Kzx_HMG$gi#M@(0Ny?VMD6KYqWz6$q<;0@W26psZ%f$mbcPb7SE za@8+rfIv?uT)2~bliac|3b&s;5mk z;9@wO+aoz%JuOiYk0?OXRgS8sn`gy?#Y8_x2**eks-C`07H<;$k%#QdAAF;qQ0$QNs2d%#PTU|T6_ zbJy>r(W|98-(TFOoNlnfJS|@o}^>o+QCRop}-CzgP@qd{qa&F>d2&vgIXI; zcIs(&tXB4LX*@4Tfg|-ahb`G1kZjlmwASF`u^o+$s-3U0s6AG!P=gs2LCCN1K z$2`XgQT6n+ukdjxvR6acprmy5bQ;TM#lXzx{P{{qpGir)dMdN6s;BSnj$4W;j!iy` z;JB)u&SEQ`h^Pg0hQeMwm7biCXjM;V55Xat6tD-eeI^AgxP!L4*vPmi%eV?HE)kH?JABlYx!ePn$EFyKDA zyClsSsi!xu!~OwQRq^ixSM{|1wz$0kO~6~FbF{Zu_0-M5(xqyC!0x!l)#71LHPOLj z^jgTne97}vqVCJ}<)f^wxD8I+Xp++!QTQpyoFQ^MH6dGv-D;8}o`%1a_?JB9+><)O z7?W((4Z>EyPn6Ijk}%CA^ODs32f#m+&_@WiYb8E1$r>wpVu>+j$m?W+ErPL99O-~b z7R6PiB{hN2N=XGI9Wlve7oYs{|439N{LKhI^~K zp71#ELZMt^ODo>f5^clek>z|)hu&@80Ndhm_ibP7EZk!xE)SC}#+V?Z9{T422!}l> zC|!!r)Dn+|B?cq1;jr)V`8O*pD|m%(%@MXS`~UomEA9VQ8Kdm~3o;(I|1Zo~ZvVH=c#HqT+I`2m z>4hcUC-?76pKkSn_Ls-Y1-X|TqCa$etN0P(#~S(7@vZ7J_6EWCQq0|?q+pULw+G)a znvU-jKY5Wbd2B}Gm`z<)nl@^W^|N%C=N z$&LK{kE11LuEgf6Y)R{K)T1S@FB$|=hOGjmzS;o!wZi83T65egFoG_%mN9Bk59+e;Jd-Rv(@!&Ed`VhiTq(I*H=r}&w z9761!9x?kYobo-|1oQSoKyws6D6scEde)~VSgO!rfr3Of5#IOcJdUzZ-=i~^pflKt z)fJBV9?i&z2fq{Xmq_~AW}oss+UH*0|44Nb!6N3*2%a2%#Ru4D0-d9<;iK7<+^J!? zuj$u7Jrphy!85`|yxR>1x-$(nR>XL7UnP!^E|~}>c{J56y-(q7)GQ%2QpcqGaUhsM z25%54r%Z)elAAgvJrlpBQu;4}4hURPV0BDtd#S{$W73WsH6anDSm~`ma0%2g>G2RZ zC`8v6$Y!OENe}#t|5Ktb_K-PQ@>0j7AxQ^<4N?3sH!g+aQ~39vgJ1&K%rx8yQOBh7 zcsp1M;Uy*IM48~2G*%%NYysP;xNUuPOxk09EI17Im*SGXU`cUI+T!+DP>RlvgF#nG ziyN1dcT9RuA`BWqkTbq)OSoI5K84?r&Za(vKiJ3D-Nal2TaE{_DN;_Ay<^gNr&ur% z>=DH!MIpze3r6vQ_Ome7D9bjZ)jH&1wvI_{e^1EhRr89zI3~Rq1+CUid_E&%?3K?l z#vZ39=@@&Lv_YKc;)L*iX;DAM4(E$gb28DVdC1HV+>Wtbce6^zujXKF)A7_8JMvR} zKzqcGvGVnJ&Qe1GWQ-MOQaZ+pzX}~=m)yczB8e9e%zO~@B3IEED{>M7{`(kPVK)A> zLBB~$Zsg~GjIo`X#e?z`$7LpIU5+}&E*z8yqzv_h^pv!Njt`M%)Nx@ z7d>Q-OI|w0u0fZ27wluj)5q9`tfU+Q`!fx9LUfERJ%M}ATfj*Kn?GMWY9@@a&Bw9- z53H%;w)J(4eR&MWN`UoKT+$aTDP!!Ye$*ercqK_qQaSlC_8DH5WtEHakn$*e*sAjOWc@-W*m z*7o;=j9#^3c?o+McP_7UmG9%VJELJmah>50<31lb|9TjAF91D^d&KTAm`KDUl4~Pr zGPyFs(Zje!sy~eT=I=q*fWGDv1VzM`R7UG$TTJb z_D;Hf4VvfyJblQUS&(}pCPYqz&KwC|w*h~G;yEMnwg;HsoUIYntS6Qrr{P0l0cutx zb3Pnr0XnxxS$XBM4KEi#&a;mRsYQ{@jY?`+fOPOGNR2n2MUIKM$vE`|rn+kzFz>B5 zSB{Mb8AhxMe~{Fi%v@=5jdX zjEu#3SuBH+v?C#$Cn>$L_~c*tf}hyI9x>})rXjttxXX#0e*<*C!iy!fgEwSf-G}XK zKuZ*UHWI!$`6KICuK~TU@c$c&2jrlBkma{<%qmIkjm2x2!Uc&_5o5FU#$sE<$Z%=h z^xC+Dv}#U(kD{WoqR{3g+E}7u&KAt3>@R+bS)rGS(AAQit|)B$9p63VH&mc?0_lpv zYHTVKiJnXd*9)X83VRR4f+vZ7)VPw5O@ zQD}&Lpa?a|CfLl)7LlMU3RxwIuL)RB3ASQU13AmCZ6S_yBAc8sIL0&$mKV*uhBU52 zuP9pKIeK7_Q|CSEFW9((*uYo78gFbNP1`Tb7_pkB6;a07Z+{N6uVZJxGLo#8Vtham z&1X_hhyNO8SL=rT7wi+ozZBeBZmN%oB`f_D2Ky!1FA)A#Qctc@r2AvZrI~R@sz3p1 z5L`~T3dwoaT^dUsKM&2Y31BNFh~S{;L&x!#@^Ki7soe|!yn%498QjvDs+}y`PH9ah z4UyAnml$DrycdwhH5re01qKv52G~?N*FTyXDBe*L14XYDDUw_SxqT-?s{KLcpK!{q zTNVVhchqJFjZF$k|J--f23F&r5Me1P%GY@8lq8u zPKvw*=nbk-H`>ULZbbJYguTzEUA#s;_F59%MD$1xnSp{^jk@j%_Q&vR3fSy)JhMqd zKJ;CdEdDlkZ#md29(S|iA#-IWcjTn|ikY%4>M(LoI%(}@M&x4^!)pBleTy=4vDrn8_vJA-Y;}w-+CpvJ3;QVZ6w9+%;A#aOzvgv zJ*OQdSC{(B0&Tyy_7lr|>V37Ba?RIIY&eko7XL?n_iBorwddLt)!&uHs+TjLekB@# z$MABr84246;TmaFKLS@`%KDnvA3b7TFAD5O;GuQd3x=Q*2sWYFAgTQb`~+Y4)d0#< z`0Yse=H&LtoH_y2MdAM+f$L^tC?w14;h3$G+K<2^dpTshAU0b+0^1@+1B@MkZCpZ{ zDW?G+McWbhowXEAqM{MF?&(hGry_K_WTzwWJi56^`Awjm0_g~RHAib@AS{~@?iNT# z;Md-c2d5BS*F&xWbp(EOSUk88th3@)bZP|t<0AH@B5xq*kaUKQz?FCL{WI89#Scgc zbOb)a7x3XCz*S1H6^k0k4JWpRg2WQ4mor_K7-W?Fjx>cv;Bi}cL9Sk^f`p^5Jfb0Y2D1-${Iwm9?fuFmahvsF#jY^O-(FmNkj}dJ@;7^1CBd{&CZKt#* zlZMEV&v)(cQ1eyaER4V%4)BR|pG$7EJtxR%k7?hM+7%?BRyk6+9+V>IbgQbN&)uXX zhG`k*tt7b!avJAKc90$}NSe+;6qY0xL9Oq`lU<#)dG%gnW6urj)~oY+VlAI=y-1q1 zgs_EFyTM>V-bifR8wA^k{mdh7d~^xdCt7Ug-4E!vhs}kOdYloj+I2RR${)zv88KzZ z>|}x!?l^4osT;V-sB698tXCPi5>oD*_5Ec=qAy)cf^M(IW_8#C>6yN*!%-*}Xm*kRiArMM# zC<%~ILx9jr=t%D%B_VVYz|a(sA__>8sz?z;P!U8FQ0bx|pnwGx?1-RrM2d)_|M#8Q z-J9ei-{=3k&$D~a&UxodJ9B1s+7d`fL7<3_L5E$|xbE_OK`v$G=6*R1SzIc{<@=pn z3eYbwUreOrEgv!pXmN`ku%nLhb{bRFG{)cSfITeki_+HspjxBi-NJoYMyqB^y$i8n z5eXYVM>MMT_w@zns`R*9LTRdI_yQ}6f{UQ8^+Wr_vVOt|3JO83Q)Nv;B+Q^vqaAq_ zmr_Gm5*dKQZ2J(yP zS&z!1gcLf6kIvw-ged-1(-RH85|RR5Lz{02`2ycOsBqi#JkizEpq>C^62x4Pq>vTp zi&j`@rk+B_RJwXI@_(A1ikL4_;m!rzY+Ab*P6SL{PnCQ7m@3O?<<485*-4R9(JTrcA? zeqpB4#lp;Vdu}J-|h%f z$2y2*3k55~syHL^uPi|14rBcjF8MD*YYi$mA|C-oHOc(%5&6DY<3sP0@_3hge87l& zd$b7~9W?#w5Sd+oDZTs*qv4iKziMQmNMM z(pu`o{7NgkNbVfw7XQjoI3wEO*I{E^9X?94Z&R9mm(r?l67(p^k$l^hCD{KF@kyr; zC#rW2Gn5}{s{!?H1JzgRvK{${jR_p9Vy?e&G*_+{fa*KBKKP~((;(t?TrwGHl>0#i zbDb5&B=f&>efR4w<^4t;?~;!X$n{Cr+#(Lq(Sb2&9io%#jhY&Qai~jBtvtCt_=a0W zw41|f)#YC)O8qO1Z9Uv#0i0E?vRbKJodTEAs_N+AhN0$3^}I;#JAj!JW6%z(BuFX5QbRf|<858U~Qe|IWOrL$SmX+$taC z_AdGOfXo|S6JxIqntpYNPUd|y-z^x22?RCHlX-KpFh&Q~Vu#f#zJboX37D|^5zZ>} zSZh`09fFHiN%o#Bl~k#$iA>Nc$=469l8fXl%mEfMR(_gGj?NUqk)dbMEGm^vV20W% zd(j?)ErZ1#BEBBKx1{QDYSkT3?Vq}-CaV4`=u~o07q1EF%ODNIF{3av zP~~VG)JTuHtn$283z0bwftPU^yBR@yIHqzjBu2nT7%s(y)IrzR1tKt1s3UA~1)chx8$k=ub&c=OtLw zhVuUzeA$bvh4MONPeuRvHrxb)RC0BsoAqy>EmVg{6%yl8zaGAs$P7kI|60nXE#UQW zJn5RGdYqQt8l}7iGvRPudc8HudaL~=XQK+&DC3RnhX8NLX`S#?)?1?iFkbPy3>||E zg}~FY{vCWkjHFlGl#?IAGEM1qUzcHDwH2Z*21swokM z#~^YDhQ2}&ijt%=1Z(9H7kNi!-oXKf>ye2S0jNdLat8M{v-A%+09<#N;d%2Yz|0)k z8IZmX#D~Yp|SSUuMo45nO9J6uy3+%%(2s@LhQqXYAr#^*s2OZH(9`*GW^jQ;mYp zz`r-LWW7BQ{f{iT?j)k`y_|*=8HVvY?N>a?qAISIYz1|~RX*$L4yATp0-N=3J6d=z zB71NG5#+`j-y)K1-kQPYI2M|D=UC_y(1-qzJ`b1tgt__xsGx;rB{9kTZwtNRWw-MF zX&&#Aj}NfWTRz7tl7nW@Iz-1pfA*IUj6*TRS$@GHb~+W8`WPyrH5}G!lAl>B^`b1u z1ban7$3~b9tX$Ps^D_(}n0Q~PT+?#^TSf=L%Q#%d*GwbLisYjnk*=IvkP*@NG|w?? zmstkpS_l6#qY>w(xR#z)9b95NSo>|Z*072k!l>NAQvro`0r*p3pS2-+rRbk3ww0?F zWCFbRBtNZIxqBh^S)2<59|aKS2wWMm@D1)CBAWuZK>w^7-Ko1Xtp~FI@H8z@S zS!5z#;MI*h5p@kCaYWa|l6VdYAGgu%Sr<60tZ(Fr`tA1Wy_=%`V$6Rj8y4EM1da(q zq(yx1c_>`AVv%?ka+*5!9aLOzHcSL_Q3fxS${Jfj{2T( z;mdY#zUi=9-QR!?2KvMwqdOXdRH_aJTPmFxrWJkSr>|wi~G`-?uvEpyPluw}D%JOfuHd3$8r6Qe+6~)5^mG*ZP^#)lU1-TA6U?Yl77%R8*Zo zQk2Os%~FH(==^4|n)UBLOf`>srw-p3TZVD0Mi1z(nvT!R!b|5=d|d>cuOI){3!SwW zJqueCn{)!dNRuaKvi_C&5)HglO$zjH-CBJSs6hV?t@Wpa@>kd1JGFp{&_PzojQZ$~gpT7nteXv1@vhB>HP$Z`3N%&W#%?Ei7;{hUS$V*7qBc>@a5=iHFfeB_s9ey(R zEjZ~nXpFvj7L7F`=)x!L$4S*UR;e!loiJLZK0&5on1q?Im6_)}&2H^iw#-{gzfI9d#-~}wg zg7DROLehauJRub3&;%S90n7m#K+Sof*4OLfc3K|fJ-(;l}21E#F&(bI)iCM z#(2|61O}Iicv;OCiaTFo$@&M{O;jj#jBRZ@S!BruRC`su2)`F{iXzYCycCG^S=NYh90 zT@GaBr*wGr8Uu}whnR8Obdlu%@$%0o!$zDVLPDIo%qYRbH-(q^7$XXDf5|T?_F1AKdW*TNyuQn6e z!2JI(rX@z9cEH<#5n2P*+ur`qa!;y%*2OY?xDO5;K=B+_zA!b%2l;(36j)SkeA&XN zCq4DA>3+|zz{u?|oa!c`o>_sdod;vg@lyAY%6yAN?LTLT`{+l7zLSCZY>b?$E?!S$ zv>J}lV=_tY6WyY6x|vl5))VE@oIZ!{!ds|QU6Y=hk5yp<%vpGaXnhDfz6lw;8Erfp z)!^+edN?AfVmrKAUo)#;cZ&u9FC%z3KG&ddw9_If_DK};P_xAkIMfZp2JZr*l$c`( zQVk?Tb;F@rW~ElAdR=%rV`g4OJ}e@2xBfmIx`4G;on2 z%1tqkZ_!y<*T!+s#mP#UZyY9SLk*1HM7qtpSa8Waooajge<*>ZFA8D3Q9H8-hJ`pf zx(+f_?(#v-ACGL9CQoA!KB>O>7}|?-41;S4`B0!g2HCm(Pg$iez|so~<-brfNrqI* z`KHN}@2CnyCpUCTg`oJy9#bK##3(k*N(&6-#@l=jfk`#|mGmuYJM!n53c7LV4Tw@T z+IE#cs&n92dfh`vifxJm)CQQBni=B20V!tD7b`^&rzl-1y1?k5Qur}iw*%nU2xg^F zkTa7I%cO!Z9*9NT6K>UfpRr>>+o58inqj9Y(5-&b(#{xl8(_A1O^B5cT<}LL7D1e% zbSzp{G#QJnWAO!VfU6PASSZNwDU8Koj3uGKGI6L4yY^iGQQ64{S@B6i7QLxz@5L(^ z)0ycK<826Mcchx)iK^ETs*O&|ygu4UuVF~6c*-Jg;`k*g5%n#m!P$8K(Mkh9$OF`v z3m#z5u`vticSQG@|F?P)wZA0v{~>9P!{8K^w>1R(??9wVCYz^xH9@MTDXPG7w12xp z%)u?(YRYargg9QhmWi}x5h-6J{S1qNvfQy-r+Bj+AnUU#OO+2!gQGJe>A8nZmSw$u z*mJWREB@$<8WqGTN|$BEtN2pKH8XXJ5G?`zn_!luf;@*D7SUgCM#Y*E=KTqly2een zsIl4`CQ;|7$?<-i>HD-vPo2SamhXmM#(0%ehoORAKvdLYYdnS#}C96%}` zl+~HD6ajZ!ISlV|Z<|{Z+~RqP-v+%=b;!Ais9E3XLP^Gm9-V(6kOrPr!ttRb|Hn9k z_MDcQcrFmeOR_egdR@(m`%yY*BtMI=4 zwmAeZ!)f%-e9761XgD{~aR&C)0V75TG1$RC%Y&UabUAk_1N=8e6FF7(G;k`uoKcgz zHZf<8Kd#!@W$3nXN^P?Z;mn)7sUW>w3i8NktW<}TPi%;qhpPl-79A&{NkwEXA+vAV zkx_NYxrwOnn;~aV-AhGkn^OCnl{2gwDv1QE`2EKylRQAfl=M97;vDmnS6r$trstLs z>{6mC4PUR4&W*#<08(PPvR%G{ktWgV^WrX1s-4R$*556*QHWg^6i{ilQz^7kx8mVb z^wRYvHoDqgsFBKx(!HSWDz$UEhofs~eF`~`OkD!&qi!PU$??#qq2|0HhM0B$2O@&4 zgmG=CR0~9-x@|({^mdtZhe+`aa`|B!!;vFrI9Lx6sdYk0%aKYn6y7;5o;QZfK=<+>29pm1Z zvrMNqyBm#4hX|;?RaBoiQ?%M_m?Ilws0z;W3H+aqxAGyP=0A^Kd}HZ(K%3?1PzpTe10 zEYs2$KvM!)rm84|aq6%^t4E1sIj%0v0`C|AxbD4!kVHWt;=vVs-Ys_XR5R}Lv!5!gPS_W!ySOx^|-Gfu)NKubzW#BxD+ zT;t+g(j42q3+P70S#a8Kx@UB#TlfH!$+*>b{E`x}{33Z=lj2<364E-s5OG61Gb)*a zVap649wDB|lBDGKOh9a>rSMcQ4xMJ+y0NIB;**{?59j;&F`qAO4!sIKSFoz=X;dTBB+g!~M4eMa5%n?PH zGVCIVv2|fSJuJSi$=*sAp+4m*z*iu?81gyrGCG9Nb58RtmUXdRxogc>f{gI`N5X!q zfzu4?pAMUjck}T2KZmVW|L4NCssHm~C)NM2VK>$Pg|P72I01Cvu<@e)m(Tw#1ideV zEZLhG#hXZIz=?xy)j~5dmK%=${#XXU|5DcfBJ2Mx{3n~ZiKM33zt}A!w#A1~Mu<2| ziK?yaXxzrP2?mxM@}>~?>6(meQ#VoX%KPv%q{Pz$^+ttyRZAG6+wc+}f2PlKu2%-{ zo87WYY(o=EyHRg7GP&F65+z^L)w5pU2=HS{^y#eqN3(3Z)vMVVF>+p|MeWuYaPwBU z;tE@J1>XcxEApm&ppP*4X{&s$N>5)f&5^Zch&82MLmX z41LAm(rCSguB6*DxQijC!@sN!UTyMKHF(wCo&@lfkmtZ#XY(x~Y6V+uw`a!!L#JyG0EY=;x+E!Ujolxv+R-X;YK>h3 zx2HXtY8CnG0NtY(MqYbyskM7)Zcj=xEZJiU3Zr=9aOIM#*VwgmdwTq2NvZ=tGlFtS zQmggax;=d+S(5qzFf5-WwP3Q7+cO_;K`cHw1AwP(kbe82PJ}*>2?4zXjj^iz)1nS#y$^d*S-Wr5TRO=!>1bW73%0G`Mv$=05q zF`J_#tpebce3ESK>Hnk{vDr=kE!gZXNQJGD*QM~_ zGA6M*t6SvGo-t^|Wl1=fw^{Nj#kZQ>9_X*h`rx&+`FWdNc9ZO8cPL(U2$Na3O(1?L zxRR99>~d$1-R!dWZ8y84&^Mkzzpvu9&GAdhX?D4f$ZmEwhUl)mJPpJJ;+ZT->cP$K z?;nF(02xyZm-e8#dGzHpyQf37Kv^B2+5|EcPP5x;gIk5y5uEN0S2eqQcM#@}D5HeR z*j>W*Z0Zf&o-M)ZB(`T=t^Y&T|1bDYu7jJ?p1nTAEjHB@;w{LQdl<6ap51*12Vc;Y z?<2ZbYPV-^;EVv(URmu~7tH9YXRAHCwORLr?e?tcw^sXRwP!b<()?(ybLdvPW=Sm2 zGGh^UwXnBaotiBXMYXWETf>^4BKT-H{QW}LQ>#SpY^pDtnh2Wju%GG2!53|coc0=(mJKW+0QM~{MS zx`Fok$#rkI?{J##V*4t=pnJZR387f)FID;8w#yJJzi`2HAJel(z@3EBPvN zj&;jEhEY+5HWIwYY<@oLb`8@~O2`rbp0`0k>$bUyOAFZs-aeb3&$?Zxj#X0(=`;X8 z6U1~$QbFtXRGzl6QnD3p7;?S{E){w0#j$Q@Kf;lflv@pedISaKI&EWt0hXk00Ho)W zWLvjh2Q5hx0eC8(B-^@`J>(K<@NW$O8*ET;WKdZ*vmO-3WUOi*MXRi|=g#e1+CxJU z)Sg)MT;+Ahx=neDS=>&~>TV*E7KTZHBDfS!s*y3LZ5)wDd)Ds5Y#ETUA#Tm+WmO*S z>7Pe?{;Xjtkjw%y$3Z*V^Jf9HeJrJU;4LO!Mb6QlD&X%$oaJWl-m&@lwCCFfmXOZ? zIAw!^+S3tyCFBNpf7|?g+A|E;Gf?CkJqI+Qz?^W8|QZ5GNp8hH~Q2ZX1uEHpE4`M!;3woOiu~?e*$m z`(3YaMXT+z+QzOJlg|CFx45O%c3N%YpMy0&q56A__k{31h_~I$$$nNdw;F^{%^V{r z68G-`7^;?WFQ{s#PauM`;d=otBf$9E-LOiG_DgWyVzXog#kW*##zF8u0Plp&&#P)& znQg0DY3$u2Oy0!pAL3Ifos^?$P2ggyS_{W-y5}rbLx=tezg2Ooi%a_@<)~Um;;qq- z*d|ynNa_877)3mjB}qM4)oz_cy;%szTE~NuL0^ul9YF^}iP;I){RA=!f|YT@Gskhrx*mwy0k08o$IKsCKc*Zf;S zf)es?1yM?_l)$83CpLQt)d}U_?(bmvKZ%hsIU8aZ;4+@Tn59$xzwbqcy#(hiHcQS^ ze5?GY9!5Mr0Plp&&s+W+0JY1%IL6fplQ(huhxkPt9wp_JKNrf_<-gYPo9?-cfsW9> zSpK-x#ijj{a>{=L@mBd4z&wN+eC-d!DB_tcN$SDnKMPw;H*hNxW0F|z7H|-hw}ftF>?AZIENtnomD0}ZVXEJ4q$~g%75Nm z6jKU7O>+ZP`O{S|dI|cIYUPV6YmPf(112&xA?7`#76vTqzBXukCTWBAxb=U{`j40l zgEjyUjzM$XcdKPDYY>*)&WPCtZFw7)*hNI-L)Y&c0ulf`yrbr3lZRS z*RJnG7U|8V7zj(jnPNoBtGL~yml%b%JNrK?v^|vZ#+Mo-OZx`6_ZwcdcA3&U#>I4}&+@=I86KE$eLwnFhd28x-uW9qwfbSqt7Ko1d?{_FXNP zPS+s-J|&3hlB9y&wOpG`F_dxjaVy-r0J)I+D)QQk(_QP;9;Lz*!~#%(prBl*v)_EX zB`FPncKIaP-L=1;vLp=wASa(BySug&Ggd4gXd9v>Rx^Z0jDS=le0v2L%JPDp~x$6{=;U;Y{j<>>HW8$Q9isO z6vd^y<};)K+lF)u4q7Kn*2k?S@sq)oq#Q%aQ(|mGI@9r+?y0!WExOR}qqxm*{E~7E z>0IJ1LwaGHq32m&1>#-enJh`_!G`oO4aC=gTy#9B$us(L4C#UljJi^cfgJSWQmJqZ z=_w2vkzER$at>G3X3oY5^9^KV!r|d41(>)Fus!UnU0$F~+-B=P78RB54e_762#$`4 zYkAitTyS^-vgHb-$uV&av#}leC1eJ83v7Nq6L&WS$8IyER{_{Y5Yr_| z1x;K5l{kB>|HoggaK8oU7kXjjwHL?4ZEK6u+9(%WokSR}Tyh-~*RG_gvmpV1Y6Rty zWSh9xpRgpg0iatxNw$fr(g$CUU@S%fFwO>9CJs8GOk7{=*b^pWRsOrNn0r4`79|W5 zR|sR8_DpFi4%w62Az&AUWbQ*Y*d}iETqNfcIDccaFUEj$cxaiJMNmW#VR| zZ^^LbTp(5w&tyqb4>oaY`-8g&kYkPqC4;^k6E~(1<`O98JZ_f>WGWmJ=l=vt;o#~* z{uaQcxvDnLSi_=Nj2uYVhV>mZarc3sDeL*7HfhDI|2fwGCj2M=vljmBDab~j7-BRW z2EnJC%aH9}+}>!nm`2xyOet^9YiX$qd3$k_zs_soqOcDow~6}^JyrE=y_SxvZ@rd& zc@CNaYjqRh*w*SN#8IX1@pXu&vQ~^BzC$@*tJ)NAP}LUTd)zY4gDk*htYIW=Ra<-u zs$3V&&25%kulSa#?f($sdV@E}=I2$ljR4!K*18dL2rxMZw`Ig{0auc8RBanvY*l;L z@tf|6@M6%5em}(RGsiC}N7eQcZ>d^A3)E)A1V)^Y>QhD$1f?T6u2tXE`|LA-9l~kpA5u2;+ZT->cORO z{QyegbwKty9+V9Fa!TPI7Mv(CU%~Y|0+|Y@6lyot>|5a6bGWJ$^gQbfJ@sh(ZvH5vbm|F&I6)v?$D40A6 z><`2j0#}l9R5%tcwhEVV{HA-3_QCg|0F)7!gei_o`z7V5a3$g`Lz3PK;|G-92#5~E zGg*?tE$$e~eio@ldVHO05edh=HBp8;=$&Cgrb zJg34g>%th%Ax!Sa?IYqFfh$QlWzExY?6Pj{_)Yh$If@=K{r-hp2;#2&l5)zLr{vgW z{q=Khp^nt32t+;NnJh`_!Da1#4m#flkSxc8l0jciS)ajPSFBN0T+UTIlKsZLa*$dbH_eVg29CdLD%TS_JV_{S!t|B+kK_L#os172i^|@t=Wz4?Ghqf0fs~s>ZG0wyKq_hPfiZWD;&QiGK=QNy<^R zXW(M1+ET}Fx@YnbA)3(dVB8*Y{E~81?FHg3v+}+Nww%(R1>$AmnJh`_!K$_v%i82& zKu$RxlnnZERP8SIuqiRW!SxP-OogLrm&=)o9gh4hj7xKUJb?yg#r+gQcnHpea4E|` z{Zpf%bj^PXjgGWZceNlpcnXbg7Phs()SNp?vk$KeatjRl%cTS+^*XV|eN-ouf1psX z{3joS+kOZ*gv&@Pn5+CF8zI8q!1=t*k}VbAD*wHoK=GCzMrF64 zh5#m$aH~mtTZodRobpe(8SEJqbNr@z(&`(c3H=Vn?GeW>DX07c#9QTmcnfwk;8{Kk z#LL7pS(4O)%fAh$uMS4Y9roWw~fG&KzhTRo%N+QfXAs{d21=brda-ULU-)RZlP3Id1GkS)72WZTpf z%7E#k>%&YbZ;q)cIX>@b&j`#9se;aa9v#%#%IR<$1Bs8}G8SOq)3I4!4n{F9fb;VMU3K+crzo6bdGP0QMsBuYfB_IXb&FJZQ7HaYg%0_w1dD6%qi-;)r(wF720;qqAwm zTRJ-w^QLN-K^q`?6VGHxQV-VI@e7gINr23CJSZ9T<>>4ewX{IF9f4qMTRPhdTP>ANTRQu0 zckSQSS$?<6dI|!rXy}V5TUYRo@6IU%DFx znhs-)R$?}+GBtH_Oi)wPMx%sci=sD(%XpZZsO;9Y@I)lNHk_N!J68&9r7UokeZGMwGD^998LWc>*kc0_HgY=AXDLJ zYQ>vEv9rL*ak$!$V1c_Z`AMdPv8S|kU5Tce15F3t(3<*`^?%3uFS-?)IvfvsGWGggv5j|L%+8YvrnW8jReQBk9vs%#9 z-oK$AAbP+XH1+WkK~3F(AzpbHa*pFN>S2`C(bTAuNcCAbU$t4Xx#C-zn)5fj8pRD! z5SQ|rS5tWcj;*O1+i94r4r~MB+i*aal%uH~;9_fPSJ1YmUao-S69AMWaeK`1OUlvI zUc_5Abq^XvhAm$JVhiz1mL&CHO)a(x`tu1OKROc! zCt|}L*+r1QC2?u4j|T;z+xGl%M4~R7o8wabKy|F0ikmtt$j7sS&|&O#1|bXuXiRRP zK0_>sR%J~I!sHheCOq|vTSO*S?OqbKgr~G6)~=P#{y>dt7-CPX>uJ&nAF+qP9k>h= z8_7hR;xzF5Uegdq;rfNm(I;M2+$rI)vFEW)LLHfQ1?=B#h|t_-o{ebexg#eO;YQ*z zA}G2dkGx83<$0v0sowr7fK!EB6|m;E^$f!HUA|kk0H>|vS0zlpqCJ7&CVY4fk`t>| zjeS7E8r*h^+3>x95-R6T*l#hWSO?eFZBE{V4Mx|WXTco;`(qp8BrH%1Yaqb=8Jvsc zrshuA9kh;WB^P4l!KDMX6LtW*)wtFy4x9vXm0y)Gy=3cQ2%I3%D@4M)fd?e4_s=*d z2)>6;pB zHFYt)p6)q_DS=o(%HlFcV=IG*Q=Cjs$A&o33a)83CwCGDd)k-Q2Nd=OJKcs@NzC%J z|6bR&N5Ppw?nH{#YM0~r3WK4vB+r7gid+@2=8pHI#JL5{>UMB;k*oZwBx*DA3zC@F zXBm2YXd~Jn9`;y4Q`A6t8D4JC+tUov?#)czj3ydtm&PFQ<+8zJgQ&Wl4a_5Xe+G zZA4wXK{1rN;52r)suXx|kT7}vYSPh`*!#KM9EZU+_9Ais3>{M&{h+dlpWYGs^HiK| ze#>okdkXIJ)bZpA*EkKN@E*iBp&0z$DRq9rT*WBac62%=NEs%vFu-47ByrT66|H#QM^ z24h^mr`NLFG7!{}br;n%)b#XQX=} zCU1Ls-OKprcBiaGhiMc6(pW7`VKSdQ^Dv6;`3^Viq&@#UhMpD?VMKn2eStmQkyDGh zg{K5^**zCG&qCZ*1r^$V& zZtlMIa6hQYt!7B-8%T*s2M<|pMX{_*mX({7rzeD&W%&3LC^sKHjGbpWZf+I(C-}I{ z4IGci^W>O-Ou)_Tg~uYK+`M@ThJf10o1!jZV^@)n@aW;qoXIfMBfqB8q9$&hp1kpt z05@+f+@V55Ki&*;EeX*n2sHYs=dtgmTv6^dj*jZ$7TwDiuS>e%7|<0;79-uTgG+Qz zEX)Eje?}P5-iAPG7TQm` zW&!xERp?{VBQVa_J+<&D(sxijy4NnG;R*MAk5);ipGFi6vVxsK0149|6czJ$VT#=!8)edKQ1qjWLt&Ij zufav0Bz<%rzV7^4QR;;mkG4Ac-2?dAPlXaqKubybBWB`Zt~}||T{DnVw&~7{ zcdmT4uWlP7=gJmCOhHYInJZ8A$3jAoB}Mel=#2I)T$CC)PkQ@>%l$uNG7AzvlK;%cJiXh7(gxXC!-Hs9*^HcjM8lrC0$B zc~y#xS_No7y#C}9ct}+bk^cT|0IRJYV*H)knj)i)dMM@3-s%<^b=5-!f8ihCr=EJK z=AV5Aocijawtr;~I1SW8WB(8~WMlsBV^dg$oihgpJ*H1*Ka{|ru!$Y@r? zT?4%ie{(bn87&GIz{61gCl}$Tm5TLfe@tnF(^@@@^*6vO%ZxT*3sJU@`iE!Yp`D+W zVw!*4H$r5zkD%r~;lGH<@r(}Ma7dfsFPjWbr-%R^X8W5^K(B(UAYh??Zz@DTT(kl> z%l$W&!%v@L)$y>_KLAr}8GTiBUiH^(3<3QLuot-1{|;()M*mPM)4Tqxu7IVhxV`63 zg(hSS@TNk*K@r`%wkZa9RFR~9hn)$Tu`+^+b^yhqTffu_P}0PaTbusxoWH2dZq^>0XjqDHxrz*FhZ2TlEBEdorC zDlx^0;!Su$n1dBtArm@l3C$e|ipmujC8pkGUjCuuH<-{|d0BP}c=t8$ahoSn+hG1S zv#-vowT^Tp*v_xD;{aK1_@2W*^Xq-WR7qHf)O~mxLoZS(zz^h7L9BAR!?GBp1NfIb zRZhx#O`t^7{z@p0!-nr|{8M~<#s3ARwq`VQw3IdksBCniDYdA&22dvqUo!qFY7~)9 zOf@L=@=!!JTZ@|O0JMOZufY4*@I~OC0ygF4rzQ_ZnOD(eag03LAS;(y=4thsBDEPx z+kYirMUycQX&=l-I)|$wHY(+gmq<&zhq9TWSh4w7r!aS&*+U7eO;#>}`3am(~SlgGighy4*+kfA&B8r#_knUFxZedJh4rs1>F1QP*)6 zZCcDzh~RrFg5Tu{N~Av446&FfBZeYzcO4!n;bDwZrx7q!hO;|ftcsO7sQ_vF$@@k{ zu?|_mBr1ODhvdI5qnLBO^Z2z4b6YH8$$U!|XVW|BKLBZ6CnM&wRLocA4MAm6YM>bS zrL|ppivU(^k-D`H|%V<0=6Vinr+efarU8s~8mO-wwlL5)i#*peY7>3cU)4Ck*{@zq!?9HdukBt?@b+ z=vWPJ(E;Og?79fNxx+17fdvil`Wd)82;u{E@j77y4r5e71P<)SUCb~ZW5DbJ2@mB& zx0x-(kWvMyDNh=Fw|~lbVHUm`8e5P(*O^AC$lhyYFD zkK^-;GJ-i087W?qe*)V3HR)Onc;qa@jdkRn93O(KAC7lO-iq+it=!h)(fk|87ReX! z^2^7hb|`>hy$bX1dkC#j9T6s>dreCFHKs>6F-%KOVo2n|q+Rds62o3n7H|yts?))n zNPPo)8Hc?j!)epzkjLbsUc+Dy8>pRMrn9nn%1hdX@!-9zOvQ(JSXwiZ{Fnq7cCIl0 z=;6E*q7tpyXT!;+PJxcN0$Z-DC|ND-A#ZQPV zD@5e*(8x=0_xGLQ7Q=n2YcKrEpr6AFM(_>CE21Y|#X*wcE_$DBRKbu^M#b>%BP0~$ zUpRUA+N0i=*u_`xOVFA-;B?=G4!)->T)SUG@7_}xlmfQ2frUhLAw*(CS3l!m(%r)s zC%npK)puQa%_U~S$zSIh>|uifD%G21&Y*13P(8Rs^i^Q88kv0on+_r9TXpa1J39?O6qFi2&zIx*bVME}fTIE;t?mRwdc4Z<3v^XcA|*VmIcaCe ze^cdh!PMM*9Y9)>GKlvM)nlprANd>t>iif)X9lL*7u{Xh zH4))%)c$x(T(IYkjAkJWa0RHiJUTAdIdEwQTnO)xcZ9(4XE*avPs6jD`>2!Q z*)4rkz3}W-KB`c7b{pR=_5YBM8WWz~)^}C?xARdK!n51^Smxo`9epg?@a#@LmSuFU zKXHg;b=5?>vk(#YW4L+LO+CKt=Yf5g=}sS&;+#@-!BXg zt<^(geY z9(wy0q&;%TC?Qm-H*l{#yke_dY9fVansY=^t2 zMID?YD$6xRljCi8F#gFFWXs?!da4tQtB)9;IE@Lyi*BKmO)u& z73I|97!Dm_$Z$TbBtV%g-bCu!a`60;p?WB#^~$WK9{k=dM%>qcI0ryVc)BnZLmMH86Na*z^=yDheUq7DXn&m@=S^}M zigAQjyQjX&9O$caU;;tR0hHeJz2F}2nnNd*+_dmE$js#`=hp^Z<8h4lh!x6px9zGu z%$GNDa>9s{#tFKs%$P4-7y=m4O8#Oy>EKc$pfMxb>W0JDz|MnUVJI^VC7Xyy?NNo1 z)@LKK?YL6Ls`R1aotlJB*oaj+Z4c2oSeEX_(XbBfaP!>4&FluYho8zdIX~^;Y_!RF zY|j@(K#c+ACgmoi2)S-`^Ogp6uN0)T1;bMhCtJC@u$=gimvO$QfoVT8p`F%9B=nV*ZX|S21(bKdz~ZRlf!(Hwgnqdlvp9i6%b3u9 zpCaOc9gpE;-$0Ky1rjRXWxJN=Y~IHO#KTg<5n3OB|{7h`vrE@b|Xh`MDfM_Y9CYJb>&;+bouGc z@#%~61M$+FTuOR-rWv9QpOP{B)D1&ORpGZTE+cL$%0jKPEv)!urEB(C>`el%x5JMI zNbHnN+O`$R2{O9ZO`M?&X4_AHhr~)U`pMyzL#d8%s3N1&pxX*@WCk2+$mp$~p}^>+ z{OhP6^?E)^mIS{t1eBjv`i3gzM=# z01T3`1$Mi|_uT=y0KheZUL-$T2^b<>Q?Q`Y1&QIfwEvgMAI;B6CJ)62!B^lQKDd+z zzj|Jbj>K^3su+)8TY=fd0c=%~P(nsX-{&wm6e6<$cr-7lR-x|^(~+{+{%$I})*z0F zq4)rIh^TuQX!>zBNcqo^sPW216##uHyUykUKp@ z$U0cT(Q%Iv;?$Nu}6b7$!1G#{tzKU_h4s4+0fEOpecNt zT?+mR8zVwOP!^*Tycu`(QX07ptbI1y5>cF(^4=d7>n#uR6!>TJVG5tee)L4|G1xjb zbMi0nLy*HNA(ouKF9K81n}{hQg^2?{DIbQX=#Q@K{TpM$3eyz)_W3Y8zKXc2wFuYrZlX%u+kbEP;dke2f8lTe@q&bp9MO>50V{`&Zk)7>CF0(8#Gq$HV=Qk_Ix-#ndBiXVvWmi7=nwVi9U4*rEOcPx2Jko87~wnjAw)dv zJs$$rdvN}kEEP+lMaa9=kcz$q+CYm`BF}+;Dd@fKZFukJo!bJ%|1X?Fk?7osoJsXa z4{dbCtwS#hej+hCj|%+&c81r3NXUk8ZtZy2p(nOS9%cH*c5(}9i5vj_(4hCri%{kR zy+x*@yZ$(wXFJ}NPKA7Y36UQXF}JN-w1It*FM|IHF)DP;9vU$^5{qP6#ohz!W3pBH zxe-xl%&>@WFz=`^=fJ;ii;xQAJ9!DgWO*+YMk?G7p|g)m%h-T7BBA-&-fGy+CgZ`Y z>hN{b*}M#LVYIi=qewJIq9zzYfl?lciFqr2E$NMeN6W-@#0Yd>_2y4xgP^5%K}LH8~Rs zo;czXbdbM*e}x!bgnie+`(xe%Sn4Syj71bKE#7|!5^JkmeB(vPnCJ~b|4ub?NdVO) zkTPTg-bUPDR{hWvX_@6c^(nk|0HC)cO*ij3V-ecy2v=oGx*(msH#Dt`d`{u5)<(G$;ESgT)Wm^41*EOFJngP`AqfPEA)pOI~CU@bt-Qr90` z40{sJKiDkGq$#haAZAm< zR@5&Q@iyT1cQ7i$RX<`Y(Xq+#Q1HbCVs4?UM^s4tuhCX)j;Q&Tm7J&H_>Apcg#7su za(_$2u=|$uSHaq5v#svNx@Vw4Z-ma8V-?^r@INO;YtXOLVMN}HsEXlH6~W73{Y5ql zFn4d{W+@cqTVW6XW_33Tcf{ZXE+xkbOIiKx5vAr@(X9=BQ(}}bZZi}is^QoXUhbIH zZ1n+ufGtOaj2MGp-icU&H+&VJNnp)%M5vk*@)#C#=e!%*2L~vr%v%HghM#`32U@*t(OIk-v-cvt!*(5&r1oI-azt>Oun1A@;ep8E=WzBC+ru329}S97 zru>75QCYVBgSE;Lu}fvFGUo@QzPN(#dqdsi4)AveMJNOOdBmiurjErIVEyQb$Yq32 zMjV@HCH5}(E*Mo^#=6~9HU6uJ^%%rasVND5GBK)*^J#QQ=d~z{)1ifKAmT8mvJH?O zZHYo#^l#%1exocp5iwuBfVY6+(S_dxeZHM3Qc7rgIGUrBSWR!mNy{k#O|SYxh?F=@ z8+f5gDW&NdlUyRDw5AWQ2BwUrC5j=XtfsGG9bZbkraNE_PD+BN)83XMrJSbM1|YM% zrays=N=el8whQo^r0Ji^!f!=QFZmq!N}7K80PvMHJv13~6-_rrWlX86>AOg1N;OSq zbws$ynqK+}WLDSojqia^(eyC9L8a8tbR&$grPS2)qfA#VO)v35PHj!E!_vEyI-0(Y zIf9gWntrGRc5zWoN| zbkOvI3BY$M#KG>ECmJJvI&1nw2e^09bQZ(ys_~m10;Zd$-^beRlpdOX93zt{JvCkH z7tp;lJ?|v^_SW>IR=_{3=~uD8Dy5&MWB&jqU59mLCfqYL{UP;pfTk;8@mETwrfa?c z`2#h*W+&*unqGzF-zh^i{cjB94AXQe3`nPB>9CeQ0erTmlb=JlBQ-q@ube5PH2py{ z(4#dyI12gph^7y)>~b{Ss}?Y0G(7-=DJf$WJ$WxoPs)Ut1Pq`=4jEKs(4&JgtK?*i z9MLXgw3xgJ#y@3ZOd~L3ZRVhn83VEgH6J--*vLU0GjcMrvIb>|n5y$2aGIt{&(w4V-fmK6Xi-5?}Gar zP1l(YzjHMmf%Y?Ho}w2T#XrKsGsToWX^e4$lto%lq3VDH z3&MSwrkk)FpVjmqsfgTjnjY5x@|SBmbUyIUYx>M1kiSCHpJGcy%1TYgVFPc4rRi0emPy&B>Bht0zFpH5KLvh=rk`QGep}N4Y#K{>N7Ko~ zzpLqAu%9hur>2i#j5=kPrkm9Qez&Ge?E<|=(;mDBr0msn%Ob$<)AX$mK=0S|%&DN? z)AXLMpbuzzF7xDlO?U9a{R2%e-HA9K)bue->7*Re^v4@Pf2ir60^uIk^c1!WM>M?z zvluByHQnPh=#Mnrx(_fPYx?3p2=|z#CsqJ`T+@HQ51A)4?al%I6HTwcJVeT;nm!y2 z%x9Xu!LUBp^y_`#ep1tuNPnT}rBxy4OHD7qvgMSoG+l*xeoE8(z60j8rYC#__pdcw z8!s>^-)MRj>&v&ARyO%NO)ES6y{0!(&wtSL$z=Hbv81Yx(GB5#M!Od~0r#J@`xLw^ zrkvI8aq|%F&x*Db_g7uZmEvC3v{KybnpTQ?Q`1Uu|IoBj+`lxf6!%|6m!jgjq^7C3 z9*d^phFLTfH^QQ+xP>g5id)p8skkL9nu;51(Nx?x8xKQV+M=n%2^LKyPPAw$ab=69 z5?8lqDsiesQ;F+aG?loCMN^4eS~QiojYU(5+gUV~xT8f=iMv|#`JvbkCsjt5D!vE{ zLoN4{5vJ&4(Y4&zFJ;ja{C=#4d|wW!`JWftC4yMYEC|wCHc4ONT8w5go*jEP8Tr zDUMrotF;+#d(So~tqG!_>u zIw#5$mn^#Q0k^nf(aX?zx@Lt%qwu@s&dPtwqG=%RSTqg9U5ln6_)F98$bIY;-k1Kv z20rA>9?AGY*jBvAIQA8+NOdFZj|_~ss`%HCUo<(caZ=QQx8y*SSOki{9{*OEk1-T8>5*O$*W3 zqG=(TSoAZn5NQ@&3f=Oi7R{Q}%%WLinp-q$RSSz|t!in})Sy-tP3zd&qFJljSTt+K zLl(`N)YhVvwXo>-8@NP!i)PL1V9~5?9W8p~1()b#(d<@rw&*YFV7k+ysl{C_x_=#f zNYBHUpF8drgDsj?WQawxDI99i)bwE% zO$#^NqN(*GESmk=EQ@BpHrt}vuN`U8>=Tc&X!eOmTQqCTBNojXlVj0s(B~dw(X0$jx0h*BqC|WZvQ5{`>PR4$T<>0+w^F`~mWOZ_V0)uR9gY!O{rN?*u%O1lX zzOH58NyK!QNL+aXk&Eh4JS`KW#(aqCkYNJObyF zWHARM(L(bZcsm#<)C=Iy|K4jET%!cgHU+5w0|`Utocp651)nq3gD$U zd_4jjClP-0vPUq~L=Unp_??MSvG*x<3-4;I*uk1P4At5!`2?dk@X$I0->TA0lzIV7 zU(5qrt?U#bU5_E%9ST3O6Q9OlayEdqmA+Nt^nl(q7ce~|Vz5wK4b~k6|LZ&$Nxvdw z?{kP{|A>mEtufQz0lJ?Dh;qOv+L$2`Ax~Q)e?_2RrE%pBupSnmj2V^C2eoq^BUKmt z#>D8ddUA$Kj2WMBu#Ls;1y+BD?W>G#=a@;}jsuX_W8plJEG9=RlS)&k_;zQx#WQeT zVYB2S^8F>}AaYZaF4Sb*HrGRsml)T|;B%>CBfYN!dj;2Ac>yj3(V~f^MqG?rjExG* zL61!maE1bz8CFe=zJ}dU$%Q=J?HE3;u8;GK<>z+AiPAFg9#-&;Yf#G^Vu)54uG}YM z;6k}Rvc~msndMPTwZN{A%ZO!&y%ejTZxGhocZBQ1Hb)ys%})10`@|@)COT|Am8g7Y zx_XyD);t5=8i!B&Y8hDt8sv)Hj5KWr;GhGdI_T9aI*LPFHFlvwd=0=w2c%Z+sNj|v z62o!hhJ~#UKorv{r8yKML%39ObS8zoH4!bz2=8;pt<^G#;8!K443n(pSjUZw@L;l6 zP1Cjlt9?H9=!le$ETtO)R*ucqQ?MarKSqX*i8$gHTEtxN7ulHqkFM*0kD_?nJ9m4x zOLCVDDVNYflo}8SNC`y<(p%_;B1jjcN=YD6LK9S^ih@WH5D-xir2GM?N(TW8%>s&2 z6+{IDk?(om+1b0xC;9zuvd=uvyi<2)c4l^0lk^DdSTB3IU^S?XindK0ehk-?QT}N~ zFuJplonzp?Ck@pLmz<~seu;j ze{2bfg=S9F=KZ#23HT2j4H?tCY-euN%l$mk&S&7ia5OT9PoG8eofml>`(I8MM;pHk z{trhZ<6_O*k*`(3s}o4$>yKN0{A3PgT=%d+c*MfU!j1775YnWAujy!{9o8(4tT{@T zns(ryb2QRU4a)mcYyMYuA&mq-)zNU>)Akn4%fjW>2Pf_Ipm!nq*b#DRO5yqZsKb?3 zKRm_B^>YZKvm^|*eYr}^!uPFzu)m3ge?a6OpoDBu3a{TsUe`p$-^Qz@8X>QRAu2^e zr^Yq!7}UUskD_Xp#OG&8lMcR_qmg-KJL{sBV~+!CdVwG8Xk`7A!-D^a4c6+bb~dMi zpGTU!sb}FvtJM^{Yx)?X-HtFM^*isP#mwo#HZG0lk7A;0a0BN2GhtVmMlG1@3hupGb0ysCnyIyYEEc~`YzVL zM(l~IIMPnUR4C_>I&W%O_*s-2PXKaZehkrWN9dTju zS$)tNI@oR$<{-@f<0sXQS-C&L+w&l5{jl}Iep_7?%34aT`SRaH!#Qex`y_g>*6@B- zQKA%g7DxLav&Rw!_S3a{AEMEW0RIwcD6^VZ$MZ`gj$6Hs+9`hn)MCd3Z9dVw&3=UD zWW=(?_FDHA@H>Jg+_yo06;U6%ig?}l6sYflbP){qN1S@%C5$Ate2L-MZBYN@p}(^R zT(q+nKNz=^_{qw6P>K>cp$zi)ll9_SyLzjGub)R#vJx~u`v~qh<1hx<@uCEQD3u4U$C=q8luZ247R78H_0Lk zf3-SdZHb$S7=lYbej&n9d|7AV4a-y(%Rp2kTsW46oW|e%t#;d;Nn40|k}#NSxxtIrDCViSluh6`U07SBV!PgUVi zh$fIQSUfa>#nT*Ag+f@1&f9hP4peKxO->|}ZZ03U@GruKM=qd!P<<0_^N^pEY||sG zR)y``gqu)d79q5{X9sN>!k_%AT{{J#DnrU(I%`r{N}KtF)%7pC3Dt+HUAWDSL7Nf6 zKd_>m&OuO(4Y$c%sI(a=tXuo+Yrs6HR)yP4=h!*#KH*PN&20}?VGge7uMBf zcHXZ;^-s9Xg28lJ!as7d-QWVl@ahZvLh{a+A!#$eu*Rx7N{6ZyDTC)(dNHa^PG_v} z@9*T1b@T#MIpH=N1j{pCSP#$_aGQGrs^#G}-wLKPLHNrRx65+}RL80BPWLoxTNqG zJZ2ZhVW`fLGT30d1`}RdSWoP+ZTi;`WtK)?rXh%wuz%a{)*d*7rm0Ysx~XJ`A@>pDnN( zS7qT(J!u#4eyC1`+w2+4dsSh@_qJ{R4wc9X%X{Bod8P?}4NPToItxKnmXyJ~4-DF@ zA*{|X*m-XNRr_$8LxVPJ3IB{*_DL`ps&S4@9%gWlD4XF^!rxvg=R@^=xRSd>sjMyh zLzQwbR9}WGxlfdBsgAH-*k)g-eue4*DY-3i?A$3zWjb1jQYK_$=!;*7l6ys|tShW$ zN=XmVw+>fww!P@E4gEo%KE~; za+_U8JE8g_T**D7R5lR)gLwLnZC-)u?{Fn|jWS0Kg;n%N`|OAviTO|bLh{aiqf|B$ zRwg!xbDMt(sutl&?i{7Ev9PM9+cuwvDmz@sy`xNLQ{hijwK)r_cS#v6rI7BinXqnS ziy+6o4XVT8Hbc6{=EDC8CXG4oKST9bxXqC6v4yby#iI~x(;9`XkNAb;J*0cg5dIOF zc5PONstGBB=?v)}TMFxPyq(UTPz?*W8PYwr7XEHe+E<&`p;{PjlbVTrzPAznJwMyZ z%~0(RSMs!=Ecv#=I_I|Q=mJ!~lQP)mdAFY|`F6rT_zBx)WDY)kh+jyKc%D<*Y%i>5 z@k&uHr7BQ0AZ5@dPiab&F^A#%Nc0M)iU zHiP})`+YIS9hX{Y8T6TFpgvuHdmiLf;^F?8G!SiNpGX<*ZqzvXg zq~9DW{FN`-d2b6<&v2U|{pK)XX`kD99|P6v;WoM7G&g>M`|T0JtVC1T%b<8)sWkT| zAArji5tk3xk4x?acQDAu{eahDj}nEqR=_tMY2*G+;I8E1@iM@ZarX7eJr>j8_{p5f z6Zv(F*hgSn##?v}KmH?(7)nF%q$84pb{35hu`$?q%%T<$bZ|uS(lrBf1|!Cad=Ho4 z#ds@WX($9^9FerdqFj-0|85~gZ$Yrs5lKrU%Om3xMC`xE@n9sSX*&c*91+i<$&R0u z6GdzvjHp@p3skoqC3n42xg`(&UrO71LfU2pZ z46*rgE97{p@PF6WKEZlHHHwtnRq!+-%VoAcJ%Mb!BK*g(+m_q;97tC^QqI<275@A^ z?dG-z(o>GyF)Zht-E93e;g9~!zIy%+sTXr(A!oZ2Msu_E*M zhvffhozp%GL!K<#`nQn&PV!(E%~=ge`)pwi{>#2%Mvh0-<0q{op*4N%H@+&S`%`SVjZ8Wcoom_L0^(?QaTy4}4*b8^JtCKXj}I3sR1jx!m8vm<{I( zU!C?t`mJL$MrFBmG z+rnQz#%{pvAnoT^4;Exd+7}3`@LjuPCPF&Tu^yC%r2QS?@0@G5_w|tOf24Iz`$Azg zQGM$LNN+#VI;VXxZX#8=M^D64pZMiHSE-CNH<$YoVSTyFF84Z+wj+6-l94wHT<-4* zzh9O6AV?=Z(mJPosjw1Nxi5rt{Ufb&+LvLlg&kSkW{yC5!Lc4J$dI%z7gqCKc6+}M zY4jwO_Mki@?e8J&s@%&!T8HF$+Pk#QX_0h5uNx-DZA)^ghY+T!E!^PWuPKs-wz1 z9`itD@cVD;oc1-Cfl}?gKBOHytcB zxyzwCm-`0cFR#kIE2P67X`R#liLlmVQJb$~uS2@@k=8lw8-;(DYVX@2J>ggn7Gy}; zHwkNFvfbXVL8@UHNv1t04@vuG;h#3nZZicTtw8cTwJNQ1+P4U+kZSKuAnp1{>zwwj z!vBgY_mPmk?pP1DcX_YN<-Sc=AFB4g64LFC^`Knd@N&6t7yg%3xqk!cwMSa#w0|nB z-&MJLrsAvL_~ortX`R!)L-@a3WtU84NSly6PsxO&eJ7@|ReSFV=}5|sA@#hX(jF{Gd8fp^))+7IFl!iDT|k9ZYRANb|1RcW2men?nv zs{5hpkYc?xY>;hzAEf6VX`R#l1;zyV>{|T`(umho+VfiHv>zA#Rd@u3(_S3X>Lkz8-b2!U zLRhJIOBP?n+Ctjbu^ud$khGr^{z8~WX6q9mee03dIqhExs~qmu+4{$j?t7$lPW#sw zVaMCGdLGih9P7cX%K1bt_ir%bSY)>uYZ`7U@ypxZ<+L7``zhfsbIVS9ZAjaaoJ%IJ zbx!+fVGTHBTOSDNghyKEw4V|FuLs%X{tl!cJJy2*8Itz1!g^)B-DVC$dfu@fl!v7K zobWHhdmXvl??Gz4uF@WqOY5BWZ-wzwur7>l{=vDnX$-g~5V zPWz9ThQ#ZGxMbp{+_;^+8;t1H$$a8 zD3{ZOT<%wdU&kFimrQv`>ybQ9dzaQZ?N^2M&urUz7f6Rb(mJR8n(&vNXIq~J>AQ~g zV2cb%`*mTZ)UdAv+aNveSP#lW(*7%!AIjS|{#PM=_(pTo}J76cl6qW?Q3K}W)>lBf z?UB|w?SBYs@mbsY*N|R)q;*dFpTa+`q5sxiH9+&CI%ZkK%kZt`BskF*c zugmO>S7wOgkX`)`X-Fy__Cf~pxy&jV*d~j;#9B0dA$8BUZRY!U-Q|c#m${%FR3)LP z`TtcSn^rl^`4||Fuw3Tol6Y{THDui#DNi8sxLB(4yUZDfun{>MiYehLZf#N(>oOnz z9&h#7@Kokd!hI;T*V_3sY-B}?~g;eu0Zj3xQgdqrK*6-Eb#!P zV7-AsAbzqqIQ6`lLaGY6%pdVacUKiC8icE4Rd7iZahWMJ7V8W}|8Nyw$)v5KNEaUc zbB%{$R=A2+UZm=uA@+V7p~&f5veNSGLttUU4KB~ zo*R}&Uhj~qQfL@hlX4Y+A|+hKD;QFh;xZ>$NPQhBTINx$!)>Nim35h&-+-z&6eGe_ zyviU|a}l}OHOP%H>n@w$OjRdAU{@Gyq!V<>iqtCBu;Vyx&gU3U>9ea+}nxQfT| z($PSB&4lYc9}=9vCmZuiYLQWA#Jq^V#EVft|m})3|ED;)v7LY zZX2iuLoqH~71CC#xy+XeAoX*hcrRQEJsZ34MFk06SA%nmNI5;p$1PJ#T<5y&EAK}VPQ9^NeGx(m|%w#uu_ z3JW^B%top3F90$nOkih)#|K?q=F&OHa2+VxIV$cicqkFl-*jlWh{f9K9 zzwd?Kk$R!Ikgfg?skAzay4&Yn=AuR@%UzHi4wGso3;Mdu=^J3{0?6x*KxXubo7gSf z4^2517F-MPsRsN)8oX3hr(MhaUFPyVAWK7$7Ovu#6`QOY;4;6!i#J>uP;?Dfz0B3i zs(~)kI|a>XI24n@Rs7arxA!;H@nDy=68n^CFz8wY)pDiO+&q#S=JH#3)|y6tt{vdM zRJ?p9BRG8eOVLDEKC6z-3$?DFAo$G@aorZ=lAPl5Uo0r^FpPyb z_3;ay`rsrFeR}B;xuU{9&chs?Pcl z^lVowQD(ulucNWgby+XqowL-aZjli4J;8(t-oPS-Z@R3x7)O(^5JY7iA!n6^%S62% zh+v+p=r_3GI)VN4b(IRcIO&P9QmZ3y@mPTt8lClc)lL}P_y}Ybcdwzhh7N~3hl1cM zRCssedqkCV*FA)R_6&HxtteOB$IW-x-Q2f?mlgJ~H{ z>u%q@o&x`49!*2M;Uepa{ z22UsTK{To5zSDK>529;>YNBW%O-$&7>{KeS9(xbiL=W(Nl}0`-l~vj56Jg))jR!SL z(QHCihqqc^#8uTQfG6|$#&9)6TS-Wz#t-}nxlw;6m0y}QCepq?{Su;|{!2*DP-NAJ z@Z7LBj{HNSC3XR5UV4Tit5(F@IW}Dg)MG)Kp1R7aZ8dY-39kXFsiI}VgAXQUrCS$c z?7Q)v5DgtTqvJ{ zU||!hm=bn`s9(5{7d&LtO|7>u|I4|a0MYDlp?n=5TWn?>_S%{G0HST-LSDL(7Moku z-L~*6h%SZ;`NWmN7S>hF613-QrN+=CfOEuL3BJ^$eT;~ z$)T)H)fS)!AyNgfYvp{~y2qcPg;(S!=u!)`X~8xKN%7EbL;H zQo>#k4G$N}Q-OtDttd4M{yIbp!-euxVBvGty)W#{Y=UTCxKN%7EbL|tQK!NW5ZwqD z%2R=b-L0#GZHwl6czGIrA-R^P0tR5nT4$&>J~1PrveLKu*#jW z3w#truY?QbsldYi)}8To8ka(}K3phI1r`pl4z;u`9){>#xKN%7pU%*0|z4oK* ze?s(-gicSYd1(h?)(~r1oSlzE3|dO#C))!Ls<-mFzqkv!!J*c%?`>gSh?+aXouuIx z^k0~J~U4oj5FftL6@u|20iFfY9n5>8^7uucoa5r@Bn?OJ*O~Ss<8ww_sCAF zS_Y%Hjs&uc`^G0>Lj;U}ND)}*=jC(fk}m0+i-GlSP)8h^$B<1pbZK|{w&?FJfV-r4 ztx0t#a<$q~XBkJLE6|CtCewd?43fg%xq6Oa7%bIE6-*Pm?f|@E32W!}xb>O!-n$oOU zToq}q7E#7+$MqHX9~_NLGrev(ySf=sOqXvnzYG3f(v)Kpk3WM+`kK~<=j>Wdcpn!* z{A8ia2jX{Q%RzQ+t4I;MVb%oSj5K6I-h9zbndW6-y7i#BE$ju+a7V}kX(`-{AzOAm z>tDzGIAMWX%WiD_g=WSUe}L$!Bjl&u zysT+z<*u1kv67T6cX!QgX96Ku><)6VLhVW(#f_(hIJ+Ie?3O6nP_))+fIo5AmQG~Ydr zhR*W{UZW@4W(VupZ|y{#hv*s!xsvK~X>P+jS9T|>8tz3n;ra(y3C2$*s$o#`tTkV~ z-n=yUG)EKiT5|ecLH2Wjv}jG^3Tq8fCJAN3V!FF!U9~ee1k_84mNzfHv#71?er7`q z$Hh!=3y9|e;`?ZC;eSvW{R8DO@;-n`R6#qyw<;T&ch4=PU|`_j2)t5==r2K?3DW<} zMTrcy*8E`S_7r5iXIy8a)4qUr-}&>AmR~=w%PH8nvF@tATn=zZz2BC)|jvCv+)*04;*1D%6~8IAxd~`>{C(r5D_kl zg>ebyYn^VPIYDlxElfP6Q~ zDq{Ha8ogc`;?_nL$bYArd?WduV3_7tG;LJD{Oiz~NcyeAyy-eU7=a2|Tk(x9YEpvZ z7d%?i;?uFDGpwNT5pLu?l;Bb=F-_!&#NUN&b%KXT!&IbpP)x?)pb59DB|dm)4J#wF4WA|_1CH^- zZ?NzZ0_fc^F=u2Tg`QUd4T7FGh#)_sJrT9U0%i&vS$j_4o zs1sq($J+D`aE#g{&L(Fx9DQATICK;s$C!iHnHuc36@)=wKhr;Z1}q=3a}3Z}O!iLG z(Uf`=2RY;yAZM{yq2m?xLq(*1lO!)@!r`L@IMPpdghNLGa*XvI;IQA1APoBMmVToX zSUzIsZ$N{-#AVDv8}?A&!yjSOa{)*6ecG*g<08M@iaDV{KVr$-8*lc2WUCmBYk)Uk z){d8-A8QRy7s*1t;)>P+-;~_WLQC})HZs@K`}Ve?fAuCM_5L2;e%y{(vbR42E@n=< z4&!e_zM2e`0wWE{E^c0Fh{{C#RL1^L)n15>g$cEy6pgon`w-gykDx9qS}Qt^m{j+v zD|i+jz6R34G05?s3|P_q<4L^n7F0<^i;75vR+e51=dF~`WUx$dZO~1^B{3CxVOs6U z@~d8?cI|l{ailcEKs41`)u@FDc^?69n!E3LbX8*!b~=S0>g17MwI@Y2+_}?H5X&Ig z^8ZD$!Vf->q*!I zhBWW-OeD9xH52o>oWaAOP6X+>c-xBinTP>1?N_2)1$EP*ecKaZBGZie3Pt1j1Ubf! zQz+j-=UY4r);pL@F(eQrz*TYhU}^d$(EVKKjN)qAOzz-oE91P8PN+A-xdaK$8{%MNKH0 z;pgfJMxLM#05xx`a}W(mI=NKWO8yV^)(gIa!-QHMXwO`SqFH&Kjpu-FQhFvR^;2%I=4VT0ms*ai&@zm*c zD0$6ef{jmj5h?C#R6&SCqBaJMr-kVeRdEF?PlY19ske0vKAlF{*PLpb@YFkgu7OV8 zoo2yBfoqHmvJ27B86{qT{FO%qVFjO*D%@Mxgu%W`5oX_igbT*UpTp+BK1w^%SpgRx zaSnklsDN5Wo7y@|*ZzX9wppc~f@{7Md?3Q~x^FB+QscoTJ3Ozscn_Vz{sZvI`2Hvj#)gP0VV%@OjA5#3?>@|b=h|Sk7b*Nd*B#YcnP6jRu=46 zPR+sD3jVvAb}Wm*zo#@>%&IO(gu$`g%{=myt{D`ECNf|75FHmqVG7?&yye<7-E(ny z5I-R7RTbWjqwI3z)O3IOf-ZC7-hz<`eq5JYCS4&-%15HeEH)ETiXvHLetil_qbN!X z-<`#XDZ(8w8F4?2pelFMc3VhtP$-jug=bnwXunO~kxQgN@8}t+i@SZvJ_u&6Q3nmZo z1o%oyqh*c_;H{8Ej1-w0`s3n2QRIruS3iP3MKM+Q&f`2Z{caa+HS3R{St_`liyw0k zh2Q0T4u{?c&R1jVxGvXj$HUDiX|fRSLDJ^QLGZax6$94QSONwP*BGZ z^o$B_M{(^r)M1o6?txuUx4_?38ZGlX1NSWy#TJp7faszqid`b}ItF}E6vY8CUp$4= zYUNO&mBAH(OGsXfG*3R9Nhy7>cTt!zVgy(p0US?y6RoccJbF@)C9s35DP0)B^}yFh z>B6Wb#_dDeV+2`AoPeiMa9k7m_$uezT229@X0%(2{|zJ5oI*xB9M2XHKf)bGWOOm4 zH+i-w-dWcQ`53tlitn!o>}G0!in_+P83v8bJTwe5?*E0GfzfwxGw?4)c%Dn-M^Gnd zyoS3^og8B(9TmVyrt?upI_d+*=yMm{e9|@yKD*z8m4#hlr5vC^&{K^F@-ti*A9)%Q zq$9&3U3-G_aHJD743hLCKT4mz6fi)3#zrD05bhNJuw1)u~}dZ zIQn-4KOwk^APwaVay&F5)oBF#mg@%YpXmZ>6dwXB=^%_56kAi0oP?ioALjM9a^TQW zppbyW#ZIFp4-Ne0@$k>+Lq$1(!nODZWlWA|7C{p7*ioker12GOc~%qA82_VS`94KN6LN7B zizEGg(h;Gz9}fu)T0Bn>5itRNQo4ha!DIR-&bOGpC4i0wha);>gzdQz}d0rLTp z3I98{;ppTTZVY`rGf6xRM>;|M2svlS`ISQaO;+BS0o@jgh>rC7GvUyY(H=*h z6J(&mEF_I!pcsyHa*P=i>;^^N0V64W97)JeFN+O}292&fehiiL^MHDrxo`$AhJ*;6 z9D`wfBGM=X4HG;xz~%9;aj!VW2jujGSKDMXka3zZTZh3|FEkTj%b+8jkNPix8FGvv zbo4hld{q5i95sYvJRtE{6Jf_J1*9XLkA4Ky$uVw_cqBnOGXA2Y^UIKEItu)ZBb^-M z5)rrPXyZB@<$Dj#_bcHrY_J?+mXKr6C`oVlF`UBx1Hq6SgP>6Z*R}aBx|Zo;Bb<70 z0@diqPtHYxr|F1BSq3>ejVleh;CX21#AQT%2$zwCTXtO8j2>GN{=D8Ma)u8SVJ zj_OUeA?8Em@X?<*^8Am8&N~o-V1OJW@>4kM*BgXEsq|bRT?aDCiDqXo1)D$;_f9x` zR1Qa;s9g{r-VK&ufE=U#E;#J>H3;J@98Xo!mD>vmL7kmyfRWT8UA)jnrxsiUg>eJdx2H#p#pL~BAKgLifTwu5 zBsn+&^*OZFEb=+yP_voJCaQ7_fg42eK=J8pvb7*Th4$=LzIxJUNcEp^^0`af$!xe1 zJxarki1v5}d+^U_SrvPnw&UBUzCh$#H!;&dpRK;@OE6uZ;fBPO*$qsALT@JMT53r= zwy?l;?10dG1q-K56WU)m;d0gAxS|x&m+XE6-v_vaJpPKGi%e>gDeWGIdknD$oi={V zhAq)7*VFPF>3u-INRoBX z3u%Quk?womJdaoQ(+%4zpx?+Nq3>Y(21g!G^zc_4*MMHHBwE>s$6;WM`4IORWZ)2( z;|^PN>1AYovbp8}K4}8qtHf~T%Xa7utFK3_N|XCsTzfGF!H?6X72OjHt8>jo$AnfG zzNLtvaB}{jEPV#twn^dE&Zjp}>=G($;ug)Efq zG#P{2l<3ui1hcP#nHgkXOa_}8QKq$<^R^1iN5pdMWt&jCszq$Sr!%_`%#k2Vt8T^n1x(BZ!^p@36Wr1^*+Thcuz8sp_r zh;1Cjc$d=Ck*V^&hCg902)>IHBRAbjx~Z=%Laqn(sY7!udnvz+WKE z1In@Mcf?TS7UrMF7Ry(<1n&Od#Ga3_-Tbbj8q0(i3HIT~dd=4eH$G#ZH)k(E;K$(o z1W}YuK}I$2z#=d;*sOTpUQBHOzLg4YYdRv*u_I#__OX|A`hg$iXs9^|YO|V`g>S?* z$Hx?S@ID)&g^rLlhXviveMCt&wZp;}uW4%uq?s{P4`bJHJ(!xOK9X1B+DzQ(jmvKi zI)DaDU|g*GbzIG_!RYT~*r4)|OksCiISk77?zpmMapa{rd^5w$Xk{-`{FS15xaFeEV9+Cifq#qAv~ktV3OLta zf$tl60%uzYoF4NHR~H zSa6E0KMK^Fk?zhYbOr^}Cx#MkUu(ua&-H|jZ=OS_hvB2{V*o(Qg;5FKWw4y|K`QJd zEy5g#NIHr|Pgl~ZfPziuWk#7uC?9Pwa-ON*Xm0sZVMO3BI>B zB;Bnwj;d>99LDk_fvCp5nV2s54Wa&}JQP9>MO(1qIXJeaxo<-NyEhJ^!Q+=l!xwik z41u*iY_XL)3KJ>mP&RYa^{C){Ot*IXFCZV?!1Z_d#>Df7Q=&RqEw8w>7Vww|db%TF z6JDBUkLqlFw^(P1SP6c;qhT|?v}MrrcfZgRlQ8?iom9NMIrsMd4JA7)f9d*~#yPzP z{&&)}p;YkazoRBboL^zTQ9A;2+R^w)+D9L_k9yUN#x@*L0^X@aak0?^f##)e5=YIB zO+f5aD544YmciikS>verW}(Um-V5G?o#0%A-W?0UFNr<&tbKWy3VyoM;0i-&Ul%*& zy1gL164Yizi~dfyGRK@>B$MFX3S~w)=)AKi7R-*C87q|u! zvI@HIPes#Nfau@F&-EUuuJK-c{%y z{zn*IiuTe_%PJrF5Cfpm9>;5_3Tfj=7zP9N#EUNV2c?Tfep?|V*g&U&v4=y|NkCE6yt zF$BQ%IW7%@RBesCr5e)r4mT9cr z3CSLOqWS%&h(F_ z5?9~A4J0LQ4*2;_aPN7X+SaX@6Nm8_1JUb2ZBZsPFZGeu-!T`b;l)JgYQzapr<~9x zb&?ilCo5FLDex=&@2a4(cX!iu%)*C3ucF%cLKcIAMEqptO}da-QNrw#1LNi4U!6G4 zJzvS(Phwu&iWl)CkwChZh_(=PbPTxrq5H843+o|fMCo!bhJhQUjA;3n$AC{3B_dJ7 z)VAh>l5LBdRaF{zS`|bzjWD%2f;!n$k)JxyMAsZa7|{y5 zM)=$r4}MC}#9UlxV!Bz^E2I6=^?V7a6+wE_EhO;yd@E7byy~+P)aOJ~BDI+HI1OS3 z$h#fBaK{W}AjgR@gE;HaF;6}3(P9Qi#v@Fc=DCXkPr1>Rieb8;pH#&#(=65u8Gq~q zh6DJyN;t*PzfteuTFkma-}T3iP59Oa-I63_90~WXF`q>ALq%{l`+^^&G+M7JcsMC$ zOaA6~R)pxOU}O;&J%Yhr%r5ifexbbs-!&A*iCSvPwt5%Y{5)dWpK@vKGibgbT`+!G z5{E-e;z(#o9JNd0fBjLO$091ol6Z)cO!?p-)(diDjmBT$MqzTKTgxpTvt+i=>QLq? zpm=KF=c*sf>W*td%Y7nc>}5R5L%wancg>@jIRthpKQ;jO9h}H)@DuWA+D5}pEvr#Q zw_ML&0DeUtO@~ZP%dMY3P}`$X$0T-wKa@xF!)9ojM;}>=X$eZtPvC#cqnY?T;%a9# z!sWC9?vRD?CCUN6(0rX61Up?y^{j%~IkHn0eAPUf2(+EtK97BwXy>aX_)d8=f8#Dc zcTmK>0v_2EhJhcYG+G}j@7y8o#}B!+*Wo*dm=1`~W?pn3e_Pj9!gsx5M3*2v)Lj_Q z!l8Q*&7;iRVfia8!JByDaRv0Bj)W~p$?*KkFds+~A8I@SKaO6om9p>SRL{+} zhE?+L`B(vT4Uz=wKc?7|D5p_Ax*@}OJ|9ZD)P?D|ytII>)UTIul!>F1h(Q=%##+X+ z-{AJFEzY3W7G`a{L4E?r*<`XW+M3+{Ku{}k{&7u<&7W^nMYO~3=(wMWYp@*VZHD4g z3N#dfw4%=(1U=GRh^Ki^!1oj}WKN5DVl0@k`M;tf@lL|BYHS(vZ#+P{kop7tYpg@! zm#-ZU9AprwO7xAz6S*nt&^F3Iks6}nD80{bg5f94muKi&L2Ppqt)O^Ds^V^_=)F76 zqA`~-vvvtB4NtU)EGR}x)lnZdO>iQ;y)Z-f1wQ>}TIHby39M66wJ(!stCRoX(*+(W*BBzV|PS+g!xjo(;j@cJa&5HY7+aGm5L65 zcP@+qKPlXfyCu$@SWQ^lR@lAYA_$f%k>cx&#e&csUFhq8cbaA8TK#f z&=8SaKEr}q@7m316lZ)X74euTHTo3DDoZJ!W+BO4G*%|TzeJNKTYKobNiClsA!gU$ zp$VA1f(sG%T)B|FCZ&AF1Bl3;MQiw)i(-$i+mG^Yv_LF z7%ZQF)l+17Ij1=#14Ysz`qNErd2e_V)NP{QXPWLk;@TyS@8g#D9@aVBpW|oKbY~OS zIjUlUeP>f1ROKK|_f2sMFHW_LUqBld$knTMxapSa29 zo0#Acm%!a}c%C4Pp?ih6SNUE6BWK)J#J$G16>_i~H;v1?ujW~c;!4@p)2(%gn`w+b zkE?f6Tp!}zjDH?GP_2*A)*7G^n&Ic#z=gUSQ+II-XSxu2cag%!HI3S|cnB)uJ3Hm})%?)gD3_x}mf}$%))WI@K96STazyi8^4czF zR%E9U_%?YohjUP*SCh?jyuP0_{lRDD(UidiSKOV1Pb%UQ@VGLF8Q|wCjb;wTbudm7 z=7=5OK7juw;yxv7RI-}+_*H~AggKlhH;#Zj6)td}#D0r7OC${bQ`h)h{2hXSNJMod zbL`%XThO?8kuV z=7Yj8a|E($WQGfft3T*)OXNb6_RETbZ!EKC7YqIH|Lt?gkVwi2GZAw$q9U}N@cYk5 z{wunHbn3*V3U}Flm5qScs zOsjfr5xBa7?-^QYo}xGlQ%)m&jmPIVPF}zjX2d)AT0}zpW!%bf#jV6;=R^El7bxGp zn<;K>e3IGKi+bAw@1sQh0!p41-ttHB?vE1j4X~un!G8gNJs5mbFON3<33Emx1Q3YM zhhIqWK9rR472O|V=SDK9l8V+OQ^{SZg{IYjZv(}MYm_cYKk43F2}=r~dO7q>qWOMn zeC7DYv++(=c#H-;#gVWDDX9|Q^_<3%#h_O^61EZ(dj^?HlXVqS1SyKvpr92w?j%s|l9mjUS%!s6t_Koy*@OzX-^ZtsB)A2nb4&tRKd>)od`n33o@h74&8%T5-sM;pd^=N!u%>>mYNKV{IZL@VGtSzAl020}|4sV^Wj#6dqU$bS|3s zji%AJ=XWYQn0?rWJf^hA2HeyM0ptA7PI;8;gYjmOgip5U+G;X%hr)n%t#!gs;1Z(PmZ<~J!t zc@87TDH#|mrcI19x?%O#_wYBYJr-~eY>Ij{e!*S`{9F{)rXF{1@L*K&IJ_$>zK$Do*{qI%|B5se2VU3nHRuk$#iecfS5SWh zX%5}ZTN0DToGl+x9D|=M1R1)o_v~@h3NkFpf~x4yF;y|LnmEAAWf3zU%V!e@GLV%ldJ5 z8m?_(1HAVtO7KbqFCnQ4X?R=HPJ#b1Oyg8YZ@jFYmrC!0_aa_bF+?FshgL`=dOlGI zTuI_72^UdW?y zwibd~Ml=_Ks*rorbxCgrwa1}Vg>YG@3L)_SDunL0H4jz78{+m&Z2zD=2nh+(u3*XY za6n)Q@LezJJIR=!A?i=g(-wsCm2l6T6px7)PtxD7;0c|izWv>rk@U<2M37Vovv&EC zO6_uM5lQvF#2&(=3v*GSNiFwbOM23ondo4XX3fU!P||qZI7BBIcZ8NdY0U{t^(T#Q zj_Hx4$?GvlOv)XKFKKBhjphn1J)wdz{~BtD7EBVVL?pjp-;}RMGPmI8+RJU69`j15 z6+wGLxYs)YiXQHhw6E|RpzE1kGLWI`@V-M7O^?{uAX;xpXqvBA4=kBJ4o&n`Tz~On zjpk*#wN+-WCYNI>fT}_?N8alU`u>F65(Q#$;$Z2jB^YV9S5fR-NSIUb00wHb<~~R< zf``<+(3G&q{0ZU3L~wJ+rjsoB2%5KK9aPJEu|LPy%Sme>+UE$J8EA1EZGauE50zZP zN_Y3Sus#Ik&yM;O6_%t|xr=qww7)^=C|?=tw?y;cE8+d9i1KvD;EQ%Ay9Dsvh>bl01&X*64u&_GO<{wOIVkWsvw%D zI}$$T+wVlpL(!xZN<|l+Sjez2wY=E13ePYZIz6#f)DPCiu{9FBQbjnWRSfa0({9T@3A3jT5GB6sx52Lt)7TNxcq6fAf@==8VA6GYFGR<}gqoMe8;JuF&egLg@h*YC6Q;3^ z(Rd?qc*4!+u|h(|qJPEGH-20Iwq{&AO-o!6yZ(XQ4l9GNLmGO{MDV(Yx8W>AxZZaI z^V;MgI)Lx0>}cK#U%|xA*e?s)CbB_Ia7<85YToh_PymO0>sO-HlZgf3-wm3WjCsz) z)3L)#*(SDv`aF+`!=sUki@yCx1)KOD{KcS&+`^!5#`f55n|J`q#3(>!gsy^`_w7kY z#Xphdr{Ez#c!4h@5~CGiTMr$t448o<%sR zQl@rxYw0n=jmaRQ@W1bI`Ja}>3DeSdMOr@Ayu2_y#@n$2&L4`b1A=rVdo+zLucI-O zd_BhDDou1Ys4+yR5RE|s?ReKbG{>ECKeD$pkO(g}HqZ%8z~@qtaqIZV9A0WoY8)B9@Lq$D%`H5AXJ zqWN;5iZ6rx5R;PgO{e4Uy21bPd`s#0J~A-rv3#3wj0X&8@Z_N}mQJru&}kFAPJRX* zd1zHir(N$lZP;l|4((>+05XPW=%^o_}bviO=W|lYX>a=UupnVkv z?HtvK(CNsa?Gr``j3jzeS5_Mba_b=NSri2E90aOQr`?7D66+j-pog}h88qPF{aqfq ziPEXQbV`d(vGF4yufm^GjcarD{V*57?5qPc_L9A6%~6?r#16$_ke|L45`7~%^r8rzwssrz+`4|0 z!e*R?!$%`=q;EV6hmHc|7&FemVZWUqjL(QYf~lSWAF=Zdpz$U}be@j9C6EkyYnais z4gCJOgb=ZR!s*`<@SAivuDW=v(-pkLu(5)FFl?pZLxvp`jBHCe>ZV`m>?3JgaoSd(F{f{hqXRj@6?nF>C~aGrww87@&Uo8c-2Co){8;0%Ua6kNb?mx3!9 z9#C)t!{Z9>WO!P^!wkI zU|ELA3RYuSTETh@Qx$B6a0*UCNSKhU@?Zf6s*ATfPys{9#^mt z!_x}3Wq4k}=NMjAus_3_3T89BtKdY2+F84PXD~DsT);3|!IcaX72LouS;3tQODlMo zVXA_s7^W%s6T@@`Z!m1E;C+Uz6f`*E1#=m$`r9tLX$;pXIFI2L1(!42rQkY-2Nc}S@VJ5p7@k(} zD~9J4JkRj5g4Y?|RPZjty9(-^`TV_SCo-C$sbFD-(F&Gkn5bZ7hRF)1Gc2uObB3u3 zc3_yMU@wO03Jzh|Si#W@TPZk|VFv}@VAxH;B@Fv2xQ5{n1-CF9so-Y}a}_+!aH@je zGF)}mE{)3!XDaqjhVvBEo~5E&qM(oADg_f6t~+a+D$a0=f~k^K;#!hburb433btc- zK*4Sdk1IHU;b{d&GCZ%~B!-t2oXPN}g6}ZAtKcez8didNg!&0XQ^8#fqZK^DFj2wN z43ibS$gs46HyNfX_z%NfXYGj0E>w~S6pUkdT)||9rxkpH;duqq7+zMeKEs;|wqkf! z!Dkt2=j?d*g?T{47(|~onc=E4=@~};8zTz z&)KOu&v2w-uQSY5@Girt3hG^{=w>Py&2XNAg&8hUur$L}3RY&gPQi4BiRbKOG-tR) zu^kxhQm_}p0}2jdcwE8J3{TsT$D#YN8q1R>v^fyR4W~jA`4J0~&)IQqWmsCleGF3- zJjpOk!S5NSD|nS*V+C(BY^9*-o1HpBDx?KC%K zcv-<`7~WK{2gADx4q}*l&JLTyP{XzbKH*+wXev0HVYGsa7$z#Xn&DJsY7@g`#qMEP zTESxsQx!bRFipW<7^W+Di(z90|7F-p!3azPq9hdzFzlw_;|yo2RF!AgSFtr14pFcn z!+A>FhT%xXc4fFku`e)OrC=7rbqY>kxJAL~40DyKw;4`Va0SDe3a)23Pr)4wmne9M z;VK2cVYp7g9~o{@@Hd9L6uc*)N|m=eU*{BzVR&4@B!;IIEW_};f>mW$W%+3tR>2Gz zR>4j(tb%BRmm#&Cd0c*yp*B#z;3Z0NmhxsGBg#tk72Y8jfp0v zOLutPnyyD+K8~Ftm?ra_B)=6jVMb8@g`7Xg*$th3l*A1q5%wPG%J~5YV)@*Y4|{eE zf}U6$>EvgeB;s*`bYyJ8`huq-!M=bxL8H+f_%)!g&FQEmvE-*;f)gM=;~o)xiE#Z5 zKY{@RM>;vibz)y8HjZF-1FO?>36{MFiG~#@o&5CYDJ+R~a*Sya(0xj}dpOd^n)7h@3YPXvoR$;FwdO80w)jTOAgaHJ~iN+=h7LlnyD zB{EROM1BeC1dS4Lh=UxX3>|GChmZcCBP|}pLJI{u0KxQm`C+9R*4#ZWkrjfT$wZK! z@eUDh5TqmHeT4NaBUlMgCuroy)@;va^2@jc7$CThAQAex(kAHl#0 z9O>j3n}~ft?Dqu6l?3$R-c$bzTXgh8h2fB&UJ)=rVx1ggGu~a}sZ6>OW#D(eB3Sa% z$uS6e+7Nrb9Q+

kZtzfN#3!Od`tJ1AXG4s^zor4eEh9W5fu(<$r)_!$wE5Ml*6 zbQIuno#T?8i*JkkS3zW{95u_rpi=i%gYud-{f;V|->$bRdT-wZ&5 z7PCC`EG0h=+M3?rMGqfx?`miUJs`-BNVcXm40MCZZ=NMo-3*JfFeZK4DHSknepQ_4pPi>Ewcuw6M}+ z*lnRrE)+`&Ehe5oVb9A9%06^!lZ!+T05G-Iv;aX*dfCa1p8~U!liVZWHBF>WE*AYG zUXu6}w$R}rRTwF5uf#uf8_6kQuf%_O7feZuR>PxX{7b=Tq>@fQ)}?&zc?W*J!=Rn`{KSKY_EGX)d=G6mG-v~@PFwQ>d_)e{9c>rnlqBHt zbpe5CPpD2u0X`y!g|zjPh1GB}{Dd@+hyFVnn=usI;tW1|2S@suDsbp1K#sAYG932% z350Q(*qc?s@)0}t0FC8nUHYm%h?pFmVBjGLU9Sd~{RFmv8XpoH3qL)PhsFN+TF(6WjwSo#h^VC9$Hz}X$wt&Aa9-U(9*C$Yr7s= zyXUv3ekA(z))HfBiMZ4fd}2W}JUH|aHfUAWphZ~^E#n&W)-GNQ=CxT5ExsDG!0Dl7 zPh%l2UV2h2Bj<{_Ofs9MpLQh1@A8?Fu@a;KlH{O4N1HrGzH|8imS`rns zj}Plw%8!;t<-7HbZOV_n$SdD_sV}V#%NyYsRcpZEqi#6T7uJG9M*(t-Y&;EVu-{4$ z{7!%Ulc&Ja+x>NRb^z*EvHGN+!;$f9Z8&`NGLH1U>2T;MK#s8xuf{Ui?pKXUdGOW)|x8zUb&eeO_SLIiybLa$5?Wl(3yIkX1-5;cjlkOaul zC$xn_N5&jFYSj(|9R=#+NGHcQO6;g-0GAL;Q2&C?4mw5jNmt<9h7;g3hE@Xum&xy2 zlFUW006F?onQ-XH$e^Rh4j||#@Q@%m##CY}cLMB8EJ1zCx3I!>KJYsj{Q*vZph0Vo zffMBSIZ576L)dxL%+jOLfN5!*-q9+*JkOu)GCC?^s6!-uj5Tv+KN5q74AXK--Y@Rf zhVL&6JM<)8PI>P~5GVaQAH%?;ng3uPVp4??0{fZ%6!>ggQbp{L)3I;w(;Nh#JuW%5 zz9sz)TZF;c8MBAg9GLkV%b~z&q)9XJkt&)d1UK zQs(P;JU^$E;l*nqIugif2C zdDa^CvTdR`s4_v?N7d8CdT%OT+(V^O4^)#NJvR#p=xVwC#^caL_W;$`q5HQRtmQms z?P?&ifLD`guPRdRnPEjYE2EJ#|1Q`yj)Gra>3wG#%Cox_sOgbWd=CD&qmjGGhD|~q zdstiWYVT)jnae2Ux*GGh+mHISgH z63s1)>9PrU;5%n<{FN(s&&VHm-va1%N}`p$LTzJ6L>CN>so)2I85(3y;}p+%G0C)q zMqhq=70k>a+bJ4#J+yF_G`DsS$yo*Fqagd-T7(@|cnmU0>^?9@g6zf(NY(K8Zn$Dl zsxE@L8f1T@+8<#K!TT6!bD9eu?J)6^m0z|nReqLPt%ZD*UNV@HL6+V*nUnp0jGYgB zPu2hU&wcN1?+x#nFq`=^n`YPynTXYx3Q;N*C7VAnB}Nn@B>5Lbf0Y##B~dCN5tT|s zQ7V=GODdoK`=qFT&(}HU-n;ExpYQMec-(vLd7anmbzbLn{=Z)5-gkWG#pcU`@`oQi zg4Elk>LY)&Ff& zJ}vX%p>!}6yNVH_#b4*}rgjX9k1wAY{x+3yMk3|2YTfbxADdy^>B<%Q0bX{T(aAT( zyut#=IiIvae)_KUZIKC+W*Q97pqrlW+f& z&rQ7Heva-6&a*AdF;aZzRFOvFu$&ReuRNM>SQ6G0E&SF)qSzJx}H6D&lzAN!?E6ZX5Nq2k6j{Jv` zio3mxg4~^$J;>@}9qAi99Gko(@xS2e9Nr@7LoeBp)uJ+^bd z87<{++RE>(-;INjGGaIlX!VV`LVrP_;$G=X7g`!$Vh07MBS~E)SvrCFm}2?E@kO=G z_b~gDQtT0%=G*$Q_tEAf^_TT_bq3dwe7%RFS|996_N(guvfE^TCn-yV)Ls~S${(%Y z>vE-OpC;vbNey~nYdt=!uC)<8NP*rX`GALF{*SVJO~##*QHP36qS?1t+)AmIvtu~_ zTfQ!Q7jMtjl1TYeF~9d@v5?#_Mm6FJebYkvuTFY8=FT{@*A8%3FUk2{r{5%`>tlwT z%iAgElQzgpuiU?%sat$$toj84XCmn{JRHL#?ul&_azpJuj@vo;9@1C%ICkFS{A>Bf z+QYuGbJ|wYcUHrBeVCs~qx1Tl^dmlw>EuUm0_WMf^NuTn6Pv~hlU%yEj=|~2 zf%@{zb=N#)`LraxLp7WeTWA)~)$R7IWBBwXeLyvwz9_JKOWi|xw(R3bpIQy)Pz3#L ztvj4|x3tW6lD@ne&Z$F@`T4q=>)X7ZCH*xYM}Ja8E2(uy8h!a|jgJ4~sADMmb8x=) z@Ko#hPm$H@jTYtbQE5{DCMA~IHx=Ewu1s%lWK1|1qvU@e8}X?go>nUD5`2Q{UwN~HX~m~GwZsxQK2r*Jx)Ep1gNy&rSD0d4VPz=ypg z=RZ3AHX+>~6Jq>zYuWkK?_?;+Y(&8Ma@I<B);&<0n>U6;8N>WXcDd>cz6(4Q>@h!R)FQ=Wg==d0|_(!&{@#VjV zN2Sw>B~pGoCbWw(&4tS?!s)+ovPmam2H#FAeF*U5UXpWMr~e?Nf5zOskq+<@X>WSz zm0R&&k$GrMF}*rplm4@ZV|c`sGcA|@9r<)8G73&jWJ>1JA{d>;XdLB4R`E~68mTP^ zU3{dEFJ?k%$PqVHUcLfF{Zhe+g{|tiY&CUL(`k0YJz5zf5TnIfOckB> zu9E4ewiB+y&ibK{M9b?qwZ4Xha}V@tg)sS1WYa_25=Wz)PK}~IjK?C= z9Uv_8k*<*8B&Hi@E>yd`+36k~f*2-!0<_0spZ71oKAX!gut(``b7~N!k`;?@wg5*|5V4mZo-Fp=uZbJ6I zNOE}}&J?|2To&Vcu9K#I;XA49{u`5&?IoMRp<&8>6u*s=RxpA8v;(Ib>3yo=)YF^h zJSTp*;+;6s#z}gL=t^YLH&w6KDD>3UiN9kie**@>;wnh0;o|A^s&>vv-yY?2SxhFY zN#86ueur=x!%{VzI*dZKcM><$IgZUT@L9`Z07&GA<-3ZxATzYKmGA#?@`DDASu z%tj%#9Oz?Qp;@Qe+|)hJIMT0tBcz`75=`$_D?(0MIh&{$wK61s$vK&)j|Jzf&K|Lf zm3&fm{D=RyEO(?BDl7)XaM7h06mOTC7~W!Qu#XN88iYMmVD7-nF^}q~;JNx~Ffe!O zU?}7%S#IGQh`P0*b*B{r(@|mN>Zcolxxbfidq#Sh@OXJTUk0b=+Q*r?UhM+>+(y>f3Ri!e=2> zxF(yLWVyNKhRk8v=p@U{m0Nh%6rNU;b6Y1jiH2npl_zcG2=A4IW>dNSKtgPU zz8e1adME_uemxDQIx2XsemVlotuX@%c}kXBxHeJuBxv1QHvrR7Vdd(lI>6jHGr0|s zr!m~Z0!!8j^KRs66{%slx%w%K%#-Ej>f5~{-&aT#UMZdz_ zxlhlBLY|W47T!eEtplz5%+0`bR9LzCX)`dl?Luxf_`e#r0k^Qgl669RmP^U!lNy$r ztDoK?w`94w`c^cD)LW1$e4!xA&DA%NIV|g~WVyL=3)frB(~(=b9g~|x!?G50WfS4* zCt0k!vKn_~3GAi{ill~{$kQ0P4IvuakY!i+RF-3|z}yaZkdclGo~xfa19LCA6AF1s zmRoobQMW0y?!dc%>8P-B_0wQr?!LRZJuXkraSID9Stq==gr}pVhUMn!r)$V9S#GYr zea%z2JyL~#6J)u$`X(}mWx zjUgen9!rw&d-p*hF!!DNVXC8o=jx~Zz}){XgF>E?T}jtVPRKm7^J zz2-q~eIMX9@A5iI%{i~O_-%U2#9jlSzNzl52D@s`g|!7zB1v*n;b}Qgy&eOHK00ZNB*~4_ z9m4QcNqRc*7Z~0pNt3}>-Cq;vMh#sfP`Po+MF>WhkHua zX~#XZ)alcXPl-Bx+ADXdb5VB{yVU8~y)R!DctGY%{t5@OJDhu-!_*}6Yr|7+6h7aAv&p38o8REtYS<;*5XunHSC|bpoe{j zznG*eg5*Wh(Z`^~zFUo%&Y4Ei?Ot;5B~JS}&ic<$&>@M>v11map0ftbr#x&`tM6rq zGPK4upQ49X0l)7hIj2(+r$~xZYXcwRYdEY%pV90wkAQIEACThiqOKa2CVkn?QRks8 zr#_@t(JZL9gyPBJCq5VB*XUu4GJ6h-f51P3Uot&2ezrXoh@{@2TfvfoO_yumU_@%UqrGl7CPF4-pdQ-bGuq-nFrm=xwW|k7COO$ z{y3c6PPfoW9(2yDK+mwysU9?Z4!IRt=nM~fN?%Ic%|d5+&<{=rx4VVT^`Mj4XU{FN z&;=g!t!$t@EOe0vU3z1Tn%DKDUW|wdF?V>-Dd)wic?A}_#DiY45Zp5?w8De_bQEZz zg)aA?s~FDab+gbF9<*mC_;$C@RUXtm8EBD(uJNGzBTCKdVWI0hXg?0P%{$XV*L%?A z?SP(Tp_@GDlOy1JwuNr-psQn$x2J_}_n_Cu0_|m?J3MF^OZj=dEp(>`{jwRkonxW9 zJm_2J@x9nS7P`lSZXE`0UklymLAx9Qdai};_n;rX28Z)3^neF#dJ~%LXQ7{Y(1u%( z?0gG7=t1wUPl+$E(8C^dZFkCcp@kmtpcT!Lp}&Rx=s^z;26~Z&{^~&&Ux;KETj((l zT6zk(U1FgpJZKTt<9P!tRMD9ANc(zpjPD2o?pT-RjkeH!9<=a9 za=Y3>`+LyDop2aqp#wbVCvSs0)o z*+OS{(DTov6y+8=%YzON!FP&<&h?=AeCKH1R100;K?ewQnuRX%py!N7-We8phX*~c z2T!&$FK978ZL|tQfk&=W|vh_7;26k7X zZZ~;4S8lf^vw>O4EnMd@@IC-9S)SZyLh<#VGm^xj#g(VukhJ<0V z=bXcX)12yc7SqStLfmX&`K zO_8W1gwG41`|GxnFc$;8E79;usv@?Fpj@9uRBo>P!*#f$m{jBzZnGIKg9YUio?MBB zhkeV_G1f!jiX%KpRG*T*4YY@WZv6%5s>gZy?@^v48lL_WPqzwelcY*CyqaxN>}KKp z2y=C^L|uJbL)3kJD=6|5`!OiV@)Qm~PxOdT{K-?YL|wUsXCiuRY!|BUVrof2d9)L^x7^;jj7r=FAs3CV+S@Q3$Gbhl8{ewnBDg+gHA)K`cel4w81@9=LDJu1;tUqzN4a?5=V1`kjp z;Sawjs-Ke1p=rv^m0Nf(2Qb~WJ4xLvw{KtL_M6=FOFR>H!L)Z*WRYriC2CH;19~JR zN9x~)`5`Gv8KCfvret{QZiuE!^fjWf^LTQ5HzT235|&7UL}MS61c8P7yajW)g}1%| z%5#!1mb_evx(g)r9!c%7htv;9O_nEDZs9NFN#5~t&v~1t0o;a(ts+vu*R)ALiEvdY z{y~>rGml|8S!y5jN%(e8dp13y#e@(%1K3^4#Zbg$7!NHmc`;teFy6u>6ii=6Q?-u?B3vgkTr0&Z&zcXf9{brr{;43NSkDTN! zA?;*w5e#Rp@_!-!4f~ zFykA3G&KJ-rS=F=ZoFUs>TYM-5aX-*#!u+ibTv3L<1QP{VM&3?8%C;CLM_gVOlz3I z>P`TuXOQwA8F*KR2J-gEW1-o&?{_-|rz)M^S<*FSxXBKNPl>MyJzD6h!rrjs*GS*- zo>inaVpO>ighB_w_%-*FmH|yDzNk#ea9LZbw2)CLw0Kh6;^H#Z^x@i9Z{vXK;xhht zmzJGl>FfFQZ$O{fk@4HT$!Ri>HV&!E{zclf#m)9{lL{;4)u6a|h)S;;YWSNWB3>r( zLNCMASLtJUkQ`P<=%74ZfofT2*$mf)mc42IkFSKJ36@}jpYuYG;66=IntASY1k4EK z)NC)MD=B=Fk6gRWLt&HoB$YZ1erupQ^0!guT%XqmRe25QD+O^Igz6rLM0g#)gI=8y zYA*dew768IUQWU>s8(5CJ$zoV=vx=W$Tdl&bp-b$peJ+b?jb2j+c|$E`*xKj6w5ns z=$~+wQ}}M<1OPoOZlRy|^_6iS54jvV+*ivKc65Qkaw;~1lyhn; zN2N{Cy(nh!mhznM;OWOVm8<*X4ISDqxbSkVDSN zCSGPLy6RG^JjG>uxUH zVaF6uA;pr>ld-Yt6T*XBLj;Ejn1xyX5JVebMGHpK#%J2LA(cgEn4mKIb`nyp`dQF) zwKTy%I24+osyiRJocBKgH4_%LuE)hTQ7o^7N$OVW`X17Eo-l1D7$9HNnKKO>s;^Y% zHML_jUbC4}7TpH^j?+BMtgyV!C=!?zCO2K)I9HHloKvY;@c&#yvixWH^&5MZZA$^4 zF{{yyyaKWwDWsKq6(t;WMSTR#PD>M1 zRL!%aD(Vj?nhA@bq7K<1${kCS&#(O+|Gs891)}zaQ;pp`oBRvcy3*dj|CXyPGA1s&=!4P}Odh5c0cO{$%ngv-t!n`nIx=nfG7L;Mv(} zWQ3cf^6!IaP!v(qp0;Gtr+p&Z;g$O!-826MD0@WdWQa#8y)sw$RMv^@M7>;{8=wNWXZ72%Ve<(T^;zGPbWK=n9vT6~Nu zTJ;|sW~pI4L=-*3Bu3=4M`caBn7x7XRRYpvi4eDP(EMw{6;?!c1p4PxBw-EKdB0ID z?*spscSPi+dLk2aSQfcKhozBQbXXF(U55iy_C@UHM%(N<`Pp4Vc6!0;k5olK%t&R{ zlz%&o+LPJIG~hSgh6dcbOoN`K4A+XjiO zhf|+rq_K$$-LDL(hMs{y%{@ma%QtDa!ppt81htv2I?MRh+W?D#zZFv3f zra_eW#UBXNU$37n1GT2CvS?pk$F8BD2r)jZw7IO@M?iNym#+Hr$fu~O95A@SX;sP^ zN@WS(qpKYyR>cK2*FYmr0*wd@skpH^L<66s^QWgohDYHa2dd?|#gxcQ8?ze7E*jB>M}0fi|X)TrUlc3Gl>674?eOv z6!c)3JN~r?iwq4O6i6wFYkrb^1lBc^NxtT(hxf8uq;xf!_r7U9hO8c z(%}G={{;%E6{V2yxmL9gVP){gG>M2tvg7u%^ZKoNyB`ZtwNYAThH4AM+Mxz^zAy{K z+M(tqZWnH~Lv6hUV*c6Wv&7~T)Yb}5IHA+R<+TkpvP@O>RSb+gH8>-Y7;bx~9`PlkKBJX-k?`<;OL+si?Z|JJJfBa*o^jH`55 z7AYf)SzH-_H(3UoiR<)n$Q@@ru*zYZ;0Pg#Gt-^0qHH+im8- zP}CJ@L|8~hf9SAG<^4B_e|{rnmBkO%OQk^dU@)KgP8!(AVg_z8oZL*x9Tq=m082dl z<=(2few?FT0UB>{7x;?!8K_f^37qLRpt~n{h@P1O&9R`9K+sBhe(@X`boVP zc%AdvAaKB1e!)h*2~aJyWrf9&`8a#54n)2LWIe+C%-Co~n7*BagA}*4SDsSC ziLB$&Enqn7^`eJRd7JggnX-5&59c}S~ zdcOp`suQ1?qM7ZhSdf_Q?d&&3CVQ3kFlMCT5KrOK`_A@jI%rtSuU+4m_|wI}V!ucmoPNKKvl%`glh+<7f95hOf$}oZb#8uBnYk~J+;j7DCW5H4B$J>1!#{5H=LKae zLZL508=w*4CPn-}hh>qkbjbdGG+_le2

z69M}$U^Q4#TXrhal*iBeJnX0O@eJ%ghres_cO7FhvA>>=Z@~WZ_{+y%0b@5}{{{Tb z!rvDeE5v>_9~WUihmYrBU(ClhVSh6p--7*r;^V)>{#HH?U|+(=rPv4gxD5LcA1}au zAs<)pehK!Kd|bu*YV5zn$2Hj3@^KyZOZoVA-Y?_*o!H-nKiPh2Sw-P2>#NYI&SP1_ zmepO;?+d?<ebj(zwfoFmgj_(Wz~Ir-#={s*k|>guJvp`#Fx9{D4!q1dC2uxR$%x=uXW-j zmN{Kpvi*aJf#Hwu+q;eQ>GlTZ_pPwze{lZ%WH?Jt6!KB<5+9xK^G6XV?GN;Mq-iKe*GoeG>L( zqrUA!K2Ps+-oWr=$en@i_2UD>|L^(pk3DcjV7OyUV0do5^{aQhlTLWNRL5Mq?yvso z{Bs}NS-SmfG`QW-B`|#Sy1=jp9Hp=$*(m~fs_V!1{ZG4|1E^=fV-@+k!+X40)|aMr zPu&Cm{%Z5b=fQg=Y&XT`ejoMA^IN|{dtCwUjc1W2eMwhJC+qt^?6Rr8Uas$%y`El@ z{lMqhLAp|&4}IA?PW!yQC6GB%WkJX8UyBbA-x1#=v{^3Xxm|A!3@`OqyJ6&>0oVoY zH{ZI-D(V{(c-{lOpBaO8fM3<;SanW&S-oUS;{2|c+HK;FJowjOkZf*k6r332ZGRrV`@mDj9 zss4Oq3ig(h~J7ouk5fe`w$+hav0!MlC`%u@u@$5h29skMu z=ks+s-?VXo;V|-fP~W^PcadH=6~sf^L09(@INzN z_$S)@&${sEK~D7dkIlgUVP^i4v8nt!!T-!Oid9a3E}-&|_Op*u+ninu|2T7gx3o>* z^!Yg?BY7U@Jd*B2+Jkn=Lp$MbKK!T1gSavc{nLxM0{efp`Q-UJiYe0P!pI|Si}sx# z$WD(%`;mv_DUL&SdHkc(%h~xZl{0zAk)X$p;nyQiq%c|EZAd?( z(sASbdZbCu0Q{p)9g}UzZwUX*pBx$Tp>MGa9e1z{9WTdmo{F_EBJELW#D*LGyCHMH zNK+oN6^)f*YZ)gbwwyscCK1< z(%IbXZ)uJD?~XJ#H85#Stf4a+tLkNrHn&FNIBbZ64*ONHS+TBIbXFwZx~3@_ zY>q`*s#}|zqQWQV*TmMew%=RT7H?Y9^tDL5sWnwB!P61P$>I>%Z&sn(ViyF1nrPlt)8p^2JlMQ1$L5RNu?cEn@t;T4@t&34mJIV)E- zH?_pVYg!v(&EfV~vuy^O)zOplpoLd9txDpOuQ3{JM)R*}YihRjc2ul%ni~9#u}DL$ ztv2#TqT#kkd!)G;Ma5boE0D$BAlDXaUs-{AG!uYytR>ohZ(Do`)N<0R7f=b#hV#)_ zdpv;k)TRf;RBmejD#> zi8;Pf-atMtcnA7hb1d8{4goyg9%*W^3w7k$I}<4ePdBK|1PFCcrD-DI) znmboDwV+Ajja0fVUskp_e0Qv!l(y3=V?yqnciMMJq^p`6lA0QPj$O(k=qX9V65duD zYmPo9-#uk^J}p(syPSVRz%_0iq2IO?b#{AeTP9gh8Cz}GajK(D5#Q+pf#YG(vPN<-(G zwq%%g>I2K5;FkC-M`T4)qyrJj9zvB}<4qV=R)ssFjTrmwn587_P8+uEYY$*f+BU7N zf=Y+mBQ2|h7xqFgMuYH>hMeiebr2jjGpaVthc96?4OM*%G9y>1C;UT3ywf4Z3xDIga(-3Qm zwKQO$zZcqvTXAvN(HV^*CRr;Zu&Z1=g6Q9Te&))5pYtUG@j>iHd-%=y6&Xg-{5?D)gpZI)%_K49mu z=PeU+YM6hmqj^B^&F_Ohbn~3o12X4@xn!MB=DcX`-I-I%wcC-(JBGG=K=}f-?E`Ag z<)rNkx%ONN$sgi0`N2ClrgZ}Nx;>{V{{J7T{ywy`4{iMMeJ^gOd7c%R&m%k3!#*G1 z_mbVGX`bc$c~}V>^%t?zM9j<3eDMEYV+87aV_6m)JL}k3>se1-&seL+JLTM1>t%1& z&{*rBH|xMytJ`tebh#MmNmBlozb4WZ?!c{!J>^E(;9tpgJL-pZr@sCwtpyGI;p;!T|F5m> z_m8oLw_q(J+h^6Cf$x3DYedM3wU^w7>b=%*CuELbj-S>!2=5$?xoKLj!+gK2*G9QQ5ripVEy8AR^a(-(U)MuT&!E| zSaC(k_UN?0^DkPy)us6lZhkp`%T=Z4&p&qrHk{$H=G%4}IyO#Jo4w>9%4W_9qyt&S1@8y3g8u6l=p} z&@D8jWcwCt;%e`uR^3tG=p9(Ec<#J6_e38;&jauo*lYFmI7j*FAs@*u*^YKt?ZrCV zAasbbd^hB~Ay4Oi4*L$n|A%OfesuS*QMrv&FKTmdx7B;Z_n943zYWu{mIk{<>#g2( zS2}Blv^IH^Y?^KDK99A(fyrC0x*zR&r$&|kk&o8fAyh#tSqay5BaIQ z?(Y)6vkr`MduT1tLRqtUE%2pL&NXAox--@)J&=)g=LfKcNBwnpI<2w)%pQl%psq)K zqjs$L@ceUo;1_3Lzd`63J$wGSexyApYa+_X0}riP4xBq*M;N8?H~%GH`ufuTk7TXr zN;_7N50PHK1)sCd;j{5yAWe0ldf;!qh3l5IHSpo{by#zs96%c(wyYkwZp&5wgY+`i zVvYjKQy8s*kPnIPP+uNk`$>#N+4lDFeSeo2f9V>H{FCwxug=;&jC}tBdwkR}YI}UN zwfh$6diK7+kA~Joe)Qf4Yyj8Puz%pd8;+$#A5hYzcn-$*M6`kp2I*M@+Z39rucw9Sknz( zJPW^gz-!I98P8h~=Mj`iK86Zx>_!_*#k$_c?{3+A_D2-!uoewplDKu6HOVdY}v0ntbtJP$v1A ze+<@G(FV(4Z)%TwVc!p+$6V+`_qcnY%OTqqQ&88>z!sBjTaXnl z;eOxHydl_`Y(#7G1ISNyL@d4mV*%P}(kla~->rz zl6~cQ4qf&V^cT8b-hq9EjXUJPCeCK36=>`%pb>CF9aNxF37*b!+=`fAVaf>hqlF9*uDT{`wij zE(GtM`RFswGew>qU&b-TiV4tjs`Z%@FTrP?z`Y*oe}nyu2>R_H_uGDs@%@PL9T>x= z`fwcp|D@-noN?KSpL7l6Ie&ili|7|;F>X*h4`AFl>$Prp41M1k<%~u5;hO3k>Jgc4 z{i;4{{c4&Oc>d@|=jR^5_<`qU?D6U&oIeaZP;8Kx0F&4;_^2^nl%QRuEo8i?M;Uo& z<7?2qH{)-M@9GoZ*ziP(4|V&lPPFfhhzZiZ4ak-n*_F;wEbm9Wq+{_r=lB}CABzm_X|4RcFZWk8 zX5lKoXOz|b9pF75-)Gq|2xFMtc4xMZcdpsijqj!QAwSq)S-n?6mfO1bbzH}j4iqou zMXg@gclhZ2-eIyW`RX+6-+jYl>vhYZ2haUbJ5p?N+VOKJo4D=g8w~lI@f?;TKRF>E zg8aO_cwWjSkCvZ1-FZG>UeJSQshsktp40bwdOx?-(|heYIv*ImF6zN`1YO5Z+(C7F zAJC|iE; zW>X&5H7q}vBJW&_&={`yNe{=qG|oEq9Kg71%AAXi=XSeV$z7Eu_fb&fu1d%qLx0nJ zxMSUMjCK5%z2ke2rRbSu*Nd)Ube^Q1G>(a$>1|iMHQm25an0K+awG5!id@oPGxGU- zY@ZSMriLfiEg@Bk-*gxe@rbirff%dqr*pzCn>2fzOw9f%X%*5%_{4H-dgq zksE<;oyd*Aw^igu;M*&5Bk&E1+z5QWQ5R@GksE<8C~_m{7Zte?_|}Qs2z*;bZUnx) zA~yoxpvaBD=No;2_7k}g_<|xgf__nv8-Z_~$c@0aRpdtC+beP-@C}OG2zJdfp4A2 zjlj26?74T@ZnPv)49U=Byd;=!rT_2@j`rD=Ag>%&pF#yx`hAGzLp_i9JJ zc)G|Z`Gr$o6V3~Y+z9$cMQ#MXbs{$c-&TL}uZUnw{A~yoxR*@TlZ?DLWz&9vzBk=jgUYPxYBIoeUn?9DGe@?%))%QVk zJ)F@`qrx{rJ=Tfb2=&-1awG8V6}b`k21V|Z`GyANJ|fBIZ^g4CTRp@64cM>4ehc>B z#C|LG4`Kg(?7xluE7<=8`(I-JW9(00zXAI{VE+X6r?KCH{aNfE!~Q(>-^c!vl41Yf zV?P%AA7VcN`xmjFjQtO=pNRcl>|cfaFR}k3(yw4Y8~b;#zZv^iu@7R8`(yt??BB$` z3j0CqYq5VH`#Z5efqfYJKVTol{59KEC(5c_p~7x@O1BdrC0xlDp&D`%CEA3wu3!^-OE~S>O2HCckIPeG_b-CBHh2*eYCu-*@g;X%6Bj?u$Km37nelR$pcVO>jHV2(2jy%L&tT#fxD|Zb3(2+Ze`@O;Fgx(MB_)YVRkllKj z{rjfVPvAcN$1I2PD4&!?KL6pm3B7siP~UY_j3{JqDLr(9J36rO2kPO;}}j%*#*JGc&i z-<+`h__`d2??v!Mb9(b0Dj7ch3iu{4-$Q}n_k!bKufXu{_u~AwONM_J9oPHr)|}q= zzCV8ZyFd7h&3W{jf#DO=A@{SuFwN^c0DGS3VEe3tE(5clL ze*X=WHBst0w)Z&t=kafj+kP^5dGFx#%X^RBk2aWn_4WbumAs#nI6iS-06KsN{pMZt z`@EmQ22pGHcY|EsJ@{SVy0N_j@c-XOasCz9VBO`tzn?dD`+M)ROb6x@p@+2D>8+RB z@$B?u&+yS!=o>`-H(<-Xm-ptqgSJ`*T~Bb{)l^rUe={)r&pz-^EFJ!X?~2~R!OMI9 z`G=QoAAIpI9Gk2P3}?d@1Mgrh0`d6BVr$sraprE0Mgzkb>w5+U1H;e2R`$FB`iqUd zudq8|f5iN}SJ5uPD|+9ZeuZtn_ZGr#dnckDKI@dV3_3?~4l(3+TOt1jY`tzw@9)=L zfqFyt?_aY0*m>5!HZXiLI;M93apvUB)^OgNY}YE-&%3XZM7qb#!y$LkE43E+tW-^#p` zkq#maUmy-Ye4OU@X#Vin^h<@y?q@Mqgtp7A zpGLnyop_=ibLaMYI_Bo)W4-QHU+xM2d91_HZ%aSttgGRvh%Zg&-(?1=m{hwRaVHFwgdw-kS8Vb>4Q29z)I3)sM(pLCuJptx(sPba2M zN%%hHJL;=TJR?NufgjLZ*yJ6Nf8w^@;qg&x?7#AW>J9-a%pX>2=$$C)TBLB!~se`T;>M(#hMSjXMj}a$q|6e%00cniA zk^jR<5BvmWT!Qrf;`86e`M*d0Z#ikIi*1h=Nf(xR2r_#i^BqoqlWqAkWy^JtnE>AJ zvdsNRzk)p9;+I(?RY51#C^#6x{{D%PQ?Eb`?Dbf9C? zmx19Y!OrtXw608P`or-Rf>ZikTuacsB*ma8_#VU`#n>0m-Lk#jJJG%#p|z}IxV9U_ z^&91p{()m>E$RMJ#O36(2YIOL$M*%cXIhiS`b;l9Tau^N@87_0GLTScE=L=ig<|lp^nL)}kg^1o2fX(tQ* zy0CCoe$n*|+j{4)_MWfRSXo`4^;|t}szn(5-`?Oy_D0x^d@Osy0*na{?I|$RCK$b2 zqtQkzYY**%y{q(5P4Ots~rH^=TAM^HGuf2M3yj3zbINo~o;A?Na9U7lcCm->W z9Pw@A{KsiuGQRq$F;8Dwwjq1tB?})N^~mVbO}@vns$PGs|*+d^7ns={Nm%DuT@vr-hT<6`mwC5sSo&ZK!3E&#Gl;{g5z_Z@;>bez5UjB!pUw} z^S8H?^e@}3lrOk^{csPLi};>e?xIAwb&l~Yi|l0Uhy5=6*>z!C+kG(ji1$%XEiy_G3)QjH z?`PVXxF70zE=`nIE#+09jO8q!tJ*bL)^f#91X6BD9it;VupK*g5)ZabXm8fP?Wyrk zUsm?Wm`5)SJwCc@ja>F_&n4mY;Sho5SxgLF&<0M6o6q=hOpN>27x|N)qj(j@q$j>tAEk`~bcjU#&$!v~%I_}69CI$J(kx$1R z`Ppgm4qlXoJ3Q$)O$<=BcWlA9w>BWe2Pv*?X+shcC8j*}GTgi?i(a^%x-67*T6v`g6> z`E;Cwd{$YCEF~QIbezultOc}7*&O+F+_Cdq`#p9k8IbTu}ABA<>s^2=T1)A6sN z-91(kFW{Vx{^{fF-`es?d+WZ>UpyxPEDWL)Mq#101;uQ%l1W8A)%g3UzUbBR;mHbdUec$b0S%y_qf zS2Moez}p$`G4O{O-(=uB81FOi{fuuj@MDbcGI0Dx%p!l@W8jk+?>F!Q#`hWc62=c0 z_)5kP8TeYp2Ml}z8X!*BO&JLDMhd5ljn z@KVP82Hwc{OauQL#`6t)JLAO${xahM1Am+GMFxJ3@oEFVYK&8_G;tX>ECDIA;z~E_)5li8Tfx?e2;Al?1GaJ`;+HY@UJjcMR7^mw~E#J<#-@qSbT;`vp z+`WwFvwXfoXMMnUy@6kQg`+1ejM66Z<&5_;&cmK94f&Vwg z<$gg<@33)p5&^N_YvXK8g}-IvxcD_UEP7iOE)tC`*T!*?Wo$RvxOhSGaY#VGG&XQsCS^qf$O6{V(BPrsuc(6!9_K^=cGHpKTM8-*Rl+UsoIRl=l7m@s=G+6?C)|D>!WEXsj3;r1woF~83**Bp2G;eafKzh_)K=o-} ze?n5?%nBRNOT+I2E;5OeIQWK({1Yznf9Ha~VijH@OI$S zyw@g7aGZ}GcEP`A<1^Fbf9`^xwDB7f@-lxwu9N4jN#K4ynh1QFH(mZZ8^19jFFd!p z;LB`$RzhAvRI82Wr{Q>~3Cb-@;8Me#=XMtyGujgHOUbXR}1pi4sI_ZLs zLKn)!?{~p(1D@xtOYr;oDB>djO&9!cUGQJI;Fq9FXVUXZ7u*kgns;78&j;FiNzlQW&kicc$r3QGWa$8;S2VC%PyWm@ZXDWBlMgAif zd?J>>GwFG)3;x%@^Sl*_`pQV(YvW52xNtt}!t)DTzA7OvBl-~=uTJ1_V|yEN;jw0P zS>Z2N*2W9wg%@VR$ky?LocTqA;Gz3l-#t zm*DNkEqJMMd#I*1K0jR2a&MSk$Xm0xc77NI7l)TPr}0i^dj1d^STh=ItvU({^`{!j zs~1N@q3UQ|xOR3J*(2rAP;I<0AFpM;C(_;!Zo)Hy^!#Et9$7W3siQqIE8nSHakyqh z7_an?m4Br+Uep$8YA;{>mD&zuhI-E1-U~Y7<+X)jKt;`Xp>O$DLZBxg1pUI`?TCe{ zA&-I`s&EV5j%-V~6jj@S|4`p@yf8T46u-CJF3@48L(q4O#NH7~A^&qV(tK30span0 z)v*xFs@e#R2n!Y!gz@PN`k(})n&M6L8gaXw!f+J4Umb7Q$A>h?bMl*-@Sb*jS);AJ zwT-O5u%fE8qypJHSA@&az<7IjYrJ(%FRff$S+%S(T)U{G zIuxQtw(&y2Yf35?C*gv!rAwCFkrb|tR}_cCO|4X!MBe!&byZ8sgW+IBsH8GnT~$#Y zydyzTICn{CNmb1q;i~Go@+IY8E~zW8N*Btnt;306m}O0l*_0XCLd!!aW=S}>s64bF zTwa|lWllzk>Z+Q$q|CgGGG(FL%Y#Wv6c!m$%c^P?hiXy^o10mrw*1RUo&wRRvSdjp zyadJ;d(AG;*=y@+LM2PWwRcno!!S^&YH3pA+4)*BbbF{0{Wp_f;heH^5S5oAa~axU zX>A=;E?rt)QI;sSuwV&Z#9tAv2~{|45Ui?PP`)s6zMx3*87B&hS&K!%U`04swWPYd z0_;@_7F3j1stThG?W$BRU6Ld%SQIKL3p;0$XmLp}TwPLwPr*Q;P-RJJh32Ua)hq~C zpt=>w9EG9EV9g!Xbz!PR0-hII99{rz62Sams0QB|&`?3aqGjR5p*sw8Zgoxh?Im@g z45x|~)S%6%-NSWvs7_K?5G<)EFRe+M&)_U7udJo=tE!C?bJ42uDTFXNL_*<$*<{d~ zP;G5^K}Csf4S>P&TJrjoDi_R4JrTaWFiAG2ZfRvG?09szysS2Prl_{Oa$!ZtRxPER z{JNTw^2*f0i))q|NWt8SDpWqaV98>toMtG@r_YO2S1er!n(C6eMX9F?=F(S2ZpQ#d zRY}QNkiRe#UV#5o=w`DUEh$-^^pO;wn#0yCD?!lE4OB26%GJVcf_35YCDj$FmMf$v z0`UrTmGFWpbZLmB+IIFLv__)Tr1gpyEVb3I3su%4V`@h)a6WTk1XNLys*x%`uj~%E z0D>KT7$eog3W`dW)>Vb=R!r5bptdR~R!r(uczbzG-BPqmiW%kyt7=T*Iicm~-Y73r ziFOJp&&V$+x8=2o=T{Vjohm2Gnp3)T!2;^{P8?6VaACgFgTu8;(4i5VODZc>*DXZX zr4DXK4%^X}g~}H$N=CWDd6FL?p_XDLBH8k=Aypu4P`j+WE(j;neY|jv^dfRH(GVq8 zE=X2jZV+J+1J#$&L&#pr28h+@HKj`z+F5i^oL^gVJ9J<`qI)849vJvs!koq<~t`! z%S&n#KAFf?SX5Vz@pECgHn=EMw$u*I_61U+W6f`Bx4*U0+EP*AGP0zIWVVhLaUVLg zl-nSpWnAKv5=jq2>SRHtaHh{^3~XB96Rse%Scc%HPk%y8QDUDQ;FRDejz3zifJZPL zw)J_pSgT}43ad)AxRwHId0pb7T%DT_O;UrCI_Vz4l+cL7s*)|3of5>PGiZrI2}pD) zkx76;r;1o^B2G9@iLSaB*Z8G`E-aF%3Tmmj2{h3?=Dyvymc_Ij(9Ex6x9`TvVJbq>T30n((Ejj?T8WHhkI7i@ndERS}$P;h%Z*Pci*7p9ZSh_+01X z0Oie?J!uYw%I1Xb<`Jx5b}eQoIy)9b=<5OZ%9+~u?2Z^_b}$oT&b)|-{^hH}Qhx0! zI3|FKlJjKvsAx>ifF<=;sd6Gs>EIlicbc1+NkJpgH`Y)e%)R8(d$k<*%gb6SD(8p8t6Dn4(XK8`uHhq#_&%Neq0vwwPu9`* z=~^+{Wm}ds)htxy@(UrMNukzzg~V*PLi)iB>oqiL^%>=N5&V8zK!2Md3*FtMpA#oWP71j1z5K9bVOm*+n4u-X^{w>wM7? zZ1_$nKKVt>uFTj$lE^_7A(Y62=G?qG8j2fR5>Cw5wyuluApiO%N2! zE~n4l)$lLcsSNI~+Aak}Rrbg4MiMJ5iO1Wu&Kne?~9OIz+~!dz}mtfLd( zh_!uMHN4@i#pRgcrSDAIExPdbOdhRdLdEzbtt}7Yi;zW(ia33bdSz!*I}{5ybhPsN z1QH~G@5Xe|G_I0H|BWF|+0`(I47A_~(YNKEHONWp3W=D3ucXEsRnW*V6v1Cc;6+sb zRO=9hMVO^u6^mmIo<8s!?rdrLYG(}58<8J@-_{w6DY87#5JSkMuU^usMG~e}3w&2p ztdltLuUQ!>q;&(OQDYN6z^T-N4U@|y_Od`?iN;OuTzmogYG=_cgz?E{p^l<4q>6aePct{Ip(dO0`dr^tTZ1gL; zm##qcYr!{2@c~pu+GF`mwAd zPsBR^A;xHjWpR6(WZ-u(el_sR_}Ku0)+&6w!sR)TdB7$pd_Bt-8~AR7Ro?+0O6*m3xK4&oNGVYJ3XIkUW(wn_uC&zWDZxy_xmRSGeX` z&N%5gmXC=*p2sltY*sv4&)tego-HAsmlb}w;yB;%%iuHk2Oq+Rlv z$j`X6i{LXDr}|!}$}Lj(Ooay+H|;O)W+8pFJsVh_u?C1X%wz z17FT~T=8gmc^*dUEAkJrJk|FG{K>Z7;IHQs54-U97`VvG?_Es(Ck_5a=I=9j0*r4n zaFO51IPrg8>A%b1Z(|<$eT>*a@P5T3eT1^Stat{HmM3}lGj8%6P`H*qtazwhy75Qb zF(t3@Q;bu+v_5AP&k^L8Cy39v@Zcd@dm}xy{5ZzR5064Zo`B9#IO)^lWVdn^kCvaJ za4lcNIO(tZQ8DAxUvyjwFmA@BYR0AiZeo3wGcNWQyq<9?_Y3%wtx@p|0+jkTyYR^S zQixy6uVr~t&y9?mabS~@*Kyzlg=;&=?@mm9e3sMRh=b}TaYKGzLV9X^$VDG~>&V{B zxFo*|G4bLoN8XILw=hofI?lH-PI_kJPqsMYq^HIoR6N=~+Z4~Gif5h5QfD6we7oG|i9(<3`-b{Vg zy6|+n@N9G8*`sjXF7lovv%LT-e47it#|5X~fzw8I(EJA#uJy@w#4XZYU$1g^x6C*uzo;R9({XGj^O*jb zuW%i=Z(*ExG#*g6j&E}PLiN&mb}4?XkKEUodcMr^#H0JyL4|8SJf?8n?*HEGBTq0> zz4Wh){$4BkIVgxlkU3T9dN;=-~DepI0m{{e@vck#iQH(LB`E?-_5w$?k~IG;}m}ZVv1}MFNt5{QeUc9p_2D=Mv~Wf z5#y$OG2^7?Y{e6B;VCnCvNmAJWfMJ#U(YkIX923$^&*V@!+cD7YP^SW;+c;>*`8InzCPTkaDCm| zrSMx6kJy>`HLlD3OC^7Rc_>catne(xsekF~(s7KFZ8R?aK;;G$kF+DWJE-_IevWafSFV!JC8J{_T>I5Ej8lCzkDqbUN8@)X9(|qD z=7M)Coce%lGM`NPd{N;WmAv-zdd^7lWlH`97hJCWNM8H@au@lHF1Q=dOxD5FXQK;# zNa4EQ4JlmL>lU^H^~WH~kct=EA0-Z({w(pqZ1-xmgXxD7Z%u!AP}xoQubm1HDg6&B zoVa8gQusoJ=kPJv}zD@QdB0-wD6qI~9-S?^n3y-*50sdmLa~_yyPfPV=8~ z;Xh~aOS{?^E3lRD3qDSbQ<`7KP1F82vb@-TCYP7bxbO>J{`Cfb8}mPG@Cz>QH8kz>tPB4xgTI^kcN_eI?@>Hj|NRQr`X4g*dzk;Q!7uoL z;?ewP6t4N@!3nW{AMg3J25$uH~dCV#cT ze}MVx41U4odqO6^tjnAHT?YSg=3i^@3*ODR$*o3m_2!Ao_e+{p* zi~fT9)%v^EzewSlU!Fq{{^iVHX7CFx&nKAedzTA;Bjds^<7KnKFF3tlo;H*JL4|Am zdkp^dtp7%XU+_(eN84wo!Zp7<{~-ErV*VEle!=?{kLEw9aLqr!xbSad{$mEe;Kvn@ z=0B%!&7aNB6$rnK_v09!#Mf7X=cwlpH2(~RYkqmIL--G|{zV4A;KhnZ^H(Tb^Dk#y z_>VLHT?W74^@>OH#}%&mM1wW;D zG=CO9sBDhEIgAUxTrcJ_K8gKb@F|K%^WUg&t$(q>f1LHd#o!k_pm;QYox(MLy}>`k z{0#=b;Pf2}+RXm7R^gg|y}>WnuMZpig7+vMt^czM*ZjK-em`H|>^ArX-=lam|9*vQ z{zC@8Tpu4c_yr$OJevQE!Zp7{mT@t^{+Pgv-vu*&fph(x#H3M%?j82T?W70pR6_b1@Bfo znt!9hHGiMMU(EVHYw!!cP4Q^{7Zk4f_Zj@v%)j5@7yN+Y(fr30uK7lKgYe^TL^f1ANC_qRI@ ze!+Js9?ic`;hO)T!QaLDA2Rp_Kdg8(|4D^w{vm_EhxyML{DR9TK1~0~MQ&;b}H_WL}`n;1PVS3(vy_&wAEp zqroHivo1V)44yvb={I-;-|xb6$l%$-JckV)!3SJ;SXfyHUF8Ep(e47h? zzy%**T>MbxL5?vlekk}!7oJ@H@sFwhEiU+7E_k;K{xIXB=W(`w596Yz;G0}{UU0#W zx!@-mmvUtu=N#iwuHf=XCDRVs{9y*+ksqk%FfKfTJKy(8_lIi?9zWmz&oFodpUJqX zPqhoa)&<|_fjocEJz1-~)_{-2zbK%+Lg6}c-Wj?gu;1~R57oPnF&k*Z*(BKjLkPFX%!6Vm8#|$39>3e3h znejwEg-5vV7vu1KFOk>Je_q45>9>ByO~0L?jEmg_pW?zZ(*-Yf!2^s-xdHCiix`)31+Q@7xyuEQD_qCn zF2>F4leG%h*C7uwZeE|PS2)!{wu6k5opTj_oNuouTpRP{?pQ3nfRXo=yT=UN``0LppW*Yp0 z->7&rf05#$NA3o=>|z5ao6vTP;@9#419znHTQ44n)J48l$qOHq`z3{IevNDSYm_{9 zM_V7i!ZlBw!Zpul6|Q-vDqPpg)ea)0_EfLwibsB5HVPOo@!Hb)oQH6Jbk#=66wX7M zjVxCP}D=>n7!%V!68%&bNm4ncWKKODY?e-}?}c*pN;v;>r-N zUFt!Fi%m%WWrcs10Ny6>^K`^Bjdh??@;ofzewL-(^;%xxWeT6J@NR{Z3KGZutHQ5U z@-Ha-I)%&c5lElUEBpf`Pdw5t@_PZ2|ALagiw7sdzo_t?3NKLja|$PZ`C{!9b~56b zt>o`g_#B0wQ}{fEkK%PX;vxPzJ}2)DBb?%fY+pCzyZFR@g{Q=sSsnMTiAPpgv+(X{ zXWuACc&&J37Tz`eubTdD&K<~q! z)!s_=pqduU!dEtoEXkK!|2aRJnp$f5o4xIi8>9+-(svG=dg;3B_v&XL!|9Y)BVULJ zeYGG}rIbSK)8r@Y7Uma2Y#moc@fC`$Xsj)cuhp(-j(w7BO2d$e3QIbocu96`yd58- za5Ogg(iJpbnXX>YpYR0RjSW{B;f48b-g9v*hPHp^H|3|c-KQ<=)4X>b-xs!Df}g4p zHF4_qK?*Xz-##^)uE@X5`{+M4|EIAHzmwk7;ZwezUeV#36z%cOHugRG9#1&Z-X6JE zb%(Uqvpd=Cu!&xY2#S82_QG}vtS+x)cjrinL?Kp87uMVwjWkn{=0{u7Ia5VVW(-}R zxtLFP&}fG&7ykVYwnBO>OvKUjlRox>Z%VJBPgz*AT3X|=Sqm$de!>1a4>QFY!zJjjLSr+Fya zbp2^Q<3jV7Wynu+Mi-i&Y-N^z{YB)L`2=16f{V!Cz~$@wg%^>(ne%J=(L91#e?KZo zqI{c5RkpWo&VP)bdlNiI4tRex_QV$+f_!D4s6Bk+aF~ zcqA=*R!frBjW{AsGr#=a=Ow8y=aBM+faVm4b2QJx2;Rn%Pe%5{e4xmE-6elF=Qr(T zrvGo3{5=<#e;@MO_BZsO`G}*T*qQ8~hd-&m;1pA+{)PC{TOXIdis#AYoaCoG_J#vG zHtmQvQKWP8Pc6q%DHK z8}Mh=pWe?xB4+!`dgDmt4_8$ws&se?)&`GtK^(VbEl|QiA z$)x>n79g|!v)sz(^$T0MPbmL-m-4MA)637#P(IB!XRJR@K9kSr&8&YT=l5c-w`>a5 z*vK||Gt6l{?oxgZ=co9hH?w?t|5GOW`=4@h9pcOp?2GVc+MnM4K{^@gTj#j^9h_fw zW_^C?qW`XIoE#5IM&6tH|H4K8A=bZ}4MzIY{IaS4hg`lHe~bUZDNxUO6C(MU*7{2f zd~|H~zc$Xl%b`j9YwABA`7_zSYm1X*8|NhbY5rQum+tj-m-79*m?8O@CT;xeaw*^6 z=j4!bsQg>-XO{nam+}vA`MF{!hc2!BcU{Ua?sGCM;(Sy-tudJ8)BA&{2-E(jraBon z8IEb%{~qMeWdH6yC;xiRPvr;jXO{nCm-2h2Ir$q$sQ=%(l%KuT$*=2QnxXuOSU<^B ze|xZoyu1(2VN0&3N_sr~~C;t%V zr}7uz&n*8vDc=!K{M$CuIb6hXSWcMje?-a`0p4eS&p8OparRU`wS`&!F!Iw+K;XtH z+a78xY$ETZl4-%|eLJ@OMS%B<-gFLh|GN#4pznJ*CKzW{@cj*6aC45?!ceuFYWggDc|USn=a6PF)827&*e)w zRQ{bA%72v07d;_jZ+%=oUGwXWY)zZ&w{U(3P5!%|^CuDKNb(83oAVp$TL(D*A^4Zx z#D0SPQ0gxL?{`W4eGWkN593eri(N<`vuw(-je;$<9KXG@R$xc>LS}xtP3IyULH>8o fSDb@9z7CR;X8kY6iA?$Tz2oHgpQxYS%>4f!EG)7U literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o.d b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o.d new file mode 100644 index 0000000..1ed7057 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o.d @@ -0,0 +1,252 @@ +op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o: \ + /Package_Cann/test/No_standard/build_out/autogen/op_proto.cc \ + /usr/include/stdc-predef.h \ + /Package_Cann/test/No_standard/build_out/autogen/op_proto.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h \ + /usr/include/c++/11/functional \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h /usr/include/c++/11/tuple \ + /usr/include/c++/11/utility /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/bits/stl_pair.h /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/array /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h /usr/include/c++/11/bits/refwrap.h \ + /usr/include/c++/11/bits/std_function.h /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/memory /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h /usr/include/c++/11/bit \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/bits/shared_ptr.h /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/backward/auto_ptr.h /usr/include/c++/11/string \ + /usr/include/c++/11/bits/char_traits.h /usr/include/c++/11/cstdint \ + /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h /usr/include/c++/11/cctype \ + /usr/include/ctype.h /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/string_conversions.h /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h /usr/include/c++/11/cstdio \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/stdio2.h /usr/include/c++/11/cerrno \ + /usr/include/errno.h /usr/include/aarch64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/basic_string.tcc /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/vector.tcc \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/include/c++/11/map /usr/include/c++/11/bits/stl_tree.h \ + /usr/include/c++/11/bits/stl_map.h \ + /usr/include/c++/11/bits/stl_multimap.h \ + /usr/include/c++/11/bits/erase_if.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./inference_context.h \ + /usr/include/c++/11/set /usr/include/c++/11/bits/stl_set.h \ + /usr/include/c++/11/bits/stl_multiset.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./tensor.h \ + /usr/include/c++/11/atomic \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./resource_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./gnode.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h \ + /usr/include/c++/11/unordered_set /usr/include/c++/11/bits/hashtable.h \ + /usr/include/c++/11/bits/hashtable_policy.h \ + /usr/include/c++/11/bits/enable_special_members.h \ + /usr/include/c++/11/bits/unordered_set.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h \ + /usr/include/string.h /usr/include/strings.h \ + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h \ + /usr/include/aarch64-linux-gnu/bits/string_fortified.h \ + /usr/include/c++/11/stdlib.h /usr/include/c++/11/iostream \ + /usr/include/c++/11/ostream /usr/include/c++/11/ios \ + /usr/include/c++/11/bits/ios_base.h \ + /usr/include/c++/11/bits/locale_classes.h \ + /usr/include/c++/11/bits/locale_classes.tcc \ + /usr/include/c++/11/system_error \ + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h \ + /usr/include/c++/11/stdexcept /usr/include/c++/11/streambuf \ + /usr/include/c++/11/bits/streambuf.tcc \ + /usr/include/c++/11/bits/basic_ios.h \ + /usr/include/c++/11/bits/locale_facets.h /usr/include/c++/11/cwctype \ + /usr/include/wctype.h /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h \ + /usr/include/c++/11/bits/streambuf_iterator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h \ + /usr/include/c++/11/bits/locale_facets.tcc \ + /usr/include/c++/11/bits/basic_ios.tcc \ + /usr/include/c++/11/bits/ostream.tcc /usr/include/c++/11/istream \ + /usr/include/c++/11/bits/istream.tcc /usr/include/c++/11/cstring \ + /usr/include/c++/11/limits \ + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h \ + /usr/include/c++/11/cstddef \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/build.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/build.make new file mode 100644 index 0000000..6dd4742 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/build.make @@ -0,0 +1,126 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +# Include any dependencies generated for this target. +include op_host/CMakeFiles/cust_op_proto.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.make + +# Include the progress variables for this target. +include op_host/CMakeFiles/cust_op_proto.dir/progress.make + +# Include the compile flags for this target's objects. +include op_host/CMakeFiles/cust_op_proto.dir/flags.make + +op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o: op_host/CMakeFiles/cust_op_proto.dir/flags.make +op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o: ../op_host/reduce_sum.cpp +op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o: op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o -MF CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o.d -o CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o -c /Package_Cann/test/No_standard/op_host/reduce_sum.cpp + +op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.i" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Package_Cann/test/No_standard/op_host/reduce_sum.cpp > CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.i + +op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.s" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Package_Cann/test/No_standard/op_host/reduce_sum.cpp -o CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.s + +op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o: op_host/CMakeFiles/cust_op_proto.dir/flags.make +op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o: autogen/op_proto.cc +op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o: op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o -MF CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o.d -o CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o -c /Package_Cann/test/No_standard/build_out/autogen/op_proto.cc + +op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.i" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Package_Cann/test/No_standard/build_out/autogen/op_proto.cc > CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.i + +op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.s" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Package_Cann/test/No_standard/build_out/autogen/op_proto.cc -o CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.s + +# Object files for target cust_op_proto +cust_op_proto_OBJECTS = \ +"CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o" \ +"CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o" + +# External object files for target cust_op_proto +cust_op_proto_EXTERNAL_OBJECTS = + +op_host/libcust_opsproto_rt2.0.so: op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o +op_host/libcust_opsproto_rt2.0.so: op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o +op_host/libcust_opsproto_rt2.0.so: op_host/CMakeFiles/cust_op_proto.dir/build.make +op_host/libcust_opsproto_rt2.0.so: op_host/CMakeFiles/cust_op_proto.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Linking CXX shared library libcust_opsproto_rt2.0.so" + cd /Package_Cann/test/No_standard/build_out/op_host && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cust_op_proto.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +op_host/CMakeFiles/cust_op_proto.dir/build: op_host/libcust_opsproto_rt2.0.so +.PHONY : op_host/CMakeFiles/cust_op_proto.dir/build + +op_host/CMakeFiles/cust_op_proto.dir/clean: + cd /Package_Cann/test/No_standard/build_out/op_host && $(CMAKE_COMMAND) -P CMakeFiles/cust_op_proto.dir/cmake_clean.cmake +.PHONY : op_host/CMakeFiles/cust_op_proto.dir/clean + +op_host/CMakeFiles/cust_op_proto.dir/depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Package_Cann/test/No_standard /Package_Cann/test/No_standard/op_host /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out/op_host /Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : op_host/CMakeFiles/cust_op_proto.dir/depend + diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/cmake_clean.cmake b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/cmake_clean.cmake new file mode 100644 index 0000000..5a3ba00 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/cmake_clean.cmake @@ -0,0 +1,13 @@ +file(REMOVE_RECURSE + "CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o" + "CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o.d" + "CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o" + "CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o.d" + "libcust_opsproto_rt2.0.pdb" + "libcust_opsproto_rt2.0.so" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/cust_op_proto.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.internal b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.internal new file mode 100644 index 0000000..320e4d0 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.internal @@ -0,0 +1,619 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o + /Package_Cann/test/No_standard/build_out/autogen/op_proto.cc + /usr/include/stdc-predef.h + /Package_Cann/test/No_standard/build_out/autogen/op_proto.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h + /usr/include/c++/11/functional + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h + /usr/include/features.h + /usr/include/features-time64.h + /usr/include/aarch64-linux-gnu/bits/wordsize.h + /usr/include/aarch64-linux-gnu/bits/timesize.h + /usr/include/aarch64-linux-gnu/sys/cdefs.h + /usr/include/aarch64-linux-gnu/bits/long-double.h + /usr/include/aarch64-linux-gnu/gnu/stubs.h + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h + /usr/include/c++/11/bits/stl_function.h + /usr/include/c++/11/backward/binders.h + /usr/include/c++/11/new + /usr/include/c++/11/bits/exception.h + /usr/include/c++/11/tuple + /usr/include/c++/11/utility + /usr/include/c++/11/bits/stl_relops.h + /usr/include/c++/11/bits/stl_pair.h + /usr/include/c++/11/bits/move.h + /usr/include/c++/11/type_traits + /usr/include/c++/11/initializer_list + /usr/include/c++/11/array + /usr/include/c++/11/bits/functexcept.h + /usr/include/c++/11/bits/exception_defines.h + /usr/include/c++/11/bits/stl_algobase.h + /usr/include/c++/11/bits/cpp_type_traits.h + /usr/include/c++/11/ext/type_traits.h + /usr/include/c++/11/ext/numeric_traits.h + /usr/include/c++/11/bits/stl_iterator_base_types.h + /usr/include/c++/11/bits/stl_iterator_base_funcs.h + /usr/include/c++/11/bits/concept_check.h + /usr/include/c++/11/debug/assertions.h + /usr/include/c++/11/bits/stl_iterator.h + /usr/include/c++/11/bits/ptr_traits.h + /usr/include/c++/11/debug/debug.h + /usr/include/c++/11/bits/predefined_ops.h + /usr/include/c++/11/bits/range_access.h + /usr/include/c++/11/bits/uses_allocator.h + /usr/include/c++/11/bits/invoke.h + /usr/include/c++/11/bits/functional_hash.h + /usr/include/c++/11/bits/hash_bytes.h + /usr/include/c++/11/bits/refwrap.h + /usr/include/c++/11/bits/std_function.h + /usr/include/c++/11/typeinfo + /usr/include/c++/11/memory + /usr/include/c++/11/bits/allocator.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h + /usr/include/c++/11/ext/new_allocator.h + /usr/include/c++/11/bits/memoryfwd.h + /usr/include/c++/11/bits/stl_construct.h + /usr/include/c++/11/bits/stl_uninitialized.h + /usr/include/c++/11/ext/alloc_traits.h + /usr/include/c++/11/bits/alloc_traits.h + /usr/include/c++/11/bits/stl_tempbuf.h + /usr/include/c++/11/bits/stl_raw_storage_iter.h + /usr/include/c++/11/bits/align.h + /usr/include/c++/11/bit + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h + /usr/include/stdint.h + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h + /usr/include/aarch64-linux-gnu/bits/types.h + /usr/include/aarch64-linux-gnu/bits/typesizes.h + /usr/include/aarch64-linux-gnu/bits/time64.h + /usr/include/aarch64-linux-gnu/bits/wchar.h + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h + /usr/include/c++/11/bits/unique_ptr.h + /usr/include/c++/11/bits/shared_ptr.h + /usr/include/c++/11/iosfwd + /usr/include/c++/11/bits/stringfwd.h + /usr/include/c++/11/bits/postypes.h + /usr/include/c++/11/cwchar + /usr/include/wchar.h + /usr/include/aarch64-linux-gnu/bits/floatn.h + /usr/include/aarch64-linux-gnu/bits/floatn-common.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h + /usr/include/aarch64-linux-gnu/bits/types/FILE.h + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h + /usr/include/aarch64-linux-gnu/bits/wchar2.h + /usr/include/c++/11/bits/shared_ptr_base.h + /usr/include/c++/11/bits/allocated_ptr.h + /usr/include/c++/11/ext/aligned_buffer.h + /usr/include/c++/11/ext/atomicity.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/aarch64-linux-gnu/bits/types/time_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h + /usr/include/aarch64-linux-gnu/bits/endian.h + /usr/include/aarch64-linux-gnu/bits/endianness.h + /usr/include/aarch64-linux-gnu/bits/sched.h + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/aarch64-linux-gnu/bits/cpu-set.h + /usr/include/time.h + /usr/include/aarch64-linux-gnu/bits/time.h + /usr/include/aarch64-linux-gnu/bits/timex.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h + /usr/include/aarch64-linux-gnu/bits/setjmp.h + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h + /usr/include/aarch64-linux-gnu/sys/single_threaded.h + /usr/include/c++/11/ext/concurrence.h + /usr/include/c++/11/exception + /usr/include/c++/11/bits/exception_ptr.h + /usr/include/c++/11/bits/cxxabi_init_exception.h + /usr/include/c++/11/bits/nested_exception.h + /usr/include/c++/11/bits/shared_ptr_atomic.h + /usr/include/c++/11/bits/atomic_base.h + /usr/include/c++/11/bits/atomic_lockfree_defines.h + /usr/include/c++/11/backward/auto_ptr.h + /usr/include/c++/11/string + /usr/include/c++/11/bits/char_traits.h + /usr/include/c++/11/cstdint + /usr/include/c++/11/bits/localefwd.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h + /usr/include/c++/11/clocale + /usr/include/locale.h + /usr/include/aarch64-linux-gnu/bits/locale.h + /usr/include/c++/11/cctype + /usr/include/ctype.h + /usr/include/c++/11/bits/ostream_insert.h + /usr/include/c++/11/bits/cxxabi_forced.h + /usr/include/c++/11/bits/basic_string.h + /usr/include/c++/11/ext/string_conversions.h + /usr/include/c++/11/cstdlib + /usr/include/stdlib.h + /usr/include/aarch64-linux-gnu/bits/waitflags.h + /usr/include/aarch64-linux-gnu/bits/waitstatus.h + /usr/include/aarch64-linux-gnu/sys/types.h + /usr/include/endian.h + /usr/include/aarch64-linux-gnu/bits/byteswap.h + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h + /usr/include/aarch64-linux-gnu/sys/select.h + /usr/include/aarch64-linux-gnu/bits/select.h + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h + /usr/include/aarch64-linux-gnu/bits/select2.h + /usr/include/alloca.h + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h + /usr/include/aarch64-linux-gnu/bits/stdlib.h + /usr/include/c++/11/bits/std_abs.h + /usr/include/c++/11/cstdio + /usr/include/stdio.h + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h + /usr/include/aarch64-linux-gnu/bits/stdio.h + /usr/include/aarch64-linux-gnu/bits/stdio2.h + /usr/include/c++/11/cerrno + /usr/include/errno.h + /usr/include/aarch64-linux-gnu/bits/errno.h + /usr/include/linux/errno.h + /usr/include/aarch64-linux-gnu/asm/errno.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/errno-base.h + /usr/include/aarch64-linux-gnu/bits/types/error_t.h + /usr/include/c++/11/bits/charconv.h + /usr/include/c++/11/bits/basic_string.tcc + /usr/include/c++/11/vector + /usr/include/c++/11/bits/stl_vector.h + /usr/include/c++/11/bits/stl_bvector.h + /usr/include/c++/11/bits/vector.tcc + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h + /usr/include/c++/11/map + /usr/include/c++/11/bits/stl_tree.h + /usr/include/c++/11/bits/stl_map.h + /usr/include/c++/11/bits/stl_multimap.h + /usr/include/c++/11/bits/erase_if.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h + /usr/include/c++/11/set + /usr/include/c++/11/bits/stl_set.h + /usr/include/c++/11/bits/stl_multiset.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/include/c++/11/atomic + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/gnode.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h + /usr/include/c++/11/unordered_set + /usr/include/c++/11/bits/hashtable.h + /usr/include/c++/11/bits/hashtable_policy.h + /usr/include/c++/11/bits/enable_special_members.h + /usr/include/c++/11/bits/unordered_set.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h + /usr/include/aarch64-linux-gnu/bits/string_fortified.h + /usr/include/c++/11/stdlib.h + /usr/include/c++/11/iostream + /usr/include/c++/11/ostream + /usr/include/c++/11/ios + /usr/include/c++/11/bits/ios_base.h + /usr/include/c++/11/bits/locale_classes.h + /usr/include/c++/11/bits/locale_classes.tcc + /usr/include/c++/11/system_error + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h + /usr/include/c++/11/stdexcept + /usr/include/c++/11/streambuf + /usr/include/c++/11/bits/streambuf.tcc + /usr/include/c++/11/bits/basic_ios.h + /usr/include/c++/11/bits/locale_facets.h + /usr/include/c++/11/cwctype + /usr/include/wctype.h + /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h + /usr/include/c++/11/bits/streambuf_iterator.h + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h + /usr/include/c++/11/bits/locale_facets.tcc + /usr/include/c++/11/bits/basic_ios.tcc + /usr/include/c++/11/bits/ostream.tcc + /usr/include/c++/11/istream + /usr/include/c++/11/bits/istream.tcc + /usr/include/c++/11/cstring + /usr/include/c++/11/limits + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h + /usr/include/c++/11/cstddef + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + +op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o + /Package_Cann/test/No_standard/op_host/reduce_sum.cpp + /usr/include/stdc-predef.h + /Package_Cann/test/No_standard/op_host/reduce_sum_tiling.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/tilingdata_base.h + /usr/include/c++/11/vector + /usr/include/c++/11/bits/stl_algobase.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h + /usr/include/features.h + /usr/include/features-time64.h + /usr/include/aarch64-linux-gnu/bits/wordsize.h + /usr/include/aarch64-linux-gnu/bits/timesize.h + /usr/include/aarch64-linux-gnu/sys/cdefs.h + /usr/include/aarch64-linux-gnu/bits/long-double.h + /usr/include/aarch64-linux-gnu/gnu/stubs.h + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h + /usr/include/c++/11/bits/functexcept.h + /usr/include/c++/11/bits/exception_defines.h + /usr/include/c++/11/bits/cpp_type_traits.h + /usr/include/c++/11/ext/type_traits.h + /usr/include/c++/11/ext/numeric_traits.h + /usr/include/c++/11/bits/stl_pair.h + /usr/include/c++/11/bits/move.h + /usr/include/c++/11/type_traits + /usr/include/c++/11/bits/stl_iterator_base_types.h + /usr/include/c++/11/bits/stl_iterator_base_funcs.h + /usr/include/c++/11/bits/concept_check.h + /usr/include/c++/11/debug/assertions.h + /usr/include/c++/11/bits/stl_iterator.h + /usr/include/c++/11/bits/ptr_traits.h + /usr/include/c++/11/debug/debug.h + /usr/include/c++/11/bits/predefined_ops.h + /usr/include/c++/11/bits/allocator.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h + /usr/include/c++/11/ext/new_allocator.h + /usr/include/c++/11/new + /usr/include/c++/11/bits/exception.h + /usr/include/c++/11/bits/memoryfwd.h + /usr/include/c++/11/bits/stl_construct.h + /usr/include/c++/11/bits/stl_uninitialized.h + /usr/include/c++/11/ext/alloc_traits.h + /usr/include/c++/11/bits/alloc_traits.h + /usr/include/c++/11/bits/stl_vector.h + /usr/include/c++/11/initializer_list + /usr/include/c++/11/bits/stl_bvector.h + /usr/include/c++/11/bits/functional_hash.h + /usr/include/c++/11/bits/hash_bytes.h + /usr/include/c++/11/bits/range_access.h + /usr/include/c++/11/bits/vector.tcc + /usr/include/c++/11/map + /usr/include/c++/11/bits/stl_tree.h + /usr/include/c++/11/bits/stl_function.h + /usr/include/c++/11/backward/binders.h + /usr/include/c++/11/ext/aligned_buffer.h + /usr/include/c++/11/bits/stl_map.h + /usr/include/c++/11/tuple + /usr/include/c++/11/utility + /usr/include/c++/11/bits/stl_relops.h + /usr/include/c++/11/array + /usr/include/c++/11/bits/uses_allocator.h + /usr/include/c++/11/bits/invoke.h + /usr/include/c++/11/bits/stl_multimap.h + /usr/include/c++/11/bits/erase_if.h + /usr/include/c++/11/memory + /usr/include/c++/11/bits/stl_tempbuf.h + /usr/include/c++/11/bits/stl_raw_storage_iter.h + /usr/include/c++/11/bits/align.h + /usr/include/c++/11/bit + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h + /usr/include/stdint.h + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h + /usr/include/aarch64-linux-gnu/bits/types.h + /usr/include/aarch64-linux-gnu/bits/typesizes.h + /usr/include/aarch64-linux-gnu/bits/time64.h + /usr/include/aarch64-linux-gnu/bits/wchar.h + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h + /usr/include/c++/11/bits/unique_ptr.h + /usr/include/c++/11/bits/shared_ptr.h + /usr/include/c++/11/iosfwd + /usr/include/c++/11/bits/stringfwd.h + /usr/include/c++/11/bits/postypes.h + /usr/include/c++/11/cwchar + /usr/include/wchar.h + /usr/include/aarch64-linux-gnu/bits/floatn.h + /usr/include/aarch64-linux-gnu/bits/floatn-common.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h + /usr/include/aarch64-linux-gnu/bits/types/FILE.h + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h + /usr/include/aarch64-linux-gnu/bits/wchar2.h + /usr/include/c++/11/bits/shared_ptr_base.h + /usr/include/c++/11/typeinfo + /usr/include/c++/11/bits/allocated_ptr.h + /usr/include/c++/11/bits/refwrap.h + /usr/include/c++/11/ext/atomicity.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/aarch64-linux-gnu/bits/types/time_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h + /usr/include/aarch64-linux-gnu/bits/endian.h + /usr/include/aarch64-linux-gnu/bits/endianness.h + /usr/include/aarch64-linux-gnu/bits/sched.h + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/aarch64-linux-gnu/bits/cpu-set.h + /usr/include/time.h + /usr/include/aarch64-linux-gnu/bits/time.h + /usr/include/aarch64-linux-gnu/bits/timex.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h + /usr/include/aarch64-linux-gnu/bits/setjmp.h + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h + /usr/include/aarch64-linux-gnu/sys/single_threaded.h + /usr/include/c++/11/ext/concurrence.h + /usr/include/c++/11/exception + /usr/include/c++/11/bits/exception_ptr.h + /usr/include/c++/11/bits/cxxabi_init_exception.h + /usr/include/c++/11/bits/nested_exception.h + /usr/include/c++/11/bits/shared_ptr_atomic.h + /usr/include/c++/11/bits/atomic_base.h + /usr/include/c++/11/bits/atomic_lockfree_defines.h + /usr/include/c++/11/backward/auto_ptr.h + /usr/include/c++/11/cstring + /usr/include/string.h + /usr/include/strings.h + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h + /usr/include/aarch64-linux-gnu/bits/string_fortified.h + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h + /usr/include/stdio.h + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h + /usr/include/aarch64-linux-gnu/bits/stdio.h + /usr/include/aarch64-linux-gnu/bits/stdio2.h + /usr/include/c++/11/stdlib.h + /usr/include/c++/11/cstdlib + /usr/include/stdlib.h + /usr/include/aarch64-linux-gnu/bits/waitflags.h + /usr/include/aarch64-linux-gnu/bits/waitstatus.h + /usr/include/aarch64-linux-gnu/sys/types.h + /usr/include/endian.h + /usr/include/aarch64-linux-gnu/bits/byteswap.h + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h + /usr/include/aarch64-linux-gnu/sys/select.h + /usr/include/aarch64-linux-gnu/bits/select.h + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h + /usr/include/aarch64-linux-gnu/bits/select2.h + /usr/include/alloca.h + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h + /usr/include/aarch64-linux-gnu/bits/stdlib.h + /usr/include/c++/11/bits/std_abs.h + /usr/include/errno.h + /usr/include/aarch64-linux-gnu/bits/errno.h + /usr/include/linux/errno.h + /usr/include/aarch64-linux-gnu/asm/errno.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/errno-base.h + /usr/include/aarch64-linux-gnu/bits/types/error_t.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/include/c++/11/string + /usr/include/c++/11/bits/char_traits.h + /usr/include/c++/11/cstdint + /usr/include/c++/11/bits/localefwd.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h + /usr/include/c++/11/clocale + /usr/include/locale.h + /usr/include/aarch64-linux-gnu/bits/locale.h + /usr/include/c++/11/cctype + /usr/include/ctype.h + /usr/include/c++/11/bits/ostream_insert.h + /usr/include/c++/11/bits/cxxabi_forced.h + /usr/include/c++/11/bits/basic_string.h + /usr/include/c++/11/ext/string_conversions.h + /usr/include/c++/11/cstdio + /usr/include/c++/11/cerrno + /usr/include/c++/11/bits/charconv.h + /usr/include/c++/11/bits/basic_string.tcc + /usr/include/c++/11/functional + /usr/include/c++/11/bits/std_function.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/include/c++/11/atomic + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_registry.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def.h + /usr/include/c++/11/iostream + /usr/include/c++/11/ostream + /usr/include/c++/11/ios + /usr/include/c++/11/bits/ios_base.h + /usr/include/c++/11/bits/locale_classes.h + /usr/include/c++/11/bits/locale_classes.tcc + /usr/include/c++/11/system_error + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h + /usr/include/c++/11/stdexcept + /usr/include/c++/11/streambuf + /usr/include/c++/11/bits/streambuf.tcc + /usr/include/c++/11/bits/basic_ios.h + /usr/include/c++/11/bits/locale_facets.h + /usr/include/c++/11/cwctype + /usr/include/wctype.h + /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h + /usr/include/c++/11/bits/streambuf_iterator.h + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h + /usr/include/c++/11/bits/locale_facets.tcc + /usr/include/c++/11/bits/basic_ios.tcc + /usr/include/c++/11/bits/ostream.tcc + /usr/include/c++/11/istream + /usr/include/c++/11/bits/istream.tcc + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h + /usr/include/c++/11/unordered_set + /usr/include/c++/11/bits/hashtable.h + /usr/include/c++/11/bits/hashtable_policy.h + /usr/include/c++/11/bits/enable_special_members.h + /usr/include/c++/11/bits/unordered_set.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h + /usr/include/c++/11/limits + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h + /usr/include/c++/11/cstddef + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h + /usr/include/c++/11/set + /usr/include/c++/11/bits/stl_set.h + /usr/include/c++/11/bits/stl_multiset.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/gnode.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_factory.h + /usr/local/Ascend/ascend-toolkit/latest/include/tiling/platform/platform_ascendc.h + /usr/include/c++/11/mutex + /usr/include/c++/11/chrono + /usr/include/c++/11/ratio + /usr/include/c++/11/ctime + /usr/include/c++/11/bits/parse_numbers.h + /usr/include/c++/11/bits/std_mutex.h + /usr/include/c++/11/bits/unique_lock.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/utils/type_utils.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_rt.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_op.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_mdl.h + diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.make new file mode 100644 index 0000000..a997299 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.make @@ -0,0 +1,1215 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o: autogen/op_proto.cc \ + /usr/include/stdc-predef.h \ + autogen/op_proto.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h \ + /usr/include/c++/11/functional \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h \ + /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/tuple \ + /usr/include/c++/11/utility \ + /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/bits/stl_pair.h \ + /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/array \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h \ + /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/refwrap.h \ + /usr/include/c++/11/bits/std_function.h \ + /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/memory \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h \ + /usr/include/c++/11/bit \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h \ + /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/bits/shared_ptr.h \ + /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h \ + /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar \ + /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h \ + /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h \ + /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/backward/auto_ptr.h \ + /usr/include/c++/11/string \ + /usr/include/c++/11/bits/char_traits.h \ + /usr/include/c++/11/cstdint \ + /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale \ + /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h \ + /usr/include/c++/11/cctype \ + /usr/include/ctype.h \ + /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/string_conversions.h \ + /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h \ + /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h \ + /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h \ + /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h \ + /usr/include/c++/11/cstdio \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/stdio2.h \ + /usr/include/c++/11/cerrno \ + /usr/include/errno.h \ + /usr/include/aarch64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h \ + /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/basic_string.tcc \ + /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/vector.tcc \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/include/c++/11/map \ + /usr/include/c++/11/bits/stl_tree.h \ + /usr/include/c++/11/bits/stl_map.h \ + /usr/include/c++/11/bits/stl_multimap.h \ + /usr/include/c++/11/bits/erase_if.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/include/c++/11/set \ + /usr/include/c++/11/bits/stl_set.h \ + /usr/include/c++/11/bits/stl_multiset.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/include/c++/11/atomic \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/gnode.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h \ + /usr/include/c++/11/unordered_set \ + /usr/include/c++/11/bits/hashtable.h \ + /usr/include/c++/11/bits/hashtable_policy.h \ + /usr/include/c++/11/bits/enable_special_members.h \ + /usr/include/c++/11/bits/unordered_set.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h \ + /usr/include/aarch64-linux-gnu/bits/string_fortified.h \ + /usr/include/c++/11/stdlib.h \ + /usr/include/c++/11/iostream \ + /usr/include/c++/11/ostream \ + /usr/include/c++/11/ios \ + /usr/include/c++/11/bits/ios_base.h \ + /usr/include/c++/11/bits/locale_classes.h \ + /usr/include/c++/11/bits/locale_classes.tcc \ + /usr/include/c++/11/system_error \ + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h \ + /usr/include/c++/11/stdexcept \ + /usr/include/c++/11/streambuf \ + /usr/include/c++/11/bits/streambuf.tcc \ + /usr/include/c++/11/bits/basic_ios.h \ + /usr/include/c++/11/bits/locale_facets.h \ + /usr/include/c++/11/cwctype \ + /usr/include/wctype.h \ + /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h \ + /usr/include/c++/11/bits/streambuf_iterator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h \ + /usr/include/c++/11/bits/locale_facets.tcc \ + /usr/include/c++/11/bits/basic_ios.tcc \ + /usr/include/c++/11/bits/ostream.tcc \ + /usr/include/c++/11/istream \ + /usr/include/c++/11/bits/istream.tcc \ + /usr/include/c++/11/cstring \ + /usr/include/c++/11/limits \ + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h \ + /usr/include/c++/11/cstddef \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + +op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o: ../op_host/reduce_sum.cpp \ + /usr/include/stdc-predef.h \ + ../op_host/reduce_sum_tiling.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/tilingdata_base.h \ + /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h \ + /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_pair.h \ + /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h \ + /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h \ + /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/vector.tcc \ + /usr/include/c++/11/map \ + /usr/include/c++/11/bits/stl_tree.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/bits/stl_map.h \ + /usr/include/c++/11/tuple \ + /usr/include/c++/11/utility \ + /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/array \ + /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/stl_multimap.h \ + /usr/include/c++/11/bits/erase_if.h \ + /usr/include/c++/11/memory \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h \ + /usr/include/c++/11/bit \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h \ + /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/bits/shared_ptr.h \ + /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h \ + /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar \ + /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h \ + /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/bits/refwrap.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h \ + /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h \ + /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/backward/auto_ptr.h \ + /usr/include/c++/11/cstring \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h \ + /usr/include/aarch64-linux-gnu/bits/string_fortified.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/stdio2.h \ + /usr/include/c++/11/stdlib.h \ + /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h \ + /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h \ + /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h \ + /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h \ + /usr/include/errno.h \ + /usr/include/aarch64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h \ + /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/include/c++/11/string \ + /usr/include/c++/11/bits/char_traits.h \ + /usr/include/c++/11/cstdint \ + /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale \ + /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h \ + /usr/include/c++/11/cctype \ + /usr/include/ctype.h \ + /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/string_conversions.h \ + /usr/include/c++/11/cstdio \ + /usr/include/c++/11/cerrno \ + /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/basic_string.tcc \ + /usr/include/c++/11/functional \ + /usr/include/c++/11/bits/std_function.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/include/c++/11/atomic \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def.h \ + /usr/include/c++/11/iostream \ + /usr/include/c++/11/ostream \ + /usr/include/c++/11/ios \ + /usr/include/c++/11/bits/ios_base.h \ + /usr/include/c++/11/bits/locale_classes.h \ + /usr/include/c++/11/bits/locale_classes.tcc \ + /usr/include/c++/11/system_error \ + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h \ + /usr/include/c++/11/stdexcept \ + /usr/include/c++/11/streambuf \ + /usr/include/c++/11/bits/streambuf.tcc \ + /usr/include/c++/11/bits/basic_ios.h \ + /usr/include/c++/11/bits/locale_facets.h \ + /usr/include/c++/11/cwctype \ + /usr/include/wctype.h \ + /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h \ + /usr/include/c++/11/bits/streambuf_iterator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h \ + /usr/include/c++/11/bits/locale_facets.tcc \ + /usr/include/c++/11/bits/basic_ios.tcc \ + /usr/include/c++/11/bits/ostream.tcc \ + /usr/include/c++/11/istream \ + /usr/include/c++/11/bits/istream.tcc \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h \ + /usr/include/c++/11/unordered_set \ + /usr/include/c++/11/bits/hashtable.h \ + /usr/include/c++/11/bits/hashtable_policy.h \ + /usr/include/c++/11/bits/enable_special_members.h \ + /usr/include/c++/11/bits/unordered_set.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/include/c++/11/limits \ + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h \ + /usr/include/c++/11/cstddef \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h \ + /usr/include/c++/11/set \ + /usr/include/c++/11/bits/stl_set.h \ + /usr/include/c++/11/bits/stl_multiset.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/gnode.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/tiling/platform/platform_ascendc.h \ + /usr/include/c++/11/mutex \ + /usr/include/c++/11/chrono \ + /usr/include/c++/11/ratio \ + /usr/include/c++/11/ctime \ + /usr/include/c++/11/bits/parse_numbers.h \ + /usr/include/c++/11/bits/std_mutex.h \ + /usr/include/c++/11/bits/unique_lock.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/utils/type_utils.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_rt.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_op.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_mdl.h + + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_op.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_rt.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/utils/type_utils.h: + +/usr/include/c++/11/bits/parse_numbers.h: + +/usr/include/c++/11/ctime: + +/usr/include/c++/11/ratio: + +/usr/include/c++/11/chrono: + +/usr/include/c++/11/mutex: + +/usr/local/Ascend/ascend-toolkit/latest/include/tiling/platform/platform_ascendc.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_factory.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_def.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_registry.h: + +../op_host/reduce_sum_tiling.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h: + +/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h: + +/usr/include/aarch64-linux-gnu/bits/struct_mutex.h: + +/usr/include/aarch64-linux-gnu/bits/setjmp.h: + +/usr/include/aarch64-linux-gnu/bits/types.h: + +/usr/include/c++/11/bits/hashtable.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h: + +/usr/include/c++/11/bits/ostream.tcc: + +/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h: + +/usr/include/c++/11/bits/allocator.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h: + +/usr/include/c++/11/bits/streambuf_iterator.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h: + +/usr/include/c++/11/bits/allocated_ptr.h: + +/usr/include/aarch64-linux-gnu/bits/floatn-common.h: + +/usr/include/aarch64-linux-gnu/bits/wchar2.h: + +/usr/include/aarch64-linux-gnu/bits/wchar.h: + +/usr/include/aarch64-linux-gnu/bits/types/FILE.h: + +/usr/include/aarch64-linux-gnu/bits/types/__FILE.h: + +/usr/include/aarch64-linux-gnu/bits/cpu-set.h: + +/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h: + +/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h: + +/usr/include/c++/11/backward/binders.h: + +/usr/include/c++/11/iostream: + +/usr/include/wchar.h: + +/usr/include/c++/11/bits/cxxabi_init_exception.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h: + +/usr/include/c++/11/cwchar: + +/usr/include/c++/11/bits/stl_algobase.h: + +/usr/include/c++/11/bits/postypes.h: + +/usr/include/aarch64-linux-gnu/sys/types.h: + +/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h: + +/usr/include/c++/11/cstdio: + +/usr/include/aarch64-linux-gnu/bits/struct_rwlock.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h: + +/usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h: + +/usr/include/c++/11/initializer_list: + +/usr/include/c++/11/iosfwd: + +/usr/include/aarch64-linux-gnu/bits/stdint-intn.h: + +/usr/include/c++/11/bits/locale_facets.tcc: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h: + +/usr/include/c++/11/bit: + +/usr/include/c++/11/bits/stl_iterator_base_types.h: + +/usr/include/c++/11/cstdlib: + +/usr/include/c++/11/bits/align.h: + +/usr/include/c++/11/vector: + +/usr/include/c++/11/bits/stl_raw_storage_iter.h: + +/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h: + +/usr/include/aarch64-linux-gnu/bits/endian.h: + +/usr/include/c++/11/bits/unique_ptr.h: + +/usr/include/c++/11/ostream: + +autogen/op_proto.cc: + +/usr/include/c++/11/bits/stl_relops.h: + +/usr/include/c++/11/bits/hash_bytes.h: + +/usr/include/c++/11/bits/move.h: + +/usr/include/aarch64-linux-gnu/bits/wordsize.h: + +/usr/include/c++/11/bits/char_traits.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/c++/11/ext/atomicity.h: + +/usr/include/c++/11/bits/memoryfwd.h: + +/usr/include/c++/11/bits/stl_function.h: + +/usr/include/aarch64-linux-gnu/bits/endianness.h: + +/usr/include/ctype.h: + +/usr/include/c++/11/type_traits: + +/usr/include/c++/11/bits/stl_tree.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h: + +/usr/include/aarch64-linux-gnu/bits/stdio2.h: + +/usr/include/aarch64-linux-gnu/bits/errno.h: + +/usr/include/c++/11/bits/stl_pair.h: + +/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h: + +/usr/include/c++/11/ext/type_traits.h: + +/usr/include/aarch64-linux-gnu/bits/time.h: + +/usr/include/c++/11/bits/functexcept.h: + +/usr/include/aarch64-linux-gnu/bits/select2.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib-float.h: + +/usr/include/c++/11/streambuf: + +/usr/include/aarch64-linux-gnu/bits/time64.h: + +/usr/include/alloca.h: + +autogen/op_proto.h: + +/usr/include/c++/11/new: + +/usr/include/c++/11/bits/stl_iterator.h: + +/usr/include/c++/11/array: + +/usr/include/c++/11/cstddef: + +/usr/include/c++/11/bits/stl_vector.h: + +/usr/include/c++/11/system_error: + +/usr/include/c++/11/typeinfo: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h: + +/usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h: + +/usr/include/c++/11/bits/shared_ptr.h: + +/usr/include/c++/11/bits/stl_construct.h: + +/usr/include/aarch64-linux-gnu/sys/cdefs.h: + +/usr/include/c++/11/exception: + +/usr/include/aarch64-linux-gnu/bits/timesize.h: + +/usr/include/c++/11/bits/refwrap.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h: + +/usr/include/c++/11/limits: + +/usr/include/c++/11/bits/predefined_ops.h: + +/usr/include/c++/11/bits/functional_hash.h: + +/usr/include/c++/11/bits/atomic_base.h: + +/usr/include/errno.h: + +/usr/include/features.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h: + +/usr/include/c++/11/bits/unique_lock.h: + +/usr/include/c++/11/bits/uses_allocator.h: + +/usr/include/aarch64-linux-gnu/sys/single_threaded.h: + +/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h: + +/usr/include/features-time64.h: + +/usr/include/c++/11/debug/debug.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h: + +/usr/include/c++/11/clocale: + +/usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h: + +/usr/include/pthread.h: + +/usr/include/c++/11/bits/exception_defines.h: + +/usr/include/c++/11/atomic: + +/usr/include/aarch64-linux-gnu/bits/libc-header-start.h: + +/usr/include/c++/11/cstring: + +/usr/include/c++/11/bits/erase_if.h: + +/usr/include/endian.h: + +/usr/include/c++/11/bits/ptr_traits.h: + +/usr/include/stdint.h: + +/usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/timer_t.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h: + +/usr/include/c++/11/bits/concept_check.h: + +/usr/include/aarch64-linux-gnu/bits/byteswap.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h: + +/usr/include/c++/11/debug/assertions.h: + +/usr/include/aarch64-linux-gnu/bits/types/clock_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/locale_t.h: + +/usr/include/c++/11/bits/range_access.h: + +/usr/include/c++/11/map: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/tilingdata_base.h: + +/usr/include/c++/11/bits/std_function.h: + +/usr/include/c++/11/bits/stl_tempbuf.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h: + +/usr/include/c++/11/memory: + +/usr/include/c++/11/ext/new_allocator.h: + +/usr/include/c++/11/bits/cpp_type_traits.h: + +/usr/include/c++/11/bits/stl_iterator_base_funcs.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_mdl.h: + +/usr/include/c++/11/bits/stl_uninitialized.h: + +/usr/include/c++/11/backward/auto_ptr.h: + +/usr/include/c++/11/ext/alloc_traits.h: + +/usr/include/aarch64-linux-gnu/bits/floatn.h: + +/usr/include/c++/11/bits/cxxabi_forced.h: + +/usr/include/stdc-predef.h: + +/usr/include/c++/11/bits/alloc_traits.h: + +/usr/include/c++/11/ext/concurrence.h: + +/usr/include/c++/11/bits/exception_ptr.h: + +/usr/include/c++/11/ext/string_conversions.h: + +/usr/include/c++/11/bits/nested_exception.h: + +/usr/include/c++/11/bits/shared_ptr_atomic.h: + +/usr/include/aarch64-linux-gnu/bits/typesizes.h: + +/usr/include/c++/11/bits/atomic_lockfree_defines.h: + +/usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h: + +/usr/include/c++/11/string: + +/usr/include/c++/11/cstdint: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl.h: + +/usr/include/c++/11/bits/localefwd.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h: + +/usr/include/aarch64-linux-gnu/bits/stdio.h: + +/usr/include/c++/11/cerrno: + +/usr/include/aarch64-linux-gnu/bits/types/wint_t.h: + +/usr/include/locale.h: + +/usr/include/aarch64-linux-gnu/bits/locale.h: + +/usr/include/aarch64-linux-gnu/bits/string_fortified.h: + +/usr/include/c++/11/cctype: + +/usr/include/c++/11/bits/stl_multimap.h: + +/usr/include/aarch64-linux-gnu/asm/errno.h: + +/usr/include/c++/11/bits/ostream_insert.h: + +/usr/include/c++/11/bits/shared_ptr_base.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h: + +/usr/include/c++/11/bits/basic_string.h: + +/usr/include/stdlib.h: + +/usr/include/aarch64-linux-gnu/bits/waitflags.h: + +/usr/include/aarch64-linux-gnu/bits/waitstatus.h: + +/usr/include/aarch64-linux-gnu/bits/uintn-identity.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h: + +/usr/include/aarch64-linux-gnu/sys/select.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/aarch64-linux-gnu/bits/long-double.h: + +/usr/include/c++/11/bits/std_abs.h: + +/usr/include/stdio.h: + +/usr/include/c++/11/bits/stringfwd.h: + +/usr/include/aarch64-linux-gnu/bits/strings_fortified.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h: + +/usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h: + +/usr/include/time.h: + +/usr/include/aarch64-linux-gnu/bits/wctype-wchar.h: + +/usr/include/aarch64-linux-gnu/bits/types/error_t.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/c++/11/bits/basic_string.tcc: + +/usr/include/c++/11/bits/stl_bvector.h: + +/usr/include/c++/11/bits/vector.tcc: + +/usr/include/c++/11/ext/numeric_traits.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h: + +/usr/include/c++/11/bits/stl_map.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h: + +/usr/include/c++/11/istream: + +/usr/include/c++/11/set: + +/usr/include/c++/11/bits/charconv.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/securectype.h: + +/usr/include/c++/11/bits/ios_base.h: + +/usr/include/aarch64-linux-gnu/bits/types/time_t.h: + +/usr/include/c++/11/bits/stl_set.h: + +/usr/include/aarch64-linux-gnu/bits/stdio_lim.h: + +/usr/include/c++/11/bits/stl_multiset.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h: + +/usr/include/c++/11/bits/std_mutex.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/gnode.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h: + +/usr/include/c++/11/bits/basic_ios.tcc: + +/usr/include/c++/11/bits/enable_special_members.h: + +/usr/include/c++/11/bits/invoke.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h: + +/usr/include/aarch64-linux-gnu/bits/timex.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h: + +/usr/include/c++/11/unordered_set: + +/usr/include/c++/11/bits/hashtable_policy.h: + +/usr/include/c++/11/bits/unordered_set.h: + +/usr/include/c++/11/ext/aligned_buffer.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h: + +/usr/include/c++/11/stdexcept: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h: + +/usr/include/c++/11/stdlib.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h: + +/usr/include/c++/11/tuple: + +/usr/include/aarch64-linux-gnu/bits/select.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/securec.h: + +/usr/include/c++/11/bits/streambuf.tcc: + +/usr/include/string.h: + +/usr/include/strings.h: + +/usr/include/c++/11/utility: + +/usr/include/c++/11/ios: + +/usr/include/c++/11/bits/locale_classes.h: + +/usr/include/c++/11/bits/locale_classes.tcc: + +/usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h: + +/usr/include/c++/11/bits/basic_ios.h: + +/usr/include/c++/11/bits/exception.h: + +/usr/include/c++/11/bits/locale_facets.h: + +../op_host/reduce_sum.cpp: + +/usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h: + +/usr/include/c++/11/cwctype: + +/usr/include/sched.h: + +/usr/include/wctype.h: + +/usr/include/c++/11/functional: + +/usr/include/linux/errno.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h: + +/usr/include/aarch64-linux-gnu/bits/sched.h: + +/usr/include/c++/11/bits/istream.tcc: + +/usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h: diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.ts b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.ts new file mode 100644 index 0000000..00aea2a --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for cust_op_proto. diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/depend.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/depend.make new file mode 100644 index 0000000..4379581 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for cust_op_proto. +# This may be replaced when dependencies are built. diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/flags.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/flags.make new file mode 100644 index 0000000..500116b --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# compile CXX with /usr/bin/c++ +CXX_DEFINES = -DOP_PROTO_LIB -D_FORTIFY_SOURCE=2 -D_GLIBCXX_USE_CXX11_ABI=0 -Dcust_op_proto_EXPORTS + +CXX_INCLUDES = -I/usr/local/Ascend/ascend-toolkit/latest/include + +CXX_FLAGS = -fPIC -fvisibility=hidden -fPIC -fvisibility-inlines-hidden -O2 -std=c++11 -fstack-protector-strong + diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/link.txt b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/link.txt new file mode 100644 index 0000000..fcd114a --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -fPIC -s -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -shared -Wl,-soname,libcust_opsproto_rt2.0.so -o libcust_opsproto_rt2.0.so CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o -L/usr/local/Ascend/ascend-toolkit/latest/lib64 -Wl,-rpath,/usr/local/Ascend/ascend-toolkit/latest/lib64: -lexe_graph -lregister -ltiling_api -Wl,--whole-archive -lrt2_registry -Wl,--no-whole-archive diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/progress.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/progress.make new file mode 100644 index 0000000..4b14cc1 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/progress.make @@ -0,0 +1,4 @@ +CMAKE_PROGRESS_1 = 2 +CMAKE_PROGRESS_2 = 3 +CMAKE_PROGRESS_3 = 4 + diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..c34fbe55897d01f72d1cef924c623e722934aab3 GIT binary patch literal 89360 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 literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o.d b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o.d new file mode 100644 index 0000000..249acfd --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o.d @@ -0,0 +1,270 @@ +op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o: \ + /Package_Cann/test/No_standard/op_host/reduce_sum.cpp \ + /usr/include/stdc-predef.h \ + /Package_Cann/test/No_standard/op_host/reduce_sum_tiling.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/tilingdata_base.h \ + /usr/include/c++/11/vector /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_pair.h /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/vector.tcc /usr/include/c++/11/map \ + /usr/include/c++/11/bits/stl_tree.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/bits/stl_map.h /usr/include/c++/11/tuple \ + /usr/include/c++/11/utility /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/array /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/stl_multimap.h \ + /usr/include/c++/11/bits/erase_if.h /usr/include/c++/11/memory \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h /usr/include/c++/11/bit \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/bits/shared_ptr.h /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/bits/refwrap.h /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/backward/auto_ptr.h /usr/include/c++/11/cstring \ + /usr/include/string.h /usr/include/strings.h \ + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h \ + /usr/include/aarch64-linux-gnu/bits/string_fortified.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/stdio2.h \ + /usr/include/c++/11/stdlib.h /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h /usr/include/errno.h \ + /usr/include/aarch64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/include/c++/11/string /usr/include/c++/11/bits/char_traits.h \ + /usr/include/c++/11/cstdint /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h /usr/include/c++/11/cctype \ + /usr/include/ctype.h /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/string_conversions.h /usr/include/c++/11/cstdio \ + /usr/include/c++/11/cerrno /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/basic_string.tcc /usr/include/c++/11/functional \ + /usr/include/c++/11/bits/std_function.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/include/c++/11/atomic \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def.h \ + /usr/include/c++/11/iostream /usr/include/c++/11/ostream \ + /usr/include/c++/11/ios /usr/include/c++/11/bits/ios_base.h \ + /usr/include/c++/11/bits/locale_classes.h \ + /usr/include/c++/11/bits/locale_classes.tcc \ + /usr/include/c++/11/system_error \ + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h \ + /usr/include/c++/11/stdexcept /usr/include/c++/11/streambuf \ + /usr/include/c++/11/bits/streambuf.tcc \ + /usr/include/c++/11/bits/basic_ios.h \ + /usr/include/c++/11/bits/locale_facets.h /usr/include/c++/11/cwctype \ + /usr/include/wctype.h /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h \ + /usr/include/c++/11/bits/streambuf_iterator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h \ + /usr/include/c++/11/bits/locale_facets.tcc \ + /usr/include/c++/11/bits/basic_ios.tcc \ + /usr/include/c++/11/bits/ostream.tcc /usr/include/c++/11/istream \ + /usr/include/c++/11/bits/istream.tcc \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h \ + /usr/include/c++/11/unordered_set /usr/include/c++/11/bits/hashtable.h \ + /usr/include/c++/11/bits/hashtable_policy.h \ + /usr/include/c++/11/bits/enable_special_members.h \ + /usr/include/c++/11/bits/unordered_set.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/include/c++/11/limits \ + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h \ + /usr/include/c++/11/cstddef \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h \ + /usr/include/c++/11/set /usr/include/c++/11/bits/stl_set.h \ + /usr/include/c++/11/bits/stl_multiset.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./gnode.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/tiling/platform/platform_ascendc.h \ + /usr/include/c++/11/mutex /usr/include/c++/11/chrono \ + /usr/include/c++/11/ratio /usr/include/c++/11/ctime \ + /usr/include/c++/11/bits/parse_numbers.h \ + /usr/include/c++/11/bits/std_mutex.h \ + /usr/include/c++/11/bits/unique_lock.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/utils/type_utils.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_rt.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_op.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_mdl.h diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/DependInfo.cmake b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/DependInfo.cmake new file mode 100644 index 0000000..b4e5d58 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/DependInfo.cmake @@ -0,0 +1,19 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.cpp" "op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o" "gcc" "op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o.d" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..ab416d0be42e4496531a66bf14cb2bd31e401770 GIT binary patch literal 13040 zcmcJVe{2-joxtDj7%&7}CxL{7C>aQ)4so`-22zO9>-tv=#W9xG6iRX$54&S~#d>$O zJ4@D~ZJfKdirOf$gCVpjDOI8tuY!bH_ZqcVg}X#|+#jdo8k%xu?5I+-@8dD)ouCJ7%PBAK0 z3*C{ehx%f;P;V(*%iwCD`bx;}fQ!?$13#Mr`SEL-n5Yj#=dQ#8Qy*xHN*_KJocd4` zr9Wzc($%;&^^sOrx~eTG&F!n3n$s4RKF%+g`dAB2T=+#`%k1lcEdq3By2P9iW4{91 zli+)Ntq>FU>SKKuu87e!B09QSjP;#=Be3P^`sfz(Cb4B!3ydCW6w~`}7Sp?K71MWt z&VPf?ry-UxEjl-_R7|6t-)XB#tHIXAHv$v07XlMQVCU0twZnzJ25u44XF+x>DCSmy zyb1cquV`Yus27{Yg3-D2+KN(;m_pNBkHCngdgH>2HJg1F1}^hS>3_Nw>>8eDz= z`eMe#L=gIgKHFd%%Dy;O?GDEe#%I1PCT6rdoqC-R%W?d0>`(`;aUr5}vt7}-0OV~V z@Lm9HKD|`*LtN{x#9F65e5`HiYP@}FZePdL$NA2wYX|=6_$keJdj{44`<n?@hcf zuV_KKFEzL?Md|7)F?W^b2Me6NbmT|4lm zGtUb_2@|Y0=h7$#8%`avavREUyPC5+bJmmV$ONpzs1VaoSdQzgsIUIKo-U+PSsT}g zFpJ5&j4}mVu8N*?CcD?nTkSc^w5`sf6))JCTr6wGt)_LBT)hv?i9Rb)h+DD3h*J|H z4f?Dl8)j9Rp$hwJO(go0sbqR+TcT+_3peZQY=W-0D*0{cY{8a=i_LoYPm#khXx1Z+ zsN}!ZwsX6Z_Hc(inzdxRdE2y;aU*W#?T7bgl8NMOT+Yq?}#0dKPXZcGGr87CJ$4vV=jCeZyU;0bn7|5>dT*^u} zRb%~r9h|mEeq(kHrVzV2n97)T_5A)h{jGA;VGZK&dW3*2H;STaz3eF1%7TH#&r3!c zr&uAI&E)LvWWH*3t;<(9M3ae2a%#QXO4EFs@l-l3-6Yj@cgf?*sODXky(^R3m&e;K z2Fpr_xS398Y(4JWmM|8HhaTE*#o^Y}Q)X_+%IWs7nbt?lqJhh>iM$JO?Z7Xk{Z5qn zFMstdd>5Jd!&iU&)Yrt+Q%l6$_k-fSdQJ3y5D?S&euDcNgfzKAEdTZZyaN#d?4$sz-3Hua32YG+Jem$^c z^W&2N@oE4bw;2D=r(o|Jhj)VKao=7I`y1}vw*td{c( zci@`~fN!1J+puhE=Cjc`c=v;tgYN|)p1%{KpT`>CGp-%@2WLL8PjGo8ej<4^0fKla z`N{clR}G(Ga;n&K>Hl}TvuNZ1y4u?x(wlbfEu`&&9*KlDhQbd-3QjfhwU(Apc;kJ9 z9j!*v4LsQ=>WX&C z{e`7RZfgI|lJ72Vd$Im|i-J!sdH1*f@y@^f`)|(u`t7&QHi*`n$Oi6{n6mh*wIO=6 z{-s522NzB*XggGQSZjYF7<>1(zj1ZSaRi?1?RFwu^df4l!Z;s>f{ryvC*g9&qO~D> zbm2=2+78xDYVC)DhXXMPg9GT2%0g^LMVhdOF>h@cIJ)$un>r6JnOxj{sQ&Pxwigy2 zSrBXkt*TC-o=>_Bc%69vx>vL2Mp)CN3GX$giA6QC2sHR8QIp$^TJFj(QN<~eTJGAZ zSyhg{CU6F;lPg)vQA%^Z9;@YD`}kE^n>6Pu(~Ezq2D)}?IgVIRRJb#*q^*gYYwWo3 z*K!op1njy>a^?Ma?L6KO`T=Qvd1QNt^Newh_XNuGeaHNH;(T8+pC+zDj*0o(P)0jV z4z1kBSBX1oAIj`!B@8IaZ&l>C5Z|qEw;#3ZbB`lm;T+F%#JSG>_#ttf>@)u*agLMu zTf}=wevEQ>mP7oD#2Kn{zp$zacmgWPjlY)P0ULHel4rkN#JSG)hlukybNlneqvV%4 zRyBdUM0IlGspTgeI~A^z+G*lk=llZkD9JJZg!q8M?|{8L0P&0w=YC;TEAPJ42$>tF z+?z_9CgAi$Nv`}|(uh_BGyx|zO8PuLTOcAeeaYd_36G?SJ3T1IUuy>iHP|7%k_Ihm z`WB!yL0+|$`{iZe@>sE6$w&ST;I~Nozw-+|~hK6RbRsPLli{;H!g` zb;Xm-}+$+wDDDSbH-}kX2))vLugfP0gceJ&38%Dmc*Vtw_ zUt>njIokj<5{hTD!r0RjX(aV~~50MS61uxCT~#-FvFkqvy*Dc+`qhFSUm3eBRPxo!*=F=&U ziH}If1%H~gO^LzcHdu;#_Cz*Tk6UNCNm+rPOTi&U*zoETHF?bxHF?c4HF+-7O_kMN z8OWIZpnDFnEfq7jr8+x1Hg)dD;ize7-_#kiBM&CiNjqt#;E*C`VDzBVw>=g%Jasx+ z9Ak-8ueZ&P2((v^Rn5@}+|#xh-)F>!_ZdS4GnXizIX;@t<}!n^(R_b$#41xTzz3LR zCY?^o%sGLSLDdnLa8In{cJ~NMCek5N8TS>^k7RP?1E31G@LZ}jo5bOV@rrEZQ>z`> z?#xhUvUhvDEbMWBE99XVG?OW1=*qef03L)^BJiBgmK)D!$F5M$8Vni6P_bxaty~_D zNt5=du|Ev4r=J)RBi2YfI|`MU-4ZqodpMVQ!hmDOA$!=ca=ACM`z7@Fq7X3K!6$&3FewV_ZmF#eAh$e}n9hn~?ez(Gp5yyD&>tlfG$0N>wnTwUkQ^bUpb?_eX4Zzis;w@eT$V`o^g^9;q4RqQY?`q&v$?C3OJUsvoff5yko5ycJ<=`qC)^W#2tUQ_He zlENv)4)fDKcFrhv!er;HVu$%TA3HOOohG^oE-H4IU-Gf@kzz;ZfgpRlewf!2$Mq?% zpOwUU9cIanuGnGDajAATDt3w#-@}R>=39xQ9eJPWSM2b5+O61O{i6mF#b(GS2T#iF3@zza(+qS1=y=RGFXe7>~@yCHuQ1 zJFiGQD)Cn(zFXq_ZlLb-jU=P)^DBvCoUDsTCysH-ocoLNkC6;!{9c5-RpJ~Q+L7hu z_aa$7LAp4edn7xy#90>+zZa?UulUHnDRJ38zt5l@+5S0_$9_FPWz628GWJX6GsM;L z7a)g89e=E2Lcct=E^&Y3zphnI?tMGcNk4YTIf$b7@`t@b5 zKz};)2aPR43DY)3Xm36*;Ny#E$m{FP`LYh>GN^ziBcaWp;#R%n z+i(1}S21xzuk%nc zK>f=h4^ATsf()icH!J_fzqp`Cv`pNBPB(fZZ4?+k%JIIz`_npL=$~$DD7k5j{0=jq zob?$uLjjqpe~I*GSdem6|3TnR|K&{w*k#gJ`>WO?Ad8|=ML)b2ASCW5_8)z-f9CjZ zgZ^9Ks!Fsu{-e?{)<+#o3AnuUPm>_VCnr_^RcQ3;zw-~+&~{Q*hO*lK9|7~~|5ob% zani^B<630@-2dMJL;pc#{7xeEh$LHwGjgC-jf|4C^uP1%3Dt z%J7ML`j-ebF4hMXC;cVqt8$H`zncXqSM_)M#D9k3A0R!9e>q&N&++Gc{121=ank3E z^|?Oc<3CIvCFe*G{o`M;S)cuXi~TDD_!0SMdG@E)zrp?${rVg^i|G!%+Hd(621tNKEE%sJjc)Ve*t~3`$wn#A16WV zKRyyzpZkyTsJ>BUcp3f{;x$sZ2g+Z7OV!8QTwS|>giimm@QM7A30&4< L5dWztC{^)4(n?OP literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o.d b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o.d new file mode 100644 index 0000000..581dc39 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o.d @@ -0,0 +1,142 @@ +op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o: \ + /Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.cpp \ + /usr/include/stdc-predef.h /usr/include/string.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/strings.h \ + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h \ + /usr/include/aarch64-linux-gnu/bits/string_fortified.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/include/c++/11/atomic /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/bits/move.h /usr/include/c++/11/type_traits \ + /usr/include/c++/11/memory /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_pair.h \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h /usr/include/c++/11/bit \ + /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/unique_ptr.h /usr/include/c++/11/utility \ + /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/initializer_list /usr/include/c++/11/tuple \ + /usr/include/c++/11/array /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/shared_ptr.h /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/bits/refwrap.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/backward/auto_ptr.h /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/vector.tcc \ + /Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/aclnn/acl_meta.h \ + /usr/include/c++/11/cstdint /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/build.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/build.make new file mode 100644 index 0000000..b0e7674 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/build.make @@ -0,0 +1,110 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +# Include any dependencies generated for this target. +include op_host/CMakeFiles/cust_opapi.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include op_host/CMakeFiles/cust_opapi.dir/compiler_depend.make + +# Include the progress variables for this target. +include op_host/CMakeFiles/cust_opapi.dir/progress.make + +# Include the compile flags for this target's objects. +include op_host/CMakeFiles/cust_opapi.dir/flags.make + +op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o: op_host/CMakeFiles/cust_opapi.dir/flags.make +op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o: autogen/aclnn_reduce_sum.cpp +op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o: op_host/CMakeFiles/cust_opapi.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o -MF CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o.d -o CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o -c /Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.cpp + +op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.i" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.cpp > CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.i + +op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.s" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.cpp -o CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.s + +# Object files for target cust_opapi +cust_opapi_OBJECTS = \ +"CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o" + +# External object files for target cust_opapi +cust_opapi_EXTERNAL_OBJECTS = + +op_host/libcust_opapi.so: op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o +op_host/libcust_opapi.so: op_host/CMakeFiles/cust_opapi.dir/build.make +op_host/libcust_opapi.so: op_host/CMakeFiles/cust_opapi.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX shared library libcust_opapi.so" + cd /Package_Cann/test/No_standard/build_out/op_host && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cust_opapi.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +op_host/CMakeFiles/cust_opapi.dir/build: op_host/libcust_opapi.so +.PHONY : op_host/CMakeFiles/cust_opapi.dir/build + +op_host/CMakeFiles/cust_opapi.dir/clean: + cd /Package_Cann/test/No_standard/build_out/op_host && $(CMAKE_COMMAND) -P CMakeFiles/cust_opapi.dir/cmake_clean.cmake +.PHONY : op_host/CMakeFiles/cust_opapi.dir/clean + +op_host/CMakeFiles/cust_opapi.dir/depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Package_Cann/test/No_standard /Package_Cann/test/No_standard/op_host /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out/op_host /Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : op_host/CMakeFiles/cust_opapi.dir/depend + diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/cmake_clean.cmake b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/cmake_clean.cmake new file mode 100644 index 0000000..0812114 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o" + "CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o.d" + "libcust_opapi.pdb" + "libcust_opapi.so" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/cust_opapi.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.internal b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.internal new file mode 100644 index 0000000..a718883 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.internal @@ -0,0 +1,170 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o + /Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.cpp + /usr/include/stdc-predef.h + /usr/include/string.h + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h + /usr/include/features.h + /usr/include/features-time64.h + /usr/include/aarch64-linux-gnu/bits/wordsize.h + /usr/include/aarch64-linux-gnu/bits/timesize.h + /usr/include/aarch64-linux-gnu/sys/cdefs.h + /usr/include/aarch64-linux-gnu/bits/long-double.h + /usr/include/aarch64-linux-gnu/gnu/stubs.h + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h + /usr/include/strings.h + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h + /usr/include/aarch64-linux-gnu/bits/string_fortified.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/include/c++/11/atomic + /usr/include/c++/11/bits/atomic_base.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h + /usr/include/stdint.h + /usr/include/aarch64-linux-gnu/bits/types.h + /usr/include/aarch64-linux-gnu/bits/typesizes.h + /usr/include/aarch64-linux-gnu/bits/time64.h + /usr/include/aarch64-linux-gnu/bits/wchar.h + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h + /usr/include/c++/11/bits/atomic_lockfree_defines.h + /usr/include/c++/11/bits/move.h + /usr/include/c++/11/type_traits + /usr/include/c++/11/memory + /usr/include/c++/11/bits/stl_algobase.h + /usr/include/c++/11/bits/functexcept.h + /usr/include/c++/11/bits/exception_defines.h + /usr/include/c++/11/bits/cpp_type_traits.h + /usr/include/c++/11/ext/type_traits.h + /usr/include/c++/11/ext/numeric_traits.h + /usr/include/c++/11/bits/stl_pair.h + /usr/include/c++/11/bits/stl_iterator_base_types.h + /usr/include/c++/11/bits/stl_iterator_base_funcs.h + /usr/include/c++/11/bits/concept_check.h + /usr/include/c++/11/debug/assertions.h + /usr/include/c++/11/bits/stl_iterator.h + /usr/include/c++/11/bits/ptr_traits.h + /usr/include/c++/11/debug/debug.h + /usr/include/c++/11/bits/predefined_ops.h + /usr/include/c++/11/bits/allocator.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h + /usr/include/c++/11/ext/new_allocator.h + /usr/include/c++/11/new + /usr/include/c++/11/bits/exception.h + /usr/include/c++/11/bits/memoryfwd.h + /usr/include/c++/11/bits/stl_construct.h + /usr/include/c++/11/bits/stl_uninitialized.h + /usr/include/c++/11/ext/alloc_traits.h + /usr/include/c++/11/bits/alloc_traits.h + /usr/include/c++/11/bits/stl_tempbuf.h + /usr/include/c++/11/bits/stl_raw_storage_iter.h + /usr/include/c++/11/bits/align.h + /usr/include/c++/11/bit + /usr/include/c++/11/bits/uses_allocator.h + /usr/include/c++/11/bits/unique_ptr.h + /usr/include/c++/11/utility + /usr/include/c++/11/bits/stl_relops.h + /usr/include/c++/11/initializer_list + /usr/include/c++/11/tuple + /usr/include/c++/11/array + /usr/include/c++/11/bits/range_access.h + /usr/include/c++/11/bits/invoke.h + /usr/include/c++/11/bits/stl_function.h + /usr/include/c++/11/backward/binders.h + /usr/include/c++/11/bits/functional_hash.h + /usr/include/c++/11/bits/hash_bytes.h + /usr/include/c++/11/bits/shared_ptr.h + /usr/include/c++/11/iosfwd + /usr/include/c++/11/bits/stringfwd.h + /usr/include/c++/11/bits/postypes.h + /usr/include/c++/11/cwchar + /usr/include/wchar.h + /usr/include/aarch64-linux-gnu/bits/floatn.h + /usr/include/aarch64-linux-gnu/bits/floatn-common.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h + /usr/include/aarch64-linux-gnu/bits/types/FILE.h + /usr/include/aarch64-linux-gnu/bits/wchar2.h + /usr/include/c++/11/bits/shared_ptr_base.h + /usr/include/c++/11/typeinfo + /usr/include/c++/11/bits/allocated_ptr.h + /usr/include/c++/11/bits/refwrap.h + /usr/include/c++/11/ext/aligned_buffer.h + /usr/include/c++/11/ext/atomicity.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/aarch64-linux-gnu/bits/types/time_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h + /usr/include/aarch64-linux-gnu/bits/endian.h + /usr/include/aarch64-linux-gnu/bits/endianness.h + /usr/include/aarch64-linux-gnu/bits/sched.h + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/aarch64-linux-gnu/bits/cpu-set.h + /usr/include/time.h + /usr/include/aarch64-linux-gnu/bits/time.h + /usr/include/aarch64-linux-gnu/bits/timex.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h + /usr/include/aarch64-linux-gnu/bits/setjmp.h + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h + /usr/include/aarch64-linux-gnu/sys/single_threaded.h + /usr/include/c++/11/ext/concurrence.h + /usr/include/c++/11/exception + /usr/include/c++/11/bits/exception_ptr.h + /usr/include/c++/11/bits/cxxabi_init_exception.h + /usr/include/c++/11/bits/nested_exception.h + /usr/include/c++/11/bits/shared_ptr_atomic.h + /usr/include/c++/11/backward/auto_ptr.h + /usr/include/c++/11/vector + /usr/include/c++/11/bits/stl_vector.h + /usr/include/c++/11/bits/stl_bvector.h + /usr/include/c++/11/bits/vector.tcc + /Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.h + /usr/local/Ascend/ascend-toolkit/latest/include/aclnn/acl_meta.h + /usr/include/c++/11/cstdint + /usr/include/c++/11/cstdlib + /usr/include/stdlib.h + /usr/include/aarch64-linux-gnu/bits/waitflags.h + /usr/include/aarch64-linux-gnu/bits/waitstatus.h + /usr/include/aarch64-linux-gnu/sys/types.h + /usr/include/endian.h + /usr/include/aarch64-linux-gnu/bits/byteswap.h + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h + /usr/include/aarch64-linux-gnu/sys/select.h + /usr/include/aarch64-linux-gnu/bits/select.h + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h + /usr/include/aarch64-linux-gnu/bits/select2.h + /usr/include/alloca.h + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h + /usr/include/aarch64-linux-gnu/bits/stdlib.h + /usr/include/c++/11/bits/std_abs.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h + diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.make new file mode 100644 index 0000000..d0b8d58 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.make @@ -0,0 +1,499 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o: autogen/aclnn_reduce_sum.cpp \ + /usr/include/stdc-predef.h \ + /usr/include/string.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/features.h \ + /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/strings.h \ + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h \ + /usr/include/aarch64-linux-gnu/bits/string_fortified.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/include/c++/11/atomic \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h \ + /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/memory \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_pair.h \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h \ + /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h \ + /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h \ + /usr/include/c++/11/bit \ + /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/utility \ + /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/tuple \ + /usr/include/c++/11/array \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/shared_ptr.h \ + /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h \ + /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar \ + /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h \ + /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/bits/refwrap.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h \ + /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h \ + /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/backward/auto_ptr.h \ + /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/vector.tcc \ + autogen/aclnn_reduce_sum.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/aclnn/acl_meta.h \ + /usr/include/c++/11/cstdint \ + /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h \ + /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h \ + /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h \ + /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h + + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h: + +/usr/include/c++/11/bits/std_abs.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/aarch64-linux-gnu/sys/select.h: + +/usr/include/aarch64-linux-gnu/bits/uintn-identity.h: + +/usr/include/aarch64-linux-gnu/bits/waitstatus.h: + +/usr/include/aarch64-linux-gnu/bits/waitflags.h: + +/usr/include/stdlib.h: + +/usr/include/c++/11/cstdint: + +/usr/local/Ascend/ascend-toolkit/latest/include/aclnn/acl_meta.h: + +/usr/include/c++/11/bits/vector.tcc: + +/usr/include/c++/11/bits/stl_bvector.h: + +/usr/include/c++/11/bits/shared_ptr_atomic.h: + +/usr/include/c++/11/bits/nested_exception.h: + +/usr/include/c++/11/bits/exception_ptr.h: + +/usr/include/c++/11/ext/concurrence.h: + +/usr/include/aarch64-linux-gnu/sys/single_threaded.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h: + +/usr/include/c++/11/bits/stl_construct.h: + +/usr/include/aarch64-linux-gnu/bits/typesizes.h: + +/usr/include/c++/11/bits/exception.h: + +/usr/include/c++/11/bits/range_access.h: + +/usr/include/aarch64-linux-gnu/bits/sched.h: + +/usr/include/aarch64-linux-gnu/bits/types/locale_t.h: + +/usr/include/c++/11/debug/assertions.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h: + +/usr/include/aarch64-linux-gnu/bits/byteswap.h: + +/usr/include/c++/11/bits/concept_check.h: + +/usr/include/stdint.h: + +/usr/include/aarch64-linux-gnu/bits/long-double.h: + +/usr/include/aarch64-linux-gnu/bits/libc-header-start.h: + +/usr/include/c++/11/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/11/backward/auto_ptr.h: + +/usr/include/c++/11/bits/stl_uninitialized.h: + +/usr/include/c++/11/ext/new_allocator.h: + +/usr/include/c++/11/memory: + +/usr/include/c++/11/array: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h: + +/usr/include/aarch64-linux-gnu/bits/endianness.h: + +/usr/include/c++/11/bits/move.h: + +/usr/include/c++/11/bits/unique_ptr.h: + +/usr/include/c++/11/bits/stl_relops.h: + +/usr/include/c++/11/bits/atomic_lockfree_defines.h: + +autogen/aclnn_reduce_sum.h: + +/usr/include/c++/11/iosfwd: + +/usr/include/endian.h: + +/usr/include/c++/11/ext/aligned_buffer.h: + +/usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h: + +/usr/include/aarch64-linux-gnu/bits/struct_rwlock.h: + +/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h: + +/usr/include/aarch64-linux-gnu/bits/types/clock_t.h: + +/usr/include/c++/11/bits/predefined_ops.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h: + +/usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h: + +/usr/include/c++/11/exception: + +/usr/include/aarch64-linux-gnu/sys/cdefs.h: + +/usr/include/aarch64-linux-gnu/bits/wordsize.h: + +/usr/include/c++/11/bits/cpp_type_traits.h: + +/usr/include/pthread.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib.h: + +/usr/include/c++/11/bits/stl_vector.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h: + +/usr/include/features.h: + +/usr/include/c++/11/utility: + +/usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h: + +/usr/include/c++/11/debug/debug.h: + +/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h: + +/usr/include/c++/11/ext/type_traits.h: + +/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h: + +/usr/include/aarch64-linux-gnu/bits/select.h: + +/usr/include/aarch64-linux-gnu/bits/timesize.h: + +/usr/include/c++/11/bits/stl_function.h: + +/usr/include/c++/11/bits/stl_pair.h: + +/usr/include/c++/11/ext/atomicity.h: + +/usr/include/stdc-predef.h: + +autogen/aclnn_reduce_sum.cpp: + +/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h: + +/usr/include/c++/11/bits/hash_bytes.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h: + +/usr/include/features-time64.h: + +/usr/include/c++/11/bits/exception_defines.h: + +/usr/include/c++/11/atomic: + +/usr/include/strings.h: + +/usr/include/c++/11/ext/numeric_traits.h: + +/usr/include/c++/11/bits/atomic_base.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/aarch64-linux-gnu/bits/strings_fortified.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs.h: + +/usr/include/aarch64-linux-gnu/bits/stdint-intn.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h: + +/usr/include/aarch64-linux-gnu/bits/string_fortified.h: + +/usr/include/string.h: + +/usr/include/alloca.h: + +/usr/include/aarch64-linux-gnu/bits/time64.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib-float.h: + +/usr/include/aarch64-linux-gnu/bits/select2.h: + +/usr/include/c++/11/bits/functexcept.h: + +/usr/include/aarch64-linux-gnu/bits/time.h: + +/usr/include/c++/11/bits/stl_iterator.h: + +/usr/include/c++/11/new: + +/usr/include/c++/11/bits/ptr_traits.h: + +/usr/include/c++/11/ext/alloc_traits.h: + +/usr/include/c++/11/bits/alloc_traits.h: + +/usr/include/c++/11/bits/stl_tempbuf.h: + +/usr/include/aarch64-linux-gnu/bits/types/wint_t.h: + +/usr/include/c++/11/typeinfo: + +/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h: + +/usr/include/c++/11/bits/stl_raw_storage_iter.h: + +/usr/include/c++/11/vector: + +/usr/include/c++/11/bits/align.h: + +/usr/include/c++/11/cstdlib: + +/usr/include/c++/11/bits/stl_iterator_base_types.h: + +/usr/include/c++/11/bit: + +/usr/include/c++/11/bits/uses_allocator.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h: + +/usr/include/c++/11/type_traits: + +/usr/include/c++/11/tuple: + +/usr/include/c++/11/bits/invoke.h: + +/usr/include/aarch64-linux-gnu/bits/floatn.h: + +/usr/include/c++/11/backward/binders.h: + +/usr/include/c++/11/bits/functional_hash.h: + +/usr/include/aarch64-linux-gnu/sys/types.h: + +/usr/include/c++/11/bits/shared_ptr.h: + +/usr/include/c++/11/bits/memoryfwd.h: + +/usr/include/c++/11/bits/stringfwd.h: + +/usr/include/c++/11/bits/postypes.h: + +/usr/include/c++/11/bits/stl_algobase.h: + +/usr/include/c++/11/cwchar: + +/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h: + +/usr/include/c++/11/bits/cxxabi_init_exception.h: + +/usr/include/wchar.h: + +/usr/include/aarch64-linux-gnu/bits/timex.h: + +/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/__FILE.h: + +/usr/include/aarch64-linux-gnu/bits/types/FILE.h: + +/usr/include/aarch64-linux-gnu/bits/wchar.h: + +/usr/include/c++/11/bits/shared_ptr_base.h: + +/usr/include/aarch64-linux-gnu/bits/wchar2.h: + +/usr/include/aarch64-linux-gnu/bits/floatn-common.h: + +/usr/include/c++/11/bits/allocated_ptr.h: + +/usr/include/c++/11/bits/refwrap.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h: + +/usr/include/sched.h: + +/usr/include/aarch64-linux-gnu/bits/types/time_t.h: + +/usr/include/aarch64-linux-gnu/bits/endian.h: + +/usr/include/aarch64-linux-gnu/bits/cpu-set.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h: + +/usr/include/time.h: + +/usr/include/c++/11/initializer_list: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h: + +/usr/include/c++/11/bits/allocator.h: + +/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/timer_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h: + +/usr/include/aarch64-linux-gnu/bits/setjmp.h: + +/usr/include/aarch64-linux-gnu/bits/types.h: + +/usr/include/aarch64-linux-gnu/bits/struct_mutex.h: + +/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h: diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.ts b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.ts new file mode 100644 index 0000000..b3bb157 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for cust_opapi. diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/depend.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/depend.make new file mode 100644 index 0000000..dae58d6 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for cust_opapi. +# This may be replaced when dependencies are built. diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/flags.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/flags.make new file mode 100644 index 0000000..f4b2f4f --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# compile CXX with /usr/bin/c++ +CXX_DEFINES = -D_FORTIFY_SOURCE=2 -D_GLIBCXX_USE_CXX11_ABI=0 -Dcust_opapi_EXPORTS + +CXX_INCLUDES = -I/usr/local/Ascend/ascend-toolkit/latest/include + +CXX_FLAGS = -fPIC -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -O2 -std=c++11 -fstack-protector-strong + diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/link.txt b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/link.txt new file mode 100644 index 0000000..9246cc7 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -fPIC -s -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -shared -Wl,-soname,libcust_opapi.so -o libcust_opapi.so CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o -L/usr/local/Ascend/ascend-toolkit/latest/lib64 -Wl,-rpath,/usr/local/Ascend/ascend-toolkit/latest/lib64: -lascendcl -lnnopbase diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/progress.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/progress.make new file mode 100644 index 0000000..3a86673 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_opapi.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 5 +CMAKE_PROGRESS_2 = 6 + diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/DependInfo.cmake b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/DependInfo.cmake new file mode 100644 index 0000000..9abc19c --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/DependInfo.cmake @@ -0,0 +1,19 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/Package_Cann/test/No_standard/op_host/reduce_sum.cpp" "op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o" "gcc" "op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o.d" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/build.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/build.make new file mode 100644 index 0000000..755e38c --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/build.make @@ -0,0 +1,110 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +# Include any dependencies generated for this target. +include op_host/CMakeFiles/cust_optiling.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include op_host/CMakeFiles/cust_optiling.dir/compiler_depend.make + +# Include the progress variables for this target. +include op_host/CMakeFiles/cust_optiling.dir/progress.make + +# Include the compile flags for this target's objects. +include op_host/CMakeFiles/cust_optiling.dir/flags.make + +op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o: op_host/CMakeFiles/cust_optiling.dir/flags.make +op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o: ../op_host/reduce_sum.cpp +op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o: op_host/CMakeFiles/cust_optiling.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o -MF CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o.d -o CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o -c /Package_Cann/test/No_standard/op_host/reduce_sum.cpp + +op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/cust_optiling.dir/reduce_sum.cpp.i" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Package_Cann/test/No_standard/op_host/reduce_sum.cpp > CMakeFiles/cust_optiling.dir/reduce_sum.cpp.i + +op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/cust_optiling.dir/reduce_sum.cpp.s" + cd /Package_Cann/test/No_standard/build_out/op_host && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Package_Cann/test/No_standard/op_host/reduce_sum.cpp -o CMakeFiles/cust_optiling.dir/reduce_sum.cpp.s + +# Object files for target cust_optiling +cust_optiling_OBJECTS = \ +"CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o" + +# External object files for target cust_optiling +cust_optiling_EXTERNAL_OBJECTS = + +op_host/libcust_opmaster_rt2.0.so: op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o +op_host/libcust_opmaster_rt2.0.so: op_host/CMakeFiles/cust_optiling.dir/build.make +op_host/libcust_opmaster_rt2.0.so: op_host/CMakeFiles/cust_optiling.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX shared library libcust_opmaster_rt2.0.so" + cd /Package_Cann/test/No_standard/build_out/op_host && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cust_optiling.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +op_host/CMakeFiles/cust_optiling.dir/build: op_host/libcust_opmaster_rt2.0.so +.PHONY : op_host/CMakeFiles/cust_optiling.dir/build + +op_host/CMakeFiles/cust_optiling.dir/clean: + cd /Package_Cann/test/No_standard/build_out/op_host && $(CMAKE_COMMAND) -P CMakeFiles/cust_optiling.dir/cmake_clean.cmake +.PHONY : op_host/CMakeFiles/cust_optiling.dir/clean + +op_host/CMakeFiles/cust_optiling.dir/depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Package_Cann/test/No_standard /Package_Cann/test/No_standard/op_host /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out/op_host /Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : op_host/CMakeFiles/cust_optiling.dir/depend + diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/cmake_clean.cmake b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/cmake_clean.cmake new file mode 100644 index 0000000..42181a9 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o" + "CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o.d" + "libcust_opmaster_rt2.0.pdb" + "libcust_opmaster_rt2.0.so" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/cust_optiling.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.internal b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.internal new file mode 100644 index 0000000..fefb101 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.internal @@ -0,0 +1,321 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o + /Package_Cann/test/No_standard/op_host/reduce_sum.cpp + /usr/include/stdc-predef.h + /Package_Cann/test/No_standard/op_host/reduce_sum_tiling.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/tilingdata_base.h + /usr/include/c++/11/vector + /usr/include/c++/11/bits/stl_algobase.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h + /usr/include/features.h + /usr/include/features-time64.h + /usr/include/aarch64-linux-gnu/bits/wordsize.h + /usr/include/aarch64-linux-gnu/bits/timesize.h + /usr/include/aarch64-linux-gnu/sys/cdefs.h + /usr/include/aarch64-linux-gnu/bits/long-double.h + /usr/include/aarch64-linux-gnu/gnu/stubs.h + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h + /usr/include/c++/11/bits/functexcept.h + /usr/include/c++/11/bits/exception_defines.h + /usr/include/c++/11/bits/cpp_type_traits.h + /usr/include/c++/11/ext/type_traits.h + /usr/include/c++/11/ext/numeric_traits.h + /usr/include/c++/11/bits/stl_pair.h + /usr/include/c++/11/bits/move.h + /usr/include/c++/11/type_traits + /usr/include/c++/11/bits/stl_iterator_base_types.h + /usr/include/c++/11/bits/stl_iterator_base_funcs.h + /usr/include/c++/11/bits/concept_check.h + /usr/include/c++/11/debug/assertions.h + /usr/include/c++/11/bits/stl_iterator.h + /usr/include/c++/11/bits/ptr_traits.h + /usr/include/c++/11/debug/debug.h + /usr/include/c++/11/bits/predefined_ops.h + /usr/include/c++/11/bits/allocator.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h + /usr/include/c++/11/ext/new_allocator.h + /usr/include/c++/11/new + /usr/include/c++/11/bits/exception.h + /usr/include/c++/11/bits/memoryfwd.h + /usr/include/c++/11/bits/stl_construct.h + /usr/include/c++/11/bits/stl_uninitialized.h + /usr/include/c++/11/ext/alloc_traits.h + /usr/include/c++/11/bits/alloc_traits.h + /usr/include/c++/11/bits/stl_vector.h + /usr/include/c++/11/initializer_list + /usr/include/c++/11/bits/stl_bvector.h + /usr/include/c++/11/bits/functional_hash.h + /usr/include/c++/11/bits/hash_bytes.h + /usr/include/c++/11/bits/range_access.h + /usr/include/c++/11/bits/vector.tcc + /usr/include/c++/11/map + /usr/include/c++/11/bits/stl_tree.h + /usr/include/c++/11/bits/stl_function.h + /usr/include/c++/11/backward/binders.h + /usr/include/c++/11/ext/aligned_buffer.h + /usr/include/c++/11/bits/stl_map.h + /usr/include/c++/11/tuple + /usr/include/c++/11/utility + /usr/include/c++/11/bits/stl_relops.h + /usr/include/c++/11/array + /usr/include/c++/11/bits/uses_allocator.h + /usr/include/c++/11/bits/invoke.h + /usr/include/c++/11/bits/stl_multimap.h + /usr/include/c++/11/bits/erase_if.h + /usr/include/c++/11/memory + /usr/include/c++/11/bits/stl_tempbuf.h + /usr/include/c++/11/bits/stl_raw_storage_iter.h + /usr/include/c++/11/bits/align.h + /usr/include/c++/11/bit + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h + /usr/include/stdint.h + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h + /usr/include/aarch64-linux-gnu/bits/types.h + /usr/include/aarch64-linux-gnu/bits/typesizes.h + /usr/include/aarch64-linux-gnu/bits/time64.h + /usr/include/aarch64-linux-gnu/bits/wchar.h + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h + /usr/include/c++/11/bits/unique_ptr.h + /usr/include/c++/11/bits/shared_ptr.h + /usr/include/c++/11/iosfwd + /usr/include/c++/11/bits/stringfwd.h + /usr/include/c++/11/bits/postypes.h + /usr/include/c++/11/cwchar + /usr/include/wchar.h + /usr/include/aarch64-linux-gnu/bits/floatn.h + /usr/include/aarch64-linux-gnu/bits/floatn-common.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h + /usr/include/aarch64-linux-gnu/bits/types/FILE.h + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h + /usr/include/aarch64-linux-gnu/bits/wchar2.h + /usr/include/c++/11/bits/shared_ptr_base.h + /usr/include/c++/11/typeinfo + /usr/include/c++/11/bits/allocated_ptr.h + /usr/include/c++/11/bits/refwrap.h + /usr/include/c++/11/ext/atomicity.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/aarch64-linux-gnu/bits/types/time_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h + /usr/include/aarch64-linux-gnu/bits/endian.h + /usr/include/aarch64-linux-gnu/bits/endianness.h + /usr/include/aarch64-linux-gnu/bits/sched.h + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/aarch64-linux-gnu/bits/cpu-set.h + /usr/include/time.h + /usr/include/aarch64-linux-gnu/bits/time.h + /usr/include/aarch64-linux-gnu/bits/timex.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h + /usr/include/aarch64-linux-gnu/bits/setjmp.h + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h + /usr/include/aarch64-linux-gnu/sys/single_threaded.h + /usr/include/c++/11/ext/concurrence.h + /usr/include/c++/11/exception + /usr/include/c++/11/bits/exception_ptr.h + /usr/include/c++/11/bits/cxxabi_init_exception.h + /usr/include/c++/11/bits/nested_exception.h + /usr/include/c++/11/bits/shared_ptr_atomic.h + /usr/include/c++/11/bits/atomic_base.h + /usr/include/c++/11/bits/atomic_lockfree_defines.h + /usr/include/c++/11/backward/auto_ptr.h + /usr/include/c++/11/cstring + /usr/include/string.h + /usr/include/strings.h + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h + /usr/include/aarch64-linux-gnu/bits/string_fortified.h + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h + /usr/include/stdio.h + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h + /usr/include/aarch64-linux-gnu/bits/stdio.h + /usr/include/aarch64-linux-gnu/bits/stdio2.h + /usr/include/c++/11/stdlib.h + /usr/include/c++/11/cstdlib + /usr/include/stdlib.h + /usr/include/aarch64-linux-gnu/bits/waitflags.h + /usr/include/aarch64-linux-gnu/bits/waitstatus.h + /usr/include/aarch64-linux-gnu/sys/types.h + /usr/include/endian.h + /usr/include/aarch64-linux-gnu/bits/byteswap.h + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h + /usr/include/aarch64-linux-gnu/sys/select.h + /usr/include/aarch64-linux-gnu/bits/select.h + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h + /usr/include/aarch64-linux-gnu/bits/select2.h + /usr/include/alloca.h + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h + /usr/include/aarch64-linux-gnu/bits/stdlib.h + /usr/include/c++/11/bits/std_abs.h + /usr/include/errno.h + /usr/include/aarch64-linux-gnu/bits/errno.h + /usr/include/linux/errno.h + /usr/include/aarch64-linux-gnu/asm/errno.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/errno-base.h + /usr/include/aarch64-linux-gnu/bits/types/error_t.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/include/c++/11/string + /usr/include/c++/11/bits/char_traits.h + /usr/include/c++/11/cstdint + /usr/include/c++/11/bits/localefwd.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h + /usr/include/c++/11/clocale + /usr/include/locale.h + /usr/include/aarch64-linux-gnu/bits/locale.h + /usr/include/c++/11/cctype + /usr/include/ctype.h + /usr/include/c++/11/bits/ostream_insert.h + /usr/include/c++/11/bits/cxxabi_forced.h + /usr/include/c++/11/bits/basic_string.h + /usr/include/c++/11/ext/string_conversions.h + /usr/include/c++/11/cstdio + /usr/include/c++/11/cerrno + /usr/include/c++/11/bits/charconv.h + /usr/include/c++/11/bits/basic_string.tcc + /usr/include/c++/11/functional + /usr/include/c++/11/bits/std_function.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/include/c++/11/atomic + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_registry.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def.h + /usr/include/c++/11/iostream + /usr/include/c++/11/ostream + /usr/include/c++/11/ios + /usr/include/c++/11/bits/ios_base.h + /usr/include/c++/11/bits/locale_classes.h + /usr/include/c++/11/bits/locale_classes.tcc + /usr/include/c++/11/system_error + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h + /usr/include/c++/11/stdexcept + /usr/include/c++/11/streambuf + /usr/include/c++/11/bits/streambuf.tcc + /usr/include/c++/11/bits/basic_ios.h + /usr/include/c++/11/bits/locale_facets.h + /usr/include/c++/11/cwctype + /usr/include/wctype.h + /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h + /usr/include/c++/11/bits/streambuf_iterator.h + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h + /usr/include/c++/11/bits/locale_facets.tcc + /usr/include/c++/11/bits/basic_ios.tcc + /usr/include/c++/11/bits/ostream.tcc + /usr/include/c++/11/istream + /usr/include/c++/11/bits/istream.tcc + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h + /usr/include/c++/11/unordered_set + /usr/include/c++/11/bits/hashtable.h + /usr/include/c++/11/bits/hashtable_policy.h + /usr/include/c++/11/bits/enable_special_members.h + /usr/include/c++/11/bits/unordered_set.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h + /usr/include/c++/11/limits + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h + /usr/include/c++/11/cstddef + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h + /usr/include/c++/11/set + /usr/include/c++/11/bits/stl_set.h + /usr/include/c++/11/bits/stl_multiset.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/gnode.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_factory.h + /usr/local/Ascend/ascend-toolkit/latest/include/tiling/platform/platform_ascendc.h + /usr/include/c++/11/mutex + /usr/include/c++/11/chrono + /usr/include/c++/11/ratio + /usr/include/c++/11/ctime + /usr/include/c++/11/bits/parse_numbers.h + /usr/include/c++/11/bits/std_mutex.h + /usr/include/c++/11/bits/unique_lock.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/utils/type_utils.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_rt.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_op.h + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_mdl.h + diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.make new file mode 100644 index 0000000..00c03d3 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.make @@ -0,0 +1,914 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o: ../op_host/reduce_sum.cpp \ + /usr/include/stdc-predef.h \ + ../op_host/reduce_sum_tiling.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/tilingdata_base.h \ + /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h \ + /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_pair.h \ + /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h \ + /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h \ + /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/vector.tcc \ + /usr/include/c++/11/map \ + /usr/include/c++/11/bits/stl_tree.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/bits/stl_map.h \ + /usr/include/c++/11/tuple \ + /usr/include/c++/11/utility \ + /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/array \ + /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/stl_multimap.h \ + /usr/include/c++/11/bits/erase_if.h \ + /usr/include/c++/11/memory \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h \ + /usr/include/c++/11/bit \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h \ + /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/bits/shared_ptr.h \ + /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h \ + /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar \ + /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h \ + /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/bits/refwrap.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h \ + /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h \ + /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/backward/auto_ptr.h \ + /usr/include/c++/11/cstring \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h \ + /usr/include/aarch64-linux-gnu/bits/string_fortified.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/stdio2.h \ + /usr/include/c++/11/stdlib.h \ + /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h \ + /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h \ + /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h \ + /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h \ + /usr/include/errno.h \ + /usr/include/aarch64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h \ + /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/include/c++/11/string \ + /usr/include/c++/11/bits/char_traits.h \ + /usr/include/c++/11/cstdint \ + /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale \ + /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h \ + /usr/include/c++/11/cctype \ + /usr/include/ctype.h \ + /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/string_conversions.h \ + /usr/include/c++/11/cstdio \ + /usr/include/c++/11/cerrno \ + /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/basic_string.tcc \ + /usr/include/c++/11/functional \ + /usr/include/c++/11/bits/std_function.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/include/c++/11/atomic \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def.h \ + /usr/include/c++/11/iostream \ + /usr/include/c++/11/ostream \ + /usr/include/c++/11/ios \ + /usr/include/c++/11/bits/ios_base.h \ + /usr/include/c++/11/bits/locale_classes.h \ + /usr/include/c++/11/bits/locale_classes.tcc \ + /usr/include/c++/11/system_error \ + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h \ + /usr/include/c++/11/stdexcept \ + /usr/include/c++/11/streambuf \ + /usr/include/c++/11/bits/streambuf.tcc \ + /usr/include/c++/11/bits/basic_ios.h \ + /usr/include/c++/11/bits/locale_facets.h \ + /usr/include/c++/11/cwctype \ + /usr/include/wctype.h \ + /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h \ + /usr/include/c++/11/bits/streambuf_iterator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h \ + /usr/include/c++/11/bits/locale_facets.tcc \ + /usr/include/c++/11/bits/basic_ios.tcc \ + /usr/include/c++/11/bits/ostream.tcc \ + /usr/include/c++/11/istream \ + /usr/include/c++/11/bits/istream.tcc \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h \ + /usr/include/c++/11/unordered_set \ + /usr/include/c++/11/bits/hashtable.h \ + /usr/include/c++/11/bits/hashtable_policy.h \ + /usr/include/c++/11/bits/enable_special_members.h \ + /usr/include/c++/11/bits/unordered_set.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/include/c++/11/limits \ + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h \ + /usr/include/c++/11/cstddef \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h \ + /usr/include/c++/11/set \ + /usr/include/c++/11/bits/stl_set.h \ + /usr/include/c++/11/bits/stl_multiset.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/gnode.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/tiling/platform/platform_ascendc.h \ + /usr/include/c++/11/mutex \ + /usr/include/c++/11/chrono \ + /usr/include/c++/11/ratio \ + /usr/include/c++/11/ctime \ + /usr/include/c++/11/bits/parse_numbers.h \ + /usr/include/c++/11/bits/std_mutex.h \ + /usr/include/c++/11/bits/unique_lock.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/utils/type_utils.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_rt.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_op.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_mdl.h + + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_op.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_rt.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/utils/type_utils.h: + +/usr/include/c++/11/bits/parse_numbers.h: + +/usr/include/c++/11/ctime: + +/usr/include/c++/11/ratio: + +/usr/include/c++/11/chrono: + +/usr/include/c++/11/mutex: + +/usr/local/Ascend/ascend-toolkit/latest/include/tiling/platform/platform_ascendc.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_factory.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h: + +/usr/include/c++/11/set: + +/usr/include/aarch64-linux-gnu/bits/struct_mutex.h: + +/usr/include/aarch64-linux-gnu/bits/types.h: + +/usr/include/aarch64-linux-gnu/bits/setjmp.h: + +/usr/include/c++/11/bits/hashtable.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h: + +/usr/include/aarch64-linux-gnu/bits/types/timer_t.h: + +/usr/include/c++/11/bits/ostream.tcc: + +/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h: + +/usr/include/c++/11/bits/allocator.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h: + +/usr/include/aarch64-linux-gnu/bits/endian.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h: + +/usr/include/c++/11/bits/stl_set.h: + +/usr/include/aarch64-linux-gnu/bits/types/time_t.h: + +/usr/include/c++/11/bits/streambuf_iterator.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h: + +/usr/include/c++/11/bits/refwrap.h: + +/usr/include/c++/11/bits/allocated_ptr.h: + +/usr/include/aarch64-linux-gnu/bits/floatn-common.h: + +/usr/include/aarch64-linux-gnu/bits/wchar2.h: + +/usr/include/aarch64-linux-gnu/bits/wchar.h: + +/usr/include/aarch64-linux-gnu/bits/types/FILE.h: + +/usr/include/aarch64-linux-gnu/bits/types/__FILE.h: + +/usr/include/aarch64-linux-gnu/bits/cpu-set.h: + +/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h: + +/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h: + +/usr/include/c++/11/backward/binders.h: + +/usr/include/c++/11/iostream: + +/usr/include/wchar.h: + +/usr/include/c++/11/bits/cxxabi_init_exception.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h: + +/usr/include/c++/11/cwchar: + +/usr/include/c++/11/bits/stl_algobase.h: + +/usr/include/c++/11/bits/postypes.h: + +/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h: + +/usr/include/c++/11/cstdio: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h: + +/usr/include/c++/11/bit: + +/usr/include/c++/11/bits/stl_iterator_base_types.h: + +/usr/include/c++/11/cstdlib: + +/usr/include/c++/11/typeinfo: + +/usr/include/c++/11/bits/stl_raw_storage_iter.h: + +/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h: + +/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h: + +/usr/include/features.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h: + +/usr/include/c++/11/bits/unique_lock.h: + +/usr/include/c++/11/bits/uses_allocator.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h: + +/usr/include/c++/11/clocale: + +/usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h: + +/usr/include/c++/11/ext/type_traits.h: + +/usr/include/c++/11/bits/exception_defines.h: + +/usr/include/c++/11/atomic: + +/usr/include/c++/11/debug/assertions.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h: + +/usr/include/c++/11/ext/numeric_traits.h: + +/usr/include/c++/11/bits/atomic_base.h: + +/usr/include/aarch64-linux-gnu/bits/endianness.h: + +/usr/include/ctype.h: + +/usr/include/c++/11/type_traits: + +/usr/include/c++/11/bits/stl_tree.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h: + +/usr/include/aarch64-linux-gnu/bits/stdio2.h: + +/usr/include/aarch64-linux-gnu/bits/errno.h: + +/usr/include/aarch64-linux-gnu/sys/cdefs.h: + +/usr/include/c++/11/exception: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_def.h: + +/usr/include/c++/11/bits/std_function.h: + +/usr/include/c++/11/bits/stl_tempbuf.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/tilingdata_base.h: + +/usr/include/c++/11/new: + +/usr/include/c++/11/bits/stl_iterator.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h: + +../op_host/reduce_sum_tiling.h: + +/usr/include/c++/11/bits/stl_bvector.h: + +/usr/include/aarch64-linux-gnu/bits/timesize.h: + +/usr/include/c++/11/bits/align.h: + +/usr/include/c++/11/vector: + +/usr/include/pthread.h: + +/usr/include/aarch64-linux-gnu/bits/wordsize.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/c++/11/bits/char_traits.h: + +/usr/include/c++/11/array: + +/usr/include/c++/11/ext/atomicity.h: + +/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h: + +/usr/include/c++/11/bits/stl_pair.h: + +/usr/include/c++/11/bits/memoryfwd.h: + +/usr/include/c++/11/bits/stl_function.h: + +/usr/include/aarch64-linux-gnu/bits/libc-header-start.h: + +/usr/include/c++/11/cstring: + +/usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h: + +/usr/include/c++/11/bits/concept_check.h: + +/usr/include/aarch64-linux-gnu/bits/byteswap.h: + +/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h: + +/usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h: + +/usr/include/c++/11/limits: + +/usr/include/c++/11/bits/predefined_ops.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/gnode.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h: + +/usr/include/c++/11/memory: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib.h: + +/usr/include/c++/11/system_error: + +/usr/include/aarch64-linux-gnu/sys/types.h: + +/usr/include/c++/11/bits/vector.tcc: + +/usr/include/c++/11/bits/functexcept.h: + +/usr/include/aarch64-linux-gnu/bits/time.h: + +/usr/include/aarch64-linux-gnu/bits/select2.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib-float.h: + +/usr/include/c++/11/streambuf: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs.h: + +/usr/include/aarch64-linux-gnu/bits/stdint-intn.h: + +/usr/include/c++/11/bits/locale_facets.tcc: + +/usr/include/c++/11/debug/debug.h: + +/usr/include/features-time64.h: + +/usr/include/aarch64-linux-gnu/bits/types/clock_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/locale_t.h: + +/usr/include/c++/11/bits/functional_hash.h: + +/usr/include/errno.h: + +/usr/include/c++/11/bits/shared_ptr.h: + +/usr/include/c++/11/bits/stl_construct.h: + +/usr/include/c++/11/bits/cpp_type_traits.h: + +/usr/include/c++/11/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/11/ext/new_allocator.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_mdl.h: + +/usr/include/c++/11/bits/stl_uninitialized.h: + +/usr/include/c++/11/backward/auto_ptr.h: + +/usr/include/c++/11/ext/alloc_traits.h: + +/usr/include/aarch64-linux-gnu/bits/floatn.h: + +/usr/include/c++/11/bits/cxxabi_forced.h: + +/usr/include/stdc-predef.h: + +/usr/include/c++/11/bits/alloc_traits.h: + +/usr/include/aarch64-linux-gnu/bits/time64.h: + +/usr/include/alloca.h: + +/usr/include/c++/11/bits/range_access.h: + +/usr/include/c++/11/map: + +/usr/include/c++/11/bits/stl_vector.h: + +/usr/include/c++/11/cstddef: + +/usr/include/c++/11/initializer_list: + +/usr/include/c++/11/iosfwd: + +/usr/include/c++/11/bits/erase_if.h: + +/usr/include/c++/11/bits/ptr_traits.h: + +/usr/include/stdint.h: + +/usr/include/endian.h: + +/usr/include/c++/11/bits/stl_map.h: + +/usr/include/c++/11/bits/unique_ptr.h: + +/usr/include/c++/11/ostream: + +/usr/include/c++/11/bits/hash_bytes.h: + +/usr/include/c++/11/bits/move.h: + +/usr/include/c++/11/bits/stl_relops.h: + +/usr/include/aarch64-linux-gnu/bits/struct_rwlock.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h: + +/usr/include/aarch64-linux-gnu/sys/single_threaded.h: + +/usr/include/c++/11/ext/concurrence.h: + +/usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h: + +/usr/include/c++/11/bits/exception_ptr.h: + +/usr/include/c++/11/ext/string_conversions.h: + +/usr/include/c++/11/bits/nested_exception.h: + +/usr/include/c++/11/bits/shared_ptr_atomic.h: + +/usr/include/aarch64-linux-gnu/bits/typesizes.h: + +/usr/include/c++/11/bits/atomic_lockfree_defines.h: + +/usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h: + +/usr/include/c++/11/bits/streambuf.tcc: + +/usr/include/string.h: + +/usr/include/strings.h: + +/usr/include/aarch64-linux-gnu/bits/string_fortified.h: + +/usr/include/aarch64-linux-gnu/bits/locale.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h: + +/usr/include/c++/11/tuple: + +/usr/include/aarch64-linux-gnu/bits/select.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/securec.h: + +/usr/include/c++/11/bits/charconv.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/securectype.h: + +/usr/include/c++/11/bits/ios_base.h: + +/usr/include/stdio.h: + +/usr/include/c++/11/bits/stringfwd.h: + +/usr/include/aarch64-linux-gnu/bits/strings_fortified.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h: + +/usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h: + +/usr/include/time.h: + +/usr/include/aarch64-linux-gnu/bits/wctype-wchar.h: + +/usr/include/c++/11/bits/stl_multiset.h: + +/usr/include/aarch64-linux-gnu/bits/stdio_lim.h: + +/usr/include/aarch64-linux-gnu/bits/stdio.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h: + +/usr/include/c++/11/cerrno: + +/usr/include/c++/11/stdlib.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h: + +/usr/include/stdlib.h: + +/usr/include/aarch64-linux-gnu/bits/waitflags.h: + +/usr/include/aarch64-linux-gnu/bits/waitstatus.h: + +/usr/include/aarch64-linux-gnu/bits/uintn-identity.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h: + +/usr/include/aarch64-linux-gnu/sys/select.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/aarch64-linux-gnu/bits/long-double.h: + +/usr/include/c++/11/bits/std_abs.h: + +/usr/include/aarch64-linux-gnu/bits/types/error_t.h: + +/usr/include/c++/11/bits/stl_multimap.h: + +/usr/include/aarch64-linux-gnu/asm/errno.h: + +/usr/include/c++/11/cctype: + +/usr/include/asm-generic/errno.h: + +/usr/include/c++/11/bits/std_mutex.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h: + +/usr/include/c++/11/string: + +/usr/include/c++/11/cstdint: + +/usr/local/Ascend/ascend-toolkit/latest/include/acl/acl.h: + +/usr/include/c++/11/bits/localefwd.h: + +/usr/include/aarch64-linux-gnu/bits/types/wint_t.h: + +/usr/include/locale.h: + +/usr/include/c++/11/bits/ostream_insert.h: + +/usr/include/c++/11/bits/shared_ptr_base.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h: + +/usr/include/c++/11/bits/basic_string.h: + +/usr/include/c++/11/bits/basic_string.tcc: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_registry.h: + +/usr/include/c++/11/utility: + +/usr/include/c++/11/ios: + +/usr/include/c++/11/bits/locale_classes.h: + +/usr/include/c++/11/bits/locale_classes.tcc: + +/usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h: + +/usr/include/c++/11/stdexcept: + +/usr/include/c++/11/ext/aligned_buffer.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h: + +/usr/include/c++/11/bits/basic_ios.h: + +/usr/include/c++/11/bits/exception.h: + +/usr/include/c++/11/bits/locale_facets.h: + +../op_host/reduce_sum.cpp: + +/usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h: + +/usr/include/c++/11/cwctype: + +/usr/include/sched.h: + +/usr/include/wctype.h: + +/usr/include/c++/11/functional: + +/usr/include/linux/errno.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h: + +/usr/include/c++/11/istream: + +/usr/include/aarch64-linux-gnu/bits/sched.h: + +/usr/include/c++/11/bits/istream.tcc: + +/usr/include/c++/11/bits/invoke.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h: + +/usr/include/aarch64-linux-gnu/bits/timex.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h: + +/usr/include/c++/11/unordered_set: + +/usr/include/c++/11/bits/hashtable_policy.h: + +/usr/include/c++/11/bits/basic_ios.tcc: + +/usr/include/c++/11/bits/enable_special_members.h: + +/usr/include/c++/11/bits/unordered_set.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h: diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.ts b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.ts new file mode 100644 index 0000000..74472e3 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for cust_optiling. diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/depend.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/depend.make new file mode 100644 index 0000000..fe68c7f --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for cust_optiling. +# This may be replaced when dependencies are built. diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/flags.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/flags.make new file mode 100644 index 0000000..6d98162 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# compile CXX with /usr/bin/c++ +CXX_DEFINES = -DOP_TILING_LIB -D_FORTIFY_SOURCE=2 -D_GLIBCXX_USE_CXX11_ABI=0 -Dcust_optiling_EXPORTS + +CXX_INCLUDES = -I/usr/local/Ascend/ascend-toolkit/latest/include + +CXX_FLAGS = -fPIC -fvisibility=hidden -fPIC -fvisibility-inlines-hidden -O2 -std=c++11 -fstack-protector-strong + diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/link.txt b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/link.txt new file mode 100644 index 0000000..0b94d45 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -fPIC -s -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -shared -Wl,-soname,libcust_opmaster_rt2.0.so -o libcust_opmaster_rt2.0.so CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o -L/usr/local/Ascend/ascend-toolkit/latest/lib64 -Wl,-rpath,/usr/local/Ascend/ascend-toolkit/latest/lib64: -lexe_graph -lregister -ltiling_api -Wl,--whole-archive -lrt2_registry -Wl,--no-whole-archive diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/progress.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/progress.make new file mode 100644 index 0000000..72bb7dd --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 7 +CMAKE_PROGRESS_2 = 8 + diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..6484677dc8d7b180da8ad254db7805d5546a6f33 GIT binary patch literal 93896 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 Z>|HYd4IMvpUn{?@%anWy;**=^{~vRD{(k@f literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o.d b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o.d new file mode 100644 index 0000000..ee9e9d7 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o.d @@ -0,0 +1,270 @@ +op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o: \ + /Package_Cann/test/No_standard/op_host/reduce_sum.cpp \ + /usr/include/stdc-predef.h \ + /Package_Cann/test/No_standard/op_host/reduce_sum_tiling.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/tilingdata_base.h \ + /usr/include/c++/11/vector /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_pair.h /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/vector.tcc /usr/include/c++/11/map \ + /usr/include/c++/11/bits/stl_tree.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/bits/stl_map.h /usr/include/c++/11/tuple \ + /usr/include/c++/11/utility /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/array /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/stl_multimap.h \ + /usr/include/c++/11/bits/erase_if.h /usr/include/c++/11/memory \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h /usr/include/c++/11/bit \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/bits/shared_ptr.h /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/bits/refwrap.h /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/backward/auto_ptr.h /usr/include/c++/11/cstring \ + /usr/include/string.h /usr/include/strings.h \ + /usr/include/aarch64-linux-gnu/bits/strings_fortified.h \ + /usr/include/aarch64-linux-gnu/bits/string_fortified.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securec.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/securectype.h \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/stdio2.h \ + /usr/include/c++/11/stdlib.h /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h /usr/include/errno.h \ + /usr/include/aarch64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/include/c++/11/string /usr/include/c++/11/bits/char_traits.h \ + /usr/include/c++/11/cstdint /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h /usr/include/c++/11/cctype \ + /usr/include/ctype.h /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/string_conversions.h /usr/include/c++/11/cstdio \ + /usr/include/c++/11/cerrno /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/basic_string.tcc /usr/include/c++/11/functional \ + /usr/include/c++/11/bits/std_function.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/include/c++/11/atomic \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def.h \ + /usr/include/c++/11/iostream /usr/include/c++/11/ostream \ + /usr/include/c++/11/ios /usr/include/c++/11/bits/ios_base.h \ + /usr/include/c++/11/bits/locale_classes.h \ + /usr/include/c++/11/bits/locale_classes.tcc \ + /usr/include/c++/11/system_error \ + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h \ + /usr/include/c++/11/stdexcept /usr/include/c++/11/streambuf \ + /usr/include/c++/11/bits/streambuf.tcc \ + /usr/include/c++/11/bits/basic_ios.h \ + /usr/include/c++/11/bits/locale_facets.h /usr/include/c++/11/cwctype \ + /usr/include/wctype.h /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h \ + /usr/include/c++/11/bits/streambuf_iterator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h \ + /usr/include/c++/11/bits/locale_facets.tcc \ + /usr/include/c++/11/bits/basic_ios.tcc \ + /usr/include/c++/11/bits/ostream.tcc /usr/include/c++/11/istream \ + /usr/include/c++/11/bits/istream.tcc \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_registry.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/compiler_def.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_impl_kernel_registry.h \ + /usr/include/c++/11/unordered_set /usr/include/c++/11/bits/hashtable.h \ + /usr/include/c++/11/bits/hashtable_policy.h \ + /usr/include/c++/11/bits/enable_special_members.h \ + /usr/include/c++/11/bits/unordered_set.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/base_type.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/include/c++/11/limits \ + /usr/local/Ascend/ascend-toolkit/latest/include/utils/extern_math_util.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/storage_format.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/expand_dims_type.h \ + /usr/include/c++/11/cstddef \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/external/ge_common/ge_api_types.h \ + /usr/include/c++/11/set /usr/include/c++/11/bits/stl_set.h \ + /usr/include/c++/11/bits/stl_multiset.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/kernel_run_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/context_extend.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/compute_node_info.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_shape_range_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/range.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tiling_data.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/continuous_vector.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/runtime_attrs.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/op_execute_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/shape.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/extended_kernel_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/ge/ge_allocator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/exe_graph/runtime/infer_datatype_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_reg.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/graph.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./gnode.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/op_def_factory.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/tiling/platform/platform_ascendc.h \ + /usr/include/c++/11/mutex /usr/include/c++/11/chrono \ + /usr/include/c++/11/ratio /usr/include/c++/11/ctime \ + /usr/include/c++/11/bits/parse_numbers.h \ + /usr/include/c++/11/bits/std_mutex.h \ + /usr/include/c++/11/bits/unique_lock.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/utils/type_utils.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_rt.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_base.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/rt_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/error_codes/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_op.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/acl/acl_mdl.h diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/DependInfo.cmake b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/DependInfo.cmake new file mode 100644 index 0000000..dc55e44 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/DependInfo.cmake @@ -0,0 +1,18 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/build.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/build.make new file mode 100644 index 0000000..269566d --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/build.make @@ -0,0 +1,87 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +# Utility rule file for optiling_compat. + +# Include any custom commands dependencies for this target. +include op_host/CMakeFiles/optiling_compat.dir/compiler_depend.make + +# Include the progress variables for this target. +include op_host/CMakeFiles/optiling_compat.dir/progress.make + +op_host/CMakeFiles/optiling_compat: + cd /Package_Cann/test/No_standard/build_out/op_host && ln -sf lib/linux/aarch64/libcust_opmaster_rt2.0.so /Package_Cann/test/No_standard/build_out/op_host/liboptiling.so + +optiling_compat: op_host/CMakeFiles/optiling_compat +optiling_compat: op_host/CMakeFiles/optiling_compat.dir/build.make +.PHONY : optiling_compat + +# Rule to build all files generated by this target. +op_host/CMakeFiles/optiling_compat.dir/build: optiling_compat +.PHONY : op_host/CMakeFiles/optiling_compat.dir/build + +op_host/CMakeFiles/optiling_compat.dir/clean: + cd /Package_Cann/test/No_standard/build_out/op_host && $(CMAKE_COMMAND) -P CMakeFiles/optiling_compat.dir/cmake_clean.cmake +.PHONY : op_host/CMakeFiles/optiling_compat.dir/clean + +op_host/CMakeFiles/optiling_compat.dir/depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Package_Cann/test/No_standard /Package_Cann/test/No_standard/op_host /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out/op_host /Package_Cann/test/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : op_host/CMakeFiles/optiling_compat.dir/depend + diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/cmake_clean.cmake b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/cmake_clean.cmake new file mode 100644 index 0000000..d6c6218 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/optiling_compat" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/optiling_compat.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/compiler_depend.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/compiler_depend.make new file mode 100644 index 0000000..f6005bc --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty custom commands generated dependencies file for optiling_compat. +# This may be replaced when dependencies are built. diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/compiler_depend.ts b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/compiler_depend.ts new file mode 100644 index 0000000..218ad6e --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for custom commands dependencies management for optiling_compat. diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/progress.make b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/optiling_compat.dir/progress.make @@ -0,0 +1 @@ + diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/progress.marks b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/progress.marks new file mode 100644 index 0000000..7f8f011 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/progress.marks @@ -0,0 +1 @@ +7 diff --git a/precision_Problem/No_standard/build_out/op_host/Makefile b/precision_Problem/No_standard/build_out/op_host/Makefile new file mode 100644 index 0000000..9a3f395 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/Makefile @@ -0,0 +1,355 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target package +package: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..." + cd /Package_Cann/test/No_standard/build_out && /usr/bin/cpack --config ./CPackConfig.cmake +.PHONY : package + +# Special rule for the target package +package/fast: package +.PHONY : package/fast + +# Special rule for the target package_source +package_source: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..." + cd /Package_Cann/test/No_standard/build_out && /usr/bin/cpack --config ./CPackSourceConfig.cmake /Package_Cann/test/No_standard/build_out/CPackSourceConfig.cmake +.PHONY : package_source + +# Special rule for the target package_source +package_source/fast: package_source +.PHONY : package_source/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# The main all target +all: cmake_check_build_system + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles /Package_Cann/test/No_standard/build_out/op_host//CMakeFiles/progress.marks + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +op_host/CMakeFiles/cust_op_proto.dir/rule: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/CMakeFiles/cust_op_proto.dir/rule +.PHONY : op_host/CMakeFiles/cust_op_proto.dir/rule + +# Convenience name for target. +cust_op_proto: op_host/CMakeFiles/cust_op_proto.dir/rule +.PHONY : cust_op_proto + +# fast build rule for target. +cust_op_proto/fast: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/build +.PHONY : cust_op_proto/fast + +# Convenience name for target. +op_host/CMakeFiles/cust_optiling.dir/rule: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/CMakeFiles/cust_optiling.dir/rule +.PHONY : op_host/CMakeFiles/cust_optiling.dir/rule + +# Convenience name for target. +cust_optiling: op_host/CMakeFiles/cust_optiling.dir/rule +.PHONY : cust_optiling + +# fast build rule for target. +cust_optiling/fast: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_optiling.dir/build.make op_host/CMakeFiles/cust_optiling.dir/build +.PHONY : cust_optiling/fast + +# Convenience name for target. +op_host/CMakeFiles/cust_opapi.dir/rule: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/CMakeFiles/cust_opapi.dir/rule +.PHONY : op_host/CMakeFiles/cust_opapi.dir/rule + +# Convenience name for target. +cust_opapi: op_host/CMakeFiles/cust_opapi.dir/rule +.PHONY : cust_opapi + +# fast build rule for target. +cust_opapi/fast: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_opapi.dir/build.make op_host/CMakeFiles/cust_opapi.dir/build +.PHONY : cust_opapi/fast + +# Convenience name for target. +op_host/CMakeFiles/optiling_compat.dir/rule: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 op_host/CMakeFiles/optiling_compat.dir/rule +.PHONY : op_host/CMakeFiles/optiling_compat.dir/rule + +# Convenience name for target. +optiling_compat: op_host/CMakeFiles/optiling_compat.dir/rule +.PHONY : optiling_compat + +# fast build rule for target. +optiling_compat/fast: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/optiling_compat.dir/build.make op_host/CMakeFiles/optiling_compat.dir/build +.PHONY : optiling_compat/fast + +__/autogen/aclnn_reduce_sum.o: __/autogen/aclnn_reduce_sum.cpp.o +.PHONY : __/autogen/aclnn_reduce_sum.o + +# target to build an object file +__/autogen/aclnn_reduce_sum.cpp.o: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_opapi.dir/build.make op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.o +.PHONY : __/autogen/aclnn_reduce_sum.cpp.o + +__/autogen/aclnn_reduce_sum.i: __/autogen/aclnn_reduce_sum.cpp.i +.PHONY : __/autogen/aclnn_reduce_sum.i + +# target to preprocess a source file +__/autogen/aclnn_reduce_sum.cpp.i: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_opapi.dir/build.make op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.i +.PHONY : __/autogen/aclnn_reduce_sum.cpp.i + +__/autogen/aclnn_reduce_sum.s: __/autogen/aclnn_reduce_sum.cpp.s +.PHONY : __/autogen/aclnn_reduce_sum.s + +# target to generate assembly for a file +__/autogen/aclnn_reduce_sum.cpp.s: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_opapi.dir/build.make op_host/CMakeFiles/cust_opapi.dir/__/autogen/aclnn_reduce_sum.cpp.s +.PHONY : __/autogen/aclnn_reduce_sum.cpp.s + +__/autogen/op_proto.o: __/autogen/op_proto.cc.o +.PHONY : __/autogen/op_proto.o + +# target to build an object file +__/autogen/op_proto.cc.o: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o +.PHONY : __/autogen/op_proto.cc.o + +__/autogen/op_proto.i: __/autogen/op_proto.cc.i +.PHONY : __/autogen/op_proto.i + +# target to preprocess a source file +__/autogen/op_proto.cc.i: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.i +.PHONY : __/autogen/op_proto.cc.i + +__/autogen/op_proto.s: __/autogen/op_proto.cc.s +.PHONY : __/autogen/op_proto.s + +# target to generate assembly for a file +__/autogen/op_proto.cc.s: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.s +.PHONY : __/autogen/op_proto.cc.s + +reduce_sum.o: reduce_sum.cpp.o +.PHONY : reduce_sum.o + +# target to build an object file +reduce_sum.cpp.o: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_optiling.dir/build.make op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.o +.PHONY : reduce_sum.cpp.o + +reduce_sum.i: reduce_sum.cpp.i +.PHONY : reduce_sum.i + +# target to preprocess a source file +reduce_sum.cpp.i: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.i + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_optiling.dir/build.make op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.i +.PHONY : reduce_sum.cpp.i + +reduce_sum.s: reduce_sum.cpp.s +.PHONY : reduce_sum.s + +# target to generate assembly for a file +reduce_sum.cpp.s: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_op_proto.dir/build.make op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.s + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f op_host/CMakeFiles/cust_optiling.dir/build.make op_host/CMakeFiles/cust_optiling.dir/reduce_sum.cpp.s +.PHONY : reduce_sum.cpp.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... package" + @echo "... package_source" + @echo "... rebuild_cache" + @echo "... optiling_compat" + @echo "... cust_op_proto" + @echo "... cust_opapi" + @echo "... cust_optiling" + @echo "... __/autogen/aclnn_reduce_sum.o" + @echo "... __/autogen/aclnn_reduce_sum.i" + @echo "... __/autogen/aclnn_reduce_sum.s" + @echo "... __/autogen/op_proto.o" + @echo "... __/autogen/op_proto.i" + @echo "... __/autogen/op_proto.s" + @echo "... reduce_sum.o" + @echo "... reduce_sum.i" + @echo "... reduce_sum.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/precision_Problem/No_standard/build_out/op_host/cmake_install.cmake b/precision_Problem/No_standard/build_out/op_host/cmake_install.cmake new file mode 100644 index 0000000..d161fa6 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/cmake_install.cmake @@ -0,0 +1,125 @@ +# Install script for directory: /Package_Cann/test/No_standard/op_host + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/Package_Cann/test/No_standard/build_out") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so") + file(RPATH_CHECK + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so" + RPATH "") + endif() + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/lib/linux/aarch64" TYPE SHARED_LIBRARY FILES "/Package_Cann/test/No_standard/build_out/op_host/libcust_opsproto_rt2.0.so") + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so") + file(RPATH_CHANGE + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so" + OLD_RPATH "/usr/local/Ascend/ascend-toolkit/latest/lib64:" + NEW_RPATH "") + if(CMAKE_INSTALL_DO_STRIP) + execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so") + endif() + endif() +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_proto/inc" TYPE FILE FILES "/Package_Cann/test/No_standard/build_out/autogen/op_proto.h") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so") + file(RPATH_CHECK + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so" + RPATH "") + endif() + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64" TYPE SHARED_LIBRARY FILES "/Package_Cann/test/No_standard/build_out/op_host/libcust_opmaster_rt2.0.so") + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so") + file(RPATH_CHANGE + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so" + OLD_RPATH "/usr/local/Ascend/ascend-toolkit/latest/lib64:" + NEW_RPATH "") + if(CMAKE_INSTALL_DO_STRIP) + execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so") + endif() + endif() +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling" TYPE FILE FILES "/Package_Cann/test/No_standard/build_out/op_host/liboptiling.so") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/lib/libcust_opapi.so" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/lib/libcust_opapi.so") + file(RPATH_CHECK + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/lib/libcust_opapi.so" + RPATH "") + endif() + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/lib" TYPE SHARED_LIBRARY FILES "/Package_Cann/test/No_standard/build_out/op_host/libcust_opapi.so") + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/lib/libcust_opapi.so" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/lib/libcust_opapi.so") + file(RPATH_CHANGE + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/lib/libcust_opapi.so" + OLD_RPATH "/usr/local/Ascend/ascend-toolkit/latest/lib64:" + NEW_RPATH "") + if(CMAKE_INSTALL_DO_STRIP) + execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/lib/libcust_opapi.so") + endif() + endif() +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_api/include" TYPE FILE FILES "/Package_Cann/test/No_standard/build_out/autogen/aclnn_reduce_sum.h") +endif() + diff --git a/precision_Problem/No_standard/build_out/op_host/libcust_opapi.so b/precision_Problem/No_standard/build_out/op_host/libcust_opapi.so new file mode 100644 index 0000000000000000000000000000000000000000..6bd5e35d6ed556efe777a1e1d695a5e67b186a47 GIT binary patch literal 10352 zcmdT~3v68FmHzMCah}FaAdrM)$+ZcQ$-}WjN|O}mc${Fe4dB{Fu%)}>>zNyS>ha8I z=1#EVZR13{2o){z#CcF4!3q+>BeHcXcZtd_n832>wpyixLY4yS7^tGM53igMhG1sD zbMJq~zbBp*t+bW)T6fMp-+BJe`_CEg*|y_OkERK}bn$|i;)L)?!FV}q5VlFo#^?27 zsiRvmCA#7%v&@B<3hA9<%)-57xhr3?+>OfggxAFf^3GkkN7{`@yAf%})JF=qn9gxo zLGI{2<+{0ou9SLANtdpMkL(aVKflyrub|B?ESR$0w_r!@`?A*psn{sv73-Jtx~s@k zHpgk(B8W&_f6sm5H}#!AKk(8=Eid-BZ#ci_j5fAq)7Qz8y5~=Dlbw^FCNy9^!swdw z`qO{C=e%#f%gy|$i@9RF^h%j7t`oxGj9mHWAXi_hD*h2_GvO~3(f@7{{fkBPA1O{jC;U{*;J>Vh{x6Ee{hK2AeMRt>i}=622wsLkpQ-=fE#m*# zB7U+(@SBR@G|vs(h1c(j=mVZne{B)`JHW3N^Tmi

;*?a@g@dU$oF7!4-Fj5P?8j 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 T<=Cp~Wy9qrR1nW>$MF9E%;CJ_ literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/build_out/op_host/libcust_opmaster_rt2.0.so b/precision_Problem/No_standard/build_out/op_host/libcust_opmaster_rt2.0.so new file mode 100644 index 0000000000000000000000000000000000000000..6667f28e8ecaae2c7414c90a1c61ffffea6c3459 GIT binary patch literal 137160 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 literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/build_out/op_host/libcust_opsproto_rt2.0.so b/precision_Problem/No_standard/build_out/op_host/libcust_opsproto_rt2.0.so new file mode 100644 index 0000000000000000000000000000000000000000..ea924e54f9280ea0c1b000d25a6289a30f01351c GIT binary patch literal 145352 zcmc$H34D~r{r3!ULD@~X1O-AM31Ve;V?c@mC3sY8vzsMABqV7PE>YPeR;jeY z2oGeXcTxw&Hwq%u{(Lmwzj`tKmX;k%zmGF z=9%N2nRnj#&TckjUoqQmvl;5;FrGGImSMPM#O0}WMFEy+bjAO}jbWVIB^q8(UPY^;?is3(efqqdCOsu&>G$*E3ZP8?gvOm<@~O%ev-II<`=JB`pI@tp}JO- z??Ak%HRjB}$~f^rUdmU0yX$lNp{@Oo=Dt|>Liq4n%3=)O6?jv-kW|n}NJt2dO?En| zg$LN#SKi=-OUDKcSC53}-2Lnc!@D?N>C@kCl#Div(cKJZVq$Q%JNd6hGUesvjZb>F z;e7|*^xBB`&+z^Q-VE<;c;AEfy?Eb`_k(ypg!c}-=~a#QBlH2U$MD{X_piyo>o+1W zoC;KC$AyLwja@F@5hFm47%j;+7*nTh(^aE6LrSzw4!^ zH)T${QL}#g`ybk`eEhPrQ~uua((fKAeZ1}u&HGwjYICi+b4TWiVf_xKwEXE0 zNkh`cpUV1T`jJQXyt4b&@%60z>&qTHJ;_|>b}mO%|LMztD?EPQxfF*n*f6Guaie12 zM`sU9J3G4-DF`XR`j@$=$buQhS{+oN&X zVP+hixp8o3obvCD(+)49MxFJ;+3260)%U76{K;|3^J1KKrWoMkj?+I6#nG7?r=91)ta?`+Pr6e<+EAXU6HD7vlOl@wUF+jdS03 z#<`AVar(odIO`LCocZ(PIQhg_n~pB<=5~m%WjWbW~>`n7qPa`-I3Gt%&f?mhbZiKI;1r=W1B)$*#5yDHT z1K@Q9=1qD{;On2BM!((y-y->mC})3Th;i+uf;dIcjlZFtN$1d~0=OCNLa$$9(ii~z znXW?MW&s}jF z&0qBT9{L062XE@A^NFf&s=#lS`SzCA#V4=JwL-?YI!=E`lI?j&wx_xm?Be6Dr*W;+ zQSH!-e(o}Q8wYob3@1zd9^DmAeNtzg zEYC*SK~($P9A{iqWAlXchh8KERQV6aDbI_T52^oel>J}vAC}|AO%J?ymCO3B=ksSz zW9M*zACmYF`TT?HxI*G`+#Mbw#!IH`2!F3XSiNRBVnPjcg2uO4ywgD1|o&OkfUbvLGqeAPT~2kK4z_KfVesysge zUIV;dwzKO0MsDu1mBmH5W##_T^4we_ckbdVbC=|o<}WKKE6*=od}UT)aZ&zae_mm} zi0eEiH?Y>9yR@LlUs!Mxh}SJCT(}y+b@Ow|Q)lGnl;p1TugK3WTkbE-Uy@tyUp75A zC%3#Hdv*5oTrxpjoD+v?l$DnTR+fM=Kc{S3?xOq>2<8S#^Zn)d*(+BrnwR6B8^|_R z=C2HttkYOir+}8fvZQ=nZfSlADp*|VUzVQ@2G1zBe0gc{n%u(TWd(uU{L<3m(uMN^ zq_VPjbv}h<`Q^D~XdbjoU`1|V`HI|StNf))fD{(w1#-&@ik21TlS;mSNj~6c@lvPc zQWK)s#p|+F@pPS~{(?gAm-wlTc*}9+Tz}vvs|rfdd>ljd))tg^Ae818=KIU2ednhY zmy}IkP;y!R(yXc3RPqkk^tnYPtIBmeb;^R0h5l0iN~D;z3`~X^V?)<6C@-^H)HzzGOn>2XI^wjCIi%VDf%dRx83+GQ;mS0+)nh}Gu zii>dF%VSL`6Q`@h(Q6S)KXnREuVUgzq zO+e=;rgli`S+WF-r3IZ-`m(8%-&I9x3W}Cs=$5ToN!@$d+O@eQ`K4vWG+$tRuAYK2 z<&PFSoojKOch&!+&LdQTaj)}r_^U=~t!pylv z1?6-(cw?htGonQ=C@RAh&-J4@O7rvlh5n*IeqNkvs-Oxoo0pD*j{uazc|wZ#j7wIVU{aSqcO#2oSfq6OAA+(Ef<|Cr+5ZtK2gKD zE3>l~-+|(yGL!{N2S42=sEE86xVDA)Mf~cNrTfduFr-u)VT}-Lft)h@E1!`&7agP= zbHiNT4x-ZZ5w$M+=ar_0r^SF=GW`46|C{Qf(Zz*VYn4p2U4WKQ6hR9W^fG>X&%+9< z2>qcvuv{Xg`MjS<3u9cxYTb8gT9%xiFuP3+P9_tCj%dzw&0$BOpk_=z$X zsdXNo`uLQEd2Qir>UwguR#J|;eNJv{TFl0>jbF&}%!1-FKH*NI2`?+wp*!Hwj$Q@^ z)T2uxeHD|MhA|eq4T>7X7CEVz9ikWci?Ec7-pSNGQgPID#u17$GhLos zn)Wa@mlji-@v@}TdKj}QZuCq3odW$Q={lB*Zm?wqofV9hbE#9sokT2P#I>U9Oe?(w zxLwnL#$r?4RyuIAG4ooPscC!-syY~5cuWT8u%?M6+P|VrrB#_u;wvw`WGKCb(pf=e z{!`PU6{6>e;;3}Ahn8n9T~!pIh4I|kbURf1POC3gYg3ozr>4pVq zB&{6(lqI#O&U$rt&&esn;6GQIu1XHg4%*~dw#HwATZg=fVmQTaqW;3d;s77~=VT%z z;%4%l)=@MQ(V}Vos+FFCfS6^@y@FGxf~J;WSlM1vP`;dI5?%-NbW!xwDVO01b5VYv zxO7QD0mi^h^f+5y%-1RZerZ;V(tM|cSdFM^$W-T6BK2I-cUfst)#b9%yGD+P&eoad zbbCI_qm}%HSfoaiPF0AuM*U7zOwaNc1{RkEmV415R$NxFGW*6GX|;+K#W~#<{f`!7 zwB{_}yA-8(j;B=>zhzI63#D_DrT%BhXr7ENzdBRxB%03?`k0AM0dWhD`2j*=UX4}y zp9saPPDdduTK~O!6z+Xj;(>;5Pl(=TS=6a@ZBE(zPI}msoZ`UMcp#*Gh;x>`(_+hB zTr8T+fMnCc3iqV4{A_x9iY-9tA&@gfKS*2YFTpkbSDC7Hwag$^T3o|yeG2|R(u+>G z9ag@vZ2whxzhfg!!M+3ziefz;CF1+fAg8^ z|D>(4hwz_2g<-(N9tKqxwpRXMT#mSNP&%K3Faqc0WXNgsKg}ZE?9@pX|J{M}zq-Qz zHxu0d)dl}fcT!sOXmcpkdMcl${)KI;X$%sWxmRiKX~v(C>1(h z(p0)i9g|>fjt3pf6HK3jYcDz{8rv3M>(9{ySc}g|nyBXiTD5=w9i3`fFEMJTCxh298 zl)EB-o%BudR>Dpz8k!nn?vlBM+1OCq$yD-ZEEb}H1YA;Yr&W{DK)c$IirJ> znrdWSd#%SiH#c=snjT|JUR72)84s@h!pUMzo9ySFoQulgT3k_3J{eOKyvUPLoAhZH z%kvC2!;YiB3HWEnKb!m~K6jCbjuX#;e=$t|Oz9Kxru1F8R)Rq)F}4k9iAAYmXgB#; zAPJH|I>b!iX-LV2Z*s&^iFiBWyW-u0r=nOp&M^>IF~3!Rs6 z;=P^SgOf}>jlQGA1)(y%pv5m7yAFpkx*5Zx@eboH8Sh4tT|9kvBN_3exrf_bjEkf# z^b<7wF2*x5J>|Ik%yyhC>S1I`{?9gC0K2O(N7{ZKpJ-eq?KhuXffH#CV~MoOFSr{= ze(XjuYTI##3%?Qkd#(7l0^e!DOQcS{1rOdX&I>(b!K)?SV8Mg(T+=}dZe$7_ zL*}FU!{zdP(NGKCjlMvE*LVv)RN_-CxN1+g1)n1M3oZE0-wA!61wSb9+`pwct~vj{1I^(pUB&+5U8F64OES zEW2taE1oIKYsFQ)t@yi|{)3{3{QqVRzgo-pOdQ;)<*V~m`%%6+UJ{4@fu{esR-Tg@ zE~gkC+fCE?xyEv9c$B#PpDvl?EZ;n!-oexBc_;W(-qeFZiAxhRV7 zm}*NW%*?{9O$% z((q;tuh;MoH2k+3ep174((p4HzEQ)w$?tC2sk%p6GaWfr{OpX8+|R;a2$n= zzDhJ4M|PvHwHl5iuhCaf!_^sAirlE-ID#I1ZPD=GL{WUVTf^m2hR0TG_;8KCQ^WC9 zg6OMW!$(F@e7{@6al}3PYS3^NMe#j<4VOza9(zc`of`jL4cF(BW(`l)_#bF^iiV%m z@X;E6M#F!h;l_or{y$d3yJ`414ezJn<28J!hF_rJP7R-+;o~)YqJ~e=@MknUQ^V;y zMe60&@QW0P@Nx~Gq~QxSTzwaSqOaBPDH`9W;i($FT*Ieoc!`FmY4}uXqv72&+^gaJG(1bghiZ7GhC4O< zG7TTE;n^BKMZ;%nc&3J5uHkMCzgxpE*YLR-zEH!zui@8f_&g2wY4{ZyzFfn9t>Gma zex-)5)$sWm9@Ov!8op7(@6zxs8op4&@73@hXn3`TFVgUx8lI!!^%}ld!=KUct2Dep z!>`fsgBpIVh9A=KA8Po!8vd|`H*5HH8vcQX*J=1k4gZmbpV9CeG~AdJ>;FI2@NOEO ztKt1L+^69~HQcY^P7SZp@bMa+r{PmHJfPv38oors-5Q>+;g@UpQVn0I;mb7qS`A;W z;XVy7(D3CNexrt$X!r^ZU#sCOH9V-{#Tvd*!%H-Li-vF3@Ow4B z@Olj|)9`0Byj;T@G<=nYAJp*G8h%K_*J${=8opJ-n>Bo`hJT>p>ookNhIe@G(D3yd z-;mEE^n7u%hIiBOTQt0%hTp2;LpA(%4R>nz1`Qvt;lI-GDHkTU-yl} zV7*2e+rC+UU}u9P_wAFwN^HiV{zchlzr2aeX&?1Aan+m0l_IWE#BqBy>{`vf33j7q z-wL}`vnyfSFXY-h{q3-mHTzE3Ud_G>cAjS64ZBja?}1&b+4sY4)a-{~w`z7RZ2LvA z{2zs#tl44MUd?_2cAjSMf?cWEPrO*j~-<13OQ%2f(h>?7^^WHG4ShM$JAScB^J5 z!?vf!@*fL3S+gg=_GM*ou}Dvz^>Hnw_(?6_It1!HT&~_b%*Znr5ehJnzU5wz}K7`+_H~6~8_3<3DEyq^(MO7d6<@NTuh+|;* z%TOP7I^d|onvr2YCMZU~gAmz|NL+scUu&3ugojmTb7q)(v*kZUoPWgS!^wV%^rJ)FSqt#DznWuGd5&ZlW=5ntFXvy7=6D*~QKbnw zfp-nBK{|ma@%Cr|_A0o?vNW#K1#V*a7|OW<{9{~4@e{+1;2)i(@vDj7C43b8T=0)} z;CBf>1%70v#&0IRBOC!g2mD9}z9Sq4zu7S|R$pf_n+u+}E+culYdB{_j1x>|Zg9SC z>LdHd2+rHidBbD8hGdow-q{qz8_s#Z0PjeKRz@QQWlRVkK^Z52|5c<9JJO+?3E?2u z9vaj3r7-G`qMSpy?i$X~u3bY48w^gSqlYY~=w~afTF%j|7kC*diYN2}R=w)c%uae) ziYN4bc#hr}b_Q5RK=Fj$0;^td4EqFFW|iUzy=<#q^B8u7^g@a!^k!Q1oMYL0q}QZ) zLNC>-=NrookzPdcgx)x-Uc*@SC(?8D?9hJaS@n!@?0M2lQ9PlSWYu$zW4lN%OYubc zx?A;v;v4=>nO7Vo=mz<~d6=OWxMtUK|6M84CdcN`OPSR^q zJfYWO)oU2fs6S>z6i?{AW7TtBz*du=Y?z}>7^*1&?~d*1utX+NH0tAMEMG= zdd(NIZlo7bJfW9s)pK6Nz6F+9)tlcNXfC4r)>T$L-$m>TU>Tu~dh@J$4HvPGNUurp zMEN{cJ?A9WOnMQ;6XnaW>IEmUw@J^T=3k+AkyX!_%>IY;qVu%SOR?&?C$mP<%j&2% z%&J#CnLR^#0mTz~eXV-Uli3rbSEYEOd|j-1?kVhH(hDh`&^!CJWj?5$!tN)%CdCta zpK+cxA2d&4TSzaWctY>ERnM8qZYMoQ-wyrnZ&p2DD!ZBVQWQ_-%|=!plU|kL3BA2mz2H=~nDj!5C-fe->NQVg-zU8$#S?lp zRy}tbbCX^~@r2%Xt6p^)OD8=?zYgv93#*=U8oQA6QWQ_el_@Ae8lepzF0FH9bq$jkbafo3w^(}yw%g0 zLAoKu6S~(}%WI^wQ@}Et6i?_~Y1Q+kvyXvgL=;cxWp&is;%Z1|t)%DZ-=RHcbky78 zGBVh^q?e+2LT|EF&z-?uCA}=g6XhFY)vL~6e;~bp;t9PGRy`w=Jx6*~iYN5?TlL(T zte*5jiYN5CTJ@?k*`uV_qNU?`8%Zxk@r2%CtDf^>b}Q)x6i<{dBWnQrvy~gXn3aJm)~kZ|vNd00CcBaH ztx|d--vd@H-%RGCd_#&S^q#irHOypJlU|eJ3BBJ~_1u@RD@ZS*ctS5^)vLaQc}dTa zB->Bu-DlM^zQ;02FGcZ$-e#+w?|W<#>18RN(EI5*dY7`%;OT95GdRxcJ*IQB-E?k1 zSd4HJ!ZL)L5w1bF72$e>Pa_N=+=p-n!gmnjnb-L~!aEQiMz{%K1Ys4z69~5=Y(w}M z!qW&JKzJ76;|LvI)43gCJM1SB?nk%};RxVQBOHbBWrX7p?ngKoVH3hMgfAeRiSRXq zvk<)wLGC!@4}wOuYjGY>dRcksBaamiHvYtpf_uC48lIg(C{x2 z?|R>B9!crVB26euNZhyDvU;;4k3sh}!))tnGn;$b%sattiS)&OML*WkcX-`Vxkhb% z&5gE2Sq^*6qapAeHgf}&K*1HC{$=33)5KZroDugzRRdLg%YEUOo5e&20=)P(r;Uh~61FLpH4 zj~#ogf8Ei?N7ng?x5I6oNCEG#+k{`dzM|S-CpH=8brkmi%Hlv-Hh9hBj{bPIPQvv; zneH&m!5w|;KF;dTA}N?Zx8oY5onO}+ahtA?*PKmyTiqxF zbdI}G_nyqP8*Q-OFh4wNn3q!gX1Do|s-CR*1j-yh{L^TIs{ZVwj6QY8+6{9$aW=Ve zt;IEUIc=;h)SpcT-ZsQ$w%&pAW+DBjXv?Pl%=I$LJ<~9c6dUGPN?S#BMSPpv{KNtM zcCY!VV*rapQ0Dzz>ppq1SKUbBZE%}A(H708-DV4(ZCe6{Y4h0FAc|Y>HXot5vu?8{ zXk+~dTO+Y{V1}LbB&-bWkLPFCeq5KV0qkhX0N#E_L*44ynv&SDTxf#VJQHOOV7@Fy z+l0VxLYb?2u#c(+u#d2habyA7`mr8$r@jJrmfQR|fM@L$2y+b6^@7(tNjU8TEkirM z<~2Vidk*XX>^G4&+4ErM!hQ#Rm+S?wugCQn<-y*SBYc>!G%CAM-+B#rK|6a7SZfa2 zI)t*1AYPa7Tfkh$F(+j8z&IShUMD*OI|X)R0DFb(PifA8jk*0rvfE(O{ubu&Kf-Qp z!e`9We9Sf5Sp#u4gM)ps=0FmAo;X$bTqQYf2YZ@0XTb>o4<)hPWIM7@4%p}mPr`Pl z4CQ-+w3m1!1^anjf^S@vY;40m=N9bQZ8?QC*(t<1>gSlJv7WoFd5-xd>V6vgML4fI z(3fnye%PLLB4{@jw_)7-?QV01&v<>7W6%j_d;8*MyL*OnyfMug%zXxD&VP^+9Q6#& z9scBsZxM%m%@*w0U4U{Z9X#tV9tA%!?H49tZut^(qCa^k!~Wx;JYa@9o%S5rDYWfr zT!;6}_U-{U+Yk2w*}v5$9`%X;;4Sq{&T?DU>|g%3~g9}wo-Mb&`)VlPpUW7xti)(N%f?< z4GO!F)_*(M;+}B{*>{pndx68lnXp?O*VOqR^_tV^GwQ+X7518`WUD$*y&Af(3kgFV zno%eJ6JB#X*-yeodHtncb2QnH!|v%Z{i|{RgH3aCYggER_nIRq{xQVAiS##l&7rW- z9`!cNi!|4^Iy`0)aYEp{56-P#voF~@WLq9aIh={C2VoC@(-*pTdCf$!x5JJg&D~zp zPWD#V$6?>&HNQo>(ELYppZ|WZ`4!olU?(B{L%8pfeFyAM5&xXm{G9A6*ln<1@|vHJ zy#e-V*x!21k6`n1yKRi-ESj&5Dh%@$%~{RucqiY^N(aNkn_y-Xs2KzYalEQ zoNK_bXPM8#K9YmE3FCnGx!PgOo)CN^4}A_ldCkXi8~DR8j<1W%G1b_m{^!%iZYIX= zD9129cHIv5jD{X!?BX2C50X2K-JyK!UW|Nc?2-fzch6iR)I3zrPhl9gz z%DcS16g(Eip%QGmSxw$Z^Y<4 zjLT`fZlF%H=NsD^zHJ|(Y%lD`+uMhXN0~&~hlIaO7xha)o-|L~fRN(Of``A`5pHt? z->B}Bw5cr7cs(8IHY6IqrTK%(y$D>+LAey?BFQnpQ5tEO=T-a|6^}WY;%R=m%oHJg zrnmHeZNYt^Ui!c4&+&hSg#YWysy?`<3<_)huS4Ab6&(35{9gm3{;z|$-j_r$-cWz# z|H?((g#T+0zvguBQ2w&#!Jp~CSmb>1ypscd%>Q+6nkSJ)=ac_yHqvBd*)WI0|Ao(P zn{hIw$;QTnY;0_mjr*;}1#H;25Pq?%5l=oY@?Tw?VrQ8FJ0m~VG^7>#8iT?W@STw# z>rG&zv+PJ~@ncold4A&%f1JiN+K#7@eyl%6apjll8XgHu_^~8c^J6_raa>376T|(0 z2|t$PYksWXP+SLomv90w;m4AE&5u<>aUJ-M@R`$8U-DzA@+7nE;EDDXeymS9hx}NQ z13%VX;CvlW`+&lab(HhSk0p8VW8DVcSv*4tJ>kcCA3Wj5l040iwHExZn$GoOy~?#| z??R@5A8Tc_oZ|WSkDNpM7ApS~wgjBaP{;nY&#DDK)^*@zG%23Y`>jcNk7KIv5{p3qxm)q@{vAnAn^Pw1_%>KWr$57KK=JfY{e>bb`;gY+VbC-knd>IKKK zQ@}DD2_4$+N~>POIQB8H%oN2FdRbOI__10^FH7-6`DR%4;KzEG^a6?}^d?*N;K!o= zm{Fy8LT`*!4}PpakX}gfgx(0N9{gC(kzSMH3BCSSJ@~QeNiU*!La(b;4}PpiNzc)x zL;HPm$}+dXkM$twr6``zYvVj^tig|UH|b?5o+#gkRz3K!Hj-XI@r2%Cs~-GVw~}6! z;t9RCta|Wcm6Kjb@r2&XRz3K!ZX~@X#S?l5ta|Wc`A9FKctY=Ks~-GVSCgJ2u|xa) z#;OND))l0eqIg0tWYvQo%S(D$iYLlIDW1^#sZ|et ztkI+wQaquz-l_*b)^O5mQaqve6RRHlSp7&ZqIg1YnN<&dtVGgtbnVc7H(2%H$NCyr zW{Tnoy&S6^{8*m@%g9nZQNFoWJ@~OcAiaR%3B6fXJ@~QyPI^^}C-kOU_29?)GwFpC zPv}jw>cNlo66rN5p3rky_29>9Aiap<3B4g!J@~PnB0Wd94(-?5ss}&TuSqXO@r0hk zss}$-E$L+`o+zLBrDZ;VAM0My3n-q@`;_yv`2c>byGXA}@r2${s~-GVw~<~*@r2&{ zRz3K!ZX&%V#S?n3TlMffRzi9a#S?ljfQRpbob2ew8Wbi!))LZnsPk1qcOUpc@H_gk z28GFwbuH;*KSf_(K4~p4{8;lz7yB`SCv+dNme)vUmyupT@kDtauR{A)>zVOQaqt|i&YPPtdXP_Q9PknX4QiqYXIqCpG&WAfmIKF ztZt--{V~1$a;cNlo5$RPap3w7H_29>9 zCcTj23B3%f9{gBulU|eJ3B8M~dhlcY59vh|Pw1ss_29#5Bt7iG>g_koss}&TGo*(- zUA_J2d{7@N7rw0D0MmJ0I7b_&@MAp;%z7T^>=%}C4?ouZ;91WDea3m39{gBaNH3(y zC)(w>RS$lw+exoU@kG1)&8i1K*3G0BQ9Pmd<~e$ovQqHQMAUPH(0dU)C-!WdAshTo z2&)k8KzIj2>{mHAA;jL6b2Gx15k8IZHH5nnokGJ}mffPCagz z)E{*p7R5(>Sa|lPXZ6UFhDrUg70;#Q!#agLNVA6gT_NeidH~PqyA6~2BlUMmNAWJ~ zSA7iZR26(!Rj6;3?!y`YAJ*XT5yZPb^>psT+6-Oz+msLMFW|;}SVLkytf$eoBHLWf&WPPu=>D zZS|NPd|2=a9e)RTCE3g!R4$A;;lt_`^I>hkHAov#M|;Vxr#S$FKXVctfZGVHVBy7B%YeOR{w=RT}rls5}L zs&}Lh>oBg>H7M%|!(2saS4bb$`_hM%6!T$y@?`hA$o}){RuFHQ+uVq@Aio~>Va*dh ztR)nO{n?*VTm*Zu*bB}j4C94k$7z4o&aNZudg;S@6W1jx=EFKR2kq9B#Eyo}uUkmG zYf$C@{9BkqxDV?cv^DNM+=rEcvOm_f?g;#M*~HBeJ}lbD{usVF*ZUrG7U2ufCT(cv zh{v2s_B`09VITLH8D!6aeHQi!kC{ex7VLIhANWqlhcyXUbB3Fb?bcb~1?}tt;>`pv z6!T$?2Ie}8IU!5WTlui~^=r1XzQhSZ z1M3j-Vf7?V6+Txbi8%m1tVH7Ug-!r?D2dt09s)ZHHu}Q1ZJ4{8`tkin+7DDdtcOP! z+b+WyeeB;IIz7T>lK<+|DB-_41>P5(_^|YSaN)xm81-Sf$B2FK&V5*e!fR0u+6O0J z80~}8zF`vfJHNo(;cx6mew-~{V9I}WdV~k%@t6~k&i@k4wX{DuF#Hm1ns>>E!`lh| zt3Ps#_Qr+^4F0PIjxDYeoCNkf?B>U5?{G-i|0j?648`vd*R}acTvzz6b`zE+vE9Jn zyLy7K2izvsv4@23YH+v?*pa@A;JX?a_Eq-hzN>|3&oUR&-kLolqd^ghi?1a|Y&$fGOl z&pqZ!irw50H+D~Qim`jMW37jTy?)I2IvhR>>`2xxT-_`YmRe{qN zy0sqj8nQRQei>;V^_V$iuZR5_?6AjNK=vBgZ^C}UW6mSH40aOI@A8;)$S#Kc4&q<+ zm|0}6fc-w~zhnH9y$tqY*aN)gOxV2K>gfoFxgqM zo!Ze(@Llx>Msp6$H~zt1vp4J`GchM&4DdeZ9l(88yN4Uwu9aiB4g4V(!$Ujxt_F7S zJE!|-{0-q_)`0KI*-ebubA4BXxsPlU`X-H8>dVUStopJaWuVV`U!Dd2_Xil;D$zHT z-|85AR@uPFUsX%~EcmWkfE~qJA_ctBcn5+**=Tv)TR+pU=NQ}G(fmw1VK>0Ha~J9${7eJG?;|f7&woVTUrN7H zQ2Lds!HfBo28Ewj9Qc(KXS?JmzY=MXUrEJpR`JrWR1BX|dsW}p`J5FT!Ib}qzB6?d z>iiV;=g4Oi`eY6tyUzr=uxoG)mcZBcFxIjO$h)nlVeYOH`)(VczrW1(EUo1lyoR`E zG>l;DfTzHxNO-8q_H09?j59{EQp9;=TtlP5YPQ;*<>m2>WGfICQ0YQQXSWH>>XB>- z;wn@+uZ`90mg$;DvKtT=Qt6r~Kbg*X9=jTG2UNO7quYm7kOS191+!Y|kdjPo{%U?HJ-JRJul_dsF4-VuulzqS8euzeJgz zi@l3DkBn>ZCgS?3{9NpH#06A3hXeV^bk1b<66L4TH6mS-LtejR)`Yl_N|%Ck_O3F& zWJcrjfJ*1>it8uSH7B#Zh>NInS(Kkl=S*QwAkOBH{j3q`a#VgP>@mcp$hc5|^6Mt^ zOJUWB^Qd&*Zn%CbzZ7;K;sPpN73C+>8Kc?Vh^tWP8j)_ROb6fDCd7qQx)9~pUF7E; z&2B^70hP|%9oJ8lb2PgJaS;_)*`0-&WE}i#s}X0z^=q!3jBDq3_6XJ)5zGs%I2&O! z81Tj7`ywaXw?B*TXZ{d#(4M}A`DbWcynBwhZz7&OamHyB{NLNWbS`4x3BzVA4&scH zfqTs;WB3U-eCl*Y;m}B9+iA?NGe}1wd^Rb=qXBmsHgZ9_ZCcO%9-R*PC`!&r9Y*Q3sWmC)-%8>J`N<6ZuE$gtSYo`NC(}1$q(WtJ*0Tva^Ad zhioUM=l59jz*}V1bB|@80qdaWa4@42y^2dMdf;8!QSXo|IF|j5W6^dwc1iVunS->P`n6#qxqxf_PoxgCit_hkcp z+u(Un-0u-r>qy|wp1l0cl9^9ef#o)9c^kQt$dZZbg z=P+(K57)#MB;N4w_rYsL9b53(>$WpmgHU~*OX2sVL$x7r;WsAkES*~oF4i3{fm`hm z+_NZmZ58;&1*|&FFw>&^5g4luXxkapryA`|<>34P`0zJZWB*~C&i8?jb;d5@H);GV z@Zoo^#-79oosZ{MT3ufFegdlm_I#G$*EWG0oPf3*8U8rR9U1mkgNwDp z8escUBo}ju%a{o6h;U1kOYMlWcvvqK0;{f~vpv|0M7z`d#_%PwN}T(ovEfGi+u+eN z>D!gY>j(dVKIRyFg3fJK-_dcdtQd+pVUqwftMmcoGXk@q%9C40| z?>ioH;mm;_96G~ATEuxasxyrCXAZe=-r(A(4*hn+$Z&m>!}oBI*M)3BltccCk>SU{ zc^Y#9m5J-%oB`#X9p#a~Vr2MN;6>|(`x*7AOL&>+OqwXuHgNXhIjRPG*40?AI1S^a z=I+McXK^lZAI>GJbBcTVVh_2e+obc0csAo_6=|M&5YOI6zG)vqpYOxxtytUCpltWx z^Co z$S;9iNO6`i&*MS~Yz)O&#y*d0N?_+xoMjH+aghWzgyJl70guD|rXR&w<^&#x`&M^~ zd$N=Ip+DIv&N4^%vBsu-i5-|DsZDoLAHceXKGR&{j0}H=um)>V;v`2k>?e2`QI2M4(Ar6#tD4WYFQz{K7sUM)=?~-mcf9|G_doD{ zAMf|@rgi$e2<0G=eQgL&AV)$etB2BCAYYJY{Fy>(yA=SljV8rpB!-PD71 z!CB_3Fn7}P5be7>O#3Wd?R=jlBgM|}`?ZJOwrBF+t2t0hXJRqu^)a^XeQu6PdEoc8 zalcdZ;GpmtlsyxDo%9Z1uY=Y-RF1chCL=;;9ck{Rxo%Ln5M0h{6}rTG8N76?KLn5F zx*@S$8?e3n z_hYCWw3j_7{QW3z2+g_mE}Xgj5LkMsV>#SW-eAGQ-oRmC;;dp!FFneWdN^nM7U@Mg z>RlM+Nj;peeVOzebS5vRmmK9uJ?s%2AiWgD6YVrK%9DD*WcD=a1r$%zw@;ME??d>0 zOfvfo=>=#{Ep~kpqCA-|&en#2i8Fr06Zw9HIZ(9o2+=M$PkSGD;*1~h=w3T0d@{-# zDR>PjY%_Q>n^gJ8KQJhKEXtF5*cbRIc$Z*~5##q;q`z`Hnw&Yn^EM7{^3JlQV6F>D#-Tcz|wzx{obC))+jr#FBn&c?;sWlxl+ z`pa0B1D-ewNIY>p!cm?qpKmOi3toCe(Y31U1 zbQ-ui@8?mDET4NEn+VQ6`11r$l&><%ll2XbV=gM6gU+7C>bo||lh>nR9K$4uGa0I# z#r3#2E0L|Va*gqZ3eW-$`r%=`|^yDBq(|p47vcTI!GK5ycbbdoaqAdN@-% zlk^;P1}|2=yQ4g*hcmUQq?e+2LT_V~C-rcqminVOn;6r(HOiBEI8%Eb>A^p*&j;mE zp47vc+9cAeQan-L8>2j_hcmU^NiU>$qI|w6PwL@JZ96b=HZfMdtD`)rhcmTb0!xo{ z)Vm_eQ{_u#CrB?kpNjH%qdcjHGqo+G7o8_X`7)zCsfRPQ?~q<}ei3?;qCBaGGqtaf zUZCT=F*?eVdN@2c5x-U60SftHRj_b*45HqP;*mdo?7ynRHVW zU+5l_y6Q~rBabQm;BXb`Fj#aYf?O+w=2q%dN@=21Ja8qp3vJFfuc71*C`bV)}RvMtM>X zXKF{0UX|hrz12~ks_zUoi1b2=C(2hCuT4v+Gh3PQX6ERD^V<_ELlwWO>Xzn4iWi@R(0E zb!X#ow)JVO&u-s1v~Dc4DuTo6p4cM<|a zj&wgW>RKvnb$y<)*Y$eBQ8)gfE_D+gO{jCtg6?C`*bS|xJ*KC!E6#`}g=gQHSVwI& zVO&n#*!9rEKFYX#$g{~~zVukPx`R8qqYU^Rnd|Me@4sd5Rs-i@E@fAu{erOR3>clk z!kH9yIk3F}nsbMSeb@utyWQYvT=?x558{aH!`>&K^Ke%75{?bWc`b?I_gykLHX`h+ zu+MH|DP(7O&1!yc z1`p?ReaSX<9^o$|eHGnffn#sq=e4mRgueznAaU&B`|@n8KjCiz&yqOy>V1_q))RPj z3itWqx!%BU)EKN9d*{Ad8%v-x?;wpsrh%{0*JxwZAL(3Tb%fSO$U6sktBsu@yeG=q zBypSt^}*lqIpH`@SRIo1^}v(u>|@~7RoqW4^2Yhn>RiNm?d&L}NkN)`OcMZ}XJ>~A zzXo`g#FqiDw6njERtkLE4(j_h?8%~B*Yu{ddiB0q_z`eE>kv3Kd`*n&*l6cGir-sC zeZs~LBA#F4R(`ev*UrwGfbGTeD4l<-=Id_gu0fvgvpkPD*9fW?t+Roz2cGO;PZ2%} zc$LIA0QWjrJ>lbk2P9qvJkPU|SIP2=)@`yrK_&9QvJ;UY%1a=GA^I&Jeu1sL-VArPLb1nDX)VrGPteiN< zJ!Y)~cq4xQgE)A`_O(im+rd^4CkHxshW5e#vyANPVTWKRcVPk8&d31vaG;AkZ<-XQ z-%IJC|eVduY>(uTQ!&Y31+Zp(y3tmwYDE>d&XG2 zH`#c72Yy4sgMCn{vj=;7)6ot%Gh0t}u7Q>p?eSx(`+IbLRMh=jvT+uY>P~I&71^y6 zFXqitWaC^S)tT!4IobADeLsOsXHlbbB+iq5NSs9Ch0P1RP*BB z$WHg73^rDa`u~OOH^BG8hTr2Y*tJ=*tuUw29C(O0Z-Y|_4tya0Lmc=yXs$yWZ=v&~ zFA(P#IE~<7AG(QboXw>9tv1JP?kD>b*mgUsy~b_sBOB*gX+EpH-fccj_9@t2*tu?V zH`zERN^@6jz->NBb~5Zr*vs7J<78hAyB78exA_?C+G1I5%vm%~)e=@FG0aoGRy(8q zSi44In5Sqyx|g&jQJXke?RvMljW`=nKb%pa=LMRBHWOAQF`Ox-`R7hb=cO_s-5qZ8 zcCzPFnP6{no0XJiGtxBjGidldwM2FcajpZW6`YXUTnGDM%qmauGc>DH-uKb+n7IjYaN7&omC$K~6_f4(=_LRWtz14PRvxgTg z0`^;pxo|en>vRxadIj*uB~IrTy+MJ`2L6b|{e(9Q+zot(#48B*C2*aKf!`TL=#dd_3?wfb-`+oYkW;rU0vy7@gH3?0nLt_VEs8>y-}T zyzWGiCjbvfyoPXhH_rdIx3TR8 zrDIg0`~p7%{2GaS2yYhn=fHm;aX;bi?p)_%;PWJ2L3o3}j{(n?cn#aan#653;7W;1@~UMR>Kq4+0-2aSz9PbABUmm&E;C zrw_-U2R=gS8@Hjp0)GnlAf-=ubzjb}2i{ld6YlHB@i6f2N}q6Ne~v#4+#&G_!i@nO ze+c+DiF_>7*AU(y@Oy!umblHh9XbO!|8C%)N!&$vwZMN4{Dj0kga-$4{_Vhz0;l_d zA2_uc&KPWK<{0_W1$HyA_htGTt~;2gUk&^%i60=`H-zIQz+aQN&Ded#;BMeMByO`2e+1`W4E#ReG;UqMslBEH+a|dl&K=3QlY!qQ zxqiu=08ErKjol&BR8X3rNRy2C3W?Wnt@F6nNZ{)wet__5fe!}0O5!#Q-QNxX&dpump-&z88&0UUlj%C{N#EQz}a_a$@uJ>WAW?jgKd;C}|5CUHOE zIGam4uL8eF;uVAk1%43tIEmK~4u2Z)8-cqdet>YCohAHv;3Fj7!ubM!3iu$2+Y-R{ zjp6)y;C&_TA{>4$(g_3aE^!axIDbO;!@wO9_jA6$9|HbO7h_u`?g15q!+%8ldx4*p zcn#t30TF&T@XsWEfN=PH2>&_o6B2JB96lbxZwG!<;;HC-BRFha~PNyjkFv0{@l7E4cn- zu9FFTyTofaU*J=LGl?G{9Q*cE&I^HWl6VW@*jFcfEbyO7+}0I%gTS4@H%Qz?xN|D! z4+p+Z;vT}WuT44wftLZNdC3o)u)e^GBvv7@9>5A@`Wmh~ji*ll9+3C}!j0)1|F$Q_ zzrqg~E=lsus|3Km{!m+PQW%(HRJc)Y<_hoSW81QVRW88^+GdbQ2 ze3sH7JSgz@fX`4mgf|QP&%o27IzLCg*ylvPuL8d)sskMRm4qJzJ}#;Q+&Poujlf+J z_Zz^g1^ztn5fZN;+<6J-KLvb{#A`TT;Pt@!O8fxf_%1%>8wTE8;w_vn@P~mrByO{j z{-vD%5b$pj#Q1j+UM=u@fuEMRhwz43oPRg)&jfzRPq@$E_|Ji#kaz{xw{iS-;729y zGPXcR;6dPrCGH{I$=BDVHv#{P(&v1Emji!O>2tnVM;8HqMdCGtR||YO@E0V0fN(>s zqw|0tka!E>L4p4W_&$l-Y`~iZel_sD5_b_U*VhYyKPhn!;dmaT_WwTcI*I$aj=(Pi z9+G$k*AeUDOM(AN;s>~nSm$N}-!AbQ!m9;76*!Z43*mD8dm->m61UlbH;eV}Sl~aE zxQp0lre=HH0?^yc_Uk50t_+^>7!yrINx4&Xt7p8|fB#9f3NV*Ps(_yU2~dkB~7;*WsOmAId9 zr&t#s0iGrC3c?!%{&(QtlXwl`KCxbY7kGxm4-hWb%WnWrm3Rx`)ndK;KfotS+?D{` znZ*0UpMZ~%xQp-xf#Y{Ow~dmxhx5fc`Z?gkBtfwCYj`QW)XdPhdLVSVW103HQHIL=*joeIK(0>2gb-y~i`xLh}{1^$l24-noU*3G5BUzd0b z=Zkf7A@G+a?lSHMpYUC!OM(AU;vT~BJwn2L!1qhsPdL6ONceTYpOtt8;Xzsl?}1gLjo)4*W5Rw-9d7dUsc;7kG`tZ8p*u_$9y}khqI*e3y>+ z>A-&}aS!3u0-pkWv&8+JPwU!Ur4xYvOyU)sFYwX8t0Z1SxSQ6syGqXoev8Bp5RUU^ zgbxM2M&d1m`)K{Tt8@VHpGe$h2X4?hbysOG;438VA{^(v2u}o_FL4jyZd#}ADm8%T zO5D%+0{^PJvF(QvuOK`~>(pJPUjWZh`o=coE7qx>0KZb{6J9Ow4}i~6`h+{hdbAa| zN9hwT*QtL6K2zc~guBIh^ljkNCGIlrK|c}rA>jCv%e+5(2$$>Bmw;a&aX;sab?P60 zr%1elaHm+0{vP;w60ac~=X>Zr@(l1H5%e0{#z)*AQ-q z_2ow3$0dG%>kGURc#Fha2$$>5n}NSCahsj;73m(xDwVC+-I_9X|)v%^EeTfkR)m*VX3pm0vBp4MRWefe10Au=ue zwwAP?VSm$wvY&#_r3^ldj84-H3YS^Z(f1D0ktdx$ZvCR;?*-G}1UKwBgN(lmKB%RA zyW#AXL;I)n_raYF{btZ_BJ=k81I`i~#-6n;IAaftwCGLyt%e)>s|Z~PXBh_fnNT@h z)pJZg(wu~E&A{Ikms%b8F2i^^`RfgDdU{oCa((UDdI0=nr1gF<$IRnt?a{Q9-#6=j z&;OPueZM>ndHTHW8E%^~otN>ibI8xJhnET0br|Z5^WNK?*bjwoc82)=MB`4q{B&Mi z)rE)nt!N{Gekb~OA|LvDp=j?flMFMMVC+dld2L4U4f5xFhW4WG(mSyB#dq*OYv$+S z9oWkr2w!4Scpc*DJ4U>0xK{h^#)$)x!~0qieV?O=mnVqd->=RyW_*eAq@ex*@B`4L zze!2ut+pp^+HJ?*5*c7TJIZIw_!K-J&V3uWpFGekuB~XFeRb6KbUoGIJ8h#fpgo$$ z;d`nmJ9Max4$=AY=?Lje`5A|e?cFuU9D=_aKz=M=AN%`gaffK825dvtiH) z8-7EZe*a)T>h|Wh?R(YtQ+OTeH@C;RJN)LhpMJ9(D39mJ9CH-6jW1_Fnj1bL5rhKs`}M7eW`x9ztmEW#5zoEC=-{gYRU69ete2g7`c; z{#Fcd@5x)$mNDXk2`NcBFFB z^`r0;*{-U+zFGf&+&>3*-aj8jdH-Aea~ZCY-aq%@ci{E@xr45u>?57kH>n%lb2=Z7 z>DqXF+cF-1OXE@2cRI%7emlO8BFE#6|CRdE@4O5RPqfr`gQdQK|5ANl!QYlt^N+Q@ zlm3hK{S?~z_06)>cU*`1%KH)S6Ex2b#8@|io*6;Im>$F&N^?i(F#Udw+uYH|Fn0{b zcT9nOOBm)=@b-xLv2mw)7~du0b7kxvrN%dnZPGW~LYwAi()l^*49A#;_6DhaoG^@Y zuHBRFF^xN0Nn3u_=Quon?)hf@bNpUMbL(m3LEk+(1N~>Z8GHD5lKR3|+tt`}F~XY? zjXgOCcjI1I4$c?2m(aX?cA{ZE02^!PJ*yDE3h__DK7}$iAUxJi-_OK%YEkF?DBtS# z_PtNxGky1CAM8`4gZMVg7j#cKJCWj&!sX!XM*K9)HFQoRg7{zZbOXb`0lpXW&KJ;V z0iJ{U(f6$%1CF)9p0AMpE#Rv-j=vuRd^-4N!G8yM8pnr)9{^s4a+=`306dA~_%WXJ%k|GY-1+s7>f@TD%?_0{4rjh^4-qgt{=Igpx4QS6DTaxAx*5T_G6(K2BcX>i<{{E{8C}^%l*@zr zR4K+Vt=njA+rFVoU3;2g-h#MQ;69Asb)s`ir?PA;3*(j6Gq(+N*IhOc=LpdUTl;pY zqrU@wB{a?`jrPR4cAS?hghn|uZu1I_(;=lXRMWtB?KUUYMZh18@}Z!z9Np^L=Nabp z(5R5s0z9s5kYGSl*)E=XIJEzc-uIEtVE_o~+e*57MYQ|CT<>IzNHWsB=BP z?mj2G6=|r>|Bt(Ofsd;y_x{(+gf>7arMWh(WG1bO6%nBn3Th__ig&aW(CSNO8c;Z( z2yFo=l1Yn-)^q6eLb3IIJ4r#E5j>S9Z3A*TX%SKISXw9`dOAtDd4fmiHKB!hzrVHj zPIjhADMx(&pYzY>lh2;L_qsgmSE_|7YZcJLkf;v!_e=J|=y4xijyY z?mRSTpRT)Lycyu>uiNB|w~M;VeDmz>snk5*=Jm^X_h?-19N(nh z?i|n4Z+E=c^SghJqa%}N0BeNts(gU!f6!O|`^3oPWcU3y-S<2E@3SM5HSYT>-F73n zk;xzN8#(%_!%L?o?{n{UHpcI$ujeV-o>?1VT}ubQ^=uVa^&K(A$zIBZ;a__$+J%FC zfi7%a$r8_J=$k0r^gAmrX8@1*Rqb79+bzv}pKBL*(R12w!`9E7u6HheKA_*=Cx%R) z%y0R}d-YFw*<)Rl)9)_ct8Rocdf!DIJ?DG9_W5|8ck}!Ox2|kh-Akv)&r(_Rm)%dS z-^e%nOz-iL>~HNi{!jj;p9agb0Y6f5Y$kTLWLfTS-@d=;R+DZz4x0eKusCF9?nP(q z2TsYO8Q`(ZlrD;4pU#Y}xWDZn?AiqfyMHn5v=())E6=XR%p z6_1%i=Pxz4gjQ9XU{CZoGZR1NwLZpko~d{&P`Y}hF@c{4i_Oezv1u zR8ms1$bR>Z_S=Kw9%HQA+Bcgg>Zw;xJ<(t*b?d3CZyMDxrn*<6OX`a7>577j>R!2J z`*!wMvuShk88*t@${}xk>U8qK6&!Se5bv^{5LRO@vfmSjd>sR zJ6*9VVm(u7`@ne9cPV4$tY^lly%80ecKS~Rde3&^5*3+Waa-`10St>BxG$U@-w zHqSUaVQS3c-n`Z|cInFf)K`1IqYdFfzhx5(2K|1R-+uh&L&Z2i$nKh{@8KJrq@k}$_s{{(yrQDKs(k}O7V@tQPftg(_I%|`Q&pftZ7wNn6CK>usIwB(<_YO;*7YCjwyE;5 zC2pH0xJWSWeDjQSBAk)P?><+WFm?p}uua@&jD@3d71oE{E$zBx4=Nx1F(o9VlR_AUn}!ryJ= zjvI5wCpAxXiAl+ivDUncwfYXM<>?nTv3Kw>)Aw7i{moAMg4=xFnWLR=o|BGnW~+sF zWuW7uhr!EvuIw{#+8mee-evmm4egxU@oy^}|GB{Hw)a4wV>0bo_{dwgGxy6xL+qhY zd;1nmNbfyp`dU2rx=kN)f9tN`3CV%+f7sHL$~WSNN62$)O?@ftPQhPV);d0!z^_Ua zo2k>dKZpPDmhs7(p~*7j@N)cc`LX4@#wQQbZi44JlYs+GRxB7%n@)s!&vwqk4rZp{ zE0$7jC+FdYu^T!mo1@P6DVs&E2!_}B-EW8G2isxsQNw%(5#0qp+g!(9WW?Ts`F7bo zIvaaG?ThbI7OwKlH)y|gbZuJlQE*G1o&{V6xMa_ui)Km&39d%UrhtDXczKrgw9kxl zd)oK$Te`x-#}}Ssz7FK4M8Hdkc91Kq!6u%lZ20tcJbM}6cY#aK{x{ER$4F1$6P|7Q!qhXj zR9~d;y1v3Y&9Ba_)0|276dlsIN;1ErzQ&PXc-#}j^U22;tGB(FzGs(_AFyZf$|gI= z`8B!oOrPSq-4_PX--&H^F}^Lt7#guHW4G6)JF)!?G9?Jy4aA=}e*}AMv{@9YjN(_D zwnpmSjsDLq&y?x1XpF{4w~wldyG z_Jrg%VAiv)tD_eGg>aQJ-o2*-S9f$;;=PP_w1c0Q>F+l~j6>y@eb6Z%n>0}VPn3O- z|6O-PJBoB3EB)hO)^e zL$q7Ln9rVs56hTi)n-bUJLUvs8-^+Wbd6I!I$@yvT*_X=fA_WU->N`IZhN#Z#5{HF z;u{s5f8TIrc%!~Ek$*7I(QsvCWB$27M^}ma9315i20EfwPTD9RIyXMZ@5sjI*}t3P zUDw3gzQ*EgRn!C)?V2C#sHfaszQrK^FyxD#XFrkF$1fzN)@%Zged}3d*>UD9!9s5H zy3}ZM(ylXW`^?(qRh=W?#an_Uxi71ai5sVbvrmpg)__0B8}SMHwrwJ^2DyV==RM~s z2ExE~9{DS9DmfNGrrgMQv$R)DneTJHqSuC3_DssXNSPSEuPrymy!Jj{UuF{f9xIVO zl#6iXzUm3+?2ws~n-A`;HGO&ZYes>uly-BC$SQuH#BX$}^KD`F zI;$P;+rrJ9-Dnugu-_M6c%0R%IdGLD?(l!Wo#G8K_)5HG!lRRs$`gr829x@JuHuv3 z*sZyd7o^3H>bL76a7teIOmaW?`aRLT`I#0Ta<+_ZTIxhIMc;21k9yyL=6eCw2kDv^ zOm@)Daw~_*GVAHTmAN36K@Rzpq-0kebJBqBGcTzQ-!6A$7xo5vtt^v1LY>5}!F4L# zIzK)_omg&gojm9LNvGdIodv_dmiwdXl=j0$j?dOvaD+P9rw7-0z}6|t%zN9gRb;ND zPWLdd8HWTll`y4yuXTWZ%2jEdT^m4xssC5$NBhLB}#fJ8VitSp7R`o+!?1%gJp{E@>osf*f zqp1;rUeVKa*gDIJm1sV#|64M!9>Urku1$0%Fi6*bhpRtdAsbaOjHTFZ@5a`65BwK& zV-~Z=)}|Y4q8*z|=<2%DZ(I5B>8q>iuutVXPa;myWRAIdPR;6-k<;BgyD#sic!cZ} ze>_6?Qr%EE+VP!Wv_oT4Y*5b>kFfTeuMOF5`Y&8ZVhZ99DeR6gZOZn$gfUc`@~c0I z&z`_17Y+nN6xplxp8y7AUdMFG)L{3^?!s1mEnt?ejN!Kr#1Nb{C7Wr-ivwgSuQt|# zL$$Fp7`Qq}yK(xlZH!sE(u`TnvA$01A;o&A!($U$e)gwl#cu%{11aoJebq4rjR!e$ z^|74$C>kp)=i$b|Pe+>k(PG6K8;KP-u^E$5o+kzmSX+=bSTEU@!^ha)7$6@dIt$8P zo~*c}gRmQLhbq&edGYp_u_u%2Nr{56rdmd>_5AJ{%tS({#MO0EtbYi4$b zMr39~7kPZC6!Gb1Xok4S)$ik->cuD@FIK#Z^29E8(Ql($K0)~e<@N5j;J1&ydlv?h z2A`w*Y0l(lT#7k4KF7F>*7Pi`QJkSH(-vVE6nFVxMh!)@Bs?9_Cmx#n~fU znz@PcDcQ`}?Xi9V4`{>bavh2*4EXx;>$B-j778|xO6_J=1zT_%{UZ)vaq_k%>)nEZP)bWIX;rJ z{Fx*4;nlhKuC7|oeZZB87oWx&!;qQW&9jL6?DITRoK@51=~cP_lFS8d1#SZ;mhvdp># zm-Q+x_}r4ED_3DpXg_;ceX>@dGg$JN)-p{u6+NfIm(%efJ`H_kP4CnMbR0ppWvL^2 z>H&Vq2Xw-W1hjYnyfp{SS?7^+SDW5hiO14*f;p%L@5_k89ntQA}puN=VlgZ=So$wcNdDO`&dU#CyeS(w~{=1%ci z&BwRE?>^v|3Org9vk_RHvAEE;2z0J!_&7NBVC;d1v&1QS!L!Y2 zLKE@@H&9n}WY8O(!LrA&5$}hVd+w!fj`8XDB4k6nn3yiKEE-zDH%F=NGxEAeSJ1uJ`6m)x~-feYIbU=lngR5pNbc-R|@XeTwI zcdCsK0~2Gn@nPu+@tP?`wjRS;4s@mYqPQiFIKbN_Eq=J?GeF(o^A6G+% zikW-4L&adU)nzm zF7!tb+?+v~gS^*zSP!QMkqOY)t2UQgpf75fe{U|{nD6L|7=0+OFoF3!kN?%7@jVNc zuCg@rB4ZN0CPL%;=l4`(f;Yd5kQEig#h#@9DBlE288aoeuwf&5?xfhl>Wz}?VdP!z zRQ6x+`)q#y*23!KBZb#a`j9MFZ0e)#w@P~%*Kn#Q0s%QKSGV#%X|V^KUQ~e7#7W2j7pHL-r&;8tY+Utyrmb&!;?(c@ zV6;zb*qvu(J#oIBk^93Z(xt$IE2YqzImcF2lrWzJ@G|57B-z-v#m74-+3k_gVUkyX|-G z%g^ku=WD-(Z-O}OV~^1O-NUpWp9R< zJ`9aFa<94B^J(Z~FKc#Oev9tOpQSRYGmA1hbKkqag!_5iJ96CdN1&g>{E=&3alTC; zo_Y;hZJ>^wTi5T14)JZu$El<8vO%7w4*ug?*XdC|j{JCy7z_YEs`#s#N&a;d`euMgZkKybW@G*vG zo@|jVgU?`}+j0v7$(MPbYYZe`~rKvx1Lj9I^6N!N;B`Wb&=0c=2yJxmX)vP z=>lD|p@F?ix(^`lMd#igCB>I4&1Bz|l+KXtrWjKIJ3z8YvLxZsUyQs`p=?TEN63EC znrrpd&s#p8m+iESHWKiB7QeQTCj-Py`s?|4vI`qYxbxcg!|l=iUEo@4(L6d?#=ZPS z)q7Pj6Bjn^$MWV~ewc@&|LNoZV!`-lzU}cpblCihzU2Fh29`ks+6yNAmvZSK0Uab< z9o6jVDCl4xKG48?ZTVT?N!H~IA)~PuX13E-N;&{~NVqb(*^|-ijq0!GqlZrD!I9CW zmVedX^UP(lD-+8YyXLmpl@TX#FMm^f6NRr;{u%dPe7=+4idPoW|2sAQ&h7ti$N$v( z29N&Y>^Jddqkkj^V&F%6BE{4C_w!4?oIsAaGGgo7l@Y{6UiI4r zM=K+2Js(XRjf}VhJoshABJPh?Mi4XJTDO%m^}tamYLc@LHQata_U`3}j=BAweEuwK zlj}}^EpsI;%?kKHezx%D`WSW(VmWPZ*b+!qB9mp?b@E*- zgYT3ZUEMp8XKS!MmG`hR8UCBix5-l2w6*x=ijOLWr?~O1ZP@=4%=InUh@9^?Ge)^- z_@jooEtOvy9M`j8$&ajG8bwzS2RUmQ>p&IPS&bcg4e?UNb@cmqe(xn_6sL_g^iU)L zJn+xT?bz%*Q@^rzBfy~kA9nlxDSfA~Q*-o3eqcuQ7}G9$H;28dcvyfqL5pjzhV8Sm zo-WGoV9dyj$*tJdoydw>6Zl=%aRqymCn`_k_}u+)2~WT=7q}GP`53+fdDU0z_WHRup^-LrRYyK>A8lzI@c(2#?9tcr zGm#NnBhW#B7}87F0$tF7;=J95LbtDh4zO*n8%2D!r9O~cMLWNC+y4n;_QNK)o(B#K zS9n}MTnm6peXn)vd2|=Vb_dr_)X<;kYT}`y+p$e8-JOc9ss5Vi?-y>pE;s(%P5fDL z#v1NzJ?{5#-$q%DUox(h`ElmL{oWL9osXZAa_7mo^Atn2tDleXPV#*xu>K?I`GYP^ z9SuGIkny}NdQLfX^CEo=MbBg0zW=|X=Pdod9eUpT#PIZ73vS*CdVUF*-Yz}=J8=DX z>G?7GJ6d`+Z$ZzCSr0ZGJ%68fqUZP1pOIa>&9Mh0r`K#DUPR1L&+VRO_&@%c>Wy=d zS8?Q2ONA3N(SG3-nu7}B$vhA1Yz2e-I({Ix`!wxK7bxFRH>UpP%kPTbTnkT0XEYXX zt_s7~#)OVjLC}##w@n(KqhvXm|7Is$TKO zY@WAr*0y4%HMtSU|ME;EJ0kgU`jF1)Bu4v_FFP_$@Od)$o~%hu8tuxt?5X{7?i0cl z<@an~JYyOCo@r9ohpn6`?NM9$Hl)=DoUz;D>VrVlfIfI*{u9^xr{S(_w#}zyedv$hEr;+#J(~<_-z0Ch^5APQ8 zF2=i1AbBb8gue%gAqT?5zM>Wb#WCto&)fx(P*mbBTkPfr2u_{!t zNb7WUF1KRLe*(YS^HNK`x!R4zPdDRxOzG;XRFmn5;^!Ok!?P&oknxq$>ccc9KB^L2sOI+>4eF@_4p z6XuNfAmxZ-Y>lvnnfa6*kTiQ)M_F&4=vWg>-oX2nqI1fOM~`=jS1k=x^|auR&@SIm zudwHQZy<)%;eL~s6WPkZ|^{iU->ny zeH9)Q4-g-&VISR2U|F;D~XsKP0#0 zzpCB|jI|mW8^d0g9LIi~+)8{t?#h`K_Gu|zAU|;+e~BHA?Xw=*lf7!E4+pE=fJ$o32X z=f%LMy2N}Y?{&u~**{3G8f>&fsQ&|dv&wVUVTL} zZI?;@4Y&o*gVgPG?Z?g7i=rcq`@O)`Lff(#H4cYwoHKt^e}lV*`%AR*#(e+&Bi1W{ zvli$|evjs$5xnn*?{8yGk#x=^bn4|??`BSmz(I;O5_&hve4+ZLldq4ubJbEkpkGtI zvx~evNTQeJ!aq5PX5vX%(W)tWA{#V)ijD2pJF5pbSv~jz?z_-I5%drK$<>B_R5wtR znqk8Ho8~IN{`BVIMds!n_Wj&eGFb1*@31yK=aSyRTo_`s{`zmsUpq+uf|pmta|^)7 z>wj}(Za6nGseDXJlVe*5XWFOb>9~*4ZWQ0_f%;%_!@{6+H{Y+QA}*_MPjaR_W0G9A z`>xoVdMxEzE^>0v$`d&AR@T!(EM0s#r>2-a73AQ_8)PR(JC*@UYZK?mxcm^P9MHS3 z|LuHW5npVz`gc8iicZ=(pu@^Do%A1t-t|1SZa{}+k=YOMPH^j;V3r=sE(=p3 z^2*jjuX%bbyV)e~b>C^c_C0z|`y-{x^bPvEd9N|+Tektmyz!+_T6&Cgov>XJGqg`s z-+gIC2m19`3%QqPgJp}l?Rtp`naSWv`vK$VF}?G2nR47#m)&SO6tk8t`{}=Xx@=q~ zb+)nJjgT(;KF=Sf&D3^u+1XkU5VobM|au|7iWdHq@27FlqG z#!HMNx&beRF4V zqQp#{TV~oe)H~llu7$28LuS%P?%n3B4&q7=vS;xcVCdLF{sBIDFcf5Mp|h_u#~l5d zvX1O2&5Y(Ze#P3BdcK9xFKdE5wG+(DO`H!fi*`1yL67bVBwwcu@rH1r+~GRvDz+ut zuP$3`?RTwp`Sb5tvkm_=(_Yl#kT??g#@o0Tj)M3j0elhZ-(A3GsCzfIWi@?C4~O9e z**SmU-Y@IJzL;r9}JkDID2a z+S6QaX0}}r?VAf-VlS-CZX?b;%Ct4tklRBC2l4f4Tpeul__crBQD@vU z3dVi&5aW&^1F$RBDh^g#${AYlc`aj_$e8NgxRl~xr&_+N%sfjQ>s`JRZkN-4?3MhK z{K)}qukuX3CeYUl4)bROJH}F0@=WqhYdfv|{^|vNxAT1Of9Bhx%u@v3G>H!-@6a=7 zC^y!$X&e#GO#BpWYY#yJxJ0|q^9<3i=v#ChC7vx_dWO2>|0@df7hUWdXqL?Y4CZn2 zr|>Xi>8U-D7$tLf=dsKod4-|oFtFQKw+*|{%~>~7*PpNO=2^0(aNaa$lO}lb?yUYf zyM=LSz4cdJJbL(VM$Qh0|55B`kbm$k#(I`p&y&w}tP>ngK0n?qdoYl^ntCM#^@8Zd z;p+YHW%XB{`CrsS=U6%G&*^O7SuJ*@r4#H*$yvYL?JBreY~C9u*TcriH;<P5Qj-Mt+Ly|3C9vI$5$I96L5S<@7+`A)e`c6V1&$en%8rnpXe+N*&SL3YV8f| zZTYjWe>IwJ2#vF6PRM7k1XuDWQ(FSb^6eM&$@ibYvvt@mvZF8B9!)o~FG2WP#X3@r zDQszTd`~TSm;-)S#Ha~i#XZzP*qPY_*sWv zub4z1ZOYf(Sj`!4w*I)xrPP=16~Cm^Co$Y?k!jaDTg3t#zvoe_bMIuHBjKU#+fnkT zu@T2ZFHgDnlAKe%aFXj!2N*Z=a+pk0PDi@)8e%(Y<2c&Tni9#kNz^}|`id0^SHhd{ zD4a$q=gf<9rrrLX!L;lS&53NnEaTcUBkIhH^^tUL4mc)0Azjz*&ZBJ4O7wb1y>l+= z0Pa~=Mp-}ZZjW${v#kv#I&uK4w* z@WOZ&Yb`S}da?Yl*+*#4#|t>AQpZ8;9&^W$$V5dnTPi z$4w8h2N?M-cmzv|Hi2dF2FALFJ|0*|-X1&;@JU5a7j)&P6;HlQr~P#oU0`LKznzXD z+9;&AHgvSdV;`U$$p(Kcr;~iWr8D%u$9K_@rd{$*>(v#vQ5?2oVzkepx!+njR(S+_ z&Y`z)nZMAVM{ku!$U|SF*ns>s%4eY;(X*dEWzYHVm4`kmI#oU$9ErblCXc@j(P;qs zJe|3fJtE)S`rB6iJHEE+EzT)Oyw}vY>?V&liqUr(pP{c_ z+A9f_EP966r`G>&VvKvhfyTMi@`bZ5^UuI5o)FD$LN1Cg4gkmY5yr~#oGZtTE62V4 z4}H**C%bf>ne3;3r!9?JG#I6i1unjyBoDi8y_jl zOa$+hF5Zi%t9EzOj&S`3=P64T34fA#9?k-PW3M4{d8oL50+=>|yE#Gg*e38H+$F%B zbf|~FD_#7p1xBko!SRO6OnM#Vm(GeZFBR;?Dz`BEWy=pK@5vU$Qia1xU}+N$-wRDK zzOe7SefjXRKV(;UIR?>%a&3Y~w)1@2{1oHHZeDyPzt@KX$vNOG&m0M7ImYAAYKe<8 z&Y9g0+{~kBbpyB(&hFuwa_8e@ev3Z7$t10FqMr^&W!fEQwKer#z&lSzm1jRPicW%MVkj4sJs2He_zBR#SdTKq}~`;I!2 zt1;p(`^X*2Ki8PYBj07qlrbkxOsFg~mHK=B7)@__6MZon+mSw>L@!7u-YqM-FGU}0>^A8(>S#Xpx^(ZKvues0&RHAtd|(0Rqwue@_!N`%>_o+8grAGi zVZw`KutCS!c}3Prr^{B9O(0wG5H^svUPfkyFcoOE!dsjptF?iGu4pcrM!M;_BI*n!6UtNUo`TJ912OsOMU@ z{5#-s=*&4UdM`3lGN5^zWB&%jCV5!wi2RG--;1y0ttSo;JFmh1WiN8abl!`hH@TXKy_5J>o@FPE|i@F-O?!9t; zf6CimyAN8B9p(3*_P`%@52#|cuG}v{PivgQyXIT=uk6%~$WhUabdmP7E5?-u=Q=++ z&c4R5)q~|dwb<^0MQ2IBi}`Eg>_XY^ZHz(mZT%kTRdgtN&PvuZHpwT)?{Us|KB9eU z;|7%(=@aP!jo+`Ug-^jPSTzpmU*@&%+m8;&b4wpQ+plp#8_PIvF?@HAZx3{owdW;P zWke6&x&g@n&HaAx>&f`n!T&PmX4&iccHzh?t9mN0cxYiAhmOW&wu9H~p*;I|2jKWC z^2v#_IDX$hf}T3)_ek{gedz5UNl%|VN_uLdoapJFe=B-&@FBZEYuKgV`jAhuv%J0Q z;<;tM{p-u2Bgrnij~#lFoK+lbJA14}2M_x8uYZ%iL{lxyh1PQow|~8cSalZJsaTTi zU*e%!i_pJ+UGawn>|tMpPZ)zf`}Y|`gC2c}Mx)TEbfQ6jNYBUyldjQTRX=~0!ZTrL zPHQQ!3$0!ZFhAZN_Hx#)2o{aiKQ8vLw;fOZNqSUz{YZU?9tZZ@muEfzE(~Xa`QiTn z@e8ff(B7Z7f?4go;o5VeU#$~A0rFVqGA7BB zOSoT+ZFU#?;O_#T3EzJASMbUF_%z4&PE9cvS`#L@m|(xyhTk|gv!Olh1y@@OXlnuU zr+CC3@Q4gPD;q5BpQq1Y=lI*rp4dAz0RA7q<^%56BwGWarS_Z>$y@7>^~=;>_vde% zJeYjZahYf7r+C|iC!O{*)~{19z!+sG zO)VIw`tNYt_4hrBb3y#=CW?EfO5b?nG$pH721=H$)EG~Ij&8z^@WXmHZDwE3Pmx`r z`Bpi>qWYpY;YGL_&^Hclbmm7G-KRNU$2e-4f9=#W_=qMeqINIgj?d{#8!zH@oe5^2+Kz=)M;@bk3OIBGxH&Xzju3Z6>{pz4lq= z*Rgv7nGMJ<`6$wleXQY^?e#i3NpV4Ezr6grip;Z*X#EuD`{KJpSFi17pZsd}p6)1L zUA04d<;nTZrObqcNoviX6EB&Nxs+#$Pw#?<`CcjOEp*0l`DEpKOTkCZJ&z@)z4~?R z_10PgVpQ$OCdJ1TXSMneoJyzpV_h-q46UOp+%r!+pj~_AbxwfdQ`M%b=l$r{a@No7 z09Rw_H${xpD{}&NpyH!CyZPU_o(#;&Nk7l^M)+AaX&3rdco->|nYRzQ&l|Yv%mhdN z{A2aS^YryUMPJMVcmGIz(E=|1|DZ4451u4Lhtn5d(>VVh=!?(N&(Y|M`k~-C3VqSV zIFF<+KH#?dPU?$F+WeoUFD5=Rpf6qqXMeB0IFa^-*B8$B6%=Ey!@gC%Ifb2K!U4`8 zcXFbVYtozYx0lwPYjYd(W^;ZPxm9e^sR{c`_LTPRI(3vk{lKq*op0Re_v%lLon|n zK{Jk}ZTXs>um6zVv5xZZ-EVgu`19wVW%rhVE9GqENAA-ad*To&#RzJK&Z)+LS!0u3 zyvN1UXMfFEI_Sj!@rd|w&Upo0?%ri&{Huj=h<5r|euTVjz|Gs*x&?6tXWfVsQxF{5 zzo>cj$0@wLt!O}Hlyel0{c#9=3$WI(<}2jv;k5Uh|2gQsc;LQ>^39`&@o}x;jL<>l zzBq874+Wp7DGn}bATRUA{9yVG;!=B`4yA=#;oDGOdr9otUSb(q+glx`KJf_IF%iz9 zKQr5~@!dSXjrddS*67meL*})=V6Q>^rDvWW-ROV*3F<8j6Q>AgS5D`<5i!GBAKL2# z|JH}5FU?i!2Z^0vV`v{CXEn6%eOl*H)TM#fo=3W#{Ajd1u}%J-;wf#=;10e4C3`9h ze<-F*esF5#uBxPgHnW^j$Nt#GalZEy8UaMj5s25=kdBn z_mYJ#Z9&$tS7Tu}=MHLo*^}*lfYqam@MX#}3vWFpeP^plvi7fU^{pe)t8X2dUVX0V zSY2oOzT(4Um~(F}9@)FKjpyoD{(}152mku}Het@ff@i&J5%lpea=y7z@pp$eb)6`l zqMX$Sysve6x&Izs9`t^Ub04DaLdwTW-S#FGl#4m{;`2fL4c_;Hg9Q9`H#Dtw*1+E( z_;?a$R(diai{GeuJCi+h9&f*lOcmdAZt1p#r$qa%n3P@l9rkWz;c522WfG?teCJ?K zin`)|uU;A+FXY=tz+WNXhWXZj$G1^nDdgL@VgW<&ZH|4&9^Y0n*W%k6u79PEO2(IB zod3k{9ODrW?{73|@vL}Qyv&?Bd>k`L@$jUY!}<3Iv?tmrae}G3s=i-0m8N|!I^m8u#rTDgh_*^_wHw>S*2`=iW41BJ!@IA*f zl9L&)J>x_$`}q7(o^PZd#$xwFABoRDqx>y(FQtxujLPL6iO&~N9(cAMiO=`jJwhd! zUje_yKMb926`kG#9!D^bKY>n1Kzr|oHbk2qt;RT;XDB*7g|a{S3g3f)PQM48nuzFh zL?-o>qodPzF%HdzbW7zH^htha@qX^vZ!vWT-x18>pPF*hwu@(e{W2V#rdYS^(djof zJ9K&z*LwQ#=rjvHM5pheO+TGZ-rROgfY_RECLjC&|tXOADib?$`2ab1hf9!e%8h?#k~E^%@FF0L=rkB93k z-UhBGy~o9MYq9L(tZ=mZwK5f7^$N&e)%Bzcp>dYccY zeY5wi`&lwfKgG1Sc!+*}!t+%;_wW=L!rpj(|Iq7%e@Q*RU2!dKy_LNAqr1l~1)Q== z#7~XrfW~MbISDy|ePHEqzut9iLb_1Vhk(Zgg}?J%}-!e=X=*XhWzk8vHtTzLHT&-6E(EUW9+xdE$li%xU-3qLq6 zIfBi6AMJ@g4wGdCHuHnbr}!g=z3i>i@$~4Gw86@T3u+`bEYdeObsS`+2^_ zr9Uzq*6^%z+8h?qg=R`&_t}HW#)th&&)lF7jHI6t$mZN)alwv&E6hfV$uHmnCfju zMhFgk)UERW!}85*hW7t+^r7`OUBtB&i_v$XWM>HeGktUtD~Jcg2jT%+{qcYRc|FAg zEOpEgZSeBj@{?@{V(xO<)Xv{6dyl_dH3w7IQBj{ z%glx>d_|eB+j(}@Q`x*bb61XzRO~3b*;x}iYm`~GeaFXGyT}?8c-H3Nfe+r_+QB-t z1B|Ki53KzLugW7f4};Grb2*3kQa&{Y|22}!nO(=3@W7-z5ICL@1LnEJ0-ogirB9QS zPq?^kc4I98aGL->%Ju5J@CY`*IAl)qFze!l&*mZU*+M-BpQRbW6sBLn6({eYy!=zA zIqN0oS$vgc{s6wV1J^~+t>m}X`)66JG#u>&7;FDL`u7sye`syW6!z}Khk-dqUCAEB za}-zGkAJ9~)Gx9Q{dxED=|qnS-`Q!BCw_X=+D*koG(PRa>W9e}YZ9z}+Va+~_~}dZ zrgoyVBOl$P!{58V^?WbrVGItH)yk=Nb#<)XCoWNU-7 zM)*MEG3kTn5fgfsX$y0XzG4xk*qr6*olirje!T<#zM7qArnY0dq>vZ6cMqX=(2+yh zb(0ux3g3TAAo;&Hu^y2%nm^@wJ$)EplHH7cw*H-TJbGrW6Qc=QJ@dTIG*N6O=Iqgu zo+*Jox)^6GZTVv}E$@cr8MBQ`H4L0H(Dh!e8LKCk&z|Z=_9R^WaT}vLNd5f6koEgF z@SU@bz_=W`lP&c}U`#DwkLkZuk$OnXur?Vy_m#0`S^M;8-?@BqYaTRt5IAD&G02W) zAM-H07(o`bczofb&#s7>IiI@otEoE-ebyq2`s@1Ws4MKzk#j!lA34{roiVHce&x^) z)Ufw+^n~6NJbxj$cFy#!$eenTS+?e)Xy2Co`L|i%eTu06n%*%UT0n& z0q3*uskF8uieDv~NR1qzi7aapck#^cS9QVnL(xRc_5X$EN|z>Txc-$s_Pf56{C&}b zXhbw28X2Gq&MVQmFQSX=)PDQppJ`(#x`_R4z`k$6|En9uzCV>5v~tVe1CDRFh+ z&s+Xyo@qS*W8eBw`U>~5x5=^Rw>tKGmHl3W-=5znn5ZLLAjKJcjK%uzv8*(VI5bOC%1l;=LI~uHFn$p{_&rL|E+`YKa4FH*4el&Pj37-hbK34 z{b%}cc~UmB$CHfBi<>$;dAG-tVP~(ac=9v{_iGDzQr~T2PV635=wVpge@1&D*94NM z0Kg^`)g+p!~^36>+!v{#+nz+!+GE{bi>n z{iHsc+{7BKR%}F_7x_AV#F~lDI?jQyI&026+t1OJPV6&|ep2kS#W?G$We<6K4i*Y# z+S0r#pXb0mxGm9B`w(zz9zED)XS@t-f+vn#_txBME$LT_%`$tgJNz!3{?3K}zXQA0 z?0K-y^uazH+~2csZ%98695#n49}AoccEwtpGj!O8(uj?|Fu+-@#HcSYtV!25tF<;r z-}Ej5?$V6p&&$BC-*fDk^j&l3+=b;D6TCJs_hohspf?|q1@f)@HjR9dew*fk0h=Ze za^}hI5gD(!a`qXi4dsKVH>|AvAw1hsA4vY5achr9p?uN$;Ss`{D;FHR9S*C``4g$3PT7wT*q zhpx|m2kBblKN`BuKjiRZ2zVNE!Txi*MI#!+<>JexQ2IO2#XZEl^}TV)rPeKGnrM0r zu$RAsaIZc}xSw$0E~IG>??>Xt{}?%#A73O^Azb~v{P;~D?8EWn8Vh&3jfZ&hPdw90 z+(tf4FMMkKnM)mirsYI;odJ9p)^{p7H%NY~VNJW@j*4>!W1(r&HC-1s{#W^Ee zf=Su-JMg_d9=+s;RlSWTnq}*e|7T<4uZNH1cf;&!!>*m*IgFj3!(ZMW#rXJ^KY>$r))eaN z9Fqioq-1ozY`D}X8;CC|x9O|{e9W$Wt##{9a_bwu0p<1aH~3R_=I_Bf{@7O8-Y9zGsa3~nGSG|+5=D?9Z1{25so(9f3@V`5U@o$v6Y#_0?R^*GtI#K{z|bi;KY;P?d&fYrF-Mjb{d@+o@wfHFQt+j>r*2(W6U2FUv zZ5+vuSi?BPk0JC)fxWf(Xzi_6-*Ea;KmQ$?_WM8eM+x^l7jB=uwfJcHk#qb8`9Jv8 z7FYir*yR&={!gh7_Tl*P0t@%R_Y%lG+I`-lC7Wl$@3H&8!zO9-P59wje?E15&@I|Fey&NB|Y$~O1|S5Lorah5&AS+%!oANiWc{vFIu?Rd-llyk21cw+L+!`Yex`Kdv8uVv00ydR#QdVuphyuG`7j>rGO-W>-W z_MxA1#M%!)GbW+6;E(+5(ql|%!j~UXyi4?^Ir8Upv=>SCST}g{WCby>#m?Mtw)efl zrOD{5S~G$3l(7f>e5d((lR4$vf5f?1+c4&|laGN6G;AGp zQv<$_eCmcnMf@L=Zdf)V-EcnZ3>KS*8V((sZeYzp18b}r7LVH4@am}E*+J7+1wC0m z;{?U5l$z)jHXvJPyo=RTG;A@);`#P%moX?Y7D3?FH+e54q;kSsn@fU^oCd|xwg zD0q7-dx=!Oh3D{VTX?9m8Ob4)v**7Z-d1j`V{xd8WejEKJ68p+AH&5ucgj?V3PZs zwWans>%N_GrtkE9;=zi{kI}n|Marg6&_|fP;?d&=%PP^JC$E~Av%S!j{E{z28~AZ+ z-5knVWa_K(=U$@SM^eG$`4ygDa-Q-(*0201^QviYaa;$1F}I&*RZeMm0* zJa>L0Q?`!e_UCH$_bpGJFA65YXRv03i(89c9w_GQ)fSbm>O+pL?8 z)o?|o$7a{-TexQ__wDTq(KzG8EE41pqr`#Y#77bf0!gpT)5y76mu|*@E6IrnYXwAm z8o%1{=+BKKSQ>o9gpv;jUD`{X*Y6Xr-Y9wKoLk}OC6i&F6*SK|<>(^GT@NpZkl5{ zg4i{i7L81|=8Mw-a&d9iX{=uuw0nExhbs>%o8%edI{HS(Cr+^6DYUWeAbM{fF{)PP z9a-PLi@w_HZJfSz7td$Yo}Pz^1GG%Xr(al{*0-Pnq zFSewlw{5dYwsaGJ{*S;Dt<34{v8BBW&_T18aHX%=W6OFMKwq<$aMgN`vE{uBpsU$S zxZ3g+y$hKC*-N-G|Fg$d_CAWw)KV8r#%>Kf5yu8id@kD8Sj9J-m%OXD^(P_rNf76l z!T86X+}jM@#g}k}w&G)}dz-uKrp1?3pHq8f?40llChQ(0&6(&^G20UQowK>h`A!14BpcgfUEQ=@ zRmm{4mV&p@&1-8}!yRG|N)vlfIPTwFf2G1Ao|Ds^UXeY~ai)bl0_9 z&!vx+PuukkYxj-}c)3)|2L`%RE*sgAek2hh)>f9e?R1YX2KJylOFLcAZHhMiarOXl zHO4kp`0{YoZe>_WMq^n)y%e#s2;oZPg|BpJNtF_ zonP?>%G38^&u;bSAEU?={Lxw_4=NS3Laq%P>z~T@R+|%$L8NnatsnRtGzJaVqUdcTC|b+o=g1 z>@UB8eDpKeO`>NLN^A@K>jiy^=ZB#a$*e3f`yBW3gRL)w9M+j~R zJYY>A>toc@+Bxx_AMQ_3N3e?bBxgqfulVkBj8pXdPS3~f9-aK1^RbO~G#^{JzMc8_ z72`U(`KVi(WBvoC*Eu)MosTi}ceL~Imv*P@+nJB&spFrIpIN#q$^0k%I`iRvPX~Wo zzIe$@oyl9)V^|}l+|>?fQ0K9T7Ug5xy)AbAXSqEWag>`MN?>=(->T8sUEVimkbzNT z-P>6QDnGj!n?FoD32gr9v{ASYvxLt$+CXLzUIQGRFnT}b!afo-pB zF>DL#Ta#N9FKZ5ThDQ|n^a}DR%ep%067&dbTRDG2J{kKyW0D0rzsrjs!H4}a3qF(F z%6a+*UG^W)L4x|P0*mIoll~XbhCkOIVXjug*IH9dJfKbZix{m#K?XT__GF6RDfpkc z>C<}CHk;=u&3v5pU*}%!zEwP0=l-^kxBfjesQw8_N!pjb)h;ZrMi4N(MF}8}~yy276+u@MVrk3P+*=zkD>*6YP>1 zl8X-m^Fr`BbZoRNWBU2@-|Y8#bBx*QG8;d0#;>uz*rv5}_`BhXq-3+&_S+Jk-_qFM zm)(=!zYbe)z5s0A_neLf-`_rJd=Hj=9=@LdX34&z!FR?jJ1oAV#}A3`yQ$~L_myvf z@4LZ)BNqqGS$hh)bJp27=bn49%K*ILtsyEA%~4Le*pr#Vo!i$$A4fW8?Ss7kN1n6x zH`c-^alZt3?J`+Jzqf%G~`U@o?W!;$au% zJbPW|Hp%}t#WucV_m!4F2dwe6b`EQ1+t*>kVkUo5uD&# zQrf$`2w5s{0aPM5;)VY!x*R%W|1ioq5 z#$&OG4Y|s~{6jPCZK2LO@DZoY&9oOT-n`P>7F-p-Db`E;t8E$Y_c2dTLbJlFWDDy! z+Ya$8&bxr&%!!eK-Z;2rylobrl&zt^DE4;if^8QD<{Mwqnho$$VV+p4~NTOrp^s zbUdei3g&OY-<)=k>yG`8Z!*(`XEpH1o)cYd0-hA`nE%R)wzi74YX5pTT*1FO?X{50 z_Qt1Ni{fa)Z^D0uuFR$P#*>D9{>3d=qJ+d)fo!`IbGllQbAGbyZ1ds`eqsULZ z;j(Bt0ggA~$5fk&o}19=G2RL1Ij%Q=bHy)JCLT2DR$`(Z%-?BRu;qoYpl z6&#nB2h&ZX1L>AO6k+q0W}XFpY^t^x@#meysbe-qQJ#5$@ufIhF~z%5=%0RJ7u54j zT<~D&0o)~^zh-i+o$Tv;3V*&(M#!HZkP+j1BCG{{_6YJp{=8p4oR551E%|_K@#KSG z65R`~IPzpWb3F%`L{DD^uS=oFi#&Px7V9)bLpn$Pv(&5HpSNpSwWdY6cJC}+FYoD> z8ohb+{#<077>49x6xkggCXV5))39}Y`mC!!_diL$g>vLxo{4U< zAtyfVw+pleO!TUGa`u!tcEO+Qb7wE{Cbz!w`&)p$ku#7a6KlbJJv!(s?t9s>n|WWy z`vJcc`+>4?XivHPFF<#i2hW~8@JlD(7L1xfb?VU>3w?AH1HL)X=Q`$1{wp?|-HS^c zeb~LYF>C}08Y!HY0Q2%z-{11iaVwmcIDKoJUjMSsWV8Q$-{0yO zB#&*}fbUT%_bZuaz?r^Ts&C**Heq@^COKseoxgNxV>I2hCvboK;^n)`LnV(r{pR^g z%`Jgd2W}0ll8l~M#d>khlfXB+H1y^6CnG>h+mO6C;W+*(K04ZiZMJ&1E{WS$!-A4N}D`LY?B z;$LmYk=1R?r_O7>Gg!W89XSQXg!Mh;_0Xei3dMx?S-askc3(q9CHUQA?oVZMyYtv4 zSB{emD7S0n$E|g~Eu*%P^D{MHTC1paK{H+Wn_c*yCBHuu{E8chE>|A`e$lbMuOs-^ z%~t%L{#eVT{in8+Q;qiZ7aLhMvPH^FGIIkF!|b^4x}Jk78XMYZqpInKe|y z`EBBhW=|IT_@aw?j*mOAhRq!BtOqijQ_UfnZRE?XzKw7%eOvn<*cLvzZN|2cEXuMM zCo&A(w*1MhV`+9mkLoxy%eTd#**~+7^+(U;txQXBe!gVaHl9hp!XN!U<8t`cf6pF> ziX3{!;8W(X2hMpJKfr~TwH6)k;r(4NF$Um^5=R$5zDvAMyIS|R5uDrvt!f>@WN2wW zG`Rs;tDN1J+;V=s{t__x{f0DU_(p((pA$`o^5w?84{%??z4VpFc=I3g?SHlR4z3^E z?cF}|8w_V-!W1=N&be~it;W49O7^N{pK%^ z#XOKLxjed$1y|8EBR}JVH^ERF17Q&8k=0Ya{fs47wwgmj9-*x{CcPF z6=bowZsxb(t1?x<*1lWt&2r&Gj;)OW-(JQl`$V!#I&c>7eR*WnqVZ$KFT(jiA2g*s zdHN;JBQQhg1J9<&0H0_&nv|{Jx6uihurmh`0ykBnM{NXC;{$t`1+j=Wkg$%&IjhaD9V;5I3t(-oby{sGmCi^ppRH^HRm$3 z?{Vzvm7)`8&xdoixZqa(J>XPhGR#9^nG$$Y>(l$s>jk&!M=>Yyt=2Enevg57lvA4u z9KyHu>MO3H_^ja5{*Dx7(1XOCO6__$(ZNS~Czx$4o4T{zvQcc~PRi2uYn{PmD-*!4 zwJqL!IJVuuIJ7P{hmEYYvR(9TXzN0^tuQuSoac6Y#7X^i9ekB%&Uecu+_KYwF$cVY zQSw~yi3U5FpJ{GcY+CEX3NELe5^HmMv@ze}Ro|u5_i!9v*Wb7Bul57r-7E83>gaj1 zH}3bYghcw|8}#=18%x6u8tpDVA{S%T5gRyU=%n7?bk) z;HRyK_P$eRk|VJ>)qgEMYrq)0o=xkFLfFAU?5+^cYm2w9jND$bs`ci0?`FPRrZuHO z$|h**o|_}R-SAoJ=1INJ)1T_rQzn7@s5T>POtb60{EFqDGgfXD;zM<`PeuOorqQ9^ z7s0vq)sCW0iZ-++`3mqa8oY?B_&CDVi@AyKh(U4=5PSz7I*Ems0KyK>fcv+B}4-`;-SO*i*GM?U0R*s0iOebOTlen)slJjvSV zvym6}o1o+eB8lLt2EGlW+{kKpv;|!i!B$kirNA#9Fg%OVhGbq2JZZ0y_I|Iy7u(GE zW}D#eW*=LyeqY~}!pHJrS(+b1e7)yhzLx^rEx^X zSSQl2@+IOI&Qs{qS%1Q(g$;S6c&~7J4Y8mY=pfKSHDH-eQb(R=Op8khOvgy_162`*Cp_8KAK@ANyy1P1 z)SkQH*m)+4?F3IO>ZOi*c3uiy?XCq_>#m<#tMyaP*?Hv|FV5Orb7Vj4XwT1k>-|ai zw~DiJ2GZNLAC8oFm4CeNG)E52v%0k`lLwc3z_s)uF}t-1#+~JNe3-E&pbx7b(2vd; zj=#3PweVdSbLoW6MK8?hT7NvX1zDuHo$_Y!VdAM>1M!zZ_E7-7(i}@>2oAyE#O{7= zV|RkXZ?`B%Bl#*n$cwY0f1J3lyDm)c<^OnjSAW}DOBOZNtQB*7uWhvF(UoM&USyl( zjbxSNi>Xd*(>X+vD@DRB&$V`|99@JwO~-@mk@NE>=ZE|G^G4$TO}CCtH{E)CdM>g5 zrkmlmO`K`pbn6NHk4)$JCP?g4(z|7uX6zQpl%^Tj zYVcp|e)G_3_HZd!w%`ou;d+MRb1tpj2|0ktoGJuUJm1b&O{Uc3;#boz&aap z9Q&a~edCR_a*7kKeU^X436-n$;)E^3&}I}}EFVGN9!sIOhl>*~r;n%HIAO|-HMh7q z0QnXv=8HMO?igp!v0O<`w`CYQRXn7{qj6t6q_%(kgR=)oal#uI-wl@U$}nZN9bouELu6j0!tKjk0!FhaW&_|w6ueD%`d!&%1S_83;xisj_ zchR2J_Y0!w)#QO?w}henPUb>-GeUV&sISi#F%Q_b+>Bo?$J>jmk*9I*i~Dwt3s<5+=N|)ZdF@?a}U1- z_un%46|=t^)jIifpxE?5uWgs$kJb>|QaiToV$-2^6G3d8f;JaWcG*plUbSiAn#$b6eF|7Lzdzp3IVRA3 z%I37oto;`k{`r@D?B=TZT+7v&&-L~^A7?%T8Rbe3VY{wbI3k?|r;@FKSBNbmYc?Jc#zhKy*$zJC2j>i^?Q)9pGWz*d>8x6+gbBUEI9Wr))6zty?igv0I$vt zo6FqCvG1CR=NQ^-xq$q5)zI|$c4E-A#Gu!(PfdHe!u7%AO!m`G|1`Q{RCR9+zVi#{ zwqOx7jy+a0sxCeKBGFS2y>m>a2)bhbR^L6qA6Cw=yKY+dcR!WRvY+tzfB9s3^LLL+ zKm0Gprc+Bkw=ukQ^v0I^KesWmZuG|7?oao&K%3d!$M>d!tQ`-Tjt_&Y>DZD1zEQ9q zJeL!%5)KZbgFGB)u1^PV(zBhxI$~Qvi(mNF&TGrqq4AMrPM=|ZQ|La;v*z|ebgUug zt$EF%CyDd+5%cXM-rARgrwz76ju^hdU(2EE3^qoN`i3=71yvqOGGs-893_1N9iE8*Miu|JsflmB@Ed-|$+vc%BE z541)6PPW3pe0L2akDACi%&sFY2E2+ZO6U1=CenwBV>Iw>cg=SvbDiQ}^Q(EC!<=vW z6!XeFYmPTzFKCWi*;D7uaSEFFDRS6c$hbep_%Gs0Iddu3OSpcS>nyIj>ZawG|15K! zS~7ZLmN`$|KYF9t^Xc9k^POeBQ$chFFfYeX`4zaAf8WgcbUT>$L&%C9ujbn|_u_Ba z_^tFAG0s|$xZTI+#4iTt_kU+)R-wGE>2mA~zno&dNyVClABTp^GA}Zw6!YCRggiTq zXa0KM=&v^}^9=RE(Cfu+y>-l|&YBX>p2~F-bNoH7-%LC5Erp(sBLA}7iw_qh zfPc+-7+O=A4Q`n)*z34V1@AL%nY*~E{-=1CI!}6NT;>YwrdId;V)y-J?)?wl`&nE+ zOPyw9nfi)b8zhkVvD?>Fu1(N~{j_% zypw+yr+uqa-S%&@?U!aw=Gp>|6nkjm8>cb)iDa=O!P8%WUp9mKiP3Hty5rk8ZO>BY zL7rdDGrju~*A(_sinU|gc&D63!=%ttTgjJ=+5Guw-()Xy*yJ|K4t+IbCM!>Rk{NUS zhYp>1`@f>M_1w`d&e{3infb=|H#X&nbFaVZ8(%y3+=h!98n68Zck>$OhQBfI znrp(}xOQ&%hWIsCUGCPIamD5H8n3u$-q+pxuU&E46*pbccv^h!wO_xgvHqGX;@|lE zwbxwLNX*v$dGEh|#n-RB{#zG*bM94Nzv|}r+^en~T+Ddo=FH_~<7aJYe?z=){CfSB zS6%VdPcm$y^6vfTuf2Y*|NhczufO_=>(9U9hN~K{aGyJmY(-noxxeVDo3Bti*8sS2W_Pz!4eTV+;h)8_uPwg#KUM4edxgN>2}A? zguHIZ><=fv1dsoeKNMeEOmut!Qe%4}?)SO9!9*I@#*LY210&!ci86- zx}*LeQv;*Qjb}=T&*{VdGqQl_ zMFXcialfIE)9r{trKd3(t!E;V92+;7Q+t$k-hr-iN}v-6#lY!kgcaZ$Dvu=MO%RL5 z#vl(=5cS7mwLwoOlb`GlCEh>`G7Z(8KPUm6w zDSwoNX6-xtk~pW&$M=Y*r&$an4RuB@P7h{ERJP=jQ8q`25Xu7~3`a|shYcptW#a?+GDsZHcP8Y4FQ9?T zjy&)^iFmjb>Sl(9?^xJ-Ty~%6p9)0d2~W_?dWCO)2r82#=$ppV--D^;^TVd8GDht@ z0dF|!&(4EjbuH@wiB0wGiH;6`RJb049r0<=(v3;t=<#5oW$*X{on3LF zBk(b;V(=80>OG=P@ZoxEIUR_5yX5qsb~I(lUZGSe1lc_kkJZCfz1uJexLVz{&DF0H zop8iSl(`GY@ZnyN>breGce^L_zQJ0V9^v02LC+cCzXG9-Fyv(P4CsdMM8pTTzhkd4Hf8Fb>59N_)T)gGXXZs6nss z0G5?bcg)*`wVC-W0|uM4Zl+(hfbnmpS|)(u+a2|UIwf7`3$qvlB9=tRDdx4^1N+WQ z`D}SZx2My;PPsGC4V#vFgAq|LkNFdrL~NDkdI*O3ibwRwI-P+itH3uzp(%tlDeCrm z&`Y;ZR03n&dKiK12kO}x><(apN4f11VU+XvTo?63x-#yM$~%oEG-DB~Wc+p@21@XQ zZjbLbYNh0s^l@9KqIP3|bgA&OHa_TP!B$KWBmo=g zXW~B1{1S5yIsIv23s)u%;QI0TBmR&N3;h{L?+zn)izU2X_#_4Qci7|U2{0b-`~C1d zY{*!7pfd#L3K_6Q(c@#@Sy4KIVGkLUC*}p^z13CitXlEHks@UDB6^DZ^;q0@;J_)Y zN#Up-^h7)TQ9TYLfAbw`@<+Q5~Bpcp-k(uV?wm8AN(xT@i#b--3`W z2!D;WN%E23l20a{Ze_FB39(q!I^~Q6$#no2u$wdPP@ETX**$YB?1ZjF}Lt{fz zo!e<^wYh5>T#Zh*(^c!X9XqBY7WYQZ=z*Bt;lZr(={ppqC02`O95^ir#PxT%*f*Py`EUnf{KNZxH1D)5Y+#61WC=mWs z#2|l5e9vBEyGT4r6D{cR`Wu?|lhY$7SN-NXdU3UQ8d|E|uBVC2^t9eTDhkc`!CCH_ zA1XKgbovh*;Gq#&&w&HB#ztnuO?x{1`;Wq5VG2w-v76jv4bl zT&*kzev2`_%CMOM{@Y>$)*2#9zT3H23SnV`}=zJS99cf zqq^#NAX){Iyk2}mq?~Vvkn_D?QS2>mww$Q8$>CG#1AE_i^L5AZy;W6?7Vt29yXgC9 zb88*3ZgKA2SA{ON#zHX~2!b?eIsK}=ym#4eDX-5LMZA>>kCj9_vro2^5M5h?qxtO? zWFPEjTHYbLExF$g=3k>UYh&42i}g4F*NX+)8{+fR5F}$m(cwY-?Z(tgNC#r9H-t^J z9=kiD{trkNdKyCHk|A2E(5%3C6SFE4=94vN`Cwc>2C9rJ{I z6oRm)B@ADJokUBxBYqmIh-}Hd)LI_da*ioC&|DrY(p*Zml_JlT#a~-T0>FQ}8*O%1 zqubTw#CJ;<(n)SemED>%Ihj%^_Hpxlg(K09En?KaE6af6q1-qErEn~10Ssm zHCvP?(%~IN(y%+@c8xCniS2j@vWpmrY=G>yk5&ds6(N$qHVF9wd>iTHtw~2bA?!e+ zy0h_Uv#Uw3wKX)loP2drlxRG6Mf?Diwp>^YW&BP)&SK)zJuLfDU7W z>JJ`c;Yaig`72&ujSz!;+! z+CF8gs7F5(zb=@E(9Kg-#u#MP&Ni2{ImI>zM-n?Yf64%KQ-TIm*=!c&*>(sbgSx}v z(rwKRJCwX~;iGsRQN()5l0dqjEFhMT54VO>7r!^tAdg<$@8?x6_~38{Y~_Olw(ou+ zm7-8af?Pzdw2FZbbKjoO8Gd{N|EhOjvnL5;`DO4rgoQJdY&|%H-}mc8$$*j7S0WTk zL?Uozeji#Mg|$N7jBe{(v{eYO1fI@`?k4@zxoRnoiQTNR6zeZflkaqe)+Y+B8 zVk1FvFk*Pvfectg{cQEm3@T@k87+NPHz-ZcGhM z))zmLO>th6DVGFA9WT$yF6lUsbt7I-7J@o4$#7KBrNlv7oBU z!^fSeGcz)NX-@0+zmqblTmtr*vEQfnp5s5M-*je!z_f#{rHldZckMBk%UB9OLn7#g z@?A^~f&f1nA_5$bMxdKUo`O717qf|SuE>mWl=d^o7l0-mZy8t}ON4ki$fJU0369Tq z3%bI*SVB`5d2~G-F|-%_qkh;wC1wp(%meUxo+vifA?G0vQ;o&h{={L8;Sg+$<$HJO zIG@HxJEup{Iz+9Ka%L*{@tRIY0Bj;4w!@N%(LQ>_r6VR{p&5KV^y2i#ytIYOVbAa= zDrAU;DsgHebd?=IXCi`I1GFr2*4%0o#nl~&pCN%o3p#e9I`liJw@^|n;hp!Kw`9phH8O5tQpKqo)A#6Jil2xg=kX z2Wb)D(>a!)pn#aHqQFj=mh4>C@Hi4B0EEW!1mpD?Y8m;kF30>C6JxfBr41*DZ1tB? zV1AQ-B-aL5ZAzTm<&VXTCqa@x4RK(l~6J8J#R2r@WC$Pjht9k9&=TZFQ7xb$>B5ku-< z7*)3WipS@poTS&^6%P6k_2CeM&s@Qu>k+3l#!~c+>;!^5UB^NX(ynxV8W__N_~#8J z6IIwb%loovC))G!Qyy3@j?G?+vr~CJP9F^8xTwjvRAt>8@a66~)SEoxd z{^)MGULk3Va86D?S|Z`RV}8n50SS+!3v&_1ybe+pkM?vN4-0J|)}=>rn29SuP+W#~ zG($Yw4ptF`n~~!T6N|+d|5oe)nNZL)?FTt=pd)XM$%`EeX$ASgb@4)B-HY?K&g?o( zc=8AtFLYi(%L5c0OCS=!K9kcs#yoy5h9T}_Jc+N+4+P2v1x6R{V)ryM;b+E?^30)5 z88yA$euM-F`Dw~~qGu3|A!ZXx5VJ^hm0#ytpWo3)jAt|&V1O++fDysoljLK@MJKy- z>w=GS4hd#-x$`Bbp0UV9%IX0tllN!@o|!^NxDih`DJxrF$1XJB;(#ZH=rLO^<&jrB zn2_t}S>oZ6i=Xdt2ubK!Oqi%RSjri9@{ly2vKvBAJ2|*@x`sW&IywRygS?qFK?)Sr z5gSp&klWw&@o;Gj_g3O(WCyc)z`-)+ny~Z?ZHdPXLC;xtNiLR5VMZcMY?rVZHcV{S zL}-c#{G@YWUW1jhr7$PTB|-c$LBU-JZXY2KG%O{B{fHX@$T)OK48|^(Uk)A;UL>6Oc(mkaDCW@PilAZpr20-6ExmQoa_M#8rfrw*rBz-IPa?!7O*AeiS2Wy>?EjjnLwP4;4fC{!dnKYA zrUT2)s3lXLPl(A)&H=YdLow_UWXwciRx}Wy8#7rdVjkw;Bb=dh<<{4$D7_1&`CoS?*X3?X7jX48*dn zYuh655F0A&@kOM*9*egU{siIzmSkS9p7YOaB4nyc+!+_iEsSF=kH6s&X|0t@4!SS; zL2+k>K3`dZ$+HSUL;>0MY-?H01!Nn*Cqr+Aq1DSk2Vpk6HHWOA1sY(S;>d3dyY?qvA@iIz); z?|E`DxL$MdL~>Y8QgF+yrz_9WmU896)r16GuFjkadXMdp$edvnC9j3ZmJTxBKPCJ; z%~WWU6{4Km9!!vt*@16PPo`64d?U|GU?K8+D6>VTx?r$d?o?!F=okck--}5Z)y01V z5s^0%&+qem3xq{dW5;@UQUpRqXIOfMqf2UFkWW9KvP2cGOLk*TyF}>Iwan)Sb>f~i z=^Wk2Fhd?l5af2TLy`TbOe3OaKROh|wo48J&iA1acs*|dNp~b9#31slJM7uh>A}_+ zm(2W8)(5e=)4s)c%tU!NN+VDJFZIXfj@$u>`ivu!6RSlWtm#4QH{qv^GLrEl|G}aZ zb~^_J?4BJ7oFl>R&w4H^{?Ck#v#|FYDzfcwR#$zmw4K57T~4r`FKS)gdo-ubk%&!)Rsk=*O7Y#6he&OX06W?U{HClpb z@#iJv+E|_qa;h(yf9_m?qWmV_d*hGO`^pq0f?p`m57-M>yh%}Je&cbv4R99lMunp2 z-+!Ebv`tYe0ezK3|coL1-?a0}oyz)HXyfCm9r0Gk0<0eyhVAA=8I1n@4Pj$bZT3_9ii>v4J-Q2F1F z)8)m$2kZiD{y&e?DZnYf8Nl*Cd7R!>f^xtbz$w5WV9lSRJz)7?K2ARbyau=*cXHbP z3j6>k0s8?5{`ztHI^gQxJWf~PmmM|ZmyX2&S4-0AtAK5mboxGExiy{MhF^?RRhmu* z0dJJ0(~E#Lx<=wx`om1it`&1izS0?*jfc{AcqZ;40t%;L474x(DM|iC?te`<$XY+?h_#0M5RW zP8V;1T!7mED=X7!C*UQ($mcO0ucg!FFQOkmn@*nqoC53ztgK3>rvZERrPKRi2NgdD zxd870_JhyrLG%N#?`!Gw$<3hib@UT(r6!%$!MDnpPIrM%#Fb882Ar-UQ4cto03W~; z_@mBqfYYbZzt=Ec_$7pmfK_K858yq(Yk>QI5%#hh_}{^J0G59@oxTS+3#k7r#`~8r zj)3<7Q-G7-16{xqzYIC6(Ejg057of`70?Cj{d*Wcz{S6xPFLXOR7F3=53myO9^k`Y zgFG0Iih*>x5^xf*8L;vn!cGCF0P#B>l$t@%!+70D!agxh`-f2u7#V>a&__=S`~g=0 zw?HrVM$vD;)vY2O1@;cu{9EWR;Of7^Ji&OZ{%e#2D!+|( z(9emh_y)Z9I~X7IfBN4+PQaBP;2Zvu9!yjAs2?6vw4N`hFP46hmBE~q#{ULCBkBnc zL#lM4?4T&q0c-G+L|HwcVk^_nYZuJ+K~vMmAKiqVbA~dgRe6A)UX(=urOeJj z(_0oMw9V=i!jlZTiatPg;-@&us?HZ)D6kJ|Nwa;(bQ}%lZ_bq|Hmjpdxj8rg(Z{Z` zDykeZ5uT1FZD>#YsSlEuW6<;s$*UE`=YUiGhghRHPV;%og%amrak8jxxL~Nzo-&VU zM{mvB78e>I7_lpBrrM#x;ert@WhV5a^S2fjZG>(kbeyw*)-vc;K=vOu-F+t5-cLZ@ ze$c)5W2Q?sdlz(j@e3tRa{WphO{&c_3T*uB`~|)MI9tr{1;9U%i+@y(86lH#la6bE zdzWZK*NVNY?R@D4t9_&}1tYN}OB`e7QLSOPXsFmWZfe08-l-ib9xfU;)z05Cz8<-~ zgt1*%Bw=84_(_58eZ({S@hp>thS(?Y*c4>=k4*!FqK}k zpCFyvxXzuVSEhIeDSlKNGdspjrbB3aXX$oU1o9IP(0&Cm+CIF~LoyW?C`u{fw7XPb zE2}wQe4)rbSePtu3~9sW5mQQi52UhmTCyLkKlNyT742KOOnL2HBc>w@a4VuuWi>>Z z6DCH77hHx;9vU&(EelR-vt_|%#T))vV170Q+S9ABHSp5@8kTA+>(y${*If9zWAJOq zpLY!%9R9hH1F1Jh_m90X{<`VETR!?Yr|(X5jeNq~pYym>`}d5-WP$yB>xCBQ;IZUe zL(RiST_a7YBcqLDhsO_1G?+V8BC~ANA=%ST%&A@Y<>TZ-wF`_6^NkMS8)>o#-^kYu z#LGe8Ujjbl&d$NNfyk|+S=wJCQ1Evvl>5Nn!u6T;yUadL7}P}sq^%g$hzZ4ul`hbm zgS=PM=r^GD7>lm0EONf=!UpG%Ww^vOTIft#2TL8PqLE_Lp}CvzwTEE2^S8*^Mg~ih zRze#oP8E$7Qmb!R7>>>Q3peNBcd4z7+Vb@fzpF`ERS|1)*||?3t7Jw>&Ow;xgc^nL zxypsC6V!ju*k(?r&q7|vz}5sid41=oX-svJled$*_bo0sZ_UFaE!}2X%v~A?mzIb3 zfHi;1Nex(xb z&W^|F``9OFVaB)D;yOR6UiinVWAK8SJg+*2Ce-0^)ipAvrbgA#lsYz|I>v|9i6Pbe z?ZP$I%wvaQ?7NnGb7KtJt3BL+m=1jDA>UDjvIhm&@30bH=0w>F@Ti_1@+T)y_6T^> zRPY(&2I^-D?avk>Zl(5O{D0J#fYy>#&~-xAhny~(hlqWWY7;Dx&%<}bo5R|eDO0HJ zE(`o5_L85qE$O2RZLg!PVwlfP@)fQj)1i5X;BAbaPFUt`*2DA33M$e4Dm&o335Yrr%!ArnjIA%jnO^ zRMw`cTWtM9c^mp!PX&0$-{S8SDXm|I{Cs>^-)$SV+XhXJqGi7T%P(vsf4bgJti+LoDC1-?A+>l4Dw!=L~z*!LsCrq0(XNh$U4*4aW;73W!|W&AD5PQ7u()cxll-fB55%ZY|uL z;|$xVn!*Y0sVSmso?l$D5w>jzKE4ek_iw;>gFeOg>(Z}H6*wvSvkw&?y1itdf9vCq z76lJ`>GnJxV`k1}>2@o%0T=2+ALi=xYuNK4cGF@n5uX9|{N@Xr?4-xC;SG+I)j3u& zUfh`6I9P5UDYcJUOs!a&91FH3jM(iv@Uv`uOh>RzE!lvS+-MsqwT)V8K>r@-Phw8q zpf$0M(PwKS8z!uG+>O)fS2tStA?#L!a*QO}6AkhSyEX|Ln?E}Zvd43nfz!_+H-dM1 zFawkn$}Xeq1Qm$*5OTp~Fh|8i&{1^_c+0>en^T&^oZhe<0}2#8HTby!8LuISRD-e7 zzPlr5yjZACgU!N5SVUlLKbt{g3+(!874juS!^>!}HJNlpD=J%?>xK&JhYQ}j1>Iwc zGkd~Vi_Mzcs$tm%J(9NzG^eVOJ2HXh8;oW~|D%Ot1rAbu?MU&2`RI_PZd|hsm)KK9 zeoPSCokJFKniQ6Cv$fji?L!t|q>9G1Fs21w5t7)(HTyii?87CfW#2aXR%q@&+6X=G zMXmsSf{rtDKBd5W1~H zbWRhAk~ z(^r4;eVqWGw%4P~nJ1k*R~IxP}YfA_OeP((C7BIHdCJi%Yi=`qHP} za@$7KZE$yXaJXf=ogr@}QEp>?LG* zeL@{KwITXt!K&@1Z2@!_nda7U+vBDQm8_N7;eO1g)dB1QF-F>dLL$*two>FcfA+$+ znMdszKJ6Mgl}gkOerSGP9gB^|?a4Ea@o3w`2j;CN3*+aQbA0qM3lG>(nXWI}CO)w7 zU|6(pPJA#PWjVF0$Z7W+_{rPCP6QLzkYoS<*%l^X3ybg*Rao!lG>p$*Zlm!TFr9zt z!VVgqK|T3J`_LDLw}&u2GIJ%IdeJ-a!gz&aWSf2LbEBU(*=QHUhRSX|u>gC#v+Nw% zmU?mY^JAYIub6nDg_qeRtclcT z^pWKvSQn9Wa8lNRB`&2q;5n~ioNsK~f_y)3!(wB!q5KIf(QZXTmo2DgQLn={bOE=K z^!R5G9(f4UdHuo{8Ivz0x4Xt(7=ONgXxs3MBcJzz!tFZ?8IAfUw%SK4QlB$9EtsXt zcI)xQrRDchpBt^1*xHO&Cx3O|)kb)>iLLMAowdPxKlo3A|NaV`tx&A}>x};m_59~A ze2(}JJwLqFK3I`_!8x)e^<3T9riRhYw()Y)H%qCvwhP(VoZ|H!&{>J%%z^0Wpo3>8el7y{9?JWu;7E3z z9yGyW(h7=)@U8=|KK69H2f(}Z6ug6=x2*zaEATJEj%1%|rA^q9=0Odeb77MP_suNC zW<5$DEWW8nr|68RpX|96n;V%|qv-})JPblYCp-(uERFJgqSSz3OQ}eU4I!Coe)kqF z*Oc?%Xr9mwe2{o>dWypUC^4Fj*;LYM22k|yF5D##(S;?MPA?H+F$oV@sxce!} z374dt1Irr7Nii8cJ@`3?IeZ!CX_Q0KzQ$ydz5t=-P@!`~8!oWZI$WD9ien}%+_KHV z9Are5w|=rCg*luNEMYbK1RUmvwqU3pV$BqLK{@U=+O9i?Oo#b)ozz#l-EiFTo@L%{ zt)mS)=S<&|AQS#Mt1 zEXvNJjOGzN)OI-!k7C7T_&LJ6NHO;xVK1?dZ&lrD$2G2&se5y zL%f$)R)I32hbhD!!rzsLcb3Y4KzK}_Q&2AH)0U&p#z9Mq&|8A5ZLM#FICW#DP1e1 z4&JMf=cG%FtBvoMu};A&U>@ROJ_z&X2K+Y7e{CO=FB3!1S%{OI_n{%}-FfWcvUwAO z7v?^gd_W^;^~1Mz;a&R+%+4G?OyLFh!!{&}i1%6G&j6qC{;v%GhvK~-w8$s);m*em z>PM2%GVDt+k!jOZH&W<<6xjfUpI28v8&3G&pX7el2N`?8=k8CKPbK)=1D|v7#m#t^ zV?gmqQbqRHb+eA|(T5h z$#4ZS1Tof3hJT9y@uw^U`NI8}TMF*F6q7IdI+G!j&p|eg4v*|~#$g{UwNGH9Zb{;( zxY!h#pR+C0BAJ7H-O?@6Dm0RJ=#)Jg3C_(g)YEy?NO2clac)JgEay25{(aw0vz)8; zKd_k)dtH_;EN0eTPoB+@DrkpeTci^*8A9b`V8{U)|9tfEC-s*3)r&8IFYX9o zh}p9f|4yUqI?8CCOMB+AUA?eO#2%=+4w13eTasGSig~wO%jPxHYX1L@qorxV9*ZgsU=4}f_Hk{j!1T`TJ5CJNxOVi;?FRPJcn4pN7!nMl4avuG ztpOi+!zXf&cTjNnHvKzB`^-N4RO-+N?q1DNe!7Lpyw<WE-%C zd51ir;881G(4mVy7}$g8OYzHy4bgrD@6dft%!{i&!)hl*YJAU3QEuh~(Jtwt9_`QK z{@Emtbq(ziKv*BJT?alGW?ZA5l@nFS;7tqgZs%`N3 z8;VS!%N4IR$Z{8gaSugcA}v! z-9Dub0(WTh@TQUS)JAGwOL(@S%}6Ei;?c5qmmF9zTIFZsQu6}4qQF{>mN{_3c5A^l zylH5&ZKT{bT4q~vjF#2WKYSlH2U%yDge}qGpzyCu)K6hcTQI*b;=V7_Fa6cgys`Nt zTWUsIy;-z9ySD9leLri4xF#Cn-2&fMatteCHyI+h65z- z!`ia%nFBX@a6`dkJr0v_{e=aOc%^$nqAmP)EBHSkx#2VW$(Hx#@~2o70W3mUcG5@3 z58nm>c_oTDEK^Tz37vzJ4{Lk{aVhk%LjK@ya1d#*JMycD1(Q}MIWjt6&G;~uLuo_% zezY%b6*=MGW9>6OjGbK$T5zjqRBOa`hSoz@vLtrrHl44DHI^0|OtPH#j?Rh3O|;4? zHQ=!d9{b;h&!)bAkd=|G7jkYKB56kpO}|Y2%$2hqH0pO@FMa~!hkl}u@+{GwR0mBl znH)5RL$$IH!ZB>f3sFHv>8(V3_b$)dX@7!4>MT9v?kN4pI%TCj;}+mg0e=?wuvA6+ zJ>cUZpE!&1-hY5Q(xm(EGdh{QB&ER}w2!rqm`rrsDSa^pj{2j$io6Eyi_`xH(f$c* z%kMan!=T$7_HoNZ$>Gt`F)LkqWLG=>7G$!QxtLk7xV#y(_CvlKq~HI{XkjI!3zO*k zq-vw2;QsIbbQ{v)Pz-0UKy}iU92L3^=ip(b<@ABfcii48se}k*<3P; zm|m7q-jhsc?r>B2HvBw5c@^;C5=pl#*N^=NJSBh9X|-Ri(vXxaeN?2J)UK8&{i=4Q zM442zYbDAJRqHKL?y6dUi85f)a7$svM2IUUZ3>uX?GiA}+Vx^()~w;E$2kojy_+~fX$9ax?SvBK-y2&2 z7u6p852R!PUcq8~hx)=C`e#-is@j}cy-93ff#Q_?!l<;zp7pTs&eTo zl-QoxrCt82GVodw=+o6&-&d91y?E{4tMz_WN$x#ycOTBHt5{<}W0w>4t=e6ya#3v^ zutJ9wkF3z4_RxxJirNjU(rey!(W*>ZPps4RwW5Do*>^`SL-wgxwTt_ddtdH@?7h3R zbNiIpT`36kph{cWtE}wNuJ2Wr_X3f0Qmt0DYW;=Kt#+|MnSo*oR17@+6V+q^mE0iZ z^%ZJ}_Joq4BkRdobAJI1CKKQINi<(px3y`wh6^Xk4f?Yc(BIjgDHRjt>oK2o(A{A*(GX6>A&_G%ig z4qnmFc10s}DKCwCuc|GYsFSlM6(g`}Qtlg>pie(g8!r{Z#!9s19ZEl$-K0gE+o9a0 z*M}BuT34=GE0D^uYL9f~N-0WbOEm=I=QiLqwL!bOLz&wEghv~+*&WJk8A_MSH2g1| z)JD8s-l*N!p(M-kdZ}EyzC(FX?gOz+6_;O9`ZjOF2KdV6ZP#B?RyON1FDV1h=~rJ; zu05yY4@0j$r$5k@$u0VQUAeJEzpE>~TemIi%H^%wrgUX-tG2vddAL=(x?Q&<9)#7dtg%f zm~877G4xH7G^m$MjSn?tK!Z1-_M4dLJyctbh1+D|eRwZ2nY&smdem2RS2ThpV$e*j zF!Pi)DP(ij!yjA}vRQ&%bE?uyc;Hg3Yc&dKjQWsMQ+5!g&AYJlLXE7RaPUI&SIFljU)6d~D66lM-ihnUEM-jJF86;saJ}$nIh!|kpd3u*ZAku@=9$*Rqw-+R0Xr%P`5*U9)ci~ZPMXqycRpJl`7XP zy`YLgD(gaZkM>A~3FD21wnoF*{S{#XW&2TDPlhH-o~uVmEBP9qmNb#G=gsOhTXT9h%4A^`F|%A8>_9A=+BJWb+=G`Sg1WJ#DqZsS2u}9t90uL zNQ;PobzCFQf|}AvjL&3|GDZ0KF0Rljv0SrvvR~Nl^ZTx;9 z@BJ0NZYN&+3=>xZ!#rdyuMO53W$LM;G=$`D1#J3}X-eD><_;Y`@u4z=2YaYh&~vea;@_ zRoP?VK>24vJ{*&<2dOdk2sCB(%lr*nZT1uk!71NOPZ0+SZg8?k{~Cv~y#5XTE#+Jk zf*=LP9?4IrEz_UBN%Q{5ad|AhyI$w*(&Afg?N-J2pYG%Je3_UzeRweM9?tZ>x2rng_!-`Kr(ceTE!s(OFbUixdg zyJKDWot5}2C(3U8azp=a{2}t)?03q(7Vs(T3%}^IOWBP-r4&2U&0##sYs8<_%=vJm zF6s|@sDXHk1mntX`hB;`Zv4@6{7ZkZ19f5glZ?u4e;5AzEq*VjyUT~R@(V=0UN`-Y z&`2DA?i{}^pVM%AqEXKoPD8#E9byWSOh8X}z>D@_u;MJ*V=-kne$OoZk;ET)AZWd( zHCnFgvtpr@aAzI|xz5UBTCe{CYpiT9;|>Ywte+k^+H(EprTqW8kqolEj7uc!!*x!2 zh%eEQ?Pa_`aS@fv_A<_qP{uVtVULU>_1eE+``!1AG7iC;1 z<5CGF9#GgrvKk*RK8)@2{re5cP&6txHpY7>uYGwdN04x!C3nQ~+tUm%@|SV6gj+bd z%)j~ae<<2Z{a+JtxP-qi;#Nr@pa1vr+7J8zmsi4bG5{9@^7#+swXgU?-d@5jyCr81 z^VF%(_K{jh`FB0X-z0350k$BM&;K&YY0o0Xzr^WOiFOi5{t`~30{_iA(_ZdN z^jCO$iT9-TGpHc>CI3pXuc;L6+qgPp^Njtgm;0RAFY|``^TtoMm+%kr+ADHhtK#h?AL31qY{$P8BLa_A;diwE)nDiok z?6C!sCoy>E($v(Nyghf=;y&aYdt3*Z+rQWCbviYLquHl`no!IE7+yXd#F$2510PwN z@j_FE={;;em_q{0D}q>20g-6|C_Uig_TrmV2P{WXh%@QK6TuvHn#*nGx!e{Gn=+Im zPfA@$>z-eS^&X1DF#q)&mX=fdQ8e! zCM6R}?o-lMvR}y|B}bIJqU5-e(@K7#Bw&6rPCh?{MQ?^a&iZxxkU{OWK+IE{xz1k@6}Vn@pfjt8myyq{=GLe^7lIdB1&~C%5_E^O8)j<0DfCa;chui z#V8!ijxt7XQ%3JnFb9~wWD;QLGy^k)^&iCRJ+7ORELB5+Oiu;CEaj=qrO=P#z&y*| z_FfSFlJ~*xGbmg+!%{0v&@i5iA;(Gka5k)iW$@HH<6aqyLWo~Py}c5QR7(W>$0vaH zivYtMi-fNGk4^yepJg&fu!203ork&K#Xa#B=5ved_5|i*LTYr}3j+5`4H*98w}E^k z0(3+K{6}x&Lv@xt%$DhSF6NZ_6><}pLyG}2uK)NL(3s?o0ocWywDX?msmPlhx#gy0~9e&}X(l?y;QSab5AP;l7PVHcboWEGeB^4}&R1kAX1ThzrFBkwk ze=LDV3+6Mf$-SmkUJFaR#4&qPgMmpYS$hHkxC!&T6WJ0i6%64KRLY0#a(raxa|$o> z$Jsj?fmb-`59-KaZ0HBtsdtV27QIOgu!f=FI z^nF_KC_-an#(e2hm%e^eisy|%&yWbGXitqsaFUJTA~GGe`%Fy9;Lt1gQ6_9LN2Gp= z>pK_(`%Z|GeNh2+lLq}wcovLn!*D@l>~T$l>tTRNO~xG=LWzEc=mjxE9bvySN$pGK z6MuOh@F1+Qt0Is4o3x$xZ$0r@X-{bOTa#2=oS=xAW`&r2iBW1fVZe3o$`)zFI)*j6 zg6meqVsKTn7mra`E2&1k3 z2+4DvMb72p1-u4v{iy=(L~QgC_&IV-sOHA^3pkDArSE$=mCJfZe2BRIbV2`&^pP&$ z=OtFYw;)cRBybMLrZL73Q7(cgPrp&%{snzN<+S)S%FCEr6z%m`;}(>LP2f!_u`gpg zZfwI5e~^5Pyru~?uYHn>I>{YyxgJNniTLvO2z(XwrHb2! z=T;hZlH2EU@!2?mc#h(zrhi;u70T_YFv!9 zin|=tuTWSsr^3rzeaOLDMMb4+v!=q&x;QcwUgYw0M^w0Yjw9wP{6WwW^IRNuM5)Wc zbtq9-tDFj(uHJM+G2+Pds3y-6f@g`1>jBKc|01JI>QBl35(m#m#-%Rbk4y`|JZGLy z0HWdl`O0CN(*Vu}h+G+mWfw~3>d?)>zNtgQb%2I4Jg^&gb-kMGuCp2&U$m-fqOoWV z#AEU5<*`-EW2-mCtLpGqwd#wp+PYZG>e$`ZwZnQX+1;~iZG4|F734(w@dYinQC8Lz5ptKMF{{rS~3?bX{?$7|bb zJ8D+8t&CT7w#HybYtNycm-lwR+Ow~%BiWqnNp`=M>_l~M)2@BVrrvIq@Bb=fW#r|V z<;eYRd-8qe+Mkv(uaPflsfxLFB`4MTtevHIhr3dK_PKZ_HBwyYHO*8aezG1)kMG6L z=%i_<8ZZ6NY_nrkqLI!dDC~|OR(&~7xm(=$@?V>5a^9cabpWRNE`A};dU~53zwY0R NZ&u@H&wuv#e*sO$9z*~D literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json new file mode 100644 index 0000000..999f4f8 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json @@ -0,0 +1,93 @@ +{ + "binFileName": "ReduceSum_aba912fd1d17807efc5a7debff52df92", + "binFileSuffix": ".o", + "blockDim": -1, + "coreType": "VectorCore", + "core_type": "AIV", + "kernelName": "ReduceSum_aba912fd1d17807efc5a7debff52df92", + "magic": "RT_DEV_BINARY_MAGIC_ELF", + "memoryStamping": [], + "opParaSize": 48, + "parameters": [], + "sha256": "4c18f6864ed2c98b13f4d0d0ef028655cb35953ab386a4afacea612aab6c7500", + "workspace": { + "num": 1, + "size": [ + -1 + ], + "type": [ + 0 + ] + }, + "kernelList": [ + { + "kernelName": "ReduceSum_aba912fd1d17807efc5a7debff52df92_0" + } + ], + "optionalInputMode": "gen_placeholder", + "compileInfo": {}, + "supportInfo": { + "implMode": "", + "int64Mode": false, + "simplifiedKeyMode": 0, + "simplifiedKey": [ + "ReduceSum/d=0,p=0/1,2/3,2/1,2", + "ReduceSum/d=1,p=0/1,2/3,2/1,2" + ], + "staticKey": "99fec46c7fb0c696b2b7d64cf7e55d7ea2f4477ec7431c03cb97e71ecceef43a", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "float16", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "float16", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "opMode": "dynamic", + "optionalInputMode": "gen_placeholder", + "deterministic": "ignore" + } +} \ No newline at end of file diff --git a/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o new file mode 100644 index 0000000000000000000000000000000000000000..86f4262d4913f82bbb071d0142af3d3782c96c5d GIT binary patch literal 4008 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 K&z}G6@&5uZp&qRO literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json new file mode 100644 index 0000000..ab16727 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json @@ -0,0 +1,93 @@ +{ + "binFileName": "ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a", + "binFileSuffix": ".o", + "blockDim": -1, + "coreType": "VectorCore", + "core_type": "AIV", + "kernelName": "ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a", + "magic": "RT_DEV_BINARY_MAGIC_ELF", + "memoryStamping": [], + "opParaSize": 48, + "parameters": [], + "sha256": "cf9debf69c81f9b99c329ea5e1b68f91ebde2e3004e6aa2c062f78c218fdda0a", + "workspace": { + "num": 1, + "size": [ + -1 + ], + "type": [ + 0 + ] + }, + "kernelList": [ + { + "kernelName": "ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a_0" + } + ], + "optionalInputMode": "gen_placeholder", + "compileInfo": {}, + "supportInfo": { + "implMode": "", + "int64Mode": false, + "simplifiedKeyMode": 0, + "simplifiedKey": [ + "ReduceSum/d=0,p=0/0,2/3,2/0,2", + "ReduceSum/d=1,p=0/0,2/3,2/0,2" + ], + "staticKey": "80602307177ba63e857667cbab2faea65a5120e0167977a2da73ed1c8cc3b00e", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "float32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "float32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "opMode": "dynamic", + "optionalInputMode": "gen_placeholder", + "deterministic": "ignore" + } +} \ No newline at end of file diff --git a/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o new file mode 100644 index 0000000000000000000000000000000000000000..ad0758e3affa845d1fc9d1a4e3784a2b5825b52f GIT binary patch literal 4008 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 L)%fZ2pFaLyx*Q&N literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-0.sh b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-0.sh new file mode 100644 index 0000000..aef070b --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-0.sh @@ -0,0 +1,14 @@ +#!/bin/bash +echo "[Ascend310B1] Generating ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a ..." +opc $1 --main_func=reduce_sum --input_param=/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a_param.json --soc_version=Ascend310B1 --output=$2 --impl_mode="" --simplified_key_mode=0 --op_mode=dynamic + +if ! test -f $2/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json ; then + echo "$2/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json not generated!" + exit 1 +fi + +if ! test -f $2/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o ; then + echo "$2/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o not generated!" + exit 1 +fi +echo "[Ascend310B1] Generating ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a Done" diff --git a/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-1.sh b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-1.sh new file mode 100644 index 0000000..d30a52e --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-1.sh @@ -0,0 +1,14 @@ +#!/bin/bash +echo "[Ascend310B1] Generating ReduceSum_aba912fd1d17807efc5a7debff52df92 ..." +opc $1 --main_func=reduce_sum --input_param=/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aba912fd1d17807efc5a7debff52df92_param.json --soc_version=Ascend310B1 --output=$2 --impl_mode="" --simplified_key_mode=0 --op_mode=dynamic + +if ! test -f $2/ReduceSum_aba912fd1d17807efc5a7debff52df92.json ; then + echo "$2/ReduceSum_aba912fd1d17807efc5a7debff52df92.json not generated!" + exit 1 +fi + +if ! test -f $2/ReduceSum_aba912fd1d17807efc5a7debff52df92.o ; then + echo "$2/ReduceSum_aba912fd1d17807efc5a7debff52df92.o not generated!" + exit 1 +fi +echo "[Ascend310B1] Generating ReduceSum_aba912fd1d17807efc5a7debff52df92 Done" diff --git a/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-2.sh b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-2.sh new file mode 100644 index 0000000..241bd93 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-2.sh @@ -0,0 +1,14 @@ +#!/bin/bash +echo "[Ascend310B1] Generating ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f ..." +opc $1 --main_func=reduce_sum --input_param=/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f_param.json --soc_version=Ascend310B1 --output=$2 --impl_mode="" --simplified_key_mode=0 --op_mode=dynamic + +if ! test -f $2/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json ; then + echo "$2/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json not generated!" + exit 1 +fi + +if ! test -f $2/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o ; then + echo "$2/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o not generated!" + exit 1 +fi +echo "[Ascend310B1] Generating ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f Done" diff --git a/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-3.sh b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-3.sh new file mode 100644 index 0000000..a6f5738 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum-reduce_sum-3.sh @@ -0,0 +1,14 @@ +#!/bin/bash +echo "[Ascend310B1] Generating ReduceSum_aab7d211a4f4f395b4f928b8c56a621d ..." +opc $1 --main_func=reduce_sum --input_param=/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d_param.json --soc_version=Ascend310B1 --output=$2 --impl_mode="" --simplified_key_mode=0 --op_mode=dynamic + +if ! test -f $2/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json ; then + echo "$2/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json not generated!" + exit 1 +fi + +if ! test -f $2/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o ; then + echo "$2/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o not generated!" + exit 1 +fi +echo "[Ascend310B1] Generating ReduceSum_aab7d211a4f4f395b4f928b8c56a621d Done" diff --git a/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d_param.json b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d_param.json new file mode 100644 index 0000000..a33ffaf --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d_param.json @@ -0,0 +1,59 @@ +{ + "op_type": "ReduceSum", + "op_list": [ + { + "bin_filename": "ReduceSum_aab7d211a4f4f395b4f928b8c56a621d", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "int8", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "int8", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ] + } + ] +} \ No newline at end of file diff --git a/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aba912fd1d17807efc5a7debff52df92_param.json b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aba912fd1d17807efc5a7debff52df92_param.json new file mode 100644 index 0000000..5c690e8 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_aba912fd1d17807efc5a7debff52df92_param.json @@ -0,0 +1,59 @@ +{ + "op_type": "ReduceSum", + "op_list": [ + { + "bin_filename": "ReduceSum_aba912fd1d17807efc5a7debff52df92", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "float16", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "float16", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ] + } + ] +} \ No newline at end of file diff --git a/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f_param.json b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f_param.json new file mode 100644 index 0000000..e72f075 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f_param.json @@ -0,0 +1,59 @@ +{ + "op_type": "ReduceSum", + "op_list": [ + { + "bin_filename": "ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ] + } + ] +} \ No newline at end of file diff --git a/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a_param.json b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a_param.json new file mode 100644 index 0000000..17dd854 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/gen/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a_param.json @@ -0,0 +1,59 @@ +{ + "op_type": "ReduceSum", + "op_list": [ + { + "bin_filename": "ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "float32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "float32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ] + } + ] +} \ No newline at end of file diff --git a/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/src/CMakeLists.txt b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/src/CMakeLists.txt new file mode 100644 index 0000000..8c94a95 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/src/CMakeLists.txt @@ -0,0 +1,68 @@ +# set custom compile options +if ("${CMAKE_BUILD_TYPE}x" STREQUAL "Debugx") + add_ops_compile_options(ALL OPTIONS -g -O0) +endif() + +foreach(compute_unit ${ASCEND_COMPUTE_UNIT}) + + # generate aic-${compute_unit}-ops-info.json + add_ops_info_target(TARGET ops_info_gen_${compute_unit} + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/tbe/op_info_cfg/ai_core/${compute_unit}/aic-${compute_unit}-ops-info.json + OPS_INFO ${ASCEND_AUTOGEN_PATH}/aic-${compute_unit}-ops-info.ini + INSTALL_DIR packages/vendors/${vendor_name}/op_impl/ai_core/tbe/config/${compute_unit} + ) + + # generate ascendc impl py once + if (NOT TARGET ascendc_impl_gen) + add_ops_impl_target(TARGET ascendc_impl_gen + OPS_INFO ${ASCEND_AUTOGEN_PATH}/aic-${compute_unit}-ops-info.ini + IMPL_DIR ${CMAKE_CURRENT_SOURCE_DIR} + OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/tbe + INSTALL_DIR packages/vendors/${vendor_name}/op_impl/ai_core/tbe/${vendor_name}_impl + ) + endif() + + # dynamic shape binary compile + if (${ENABLE_BINARY_PACKAGE} AND NOT ${ENABLE_CROSS_COMPILE}) + add_bin_compile_target(TARGET ascendc_bin_${compute_unit} + OPS_INFO ${ASCEND_AUTOGEN_PATH}/aic-${compute_unit}-ops-info.ini + IMPL_DIR ${CMAKE_CURRENT_SOURCE_DIR} + ADP_DIR ${CMAKE_CURRENT_BINARY_DIR}/tbe/dynamic + OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/binary/${compute_unit} + INSTALL_DIR packages/vendors/${vendor_name}/op_impl/ai_core/tbe/kernel + COMPUTE_UNIT ${compute_unit} + ) + add_dependencies(ascendc_bin_${compute_unit} ascendc_impl_gen) + endif() + + if (${ENABLE_CROSS_COMPILE} AND ${ENABLE_BINARY_PACKAGE}) + add_cross_compile_target( + TARGET bin_${compute_unit} + OUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../kernel + INSTALL_DIR packages/vendors/${vendor_name}/op_impl/ai_core/tbe/ + ) + endif() +endforeach() + +# generate npu_supported_ops.json +add_npu_support_target(TARGET npu_supported_ops + OPS_INFO_DIR ${ASCEND_AUTOGEN_PATH} + OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/tbe/op_info_cfg/ai_core + INSTALL_DIR packages/vendors/${vendor_name}/framework/${ASCEND_FRAMEWORK_TYPE} +) + +if(ENABLE_TEST AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/testcases) + add_subdirectory(testcases) +endif() + +# install kernel file +if (${ENABLE_SOURCE_PACKAGE}) + file(GLOB KERNEL_FILES + ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/*.h + ${CMAKE_CURRENT_SOURCE_DIR}/*.py + ) + install(FILES ${KERNEL_FILES} + DESTINATION packages/vendors/${vendor_name}/op_impl/ai_core/tbe/${vendor_name}_impl/dynamic + ) +endif() diff --git a/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/src/ReduceSum.py b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/src/ReduceSum.py new file mode 100644 index 0000000..5ce4bbb --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/src/ReduceSum.py @@ -0,0 +1,205 @@ + +import os, sys +import ctypes +import json +import shutil +from tbe.common.platform import get_soc_spec +from tbe.common.utils import para_check +from tbe.tikcpp import compile_op, replay_op, check_op_cap, generalize_op_params, get_code_channel, OpInfo +from tbe.common.buildcfg import get_default_build_config +from impl.util.platform_adapter import tbe_register +from tbe.common.buildcfg import get_current_build_config +PYF_PATH = os.path.dirname(os.path.realpath(__file__)) + +DTYPE_MAP = {"float32": ["DT_FLOAT", "float"], + "float16": ["DT_FLOAT16", "half"], + "int8": ["DT_INT8", "int8_t"], + "int16": ["DT_INT16", "int16_t"], + "int32": ["DT_INT32", "int32_t"], + "int64": ["DT_INT64", "int64_t"], + "uint1": ["DT_UINT1", "uint8_t"], + "uint8": ["DT_UINT8", "uint8_t"], + "uint16": ["DT_UINT16", "uint16_t"], + "uint32": ["DT_UINT32", "uint32_t"], + "uint64": ["DT_UINT64", "uint64_t"], + "bool": ["DT_BOOL", "bool"], + "double": ["DT_DOUBLE", "double"], + "dual": ["DT_DUAL", "unknown"], + "dual_sub_int8": ["DT_DUAL_SUB_INT8", "unknown"], + "dual_sub_uint8": ["DT_DUAL_SUB_UINT8", "unknown"], + "string": ["DT_STRING", "unknown"], + "complex64": ["DT_COMPLEX64", "unknown"], + "complex128": ["DT_COMPLEX128", "unknown"], + "qint8": ["DT_QINT8", "unknown"], + "qint16": ["DT_QINT16", "unknown"], + "qint32": ["DT_QINT32", "unknown"], + "quint8": ["DT_QUINT8", "unknown"], + "quint16": ["DT_QUINT16", "unknown"], + "resource": ["DT_RESOURCE", "unknown"], + "string_ref": ["DT_STRING_REF", "unknown"], + "int4": ["DT_INT4", "int4b_t"], + "bfloat16": ["DT_BF16", "bfloat16_t"]} + +def add_dtype_fmt_option_single(x, x_n, is_ref: bool = False): + options = [] + x_fmt = x.get("format") + x_dtype = x.get("dtype") + x_n_in_kernel = x_n + '_REF' if is_ref else x_n + options.append("-DDTYPE_{n}={t}".format(n=x_n_in_kernel, t=DTYPE_MAP.get(x_dtype)[1])) + options.append("-DORIG_DTYPE_{n}={ot}".format(n=x_n_in_kernel, ot=DTYPE_MAP.get(x_dtype)[0])) + options.append("-DFORMAT_{n}=FORMAT_{f}".format(n=x_n_in_kernel, f=x_fmt)) + return options + +def get_dtype_fmt_options(__inputs__, __outputs__): + options = [] + input_names = ['x', 'axis'] + output_names = ['y'] + unique_param_name_set = set() + for idx, x in enumerate(__inputs__): + if x is None: + continue + x_n = input_names[idx].upper() + unique_param_name_set.add(x_n) + options += add_dtype_fmt_option_single(x, x_n) + + for idx, x in enumerate(__outputs__): + if x is None: + continue + x_n = output_names[idx].upper() + if x_n in unique_param_name_set: + options += add_dtype_fmt_option_single(x, x_n, True) + else: + options += add_dtype_fmt_option_single(x, x_n) + return options + +def load_dso(so_path): + try: + ctypes.CDLL(so_path) + except OSError as error : + print(error) + raise RuntimeError("cannot open %s" %(so_path)) + else: + print("load so succ ", so_path) + +def get_shortsoc_compile_option(compile_option_list: list, shortsoc:str): + compile_options = [] + if shortsoc in compile_option_list: + compile_options = compile_option_list[shortsoc] + elif '__ALLSOC__' in compile_option_list: + compile_options = compile_option_list['__ALLSOC__'] + return compile_options + +def get_kernel_source(src_file, dir_snake, dir_ex): + src_ex = os.path.join(PYF_PATH, "..", "ascendc", dir_ex, src_file) + if os.path.exists(src_ex): + return src_ex + src = os.path.join(PYF_PATH, "..", "ascendc", dir_snake, src_file) + if os.path.exists(src): + return src + src = os.path.join(PYF_PATH, src_file) + if os.path.exists(src): + return src + return src_ex + +def _build_args(x_in__, axis_in__, y_out_, keep_dims, ignore_nan, dtype): + __inputs__ = [] + for arg in [x_in__, axis_in__]: + if arg != None: + if isinstance(arg, (list, tuple)): + if len(arg) == 0: + continue + __inputs__.append(arg[0]) + else: + __inputs__.append(arg) + else: + __inputs__.append(arg) + __outputs__ = [] + for arg in [y_out_]: + if arg != None: + if isinstance(arg, (list, tuple)): + if len(arg) == 0: + continue + __outputs__.append(arg[0]) + else: + __outputs__.append(arg) + else: + __outputs__.append(arg) + __attrs__ = [] + if keep_dims != None: + attr = {} + attr["name"] = "keep_dims" + attr["dtype"] = "bool" + attr["value"] = keep_dims + __attrs__.append(attr) + if ignore_nan != None: + attr = {} + attr["name"] = "ignore_nan" + attr["dtype"] = "bool" + attr["value"] = ignore_nan + __attrs__.append(attr) + if dtype != None: + attr = {} + attr["name"] = "dtype" + attr["dtype"] = "str" + attr["value"] = dtype + __attrs__.append(attr) + return __inputs__, __outputs__, __attrs__ + +@tbe_register.register_operator("ReduceSum", trans_bool_to_s8=False) +@para_check.check_op_params(para_check.REQUIRED_INPUT, para_check.REQUIRED_INPUT, para_check.REQUIRED_OUTPUT, para_check.OPTION_ATTR_BOOL, para_check.OPTION_ATTR_BOOL, para_check.OPTION_ATTR_STR, para_check.KERNEL_NAME) +def reduce_sum(x_in__, axis_in__, y_out_, keep_dims=False, ignore_nan=False, dtype="float", kernel_name="reduce_sum", impl_mode=""): + if get_current_build_config("enable_op_prebuild"): + return + __inputs__, __outputs__, __attrs__ = _build_args(x_in__, axis_in__, y_out_, keep_dims, ignore_nan, dtype) + options = get_dtype_fmt_options(__inputs__, __outputs__) + options += ["-x", "cce"] + bisheng = shutil.which("bisheng") + if bisheng != None: + bisheng_path = os.path.dirname(bisheng) + tikcpp_path = os.path.realpath(os.path.join(bisheng_path, "..", "..", "tikcpp")) + else: + tikcpp_path = os.path.realpath("/usr/local/Ascend/latest/compiler/tikcpp") + options.append("-I" + tikcpp_path) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw")) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw", "impl")) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw", "interface")) + options.append("-I" + os.path.join(PYF_PATH, "..", "ascendc", "common")) + if impl_mode == "high_performance": + options.append("-DHIGH_PERFORMANCE=1") + elif impl_mode == "high_precision": + options.append("-DHIGH_PRECISION=1") + if get_default_build_config("enable_deterministic_mode") == 1: + options.append("-DDETEMINISTIC_MODE=1") + + custom_compile_options = {}, + custom_all_compile_options = {}, + soc_version = get_soc_spec("SOC_VERSION") + soc_short = get_soc_spec("SHORT_SOC_VERSION").lower() + custom_compile_options_soc = get_shortsoc_compile_option(custom_compile_options[0], soc_short) + custom_all_compile_options_soc = get_shortsoc_compile_option(custom_all_compile_options[0], soc_short) + options += custom_all_compile_options_soc + options += custom_compile_options_soc + + origin_func_name = "reduce_sum" + ascendc_src_dir_ex = "reduce_sum" + ascendc_src_dir = "reduce_sum" + ascendc_src_file = "reduce_sum.cpp" + src = get_kernel_source(ascendc_src_file, ascendc_src_dir, ascendc_src_dir_ex) + + print("start compile Ascend C operator ReduceSum. kernel name is " + kernel_name) + op_type = "ReduceSum" + code_channel = get_code_channel(src, kernel_name, op_type, options) + op_info = OpInfo(kernel_name = kernel_name, op_type = op_type, inputs = __inputs__, outputs = __outputs__,\ + attrs = __attrs__, impl_mode = impl_mode, origin_inputs=[x_in__, axis_in__], origin_outputs = [y_out_], param_type_dynamic = False,\ + mc2_ctx = None, param_type_list = ['required', 'required', 'required']) + compile_op(src, origin_func_name, op_info, options, code_channel, '{}') + +def op_select_format(x_in__, axis_in__, y_out_, keep_dims=False, ignore_nan=False, dtype="float", impl_mode=""): + __inputs__, __outputs__, __attrs__ = _build_args(x_in__, axis_in__, y_out_, keep_dims, ignore_nan, dtype) + result = check_op_cap("op_select_format", "ReduceSum", __inputs__, __outputs__, __attrs__) + return result.decode("utf-8") + +def get_op_specific_info(x_in__, axis_in__, y_out_, keep_dims=False, ignore_nan=False, dtype="float", impl_mode=""): + __inputs__, __outputs__, __attrs__ = _build_args(x_in__, axis_in__, y_out_, keep_dims, ignore_nan, dtype) + result = check_op_cap("get_op_specific_info", "ReduceSum", __inputs__, __outputs__, __attrs__) + return result.decode("utf-8") diff --git a/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/src/__pycache__/ReduceSum.cpython-39.pyc b/precision_Problem/No_standard/build_out/op_kernel/binary/ascend310b/src/__pycache__/ReduceSum.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dd9cc442d87eb1a4a0acfa336b346618beea7761 GIT binary patch literal 6521 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 xLocal = inQueueX.AllocTensor(); + LocalTensor yLocal = outQueueY.AllocTensor(); + DataCopy(xLocal, xGm, 32); + + // auto p1 = tmp1.Get(); + // auto p2 = tmp2.Get(); + // auto p3 = tmp3.Get(); + + // Cast(p1, xLocal, RoundMode::CAST_NONE, 32); + // Cast(p2, yLocal, RoundMode::CAST_NONE, 32); + + ReduceSum(yLocal, xLocal, yLocal[32], 32); + // Cast(yLocal, p2, RoundMode::CAST_TRUNC, 32); + yGm.SetValue(0, yLocal.GetValue(0)); + + inQueueX.FreeTensor(xLocal); + outQueueY.FreeTensor(yLocal); + + } + + + +private: + TPipe pipe; + TQue inQueueX; + + TQue outQueueY; + + TBuf tmp1, tmp2, tmp3; + + GlobalTensor xGm; + GlobalTensor yGm; + +}; + +extern "C" __global__ __aicore__ void reduce_sum(GM_ADDR x, GM_ADDR axes, GM_ADDR y, GM_ADDR workspace, GM_ADDR tiling) +{ + GET_TILING_DATA(tiling_data, tiling); + KernelAdd op; + op.Init(x, axes, y, tiling_data.size, + tiling_data.shape, tiling_data.axis_size, + tiling_data.dataType); + op.Act(); +} diff --git a/precision_Problem/No_standard/build_out/op_kernel/cmake_install.cmake b/precision_Problem/No_standard/build_out/op_kernel/cmake_install.cmake new file mode 100644 index 0000000..5a0cabd --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_kernel/cmake_install.cmake @@ -0,0 +1,108 @@ +# Install script for directory: /Package_Cann/test/No_standard/op_kernel + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/Package_Cann/test/No_standard/build_out") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/config/ascend310b" TYPE FILE FILES "/Package_Cann/test/No_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/ascend310b/aic-ascend310b-ops-info.json") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/customize_impl" TYPE DIRECTORY FILES "/Package_Cann/test/No_standard/build_out/op_kernel/tbe/dynamic") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b" TYPE DIRECTORY OPTIONAL FILES "/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/kernel/config/ascend310b" TYPE FILE OPTIONAL FILES "/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum.json") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/kernel/config/ascend310b" TYPE FILE OPTIONAL FILES "/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/bin/binary_info_config.json") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES + "/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum") + if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) + message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) + message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + file(INSTALL DESTINATION "/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b" TYPE DIRECTORY OPTIONAL FILES "/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES + "/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/config/ascend310b/binary_info_config.json") + if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) + message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) + message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + file(INSTALL DESTINATION "/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/config/ascend310b" TYPE FILE OPTIONAL FILES "/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/bin/binary_info_config.json") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES + "/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/config/ascend310b/reduce_sum.json") + if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) + message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) + message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") + endif() + file(INSTALL DESTINATION "/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/config/ascend310b" TYPE FILE OPTIONAL FILES "/Package_Cann/test/No_standard/build_out/op_kernel/binary/ascend310b/bin/reduce_sum.json") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow" TYPE FILE FILES "/Package_Cann/test/No_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/npu_supported_ops.json") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/op_impl/ai_core/tbe/customize_impl/dynamic" TYPE FILE FILES "/Package_Cann/test/No_standard/op_kernel/reduce_sum.cpp") +endif() + diff --git a/precision_Problem/No_standard/build_out/op_kernel/tbe/.impl_timestamp b/precision_Problem/No_standard/build_out/op_kernel/tbe/.impl_timestamp new file mode 100644 index 0000000..e69de29 diff --git a/precision_Problem/No_standard/build_out/op_kernel/tbe/dynamic/reduce_sum.py b/precision_Problem/No_standard/build_out/op_kernel/tbe/dynamic/reduce_sum.py new file mode 100644 index 0000000..5ce4bbb --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_kernel/tbe/dynamic/reduce_sum.py @@ -0,0 +1,205 @@ + +import os, sys +import ctypes +import json +import shutil +from tbe.common.platform import get_soc_spec +from tbe.common.utils import para_check +from tbe.tikcpp import compile_op, replay_op, check_op_cap, generalize_op_params, get_code_channel, OpInfo +from tbe.common.buildcfg import get_default_build_config +from impl.util.platform_adapter import tbe_register +from tbe.common.buildcfg import get_current_build_config +PYF_PATH = os.path.dirname(os.path.realpath(__file__)) + +DTYPE_MAP = {"float32": ["DT_FLOAT", "float"], + "float16": ["DT_FLOAT16", "half"], + "int8": ["DT_INT8", "int8_t"], + "int16": ["DT_INT16", "int16_t"], + "int32": ["DT_INT32", "int32_t"], + "int64": ["DT_INT64", "int64_t"], + "uint1": ["DT_UINT1", "uint8_t"], + "uint8": ["DT_UINT8", "uint8_t"], + "uint16": ["DT_UINT16", "uint16_t"], + "uint32": ["DT_UINT32", "uint32_t"], + "uint64": ["DT_UINT64", "uint64_t"], + "bool": ["DT_BOOL", "bool"], + "double": ["DT_DOUBLE", "double"], + "dual": ["DT_DUAL", "unknown"], + "dual_sub_int8": ["DT_DUAL_SUB_INT8", "unknown"], + "dual_sub_uint8": ["DT_DUAL_SUB_UINT8", "unknown"], + "string": ["DT_STRING", "unknown"], + "complex64": ["DT_COMPLEX64", "unknown"], + "complex128": ["DT_COMPLEX128", "unknown"], + "qint8": ["DT_QINT8", "unknown"], + "qint16": ["DT_QINT16", "unknown"], + "qint32": ["DT_QINT32", "unknown"], + "quint8": ["DT_QUINT8", "unknown"], + "quint16": ["DT_QUINT16", "unknown"], + "resource": ["DT_RESOURCE", "unknown"], + "string_ref": ["DT_STRING_REF", "unknown"], + "int4": ["DT_INT4", "int4b_t"], + "bfloat16": ["DT_BF16", "bfloat16_t"]} + +def add_dtype_fmt_option_single(x, x_n, is_ref: bool = False): + options = [] + x_fmt = x.get("format") + x_dtype = x.get("dtype") + x_n_in_kernel = x_n + '_REF' if is_ref else x_n + options.append("-DDTYPE_{n}={t}".format(n=x_n_in_kernel, t=DTYPE_MAP.get(x_dtype)[1])) + options.append("-DORIG_DTYPE_{n}={ot}".format(n=x_n_in_kernel, ot=DTYPE_MAP.get(x_dtype)[0])) + options.append("-DFORMAT_{n}=FORMAT_{f}".format(n=x_n_in_kernel, f=x_fmt)) + return options + +def get_dtype_fmt_options(__inputs__, __outputs__): + options = [] + input_names = ['x', 'axis'] + output_names = ['y'] + unique_param_name_set = set() + for idx, x in enumerate(__inputs__): + if x is None: + continue + x_n = input_names[idx].upper() + unique_param_name_set.add(x_n) + options += add_dtype_fmt_option_single(x, x_n) + + for idx, x in enumerate(__outputs__): + if x is None: + continue + x_n = output_names[idx].upper() + if x_n in unique_param_name_set: + options += add_dtype_fmt_option_single(x, x_n, True) + else: + options += add_dtype_fmt_option_single(x, x_n) + return options + +def load_dso(so_path): + try: + ctypes.CDLL(so_path) + except OSError as error : + print(error) + raise RuntimeError("cannot open %s" %(so_path)) + else: + print("load so succ ", so_path) + +def get_shortsoc_compile_option(compile_option_list: list, shortsoc:str): + compile_options = [] + if shortsoc in compile_option_list: + compile_options = compile_option_list[shortsoc] + elif '__ALLSOC__' in compile_option_list: + compile_options = compile_option_list['__ALLSOC__'] + return compile_options + +def get_kernel_source(src_file, dir_snake, dir_ex): + src_ex = os.path.join(PYF_PATH, "..", "ascendc", dir_ex, src_file) + if os.path.exists(src_ex): + return src_ex + src = os.path.join(PYF_PATH, "..", "ascendc", dir_snake, src_file) + if os.path.exists(src): + return src + src = os.path.join(PYF_PATH, src_file) + if os.path.exists(src): + return src + return src_ex + +def _build_args(x_in__, axis_in__, y_out_, keep_dims, ignore_nan, dtype): + __inputs__ = [] + for arg in [x_in__, axis_in__]: + if arg != None: + if isinstance(arg, (list, tuple)): + if len(arg) == 0: + continue + __inputs__.append(arg[0]) + else: + __inputs__.append(arg) + else: + __inputs__.append(arg) + __outputs__ = [] + for arg in [y_out_]: + if arg != None: + if isinstance(arg, (list, tuple)): + if len(arg) == 0: + continue + __outputs__.append(arg[0]) + else: + __outputs__.append(arg) + else: + __outputs__.append(arg) + __attrs__ = [] + if keep_dims != None: + attr = {} + attr["name"] = "keep_dims" + attr["dtype"] = "bool" + attr["value"] = keep_dims + __attrs__.append(attr) + if ignore_nan != None: + attr = {} + attr["name"] = "ignore_nan" + attr["dtype"] = "bool" + attr["value"] = ignore_nan + __attrs__.append(attr) + if dtype != None: + attr = {} + attr["name"] = "dtype" + attr["dtype"] = "str" + attr["value"] = dtype + __attrs__.append(attr) + return __inputs__, __outputs__, __attrs__ + +@tbe_register.register_operator("ReduceSum", trans_bool_to_s8=False) +@para_check.check_op_params(para_check.REQUIRED_INPUT, para_check.REQUIRED_INPUT, para_check.REQUIRED_OUTPUT, para_check.OPTION_ATTR_BOOL, para_check.OPTION_ATTR_BOOL, para_check.OPTION_ATTR_STR, para_check.KERNEL_NAME) +def reduce_sum(x_in__, axis_in__, y_out_, keep_dims=False, ignore_nan=False, dtype="float", kernel_name="reduce_sum", impl_mode=""): + if get_current_build_config("enable_op_prebuild"): + return + __inputs__, __outputs__, __attrs__ = _build_args(x_in__, axis_in__, y_out_, keep_dims, ignore_nan, dtype) + options = get_dtype_fmt_options(__inputs__, __outputs__) + options += ["-x", "cce"] + bisheng = shutil.which("bisheng") + if bisheng != None: + bisheng_path = os.path.dirname(bisheng) + tikcpp_path = os.path.realpath(os.path.join(bisheng_path, "..", "..", "tikcpp")) + else: + tikcpp_path = os.path.realpath("/usr/local/Ascend/latest/compiler/tikcpp") + options.append("-I" + tikcpp_path) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw")) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw", "impl")) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw", "interface")) + options.append("-I" + os.path.join(PYF_PATH, "..", "ascendc", "common")) + if impl_mode == "high_performance": + options.append("-DHIGH_PERFORMANCE=1") + elif impl_mode == "high_precision": + options.append("-DHIGH_PRECISION=1") + if get_default_build_config("enable_deterministic_mode") == 1: + options.append("-DDETEMINISTIC_MODE=1") + + custom_compile_options = {}, + custom_all_compile_options = {}, + soc_version = get_soc_spec("SOC_VERSION") + soc_short = get_soc_spec("SHORT_SOC_VERSION").lower() + custom_compile_options_soc = get_shortsoc_compile_option(custom_compile_options[0], soc_short) + custom_all_compile_options_soc = get_shortsoc_compile_option(custom_all_compile_options[0], soc_short) + options += custom_all_compile_options_soc + options += custom_compile_options_soc + + origin_func_name = "reduce_sum" + ascendc_src_dir_ex = "reduce_sum" + ascendc_src_dir = "reduce_sum" + ascendc_src_file = "reduce_sum.cpp" + src = get_kernel_source(ascendc_src_file, ascendc_src_dir, ascendc_src_dir_ex) + + print("start compile Ascend C operator ReduceSum. kernel name is " + kernel_name) + op_type = "ReduceSum" + code_channel = get_code_channel(src, kernel_name, op_type, options) + op_info = OpInfo(kernel_name = kernel_name, op_type = op_type, inputs = __inputs__, outputs = __outputs__,\ + attrs = __attrs__, impl_mode = impl_mode, origin_inputs=[x_in__, axis_in__], origin_outputs = [y_out_], param_type_dynamic = False,\ + mc2_ctx = None, param_type_list = ['required', 'required', 'required']) + compile_op(src, origin_func_name, op_info, options, code_channel, '{}') + +def op_select_format(x_in__, axis_in__, y_out_, keep_dims=False, ignore_nan=False, dtype="float", impl_mode=""): + __inputs__, __outputs__, __attrs__ = _build_args(x_in__, axis_in__, y_out_, keep_dims, ignore_nan, dtype) + result = check_op_cap("op_select_format", "ReduceSum", __inputs__, __outputs__, __attrs__) + return result.decode("utf-8") + +def get_op_specific_info(x_in__, axis_in__, y_out_, keep_dims=False, ignore_nan=False, dtype="float", impl_mode=""): + __inputs__, __outputs__, __attrs__ = _build_args(x_in__, axis_in__, y_out_, keep_dims, ignore_nan, dtype) + result = check_op_cap("get_op_specific_info", "ReduceSum", __inputs__, __outputs__, __attrs__) + return result.decode("utf-8") diff --git a/precision_Problem/No_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/ascend310b/aic-ascend310b-ops-info.json b/precision_Problem/No_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/ascend310b/aic-ascend310b-ops-info.json new file mode 100644 index 0000000..19cd398 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/ascend310b/aic-ascend310b-ops-info.json @@ -0,0 +1,73 @@ +{ + "ReduceSum":{ + "attr":{ + "list":"keep_dims,ignore_nan,dtype" + }, + "attr_dtype":{ + "defaultValue":"float", + "paramType":"optional", + "type":"str", + "value":"all" + }, + "attr_ignore_nan":{ + "defaultValue":"false", + "paramType":"optional", + "type":"bool", + "value":"all" + }, + "attr_keep_dims":{ + "defaultValue":"false", + "paramType":"optional", + "type":"bool", + "value":"all" + }, + "dynamicCompileStatic":{ + "flag":"true" + }, + "dynamicFormat":{ + "flag":"true" + }, + "dynamicRankSupport":{ + "flag":"true" + }, + "dynamicShapeSupport":{ + "flag":"true" + }, + "input0":{ + "dtype":"float32,float16,int32,int8", + "format":"ND,ND,ND,ND", + "name":"x", + "paramType":"required", + "shape":"all", + "unknownshape_format":"ND,ND,ND,ND" + }, + "input1":{ + "dtype":"int32,int32,int32,int32", + "format":"ND,ND,ND,ND", + "name":"axis", + "paramType":"required", + "shape":"all", + "unknownshape_format":"ND,ND,ND,ND" + }, + "needCheckSupport":{ + "flag":"false" + }, + "opFile":{ + "value":"reduce_sum" + }, + "opInterface":{ + "value":"reduce_sum" + }, + "output0":{ + "dtype":"float32,float16,int32,int8", + "format":"ND,ND,ND,ND", + "name":"y", + "paramType":"required", + "shape":"all", + "unknownshape_format":"ND,ND,ND,ND" + }, + "precision_reduce":{ + "flag":"true" + } + } +} \ No newline at end of file diff --git a/precision_Problem/No_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/npu_supported_ops.json b/precision_Problem/No_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/npu_supported_ops.json new file mode 100644 index 0000000..716e4bb --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_kernel/tbe/op_info_cfg/ai_core/npu_supported_ops.json @@ -0,0 +1,6 @@ +{ + "ReduceSum": { + "isGray": false, + "isHeavy": false + } +} diff --git a/precision_Problem/No_standard/build_out/scripts/help.info b/precision_Problem/No_standard/build_out/scripts/help.info new file mode 100644 index 0000000..f4b28d5 --- /dev/null +++ b/precision_Problem/No_standard/build_out/scripts/help.info @@ -0,0 +1 @@ + --install-path Install operator package to specific dir path \ No newline at end of file diff --git a/precision_Problem/No_standard/build_out/scripts/install.sh b/precision_Problem/No_standard/build_out/scripts/install.sh new file mode 100644 index 0000000..8468c5a --- /dev/null +++ b/precision_Problem/No_standard/build_out/scripts/install.sh @@ -0,0 +1,318 @@ +#!/bin/bash +vendor_name=customize +targetdir=/usr/local/Ascend/opp +target_custom=0 + +sourcedir=$PWD/packages +vendordir=vendors/$vendor_name + +QUIET="y" + +while true +do + case $1 in + --quiet) + QUIET="y" + shift + ;; + --install-path=*) + INSTALL_PATH=$(echo $1 | cut -d"=" -f2-) + INSTALL_PATH=${INSTALL_PATH%*/} + shift + ;; + --*) + shift + ;; + *) + break + ;; + esac +done + +log() { + cur_date=`date +"%Y-%m-%d %H:%M:%S"` + echo "[runtime] [$cur_date] "$1 +} + +if [ -n "${INSTALL_PATH}" ]; then + if [[ ! "${INSTALL_PATH}" = /* ]]; then + log "[ERROR] use absolute path for --install-path argument" + exit 1 + fi + if [ ! -d ${INSTALL_PATH} ]; then + mkdir ${INSTALL_PATH} >> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${INSTALL_PATH} failed" + exit 1 + fi + fi + targetdir=${INSTALL_PATH} +elif [ -n "${ASCEND_CUSTOM_OPP_PATH}" ]; then + if [ ! -d ${ASCEND_CUSTOM_OPP_PATH} ]; then + mkdir -p ${ASCEND_CUSTOM_OPP_PATH} >> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${ASCEND_CUSTOM_OPP_PATH} failed" + fi + fi + targetdir=${ASCEND_CUSTOM_OPP_PATH} +else + if [ "x${ASCEND_OPP_PATH}" == "x" ]; then + log "[ERROR] env ASCEND_OPP_PATH no exist" + exit 1 + fi + targetdir="${ASCEND_OPP_PATH}" +fi + +if [ ! -d $targetdir ];then + log "[ERROR] $targetdir no exist" + exit 1 +fi + +upgrade() +{ + if [ ! -d ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 files" + return 0 + fi + + if [ ! -d ${targetdir}/$vendordir/$1 ];then + log "[INFO] create ${targetdir}/$vendordir/$1." + mkdir -p ${targetdir}/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/$vendordir/$1 failed" + return 1 + fi + else + has_same_file=-1 + for file_a in ${sourcedir}/$vendordir/$1/*; do + file_b=${file_a##*/}; + if [ "ls ${targetdir}/$vendordir/$1" = "" ]; then + log "[INFO] ${targetdir}/$vendordir/$1 is empty !!" + return 1 + fi + grep -q $file_b <<<`ls ${targetdir}/$vendordir/$1`; + if [[ $? -eq 0 ]]; then + echo -n "${file_b} " + has_same_file=0 + fi + done + if [ 0 -eq $has_same_file ]; then + if test $QUIET = "n"; then + echo "[INFO]: has old version in ${targetdir}/$vendordir/$1, \ + you want to Overlay Installation , please enter:[o]; \ + or replace directory installation , please enter: [r]; \ + or not install , please enter:[n]." + + while true + do + read orn + if [ "$orn" = n ]; then + return 0 + elif [ "$orn" = m ]; then + break; + elif [ "$0rn" = r ]; then + [ -n "${targetdir}/$vendordir/$1/" ] && rm -rf "${targetdir}/$vendordir/$1"/* + break; + else + echo "[ERROR] input error, please input again!" + fi + done + fi + fi + log "[INFO] replace or merge old ops $1 files .g....." + fi + + log "copy new ops $1 files ......" + if [ -d ${targetdir}/$vendordir/$1/ ]; then + chmod -R +w "$targetdir/$vendordir/$1/" >/dev/null 2>&1 + fi + cp -rf ${sourcedir}/$vendordir/$1/* $targetdir/$vendordir/$1/ + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 files failed" + return 1 + fi + + return 0 +} +upgrade_proto() +{ + if [ ! -f ${sourcedir}/$vendordir/custom.proto ]; then + log "[INFO] no need to upgrade custom.proto files" + return 0 + fi + if [ ! -d ${targetdir}/$vendordir/framework/caffe ];then + log "[INFO] create ${targetdir}/$vendordir/framework/caffe." + mkdir -p ${targetdir}/$vendordir/framework/caffe + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/$vendordir/framework/caffe failed" + return 1 + fi + else + if [ -f ${targetdir}/$vendordir/framework/caffe/custom.proto ]; then + # 有老版本,判断是否要覆盖式安装 + if test $QUIET = "n"; then + echo "[INFO] ${targetdir}/$vendordir/framework/caffe has old version"\ + "custom.proto file. Do you want to replace? [y/n] " + + while true + do + read yn + if [ "$yn" = n ]; then + return 0 + elif [ "$yn" = y ]; then + break; + else + echo "[ERROR] input error, please input again!" + fi + done + fi + fi + log "[INFO] replace old caffe.proto files ......" + fi + chmod -R +w "$targetdir/$vendordir/framework/caffe/" >/dev/null 2>&1 + cp -rf ${sourcedir}/$vendordir/custom.proto ${targetdir}/$vendordir/framework/caffe/ + if [ $? -ne 0 ];then + log "[ERROR] copy new custom.proto failed" + return 1 + fi + log "[INFO] copy custom.proto success" + + return 0 +} + +upgrade_file() +{ + if [ ! -e ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 file" + return 0 + fi + + log "copy new $1 files ......" + cp -f ${sourcedir}/$vendordir/$1 $targetdir/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 file failed" + return 1 + fi + + return 0 +} + +delete_optiling_file() +{ + if [ ! -d ${targetdir}/vendors ];then + log "[INFO] $1 not exist, no need to uninstall" + return 0 + fi + sys_info=$(uname -m) + if [ ! -d ${sourcedir}/$vendordir/$1/ai_core/tbe/op_tiling/lib/linux/${sys_info} ];then + rm -rf ${sourcedir}/$vendordir/$1/ai_core/tbe/op_tiling/liboptiling.so + fi + return 0 +} + +log "[INFO] copy uninstall sh success" + +if [ ! -d ${targetdir}/vendors ];then + log "[INFO] create ${targetdir}/vendors." + mkdir -p ${targetdir}/vendors + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/vendors failed" + return 1 + fi +fi +chmod u+w ${targetdir}/vendors + +echo "[ops_custom]upgrade framework" +upgrade framework +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op proto" +upgrade op_proto +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade version.info" +upgrade_file version.info +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op impl" +delete_optiling_file op_impl +upgrade op_impl +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op api" +upgrade op_api +if [ $? -ne 0 ];then + exit 1 +fi + +upgrade_proto +if [ $? -ne 0 ];then + exit 1 +fi + +# set the set_env.bash +if [ -n "${INSTALL_PATH}" ] && [ -d ${INSTALL_PATH} ]; then + _ASCEND_CUSTOM_OPP_PATH=${targetdir}/${vendordir} + bin_path="${_ASCEND_CUSTOM_OPP_PATH}/bin" + set_env_variable="#!/bin/bash\nexport ASCEND_CUSTOM_OPP_PATH=${_ASCEND_CUSTOM_OPP_PATH}:\${ASCEND_CUSTOM_OPP_PATH}" + if [ ! -d ${bin_path} ]; then + mkdir -p ${bin_path} >> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${bin_path} failed" + exit 1 + fi + fi + echo -e ${set_env_variable} > ${bin_path}/set_env.bash + if [ $? -ne 0 ]; then + log "[ERROR] write ASCEND_CUSTOM_OPP_PATH to set_env.bash failed" + exit 1 + else + log "[INFO] using requirements: when custom module install finished or before you run the custom module, \ + execute the command [ source ${bin_path}/set_env.bash ] to set the environment path" + fi +else + config_file=${targetdir}/vendors/config.ini + if [ ! -f ${config_file} ]; then + touch ${config_file} + chmod 640 ${config_file} + echo "load_priority=$vendor_name" > ${config_file} + if [ $? -ne 0 ];then + echo "echo load_priority failed" + exit 1 + fi + else + found_vendors="$(grep -w "load_priority" "$config_file" | cut --only-delimited -d"=" -f2-)" + found_vendor=$(echo $found_vendors | sed "s/$vendor_name//g" | tr ',' ' ') + vendor=$(echo $found_vendor | tr -s ' ' ',') + if [ "$vendor" != "" ]; then + sed -i "/load_priority=$found_vendors/s@load_priority=$found_vendors@load_priority=$vendor_name,$vendor@g" "$config_file" + fi + fi +fi + +chmod u-w ${targetdir}/vendors + +if [ -d ${targetdir}/$vendordir/op_impl/cpu/aicpu_kernel/impl/ ]; then + chmod -R 440 ${targetdir}/$vendordir/op_impl/cpu/aicpu_kernel/impl/* >/dev/null 2>&1 +fi +if [ -f ${targetdir}/ascend_install.info ]; then + chmod -R 440 ${targetdir}/ascend_install.info +fi +if [ -f ${targetdir}/scene.info ]; then + chmod -R 440 ${targetdir}/scene.info +fi +if [ -f ${targetdir}/version.info ]; then + chmod -R 440 ${targetdir}/version.info +fi + +echo "SUCCESS" +exit 0 + diff --git a/precision_Problem/No_standard/build_out/scripts/upgrade.sh b/precision_Problem/No_standard/build_out/scripts/upgrade.sh new file mode 100644 index 0000000..e091734 --- /dev/null +++ b/precision_Problem/No_standard/build_out/scripts/upgrade.sh @@ -0,0 +1,151 @@ +#!/bin/bash +vendor_name=customize +targetdir=/usr/local/Ascend/opp +target_custom=0 + +sourcedir=$PWD/packages +vendordir=vendors/$vendor_name + +log() { + cur_date=`date +"%Y-%m-%d %H:%M:%S"` + echo "[runtime] [$cur_date] "$1 +} + +if [[ "x${ASCEND_OPP_PATH}" == "x" ]];then + log "[ERROR] env ASCEND_OPP_PATH no exist" + exit 1 +fi + +targetdir=${ASCEND_OPP_PATH} + +if [ ! -d $targetdir ];then + log "[ERROR] $targetdir no exist" + exit 1 +fi + +upgrade() +{ + if [ ! -d ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 files" + return 0 + fi + + if [ ! -d ${targetdir}/$vendordir/$1 ];then + log "[INFO] create ${targetdir}/$vendordir/$1." + mkdir -p ${targetdir}/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/$vendordir/$1 failed" + return 1 + fi + else + vendor_installed_dir=$(ls "$targetdir/vendors" 2> /dev/null) + for i in $vendor_installed_dir;do + vendor_installed_file=$(ls "$vendor_installed_dir/$vendor_name/$i" 2> /dev/null) + if [ "$i" = "$vendor_name" ] && [ "$vendor_installed_file" != "" ]; then + echo "[INFO]: $vendor_name custom opp package has been installed on the path $vendor_installed_dir, \ + you want to Overlay Installation , please enter:[o]; \ + or replace directory installation , please enter: [r]; \ + or not install , please enter:[n]." + fi + while true + do + read mrn + if [ "$mrn" = m ]; then + break + elif [ "$mrn" = r ]; then + [ -n "$vendor_installed_file"] && rm -rf "$vendor_installed_file" + break + elif [ "$mrn" = n ]; then + return 0 + else + echo "[WARNING]: Input error, please input m or r or n to choose!" + fi + done + done + log "[INFO] replace old ops $1 files ......" + fi + + log "copy new ops $1 files ......" + cp -rf ${sourcedir}/$vendordir/$1/* $targetdir/$vendordir/$1/ + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 files failed" + return 1 + fi + + return 0 +} + +upgrade_file() +{ + if [ ! -e ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 file" + return 0 + fi + + log "copy new $1 files ......" + cp -f ${sourcedir}/$vendordir/$1 $targetdir/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 file failed" + return 1 + fi + + return 0 +} + +log "[INFO] copy uninstall sh success" + +echo "[ops_custom]upgrade framework" +upgrade framework +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op proto" +upgrade op_proto +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op impl" +upgrade op_impl +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op api" +upgrade op_api +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade version.info" +upgrade_file version.info +if [ $? -ne 0 ];then + exit 1 +fi + +config_file=${targetdir}/vendors/config.ini +found_vendors="$(grep -w "load_priority" "$config_file" | cut --only-delimited -d"=" -f2-)" +found_vendor=$(echo $found_vendors | sed "s/$vendor_name//g" | tr ',' ' ') +vendor=$(echo $found_vendor | tr -s ' ' ',') +if [ "$vendor" != "" ]; then + sed -i "/load_priority=$found_vendors/s@load_priority=$found_vendors@load_priority=$vendor_name,$vendor@g" "$config_file" +fi + +changemode() +{ + if [ -d ${targetdir} ];then + chmod -R 550 ${targetdir}>/dev/null 2>&1 + fi + + return 0 +} +echo "[ops_custom]changemode..." +#changemode +if [ $? -ne 0 ];then + exit 1 +fi + +echo "SUCCESS" +exit 0 + diff --git a/precision_Problem/No_standard/build_out/version.info b/precision_Problem/No_standard/build_out/version.info new file mode 100644 index 0000000..0ec7257 --- /dev/null +++ b/precision_Problem/No_standard/build_out/version.info @@ -0,0 +1 @@ +custom_opp_compiler_version=7.3.T10.0.B528 diff --git a/precision_Problem/No_standard/cmake/config.cmake b/precision_Problem/No_standard/cmake/config.cmake new file mode 100644 index 0000000..886119d --- /dev/null +++ b/precision_Problem/No_standard/cmake/config.cmake @@ -0,0 +1,25 @@ + +set(CMAKE_CXX_FLAGS_DEBUG "") +set(CMAKE_CXX_FLAGS_RELEASE "") + +if (NOT DEFINED vendor_name) + set(vendor_name customize CACHE STRING "") +endif() +if (NOT DEFINED ASCEND_CANN_PACKAGE_PATH) + set(ASCEND_CANN_PACKAGE_PATH /usr/local/Ascend/latest CACHE PATH "") +endif() +if (NOT DEFINED ASCEND_PYTHON_EXECUTABLE) + set(ASCEND_PYTHON_EXECUTABLE python3 CACHE STRING "") +endif() +if (NOT DEFINED ASCEND_COMPUTE_UNIT) + message(FATAL_ERROR "ASCEND_COMPUTE_UNIT not set in CMakePreset.json ! +") +endif() +set(ASCEND_TENSOR_COMPILER_PATH ${ASCEND_CANN_PACKAGE_PATH}/compiler) +set(ASCEND_CCEC_COMPILER_PATH ${ASCEND_TENSOR_COMPILER_PATH}/ccec_compiler/bin) +set(ASCEND_AUTOGEN_PATH ${CMAKE_BINARY_DIR}/autogen) +set(ASCEND_FRAMEWORK_TYPE tensorflow) +file(MAKE_DIRECTORY ${ASCEND_AUTOGEN_PATH}) +set(CUSTOM_COMPILE_OPTIONS "custom_compile_options.ini") +execute_process(COMMAND rm -rf ${ASCEND_AUTOGEN_PATH}/${CUSTOM_COMPILE_OPTIONS} + COMMAND touch ${ASCEND_AUTOGEN_PATH}/${CUSTOM_COMPILE_OPTIONS}) diff --git a/precision_Problem/No_standard/cmake/func.cmake b/precision_Problem/No_standard/cmake/func.cmake new file mode 100644 index 0000000..4179dfd --- /dev/null +++ b/precision_Problem/No_standard/cmake/func.cmake @@ -0,0 +1,192 @@ + +function(get_system_info SYSTEM_INFO) + if (UNIX) + execute_process(COMMAND grep -i ^id= /etc/os-release OUTPUT_VARIABLE TEMP) + string(REGEX REPLACE "\n|id=|ID=|\"" "" SYSTEM_NAME ${TEMP}) + set(${SYSTEM_INFO} ${SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR} PARENT_SCOPE) + elseif (WIN32) + message(STATUS "System is Windows. Only for pre-build.") + else () + message(FATAL_ERROR "${CMAKE_SYSTEM_NAME} not support.") + endif () +endfunction() + +function(opbuild) + message(STATUS "Opbuild generating sources") + cmake_parse_arguments(OPBUILD "" "OUT_DIR;PROJECT_NAME;ACCESS_PREFIX" "OPS_SRC" ${ARGN}) + execute_process(COMMAND ${CMAKE_COMPILE} -g -fPIC -shared -std=c++11 ${OPBUILD_OPS_SRC} -D_GLIBCXX_USE_CXX11_ABI=0 + -I ${ASCEND_CANN_PACKAGE_PATH}/include -L ${ASCEND_CANN_PACKAGE_PATH}/lib64 -lexe_graph -lregister -ltiling_api + -o ${OPBUILD_OUT_DIR}/libascend_all_ops.so + RESULT_VARIABLE EXEC_RESULT + OUTPUT_VARIABLE EXEC_INFO + ERROR_VARIABLE EXEC_ERROR + ) + if (${EXEC_RESULT}) + message("build ops lib info: ${EXEC_INFO}") + message("build ops lib error: ${EXEC_ERROR}") + message(FATAL_ERROR "opbuild run failed!") + endif() + set(proj_env "") + set(prefix_env "") + if (NOT "${OPBUILD_PROJECT_NAME}x" STREQUAL "x") + set(proj_env "OPS_PROJECT_NAME=${OPBUILD_PROJECT_NAME}") + endif() + if (NOT "${OPBUILD_ACCESS_PREFIX}x" STREQUAL "x") + set(prefix_env "OPS_DIRECT_ACCESS_PREFIX=${OPBUILD_ACCESS_PREFIX}") + endif() + execute_process(COMMAND ${proj_env} ${prefix_env} ${ASCEND_CANN_PACKAGE_PATH}/toolkit/tools/opbuild/op_build + ${OPBUILD_OUT_DIR}/libascend_all_ops.so ${OPBUILD_OUT_DIR} + RESULT_VARIABLE EXEC_RESULT + OUTPUT_VARIABLE EXEC_INFO + ERROR_VARIABLE EXEC_ERROR + ) + if (${EXEC_RESULT}) + message("opbuild ops info: ${EXEC_INFO}") + message("opbuild ops error: ${EXEC_ERROR}") + endif() + message(STATUS "Opbuild generating sources - done") +endfunction() + +function(add_ops_info_target) + cmake_parse_arguments(OPINFO "" "TARGET;OPS_INFO;OUTPUT;INSTALL_DIR" "" ${ARGN}) + get_filename_component(opinfo_file_path "${OPINFO_OUTPUT}" DIRECTORY) + add_custom_command(OUTPUT ${OPINFO_OUTPUT} + COMMAND mkdir -p ${opinfo_file_path} + COMMAND ${ASCEND_PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/cmake/util/parse_ini_to_json.py + ${OPINFO_OPS_INFO} ${OPINFO_OUTPUT} + ) + add_custom_target(${OPINFO_TARGET} ALL + DEPENDS ${OPINFO_OUTPUT} + ) + install(FILES ${OPINFO_OUTPUT} + DESTINATION ${OPINFO_INSTALL_DIR} + ) +endfunction() + +function(add_ops_compile_options OP_TYPE) + cmake_parse_arguments(OP_COMPILE "" "OP_TYPE" "COMPUTE_UNIT;OPTIONS" ${ARGN}) + file(APPEND ${ASCEND_AUTOGEN_PATH}/${CUSTOM_COMPILE_OPTIONS} + "${OP_TYPE},${OP_COMPILE_COMPUTE_UNIT},${OP_COMPILE_OPTIONS}\n") +endfunction() + +function(add_ops_impl_target) + cmake_parse_arguments(OPIMPL "" "TARGET;OPS_INFO;IMPL_DIR;OUT_DIR;INSTALL_DIR" "OPS_BATCH;OPS_ITERATE" ${ARGN}) + add_custom_command(OUTPUT ${OPIMPL_OUT_DIR}/.impl_timestamp + COMMAND mkdir -m 700 -p ${OPIMPL_OUT_DIR}/dynamic + COMMAND ${ASCEND_PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/cmake/util/ascendc_impl_build.py + ${OPIMPL_OPS_INFO} + \"${OPIMPL_OPS_BATCH}\" \"${OPIMPL_OPS_ITERATE}\" + ${OPIMPL_IMPL_DIR} + ${OPIMPL_OUT_DIR}/dynamic + ${ASCEND_AUTOGEN_PATH} + + COMMAND rm -rf ${OPIMPL_OUT_DIR}/.impl_timestamp + COMMAND touch ${OPIMPL_OUT_DIR}/.impl_timestamp + DEPENDS ${OPIMPL_OPS_INFO} + ${CMAKE_SOURCE_DIR}/cmake/util/ascendc_impl_build.py + ) + add_custom_target(${OPIMPL_TARGET} ALL + DEPENDS ${OPIMPL_OUT_DIR}/.impl_timestamp) + if (${ENABLE_SOURCE_PACKAGE}) + install(DIRECTORY ${OPIMPL_OUT_DIR}/dynamic + DESTINATION ${OPIMPL_INSTALL_DIR} + ) + endif() +endfunction() + +function(add_npu_support_target) + cmake_parse_arguments(NPUSUP "" "TARGET;OPS_INFO_DIR;OUT_DIR;INSTALL_DIR" "" ${ARGN}) + get_filename_component(npu_sup_file_path "${NPUSUP_OUT_DIR}" DIRECTORY) + add_custom_command(OUTPUT ${NPUSUP_OUT_DIR}/npu_supported_ops.json + COMMAND mkdir -p ${NPUSUP_OUT_DIR} + COMMAND ${CMAKE_SOURCE_DIR}/cmake/util/gen_ops_filter.sh + ${NPUSUP_OPS_INFO_DIR} + ${NPUSUP_OUT_DIR} + ) + add_custom_target(npu_supported_ops ALL + DEPENDS ${NPUSUP_OUT_DIR}/npu_supported_ops.json + ) + install(FILES ${NPUSUP_OUT_DIR}/npu_supported_ops.json + DESTINATION ${NPUSUP_INSTALL_DIR} + ) +endfunction() + +function(add_bin_compile_target) + cmake_parse_arguments(BINCMP "" "TARGET;OPS_INFO;COMPUTE_UNIT;IMPL_DIR;ADP_DIR;OUT_DIR;INSTALL_DIR" "" ${ARGN}) + file(MAKE_DIRECTORY ${BINCMP_OUT_DIR}/src) + file(MAKE_DIRECTORY ${BINCMP_OUT_DIR}/bin) + file(MAKE_DIRECTORY ${BINCMP_OUT_DIR}/gen) + execute_process(COMMAND ${ASCEND_PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/cmake/util/ascendc_bin_param_build.py + ${BINCMP_OPS_INFO} ${BINCMP_OUT_DIR}/gen ${BINCMP_COMPUTE_UNIT} + RESULT_VARIABLE EXEC_RESULT + OUTPUT_VARIABLE EXEC_INFO + ERROR_VARIABLE EXEC_ERROR + ) + if (${EXEC_RESULT}) + message("ops binary compile scripts gen info: ${EXEC_INFO}") + message("ops binary compile scripts gen error: ${EXEC_ERROR}") + message(FATAL_ERROR "ops binary compile scripts gen failed!") + endif() + if (NOT TARGET binary) + add_custom_target(binary) + endif() + add_custom_target(${BINCMP_TARGET} + COMMAND cp -r ${BINCMP_IMPL_DIR}/*.* ${BINCMP_OUT_DIR}/src + ) + add_custom_target(${BINCMP_TARGET}_gen_ops_config + COMMAND ${ASCEND_PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/cmake/util/insert_simplified_keys.py -p ${BINCMP_OUT_DIR}/bin + COMMAND ${ASCEND_PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/cmake/util/ascendc_ops_config.py -p ${BINCMP_OUT_DIR}/bin + -s ${BINCMP_COMPUTE_UNIT} + ) + add_dependencies(binary ${BINCMP_TARGET}_gen_ops_config) + file(GLOB bin_scripts ${BINCMP_OUT_DIR}/gen/*.sh) + foreach(bin_script ${bin_scripts}) + get_filename_component(bin_file ${bin_script} NAME_WE) + string(REPLACE "-" ";" bin_sep ${bin_file}) + list(GET bin_sep 0 op_type) + list(GET bin_sep 1 op_file) + list(GET bin_sep 2 op_index) + if (NOT TARGET ${BINCMP_TARGET}_${op_file}_copy) + file(MAKE_DIRECTORY ${BINCMP_OUT_DIR}/bin/${op_file}) + add_custom_target(${BINCMP_TARGET}_${op_file}_copy + COMMAND cp ${BINCMP_ADP_DIR}/${op_file}.py ${BINCMP_OUT_DIR}/src/${op_type}.py + ) + install(DIRECTORY ${BINCMP_OUT_DIR}/bin/${op_file} + DESTINATION ${BINCMP_INSTALL_DIR}/${BINCMP_COMPUTE_UNIT} OPTIONAL + ) + install(FILES ${BINCMP_OUT_DIR}/bin/${op_file}.json + DESTINATION ${BINCMP_INSTALL_DIR}/config/${BINCMP_COMPUTE_UNIT}/ OPTIONAL + ) + endif() + add_custom_target(${BINCMP_TARGET}_${op_file}_${op_index} + COMMAND export HI_PYTHON=${ASCEND_PYTHON_EXECUTABLE} && bash ${bin_script} ${BINCMP_OUT_DIR}/src/${op_type}.py ${BINCMP_OUT_DIR}/bin/${op_file} && echo $(MAKE) + WORKING_DIRECTORY ${BINCMP_OUT_DIR} + ) + add_dependencies(${BINCMP_TARGET}_${op_file}_${op_index} ${BINCMP_TARGET} ${BINCMP_TARGET}_${op_file}_copy) + add_dependencies(${BINCMP_TARGET}_gen_ops_config ${BINCMP_TARGET}_${op_file}_${op_index}) + endforeach() + install(FILES ${BINCMP_OUT_DIR}/bin/binary_info_config.json + DESTINATION ${BINCMP_INSTALL_DIR}/config/${BINCMP_COMPUTE_UNIT} OPTIONAL + ) + + install(DIRECTORY ${BINCMP_OUT_DIR}/bin/${op_file} + DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/../build_out/kernel/${BINCMP_COMPUTE_UNIT} OPTIONAL + ) + install(FILES ${BINCMP_OUT_DIR}/bin/binary_info_config.json + DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/../build_out/kernel/config/${BINCMP_COMPUTE_UNIT} OPTIONAL + ) + install(FILES ${BINCMP_OUT_DIR}/bin/${op_file}.json + DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/../build_out/kernel/config/${BINCMP_COMPUTE_UNIT} OPTIONAL + ) + +endfunction() + +function(add_cross_compile_target) + cmake_parse_arguments(CROSSMP "" "TARGET;OUT_DIR;INSTALL_DIR" "" ${ARGN}) + add_custom_target(${CROSSMP_TARGET} ALL + DEPENDS ${CROSSMP_OUT_DIR} + ) + install(DIRECTORY ${CROSSMP_OUT_DIR} + DESTINATION ${CROSSMP_INSTALL_DIR} + ) +endfunction() diff --git a/precision_Problem/No_standard/cmake/intf.cmake b/precision_Problem/No_standard/cmake/intf.cmake new file mode 100644 index 0000000..2f362c3 --- /dev/null +++ b/precision_Problem/No_standard/cmake/intf.cmake @@ -0,0 +1,26 @@ + +add_library(intf_pub INTERFACE) +target_compile_options(intf_pub INTERFACE + -fPIC + -fvisibility=hidden + -fvisibility-inlines-hidden + $<$:-O2> + $<$:-O0 -g> + $<$:-std=c++11> + $<$,$>:-ftrapv -fstack-check> + $<$:-pthread -Wfloat-equal -Wshadow -Wformat=2 -Wno-deprecated -Wextra> + $,-fstack-protector-strong,-fstack-protector-all> +) +target_compile_definitions(intf_pub INTERFACE + _GLIBCXX_USE_CXX11_ABI=0 + $<$:_FORTIFY_SOURCE=2> +) +target_include_directories(intf_pub INTERFACE ${ASCEND_CANN_PACKAGE_PATH}/include) +target_link_options(intf_pub INTERFACE + $<$,EXECUTABLE>:-pie> + $<$:-s> + -Wl,-z,relro + -Wl,-z,now + -Wl,-z,noexecstack +) +target_link_directories(intf_pub INTERFACE ${ASCEND_CANN_PACKAGE_PATH}/lib64) diff --git a/precision_Problem/No_standard/cmake/makeself.cmake b/precision_Problem/No_standard/cmake/makeself.cmake new file mode 100644 index 0000000..48c565b --- /dev/null +++ b/precision_Problem/No_standard/cmake/makeself.cmake @@ -0,0 +1,17 @@ +execute_process(COMMAND chmod +x ${CMAKE_CURRENT_LIST_DIR}/util/makeself/makeself.sh) +execute_process(COMMAND ${CMAKE_CURRENT_LIST_DIR}/util/makeself/makeself.sh + --header ${CMAKE_CURRENT_LIST_DIR}/util/makeself/makeself-header.sh + --help-header ./help.info + --gzip --complevel 4 --nomd5 --sha256 + ./ ${CPACK_PACKAGE_FILE_NAME} "version:1.0" ./install.sh + WORKING_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY} + RESULT_VARIABLE EXEC_RESULT + ERROR_VARIABLE EXEC_ERROR +) +if (NOT "${EXEC_RESULT}x" STREQUAL "0x") + message(FATAL_ERROR "CPack Command error: ${EXEC_RESULT}\n${EXEC_ERROR}") +endif() +execute_process(COMMAND cp ${CPACK_EXTERNAL_BUILT_PACKAGES} ${CPACK_PACKAGE_DIRECTORY}/ + COMMAND echo "Copy ${CPACK_EXTERNAL_BUILT_PACKAGES} to ${CPACK_PACKAGE_DIRECTORY}/" + WORKING_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY} +) diff --git a/precision_Problem/No_standard/cmake/util/__init__.py b/precision_Problem/No_standard/cmake/util/__init__.py new file mode 100644 index 0000000..c4ddc89 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/__init__.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import sys +import os + +PYF_PATH = os.path.dirname(os.path.realpath(__file__)) +sys.path.append(PYF_PATH) diff --git a/precision_Problem/No_standard/cmake/util/__pycache__/__init__.cpython-39.pyc b/precision_Problem/No_standard/cmake/util/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1d4a3baeca0155418546acf1c217c6c07a4bfa41 GIT binary patch literal 292 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 U4v+mr`|!k|JO+}n&>$lEKTvn`SO5S3 literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/cmake/util/__pycache__/ascendc_ops_config.cpython-39.pyc b/precision_Problem/No_standard/cmake/util/__pycache__/ascendc_ops_config.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..afad532e09d048e309b167165e0effa8f9cf9982 GIT binary patch literal 3564 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 Fe*@6RtZV=P literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/cmake/util/__pycache__/code_channel_infer.cpython-39.pyc b/precision_Problem/No_standard/cmake/util/__pycache__/code_channel_infer.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5497fa13a5a851c068de4b053bb32c6220f50f57 GIT binary patch literal 1533 zcmah}O>ZML7@kR{lXTK#s}&b6$Tt$H&9q&LAVP@l&=o6{4?(*^me6Qoze&ta#v|Jk znu;6z3=Y6;ulxo60mr!_4i*1^3%qtd2rI2{6x;Lq{d}I+&br;m!}05HzfAtv^Ss~f z$L>Ix_W}O(El%8{9`|`8_o?sJ25q>tNte z9ddRuI)8ig);Vs@PNGDXOC_c=L;7q$KB}^BK#*%-vqI)_DnOG&4v)x{;X`L|j8>;Z za*^l6nQ5XxgIWL|M)z2)_sPAF^L+!S7k(YdGA)(l6*J7rH^c6&N`ilVh|{--(ZW*) zHgn#@?1Q@-1*TF35fj2HrJyiGOGXx;w7`0VCeO~Wf{5Vw+^Oo3`>+DcYDBJ81!N9c zu~xMQ1D{5jW>D~VPfy0zPhNN`!1yZMOn-e9D=AG}it^ZGY6|A~?h&MmEzG~yHe(h;7kqH_mXb1UcnabvR5Yo0*ES-oPXct|JVw%n%hM)b3j3E@n)?N)WX?FO!P}3c*( zDUJgN*;wcq6jQ?HeBHg7(AckAXP37Ooc_oHX_13lbVsgE8l=1uJs zGLi`<6>@{}SKkTJ7llo0LsaZG$<5=-)$ZA4;<6Y7t{q(?)$NV;dWTBNK7jw;8P&4A z`_T1xYBSiheIMnk9zTq1kN5C;8@UgsAu*j z)se2o_>3^nsLt$@b%2iO{x*BnwFxw_eOA{fvIKHdl{u(=JaU0|@^!b}CEb2+j?YsL c?>A9RzkyQ_wEdl5E5O8qX0H?a;om{<4@7pK-v9sr literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/cmake/util/__pycache__/const_var.cpython-39.pyc b/precision_Problem/No_standard/cmake/util/__pycache__/const_var.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7d27150917350d18dce3cccbc1abf42bd6019b88 GIT binary patch literal 1079 zcmY+C-EP}96vri7v1Hj!+Z5O}8{{Uy65A;-U>_bPD|TYcu?<;X7TyqyNZD*;Qjn;u zuF*HxBlHFO7Q=wOgl>mj>=ky?QF4rRBzXAypASkp6mGR_O^v%h{tADqYTBQL_g4Ey1&>H&uARQjGWB?SnDIa|!N0Nn z6$J^6BfJ4&#tR>yTqYaa74arv%asHp9*Sg*clp;D{)IB&(_qC#B$kY(z!m3Tg0Up$ zz=+nK$F|A~GV+Plct-Hx*lDDHPp4QS(iQT!R-!}`vz()MnJ_wRlc zaR5%b;OuOT8AqxUL2s+JpOf&Fe_vk<%jlBN=zh2Z3(y-jF}LKe~Y z;9DS9l-mHP8xY|5|3NM!P<<;qOI{rpS#OyHT{~oUuKtIoF+8>MYATbw%DBuA!bo75 z8}~v)upY5gq7tnVRR*+6D$`)AexYP#@C(R3F66kQD_h03idy7i`$@m+3Ck?Rc{zX0D` zOx(P7I~+S#^W2=H(d}aHmEaXnySuj%-sIMI>b|pxes8Fw(qm-|)6%V~q3`FB-Yoc2tzuM+nyp)({sjUNMh^f0 literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/cmake/util/__pycache__/insert_op_info.cpython-39.pyc b/precision_Problem/No_standard/cmake/util/__pycache__/insert_op_info.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2ca91a6ba6d427d186c1fe7e80fa71783b8c4829 GIT binary patch literal 1103 zcmZWn&u`l{6ecCvu@(QwGOtTIU?7HJXn@2@vSlcOVrY@J+o9VI84y%Mp{e4tBU>gl zl6Goeb1vFL&xPGvul*PHAMD6$PyQEr+LN+m87hMB@q6NX-^WMB&8AQA`|Iy_y>C21 z-WTBdS3__Yr+z~T;UpxSawnr9Exi*urFTQO^j_$dz7kfT%H5&!lB(CR0`8!8PPsR9 z)gMs5K$Jk8SI#MVckc7*qFAjK|M&ZT?AFp}I*H6uG@Jw*Fs?)1h0&FPL!OM@;RHm_A%*g4X=g1-Vb2 z9EKg}K)XN_f;G4CJay=Bzf{;jw0eo41)WU-ZRp&=oqsmKnSX}!N&{2|H*kKwaCu|l zy!blYfQ|Vk(7{b;^CoXScZ%-(PuKb$R?@GoE91^F*=o;(f21Hbz?l^6Av|Sl|2Es- zJv{jS@Vf(C?C<(VGM}one`?sRWQ+YYj?W-vzd>>;WG4G5Xm%vK+w76y-7;YZv-Y~| zUY4;kO)~`=)C73fUlyQJjh>TDpj52eIl;7$_yxHcJI46UjVEMNf9~DVxf% zDsV5&fMw~^%k|R1+$BCVVyT)n6y#Z)0F(LQ@3Z<7rpHMFTF+Kff$XM?TY9#{cT2XY zt)_y5Fk4^Pl_=sei6ZL_v=r8n+PZqGt*1?F!g?ZwHqj(jg=!Ix0C&0>22&zx(oMl%CY4X^d+A8L2qwPu`j811@y&<3m zI<(auzo>fh@X@^=kHhN8&%fS(a2(bPwPjOm)r?(uBcIXBzRt=1|(5^XO(SHEU!z^(C literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/cmake/util/__pycache__/insert_simplified_keys.cpython-39.pyc b/precision_Problem/No_standard/cmake/util/__pycache__/insert_simplified_keys.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..050db729eacc5b667fd11870bfd92208c2851803 GIT binary patch literal 5587 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 literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/cmake/util/__pycache__/kernel_entry.cpython-39.pyc b/precision_Problem/No_standard/cmake/util/__pycache__/kernel_entry.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ecdb23b2549f8f4e640993a2040c10b7fc0d0b4b GIT binary patch literal 3120 zcmai0O>f*(6!rIbJ{v-t&^CZcC}jGPNz})CCGiR6+_=mdDRYO(yo_*=d`J z%_gk)73s2D*6i4@X6Y>}{sEd5=U&fDriBWR=K8+(?t9NZ=iK}3HJddB*KdFPvio;S zQU0XH^rfNkDgMbl7@_PaLKWIi%8n{@Vc@O_Q&_m`q9SbE4N(;}+)Ysz4csl!{6=ZF z22pKG23{HnCytyig0ADN-E-DfH#hEXu5Z9uTdi%y{bL#KJx-lvzwJCY@}35v^Dyuq zM{zIS3xmYjidSwrU#4P(C)~oU+bhmzy`IC<5=RC}AfE(crRJM>-0@|@vGCu*KS^Qs zl-$hBGbK}=tE$4DI`#y6h_F(;X{McOpDT~v$t#(KcwOl8N@mO}sg_kv)p?$OxJoMs z<4n)2=jZE~w4%__3lA7r+e3BvFYK-iRcEN(bcSmCg;7{uzaK=RFr^pm1%;lZvM_## z!>DZ+W*VlwV8_}IWEAuY!;^baVZ*xVaX%=%$U6uMGl)`o%mGQEhA$L3OZ$A=k#U@M z`eFZ8idjK=Yj7uUpB!(9PA}|s`p4ic*fuW9<_;?_{;~#kYLFXt9 zd!6zDT;64+e_Yft!QDNIToLS6u~Tx9-b*#q8vhKnr7oy5@FflSI*pF53hom!entaO z>zNJ!$G{tzF`)*Y&OXczh|;7v3?)}!N&rg`3BrpEA;WkTqdq;(_#)Kl&zk-n z4gg}{N*Eak2980~8MG`nN!O%gfTU$m{&SAu9)=0ym6u?)vkJ)2Qa!ULFhAsY>&(ai zAj3>6GMK!tjkQft#W>{y?{K)tBee-B^@-PD5}JrMn1t50yoC1|%saS}ryzo8+wJY2Y_6_}yrhiak(Bp?t2C7^-%A4LB;UmUzSBhk+Ap~*7pDja z*gNW_o1@WzNu9YQPUJjH+mxhONj0Rfc4K+qrILV`R5#nzLfem~RAAwmqN4+O8G}1I z8j^^8y&`5w5eNRX96rE=WD#bZPc79@XOT2kAQVLm z^o+Ah=dz}ZvdEyk$W&yJF`;*X<5AwryqHG@m4%M`K`BZmt@vNwc}9VD6uoLmCUZ8p zd=y6M-E}v0T=$vtv9mmGw+Bt<##D2t-XF}ku9qCRuCu(j{ngitNWuvxWe%F>uru7R z2f0Zg_hsz6lx~|qC84#(=|+k6)(BBlEQ0=}ibXk2^iQXno^iSf9090HK=4#WVrh8= zM@9vR;h4y6VdPa|<~3pEb>OUyQiMF4Q6#TA_P{|sGczl*v+AiSY9q`MgOOT>WGY7{ z@i0*6dQa8zB>?28LIc(1Gx&KIgk~vqwW~2`5yzE8hbxWtv)r4sn&aN@tFw zipgA-iQ16wPzQ0z$7EWVek_8dsE;Z!pQBY)3A+_KW|7K8Rd}h#2d-?=5?t*Yqgi}F z7d4*7{;MUwRhE0&i%!`GSRr{IhQw#6HhzZMV1ImgUQy?e?sKU9avgCmRs9R-m{ffY z2NhTSQi3{3a3sYFq-YB@vmr$dQmhIcGBol!$r5tNqjFG6=)$>#II+Z2umnm49jlXGxkNhWncOSThy%f literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/cmake/util/__pycache__/opdesc_parser.cpython-39.pyc b/precision_Problem/No_standard/cmake/util/__pycache__/opdesc_parser.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e1376fa0186638c0042e66840dd97bdca75ffed1 GIT binary patch literal 9559 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 G`u_q}Q{bfl literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/cmake/util/__pycache__/preset_parse.cpython-39.pyc b/precision_Problem/No_standard/cmake/util/__pycache__/preset_parse.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..88fdcf0d637a92c8f45267de944be23bf00356ff GIT binary patch literal 791 zcmYjPJ8u**5cX>y2??a2;1C4`%@tuG5f7n&kcd*AkdTO22`$drmu#}H*uIl4@m8Tv zM}1e)Qql7dDBV)!FHkYw1C$y0o0+ve-;8(o`uZvY`SJ7H_>v&>%LmtmLhu@vegPnm zz$HqT7N@w6NlF9}^fOASWP+U#^;A-cj{^}5&;`bD=N%e`S8yMVa_r4tSpnR7 zNH91R*+`%XR(m#roqJtui3sMgjcsJ(0TST=Eyy#}k<(A7d#79b&>I82pcvH~kCFcJ z2;p8o09rC%5s}3U0yV8#(szfTyLjY~!z$g#n|fRvPLzDBq?SgfH*=mJ$@g3p{GgQj zEZ*Eb?_QpF_gygMf<>tsm{6H@qQK*_%(y^wMwPVM+ z0W2FX96glAh2ut5+_*@|w&b~VL92?|3|AZ*7o~KOR(S?F{C%Sx84DLK3w6v}$LdDN zG^}{8fSsPm*;l0Qzz_MopQxrWNn5m=hASZ3JlmGpboN9fWpR+SGjr6`Nz-PBvQCVw zfZxc3>s;0%Px6YN$Yf%QGHLtw$Xc$neAv$1Ey$HEi^zOcp`U@f00`g446or;9E1L| zJK!n5?cyw}cu{BBl^>;HsQd&us%KgS;Qc@3A1uopgQ}-}FV|quC)%kRF)8IMpGW&F Lo-n5IMvVUeHP6$o literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/cmake/util/__pycache__/replay_codegen.cpython-39.pyc b/precision_Problem/No_standard/cmake/util/__pycache__/replay_codegen.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e742fd36e703620fd0a1b1def33b090dea6744f0 GIT binary patch literal 4404 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 EUvcawb^rhX literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/cmake/util/__pycache__/tiling_data_def_build.cpython-39.pyc b/precision_Problem/No_standard/cmake/util/__pycache__/tiling_data_def_build.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..91be34d1a7eedf2a61d7531815b564ad84c855ae GIT binary patch literal 3012 zcmbVO&2QYs73YxLuhGhq<&RXZ(oC$xUCOf7aojerU89O5D*_y~kQ4-^E3ov=?1~bX zWQId2;&Lxlu0?$6$%oxzuKg35`~^WzJQeN9K>q@xK=Ov<%4=IqgOWS*=FPnKdtWoN zv?nLA0?*gq{#w0eU6gjhw+(%P(&(aNlHq9TQ=+lqms z2u$M#k=GKA@7=*WdyH@vxb`t=N1mJ`%oF?=ulT_+cRG85YAH-;x8?dhk`DVW!EKJQYj=`EM)wUQS!I1$gP{VZsKQPSlKkxbVfL?<8`b( zW>dzkw&SvNs+g0Ex z$>>>Ml9EG2wOM6Q9x8oED&v7l#^M9I9Vl>DQC`;8LOu5mL@T z{r5O3h5c>Z*o+%THuvBF-65V&A~JVtj&{C0=#io5DSI>BF`4jZJH3+h0ZlU}dizl)#Ai{_ckf;o4#{`St+Co4Pg#Hs#WY+gE3G@d$@0sNaFcVTUF^|d%O zF#Ad{2BhpV6d|v{=I=fkDM2N+91pHbMjqKt%jayD9QqE0OW6@U8GgUf^1V<%ojP61 zA`w*O14}Fv6<;K|&;rS%ENTnezy>mPsT-?39DgXCehuUOTb3XTA#Xt>uUp7hjl8B1 z&7#DRrt<{~{(#zx3FC!zkY1P4@Sj2&b|ie_WXS?@kAzOl{C1<)H%OD*zDu0z*A24J zka*XLV}Rg7L;55c08;xnF3&SJWH`Q8r0Lb{{HTP)jZpx8^ ze?tA>e}-C}XC8IhuulR!I-2WiJEMIf4@sl=50y1uEb4FBykn3*;CvU1CZ)t(m>t_h zg)WFMl51l?a%Vz{rR@|Q8JAPl4^us`#a>!wpF5!l(^3GZUZmA9a2>%uhtXp@WS-q+ zX(&pU|w3|@F5_#I6%R!bb=Iz!sa48a==OjZXs&B zF04s>z@oWUp65fGo8?a*JX~Ji2Kw=DSJ$@F(h&zoj7cufHrJp_tD+lN(j{}U2rl#^ z-eM+((5!r%Rv;_^w^gdPXLG&R3Xzf$-+ zVCnfEo80$BGjM_%5JZQG8}a+hIz0XbZMx3mW^gR_e6Q&T7TnEE!MgD2C0NrATi{5m z+3MN{tQmoi&9Nd#yVm2#ap_WUoMO-{uG8~iG5i8L1=SHoIi0~qGdL<7K LdTn~8nx*P{#~)Q~ literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/cmake/util/ascendc_bin_param_build.py b/precision_Problem/No_standard/cmake/util/ascendc_bin_param_build.py new file mode 100644 index 0000000..63b15c9 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/ascendc_bin_param_build.py @@ -0,0 +1,127 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" + +import sys +import os +import json +import hashlib +import const_var +import opdesc_parser + +PYF_PATH = os.path.dirname(os.path.realpath(__file__)) + + +class BinParamBuilder(opdesc_parser.OpDesc): + def __init__(self: any, op_type: str): + super().__init__(op_type) + self.soc = '' + self.out_path = '' + + def set_soc_version(self: any, soc: str): + self.soc = soc + + def set_out_path(self: any, out_path: str): + self.out_path = out_path + + def gen_input_json(self: any): + key_map = {} + count = len(self.input_dtype[0].split(',')) + for i in range(0, count): + inputs = [] + outputs = [] + attrs = [] + op_node = {} + for idx in range(0, len(self.input_name)): + idtypes = self.input_dtype[idx].split(',') + ifmts = self.input_fmt[idx].split(',') + itype = self.input_type[idx] + para = {} + para['name'] = self.input_name[idx][:-5] + para['index'] = idx + para['dtype'] = idtypes[i] + para['format'] = ifmts[i] + para['paramType'] = itype + para['shape'] = [-2] + if itype == 'dynamic': + inputs.append([para]) + else: + inputs.append(para) + for idx in range(0, len(self.output_name)): + odtypes = self.output_dtype[idx].split(',') + ofmts = self.output_fmt[idx].split(',') + otype = self.output_type[idx] + para = {} + para['name'] = self.output_name[idx][:-5] + para['index'] = idx + para['dtype'] = odtypes[i] + para['format'] = ofmts[i] + para['paramType'] = otype + para['shape'] = [-2] + if otype == 'dynamic': + outputs.append([para]) + else: + outputs.append(para) + for attr in self.attr_list: + att = {} + att['name'] = attr + atype = self.attr_val.get(attr).get('type').lower() + att['dtype'] = atype + att['value'] = const_var.ATTR_DEF_VAL.get(atype) + attrs.append(att) + op_node['bin_filename'] = '' + op_node['inputs'] = inputs + op_node['outputs'] = outputs + if len(attrs) > 0: + op_node['attrs'] = attrs + param = {} + param['op_type'] = self.op_type + param['op_list'] = [op_node] + objstr = json.dumps(param, indent=' ') + md5sum = hashlib.md5(objstr.encode('utf-8')).hexdigest() + while key_map.get(md5sum) is not None: + objstr += '1' + md5sum = hashlib.md5(objstr.encode('utf-8')).hexdigest() + key_map[md5sum] = md5sum + bin_file = self.op_type + '_' + md5sum + op_node['bin_filename'] = bin_file + param_file = os.path.join(self.out_path, bin_file + '_param.json') + param_file = os.path.realpath(param_file) + with os.fdopen(os.open(param_file, const_var.WFLAGS, const_var.WMODES), 'w') as fd: + json.dump(param, fd, indent=' ') + self._write_buld_cmd(param_file, bin_file, i) + + def _write_buld_cmd(self: any, param_file: str, bin_file: str, index: int): + hard_soc = const_var.SOC_MAP_EXT.get(self.soc) + if not hard_soc: + hard_soc = self.soc.capitalize() + name_com = [self.op_type, self.op_file, str(index)] + compile_file = os.path.join(self.out_path, '-'.join(name_com) + '.sh') + compile_file = os.path.realpath(compile_file) + with os.fdopen(os.open(compile_file, const_var.WFLAGS, const_var.WMODES), 'w') as fd: + fd.write('#!/bin/bash\n') + fd.write('echo "[{}] Generating {} ..."\n'.format(hard_soc, bin_file)) + cmd = const_var.BIN_CMD.format(fun=self.op_intf, soc=hard_soc, param=param_file, impl='""') + fd.write(cmd) + chk = const_var.CHK_CMD.format(res_file=bin_file + '.json') + fd.write(chk) + chk = const_var.CHK_CMD.format(res_file=bin_file + '.o') + fd.write(chk) + fd.write('echo "[{}] Generating {} Done"\n'.format(hard_soc, bin_file)) + + +def gen_bin_param_file(cfgfile: str, out_dir: str, soc: str): + op_descs = opdesc_parser.get_op_desc(cfgfile, [], [], BinParamBuilder, None) + for op_desc in op_descs: + op_desc.set_soc_version(soc) + op_desc.set_out_path(out_dir) + op_desc.gen_input_json() + + +if __name__ == '__main__': + if len(sys.argv) <= 3: + raise RuntimeError('arguments must greater than 3') + gen_bin_param_file(sys.argv[1], sys.argv[2], sys.argv[3]) diff --git a/precision_Problem/No_standard/cmake/util/ascendc_impl_build.py b/precision_Problem/No_standard/cmake/util/ascendc_impl_build.py new file mode 100644 index 0000000..647801c --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/ascendc_impl_build.py @@ -0,0 +1,501 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" + +import sys +import os +import re +import opdesc_parser +import const_var + +PYF_PATH = os.path.dirname(os.path.realpath(__file__)) + +IMPL_HEAD = ''' +import os, sys +import ctypes +import json +import shutil +from tbe.common.platform import get_soc_spec +from tbe.common.utils import para_check +from tbe.tikcpp import compile_op, replay_op, check_op_cap, generalize_op_params, get_code_channel, OpInfo +from tbe.common.buildcfg import get_default_build_config +from impl.util.platform_adapter import tbe_register +from tbe.common.buildcfg import get_current_build_config +PYF_PATH = os.path.dirname(os.path.realpath(__file__)) + +DTYPE_MAP = {{"float32": ["DT_FLOAT", "float"], + "float16": ["DT_FLOAT16", "half"], + "int8": ["DT_INT8", "int8_t"], + "int16": ["DT_INT16", "int16_t"], + "int32": ["DT_INT32", "int32_t"], + "int64": ["DT_INT64", "int64_t"], + "uint1": ["DT_UINT1", "uint8_t"], + "uint8": ["DT_UINT8", "uint8_t"], + "uint16": ["DT_UINT16", "uint16_t"], + "uint32": ["DT_UINT32", "uint32_t"], + "uint64": ["DT_UINT64", "uint64_t"], + "bool": ["DT_BOOL", "bool"], + "double": ["DT_DOUBLE", "double"], + "dual": ["DT_DUAL", "unknown"], + "dual_sub_int8": ["DT_DUAL_SUB_INT8", "unknown"], + "dual_sub_uint8": ["DT_DUAL_SUB_UINT8", "unknown"], + "string": ["DT_STRING", "unknown"], + "complex64": ["DT_COMPLEX64", "unknown"], + "complex128": ["DT_COMPLEX128", "unknown"], + "qint8": ["DT_QINT8", "unknown"], + "qint16": ["DT_QINT16", "unknown"], + "qint32": ["DT_QINT32", "unknown"], + "quint8": ["DT_QUINT8", "unknown"], + "quint16": ["DT_QUINT16", "unknown"], + "resource": ["DT_RESOURCE", "unknown"], + "string_ref": ["DT_STRING_REF", "unknown"], + "int4": ["DT_INT4", "int4b_t"], + "bfloat16": ["DT_BF16", "bfloat16_t"]}} + +def add_dtype_fmt_option_single(x, x_n, is_ref: bool = False): + options = [] + x_fmt = x.get("format") + x_dtype = x.get("dtype") + x_n_in_kernel = x_n + '_REF' if is_ref else x_n + options.append("-DDTYPE_{{n}}={{t}}".format(n=x_n_in_kernel, t=DTYPE_MAP.get(x_dtype)[1])) + options.append("-DORIG_DTYPE_{{n}}={{ot}}".format(n=x_n_in_kernel, ot=DTYPE_MAP.get(x_dtype)[0])) + options.append("-DFORMAT_{{n}}=FORMAT_{{f}}".format(n=x_n_in_kernel, f=x_fmt)) + return options + +def get_dtype_fmt_options(__inputs__, __outputs__): + options = [] + input_names = {} + output_names = {} + unique_param_name_set = set() + for idx, x in enumerate(__inputs__): + if x is None: + continue + x_n = input_names[idx].upper() + unique_param_name_set.add(x_n) + options += add_dtype_fmt_option_single(x, x_n) + + for idx, x in enumerate(__outputs__): + if x is None: + continue + x_n = output_names[idx].upper() + if x_n in unique_param_name_set: + options += add_dtype_fmt_option_single(x, x_n, True) + else: + options += add_dtype_fmt_option_single(x, x_n) + return options + +def load_dso(so_path): + try: + ctypes.CDLL(so_path) + except OSError as error : + print(error) + raise RuntimeError("cannot open %s" %(so_path)) + else: + print("load so succ ", so_path) + +def get_shortsoc_compile_option(compile_option_list: list, shortsoc:str): + compile_options = [] + if shortsoc in compile_option_list: + compile_options = compile_option_list[shortsoc] + elif '__ALLSOC__' in compile_option_list: + compile_options = compile_option_list['__ALLSOC__'] + return compile_options + +def get_kernel_source(src_file, dir_snake, dir_ex): + src_ex = os.path.join(PYF_PATH, "..", "ascendc", dir_ex, src_file) + if os.path.exists(src_ex): + return src_ex + src = os.path.join(PYF_PATH, "..", "ascendc", dir_snake, src_file) + if os.path.exists(src): + return src + src = os.path.join(PYF_PATH, src_file) + if os.path.exists(src): + return src + return src_ex + +''' + +IMPL_API = ''' +@tbe_register.register_operator("{}", trans_bool_to_s8=False) +@para_check.check_op_params({}) +def {}({}, kernel_name="{}", impl_mode=""): + if get_current_build_config("enable_op_prebuild"): + return + __inputs__, __outputs__, __attrs__ = _build_args({}) + options = get_dtype_fmt_options(__inputs__, __outputs__) + options += ["-x", "cce"] + bisheng = shutil.which("bisheng") + if bisheng != None: + bisheng_path = os.path.dirname(bisheng) + tikcpp_path = os.path.realpath(os.path.join(bisheng_path, "..", "..", "tikcpp")) + else: + tikcpp_path = os.path.realpath("/usr/local/Ascend/latest/compiler/tikcpp") + options.append("-I" + tikcpp_path) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw")) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw", "impl")) + options.append("-I" + os.path.join(tikcpp_path, "tikcfw", "interface")) + options.append("-I" + os.path.join(PYF_PATH, "..", "ascendc", "common")) + if impl_mode == "high_performance": + options.append("-DHIGH_PERFORMANCE=1") + elif impl_mode == "high_precision": + options.append("-DHIGH_PRECISION=1") + if get_default_build_config("enable_deterministic_mode") == 1: + options.append("-DDETEMINISTIC_MODE=1") + + custom_compile_options = {}, + custom_all_compile_options = {}, + soc_version = get_soc_spec("SOC_VERSION") + soc_short = get_soc_spec("SHORT_SOC_VERSION").lower() + custom_compile_options_soc = get_shortsoc_compile_option(custom_compile_options[0], soc_short) + custom_all_compile_options_soc = get_shortsoc_compile_option(custom_all_compile_options[0], soc_short) + options += custom_all_compile_options_soc + options += custom_compile_options_soc + + origin_func_name = "{}" + ascendc_src_dir_ex = "{}" + ascendc_src_dir = "{}" + ascendc_src_file = "{}" + src = get_kernel_source(ascendc_src_file, ascendc_src_dir, ascendc_src_dir_ex) +''' + +REPLAY_OP_API = ''' + print("start replay Acend C Operator {}, kernel name is {}") + tikreplay_codegen_path = tikcpp_path + "/tikreplaylib/lib" + tikreplay_stub_path = tikcpp_path + "/tikreplaylib/lib/" + soc_version + print("start load libtikreplaylib_codegen.so and libtikreplaylib_stub.so") + codegen_so_path = tikreplay_codegen_path + "/libtikreplaylib_codegen.so" + replaystub_so_path = tikreplay_stub_path + "/libtikreplaylib_stub.so" + if PYF_PATH.endswith("dynamic"): + op_replay_path = os.path.join(PYF_PATH, "..", "..", "op_replay") + else: + op_replay_path = os.path.join(PYF_PATH, "..", "op_replay") + replayapi_so_path = os.path.join(op_replay_path, "libreplay_{}_" + soc_short + ".so") + load_dso(codegen_so_path) + load_dso(replaystub_so_path) + load_dso(replayapi_so_path) + op_type = "{}" + entry_obj = os.path.join(op_replay_path, "{}_entry_" + soc_short + ".o") + code_channel = get_code_channel(src, kernel_name, op_type, options) + op_info = OpInfo(kernel_name = kernel_name, op_type = op_type, inputs = __inputs__, outputs = __outputs__,\\ + attrs = __attrs__, impl_mode = impl_mode) + res, msg = replay_op(op_info, entry_obj, code_channel, src, options) + if not res: + print("call replay op failed for %s and get into call compile op" %(msg)) + compile_op(src, origin_func_name, op_info, options, code_channel, '{}') +''' + +COMPILE_OP_API = ''' + print("start compile Ascend C operator {}. kernel name is " + kernel_name) + op_type = "{}" + code_channel = get_code_channel(src, kernel_name, op_type, options) + op_info = OpInfo(kernel_name = kernel_name, op_type = op_type, inputs = __inputs__, outputs = __outputs__,\\ + attrs = __attrs__, impl_mode = impl_mode, origin_inputs=[{}], origin_outputs = [{}], param_type_dynamic = {},\\ + mc2_ctx = None, param_type_list = {}) + compile_op(src, origin_func_name, op_info, options, code_channel, '{}') +''' + +SUP_API = ''' +def {}({}, impl_mode=""): + __inputs__, __outputs__, __attrs__ = _build_args({}) + ret_str = check_op_cap("{}", "{}", __inputs__, __outputs__, __attrs__) + ret_dict = json.loads(ret_str) + err_code = ret_dict.get("ret_code") + sup = "Unknown" + reason = "Unknown reason" + if err_code is not None: + if err_code is 0: + sup = "True" + reason = "" + elif err_code is 1: + sup = "False" + reason = ret_dict.get("reason") + else: + sup = "Unknown" + reason = ret_dict.get("reason") + return sup, reason +''' +CAP_API = ''' +def {}({}, impl_mode=""): + __inputs__, __outputs__, __attrs__ = _build_args({}) + result = check_op_cap("{}", "{}", __inputs__, __outputs__, __attrs__) + return result.decode("utf-8") +''' +GLZ_API = ''' +@tbe_register.register_param_generalization("{}") +def {}_generalization({}, generalize_config=None): + __inputs__, __outputs__, __attrs__ = _build_args({}) + ret_str = generalize_op_params("{}", __inputs__, __outputs__, __attrs__, generalize_config) + return [json.loads(ret_str)] +''' + +ATTR_DEFAULT = {'bool': 'False', 'int': '0', 'float': '0.0', 'list_int': '[]', + 'list_float': '[]', 'list_bool': '[]', 'list_list_int': '[[]]', 'str': ''} + + +def _get_snake_str(s, i): + if s[i - 1] != '_': + if not s[i - 1].isupper(): + return "_" + elif s[i - 1].isupper() and (i + 1) < len(s) and s[i + 1].islower(): + return "_" + return "" + return "" + + +def optype_snake(origin_str): + temp_str = origin_str[0].lower() + origin_str[1:] + new_str = re.sub(r'([A-Z])', r'_\1', temp_str).lower() + return new_str + + +def optype_snake_ex(s): + snake_case = "" + for i, c in enumerate(s): + if i == 0: + snake_case += c.lower() + elif c.isupper(): + snake_case += _get_snake_str(s, i) + snake_case += c.lower() + else: + snake_case += c + return snake_case + + +class AdpBuilder(opdesc_parser.OpDesc): + def __init__(self: any, op_type: str): + self.argsdefv = [] + self.op_compile_option:str = '{}' + super().__init__(op_type) + + + def write_adapt(self: any, impl_path, path: str, op_compile_option_all:list = None): + self._build_paradefault() + if impl_path != "": + src_file = os.path.join(impl_path, self.op_file + '.cpp') + if not os.path.exists(src_file): + return + out_path = os.path.abspath(path) + if self.dynamic_shape and not out_path.endswith('dynamic'): + out_path = os.path.join(path, 'dynamic') + os.makedirs(out_path, mode=0o700, exist_ok=True) + adpfile = os.path.join(out_path, self.op_file + '.py') + self._gen_op_compile_option(op_compile_option_all) + with os.fdopen(os.open(adpfile, const_var.WFLAGS, const_var.WMODES), 'w') as fd: + self._write_head(fd) + self._write_argparse(fd) + self._write_impl(fd) + if self.op_chk_support: + self._write_cap('check_supported', fd) + self._write_cap('get_op_support_info', fd) + if self.op_fmt_sel: + self._write_cap('op_select_format', fd) + self._write_cap('get_op_specific_info', fd) + if self.op_range_limit == 'limited' or self.op_range_limit == 'dynamic': + self._write_glz(fd) + + + def _gen_op_compile_option(self:any, op_compile_option_all:list =None): + if op_compile_option_all is not None: + if self.op_type in op_compile_option_all: + self.op_compile_option = op_compile_option_all[self.op_type] + elif "__all__" in op_compile_option_all: + self.op_compile_option = op_compile_option_all["__all__"] + + + def _ip_argpack(self: any, default: bool = True) -> list: + args = [] + for i in range(len(self.input_name)): + arg = self.input_name[i] + if default and self.argsdefv[i] is not None: + arg += '=' + self.argsdefv[i] + args.append(arg) + return args + + def _op_argpack(self: any, default: bool = True) -> list: + args = [] + argidx = len(self.input_name) + for i in range(len(self.output_name)): + arg = self.output_name[i] + if default and self.argsdefv[i + argidx] is not None: + arg += '=' + self.argsdefv[i + argidx] + args.append(arg) + return args + + def _attr_argpack(self: any, default: bool = True) -> list: + args = [] + argidx = len(self.input_name) + len(self.output_name) + for i in range(len(self.attr_list)): + att = self.attr_list[i] + arg = att + if default and self.argsdefv[i + argidx] is not None: + if self.attr_val.get(att).get('type') == 'str': + arg += '="' + self.argsdefv[i + argidx] + '"' + elif self.attr_val.get(att).get('type') == 'bool': + arg += '=' + self.argsdefv[i + argidx].capitalize() + else: + arg += '=' + self.argsdefv[i + argidx] + args.append(arg) + return args + + def _build_paralist(self: any, default: bool = True) -> str: + args = [] + args.extend(self._ip_argpack(default)) + args.extend(self._op_argpack(default)) + args.extend(self._attr_argpack(default)) + return ', '.join(args) + + def _io_parachk(self: any, types: list, type_name: str) -> list: + chk = [] + for iot in types: + if iot == 'optional': + ptype = 'OPTION' + else: + ptype = iot.upper() + chk.append('para_check.{}_{}'.format(ptype, type_name)) + return chk + + def _attr_parachk(self: any) -> list: + chk = [] + for att in self.attr_list: + if self.attr_val.get(att).get('paramType') == 'optional': + pt = 'OPTION' + else: + pt = self.attr_val.get(att).get('paramType').upper() + att_type = self.attr_val.get(att).get('type').upper() + chk.append('para_check.{}_ATTR_{}'.format(pt, att_type)) + return chk + + def _build_parachk(self: any) -> str: + chk = [] + chk.extend(self._io_parachk(self.input_type, 'INPUT')) + chk.extend(self._io_parachk(self.output_type, 'OUTPUT')) + chk.extend(self._attr_parachk()) + chk.append('para_check.KERNEL_NAME') + return ', '.join(chk) + + def _build_paradefault(self: any): + optional = False + argtypes = [] + argtypes.extend(self.input_type) + argtypes.extend(self.output_type) + for atype in argtypes: + if atype == 'optional': + optional = True + if optional: + self.argsdefv.append('None') + else: + self.argsdefv.append(None) + for attr in self.attr_list: + atype = self.attr_val.get(attr).get('paramType') + if atype == 'optional': + optional = True + attrval = self.attr_val.get(attr).get('defaultValue') + if attrval is not None: + optional = True + if type == "bool": + attrval = attrval.capitalize() + elif type == "str": + attrval = "\"" + attrval + "\"" + self.argsdefv.append(attrval) + continue + if optional: + self.argsdefv.append(ATTR_DEFAULT.get(self.attr_val.get(attr).get('type'))) + else: + self.argsdefv.append(None) + + def _write_head(self: any, fd: object): + fd.write(IMPL_HEAD.format(self.input_ori_name, self.output_ori_name)) + + def _write_argparse(self: any, fd: object): + args = self._build_paralist(False) + fd.write('def _build_args({}):\n'.format(args)) + fd.write(' __inputs__ = []\n') + fd.write(' for arg in [{}]:\n'.format(', '.join(self.input_name))) + fd.write(' if arg != None:\n') + fd.write(' if isinstance(arg, (list, tuple)):\n') + fd.write(' if len(arg) == 0:\n') + fd.write(' continue\n') + fd.write(' __inputs__.append(arg[0])\n') + fd.write(' else:\n') + fd.write(' __inputs__.append(arg)\n') + fd.write(' else:\n') + fd.write(' __inputs__.append(arg)\n') + fd.write(' __outputs__ = []\n') + fd.write(' for arg in [{}]:\n'.format(', '.join(self.output_name))) + fd.write(' if arg != None:\n') + fd.write(' if isinstance(arg, (list, tuple)):\n') + fd.write(' if len(arg) == 0:\n') + fd.write(' continue\n') + fd.write(' __outputs__.append(arg[0])\n') + fd.write(' else:\n') + fd.write(' __outputs__.append(arg)\n') + fd.write(' else:\n') + fd.write(' __outputs__.append(arg)\n') + fd.write(' __attrs__ = []\n') + for attr in self.attr_list: + fd.write(' if {} != None:\n'.format(attr)) + fd.write(' attr = {}\n') + fd.write(' attr["name"] = "{}"\n'.format(attr)) + fd.write(' attr["dtype"] = "{}"\n'.format(self.attr_val.get(attr).get('type'))) + fd.write(' attr["value"] = {}\n'.format(attr)) + fd.write(' __attrs__.append(attr)\n') + fd.write(' return __inputs__, __outputs__, __attrs__\n') + + def _write_impl(self: any, fd: object): + argsdef = self._build_paralist() + argsval = self._build_paralist(False) + pchk = self._build_parachk() + if len(self.kern_name) > 0: + kern_name = self.kern_name + else: + kern_name = self.op_intf + src = self.op_file + '.cpp' + fd.write(IMPL_API.format(self.op_type, pchk, self.op_intf, argsdef, kern_name, argsval,\ + self.custom_compile_options, self.custom_all_compile_options, self.op_intf,\ + optype_snake_ex(self.op_type), optype_snake(self.op_type), src)) + if self.op_replay_flag: + fd.write(REPLAY_OP_API.format(self.op_type, kern_name, self.op_file, self.op_type, self.op_file,\ + self.op_compile_option)) + else: + fd.write(COMPILE_OP_API.format(self.op_type, self.op_type, ', '.join(self.input_name),\ + ', '.join(self.output_name), False, self.input_type + self.output_type, self.op_compile_option)) + + def _write_cap(self: any, cap_name: str, fd: object): + argsdef = self._build_paralist() + argsval = self._build_paralist(False) + if cap_name == 'check_supported': + fd.write(SUP_API.format(cap_name, argsdef, argsval, cap_name, self.op_type)) + else: + fd.write(CAP_API.format(cap_name, argsdef, argsval, cap_name, self.op_type)) + + def _write_glz(self: any, fd: object): + argsdef = self._build_paralist() + argsval = self._build_paralist(False) + fd.write(GLZ_API.format(self.op_type, self.op_intf, argsdef, argsval, self.op_type)) + + +def write_scripts(cfgfile: str, cfgs: dict, dirs: dict, ops: list = None, op_compile_option:list = None): + batch_lists = cfgs.get(const_var.REPLAY_BATCH).split(';') + iterator_lists = cfgs.get(const_var.REPLAY_ITERATE).split(';') + file_map = {} + op_descs = opdesc_parser.get_op_desc(cfgfile, batch_lists, iterator_lists, AdpBuilder,\ + ops, dirs.get(const_var.AUTO_GEN_DIR)) + for op_desc in op_descs: + op_desc.write_adapt(dirs.get(const_var.CFG_IMPL_DIR), dirs.get(const_var.CFG_OUT_DIR), op_compile_option) + file_map[op_desc.op_type] = op_desc.op_file + return file_map + +if __name__ == '__main__': + if len(sys.argv) <= 6: + raise RuntimeError('arguments must greater equal than 6') + rep_cfg = {} + rep_cfg[const_var.REPLAY_BATCH] = sys.argv[2] + rep_cfg[const_var.REPLAY_ITERATE] = sys.argv[3] + cfg_dir = {} + cfg_dir[const_var.CFG_IMPL_DIR] = sys.argv[4] + cfg_dir[const_var.CFG_OUT_DIR] = sys.argv[5] + cfg_dir[const_var.AUTO_GEN_DIR] = sys.argv[6] + write_scripts(cfgfile=sys.argv[1], cfgs=rep_cfg, dirs=cfg_dir) diff --git a/precision_Problem/No_standard/cmake/util/ascendc_ops_config.py b/precision_Problem/No_standard/cmake/util/ascendc_ops_config.py new file mode 100644 index 0000000..b138047 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/ascendc_ops_config.py @@ -0,0 +1,120 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" + +import sys +import os +import glob +import json +import argparse +import const_var + + +def load_json(json_file: str): + with open(json_file, encoding='utf-8') as file: + json_content = json.load(file) + return json_content + + +def get_specified_suffix_file(root_dir, suffix): + specified_suffix = os.path.join(root_dir, '**/*.{}'.format(suffix)) + all_suffix_files = glob.glob(specified_suffix, recursive=True) + return all_suffix_files + + +def add_simplified_config(op_type, key, core_type, task_ration, objfile, config): + simple_cfg = config.get('binary_info_config.json') + op_cfg = simple_cfg.get(op_type) + if not op_cfg: + op_cfg = {} + op_cfg['dynamicRankSupport'] = True + op_cfg['simplifiedKeyMode'] = 0 + op_cfg['binaryList'] = [] + simple_cfg[op_type] = op_cfg + bin_list = op_cfg.get('binaryList') + if core_type == 0 and task_ration == "tilingKey": + bin_list.append({'coreType': core_type, 'simplifiedKey': key, \ + 'multiKernelType':1, 'binPath': objfile}) + else: + bin_list.append({'coreType': core_type, 'simplifiedKey': key, 'binPath': objfile}) + + +def add_op_config(op_file, bin_info, config): + op_cfg = config.get(op_file) + if not op_cfg: + op_cfg = {} + op_cfg['binList'] = [] + config[op_file] = op_cfg + op_cfg.get('binList').append(bin_info) + + +def gen_ops_config(json_file, soc, config): + core_type_map = {'MIX': 0, 'AiCore': 1, 'VectorCore': 2, 'MIX_AICORE':3, 'MIX_VECTOR_CORE':4} + contents = load_json(json_file) + if ('binFileName' not in contents) or ('supportInfo' not in contents): + return + json_base_name = os.path.basename(json_file) + op_dir = os.path.basename(os.path.dirname(json_file)) + support_info = contents.get('supportInfo') + bin_name = contents.get('binFileName') + bin_suffix = contents.get('binFileSuffix') + task_ration = contents.get('taskRation') + core_type = core_type_map.get(contents.get("coreType")) + bin_file_name = bin_name + bin_suffix + op_type = bin_name.split('_')[0] + op_file = op_dir + '.json' + bin_info = {} + keys = support_info.get('simplifiedKey') + if keys: + bin_info['simplifiedKey'] = keys + for key in keys: + add_simplified_config(op_type, key, core_type, task_ration, os.path.join(soc, op_dir, bin_file_name), \ + config) + bin_info['staticKey'] = support_info.get('staticKey') + bin_info['int64Mode'] = support_info.get('int64Mode') + bin_info['inputs'] = support_info.get('inputs') + bin_info['outputs'] = support_info.get('outputs') + if support_info.get('attrs'): + bin_info['attrs'] = support_info.get('attrs') + bin_info['binInfo'] = {'jsonFilePath': os.path.join(soc, op_dir, json_base_name)} + add_op_config(op_file, bin_info, config) + + +def gen_all_config(root_dir, soc): + suffix = 'json' + config = {} + config['binary_info_config.json'] = {} + all_json_files = get_specified_suffix_file(root_dir, suffix) + for _json in all_json_files: + gen_ops_config(_json, soc, config) + for cfg_key in config.keys(): + cfg_file = os.path.join(root_dir, cfg_key) + with os.fdopen(os.open(cfg_file, const_var.WFLAGS, const_var.WMODES), 'w') as fd: + json.dump(config.get(cfg_key), fd, indent=' ') + + +def args_prase(): + parser = argparse.ArgumentParser() + parser.add_argument('-p', + '--path', + nargs='?', + required=True, + help='Parse the path of the json file.') + parser.add_argument('-s', + '--soc', + nargs='?', + required=True, + help='Parse the soc_version of ops.') + return parser.parse_args() + + +def main(): + args = args_prase() + gen_all_config(args.path, args.soc) + + +if __name__ == '__main__': + main() diff --git a/precision_Problem/No_standard/cmake/util/ascendc_replay_build.py b/precision_Problem/No_standard/cmake/util/ascendc_replay_build.py new file mode 100644 index 0000000..1cac7d9 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/ascendc_replay_build.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" + +import sys +import os +import opdesc_parser +import replay_codegen +import const_var +from replay_codegen import ReplayCodeGenParams + +PYF_PATH = os.path.dirname(os.path.realpath(__file__)) + + +class ReplayBuilder(opdesc_parser.OpDesc): + def __init__(self: any, op_type: str): + super().__init__(op_type) + + def gen_replay_source(self: any, impl_path: str, out_path: str, ops_product: str): + if not self.op_replay_flag: + print('{} replay not enabled'.format(self.op_type)) + return + argn = len(self.input_name) + len(self.output_name) + 1 + if self.op_replay_batch: + print('{} replay in batch mode'.format(self.op_type)) + else: + print('{} replay in normal mode'.format(self.op_type)) + if impl_path.endswith('op_kernel'): + implf = os.path.join(impl_path, self.op_file + '.cpp') + tiling_file = os.path.join(impl_path, "../op_host", self.op_file + '_tiling.h') + else: + if self.dynamic_shape: + dyn_path = 'dynamic' + else: + dyn_path = '' + implf = os.path.join(impl_path, dyn_path, self.op_file + '.cpp') + tiling_file = os.path.join(impl_path, "../../op_tiling", self.op_file + '_tiling.h') + rep_conf = replay_codegen.ReplayCodeGen(ReplayCodeGenParams(self.op_type, implf, tiling_file, self.op_file, \ + self.op_intf, argn, self.op_replay_batch, self.max_block_dim, self.max_shape_size)) + rep_conf.set_batch(self.op_replay_batch) + rep_conf.set_outdir(out_path) + rep_conf.gen_replay(ops_product) + + +def gen_replay(cfgfile: str, cfgs: dict, dirs: dict, ops_product: str, ops: list = None): + batch_lists = cfgs.get(const_var.REPLAY_BATCH).split(';') + iterator_lists = cfgs.get(const_var.REPLAY_ITERATE).split(';') + op_descs = opdesc_parser.get_op_desc(cfgfile, batch_lists, iterator_lists, ReplayBuilder, ops) + for op_desc in op_descs: + op_desc.gen_replay_source(dirs.get(const_var.CFG_IMPL_DIR), dirs.get(const_var.CFG_OUT_DIR), ops_product) + + +if __name__ == '__main__': + if len(sys.argv) <= 6: + raise RuntimeError('arguments must greater than 6') + rep_cfg = {} + rep_cfg[const_var.REPLAY_BATCH] = sys.argv[2] + rep_cfg[const_var.REPLAY_ITERATE] = sys.argv[3] + rep_dir = {} + rep_dir[const_var.CFG_IMPL_DIR] = sys.argv[4] + rep_dir[const_var.CFG_OUT_DIR] = sys.argv[5] + gen_replay(sys.argv[1], rep_cfg, rep_dir, sys.argv[6]) diff --git a/precision_Problem/No_standard/cmake/util/batch_replay_impl.temp b/precision_Problem/No_standard/cmake/util/batch_replay_impl.temp new file mode 100644 index 0000000..0e88346 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/batch_replay_impl.temp @@ -0,0 +1,117 @@ +#include +#include +#include +#include +#include +#include +#include +#include "replay_def.h" +#include "code_gen.h" +#include "replay_fun.h" +#include "register/op_check.h" +#define __ASCENDC_REPLAY_CODE__ +#include + +using namespace std; +using namespace optiling; +using namespace AscendCReplay; + +extern "C" void __KERNEL_FUN__ (__ARGS_DEF__, const char *); +extern "C" int elf_batch_append(char *elf, uint32_t elfSize, char *jit, int kernum, char *atext[], int alen[], + int atlen, const char* kernelname[]); + +#define KERNEL_N 1 +#define ARG_N (__ARG_NUM__) +#define MAX_L (1024 * 1024 * 100) +#define MAX_E (1024 * 1024) + +int __KERNEL_FUN___replay___OPS_PRODUCT__(ReplayFuncParam& param, const int core_type) +{ + // gen type 1 : direct call codes 0: load .o file + if (param.gentype < 0 || param.gentype > 1) { + printf("Error: call replay gen type is %d, should only be 1 or 0\n", param.gentype); + return 0; + } else if (param.gentype == 1 && param.objptr == nullptr) { + printf("Error: call replay with direct call mode, but code obj addr is null\n"); + return 0; + } else if (param.gentype == 0 && param.output_kernel_file == nullptr) { + printf("Error: call replay with object file mode, but object file path is null\n"); + return 0; + } + // core_type 0:MIX 1:CUBE 2:VEC + if (core_type < 0 || core_type > 2) { + printf("Error: call replay core type is %d !\n", core_type); + return 0; + } + g_coreType = __CORE_TYPE__; + g_taskRation = param.task_ration; + g_tilingKey = param.tiling_key; + + unsigned char *buf, *jit; + char *kernel[KERNEL_N]; + int len[KERNEL_N]; + block_idx = 0; + block_num = param.block_dim; + g_ubBase = block_num; + uint8_t *code = (uint8_t *)malloc(MAX_L); + uint8_t *pos = code; + struct timespec tp1, tp2; + + clock_gettime(CLOCK_MONOTONIC, &tp1); + if (block_num > 32) { + printf("Error: block_num > 32\n"); + return 0; + } + //__OP_FOPEN__ + for (int i = 0; i < KERNEL_N; i++) { + //__OP_SET_KERNEL__ + for (int j = 0; j < ARG_N; j++) + AddArg(j, ARG_STEP * (j + 1)); +#ifdef FP_CEILING + SetCtrlFloatEnable(); +#else + SetCtrlFloatDisable(); +#endif + CodeInit(pos, true); + __KERNEL_FUN__(__KERNEL_ARGS__, param.tiling_data); + CodeEnd(); + kernel[i] = (char *)pos; + len[i] = CodeLen(); + pos += len[i]; + } + //__OP_FCLOSE__ + clock_gettime(CLOCK_MONOTONIC, &tp2); + buf = (unsigned char *)malloc(MAX_E); + int fd = open(param.entry_file, O_RDONLY); + if (fd < 0) { + printf("[error]: cannot find entry.o : %s\n", param.entry_file); + return 0; + } + uint32_t bufSize = read(fd, buf, MAX_E); + if (bufSize <= 0) { + printf("[error]: entry.o : %s is too small ! \n", param.entry_file); + } + close(fd); + jit = (unsigned char *)malloc(MAX_L); + printf("total code generated %ld\n", pos - code); + int sz = elf_batch_append((char *)buf, bufSize, (char *)jit, KERNEL_N, kernel, len, pos - code, ¶m.kernel_name); + if (tp1.tv_sec != tp2.tv_sec) { + printf("%ld NS\n", tp2.tv_nsec + 1000000000 - tp1.tv_nsec); + } else { + printf("%ld NS\n", tp2.tv_nsec - tp1.tv_nsec); + } + printf("new elf size %d\n", sz); + if (param.gentype == 0) { + fd = open(param.output_kernel_file, O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR); + (void)write(fd, jit, sz); + close(fd); + free(jit); + } else if (param.gentype == 1) { + *param.objptr = (char*)jit; + } + free(buf); + free(code); + return sz; +} + +REG_REPLAY_FUNC(__OPTYPE__, __OPS_PRODUCT__, __KERNEL_FUN___replay___OPS_PRODUCT__); diff --git a/precision_Problem/No_standard/cmake/util/code_channel_infer.py b/precision_Problem/No_standard/cmake/util/code_channel_infer.py new file mode 100644 index 0000000..336b4cd --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/code_channel_infer.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" +import os +import stat +import ctypes +import collections +import shutil +import subprocess +import copy + +"""CODE_* is used to cube/vector api is called in operator code +CODE_MIX means both cube and vector api is called +CODE_CUBE means only cube api is called +CODE_VEC means only vector api is called +""" +CODE_MIX = 0 +CODE_CUBE = 1 +CODE_VEC = 2 + + +def _is_v220(op_product: str): + """return if current soc version is V220 + + Returns: + res: True means V220 + """ + if op_product in ["ascend910b"]: + return True + return False + + +InfoCodeChanelParams = collections.namedtuple('InfoCodeChanelParams',\ +['src_file', 'tiling_header', 'kernel_name', 'outdir', 'op_product', 'compile_options']) + + +def infer_code_channel(params: InfoCodeChanelParams): + """get code channel for v220, return CODE_MIX if soc version is not V220 + + Args: + src_file (str): AscendC operator code file + src_file (str): AscendC operator tiling header file + kernel_name (str): kernel function name + optype (str): operator type + compile_options (list): compile options for bisheng cmd + + Raises: + Exception: if not exist L1/L0/UB if code, it's not a aicore code + + Returns: + res (int): CODE_MIX/CODE_CUBE/CODE_VEC + """ + if not _is_v220(params.op_product): + return CODE_MIX + return CODE_VEC diff --git a/precision_Problem/No_standard/cmake/util/const_var.py b/precision_Problem/No_standard/cmake/util/const_var.py new file mode 100644 index 0000000..8b32c3b --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/const_var.py @@ -0,0 +1,33 @@ + +#!/usr/bin/env python +# coding=utf-8 +""" +Function: +The replay funtion entry +Copyright Information: +Huawei Technologies Co., Ltd. All Rights Reserved © 2020 +""" + +import os +import stat + + +REPLAY_BATCH = 'batch' +REPLAY_ITERATE = 'iterate' +CFG_IMPL_DIR = 'impl_dir' +CFG_OUT_DIR = 'out_dir' +AUTO_GEN_DIR = 'auto_gen_dir' +WFLAGS = os.O_WRONLY | os.O_CREAT | os.O_TRUNC +WMODES = stat.S_IWUSR | stat.S_IRUSR +SOC_MAP_EXT = {'ascend310p': 'Ascend310P3', 'ascend310b': 'Ascend310B1', + 'ascend910': 'Ascend910A', 'ascend910b': 'Ascend910B1'} +BIN_CMD = 'opc $1 --main_func={fun} --input_param={param} --soc_version={soc} \ +--output=$2 --impl_mode={impl} --simplified_key_mode=0 --op_mode=dynamic\n' +CHK_CMD = ''' +if ! test -f $2/{res_file} ; then + echo "$2/{res_file} not generated!" + exit 1 +fi +''' +ATTR_DEF_VAL = {'str' : '', 'int': 0, 'float': 0.0, 'bool': False, 'list_bool': [], + 'list_int': [], 'list_float': [], 'list_list_int': [[]]} diff --git a/precision_Problem/No_standard/cmake/util/gen_impl_and_mrege_json.sh b/precision_Problem/No_standard/cmake/util/gen_impl_and_mrege_json.sh new file mode 100644 index 0000000..492034e --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/gen_impl_and_mrege_json.sh @@ -0,0 +1,20 @@ +#!/usr/bin/bash + +project_path=$1 +build_path=$2 +vendor_name=customize +if [[ ! -d "$project_path" ]]; then + echo "[ERROR] No projcet path is provided" + exit 1 +fi + +if [[ ! -d "$build_path" ]]; then + echo "[ERROR] No build path is provided" + exit 1 +fi + +# copy aicpu kernel so operators +if [[ -d "${project_path}/cpukernel/aicpu_kernel_lib" ]]; then + cp -f ${project_path}/cpukernel/aicpu_kernel_lib/* ${build_path}/makepkg/packages/vendors/$vendor_name/op_impl/cpu/aicpu_kernel/impl + rm -rf ${project_path}/cpukernel/aicpu_kernel_lib +fi diff --git a/precision_Problem/No_standard/cmake/util/gen_ops_filter.sh b/precision_Problem/No_standard/cmake/util/gen_ops_filter.sh new file mode 100644 index 0000000..d4c27d1 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/gen_ops_filter.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +# Description: Generate npu_supported_ops.json +# ============================================================================== + +if [[ -z "$1" ]]; then + echo -e "[ERROR] No source dir provided" + exit 1 +fi + +if [[ -z "$2" ]]; then + echo -e "[ERROR] No destination dir provided" + exit 1 +fi + +src=$1 +dest_file=$2/npu_supported_ops.json + +if [ -f "$dest_file" ];then + chmod u+w $dest_file +fi + +echo $* + +add_ops() { + name=$1 + isHeavy=$2 + file=$3 + grep -w "\"$name\"" ${file} >/dev/null + if [ $? == 0 ];then + return + fi + echo " \"${name}\": {" >> ${file} + echo " \"isGray\": false," >> ${file} + echo " \"isHeavy\": ${isHeavy}" >> ${file} + echo " }," >> ${file} +} + +echo "{" > ${dest_file} +ini_files=$(find ${src} -name "*.ini") +for file in ${ini_files} ; do + name=$(grep '^\[' ${file} | sed 's/\[//g' | sed 's/]//g' | sed 's/\r//g') + grep 'heavyOp.flag' ${file} >/dev/null + if [ $? == 0 ];then + isHeavy=$(grep 'heavyOp.flag' ${file} | awk -F= '{print $2}') + else + isHeavy="false" + fi + for op in ${name} ; do + add_ops ${op} "false" ${dest_file} + done +done +echo "}" >> ${dest_file} +file_count=$(cat ${dest_file} | wc -l) +line=$(($file_count-1)) +sed -i "${line}{s/,//g}" ${dest_file} + +chmod 640 "${dest_file}" +echo -e "[INFO] Succed generated ${dest_file}" + +exit 0 + diff --git a/precision_Problem/No_standard/cmake/util/gen_version_info.sh b/precision_Problem/No_standard/cmake/util/gen_version_info.sh new file mode 100644 index 0000000..a06cfc7 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/gen_version_info.sh @@ -0,0 +1,6 @@ +ascend_install_dir=$1 +gen_file_dir=$2 + +# create version.info +compiler_version=$(grep "Version" -w ${ascend_install_dir}/compiler/version.info | awk -F = '{print $2}') +echo "custom_opp_compiler_version=${compiler_version}" > ${gen_file_dir}/version.info \ No newline at end of file diff --git a/precision_Problem/No_standard/cmake/util/insert_op_info.py b/precision_Problem/No_standard/cmake/util/insert_op_info.py new file mode 100644 index 0000000..28ba087 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/insert_op_info.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" +import json +import os +import sys +import stat +import const_var + + +if __name__ == '__main__': + if len(sys.argv) != 3: + print(sys.argv) + print('argv error, inert_op_info.py your_op_file lib_op_file') + sys.exit(2) + + with open(sys.argv[1], 'r') as load_f: + insert_operator = json.load(load_f) + + all_operators = {} + if os.path.exists(sys.argv[2]): + if os.path.getsize(sys.argv[2]) != 0: + with open(sys.argv[2], 'r') as load_f: + all_operators = json.load(load_f) + + for k in insert_operator.keys(): + if k in all_operators.keys(): + print('replace op:[', k, '] success') + else: + print('insert op:[', k, '] success') + all_operators[k] = insert_operator[k] + + with os.fdopen(os.open(sys.argv[2], const_var.WFLAGS, const_var.WMODES), 'w') as json_file: + json_file.write(json.dumps(all_operators, indent=4)) diff --git a/precision_Problem/No_standard/cmake/util/insert_simplified_keys.py b/precision_Problem/No_standard/cmake/util/insert_simplified_keys.py new file mode 100644 index 0000000..7e8dc2c --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/insert_simplified_keys.py @@ -0,0 +1,242 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" + +import os +import re +import glob +import json +import argparse + + +DATA_TPYE_DICT = { + 'float32': 0, + 'float16': 1, + 'int8': 2, + 'int16': 6, + 'uint16': 7, + 'uint8': 4, + 'int32': 3, + 'int64': 9, + 'uint32': 8, + 'uint64': 10, + 'bool': 12, + 'double': 11, + 'complex64': 16, + 'complex128': 17, + 'qint8': 18, + 'qint16': 19, + 'qint32': 20, + 'quint8': 21, + 'quint16': 22, + 'resource': 23, + 'string': 24, + 'dual': 25, + 'variant': 26, + 'bf16': 27, + 'bfloat16': 27, + 'undefined': 28, + 'int4': 29, + 'uint1': 30, + 'int2': 31 +} + +FORMAT_DICT = { + 'NCHW': 0, + 'NHWC': 1, + 'ND': 2, + 'NC1HWC0': 3, + 'FRACTAL_Z': 4, + 'NC1C0HWPAD': 5, + 'NHWC1C0': 6, + 'FSR_NCHW': 7, + 'FRACTAL_DECONV': 8, + 'C1HWNC0': 9, + 'FRACTAL_DECONV_TRANSPOSE': 10, + 'FRACTAL_DECONV_SP_STRIDE_TRANS': 11, + 'NC1HWC0_C04': 12, + 'FRACTAL_Z_C04': 13, + 'CHWN': 14, + 'FRACTAL_DECONV_SP_STRIDE8_TRANS': 15, + 'HWCN': 16, + 'NC1KHKWHWC0': 17, + 'BN_WEIGHT': 18, + 'FILTER_HWCK': 19, + 'HASHTABLE_LOOKUP_LOOKUPS': 20, + 'HASHTABLE_LOOKUP_KEYS': 21, + 'HASHTABLE_LOOKUP_VALUE': 22, + 'HASHTABLE_LOOKUP_OUTPUT': 23, + 'HASHTABLE_LOOKUP_HITS': 24, + 'C1HWNCoC0': 25, + 'MD': 26, + 'NDHWC': 27, + 'FRACTAL_ZZ': 28, + 'FRACTAL_NZ': 29, + 'NCDHW': 30, + 'DHWCN': 31, + 'NDC1HWC0': 32, + 'FRACTAL_Z_3D': 33, + 'CN': 34, + 'NC': 35, + 'DHWNC': 36, + 'FRACTAL_Z_3D_TRANSPOSE': 37, + 'FRACTAL_ZN_LSTM': 38, + 'FRACTAL_Z_G': 39, + 'RESERVED': 40, + 'ALL': 41, + 'NULL': 42, + 'ND_RNN_BIAS': 43, + 'FRACTAL_ZN_RNN': 44, + 'NYUV': 45, + 'NYUV_A': 46 +} + + +def load_json(json_file: str): + with open(json_file, encoding='utf-8') as file: + json_content = json.load(file) + return json_content + + +def get_specified_suffix_file(root_dir, suffix): + specified_suffix = os.path.join(root_dir, '**/*.{}'.format(suffix)) + all_suffix_files = glob.glob(specified_suffix, recursive=True) + return all_suffix_files + + +def get_deterministic_value(support_info): + deterministic_key = 'deterministic' + if deterministic_key not in support_info: + return 0 + deterministic_value = support_info.get(deterministic_key) + if deterministic_value == 'true': + return 1 + else: + return 0 + + +def get_precision_value(support_info): + precision_key = 'implMode' + precision_value = support_info.get(precision_key) + if precision_value == 'high_performance': + _value = 1 + elif precision_value == 'high_precision': + _value = 2 + else: + _value = 0 + return _value + + +def get_overflow_value(support_info): + return 0 + + +def get_parameters(info): + if info: + if 'dtype' in info: + data_type = info['dtype'] + data_type_value = DATA_TPYE_DICT.get(data_type) + else: + data_type_value = 0 + if 'format' in info: + _format = info['format'] + _format_value = FORMAT_DICT.get(_format) + else: + _format_value = 0 + else: + data_type_value = 0 + _format_value = 0 + return str(data_type_value), str(_format_value) + + +def get_dynamic_parameters(info): + # 动态输入时只需获取第一个参数 + return get_parameters(info[0]) + + +def get_all_parameters(support_info, _type): + result_list = list() + info_lists = support_info.get(_type) + if info_lists: + for _info in info_lists: + # 输入为列表时是动态输入 + if isinstance(_info, (list, tuple)): + data_type_value, _format_value = get_dynamic_parameters(_info) + else: + data_type_value, _format_value = get_parameters(_info) + result_list.append("{},{}".format(data_type_value, _format_value)) + return result_list + + +def get_all_input_parameters(support_info): + result = get_all_parameters(support_info, 'inputs') + return '/'.join(result) + + +def insert_content_into_file(input_file, content): + with open(input_file, 'r+') as file: + lines = file.readlines() + for index, line in enumerate(lines): + match_result = re.search(r'"staticKey":', line) + if match_result: + count = len(line) - len(line.lstrip()) + new_content = "{}{}".format(' ' * count, content) + # 插入到前一行,防止插入最后时还需要考虑是否添加逗号 + lines.insert(index, new_content) + break + file.seek(0) + file.write(''.join(lines)) + + +def insert_simplified_keys(json_file): + contents = load_json(json_file) + # 不存在'binFileName'或者'supportInfo'字段时,非需要替换的解析json文件 + if ('binFileName' not in contents) or ('supportInfo' not in contents): + return + support_info = contents.get('supportInfo') + bin_file_name = contents.get('binFileName') + # 'simplifiedKey'字段已经存在时,直接返回,不重复生成 + if 'simplifiedKey' in support_info: + return + op_type = bin_file_name.split('_')[0] + deterministic = str(get_deterministic_value(support_info)) + precision = str(get_precision_value(support_info)) + overflow = str(get_overflow_value(support_info)) + input_parameters = get_all_input_parameters(support_info) + key = '{}/d={},p={},o={}/{}/'.format( + op_type, + deterministic, + precision, + overflow, + input_parameters) + result = '"simplifiedKey": "' + key + '",\n' + insert_content_into_file(json_file, result) + + +def insert_all_simplified_keys(root_dir): + suffix = 'json' + all_json_files = get_specified_suffix_file(root_dir, suffix) + for _json in all_json_files: + insert_simplified_keys(_json) + + +def args_prase(): + parser = argparse.ArgumentParser() + parser.add_argument('-p', + '--path', + nargs='?', + required=True, + help='Parse the path of the json file.') + return parser.parse_args() + + +def main(): + args = args_prase() + insert_all_simplified_keys(args.path) + + +if __name__ == '__main__': + main() diff --git a/precision_Problem/No_standard/cmake/util/kernel_entry.py b/precision_Problem/No_standard/cmake/util/kernel_entry.py new file mode 100644 index 0000000..2b77c97 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/kernel_entry.py @@ -0,0 +1,115 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" + + +def gen_fun_def(title, kernel, argn, arg_type, arg_name): + entry = [] + entry.append(title) + entry.append(kernel) + entry.append('(') + args = [] + for i in range(0, argn): + args.append(arg_type + ' ' + arg_name + str(i)) + entry.append(', '.join(args)) + entry.append(')') + return ' '.join(entry) + + +def gen_batch_kernel_body(fname, argn, arg_name): + body = [] + body.append('{') + fun = [] + fun.append(fname) + fun.append('(') + args = [] + for i in range(0, argn): + args.append(arg_name + str(i)) + fun.append(', '.join(args)) + fun.append(');') + body.append(' '.join(fun)) + body.append('}') + return '\n'.join(body) + + +def gen_mc_kernel_body(kn, argn, arg_name, blknum): + body = [] + body.append('{') + body.append(' switch(block_idx) {') + for blk in range(0, blknum): + fun = [] + fun.append('{}_blk{:02d}'.format(kn, blk)) + fun.append('(') + args = [] + for i in range(0, argn): + args.append(arg_name + str(i)) + fun.append(', '.join(args)) + fun.append(')') + body.append(' case {}: {}; break;'.format(blk, ' '.join(fun))) + body.append(' default: break;') + body.append(' }') + body.append('}') + return '\n'.join(body) + + +def gen_proc_body(argn, arg_name): + body = [] + body.append('{') + args = [] + for i in range(0, argn): + args.append(arg_name + str(i)) + body.append('uint64_t __x = (uint64_t)' + ' + (uint64_t)'.join(args) + ';') + body.append('__asm__ ("NOP");') + body.append('__asm__ ("NOP");') + body.append('__asm__ ("NOP");') + body.append('}') + return '\n'.join(body) + + +def batch_code_gen(kn, argn, argt): + codes = [] + kernel_name = kn + proc_name = kernel_name + '_percore' + arg_num = int(argn) + data_type = argt + arg_type = '__gm__ ' + data_type + '* __restrict__' + arg_name = 'arg' + kernel_title = 'extern \"C\" __global__ __aicore__ void' + proc_title = 'extern \"C\" __attribute__((noinline)) __aicore__ void' + codes.append('#ifndef __aicore__') + codes.append('#define __aicore__ [aicore]') + codes.append('#endif') + codes.append(gen_fun_def(proc_title, proc_name, arg_num, arg_type, arg_name) + ';') + codes.append(gen_fun_def(kernel_title, kernel_name, arg_num, arg_type, arg_name)) + codes.append(gen_batch_kernel_body(proc_name, arg_num, arg_name)) + codes.append(gen_fun_def(proc_title, proc_name, arg_num, arg_type, arg_name)) + codes.append(gen_proc_body(arg_num, arg_name)) + return '\n'.join(codes) + '\n' + + +def mc_code_gen(kn, argn, argt, blknum): + codes = [] + kernel_name = kn + core_num = int(blknum) + arg_num = int(argn) + data_type = argt + arg_type = '__gm__ ' + data_type + '* __restrict__' + arg_name = 'arg' + kernel_title = 'extern \"C\" __global__ __aicore__ void' + proc_title = 'extern \"C\" __attribute__((noinline)) __aicore__ void' + codes.append('#ifndef __aicore__') + codes.append('#define __aicore__ [aicore]') + codes.append('#endif') + for i in range(0, core_num): + proc_name = '{}_blk{:02d}'.format(kernel_name, i) + codes.append(gen_fun_def(proc_title, proc_name, arg_num, arg_type, arg_name) + ';') + codes.append(gen_fun_def(kernel_title, kernel_name, arg_num, arg_type, arg_name)) + codes.append(gen_mc_kernel_body(kernel_name, arg_num, arg_name, core_num)) + for i in range(0, core_num): + proc_name = '{}_blk{:02d}'.format(kernel_name, i) + codes.append(gen_fun_def(proc_title, proc_name, arg_num, arg_type, arg_name)) + codes.append(gen_proc_body(arg_num, arg_name)) + return '\n'.join(codes) + '\n' diff --git a/precision_Problem/No_standard/cmake/util/kernel_impl.temp b/precision_Problem/No_standard/cmake/util/kernel_impl.temp new file mode 100644 index 0000000..5079a10 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/kernel_impl.temp @@ -0,0 +1,10 @@ +#include +#include +#include +#include +#include +#include "replay_def.h" +#include "code_gen.h" +#include "replay_fun.h" +#define __ASCENDC_REPLAY_CODE__ +#include "__CCE_FILE__" diff --git a/precision_Problem/No_standard/cmake/util/makeself/COPYING b/precision_Problem/No_standard/cmake/util/makeself/COPYING new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/makeself/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/precision_Problem/No_standard/cmake/util/makeself/README.md b/precision_Problem/No_standard/cmake/util/makeself/README.md new file mode 100644 index 0000000..b41f016 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/makeself/README.md @@ -0,0 +1,246 @@ +[![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) +![Build Status](https://github.com/megastep/makeself/workflows/CI/badge.svg) + +# makeself - Make self-extractable archives on Unix + +[makeself.sh][1] is a small shell script that generates a self-extractable +compressed tar archive from a directory. The resulting file appears as a shell script +(many of those have a **.run** suffix), and can be launched as is. The archive +will then uncompress itself to a temporary directory and an optional arbitrary +command will be executed (for example an installation script). This is pretty +similar to archives generated with WinZip Self-Extractor in the Windows world. +Makeself archives also include checksums for integrity self-validation (CRC +and/or MD5/SHA256 checksums). + +The makeself.sh script itself is used only to create the archives from a +directory of files. The resultant archive is actually a compressed (using +gzip, bzip2, or compress) TAR archive, with a small shell script stub at the +beginning. This small stub performs all the steps of extracting the files, +running the embedded command, and removing the temporary files when done. +All the user has to do to install the software contained in such an +archive is to "run" the archive, i.e **sh nice-software.run**. I recommend +using the ".run" (which was introduced by some Makeself archives released by +Loki Software) or ".sh" suffix for such archives not to confuse the users, +so that they will know they are actually shell scripts (with quite a lot of binary data +attached to them though!). + +I am trying to keep the code of this script as portable as possible, i.e it is +not relying on any bash-specific features and only calls commands that are +installed on any functioning UNIX-compatible system. This script as well as +the archives it generates should run on any Unix flavor, with any compatible +Bourne shell, provided of course that the compression programs are available. + +As of version 2.1, Makeself has been rewritten and tested on the following +platforms : + + * Linux (all distributions) + * Sun Solaris (8 and above) + * HP-UX (tested on 11.0 and 11i on HPPA RISC) + * SCO OpenUnix and OpenServer + * IBM AIX 5.1L + * macOS (Darwin) + * SGI IRIX 6.5 + * FreeBSD + * UnicOS / Cray + * Cygwin (Windows) + +If you successfully run Makeself and/or archives created with it on another +system, then please [let me know][2]! + +Examples of publicly available archives made using makeself are : + + * Game patches and installers for [Id Software][3] games like Quake 3 for Linux or Return To Castle Wolfenstein ; + * All game patches released by [Loki Software][4] for the Linux version of popular games ; + * The [nVidia drivers][5] for Linux + * The installer for the Linux version of [Google Earth][6] + * The [VirtualBox][7] installers for Linux + * The [Makeself][1] distribution itself ;-) + * and countless others... + +**Important note for Apache users:** By default, most Web servers will think that Makeself archives are regular text files and thus they may show up as text in a Web browser. The correct way to prevent this is to add a MIME type for this file format, like so (in httpd.conf) : + +`AddType application/x-makeself .run` + +**Important note for certain GNU/Linux distributions:** Archives created with Makeself prior to v2.1.2 were using an old syntax for the _head_ and _tail_ Unix commands that is being progressively obsoleted in their GNU forms. Therefore you may have problems uncompressing some of these archives. A workaround for this is to set the environment variable $_POSIX2_VERSION to enable the old syntax, i.e. : + +`export _POSIX2_VERSION=199209` + +## Usage + +The syntax of makeself is the following: + +``` +makeself.sh [args] archive_dir file_name label startup_script [script_args] +``` + + * _args_ are optional options for Makeself. The available ones are : + + * **`--version`** : Prints the version number on stdout, then exits immediately + * **`--gzip`** : Use gzip for compression (the default on platforms on which gzip is commonly available, like Linux) + * **`--bzip2`** : Use bzip2 instead of gzip for better compression. The bzip2 command must be available in the command path. It is recommended that the archive prefix be set to something like '.bz2.run', so that potential users know that they'll need bzip2 to extract it. + * **`--pbzip2`** : Use pbzip2 instead of gzip for better and faster compression on machines having multiple CPUs. The pbzip2 command must be available in the command path. It is recommended that the archive prefix be set to something like '.bz2.run', so that potential users know that they'll need bzip2 to extract it. + * **`--xz`** : Use xz instead of gzip for better compression. The xz command must be available in the command path. It is recommended that the archive prefix be set to something like '.xz.run' for the archive, so that potential users know that they'll need xz to extract it. + * **`--lzo`** : Use lzop instead of gzip for better compression. The lzop command must be available in the command path. It is recommended that the archive prefix be set to something like `.lzo.run` for the archive, so that potential users know that they'll need lzop to extract it. + * **`--lz4`** : Use lz4 instead of gzip for better compression. The lz4 command must be available in the command path. It is recommended that the archive prefix be set to something like '.lz4.run' for the archive, so that potential users know that they'll need lz4 to extract it. + * **`--zstd`** : Use zstd instead of gzip for better compression. The zstd command must be available in the command path. It is recommended that the archive prefix be set to something like '.zstd.run' for the archive, so that potential users know that they'll need zstd to extract it. + * **`--pigz`** : Use pigz for compression. + * **`--base64`** : Encode the archive to ASCII in Base64 format instead of compressing (base64 command required). + * **`--gpg-encrypt`** : Encrypt the archive using `gpg -ac -z $COMPRESS_LEVEL`. This will prompt for a password to encrypt with. Assumes that potential users have `gpg` installed. + * **`--ssl-encrypt`** : Encrypt the archive using `openssl aes-256-cbc -a -salt`. This will prompt for a password to encrypt with. Assumes that the potential users have the OpenSSL tools installed. + * **`--compress`** : Use the UNIX `compress` command to compress the data. This should be the default on all platforms that don't have gzip available. + * **`--nocomp`** : Do not use any compression for the archive, which will then be an uncompressed TAR. + * **`--complevel`** : Specify the compression level for gzip, bzip2, pbzip2, zstd, xz, lzo or lz4. (defaults to 9) + * **`--threads`** : Specify the number of threads to be used by compressors that support parallelization. Omit to use compressor's default. Most useful (and required) for opting into xz's threading, usually with `--threads=0` for all available cores. pbzip2 and pigz are parallel by default, and setting this value allows limiting the number of threads they use. + * **`--notemp`** : The generated archive will not extract the files to a temporary directory, but in a new directory created in the current directory. This is better to distribute software packages that may extract and compile by themselves (i.e. launch the compilation through the embedded script). + * **`--current`** : Files will be extracted to the current directory, instead of in a subdirectory. This option implies `--notemp` above. + * **`--follow`** : Follow the symbolic links inside of the archive directory, i.e. store the files that are being pointed to instead of the links themselves. + * **`--append`** _(new in 2.1.x)_: Append data to an existing archive, instead of creating a new one. In this mode, the settings from the original archive are reused (compression type, label, embedded script), and thus don't need to be specified again on the command line. + * **`--header`** : Makeself uses a separate file to store the header stub, called `makeself-header.sh`. By default, it is assumed that it is stored in the same location as makeself.sh. This option can be used to specify its actual location if it is stored someplace else. + * **`--cleanup`** : Specify a script that is run when execution is interrupted or finishes successfully. The script is executed with the same environment and initial `script_args` as `startup_script`. + * **`--copy`** : Upon extraction, the archive will first extract itself to a temporary directory. The main application of this is to allow self-contained installers stored in a Makeself archive on a CD, when the installer program will later need to unmount the CD and allow a new one to be inserted. This prevents "Filesystem busy" errors for installers that span multiple CDs. + * **`--nox11`** : Disable the automatic spawning of a new terminal in X11. + * **`--nowait`** : When executed from a new X11 terminal, disable the user prompt at the end of the script execution. + * **`--nomd5`** and **`--nocrc`** : Disable the creation of a MD5 / CRC checksum for the archive. This speeds up the extraction process if integrity checking is not necessary. + * **`--sha256`** : Adds a SHA256 checksum for the archive. This is in addition to the MD5 / CRC checksums unless `--nomd5` is also used. + * **`--lsm` _file_** : Provide and LSM file to makeself, that will be embedded in the generated archive. LSM files are describing a software package in a way that is easily parseable. The LSM entry can then be later retrieved using the `--lsm` argument to the archive. An example of a LSM file is provided with Makeself. + * **`--tar-format opt`** : Specify the tar archive format (default is ustar); you may use any value accepted by your tar command (such as posix, v7, etc). + * **`--tar-extra opt`** : Append more options to the tar command line. + + For instance, in order to exclude the `.git` directory from the packaged archive directory using the GNU `tar`, one can use `makeself.sh --tar-extra "--exclude=.git" ...` + + * **`--keep-umask`** : Keep the umask set to shell default, rather than overriding when executing self-extracting archive. + * **`--packaging-date date`** : Use provided string as the packaging date instead of the current date. + * **`--license`** : Append a license file. + * **`--nooverwrite`** : Do not extract the archive if the specified target directory already exists. + * **`--help-header file`** : Add a header to the archive's `--help` output. + * `archive_dir` is the name of the directory that contains the files to be archived + * `file_name` is the name of the archive to be created + * `label` is an arbitrary text string describing the package. It will be displayed while extracting the files. + * `startup_script` is the command to be executed _from within_ the directory of extracted files. Thus, if you wish to execute a program contained in this directory, you must prefix your command with `./`. For example, `./program` will be fine. The `script_args` are additional arguments for this command. + +Here is an example, assuming the user has a package image stored in a **/home/joe/mysoft**, and he wants to generate a self-extracting package named +**mysoft.sh**, which will launch the "setup" script initially stored in /home/joe/mysoft : + +`makeself.sh /home/joe/mysoft mysoft.sh "Joe's Nice Software Package" ./setup +` + +Here is also how I created the [makeself.run][9] archive which contains the Makeself distribution : + +`makeself.sh --notemp makeself makeself.run "Makeself by Stephane Peter" echo "Makeself has extracted itself" ` + +Archives generated with Makeself can be passed the following arguments: + + * **`--keep`** : Prevent the files to be extracted in a temporary directory that will be removed after the embedded script's execution. The files will then be extracted in the current working directory and will stay here until you remove them. + * **`--verbose`** : Will prompt the user before executing the embedded command + * **`--target dir`** : Allows to extract the archive in an arbitrary place. + * **`--nox11`** : Do not spawn a X11 terminal. + * **`--confirm`** : Prompt the user for confirmation before running the embedded command. + * **`--info`** : Print out general information about the archive (does not extract). + * **`--lsm`** : Print out the LSM entry, if it is present. + * **`--list`** : List the files in the archive. + * **`--check`** : Check the archive for integrity using the embedded checksums. Does not extract the archive. + * **`--nochown`** : By default, a `chown -R` command is run on the target directory after extraction, so that all files belong to the current user. This is mostly needed if you are running as root, as tar will then try to recreate the initial user ownerships. You may disable this behavior with this flag. + * **`--tar`** : Run the tar command on the contents of the archive, using the following arguments as parameter for the command. + * **`--noexec`** : Do not run the embedded script after extraction. + * **`--noexec-cleanup`** : Do not run the embedded cleanup script. + * **`--nodiskspace`** : Do not check for available disk space before attempting to extract. + * **`--cleanup-args`** : Specify arguments to be passed to the cleanup script. Wrap value in quotes to specify multiple arguments. + +Any subsequent arguments to the archive will be passed as additional arguments to the embedded command. You must explicitly use the `--` special command-line construct before any such options to make sure that Makeself will not try to interpret them. + +## Startup Script + +The startup script must be a regular Shell script. + +Within the startup script, you can use the `$USER_PWD` variable to get the path of the folder from which the self-extracting script is executed. This is especially useful to access files that are located in the same folder as the script, as shown in the example below. + +`my-self-extracting-script.sh --fooBarFileParameter foo.bar` + +## Building and Testing + +Clone the git repo and execute `git submodule update --init --recursive` to obtain all submodules. + +* To make a release: `make` +* To run all tests: `make test` + +## Maven Usage + +Makeself is now supported by the following maven plugin [makeself-maven-plugin](https://github.com/hazendaz/makeself-maven-plugin). Please refer to project for usage and report any bugs in regards to maven plugin on that project. + +## License + +Makeself itself is covered by the [GNU General Public License][8] (GPL) version 2 and above. Archives generated by Makeself don't have to be placed under this license (although I encourage it ;-)), since the archive itself is merely data for Makeself. + +## Contributing + +I will gladly consider merging your pull requests on the [GitHub][10] repository. However, please keep the following in mind: + + * One of the main purposes of Makeself is portability. Do not submit patches that will break supported platforms. The more platform-agnostic, the better. + * Please explain clearly what the purpose of the patch is, and how you achieved it. + +## Download + +Get the latest official distribution [here][9] (version 2.4.2). + +The latest development version can be grabbed from [GitHub][10]. Feel free to submit any patches there through the fork and pull request process. + +## Version history + + * **v1.0:** Initial public release + * **v1.1:** The archive can be passed parameters that will be passed on to the embedded script, thanks to John C. Quillan + * **v1.2:** Cosmetic updates, support for bzip2 compression and non-temporary archives. Many ideas thanks to Francois Petitjean. + * **v1.3:** More patches from Bjarni R. Einarsson and Francois Petitjean: Support for no compression (`--nocomp`), script is no longer mandatory, automatic launch in an xterm, optional verbose output, and -target archive option to indicate where to extract the files. + * **v1.4:** Many patches from Francois Petitjean: improved UNIX compatibility, automatic integrity checking, support of LSM files to get info on the package at run time.. + * **v1.5.x:** A lot of bugfixes, and many other patches, including automatic verification through the usage of checksums. Version 1.5.5 was the stable release for a long time, even though the Web page didn't get updated ;-). Makeself was also officially made a part of the [Loki Setup installer][11], and its source is being maintained as part of this package. + * **v2.0:** Complete internal rewrite of Makeself. The command-line parsing was vastly improved, the overall maintenance of the package was greatly improved by separating the stub from makeself.sh. Also Makeself was ported and tested to a variety of Unix platforms. + * **v2.0.1:** First public release of the new 2.0 branch. Prior versions are officially obsoleted. This release introduced the `--copy` argument that was introduced in response to a need for the [UT2K3][12] Linux installer. + * **v2.1.0:** Big change : Makeself can now support multiple embedded tarballs, each stored separately with their own checksums. An existing archive can be updated with the `--append` flag. Checksums are also better managed, and the `--nochown` option for archives appeared. + * **v2.1.1:** Fixes related to the Unix compression (compress command). Some Linux distributions made the insane choice to make it unavailable, even though gzip is capable of uncompressing these files, plus some more bugfixes in the extraction and checksum code. + * **v2.1.2:** Some bug fixes. Use head -n to avoid problems with POSIX conformance. + * **v2.1.3:** Bug fixes with the command line when spawning terminals. Added `--tar`, `--noexec` for archives. Added `--nomd5` and `--nocrc` to avoid creating checksums in archives. The embedded script is now run through "eval". The `--info` output now includes the command used to create the archive. A man page was contributed by Bartosz Fenski. + * **v2.1.4:** Fixed `--info` output. Generate random directory name when extracting files to . to avoid problems. Better handling of errors with wrong permissions for the directory containing the files. Avoid some race conditions, Unset the $CDPATH variable to avoid problems if it is set. Better handling of dot files in the archive directory. + * **v2.1.5:** Made the md5sum detection consistent with the header code. Check for the presence of the archive directory. Added `--encrypt` for symmetric encryption through gpg (Eric Windisch). Added support for the digest command on Solaris 10 for MD5 checksums. Check for available disk space before extracting to the target directory (Andreas Schweitzer). Allow extraction to run asynchronously (patch by Peter Hatch). Use file descriptors internally to avoid error messages (patch by Kay Tiong Khoo). + * **v2.1.6:** Replaced one dot per file progress with a realtime progress percentage and a spinning cursor. Added `--noprogress` to prevent showing the progress during the decompression. Added `--target` dir to allow extracting directly to a target directory. (Guy Baconniere) + * **v2.2.0:** First major new release in years! Includes many bugfixes and user contributions. Please look at the [project page on Github][10] for all the details. + * **v2.3.0:** Support for archive encryption via GPG or OpenSSL. Added LZO and LZ4 compression support. Options to set the packaging date and stop the umask from being overriden. Optionally ignore check for available disk space when extracting. New option to check for root permissions before extracting. + * **v2.3.1:** Various compatibility updates. Added unit tests for Travis CI in the GitHub repo. New `--tar-extra`, `--untar-extra`, `--gpg-extra`, `--gpg-asymmetric-encrypt-sign` options. + * **v2.4.0:** Added optional support for SHA256 archive integrity checksums. + * **v2.4.2:** New --cleanup and --cleanup-args arguments for cleanup scripts. Added threading support for supported compressors. Now supports zstd compression. + * **v2.4.3:** Make explicit POSIX tar archives for increased compatibility. + * **v2.4.4:** Fixed various compatibility issues (no longer use POSIX tar archives), Github Actions to check on Solaris and FreeBSD. + * **v2.4.5:** Added `--tar-format` option to set the tar archive format (default is ustar) + +## Links + + * Check out the ["Loki Setup"][11] installer, used to install many Linux games and other applications, and of which I am the co-author. Since the demise of Loki, I am now the official maintainer of the project, and it is now being hosted here on GitHub. + * Bjarni R. Einarsson also wrote the **setup.sh** installer script, inspired by Makeself. [Check it out !][14] + +## Contact + +This script was written by [Stéphane Peter][15] (megastep at megastep.org). Any enhancements and suggestions are welcome. + +Contributions were included from John C. Quillan, Bjarni R. Einarsson, +Francois Petitjean, Ryan C. Gordon, and many contributors on GitHub. If you think I forgot +your name, don't hesitate to contact me. + +This project is now hosted on GitHub. Feel free to submit patches and bug reports on the [project page][10]. + +* * * + +[Stephane Peter][2] + + [1]: http://makeself.io/ + [2]: mailto:megastep@megastep.org + [3]: http://www.idsoftware.com/ + [4]: http://www.lokigames.com/products/myth2/updates.php3 + [5]: http://www.nvidia.com/ + [6]: http://earth.google.com/ + [7]: http://www.virtualbox.org/ + [8]: http://www.gnu.org/copyleft/gpl.html + [9]: https://github.com/megastep/makeself/releases/download/release-2.4.5/makeself-2.4.5.run + [10]: https://github.com/megastep/makeself + [11]: https://github.com/megastep/loki_setup/ + [12]: http://www.unrealtournament2003.com/ + [13]: http://www.icculus.org/ + [14]: http://bre.klaki.net/programs/setup.sh/ + [15]: https://stephanepeter.com/ diff --git a/precision_Problem/No_standard/cmake/util/makeself/VERSION b/precision_Problem/No_standard/cmake/util/makeself/VERSION new file mode 100644 index 0000000..59aa62c --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/makeself/VERSION @@ -0,0 +1 @@ +2.4.5 diff --git a/precision_Problem/No_standard/cmake/util/makeself/make-release.sh b/precision_Problem/No_standard/cmake/util/makeself/make-release.sh new file mode 100644 index 0000000..b5692d4 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/makeself/make-release.sh @@ -0,0 +1,9 @@ +#!/bin/sh +# +# Create a distributable archive of the current version of Makeself + +VER=`cat VERSION` +mkdir -p /tmp/makeself-$VER release +cp -pPR makeself* test README.md COPYING VERSION .gitmodules /tmp/makeself-$VER/ +./makeself.sh --notemp /tmp/makeself-$VER release/makeself-$VER.run "Makeself v$VER" echo "Makeself has extracted itself" + diff --git a/precision_Problem/No_standard/cmake/util/makeself/makeself-header.sh b/precision_Problem/No_standard/cmake/util/makeself/makeself-header.sh new file mode 100644 index 0000000..9409031 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/makeself/makeself-header.sh @@ -0,0 +1,660 @@ +cat << EOF > "$archname" +#!/bin/bash +# This script was generated using Makeself $MS_VERSION +# The license covering this archive and its contents, if any, is wholly independent of the Makeself license (GPL) +# 2022.3.19-Modified the MS_Help function and some options +# Huawei Technologies Co., Ltd. + +ORIG_UMASK=\`umask\` + +CRCsum="$CRCsum" +MD5="$MD5sum" +SHA="$SHAsum" +SIGNATURE="$Signature" +TMPROOT=\${TMPDIR:="\$HOME"} +if ! test -d "\$TMPROOT"; then + TMPROOT="\$PWD" +fi +export TMPDIR="\$TMPROOT" +USER_PWD="\$PWD" +if ! test -d "\$USER_PWD"; then + exit 1 +fi +export USER_PWD +ARCHIVE_DIR=\`dirname "\$0"\` +export ARCHIVE_DIR + +name_of_file="\$0 " +pwd_of_file="\$PWD" +label="$LABEL" +script="$SCRIPT" +scriptargs="$SCRIPTARGS" +cleanup_script="${CLEANUP_SCRIPT}" +licensetxt="$LICENSE" +helpheader='$HELPHEADER' +targetdir="$archdirname" +filesizes="$filesizes" +totalsize="$totalsize" +keep="$KEEP" +nooverwrite="$NOOVERWRITE" +quiet="n" +accept="n" +nodiskspace="n" +export_conf="$EXPORT_CONF" +decrypt_cmd="$DECRYPT_CMD" +skip="$SKIP" + +print_cmd_arg="" +if type printf > /dev/null; then + print_cmd="printf" +elif test -x /usr/ucb/echo; then + print_cmd="/usr/ucb/echo" +else + print_cmd="echo" +fi + +if test -d /usr/xpg4/bin; then + PATH=/usr/xpg4/bin:\$PATH + export PATH +fi + +if test -d /usr/sfw/bin; then + PATH=\$PATH:/usr/sfw/bin + export PATH +fi + +unset CDPATH + +MS_Printf() +{ + \$print_cmd \$print_cmd_arg "\$1" +} + +MS_PrintLicense() +{ + PAGER=\${PAGER:=more} + if test x"\$licensetxt" != x; then + PAGER_PATH=\`exec <&- 2>&-; which \$PAGER || command -v \$PAGER || type \$PAGER\` + if test -x "\$PAGER_PATH"; then + echo "\$licensetxt" | \$PAGER + else + echo "\$licensetxt" + fi + if test x"\$accept" != xy; then + while true + do + MS_Printf "Please type y to accept, n otherwise: " + read yn + if test x"\$yn" = xn; then + keep=n + eval \$finish; exit 1 + break; + elif test x"\$yn" = xy; then + break; + fi + done + fi + fi +} + +MS_diskspace() +{ + ( + df -kP "\$1" | tail -1 | awk '{ if (\$4 ~ /%/) {print \$3} else {print \$4} }' + ) +} + +MS_dd() +{ + blocks=\`expr \$3 / 1024\` + bytes=\`expr \$3 % 1024\` + # Test for ibs, obs and conv feature + if dd if=/dev/zero of=/dev/null count=1 ibs=512 obs=512 conv=sync 2> /dev/null; then + dd if="\$1" ibs=\$2 skip=1 obs=1024 conv=sync 2> /dev/null | \\ + { test \$blocks -gt 0 && dd ibs=1024 obs=1024 count=\$blocks ; \\ + test \$bytes -gt 0 && dd ibs=1 obs=1024 count=\$bytes ; } 2> /dev/null + else + dd if="\$1" bs=\$2 skip=1 2> /dev/null + fi +} + +MS_dd_Progress() +{ + if test x"\$noprogress" = xy; then + MS_dd "\$@" + return \$? + fi + file="\$1" + offset=\$2 + length=\$3 + pos=0 + bsize=4194304 + while test \$bsize -gt \$length; do + bsize=\`expr \$bsize / 4\` + done + blocks=\`expr \$length / \$bsize\` + bytes=\`expr \$length % \$bsize\` + ( + dd ibs=\$offset skip=1 2>/dev/null + pos=\`expr \$pos \+ \$bsize\` + MS_Printf " 0%% " 1>&2 + if test \$blocks -gt 0; then + while test \$pos -le \$length; do + dd bs=\$bsize count=1 2>/dev/null + pcent=\`expr \$length / 100\` + pcent=\`expr \$pos / \$pcent\` + if test \$pcent -lt 100; then + MS_Printf "\b\b\b\b\b\b\b" 1>&2 + if test \$pcent -lt 10; then + MS_Printf " \$pcent%% " 1>&2 + else + MS_Printf " \$pcent%% " 1>&2 + fi + fi + pos=\`expr \$pos \+ \$bsize\` + done + fi + if test \$bytes -gt 0; then + dd bs=\$bytes count=1 2>/dev/null + fi + MS_Printf "\b\b\b\b\b\b\b" 1>&2 + MS_Printf " 100%% " 1>&2 + ) < "\$file" +} + +MS_Help() +{ + cat << EOH >&2 +Usage: \$0 [options] +Options: + --help | -h Print this message + --info Print embedded info : title, default target directory, embedded script ... + --list Print the list of files in the archive + --check Checks integrity and version dependency of the archive + --quiet Quiet install mode, skip human-computer interactions + --nox11 Do not spawn an xterm + --noexec Do not run embedded script + --extract= Extract directly to a target directory (absolute or relative) + Usually used with --noexec to just extract files without running + --tar arg1 [arg2 ...] Access the contents of the archive through the tar command +\${helpheader} +EOH +} + +MS_Verify_Sig() +{ + GPG_PATH=\`exec <&- 2>&-; which gpg || command -v gpg || type gpg\` + MKTEMP_PATH=\`exec <&- 2>&-; which mktemp || command -v mktemp || type mktemp\` + test -x "\$GPG_PATH" || GPG_PATH=\`exec <&- 2>&-; which gpg || command -v gpg || type gpg\` + test -x "\$MKTEMP_PATH" || MKTEMP_PATH=\`exec <&- 2>&-; which mktemp || command -v mktemp || type mktemp\` + offset=\`head -n "\$skip" "\$1" | wc -c | tr -d " "\` + temp_sig=\`mktemp -t XXXXX\` + echo \$SIGNATURE | base64 --decode > "\$temp_sig" + gpg_output=\`MS_dd "\$1" \$offset \$totalsize | LC_ALL=C "\$GPG_PATH" --verify "\$temp_sig" - 2>&1\` + gpg_res=\$? + rm -f "\$temp_sig" + if test \$gpg_res -eq 0 && test \`echo \$gpg_output | grep -c Good\` -eq 1; then + if test \`echo \$gpg_output | grep -c \$sig_key\` -eq 1; then + test x"\$quiet" = xn && echo "GPG signature is good" >&2 + else + echo "GPG Signature key does not match" >&2 + exit 2 + fi + else + test x"\$quiet" = xn && echo "GPG signature failed to verify" >&2 + exit 2 + fi +} + +MS_Check() +{ + OLD_PATH="\$PATH" + PATH=\${GUESS_MD5_PATH:-"\$OLD_PATH:/bin:/usr/bin:/sbin:/usr/local/ssl/bin:/usr/local/bin:/opt/openssl/bin"} + MD5_ARG="" + MD5_PATH=\`exec <&- 2>&-; which md5sum || command -v md5sum || type md5sum\` + test -x "\$MD5_PATH" || MD5_PATH=\`exec <&- 2>&-; which md5 || command -v md5 || type md5\` + test -x "\$MD5_PATH" || MD5_PATH=\`exec <&- 2>&-; which digest || command -v digest || type digest\` + PATH="\$OLD_PATH" + + SHA_PATH=\`exec <&- 2>&-; which shasum || command -v shasum || type shasum\` + test -x "\$SHA_PATH" || SHA_PATH=\`exec <&- 2>&-; which sha256sum || command -v sha256sum || type sha256sum\` + + if test x"\$quiet" = xn; then + MS_Printf "Verifying archive integrity..." + fi + offset=\`head -n "\$skip" "\$1" | wc -c | tr -d " "\` + fsize=\`cat "\$1" | wc -c | tr -d " "\` + if test \$totalsize -ne \`expr \$fsize - \$offset\`; then + echo " Unexpected archive size." >&2 + exit 2 + fi + verb=\$2 + i=1 + for s in \$filesizes + do + crc=\`echo \$CRCsum | cut -d" " -f\$i\` + if test -x "\$SHA_PATH"; then + if test x"\`basename \$SHA_PATH\`" = xshasum; then + SHA_ARG="-a 256" + fi + sha=\`echo \$SHA | cut -d" " -f\$i\` + if test x"\$sha" = x0000000000000000000000000000000000000000000000000000000000000000; then + test x"\$verb" = xy && echo " \$1 does not contain an embedded SHA256 checksum." >&2 + else + shasum=\`MS_dd_Progress "\$1" \$offset \$s | eval "\$SHA_PATH \$SHA_ARG" | cut -b-64\`; + if test x"\$shasum" != x"\$sha"; then + echo "Error in SHA256 checksums: \$shasum is different from \$sha" >&2 + exit 2 + elif test x"\$quiet" = xn; then + MS_Printf " SHA256 checksums are OK." >&2 + fi + crc="0000000000"; + fi + fi + if test -x "\$MD5_PATH"; then + if test x"\`basename \$MD5_PATH\`" = xdigest; then + MD5_ARG="-a md5" + fi + md5=\`echo \$MD5 | cut -d" " -f\$i\` + if test x"\$md5" = x00000000000000000000000000000000; then + test x"\$verb" = xy && echo " \$1 does not contain an embedded MD5 checksum." >&2 + else + md5sum=\`MS_dd_Progress "\$1" \$offset \$s | eval "\$MD5_PATH \$MD5_ARG" | cut -b-32\`; + if test x"\$md5sum" != x"\$md5"; then + echo "Error in MD5 checksums: \$md5sum is different from \$md5" >&2 + exit 2 + elif test x"\$quiet" = xn; then + MS_Printf " MD5 checksums are OK." >&2 + fi + crc="0000000000"; verb=n + fi + fi + if test x"\$crc" = x0000000000; then + test x"\$verb" = xy && echo " \$1 does not contain a CRC checksum." >&2 + else + sum1=\`MS_dd_Progress "\$1" \$offset \$s | CMD_ENV=xpg4 cksum | awk '{print \$1}'\` + if test x"\$sum1" != x"\$crc"; then + echo "Error in checksums: \$sum1 is different from \$crc" >&2 + exit 2 + elif test x"\$quiet" = xn; then + MS_Printf " CRC checksums are OK." >&2 + fi + fi + i=\`expr \$i + 1\` + offset=\`expr \$offset + \$s\` + done + if test x"\$quiet" = xn; then + echo " All good." + fi +} + +MS_Decompress() +{ + if test x"\$decrypt_cmd" != x""; then + { eval "\$decrypt_cmd" || echo " ... Decryption failed." >&2; } | eval "$GUNZIP_CMD" + else + eval "$GUNZIP_CMD" + fi + + if test \$? -ne 0; then + echo " ... Decompression failed." >&2 + fi +} + +UnTAR() +{ + if test x"\$quiet" = xn; then + tar \$1vf - $UNTAR_EXTRA 2>&1 || { echo " ... Extraction failed." >&2; kill -15 \$$; } + else + tar \$1f - $UNTAR_EXTRA 2>&1 || { echo Extraction failed. >&2; kill -15 \$$; } + fi +} + +MS_exec_cleanup() { + if test x"\$cleanup" = xy && test x"\$cleanup_script" != x""; then + cleanup=n + cd "\$tmpdir" + eval "\"\$cleanup_script\" \$scriptargs \$cleanupargs" + fi +} + +MS_cleanup() +{ + echo 'Signal caught, cleaning up' >&2 + MS_exec_cleanup + cd "\$TMPROOT" + rm -rf "\$tmpdir" + eval \$finish; exit 15 +} + +Script_Args_Check() +{ + script_supported_args=\$(echo \${helpheader} | grep -o -E "\-\-[^ ]+" | awk -F"=" {'print \$1'}) + arg_to_test=\$(echo \$1|awk -F"=" {'print \$1'}) + + for arg in \${script_supported_args}; + do + if test x"\$arg_to_test" = x"\$arg" ;then + return + fi + done + + MS_Help + exit 1 +} + +finish=true +xterm_loop= +noprogress=$NOPROGRESS +nox11=$NOX11 +copy=$COPY +ownership=$OWNERSHIP +verbose=n +cleanup=y +cleanupargs= +sig_key= + +initargs="\$@" + +while [ -n "\$*" ] +do + case "\$1" in + -h | --help) + MS_Help + exit 0 + ;; + -q | --quiet) + quiet=y + noprogress=y + shift + ;; + --info) + echo Identification: "\$label" + echo Target directory: "\$targetdir" + echo Uncompressed size: $USIZE KB + echo Compression: $COMPRESS + if test x"$ENCRYPT" != x""; then + echo Encryption: $ENCRYPT + fi + echo Date of packaging: $DATE + echo Built with Makeself version $MS_VERSION + echo Build command was: "$MS_COMMAND" + if test x"\$script" != x; then + echo Script run after extraction: + echo " " \$script \$scriptargs + fi + if test x"$copy" = xcopy; then + echo "Archive will copy itself to a temporary location" + fi + if test x"$NEED_ROOT" = xy; then + echo "Root permissions required for extraction" + fi + if test x"$KEEP" = xy; then + echo "directory \$targetdir is permanent" + else + echo "\$targetdir will be removed after extraction" + fi + exit 0 + ;; + --list) + echo Target directory: \$targetdir + offset=\`head -n "\$skip" "\$0" | wc -c | tr -d " "\` + for s in \$filesizes + do + MS_dd "\$0" \$offset \$s | MS_Decompress | UnTAR t + offset=\`expr \$offset + \$s\` + done + exit 0 + ;; + --tar) + offset=\`head -n "\$skip" "\$0" | wc -c | tr -d " "\` + arg1="\$2" + shift 2 || { MS_Help; exit 1; } + for s in \$filesizes + do + MS_dd "\$0" \$offset \$s | MS_Decompress | tar "\$arg1" - "\$@" + offset=\`expr \$offset + \$s\` + done + exit 0 + ;; + --check) + MS_Check "\$0" y + scriptargs="\$scriptargs \$1" + shift + ;; + --noexec) + script="" + cleanup_script="" + shift + ;; + --extract=*) + keep=y + targetdir=\`echo \$1 | cut -d"=" -f2 \` + if ! shift; then MS_Help; exit 1; fi + ;; + --nox11) + nox11=y + shift + ;; + --xwin) + if test "$NOWAIT" = n; then + finish="echo Press Return to close this window...; read junk" + fi + xterm_loop=1 + shift + ;; + --phase2) + copy=phase2 + shift + ;; + --repack | --repack-path=*) + Script_Args_Check \$1 + scriptargs="\$scriptargs '\$1'" + shift + if [[ ! "\$1" =~ ^-.* ]]; then + scriptargs="\$scriptargs '\$1'" + shift + fi + ;; + *) + Script_Args_Check \$1 + scriptargs="\$scriptargs '\$1'" + shift + ;; + esac +done + +quiet_para="" +if test x"\$quiet" = xy; then + quiet_para="--quiet " +fi +scriptargs="--\$name_of_file""--\"\$pwd_of_file\""" \$quiet_para""\$scriptargs" + +if test x"\$quiet" = xy -a x"\$verbose" = xy; then + echo Cannot be verbose and quiet at the same time. >&2 + exit 1 +fi + +if test x"$NEED_ROOT" = xy -a \`id -u\` -ne 0; then + echo "Administrative privileges required for this archive (use su or sudo)" >&2 + exit 1 +fi + +if test x"\$copy" \!= xphase2; then + MS_PrintLicense +fi + +case "\$copy" in +copy) + tmpdir="\$TMPROOT"/makeself.\$RANDOM.\`date +"%y%m%d%H%M%S"\`.\$\$ + mkdir "\$tmpdir" || { + echo "Could not create temporary directory \$tmpdir" >&2 + exit 1 + } + SCRIPT_COPY="\$tmpdir/makeself" + echo "Copying to a temporary location..." >&2 + cp "\$0" "\$SCRIPT_COPY" + chmod +x "\$SCRIPT_COPY" + cd "\$TMPROOT" + exec "\$SCRIPT_COPY" --phase2 -- \$initargs + ;; +phase2) + finish="\$finish ; rm -rf \`dirname \$0\`" + ;; +esac + +if test x"\$nox11" = xn; then + if tty -s; then # Do we have a terminal? + : + else + if test x"\$DISPLAY" != x -a x"\$xterm_loop" = x; then # No, but do we have X? + if xset q > /dev/null 2>&1; then # Check for valid DISPLAY variable + GUESS_XTERMS="xterm gnome-terminal rxvt dtterm eterm Eterm xfce4-terminal lxterminal kvt konsole aterm terminology" + for a in \$GUESS_XTERMS; do + if type \$a >/dev/null 2>&1; then + XTERM=\$a + break + fi + done + chmod a+x \$0 || echo Please add execution rights on \$0 + if test \`echo "\$0" | cut -c1\` = "/"; then # Spawn a terminal! + exec \$XTERM -e "\$0 --xwin \$initargs" + else + exec \$XTERM -e "./\$0 --xwin \$initargs" + fi + fi + fi + fi +fi + +if test x"\$targetdir" = x.; then + tmpdir="." +else + if test x"\$keep" = xy; then + if test x"\$nooverwrite" = xy && test -d "\$targetdir"; then + echo "Target directory \$targetdir already exists, aborting." >&2 + exit 1 + fi + if test x"\$quiet" = xn; then + echo "Creating directory \$targetdir" >&2 + fi + tmpdir="\$targetdir" + dashp="-p" + else + tmpdir="\$TMPROOT/selfgz\$\$\$RANDOM" + dashp="" + fi + mkdir \$dashp "\$tmpdir" || { + echo 'Cannot create target directory' \$tmpdir >&2 + echo 'You should try option --extract=' >&2 + eval \$finish + exit 1 + } +fi + +location="\`pwd\`" +if test x"\$SETUP_NOCHECK" != x1; then + MS_Check "\$0" +fi +offset=\`head -n "\$skip" "\$0" | wc -c | tr -d " "\` + +if test x"\$verbose" = xy; then + MS_Printf "About to extract $USIZE KB in \$tmpdir ... Proceed ? [Y/n] " + read yn + if test x"\$yn" = xn; then + eval \$finish; exit 1 + fi +fi + +if test x"\$quiet" = xn; then + # Decrypting with openssl will ask for password, + # the prompt needs to start on new line + if test x"$ENCRYPT" = x"openssl"; then + echo "Decrypting and uncompressing \$label..." + else + MS_Printf "Uncompressing \$label" + fi +fi +res=3 +if test x"\$keep" = xn; then + trap MS_cleanup 1 2 3 15 +fi + +if test x"\$nodiskspace" = xn; then + leftspace=\`MS_diskspace "\$tmpdir"\` + if test -n "\$leftspace"; then + if test "\$leftspace" -lt $USIZE; then + echo + echo "Not enough space left in "\`dirname \$tmpdir\`" (\$leftspace KB) to decompress \$0 ($USIZE KB)" >&2 + if test x"\$keep" = xn; then + echo "Consider setting TMPDIR to a directory with more free space." + fi + eval \$finish; exit 1 + fi + fi +fi + +for s in \$filesizes +do + if MS_dd_Progress "\$0" \$offset \$s | MS_Decompress | ( cd "\$tmpdir"; umask \$ORIG_UMASK ; UnTAR xp ) 1>/dev/null; then + if test x"\$ownership" = xy; then + (cd "\$tmpdir"; chown -R \`id -u\` .; chgrp -R \`id -g\` .) + fi + else + echo >&2 + echo "Unable to decompress \$0" >&2 + eval \$finish; exit 1 + fi + offset=\`expr \$offset + \$s\` +done +if test x"\$quiet" = xn; then + echo +fi + +cd "\$tmpdir" +res=0 +if test x"\$script" != x; then + if test x"\$export_conf" = x"y"; then + MS_BUNDLE="\$0" + MS_LABEL="\$label" + MS_SCRIPT="\$script" + MS_SCRIPTARGS="\$scriptargs" + MS_ARCHDIRNAME="\$archdirname" + MS_KEEP="\$KEEP" + MS_NOOVERWRITE="\$NOOVERWRITE" + MS_COMPRESS="\$COMPRESS" + MS_CLEANUP="\$cleanup" + export MS_BUNDLE MS_LABEL MS_SCRIPT MS_SCRIPTARGS + export MS_ARCHDIRNAME MS_KEEP MS_NOOVERWRITE MS_COMPRESS + fi + + if test x"\$verbose" = x"y"; then + yn="x" + while test x"\$yn" != x -a x"\$yn" != xy -a x"\$yn" != xY -a x"\$yn" != xn -a x"\$yn" != xN + do + MS_Printf "OK to execute: \$script \$scriptargs \$* ? [Y/n] " + read yn + if test x"\$yn" = x -o x"\$yn" = xy -o x"\$yn" = xY; then + eval "\"\$script\" \$scriptargs \"\\\$@\""; res=\$?; + elif test x"\$yn" = xn -o x"\$yn" = xN; then + echo "Unable to decompress \$script ,because of aborting! ";res=\$? + else + echo "Input value is unacceptable,please try again." + fi + done + else + eval "\"\$script\" \$scriptargs \"\\\$@\""; res=\$? + fi + if test "\$res" -ne 0; then + test x"\$verbose" = xy && echo "The program '\$script' returned an error code (\$res)" >&2 + fi +fi + +MS_exec_cleanup + +if test x"\$keep" = xn; then + cd "\$TMPROOT" + rm -rf "\$tmpdir" +fi +eval \$finish; exit \$res +EOF diff --git a/precision_Problem/No_standard/cmake/util/makeself/makeself.1 b/precision_Problem/No_standard/cmake/util/makeself/makeself.1 new file mode 100644 index 0000000..81bf6e4 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/makeself/makeself.1 @@ -0,0 +1,110 @@ +.TH "MAKESELF" "1" "2.4.5" +.SH "NAME" +makeself \- An utility to generate self-extractable archives. +.SH "SYNTAX" +.B makeself [\fIoptions\fP] archive_dir file_name label +.B [\fIstartup_script\fP] [\fIargs\fP] +.SH "DESCRIPTION" +This program is a free (GPL) utility designed to create self-extractable +archives from a directory. +.SH "OPTIONS" +The following options are supported. +.TP 15 +.B -v, --version +Prints out the makeself version number and exits. +.TP +.B -h, --help +Print out help information. +.TP +.B --tar-quietly +Suppress verbose output from the tar command +.TP +.B --quiet +Do not print any messages other than errors +.TP +.B --gzip +Compress using gzip (default if detected). +.TP +.B --bzip2 +Compress using bzip2. +.TP +.B --pbzip2 +Compress using pbzip2. +.TP +.B --xz +Compress using xz. +.TP +.B --lzo +Compress using lzop. +.TP +.B --lz4 +Compress using lz4. +.TP +.B --compress +Compress using the UNIX 'compress' command. +.TP +.B --nocomp +Do not compress the data. +.TP +.B --complevel lvl +Specify the compression level for gzip,bzip2,pbzui2,xz,lzo or lz4 +.TP +.B --notemp +The archive will create archive_dir in the current directory and +uncompress in ./archive_dir. +.TP +.B --copy +Upon extraction, the archive will first copy itself to a temporary directory. +.TP +.B --append +Append more files to an existing makeself archive. The label and startup scripts will then be ignored. +.TP +.B --current +Files will be extracted to the current directory. Both --current and --target dir imply --notemp. +.TP +.B --target dir +Extract directly to a target directory. Directory path can be either absolute or relative. +.TP +.B --header file +Specify location of the header script. +.TP +.B --cleanup file +Specify a cleanup script that executes on interrupt and when finished successfully. +.TP +.B --follow +Follow the symlinks in the archive. +.TP +.B --noprogress +Do not show the progress during the decompression. +.TP +.B --nox11 +Disable automatic spawn of an xterm if running in X11. +.TP +.B --nowait +Do not wait for user input after executing embedded program from an xterm. +.TP +.B --nomd5 +Do not create a MD5 checksum for the archive. +.TP +.B --nocrc +Do not create a CRC32 checksum for the archive. +.TP +.B --lsm file +LSM file describing the package. +.B --packaging-date date +Use provided string as the packaging date instead of the current date. +.SH "EXAMPLES" +Here is an example, assuming the user has a package image stored in a /home/joe/mysoft, +and he wants to generate a self-extracting package named mysoft.sh, which will launch +the "setup" script initially stored in /home/joe/mysoft: +.TP +makeself.sh /home/joe/mysoft mysoft.sh "Joe's Nice Software Package" ./setup +.TP +Here is also how I created the makeself.run archive which contains the Makeself distribution: +.TP +makeself.sh --notemp makeself makeself.run "Makeself by Stephane Peter" echo "Makeself has extracted itself" +.SH "AUTHORS" +Makeself has been written by Stéphane Peter . +.BR +This man page was originally written by Bartosz Fenski for the +Debian GNU/Linux distribution (but it may be used by others). diff --git a/precision_Problem/No_standard/cmake/util/makeself/makeself.lsm b/precision_Problem/No_standard/cmake/util/makeself/makeself.lsm new file mode 100644 index 0000000..3c4cea8 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/makeself/makeself.lsm @@ -0,0 +1,16 @@ +Begin3 +Title: makeself.sh +Version: 2.4.5 +Description: makeself.sh is a shell script that generates a self-extractable + tar.gz archive from a directory. The resulting file appears as a shell + script, and can be launched as is. The archive will then uncompress + itself to a temporary directory and an arbitrary command will be + executed (for example an installation script). This is pretty similar + to archives generated with WinZip Self-Extractor in the Windows world. +Keywords: Installation archive tar winzip +Author: Stephane Peter (megastep@megastep.org) +Maintained-by: Stephane Peter (megastep@megastep.org) +Original-site: https://makeself.io/ +Platform: Unix +Copying-policy: GPL +End diff --git a/precision_Problem/No_standard/cmake/util/makeself/makeself.sh b/precision_Problem/No_standard/cmake/util/makeself/makeself.sh new file mode 100644 index 0000000..c8ea565 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/makeself/makeself.sh @@ -0,0 +1,822 @@ +#!/bin/sh +# +# Makeself version 2.4.x +# by Stephane Peter +# +# Utility to create self-extracting tar.gz archives. +# The resulting archive is a file holding the tar.gz archive with +# a small Shell script stub that uncompresses the archive to a temporary +# directory and then executes a given script from withing that directory. +# +# Makeself home page: https://makeself.io/ +# +# Version 2.0 is a rewrite of version 1.0 to make the code easier to read and maintain. +# +# Version history : +# - 1.0 : Initial public release +# - 1.1 : The archive can be passed parameters that will be passed on to +# the embedded script, thanks to John C. Quillan +# - 1.2 : Package distribution, bzip2 compression, more command line options, +# support for non-temporary archives. Ideas thanks to Francois Petitjean +# - 1.3 : More patches from Bjarni R. Einarsson and Francois Petitjean: +# Support for no compression (--nocomp), script is no longer mandatory, +# automatic launch in an xterm, optional verbose output, and -target +# archive option to indicate where to extract the files. +# - 1.4 : Improved UNIX compatibility (Francois Petitjean) +# Automatic integrity checking, support of LSM files (Francois Petitjean) +# - 1.5 : Many bugfixes. Optionally disable xterm spawning. +# - 1.5.1 : More bugfixes, added archive options -list and -check. +# - 1.5.2 : Cosmetic changes to inform the user of what's going on with big +# archives (Quake III demo) +# - 1.5.3 : Check for validity of the DISPLAY variable before launching an xterm. +# More verbosity in xterms and check for embedded command's return value. +# Bugfix for Debian 2.0 systems that have a different "print" command. +# - 1.5.4 : Many bugfixes. Print out a message if the extraction failed. +# - 1.5.5 : More bugfixes. Added support for SETUP_NOCHECK environment variable to +# bypass checksum verification of archives. +# - 1.6.0 : Compute MD5 checksums with the md5sum command (patch from Ryan Gordon) +# - 2.0 : Brand new rewrite, cleaner architecture, separated header and UNIX ports. +# - 2.0.1 : Added --copy +# - 2.1.0 : Allow multiple tarballs to be stored in one archive, and incremental updates. +# Added --nochown for archives +# Stopped doing redundant checksums when not necesary +# - 2.1.1 : Work around insane behavior from certain Linux distros with no 'uncompress' command +# Cleaned up the code to handle error codes from compress. Simplified the extraction code. +# - 2.1.2 : Some bug fixes. Use head -n to avoid problems. +# - 2.1.3 : Bug fixes with command line when spawning terminals. +# Added --tar for archives, allowing to give arbitrary arguments to tar on the contents of the archive. +# Added --noexec to prevent execution of embedded scripts. +# Added --nomd5 and --nocrc to avoid creating checksums in archives. +# Added command used to create the archive in --info output. +# Run the embedded script through eval. +# - 2.1.4 : Fixed --info output. +# Generate random directory name when extracting files to . to avoid problems. (Jason Trent) +# Better handling of errors with wrong permissions for the directory containing the files. (Jason Trent) +# Avoid some race conditions (Ludwig Nussel) +# Unset the $CDPATH variable to avoid problems if it is set. (Debian) +# Better handling of dot files in the archive directory. +# - 2.1.5 : Made the md5sum detection consistent with the header code. +# Check for the presence of the archive directory +# Added --encrypt for symmetric encryption through gpg (Eric Windisch) +# Added support for the digest command on Solaris 10 for MD5 checksums +# Check for available disk space before extracting to the target directory (Andreas Schweitzer) +# Allow extraction to run asynchronously (patch by Peter Hatch) +# Use file descriptors internally to avoid error messages (patch by Kay Tiong Khoo) +# - 2.1.6 : Replaced one dot per file progress with a realtime progress percentage and a spining cursor (Guy Baconniere) +# Added --noprogress to prevent showing the progress during the decompression (Guy Baconniere) +# Added --target dir to allow extracting directly to a target directory (Guy Baconniere) +# - 2.2.0 : Many bugfixes, updates and contributions from users. Check out the project page on Github for the details. +# - 2.3.0 : Option to specify packaging date to enable byte-for-byte reproducibility. (Marc Pawlowsky) +# - 2.4.0 : Optional support for SHA256 checksums in archives. +# - 2.4.2 : Add support for threads for several compressors. (M. Limber) +# Added zstd support. +# - 2.4.3 : Make explicit POSIX tar archives for increased compatibility. +# - 2.4.5 : Added --tar-format to override ustar tar archive format +# +# (C) 1998-2021 by Stephane Peter +# +# This software is released under the terms of the GNU GPL version 2 and above +# Please read the license at http://www.gnu.org/copyleft/gpl.html +# Self-extracting archives created with this script are explictly NOT released under the term of the GPL +# + +MS_VERSION=2.4.5 +MS_COMMAND="$0" +unset CDPATH + +for f in ${1+"$@"}; do + MS_COMMAND="$MS_COMMAND \\\\ + \\\"$f\\\"" +done + +# For Solaris systems +if test -d /usr/xpg4/bin; then + PATH=/usr/xpg4/bin:$PATH + export PATH +fi + +# Procedures + +MS_Usage() +{ + echo "Usage: $0 [args] archive_dir file_name label startup_script [script_args]" + echo "args can be one or more of the following :" + echo " --version | -v : Print out Makeself version number and exit" + echo " --help | -h : Print out this help message" + echo " --tar-quietly : Suppress verbose output from the tar command" + echo " --quiet | -q : Do not print any messages other than errors." + echo " --gzip : Compress using gzip (default if detected)" + echo " --pigz : Compress with pigz" + echo " --zstd : Compress with zstd" + echo " --bzip2 : Compress using bzip2 instead of gzip" + echo " --pbzip2 : Compress using pbzip2 instead of gzip" + echo " --xz : Compress using xz instead of gzip" + echo " --lzo : Compress using lzop instead of gzip" + echo " --lz4 : Compress using lz4 instead of gzip" + echo " --compress : Compress using the UNIX 'compress' command" + echo " --complevel lvl : Compression level for gzip pigz zstd xz lzo lz4 bzip2 and pbzip2 (default 9)" + echo " --threads thds : Number of threads to be used by compressors that support parallelization." + echo " Omit to use compressor's default. Most useful (and required) for opting" + echo " into xz's threading, usually with '--threads=0' for all available cores." + echo " pbzip2 and pigz are parallel by default, and setting this value allows" + echo " limiting the number of threads they use." + echo " --base64 : Instead of compressing, encode the data using base64" + echo " --gpg-encrypt : Instead of compressing, encrypt the data using GPG" + echo " --gpg-asymmetric-encrypt-sign" + echo " : Instead of compressing, asymmetrically encrypt and sign the data using GPG" + echo " --gpg-extra opt : Append more options to the gpg command line" + echo " --ssl-encrypt : Instead of compressing, encrypt the data using OpenSSL" + echo " --ssl-passwd pass : Use the given password to encrypt the data using OpenSSL" + echo " --ssl-pass-src src : Use the given src as the source of password to encrypt the data" + echo " using OpenSSL. See \"PASS PHRASE ARGUMENTS\" in man openssl." + echo " If this option is not supplied, the user will be asked to enter" + echo " encryption password on the current terminal." + echo " --ssl-no-md : Do not use \"-md\" option not supported by older OpenSSL." + echo " --nochown : Do not give the target folder to the current user (default)" + echo " --chown : Give the target folder to the current user recursively" + echo " --nocomp : Do not compress the data" + echo " --notemp : The archive will create archive_dir in the" + echo " current directory and uncompress in ./archive_dir" + echo " --needroot : Check that the root user is extracting the archive before proceeding" + echo " --copy : Upon extraction, the archive will first copy itself to" + echo " a temporary directory" + echo " --append : Append more files to an existing Makeself archive" + echo " The label and startup scripts will then be ignored" + echo " --target dir : Extract directly to a target directory" + echo " directory path can be either absolute or relative" + echo " --nooverwrite : Do not extract the archive if the specified target directory exists" + echo " --current : Files will be extracted to the current directory" + echo " Both --current and --target imply --notemp" + echo " --tar-format opt : Specify a tar archive format (default is ustar)" + echo " --tar-extra opt : Append more options to the tar command line" + echo " --untar-extra opt : Append more options to the during the extraction of the tar archive" + echo " --nomd5 : Don't calculate an MD5 for archive" + echo " --nocrc : Don't calculate a CRC for archive" + echo " --sha256 : Compute a SHA256 checksum for the archive" + echo " --header file : Specify location of the header script" + echo " --cleanup file : Specify a cleanup script that executes on interrupt and when finished successfully." + echo " --follow : Follow the symlinks in the archive" + echo " --noprogress : Do not show the progress during the decompression" + echo " --nox11 : Disable automatic spawn of a xterm" + echo " --nowait : Do not wait for user input after executing embedded" + echo " program from an xterm" + echo " --sign passphrase : Signature private key to sign the package with" + echo " --lsm file : LSM file describing the package" + echo " --license file : Append a license file" + echo " --help-header file : Add a header to the archive's --help output" + echo " --packaging-date date" + echo " : Use provided string as the packaging date" + echo " instead of the current date." + echo + echo " --keep-umask : Keep the umask set to shell default, rather than overriding when executing self-extracting archive." + echo " --export-conf : Export configuration variables to startup_script" + echo + echo "Do not forget to give a fully qualified startup script name" + echo "(i.e. with a ./ prefix if inside the archive)." + exit 1 +} + +# Default settings +if type gzip >/dev/null 2>&1; then + COMPRESS=gzip +elif type compress >/dev/null 2>&1; then + COMPRESS=compress +else + echo "ERROR: missing commands: gzip, compress" >&2 + MS_Usage +fi +ENCRYPT=n +PASSWD="" +PASSWD_SRC="" +OPENSSL_NO_MD=n +COMPRESS_LEVEL=9 +DEFAULT_THREADS=123456 # Sentinel value +THREADS=$DEFAULT_THREADS +KEEP=n +CURRENT=n +NOX11=n +NOWAIT=n +APPEND=n +TAR_QUIETLY=n +KEEP_UMASK=n +QUIET=n +NOPROGRESS=n +COPY=none +NEED_ROOT=n +TAR_ARGS=rvf +TAR_FORMAT=ustar +TAR_EXTRA="" +GPG_EXTRA="" +DU_ARGS=-ks +HEADER=`dirname "$0"`/makeself-header.sh +SIGNATURE="" +TARGETDIR="" +NOOVERWRITE=n +DATE=`LC_ALL=C date` +EXPORT_CONF=n +SHA256=n +OWNERSHIP=n +SIGN=n +GPG_PASSPHRASE="" + +# LSM file stuff +LSM_CMD="echo No LSM. >> \"\$archname\"" + +while true +do + case "$1" in + --version | -v) + echo Makeself version $MS_VERSION + exit 0 + ;; + --pbzip2) + COMPRESS=pbzip2 + shift + ;; + --bzip2) + COMPRESS=bzip2 + shift + ;; + --gzip) + COMPRESS=gzip + shift + ;; + --pigz) + COMPRESS=pigz + shift + ;; + --zstd) + COMPRESS=zstd + shift + ;; + --xz) + COMPRESS=xz + shift + ;; + --lzo) + COMPRESS=lzo + shift + ;; + --lz4) + COMPRESS=lz4 + shift + ;; + --compress) + COMPRESS=compress + shift + ;; + --base64) + COMPRESS=base64 + shift + ;; + --gpg-encrypt) + COMPRESS=gpg + shift + ;; + --gpg-asymmetric-encrypt-sign) + COMPRESS=gpg-asymmetric + shift + ;; + --gpg-extra) + GPG_EXTRA="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --ssl-encrypt) + ENCRYPT=openssl + shift + ;; + --ssl-passwd) + PASSWD=$2 + shift 2 || { MS_Usage; exit 1; } + ;; + --ssl-pass-src) + PASSWD_SRC=$2 + shift 2 || { MS_Usage; exit 1; } + ;; + --ssl-no-md) + OPENSSL_NO_MD=y + shift + ;; + --nocomp) + COMPRESS=none + shift + ;; + --complevel) + COMPRESS_LEVEL="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --threads) + THREADS="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --nochown) + OWNERSHIP=n + shift + ;; + --chown) + OWNERSHIP=y + shift + ;; + --notemp) + KEEP=y + shift + ;; + --copy) + COPY=copy + shift + ;; + --current) + CURRENT=y + KEEP=y + shift + ;; + --tar-format) + TAR_FORMAT="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --tar-extra) + TAR_EXTRA="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --untar-extra) + UNTAR_EXTRA="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --target) + TARGETDIR="$2" + KEEP=y + shift 2 || { MS_Usage; exit 1; } + ;; + --sign) + SIGN=y + GPG_PASSPHRASE="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --nooverwrite) + NOOVERWRITE=y + shift + ;; + --needroot) + NEED_ROOT=y + shift + ;; + --header) + HEADER="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --cleanup) + CLEANUP_SCRIPT="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --license) + # We need to escape all characters having a special meaning in double quotes + LICENSE=$(sed 's/\\/\\\\/g; s/"/\\\"/g; s/`/\\\`/g; s/\$/\\\$/g' "$2") + shift 2 || { MS_Usage; exit 1; } + ;; + --follow) + TAR_ARGS=rvhf + DU_ARGS=-ksL + shift + ;; + --noprogress) + NOPROGRESS=y + shift + ;; + --nox11) + NOX11=y + shift + ;; + --nowait) + NOWAIT=y + shift + ;; + --nomd5) + NOMD5=y + shift + ;; + --sha256) + SHA256=y + shift + ;; + --nocrc) + NOCRC=y + shift + ;; + --append) + APPEND=y + shift + ;; + --lsm) + LSM_CMD="cat \"$2\" >> \"\$archname\"" + shift 2 || { MS_Usage; exit 1; } + ;; + --packaging-date) + DATE="$2" + shift 2 || { MS_Usage; exit 1; } + ;; + --help-header) + HELPHEADER=`sed -e "s/'/'\\\\\''/g" $2` + shift 2 || { MS_Usage; exit 1; } + [ -n "$HELPHEADER" ] && HELPHEADER="$HELPHEADER +" + ;; + --tar-quietly) + TAR_QUIETLY=y + shift + ;; + --keep-umask) + KEEP_UMASK=y + shift + ;; + --export-conf) + EXPORT_CONF=y + shift + ;; + -q | --quiet) + QUIET=y + shift + ;; + -h | --help) + MS_Usage + ;; + -*) + echo Unrecognized flag : "$1" + MS_Usage + ;; + *) + break + ;; + esac +done + +if test $# -lt 1; then + MS_Usage +else + if test -d "$1"; then + archdir="$1" + else + echo "Directory $1 does not exist." >&2 + exit 1 + fi +fi +archname="$2" + +if test "$QUIET" = "y" || test "$TAR_QUIETLY" = "y"; then + if test "$TAR_ARGS" = "rvf"; then + TAR_ARGS="rf" + elif test "$TAR_ARGS" = "rvhf"; then + TAR_ARGS="rhf" + fi +fi + +if test "$APPEND" = y; then + if test $# -lt 2; then + MS_Usage + fi + + # Gather the info from the original archive + OLDENV=`sh "$archname" --dumpconf` + if test $? -ne 0; then + echo "Unable to update archive: $archname" >&2 + exit 1 + else + eval "$OLDENV" + OLDSKIP=`expr $SKIP + 1` + fi +else + if test "$KEEP" = n -a $# = 3; then + echo "ERROR: Making a temporary archive with no embedded command does not make sense!" >&2 + echo >&2 + MS_Usage + fi + # We don't want to create an absolute directory unless a target directory is defined + if test "$CURRENT" = y; then + archdirname="." + elif test x"$TARGETDIR" != x; then + archdirname="$TARGETDIR" + else + archdirname=`basename "$1"` + fi + + if test $# -lt 3; then + MS_Usage + fi + + LABEL="$3" + SCRIPT="$4" + test "x$SCRIPT" = x || shift 1 + shift 3 + SCRIPTARGS="$*" +fi + +if test "$KEEP" = n -a "$CURRENT" = y; then + echo "ERROR: It is A VERY DANGEROUS IDEA to try to combine --notemp and --current." >&2 + exit 1 +fi + +case $COMPRESS in +gzip) + GZIP_CMD="gzip -c$COMPRESS_LEVEL" + GUNZIP_CMD="gzip -cd" + ;; +pigz) + GZIP_CMD="pigz -$COMPRESS_LEVEL" + if test $THREADS -ne $DEFAULT_THREADS; then # Leave as the default if threads not indicated + GZIP_CMD="$GZIP_CMD --processes $THREADS" + fi + GUNZIP_CMD="gzip -cd" + ;; +zstd) + GZIP_CMD="zstd -$COMPRESS_LEVEL" + if test $THREADS -ne $DEFAULT_THREADS; then # Leave as the default if threads not indicated + GZIP_CMD="$GZIP_CMD --threads=$THREADS" + fi + GUNZIP_CMD="zstd -cd" + ;; +pbzip2) + GZIP_CMD="pbzip2 -c$COMPRESS_LEVEL" + if test $THREADS -ne $DEFAULT_THREADS; then # Leave as the default if threads not indicated + GZIP_CMD="$GZIP_CMD -p$THREADS" + fi + GUNZIP_CMD="bzip2 -d" + ;; +bzip2) + GZIP_CMD="bzip2 -$COMPRESS_LEVEL" + GUNZIP_CMD="bzip2 -d" + ;; +xz) + GZIP_CMD="xz -c$COMPRESS_LEVEL" + # Must opt-in by specifying a value since not all versions of xz support threads + if test $THREADS -ne $DEFAULT_THREADS; then + GZIP_CMD="$GZIP_CMD --threads=$THREADS" + fi + GUNZIP_CMD="xz -d" + ;; +lzo) + GZIP_CMD="lzop -c$COMPRESS_LEVEL" + GUNZIP_CMD="lzop -d" + ;; +lz4) + GZIP_CMD="lz4 -c$COMPRESS_LEVEL" + GUNZIP_CMD="lz4 -d" + ;; +base64) + GZIP_CMD="base64" + GUNZIP_CMD="base64 --decode -i -" + ;; +gpg) + GZIP_CMD="gpg $GPG_EXTRA -ac -z$COMPRESS_LEVEL" + GUNZIP_CMD="gpg -d" + ENCRYPT="gpg" + ;; +gpg-asymmetric) + GZIP_CMD="gpg $GPG_EXTRA -z$COMPRESS_LEVEL -es" + GUNZIP_CMD="gpg --yes -d" + ENCRYPT="gpg" + ;; +compress) + GZIP_CMD="compress -fc" + GUNZIP_CMD="(type compress >/dev/null 2>&1 && compress -fcd || gzip -cd)" + ;; +none) + GZIP_CMD="cat" + GUNZIP_CMD="cat" + ;; +esac + +if test x"$ENCRYPT" = x"openssl"; then + if test x"$APPEND" = x"y"; then + echo "Appending to existing archive is not compatible with OpenSSL encryption." >&2 + fi + + ENCRYPT_CMD="openssl enc -aes-256-cbc -salt" + DECRYPT_CMD="openssl enc -aes-256-cbc -d" + + if test x"$OPENSSL_NO_MD" != x"y"; then + ENCRYPT_CMD="$ENCRYPT_CMD -md sha256" + DECRYPT_CMD="$DECRYPT_CMD -md sha256" + fi + + if test -n "$PASSWD_SRC"; then + ENCRYPT_CMD="$ENCRYPT_CMD -pass $PASSWD_SRC" + elif test -n "$PASSWD"; then + ENCRYPT_CMD="$ENCRYPT_CMD -pass pass:$PASSWD" + fi +fi + +tmpfile="${TMPDIR:-/tmp}/mkself$$" + +if test -f "$HEADER"; then + oldarchname="$archname" + archname="$tmpfile" + # Generate a fake header to count its lines + SKIP=0 + . "$HEADER" + SKIP=`cat "$tmpfile" |wc -l` + # Get rid of any spaces + SKIP=`expr $SKIP` + rm -f "$tmpfile" + if test "$QUIET" = "n"; then + echo "Header is $SKIP lines long" >&2 + fi + archname="$oldarchname" +else + echo "Unable to open header file: $HEADER" >&2 + exit 1 +fi + +if test "$QUIET" = "n"; then + echo +fi + +if test "$APPEND" = n; then + if test -f "$archname"; then + echo "WARNING: Overwriting existing file: $archname" >&2 + fi +fi + +USIZE=`du $DU_ARGS "$archdir" | awk '{print $1}'` + +if test "." = "$archdirname"; then + if test "$KEEP" = n; then + archdirname="makeself-$$-`date +%Y%m%d%H%M%S`" + fi +fi + +test -d "$archdir" || { echo "Error: $archdir does not exist."; rm -f "$tmpfile"; exit 1; } +if test "$QUIET" = "n"; then + echo "About to compress $USIZE KB of data..." + echo "Adding files to archive named \"$archname\"..." +fi + +# See if we have GNU tar +TAR=`exec <&- 2>&-; which gtar || command -v gtar || type gtar` +test -x "$TAR" || TAR=tar + +tmparch="${TMPDIR:-/tmp}/mkself$$.tar" +( + if test "$APPEND" = "y"; then + tail -n "+$OLDSKIP" "$archname" | eval "$GUNZIP_CMD" > "$tmparch" + fi + cd "$archdir" + # "Determining if a directory is empty" + # https://www.etalabs.net/sh_tricks.html + find . \ + \( \ + ! -type d \ + -o \ + \( -links 2 -exec sh -c ' + is_empty () ( + cd "$1" + set -- .[!.]* ; test -f "$1" && return 1 + set -- ..?* ; test -f "$1" && return 1 + set -- * ; test -f "$1" && return 1 + return 0 + ) + is_empty "$0"' {} \; \ + \) \ + \) -print \ + | LC_ALL=C sort \ + | sed 's/./\\&/g' \ + | xargs $TAR $TAR_EXTRA --format $TAR_FORMAT -$TAR_ARGS "$tmparch" +) || { + echo "ERROR: failed to create temporary archive: $tmparch" + rm -f "$tmparch" "$tmpfile" + exit 1 +} + +USIZE=`du $DU_ARGS "$tmparch" | awk '{print $1}'` + +eval "$GZIP_CMD" <"$tmparch" >"$tmpfile" || { + echo "ERROR: failed to create temporary file: $tmpfile" + rm -f "$tmparch" "$tmpfile" + exit 1 +} +rm -f "$tmparch" + +if test x"$ENCRYPT" = x"openssl"; then + echo "About to encrypt archive \"$archname\"..." + { eval "$ENCRYPT_CMD -in $tmpfile -out ${tmpfile}.enc" && mv -f ${tmpfile}.enc $tmpfile; } || \ + { echo Aborting: could not encrypt temporary file: "$tmpfile".; rm -f "$tmpfile"; exit 1; } +fi + +fsize=`cat "$tmpfile" | wc -c | tr -d " "` + +# Compute the checksums + +shasum=0000000000000000000000000000000000000000000000000000000000000000 +md5sum=00000000000000000000000000000000 +crcsum=0000000000 + +if test "$NOCRC" = y; then + if test "$QUIET" = "n"; then + echo "skipping crc at user request" + fi +else + crcsum=`CMD_ENV=xpg4 cksum < "$tmpfile" | sed -e 's/ /Z/' -e 's/ /Z/' | cut -dZ -f1` + if test "$QUIET" = "n"; then + echo "CRC: $crcsum" + fi +fi + +if test "$SHA256" = y; then + SHA_PATH=`exec <&- 2>&-; which shasum || command -v shasum || type shasum` + if test -x "$SHA_PATH"; then + shasum=`eval "$SHA_PATH -a 256" < "$tmpfile" | cut -b-64` + else + SHA_PATH=`exec <&- 2>&-; which sha256sum || command -v sha256sum || type sha256sum` + shasum=`eval "$SHA_PATH" < "$tmpfile" | cut -b-64` + fi + if test "$QUIET" = "n"; then + if test -x "$SHA_PATH"; then + echo "SHA256: $shasum" + else + echo "SHA256: none, SHA command not found" + fi + fi +fi +if test "$NOMD5" = y; then + if test "$QUIET" = "n"; then + echo "Skipping md5sum at user request" + fi +else + # Try to locate a MD5 binary + OLD_PATH=$PATH + PATH=${GUESS_MD5_PATH:-"$OLD_PATH:/bin:/usr/bin:/sbin:/usr/local/ssl/bin:/usr/local/bin:/opt/openssl/bin"} + MD5_ARG="" + MD5_PATH=`exec <&- 2>&-; which md5sum || command -v md5sum || type md5sum` + test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which md5 || command -v md5 || type md5` + test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which digest || command -v digest || type digest` + PATH=$OLD_PATH + if test -x "$MD5_PATH"; then + if test `basename ${MD5_PATH}`x = digestx; then + MD5_ARG="-a md5" + fi + md5sum=`eval "$MD5_PATH $MD5_ARG" < "$tmpfile" | cut -b-32` + if test "$QUIET" = "n"; then + echo "MD5: $md5sum" + fi + else + if test "$QUIET" = "n"; then + echo "MD5: none, MD5 command not found" + fi + fi +fi +if test "$SIGN" = y; then + GPG_PATH=`exec <&- 2>&-; which gpg || command -v gpg || type gpg` + if test -x "$GPG_PATH"; then + SIGNATURE=`$GPG_PATH --pinentry-mode=loopback --batch --yes --passphrase "$GPG_PASSPHRASE" --output - --detach-sig $tmpfile | base64 | tr -d \\\\n` + if test "$QUIET" = "n"; then + echo "Signature: $SIGNATURE" + fi + else + echo "Missing gpg command" >&2 + fi +fi + +totalsize=0 +for size in $fsize; +do + totalsize=`expr $totalsize + $size` +done + +if test "$APPEND" = y; then + mv "$archname" "$archname".bak || exit + + # Prepare entry for new archive + filesizes="$fsize" + CRCsum="$crcsum" + MD5sum="$md5sum" + SHAsum="$shasum" + Signature="$SIGNATURE" + # Generate the header + . "$HEADER" + # Append the new data + cat "$tmpfile" >> "$archname" + + chmod +x "$archname" + rm -f "$archname".bak + if test "$QUIET" = "n"; then + echo "Self-extractable archive \"$archname\" successfully updated." + fi +else + filesizes="$fsize" + CRCsum="$crcsum" + MD5sum="$md5sum" + SHAsum="$shasum" + Signature="$SIGNATURE" + + # Generate the header + . "$HEADER" + + # Append the compressed tar data after the stub + if test "$QUIET" = "n"; then + echo + fi + cat "$tmpfile" >> "$archname" + chmod +x "$archname" + if test "$QUIET" = "n"; then + echo Self-extractable archive \"$archname\" successfully created. + fi +fi +rm -f "$tmpfile" diff --git a/precision_Problem/No_standard/cmake/util/makeself/run-tests.sh b/precision_Problem/No_standard/cmake/util/makeself/run-tests.sh new file mode 100644 index 0000000..31ee165 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/makeself/run-tests.sh @@ -0,0 +1,8 @@ +#!/bin/sh +# Run every available test - Bash needed +cd test +for test in *test; +do + echo "Running test $test ..." + bash $test || { echo "*** ERROR: Test '$test' failed!"; exit 1; } +done diff --git a/precision_Problem/No_standard/cmake/util/merge_aicpu_info_json.sh b/precision_Problem/No_standard/cmake/util/merge_aicpu_info_json.sh new file mode 100644 index 0000000..a977bd5 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/merge_aicpu_info_json.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +project_path=$1 +build_path=$2 +vendor_name=customize +echo $@ +if [[ ! -d "$project_path" ]]; then + echo "[ERROR] No projcet path is provided" + exit 1 +fi + +if [[ ! -d "$build_path" ]]; then + echo "[ERROR] No build path is provided" + exit 1 +fi + +if [[ ! -d "$ASCEND_OPP_PATH" ]]; then + echo "[ERROR] No opp install path is provided" + exit 1 +fi +custom_exist_info_json=$ASCEND_OPP_PATH/vendors/$vendor_name/op_impl/cpu/config/cust_aicpu_kernel.json +custom_new_info_json=$build_path/makepkg/packages/vendors/$vendor_name/op_impl/cpu/config/cust_aicpu_kernel.json +temp_info_json=$build_path/makepkg/packages/vendors/$vendor_name/op_impl/cpu/config/temp_cust_aicpu_kernel.json + +if [[ -f "$custom_exist_info_json" ]] && [[ -f "$custom_new_info_json" ]]; then + cp -f $custom_exist_info_json $temp_info_json + chmod +w $temp_info_json + python3 ${project_path}/cmake/util/insert_op_info.py ${custom_new_info_json} ${temp_info_json} + cp -f $temp_info_json $custom_new_info_json + rm -f $temp_info_json +fi diff --git a/precision_Problem/No_standard/cmake/util/opdesc_parser.py b/precision_Problem/No_standard/cmake/util/opdesc_parser.py new file mode 100644 index 0000000..48efca2 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/opdesc_parser.py @@ -0,0 +1,294 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" + +import sys +import os + + +OP_ALL = '__ALLOP__' +SOC_ALL = '__ALLSOC__' +SOC_TO_SHORT_SOC_MAP = { + "ascend910a": "ascend910", + "ascend910proa": "ascend910", + "ascend910b": "ascend910", + "ascend910prob": "ascend910", + "ascend910premiuma": "ascend910", + "ascend910b1": "ascend910b", + "ascend910b2": "ascend910b", + "ascend910b2c": "ascend910b", + "ascend910b3": "ascend910b", + "ascend910b4": "ascend910b", + "ascend310p1": "ascend310p", + "ascend310p3": "ascend310p", + "ascend310p3vir01": "ascend310p", + "ascend310p3vir02": "ascend310p", + "ascend310p3vir04": "ascend310p", + "ascend310p3vir08": "ascend310p", + "ascend310b1": "ascend310b", + "bs9sx1aa": "bs9sx1a" +} +CONFLICT_KEYWORDS = { + "and", "as", "assert", "break", "class", "continue", "def", "del", "elif", "else", + "except", "finally", "for", "from", "global", "if", "import", "in", "is", "lambda", + "not", "or", "pass", "raise", "return", "try", "while", "with", "yield", "False", + "None", "True", "nonlocal", "arg", "__inputs__", "__outputs__", "options", "bisheng", + "bisheng_path", "tikcpp_path", "impl_mode", "custom_compile_options", + "custom_all_compile_options", "soc_version", "soc_short", "custom_compile_options_soc", + "custom_all_compile_options_soc", "origin_func_name", "ascendc_src_dir_ex", + "ascendc_src_dir", "ascendc_src_file", "src", "op_type", "code_channel", "op_info", + "compile_op", "get_code_channel", "result", "__attrs__", "isinstance", "attr", + "get_current_build_config", "_build_args", "get_dtype_fmt_options", "shutil", "os", + "get_kernel_source" +} + + +class OpDesc: + def __init__(self: any, op_type: str): + self.op_type = op_type + self.attr_list = [] + self.attr_val = {} + self.input_name = [] + self.input_ori_name = [] + self.input_type = [] + self.input_dtype = [] + self.input_fmt = [] + self.output_name = [] + self.output_ori_name = [] + self.output_type = [] + self.output_dtype = [] + self.output_fmt = [] + self.op_fmt_sel = False + self.op_chk_support = False + self.op_intf = '' + self.kern_name = '' + self.op_file = '' + self.op_replay_flag = False + self.op_replay_batch = False + self.input_idx = -1 + self.output_idx = -1 + self.max_block_dim = 32 + self.max_shape_size = 268435456 + self.dynamic_shape = False + self.op_range_limit = '' + self.custom_compile_options = {} + self.custom_all_compile_options = {} + + @staticmethod + def _parse_digit(conf: str) -> int: + return int(conf.split('=')[1]) + + @staticmethod + def _parse_flag(conf: str) -> bool: + if 'true' == conf.split('=')[1]: + return True + return False + + @staticmethod + def _parse_str(conf: str) -> str: + return conf.split('=')[1] + + @staticmethod + def _parse_list(conf: str) -> list: + return conf.split('=')[1].split(',') + + def parse_input(self: any, conf: str): + if conf.startswith('input{}.name'.format(int(self.input_idx) + 1)): + self.input_idx += 1 + self.input_ori_name.append(self._parse_str(conf)) + self.input_name.append(self.input_ori_name[-1] + '_in__') + elif conf.startswith('input{}.paramType'.format(int(self.input_idx))): + self.input_type.append(self._parse_str(conf)) + elif conf.startswith('input{}.dtype'.format(int(self.input_idx))): + self.input_dtype.append(self._parse_str(conf)) + elif conf.startswith('input{}.format'.format(int(self.input_idx))): + self.input_fmt.append(self._parse_str(conf)) + else: + return + + def parse_output(self: any, conf: str): + if conf.startswith('output{}.name'.format(int(self.output_idx) + 1)): + self.output_idx += 1 + self.output_ori_name.append(self._parse_str(conf)) + self.output_name.append(self.output_ori_name[-1] + '_out_') + elif conf.startswith('output{}.paramType'.format(int(self.output_idx))): + self.output_type.append(self._parse_str(conf)) + elif conf.startswith('output{}.dtype'.format(int(self.output_idx))): + self.output_dtype.append(self._parse_str(conf)) + elif conf.startswith('output{}.format'.format(int(self.output_idx))): + self.output_fmt.append(self._parse_str(conf)) + else: + return + + def parse_op_format(self: any, conf: str): + self.op_fmt_sel = self._parse_flag(conf) + + def parse_check_support(self: any, conf: str): + self.op_chk_support = self._parse_flag(conf) + + def parse_range_limit(self: any, conf: str): + self.op_range_limit = self._parse_str(conf) + + def parse_kern_name(self: any, conf: str): + self.kern_name = self._parse_str(conf) + + def parse_op_intf(self: any, conf: str): + self.op_intf = self._parse_str(conf) + + def parse_op_file(self: any, conf: str): + self.op_file = self._parse_str(conf) + + def parse_dynamic_shape(self: any, conf: str): + self.dynamic_shape = self._parse_flag(conf) + + def parse_attr_list(self: any, conf: str): + self.attr_list = self._parse_list(conf) + intersection_element = set(self.attr_list) & CONFLICT_KEYWORDS + if intersection_element: + raise Exception(f'The attribute name: {intersection_element} in op: {{\'{self.op_type}\'}} conflicts with\ + the built-in variable name. Use a complex name or prefix the operator name.') + + @staticmethod + def _camel_to_snake(camel_case_str: str): + snake_case_str = '' + for i, c in enumerate(camel_case_str): + if i == 0: + snake_case_str += c.lower() + elif c.isupper(): + snake_case_str += '_' + c.lower() + else: + snake_case_str += c + return snake_case_str + + def parse_attr_val(self: any, conf: str): + for attr in self.attr_list: + if self.attr_val.get(attr) is None: + self.attr_val[attr] = {} + if conf.startswith('attr_{}.type'.format(attr)): + self.attr_val.get(attr)['type'] = self._camel_to_snake(self._parse_str(conf)) + elif conf.startswith('attr_{}.paramType'.format(attr)): + self.attr_val.get(attr)['paramType'] = self._parse_str(conf) + elif conf.startswith('attr_{}.defaultValue'.format(attr)): + self.attr_val.get(attr)['defaultValue'] = self._parse_str(conf) + + def parse_replay_val(self: any, batch_list: list, iterator_list: list): + if self.op_type in batch_list: + self.op_replay_flag = True + self.op_replay_batch = True + elif self.op_type in iterator_list: + self.op_replay_flag = True + self.op_replay_batch = False + + +def _is_op_type_in_opdesc(op_descs: list, op_type: str): + for op in op_descs: + if op_type == op.op_type: + return True + return False + + +def _set_all_options_to_opdescs(op_descs, soc_ver_compile_options): + for op in op_descs: + op.custom_all_compile_options = soc_ver_compile_options + + +def _set_options_to_opdesc(op_descs, op_type, soc_ver_compile_options): + for op in op_descs: + if op.op_type != op_type: + continue + op.custom_compile_options = soc_ver_compile_options + + +def _trans_soc_ver_to_short(soc_ver: str): + low_soc_ver = soc_ver.lower() + if low_soc_ver not in SOC_TO_SHORT_SOC_MAP: + print(f'WARNING: caution: {soc_ver} will trans into ascend910, if not your intention,' + f'use ascend910b1~4 instead') + return SOC_TO_SHORT_SOC_MAP[low_soc_ver] + + +def _get_op_custom_options(op_descs: list, auto_gen_dir: str): + if auto_gen_dir is None: + return + file = os.path.join(auto_gen_dir, "custom_compile_options.ini") + if not os.path.exists(file): + print(f'WARNING: cannot find {auto_gen_dir}/custom_compile_options.ini') + return + with open(file, 'r') as fd: + lines = fd.readlines() + for line in lines: + param_list = str.split(line.rstrip('\n'), ',') + if len(param_list) != 3: + raise Exception(f'ERROR: custom compile option {param_list} len is not 3') + op_type = param_list[0] + if op_type.upper() == 'ALL': + op_type = OP_ALL + if op_type != OP_ALL and _is_op_type_in_opdesc(op_descs, op_type) == False: + print(f'WARNING: op: {op_type} are not exists in this project') + continue + soc_ver_compile_options = {} + soc_ver = param_list[1] + options_str = param_list[2] + options = str.split(options_str, ';') + if soc_ver == '': + soc_ver_compile_options[SOC_ALL] = options + else: + soc_ver_list = str.split(soc_ver, ';') + for ver in soc_ver_list: + short_ver = _trans_soc_ver_to_short(ver) + soc_ver_compile_options[short_ver] = options + if op_type == OP_ALL: + _set_all_options_to_opdescs(op_descs, soc_ver_compile_options) + else: + _set_options_to_opdesc(op_descs, op_type, soc_ver_compile_options) + + +def get_op_desc(file: str, batch_list: list, iterator_list: list, builder: any, + op_type: list, auto_gen_dir: str = None) -> list: + op_descs = [] + op_match = False + with open (file, 'r') as fd: + lines = fd.readlines() + for line in lines: + line = line.strip() + if line.startswith('['): + name = line[1:-1] + if op_type is None or name in op_type: + op_match = True + op_desc = builder(name) + op_desc.parse_replay_val(batch_list, iterator_list) + op_descs.append(op_desc) + else: + op_match = False + if op_type is not None and len(op_descs) == len(op_type): + return op_descs + continue + if not op_match: + continue + if line.startswith('input'): + op_desc.parse_input(line) + elif line.startswith('output'): + op_desc.parse_output(line) + elif line.startswith('dynamicFormat.flag'): + op_desc.parse_op_format(line) + elif line.startswith('needCheckSupport.flag'): + op_desc.parse_check_support(line) + elif line.startswith('rangeLimit.value'): + op_desc.parse_range_limit(line) + elif line.startswith('opInterface.value'): + op_desc.parse_op_intf(line) + elif line.startswith('kernel.name'): + op_desc.parse_kern_name(line) + elif line.startswith('opFile.value'): + op_desc.parse_op_file(line) + elif line.startswith('dynamicShapeSupport.flag'): + op_desc.parse_dynamic_shape(line) + elif line.startswith('attr.list'): + op_desc.parse_attr_list(line) + elif line.startswith('attr_'): + op_desc.parse_attr_val(line) + _get_op_custom_options(op_descs, auto_gen_dir) + return op_descs diff --git a/precision_Problem/No_standard/cmake/util/parse_ini_to_json.py b/precision_Problem/No_standard/cmake/util/parse_ini_to_json.py new file mode 100644 index 0000000..ac931e5 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/parse_ini_to_json.py @@ -0,0 +1,338 @@ +# Copyright 2020-2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +parser ini to json +""" + +import json +import os +import stat +import sys + + +ATTR_TYPE_LIST = ["int", "float", "bool", "str", "listInt", "listFloat", "listBool", "listStr", "listListInt", + "type", "listType", "tensor", "listTensor"] +ATTR_PARAMTYPE_LIST = ["optional", "required"] +BOOL_FLAG_KEY = ["dynamicFormat", "dynamicShapeSupport", "dynamicRankSupport", "precision_reduce", "heavyOp", + "needCheckSupport", "enableVectorCore"] +BOOL_LIST = ["true", "false"] +DTYPE_LIST = ["float16", "float", "float32", "int8", "int16", "int32", "uint8", "uint16", "uint32", "bool", + "int64", "uint64", "qint8", "qint16", "qint32", "quint8", "quint16", "double", "complex64", + "complex128", "string", "resource", "dual", "dual_sub_int8", "dual_sub_uint8", "string_ref", + "int4", "bfloat16", "uint1"] +FORMAT_LIST = ["NCHW", "NHWC", "ND", "NC1HWC0", "FRACTAL_Z", "NC1C0HWPAD", "NHWC1C0", "FSR_NCHW", "FRACTAL_DECONV", + "C1HWNC0", "FRACTAL_DECONV_TRANSPOSE", "FRACTAL_DECONV_SP_STRIDE_TRANS", "NC1HWC0_C04", + "FRACTAL_Z_C04", "CHWN", "FRACTAL_DECONV_SP_STRIDE8_TRANS", "HWCN", "NC1KHKWHWC0", "BN_WEIGHT", + "FILTER_HWCK", "HASHTABLE_LOOKUP_LOOKUPS", "HASHTABLE_LOOKUP_KEYS", "HASHTABLE_LOOKUP_VALUE", + "HASHTABLE_LOOKUP_OUTPUT", "HASHTABLE_LOOKUP_HITS", "C1HWNCoC0", "MD", "NDHWC", "FRACTAL_ZZ", + "FRACTAL_NZ", "NCDHW", "DHWCN", "NDC1HWC0", "FRACTAL_Z_3D", "CN", "NC", "DHWNC", + "FRACTAL_Z_3D_TRANSPOSE", "FRACTAL_ZN_LSTM", "FRACTAL_ZN_RNN", "FRACTAL_Z_G", "NULL"] + + +def parse_ini_files(ini_files): + """ + parse ini files to json + Parameters: + ---------------- + ini_files:input file list + return:ops_info + ---------------- + """ + tbe_ops_info = {} + for ini_file in ini_files: + check_file_size(ini_file) + parse_ini_to_obj(ini_file, tbe_ops_info) + return tbe_ops_info + + +def check_file_size(input_file): + try: + file_size = os.path.getsize(input_file) + except OSError as os_error: + print('[ERROR] Failed to open "%s". %s' % (input_file, str(os_error))) + raise OSError from os_error + if file_size > 10*1024*1024: + print('[WARN] The size of %s exceeds 10MB, it may take more time to run, please wait.' % input_file) + + +def parse_ini_to_obj(ini_file, tbe_ops_info): + """ + parse ini file to json obj + Parameters: + ---------------- + ini_file:ini file path + tbe_ops_info:ops_info + ---------------- + """ + with open(ini_file) as ini_file: + lines = ini_file.readlines() + op_dict = {} + op_name = "" + find_op_type = False + for line in lines: + line = line.rstrip() + if line == "": + continue + if line.startswith("["): + if line.endswith("]"): + op_name = line[1:-1] + op_dict = {} + tbe_ops_info[op_name] = op_dict + find_op_type = True + elif "=" in line: + key1 = line[:line.index("=")] + key2 = line[line.index("=")+1:] + key1_0, key1_1 = key1.split(".") + if key1_0 not in op_dict: + op_dict[key1_0] = {} + if key1_1 in op_dict.get(key1_0): + raise RuntimeError("Op:" + op_name + " " + key1_0 + " " + + key1_1 + " is repeated!") + dic_key = op_dict.get(key1_0) + dic_key[key1_1] = key2 + else: + continue + if not find_op_type: + raise RuntimeError("Not find OpType in .ini file.") + + +def check_output_exist(op_dict, is_valid): + """ + Function Description: + Check output is exist + Parameter: op_dict + Parameter: is_valid + """ + if "output0" in op_dict: + output0_dict = op_dict.get("output0") + if output0_dict.get("name", None) is None: + is_valid = False + print("output0.name is required in .ini file!") + else: + is_valid = False + print("output0 is required in .ini file!") + return is_valid + + +def check_attr_dict(attr_dict, is_valid, attr): + """ + Function Description: + Check attr_dict + Parameter: attr_dict + Parameter: is_valid + Parameter: attr + """ + attr_type = attr_dict.get("type") + value = attr_dict.get("value") + param_type = attr_dict.get("paramType") + if attr_type is None or value is None: + is_valid = False + print("If attr.list is exist, {0}.type and {0}.value is required".format(attr)) + if param_type and param_type not in ATTR_PARAMTYPE_LIST: + is_valid = False + print("{0}.paramType only support {1}.".format(attr, ATTR_PARAMTYPE_LIST)) + if attr_type and attr_type not in ATTR_TYPE_LIST: + is_valid = False + print("{0}.type only support {1}.".format(attr, ATTR_TYPE_LIST)) + return is_valid + + +def check_attr(op_dict, is_valid): + """ + Function Description: + Check attr + Parameter: op_dict + Parameter: is_valid + """ + if "attr" in op_dict: + attr_dict = op_dict.get("attr") + attr_list_str = attr_dict.get("list", None) + if attr_list_str is None: + is_valid = False + print("attr.list is required in .ini file!") + else: + attr_list = attr_list_str.split(",") + for attr_name in attr_list: + attr = "attr_" + attr_name.strip() + attr_dict = op_dict.get(attr) + if attr_dict: + is_valid = check_attr_dict(attr_dict, is_valid, attr) + else: + is_valid = False + print("%s is required in .ini file, when attr.list is %s!" % (attr, attr_list_str)) + return is_valid + + +def check_bool_flag(op_dict, is_valid): + """ + Function Description: + check_bool_flag + Parameter: op_dict + Parameter: is_valid + """ + for key in BOOL_FLAG_KEY: + if key in op_dict: + op_bool_key = op_dict.get(key) + if op_bool_key.get("flag").strip() not in BOOL_LIST: + is_valid = False + print("{0}.flag only support {1}.".format(key, BOOL_LIST)) + return is_valid + + +def check_type_format(op_info, is_valid, op_info_key): + """ + Function Description: + Check type and format + Parameter: op_info + Parameter: is_valid + Parameter: op_info_key + """ + op_info_dtype_str = op_info.get("dtype") + op_info_dtype_num = 0 + op_info_format_num = 0 + if op_info_dtype_str: + op_info_dtype = op_info_dtype_str.split(",") + op_info_dtype_num = len(op_info_dtype) + for dtype in op_info_dtype: + if dtype.strip() not in DTYPE_LIST: + is_valid = False + print("{0}.dtype not support {1}.".format(op_info_key, dtype)) + op_info_format_str = op_info.get("format") + if op_info_format_str: + op_info_format = op_info_format_str.split(",") + op_info_format_num = len(op_info_format) + for op_format in op_info_format: + if op_format.strip() not in FORMAT_LIST: + is_valid = False + print("{0}.format not support {1}.".format(op_info_key, op_format)) + if op_info_dtype_num > 0 and op_info_format_num > 0: + if op_info_dtype_num != op_info_format_num: + is_valid = False + print("The number of {0}.dtype not match the number of {0}.format.".format(op_info_key)) + return is_valid + + +def check_op_info(tbe_ops): + """ + Function Description: + Check info. + Parameter: tbe_ops + Return Value: is_valid + """ + print("\n\n==============check valid for ops info start==============") + required_op_input_info_keys = ["paramType", "name"] + required_op_output_info_keys = ["paramType", "name"] + param_type_valid_value = ["dynamic", "optional", "required"] + is_valid = True + for op_key in tbe_ops: + op_dict = tbe_ops[op_key] + for op_info_key in op_dict: + if op_info_key.startswith("input"): + op_input_info = op_dict[op_info_key] + missing_keys = [] + for required_op_input_info_key in required_op_input_info_keys: + if required_op_input_info_key not in op_input_info: + missing_keys.append(required_op_input_info_key) + if len(missing_keys) > 0: + print("op: " + op_key + " " + op_info_key + " missing: " + + ",".join(missing_keys)) + is_valid = False + else: + if not op_input_info["paramType"] in param_type_valid_value: + print("op: " + op_key + " " + op_info_key + \ + " paramType not valid, valid key:[dynamic, " + "optional, required]") + is_valid = False + is_valid = check_type_format(op_input_info, is_valid, op_info_key) + if op_info_key.startswith("output"): + op_input_info = op_dict[op_info_key] + missing_keys = [] + for required_op_input_info_key in required_op_output_info_keys: + if required_op_input_info_key not in op_input_info: + missing_keys.append(required_op_input_info_key) + if len(missing_keys) > 0: + print("op: " + op_key + " " + op_info_key + " missing: " + + ",".join(missing_keys)) + is_valid = False + else: + if not op_input_info["paramType"] in param_type_valid_value: + print("op: " + op_key + " " + op_info_key + + " paramType not valid, valid key:[dynamic, " + "optional, required]") + is_valid = False + is_valid = check_type_format(op_input_info, is_valid, op_info_key) + is_valid = check_attr(op_dict, is_valid) + is_valid = check_bool_flag(op_dict, is_valid) + print("==============check valid for ops info end================\n\n") + return is_valid + + +def write_json_file(tbe_ops_info, json_file_path): + """ + Save info to json file + Parameters: + ---------------- + tbe_ops_info: ops_info + json_file_path: json file path + ---------------- + """ + json_file_real_path = os.path.realpath(json_file_path) + wr_flag = os.O_WRONLY | os.O_CREAT + wr_mode = stat.S_IWUSR | stat.S_IRUSR + with os.fdopen(os.open(json_file_real_path, wr_flag, wr_mode), 'w') as file_path: + # The owner have all rights,group only have read rights + os.chmod(json_file_real_path, stat.S_IWUSR + stat.S_IRGRP + + stat.S_IRUSR) + json.dump(tbe_ops_info, file_path, sort_keys=True, indent=4, + separators=(',', ':')) + print("Compile op info cfg successfully.") + + +def parse_ini_to_json(ini_file_paths, outfile_path): + """ + parse ini files to json file + Parameters: + ---------------- + ini_file_paths: list of ini file path + outfile_path: output file path + ---------------- + """ + tbe_ops_info = parse_ini_files(ini_file_paths) + if not check_op_info(tbe_ops_info): + print("Compile op info cfg failed.") + return False + write_json_file(tbe_ops_info, outfile_path) + return True + + +if __name__ == '__main__': + args = sys.argv + + OUTPUT_FILE_PATH = "tbe_ops_info.json" + ini_file_path_list = [] + + for arg in args: + if arg.endswith("ini"): + ini_file_path_list.append(arg) + OUTPUT_FILE_PATH = arg.replace(".ini", ".json") + if arg.endswith("json"): + OUTPUT_FILE_PATH = arg + + if len(ini_file_path_list) == 0: + ini_file_path_list.append("tbe_ops_info.ini") + + if not parse_ini_to_json(ini_file_path_list, OUTPUT_FILE_PATH): + sys.exit(1) + sys.exit(0) diff --git a/precision_Problem/No_standard/cmake/util/preset_parse.py b/precision_Problem/No_standard/cmake/util/preset_parse.py new file mode 100644 index 0000000..8f1124b --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/preset_parse.py @@ -0,0 +1,23 @@ +import json +import sys +import os + + +def get_config_opts(file): + src_dir = os.path.abspath(os.path.dirname(file)) + opts = '' + with open(file, 'r') as fd: + config = json.load(fd) + for conf in config: + if conf == 'configurePresets': + for node in config[conf]: + macros = node.get('cacheVariables') + if macros is not None: + for key in macros: + opts += '-D{}={} '.format(key, macros[key]['value']) + opts = opts.replace('${sourceDir}', src_dir) + print(opts) + + +if __name__ == "__main__": + get_config_opts(sys.argv[1]) diff --git a/precision_Problem/No_standard/cmake/util/replay_codegen.py b/precision_Problem/No_standard/cmake/util/replay_codegen.py new file mode 100644 index 0000000..1baa364 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/replay_codegen.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +""" +Created on Feb 28 20:56:45 2020 +Copyright (c) Huawei Technologies Co., Ltd. 2020-2021. All rights reserved. +""" + +import os +import stat +import collections +import kernel_entry as keb +from tiling_data_def_build import gen_tiling +import code_channel_infer +import const_var + +PYF_PATH = os.path.dirname(__file__) + +ReplayCodeGenParams = collections.namedtuple('ReplayCodeGenParams',\ +['op_type', 'impl', 'tiling_file', 'kernel', 'entry', 'argn', 'op_replay_batch', 'max_block_dim', 'max_shape_size']) + + +class ReplayCodeGen: + def __init__(self, replayCodeGenParams): + self.op_type = replayCodeGenParams.op_type + self.impl = replayCodeGenParams.impl + self.tiling_file = replayCodeGenParams.tiling_file + self.tiling_data_file = '' + self.kernel = replayCodeGenParams.kernel + self.entry = replayCodeGenParams.entry + self.argn = replayCodeGenParams.argn + self.batch = False + self.outdir = '' + self.data_type = 'uint8_t' + self.blknum = 32 + self.op_replay_batch = replayCodeGenParams.op_replay_batch + self.max_block_dim = replayCodeGenParams.max_block_dim + self.max_shape_size = replayCodeGenParams.max_shape_size + + def set_batch(self, is_batch): + self.batch = is_batch + + def set_outdir(self, outdir): + self.outdir = outdir + + def gen_replay(self, ops_product: str): + kerentry = os.path.join(self.outdir, self.kernel + '_entry.cce') + kerimpl = os.path.join(self.outdir, self.kernel + '_impl.cpp') + replayimpl = os.path.join(self.outdir, self.kernel + '_replay.cpp') + if self.batch: + reptmp = os.path.join(PYF_PATH, 'batch_replay_impl.temp') + else: + reptmp = os.path.join(PYF_PATH, 'replay_impl.temp') + kertmp = os.path.join(PYF_PATH, 'kernel_impl.temp') + self._gen_kentry(kerentry) + self._gen_kimpl_code(kerimpl, kertmp) + self._gen_tiling_data_header() + self._gen_replay_code(replayimpl, reptmp, ops_product) + + def _gen_tiling_data_header(self): + self.tiling_data_file = os.path.join(self.outdir, self.kernel + '_tiling_data.h') + gen_tiling(self.tiling_file, self.tiling_data_file) + + def _gen_kimpl_code(self, src, tmpfile): + with open(tmpfile, 'r') as fd: + temp = fd.read() + temp = temp.replace('__CCE_FILE__', self.impl) + with os.fdopen(os.open(src, const_var.WFLAGS, const_var.WMODES), 'w') as ofd: + ofd.write(temp) + + def _gen_replay_code(self, src, tmpfile, ops_product: str): + with open(tmpfile, 'r') as fd: + temp = fd.read() + temp = temp.replace('__ARG_NUM__', str(self.argn)) + argdef = [] + kargs = [] + for i in range(0, self.argn): + argdef.append('{} *'.format(self.data_type)) + kargs.append('({} *)GetArg({})'.format(self.data_type, i)) + temp = temp.replace('__ARGS_DEF__', ', '.join(argdef)) + temp = temp.replace('__KERNEL_ARGS__', ', '.join(kargs)) + temp = temp.replace('__KERNEL_FUN__', self.entry) + core_type_infer = 'core_type' + code_channel = code_channel_infer.infer_code_channel(code_channel_infer.InfoCodeChanelParams(self.impl,\ + self.tiling_data_file, self.kernel, self.outdir, ops_product, None)) + if code_channel == code_channel_infer.CODE_VEC: + core_type_infer = '0' + elif code_channel == code_channel_infer.CODE_CUBE: + core_type_infer = '1' + temp = temp.replace('__CORE_TYPE__', core_type_infer) + # regist function + temp = temp.replace('__OPS_PRODUCT__', ops_product) + temp = temp.replace('__OPTYPE__', self.op_type) + with os.fdopen(os.open(src, const_var.WFLAGS, const_var.WMODES), 'w') as ofd: + ofd.write(temp) + + def _gen_kentry(self, src): + kf = '' + pre_alloc_str = 'A' * 256 + if self.batch: + kf += keb.batch_code_gen("K{:02d}_{}{}".format(0, self.entry, pre_alloc_str), self.argn, self.data_type) + else: + kf += keb.mc_code_gen("K{:02d}_{}{}".format(0, self.entry, pre_alloc_str),\ + self.argn, self.data_type, self.blknum) + with os.fdopen(os.open(src, const_var.WFLAGS, const_var.WMODES), 'w') as ofd: + ofd.write(kf) diff --git a/precision_Problem/No_standard/cmake/util/replay_impl.temp b/precision_Problem/No_standard/cmake/util/replay_impl.temp new file mode 100644 index 0000000..1d30dd8 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/replay_impl.temp @@ -0,0 +1,120 @@ +#include +#include +#include +#include +#include +#include +#include "replay_def.h" +#include "code_gen.h" +#include "replay_fun.h" +#include "register/op_check.h" +#define __ASCENDC_REPLAY_CODE__ +using namespace std; +using namespace optiling; +using namespace AscendCReplay; + +extern "C" void __KERNEL_FUN__ (__ARGS_DEF__, const char *); +extern "C" int elf_append(char *elf, uint32_t elfSize, char *jit, int kernum, int blknum[], char *atext[], + int alen[], int atlen, const char* kernelname[]); + +#define KERNEL_N 1 +#define ARG_N (__ARG_NUM__) +#define MAX_L (1024 * 1024 * 100) +#define MAX_E (1024 * 1024) + +int __KERNEL_FUN___replay___OPS_PRODUCT__(ReplayFuncParam& param, const int core_type) +{ + // gen type 1 : direct call codes 0: load .o file + if (param.gentype < 0 || param.gentype > 1) { + printf("Error: call replay gen type is %d, should only be 1 or 0\n", param.gentype); + return 0; + } else if (param.gentype == 1 && param.objptr == nullptr) { + printf("Error: call replay with direct call mode, but code obj addr is null\n"); + return 0; + } else if (param.gentype == 0 && param.output_kernel_file == nullptr) { + printf("Error: call replay with object file mode, but object file path is null\n"); + return 0; + } + // core_type 0:MIX 1:CUBE 2:VEC + if (core_type < 0 || core_type > 2) { + printf("Error: call replay core type is %d !\n", core_type); + return 0; + } + g_coreType = __CORE_TYPE__; + g_taskRation = param.task_ration; + g_tilingKey = param.tiling_key; + + unsigned char *buf, *jit; + char *kernel[KERNEL_N * 32]; + int len[KERNEL_N * 32]; + int blknum[KERNEL_N]; + int max; + block_num = param.block_dim; + g_ubBase = block_num; + uint8_t *code = (uint8_t *)malloc(MAX_L); + uint8_t *pos = code; + struct timespec tp1, tp2; + + clock_gettime(CLOCK_MONOTONIC, &tp1); + if (block_num > 32) { + printf("Error: block_num > 32\n"); + return 0; + } + //__OP_FOPEN__ + for (int i = 0; i < KERNEL_N; i++) { + for (int j = 0; j < ARG_N; j++) + AddArg(j, ARG_STEP * (j + 1)); + for (block_idx = 0; block_idx < block_num; block_idx++) { + //__OP_SET_KERNEL__ + int code_idx = i * block_num + block_idx; +#ifdef FP_CEILING + SetCtrlFloatEnable(); +#else + SetCtrlFloatDisable(); +#endif + CodeInit(pos, false); + __KERNEL_FUN__(__KERNEL_ARGS__, param.tiling_data); + CodeEnd(); + kernel[code_idx] = (char *)pos; + len[code_idx] = CodeLen(); + pos += len[code_idx]; + printf("kernel %d core %ld code generated len %d\n", i, block_idx, len[code_idx]); + } + blknum[i] = block_num; + } + //__OP_FCLOSE__ + clock_gettime(CLOCK_MONOTONIC, &tp2); + buf = (unsigned char *)malloc(MAX_E); + int fd = open(param.entry_file, O_RDONLY); + if (fd < 0) { + printf("[error]: cannot find entry.o : %s\n", param.entry_file); + return 0; + } + uint32_t bufSize = read(fd, buf, MAX_E); + if (bufSize <= 0) { + printf("[error]: entry.o : %s is too small ! \n", param.entry_file); + } + close(fd); + jit = (unsigned char *)malloc(MAX_L); + printf("total code generated %ld\n", pos - code); + int sz = elf_append((char *)buf, bufSize, (char *)jit, KERNEL_N, blknum, kernel, len, pos - code, ¶m.kernel_name); + if (tp1.tv_sec != tp2.tv_sec) { + printf("%ld NS\n", tp2.tv_nsec + 1000000000 - tp1.tv_nsec); + } else { + printf("%ld NS\n", tp2.tv_nsec - tp1.tv_nsec); + } + printf("new elf size %d\n", sz); + if (param.gentype == 0) { + fd = open(param.output_kernel_file, O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR); + (void)write(fd, jit, sz); + close(fd); + free(jit); + } else if (param.gentype == 1) { + *param.objptr = (char*)jit; + } + free(buf); + free(code); + return sz; +} + +REG_REPLAY_FUNC(__OPTYPE__, __OPS_PRODUCT__, __KERNEL_FUN___replay___OPS_PRODUCT__); diff --git a/precision_Problem/No_standard/cmake/util/tiling_data_def_build.py b/precision_Problem/No_standard/cmake/util/tiling_data_def_build.py new file mode 100644 index 0000000..4c5b099 --- /dev/null +++ b/precision_Problem/No_standard/cmake/util/tiling_data_def_build.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python +# coding=utf-8 +""" +Function: +The replay funtion entry +Copyright Information: +Huawei Technologies Co., Ltd. All Rights Reserved © 2020 +""" + +import sys +import os +import stat +import re +import const_var + + +def gen_tiling(tiling_header_file: str, tiling_file_out: str): + if not os.path.exists(tiling_header_file): + print("warning: no userdef tiling header file: ", tiling_header_file) + return + print("generate tiling def header file: ", tiling_file_out) + tmp_name = os.path.splitext(os.path.basename(tiling_header_file))[0].upper() + tiling_source = '#ifndef __{}_H__\n'.format(tmp_name) + tiling_source += '#define __{}_H__\n\n'.format(tmp_name) + tiling_source += '#include \n' + tiling_source += '#include \n\n' + tiling_source += '#include "kernel_tiling/kernel_tiling.h"\n\n' + end_source = "" + pattern = re.compile(r'[(](.*)[)]', re.S) + with open(tiling_header_file, 'r') as fd: + lines = fd.readlines() + for line in lines: + line = line.strip() + if (line.startswith('BEGIN_TILING_DATA_DEF')): + tiling_source += '#pragma pack(1)\n' + tiling_source += 'struct ' + struct_def = re.findall(pattern, line)[0] + tiling_source += struct_def + ' {\n' + elif (line.startswith('TILING_DATA_FIELD_DEF_ARR')): + field_params = re.findall(pattern, line)[0] + fds = field_params.split(',') + tiling_source += ' {} {}[{}] = {{}};\n'.format(fds[0].strip(), fds[2].strip(), fds[1].strip()) + elif (line.startswith('TILING_DATA_FIELD_DEF_STRUCT')): + field_params = re.findall(pattern, line)[0] + fds = field_params.split(',') + tiling_source += ' {} {};\n'.format(fds[0].strip(), fds[1].strip()) + elif (line.startswith('TILING_DATA_FIELD_DEF')): + field_params = re.findall(pattern, line)[0] + fds = field_params.split(',') + tiling_source += ' {} {} = 0;\n'.format(fds[0].strip(), fds[1].strip()) + elif (line.startswith('END_TILING_DATA_DEF')): + tiling_source += '};\n' + tiling_source += '#pragma pack()\n\n' + tiling_source += '#ifdef __NPU_TILING__\n' + tiling_source += \ + 'inline [aicore] void Init{stru}(const __gm__ uint8_t* tiling, {stru}* const_data)\n'\ + .format(stru=struct_def) + tiling_source += '{\n' + tiling_source += ' const __gm__ uint32_t *src = (const __gm__ uint32_t *)tiling;\n' + tiling_source += ' uint32_t *dst = (uint32_t *)const_data;\n' + tiling_source += ' for (auto i = 0; i < sizeof({}) / 4; i++) *(dst + i) = *(src + i);\n'\ + .format(struct_def) + tiling_source += '}\n' + tiling_source += '#else\n' + tiling_source += 'inline void Init{stru}(uint8_t* tiling, {stru}* const_data)\n'.format(stru=struct_def) + tiling_source += '{\n' + tiling_source += ' uint64_t *src = (uint64_t *)tiling;\n' + tiling_source += ' uint64_t *dst = (uint64_t *)const_data;\n' + tiling_source += ' for (auto i = 0; i < sizeof({}) / 8; i++) *(dst + i) = *(src + i);\n'\ + .format(struct_def) + tiling_source += '}\n' + tiling_source += '#endif\n\n' + end_source = ''' +#define GET_TILING_DATA(tiling_data, tiling_arg) \\ +{stru} tiling_data; \\ +Init{stru}(tiling_arg, &tiling_data)\n +'''.format(stru=struct_def) + tiling_source += end_source + tiling_source += '#endif' + with os.fdopen(os.open(tiling_file_out, const_var.WFLAGS, const_var.WMODES), 'w') as ofd: + ofd.write(tiling_source) + + +if __name__ == '__main__': + if len(sys.argv) <= 2: + raise RuntimeError('arguments must greater than 2') + gen_tiling(sys.argv[1], sys.argv[2]) diff --git a/precision_Problem/No_standard/framework/CMakeLists.txt b/precision_Problem/No_standard/framework/CMakeLists.txt new file mode 100644 index 0000000..b6be9b4 --- /dev/null +++ b/precision_Problem/No_standard/framework/CMakeLists.txt @@ -0,0 +1,11 @@ +if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mindspore") + if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/caffe_plugin") + add_subdirectory(caffe_plugin) + endif() + if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/tf_plugin") + add_subdirectory(tf_plugin) + endif() + if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/onnx_plugin") + add_subdirectory(onnx_plugin) + endif() +endif() diff --git a/precision_Problem/No_standard/framework/tf_plugin/CMakeLists.txt b/precision_Problem/No_standard/framework/tf_plugin/CMakeLists.txt new file mode 100644 index 0000000..a6aba5c --- /dev/null +++ b/precision_Problem/No_standard/framework/tf_plugin/CMakeLists.txt @@ -0,0 +1,14 @@ + +aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} plugin_srcs) +add_library(cust_tf_parsers SHARED ${plugin_srcs}) +target_compile_definitions(cust_tf_parsers PRIVATE google=ascend_private) +if(ENABLE_CROSS_COMPILE) + target_link_directories(cust_tf_parsers PRIVATE + ${CMAKE_COMPILE_COMPILER_LIBRARY} + ${CMAKE_COMPILE_RUNTIME_LIBRARY} + ) +endif() +target_link_libraries(cust_tf_parsers PRIVATE intf_pub graph) +install(TARGETS cust_tf_parsers + LIBRARY DESTINATION packages/vendors/${vendor_name}/framework/tensorflow +) diff --git a/precision_Problem/No_standard/framework/tf_plugin/tensorflow_reduce_sum_plugin.cc b/precision_Problem/No_standard/framework/tf_plugin/tensorflow_reduce_sum_plugin.cc new file mode 100644 index 0000000..bab9fa8 --- /dev/null +++ b/precision_Problem/No_standard/framework/tf_plugin/tensorflow_reduce_sum_plugin.cc @@ -0,0 +1,23 @@ +/* Copyright (C) 2020-2021. Huawei Technologies Co., Ltd. All +rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the Apache License Version 2.0. + * You may not use this file except in compliance with the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * Apache License for more details at + * http://www.apache.org/licenses/LICENSE-2.0 + */ + +#include "register/register.h" + +namespace domi { +// register op info to GE +REGISTER_CUSTOM_OP("ReduceSum") + .FrameworkType(TENSORFLOW) // type: CAFFE, TENSORFLOW + .OriginOpType("ReduceSum") // name in tf module + .ParseParamsByOperatorFn(AutoMappingByOpFn); +} // namespace domi diff --git a/precision_Problem/No_standard/op_host/CMakeLists.txt b/precision_Problem/No_standard/op_host/CMakeLists.txt new file mode 100644 index 0000000..40dd51c --- /dev/null +++ b/precision_Problem/No_standard/op_host/CMakeLists.txt @@ -0,0 +1,82 @@ + +aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} ops_srcs) + +opbuild(OPS_SRC ${ops_srcs} + OUT_DIR ${ASCEND_AUTOGEN_PATH} +) + +add_library(cust_op_proto SHARED ${ops_srcs} ${ASCEND_AUTOGEN_PATH}/op_proto.cc) +target_compile_definitions(cust_op_proto PRIVATE OP_PROTO_LIB) +target_compile_options(cust_op_proto PRIVATE + -fvisibility=hidden +) +if(ENABLE_CROSS_COMPILE) + target_link_directories(cust_op_proto PRIVATE + ${CMAKE_COMPILE_COMPILER_LIBRARY} + ${CMAKE_COMPILE_RUNTIME_LIBRARY} + ) +endif() +target_link_libraries(cust_op_proto PRIVATE + intf_pub + exe_graph + register + tiling_api + -Wl,--whole-archive + rt2_registry + -Wl,--no-whole-archive +) +set_target_properties(cust_op_proto PROPERTIES OUTPUT_NAME + cust_opsproto_rt2.0 +) +add_library(cust_optiling SHARED ${ops_srcs}) +target_compile_definitions(cust_optiling PRIVATE OP_TILING_LIB) +target_compile_options(cust_optiling PRIVATE + -fvisibility=hidden +) +if(ENABLE_CROSS_COMPILE) + target_link_directories(cust_optiling PRIVATE + ${CMAKE_COMPILE_COMPILER_LIBRARY} + ${CMAKE_COMPILE_RUNTIME_LIBRARY} + ) +endif() +target_link_libraries(cust_optiling PRIVATE + intf_pub + exe_graph + register + tiling_api + -Wl,--whole-archive + rt2_registry + -Wl,--no-whole-archive +) +set_target_properties(cust_optiling PROPERTIES OUTPUT_NAME + cust_opmaster_rt2.0 +) + +file(GLOB aclnn_src ${ASCEND_AUTOGEN_PATH}/aclnn_*.cpp) +file(GLOB aclnn_inc ${ASCEND_AUTOGEN_PATH}/aclnn_*.h) +add_library(cust_opapi SHARED ${aclnn_src}) +if(ENABLE_CROSS_COMPILE) + target_link_directories(cust_opapi PRIVATE + ${CMAKE_COMPILE_COMPILER_LIBRARY} + ${CMAKE_COMPILE_RUNTIME_LIBRARY} + ) +endif() +target_link_libraries(cust_opapi PRIVATE intf_pub ascendcl nnopbase) + +add_custom_target(optiling_compat ALL + COMMAND ln -sf lib/linux/${CMAKE_SYSTEM_PROCESSOR}/$ + ${CMAKE_CURRENT_BINARY_DIR}/liboptiling.so +) + +install(TARGETS cust_op_proto + LIBRARY DESTINATION packages/vendors/${vendor_name}/op_proto/lib/linux/${CMAKE_SYSTEM_PROCESSOR}) +install(FILES ${ASCEND_AUTOGEN_PATH}/op_proto.h + DESTINATION packages/vendors/${vendor_name}/op_proto/inc) +install(TARGETS cust_optiling + LIBRARY DESTINATION packages/vendors/${vendor_name}/op_impl/ai_core/tbe/op_tiling/lib/linux/${CMAKE_SYSTEM_PROCESSOR}) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liboptiling.so + DESTINATION packages/vendors/${vendor_name}/op_impl/ai_core/tbe/op_tiling) +install(TARGETS cust_opapi + LIBRARY DESTINATION packages/vendors/${vendor_name}/op_api/lib) +install(FILES ${aclnn_inc} + DESTINATION packages/vendors/${vendor_name}/op_api/include) diff --git a/precision_Problem/No_standard/op_host/reduce_sum.cpp b/precision_Problem/No_standard/op_host/reduce_sum.cpp new file mode 100644 index 0000000..e509a45 --- /dev/null +++ b/precision_Problem/No_standard/op_host/reduce_sum.cpp @@ -0,0 +1,120 @@ + + +#include "reduce_sum_tiling.h" +#include "register/op_def_registry.h" + +#include "tiling/platform/platform_ascendc.h" +#include "graph/utils/type_utils.h" +#include "acl/acl.h" + +namespace optiling { +const uint32_t BLOCK_SIZE = 32; +const uint32_t BUFFER_NUM = 2; +static ge::graphStatus TilingFunc(gert::TilingContext* context) +{ + ReduceSumTilingData tiling; + + uint64_t ubSize; + auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo()); + ascendcPlatform.GetCoreMemSize(platform_ascendc::CoreMemType::UB, ubSize); + //auto coreNum = ascendcPlatform.GetCoreNum(); + uint32_t dataType = 0; + ge::TypeUtils::GetDataTypeLength(context->GetInputDesc(0)->GetDataType(), dataType); + + + const gert::StorageShape* x1_shape = context->GetInputShape(0); + uint32_t size = x1_shape->GetStorageShape().GetDimNum(); + + uint16_t shape[10]; + for (int i = 0; i < x1_shape->GetStorageShape().GetDimNum(); i++){ + shape[i]=x1_shape->GetStorageShape().GetDim(i); + } + + +uint32_t alinum=32/dataType; +uint32_t copy_num=(shape[size-1]-1+alinum)/alinum*alinum; + + + + + + auto axes_tensor =context->GetInputTensor(1); + int32_t axis_size = axes_tensor->GetSize(); + std::cout<SetBlockDim(1); + tiling.SaveToBuffer(context->GetRawTilingData()->GetData(), context->GetRawTilingData()->GetCapacity()); + context->GetRawTilingData()->SetDataSize(tiling.GetDataSize()); + size_t *currentWorkspace = context->GetWorkspaceSizes(1); + currentWorkspace[0] = 0; + return ge::GRAPH_SUCCESS; +} +} + +namespace ge { +static ge::graphStatus InferShape(gert::InferShapeContext* context) +{ + const gert::Shape* x1_shape = context->GetInputShape(0); + gert::Shape* y_shape = context->GetOutputShape(0); + *y_shape = *x1_shape; + return GRAPH_SUCCESS; +} +static graphStatus InferDataType(gert::InferDataTypeContext* context) +{ + const auto inputDataType = context->GetInputDataType(0); + context->SetOutputDataType(0, inputDataType); + return ge::GRAPH_SUCCESS; +} +} + +namespace ops { +class ReduceSum : public OpDef { +public: + explicit ReduceSum(const char* name) : OpDef(name) + { + this->Input("x") + .ParamType(REQUIRED) + .DataType({ge::DT_FLOAT, ge::DT_FLOAT16, ge::DT_INT32, ge::DT_INT8}) + .Format({ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND}) + .UnknownShapeFormat({ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND}); + this->Input("axis") + .ParamType(REQUIRED) + .DataType({ge::DT_INT32, ge::DT_INT32, ge::DT_INT32, ge::DT_INT32}) + .Format({ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND}) + .UnknownShapeFormat({ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND}); + this->Output("y") + .ParamType(REQUIRED) + .DataType({ge::DT_FLOAT, ge::DT_FLOAT16, ge::DT_INT32, ge::DT_INT8}) + .Format({ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND}) + .UnknownShapeFormat({ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND}); + + this->Attr("keep_dims").AttrType(OPTIONAL).Bool(false); + this->Attr("ignore_nan").AttrType(OPTIONAL).Bool(false); + this->Attr("dtype").AttrType(OPTIONAL).String("float"); + + this->SetInferShape(ge::InferShape).SetInferDataType(ge::InferDataType); + + this->AICore() + .SetTiling(optiling::TilingFunc); + this->AICore().AddConfig("ascend310b"); + + } +}; + +OP_ADD(ReduceSum); +} + diff --git a/precision_Problem/No_standard/op_host/reduce_sum_tiling.h b/precision_Problem/No_standard/op_host/reduce_sum_tiling.h new file mode 100644 index 0000000..46539b1 --- /dev/null +++ b/precision_Problem/No_standard/op_host/reduce_sum_tiling.h @@ -0,0 +1,19 @@ + +#include "register/tilingdata_base.h" + +namespace optiling { +BEGIN_TILING_DATA_DEF(ReduceSumTilingData) + TILING_DATA_FIELD_DEF(uint32_t, keep_dim); + TILING_DATA_FIELD_DEF(uint32_t, ignore); + TILING_DATA_FIELD_DEF(uint32_t, dtype); + + TILING_DATA_FIELD_DEF(uint32_t, dataType); + TILING_DATA_FIELD_DEF(uint32_t, size); + TILING_DATA_FIELD_DEF_ARR(uint16_t, 10,shape); + TILING_DATA_FIELD_DEF(uint32_t, axis_size); + TILING_DATA_FIELD_DEF(uint32_t, AlginNum); + +END_TILING_DATA_DEF; + +REGISTER_TILING_DATA_CLASS(ReduceSum, ReduceSumTilingData) +} diff --git a/precision_Problem/No_standard/op_kernel/CMakeLists.txt b/precision_Problem/No_standard/op_kernel/CMakeLists.txt new file mode 100644 index 0000000..8c94a95 --- /dev/null +++ b/precision_Problem/No_standard/op_kernel/CMakeLists.txt @@ -0,0 +1,68 @@ +# set custom compile options +if ("${CMAKE_BUILD_TYPE}x" STREQUAL "Debugx") + add_ops_compile_options(ALL OPTIONS -g -O0) +endif() + +foreach(compute_unit ${ASCEND_COMPUTE_UNIT}) + + # generate aic-${compute_unit}-ops-info.json + add_ops_info_target(TARGET ops_info_gen_${compute_unit} + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/tbe/op_info_cfg/ai_core/${compute_unit}/aic-${compute_unit}-ops-info.json + OPS_INFO ${ASCEND_AUTOGEN_PATH}/aic-${compute_unit}-ops-info.ini + INSTALL_DIR packages/vendors/${vendor_name}/op_impl/ai_core/tbe/config/${compute_unit} + ) + + # generate ascendc impl py once + if (NOT TARGET ascendc_impl_gen) + add_ops_impl_target(TARGET ascendc_impl_gen + OPS_INFO ${ASCEND_AUTOGEN_PATH}/aic-${compute_unit}-ops-info.ini + IMPL_DIR ${CMAKE_CURRENT_SOURCE_DIR} + OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/tbe + INSTALL_DIR packages/vendors/${vendor_name}/op_impl/ai_core/tbe/${vendor_name}_impl + ) + endif() + + # dynamic shape binary compile + if (${ENABLE_BINARY_PACKAGE} AND NOT ${ENABLE_CROSS_COMPILE}) + add_bin_compile_target(TARGET ascendc_bin_${compute_unit} + OPS_INFO ${ASCEND_AUTOGEN_PATH}/aic-${compute_unit}-ops-info.ini + IMPL_DIR ${CMAKE_CURRENT_SOURCE_DIR} + ADP_DIR ${CMAKE_CURRENT_BINARY_DIR}/tbe/dynamic + OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/binary/${compute_unit} + INSTALL_DIR packages/vendors/${vendor_name}/op_impl/ai_core/tbe/kernel + COMPUTE_UNIT ${compute_unit} + ) + add_dependencies(ascendc_bin_${compute_unit} ascendc_impl_gen) + endif() + + if (${ENABLE_CROSS_COMPILE} AND ${ENABLE_BINARY_PACKAGE}) + add_cross_compile_target( + TARGET bin_${compute_unit} + OUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../kernel + INSTALL_DIR packages/vendors/${vendor_name}/op_impl/ai_core/tbe/ + ) + endif() +endforeach() + +# generate npu_supported_ops.json +add_npu_support_target(TARGET npu_supported_ops + OPS_INFO_DIR ${ASCEND_AUTOGEN_PATH} + OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/tbe/op_info_cfg/ai_core + INSTALL_DIR packages/vendors/${vendor_name}/framework/${ASCEND_FRAMEWORK_TYPE} +) + +if(ENABLE_TEST AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/testcases) + add_subdirectory(testcases) +endif() + +# install kernel file +if (${ENABLE_SOURCE_PACKAGE}) + file(GLOB KERNEL_FILES + ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/*.h + ${CMAKE_CURRENT_SOURCE_DIR}/*.py + ) + install(FILES ${KERNEL_FILES} + DESTINATION packages/vendors/${vendor_name}/op_impl/ai_core/tbe/${vendor_name}_impl/dynamic + ) +endif() diff --git a/precision_Problem/No_standard/op_kernel/reduce_sum.cpp b/precision_Problem/No_standard/op_kernel/reduce_sum.cpp new file mode 100644 index 0000000..e8a4d2b --- /dev/null +++ b/precision_Problem/No_standard/op_kernel/reduce_sum.cpp @@ -0,0 +1,85 @@ +#include "kernel_operator.h" +using namespace AscendC; + +/* + * Copyright (c) Huawei Technologies Co., Ltd. 2022-2023. All rights reserved. + * + * Function : z = x + y + * This sample is a very basic sample that implements vector add on Ascend plaform. + */ +#include "kernel_operator.h" +using namespace AscendC; + + +class KernelAdd +{ + + +public: + __aicore__ inline KernelAdd() {} + __aicore__ inline void Init(GM_ADDR x, GM_ADDR axis, GM_ADDR y, uint32_t size, uint16_t *shape, uint32_t axes_size, uint32_t dataType) + { + + + xGm.SetGlobalBuffer((__gm__ half *)x, 32); + + + + yGm.SetGlobalBuffer((__gm__ half *)y, 1); + // y又要多少呢 最少就是消除第一个维度之后的大小 + + pipe.InitBuffer(inQueueX, 1, 2048 * sizeof(half)); + + pipe.InitBuffer(outQueueY, 1, 2048 * sizeof(half)); + + pipe.InitBuffer(tmp1, 2048 * sizeof(float)); + pipe.InitBuffer(tmp2, 2048 * sizeof(float)); + pipe.InitBuffer(tmp3, 2048 * sizeof(float)); + + } + __aicore__ inline void Act() + { + LocalTensor xLocal = inQueueX.AllocTensor(); + LocalTensor yLocal = outQueueY.AllocTensor(); + DataCopy(xLocal, xGm, 32); + + // auto p1 = tmp1.Get(); + // auto p2 = tmp2.Get(); + // auto p3 = tmp3.Get(); + + // Cast(p1, xLocal, RoundMode::CAST_NONE, 32); + // Cast(p2, yLocal, RoundMode::CAST_NONE, 32); + + ReduceSum(yLocal, xLocal, yLocal[32], 32); + // Cast(yLocal, p2, RoundMode::CAST_TRUNC, 32); + yGm.SetValue(0, yLocal.GetValue(0)); + + inQueueX.FreeTensor(xLocal); + outQueueY.FreeTensor(yLocal); + + } + + + +private: + TPipe pipe; + TQue inQueueX; + + TQue outQueueY; + + TBuf tmp1, tmp2, tmp3; + + GlobalTensor xGm; + GlobalTensor yGm; + +}; + +extern "C" __global__ __aicore__ void reduce_sum(GM_ADDR x, GM_ADDR axes, GM_ADDR y, GM_ADDR workspace, GM_ADDR tiling) +{ + GET_TILING_DATA(tiling_data, tiling); + KernelAdd op; + op.Init(x, axes, y, tiling_data.size, + tiling_data.shape, tiling_data.axis_size, + tiling_data.dataType); + op.Act(); +} diff --git a/precision_Problem/No_standard/scripts/help.info b/precision_Problem/No_standard/scripts/help.info new file mode 100644 index 0000000..f4b28d5 --- /dev/null +++ b/precision_Problem/No_standard/scripts/help.info @@ -0,0 +1 @@ + --install-path Install operator package to specific dir path \ No newline at end of file diff --git a/precision_Problem/No_standard/scripts/install.sh b/precision_Problem/No_standard/scripts/install.sh new file mode 100644 index 0000000..8468c5a --- /dev/null +++ b/precision_Problem/No_standard/scripts/install.sh @@ -0,0 +1,318 @@ +#!/bin/bash +vendor_name=customize +targetdir=/usr/local/Ascend/opp +target_custom=0 + +sourcedir=$PWD/packages +vendordir=vendors/$vendor_name + +QUIET="y" + +while true +do + case $1 in + --quiet) + QUIET="y" + shift + ;; + --install-path=*) + INSTALL_PATH=$(echo $1 | cut -d"=" -f2-) + INSTALL_PATH=${INSTALL_PATH%*/} + shift + ;; + --*) + shift + ;; + *) + break + ;; + esac +done + +log() { + cur_date=`date +"%Y-%m-%d %H:%M:%S"` + echo "[runtime] [$cur_date] "$1 +} + +if [ -n "${INSTALL_PATH}" ]; then + if [[ ! "${INSTALL_PATH}" = /* ]]; then + log "[ERROR] use absolute path for --install-path argument" + exit 1 + fi + if [ ! -d ${INSTALL_PATH} ]; then + mkdir ${INSTALL_PATH} >> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${INSTALL_PATH} failed" + exit 1 + fi + fi + targetdir=${INSTALL_PATH} +elif [ -n "${ASCEND_CUSTOM_OPP_PATH}" ]; then + if [ ! -d ${ASCEND_CUSTOM_OPP_PATH} ]; then + mkdir -p ${ASCEND_CUSTOM_OPP_PATH} >> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${ASCEND_CUSTOM_OPP_PATH} failed" + fi + fi + targetdir=${ASCEND_CUSTOM_OPP_PATH} +else + if [ "x${ASCEND_OPP_PATH}" == "x" ]; then + log "[ERROR] env ASCEND_OPP_PATH no exist" + exit 1 + fi + targetdir="${ASCEND_OPP_PATH}" +fi + +if [ ! -d $targetdir ];then + log "[ERROR] $targetdir no exist" + exit 1 +fi + +upgrade() +{ + if [ ! -d ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 files" + return 0 + fi + + if [ ! -d ${targetdir}/$vendordir/$1 ];then + log "[INFO] create ${targetdir}/$vendordir/$1." + mkdir -p ${targetdir}/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/$vendordir/$1 failed" + return 1 + fi + else + has_same_file=-1 + for file_a in ${sourcedir}/$vendordir/$1/*; do + file_b=${file_a##*/}; + if [ "ls ${targetdir}/$vendordir/$1" = "" ]; then + log "[INFO] ${targetdir}/$vendordir/$1 is empty !!" + return 1 + fi + grep -q $file_b <<<`ls ${targetdir}/$vendordir/$1`; + if [[ $? -eq 0 ]]; then + echo -n "${file_b} " + has_same_file=0 + fi + done + if [ 0 -eq $has_same_file ]; then + if test $QUIET = "n"; then + echo "[INFO]: has old version in ${targetdir}/$vendordir/$1, \ + you want to Overlay Installation , please enter:[o]; \ + or replace directory installation , please enter: [r]; \ + or not install , please enter:[n]." + + while true + do + read orn + if [ "$orn" = n ]; then + return 0 + elif [ "$orn" = m ]; then + break; + elif [ "$0rn" = r ]; then + [ -n "${targetdir}/$vendordir/$1/" ] && rm -rf "${targetdir}/$vendordir/$1"/* + break; + else + echo "[ERROR] input error, please input again!" + fi + done + fi + fi + log "[INFO] replace or merge old ops $1 files .g....." + fi + + log "copy new ops $1 files ......" + if [ -d ${targetdir}/$vendordir/$1/ ]; then + chmod -R +w "$targetdir/$vendordir/$1/" >/dev/null 2>&1 + fi + cp -rf ${sourcedir}/$vendordir/$1/* $targetdir/$vendordir/$1/ + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 files failed" + return 1 + fi + + return 0 +} +upgrade_proto() +{ + if [ ! -f ${sourcedir}/$vendordir/custom.proto ]; then + log "[INFO] no need to upgrade custom.proto files" + return 0 + fi + if [ ! -d ${targetdir}/$vendordir/framework/caffe ];then + log "[INFO] create ${targetdir}/$vendordir/framework/caffe." + mkdir -p ${targetdir}/$vendordir/framework/caffe + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/$vendordir/framework/caffe failed" + return 1 + fi + else + if [ -f ${targetdir}/$vendordir/framework/caffe/custom.proto ]; then + # 有老版本,判断是否要覆盖式安装 + if test $QUIET = "n"; then + echo "[INFO] ${targetdir}/$vendordir/framework/caffe has old version"\ + "custom.proto file. Do you want to replace? [y/n] " + + while true + do + read yn + if [ "$yn" = n ]; then + return 0 + elif [ "$yn" = y ]; then + break; + else + echo "[ERROR] input error, please input again!" + fi + done + fi + fi + log "[INFO] replace old caffe.proto files ......" + fi + chmod -R +w "$targetdir/$vendordir/framework/caffe/" >/dev/null 2>&1 + cp -rf ${sourcedir}/$vendordir/custom.proto ${targetdir}/$vendordir/framework/caffe/ + if [ $? -ne 0 ];then + log "[ERROR] copy new custom.proto failed" + return 1 + fi + log "[INFO] copy custom.proto success" + + return 0 +} + +upgrade_file() +{ + if [ ! -e ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 file" + return 0 + fi + + log "copy new $1 files ......" + cp -f ${sourcedir}/$vendordir/$1 $targetdir/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 file failed" + return 1 + fi + + return 0 +} + +delete_optiling_file() +{ + if [ ! -d ${targetdir}/vendors ];then + log "[INFO] $1 not exist, no need to uninstall" + return 0 + fi + sys_info=$(uname -m) + if [ ! -d ${sourcedir}/$vendordir/$1/ai_core/tbe/op_tiling/lib/linux/${sys_info} ];then + rm -rf ${sourcedir}/$vendordir/$1/ai_core/tbe/op_tiling/liboptiling.so + fi + return 0 +} + +log "[INFO] copy uninstall sh success" + +if [ ! -d ${targetdir}/vendors ];then + log "[INFO] create ${targetdir}/vendors." + mkdir -p ${targetdir}/vendors + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/vendors failed" + return 1 + fi +fi +chmod u+w ${targetdir}/vendors + +echo "[ops_custom]upgrade framework" +upgrade framework +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op proto" +upgrade op_proto +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade version.info" +upgrade_file version.info +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op impl" +delete_optiling_file op_impl +upgrade op_impl +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op api" +upgrade op_api +if [ $? -ne 0 ];then + exit 1 +fi + +upgrade_proto +if [ $? -ne 0 ];then + exit 1 +fi + +# set the set_env.bash +if [ -n "${INSTALL_PATH}" ] && [ -d ${INSTALL_PATH} ]; then + _ASCEND_CUSTOM_OPP_PATH=${targetdir}/${vendordir} + bin_path="${_ASCEND_CUSTOM_OPP_PATH}/bin" + set_env_variable="#!/bin/bash\nexport ASCEND_CUSTOM_OPP_PATH=${_ASCEND_CUSTOM_OPP_PATH}:\${ASCEND_CUSTOM_OPP_PATH}" + if [ ! -d ${bin_path} ]; then + mkdir -p ${bin_path} >> /dev/null 2>&1 + if [ $? -ne 0 ]; then + log "[ERROR] create ${bin_path} failed" + exit 1 + fi + fi + echo -e ${set_env_variable} > ${bin_path}/set_env.bash + if [ $? -ne 0 ]; then + log "[ERROR] write ASCEND_CUSTOM_OPP_PATH to set_env.bash failed" + exit 1 + else + log "[INFO] using requirements: when custom module install finished or before you run the custom module, \ + execute the command [ source ${bin_path}/set_env.bash ] to set the environment path" + fi +else + config_file=${targetdir}/vendors/config.ini + if [ ! -f ${config_file} ]; then + touch ${config_file} + chmod 640 ${config_file} + echo "load_priority=$vendor_name" > ${config_file} + if [ $? -ne 0 ];then + echo "echo load_priority failed" + exit 1 + fi + else + found_vendors="$(grep -w "load_priority" "$config_file" | cut --only-delimited -d"=" -f2-)" + found_vendor=$(echo $found_vendors | sed "s/$vendor_name//g" | tr ',' ' ') + vendor=$(echo $found_vendor | tr -s ' ' ',') + if [ "$vendor" != "" ]; then + sed -i "/load_priority=$found_vendors/s@load_priority=$found_vendors@load_priority=$vendor_name,$vendor@g" "$config_file" + fi + fi +fi + +chmod u-w ${targetdir}/vendors + +if [ -d ${targetdir}/$vendordir/op_impl/cpu/aicpu_kernel/impl/ ]; then + chmod -R 440 ${targetdir}/$vendordir/op_impl/cpu/aicpu_kernel/impl/* >/dev/null 2>&1 +fi +if [ -f ${targetdir}/ascend_install.info ]; then + chmod -R 440 ${targetdir}/ascend_install.info +fi +if [ -f ${targetdir}/scene.info ]; then + chmod -R 440 ${targetdir}/scene.info +fi +if [ -f ${targetdir}/version.info ]; then + chmod -R 440 ${targetdir}/version.info +fi + +echo "SUCCESS" +exit 0 + diff --git a/precision_Problem/No_standard/scripts/upgrade.sh b/precision_Problem/No_standard/scripts/upgrade.sh new file mode 100644 index 0000000..e091734 --- /dev/null +++ b/precision_Problem/No_standard/scripts/upgrade.sh @@ -0,0 +1,151 @@ +#!/bin/bash +vendor_name=customize +targetdir=/usr/local/Ascend/opp +target_custom=0 + +sourcedir=$PWD/packages +vendordir=vendors/$vendor_name + +log() { + cur_date=`date +"%Y-%m-%d %H:%M:%S"` + echo "[runtime] [$cur_date] "$1 +} + +if [[ "x${ASCEND_OPP_PATH}" == "x" ]];then + log "[ERROR] env ASCEND_OPP_PATH no exist" + exit 1 +fi + +targetdir=${ASCEND_OPP_PATH} + +if [ ! -d $targetdir ];then + log "[ERROR] $targetdir no exist" + exit 1 +fi + +upgrade() +{ + if [ ! -d ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 files" + return 0 + fi + + if [ ! -d ${targetdir}/$vendordir/$1 ];then + log "[INFO] create ${targetdir}/$vendordir/$1." + mkdir -p ${targetdir}/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] create ${targetdir}/$vendordir/$1 failed" + return 1 + fi + else + vendor_installed_dir=$(ls "$targetdir/vendors" 2> /dev/null) + for i in $vendor_installed_dir;do + vendor_installed_file=$(ls "$vendor_installed_dir/$vendor_name/$i" 2> /dev/null) + if [ "$i" = "$vendor_name" ] && [ "$vendor_installed_file" != "" ]; then + echo "[INFO]: $vendor_name custom opp package has been installed on the path $vendor_installed_dir, \ + you want to Overlay Installation , please enter:[o]; \ + or replace directory installation , please enter: [r]; \ + or not install , please enter:[n]." + fi + while true + do + read mrn + if [ "$mrn" = m ]; then + break + elif [ "$mrn" = r ]; then + [ -n "$vendor_installed_file"] && rm -rf "$vendor_installed_file" + break + elif [ "$mrn" = n ]; then + return 0 + else + echo "[WARNING]: Input error, please input m or r or n to choose!" + fi + done + done + log "[INFO] replace old ops $1 files ......" + fi + + log "copy new ops $1 files ......" + cp -rf ${sourcedir}/$vendordir/$1/* $targetdir/$vendordir/$1/ + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 files failed" + return 1 + fi + + return 0 +} + +upgrade_file() +{ + if [ ! -e ${sourcedir}/$vendordir/$1 ]; then + log "[INFO] no need to upgrade ops $1 file" + return 0 + fi + + log "copy new $1 files ......" + cp -f ${sourcedir}/$vendordir/$1 $targetdir/$vendordir/$1 + if [ $? -ne 0 ];then + log "[ERROR] copy new $1 file failed" + return 1 + fi + + return 0 +} + +log "[INFO] copy uninstall sh success" + +echo "[ops_custom]upgrade framework" +upgrade framework +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op proto" +upgrade op_proto +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op impl" +upgrade op_impl +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade op api" +upgrade op_api +if [ $? -ne 0 ];then + exit 1 +fi + +echo "[ops_custom]upgrade version.info" +upgrade_file version.info +if [ $? -ne 0 ];then + exit 1 +fi + +config_file=${targetdir}/vendors/config.ini +found_vendors="$(grep -w "load_priority" "$config_file" | cut --only-delimited -d"=" -f2-)" +found_vendor=$(echo $found_vendors | sed "s/$vendor_name//g" | tr ',' ' ') +vendor=$(echo $found_vendor | tr -s ' ' ',') +if [ "$vendor" != "" ]; then + sed -i "/load_priority=$found_vendors/s@load_priority=$found_vendors@load_priority=$vendor_name,$vendor@g" "$config_file" +fi + +changemode() +{ + if [ -d ${targetdir} ];then + chmod -R 550 ${targetdir}>/dev/null 2>&1 + fi + + return 0 +} +echo "[ops_custom]changemode..." +#changemode +if [ $? -ne 0 ];then + exit 1 +fi + +echo "SUCCESS" +exit 0 + diff --git a/precision_Problem/README.md b/precision_Problem/README.md new file mode 100644 index 0000000..a56ec1e --- /dev/null +++ b/precision_Problem/README.md @@ -0,0 +1,100 @@ + +## 概述 +本样例基于ReduceSum算子工程,介绍了不同方式计算的精度差异。 +## 目录结构介绍 +``` +├── precision_Problem //使用框架调用的方式调用ReduceSum算子 +│ ├── ReduceSumCase1 // 通过aclnn调用的方式调用ReduceSum算子 +│ └── Is_standard +│ └── No_standard // ReduceSum算子工程 +``` +## 算子工程介绍 +其中,算子工程目录ReduceSum包含算子实现的模板文件、编译脚本等,如下所示: +``` +├── ReduceSum //ReduceSum算子工程 +│ ├── cmake +│ ├── framework // 算子插件实现文件目录,单算子模型文件的生成不依赖算子适配插件,无需关注 +│ ├── op_host // host侧实现文件 +│ ├── op_kernel // kernel侧实现文件 +│ ├── scripts // 自定义算子工程打包相关脚本所在目录 +│ ├── build.sh // 编译入口脚本 +│ ├── CMakeLists.txt // 算子工程的CMakeLists.txt +│ └── CMakePresets.json // 编译配置项 +``` +CANN软件包中提供了工程创建工具msopgen,AddCustom算子工程可通过AddCustom.json自动创建,具体请参考[Ascend C算子开发](https://hiascend.com/document/redirect/CannCommunityOpdevAscendC)>算子开发>算子开发工程>基于自定义算子工程的算子开发>创建算子工程 章节。 +## 编译运行样例算子 +针对自定义算子工程,编译运行包含如下步骤: +- 编译自定义算子工程生成算子安装包; +- 安装自定义算子到算子库中; +- 调用执行自定义算子; + +详细操作如下所示。 +### 1. 获取源码包 +编译运行此样例前,请参考[准备:获取样例代码](../README.md#codeready)完成源码包获取。 +### 2. 编译算子工程 + 编译自定义算子工程,构建生成自定义算子包。 + + - 执行如下命令,切换到算子工程AddCustom目录。 + + ```bash + cd ${git_clone_path}/Operator-performance/precision_Problem/No_standard + ``` + + - 修改CMakePresets.json中ASCEND_CANN_PACKAGE_PATH为CANN软件包安装后的实际路径。 + + + ```json + { + …… + "configurePresets": [ + { + …… + "ASCEND_CANN_PACKAGE_PATH": { + "type": "PATH", + "value": "/usr/local/Ascend/ascend-toolkit/latest" //请替换为CANN软件包安装后的实际路径。eg:/home/HwHiAiUser/Ascend/ascend-toolkit/latest + }, + …… + } + ] + } + ``` + + - 使用单核请跳过此步骤,使用多核,请将op_host/下的"add_custom.cpp"重命名为"add_custom.txt",将op_host/下的"add_custom_8core.txt"重命名为"add_custom.cpp" + + - 在算子工程AddCustom目录下执行如下命令,进行算子工程编译。 + + ```bash + ./build.sh + ``` +编译成功后,会在当前目录下创建build_out目录,并在build_out目录下生成自定义算子安装包custom_opp_\_\.run,例如“custom_opp_ubuntu_x86_64.run”。 + +备注:如果要使用dump调试功能,需要移除op_host内和CMakeLists.txt内的Atlas 200/500 A2 推理产品的配置。 + +### 3. 部署算子包 + +执行如下命令,在自定义算子安装包所在路径下,安装自定义算子包。 + ```bash + cd build_out + ./custom_opp__.run + ``` +命令执行成功后,自定义算子包中的相关文件将部署至当前环境的OPP算子库的vendors/customize目录中。 + +### 4. 配置环境变量 + + 请根据当前环境上CANN开发套件包的[安装方式](https://hiascend.com/document/redirect/CannCommunityInstSoftware),选择对应配置环境变量的命令。 + - 默认路径,root用户安装CANN软件包 + ```bash + export ASCEND_INSTALL_PATH=/usr/local/Ascend/ascend-toolkit/latest + ``` + - 默认路径,非root用户安装CANN软件包 + ```bash + export ASCEND_INSTALL_PATH=$HOME/Ascend/ascend-toolkit/latest + ``` + - 指定路径install_path,安装CANN软件包 + ```bash + export ASCEND_INSTALL_PATH=${install_path}/ascend-toolkit/latest + ``` +### 5. 调用执行算子工程和算子耗时 +- [aclnn调用AddCustom算子工程](./AclNNInvocation/README.md) + + diff --git a/precision_Problem/ReduceSumCase1/build/CMakeCache.txt b/precision_Problem/ReduceSumCase1/build/CMakeCache.txt new file mode 100644 index 0000000..5fe793c --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeCache.txt @@ -0,0 +1,369 @@ +# This is the CMakeCache file. +# For build in directory: /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=acl_execute_add + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +acl_execute_add_BINARY_DIR:STATIC=/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build + +//Value Computed by CMake +acl_execute_add_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +acl_execute_add_SOURCE_DIR:STATIC=/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=22 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.22 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 + diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CMakeCCompiler.cmake b/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CMakeCCompiler.cmake new file mode 100644 index 0000000..0c0b1de --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "11.4.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-11") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "aarch64-linux-gnu") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "aarch64-linux-gnu") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/aarch64-linux-gnu/11/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/aarch64-linux-gnu/11;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake b/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..f59b84f --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "11.4.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-11") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "aarch64-linux-gnu") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "aarch64-linux-gnu") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/11;/usr/include/aarch64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/lib/gcc/aarch64-linux-gnu/11/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/aarch64-linux-gnu/11;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin b/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin new file mode 100644 index 0000000000000000000000000000000000000000..dfdc241f48036b01323e7889d7e41cfab5b12a27 GIT binary patch literal 9024 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 se?c7J`^pwP>W{8VPG8h_ul|e(JnJ*A{i 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 J5oGGs{};RSnOy(? literal 0 HcmV?d00001 diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CMakeSystem.cmake b/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CMakeSystem.cmake new file mode 100644 index 0000000..e7ba5ca --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-5.10.0+") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "5.10.0+") +set(CMAKE_HOST_SYSTEM_PROCESSOR "aarch64") + + + +set(CMAKE_SYSTEM "Linux-5.10.0+") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "5.10.0+") +set(CMAKE_SYSTEM_PROCESSOR "aarch64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c b/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..41b99d7 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,803 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CompilerIdC/a.out b/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CompilerIdC/a.out new file mode 100644 index 0000000000000000000000000000000000000000..e8a72558d96dcc6624712e8c2160f02c6c9e0f9f GIT binary patch literal 9168 zcmeHNU2Igx6+XLb0*N8UlmaajmY)au!^WmAG3ig%HpW;oh7hMxMbqnR@7mt7-bK6D zsevjuOPp~UDXB&~_NERs~l`BhqBlB8C;n}1i) zN)oX;gIRvk66V@+T}^{7P&~#|^jf192-B4+2MP~`&Qo43(sPeRLCK89{)(?ti!6U? zk+leVLj9Ol3O#9x-n8mXs~+f#ItGgI$=KxSQ+r{$jd@Z)MOMo0x4o3qvv-?j75$ur z2^4w{v7Wv%mAExotn5A7-(2%DqW**8J=~Yg4BVGZZOUeHW8<4#w=g)er6p0!Cz|cJ zm$H3%$6dXT(4VqP_B^zA!|&=MtIpKt-kjd?-gh>M-{OPV6B#KYKi||WE zs;BEUf+R-ExYJ6D;=_^}R(CKKuYrs9x*B+jv3Lz!WNXy{( zXGb=lOZT}0S+O}hn$M|C$BNbz)bT|5EyVPRP?R<@j`%q~`8^K17;RSUlxaul^Qw#W z71KaHqA&P_t|Q<{#b+Aq`vHDT@df(cfTO)QgrC+0xFUov(Df7#;c>+`hVUlEn?m?* z#V@L#5gwNg&5Za`01t-XUjle=on8;%*gM3~NyVdVT-F83=>Q(Ie=dLr?Y|ztv9`q4 znt1HDHxK>vrJFID{1nl#n}=SVJ{NN?%rJI@=t$#*uF~QczAzb&uDKwxcnt6N%zMr9 zO#3ZvUkS9Ya69^-(KY;cxV_G{F%D3%`!SmM^=f|Jj?v4PW69E$^)&eo`!&IS(DklT zjCpnZTrQW7U**T(|L7_uiBA2wTwX4I!$0Poq)RmU1k<%lA0+zQIo^i3ePr#`u9C|- zGqK3a#N!gZu>4x0pRc=d_>H!OPdu~sM%&R>S^gWW+kT^~G+=b2zOM9n^Uy114&SY( z(oycS|4MReGD4qWyGLlItHkt_>7y=L`Vsqnk)JqC?CHNkTi>lumTn$;&CEOef0M^k zev*E5se#U1j!~(+hRzuMBuz#rS-R9PaVAdm41a~UGXE2o)+EpHE?IvGa{V7rZsPWG z#AApg*H4;0NBUc9_IKj;c8ve$ZZ9We;jvHReIh;)o9qwoLQx^q-Mf9)1B3a|{h4gK zu$R9ej~ciVcOFX@ikW_rXTsb?X{Ao z&AV|fP|WM%BLt?Z_(&!soZ<=sqEOjAsc zF&$_68>Zi4y5aqD`6SbgOn=67F+Wlw2lr6j`0B{Yg=-A9g0ZtV%HV;Z6V)v6D%`ARaW9?A5uB&Pe4M9oe)iAHI0q}m`M0a1wKxWeI{s@rn6!2LhSjq$f0_vT7GM&lZHm3W;Wua)>bLY!9O zcM;;b5}!|a&z1NBLVQ%>cN5~U62Hff*Ghb@`{_c$d##jTxfn(pZ^3`!-@#^=!>6ZQ0(}GaHu=8RlPFikhXAzwb+2Q+@@jr~W zDeiCJ+?HbJZ5d&|v8X+Z$~@qE2mGsCi3H*S(Piya$Khi}z8Zg?aj}o@D(qW3)p7ok zu~Us(`9?Z#D=?$us*c;&S)x`vSoH?NehWhuUq;Al0JraJ5ry|}_|t?Buqw>;9wEOY zB>xB2i|{@W#>HGM|Nm;_ua(2={qLesW1pGFFD}CC^t^uWjTryfaaHeoD_Oo)-b}vl zaVQ7qaf7q9(7w^f_~JnPKxKgOb!Y_WH&s3vvh#I=FRR*@o@9JUw0b>0J%^p|s-3W( zFEAbt_<`yV8E=eMua{RCuQflv6nUE6mvC=;%izlhc`+>etBNDf1$+^IUuE9H^YEPM zcXpqYIFqu3V5SoW2b@6tAWj`H>vjH8V|5f4-Xc+=0u)0q&T1I4rCn99i|QA#Bhe; zK{uOqzLs|PIYT+Ya)K4SqBk})lo+Jh%&g;$I)jp%EwY_d-Wks32i&Za^74hEvv-@r+2L(p>TTQE-N7(tS)9%t%H6ST4>?^uyV~1&oL$?uKit{p z^tHA3bh1V`Wt~Kd`nGxLfnsqsEnSfa_ib>R+exQf&m}W%?oE`^xs>?o2*X<7MrD@U zNfqr9RzNSRoE!t?4i9~t%)h8O^l`re zMSeidRL$R4m?3v>=;Iy+if`bI*wbSd35tGL#1wT8O?sMZL4DjOLHm74 zTag@ZupHw?P=7)l0bPNKQKe*1nd{%@C#a8n6zI~BeAxdJs*i4Pj|Dv&(#QM(o(}2b zz6*-{H{`?p|2U+Ndok#XP*fW3{~Y6z4)^n0{{I>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CompilerIdCXX/a.out b/precision_Problem/ReduceSumCase1/build/CMakeFiles/3.22.1/CompilerIdCXX/a.out new file mode 100644 index 0000000000000000000000000000000000000000..47c74a11ebba8f57647130a4389f88befac42ec5 GIT binary patch literal 9176 zcmeHNYiwLc6+XM`wodbKTtZq%NH&ij;gO9ULh6>%tY2}A94DkMDn#Y_+Pn5{yWX{S z?-nOP#DyYJwM90KsHs%2pg-IKQjtPQq^hJLZOOKC{EN?Nc4xR7LPUCb%y%Ah?#!9FGsiyO-M2R!3K2?#eo4}ryw)OdWt?5F6((_NqhXEJ2TNISc+t^?6b!MgI z&#bf-L1)#EIi=8(rs&P7-kj=zE~sOmct3eJc?Q&8kajUo3aH3RIryfRkb2iL)2yMl zS(ref_XXC|DN~6nlhw*Tr2Q>5E-CdN6!WknlOEcUNo>!gv&D(+uA3iD?cNnDm%RVkjX)J)^exS7R84f>R8>!ShNl<+MDa(3C5yzaFMNNzp#WnInMBe>x`tcZYF&+ z$xR;UVW;4^dCwVh(^+zda(RygmEqn^J$=0$ozBi!>&=zwr+1OlJFwqLB=gD9biqsJ z2ljVna@pj7JCqTdqhq$d$ELr>VHcsDik&p=FnvyS zvA!Z2s8c$@v$~Fe#}!{_vhxG{gyM}lZ@|%B9l)n_0p1kA=M|3z@QaFX3*e2q{#pX~ zHpS1XpCNuPeKqsO^FG`kf`9el{&jlMhpQ{b&NGUK*|@9=lv6(3Z~u%B_uGHjhhuGt zt&P#hA1@#K)l-)vH2o=}6PJ&@Fn1>6ytcsD6wy@kYdxjaKe~N78s7Mt$l@`)KQZq` z%QNlQxqZRczQFD99;0jcZ*hCGZR0&a#qP&w^7k9~c{4&!pO3^#7q-y!TkO{)`#~3b zN)hHY@N>Rge(Y_24E|nEDNc0qjdJ-$@f-dz?-`n>>HC>(V!DUuZ)bQL=JwR4w|h!1 z>nub3Xd`rUjJojxC-Qh6htHu`az4pF=`-!yqTO7swag>Pa0C+0WCPxCIhd>(RxSC=F9 zEi}7%+Sp1Bw$-&Wdv!a;uQOMd6Ce4VrZG>5JH#CO!@EmZ2=(^wJ#g!AZfrcAN#+mp zm*H*$SL4oo$$TN5%N}kqrL{F?D=oWFX;C$+H=c35kz9W4aG!jw49oN*U#-Jd(zJP( z%_iJ@f;Y|)x0vw`x87W3CpqCIv(j;)B5|PqZVIi7e723Rq1zg&KX=|QG1FYkaoUJ=?bMd=j!!@#`O^K5#{6jg?kjv7#~$W z&SC4d4gTNXFXsfBvD6{i|%>kHrnd+p&4y7PVJi*ERsd#Y{A-2(T2KR3c>0^FOc@d!<5+*RWZm3XbjuOY-~HGVB2 zo~!Ze2=iQxHxlBb8ec|;!)pBcO1xI%OWjXb5azX7eq|*eQ;n~xtoLfXiN1|M_c0>; zJ9~XXvZlpH7 zcU8+{H7}ylTLZmQUPNrozD{kN$i6AJS;S9N71~}de2Kt4auLa^{*A?xoq*nrV_#+{5^4UtB?Jg7M90_~@+4#{+i0Yw)!-`_=auzad<^ zPJg(Bou8>xc9wh@U?_|8McEke_xw< z7Lfk}zJ+lax8OMZ-1NJ+e@dK5*`{_7&#<$52|Kqd9^C&w&-e|zei7&9j>`5Ah`+#9kk8`Y;Zo(D$Rzb0hcom#wx*kk;b2bc3h8x zYmRMM8$6&CR<@BvUFa5mp}zVTpQ+s8p?^v%pl4N1j)QWS zhdxf|UsN3WxMzVPPoQRM#_uc4kUKc^aUTQ4HxB+o4)k8umpeV$xVKfPb}atOJi~v5 z=_prZOrbxh0}P5h1Nw(P-v0sB?@)utTYwHKF8Y!i3F?1`G4Tt>ZRB}C(GQE5qVAzd z4|2_~k9#HPU`5haBq!`IC%EC)pHxRc7li36abI1kkMrZ#M_vkaO+Y^A|E%g`{Bdpp zeJ-Gn@dG>;(8s+O^fm}84fg+RKp*#G&?f`>!T!%MU()B5JeS^!@pty1JldeYW!)y9 zKJMGIn&^WZimwb!7f3{_FXCMx5f3vZV40ebBd< zL3!!RU+lewsKpO*9r~XP;L!I|#GYR?rTxF6 q4oDuglOOnlbt(5L`0m$l)5PqP0psWwvdv5ApVJS|KOv|zsQ+)$W7-S= literal 0 HcmV?d00001 diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/CMakeDirectoryInformation.cmake b/precision_Problem/ReduceSumCase1/build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..87e142b --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/CMakeOutput.log b/precision_Problem/ReduceSumCase1/build/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..7caf645 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/CMakeOutput.log @@ -0,0 +1,437 @@ +The system is: Linux - 5.10.0+ - aarch64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/cc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/3.22.1/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/3.22.1/CompilerIdCXX/a.out" + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_f4e48/fast && /usr/bin/gmake -f CMakeFiles/cmTC_f4e48.dir/build.make CMakeFiles/cmTC_f4e48.dir/build +gmake[1]: Entering directory '/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o +/usr/bin/cc -v -o CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +Target: aarch64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_f4e48.dir/' + /usr/lib/gcc/aarch64-linux-gnu/11/cc1 -quiet -v -imultiarch aarch64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_f4e48.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mlittle-endian -mabi=lp64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -o /tmp/ccczPiqv.s +GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/aarch64-linux-gnu/11/include + /usr/local/include + /usr/include/aarch64-linux-gnu + /usr/include +End of search list. +GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 52ed857e9cd110e5efaa797811afcfbb +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_f4e48.dir/' + as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o /tmp/ccczPiqv.s +GNU assembler version 2.38 (aarch64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38 +COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.' +Linking C executable cmTC_f4e48 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f4e48.dir/link.txt --verbose=1 +/usr/bin/cc -v CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o -o cmTC_f4e48 +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper +Target: aarch64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) +COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f4e48' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_f4e48.' + /usr/lib/gcc/aarch64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccha1bnZ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o cmTC_f4e48 /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/11 -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/11/../../.. CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f4e48' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_f4e48.' +gmake[1]: Leaving directory '/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/CMakeTmp' + + + +Parsed C implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/aarch64-linux-gnu/11/include] + add: [/usr/local/include] + add: [/usr/include/aarch64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/aarch64-linux-gnu/11/include] ==> [/usr/lib/gcc/aarch64-linux-gnu/11/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/aarch64-linux-gnu] ==> [/usr/include/aarch64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/aarch64-linux-gnu/11/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include] + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_f4e48/fast && /usr/bin/gmake -f CMakeFiles/cmTC_f4e48.dir/build.make CMakeFiles/cmTC_f4e48.dir/build] + ignore line: [gmake[1]: Entering directory '/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/CMakeTmp'] + ignore line: [Building C object CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [Target: aarch64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_f4e48.dir/'] + ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/11/cc1 -quiet -v -imultiarch aarch64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_f4e48.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mlittle-endian -mabi=lp64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -o /tmp/ccczPiqv.s] + ignore line: [GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/11/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/aarch64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 52ed857e9cd110e5efaa797811afcfbb] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_f4e48.dir/'] + ignore line: [ as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o /tmp/ccczPiqv.s] + ignore line: [GNU assembler version 2.38 (aarch64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38] + ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o' '-c' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_f4e48] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f4e48.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o -o cmTC_f4e48 ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper] + ignore line: [Target: aarch64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f4e48' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_f4e48.'] + link line: [ /usr/lib/gcc/aarch64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccha1bnZ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o cmTC_f4e48 /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/11 -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/11/../../.. CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccha1bnZ.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib/ld-linux-aarch64.so.1] ==> ignore + arg [-X] ==> ignore + arg [-EL] ==> ignore + arg [-maarch64linux] ==> ignore + arg [--fix-cortex-a53-843419] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_f4e48] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] + arg [-L/lib/aarch64-linux-gnu] ==> dir [/lib/aarch64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/aarch64-linux-gnu] ==> dir [/usr/lib/aarch64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../..] + arg [CMakeFiles/cmTC_f4e48.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] ==> [/usr/lib/aarch64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] ==> [/usr/lib/aarch64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] ==> [/usr/lib/aarch64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11] ==> [/usr/lib/gcc/aarch64-linux-gnu/11] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/aarch64-linux-gnu] ==> [/lib/aarch64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit objs: [/usr/lib/aarch64-linux-gnu/Scrt1.o;/usr/lib/aarch64-linux-gnu/crti.o;/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o;/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o;/usr/lib/aarch64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/aarch64-linux-gnu/11;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib] + implicit fwks: [] + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_003e0/fast && /usr/bin/gmake -f CMakeFiles/cmTC_003e0.dir/build.make CMakeFiles/cmTC_003e0.dir/build +gmake[1]: Entering directory '/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -v -o CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +Target: aarch64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_003e0.dir/' + /usr/lib/gcc/aarch64-linux-gnu/11/cc1plus -quiet -v -imultiarch aarch64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_003e0.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mlittle-endian -mabi=lp64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -o /tmp/cckVmOsn.s +GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring duplicate directory "/usr/include/aarch64-linux-gnu/c++/11" +ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/include/c++/11 + /usr/include/aarch64-linux-gnu/c++/11 + /usr/include/c++/11/backward + /usr/lib/gcc/aarch64-linux-gnu/11/include + /usr/local/include + /usr/include/aarch64-linux-gnu + /usr/include +End of search list. +GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 3e6e780af1232722b47e0979fda82402 +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_003e0.dir/' + as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o /tmp/cckVmOsn.s +GNU assembler version 2.38 (aarch64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38 +COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.' +Linking CXX executable cmTC_003e0 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_003e0.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_003e0 +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper +Target: aarch64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) +COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_003e0' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_003e0.' + /usr/lib/gcc/aarch64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/cchqVdis.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o cmTC_003e0 /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/11 -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/11/../../.. CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_003e0' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_003e0.' +gmake[1]: Leaving directory '/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/CMakeTmp' + + + +Parsed CXX implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/include/c++/11] + add: [/usr/include/aarch64-linux-gnu/c++/11] + add: [/usr/include/c++/11/backward] + add: [/usr/lib/gcc/aarch64-linux-gnu/11/include] + add: [/usr/local/include] + add: [/usr/include/aarch64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/include/c++/11] ==> [/usr/include/c++/11] + collapse include dir [/usr/include/aarch64-linux-gnu/c++/11] ==> [/usr/include/aarch64-linux-gnu/c++/11] + collapse include dir [/usr/include/c++/11/backward] ==> [/usr/include/c++/11/backward] + collapse include dir [/usr/lib/gcc/aarch64-linux-gnu/11/include] ==> [/usr/lib/gcc/aarch64-linux-gnu/11/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/aarch64-linux-gnu] ==> [/usr/include/aarch64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/11;/usr/include/aarch64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/lib/gcc/aarch64-linux-gnu/11/include;/usr/local/include;/usr/include/aarch64-linux-gnu;/usr/include] + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_003e0/fast && /usr/bin/gmake -f CMakeFiles/cmTC_003e0.dir/build.make CMakeFiles/cmTC_003e0.dir/build] + ignore line: [gmake[1]: Entering directory '/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/CMakeTmp'] + ignore line: [Building CXX object CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [Target: aarch64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_003e0.dir/'] + ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/11/cc1plus -quiet -v -imultiarch aarch64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_003e0.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mlittle-endian -mabi=lp64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -o /tmp/cckVmOsn.s] + ignore line: [GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/usr/include/aarch64-linux-gnu/c++/11"] + ignore line: [ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/include/c++/11] + ignore line: [ /usr/include/aarch64-linux-gnu/c++/11] + ignore line: [ /usr/include/c++/11/backward] + ignore line: [ /usr/lib/gcc/aarch64-linux-gnu/11/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/aarch64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (aarch64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 3e6e780af1232722b47e0979fda82402] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_003e0.dir/'] + ignore line: [ as -v -EL -mabi=lp64 -o CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o /tmp/cckVmOsn.s] + ignore line: [GNU assembler version 2.38 (aarch64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38] + ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_003e0] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_003e0.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_003e0 ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper] + ignore line: [Target: aarch64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/11/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_003e0' '-shared-libgcc' '-mlittle-endian' '-mabi=lp64' '-dumpdir' 'cmTC_003e0.'] + link line: [ /usr/lib/gcc/aarch64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/cchqVdis.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr --hash-style=gnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o cmTC_003e0 /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/11 -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/11/../../.. CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/11/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/aarch64-linux-gnu/11/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/cchqVdis.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib/ld-linux-aarch64.so.1] ==> ignore + arg [-X] ==> ignore + arg [-EL] ==> ignore + arg [-maarch64linux] ==> ignore + arg [--fix-cortex-a53-843419] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_003e0] ==> ignore + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] + arg [-L/lib/aarch64-linux-gnu] ==> dir [/lib/aarch64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/aarch64-linux-gnu] ==> dir [/usr/lib/aarch64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/aarch64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../..] + arg [CMakeFiles/cmTC_003e0.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o] + arg [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/Scrt1.o] ==> [/usr/lib/aarch64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crti.o] ==> [/usr/lib/aarch64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu/crtn.o] ==> [/usr/lib/aarch64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11] ==> [/usr/lib/gcc/aarch64-linux-gnu/11] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/aarch64-linux-gnu] ==> [/lib/aarch64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/aarch64-linux-gnu] ==> [/usr/lib/aarch64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/aarch64-linux-gnu/11/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit objs: [/usr/lib/aarch64-linux-gnu/Scrt1.o;/usr/lib/aarch64-linux-gnu/crti.o;/usr/lib/gcc/aarch64-linux-gnu/11/crtbeginS.o;/usr/lib/gcc/aarch64-linux-gnu/11/crtendS.o;/usr/lib/aarch64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/aarch64-linux-gnu/11;/usr/lib/aarch64-linux-gnu;/usr/lib;/lib/aarch64-linux-gnu;/lib] + implicit fwks: [] + + diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/Makefile.cmake b/precision_Problem/ReduceSumCase1/build/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..046dda1 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/Makefile.cmake @@ -0,0 +1,122 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "CMakeFiles/3.22.1/CMakeCCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCXXCompiler.cmake" + "CMakeFiles/3.22.1/CMakeSystem.cmake" + "/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/CMakeLists.txt" + "/usr/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + "/usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c" + "/usr/share/cmake-3.22/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + "/usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp" + "/usr/share/cmake-3.22/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake" + "/usr/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + "/usr/share/cmake-3.22/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake" + "/usr/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + "/usr/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + "/usr/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + "/usr/share/cmake-3.22/Modules/CMakeSystem.cmake.in" + "/usr/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + "/usr/share/cmake-3.22/Modules/CMakeUnixFindMake.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-FindBinUtils.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-Determine-CXX.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux.cmake" + "/usr/share/cmake-3.22/Modules/Platform/UnixPaths.cmake" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/3.22.1/CMakeSystem.cmake" + "CMakeFiles/3.22.1/CMakeCCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCXXCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCXXCompiler.cmake" + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/execute_op.dir/DependInfo.cmake" + ) diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/Makefile2 b/precision_Problem/ReduceSumCase1/build/CMakeFiles/Makefile2 new file mode 100644 index 0000000..ec511a6 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/Makefile2 @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/execute_op.dir/all +.PHONY : all + +# The main recursive "preinstall" target. +preinstall: +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/execute_op.dir/clean +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/execute_op.dir + +# All Build rule for target. +CMakeFiles/execute_op.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles/execute_op.dir/build.make CMakeFiles/execute_op.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/execute_op.dir/build.make CMakeFiles/execute_op.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles --progress-num=1,2,3,4,5 "Built target execute_op" +.PHONY : CMakeFiles/execute_op.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/execute_op.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles 5 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/execute_op.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles 0 +.PHONY : CMakeFiles/execute_op.dir/rule + +# Convenience name for target. +execute_op: CMakeFiles/execute_op.dir/rule +.PHONY : execute_op + +# clean rule for target. +CMakeFiles/execute_op.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/execute_op.dir/build.make CMakeFiles/execute_op.dir/clean +.PHONY : CMakeFiles/execute_op.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/TargetDirectories.txt b/precision_Problem/ReduceSumCase1/build/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..ea70a97 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,7 @@ +/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/execute_op.dir +/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/edit_cache.dir +/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/rebuild_cache.dir +/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/list_install_components.dir +/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/install.dir +/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/install/local.dir +/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/install/strip.dir diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/cmake.check_cache b/precision_Problem/ReduceSumCase1/build/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/DependInfo.cmake b/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/DependInfo.cmake new file mode 100644 index 0000000..e6c3360 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/DependInfo.cmake @@ -0,0 +1,22 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/common.cpp" "CMakeFiles/execute_op.dir/common.cpp.o" "gcc" "CMakeFiles/execute_op.dir/common.cpp.o.d" + "/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/main.cpp" "CMakeFiles/execute_op.dir/main.cpp.o" "gcc" "CMakeFiles/execute_op.dir/main.cpp.o.d" + "/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/op_runner.cpp" "CMakeFiles/execute_op.dir/op_runner.cpp.o" "gcc" "CMakeFiles/execute_op.dir/op_runner.cpp.o.d" + "/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/operator_desc.cpp" "CMakeFiles/execute_op.dir/operator_desc.cpp.o" "gcc" "CMakeFiles/execute_op.dir/operator_desc.cpp.o.d" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/build.make b/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/build.make new file mode 100644 index 0000000..a1cbc12 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/build.make @@ -0,0 +1,158 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build + +# Include any dependencies generated for this target. +include CMakeFiles/execute_op.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include CMakeFiles/execute_op.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/execute_op.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/execute_op.dir/flags.make + +CMakeFiles/execute_op.dir/operator_desc.cpp.o: CMakeFiles/execute_op.dir/flags.make +CMakeFiles/execute_op.dir/operator_desc.cpp.o: /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/operator_desc.cpp +CMakeFiles/execute_op.dir/operator_desc.cpp.o: CMakeFiles/execute_op.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/execute_op.dir/operator_desc.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/execute_op.dir/operator_desc.cpp.o -MF CMakeFiles/execute_op.dir/operator_desc.cpp.o.d -o CMakeFiles/execute_op.dir/operator_desc.cpp.o -c /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/operator_desc.cpp + +CMakeFiles/execute_op.dir/operator_desc.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/execute_op.dir/operator_desc.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/operator_desc.cpp > CMakeFiles/execute_op.dir/operator_desc.cpp.i + +CMakeFiles/execute_op.dir/operator_desc.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/execute_op.dir/operator_desc.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/operator_desc.cpp -o CMakeFiles/execute_op.dir/operator_desc.cpp.s + +CMakeFiles/execute_op.dir/op_runner.cpp.o: CMakeFiles/execute_op.dir/flags.make +CMakeFiles/execute_op.dir/op_runner.cpp.o: /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/op_runner.cpp +CMakeFiles/execute_op.dir/op_runner.cpp.o: CMakeFiles/execute_op.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/execute_op.dir/op_runner.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/execute_op.dir/op_runner.cpp.o -MF CMakeFiles/execute_op.dir/op_runner.cpp.o.d -o CMakeFiles/execute_op.dir/op_runner.cpp.o -c /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/op_runner.cpp + +CMakeFiles/execute_op.dir/op_runner.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/execute_op.dir/op_runner.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/op_runner.cpp > CMakeFiles/execute_op.dir/op_runner.cpp.i + +CMakeFiles/execute_op.dir/op_runner.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/execute_op.dir/op_runner.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/op_runner.cpp -o CMakeFiles/execute_op.dir/op_runner.cpp.s + +CMakeFiles/execute_op.dir/main.cpp.o: CMakeFiles/execute_op.dir/flags.make +CMakeFiles/execute_op.dir/main.cpp.o: /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/main.cpp +CMakeFiles/execute_op.dir/main.cpp.o: CMakeFiles/execute_op.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/execute_op.dir/main.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/execute_op.dir/main.cpp.o -MF CMakeFiles/execute_op.dir/main.cpp.o.d -o CMakeFiles/execute_op.dir/main.cpp.o -c /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/main.cpp + +CMakeFiles/execute_op.dir/main.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/execute_op.dir/main.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/main.cpp > CMakeFiles/execute_op.dir/main.cpp.i + +CMakeFiles/execute_op.dir/main.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/execute_op.dir/main.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/main.cpp -o CMakeFiles/execute_op.dir/main.cpp.s + +CMakeFiles/execute_op.dir/common.cpp.o: CMakeFiles/execute_op.dir/flags.make +CMakeFiles/execute_op.dir/common.cpp.o: /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/common.cpp +CMakeFiles/execute_op.dir/common.cpp.o: CMakeFiles/execute_op.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/execute_op.dir/common.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/execute_op.dir/common.cpp.o -MF CMakeFiles/execute_op.dir/common.cpp.o.d -o CMakeFiles/execute_op.dir/common.cpp.o -c /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/common.cpp + +CMakeFiles/execute_op.dir/common.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/execute_op.dir/common.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/common.cpp > CMakeFiles/execute_op.dir/common.cpp.i + +CMakeFiles/execute_op.dir/common.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/execute_op.dir/common.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/common.cpp -o CMakeFiles/execute_op.dir/common.cpp.s + +# Object files for target execute_op +execute_op_OBJECTS = \ +"CMakeFiles/execute_op.dir/operator_desc.cpp.o" \ +"CMakeFiles/execute_op.dir/op_runner.cpp.o" \ +"CMakeFiles/execute_op.dir/main.cpp.o" \ +"CMakeFiles/execute_op.dir/common.cpp.o" + +# External object files for target execute_op +execute_op_EXTERNAL_OBJECTS = + +/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/output/execute_op: CMakeFiles/execute_op.dir/operator_desc.cpp.o +/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/output/execute_op: CMakeFiles/execute_op.dir/op_runner.cpp.o +/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/output/execute_op: CMakeFiles/execute_op.dir/main.cpp.o +/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/output/execute_op: CMakeFiles/execute_op.dir/common.cpp.o +/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/output/execute_op: CMakeFiles/execute_op.dir/build.make +/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/output/execute_op: CMakeFiles/execute_op.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking CXX executable /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/output/execute_op" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/execute_op.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/execute_op.dir/build: /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/output/execute_op +.PHONY : CMakeFiles/execute_op.dir/build + +CMakeFiles/execute_op.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/execute_op.dir/cmake_clean.cmake +.PHONY : CMakeFiles/execute_op.dir/clean + +CMakeFiles/execute_op.dir/depend: + cd /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles/execute_op.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/execute_op.dir/depend + diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/cmake_clean.cmake b/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/cmake_clean.cmake new file mode 100644 index 0000000..54dde7e --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/cmake_clean.cmake @@ -0,0 +1,17 @@ +file(REMOVE_RECURSE + "/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/output/execute_op" + "/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/output/execute_op.pdb" + "CMakeFiles/execute_op.dir/common.cpp.o" + "CMakeFiles/execute_op.dir/common.cpp.o.d" + "CMakeFiles/execute_op.dir/main.cpp.o" + "CMakeFiles/execute_op.dir/main.cpp.o.d" + "CMakeFiles/execute_op.dir/op_runner.cpp.o" + "CMakeFiles/execute_op.dir/op_runner.cpp.o.d" + "CMakeFiles/execute_op.dir/operator_desc.cpp.o" + "CMakeFiles/execute_op.dir/operator_desc.cpp.o.d" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/execute_op.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/common.cpp.o b/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/common.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..d3e7f41083fa1917b8342f987e6193097d3bd8d7 GIT binary patch literal 15344 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

bAvk?r5f`ctz; zzd#G2w-8^_&p(93=qTjEX8-kspub4bAB*U}n-%`#>jL4h{M)4PW6TfBpU)`mj|uHJ z&kD$Ae^|f7PM7`P6Vd+nEBp=256hp+h%d#jOtAkc!Tupdf0*^d^5-jxewCpAH9>z& z(cjJbmF#bOGHu1s!9b->(b$v(Av?H~soRC9M53h%fnnv(Wx;2>PoP{Yuui z_S-hQ?N2KD!$SL?5%ix{^m`+=|0zYkz}zfPhwUfE|IZ5g2cIeXe^bQv|3}d;VtwmB zqyLO^E(v;!FO|djpBl(ZzhD|2;v!QqdoY z*#7er{VvwW_WwZ8e@xLIi`f206#W6A{XZ1+_bK{Iy939?*njrq#{W->er$5!e{BDc z1^r9TR^s0sDArhEKD+uC5nqab73*XCeX#dXy{XZ)D zW8HybjTPpztN%Mie@tlq&jtNs%VqyBy&({^(AESKBAIb!>tSNOvb`FZEa`n#AP=D*Vv{yyf1`LBfdlK*-H z|NU0*-zr5vb|X2T4(tEme}R^LZO)G>{IZDrUnu-4=7;(3jpxe#uV;Rk{|+U-b31}hJmn|`ZU z(Eqof-%b33h{Ye5rTNp>1~2Q=NbtgF;c+eT4d&`s3i>Y#`lG~`^n2F^D)lHvuZ@(Njh-`YT>9>wUj(Zb^r;!FBng8o4V=Z+swvOeD~lCFB`&B4o9 z8VO$HJOBTZqTkEGb|6oD?1x3G$^$Q$5SO4dV{s`;i`unwl{>!Y-w=1R9dRYI^ zG!ndU^$Xvdmv=b5MO9}Veav^u+yC41k;G5MFN;laGG7*_1ILei!Txs>-{h|wzy1*Y zROR$%n$-{FESwh;^bZyEFJ^t~XIsGl>$~%ZvDF;*{C?&KXy)$@=4X)LmE~EygZYm6 zc_Ws8ye%1=t=}!$V%u*4K9_O(YmNy3lfQ=x?Kk$g+J-Um2=mqj=OYZC0&VqeTo0kQ i>8+e&&#a)O$JAxN<+lF_dRyZ6og7%TmfDAh%m04?R!@Wg literal 0 HcmV?d00001 diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/op_runner.cpp.o.d b/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/op_runner.cpp.o.d new file mode 100644 index 0000000..7f8e437 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/op_runner.cpp.o.d @@ -0,0 +1,183 @@ +CMakeFiles/execute_op.dir/op_runner.cpp.o: \ + /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/op_runner.cpp \ + /usr/include/stdc-predef.h \ + /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/../inc/op_runner.h \ + /usr/local/Ascend/ascend-toolkit/latest/runtime/include/aclnn/acl_meta.h \ + /usr/include/c++/11/cstdint \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/cstdlib /usr/include/stdlib.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/sys/types.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/endian.h /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/alloca.h /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/c++/11/bits/std_abs.h \ + /usr/local/Ascend/ascend-toolkit/latest/runtime/include/acl/acl_base.h \ + /usr/local/Ascend/ascend-toolkit/latest/runtime/include/acl/error_codes/rt_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/runtime/include/acl/error_codes/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/runtime/include/acl/acl.h \ + /usr/local/Ascend/ascend-toolkit/latest/runtime/include/acl/acl_rt.h \ + /usr/local/Ascend/ascend-toolkit/latest/runtime/include/acl/acl_base.h \ + /usr/local/Ascend/ascend-toolkit/latest/runtime/include/acl/acl_op.h \ + /usr/local/Ascend/ascend-toolkit/latest/runtime/include/acl/acl_mdl.h \ + /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/../inc/common.h \ + /usr/include/c++/11/cstdio /usr/include/stdio.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/c++/11/string /usr/include/c++/11/bits/stringfwd.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/char_traits.h \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_pair.h /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/postypes.h /usr/include/c++/11/cwchar \ + /usr/include/wchar.h /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/cctype /usr/include/ctype.h \ + /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/ext/string_conversions.h /usr/include/c++/11/cerrno \ + /usr/include/errno.h /usr/include/aarch64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/basic_string.tcc /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/vector.tcc /usr/include/c++/11/iostream \ + /usr/include/c++/11/ostream /usr/include/c++/11/ios \ + /usr/include/c++/11/exception /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/typeinfo /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/ios_base.h \ + /usr/include/c++/11/bits/locale_classes.h \ + /usr/include/c++/11/bits/locale_classes.tcc \ + /usr/include/c++/11/system_error \ + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h \ + /usr/include/c++/11/stdexcept /usr/include/c++/11/streambuf \ + /usr/include/c++/11/bits/streambuf.tcc \ + /usr/include/c++/11/bits/basic_ios.h \ + /usr/include/c++/11/bits/locale_facets.h /usr/include/c++/11/cwctype \ + /usr/include/wctype.h /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h \ + /usr/include/c++/11/bits/streambuf_iterator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h \ + /usr/include/c++/11/bits/locale_facets.tcc \ + /usr/include/c++/11/bits/basic_ios.tcc \ + /usr/include/c++/11/bits/ostream.tcc /usr/include/c++/11/istream \ + /usr/include/c++/11/bits/istream.tcc /usr/include/c++/11/iomanip \ + /usr/include/c++/11/locale \ + /usr/include/c++/11/bits/locale_facets_nonio.h /usr/include/c++/11/ctime \ + /usr/include/aarch64-linux-gnu/c++/11/bits/time_members.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/messages_members.h \ + /usr/include/libintl.h /usr/include/c++/11/bits/codecvt.h \ + /usr/include/c++/11/bits/locale_facets_nonio.tcc \ + /usr/include/c++/11/bits/locale_conv.h \ + /usr/include/c++/11/bits/unique_ptr.h /usr/include/c++/11/utility \ + /usr/include/c++/11/bits/stl_relops.h /usr/include/c++/11/tuple \ + /usr/include/c++/11/array /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/../inc/operator_desc.h \ + /usr/local/Ascend/ascend-toolkit/latest/opp/vendors/customize/op_api/include/aclnn_reduce_sum.h \ + /usr/include/c++/11/limits /usr/include/c++/11/cassert \ + /usr/include/assert.h \ + /usr/local/Ascend/ascend-toolkit/latest/atc/include/acl/acl_op_compiler.h \ + /usr/local/Ascend/ascend-toolkit/latest/atc/include/acl/acl_base.h \ + /usr/local/Ascend/ascend-toolkit/latest/atc/include/acl/acl_op.h \ + /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/../inc/common.h diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/operator_desc.cpp.o b/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/operator_desc.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..b3ef513b27c26b44d738965de1c7d93ca03c34ae GIT binary patch literal 57816 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 literal 0 HcmV?d00001 diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/operator_desc.cpp.o.d b/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/operator_desc.cpp.o.d new file mode 100644 index 0000000..8353013 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/operator_desc.cpp.o.d @@ -0,0 +1,173 @@ +CMakeFiles/execute_op.dir/operator_desc.cpp.o: \ + /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/operator_desc.cpp \ + /usr/include/stdc-predef.h \ + /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/../inc/common.h \ + /usr/include/c++/11/cstdio \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/include/c++/11/string /usr/include/c++/11/bits/stringfwd.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/bits/char_traits.h \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_pair.h /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/postypes.h /usr/include/c++/11/cwchar \ + /usr/include/wchar.h /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/c++/11/cstdint \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/cctype /usr/include/ctype.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/ext/string_conversions.h /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/alloca.h /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/c++/11/bits/std_abs.h /usr/include/c++/11/cerrno \ + /usr/include/errno.h /usr/include/aarch64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/basic_string.tcc /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/vector.tcc /usr/include/c++/11/iostream \ + /usr/include/c++/11/ostream /usr/include/c++/11/ios \ + /usr/include/c++/11/exception /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/typeinfo /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/ios_base.h \ + /usr/include/c++/11/bits/locale_classes.h \ + /usr/include/c++/11/bits/locale_classes.tcc \ + /usr/include/c++/11/system_error \ + /usr/include/aarch64-linux-gnu/c++/11/bits/error_constants.h \ + /usr/include/c++/11/stdexcept /usr/include/c++/11/streambuf \ + /usr/include/c++/11/bits/streambuf.tcc \ + /usr/include/c++/11/bits/basic_ios.h \ + /usr/include/c++/11/bits/locale_facets.h /usr/include/c++/11/cwctype \ + /usr/include/wctype.h /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_base.h \ + /usr/include/c++/11/bits/streambuf_iterator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/ctype_inline.h \ + /usr/include/c++/11/bits/locale_facets.tcc \ + /usr/include/c++/11/bits/basic_ios.tcc \ + /usr/include/c++/11/bits/ostream.tcc /usr/include/c++/11/istream \ + /usr/include/c++/11/bits/istream.tcc /usr/include/c++/11/iomanip \ + /usr/include/c++/11/locale \ + /usr/include/c++/11/bits/locale_facets_nonio.h /usr/include/c++/11/ctime \ + /usr/include/aarch64-linux-gnu/c++/11/bits/time_members.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/messages_members.h \ + /usr/include/libintl.h /usr/include/c++/11/bits/codecvt.h \ + /usr/include/c++/11/bits/locale_facets_nonio.tcc \ + /usr/include/c++/11/bits/locale_conv.h \ + /usr/include/c++/11/bits/unique_ptr.h /usr/include/c++/11/utility \ + /usr/include/c++/11/bits/stl_relops.h /usr/include/c++/11/tuple \ + /usr/include/c++/11/array /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/local/Ascend/ascend-toolkit/latest/runtime/include/acl/acl.h \ + /usr/local/Ascend/ascend-toolkit/latest/runtime/include/acl/acl_rt.h \ + /usr/local/Ascend/ascend-toolkit/latest/runtime/include/acl/acl_base.h \ + /usr/local/Ascend/ascend-toolkit/latest/runtime/include/acl/error_codes/rt_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/runtime/include/acl/error_codes/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/runtime/include/acl/acl_op.h \ + /usr/local/Ascend/ascend-toolkit/latest/runtime/include/acl/acl_mdl.h \ + /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src/../inc/operator_desc.h diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/progress.make b/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/progress.make new file mode 100644 index 0000000..33e6bff --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/execute_op.dir/progress.make @@ -0,0 +1,6 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 +CMAKE_PROGRESS_3 = 3 +CMAKE_PROGRESS_4 = 4 +CMAKE_PROGRESS_5 = 5 + diff --git a/precision_Problem/ReduceSumCase1/build/CMakeFiles/progress.marks b/precision_Problem/ReduceSumCase1/build/CMakeFiles/progress.marks new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +5 diff --git a/precision_Problem/ReduceSumCase1/build/Makefile b/precision_Problem/ReduceSumCase1/build/Makefile new file mode 100644 index 0000000..b53d95c --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/Makefile @@ -0,0 +1,311 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build//CMakeFiles/progress.marks + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named execute_op + +# Build rule for target. +execute_op: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 execute_op +.PHONY : execute_op + +# fast build rule for target. +execute_op/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/execute_op.dir/build.make CMakeFiles/execute_op.dir/build +.PHONY : execute_op/fast + +common.o: common.cpp.o +.PHONY : common.o + +# target to build an object file +common.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/execute_op.dir/build.make CMakeFiles/execute_op.dir/common.cpp.o +.PHONY : common.cpp.o + +common.i: common.cpp.i +.PHONY : common.i + +# target to preprocess a source file +common.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/execute_op.dir/build.make CMakeFiles/execute_op.dir/common.cpp.i +.PHONY : common.cpp.i + +common.s: common.cpp.s +.PHONY : common.s + +# target to generate assembly for a file +common.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/execute_op.dir/build.make CMakeFiles/execute_op.dir/common.cpp.s +.PHONY : common.cpp.s + +main.o: main.cpp.o +.PHONY : main.o + +# target to build an object file +main.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/execute_op.dir/build.make CMakeFiles/execute_op.dir/main.cpp.o +.PHONY : main.cpp.o + +main.i: main.cpp.i +.PHONY : main.i + +# target to preprocess a source file +main.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/execute_op.dir/build.make CMakeFiles/execute_op.dir/main.cpp.i +.PHONY : main.cpp.i + +main.s: main.cpp.s +.PHONY : main.s + +# target to generate assembly for a file +main.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/execute_op.dir/build.make CMakeFiles/execute_op.dir/main.cpp.s +.PHONY : main.cpp.s + +op_runner.o: op_runner.cpp.o +.PHONY : op_runner.o + +# target to build an object file +op_runner.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/execute_op.dir/build.make CMakeFiles/execute_op.dir/op_runner.cpp.o +.PHONY : op_runner.cpp.o + +op_runner.i: op_runner.cpp.i +.PHONY : op_runner.i + +# target to preprocess a source file +op_runner.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/execute_op.dir/build.make CMakeFiles/execute_op.dir/op_runner.cpp.i +.PHONY : op_runner.cpp.i + +op_runner.s: op_runner.cpp.s +.PHONY : op_runner.s + +# target to generate assembly for a file +op_runner.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/execute_op.dir/build.make CMakeFiles/execute_op.dir/op_runner.cpp.s +.PHONY : op_runner.cpp.s + +operator_desc.o: operator_desc.cpp.o +.PHONY : operator_desc.o + +# target to build an object file +operator_desc.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/execute_op.dir/build.make CMakeFiles/execute_op.dir/operator_desc.cpp.o +.PHONY : operator_desc.cpp.o + +operator_desc.i: operator_desc.cpp.i +.PHONY : operator_desc.i + +# target to preprocess a source file +operator_desc.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/execute_op.dir/build.make CMakeFiles/execute_op.dir/operator_desc.cpp.i +.PHONY : operator_desc.cpp.i + +operator_desc.s: operator_desc.cpp.s +.PHONY : operator_desc.s + +# target to generate assembly for a file +operator_desc.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/execute_op.dir/build.make CMakeFiles/execute_op.dir/operator_desc.cpp.s +.PHONY : operator_desc.cpp.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... rebuild_cache" + @echo "... execute_op" + @echo "... common.o" + @echo "... common.i" + @echo "... common.s" + @echo "... main.o" + @echo "... main.i" + @echo "... main.s" + @echo "... op_runner.o" + @echo "... op_runner.i" + @echo "... op_runner.s" + @echo "... operator_desc.o" + @echo "... operator_desc.i" + @echo "... operator_desc.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/precision_Problem/ReduceSumCase1/build/cmake_install.cmake b/precision_Problem/ReduceSumCase1/build/cmake_install.cmake new file mode 100644 index 0000000..09e88cc --- /dev/null +++ b/precision_Problem/ReduceSumCase1/build/cmake_install.cmake @@ -0,0 +1,74 @@ +# Install script for directory: /Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/src + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/../output/execute_op" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/../output/execute_op") + file(RPATH_CHECK + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/../output/execute_op" + RPATH "") + endif() + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/../output" TYPE EXECUTABLE FILES "/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/output/execute_op") + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/../output/execute_op" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/../output/execute_op") + file(RPATH_CHANGE + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/../output/execute_op" + OLD_RPATH "/usr/local/Ascend/ascend-toolkit/latest/aarch64-linux/lib64:/usr/local/Ascend/ascend-toolkit/latest/opp/vendors/customize/op_api/lib:" + NEW_RPATH "") + if(CMAKE_INSTALL_DO_STRIP) + execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/../output/execute_op") + endif() + endif() +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/Package_Cann/test/test/ReduceSumCase/ReduceSumCase1/build/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/precision_Problem/ReduceSumCase1/inc/common.h b/precision_Problem/ReduceSumCase1/inc/common.h new file mode 100644 index 0000000..7036813 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/inc/common.h @@ -0,0 +1,45 @@ +/** +* @file common.h +* +* Copyright (C) 2020. Huawei Technologies Co., Ltd. All rights reserved. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +*/ +#ifndef COMMON_H +#define COMMON_H + +#include +#include +#include +#include +#include + +#include "acl/acl.h" + +#define SUCCESS 0 +#define FAILED 1 + +#define INFO_LOG(fmt, args...) fprintf(stdout, "[INFO] " fmt "\n", ##args) +#define WARN_LOG(fmt, args...) fprintf(stdout, "[WARN] " fmt "\n", ##args) +#define ERROR_LOG(fmt, args...) fprintf(stderr, "[ERROR] " fmt "\n", ##args) + +/** + * @brief Read data from file + * @param [in] filePath: file path + * @param [out] fileSize: file size + * @return read result + */ +bool ReadFile(const std::string &filePath, size_t fileSize, void *buffer, size_t bufferSize); + +/** + * @brief Write data to file + * @param [in] filePath: file path + * @param [in] buffer: data to write to file + * @param [in] size: size to write + * @return write result + */ +bool WriteFile(const std::string &filePath, const void *buffer, size_t size); + +#endif // COMMON_H diff --git a/precision_Problem/ReduceSumCase1/inc/op_runner.h b/precision_Problem/ReduceSumCase1/inc/op_runner.h new file mode 100644 index 0000000..bf2a9ef --- /dev/null +++ b/precision_Problem/ReduceSumCase1/inc/op_runner.h @@ -0,0 +1,182 @@ +/** +* @file op_runner.h +* +* Copyright (C) 2020. Huawei Technologies Co., Ltd. All rights reserved. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +*/ +#ifndef OP_RUNNER_H +#define OP_RUNNER_H + +#include "aclnn/acl_meta.h" +#include "acl/acl.h" +#include "common.h" +#include "operator_desc.h" + +/** + * Op Runner + */ +class OpRunner { +public: + /** + * @brief Constructor + * @param [in] opDesc: op description + */ + explicit OpRunner(OperatorDesc *opDesc); + + /** + * @brief Destructor + */ + virtual ~OpRunner(); + + /** + * @brief Init op runner + */ + bool Init(); + + /** + * @brief Get number of inputs + * @return number of inputs + */ + const size_t NumInputs(); + + /** + * @brief Get number of outputs + * @return number of outputs + */ + const size_t NumOutputs(); + + /** + * @brief Get input size by index + * @param [in] index: input index + * @return size of the input + */ + const size_t GetInputSize(size_t index) const; + const size_t GetInputNumDims(size_t index) const; + aclDataType GetInputDataType(size_t index) const; + aclFormat GetInputFormat(size_t index) const; + + /** + * @brief Get output size by index + * @param [in] index: output index + * @return size of the output + */ + size_t GetOutputSize(size_t index) const; + const size_t GetOutputNumDims(size_t index) const; + aclDataType GetOutputDataType(size_t index) const; + aclFormat GetOutputFormat(size_t index) const; + + /** + * @brief Get input element count by index + * @param i[in] ndex: input index + * @return element count of the input + */ + size_t GetInputElementCount(size_t index) const; + + /** + * @brief Get output element count by index + * @param [in] index: output index + * @return element count of the output + */ + size_t GetOutputElementCount(size_t index) const; + + /** + * @brief Get input shape by index + * @param [in] index: input index + * @return shape of the output + */ + std::vector GetInputShape(size_t index) const; + + /** + * @brief Get output shape by index + * @param [in] index: output index + * @return shape of the output + */ + std::vector GetOutputShape(size_t index) const; + + /** + * @brief Get input buffer(host memory) by index + * @tparam T: data type + * @param [in] index: input index + * @return host address of the input + */ + template + T *GetInputBuffer(size_t index) + { + if (index >= numInputs_) { + ERROR_LOG("index out of range. index = %zu, numInputs = %zu", index, numInputs_); + return nullptr; + } + return reinterpret_cast(hostInputs_[index]); + } + + /** + * @brief Get output buffer(host memory) by index + * @tparam T: data type + * @param [in] index: output index + * @return host address of the output + */ + template + const T *GetOutputBuffer(size_t index) + { + if (index >= numOutputs_) { + ERROR_LOG("index out of range. index = %zu, numOutputs = %zu", index, numOutputs_); + return nullptr; + } + + return reinterpret_cast(hostOutputs_[index]); + } + + /** + * @brief Print readable input by index + * @param [in] index: input index + * @param [in] elementsPerRow: number of elements per row + */ + void PrintInput(size_t index, size_t elementsPerRow = 16); + + /** + * @brief Print readable output by index + * @param [in] index: output index + * @param [in] elementsPerRow: number of elements per row + */ + void PrintOutput(size_t index, size_t elementsPerRow = 16); + + /** + * @brief Compile static op + * @return compile result + */ + bool CompileStaticOp(); + + /** + * @brief Compile dynamic op + * @return compile result + */ + bool CompileDynamicOp(); + + /** + * @brief Run op + * @return run result + */ + bool RunOp(); + +private: + size_t numInputs_; + size_t numOutputs_; + + std::vector inputBuffers_; + std::vector outputBuffers_; + + std::vector devInputs_; + std::vector devOutputs_; + + std::vector hostInputs_; + std::vector hostOutputs_; + + std::vector inputTensor_; + std::vector outputTensor_; + OperatorDesc *opDesc_; +}; + +#endif // OP_RUNNER_H diff --git a/precision_Problem/ReduceSumCase1/inc/operator_desc.h b/precision_Problem/ReduceSumCase1/inc/operator_desc.h new file mode 100644 index 0000000..1760735 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/inc/operator_desc.h @@ -0,0 +1,60 @@ +/** +* @file operator_desc.h +* +* Copyright (C) 2020. Huawei Technologies Co., Ltd. All rights reserved. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +*/ +#ifndef OPERATOR_DESC_H +#define OPERATOR_DESC_H + +#include +#include + +#include "acl/acl.h" + +/** + * Op description + */ +struct OperatorDesc { + /** + * Constructor + */ + explicit OperatorDesc(); + + /** + * Destructor + */ + virtual ~OperatorDesc(); + + /** + * Add an input tensor description + * @param [in] dataType: data type + * @param [in] numDims: number of dims + * @param [in] dims: dims + * @param [in] format: format + * @return OperatorDesc + */ + OperatorDesc &AddInputTensorDesc(aclDataType dataType, int numDims, const int64_t *dims, aclFormat format); + + /** + * Add an output tensor description + * @param [in] dataType: data type + * @param [in] numDims: number of dims + * @param [in] dims: dims + * @param [in] format: format + * @return OperatorDesc + */ + OperatorDesc &AddOutputTensorDesc(aclDataType dataType, int numDims, const int64_t *dims, aclFormat format); + + bool keepDims; + bool ignoreNan; + char *dtype; + std::string opType; + std::vector inputDesc; + std::vector outputDesc; +}; + +#endif // OPERATOR_DESC_H diff --git a/precision_Problem/ReduceSumCase1/input/input_axis.bin b/precision_Problem/ReduceSumCase1/input/input_axis.bin new file mode 100644 index 0000000000000000000000000000000000000000..593f4708db84ac8fd0f5cc47c634f38c013fe9e4 GIT binary patch literal 4 LcmZQzU|;|M00aO5 literal 0 HcmV?d00001 diff --git a/precision_Problem/ReduceSumCase1/input/input_x.bin b/precision_Problem/ReduceSumCase1/input/input_x.bin new file mode 100644 index 0000000..52f7741 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/input/input_x.bin @@ -0,0 +1 @@ +CGw~;!}Z+P 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�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 literal 0 HcmV?d00001 diff --git a/precision_Problem/ReduceSumCase1/output/golden.bin b/precision_Problem/ReduceSumCase1/output/golden.bin new file mode 100644 index 0000000..daabd4c --- /dev/null +++ b/precision_Problem/ReduceSumCase1/output/golden.bin @@ -0,0 +1 @@ +? \ No newline at end of file diff --git a/precision_Problem/ReduceSumCase1/output/output.bin b/precision_Problem/ReduceSumCase1/output/output.bin new file mode 100644 index 0000000..f3b43f3 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/output/output.bin @@ -0,0 +1 @@ +B \ No newline at end of file diff --git a/precision_Problem/ReduceSumCase1/run.sh b/precision_Problem/ReduceSumCase1/run.sh new file mode 100644 index 0000000..23564d1 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/run.sh @@ -0,0 +1,116 @@ +#!/bin/bash +export ASCEND_SLOG_PRINT_TO_STDOUT=0 +export ASCEND_GLOBAL_LOG_LEVEL=0 + +CURRENT_DIR=$( + cd $(dirname ${BASH_SOURCE:-$0}) + pwd +) +cd $CURRENT_DIR + +# 导出环境变量 +SHORT=v:, +LONG=dtype:, +OPTS=$(getopt -a --options $SHORT --longoptions $LONG -- "$@") +eval set -- "$OPTS" +while : +do + case "$1" in + # float16, float, int32 + (-v | --dtype) + DTYPE="$2" + shift 2;; + (--) + shift; + break;; + (*) + echo "[ERROR] Unexpected option: $1"; + break;; + esac +done + +if [ ! $ASCEND_HOME_DIR ]; then + if [ -d "$HOME/Ascend/ascend-toolkit/latest" ]; then + export ASCEND_HOME_DIR=$HOME/Ascend/ascend-toolkit/latest + else + export ASCEND_HOME_DIR=/usr/local/Ascend/ascend-toolkit/latest + fi +fi +source $ASCEND_HOME_DIR/bin/setenv.bash + +export DDK_PATH=$ASCEND_HOME_DIR +arch=$(uname -m) +export NPU_HOST_LIB=$ASCEND_HOME_DIR/${arch}-linux/lib64 + +function main { + # 1. 清除算子输出和日志文件 + + # rm ./input/*.bin + rm -rf ./output/output*.bin > /dev/null + + # 2. 生成或复用输入数据和真值数据 + if [ -d "./input" ]; then + if [ "$(ls -A "./input")" ]; then + echo "已存在测试数据" + else + echo "生成测试数据" + cd $CURRENT_DIR + python3 scripts/gen_data.py + fi + else + echo "生成测试数据" + cd $CURRENT_DIR + python3 scripts/gen_data.py + fi + + if [ $? -ne 0 ]; then + echo "ERROR: generate input data failed!" + return 1 + fi + echo "INFO: generate input data success!" + + # 3. 编译或复用acl可执行文件 + if [ -e "./output/execute_op" ]; then + echo "可执行存在" + else + echo "可执行不存在" + cd $CURRENT_DIR; rm -rf build; mkdir -p build; cd build + cmake ../src + if [ $? -ne 0 ]; then + echo "ERROR: cmake failed!" + return 1 + fi + echo "INFO: cmake success!" + make + if [ $? -ne 0 ]; then + echo "ERROR: make failed!" + return 1 + fi + echo "INFO: make success!" + fi + + # 4. 运行可执行文件 + cd $CURRENT_DIR/output + echo "INFO: execute op!" + timeout 30 ./execute_op + + if [ $? -ne 0 ]; then + echo "ERROR: acl executable run failed! please check your project!" + return 1 + fi + echo "INFO: acl executable run success!" + + # 5. 比较真值文件 + cd $CURRENT_DIR + ret=`python3 scripts/verify_result.py output/output.bin output/golden.bin` + echo $ret + if [ "x$ret" == "xtest pass" ]; then + echo "" + echo "#####################################" + echo "INFO: you have passed the Precision!" + echo "#####################################" + echo "" + fi +} + +main diff --git a/precision_Problem/ReduceSumCase1/scripts/acl.json b/precision_Problem/ReduceSumCase1/scripts/acl.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/precision_Problem/ReduceSumCase1/scripts/acl.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/precision_Problem/ReduceSumCase1/scripts/gen_data.py b/precision_Problem/ReduceSumCase1/scripts/gen_data.py new file mode 100644 index 0000000..e4e72b0 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/scripts/gen_data.py @@ -0,0 +1,23 @@ +#!/usr/bin/python3 +# -*- coding:utf-8 -*- +# Copyright 2022-2023 Huawei Technologies Co., Ltd +import numpy as np +import os +import tensorflow as tf +np.random.seed(123) + +def gen_golden_data_simple(): + input_x = np.random.uniform(-10, 10, [32]).astype(np.float16) + dim_num = len(input_x.shape) + input_axis = np.random.uniform(-dim_num, dim_num, [1]).astype(np.int32) + keepdims = False + golden = tf.reduce_sum(input_x, axis=input_axis, keepdims=keepdims).numpy() + os.system("mkdir -p input") + os.system("mkdir -p output") + input_x.tofile("./input/input_x.bin") + input_axis.tofile("./input/input_axis.bin") + golden.tofile("./output/golden.bin") + + +if __name__ == "__main__": + gen_golden_data_simple() diff --git a/precision_Problem/ReduceSumCase1/scripts/verify_result.py b/precision_Problem/ReduceSumCase1/scripts/verify_result.py new file mode 100644 index 0000000..2528c9f --- /dev/null +++ b/precision_Problem/ReduceSumCase1/scripts/verify_result.py @@ -0,0 +1,23 @@ +import os +import sys +import numpy as np + +loss = 1e-3 # 容忍偏差,一般fp16要求绝对误差和相对误差均不超过千分之一 +minimum = 10e-10 + +def verify_result(real_result, golden): + real_result = np.fromfile(real_result, dtype=np.float16) # 从bin文件读取实际运算结果 + golden = np.fromfile(golden, dtype=np.float16) # 从bin文件读取预期运算结果 + result = np.abs(real_result - golden) # 计算运算结果和预期结果偏差 + deno = np.maximum(np.abs(real_result), np.abs(golden)) # 获取最大值并组成新数组 + result_atol = np.less_equal(result, loss) # 计算绝对误差 + result_rtol = np.less_equal(result / np.add(deno, minimum), loss) # 计算相对误差 + if not result_rtol.all() and not result_atol.all(): + if np.sum(result_rtol == False) > real_result.size * loss and np.sum(result_atol == False) > real_result.size * loss: # 误差超出预期时返回打印错误,返回对比失败 + print("[ERROR] result error") + return False + print("test pass") + return True + +if __name__ == '__main__': + verify_result(sys.argv[1],sys.argv[2]) diff --git a/precision_Problem/ReduceSumCase1/src/CMakeLists.txt b/precision_Problem/ReduceSumCase1/src/CMakeLists.txt new file mode 100644 index 0000000..ee73e93 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/src/CMakeLists.txt @@ -0,0 +1,68 @@ +# Copyright (c) Huawei Technologies Co., Ltd. 2020. All rights reserved. + +# CMake lowest version requirement +cmake_minimum_required(VERSION 3.5.1) + +# project information +project(acl_execute_add) + +# Compile options +add_compile_options(-std=c++11) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../output") +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "../output") + +set(INC_PATH $ENV{DDK_PATH}) + +if (NOT DEFINED ENV{DDK_PATH}) + set(INC_PATH "/usr/local/Ascend/ascend-toolkit/latest") + message(STATUS "set default INC_PATH: ${INC_PATH}") +else () + message(STATUS "env INC_PATH: ${INC_PATH}") +endif() + +set(CUST_PKG_PATH "${INC_PATH}/opp/vendors/customize/op_api") + +set(LIB_PATH $ENV{NPU_HOST_LIB}) + +# Dynamic libraries in the stub directory can only be used for compilation +if (NOT DEFINED ENV{NPU_HOST_LIB}) + set(LIB_PATH "/usr/local/Ascend/ascend-toolkit/latest/acllib/lib64/stub/") + set(LIB_PATH1 "/usr/local/Ascend/ascend-toolkit/latest/atc/lib64/stub/") + message(STATUS "set default LIB_PATH: ${LIB_PATH}") +else () + message(STATUS "env LIB_PATH: ${LIB_PATH}") +endif() + +# Header path +include_directories( + ${INC_PATH}/runtime/include + ${INC_PATH}/atc/include + ../inc + ${CUST_PKG_PATH}/include + ${BUILT_PKG_PATH}/include/aclnnop +) + +# add host lib path +link_directories( + ${LIB_PATH} + ${LIB_PATH1} + ${CUST_PKG_PATH}/lib +) + +add_executable(execute_op + operator_desc.cpp + op_runner.cpp + main.cpp + common.cpp +) + +target_link_libraries(execute_op + ascendcl + cust_opapi + acl_op_compiler + nnopbase + stdc++ +) + +install(TARGETS execute_op DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) diff --git a/precision_Problem/ReduceSumCase1/src/common.cpp b/precision_Problem/ReduceSumCase1/src/common.cpp new file mode 100644 index 0000000..47a39cd --- /dev/null +++ b/precision_Problem/ReduceSumCase1/src/common.cpp @@ -0,0 +1,79 @@ +/** +* @file common.cpp +* +* Copyright (C) 2020. Huawei Technologies Co., Ltd. All rights reserved. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +*/ +#include "common.h" + +#include +#include +#include +#include + +extern bool g_isDevice; + +bool ReadFile(const std::string &filePath, size_t fileSize, void *buffer, size_t bufferSize) +{ + struct stat sBuf; + int fileStatus = stat(filePath.data(), &sBuf); + if (fileStatus == -1) { + ERROR_LOG("failed to get file %s", filePath.c_str()); + return false; + } + if (S_ISREG(sBuf.st_mode) == 0) { + ERROR_LOG("%s is not a file, please enter a file", filePath.c_str()); + return false; + } + + std::ifstream file; + file.open(filePath, std::ios::binary); + if (!file.is_open()) { + ERROR_LOG("Open file failed. path = %s", filePath.c_str()); + return false; + } + + std::filebuf *buf = file.rdbuf(); + size_t size = buf->pubseekoff(0, std::ios::end, std::ios::in); + if (size == 0) { + ERROR_LOG("file size is 0"); + file.close(); + return false; + } + if (size > bufferSize) { + ERROR_LOG("file size is larger than buffer size"); + file.close(); + return false; + } + buf->pubseekpos(0, std::ios::in); + buf->sgetn(static_cast(buffer), size); + fileSize = size; + file.close(); + return true; +} + +bool WriteFile(const std::string &filePath, const void *buffer, size_t size) +{ + if (buffer == nullptr) { + ERROR_LOG("Write file failed. buffer is nullptr"); + return false; + } + + int fd = open(filePath.c_str(), O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWRITE); + if (fd < 0) { + ERROR_LOG("Open file failed. path = %s", filePath.c_str()); + return false; + } + + auto writeSize = write(fd, buffer, size); + (void) close(fd); + if (writeSize != size) { + ERROR_LOG("Write file Failed."); + return false; + } + + return true; +} diff --git a/precision_Problem/ReduceSumCase1/src/main.cpp b/precision_Problem/ReduceSumCase1/src/main.cpp new file mode 100644 index 0000000..8f15b64 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/src/main.cpp @@ -0,0 +1,170 @@ +/** +* @file main.cpp +* +* Copyright (C) 2023. Huawei Technologies Co., Ltd. All rights reserved. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +*/ +#include +#include +#include +#include +#include + +#include "acl/acl.h" +#include "op_runner.h" + +#include "common.h" + +bool g_isDevice = false; +int deviceId = 0; + +OperatorDesc CreateOpDesc() +{ + // define operator + std::vector shape {32}; + std::vector shape_dim { 1 }; + std::vector shape_out { 1 }; + aclDataType dataType = ACL_FLOAT16; + aclDataType dimType = ACL_INT32; + aclFormat format = ACL_FORMAT_ND; + OperatorDesc opDesc; + opDesc.dtype = "float16"; + opDesc.keepDims = false; + opDesc.ignoreNan = false; + opDesc.AddInputTensorDesc(dataType, shape.size(), shape.data(), format); + opDesc.AddInputTensorDesc(dimType, shape_dim.size(), shape_dim.data(), format); + opDesc.AddOutputTensorDesc(dataType, shape_out.size(), shape_out.data(), format); + return opDesc; +} + +bool SetInputData(OpRunner &runner) +{ + size_t fileSize = 0; + ReadFile("../input/input_x.bin", fileSize, runner.GetInputBuffer(0), runner.GetInputSize(0)); + ReadFile("../input/input_axis.bin", fileSize, runner.GetInputBuffer(1), runner.GetInputSize(1)); + INFO_LOG("Set input success"); + return true; +} + +bool ProcessOutputData(OpRunner &runner) +{ + WriteFile("../output/output.bin", runner.GetOutputBuffer(0), runner.GetOutputSize(0)); + + INFO_LOG("Write output success"); + return true; +} + +void DestoryResource() +{ + bool flag = false; + if (aclrtResetDevice(deviceId) != ACL_SUCCESS) { + ERROR_LOG("Reset device %d failed", deviceId); + flag = true; + } + INFO_LOG("Reset Device success"); + if (aclFinalize() != ACL_SUCCESS) { + ERROR_LOG("Finalize acl failed"); + flag = true; + } + if (flag) { + ERROR_LOG("Destory resource failed"); + } else { + INFO_LOG("Destory resource success"); + } +} + +bool InitResource() +{ + std::string output = "../output"; + if (access(output.c_str(), 0) == -1) { + int ret = mkdir(output.c_str(), 0700); + if (ret == 0) { + INFO_LOG("Make output directory successfully"); + } + else { + ERROR_LOG("Make output directory fail"); + return false; + } + } + + // acl.json is dump or profiling config file + if (aclInit("../scripts/acl.json") != ACL_SUCCESS) { + ERROR_LOG("acl init failed"); + return false; + } + + if (aclrtSetDevice(deviceId) != ACL_SUCCESS) { + ERROR_LOG("Set device failed. deviceId is %d", deviceId); + (void)aclFinalize(); + return false; + } + INFO_LOG("Set device[%d] success", deviceId); + + // runMode is ACL_HOST which represents app is running in host + // runMode is ACL_DEVICE which represents app is running in device + aclrtRunMode runMode; + if (aclrtGetRunMode(&runMode) != ACL_SUCCESS) { + ERROR_LOG("Get run mode failed"); + DestoryResource(); + return false; + } + g_isDevice = (runMode == ACL_DEVICE); + INFO_LOG("Get RunMode[%d] success", runMode); + + return true; +} + +bool RunOp() +{ + // create op desc + OperatorDesc opDesc = CreateOpDesc(); + + // create Runner + OpRunner opRunner(&opDesc); + if (!opRunner.Init()) { + ERROR_LOG("Init OpRunner failed"); + return false; + } + + // Load inputs + if (!SetInputData(opRunner)) { + ERROR_LOG("Set input data failed"); + return false; + } + + // Run op + if (!opRunner.RunOp()) { + ERROR_LOG("Run op failed"); + return false; + } + + // process output data + if (!ProcessOutputData(opRunner)) { + ERROR_LOG("Process output data failed"); + return false; + } + + INFO_LOG("Run op success"); + return true; +} + +int main(int argc, char **argv) +{ + if (!InitResource()) { + ERROR_LOG("Init resource failed"); + return FAILED; + } + INFO_LOG("Init resource success"); + + if (!RunOp()) { + DestoryResource(); + return FAILED; + } + + DestoryResource(); + + return SUCCESS; +} diff --git a/precision_Problem/ReduceSumCase1/src/op_runner.cpp b/precision_Problem/ReduceSumCase1/src/op_runner.cpp new file mode 100644 index 0000000..9783897 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/src/op_runner.cpp @@ -0,0 +1,486 @@ +/** +* @file op_runner.cpp +* +* Copyright (C) 2020. Huawei Technologies Co., Ltd. All rights reserved. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +*/ +#include "op_runner.h" +#include "aclnn_reduce_sum.h" +#include +#include +#include "acl/acl_op_compiler.h" +#include "common.h" + +using namespace std; + +extern bool g_isDevice; + +OpRunner::OpRunner(OperatorDesc *opDesc) : opDesc_(opDesc) +{ + numInputs_ = opDesc->inputDesc.size(); + numOutputs_ = opDesc->outputDesc.size(); +} + +OpRunner::~OpRunner() +{ + for (size_t i = 0; i < numInputs_; ++i) { + auto ret = aclDestroyTensor(inputTensor_[i]); + if (ret != ACL_SUCCESS) { + ERROR_LOG("Free InputTensor[%d]error code is %d", static_cast(i), static_cast(ret)); + exit(EXIT_FAILURE); + } + ret = aclDestroyDataBuffer(inputBuffers_[i]); + + if (ret != ACL_SUCCESS) { + ERROR_LOG("Free inputBuffers[%d]error code is %d", static_cast(i), static_cast(ret)); + exit(EXIT_FAILURE); + } + ret = aclrtFree(devInputs_[i]); + if (ret != ACL_SUCCESS) { + ERROR_LOG("Free devInputs[%d]error code is %d", static_cast(i), static_cast(ret)); + exit(EXIT_FAILURE); + } + if (g_isDevice) { + ret = aclrtFree(hostInputs_[i]); + } else { + ret = aclrtFreeHost(hostInputs_[i]); + } + if (ret != ACL_SUCCESS) { + ERROR_LOG("Free hostInputs[%d]error code is %d", static_cast(i), static_cast(ret)); + exit(EXIT_FAILURE); + } + } + + for (size_t i = 0; i < numOutputs_; ++i) { + auto ret = aclDestroyTensor(outputTensor_[i]); + if (ret != ACL_SUCCESS) { + ERROR_LOG("Free outputTensor[%d]error code is %d", static_cast(i), static_cast(ret)); + exit(EXIT_FAILURE); + } + ret = aclDestroyDataBuffer(outputBuffers_[i]); + if (ret != ACL_SUCCESS) { + ERROR_LOG("Free outputBuffers[%d]error code is %d", static_cast(i), static_cast(ret)); + exit(EXIT_FAILURE); + } + ret = aclrtFree(devOutputs_[i]); + if (ret != ACL_SUCCESS) { + ERROR_LOG("Free devOutputs[%d]error code is %d", static_cast(i), static_cast(ret)); + exit(EXIT_FAILURE); + } + if (g_isDevice) { + ret = aclrtFree(hostOutputs_[i]); + } else { + ret = aclrtFreeHost(hostOutputs_[i]); + } + if (ret != ACL_SUCCESS) { + ERROR_LOG("Free hostOutputs[%d]error code is %d", static_cast(i), static_cast(ret)); + exit(EXIT_FAILURE); + } + } +} + +bool OpRunner::Init() +{ + for (size_t i = 0; i < numInputs_; ++i) { + auto size = GetInputSize(i); + void *devMem = nullptr; + if (aclrtMalloc(&devMem, size, ACL_MEM_MALLOC_HUGE_FIRST) != ACL_SUCCESS) { + ERROR_LOG("Malloc device memory for input[%zu] failed", i); + return false; + } + devInputs_.emplace_back(devMem); + inputBuffers_.emplace_back(aclCreateDataBuffer(devMem, size)); + + void *hostInput = nullptr; + if (g_isDevice) { + if (aclrtMalloc(&hostInput, size, ACL_MEM_MALLOC_HUGE_FIRST) != ACL_SUCCESS) { + ERROR_LOG("Malloc device memory for input[%zu] failed", i); + return false; + } + } else { + if (aclrtMallocHost(&hostInput, size) != ACL_SUCCESS) { + ERROR_LOG("Malloc device memory for input[%zu] failed", i); + return false; + } + } + if (hostInput == nullptr) { + ERROR_LOG("Malloc memory for input[%zu] failed", i); + return false; + } + hostInputs_.emplace_back(hostInput); + + aclTensor *inputTensor = aclCreateTensor(GetInputShape(i).data(), GetInputNumDims(i), GetInputDataType(i), + nullptr, 0, GetInputFormat(i), GetInputShape(i).data(), GetInputNumDims(i), devInputs_[i]); + if (inputTensor == nullptr) { + ERROR_LOG("Create Tensor for input[%zu] failed", i); + return false; + } + inputTensor_.emplace_back(inputTensor); + } + + for (size_t i = 0; i < numOutputs_; ++i) { + auto size = GetOutputSize(i); + void *devMem = nullptr; + if (aclrtMalloc(&devMem, size, ACL_MEM_MALLOC_HUGE_FIRST) != ACL_SUCCESS) { + ERROR_LOG("Malloc device memory for output[%zu] failed", i); + return false; + } + devOutputs_.emplace_back(devMem); + outputBuffers_.emplace_back(aclCreateDataBuffer(devMem, size)); + + void *hostOutput = nullptr; + if (g_isDevice) { + if (aclrtMalloc(&hostOutput, size, ACL_MEM_MALLOC_HUGE_FIRST) != ACL_SUCCESS) { + ERROR_LOG("Malloc device memory for output[%zu] failed", i); + return false; + } + } else { + if (aclrtMallocHost(&hostOutput, size) != ACL_SUCCESS) { + ERROR_LOG("Malloc device memory for output[%zu] failed", i); + return false; + } + } + if (hostOutput == nullptr) { + ERROR_LOG("Malloc host memory for output[%zu] failed", i); + return false; + } + hostOutputs_.emplace_back(hostOutput); + + aclTensor *outputTensor = aclCreateTensor(GetOutputShape(i).data(), GetOutputNumDims(i), GetOutputDataType(i), + nullptr, 0, GetOutputFormat(i), GetOutputShape(i).data(), GetOutputNumDims(i), devOutputs_[i]); + if (outputTensor == nullptr) { + ERROR_LOG("Create Tensor for output[%zu] failed", i); + return false; + } + outputTensor_.emplace_back(outputTensor); + } + + return true; +} + +const size_t OpRunner::NumInputs() +{ + return numInputs_; +} + +const size_t OpRunner::NumOutputs() +{ + return numOutputs_; +} + +const size_t OpRunner::GetInputSize(size_t index) const +{ + if (index >= numInputs_) { + ERROR_LOG("index out of range. index = %zu, numInputs = %zu", index, numInputs_); + return 0; + } + + return aclGetTensorDescSize(opDesc_->inputDesc[index]); +} + +const size_t OpRunner::GetInputNumDims(size_t index) const +{ + if (index >= numInputs_) { + ERROR_LOG("index out of range. index = %zu, numInputs = %zu", index, numInputs_); + return 0; + } + + return aclGetTensorDescNumDims(opDesc_->inputDesc[index]); +} + +aclDataType OpRunner::GetInputDataType(size_t index) const +{ + if (index >= numInputs_) { + ERROR_LOG("index out of range. index = %zu, numInputs = %zu", index, numInputs_); + return ACL_DT_UNDEFINED; + } + + return aclGetTensorDescType(opDesc_->inputDesc[index]); +} + +aclFormat OpRunner::GetInputFormat(size_t index) const +{ + if (index >= numInputs_) { + ERROR_LOG("index out of range. index = %zu, numInputs = %zu", index, numInputs_); + return ACL_FORMAT_UNDEFINED; + } + + return aclGetTensorDescFormat(opDesc_->inputDesc[index]); +} + +std::vector OpRunner::GetInputShape(size_t index) const +{ + std::vector ret; + if (index >= numInputs_) { + ERROR_LOG("index out of range. index = %zu, numInputs = %zu", index, numInputs_); + return ret; + } + + auto desc = opDesc_->inputDesc[index]; + for (size_t i = 0; i < aclGetTensorDescNumDims(desc); ++i) { + int64_t dimSize; + if (aclGetTensorDescDimV2(desc, i, &dimSize) != ACL_SUCCESS) { + ERROR_LOG("get dims from tensor desc failed. dims index = %zu", i); + ret.clear(); + return ret; + } + ret.emplace_back(dimSize); + } + + return ret; +} + +size_t OpRunner::GetOutputSize(size_t index) const +{ + if (index >= numOutputs_) { + ERROR_LOG("index out of range. index = %zu, numOutputs = %zu", index, numOutputs_); + return 0; + } + + return aclGetTensorDescSize(opDesc_->outputDesc[index]); +} + +const size_t OpRunner::GetOutputNumDims(size_t index) const +{ + if (index >= numOutputs_) { + ERROR_LOG("index out of range. index = %zu, numOutputs = %zu", index, numOutputs_); + return 0; + } + + return aclGetTensorDescNumDims(opDesc_->outputDesc[index]); +} + +aclDataType OpRunner::GetOutputDataType(size_t index) const +{ + if (index >= numOutputs_) { + ERROR_LOG("index out of range. index = %zu, numOutputs = %zu", index, numOutputs_); + return ACL_DT_UNDEFINED; + } + + return aclGetTensorDescType(opDesc_->outputDesc[index]); +} + + +aclFormat OpRunner::GetOutputFormat(size_t index) const +{ + if (index >= numOutputs_) { + ERROR_LOG("index out of range. index = %zu, numOutputs = %zu", index, numOutputs_); + return ACL_FORMAT_UNDEFINED; + } + + return aclGetTensorDescFormat(opDesc_->outputDesc[index]); +} + +std::vector OpRunner::GetOutputShape(size_t index) const +{ + std::vector ret; + if (index >= numOutputs_) { + ERROR_LOG("index out of range. index = %zu, numOutputs = %zu", index, numOutputs_); + return ret; + } + + auto desc = opDesc_->outputDesc[index]; + for (size_t i = 0; i < aclGetTensorDescNumDims(desc); ++i) { + int64_t dimSize; + if (aclGetTensorDescDimV2(desc, i, &dimSize) != ACL_SUCCESS) { + ERROR_LOG("get dims from tensor desc failed. dims index = %zu", i); + ret.clear(); + return ret; + } + ret.emplace_back(dimSize); + } + return ret; +} + +size_t OpRunner::GetInputElementCount(size_t index) const +{ + if (index >= opDesc_->inputDesc.size()) { + ERROR_LOG("index out of range. index = %zu, numInputs = %zu", index, numInputs_); + return 0; + } + + return aclGetTensorDescElementCount(opDesc_->inputDesc[index]); +} + +size_t OpRunner::GetOutputElementCount(size_t index) const +{ + if (index >= opDesc_->outputDesc.size()) { + ERROR_LOG("index out of range. index = %zu, numOutputs = %zu", index, numOutputs_); + return 0; + } + + return aclGetTensorDescElementCount(opDesc_->outputDesc[index]); +} + +bool OpRunner::RunOp() +{ + for (size_t i = 0; i < numInputs_; ++i) { + auto size = GetInputSize(i); + aclrtMemcpyKind kind = ACL_MEMCPY_HOST_TO_DEVICE; + if (g_isDevice) { + kind = ACL_MEMCPY_DEVICE_TO_DEVICE; + } + if (aclrtMemcpy(devInputs_[i], size, hostInputs_[i], size, kind) != ACL_SUCCESS) { + ERROR_LOG("Copy input[%zu] failed", i); + return false; + } + INFO_LOG("Copy input[%zu] success", i); + } + + aclrtStream stream = nullptr; + if (aclrtCreateStream(&stream) != ACL_SUCCESS) { + ERROR_LOG("Create stream failed"); + return false; + } + INFO_LOG("Create stream success"); + + size_t workspaceSize = 0; + aclOpExecutor *handle = nullptr; + + auto ret = aclnnReduceSumGetWorkspaceSize(inputTensor_[0], inputTensor_[1], opDesc_->keepDims, opDesc_->ignoreNan, + opDesc_->dtype, outputTensor_[0], &workspaceSize, &handle); + if (ret != ACL_SUCCESS) { + (void)aclrtDestroyStream(stream); + ERROR_LOG("Get Operator Workspace failed. error code is %d", static_cast(ret)); + return false; + } + INFO_LOG("Execute GetWorkspaceSize success, workspace size %lu", workspaceSize); + + void *workspace = nullptr; + if (workspaceSize != 0) { + if (aclrtMalloc(&workspace, workspaceSize, ACL_MEM_MALLOC_HUGE_FIRST) != ACL_SUCCESS) { + ERROR_LOG("Malloc device memory failed"); + } + } + ret = aclnnReduceSum(workspace, workspaceSize, handle, stream); + + if (ret != ACL_SUCCESS) { + (void)aclrtDestroyStream(stream); + ERROR_LOG("Execute Operator failed. error code is %d", static_cast(ret)); + return false; + } + INFO_LOG("Execute Operator success"); + + ret = aclrtSynchronizeStreamWithTimeout(stream, 5000); + if (ret != SUCCESS) { + ERROR_LOG("Synchronize stream failed. error code is %d", static_cast(ret)); + (void)aclrtDestroyStream(stream); + return false; + } + INFO_LOG("Synchronize stream success"); + + for (size_t i = 0; i < numOutputs_; ++i) { + auto size = GetOutputSize(i); + aclrtMemcpyKind kind = ACL_MEMCPY_DEVICE_TO_HOST; + if (g_isDevice) { + kind = ACL_MEMCPY_DEVICE_TO_DEVICE; + } + if (aclrtMemcpy(hostOutputs_[i], size, devOutputs_[i], size, kind) != ACL_SUCCESS) { + INFO_LOG("Copy output[%zu] success", i); + (void)aclrtDestroyStream(stream); + return false; + } + INFO_LOG("Copy output[%zu] success", i); + } + + (void)aclrtDestroyStream(stream); + return true; +} + + +template +void DoPrintData(const T *data, size_t count, size_t elementsPerRow) +{ + assert(elementsPerRow != 0); + for (size_t i = 0; i < count; ++i) { + std::cout << std::setw(10) << data[i]; + if (i % elementsPerRow == elementsPerRow - 1) { + std::cout << std::endl; + } + } +} + +void DoPrintFp16Data(const aclFloat16 *data, size_t count, size_t elementsPerRow) +{ + assert(elementsPerRow != 0); + for (size_t i = 0; i < count; ++i) { + std::cout << std::setw(10) << std::setprecision(4) << aclFloat16ToFloat(data[i]); + if (i % elementsPerRow == elementsPerRow - 1) { + std::cout << std::endl; + } + } +} + +void PrintData(const void *data, size_t count, aclDataType dataType, size_t elementsPerRow) +{ + if (data == nullptr) { + ERROR_LOG("Print data failed. data is nullptr"); + return; + } + + switch (dataType) { + case ACL_BOOL: + DoPrintData(reinterpret_cast(data), count, elementsPerRow); + break; + case ACL_INT8: + DoPrintData(reinterpret_cast(data), count, elementsPerRow); + break; + case ACL_UINT8: + DoPrintData(reinterpret_cast(data), count, elementsPerRow); + break; + case ACL_INT16: + DoPrintData(reinterpret_cast(data), count, elementsPerRow); + break; + case ACL_UINT16: + DoPrintData(reinterpret_cast(data), count, elementsPerRow); + break; + case ACL_INT32: + DoPrintData(reinterpret_cast(data), count, elementsPerRow); + break; + case ACL_UINT32: + DoPrintData(reinterpret_cast(data), count, elementsPerRow); + break; + case ACL_INT64: + DoPrintData(reinterpret_cast(data), count, elementsPerRow); + break; + case ACL_UINT64: + DoPrintData(reinterpret_cast(data), count, elementsPerRow); + break; + case ACL_FLOAT16: + DoPrintFp16Data(reinterpret_cast(data), count, elementsPerRow); + break; + case ACL_FLOAT: + DoPrintData(reinterpret_cast(data), count, elementsPerRow); + break; + case ACL_DOUBLE: + DoPrintData(reinterpret_cast(data), count, elementsPerRow); + break; + default: + ERROR_LOG("Unsupported type: %d", dataType); + } +} + +void OpRunner::PrintInput(size_t index, size_t numElementsPerRow) +{ + if (index >= numInputs_) { + ERROR_LOG("index out of range. index = %zu, numOutputs = %zu", index, numInputs_); + return; + } + + auto desc = opDesc_->inputDesc[index]; + PrintData(hostInputs_[index], GetInputElementCount(index), aclGetTensorDescType(desc), numElementsPerRow); +} + +void OpRunner::PrintOutput(size_t index, size_t numElementsPerRow) +{ + if (index >= numOutputs_) { + ERROR_LOG("index out of range. index = %zu, numOutputs = %zu", index, numOutputs_); + return; + } + + auto desc = opDesc_->outputDesc[index]; + PrintData(hostOutputs_[index], GetOutputElementCount(index), aclGetTensorDescType(desc), numElementsPerRow); +} diff --git a/precision_Problem/ReduceSumCase1/src/operator_desc.cpp b/precision_Problem/ReduceSumCase1/src/operator_desc.cpp new file mode 100644 index 0000000..a7a1ed3 --- /dev/null +++ b/precision_Problem/ReduceSumCase1/src/operator_desc.cpp @@ -0,0 +1,56 @@ +/** +* @file operator_desc.cpp +* +* Copyright (C) 2020. Huawei Technologies Co., Ltd. All rights reserved. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +*/ +#include "common.h" +#include "operator_desc.h" + +using namespace std; + +OperatorDesc::OperatorDesc() {} + +OperatorDesc::~OperatorDesc() +{ + for (auto *desc : inputDesc) { + aclDestroyTensorDesc(desc); + } + + for (auto *desc : outputDesc) { + aclDestroyTensorDesc(desc); + } + +} + +OperatorDesc &OperatorDesc::AddInputTensorDesc(aclDataType dataType, + int numDims, + const int64_t *dims, + aclFormat format) +{ + aclTensorDesc *desc = aclCreateTensorDesc(dataType, numDims, dims, format); + if (desc == nullptr) { + ERROR_LOG("create tensor failed"); + return *this; + } + inputDesc.emplace_back(desc); + return *this; +} + +OperatorDesc &OperatorDesc::AddOutputTensorDesc(aclDataType dataType, + int numDims, + const int64_t *dims, + aclFormat format) +{ + aclTensorDesc *desc = aclCreateTensorDesc(dataType, numDims, dims, format); + if (desc == nullptr) { + ERROR_LOG("create tensor failed"); + return *this; + } + + outputDesc.emplace_back(desc); + return *this; +} -- Gitee

5|Q0pJ}*@uNJFk-Nl%y(#o~9M5up+m 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 Rz5kShmhxAE7lMBd{Qtm7Zu + +ORIG_UMASK=`umask` + +CRCsum="3041702791" +MD5="00000000000000000000000000000000" +SHA="83564fdb0efb6398c2c16910aa031cf959b4e60afe89867f33033a9c0e1bdeaa" +SIGNATURE="" +TMPROOT=${TMPDIR:="$HOME"} +if ! test -d "$TMPROOT"; then + TMPROOT="$PWD" +fi +export TMPDIR="$TMPROOT" +USER_PWD="$PWD" +if ! test -d "$USER_PWD"; then + exit 1 +fi +export USER_PWD +ARCHIVE_DIR=`dirname "$0"` +export ARCHIVE_DIR + +name_of_file="$0 " +pwd_of_file="$PWD" +label="version:1.0" +script="./install.sh" +scriptargs="" +cleanup_script="" +licensetxt="" +helpheader=' --install-path Install operator package to specific dir path +' +targetdir="makeself-397763-20240915013443" +filesizes="132381" +totalsize="132381" +keep="n" +nooverwrite="n" +quiet="n" +accept="n" +nodiskspace="n" +export_conf="n" +decrypt_cmd="" +skip="672" + +print_cmd_arg="" +if type printf > /dev/null; then + print_cmd="printf" +elif test -x /usr/ucb/echo; then + print_cmd="/usr/ucb/echo" +else + print_cmd="echo" +fi + +if test -d /usr/xpg4/bin; then + PATH=/usr/xpg4/bin:$PATH + export PATH +fi + +if test -d /usr/sfw/bin; then + PATH=$PATH:/usr/sfw/bin + export PATH +fi + +unset CDPATH + +MS_Printf() +{ + $print_cmd $print_cmd_arg "$1" +} + +MS_PrintLicense() +{ + PAGER=${PAGER:=more} + if test x"$licensetxt" != x; then + PAGER_PATH=`exec <&- 2>&-; which $PAGER || command -v $PAGER || type $PAGER` + if test -x "$PAGER_PATH"; then + echo "$licensetxt" | $PAGER + else + echo "$licensetxt" + fi + if test x"$accept" != xy; then + while true + do + MS_Printf "Please type y to accept, n otherwise: " + read yn + if test x"$yn" = xn; then + keep=n + eval $finish; exit 1 + break; + elif test x"$yn" = xy; then + break; + fi + done + fi + fi +} + +MS_diskspace() +{ + ( + df -kP "$1" | tail -1 | awk '{ if ($4 ~ /%/) {print $3} else {print $4} }' + ) +} + +MS_dd() +{ + blocks=`expr $3 / 1024` + bytes=`expr $3 % 1024` + # Test for ibs, obs and conv feature + if dd if=/dev/zero of=/dev/null count=1 ibs=512 obs=512 conv=sync 2> /dev/null; then + dd if="$1" ibs=$2 skip=1 obs=1024 conv=sync 2> /dev/null | \ + { test $blocks -gt 0 && dd ibs=1024 obs=1024 count=$blocks ; \ + test $bytes -gt 0 && dd ibs=1 obs=1024 count=$bytes ; } 2> /dev/null + else + dd if="$1" bs=$2 skip=1 2> /dev/null + fi +} + +MS_dd_Progress() +{ + if test x"$noprogress" = xy; then + MS_dd "$@" + return $? + fi + file="$1" + offset=$2 + length=$3 + pos=0 + bsize=4194304 + while test $bsize -gt $length; do + bsize=`expr $bsize / 4` + done + blocks=`expr $length / $bsize` + bytes=`expr $length % $bsize` + ( + dd ibs=$offset skip=1 2>/dev/null + pos=`expr $pos \+ $bsize` + MS_Printf " 0%% " 1>&2 + if test $blocks -gt 0; then + while test $pos -le $length; do + dd bs=$bsize count=1 2>/dev/null + pcent=`expr $length / 100` + pcent=`expr $pos / $pcent` + if test $pcent -lt 100; then + MS_Printf "\b\b\b\b\b\b\b" 1>&2 + if test $pcent -lt 10; then + MS_Printf " $pcent%% " 1>&2 + else + MS_Printf " $pcent%% " 1>&2 + fi + fi + pos=`expr $pos \+ $bsize` + done + fi + if test $bytes -gt 0; then + dd bs=$bytes count=1 2>/dev/null + fi + MS_Printf "\b\b\b\b\b\b\b" 1>&2 + MS_Printf " 100%% " 1>&2 + ) < "$file" +} + +MS_Help() +{ + cat << EOH >&2 +Usage: $0 [options] +Options: + --help | -h Print this message + --info Print embedded info : title, default target directory, embedded script ... + --list Print the list of files in the archive + --check Checks integrity and version dependency of the archive + --quiet Quiet install mode, skip human-computer interactions + --nox11 Do not spawn an xterm + --noexec Do not run embedded script + --extract= Extract directly to a target directory (absolute or relative) + Usually used with --noexec to just extract files without running + --tar arg1 [arg2 ...] Access the contents of the archive through the tar command +${helpheader} +EOH +} + +MS_Verify_Sig() +{ + GPG_PATH=`exec <&- 2>&-; which gpg || command -v gpg || type gpg` + MKTEMP_PATH=`exec <&- 2>&-; which mktemp || command -v mktemp || type mktemp` + test -x "$GPG_PATH" || GPG_PATH=`exec <&- 2>&-; which gpg || command -v gpg || type gpg` + test -x "$MKTEMP_PATH" || MKTEMP_PATH=`exec <&- 2>&-; which mktemp || command -v mktemp || type mktemp` + offset=`head -n "$skip" "$1" | wc -c | tr -d " "` + temp_sig=`mktemp -t XXXXX` + echo $SIGNATURE | base64 --decode > "$temp_sig" + gpg_output=`MS_dd "$1" $offset $totalsize | LC_ALL=C "$GPG_PATH" --verify "$temp_sig" - 2>&1` + gpg_res=$? + rm -f "$temp_sig" + if test $gpg_res -eq 0 && test `echo $gpg_output | grep -c Good` -eq 1; then + if test `echo $gpg_output | grep -c $sig_key` -eq 1; then + test x"$quiet" = xn && echo "GPG signature is good" >&2 + else + echo "GPG Signature key does not match" >&2 + exit 2 + fi + else + test x"$quiet" = xn && echo "GPG signature failed to verify" >&2 + exit 2 + fi +} + +MS_Check() +{ + OLD_PATH="$PATH" + PATH=${GUESS_MD5_PATH:-"$OLD_PATH:/bin:/usr/bin:/sbin:/usr/local/ssl/bin:/usr/local/bin:/opt/openssl/bin"} + MD5_ARG="" + MD5_PATH=`exec <&- 2>&-; which md5sum || command -v md5sum || type md5sum` + test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which md5 || command -v md5 || type md5` + test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which digest || command -v digest || type digest` + PATH="$OLD_PATH" + + SHA_PATH=`exec <&- 2>&-; which shasum || command -v shasum || type shasum` + test -x "$SHA_PATH" || SHA_PATH=`exec <&- 2>&-; which sha256sum || command -v sha256sum || type sha256sum` + + if test x"$quiet" = xn; then + MS_Printf "Verifying archive integrity..." + fi + offset=`head -n "$skip" "$1" | wc -c | tr -d " "` + fsize=`cat "$1" | wc -c | tr -d " "` + if test $totalsize -ne `expr $fsize - $offset`; then + echo " Unexpected archive size." >&2 + exit 2 + fi + verb=$2 + i=1 + for s in $filesizes + do + crc=`echo $CRCsum | cut -d" " -f$i` + if test -x "$SHA_PATH"; then + if test x"`basename $SHA_PATH`" = xshasum; then + SHA_ARG="-a 256" + fi + sha=`echo $SHA | cut -d" " -f$i` + if test x"$sha" = x0000000000000000000000000000000000000000000000000000000000000000; then + test x"$verb" = xy && echo " $1 does not contain an embedded SHA256 checksum." >&2 + else + shasum=`MS_dd_Progress "$1" $offset $s | eval "$SHA_PATH $SHA_ARG" | cut -b-64`; + if test x"$shasum" != x"$sha"; then + echo "Error in SHA256 checksums: $shasum is different from $sha" >&2 + exit 2 + elif test x"$quiet" = xn; then + MS_Printf " SHA256 checksums are OK." >&2 + fi + crc="0000000000"; + fi + fi + if test -x "$MD5_PATH"; then + if test x"`basename $MD5_PATH`" = xdigest; then + MD5_ARG="-a md5" + fi + md5=`echo $MD5 | cut -d" " -f$i` + if test x"$md5" = x00000000000000000000000000000000; then + test x"$verb" = xy && echo " $1 does not contain an embedded MD5 checksum." >&2 + else + md5sum=`MS_dd_Progress "$1" $offset $s | eval "$MD5_PATH $MD5_ARG" | cut -b-32`; + if test x"$md5sum" != x"$md5"; then + echo "Error in MD5 checksums: $md5sum is different from $md5" >&2 + exit 2 + elif test x"$quiet" = xn; then + MS_Printf " MD5 checksums are OK." >&2 + fi + crc="0000000000"; verb=n + fi + fi + if test x"$crc" = x0000000000; then + test x"$verb" = xy && echo " $1 does not contain a CRC checksum." >&2 + else + sum1=`MS_dd_Progress "$1" $offset $s | CMD_ENV=xpg4 cksum | awk '{print $1}'` + if test x"$sum1" != x"$crc"; then + echo "Error in checksums: $sum1 is different from $crc" >&2 + exit 2 + elif test x"$quiet" = xn; then + MS_Printf " CRC checksums are OK." >&2 + fi + fi + i=`expr $i + 1` + offset=`expr $offset + $s` + done + if test x"$quiet" = xn; then + echo " All good." + fi +} + +MS_Decompress() +{ + if test x"$decrypt_cmd" != x""; then + { eval "$decrypt_cmd" || echo " ... Decryption failed." >&2; } | eval "gzip -cd" + else + eval "gzip -cd" + fi + + if test $? -ne 0; then + echo " ... Decompression failed." >&2 + fi +} + +UnTAR() +{ + if test x"$quiet" = xn; then + tar $1vf - 2>&1 || { echo " ... Extraction failed." >&2; kill -15 $$; } + else + tar $1f - 2>&1 || { echo Extraction failed. >&2; kill -15 $$; } + fi +} + +MS_exec_cleanup() { + if test x"$cleanup" = xy && test x"$cleanup_script" != x""; then + cleanup=n + cd "$tmpdir" + eval "\"$cleanup_script\" $scriptargs $cleanupargs" + fi +} + +MS_cleanup() +{ + echo 'Signal caught, cleaning up' >&2 + MS_exec_cleanup + cd "$TMPROOT" + rm -rf "$tmpdir" + eval $finish; exit 15 +} + +Script_Args_Check() +{ + script_supported_args=$(echo ${helpheader} | grep -o -E "\-\-[^ ]+" | awk -F"=" {'print $1'}) + arg_to_test=$(echo $1|awk -F"=" {'print $1'}) + + for arg in ${script_supported_args}; + do + if test x"$arg_to_test" = x"$arg" ;then + return + fi + done + + MS_Help + exit 1 +} + +finish=true +xterm_loop= +noprogress=n +nox11=n +copy=none +ownership=n +verbose=n +cleanup=y +cleanupargs= +sig_key= + +initargs="$@" + +while [ -n "$*" ] +do + case "$1" in + -h | --help) + MS_Help + exit 0 + ;; + -q | --quiet) + quiet=y + noprogress=y + shift + ;; + --info) + echo Identification: "$label" + echo Target directory: "$targetdir" + echo Uncompressed size: 380 KB + echo Compression: gzip + if test x"n" != x""; then + echo Encryption: n + fi + echo Date of packaging: Sun Sep 15 01:34:43 CST 2024 + echo Built with Makeself version 2.4.5 + echo Build command was: "/Package_Cann/test/No_standard/cmake/util/makeself/makeself.sh \\ + \"--header\" \\ + \"/Package_Cann/test/No_standard/cmake/util/makeself/makeself-header.sh\" \\ + \"--help-header\" \\ + \"./help.info\" \\ + \"--gzip\" \\ + \"--complevel\" \\ + \"4\" \\ + \"--nomd5\" \\ + \"--sha256\" \\ + \"./\" \\ + \"custom_opp_ubuntu_aarch64.run\" \\ + \"version:1.0\" \\ + \"./install.sh\"" + if test x"$script" != x; then + echo Script run after extraction: + echo " " $script $scriptargs + fi + if test x"" = xcopy; then + echo "Archive will copy itself to a temporary location" + fi + if test x"n" = xy; then + echo "Root permissions required for extraction" + fi + if test x"n" = xy; then + echo "directory $targetdir is permanent" + else + echo "$targetdir will be removed after extraction" + fi + exit 0 + ;; + --list) + echo Target directory: $targetdir + offset=`head -n "$skip" "$0" | wc -c | tr -d " "` + for s in $filesizes + do + MS_dd "$0" $offset $s | MS_Decompress | UnTAR t + offset=`expr $offset + $s` + done + exit 0 + ;; + --tar) + offset=`head -n "$skip" "$0" | wc -c | tr -d " "` + arg1="$2" + shift 2 || { MS_Help; exit 1; } + for s in $filesizes + do + MS_dd "$0" $offset $s | MS_Decompress | tar "$arg1" - "$@" + offset=`expr $offset + $s` + done + exit 0 + ;; + --check) + MS_Check "$0" y + scriptargs="$scriptargs $1" + shift + ;; + --noexec) + script="" + cleanup_script="" + shift + ;; + --extract=*) + keep=y + targetdir=`echo $1 | cut -d"=" -f2 ` + if ! shift; then MS_Help; exit 1; fi + ;; + --nox11) + nox11=y + shift + ;; + --xwin) + if test "n" = n; then + finish="echo Press Return to close this window...; read junk" + fi + xterm_loop=1 + shift + ;; + --phase2) + copy=phase2 + shift + ;; + --repack | --repack-path=*) + Script_Args_Check $1 + scriptargs="$scriptargs '$1'" + shift + if [[ ! "$1" =~ ^-.* ]]; then + scriptargs="$scriptargs '$1'" + shift + fi + ;; + *) + Script_Args_Check $1 + scriptargs="$scriptargs '$1'" + shift + ;; + esac +done + +quiet_para="" +if test x"$quiet" = xy; then + quiet_para="--quiet " +fi +scriptargs="--$name_of_file""--\"$pwd_of_file\""" $quiet_para""$scriptargs" + +if test x"$quiet" = xy -a x"$verbose" = xy; then + echo Cannot be verbose and quiet at the same time. >&2 + exit 1 +fi + +if test x"n" = xy -a `id -u` -ne 0; then + echo "Administrative privileges required for this archive (use su or sudo)" >&2 + exit 1 +fi + +if test x"$copy" \!= xphase2; then + MS_PrintLicense +fi + +case "$copy" in +copy) + tmpdir="$TMPROOT"/makeself.$RANDOM.`date +"%y%m%d%H%M%S"`.$$ + mkdir "$tmpdir" || { + echo "Could not create temporary directory $tmpdir" >&2 + exit 1 + } + SCRIPT_COPY="$tmpdir/makeself" + echo "Copying to a temporary location..." >&2 + cp "$0" "$SCRIPT_COPY" + chmod +x "$SCRIPT_COPY" + cd "$TMPROOT" + exec "$SCRIPT_COPY" --phase2 -- $initargs + ;; +phase2) + finish="$finish ; rm -rf `dirname $0`" + ;; +esac + +if test x"$nox11" = xn; then + if tty -s; then # Do we have a terminal? + : + else + if test x"$DISPLAY" != x -a x"$xterm_loop" = x; then # No, but do we have X? + if xset q > /dev/null 2>&1; then # Check for valid DISPLAY variable + GUESS_XTERMS="xterm gnome-terminal rxvt dtterm eterm Eterm xfce4-terminal lxterminal kvt konsole aterm terminology" + for a in $GUESS_XTERMS; do + if type $a >/dev/null 2>&1; then + XTERM=$a + break + fi + done + chmod a+x $0 || echo Please add execution rights on $0 + if test `echo "$0" | cut -c1` = "/"; then # Spawn a terminal! + exec $XTERM -e "$0 --xwin $initargs" + else + exec $XTERM -e "./$0 --xwin $initargs" + fi + fi + fi + fi +fi + +if test x"$targetdir" = x.; then + tmpdir="." +else + if test x"$keep" = xy; then + if test x"$nooverwrite" = xy && test -d "$targetdir"; then + echo "Target directory $targetdir already exists, aborting." >&2 + exit 1 + fi + if test x"$quiet" = xn; then + echo "Creating directory $targetdir" >&2 + fi + tmpdir="$targetdir" + dashp="-p" + else + tmpdir="$TMPROOT/selfgz$$$RANDOM" + dashp="" + fi + mkdir $dashp "$tmpdir" || { + echo 'Cannot create target directory' $tmpdir >&2 + echo 'You should try option --extract=' >&2 + eval $finish + exit 1 + } +fi + +location="`pwd`" +if test x"$SETUP_NOCHECK" != x1; then + MS_Check "$0" +fi +offset=`head -n "$skip" "$0" | wc -c | tr -d " "` + +if test x"$verbose" = xy; then + MS_Printf "About to extract 380 KB in $tmpdir ... Proceed ? [Y/n] " + read yn + if test x"$yn" = xn; then + eval $finish; exit 1 + fi +fi + +if test x"$quiet" = xn; then + # Decrypting with openssl will ask for password, + # the prompt needs to start on new line + if test x"n" = x"openssl"; then + echo "Decrypting and uncompressing $label..." + else + MS_Printf "Uncompressing $label" + fi +fi +res=3 +if test x"$keep" = xn; then + trap MS_cleanup 1 2 3 15 +fi + +if test x"$nodiskspace" = xn; then + leftspace=`MS_diskspace "$tmpdir"` + if test -n "$leftspace"; then + if test "$leftspace" -lt 380; then + echo + echo "Not enough space left in "`dirname $tmpdir`" ($leftspace KB) to decompress $0 (380 KB)" >&2 + if test x"$keep" = xn; then + echo "Consider setting TMPDIR to a directory with more free space." + fi + eval $finish; exit 1 + fi + fi +fi + +for s in $filesizes +do + if MS_dd_Progress "$0" $offset $s | MS_Decompress | ( cd "$tmpdir"; umask $ORIG_UMASK ; UnTAR xp ) 1>/dev/null; then + if test x"$ownership" = xy; then + (cd "$tmpdir"; chown -R `id -u` .; chgrp -R `id -g` .) + fi + else + echo >&2 + echo "Unable to decompress $0" >&2 + eval $finish; exit 1 + fi + offset=`expr $offset + $s` +done +if test x"$quiet" = xn; then + echo +fi + +cd "$tmpdir" +res=0 +if test x"$script" != x; then + if test x"$export_conf" = x"y"; then + MS_BUNDLE="$0" + MS_LABEL="$label" + MS_SCRIPT="$script" + MS_SCRIPTARGS="$scriptargs" + MS_ARCHDIRNAME="$archdirname" + MS_KEEP="$KEEP" + MS_NOOVERWRITE="$NOOVERWRITE" + MS_COMPRESS="$COMPRESS" + MS_CLEANUP="$cleanup" + export MS_BUNDLE MS_LABEL MS_SCRIPT MS_SCRIPTARGS + export MS_ARCHDIRNAME MS_KEEP MS_NOOVERWRITE MS_COMPRESS + fi + + if test x"$verbose" = x"y"; then + yn="x" + while test x"$yn" != x -a x"$yn" != xy -a x"$yn" != xY -a x"$yn" != xn -a x"$yn" != xN + do + MS_Printf "OK to execute: $script $scriptargs $* ? [Y/n] " + read yn + if test x"$yn" = x -o x"$yn" = xy -o x"$yn" = xY; then + eval "\"$script\" $scriptargs \"\$@\""; res=$?; + elif test x"$yn" = xn -o x"$yn" = xN; then + echo "Unable to decompress $script ,because of aborting! ";res=$? + else + echo "Input value is unacceptable,please try again." + fi + done + else + eval "\"$script\" $scriptargs \"\$@\""; res=$? + fi + if test "$res" -ne 0; then + test x"$verbose" = xy && echo "The program '$script' returned an error code ($res)" >&2 + fi +fi + +MS_exec_cleanup + +if test x"$keep" = xn; then + cd "$TMPROOT" + rm -rf "$tmpdir" +fi +eval $finish; exit $res +3f< u{+!c KB; 8tN*sܝb%Bݎ;!d&.(\Ag vat!F吘P@T +D SQhcٞϝ^~ޛ9-ƠI>)H,mI%@LR$ղTsKKK$STHɠO +XeNMڃ$b6fcyH`-m̼f)iIyEݮ icJv^SA]:Li_ M)|`7PLdfMK6֪]̜~ ilDYSUv[ℙϳv2&#,X =_]`fOىFHMk[Hd8gX-6#T֤Ɣn5Q5g[A(1sb] }=kZjjľnԂ#֨lUc%V,N쮥mY6`ivMaE.,98Z6.؂\lAZZfEQ~TtU0=m4r֭R1)f@7Qi +hHEj@*%K[EZػU*,*-nxA +9pJs莔r(KK5|"ch +RpHk;F[ WQƕ`MJICHK +,ti0PXQgY-+L{_g׆Ur禾==[ +CȨb,ѪTf궪"fk%cDG$IgX=ƚӉp&OpFRDwN:=~}םo=cw}OGo;~csGw8 CTFhy-ʸEjVJ[F<l!q88D*mtRi ;˂ +'MQ9L|+m+C$8s(nTUm EmYAgV9l`P1Ay>MRyg1LI̾i-9l=CG-{~L{gh=PӺelm\Xd)[P5.%-ae:DVQI+d,I06z_wUV7x}&R0glfΣ&M#P)gO,G$)a%w;PԢ"Um%!$ì(ż' MP_aU8l?rJ^ S{B|tXʚ3to:a=UW+:C.5ݐݫ'越xGSXީX2Z]M67-L+R7U=2U׼-(}%ٕM-lPAv} 6G; +᭘{`NTFA팆[Ҁ6}p + |Ly6x'b4U5:D e{eTԩsomE'.^|}sϙB9 +b1!_0|.a(')U•LOMA*_ h TA*F*,L?r6VM;$qVi !Rg[ +"x"C9Ӑ:LfiChVάihxF*d!>ٞ(zdDC$2w&ΑSPsd,sXjƐݻDd 됝jv!vYl +f)|% 1u|JqT+Iy5y+ >.k ^ᡱctc~4 i ۗkoj_JF!\;X0T$]墛.A$ +W5R)L/BG*Յ3\|pېJČ(.Lv.-弩$"d5V2M<518(YRj/O;;xtnޱVNśIPt -7S {?!CY=5D`EOU0dq9a혼0EߙQfwBy훁YY h|p6-_ +̡ ~&sC:o E:YUs#^|8./'%Ɓzb~a ӜC@,|o?[g9>/x1#RpN+q/G^ +pP|J_,|])9p%!cɇOn/tssícRH?nۣmn}BGP?B=4_APuT)/ ϱ~ؿP?twm'{kMwd_;jh-o]8Ccu8O%cxnP%mţݤ&{~^ۼQwx꿺ctnѺKƏ]<ӉOq@oHƐ hC~G?G Sy.@{`Tn!Ȟ^Ľ;U׺:v<ï&fxt_Pq dwh<}}Prhw[16 Ck?艹ۊw>3wdL7]X&&.qe.=PG^\?c0\IC8 t?Q'0o rnxvx8=^ǞsYx/v][,u;]I+*|$rY8qo0q?"sގr BE';pLcz<"6<&fBI8Np|܇,?_}rvoFHOu[ ipmaR,NZ` RuͭH m(3.o/$cȯۊ 5 A_A*%. U[|#;Kr2!ن'WKTcJIkR"=BխLh6,0!NOL^"@ <%2gWP}r ?eOB7/.}I֎8|:N"|r{ "H7^vƨ4|M=C@y <_@[wl\/,@(q=\~sC2]"T@zps܇C]Oh" I>S|r\SYXdzLgXQ{2~6s)XEVNv {~)2,Ogs>m;gk~-y/Zk@grԁs?ͬ~Q#%3ZB4M p:^>^~x~'8~oF(s?KmBm4n? ~~?8 ?_BP r9v>`>D=#?.xgt" ̥{h=ho?/"<%7wyt!( {ox_тw~I#y%bxA/Ѣ8c8?ϕhyEaK/- +'}qÙi ]_hi&CV3L%?ߧwQ$rQJ֖pMa;ss%tCZBQ$bc23Pc75- MKKSӀ>%Uչ咓mÊ- iކjiI)PY8hW:$K)Y2VVN #};}Fd  +V`D L̘l"ʤPHexJ=hZm.|Y|%恉m{a4tkh +-F 8zeoNA)TXV77 13[ .%k,gaH]vp0OAbmJ 7%`nve0]/ab{sNn<'fcQ(dwMMMV~閝2A46<#g-uS|¨cqTSB b2$)7) +vU*C>*unE O8T?iMLcopJծ%˜ԙU:v.#R -Q2W-G9!0<Ԃpi L "oc;U"֤D-gOkWjDzJ'+1a.q_: vqtNdgGTn VS;I7֏B +rD/5Xp孂>Ğd(7 @f=H.yvs![)d8`!FHIvr2໪NVskp!( Р %OA !->fpFذzW C +>(1龍C*]'qC8A#<:NIĞ·ptp<<`Aq#J׹K}X Bл}F +Y*tڟS\4ߪ)IWR*TÂB g]2Mex6:NƳyKDF{^USpV.ѩ$~4V6ItIDd|*:_'/d|\2N>$)d|5t2N^:y^u2.N{2N1:/'uS^r%G%{"69>,aķ0m ķI&C|䗰~obN \cr*%95u7յ33SQra,◢AzXՕ7ig%h,>vv]320>Q_~EԉZ~~8ȏxA;֌9pg=X~E c~\CwA"`wX{Y?axkwBwsW,77֓$ 7#UE46\>mml6qeg4:pβC6WxnW6kuf6s ǁFyWttxtz5myfJm󉆺ǯҎv䮫#@>>4O7Tf3c+#(͆gW*'WW9F]e7ȹ~I5BZc֎xa 9,RIeL}vB}u"Dgz2AB_@i`;E5|ihE"\QJ歚JaR_G| 㿊wT=A^̴V62iZǂG']@籿~nq*[_WY֞U_@uU=>tnqϊ47BP?߀|2 aʋ? ~هG.`iUQ>~W>n-k#ZPqU][y'ך?_ſq}K> g aXg +w(}yPX@{t8WF]ozSO_Kz/_j_ye'~CO@{ƶzN +DZX]Z]z'/q|[*u`k l-wy~f;E_[B?۠H(sbCeU,>z{7`oZ Do0W5VSqy1|l7QoaaqqH{fQ݂l8;mH5=$I5zWz55 &vJ1)fQMh[”y}"^+̧EUV%'{H|)kHmħo y嫱-ǎq~spq޹sx Dž\a 5p \#sbϝ!ςw[`>ּWA^f%Lw/b{ӝg./gUn'9].G/{lYO4$ٿL1:X=Lޢr+(:w]h+/'/{jY}R +>:]hd79^v2 +']FdpQ8ٽ@~gOmmmmȖ[C]K3ȖEv0<%ɖE0<ݐ jЇlI$dCR\?7&n6^~P(HzR⹮ ax_ΰJmpJGW)=١}9١}dV%o6~-&4 G(>t=-.ʠa5oWWɩIůѸE-N}_qAO?3A:ŧq4N_qrh^ ߭$;Gɩ5ZmЍq{Tkk"]}8{@v>9gSWkψ ]}MWk$W˛ҧ_uQl5mS5wI:ORk~M-0Uk]8U? F_P׋_.-t}!DG[K8~Qf{]tnw*@<~mCkkmontb8¨ 9n#S#tܤiBgY4epU@!|̗!0LQ?*ap |90tF£FWC +$hgdA&r*W Z^"U I{[&ɥk Mh^ R%np;N}JIFz +Q -ď O㦓Kٝ0]5cT]lz1o8K{$7Gd"V,s6<Js<=XL `_ȹmۍ<A yjlD3psrfDC0[WyԶĨnfZX 2@֦[(B27|ӧ?ӧ** }ͧͿx߾[/tɣo|w^G%a[-4"9oN1j*Ā66}R9'i'&Y+`x=-b<8Z(oЋ-  >rocyrօ8_'3&MǍaU~#vHv>yѠyy͋)%;Zw$E0I5ȎOtkkkTưdY&E}I" +ܪaX5]ahꬽsi)sm'^d -*R7dڑbVrQ5-uYaۄ|)&Ȁi +ҫN`d7n +:ꩃnw9x$~L)>hیTw8{ĉ+Mp]C) +`3UIL& X޴F[/*} ⴒͷllQ-Z.Ԣ]ruz37-tLE%{R؅,]\Y +v[i)Zf'>i4|nnr_*.NL3&d@Kb""Pd._'BVsmlùC{!$r!U֋e.|>'*F?ȳ@OYU~&^12`@&F# C&Aʦ'wG7#laU<0\r 1ǫXUeE U簣?5Ev5Vrh@EszvIV0]o&@_'_*;CˈI KMO,Y].aI򒇱([]ik? 7nr;UƊ\O#H_ef2|Npli%op(uXׁzoV47=u.FB9hJ#28)XMh Qob1sYnA&0EXŢ7u_a>w4:ú&B-:Fa˷KM9ƜR-: `֔(2䰦%=vĈc`Ym8:CX˷%<{7Ť;w0ngЎ644Sf +YZ S*#*AylAgYT5k7 W5^=W~G{@J` %(= KÅ: ez) ru_[(Eg XV¤Ͻ KVTDN ++DdXjJ`f}=ܤT>1G~S5E=:oY.Mв\ {%lqWn; *(tҗe(Y|q/ *op`FZsY^q;)_,<×&S^ZNX:US 8_ΆUyBlMŶRŁ1Ք{arZ/J?2 {tVx /nbs;ayQGBwsU!2.fP2VVD)ݠ5wKkQҡ>,{wҙ;;pnφWv̄4RMC 5%HI;NevZ2R Eu?Xՠ>Lu1 U?X7eiag:ج帏6;Fx|ca#[͡yG\aD>#Ю(7$㥐-B1 7s!5BüÍ\耗785/#-H x +@9xZXƣ_tNɁMt- Z$q#TȭgcCBhKhxw{~tg{kZrTò1=)ι8Gs1ܲO9hR3yMX] ~59m($aGm1><{8r _0#Gs<&or"p\0~3'8h>?7Q[ o|a{'8ٷ9X+G³ ϣ4#,vmƿ圾c؈ϣhrz?[) >ڧ6 m&QuHC&vycfkGN_4rڧx )kX<*_cNC_]o <Jf4=ٶ栭:;v l3HN_~>Ea!˧d[Gs|~ & s0y=G^0w;ʥ|"DvyHFq "dP [ BV-}C,&VnaMLJu)"rrei%+Dm(~c`3^*hPrd,i-w>-N4(i4װy?]ӄJ $3ooZ|0:^E݇pcxv;Vffv/{wǀwЮ;{K^l5Fzz=JA[b.4Otə˾J܎SD0=eKl2oJ ;}?Bc=qJ/5rNMi+Ii?W7X3FZTMT-L*~NY|51%?Fk ΨۜӌNي$lY1+Z(kJ*eft*adb$ Tx5Iׇb)Qd|zN?}_BD_?qtڶ$$;#JZ0+QZTV N&U2dB2ńI*YiYv2܌e T1^q5! F3=<FKV +P8  +<9f/)S3E7777;cl)G0YRoזԄlIY,pMV-&M[!+_IXF^wLNղȤ91S #0,#QI+!Zh Yʨ('Y˶9ievs/0p.%EO\(Ee#afD-dRPYYLEf֐L& 5HURdB$%s3Jw棞Yh-t,m-`g&r*@o^|16є#iÌ-7g314l:I&D6IsM?r3?6k ΨӌNM;Z?J$;Ḯ%eNKV& < +b)*{Cl?7?/0+RHW'.tx?A{ QT5c( KK##ۆe(x,ZiU5䬡&djȈiR=9Q,k4CLf:{x6`3q xr_S_*ooo4<g _4H0:K iv6`mVd]{X~H4Ybp00;g7<`0Ăa$\?+GK1 dX`1T>뚸H{ l֗iτzA|?;[8uL8z6M-׺L8ws^~9uל.*0i&oWX8>ŝI WOJ U.]㌁}v`.4(Ҳ&є tt[PО?]BwiO51i61]4Gӎb~bexE?<vG]>}(`1ؿM<]ſ?4E ǝCΩqԒï/uѪKve׌]/k躛[tU_ڞn=G%B?>=l<~I#b/Ԋs'L!a$LDf&30g&!QVv hE*˺ڲ躖}llJmuGj眛{䁙{sq8w;?+Q{[7ٽv[,6<3/MSۯzzu7oWW/ۡگRK+=6瓽g}_fgv}wmhIUҋOQuo>+|ӌͫ9|Ot/zl߁rTOT;ؑ`m')=%'R쨸Ao /uc/֤39:7fM6/|[0[1%1Cs-"F⭷-¾{7& ]ZJHE!%#P&zvv>EЖaąOWhMt2U>R(iD~ ]Zd,7S$fϽ-$g/Mʴ`(Nq3V#QIΎŚŲB S+\_/7잁+dsTO>uH[CVG:u+JKv o k ̔]>;IN9v~C|D.+n~;ZRGR&54X-Vg +G4JH u,۷`w:M}\7 bE­07Zٰ,l]v̊ڹUne猝ȶ,XPGѼ˷DT|mZ@8XK졣jY}u}I[pZZ D Mr&6ќujYz;. j yZD.eМ(W,zڇS\e_SLBX'JW˻h:(E] +7XӬ5$9rAF[(3<Ȇu;:vrPLka)&91R5>sR K>4TA9Lw_@՛`jˈsRN@%F‘ZOMNb:gW+~S:LϜԁ sDU{_ 't;f Er#M)r4Y ҤA-I`9Ж&mKx. 0J8tc5+IvuTGu;LG$Fjb#־ىA +Ԯ4վ"s.,nnMgc 9CMAvT{'$EWܦҐ$t {Po\4ޤ~;&lO8?< Nq;k%< sf~Dkw烥E;-\ҜG6 +|B&T0sg\O"bZp֛0OxG/y;>1d&jzL-2VF/)=?jWH9釚z8,NeX>SZuFw8דYiB7й8U_R +? R!W砓%5X,$ɏ8spdjakv&/9KN? E ,Sv5k4(bq[|EP/;n2)r9 멮JrE63oǩbAɅ6.yݽ +2wJq}W<0؄tE +N .hv+r:t)\{ts.sv" XYXU )[!ý{F\Z\;D-қI%,=In跓x̽+H瓘Yϲ'rLLI^tZm_6oaKSi257[53&}_,3Pl(huvSeά-C vrc,ߘ?)m)1iyJ9V[yOﱊ+c!;81ƑwoR"r0O|qi:{W3_in1&+)j{#{BRIJB㌱j{ 7smw)m\>>߬t5ޫ\=dzqoV 5x-sm8}7vewKoTϋm-[mE|DE<sg7x#E|Hg__V.ߢxE_?*SN|~ߪZZ7?,yoW|/QzUQx\х|V9Pī_Q?+>KA W1> +ËﶗbYUC81tC;ooTC~i; +vC |)ǁk9 5nX Fok(ܰB[87l3ݰr;^6 #8SuCN.>2A2/ɰXFy]*z*Q`ߤpC5g)z~EpF?B;/]K8p|=]a8{vは>0pOk|=7WR65nd[olο . |:gLQn~6*^ S^ \3<|!v yMx;p!7,>#a)8pxxC_ wܰx=g<|3[oa+oUہn{ +0 _ +ܘFg| +[Wo>Wn0oX2K/C87/>*l_ z|#Ϝa N[g7lvZ;_ |W]#"$_ [r[_ + |p^Cǀo | Kǁǁ'g/>< |8*naw_ <|=pui@x9[k8l|;~; j{.^>x~a 7P6| >MGwzeWm8uui;8Ol }=W.o#=@I +Ay~/llll>>g>LOAA~A~//>>w>>>߱}П}es~IO=tI@Kz%Ho= z:7=}6}=}lEl%ltzz.}Aw}Ћ>>诱}]ll2:Ag>~z&z%ۯmlllzyaQq {lll l/}/}?d_ew}?a_gY%6ۗ}1r̻llGl>>yd?񤧃@ $]% 7JH=7xl<z&d>>K>&}З}Эlt탾/t7N}Y탾탾^>;>;>5l=l:/lb1j㌡5K 197Ç&e(?߾1iMww4uz՟mU>+F=*_f G/~>f4k\|QU{fUr%f&AQЊrDM-j+heBlmK[+R@ҟK2$8Rne +X2pQ6}dַ[Z9~}}1 5Q7R3SNOkrK|)䯁N!V6ɔJG|*څ2~AEҋaHon+C! 9ө7ucha/]]M_y6/%K 3Գ7ɑ?A[JD2 kj-7vtʈ\})/T {2d3B!7K>f k|dA>9)C>LyT'}U{+{͓.JJWFWCo}+=>n1w+ fܝUa>tCCJW&G]i]vF,M~y//8r67#_]6>W6)oOCnj.=-o3o/Q _%_2o'_"__'q4_/O%_]67/se_6uڭ_ el\_d3o T)K ?Ps4f71P~S/n@y_6*7_bA// S[U{,(ew~_ϑ|9D/{n9_6_/z* Pce)w/q<~g "w/7' +Kiw/R(_!_#o;/ϓ).+ג/O)eN7~|G\-~||bSe?g|]nD(eG%nel"%~|nx&elg|REelߺjel'|29QoptE(e?GN=C~|?\;"C%c;Yʕy| N{*<@eloelin}#)3nD7$%\<3e?GN%|<5eM"_wˊ*y)'r/TޖzJT[Yo{v|_~||rKKf-wZ +~q4"7_" /'_]6O>W-/q׸3rƴe,Z# ]t6g#]t)אA).& ݏtˑCғHHS8Vi-H#݀RHG#݌tҗ"ݎkH'#݉zV%hW|Γ8߇}8^kr]Ъk*ZG1^79h` aUb~)d%0vfFμPĎaY%׺t,S#_TU٣|k}MjdYamJ4{Z#{jes,)a4'O?L&0//AX+ ׍ace3"d$a%;;g 0 1+x;zكحW/v#>Lb,JVYX=}|v}1sclY'"z:@*`V I9[Y>c{ kesMe|h=a9abl ܂ku;t=),¶"a}h0>M?T'KUE9H|dX]v5 ˳|YƼنz k@Ǝ\ k5:x;uӞɽӅCۡ7|p$Nso/ף b 4 +d"tCVׂn_Fx^&oYy>qy~=ΧU-:jX1\{*(k,>m<O3pwk\MErv⸥PᲓ2 PnL ;mpeNB xP幯zp\sLrmpwM_ʍl_^C\[QoE<`)䎠|9fEjup+zp7z kbXl+O^cBtL__T/Au:°GCˤ_WBDd01(VjqZڍUb 彴lPIg)Wj]$o'Xٸ2ddZ}mpmomcFb +Mw ݃nѦ2D=m~2dx7sSmf2h'6?vc +yuef1\a^nu Yc2#v;خ?<~c8+d q/h5jXrwL_x_Ȫ |#m/hP>5Km=Kr1 >~>!+􇍏,~uR,ѿ5>>u[YgBw|IEog_% ~>+Q#}R㎐FPID/?Xw۾hz~fHI;:kw8rmD=T%Zrq/N[ν>ɸw'ޭ{73&ޭκw{7h{[,U2],3>Rn;f_kUoOVXh ޑf/ϻxټ_D{3ռ-Xf^IXJMgn^8Z`sq8us,}u鳋L9׹ȼ2efJK]sWa3ϧg)ؑiر5kb"=H*п~9z˙Ts~/SNq_@c-!5ٺzЧbrplr&z-'#=d>&~>߃0k_d[t`<zB;mJFʬedX/G?ߥS-1Z+|y#쾶=W=l5\ה+)ÓyOXZrU̽ulht8Q^ $j%[<y*]!$EyMNvzG7)er#:*\'}mLׇr۝<6%rI0<>\7#3.>7 /ۄr^>:;>>y|rhɫ>:gGC)N}>y)95>vIח#5;ka}v9lK|-rˑlg;˵ˑ>\(ϩ/W"u t}(ݩ}y5N$˳˕<\?<.r>y96\Ϯ/OD^S}ۘ]N@^)WrF7y|N}(7ũyM/߮tʅq>\ CEv9#_}NvW _}9z>'o^_il_b^%c7lr݈ck9;Z13'vGX=HXczkHb֐Z+/Oog]|/Z (,.~Q]|я3vLw.ʱ+\}6tdn\'64B|w" .pM|,|cDC xn91oolda1vcnɑs 1֘(}NY[60y;ci}.3(cq-铁p5?Q-#=j5 D)WnΠ}F +aW֠Ly#~|['d%eNZ,bE]_c—T_v̓Qz{x9 Γa +[Š-vaEpa!]9~{ƅ  +46tR+>6![q꭮yj\➓'$&`:Z| ~faӣ3Ԛ +^7<ιCa=uZUÎ/*džAr^Z{$+79&崿$={Y?Ϣ4 C ?Hp[bZ~,oKp^Zin̳\vki9Uk2o٠tG e(/%5ǜՙîdX= s[<ڰl7{qIu7gְq:ް)' +6QVORxوW63Zϛp|}|#27ฟ}|=2_[u8kq,_=9_μ{^ĉwa!/Vy/0uo< U|^\/G1uϫ@a1 TƛSsݾ\yy.ߠ`96_>, r~[.qw8zt?cNsxzz rO<ç[n/;OV{_^&1.O>䖍rMyr[r\K-`ܷ7:@suN{3O~-)59uj]>sd|~jZlb|;]-1;na-VFg>Kln>İ|9n>ql'/?Aw{ϑ$_#@9o/q㚲tCTߒͷl|Pަ7_Pqlnxln>Nϑ|Q7_Hu|Er_6|b9R/o/\,~|?tEe_6|b9@/V7DW|i/%򣃴_6ߵn>Q*)J7_T$_ڿh|R||er3:sEɗ+:+(˽]E>ۢ^`-srs+;:rG|B3w.R3ʞ|oGʞ| +٬/R!w+teOW[W97_RNVks+eP/n>r_6ߣnȹel|se_6}nyr_6| e?OT\e?GNTɓƫ MT +^/Y7W/bqr;Ծ^nH@7|~7_" 7O֨c|r Uik{jVu[bﯸ&6 +.C:ba]Կ߰>iAk-ӂֳ~HYp͍ quyde_zP +LZ)A b]S7/ Z; k=A3s% AkĢubu7ˉjl +zŵ?͋#O]0|5|= Z/-Ϗ/tZi^/\HXܿa.[lr_Z05jL(3!!, i߬A7-y6&WXn0yUMNa`A+HaFV[Z#'||ȊrK!WcoAy5K \ȋob yd hz滐xNF^GVk(&d O9x?+S{ Ƨ ^ú[sj]wuOg;G(S2*FD&+ +\Řoc;GlG\;敁,S11&S}}Ⱦjor'5J.=lOJ]*.v?WWq?9lOH|8d-lOn">m&|kl|>Ob ̇63CRm6e'Bos}+Gm\نkBVzP%q9bxF|qex^8o>ܦ,Qf_j;)G>ḆݶL|l`9gMH#,,GF=˺U!|CBFeao/}}n߅r2CEZ` +ȥ}GHU/7ϸH^A'g_R +h[ڧl$ú 2^؅fz։5bRo 6C)ۼ \ܧ}7F0vP6nj3^soo{5FHe(iRPD?YGx>.|aۂ8omFevk7ݔs6wl!-ޠsmNG=p>Ű^Aڦv-p>Ͱ^Q醵CBw5fWjͰ:yG4 v[o,5c=6?E\M|ma2srC%}rb-6xB oxEeNܷeR~ H|?I=Er!W~{xpOzJ[O2$#ɋ5{GVމڇه:Dn+>6ilE(~x~ +6@>A8/lP?{PD㳀Ɨk8+/mKի0E^O4`j +hBȟk?R>۱Cr՟+J;"8Ns(Mi{(| !@>xE>#c 8mX |P>xߴ}'4 +p_Z +t_~ƃģ F:0>Gj`DUl|#$?|{#JWZ?q +iGR;#J 셴~9}V+< MI}>ƻG5CwPV᳀֮;uXT˾TB|-hzV*eLT*Ɨ).?l5Esm*sgxxD!w97| +6H +x_sT +|wj<_vy +/>џxDC_O5qqM j<4y +GyU +?17k06>W!cO%wW8$(xcO%7rZ;u'+}5 + |[a +1W_Xƃ _Z |ï5~%/#xvHܯ%a]ģo=BяO܎џ8_yt\|?g!sT<:v]_;[/v^~t'M;7t{qW:ν77;"Ds'9?џ_ǿO܎Oqq%'4^:G/^qqU>?W2G >_8G5>*GB{u'xx?񈎧>џ_ӯKyџOW7y\Q/#n+'m|#Moxq_9䉯xqY 6>xT?Ɨ)yƻ+gxoT_e]wWκ6_w_nݕ|?ƿ G%xwsWGaƵ+g}O'4%-#_W<9{.Ʃ+g] GqÌ_WκLG%ˁџxYVԫ k|Oh9"}u:x0]78qj>Izqtqt ~Q^q^cusmxD㻁ڸCy GBǣOrN8P}&uQPmm +_/wN7A e~[8WX\W_km1^s?I m^~H#׬J_h!5.wx9m~&ƹfP|?p# |zz_U;^u>8î= kԗNE>/ħO?~>|ϧO?~>|ޑyFdp=`GVi0:9&jO|?p>!:_/|Z]:j'ד*]~6zVG,L(^oq]PyG .߅8?H>stN֬1mGɃeWh _u$*Wdv_s ~UGC ] +0>'! +j. =-oRxƏϐ;Կ;5)mWӳl7>A6eB}arB5s'~\slEr>E{ETqrg3N$RԘȯyV k1X.o!us:h}sY5˜o%kb=uw'YXjNn,5ZXywAI;uYgL`H{Pny38;XVXp CXQQjv/ȋ%!? +Yi=cºs,{;dž9$d>r|O69e9#m>eoBȮ9+K{ƞ,~K?loKgMd{dWjqkuvaS/N]v{h܌>^%2];cЮ%r^f~y_")YPyr}w_K߿OilE v#qX|}X%X~&_C_+v.`2>l>2sv!e/ Fj|) y';cXsLsXbǔv||?{r|gϙgӗ%>9؜^?'c: +}oŢh~]m~wa,<_.}Pytq}3rWͱ>ڎE^x?rz1):< DGU#b_SǗ[hEb.ee3G7,gAc5ǒȐGV^y(}mbʦ;Di[XQ Üyn1N ݘ8n^$=qA uO[?9qTU7wAz;踒4^Mc폗-K1o8 +_D}9n[dJ==mM +1ON =%~`ϰֻh q΃ګG.'G4 +aM=J_ QzZj>sO+r?VAɩq$t[6r JMZcxuy^楈W/Kx@0ܥ8Gɹyxm.ZrK>GjaOC +U911='S|אEK<^J%&SO)_V/}al4g9?7܋wGU/bTU VX9*3At>x:,d(9#_V>*Z-,eoT}M%S; [*dH7W﬐~% +y! ׼`,;>ac0-.o~?✍(=ƽW ޗS5@p?#Lav~(yG^% o?RoӱK@/_胨W|K`ݣs1 +K ..; 1S(i#GRk'sqƾ7u,| x#7,ognOԟBti>KHxĘ ^y?K ~OKŶ2 Xp0 crՔn#o;~PoBwo>Rգj:qYSLʧ6u=#~uVb#F=6]xl+3:2ߪ'1'ZG%kE3LGr<`|5+W C)9V`+Iqݏ޻*ɘqA `ةM'Y|8b?47NjՑ1cȳ?AEZ>^+/!{v]O(B](-;/nwC7_+刃?-uu9i;?[ +0WĘ.7 κAתQ+SOx: ˇԕ2{:+.UhQ⤧ְu'*8]UOvAp|wod\5SeW(IZbcЖif]-lvP؏}f;/ ?dX)ShwUA'hȽ~,^QfX2^' HꮞP }ڪ|7&1]X{a1ѤGΘz}0kLS`.}YU^KWUTj98w:.#nWT1 qkO}#F8jP$zBtǟ\C߂WWzLbm\+PcG?>Gc2De2P&.:f eo;ee_.*Sl[2B٠4]H٠Ԭe˜<ý{ ~}t7)K2qŢA~߯Zw!m|M|w6U({j-CA^}(ddl/U1z~7OCx!d#h8m{)/Xz̘ wf1F"m#ָf1cH0TmtlQ.yaSΝy9"wfs%Q57G0N\wFC^mZ&>n'Gc]!AߞL>crm}:b>7M6scAp +56yl[z7F0Pkq<2ZX90X]S-3}EC/Ϝ~\**`jڷpEc0|Gz&[kj^™ ZxG +9^wj1kCMFiQ5ͦ-ܲwA̛z>6}"Q̈ߣ("mYȿyOή\H݇g  FfV5^_.k $l:ZOW!.@,O=1y1w@>֋?̝JsIjmV \#sfb#/s !;Kl?SF~,E륜o ؃;+ac[W>,ϸ15g.6Wq %O +}c7z poV(1Z &q:]3C($XѶi$=z/L~mmTb{!2I>MK[3 HQPA@- XZ`ZkgL&!<{{z?zZ KGf2:X/: +c QNZ56orVê=pS(utw +dB< ~q ʝ{#qZ΋EVߝ4`.-xg;c7|{8r@&9I>N5ײ? 8,$-xϭ7٧\a@Þ(,`bI~1~Ol~tCmftIrGΗqO$#,KnxYs @ +"Ray“wFN0=:_b=>L;AY9ЭDlEC{|y Os#B}n+쎷u --_Zt>m!uu7e2[M\InmCmvw9fn:HMr]bn'\(s{&6m &GG9׫yropڥDGj +{\@:s|PG~<;e'cSx(tg=g܏UJ@LJW{xh;i+^dIJ:!ga7SY/>fm^ sxԖ b'*7hU *_ 5xz2kieBLuJ@59J(4WE=r_w~w~+J5 6Hx" ԻD{@x1I42^\. PO˦PpjUn:xkd^|l/4(/qG&mf2М{'=g=ϼY7Lhm=cJ_Re|X۾s^Q괓.y +e|Do.S6x(Q{tAeG^_̧s&=ntܯw+: 6\C<,{g~ݧ8n_: yu-9'D[Ę:}/S· @V^aYWZp'ꊜ.c}ve(ctwZmMzvms}Y*B%B.lm/ v`9m7:4ߜtDuG(2jL6MMݪL}9F³+l[waui{K ˓:dömX:x,Cicu_rت޸ w ~G|m;|_ڲe_3ϦvoxBc›iІ1O45:iٝvlaۺZ1ml-leڶ "9/exu{ap.lA]e`7yaANز&)Nf?5[v R׾ږ͠mYaǴe;ߨ +7^QWp;֌X%;=-<]iҵ]M~}q#ۭ}'7~~<2KAfO?N86ynKe'I {j +(|1/|Ǿdfއdm;ϝ#|0ǽ{rpOT1PT5k3C?D=;[`GO ӫw֓gGY~*ȼexPwO*bߓOc-*;,9ۛ9-}x/u:sIö͓d֟ݙ}V3 +ߜH]i__D[]0Q9?m0?Kt>u5bT_>ʼncfS?K?hUcm<6]N`G(.xxknN?* WT䈶J]p*NUZW\#:9.Ƴ_rk+V+ ;>+u^Jw:ֆgl ,\>z4FfjV ae^pTL5GЇG~(u(0KnԡlI/vhg~c͚a¡>{x16ƍL7T|sNE_?2Erno0Bd{yPB GuEǦ*g%Z:.)8saxQoHt-tqY M?ږ ))܄zP&]RWhÕPuE+_Cy$Ǝ`U]m١x>Ve +XF.er"}T?;;,\l;W +ؗOw0q+qX9xx<9Ao<ǐH+ҍt$MW]2p{0:ħENCnцvݏI ;~0qFj݉gq۳}p h9Ε0&[4GF_={u栟ӏ'yX>w"A5E]uˍTxqיD>Dm,cܒMh1yJфxddI]+.ćs_1J}r8?zPq;"&b^2c6&}t7՘Et 7kEO/Zǫ d6woeŪM6HT]_'=9:j (cxw5%+D^zomz:Rԑom|P78x'g,}sJ+SVhf;`8fzf{&'1)%Aw7מ&i[`>lex_Z>vs3 (L؇z}-y^T>գ.y/qm]j&~J8ڸ:>AĎ}ȝe#SW]ZOp-b( Os upL:7]HէIh=8t :ƭӟkz# vc">ߒs`v6a|O6zag̏p>Pt朆 կW.A޷]2aJ?:O6Qɣ^syS +6ط3l^bhuPп~:g޺Ge92ss#+t~q!bn'{Zw~nCD7ro VqwQďw{͎4oܴe{r*6 +}0m=N?3u9п}xj'oYs\0 Hi!ZpyT ?~Ooi c? qzF<#Я$Fu (r}CІ+>xʱ.eե`VPɿH[ \u`)}9c$s9p憩9:FEG@πc-_)&F:{9uKYh~xu/瘯 ׁ.Y{|\(׻ugc%i8'xc#Qц:isV~&DCD+.NO 5<"~R`J5*^X&g>"uۏWJ>Ӻ~bv+ Y.G|otJ1_9}eHg?Y=\FH{ pC;μ$o(srNe;Qe^/쯈MW?:OM3"{; .?eζ8i=uQke +={[g%{f%}W) î8 f=-ש&6['+9+| I?]w/Y-bA2- \%b Rr!xܖ?7\nqM.Rm_f\nOm#Kц\ <ex`Qf)Ô!9 23g|zX4t,ͧ}%C|zH|si>ͽ4ޑ4_)zU ]WՁKEb6g!AU7|b<#:<1NIi]AR:uzֽNY״ R:|ƪbi%_oQg9'57Jw\~(lUu© +^NG~d ߖB?}9!g. iLE;:P|فJ7/yEJǷW>1 zm}dDDDo]&yv˓~b-58/>ic%dZPw*O&mX2ƾ̾67R#ګkQ~锯2/O\k|JZ+g~Jˇh+I垑-;e/KhxY]զjuRFF3%wsS?;+ +5}Cj _dq\"&='5WY!<6S5W#>}|n}jNs["/wi^ײ271vr.曈Q[{ ?~ ?'քe=Qe)Os@}ϓ8>3re6w/Yyw]$5V9˲DcBW9xheYTbu,r\nz3ͼHo4_lE0 p?`1V V{Zh}8#O!=4>>0nZҵ*?^BЩp-B2=62︀k*HWF>974fU\oB}G*GHx:y7r!y1^u!{wz1w+ǃbw%w%-$sb+Dž/6-nb;={ǘeb~;| +I;G;2&>cmn_zz0>K[C;=*pK;~ZD;S3LӕCή)cGyO0>ξ)0oAz(t+ۧ}fi< ,0Uk'_Ζ I8? wb\&߯_g&2SH@{m0"o0`񧎣n&5_>½#_a}h=U;7K'%'<||ASSϦ$]ܟުFpϳ_S/hupUX?k2w,*<:u \_N=g"|j6Ǐ`z~r\\41;צJ|F~(T㬜vUP7/Z[1&l9a8YZo⼚ǣ  +2EwFunC ͽ°"8W˿#BUiQukJ6zec/Hro<pr']u9b!kyqc{ X#/-% pSf"Ƙ& +d<4MyL0]3nc2v= N6a67v eEWNۡR<@>cw{xyvx xn7OL/~3|qĹI}͔Oj懲[K 8tdEw_.Qdk#]W^xm3캊AC]*FIX;yY⛺f#!ܿpYj]3y&ȡ\oZ~~:H\S;>t[X!5k +\M;?d1Zٟ\_Q`g}U>J_Eq/g%vʸU߷BRI76qI1<:;~nH?| 5O^y>/>=bNY)>uo [~<>zG雷FkOj6)Ŀ}yECcS^FO}q~u~ s})?oq_ZefŦu7Gt?[QE<׍ܳ>m㾱\%:k:7d̐ >I'};9U"\KZ_!G1ʻ& ~( +{P"5n]qkKS>p{scs±psA;3w"p29@Ls6,Ag8sd=_jmLUdפ Vv1 I)<)=o7ϳe^kw+`]qTݬ٪{nS'J;3{KݳL5nvN3`k.m2a)`Ecd8珳>|9c:k=*TluFkY6u_}?`]-dl]bkҀÇ䡒Uu1 ~$aɀ֯߷xߌ#ig?h|ĜOA//"=ڰM)`) 7}V||9֣Y6+}}vzw mC%6h3}\l0)eOhCo?ۡhr_G/qOKkSnGڅ kOA杖X'x[4ߠFo$:Ox5 gK1డZ4="k5FuDsnpFꇋGa".bX/wh}y< ҎuwvSPBޠ>tq{݋ 5QUjؠ:yYϽoۊڡیHSr95Q-k +><O?d5%A]- oJq}~G._}SiXƱ"H_:q]M>)q档mO y 8szjO+udMN!}%0i<=2m̓u'>c^ NMm،оzg3Wxt*3l?m!Ei+ԛCkH0^_R3]"٪㚓N\3PqLA\0F\;5&j9q oyL"]鷗 qhGs+ 4(K>ݰ(i3hlu?wϦz@cӠP(u2ʱ1a~'zzfʹ57%=]G0GN}|K~$}g x;bᅄ>ʧ6pkb=O _tdZ_S=qr7T}ΟE{S0T~3ߣb[?K&]*z>Hz1W9(AzSƆˍ瀟8}2x_zCqljo`KBSDmx?r!&| 1Ytޱݕ.#ͷ)H]q8|{#yvxv|ϼeK9mǩ91S=D=?I;\^ϟ~ߖr8RG38Y.}qZ}i+Iߟ07Tr|;>:gAu5w%}'1WxC<Ϭ>w5 Cf7{Hc-ޯ&<4Ͳc~5z\w~oCN~t_ݮ<||[W_:_;V2K}?hY;Im՝oQ?*Z EduMy@ x"v@<Wu (RkG2J[_3h ""؊yW9}xQW9J"h:Vښ)m=mvc;|z#l}upa=V`LWXPxX:k_(#oX sB]FݝSX:1Ni}S>ŴQ3 ]G`}zI#c0#0qC|DhMW ףgFM =+G'i0;9M2>g{W%9/8fDn/PgN7J[<=}cutٟrNkm + mWn'dCe"m" A| +5>F:En_8k-ջewWP<Ub +t_F_"k6ⴭӌ):e|8ԼR0 Hc6uvAr7$0wyιXG43EΰhsW@ׂ}}']9GְZ^F+\d9`~H=Ÿ?GW\iU6ԏe"[=uz+s*qO7s+;j۔a[yrN'W?rQUqA |xy'/.缀fh +eOuu;< ܿy:w/IL>HY߷pS_9ŹH}ܿ샓D#fF3J'JQҹSz|D]> -Y/v>\}E (]|MX?f=nvgn}_Xqoَ 8Z{Yߢr_Yqs +/]cs\wOY'O{}DU/,W[EEЧf0^Ϝt|d^oWO6TMOË߼^e Wx5*«v +rL0kI]]h5Vv%p~rH]'IОwK B IZ`QΦMKh/}w~L2? yɍɻlrIOr{z06oR#.n~g0l%1Jg Qcci:50e2)wEV#px^~s8ss%K s 1ǩ +ip亼'W¯6,_ʱQCܵkO5/Rr#džcـ2"̤{ij1ʑw(״6;[; ņ6{aqy>* ׇg8{E#4|MkM0uy)ZYsz^sVU~o=tYmgFh9ނ>Dܴs8 xÞ'}[*_xwU/3OTOx͊ +ٷȆ/d1O`%>b7h;~!ׂ.saTj ZK\yTdl55Ft`HU[W,7^ $u9Ey^Yqɀݹ_L=ki&fIK?،÷>#[~-x31<9 = Poɼ'OimQqK7uklHobQ>ҙ킍9<.Cȴ$ޣ( %vFS[^ىitT< "}#s k^kgn4JS[I}QzX 5À늴ynz=Eݠu/4t&ܮh\E iOzX܆yߊ߁O y'>B|;'@hݖ!ޒwԀO!N3Aӌ>I{7}|3dyoWO!_07[yaNQ[}%k~7~k=Yk2WlVA-y >f?\U61fU636ԧVEW{ߔ]&}3^1;~4ri=W@ Ci~z[ۦk6E l9f˙6r-\ilh~sAO;ngYI{dZi]adb,N"E9=n7ERO^^!&ؾ/"7(ܭARGX)ylή8rhQ+A~ 6itKg##=ߠ+ZMkmX֦؞{FM)  ч=v[y]8_aNBџl53M|DCw87j|Lfm _7agS7ӡ\=9|R]k?DEM6T_[,(yO?t}:%WS/Ef9 bv,שljaˊfJ2h-i_ +iKt6ud[Z.(Ƃ-^张C{KL7a\ ND)H<pv?6HZf6fi zu}k\xľ#;[e E,j<bٽW`BL::BE `x8σ l +k:Xһdz |>ܸ:{ +@Sǁr8 CQG]3,?ƌ: |꣒Ԅg\PC[>6 +^ c2AF)`Z0w "ӳ- R9GV <`&T(IE3]^vɩV>oMm[shZ1ڲ4nk~Ҏh2ob<d79%(o+y9{G7evj A_!~\⨀$nn.,rki5[Ɔ Ǧ}3F'V'GYSNZ(q:uՒgN-(-EH YCT`?0a|iTB?/㯱욡[Όʍcc^6 Lͧ\#ŏH9҃ծ~u[}Qx;fWcf<R']anRFe(0>b|γBݎMWnSB\M.ET}ߨ5yFE꼐W.E?Qֿ?ګ'򟩍+kGR n4;WkOg cssqn^/gN6:vi:=)n~L AbϞmo`#JSrBg; ΋hov[Em\D-עSb}Fm!~R=p^>axU} +;I0 Wj޿mhݠKiv7lGuEORcxeZ#eFke~b֚πhUO:Z|~h]ARO0:7_jEpl->(m7nw\1 df~ԁ2#QUJ)~ϻG+!x:;31e9=im+֚8jbQR@Yf.w̵VVvXM{^Ѵ]X9ǫĿy]iL)99M8 +oCl0]SPMq%觫#1E,AṌ:Z8a.ng귯l%|+,Ԯ+- ozfgb;t+a\`qx`Zc^;g(ւs%nK$0cfq +3BHòI”='F-5R.)&G,Hp*(\?tѥE?h:^(ovg PL:?Қwd>j + + (ET-ˑL W^#ۢQ+[az| +3Y ?Z/_vMX2TrN Nz ]oa$A7|D&×CSHIXηhmGBMLm{,sݴkQ(V!"!R{QH +_]LIKBi&){B[_H_G;D%jRk\GS>B3CQ탕ӊU/K1/:+E&d9"j,M9aaJZNGۢSH".ǺdXPC]s_ޘ2뇘=4ozAa/V?!%*DG: zT\DD}wӢgPk^DQz^^Tf# ,4/˴?VI\IS'0e2yTCYgNg43a_eĭLDf(bpU;X"eLCϕ2'ɘR=h %;tx}7NbPa}<#vL"!I%<戚\'&帊ýխ@~IdZzr1j1= +E~)MQzp*Jf:1RӢ`$/R{(IxCj*UihKwUT! !97S UygCȖ9az\<7esΘDگL~)C}~62;65go- #Zr3afCW"դ=U9t! +*-;X . +E uqOFT0$˹ZM4- 㥾kiUĨb)|:Wі?}=lo|3L{S yRǬ!~$$[Oc<<=SwrRt}yNhNe&OsuRTbkiԗA%7.Ar{a47A W㓻PFWaq/92cUvn9Ab _no%Mu,z@g d2q'jH+ T#!V1MıFO+3' TyR7g4[W~{K;*+kJ/7J\>FFțA~?G /_~Q8m@7 2 ch0~vp p2F-#w^ø 1øM~{go I&"@p6k?_ayx~xL]-k{KͲ`K>eo|,{#Yv0'MG컀8|2˚Oe?eC3xY?,{ ,{G Yv6Og;7I;#l.Ms xKY$Y ->}0,Yo=eI,ne{u1>|% `pO0oJ +?,yx ݯΟG?Ǹ?пh||xu xv)/WYv8Mk#;6`}`[ =m!%zm84z'>C-E'8|g?{VLyN' _??J(AK9я低?G訮s\f$! cc IXsgF h$#4fƱ%QF,$-U /UKqWՇnIK^x$z{4N^W}Xs{>{Ϲ{!V:6v~7.oσ<v~!t)\>TqkDﯵSާ6(!mĒq6\کxuj|Ư!%\-9/vɈg~>_e?!ڪ0[ \3Wu>tb<5YD\r^)~OLN݌vVi2!?|o^mx߁:d K|7pz2Ħcc2ć1$jrs#{,;+'W]q}rDޙikm; r> 8x~mT&, J~U~a"=_VL#J\OHd- #T| Hg[f\Mvt/%z;|zrj|@OUW.[@D!@3." +ڗ@_hYD!GdeQzu>Y 3A1/=Q|*'Tw^J&S'WcD3i Qn'Iwg +䖇-Eބ*g=i [׮ї#a}w]Dym bҚͿ#qhC쓆jh<&0I? B~!S4~!=rdŀbhNCtaF) +T")zmQ0U]п$Wr6qAGGӂ#گS@c3sh7O!O]cE>fd1zyᝅyWsHd:'ul~'J=/$ݍErX3(6 i69a{`ZfI̝+p؜ΈNW,j 2XA^ƯU:rn 2JT}8?A6XcbUoRgӠYuPѫcLT" }H+߬#]z.UE=&w'YkoB_|wIgKT{r%e< 13 FCG ~?m$/ܣ?c)11ƼJSp )eIXs{{yF.SiTJ0Sr#\jzC#%)gs-i (&c%0͂1lhAa2矚lX!rx= ]'F -߯+)1֏a`rj0q} !ěuJxNT@?;@6 }@Fo&읞2'0Q ?r?&+6aN@_.v1 ե7czd ϣ-5z:{A8NOyaA]& )KwmoX..F-Wgcx䋵cMY6`@BTCy8`XC;Ú>d}Jq]q~F`WYK?c +xB\% #O ruC[B4S3Vvg !J&3e> +]k[3И?S _ꓫ 6${uhdGJ +Жu#rZO|'VJ=ekNB,coЈA;"_3?gf ?Dm!9o ~hc)෉0Gzt:g7[Of~XPGSjmu4/]]ݳF6c&HJ5k{K_U`fZ_)H4`LQ ')_ ~ |֕ hۨ|])a/ +etT'̆jc0ӹוa><`eŕ NJ? 4w[s` q9q) r cZo}6!:[諭]k}k<-ٿBI󯖭z9p`jzꞴephe84#pLiڟ/, J)Jgל[Mre +3ͻ[_VЛZԳܗ"b< 39O~OF%DD +Yڛڗ|=ԳTKْ})ٽX[E}B޸8Vd*1|F7q6)<!5ܼFP80+ x6p<+m>x.x7 OlI+_؅٫T68xB͆R;F7MNlhhֱ PXԾ +lW` f.y&OK![Q+4Ž1qja! iA·J2fk4D*C#y:m9;W%Y SgݝkES)/;[\R5G-"$l0O.űI蠠[*2z昘iF"`yC`` X'Qv>}vãDC}YܩzkfZ\U!x T@G__tua磟~Q{kU84KŢPАnSS:C_.GSEbl=3i1%ї)jW!\o\A-)ƞEeEݥ<=^b@J^+$c+Ѷ/yxρƓW.^Fbz90 olyy]hg}ns*X@,.cko\gAǬpW(n' Wl6iz ~/F{H]a\St& pC `dN-pXbk_KI݄>lǜ𬅶7duhE!sA0*vʓꖎo'd_|w7OqΞS^}jW|*gAO>7F~jf +էуYCh)EpB)Yh8@Ji߭hKA<~h8օ!\[(ۤ[}̝++=)K +w/-%j[S_vCN + QQoppDa=,Vb(}>YY\ -x[<Ih^? f *fsoRབ+p)%O:vh[., c,אiV)>1hK4h[C6cqzp3ꥐS)ݠtvpwտ$ki/;u_Oq +LަJ۵;՗_gZZ:nf䧧-0cTIz[UlNZj{Ӗa)q[:m ϔsPv%ָ6~k+{%8}`[sy}[jvF+A +P*(]}1o|$nڤaU㨉[!$!>/AJh?3і'a#;Y:v~AOo-AAkŠ8/SaqUE㳢M\ +~W/s[{bnq>yܳ3Nsl΢ȆA[&$ l̄oFi{b?~ˉqOOT)`h:1  +?.t/Q {z{ >+&~QKv~ݔ̄YɌȥ W|`\.YQ7lB3ݴj_ +znh~r%| gg`]y4{GhYXڥ x/R.'vIJ 2@F%5ܔ!+m dDF2:`ꔫN's:e8QxrIA1EO)8( R2@( Nr/\S >EN_ѓ)=;]WH%g[)d*' !1 ]ARΗTB=%!Ҫ1蟎ܕ14 rSi˗۰DI.<;#[1?_6);I[I,N.>K.e+%7sIv lWrɅSݮ\29ww{Bnʵg6W*| c$d !X22T+TS^I8w%iJy >J/)%lb\ɰ׬s'*媂tE{2ezS(R+dHA+hƦURdYym:R zҎ1W֓xxW\2ˆ4X{F2+zr& Id, %)W֓+KVF8D]O)px!EIfi77W7K0qw,3^@6e;F2xHFoI9#"}HV(sujT1顲A +QHi'=^+PBxSy*ݒ]lR@(eOX=>7FR>㉒0;ub5+Vy-J+4r~TFz8|r2.~!Vsމ +/8_q(?q3?ϰ-bu?ƍ!(8&Z~~ Ž4ܷwkx`u,?j|%B[Szv$sޟƲ'rq.O=ޯX^r?ź7#TrANE?qň~ z13$}ΙG_?&y _T)O8LЧpN_ )a"1>fu@ӿtmٺQ}qvPjroc{޹p6a +cV_wX|_}Rd@ٱcDؔÔE2v2fB JCs6~m"'D|i9i׬(M.}gwѩw1mu Ձ<ޭ>r9Y$Y;QHC󈱴^V^ZYj/8li@_}QՄ_Z!xo`JxA/K6OekQI-[هs?n..H}xXǜF{Mq਺\[Gng(FrA_XAŸH )O4͖Lt XwD9VGy0_ vSbZ>$0gdl&t;aE M"EX.UFfa%щZd.M >e?6 uttm]f/jgZyb\_Ze? 1>;/jAZA'y{ZzbXUPCˣ?G?nA,Z(6k_[lj%wRdeMT4f6cllk~ކ9RP +Y>/+¯~~I;9ƏAسo?%|~oo_6a럿wWg/,宑̬}CM܇ί7o߿cy =s+o~g~מ;+tiOܶU\o;7z~u؍vzoώśo~7_懟o?Ñ{ooo/[r70lU-w,ܳ~_T]0=Pxژc]a$:?%RtI_bKH /F rtk:&:G.J +sE3J.:~ܽ6:[ ;4V >hzøhBIgK86NhҐ?CCo| +oBy:%:a:ao_4iDm =FF~1./hߩ'_/W|t|ƸN?> >?*?#i̔[ѯ$autO5+[τ}{24\?Zq7hg={s51eJc7j[F5Fh& 7iī 4߫f JհZ >׀RC?oj/4$oҊ; ,^`to + +}O +%3x#aQHJq$汫3 &fPRKqU,LW=@2K!oYZP>ۭ'vvF(U Nfp|,7|o@YKG>rfOC+,&tl|8#4HU~ D紆_ ,g忢!kkq繿႗X^@.p48pb\>MZkK=$2\K\|$>zxO9`6~kܞ#Mg#׳?@j @ (#ݮ1^z {0kUD,]nBC{\ρk=jӏ6^T^B*Z] Ja`$Oԗ%N{Eu49k +v¶ݎZYJܞ㍀RRζ;ξk;~|OF;W7 +4:юuu6d6N]GN\ٞjru‰鱻gcc͎=;~ މ\3MvT!:eʡ#9~IhR Chr;noIѽdW=H]B]NΌµ"aqUįl{ MYs`'XL9v}\0ЊZ6 ͱ*v[ElD GVgQɔY8tGp UDJ-Y:J?-qf=cF}QcO3]&5O`苞=7:Ꚋ<[PSIj)Ȅ~znwѳ4 < +s憺皝Fem[Q i!ffV܀aYPT -pj .%t&_yvڋ@<L$j49gݥhu<u>NWVUu2jn.^,ߧ/񴐌2q]FnOG ur=^R]|dnEAi9J#2VtHt|Փ07"kyYͬoN$n~ KE/y`@MEWjUV ˏ?Wed*TǠlyKrg.rap6Le:}Ϸ0kH@.7ʘc]rD6giyA۫W.+5wl.6T 断(\KP2 + W҆?ʰoIqA.rAiL漐\dNKW]˭*s6sheU&L/}ks,\A?5ڼk}i~W䖑iGt+OtUkhekϦḍBs!f-U5cFqG|exextWE rJV嬨n"9|gR h~uIS$j\vm-뚌Ly.ww[}L :ZTGpJrN+Ejw镪V(J~;V>E9+.($өs/.e=Vu*W-L/-^I`?O+*+ 3/gdɏJh/ΩZwѼYknXWTf2|+oM]YV號"YjQ$ҲY 2XUX|*~kWt+3WXӄft!ʌ:uBy΅ZUK௬h.ͭ.'`6Z9ǹ_IG`{mqLX^A6r\DԱDK}?VmmI6Ϻk.ery_6KҲX"K5FxVn~Qf? i})jq +o Qx>OPnqOZ<]=Uxf+3xUn/Txŗ(|_=g~{~=O췫T_Ӭv+-j +r/"Yyl>~Q +j +Oxz +OLW~/QkeK&9n7mnϷ]-&y$x`I幗Va𷿳)Z4SU]?Sw vu-|nՙ羶6 'b?8~ܚ2Jp~n{7g] ;7o^|7[ |?p~>nW? d[x3.lN繕|38tq&9w>y8ܥ܆-hl8B*p{Un9a)f,k| p~n5ŵܰqp558=.fࣀ~aJj-YsS~8Oy.Oxp~.B)』>x*c{ +6K-8?Sd7D3/n? m!t~^< <_5l ek |'< <x nMA(<< a]yn:pmb>x!{x*Ӂ3v>|+g/~3q?9V'k<|v?V;o>nZ|?p&n ax YKZZ8x)! +x: +ׁW |1bw_| p?x e_< x-x#x3Zແϔqk~aY Z';;Y#gB!nC?<F끧t skDs~]z$+fC + ?rJZ\&u'@o I'~#-r~Џs~Op~Oq~;8Ĩ~q~/r~/s~Яr~Яq~пr~~~~>AAAqIQA?As~Ю(zT%ziAA%0;@ @'qNq~it&AOq~>Ο7q~7s~зp~зr~ 8?;8?8?rΟՋ9?{8?J󃾟~'GF!z+8翠~~Dst~~~~-gG;A#Du'}#}>A(nT%ziAA%0;@ @'qNq~it&AOq~>?5oooop~wp~wq~??s~p~+8?蕜t}? 9?8?G8?譜Խk+#Z`s49~VdtT?H|y+q_i8]ҘQdX'x_7gjcau +M$iѶeG׆8clhX_CG)6J6r=<P|~?\S iĥ֩u0>;9Fur맽cG-/Οݖ]'FQGCgǧoK\bLq,K3R,ի99/R"qB;\du,2_P3:ɟ}Gֿ~U?m]8N~ɪ>IeBu_$*~U$񢬟/Vų~N3gt񄬟et ;y2FYVY?;@k+e~WLDG3]~NQb/)ns=YBsmSD/U?d1Aώ3Ud$[KqMB"xLc{GcaNH~ 9:Fd=e6Nvu{lq,7Wgr=~NoKhc?<_W/َ3&~zx +~UWi5w]鹢~T\񜬟su8牭~C~~C'QJ}ϧ]SE~6S?#.[_`x_!}'c.%}e/,0+qEi:׎]`tӹ~LR+|FSSt6߇IJT-~]3_ ib< kL=GcP7Ezg{fjƫA绰5m.t Fi?]Fg撱4fj~E3"oi˽~MXz9ꦱ[ -~3i|s[:v8y}W31C{k:g<"aQT[ږ#>1zޖuF;{>cOkFg`Ѹ9BcȦ.>D~t^]c,c&}c8N :);\F8i8A #,獚8f˞mkzq\n:oҌc_PX΁u6 ~F/>Ⱥ>膷g~ sL>Px_ӌOh4^E7'hͻj@91c {z=1w165a %ovkF{fZiyn|Nע^#t8nn$i8J׶G+4# F\Ưyx&#0[m^bK dVKg/tsowGS\5^t'Ņi_Mro+m3]c,yTO}Eu3'}X f=t)Ce= aۮ5NqX[ ՚ #9.6!11:&á=ɤ6/1_=n|; D l&7SO[1[3SA)^]HC/$'{|_=޿-I{lQয়S4&;EEiu^iwP]O;?pi̥y~kOxz{]z'U v~Hܝi9OQkBci;l֟ϟx:|IIJѴ4=9STӴ>2zʵ׆:s<5['[j |?ߙ IX$+2IP7d2Ժ`!j_mB,+jK#XZ[&δV* ek؊56 d{g$ߟ'<{{ɰqk˰ N_ ~j̸?;E/u>ei|W4~Wumi,?JQ ֔ƇxoG&?JC[L;4^]=xq`_i[w}vți" 4wDq7ai ?.\hhJ.qomK,linf|\m[EE{j`[YqehJ/+U.MA?{ ?a>m{*iH;i-N]ohh3B{fBn} p`j]_w/B(}8ʾ{q\]aߥ9VGXӈfZ.f(}T*6ྡ\Ps: .kzm"a{~t~ܤȴ|[Z#-g i_F9s,CaMǸBRj{ oEG>4r,79rvJ$ɵO\vX;(0xu"QpxRD?,VJ; +C<=9+k3 oi\#R8iCctT&J}WO׿Va\ب׿6vZڠֿ>]cJ^Զ[|Wnrm%\:.Q_f+OɎ$'ziΌW<uY!ZoK|Tee%׭W,vuҹKEnXcd1ʋ.Nsk/`ܝױVey;zΣױֱtu,k[jaZ~fYuG#aֱ4miih֗Xbk-|:ևX~֏s,9Oֱޒx\xbnM{u׏u,#::_%m:OZSſ8X:NZa  ;'0;NNP'%WbNzgXH,gZg^e:Nz3IoE:z'ؙV_:yNzbK/^I7R~w 2]nw3x^8Oze&8β^!tz8βW;I{mH7I/p8Lw^lk#H'FXF~&gϮ#Iwu_:7XwI{IN/.'=wmw kmqk=׺N/3#Nz+ I/pU*NNz󬋤=:_/wB[ä'.IӻIw_/'V_Vo9^`;L5,76z:=ԃKu,ױcg׃KU􎓞=s^+Ku$(zw/{Wxރ&<\x>Aװ\B6j k*}2Zê BQkX7v^O[z{*3pz]ְ8w-װ^ְs*+fBħwZ<{Eu|\v|"߯Ps\j25mְuOěK[vkIG5!|ְ +Z%M%ۯm#r 7qOWsXO>A~~w#5!-sú`݂ǗzzXw:N|e=Xl\_t!WT~\F^Y|G54ou#a\[U?~=a /|l`0O;ד`ǯ;m׮ǧv6-Wcr| +(O4|s +vjq +vBl׮%-#/,kWr=vs:i<⻶9^|i9%թ͡ Ovpt\4H_>\v<.W &x[\p^t'f*7lt9ۮ˓brŬ[](Lϥ,j-%Pu86mcDyVko·;ʍ>Ma}L*ּl[gcD>1LO:SN(SkBOJy' H8f]\W2t((HYY?ѵ =䙩 L}wkez,!(`oߤZW J3b[/Aa%\!V :-CX ]-2-0ĚJo]*_x5 iLRհIkb}v<{uҶ'CӬiH;``yn]iWrVASii;3t>|ӭVd@.tk4tچs{ty["-,c5ZO`Lye,ON\! SPLy,/C7O$˰jMyCɷ|^f4/ȷڔ絎BG X^]:WgZ#6t>o6Җ%C" |X^.zi~+DViy<(O[ϲ1̺K|u>0k%gm`y=U>0n/Y^Osu'gҖ6iaͬگM㋈ {G-2"O_7M?qc Dž5.\,rq]*wlCwb:XϓSAC`@IDcD +qT's7 kY|(;MŻ&E! ~m:rCma}/c )Iv0pw< ܰGߍ+/ζ£E|t0tc`}o\ovg,X`k\tr[ lv*`;`0vX_OH/;Ep`@֠_M̔cc{–~?Bc}Xہ>ؓ%T-L6ݘwHc!?P?[[-{Ere7|'=FC;>0kϱ/=C-I:M8F nL9u5-!чeگ$qBZ,{JCc3%'IS<N3⨆0İ϶-@hǦ~޾8Jf2$??C)~o~+W8񻖿7b{𻒿|F +3$!ѻ +{pv.#l(z]Կ}]5lWN _uw7~"ӝ}9 DyWA٧e싟i-`.f4ؼLsuU^u.}^4Gߗi3adƈ9lLxӟi4miiuJQpDDx{F?vs~4P44I>ZA֣ *o;{ _SCC AZkDmH,3 eW d\wg:7i[s~T?jnz&~_{o}K;}oٴ㽩ky +xCgry%nǰ1'6X8̋>~mABϽ<^Gcߧ.vo\%[ ">=_;N\ɽ}e"~F=XwK΋~-WB^럀ې·Iϋ|4x8'pHw^k<ܓW-^S +BҫL7'ǡ[UrN->rE}0x3x^?-3xk%rK7qu^m'=0ēNoI<9vod;m0x{"> x˽vrIiΰ\9טxZ.OEȽq)4%񌾜i͐kT{Dδ.g{0*Nδ&I2qg'.1=Sx?tn>]COYp=y.qGlU=~,ZgY}iL҉8r;VdZC|!a)kC/3U{LkJ:*7o&)K岊1m{Rr.Ue^xOۍ,k70z:Y;YnG|M,WUL6Bzrbp҃^zs>{SKizuWܫI\kɽ)z8yϳnrNW'yRɽ)zO9Γ*==_8W1Eo^|k_:_: >{S~(=x)z;/.3x޽NzH}T{SrNKWiH^H_:B+NӻI/pi;NJ'V;%W'FYmENzQˤ/NzQ_H20'QNKEooBzw KcB/ޱtqFPʏ{R>Sݰ1Wtt͞_ +O{Q&اͰgo{ #gֲoE~gygE^//Ğ㏿}鑶șx9/ϻ?w?~z||j}i['r{DF2#R4 tM~yyV 3B>#r?pv=;^tW8^/cK܃(WkcBa4P*BYl+3z*DE5,</aF -Q6$ءaac)E<_X ]V Ǘrlz߅rl|.etYp[>.7滑𢰰W ee0#E}İA]Vp~:{Npb>"Tn ¯\a=֫Um5HwEUp@*i>1q[1:ᲞwGȽh;fģ~7zy'`Kog(n6riqvdX;_<<wko*=0zo^Ӟ=[fgӊH}BrjCX3JscB{=fN0W#6:=#C(akx?95?Bw;Or_a]V.1u??veXxnlkEZvl65:0 e3zX^RF'{h=q]N4ܘ#n/ք'qC.O6*ʛ y~t 9:7~uGUݏ~Yw3ga:ݝ:a8Qv-?6un_YRi QW/m`$_%7iY&>{S}uFwl8okg_ڵ}' e}-|?L>^oRi+}G^\*mV_|Q|"7lT#a;ED}lE`h~BZS&v_| q~{QXABJW'ŗ3}ȳCA[wRiWanCSyCN{I3sZk=@f侞@R'"A'I\E>rЛ=5xٟg5X˒DW}+<`&Y6rN4Jk! _hxV^ùo4!S o ))O+kOHpo F.}$g'<>/H N_ Ù%xo_R>KxI=Uܓb3|)O?.=ɕXË+op?< oeRrA [Xq]$/ K@/$B NxXg3m^5ɟ|NLѹNI~IeB)KŀT]Rel]#Ը#|y1OH)F2ÿuv?a\._dLx@{^mx%;T3 1?)x% _?OIH +#gC +6S [I EG H_?OxH|Oo? `ÿẀ3~[< +xO?3%!=?C%'Y~?kvɏv o#<- w  /"UoU !uW/#s|_?W¿ ½Iu73pq O|V1KHE5K|e'<:I(wt],>ߐ(R)(?"ךzVQ[µ{.+ ng]?!z_j'ܫAj'\%sIxLcEx@n…skn4{ȧZ?B>M1NOkxpL×S o ~Xlh$<@? * > ~MOWSҧXWIXM) F.WKOc5OxXG~_ӯ}f7K| +?>՜c +^-_M7E?>3VL >V#0K|X_CS9 C_AO } +.S }½'\I|)tc8dk?YNK| +d{?OK xX^ O} S5r_Vpk )tq V~j2Ckx,Wo|9mF;u wY K^D-OxHhEkJcY{톬Ҹj}%:-ۗ?D9k3Oqj<5/DW]yy:o~t#ljDAx?=]ˋv*3?:erCym›=>7-ԸO%mL~η +GExNBϢxy>=t_$ĮcK,[Yt̿z;ݩ2;WWGF7c%ʹ&YF_I$zEhzTLP'v_.y<{UK?Ph ~yƟkv])>n=QލX6Qj[o8RrNO)&| +~J_ J%."mh>{x`j[%'"g?B=t(_>O)Ǧ Z>'닿-elkwnjmD/OK !{Pog+hqua澇h?;ur'uez\#ɲD;W}׈ݐQ^=x.H>~|~_vZ?9mĸt\6_Hqzɵ&ߎ_H]w/|6C:?$AӠT~0~bC2X#(u٢IIߚ%.L4M smI=G;|z#}3o'x>3?unN$77eJ9ruل15ܧq|Go9v|FoEAg>8XˀqvK hxO}wQt5'TQ?i)߮ڏ /qD܃=c&"euoPM}hi}2U棏;+"C#ILQw*G66eF'Ȏ$Acϼ~Wb ͎ K(|ʭLPq} YT- [e+\ޝ +YɒC|ˆ~{~]s]1YӺ[ݟ lunw:Vysk4y:';ۜV{_)/y{}?{:f![;3IlM;z.շV{Q%>ƹ-=eu>{z,*s5ݢ, ;KZwލU KzC!ycM8c=+m7T%inn,r!GGsO6}~3>bsn!ysᘂ|?oa1qaybɣ~2?O,GҎϦ-kǖ%"K{'@\0f?@c]^ߋ{5՝o^ r4c仔H#Mgz/¶rF붥< 8z>! O_zm'aw.qljqA>DQ˕~_Ey,[4dB{+}c_qeGDv+<x }Ƅo\N%~K*D|NBԂߵ͟}m.`k{ 63geNNJ;ov܅i!^(C2, yy/D)T Iݱ^ rEʰ sFЭWmm` sclƖ\qBrbe.81ۿȓs +U$!8_/hx3#W_ CY;I}?bU}࿍]~w%uy ^}77xPixźCfoX?~o_Ʊ{LŲt<%eP#C\:csD]g\lxNJ?E\U(G¥FDQ~1^}Ӗ \Ru2u"SߘcmATsF^vkQ/Dwˎ;&їdF~{6{5M>JSį̧N"MƮ4BBb_?m;pƱ[GA74apt /GB>lwt b\moN<nM{o6?,ПZ!؈CG{x7agK A?BHiOǂ/`,* "_]gA.&x'fuy|uHbL9'Dm14eS>3^?4L>)O.g$^Sϋ2ڻܑ%="h"Z ZJ~.1f)_v8֨ó$_`'#q/;w]C|cO1=+zP$cҿhVGH5Nqj 귳/^ 2p?En]}c}JOqhNvhz + 7n1Dːg 4f +ΫxB粊2\+E _KhuƏ}nqNYr'wAVMOawo55^9̝aġ_4r8W/Bϼr_oESo/C1ÀY)f<}a%?k(;> GBݐc(l|␨OL"pts߷KmlD}bX{7kw _}BQ߾O௹@'w>_KcEy䥨'C|읃ˊf.).`G^O +cÆWOΈtQvʾF٭1 gz N^e_gTF.3;cֿF +_)C|AhGYد y#r[!V1mn\}CRu?7xҺ; x\VxR1hkuWK[CFG]-ö2noLk++c|µ2ꊳ/s+ܡ=˄k׭–c6)Wz`?.6>0h{&r;FQudv@ȏ] BQ򂯉8eJ;Vr zC ;xoSJmeax'"<&O(FNLJ\3z;dH\mT &Tmi1w7 +ԥq%VȪX_?k[5n~YS#,mdqj|tkw(Q.i} :k{WjʋnFO+lgYGvZ 1h9AЁ<:N'К'q\!n򴾦_3y?_MC[ -DrD#0} +:JOXAp WH2퇰D_U|UO+rc53kg,fG*}-ۄg^Ȼ=5rRإǼFuvz##(/x}-uZX7 \bMù9+z0Tϻ1;)<`Z&~?.%V nwp+1UE kt}5׉ױN{Ds繉۫iqDzJQ=mb'<#%H [ȨvUFD^gsGW,ԍ}i/xwMeoϹXXпJNl:ƧDŽ˲D9HIUr#:ps29>+$c mU(BYSqVa<=a;SƣbGnGг C] _NQ?6<͏'9CZRkkЇFp.k:u3ڗ.ܠc'f(.ž2c(5ꎘ|3G G>[<}&_Rw~xc;WdMGdB3vX@<9_ ʤy{rkBq{DW,xW=u.>6`odžm<>=vᘧc|,4zih] "/mfw5Kϓ=ZR<>HyxӶy䉺ٟ]l_Y/ϻy^w,u>ZkgÈ[7Xm=~~&6?;'z"V%}Ժ_(Ęp/_ |7. ^r^ӭz!V!_ո#G+pҁ2g?!ܿôE| x}rkJoߡ0`EJ D|_eYWh|P%Z%.bf6 +vvԟzax}l(Enۡp;6uU;xTa,|l@^ӷ@32 +;e2ne "8uTڃ95;N^t^">ڝ^F*BlS(lR{\ +unǥQp-#6\2(zF]}Ue}(OZ}Լ -@^zŤ}s. 5&ʓlQ#? 6k \ sXs!;m~%6~J4L%޹oޯ{=ޕWگS<2=m1tydŷ){07gig9~<78x3;[jne=|6yWT64Wփ彉,ӲCYeZ '>b)otvz_8OaQ]W oQ2.ul_~Oe\XC](uwe~5߽P&CE!u^`^6'ʍyt?ڊrCnk@}Wɕ)ꕰ6Tzˮgz9&h|X07Z83CJ6z{}=_^^w9y}_ϫw?=\_G ;yVB<WZ8PLx^x-۠'&n!652~\(_v۬nsi;yQ!?YިNt[pM|q'N Oxxhi,AZy(ּ=zn `KֶjA9<~۞vi+@e]4ʏsy,˲ c3V rjP+)X}sg#Ibp]?(TОօEM^%gfBDލLwgZ&-]H; )VvǭCdYnt5>V CSkvw9D}yG Ub83M6ކ1<؅rgf /IJAӴ_\9.F}w@1mX>uCesYc*B_1n +>q` 9ۉѶʮsW" j 6 LW[mqFktue x]̸[gN7҇Zޣqk h[?}~m/b.kV~/zgvq#[ [Pm[W~7Q7uzg09<+Wl3gpdp̼ x21SgZ2@z<T = 47odчis:ogcquyiK?krzۂ8sD|>xhAL~:Pw yeF7F~CGw(߶4;rl݀q&Wt򣛐sJcAѿ%)Yz>Iqw(w"{ }пq؋@?zo.l=ƖVK8iVQ7u Az[ڙ~ȶҟQm_/ʛuK c{}DhQޥ`7>c FUOqN*i>wp%R} NhLG'ik>UzEr`# +h*EN%Sw+Ε0*hp c{1]q']0121yM %}-Ѕ}AZ&֣(<_BSf9<99ws8/OC'pTmĖ ~^/}޴3mfÆ{76fw^o=[Y܊uҌ]Omgv7ijS=߄3zlN\[G'Jٖ$Sw{t +}a95Zg1G&B.]hF/c"?}v[cb3;/~_RyX)>*ơNq~7s[^ 1S6mk;g#8_0ƪ|Pk. ܗ(Il/R(`^|Ɠa{lt~􌽾pܤY 냵z+k˳0ʽ9hRY6ƪa&y!MIAVē#?^1s3RTlx>` ϿR^k\/M¦=3EhpO 0LF~QVHbZonl4P}]d#e{66vY{R=d=v38TdB\cor jON qkhq]O>zIwźPYC=:@?/Ms~Pfz vy +7X(粝GPꔒ ȥˠ(YvYŽ̰ѫ8^<=9:˶ӢQ&G["+ib xee8cf/T56n8Y=(l{6z\>y[З9 YЭ]Dg7Vy1ܕ-s"MOAk~87h5#N MU4fM0ƸIvN~K%˪-wfIJA{[f2i;U6;.h8ibJ\:I=jӳ,L{gm8KDܟS60])}+<| 0^~ ?\;)=#d;yz~|VogliyWly/ Z9εd7sːwBؿf Y QV/ۥ+Dv{20-ZiisJ3g]"kwɹUiݡG$nټh ^垱Kt(k3O>_;CidWA]5\%Z~C -M_}/³<-?sʶp.2,/M!bu֏2 9kʏ}z6Cvߛ=.2LvQ22ˏ; ̶> <ú=NY3nn;y&CrƻOǽޔ1whI}78euR&*mtNo8.~yhW<{el:FЗPgˏ>l;/|G" k۟>Aƥb<غ_DqH뽽͆vfMh#˅ռ>cA;dX6KɅ6k]TWO@_'ۣ +RT춇vka^>Xޓ'ׯ9O3ovt/hw:яՇS}ZGPGobS/y(ݹϊ6;v ڮvog鐊V-ۣ_WX_2PTp=͹{:h+c&2KdxxelBc/QF:ZU<|oLMOUIynsK4SFPgG{!رX;>y>gtI?+}?!Y3gG];p嘺w҃'lBz|~>I:Ǖn1AĄ9c㜱猹~gUE1gؽҗɍIagYW{&K4"WAlyy8k1geU7=P#X?Qζ/cFqxΉu+'4'xO ϐ{;ƅݫЩ|˟dzवKa`3u&u'oteN71S_Y-x +h ;f!槾Q.ˆw~xap-L +~n׬cF.3J\olOSD9:<1sGx!8^+/JLg23zyWýȚH}e{s|>C}9/3+4Omn7pAݮ}YО: O<$z=`>:o!ߏZo.Ѫ~8%ʛ;99V}+̼s/_y4}A{}ML^JSpM|:}v̬RrOv62T\cnf%se˞eKy ,{;ԋnX3;}.D玞jVxWzcmm? w*7xAjTQ_|eGQ>o#ߌv O?8 + Ʋg-7vhg~ jyM/ #΄.o>(cx 7$V,ZЗVeЀE߂]8O Mlh.B=Bo6M?}oJ>t{?K4qseƀ7B xg2))>߲<K$6~?&tjUc S#l?ƍ_G;m?/lQهs:A>H3]2iPVwx`$ >mx)}g'hOY_X~y}3 _qWȏ 2#ʊX/o(Y{g,˦Ocf@?_Vy7,aBnr㽿z}ރ0^@od/tt6\u%MT|>.]q/^5,BO ቆq0|qg}֛귾^m]5;o w~[(CeE=߭Jaef_N〰؇w?up>uv6CڱvO4?o:rʹ兏~.ny8z|e@}'ϟwcqs~ȵ}~~Xʉ>Snt7c&L et5օ_~BO"if4͓Pup'2FaqbDh:i87 w(=]gMOcUۙiOiLSôƾROww/`쌕>9͢_lo^gm\amO+;mm] +e9ѹ n({h٤1F%dfqۻ)ac[sGG;n|W])xvӿRcKu=տu#1\_>8eu1~c/{x:nMO8jy9m?HxLݼuH;۹OqV2FWgܷzIo4Zrn{-?s6>{8O mWgu'gwkxrf C>9_CXF]ޮuy9˽JCjA1n^(<SwP ?ڦ'`j>`w>n=p 嵟#q~VRa;-sb'^<<;Bz9^``vr(O8<z'ʍ|/KKyE[SαuDžvL7eLuU'~Ɣ9О{7YG֏簺-j-3od/sW=u1M|xwp'rq>(>/3z~zcFDPT(E&Mmbw؞>p)V"5çӯ;qo70=tY-y/05c g9qfqqMi"8uFLNL3Ǚ3 D+R *9R9%w{"?'-<>ɶ)]VuNy/~1:y|NwO?Ѕ~ۑۍ~]6=j=RwhcQjΑb049VrM zb͆ÉFm49.hHN|vy2~>| ᬔNzv։6MtS΅Z'|eu:ҋѻy%⿷uS}C~caݿп[Ar<ey;c[)~V8q‰[) ~nysb(ہ>{vS蕒?'wWɭP߁ǒ}>铻>Ug])7:e6NC< e6SޝoJyK0M{Q?6h_^wԪrA9Ona{3Nrs%a v{r&)?:^8F[OԹD㏬G.&}ԍzuTk6٥@g~n|o8vK׺FtY/a<78{/auVȭK$m6W]%nE/! -{ .Ѿ>p ;ȐIKyLJPu3N]a:j +/oK䟴7x"oPNA';/oHd߇瓰'k{e4/H=}*uJ[XdߊRn'Vuog_z[kI[FfOF7<6:U'o}oNzͷߓ{ؿ)=8U_0ˑ^gB?翽’Mz/(Q߿j)ǝZkzqZSL֚^xbi/=!WF1gb4_CXwo_?og~~S?]4P?<)`Agwӧ=3mD٫h3a͸e\QoMH'ѧnkrK&2qɥhWޓh_ a c&髑'd;ysxWm]m6q}Moos}>}%o1);5y~fT߱S=w侗wWK +"[۳<wq!u@̎æ ow1~__ֿ =&=!pO|/}:hA,iF{Qgp +,_X܁]yvί?n*fcOR)ֽdL~+a?ty3+[)`hvNxRUr}y?Pww:kЖjE~ͶYDv "6p=r>HP}~㫧J~t{sDPVss>{G +#v7u0>𑆣~s:065G< hәr;c y?ױ/= 3w,;c|dz fj(u[\/჆+KŘktˠwC;/EsNXi/K$ʴ4Jc_-X=[x85+ʷ<$i> mEosF:^:ČlS:yB ͨ3sPnA; Ȗs{b܄,oo&bZf ;r]{}z_ͪ-Ky1hBn<2kSr5Aɋ=W5Uq+Sn(/#firZ cj wHaU{ 'k{s؏s&E+z&ZܢQD>VvC};\@g'ܣLuEq]c ![U x{^'سY_=rQۣ#=go7WRrlCOxN9k)[Cyug-[^>z}(bnOO_{A~̹ t^|qXgW{8S:=֌u&7{іNyxMKпLfP[ Cxzs|m?#N^Qۭ}CM~;uKܳBolfw-m>=k4gYY;csj?!3xGrx?+GNRdHk);ȖsD\iPd9Zѝ{@=__?:MXțQ!BMug~;Azspz99z9Y%MJ8 sfD{/SĻM<}EM/`<75:ȝu2N8l{YBQN{|zWz,H \4,ߤ_4C?[^-Z:vjX/lƖ%vz\QxO* SП2ۉ<ܴ";։:Я5nD_佝G+P\AOn1<עL”'x`|Isv ȉw@7JG+dGu;||܌о" 6?d&tM~h26봰9]7\݅ ~.mڜA[jWs{'ʯnцCƠot;veZosDZl[mf[Yܰww.o{ܜtŔ62oqZ챌cryC Q~ w86yJ_|ɫz6d(睲-C<! K]&܃ڳrڏO{_Ǔlk};|̥_=g&^S1|~q]Ţ'Wh7C(ok# yw=QN{fk>qMwzB;F2Qq.~cdk:D;O]WҽޘNޟ3G >n~G-mЎ,H 9&_ϳ{6sׅ66VߕPuܾ}(N|Fw]?cosa>w2(wɺʺ]>|Z[ސ%>O7EG/-V |?oo坘}d!x2~uqɭ;%8={ʛ)W*ABx,m$d@0Q}[a^ܫ=(eWOP/ןʐ!frUqe27(x2>x/O7>n)qޢ%D**[TN[MEmtCde?( iBM]{?gRB68@g"'$d?%M쏧i}[!%҇).Nni<p| ;jlm%y/wo]<#1w~LjxQyY! $\Y)q~cG7C=(~Q7oo60:W^QMukr=O%ݦVCs7**0>]g -nAM5^1_MBΕb2q{'홌"ޝcoeyi|ҽ7<9ؖVW-/=UPy~WsG_>JsCyA~͟Kܞm'Cn)vrwYW?de3|em^ߵbFlTy! g& ^xi:6 1hy$7h`6!ԕ mߍYV?xe}Bg?SD7rKa Uuh61R"KSF7R6!:;:v$M_B;:| <);lyS8Uw껨BdxGø{<_ND +s +VڧK+ G{C">1RoJS$퍲G>lX˻9Lж6\pD3!6 SW}]-D^k?OZkQl"ApK[dxs\eކLw~h~5W×H)21_Ǘl/, b ]e߫3!xojrgx6bL/%͉PߊPgVY uKn>`:e~~u;voH1 c[_d#xw[7Ϫp^6V~ۀZr.ygj\o+c׬ +P]Um>Кiyq OϑW+?:Y4$~w?x='lh YRtritv)W~2\@=jmYɺX.:u10!>6:hlP=]?wc]9AOw}} +yXavQ ++7ۂ;'-Eq[Q~saoJDˀC8TdyGkZH +y6s}QLߪ}o (m}ؾTxurGj5ubn+{'. t+|N~H 3a/7Aw+ +ڹ6} 胲GƢA +987 ہggt\9"#7_'e}cvvfk z Kx4bR3)y=|/e:?XZO ċEJ[:Ơ{#!֋Y/C|{%Oxp1WGN +xؔч{\Yypom3ߋoX{2ua#J~N9K{G "s3+;G%?)3Eɮ~$ķg2>|e/̺k<8.Hߒ' A?Lu~9=5ov֟g8ou_xc2lGƂ(ȇoQ{_bYq_Ĭi.'=}xr#GD[E"\W6%:i&}ߡB*GsT{ 6-9nk=/Eg+/]Ƥ7m-G~ؾנDuYzT +z}H>9/#W_ypU[I|t+?&S#qkubґaGH+ˁfIQ53iJsZg[j~sZnkQpb}XiI/HZ~9э6֞;onXmu75N[v4s_'˨J#Ew/no71nxN*ד0WCw@\ݹ;?sE޺4ݑ?('2iS/d n%,(x:O +9z;'V +˻,lϚ /31f@x&5k~7tydzEQHzW[6 ';`g[\YM/͛!r_c #*nَvm8l׆]#6} cc;m+T򼺼}XoE[!??QU:5R ^~g?\&2ݗr/b"⿦FֻNo%%+ڛavUhoK/9۬Txre{oG[e֢ͷg`;MWm87mN< ;,W3 +.pۨSmw*+煾^mB{)s܆6e;ؼXDٹc&@Tx u-@zTDӜאԨWo +yeA\џA;t[P~Av1 fп[ύgC Wt@9E1?}VtлDӫû𧉦=HF0K5 1+ZR>N{_x߽1ܝo3Օu5 \|qŌE V_Y]X?w:ճ4YU39UW-E5i*}.j|ԓ򪅵Tx Q쌹AYfDRY. R-xnQ9-[Ty>oί ]!Ub[]*_x)wfU5kTlnpB!2eWUϙ[gG@W_4=%TUεH4LP|T/"t2kN%ĿE+fUͬcjZM5O˯򊫧M2bƔˮp_< H ̚_13pM[UV.Uۯꅳmg,SϮ_W,MN{fApa^KUS + RT ;uIs(G3fUK)8rS_tK٣H>X]W4)<`SI|hv(Uz!TĐ2~┙Vt P_XQfVke;q]59s16KeÐBWޥhmJ5s ]  Duim ~.Ԧ%b-WգQ^7|RN5fD-+fWiM5:x] WyjMpܤ#| _%k+Ȃ~[1 + ]nT"Y8m,:Pmtl [vI@x>3|fU-Z8 bj++AF,tKe󪪀.LŠ)'QJ\9U_\#jR*գT]4 P>j: /MSMUΟ~3*.iǦLH=Ly9,8=fݿJN4ޕ3&cַwNUi;A%5^ϫ{FmzV{>,yWzgڹϒ*ii7^Bw…#J^R55U h4;|awfMѹAW9 ю1N224z;~=?xW4n/is+OiǦpu5#/trq_$D 3q4jƕ]7zȲS>ě1ybyZ6촊ѪvwY5)39t//.,ux/^&d {mmb`4TQPO /`vwO)؞n 1W̮ɼ_&sE gIPণ_P :g΢ "X[HbƢuS9\F +0Mʭ6\P+9`+NbՓE5u*RX⊲Uzn_|KER2_Q mgS_X.IbE2ή^8Fh/.I&|{ͩ"h: ko8Ƥ 0'_9)W{/_~jt.}D< :dӑ{ ^ye._(gH*OazRь\}pt۔^VPKqTni9tԪӥQs+J"nRJ)DIO8ndAm.5頋jzOsFM>Ԗѳ]Ust4J~a%CL5څJet;1wwJM͢] _3j2r-B{Sљw6̰sVyegU-AJPHםKL%˛ Мw"eRepT-It 8Awix*޲)^59F4B*֤։VYQ[UHҴ/:TVio\tnt.U-2?I ZE)y/_Ƭ\LoRS0Tx^E|ҟ:2Y:D)# ֵ#YU]&'fənG%^\n^55ķb7I.^sb]K]7u +[;8,BIT:[t"96r"v|*dPDM$lT!Z9_ +3Tη RIqv ѻ@YaϬ,ZXJ<Dz̭iqMltY / Jpqƭ\2KRkUǴiACV!Ycɲ%kTJn4On!M9u[aDjGWϮLB)X v~]_Τ* K^wWo1m'SM2~ !*<ң71>ӝ~歪Z\޲~j,b/?ߴV/9Emu5UN̦¤b{ZY0%Yj{E)*:XiL&5/2a\7)^DfBdUm%CtGN"ڒU +>~j9,Mŧ,X\w+9Ĵ238p$j1 )aUS^SMm+_f$tشICNNAXruB*'&Ѫe*R<Ā_KJORK¯dRŤ.D9.пij MZQgXm-uȮ[@U/Y-v [xEsᒨ)àTWZ% C:6;Y/t ȜFY:wYop[ur\:טz"WHZFj5ҩc\n 4wkĸN8ǁ$|֢*emFW76_:^D!-qU&~L -^յ ZW) ]}Ԟ:afW/T$u=A=24=\P(=M2FsIۢ3VrXH҅tclfsw. +ˏl5]V`KK|.d(@_e\"Uݤ,+__+7:]Zt ߗԣqf§gG^jV5WK僀2*ebj;WM[\f48@L>ƗJdbH#E\D:RBL[<]y82LJO*74Uk%pÏ!*IYYXJkwZH&L.>ӅH I$Ft}E5u)kZ;1!}%\N4bW%F_;~8HT &"%#*1^D:/lÔYFGebMmJ%h5ri:xNZfJ'_aAO DLcuPo6SW󤺡w骼4%irO{ǵupNTu{(AN>yZZF,fufTUuFKǓ8'(VEvVr'ɷ$5Nr:%ZWtNGLK4z rA_(;MMO͢xu8D>hh $$q .g3я^̉-{ tƇ;/WkRKKK!wj*8R;%[uDL9@`mz9t Im':tg[`ő_筅/I!hLUV`pS#Ur_d'[m1hN0S0r$IO 4z9vOfFV["͏Xku:$}5&gjP\t͎9(drnq":PM X[4zI<[;zIgߎ _~5F%uiO77WѡF)Ԯ˽f5HҕqJHKC-=]<]8ҹ9t&̄4*u23gmܓ˅y7k;)2o4$=FƬșA>2䂙b'|!yϯ^8OͷYDE] VQgN%3_“qVϦe"CdN/cQ +͇GoAHdTX7u>Z'-e&λq|LQi6d^XG+BvEʫs{pK}fƋFͲ.Γ-CUM̙VB4ԝ!K*]61d'~N.Ju%+)rf9obl +zCvzU/;EjkCJZ{Kίq g9>]=!ģ;3T!O|݅Bx886Duw':Zx.#<w'6)<7.1<n;x< x^g+(x= :?؊x65Oύx>g'O񜏧dzBHswD<}?ύD݊ !O$!Dx>g :NK$6y:sh"q.c^Gx³(X;81,x +g'ٹ !xuV"1_xD`Dxnx52؊1EЃ‰ w!{/M$9t&x /99rOI$~ vQqi~u hn#^6%2$dkK AT>0Z4r1޿q\ |+zoCl]YVG;0 p #ò.pp? 8F;`CzvYA{-? 9}`I?G`goC3sYڏ-` 0`5J }`/;>w?@ c_!`ʛ.17p'˟;4 q/<=h;?CQ Cjv@Go#T +p}z'0mHo+:*>mT/ePUj_ S0>h'8O[ >#`VvV5PxYJ{><`ht'y̛w%q ~xwƉěO|Yajr*Mʧ>زز*|8i?%qʯɾN?;+ :gzD$.v%v'xI&&=!tcj|7mߥ_3_Emϭck4 +bLy!c1#d% HakfV]Ip D'{{=;ssE]>GdijZ`߻gGpȞWMถXOpr4_+ ٠¶}*ڇe"*$"=AA |Z)}oPy`s+{} 5'qg'&&T>3 g><]n,ETq-o@n+isSKNoqs3a(&r|OB~z_sv44_SW^wYMӕiOj>˅]C^V'%].L?trθXEÑ('g#Xf<@R<=z/ mZ08P*'X2QLصAy?^ d,hS)/ 7pG>ǎ9n(Lx:ʵZ>5^"Ui#Aa`KQGަfX=.yǽ~&cl=L{}nnb _/d"}TӘTyXƑḒ1]?ev=ٽNGA]|L}V2ݕS40=>֗ >! + 4UL-&%Ss >ѳڍA~![2Qg }|3qk"#џS /p~ge4b <TZ ĆZ ou\1Bo+}O?S"-fOz1ƠWg +>֓޿>yť<[^ǵu;Bt\Bm |{ٙTܻg/$SR(gc4ݙ=;jTؗ曙;BЋ_waɓȁpͿ#:Z)_x支_FJ|'D;BW6j8THўkk:c/SsdS2 w*OJ6gD|WÔISHTk'f/v>I5y{)"ӂIנ_~c\CJ?~7!~a_ogHE jv%;[OjLIQ11SO"8y#f oQrm#b>AV93-+_iqWG˜oRmmcn3☶Q]B#m>G$Uʹۣ"vi^rby~SSgjQ $" &407HBC-LPgݘ7sqɶAqv|E]as@1mhی6#m^ѵݶ1m'=-}g? ]1x4wvKXLof4xde-v/9J͐B!˼&p!2 {,T^~YĠer|_( |>QynPCƀ2jGl\8L酌t +ٗ?ҬdgKɦ39 m>/xE0d@ip>DuS}=iůYwKs7jòXm6nW$nWrqkJ0ȟ_D4p.@hh2g(I:vw &/zqy,|I:܀}J7[ƒbKByNwqL19n3r4L{>t~vnzFl FΏOLЭ>y)Qqz8AO?{XoE ߗy1661$ÒAs +tW~ =Oχ}w\wuBi{dg݂|V F_| '?: (-;btzfWwaz&v]̽%b;5E;khDYUڳ'>ޛxmv·fKE}aH0o/EE>}94^Z{ O Z$Ck}^ٯ9:=s%Qgk1<\)DJq],V"S:Yf'DtYx$4%/DӋ<ͤGg)SI$H [bO*gp_f"C|O8NUݭc{>.N /UMw&v:~O>+s!}|72hN#W'&GTҼǴ~X ڛೀ&}Q|ĿדֻksTKiS6,FNKQNIxC\AZ"so~ZG#v%wO`lŦݻV<3DytJs!NЅtMq 褃h/ve"KV<}h3+}0L+b"h>Lrmr5fae)h#膴+ l|E]i^I=ŊQaWfʧOT;c⶧{CFO ӓӗ܇CבʗW͘W)/(WVӮe_rK +/K#yY2Klq3Le|hGl *kbv3"VR.7uґڔêk&n%H} "[%NH{3{7bf;h$~^񤏎?#pr\n!!+{y)@cWzߑ|>r>z8kT +u&SAxv٩\= -䦹Y'5vĆ@2d1qIt63ZO%ȯWbgLh#ӡЉ!Dhъ ܎H~ȯQfQgG_O[pSG3uP~CŲv- +RVI~3kF2dv[lQɬےو|N~ N>bN>bN~.sbÜ09_t;pLfc ?K+.v-_j;m$F&kK]#:eu[_[;6)|)M\樴n)x%;/+ ?Aۮ=:9};N/8(.jXSkߤ]>֑n޶e^޺V.法_gK϶N.~9 +^_l~o[˪퉰-F9G6tj+C\;er N۵j|Auhe)Vv K?ogv:· vӝآF +ZGS8p\ong뀰nghO#Yp=.緷3.^Z5mH6nƭcla1:673حMƍ ɸg]l,uy]߲u`[6v O'So9Fi6$V9 &vtdv#9iPoZ%n;q]t1'1˓D4%фI37gIQ}"qxы\fWGmI*q_WxpU馟X+2x#z|1[W/͓ |.@n;S+NFEXֱizYu`4d)bqJaVZܾW4^P.|nT)#Ts$+Aݴ= xB.-,A^!fߜRbd2.&jJ"& MTJWTBy" ` g0 >thbg&2tjݰtRrh$`XNڐA7%;G['knGn2ِΑ[ܢ~u8ޑQD z4]w^NBNSv P"uz/////(^FR;J \V.q +XeA?UP;KZ[r+&akY/<&JC*ZR+kӹ =]~%/ڿzI ݒjT6?zRB>SIL}"3UmoKN,)SR+cq*+hsAwsKx_*[*%[$LT[ c ytmk>+Rۿ1QyTA%VȧayL!dl~ɺVnY=B_7U +xaa`[zE@Uv~JK^t?Wnkn1v"gON^NլPx>goncOy{m9MM͍ͧf9u59gZrߔ>WDtS-˩Xt= SXs4!,-iozaӟsd95ޡz1\3gNmh>%^"y:xa_BA۽oXMM,BV7kΏ׆.G~%\ClHأmvMo)6l !ɥ&(Ov{lh9v(<†oٰŮy T;Oo]=ʛlhMy $L<Ն6]b Wc:l Աh42H8=b4"چvjX?d>Ά.;~&lHS5`?t6ܜn?}ߵI^ٰNU=_>dy +[ weYާHX}cGߦRY*zWOLMomY@Mo,o{Fc/Vhк'c%V6>Mѧ)_;N6=ŧb3t((i_6>5MU76`&W9^X¯PP%v?ey{vcF-B*]ſ~LboZ`oh8xJ A*v^JNnK5Hc ߳vݓ\|&7}.mlt00ٚss[s%$s=MgtL d /=+MfD]?_6knii̹hkRïtù(L#qB|{YGD&I*oɕTEq0#3,‘An-acoFKU +ƚMx[ CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.i + +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.s" + cd /Package_Cann/test/No_standard/build_out/framework/tf_plugin && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Package_Cann/test/No_standard/framework/tf_plugin/tensorflow_reduce_sum_plugin.cc -o CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.s + +# Object files for target cust_tf_parsers +cust_tf_parsers_OBJECTS = \ +"CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o" + +# External object files for target cust_tf_parsers +cust_tf_parsers_EXTERNAL_OBJECTS = + +framework/tf_plugin/libcust_tf_parsers.so: framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o +framework/tf_plugin/libcust_tf_parsers.so: framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make +framework/tf_plugin/libcust_tf_parsers.so: framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX shared library libcust_tf_parsers.so" + cd /Package_Cann/test/No_standard/build_out/framework/tf_plugin && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cust_tf_parsers.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build: framework/tf_plugin/libcust_tf_parsers.so +.PHONY : framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build + +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/clean: + cd /Package_Cann/test/No_standard/build_out/framework/tf_plugin && $(CMAKE_COMMAND) -P CMakeFiles/cust_tf_parsers.dir/cmake_clean.cmake +.PHONY : framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/clean + +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Package_Cann/test/No_standard /Package_Cann/test/No_standard/framework/tf_plugin /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out/framework/tf_plugin /Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/depend + diff --git a/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/cmake_clean.cmake b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/cmake_clean.cmake new file mode 100644 index 0000000..a373111 --- /dev/null +++ b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o" + "CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o.d" + "libcust_tf_parsers.pdb" + "libcust_tf_parsers.so" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/cust_tf_parsers.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.internal b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.internal new file mode 100644 index 0000000..430fb11 --- /dev/null +++ b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.internal @@ -0,0 +1,225 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o + /Package_Cann/test/No_standard/framework/tf_plugin/tensorflow_reduce_sum_plugin.cc + /usr/include/stdc-predef.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/register.h + /usr/include/c++/11/functional + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h + /usr/include/features.h + /usr/include/features-time64.h + /usr/include/aarch64-linux-gnu/bits/wordsize.h + /usr/include/aarch64-linux-gnu/bits/timesize.h + /usr/include/aarch64-linux-gnu/sys/cdefs.h + /usr/include/aarch64-linux-gnu/bits/long-double.h + /usr/include/aarch64-linux-gnu/gnu/stubs.h + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h + /usr/include/c++/11/bits/stl_function.h + /usr/include/c++/11/backward/binders.h + /usr/include/c++/11/new + /usr/include/c++/11/bits/exception.h + /usr/include/c++/11/tuple + /usr/include/c++/11/utility + /usr/include/c++/11/bits/stl_relops.h + /usr/include/c++/11/bits/stl_pair.h + /usr/include/c++/11/bits/move.h + /usr/include/c++/11/type_traits + /usr/include/c++/11/initializer_list + /usr/include/c++/11/array + /usr/include/c++/11/bits/functexcept.h + /usr/include/c++/11/bits/exception_defines.h + /usr/include/c++/11/bits/stl_algobase.h + /usr/include/c++/11/bits/cpp_type_traits.h + /usr/include/c++/11/ext/type_traits.h + /usr/include/c++/11/ext/numeric_traits.h + /usr/include/c++/11/bits/stl_iterator_base_types.h + /usr/include/c++/11/bits/stl_iterator_base_funcs.h + /usr/include/c++/11/bits/concept_check.h + /usr/include/c++/11/debug/assertions.h + /usr/include/c++/11/bits/stl_iterator.h + /usr/include/c++/11/bits/ptr_traits.h + /usr/include/c++/11/debug/debug.h + /usr/include/c++/11/bits/predefined_ops.h + /usr/include/c++/11/bits/range_access.h + /usr/include/c++/11/bits/uses_allocator.h + /usr/include/c++/11/bits/invoke.h + /usr/include/c++/11/bits/functional_hash.h + /usr/include/c++/11/bits/hash_bytes.h + /usr/include/c++/11/bits/refwrap.h + /usr/include/c++/11/bits/std_function.h + /usr/include/c++/11/typeinfo + /usr/include/c++/11/map + /usr/include/c++/11/bits/stl_tree.h + /usr/include/c++/11/bits/allocator.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h + /usr/include/c++/11/ext/new_allocator.h + /usr/include/c++/11/bits/memoryfwd.h + /usr/include/c++/11/ext/alloc_traits.h + /usr/include/c++/11/bits/alloc_traits.h + /usr/include/c++/11/bits/stl_construct.h + /usr/include/c++/11/ext/aligned_buffer.h + /usr/include/c++/11/bits/stl_map.h + /usr/include/c++/11/bits/stl_multimap.h + /usr/include/c++/11/bits/erase_if.h + /usr/include/c++/11/memory + /usr/include/c++/11/bits/stl_uninitialized.h + /usr/include/c++/11/bits/stl_tempbuf.h + /usr/include/c++/11/bits/stl_raw_storage_iter.h + /usr/include/c++/11/bits/align.h + /usr/include/c++/11/bit + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h + /usr/include/stdint.h + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h + /usr/include/aarch64-linux-gnu/bits/types.h + /usr/include/aarch64-linux-gnu/bits/typesizes.h + /usr/include/aarch64-linux-gnu/bits/time64.h + /usr/include/aarch64-linux-gnu/bits/wchar.h + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h + /usr/include/c++/11/bits/unique_ptr.h + /usr/include/c++/11/bits/shared_ptr.h + /usr/include/c++/11/iosfwd + /usr/include/c++/11/bits/stringfwd.h + /usr/include/c++/11/bits/postypes.h + /usr/include/c++/11/cwchar + /usr/include/wchar.h + /usr/include/aarch64-linux-gnu/bits/floatn.h + /usr/include/aarch64-linux-gnu/bits/floatn-common.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h + /usr/include/aarch64-linux-gnu/bits/types/FILE.h + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h + /usr/include/aarch64-linux-gnu/bits/wchar2.h + /usr/include/c++/11/bits/shared_ptr_base.h + /usr/include/c++/11/bits/allocated_ptr.h + /usr/include/c++/11/ext/atomicity.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/aarch64-linux-gnu/bits/types/time_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h + /usr/include/aarch64-linux-gnu/bits/endian.h + /usr/include/aarch64-linux-gnu/bits/endianness.h + /usr/include/aarch64-linux-gnu/bits/sched.h + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/aarch64-linux-gnu/bits/cpu-set.h + /usr/include/time.h + /usr/include/aarch64-linux-gnu/bits/time.h + /usr/include/aarch64-linux-gnu/bits/timex.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h + /usr/include/aarch64-linux-gnu/bits/setjmp.h + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h + /usr/include/aarch64-linux-gnu/sys/single_threaded.h + /usr/include/c++/11/ext/concurrence.h + /usr/include/c++/11/exception + /usr/include/c++/11/bits/exception_ptr.h + /usr/include/c++/11/bits/cxxabi_init_exception.h + /usr/include/c++/11/bits/nested_exception.h + /usr/include/c++/11/bits/shared_ptr_atomic.h + /usr/include/c++/11/bits/atomic_base.h + /usr/include/c++/11/bits/atomic_lockfree_defines.h + /usr/include/c++/11/backward/auto_ptr.h + /usr/include/c++/11/set + /usr/include/c++/11/bits/stl_set.h + /usr/include/c++/11/bits/stl_multiset.h + /usr/include/c++/11/string + /usr/include/c++/11/bits/char_traits.h + /usr/include/c++/11/cstdint + /usr/include/c++/11/bits/localefwd.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h + /usr/include/c++/11/clocale + /usr/include/locale.h + /usr/include/aarch64-linux-gnu/bits/locale.h + /usr/include/c++/11/cctype + /usr/include/ctype.h + /usr/include/c++/11/bits/ostream_insert.h + /usr/include/c++/11/bits/cxxabi_forced.h + /usr/include/c++/11/bits/basic_string.h + /usr/include/c++/11/ext/string_conversions.h + /usr/include/c++/11/cstdlib + /usr/include/stdlib.h + /usr/include/aarch64-linux-gnu/bits/waitflags.h + /usr/include/aarch64-linux-gnu/bits/waitstatus.h + /usr/include/aarch64-linux-gnu/sys/types.h + /usr/include/endian.h + /usr/include/aarch64-linux-gnu/bits/byteswap.h + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h + /usr/include/aarch64-linux-gnu/sys/select.h + /usr/include/aarch64-linux-gnu/bits/select.h + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h + /usr/include/aarch64-linux-gnu/bits/select2.h + /usr/include/alloca.h + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h + /usr/include/aarch64-linux-gnu/bits/stdlib.h + /usr/include/c++/11/bits/std_abs.h + /usr/include/c++/11/cstdio + /usr/include/stdio.h + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h + /usr/include/aarch64-linux-gnu/bits/stdio.h + /usr/include/aarch64-linux-gnu/bits/stdio2.h + /usr/include/c++/11/cerrno + /usr/include/errno.h + /usr/include/aarch64-linux-gnu/bits/errno.h + /usr/include/linux/errno.h + /usr/include/aarch64-linux-gnu/asm/errno.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/errno-base.h + /usr/include/aarch64-linux-gnu/bits/types/error_t.h + /usr/include/c++/11/bits/charconv.h + /usr/include/c++/11/bits/basic_string.tcc + /usr/include/c++/11/unordered_map + /usr/include/c++/11/bits/hashtable.h + /usr/include/c++/11/bits/hashtable_policy.h + /usr/include/c++/11/bits/enable_special_members.h + /usr/include/c++/11/bits/unordered_map.h + /usr/include/c++/11/vector + /usr/include/c++/11/bits/stl_vector.h + /usr/include/c++/11/bits/stl_bvector.h + /usr/include/c++/11/bits/vector.tcc + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/include/c++/11/atomic + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_fmk_types.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + diff --git a/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.make b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.make new file mode 100644 index 0000000..d0c6fcf --- /dev/null +++ b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.make @@ -0,0 +1,650 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o: ../framework/tf_plugin/tensorflow_reduce_sum_plugin.cc \ + /usr/include/stdc-predef.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/register.h \ + /usr/include/c++/11/functional \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h \ + /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/tuple \ + /usr/include/c++/11/utility \ + /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/bits/stl_pair.h \ + /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/array \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h \ + /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/refwrap.h \ + /usr/include/c++/11/bits/std_function.h \ + /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/map \ + /usr/include/c++/11/bits/stl_tree.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/bits/stl_map.h \ + /usr/include/c++/11/bits/stl_multimap.h \ + /usr/include/c++/11/bits/erase_if.h \ + /usr/include/c++/11/memory \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h \ + /usr/include/c++/11/bit \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h \ + /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/bits/shared_ptr.h \ + /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h \ + /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar \ + /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h \ + /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h \ + /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/backward/auto_ptr.h \ + /usr/include/c++/11/set \ + /usr/include/c++/11/bits/stl_set.h \ + /usr/include/c++/11/bits/stl_multiset.h \ + /usr/include/c++/11/string \ + /usr/include/c++/11/bits/char_traits.h \ + /usr/include/c++/11/cstdint \ + /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale \ + /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h \ + /usr/include/c++/11/cctype \ + /usr/include/ctype.h \ + /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/string_conversions.h \ + /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h \ + /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h \ + /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h \ + /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h \ + /usr/include/c++/11/cstdio \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/stdio2.h \ + /usr/include/c++/11/cerrno \ + /usr/include/errno.h \ + /usr/include/aarch64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h \ + /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/basic_string.tcc \ + /usr/include/c++/11/unordered_map \ + /usr/include/c++/11/bits/hashtable.h \ + /usr/include/c++/11/bits/hashtable_policy.h \ + /usr/include/c++/11/bits/enable_special_members.h \ + /usr/include/c++/11/bits/unordered_map.h \ + /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/vector.tcc \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/include/c++/11/atomic \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_fmk_types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/register_types.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h: + +/usr/include/c++/11/bits/vector.tcc: + +/usr/include/c++/11/bits/stl_bvector.h: + +/usr/include/c++/11/bits/unordered_map.h: + +/usr/include/c++/11/bits/enable_special_members.h: + +/usr/include/c++/11/bits/hashtable_policy.h: + +/usr/include/c++/11/bits/basic_string.tcc: + +/usr/include/asm-generic/errno.h: + +/usr/include/aarch64-linux-gnu/bits/types/error_t.h: + +/usr/include/linux/errno.h: + +/usr/include/aarch64-linux-gnu/bits/stdio_lim.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h: + +/usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/register_error_codes.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h: + +/usr/include/stdio.h: + +/usr/include/c++/11/bits/std_abs.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/aarch64-linux-gnu/sys/select.h: + +/usr/include/aarch64-linux-gnu/bits/uintn-identity.h: + +/usr/include/aarch64-linux-gnu/bits/waitflags.h: + +/usr/include/stdlib.h: + +/usr/include/c++/11/bits/basic_string.h: + +/usr/include/c++/11/bits/ostream_insert.h: + +/usr/include/c++/11/unordered_map: + +/usr/include/aarch64-linux-gnu/asm/errno.h: + +/usr/include/c++/11/cctype: + +/usr/include/aarch64-linux-gnu/bits/locale.h: + +/usr/include/locale.h: + +/usr/include/c++/11/cerrno: + +/usr/include/aarch64-linux-gnu/bits/stdio.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h: + +/usr/include/c++/11/bits/localefwd.h: + +/usr/include/c++/11/cstdint: + +/usr/include/c++/11/string: + +/usr/include/c++/11/bits/stl_multiset.h: + +/usr/include/c++/11/bits/stl_set.h: + +/usr/include/c++/11/set: + +/usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h: + +/usr/include/c++/11/bits/atomic_lockfree_defines.h: + +/usr/include/c++/11/bits/shared_ptr_atomic.h: + +/usr/include/c++/11/bits/nested_exception.h: + +/usr/include/c++/11/ext/string_conversions.h: + +/usr/include/c++/11/bits/exception_ptr.h: + +/usr/include/c++/11/ext/concurrence.h: + +/usr/include/aarch64-linux-gnu/sys/single_threaded.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h: + +/usr/include/endian.h: + +/usr/include/c++/11/ext/aligned_buffer.h: + +/usr/include/c++/11/iosfwd: + +/usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h: + +/usr/include/aarch64-linux-gnu/bits/struct_rwlock.h: + +/usr/include/c++/11/bits/alloc_traits.h: + +/usr/include/c++/11/bits/cxxabi_forced.h: + +/usr/include/c++/11/ext/alloc_traits.h: + +/usr/include/c++/11/bits/stl_tempbuf.h: + +/usr/include/c++/11/bits/invoke.h: + +/usr/include/c++/11/map: + +/usr/include/c++/11/bits/range_access.h: + +/usr/include/c++/11/bits/exception.h: + +/usr/include/aarch64-linux-gnu/bits/sched.h: + +/usr/include/aarch64-linux-gnu/bits/types/locale_t.h: + +/usr/include/c++/11/debug/assertions.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h: + +/usr/include/aarch64-linux-gnu/bits/byteswap.h: + +/usr/include/c++/11/bits/concept_check.h: + +/usr/include/aarch64-linux-gnu/bits/long-double.h: + +/usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h: + +/usr/include/stdint.h: + +/usr/include/aarch64-linux-gnu/bits/libc-header-start.h: + +/usr/include/c++/11/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/11/ext/new_allocator.h: + +/usr/include/c++/11/backward/auto_ptr.h: + +/usr/include/c++/11/bits/stl_uninitialized.h: + +/usr/include/c++/11/memory: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/c++/11/bits/stl_map.h: + +/usr/include/c++/11/bits/refwrap.h: + +/usr/include/aarch64-linux-gnu/bits/select.h: + +/usr/include/aarch64-linux-gnu/bits/timesize.h: + +/usr/include/c++/11/exception: + +/usr/include/aarch64-linux-gnu/sys/cdefs.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h: + +/usr/include/c++/11/debug/debug.h: + +/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h: + +/usr/include/c++/11/bits/uses_allocator.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h: + +/usr/include/errno.h: + +/usr/include/c++/11/utility: + +/usr/include/c++/11/bits/atomic_base.h: + +/usr/include/c++/11/ext/numeric_traits.h: + +/usr/include/c++/11/bits/functional_hash.h: + +/usr/include/features-time64.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h: + +/usr/include/aarch64-linux-gnu/bits/stdint-intn.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs.h: + +/usr/include/c++/11/typeinfo: + +/usr/include/aarch64-linux-gnu/bits/types/wint_t.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h: + +/usr/include/aarch64-linux-gnu/bits/types/clock_t.h: + +/usr/include/c++/11/bits/predefined_ops.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h: + +/usr/include/c++/11/bits/stl_relops.h: + +/usr/include/c++/11/bits/move.h: + +/usr/include/c++/11/bits/unique_ptr.h: + +/usr/include/c++/11/bits/stl_vector.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h: + +/usr/include/c++/11/array: + +/usr/include/c++/11/bits/ptr_traits.h: + +/usr/include/c++/11/bits/stl_iterator.h: + +/usr/include/c++/11/new: + +/usr/include/c++/11/ext/type_traits.h: + +/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/register.h: + +/usr/include/features.h: + +/usr/include/c++/11/bits/stl_multimap.h: + +/usr/include/aarch64-linux-gnu/bits/errno.h: + +/usr/include/aarch64-linux-gnu/bits/stdio2.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h: + +/usr/include/c++/11/bits/stl_tree.h: + +/usr/include/c++/11/tuple: + +/usr/include/c++/11/type_traits: + +/usr/include/ctype.h: + +/usr/include/aarch64-linux-gnu/bits/endianness.h: + +/usr/include/c++/11/bits/stl_function.h: + +/usr/include/c++/11/bits/stl_pair.h: + +/usr/include/c++/11/ext/atomicity.h: + +/usr/include/stdc-predef.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/c++/11/bits/char_traits.h: + +/usr/include/c++/11/functional: + +/usr/include/aarch64-linux-gnu/bits/wordsize.h: + +/usr/include/c++/11/bits/cpp_type_traits.h: + +/usr/include/pthread.h: + +/usr/include/c++/11/bits/stl_construct.h: + +/usr/include/aarch64-linux-gnu/bits/typesizes.h: + +/usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h: + +/usr/include/aarch64-linux-gnu/bits/waitstatus.h: + +../framework/tf_plugin/tensorflow_reduce_sum_plugin.cc: + +/usr/include/c++/11/atomic: + +/usr/include/c++/11/bits/exception_defines.h: + +/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h: + +/usr/include/c++/11/bits/stl_raw_storage_iter.h: + +/usr/include/c++/11/vector: + +/usr/include/c++/11/bits/align.h: + +/usr/include/c++/11/cstdlib: + +/usr/include/c++/11/bits/stl_iterator_base_types.h: + +/usr/include/c++/11/bit: + +/usr/include/alloca.h: + +/usr/include/aarch64-linux-gnu/bits/time64.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib-float.h: + +/usr/include/aarch64-linux-gnu/bits/select2.h: + +/usr/include/c++/11/bits/functexcept.h: + +/usr/include/aarch64-linux-gnu/bits/time.h: + +/usr/include/c++/11/cstdio: + +/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h: + +/usr/include/aarch64-linux-gnu/sys/types.h: + +/usr/include/c++/11/bits/shared_ptr.h: + +/usr/include/c++/11/bits/memoryfwd.h: + +/usr/include/c++/11/bits/stringfwd.h: + +/usr/include/c++/11/bits/postypes.h: + +/usr/include/c++/11/bits/stl_algobase.h: + +/usr/include/c++/11/cwchar: + +/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h: + +/usr/include/c++/11/bits/cxxabi_init_exception.h: + +/usr/include/wchar.h: + +/usr/include/aarch64-linux-gnu/bits/timex.h: + +/usr/include/c++/11/backward/binders.h: + +/usr/include/aarch64-linux-gnu/bits/floatn.h: + +/usr/include/c++/11/bits/hash_bytes.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h: + +/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h: + +/usr/include/c++/11/bits/charconv.h: + +/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/__FILE.h: + +/usr/include/aarch64-linux-gnu/bits/types/FILE.h: + +/usr/include/aarch64-linux-gnu/bits/wchar.h: + +/usr/include/c++/11/bits/shared_ptr_base.h: + +/usr/include/aarch64-linux-gnu/bits/wchar2.h: + +/usr/include/aarch64-linux-gnu/bits/floatn-common.h: + +/usr/include/c++/11/bits/allocated_ptr.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h: + +/usr/include/sched.h: + +/usr/include/aarch64-linux-gnu/bits/types/time_t.h: + +/usr/include/aarch64-linux-gnu/bits/endian.h: + +/usr/include/aarch64-linux-gnu/bits/cpu-set.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h: + +/usr/include/time.h: + +/usr/include/c++/11/initializer_list: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h: + +/usr/include/c++/11/bits/allocator.h: + +/usr/include/c++/11/bits/std_function.h: + +/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h: + +/usr/include/c++/11/clocale: + +/usr/include/aarch64-linux-gnu/bits/types/timer_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h: + +/usr/include/c++/11/bits/hashtable.h: + +/usr/include/aarch64-linux-gnu/bits/setjmp.h: + +/usr/include/aarch64-linux-gnu/bits/types.h: + +/usr/include/aarch64-linux-gnu/bits/struct_mutex.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/register_fmk_types.h: + +/usr/include/c++/11/bits/erase_if.h: + +/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h: diff --git a/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.ts b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.ts new file mode 100644 index 0000000..ab564b3 --- /dev/null +++ b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for cust_tf_parsers. diff --git a/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/depend.make b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/depend.make new file mode 100644 index 0000000..e471fdc --- /dev/null +++ b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for cust_tf_parsers. +# This may be replaced when dependencies are built. diff --git a/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/flags.make b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/flags.make new file mode 100644 index 0000000..c535bf4 --- /dev/null +++ b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# compile CXX with /usr/bin/c++ +CXX_DEFINES = -D_FORTIFY_SOURCE=2 -D_GLIBCXX_USE_CXX11_ABI=0 -Dcust_tf_parsers_EXPORTS -Dgoogle=ascend_private + +CXX_INCLUDES = -I/usr/local/Ascend/ascend-toolkit/latest/include + +CXX_FLAGS = -fPIC -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -O2 -std=c++11 -fstack-protector-strong + diff --git a/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/link.txt b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/link.txt new file mode 100644 index 0000000..d3cf003 --- /dev/null +++ b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -fPIC -s -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -shared -Wl,-soname,libcust_tf_parsers.so -o libcust_tf_parsers.so CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o -L/usr/local/Ascend/ascend-toolkit/latest/lib64 -Wl,-rpath,/usr/local/Ascend/ascend-toolkit/latest/lib64: -lgraph diff --git a/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/progress.make b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/progress.make new file mode 100644 index 0000000..b700c2c --- /dev/null +++ b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 9 +CMAKE_PROGRESS_2 = 10 + diff --git a/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o new file mode 100644 index 0000000000000000000000000000000000000000..5ad5be28c1be93f2fd8bfad12a78050930390a13 GIT binary patch literal 10440 zcmbtZYiu0V6~4P;LK;Fa*bafTW$lEL2(s)t2{H7wer#+vj_r6I0-@4myq-8q_F-nn zi5(XbRgp>sKkQ;C6_C=xk2s}LR8i6XsG62ar4mw6p(&LLvVnh80>pDgt@NBb=j`6S zvy!^JLl@TbLsop~61}HaD{YEIi2G84uIJ01c&MX??Gb18V zdLK#=zTrG{5hY3qA)bdu<2l1TKN1q#%sO%3IU$D4mEyhwPzrHk2>Y5r9{etG8|pLQ z!>o!KD-$InB%WWI{{8$S*d77dB}2>}5Z^w(H2sIus0W`57eERqZRPU?HPGiEyx_mGv3mI<_wN7I@dw2G@l~Sq)3A7Vr6Gnt0>3_iSS%QgXF$bVlW2VCKvK3Ii`21;D%$|p5(P%o;0_}Hp;QWcXsS(5) zV9eJ-Jl0CzHiAvmzhGPk`BKea{G*sf-bLtR{;o2AgOA_iZ7B0%%ptF5Ebs;GV_qP( zm}GbH218QCgb*i=1ba$GOvW@%&-m=NB$q3-h>k z^d!vGXQ9zLg(Fm5{*gg{Xq&H8xnPsUk$BaeS=(+ zaJ@m|68UbCh__~86|n?XfD-bz!XG*|*e5k!{si`{N4*iK;DfXY9vQ68HT6%0Plb|i zzJbf4_y#;(SOGclKukM;X3ib z1%HnahPa{@4EX8*{K^1ahM=ksh5+Qp5jErvg0%{H{J69D$q=~9RFlW=$C1krxD!>A z$M46H%aFTPHNS^9`9L`@!jF6W80~8E?D}!!GRj$6En|r5ssU(ucKtXq8sd5%zh~Ev zUk;pMg&%W`$q--WYE@|nSX7b6 z@5hnJ5O~6RFmhYA4e`j zu12-^H`mN)L->v%Vor*OtCc|OmlE-;tDS$AjmuQ1TsOo`<+@ri>Z@32` zWdP^8hj_o^0sKFdcxBy7kPw^^MRT~4&k@3}h7h-eE9)NaUr09t-W;yv6_30X@LK+K z2k3#b59qI~Z)ZLA;?V#-PXypU55Ug_;C}_YmR$oG-MjBrn754`BM^Jsrjc+q|PUO>WrjR#BtfF1%(L_48CxQF6Og`ggtSsE> z95V}6K-m9}WF6Q<{`tIz9R|Y0@(i+JeiDO#vh)fqI1YYff z1*s%;kr!mRT1)(P(;P2k^0u-@c^p1G zX#A%G`2VEfs{Yp$T-EbDMQ3d@RU=YgxP+ix?moixJjZ(jlAh-$6g_)A7Ww~99hqwku3Rgt&@F=1q#iEEJ5cLjV%RC5P>R1XVx2&b;*N#Z? zgsStzm+8a*b{JKh@}2DQ)EOO1r%ih@ZI8Pq#4l@8fb?5{JS{=qE>{bU!|xNER2_F>+;4{*$IFgsIgT|200$%ZwB(Ie#tae!Bp`Ib=Oi?xF zxc67S-c+{nVtdy?oC+PpJ%aH#b$*b|heTeOH8D#$?$*cb3{=;%y2FcIVu#fv1%W)Yb&-;dI zKd}t?XUV=QkNX(g<#Ih>u+<3t%jj8>*9+uTsTmrGK^j-l7nQ#Wq;QUc;q>0!6an#%qc@V@H>F@t0l4pCYnA==t0{oAWgX|~z zkN-}x9OK8>e{BFUvd?_FeQrNP@`fhgL-KmO**?pk0y$*md||wY495sS|0D3QJp1)B z+1K;$F0#+x=SfXjp4*=U_&-VVXj3J&&)5e6{!fyFJ;aFqZ-9s8+5a11;xQ-m_&rYc znV-~@<+&XJ`C9QiM+Vpq+Q)ylSRdni$UeuJ^*&AZaeq;X^Owv0B(L&d{biEZah7Ae zK=KgAD#HI|km@x7_TTFj;$9v<1600F1AL#_IR4G>usn|+)$6uVWPvWv50U`J0neYh iJl>hX1s@%vg>S!l2?s81IC4*_CI1p7?g_0^m;W#N{2z`0 literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o.d b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o.d new file mode 100644 index 0000000..a171645 --- /dev/null +++ b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o.d @@ -0,0 +1,184 @@ +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o: \ + /Package_Cann/test/No_standard/framework/tf_plugin/tensorflow_reduce_sum_plugin.cc \ + /usr/include/stdc-predef.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/register.h \ + /usr/include/c++/11/functional \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h /usr/include/c++/11/tuple \ + /usr/include/c++/11/utility /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/bits/stl_pair.h /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/array /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h /usr/include/c++/11/bits/refwrap.h \ + /usr/include/c++/11/bits/std_function.h /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/map /usr/include/c++/11/bits/stl_tree.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/bits/stl_map.h \ + /usr/include/c++/11/bits/stl_multimap.h \ + /usr/include/c++/11/bits/erase_if.h /usr/include/c++/11/memory \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h /usr/include/c++/11/bit \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/bits/shared_ptr.h /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/backward/auto_ptr.h /usr/include/c++/11/set \ + /usr/include/c++/11/bits/stl_set.h \ + /usr/include/c++/11/bits/stl_multiset.h /usr/include/c++/11/string \ + /usr/include/c++/11/bits/char_traits.h /usr/include/c++/11/cstdint \ + /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h /usr/include/c++/11/cctype \ + /usr/include/ctype.h /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/string_conversions.h /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h /usr/include/c++/11/cstdio \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/stdio2.h /usr/include/c++/11/cerrno \ + /usr/include/errno.h /usr/include/aarch64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/basic_string.tcc \ + /usr/include/c++/11/unordered_map /usr/include/c++/11/bits/hashtable.h \ + /usr/include/c++/11/bits/hashtable_policy.h \ + /usr/include/c++/11/bits/enable_special_members.h \ + /usr/include/c++/11/bits/unordered_map.h /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/vector.tcc \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./tensor.h \ + /usr/include/c++/11/atomic \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./resource_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_fmk_types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h diff --git a/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/progress.marks b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/progress.marks new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/precision_Problem/No_standard/build_out/framework/tf_plugin/CMakeFiles/progress.marks @@ -0,0 +1 @@ +2 diff --git a/precision_Problem/No_standard/build_out/framework/tf_plugin/Makefile b/precision_Problem/No_standard/build_out/framework/tf_plugin/Makefile new file mode 100644 index 0000000..7a6d8cd --- /dev/null +++ b/precision_Problem/No_standard/build_out/framework/tf_plugin/Makefile @@ -0,0 +1,253 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target package +package: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..." + cd /Package_Cann/test/No_standard/build_out && /usr/bin/cpack --config ./CPackConfig.cmake +.PHONY : package + +# Special rule for the target package +package/fast: package +.PHONY : package/fast + +# Special rule for the target package_source +package_source: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..." + cd /Package_Cann/test/No_standard/build_out && /usr/bin/cpack --config ./CPackSourceConfig.cmake /Package_Cann/test/No_standard/build_out/CPackSourceConfig.cmake +.PHONY : package_source + +# Special rule for the target package_source +package_source/fast: package_source +.PHONY : package_source/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# The main all target +all: cmake_check_build_system + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles /Package_Cann/test/No_standard/build_out/framework/tf_plugin//CMakeFiles/progress.marks + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 framework/tf_plugin/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 framework/tf_plugin/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 framework/tf_plugin/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 framework/tf_plugin/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/rule: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/rule +.PHONY : framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/rule + +# Convenience name for target. +cust_tf_parsers: framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/rule +.PHONY : cust_tf_parsers + +# fast build rule for target. +cust_tf_parsers/fast: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build +.PHONY : cust_tf_parsers/fast + +tensorflow_reduce_sum_plugin.o: tensorflow_reduce_sum_plugin.cc.o +.PHONY : tensorflow_reduce_sum_plugin.o + +# target to build an object file +tensorflow_reduce_sum_plugin.cc.o: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o +.PHONY : tensorflow_reduce_sum_plugin.cc.o + +tensorflow_reduce_sum_plugin.i: tensorflow_reduce_sum_plugin.cc.i +.PHONY : tensorflow_reduce_sum_plugin.i + +# target to preprocess a source file +tensorflow_reduce_sum_plugin.cc.i: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.i +.PHONY : tensorflow_reduce_sum_plugin.cc.i + +tensorflow_reduce_sum_plugin.s: tensorflow_reduce_sum_plugin.cc.s +.PHONY : tensorflow_reduce_sum_plugin.s + +# target to generate assembly for a file +tensorflow_reduce_sum_plugin.cc.s: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.s +.PHONY : tensorflow_reduce_sum_plugin.cc.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... package" + @echo "... package_source" + @echo "... rebuild_cache" + @echo "... cust_tf_parsers" + @echo "... tensorflow_reduce_sum_plugin.o" + @echo "... tensorflow_reduce_sum_plugin.i" + @echo "... tensorflow_reduce_sum_plugin.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/precision_Problem/No_standard/build_out/framework/tf_plugin/cmake_install.cmake b/precision_Problem/No_standard/build_out/framework/tf_plugin/cmake_install.cmake new file mode 100644 index 0000000..655b0de --- /dev/null +++ b/precision_Problem/No_standard/build_out/framework/tf_plugin/cmake_install.cmake @@ -0,0 +1,67 @@ +# Install script for directory: /Package_Cann/test/No_standard/framework/tf_plugin + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/Package_Cann/test/No_standard/build_out") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so") + file(RPATH_CHECK + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so" + RPATH "") + endif() + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow" TYPE SHARED_LIBRARY FILES "/Package_Cann/test/No_standard/build_out/framework/tf_plugin/libcust_tf_parsers.so") + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so") + file(RPATH_CHANGE + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so" + OLD_RPATH "/usr/local/Ascend/ascend-toolkit/latest/lib64:" + NEW_RPATH "") + if(CMAKE_INSTALL_DO_STRIP) + execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so") + endif() + endif() +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) +endif() + diff --git a/precision_Problem/No_standard/build_out/framework/tf_plugin/libcust_tf_parsers.so b/precision_Problem/No_standard/build_out/framework/tf_plugin/libcust_tf_parsers.so new file mode 100644 index 0000000000000000000000000000000000000000..5d20870e402471988c823bea01c8b1bb8b7a46a9 GIT binary patch literal 10160 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 Iv)BpzU$4$1T>t<8 literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/build_out/install_manifest.txt b/precision_Problem/No_standard/build_out/install_manifest.txt new file mode 100644 index 0000000..c1f120f --- /dev/null +++ b/precision_Problem/No_standard/build_out/install_manifest.txt @@ -0,0 +1,35 @@ +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_proto/inc/op_proto.h +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/liboptiling.so +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/lib/libcust_opapi.so +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/include/aclnn_reduce_sum.h +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/config/ascend310b/aic-ascend310b-ops-info.json +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/customize_impl/dynamic/reduce_sum.py +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/config/ascend310b/reduce_sum.json +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/config/ascend310b/binary_info_config.json +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/config/ascend310b/binary_info_config.json +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/config/ascend310b/reduce_sum.json +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/framework/tensorflow/npu_supported_ops.json +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/customize_impl/dynamic/reduce_sum.cpp +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/./upgrade.sh +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/./install.sh +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/./help.info +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/version.info \ No newline at end of file diff --git a/precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json b/precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json new file mode 100644 index 0000000..e506342 --- /dev/null +++ b/precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json @@ -0,0 +1,93 @@ +{ + "binFileName": "ReduceSum_aab7d211a4f4f395b4f928b8c56a621d", + "binFileSuffix": ".o", + "blockDim": -1, + "coreType": "VectorCore", + "core_type": "AIV", + "kernelName": "ReduceSum_aab7d211a4f4f395b4f928b8c56a621d", + "magic": "RT_DEV_BINARY_MAGIC_ELF", + "memoryStamping": [], + "opParaSize": 48, + "parameters": [], + "sha256": "a8b6c56680c52ac8c16779bd3080aa56e93d69905a5136f88f78511144dd5f8a", + "workspace": { + "num": 1, + "size": [ + -1 + ], + "type": [ + 0 + ] + }, + "kernelList": [ + { + "kernelName": "ReduceSum_aab7d211a4f4f395b4f928b8c56a621d_0" + } + ], + "optionalInputMode": "gen_placeholder", + "compileInfo": {}, + "supportInfo": { + "implMode": "", + "int64Mode": false, + "simplifiedKeyMode": 0, + "simplifiedKey": [ + "ReduceSum/d=0,p=0/2,2/3,2/2,2", + "ReduceSum/d=1,p=0/2,2/3,2/2,2" + ], + "staticKey": "b820d3c72c6fdb74e25428934a95a506cabe6b179f17c862ac790f6c318f240f", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "int8", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "int8", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "opMode": "dynamic", + "optionalInputMode": "gen_placeholder", + "deterministic": "ignore" + } +} \ No newline at end of file diff --git a/precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o b/precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o new file mode 100644 index 0000000000000000000000000000000000000000..090d55623cf4869aa662cdbc2c38a87b57f18b85 GIT binary patch literal 4008 zcmd5BLa_A;diwE)nDiok z?6C!sCoy>E($v(Nyghf=;y&aYdt3*Z+rQWCbviYLquHl`no!IE7+yXd#F$2510PwN z@j_FE={;;em_q{0D}q>20g-6|C_Uig_TrmV2P{WXh%@QK6TuvHn#*nGx!e{Gn=+Im zPfA@$>z-eS^&X1DF#q)&mX=fdQ8e! zCM6R}?o-lMvR}y|B}bIJqU5-e(@K7#Bw&6rPCh?{MQ?^a&iZxxkU{OWK+IE{xz1k@6}Vn@pfjt8myyq{=GLe^7lIdB1&~C%5_E^O8)j<0DfCa;chui z#V8!ijxt7XQ%3JnFb9~wWD;QLGy^k)^&iCRJ+7ORELB5+Oiu;CEaj=qrO=P#z&y*| z_FfSFlJ~*xGbmg+!%{0v&@i5iA;(Gka5k)iW$@HH<6aqyLWo~Py}c5QR7(W>$0vaH zivYtMi-fNGk4^yepJg&fu!203ork&K#Xa#B=5ved_5|i*LTYr}3j+5`4H*98w}E^k z0(3+K{6}x&Lv@xt%$DhSF6NZ_6><}pLyG}2uK)NL(3s?o0ocWywDX?msmPlhx#gy0~9e&}X(l?y;QSab5AP;l7PVHcboWEGeB^4}&R1kAX1ThzrFBkwk ze=LDV3+6Mf$-SmkUJFaR#4&qPgMmpYS$hHkxC!&T6WJ0i6%64KRLY0#a(raxa|$o> z$Jsj?fmb-`59-KaZ0HBtsdtV27QIOgu!f=FI z^nF_KC_-an#(e2hm%e^eisy|%&yWbGXitqsaFUJTA~GGe`%Fy9;Lt1gQ6_9LN2Gp= z>pK_(`%Z|GeNh2+lLq}wcovLn!*D@l>~T$l>tTRNO~xG=LWzEc=mjxE9bvySN$pGK z6MuOh@F1+Qt0Is4o3x$xZ$0r@X-{bOTa#2=oS=xAW`&r2iBW1fVZe3o$`)zFI)*j6 zg6meqVsKTn7mra`E2&1k3 z2+4DvMb72p1-u4v{iy=(L~QgC_&IV-sOHA^3pkDArSE$=mCJfZe2BRIbV2`&^pP&$ z=OtFYw;)cRBybMLrZL73Q7(cgPrp&%{snzN<+S)S%FCEr6z%m`;}(>LP2f!_u`gpg zZfwI5e~^5Pyru~?uYHn>I>{YyxgJNniTLvO2z(XwrHb2! z=T;hZlH2EU@!2?mc#h(zrhi;u70T_YFv!9 zin|=tuTWSsr^3rzeaOLDMMb4+v!=q&x;QcwUgYw0M^w0Yjw9wP{6WwW^IRNuM5)Wc zbtq9-tDFj(uHJM+G2+Pds3y-6f@g`1>jBKc|01JI>QBl35(m#m#-%Rbk4y`|JZGLy z0HWdl`O0CN(*Vu}h+G+mWfw~3>d?)>zNtgQb%2I4Jg^&gb-kMGuCp2&U$m-fqOoWV z#AEU5<*`-EW2-mCtLpGqwd#wp+PYZG>e$`ZwZnQX+1;~iZG4|F734(w@dYinQC8Lz5ptKMF{{rS~3?bX{?$7|bb zJ8D+8t&CT7w#HybYtNycm-lwR+Ow~%BiWqnNp`=M>_l~M)2@BVrrvIq@Bb=fW#r|V z<;eYRd-8qe+Mkv(uaPflsfxLFB`4MTtevHIhr3dK_PKZ_HBwyYHO*8aezG1)kMG6L z=%i_<8ZZ6NY_nrkqLI!dDC~|OR(&~7xm(=$@?V>5a^9cabpWRNE`A};dU~53zwY0R NZ&u@H&wuv#e*sO$9z*~D literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json b/precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json new file mode 100644 index 0000000..999f4f8 --- /dev/null +++ b/precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json @@ -0,0 +1,93 @@ +{ + "binFileName": "ReduceSum_aba912fd1d17807efc5a7debff52df92", + "binFileSuffix": ".o", + "blockDim": -1, + "coreType": "VectorCore", + "core_type": "AIV", + "kernelName": "ReduceSum_aba912fd1d17807efc5a7debff52df92", + "magic": "RT_DEV_BINARY_MAGIC_ELF", + "memoryStamping": [], + "opParaSize": 48, + "parameters": [], + "sha256": "4c18f6864ed2c98b13f4d0d0ef028655cb35953ab386a4afacea612aab6c7500", + "workspace": { + "num": 1, + "size": [ + -1 + ], + "type": [ + 0 + ] + }, + "kernelList": [ + { + "kernelName": "ReduceSum_aba912fd1d17807efc5a7debff52df92_0" + } + ], + "optionalInputMode": "gen_placeholder", + "compileInfo": {}, + "supportInfo": { + "implMode": "", + "int64Mode": false, + "simplifiedKeyMode": 0, + "simplifiedKey": [ + "ReduceSum/d=0,p=0/1,2/3,2/1,2", + "ReduceSum/d=1,p=0/1,2/3,2/1,2" + ], + "staticKey": "99fec46c7fb0c696b2b7d64cf7e55d7ea2f4477ec7431c03cb97e71ecceef43a", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "float16", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "float16", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "opMode": "dynamic", + "optionalInputMode": "gen_placeholder", + "deterministic": "ignore" + } +} \ No newline at end of file diff --git a/precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o b/precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o new file mode 100644 index 0000000000000000000000000000000000000000..86f4262d4913f82bbb071d0142af3d3782c96c5d GIT binary patch literal 4008 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 K&z}G6@&5uZp&qRO literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json b/precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json new file mode 100644 index 0000000..ab16727 --- /dev/null +++ b/precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json @@ -0,0 +1,93 @@ +{ + "binFileName": "ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a", + "binFileSuffix": ".o", + "blockDim": -1, + "coreType": "VectorCore", + "core_type": "AIV", + "kernelName": "ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a", + "magic": "RT_DEV_BINARY_MAGIC_ELF", + "memoryStamping": [], + "opParaSize": 48, + "parameters": [], + "sha256": "cf9debf69c81f9b99c329ea5e1b68f91ebde2e3004e6aa2c062f78c218fdda0a", + "workspace": { + "num": 1, + "size": [ + -1 + ], + "type": [ + 0 + ] + }, + "kernelList": [ + { + "kernelName": "ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a_0" + } + ], + "optionalInputMode": "gen_placeholder", + "compileInfo": {}, + "supportInfo": { + "implMode": "", + "int64Mode": false, + "simplifiedKeyMode": 0, + "simplifiedKey": [ + "ReduceSum/d=0,p=0/0,2/3,2/0,2", + "ReduceSum/d=1,p=0/0,2/3,2/0,2" + ], + "staticKey": "80602307177ba63e857667cbab2faea65a5120e0167977a2da73ed1c8cc3b00e", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "float32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "float32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "opMode": "dynamic", + "optionalInputMode": "gen_placeholder", + "deterministic": "ignore" + } +} \ No newline at end of file diff --git a/precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o b/precision_Problem/No_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o new file mode 100644 index 0000000000000000000000000000000000000000..ad0758e3affa845d1fc9d1a4e3784a2b5825b52f GIT binary patch literal 4008 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 L)%fZ2pFaLyx*Q&N literal 0 HcmV?d00001 diff --git a/precision_Problem/No_standard/build_out/kernel/config/ascend310b/binary_info_config.json b/precision_Problem/No_standard/build_out/kernel/config/ascend310b/binary_info_config.json new file mode 100644 index 0000000..c7e0f17 --- /dev/null +++ b/precision_Problem/No_standard/build_out/kernel/config/ascend310b/binary_info_config.json @@ -0,0 +1,48 @@ +{ + "ReduceSum": { + "dynamicRankSupport": true, + "simplifiedKeyMode": 0, + "binaryList": [ + { + "coreType": 2, + "simplifiedKey": "ReduceSum/d=0,p=0/0,2/3,2/0,2", + "binPath": "ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o" + }, + { + "coreType": 2, + "simplifiedKey": "ReduceSum/d=1,p=0/0,2/3,2/0,2", + "binPath": "ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o" + }, + { + "coreType": 2, + "simplifiedKey": "ReduceSum/d=0,p=0/2,2/3,2/2,2", + "binPath": "ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o" + }, + { + "coreType": 2, + "simplifiedKey": "ReduceSum/d=1,p=0/2,2/3,2/2,2", + "binPath": "ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o" + }, + { + "coreType": 2, + "simplifiedKey": "ReduceSum/d=0,p=0/3,2/3,2/3,2", + "binPath": "ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o" + }, + { + "coreType": 2, + "simplifiedKey": "ReduceSum/d=1,p=0/3,2/3,2/3,2", + "binPath": "ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o" + }, + { + "coreType": 2, + "simplifiedKey": "ReduceSum/d=0,p=0/1,2/3,2/1,2", + "binPath": "ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o" + }, + { + "coreType": 2, + "simplifiedKey": "ReduceSum/d=1,p=0/1,2/3,2/1,2", + "binPath": "ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o" + } + ] + } +} \ No newline at end of file diff --git a/precision_Problem/No_standard/build_out/kernel/config/ascend310b/reduce_sum.json b/precision_Problem/No_standard/build_out/kernel/config/ascend310b/reduce_sum.json new file mode 100644 index 0000000..fb9b121 --- /dev/null +++ b/precision_Problem/No_standard/build_out/kernel/config/ascend310b/reduce_sum.json @@ -0,0 +1,252 @@ +{ + "binList": [ + { + "simplifiedKey": [ + "ReduceSum/d=0,p=0/0,2/3,2/0,2", + "ReduceSum/d=1,p=0/0,2/3,2/0,2" + ], + "staticKey": "80602307177ba63e857667cbab2faea65a5120e0167977a2da73ed1c8cc3b00e", + "int64Mode": false, + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "float32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "float32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "binInfo": { + "jsonFilePath": "ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json" + } + }, + { + "simplifiedKey": [ + "ReduceSum/d=0,p=0/2,2/3,2/2,2", + "ReduceSum/d=1,p=0/2,2/3,2/2,2" + ], + "staticKey": "b820d3c72c6fdb74e25428934a95a506cabe6b179f17c862ac790f6c318f240f", + "int64Mode": false, + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "int8", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "int8", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "binInfo": { + "jsonFilePath": "ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json" + } + }, + { + "simplifiedKey": [ + "ReduceSum/d=0,p=0/3,2/3,2/3,2", + "ReduceSum/d=1,p=0/3,2/3,2/3,2" + ], + "staticKey": "b2a3cb0846b58c37dd20590607cda1c8ed3efcd02d17798c63659432b4190830", + "int64Mode": false, + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "binInfo": { + "jsonFilePath": "ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json" + } + }, + { + "simplifiedKey": [ + "ReduceSum/d=0,p=0/1,2/3,2/1,2", + "ReduceSum/d=1,p=0/1,2/3,2/1,2" + ], + "staticKey": "99fec46c7fb0c696b2b7d64cf7e55d7ea2f4477ec7431c03cb97e71ecceef43a", + "int64Mode": false, + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "float16", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "float16", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "binInfo": { + "jsonFilePath": "ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json" + } + } + ] +} \ No newline at end of file diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/CMakeDirectoryInformation.cmake b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..84340a0 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/Package_Cann/test/No_standard") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/Package_Cann/test/No_standard/build_out") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/DependInfo.cmake b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/DependInfo.cmake new file mode 100644 index 0000000..fb60b21 --- /dev/null +++ b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/DependInfo.cmake @@ -0,0 +1,20 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/Package_Cann/test/No_standard/build_out/autogen/op_proto.cc" "op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o" "gcc" "op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o.d" + "/Package_Cann/test/No_standard/op_host/reduce_sum.cpp" "op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o" "gcc" "op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o.d" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o b/precision_Problem/No_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o new file mode 100644 index 0000000000000000000000000000000000000000..a0df07eb92b0bc7316c508805f32a797cbe0eea5 GIT binary patch literal 65680 zcmeIb4}4VBwJ&~VCSU}FC_$)t%LJ&RwKNF1%GR}yQP)iue74liW&$iE&Oij10}g)`F+

5|Q0pJ}*@uNJFk-Nl%y(#o~9M5up+m z*~uSZR>Axxzy5yldtGE}P5dc(l*s|oOk&c>%T$Z2>&xN<7L!|C-7I&f9Fsm#)`NQo&{-BYP~`(2?%Q@C%TWLOtnmZQWFIe~XSTsNmi1vw%c-WonN1hcd_IinX5wX; z?~II9Ss%qDJ*(4MQ9e#Kzy54=8uWx4Dre)ZD802<>hj~Pf5F&q>4HIOEl{nuyS#PV zX@it{6X4RP%4iLnZzZ z$y_?d`#LO(93a$l?Kc|0T>H~TzW)N%1TNh&cghmcn`?IyQ3b;O^zZq5LBX?`2TfoV z(1@^*j7I2?xpv#{j(U~IAd4R~uYEwZnz}w`7jt{5h7&)TYAErWcGm$>>m^zK>Gjfl zSrlsXE9)h@DD>A$CLXMp1X*t&PWsSMhiyJVb&n$--86;HUoTmvD!U^@%Pmn)U%0m* z`ZojQuu!613L24yh0;viiZm?L!dqYF^-l?@@8Pu|O045RwVEb(G9y50KDZ4B#;7uj z8??L@K&#+pUyan+QBvOoo|alxgVh$ENNv}MzSJfjNbM~=^H$dnsTJ_57bW$Ro+N8d zwNl>_B+Fr+Uu8=*2dtO!SwcNj3SKi|+)TXc&Gf2Pt8tuO1rE>yXw&6&AHQ)?Fl zpK@s(iGeAYRI`NHQ|Y68p_G$AvKxdFRahf|N*@-gZT1hW7ng-` zL4z`a3)$N#S@HAGUajw9wSF_kJ65-oR8EQ0K$3|}mPm%6s4NkqDQlahgsv4b82r}% zBjbqVDGm4>9hOA~=&+Q3@k*duze=~>hapjZ!MflmI4s2`sZbZEsqlpX@yQZzXX5mP z&lG;L!Hj&Cez>o%WqGv z@M+7@+iirU-x)OpL+^VYkBD$YN0C{CF^fy$4Ec@DF*Y6UPfp}8@Z(%MGueYx8XJVm z&Aspvl;GL6c?6|y0aTOA*l?rsr5v%D?$qiGxDS_RC??HH425L;jgA^im>tD%63~c{ z3&XTQl=UVeOSv?!VW-(mOQU5O#yTnl`@4tK^MuN>3&y0kfJTG^>>{`5ke2-;HS;}@ z&p5m)zo0zFf$CbcHKWp&gBw4D120@!1WBn>9HF?GrPS%9FR}cBPJ1@ch>%NhvNJxy zyJ&F=C1ZY0#T1ftpRl%6c4Q^#o-H-4H7cD8#!@bw|Msf+3w6h~vFdrkPEqA~6=+1r zwK~s%*T+PTaMk#|p{q}p_)Hz6P$6m3nm;}r%2LBJ3?_q?Kz-7PFcZxl(qWkzbtWYo zC@3S=I7$xSTp;VklZR&MXK~e^JoHR`Fy|PH2Q_Lu_~QisN*9uHKQ+CR)#GEJZoLLJRTiv)vwNVyL6$ri4i`bLw?Z=ER@+mu6|&nue=B6- z!B)uIQ|5L0(NRyptEbH&sL(B*fcKDtu9sABKLVO#af9Z2xH_&YpMOYoPEo4<$QZS$ zmMMKekO5RLCInBb;T?Uzf@ULUyR*OTpwv`L)zu#j#%rpx#wa1r5pzlGU8zk^*W%HN zMi6ZwNi^5oK4d9P-%XTeI0Yq^T7E$hAM>OTBCi=rCQ{t&!&JJmMGaPBaiw-dl0C5= zkz_M$M$XY$cH?YD&e5maeX|)kuWsmVn^Qk(zz5%9wBReFmyZ+uEFhk+AkC`iGE8|9Dr2EK8fXoENgVfsU^PSC9I# zgV#Eit-GgVyUq7>YEw-v!sLz8K84qUD7ja|OV9LT=rBwm)gRhS~YZ_QYM+io@_$}&p#o6hY(wdNDUx>2aSR2-B~0X_1$sp+7W zwt2XogEE|il{kjctImF`F+5sNzFY~LeScZ~9Cwsf{ z)OQmcl?(a|%Ot4y(|~H)F}8uErqp0V0JL8e?uhERd2{~YZ!>^)vbezzahr$h6)AQ1 z38kI{y5dt){5xbj!H+{vW33E=D@H=}ew7L(#>$&jJw4t<^CIhuxlT_ZTJUl{54~rjYXuX%O zr=h&;kfYuKniGZlnTLC?*O(?^MEM(Ny(rvTWtFr^Yf!1*^Ab{PpzA&{nh(aoP9E-J zUHeQ5V`_%fnLzt<=}AFMgN{qKsz9)ZwTV^N5iYU3g7VA-8WB<%i_g^|6Yo+MM58Tk zpz|L|u66+BAJ&(gP_DARcT%cNZIEeTg1(q82IDa8=IqX{uY$=e)yyDx^Ez{a!v32huKQ|^tS29k?0_}m!k z+<*g2W87JxI_pBKonh~=^q3v$DE?x;z%6eM%?Y)Z_Z!NG@!GjNHjWM~f2elVzTmhe>Jtkn0X^nC|+^^``bMP9dR6ioZKYAhztTOC29 zm)+_JE^lopRXU@AQVZd@LWC{vM#p22LP29xn?to)T*TQ3HR`s8O1(=u;4;Hv*NU1Qg50y4IW`Hl6nwpGl}H>l?|<8L1X^_oto zUr@zae!&v+@>I6_F|RlrFgom@H7EnoJdgK3SSzNrsA8>{c19Iz#q>10^Ut{dZHyO- zPnxL*qUqQN@d@7r-?dy?5#j-+#G|l(#%8u6Rb@%OwN~QoCtPEt3Wn&obBCI!83%Sv)Po4DDxWz})5v8B}5G3vOjjUA(e zjV30D>&Rr+M@D&p31ulzJ(J8KYee-{yJMlKyxPsX9-HxIkT+Qt!94h?$0B8`W}&h- z-mFxi#hc`pvhGAX;V1kU*K)AN9Zw z2hY%v8g9&K2S|2VM!{UN2dLJiXXHqW#4Gg!(7M;^EZQltX#9`GwItKZDmyELX)`Pg zJz+7+X4%u%>5zY99FaVw-5t|mStJ%TSum$AEmdj;k#x%`m{b-5)xxiQPHK^@@nx*R z@~6{aYgy!=%3smhGRTTU#oHPS2QpRJE`%#SFlr`0{c|dcuB)VGZJmh$Qr$XZ^v|li zivC%ZTm8>;s;tV5k*4yhya9DQ)n=aUXFi>*3~N^90c*1=H|+zr{=O2|l>4O44 z2DFlPI6}9!ky*jNNlO1H{Es~R_NHyB?EWrW28$O=sU0WTo-b3R?)fq|dV5(rk9vDq zJB@mKS#K6i-S&f{E`rhe{YK{#{9;cAs>PmRtTbNlJ`6?W-kp7@BOmUylYp(ia2@l&L{z@^7VVeZ_-O%({m#9aREgK&oB7c4f80*wf%w9V&qD2t5_O7*bT zm*&3c*^^mPy*Y;k^}{LFh-0lbkkrmsDn7~pbQL5C#hwAEYd79hey3>_1JFBdtpP}7 zKS;x#!LmtybNyU*!J<-wiFcR&&jR2 z=I6=>1oZaMeFC?A{y}mXZF31)Q*5~iO7{^;ulq>W(tYyXPq2?i(RB7`!~zD5J_&A0 z!(uV>6s3lM(bdugbvVYO^KEG#GpFl}?nO?1Pkx}2)){fr zlQ%*l`|IqJ$~f8le)aBfr$;L@Pv{v%CU1K9drQ_eDyhJ1pK8Q?g0A z!{UH3(Xw3e!RR4%F1Yz~q<$^Gpl_Ts6@KEK5u#k-uE)~2}UVw{EbrBB|N&0S7o4_$fY~(X0lQR!t9(&*c=d^c+co87@-~j8WAcHC#?p& zA1AVdOS8BQ7W#A}j>5ZzU6v4xd|auo3HMocf!dA%jR*(WMKM; zTcX&)a*aW3k`1Zj)#!1qB??;N-9jY3tADT#PHSPzfqqLgQNJacETUUtv(=6&i7LuF zELikBb6rx<=u3O@5lxV6&4qD=2uOPAz3zT45 zVm+e-za<)_&=Svl%uz?7{F_TRqfbzuDiCI~TgIr2>1=FlRzXW_4KyNDx+OmRD6b&^ zIhRYb*Z>Q!B|azYvV`Dlz8^4-Fgr?ZGl52ggS5nMI>e3jbDD8utprfd(gXwdQ$Y26 zTCa-{Bkwgn-mw?xiG8Mu12ul{;r?N8(E=8VyWFPd#tSX(pI@>a6`8?G($WT6Z3tB7 zGf!JO8Q?p%isME)b%m`}n^H!U0h%uL2qo4${zD>5#^k#QJqUk**d$STWoUREywQpHpWc?gpT> zEN;+H-|=v5HPOh+RH#F!iPeNkT?y^aVC~#v)Z4>XZ|xha7S+&R8Orc!H)DHk1J)8t z8{~VAM{CV+e!liS6P5ZAv{!=FKPulj|42)|9<3|i2}+%YF?TDd*>4%ab9|#s>sbtt zo(Z=`^AcVvgFvgyh%-R<_0W;HM%L14#5)q#+QfSjzgC65kE>~{m4%rvl(Q!LIWAFT zlfG8CvtKZM+{Gu3CqG0eA_29J3iu> zgvajOZLmJGScOS^F*0;lfT7Y($8LTh#8-0Z9wSzAw$);cb}|Q(stQEjudfTKg@ki$ zX@XvOKhTJ3mLO;#H-V!YNFm%!11U|CXK5g57uF0Z`GckkE-jB3lU0Ebr9bDYZ4ySY z+zB)yRKg?(emK{lQT$z;(IJE2xDd zKy~j4_S)K!Ys;n8%nQF}>&+Ty?hAY%X)bSAa{YsyTCChfE5FCOTo9XMOw$Fir>QK- z=9^nx)gQ9{R){{fFE|xfMlp*>9?~$9bXYb9ey6EXcQcmm5af)rFi&A=EgH&~E4%j( zrR&HLY~e&skqA9!h(vnk5OMa9^&~J8|8IhT^YbxKXJ)R7iaZ=bR`F zCC;-ND&5N1;C)|dR)g_6>btr(!9W|UreK52g~pBIG{EB&SS_`#twGe&wJ~DK0Vg=k zfab_+rdb7TvI3|!{>jTWy85cHe7Lq{iB;<}M{Tk6!9-MZK01s#DyKV_aMUMZv(9l^ z8@sdlmXT@yTgC23HKz&&9Pi z!eZ&nx`9_IEp;cKdM(siqJ)>7CMlpu{}Tf|@jMeZ5)nVc#EmgI;T0#Pg|4L%YlIn~ zvag@Qzl7~H3Jto!H{^jl7*VmbJ#UQ4#LfQv2}oq=o0rO`PvdW9Rbc5m_%hZ9s_UV@ zX(TGOGq@dquClo4K5n<_xcLn9YLUeYD*0OQj9DF?xu&^IvLORbF+`K1h#vEaC`7K& zEJV6Qte++hQR;P2dRoGuNqp@|Wh|-YV1cZO&W1!U{O{r+ZUGJ3(gtgyOrW~-RcKk8 zc(i%n9FCsa};IvwYWs!|K zWL18!jQ=74b%13MsJA0ft)eqc<5H zuf%(OK$zagH#Qh-FT}w0;b1VOdy2HpGw1`GPeSQ(iK@_z`hh>r1 zbcmv6qNpyQ?yw93MfC()MNxTQj#6qQ&^1xG6Fl7YwxOr~iD0(_?P+n*vHm#~%RSt` zwW*L+Is9s+_5)q;k|{*6SFE?l?iD4ux>KXFaQtfpp{vxwDUGNsxQ!CTzcuY63JOg>b;^q@m(N9d0%5^A?y*w@@}9J;UHCTu?`tG zzG=k2T@%T+_`zQBC7@aa&(D!ow=Z9S1o|bH7C~MKuXK)ID5f=WRNP|5zo`6c1C0nd z`KtoK{iB%ozkwcj(WpGzFMgNGxcO|H)DDXiG>tNFe78!jT`k%W6XLZ@vWqNHFa>=m zL^7w#D$u7kPMK*f%+k;|A)2UfLNr-Kn-KfsU@46%Lh@~uCd*gIjbi(g!X*8~rJKd4B&!0!K8mL6-OgNLc?HY&#y}%NC9NUt z1DrmsfE03R78_yV?US|$yDTACeu+}U2uq?$IRR)yI7s6@MTfM3*QofZHH>z*``X<~ zvN=P%-g7_Yd~=-dO0RDxABv`4a;_YMbLyGY#kgKVi%0XdTl!k+nZ&+@w#0G_y2@`r z_0mo7bf57LHJ@n5$4*B=+58SVrIkCNYzI_R3SJe;?E0TOsv^M%zrz=PJ_Oo}B_Fr0 z@!h>4?P$`btgA^fUaXu4AK(qcd5w(ss&sOzc`dE?s)Vx_2iO4QUjX;ER-Af1_m@0z zWOLw|7bHumrR-U#v&>2q)MV{DQK#15>!5me+Qs=rh{$Q#_}ZN*0$@b{nd_ zgGKG?3sDS1?Vl5ze>vyiTI1Mp)OR0H5dMq!Vb2LhREA(BTmVr(WF$rJC zWy-%lvDMP+b>gSj(-R%Lk54G(c1s&5eOKjTnqgvoV_PQU^O~P;i=^_lujfQC1gk6? zubQ2TW1i^Ubaq&`_fyOUcgLvFQCao?TCJEI?HcSf&UjKpH-|ikw=~6OUp<6`^Pw8a zrH6@kP>>!b66T(~pJ$aNOt0+YsQH9lZI(f0E(ID94l+z!szbCH_XValiyI7_pOCEU zTUgl%_pYZabavTE$zspzXX2o!@r$7gcRLois1n z&RB}Mi;b52g0>TXPo-jdZO4|$Ydf|`D(@9u9%})?ddntgI~{;((F@R)3^=J1DCUJg zCq-pB!@~`VY1+>7xS#&9?fgl?LZ}|%(rxEAlAJ0gy@pvX<7wqZ?G<6at#e1;)l+Xza|56YLS(u_}9d8fFgG z#_}7k?=osUK|Y2zuL9QrMH^^-ZRDsoNg2J#;P*p8@^dOKT58K+|viyTo9SD?vhM?w*!KYj*!KbYDgRA%qgh^6y6Od{&<#}mVViLFwlsw zkY?COhb-eSPIlDwM3!6pbYBtkf$AnVBi_i6H$UA`j{==*af2SX!Nc{vZCf%O^)Apt zi`&!Z`?H4|xQD3rqi&{DyG&APgYbd=4OTMlD_vIcc>1>bsidj`;c{UdRRvBXn@4j$ zkKRBd!a~X#Pef0CHEEj4;s#yoT9QpO=CpSv&PUOAY9`x}J4wmjU>eANpZD89wO)+; zGEvgKt`0Xfm0Uuc6YW=r+nDYp-H-B(37;gDga=gRok3su2`)*Ncc90=s`AD&vloFH z-_OTHo-uL+xUGO{IeeYJf?KT@&>a?+RhRxb6(c;{K<5kr6GK*J>|INdX-!lfw?Svh zS2HHnlm|=xJK)|Ch5NjZTQ{bmhnu##c1XQJ%DY^;F6B!jsz8w2G^JRCGc2p1D>%!j zKB1DT$P05oJ{?GDRF=6wwF)3OwAjTkxH{Ny_J3S_R@e33k5)LiI*3_$|lfzTQ-Gpo<95 zh>+`M`4SGu(}6U%c)R>6z8UEMc0d~U+mrFx#{JfhQsHoXI^H@Qdm4x1#(3>;TSXkPn*&N zgV2{iBf>&D<^wup5K4F8@BlttiyzD}wSnpyHnoNf8)F^S2Doa=_#uI-&;Sqcc@(W5lv@&T#m`P4e zb;x-8SbRv0B{GdmGkyu4&Q4)mAfz2O#;6Af_gTh)YMufb5mMndNr$XyU&ctW!r}(Y zpub3_$qkVg&oTnLhB*~eh%Qs&xif0w704=b)eRMT9-!tZ;9$qTiDDgs#ZF_BZr|l7aZS%X(^z9Yutc)og5RlZos`xR};5xz_*?H)(xmqV`nJ! z2AuY>5tCmheHRrR_T)(PTi6&?*)-wG|CwcvZ^j?OTH;`U?D7cu^FF3g@ z&stG_eDl-8HQq;A&>{MPxF-2CMNKk~UL)~5>31A?E0nLpCVU=uQjtz)fL-w?Zv?^R zYcAb76R8ZQ2pqIAZmYUPuxpd{@Mu1*vWiua7%uq*%`gpUL|9PH$Ok&4d~qinbpa{M zE&c#aB{EL|>Ni`xoe@0ql}ugkDjx0Sbxg}Le_XMX300zTy23oBcA>(#Pf#EW|3v$Ec9aeh3u3+5ZZJ=SbPL z%E&b%#*?f2V^zu&Z1!tw*I^;N%x2&CA}ek7&(;WR_76X5nEq;8byHaSn|*^dK#i^S zn8ET)0{&*-!%(Sf@z9k+JjhB}W*PE7PC#|W8(9ij+x)>uOMc#TIW+%#dn5UznR zJ&N!Ok5Igd9-(j(!n9lYDC&43^SE^T)*nUn%nRB}m?a!eo$jhNgvTB+S`S93tw1Bf z0)CMxI%I^}!s&toMD|+_gO<~B1UrPtExIsU!541`@PhEQz4gjE& zEN)Mq@A)2X(3y;RK^mGiFZ8AU2ZJ?{OP5s+4fy7TtEF`m2$yz~*zFMZw|NBX=|_P^ zgoTuKqz+m3o}gEBvbceH;a!qV$HBZ%Z>XMFd5L`l?mJQjJZ$v%nJ<64$E$Rlz`S6Z zRSCR|dBJq(z`P)pq|FO$k)t163N7zIkC#{F&EEPT`_8FAmBlUe<#^P?m6xOG?BqLM zxgUj^zNO97_E_$7w?i;k5y(?Oa-~La7Rb(d;id|3!Fkr73Qpo+CgbLM6>G zbs&!7nor;#uy|d4aZ-TlCLpe3!Oeb)W1@bu&)PFHVcu|8gJW-(D}>=#({ zvn<;BS-mbSqFlYYxB4G46yv+~h5E*K>kRdc?8xs%hZm-nodXSY0cE0)>=*j&()g! z2fT7DuNgkC;lfM5_LuH>UdGHfI`SG|y3@(Ln1_Zg#Gm+M*vJuR=n-fGf8syCJ81oh zyxlLa_LZRN1C~!P*ng(^@M@pPTIay|EF_6*73AtPvx zU&vt~>qalW!m1v|^u95k-%>YJ;-2HudK5WE6M4!}GvTq*at=hl6{zlZ)}yFW50yD; zBhVy^yUCa0geQf#`!rGQ&Qiuwv#)3wXW#iNG5d;^aovnxa6s-JmNN`p9B8N2=fu^! zU%Ma~5B|bmnD#W&$AhNGL66A>s`K#tg?XQXdp6MR7B|HgtbcXfwAuI;hX9?xrJJ)9 zFWA>-3B?2&A}G3B~E7*#Hps zwETiG>lo08u#mp7L5F-h_zQfN2{RJo*Yo{LF3nopmX*X5!b@Ahn)GbTHr*HVY@iV# z*J2hm;2+_LjO5b1HMljR=*n$bOoJyzhbP4LRo-+mOX^S=HSs4cR(T{f2D4sMftnLw^zyP4Sy;#2=&Ne(HGl0fh+@K-9>`5WMM@@7Jx~klejZ-pc$R-}$kPj7M*rd3r z?uAMngzcW?)f@6po?xEyGVd!Kok<(`s)EH08ggTxS{@HKEdxhqE1(5jx+bJ}L9J#9 z#f$TlDj_Vj{DOu&3TQ;gb*-MV)=}3IS;*z{@*8qf81vOz(tc^pMuf1?@(UXB3qT{n z0)CO{I;0^_qf%(ddx;<9(yYaYT1iYH>^O(7rC@1Hw`_xkoCGu?V;HeAZ@uc zFZtM6z^g#8M|_L_m#~)Q6|{pvKqEq~c@2iwC?eNz`MgwtAl=IxaTnpSWv0dg7R!J} zgi2WC9o!dEFB3T!h4(hlg#Jn#_PWxpu4zeXyvv8*NZb=e61%A?$#ot{TS!`yxXF?P zZK9JQsrN&*T*A9+aj5TN=!Su@A}XsgLnl~Oqzj+@HAk2vHBa8`T+YLyDB`t-SWv4F z=RF9?J0wnulJhe|66QpuCh?256Oy=RV^m2LNnM~Q@SYc{6)o?3NIH|)Gm7LaLvkJO znN-cC-g_Z6n#8tIB$KP<;t5u|tpOGx5?6ES#vvcRDat90Rc(H+l_GZ4qI?r+Yuxt} z@TI;c$Tp9l1-}PW%X3e>X#=Tl7N7atOtZPqj)DG;{zjmBPb$g(!vWnhQ@<^BeL}AF zpWotyu21OF4=TM!l@q_(BP}O=wM#l?@v7;{yfrpGA!6N?WBc82B=Gk7#_e-sLQT)@ zqtaf%BYiJ?pX8eFjOosIvNJfqDIWupFa8&GE8#D*-Vdc1H?$O>=@CbLLb$~iFBl_! zsKO&6Y-O}~NQYQ^K0%3z&*5aYlpXx}tP4=B#4SdNEPT!9y^Ld3j{TU=dzm;ky}NJ~ zUkX*JtHF!{W@iL)&}MrOZ|c(}soKG<3&ZLx*yY%-NoQNe+Ou~#SLUUX{#+?74P|=aH`iFJ6IC0-VucT?$B^;?+k@X`>Hly zgo00dF5L*lr(9_UkUUDyiBT63*0St^;d?O9h>+_Uplt)be?Vj+m*({by!ieB(Q%lK zmJlA}tfc$`77qZ82$g2Br9R(3AhL-|vsfi8vIOZr*YV*~!u^&-x@IH>+JitNLM1Fx zTi|+*d7kcK@dDi@0o9G(x~+NjPRi;xCBIy~ikUonQK<+w9)6 zxWEq7rg#JNRw2~e&6WhV1bV4QywJpZ7QS#ME2=(jlDu83H`TrI+nx@)em0X%ekSJt z)vELSwt20=y%K0AiyO?M*Hy<&%i)7Avw*JR(uxoXjgR-CnDoHMyCSCPv2wn^P&h0 zP4w6O80&|q8kfdo%AWziVhqoDDy;$m5}|6wrAsJ(#1PbCmT>%_cS!Xh>}m5$_e<9o zXhg_GrnGMGx|GOpE}xgm5~K_Nicxb2v!hrn0vZu2VKM4YCcD>(RC7X~TQ5U1yx@dn)<@=9B z?&i|G-iMbe5TtWS+AQEG?YsmuB2=2i*X6wbL*zrjl~v;t!XitMhBu2*e-i$9ClG$= z`YtnM+{>^KDy^NH7hv!Qa^yCH=Q8-nD7s9rBiawQL^cy?tCtdBi4e$2@jHj7D? zweT$tvHTHW>put7t77f5ZTz&;plGHxMHOEDC%epNoZ80KJ)m&?{V}TX1}|Px*l-o+ z@-}+-rG@RvT-A7!mtIyln0DUySufsG9wKs#96 zMt(IP_i(M}N~QjaE41NG381+5#4wh z;~(LwC>Do-MubYU$iP*2l*r#)n#HBUB1@1SUd8^^U~s_E-A7|SwP^tA;V5f&6a^1TjO^!1>3o=wVNu4Qa!sDJU{OdDet*9I-s_=*iTgj`R4%v&&DZ~Fyo6Mk{q-2AgV0txQ2`c4#0bs>jTCWayquQgjy-uZ`jvsmp z(3FKn0YCcrd{Y%S*kD^ft-rxG=M>mrAMcC*dl#+zX2WZd-+G7cwla(JQ|7BDop=AF zM_EKheEoA*=4^vL@*Qc?J|my2Vw)DZso@hK;l$9fBln6)gwW>=&~iZsfW>5)@4Q3->BmUOtq^(9^3 zR!hk#V=H8-5z<4fCgdHKzLJm~(TNr^w77?rvCPQG5iBd>o_`TBw78FzkY>VHJPz?$ z4XcKrRc;~!-;=B-1>gHClY;dr`;&roDqC+alfr>cO1%${o|bbkbRP7o)9!XuY64$0 zs`VyQ*nFeYO;)E)#rZ(B6yl22?Y0ALpt3K*_-F%Pgo#J{B3|ffRvBp*u?-sx+i_fa z;1Mx`aX(A4%;2T*I|vJ{K>d7y?gJVTa_OjPBRE;Qn#c=WJ}=*ApwH4}3B~WMR1XrS zSbknbIu%EOMude7EKlnYpTUzT51&EoTaa*R*5Y!mB&HA+Vv6iS`muRNZ|T06J%C1p zT#MO)FZ7&GWH^`RCEw!-cohit*Xub}NO;il3hHYS(1?(0UPr!n)O|!A;qrN@0zn#r z2lREqJy9&)0U8l1VNtpq%kpPLzU9&^#ImfO4yB|iwbz-=bEx=7(r)A<7V&$a-NuS%CddJ&-FD&VyEWTi#}TI7K* z1-oeT`+Q}sU8I40$K9}R7s=7=i-rD?D>)HP_$1d5p&l|(ZZo;5v~_p|p66*VmzMDx zF&1x!V=o?5u@H3+$Eq&~4|5F>WR*4%vZFlx&E=D+V!_CET$Qw!7lOEk2#!jNXZ_ut z=s8?9&PQ+JCtv0KNLSXx7ctc#IDhc;w394OdR~}#CL|2Xxw=|^`vSkcJQB?(BK)OQ zcF|$khEPu)HtPFm%b<^CpwbTWs`h%)pXbsN{3cp25WY+Lht%hUYizR!CZlhGMubYY ztivN6^&62IZ(A1PKMxd_CD@~D^8F*y2U%W0$Lt6+BIKIai|{G}GO{u+6f#;Rj0?5y zh_75%Yr^WeNF@ePY#o!cB7#o!<&uI;Y|xpb_CG=BqwB91t0(!+t8Q_Y;m< zN8}|gU3U2bY$d^k`eznthX|Kg-swK?AAm-LTnqjK9?cU(;@+vmOJxbt_BS2X67Zxb z7VUvXgi5n$d#0n#0CIuHLfp5N#1ZUT2bG#gm~D9ldYlF{BIKG^4S3y5BBAWK#!*ajR?6G{APId0CH|+UMfqFZtote#u4_2Vo?q>B2>b{?X!bn zV*s}WKpy1M3OM}?ZJHc|WwEI^0M)2d>2zVNPI?j? zGX-A*axr|z^E^3x*-!bc^H8%V1>gG_pW~LE#0uqC0o#43w;%=E&l#KJv7TJ-&IP`# zWALjSOrE_8Ch~dYPydCA`0fwdRZX{u(}ARH5qzB-Z?=mm(q%fBhUEUH?nj9xeB)c)(>)!0PV9 zdsLpn3YlKJ0^%Ix1_=cyH~6^z9=7(@Erf{(kTv)u_3P`?^v`9%W4Ro^e+BsZt9V|E z9fj&$$kjW7y{ucH1n#pkU-cESmvudqvpy^H_r9EOp2lvb>i3XfVenKq{Nf?t(F&x0 zeUi6#y~o?T2zH3)QS!AbxgYM%{B2@CursfLXE^vYL`YM%*lFujjMkK zGd#Zmp5av})rgOt6Y{Zojt|1neOAC4!1pZ%f0cuOKXQXqT^}EF;fB8o4%ah~o_=^`lbTkt(A1=ktK4N`T&b(QZYuS3AT!JplYoc;J{ zgmi_|gOI9xAB%r8zF)h7*UcT@Cy*PY>bi4lA(MR`56|MGaXkcFICA=}+&`9FIRkfe z=xS*0YqQ8}sDoy6|8&x~@VB*;5IvX+x_kzTj%nr@XBrEU8zjsmE!?NSJA#ks@7CaB z`g@Bt|Jv6e5uju}KDv2w9(smCSiS)lM-RSVzdU&;1IP_hbv={{;JOG82k~)mSxc!< zdq7#A#`m!l6n7&xNVNz>{z4q5KfuEgQx2M({^z^p8RTjT-ltVq1W)|~dhg$md&rc9 ziek!UJ)2av`Y!Ci))bsgD5sV4f+B5j?y?sBW7Z%f0rUm-=iPWL=0{v||1nU^OF{A8 zR1_~IqIk(cF~9hJh{dSzRb9#a7MY%@m&ETlWwmc{_(9C`Qo>xk3}!EUKXVz+JhX5# z#Miwjf`k-(4&J4|5gYw?bhg=4I_y+h_ER%nav$nnFdLk*&z@(^uK`!70j8YfaVd|^6{Ej_+#prgbag)bV?V;fi}+|<LTsOf?@)tbV&lz0DfeY{VMb^RF{nk>-P8nJ`a)VThP~<-do%S5$#Q%d=C_~i?7Y@!hPM%?`{yRQ|_y-ic5g$FQnO{p77GXQ(`G9plzKcy;?&?2` z+#prg!+OtE@c-fA7x-vgCUf^8>CuH z}d^9dHlX`Gb>56&acK9wexLk4_ zL2i($Yg{kZS=MEE_#{3KE^tq_o$SDwrCBN2PUwz}wUnwK__}R<6W@m}mZ(%@aI=Jypku`CPLxW2=?S0p zF?`>SPZt%2Otltf#Io|>v@hfFJNW3jWJ>hZrSeZ>_I`rz=ke*H!iX-#g#8wO`Cc^D zmMuxBMn!*h2IN1$=i$>ug{}GfQ0-(qmV2vNQ7X}YhGnhC_a=P0sEoDulQ4?5;jeS> z(S6fK(W`vbup_E%zMLWCUnwv$9=iQrN_8H;2jj(eNy_|v4!J?9PV;x4{|CjmuW^y@ zhsX#RBcUq+{RX+yf4>uEOSFLUrAzM!P-(t74!iefsdi`P-%&32CDYSuRweX?a15U5 zvsM6}mC~D97uR;(=-I{E9aOfT#4`65vJXvc;O5E^WE}6 zGyhZXQy>tjkY!HEeh6PMB8((KAl9e zORSQesCmfLY~W_l&b(hr%}DJLgrsAu6#dtgSmma9cOR#k!$nhJ4w~OQ^G5xMV1oa- z-)|lCa~A>u#)MZbyex=k2Se(vI; z(}8CG%qdruQu&uJE?T)6t1^4qTn&HpV(v-);#bhLef{x^i#{^~d?y+BV;2|QOFdmM zjoP-aKXgga|NRR1il=b>$1g6r?Pb7EHqXZ{F8cO4%9_7CtLyiK@AZp|Ub+bQ%5shs z)AKVI7u^VIpT8maC*A+cFBvL9f9c=dJWA{0K5PEMY4wnJ?dy+1{5T^AJ*`6PZ6pO} zTjwvp++-V;EOmtM3yM4jw&qseZcxQzF$9|yX!d%kQ*cnKo`7Of5S;ziTV5s9_}#Z zU4Fdc6?5LzF%^|=y9;)^?UfZvwFRy;^oIZ*o0+I~6+Mk$u>7{%Phg`^fAc^3JDmSO z(PI$1boL*Dc!d}7!ZL%nsEiOV%B5ez(wKhuTfcP+>O3~gL%PA4p<{ySC9D#?X7_&) zPBCx0FZVvS@vWyW&pXRElTiR|_U@vqG2k89L>m+X5t zP}TTOHN9N_%UJg} z1>2AGL_*HDvwf*FlmGo+_^oNLB9bPh>Z!=pLf}WdRf|t^s;)!T2nroBRb9F5 zOsP7ZtKt^H^L}d#xgDk~ly#7p7mQ_N1f*ec&rcz z4W?fSCbK2vxCU+s{AXg8aF<~L^K-p^K z-knl*LrU2vpY~f_$h|40?4XpDKI}R8B>&di^?+QSQvOyc&!$uK<24xS{~Nibrfj=2 z`X{9<8-Wjy(f=-&obE)$|3i@%`gz*i1<3ua8LVl9D&FW2$evF<#w5Q2#g3ZF?o6$h z$~jZatTv#06uE~?S(h1JoK#km{LF17LQwPnu^VSK3VjA2&G#SAh5;)!GGfixRZLuA z`;Pw%;P18bmS7M|319G5+xi~9J4|a8&V0N?P{KxM!1ek&9{i~OM)1oTG^KtAHIT$Q z{Bv!!rz2Od{bgtzjJ86zU%QOCQhTZHLhU;00wO<(TBt|s=bl-~icm=ah;KWOksfwB zvmZ$R*Z0}yeAbMLlMdnQ&t0HB`}p4jTx9;OsCE?!eFz^tbZXsmd=i4c{1x_3d>=IE z3mo(hAvZ|XiBrzM3b=lNho|syaKZkGN9#4%Kk?m@f6FDd2qfwCI z+S45>{lr7?gW)BI$);sX97as?gwUi2N`Z}!r_%2RCaRYLLR7<1y z3GVlN91owxN24H1v$d28eQg^Ir}z$}pm-9wL8?V4uJYYJ52kfkVP8Sc8~A8EWEu7h zi>jOfj=A{v*eHFxi0&+xAU8wWosSkT7g{MhkLnfMPJVWYwE3wW#5+n>LF}R6e>t*CYn^$%0CTd zFGcPpdwF_qbDH^zl)Xhav$wP!28pSg3O}VE&mFqc)DW=^Qt8x49(y%$2$cT}s@^f+ z=rQHoiFr{liy`<2zHUgYukPV4ptAnwyXE|hhb?Q$MLEGgVlepVb)|RydDivsK=wDh zPGuwDM-7Go2SYP*gH&D9$j3q7op|WSN8_Sj)bik>(x*Kfu-=F7I}9#YuDJ=hL8`8C zZ9$K3$HV9G(YS7hfNd?MLWf?!`!Df5Y*5rV-T4V}gH%hC&R4$TxBiNUDpSr~;yJIG zB_^pIWlMh-#ml#+*`!kVuaDzmFRE6f(CfWCXKvLqlB<$-kri~R=Kt|Nzcq|P55!DW z$1V1m#Ht;o_g;wrq^b7Rx)ZHM8#;k$s!d7;X=GzK`SD0mJrEDA^20#D{oT~G`2{rVmDD*Nu zns8`j)>5i>^`3y0^M8<~a2nCSyZH+W@+{;AsTL8=`M*UpQ${4S7@1}GXe_l#mYH14o5VV;+csL&)je<1080nGUZe771D1-d(A5%?%_ zgH%hS_#|TQKZA#R@X;v9M}Qyq!D9e7BA&!|MGA`NkQ=00dMw#Mfl$BWc((s+u#iRH zvn{ED-3Yt{PeE6X+#prgJ$mp8#D5@Xli(s-v$d289bSyv{`fwAE^_d%K&LdQ5#$D` zmPYYCg!5m9himZBgCg$$tbBNU7#5B@@%>l|ihGe8q*{7VD}Vxn`Uakl;iIvTE#EUJ zs*rO#co)9!PC*xV9q6b!q02u5B(nrL$6C1Ok2^g-j9h1X&~=wmP2@_Olqd*To0wn= zAZrhW4wtr{rELSmr(q1atn|Xqd7f{&tn?vVl61-+zO3lsD;zk&b)g-jFP}%NvrJze zar!d#FaK&^6575grS19K@b27vv{H(Xo>L-v&zw>ZJ_!M&1>ZMp0bwOgH&Cw z@_TVZC5DF&;G=O}fc4oc450GS;l7S+nX0(ciuou)c)v^`;q* z;E&uOVMa5-LH#`(yhwlV4Zcf%pKHzUL-Q}-A>*$p&DVIEuhGq0bx)$`2W`J~3W~q6 zl}Fa#jBEpPgM^Km{Ehw|4*o@dMVR;l7iw~<;+ED2qUj<<<(GFgO`j@_P zZUB#KSrpu2mBfK5%V2TUpD|!z^(UiX@e9)f)*ckgw(k@5C%+cYH=xk5ChkCmLk?e; z4jhC0gU*&NgRwYc&SKgn5DH2weuECosp3ZvpIv2HM^Wcz_~>b&xLD7$5I+A7eEyE% zn%34kt>qv$NY!at_Iwvg-LsH3%8+}|l%3_2U5i{jHP502UH&eVe;VcA0myJl`F&De zesihsXEQA8O60=5Git57#6W4@nU{wA))#%Z72+K*c-(#kI7;EU%O9h^KYuP9v**^3 zVHZUnMv;<#NRjQQxka|Gq$2nGFTMul+h-C+EA!nN@6S<*ZhJ7^`sEsd##_&Lf9Ug} zuAP7RG|SqLg2x+qh2z|39ER^luAWCdKy9 zldA8~)BxT0R+RlNa(|4EUVegDOR1o`2;wWguQO;$oF4f8iB+dsw2EK#Fa8XiL-z!i z;4LF@Q`Xfbs!?`1Ei%fQ?_ui!fA&;m`94>;e2LN&uq&lroa+4sO`;wGMTSwjp3w|j z-Sit-SD}DDHLXB7c0=Ghh=>YUe?|?TvLbn?NMBX?xKvu^J3Zf?wkBt-TAedEEs|H6 zQ=8wD=R=u5u9Z`mMWxkJT`9vUo0D8NbGnqxatdjLF1qY;%huSY;14u}w#b-J8M{w4l_C zWfhj| zM}3N45Ssd@Cia>7M`%w=&1M=bHC@z;Kz&|LgiC*vEx;c&g%(Xxxp%%V(ikhuA~_X9 zx;zS3I&Cq57W!)Quk{uBxWN?~YL-{;2ZA%K%BcyggBY<}t=b(qx4+U5on8bYx>ZhP zvo1958fSixNg1oJzS4&&qd(VpE6C0yz}hm)Y+2n6UgO#dtU)A?=%OxhjkrJS^aesJ zw1G}fMC~2OdP5|-lQhruUTU|j4Ng@(v%Gv8y@X_04d@GYI`t*&6bC|QI^B8OL@dCv zHe=Z6Kf>7)%QO0jlc@(x?7_v*=m2#KwfWsf@MCudy_O;@Lbg=dCnRZ#3Su)+mv3vctSE}ZE!;!YmkE23vX zuO;3q;#P6-^2YnB)B3qE6-!XaVG^sE{E|&AA!@O}G~^ zLAr>=Th?yx^y4PhyRIZP$pyqIrw# zWiCRv`{+;lPXi7TO@N7A89W5iXO4?EdF1$rec~4< z6RVhEJN-YO`p1*mlV^^O5$_Bh@)c$g*BN#2=y^}Z6AysdtjozM3`7h%8uZv|rl15`Do zA3Ntiyy$HvMQZj^mM>^?U1oY*_+4vl;p3qFd0fn;j>~;z&KTtoy26Jhtt)+|hgd5L z4l*;1CugP)BGb!(Y0oig%X()LEMcR(%K!(bRpm1&UF~BowWhFiZQ=jes|(9$D2IF% z;1~-E(Vc6k0C<5e@DK_t!)s0fCT71Ve*p;u*ZOGXNwgt>?mAzdPaolW!3o=Y+%94B z26^|q*E38i^gdse5w#8{b&{ah3yQ)5VgPH>qCIhpcU~8?(vNn7^IWJiZzA)wS_mJ8`+gCG~MK)aW@#P z7Gz+{y4gT!()HFO%Kfm7o zj*>Dng_&HA@;~LthulYp6=i?gN87@}^-?-}Xmk80uaFk_BYB5>Im9PEJNMQA3t>C)LebQ}`;edgM{nyWDa*kIH?{2Nq&DfbR9@Q%Hrj^4&h>chu1@_!dI6 zB<|Od)0uOYuJvC@d8Ap=ek>@osmeVvX@ylpm5Qj+VUhP5a&ef=m-J4;kLXEP%&3^F z+{d^uwsnLHY>P%rt$c;YN276;2Coj1ww;5C7woHyT@!9$K4CeXsg6kM0aS9LR5aeUJo=YHg60)C{lA3ww`pEq`9dXbhaKz#17jEl%E}C;d^=OHS{)HrH zB(FI~?+d5Ii%BIsY~m&2)y%1KuJK_^zjS+uQSofO?AG_p%C$a-1b8c)X8^qRG&R3M z6@4~pB+}JiOKZs0t-Z=z%J6rZkKZJ%7vhWg3{c?8%!7z-eupF{$H~GSdN#N~QD2`bAa zbMzNEiZns!j{lXbm}O$t%xnKQo8DoZ7=_Zy+#lzG3~wBB;G-3-Bhz%y;Du@ed94N1jm$@xJ1U>b;n zjH-SpsQ}9^`27OiOPW#Q)Oek(f0dr^n=xTD;tzX9A^UDY4vpm_=^#OZ+`?V=92g(< zd)1~IMTC88N_}QagyCa}Gm5!k7IDNK1!j=?!wd@Yp9|45$wDsu$bhrtCZE^zlWuv9 ziSUs2RG`=HHceUXfpdlvE0qJwP3vM}D)X)2kT8p7kC;;M{tS=x9X=?c|{nrj0 zhhIb+WB|Iyk79Vq3E2!1jf-CbgbV~<*59lh->3V*laN^YE3$NE5l+ts1L@a>;`;@J zF41g!6-c~V91oLC0S_d>BF3u8P-}1>Y~ogy6@s%Q;Pd@$TF~<0A4Y%={#c9)B`|>C z^DcZojL#SGc@>{B6u?~oNV_D_5F>&Q5Ke^#d??gt44;qT^KE?K9J3ang?4-nSw&bIW1O6-|b{_qO3(c_RQ&NW{&_aK8BJmB-Ul&nwH4^_3BG{-gBxzm)u(k~b*HrD_F~lq1PnPk%)y>850ml1nLh4<#R?{&?sB#!ut>9LHGT6%1tq?wX7%Il$Im>w^t zzurZEy_f#Fi%@--9zRaWe^TC;=&uJTd6<&NDDN3cUZUiB)W~{`{!%!7^h9J)$EW7u zacUtY6-a`skxbh_NfQ$5OeE8zlyp%tK*@eehA6or8#NBnUxz8VnUYT;neqiBxd(wh z_%P*tA4%{DN&G*@OlCT^lKEX`Py0u2i|VfVlPS z@1el_igJ}-pca&?lM2*qx2UbA0GBuq?LWgQmfNff%2ZalnhMgvyI*GUR~CI0sJZyE z%hk#BRi@_f*FySQi&gdqR2hZ^|iqtpy^K)ky4 zQwy9)$w2qA{o)9>XZzI5 zovNf(+2!2L47CVw@v++reQI$9hT_XOjMRUnnws%#Pg%kxUVXdB*P#~dRO=emDYZ&9 zszo7H(5N!kD0_*23a?l;%1g9>{Q>2xh1XFpWhMX;mtcP^QvjKY0GF8f0{cE+BH$JQ z+~pTQhQf_<{{sRj^Qn2Y>ZCHJ2nIeQz;Y0T=>bFD5XdT@%5I{XC)cW#jo!)u`Rr!~suhw1CojB=XTESe7lEMX85 zk~HT^|0!;+1WnC3>@TI;ccyX=oSQ^bJdCP>SE$#!cHDhWwT zK~>R(;|KpzP_+ucMU|l&9~Qu))T?}V5E2nMr;(^CBkO*A1+r!$&CqFZh%HsBXodnT?bm=xBt5;`CEuTkWZd*d$!m4!ZfY{1R?!&p^J$6VQ_? zk-YX5)ZGkfV2a8?1qm0n|KiX96Ou$C15=~_B&v|3F-a)1{Y_Bm(lS+6#ynuE=7thN zZGQt$h27Aka?2D%$jky&NaHP3v|x4zaN+ALwHRN%TA}h;>s4Nv3N|Ub(2G@qxb5q} zrlx9=CpI6Ls)r!a;r2%XRds4wotj;t>`ulI#BRZ1V8X!dk^}_Pbf+b3-G)!Wi+;L> zN&vk53k<2CPT6&gI9E@HgwfkKIa|fAh-1AVEhcj;xfPJYvE;@<3dd?V&+H+WW6jVU zt49Doa2AgN2L{RjN}JpRVR!ua-Be zg_=`mmaCZ+YEGlFn>3z+!zwewzOX~t%b4=GD{>3Q{t2e9yc4CFGtN|b=#SjUvA+js zZXGeanRRp$;cuaVnR-6uo{#+!N_uD@Pp_|BA+kS&C7i4AfDG1w4EFG9<>|GQD@yv{ zcZ!`}p&HB7wlari^3-(nP3}I~{{&8)`*PaN(k;qOD*I?+e`e{1Q{hliHv6`_yT5s?OUG zaZtIuYJV98nlvgb*Zc~#9Nnu`=w4BUS_0xSt1u6eU$$Rv)7p=rmNTf;A@z=06~(C! zF>{QT9V=L->+0Fc*J~tqdhG>1wO0Bb1g)Eu%-2JdE5&-T>N?F3K{}qTb&{3?zltr|Jl)jh!^gY2XF^X0?RA3f1}#(BwiW zU0a~0Em2Sbmlo1eO>IwMKtazCWW@+`%$a0S5@y+rFANEkG=D-p!mzBwQB87wGjDbDo}^+4AiPM>s56ft-rrGa4K58 zs4T9E-=S1ip(?%tX9^n6w9y>e3ZanwlvSpt_Nf47_bBb3to3Ti61B3H1P#=wC{}Zq ztE_cu<`R{KW1>i5t}^Yzmw{O7)T%N)vNOum$>pj9+KWA3#z<`sqV2_<3S#%hGPS8g zkNZQu`^~uh_O?b<&9U-1 zje_xN;OI4=VqNL&O1)j+zf&=jvg^-EO_%C?%_g$EDPv%03Vu7=jDu@%S#RyP>2G^U z!hDT~m6wahR^l0FO24yGbH*8A))EyaO!gyKGPQvIY~&m;Fn%Iw%kMmGPI%IF*Gb8> z39!=>p6U~xw$hVRPxB_H1r2ka&Pb@&lJK-K;VH3aI}%{c2~Qj7$!R^306QxIwuPSR zWqg|wO6pDL^i$7-^OT6QE1_Ou$;8=BoC!Um4bpnz_!7r{c0vnn2~Uab>8H~LXX1S7 z7MywMOu({`o@hy-{A#liv7jtUrcg4Kl4+FW-ic%;C9^1*L&-c!PNHN16rL4Q?JUKJ%PDXF1k4JEadtfM09DcL|t1LbX^WD6yYlr$4y z8~xQve{H9~+9^5n33VoYW!R@c3bG;Zo@v7}guiN$eU?7$&&se%{b&2|?9ZUu0ZQ~= zJOPBqGXVsh`Gg`Gn3++b7M7~WI<=6F;XI8lFC%Lo9tX3s zOseadOnUT8CL!R-q`zt?NuErqvEd0t6tN-0UQAQdRi-xEi)m`QXlgcQ6a;2yiD6@g zegDP&%``t7_XOtCmp!MKzMiB53g=TnXD1yzc2!4bryWGn*|~FPr(HmQ;jrk~<^8vF z=T1DHgMaTh`|PuKy#vp7cE{Pf@ZkApFX_-Zo#&i;4ocu36+9cg`@7XaYY4S5c{STI z8mZ@J6j0it)2%vf(rHAen{^u2=|-K_>-2P;*6DPuPFL%6l}@X5x+ujI0ywtR=x z$_^5<=Mpz09e}LpzKlYoWKm;-dqyWTVq|2EAq9Wz)!BiJh%Oz7@Z(mkQUuZ>GM4)j zA|g#CFcG53_K1YQz&5Q21v*p>o*O99xvq zb~|~Goc%q=bhbd(*m9wd$ZHSn+m%mEZ&nMM)b!;lb1Pd!*;Fd8S+xHfWir+&xN!pIYIYga9PS4D7vyb^ z_Tg-w%5TC3XG0T1<-L*ipP=4DCtP5xq<%fX;}@9$ejQL~kI`0+AT=Q`+SS(MlqTd&zG<3} z7Y3&`0g^OLOwkTNc?Yuns|;VGT7I@VwOlQaP^t>m^2?Rl$sL-a$1JZ|w(mpNi#yfg z0@Bt?YI$B3X^itOH}mo$=4E=l%4}5GBRqKRwacD<<|E*f(ojLp{%o{45H*Gip7Y6K3BsP=1Ex#6y%HfSIT}%q-=n za_qGGv*&8F=HC6utn{FO#ygee2Z++Me{NlV@F;!j@{39dn~qz*?~v)(c&*FNNTqLG zX?7_;TV?;&=PUDP5(`N|b7;=xQFd%lk%Wt)%c+2It;q2Q$ z#5$OOIV2B7eu-|P1A~t}`4K()j;UbC7pPec z6sl?V`!4H%4YmwYnLW}ABlaFuWd~tzx1$|uxxJ(op)Tv~2dx6-uT{ArRbfx<)%7kv zalM)LW2l$0R?VtZnSI<5j`NY9q_m&RgBVqOw#vUt<<*kdtQCgka1=pQs^e%Kc2N5l z!(D~UUR}gjuE(80IJzi5 zW@cdyRCq2R ze^qT<%`8$uI0$O7HITbZ`LCrc_ze7z;aXTm;q5FxW1GC4xn=pCT>E+uP)%%G&=RyN=fL1%dvu~xc#3tG^}a%lnyn04?H~ZPSvWpaEcU?hOuO&npH?VWyUqCbcqU-DY)2+psp0E zBKU9mROLE)EYXhzmw+#*;zDI>P~LiaJeeLfsdcD|3>%&~NT_hzW01uE)XjUVW0n?%U=6W(68tvgj zW;ve2azF{hjKaSaFrk7>kn-E{2?WVgDL-SccbNZd?I*-Q46o!4TqjK=ovPe{I|VvH z2aZV@?~dROyec5t;^TCnElxGkOC}bX7ys&j6)!tganPeWw)SFBv(+-3eVvCeXJ&Jb;$U8+m zz+nO13RZ)FhouQT@+N_PA`|4Ey_4c1p<3jFGND?8=nJuuhgGP9$Ic2*&CRB_Y1N@t zfsUsR`SlbXl49S^!r7I(lYFZ4;c=~1f%j<@ADi6Y%sZEdQuATctaq)LHFgMSGOY0d zDV)R_xs_uAO`;d(+^-8Xm2*%1i0Php5x9E=0-8+s4ocyq?lGz(0!=;gaoiWGLY(g> zJlhZ6V!Ar++5WPWNPD(V{ivxw-q~I&1;#tu_ez1(v%Odgo`n>HBlTE!csM- z=EMI1DUkN?e?g#c>)FmUkV`iYDCF}u*iwjuIN9`zRg(&V7WmZZZcr5iw~PlQ9qU{H zR{GTH!21N4uFb~;h>$B9N&?y!1en++^QzYcn98fB z9!axJSZyc}P;$KPdI6+W8}LOE9>KC0B>3Mcu+8; z)jb{;Xp-*1GmHCBOnj*`J4--b2E;R4BB11%-6DXrGdnEM6VB{|QZnt#9uw%qGn@O# ze|2Ub6%1)-_8EaD&8%71+f3_MV_VO`ncd0K=gC@ftr6%ofG#{+6&9+6%i)gjN~m!u z^Abgk&D%+b8LZm#8p)D7uUuurT5ohLKKAF`Zkl`o^2^Mvioz&x?2+;YokIswAzqYD zVTe`u6657k-KAEk{T!sMMD7F|rAIDcf zDnW-pe?1M>&CFeDA!4VXaKZe2m~NUtVw%}pqo&oXli>bIP*H0>ZQB1ZBsAFJY8}L+ z|FsL03})GNxRt;o<4zqA=xdPB7Imt%w|b!u3iPKi`D5iuj3t-r9uw#*m^#k^P^3?; z*9H0ooLul)WgB^z<;H?LOrMi9Acj^=2;DLclm)6?0(}l^RkUBtMgZB92q2Sj(PST$ zGJnX0yjQVH%~-FBwACaNL5meM-4Fr2y8(P-6&U~S~3}wGgA0S z5iTf57i*;Df;77rfsxoX@Ff;z9A;-3FLm>sX1QL&y&SdFo{50ST2-Q*W%~L7OJ#RU zv72Xth_iO7m1`ks>uH1eg(eX@m?ja7K)bIXsL>NNLi(cM1vq<=LN%O<>70AADuy_> zlP<$xSEW$?gLg@{u+}r0$todxj*p4gq=5IB;2~wJd&@lHfa*5Y$gO#aOGeI=vsscJa zErC&b5YkDjP^&8RVju~?G)8eq8Tck1oKct&7xx&knG*8?Z~HT1mM9?KU8ONglxSvr zNDBQC+-Ba{3W1x;3Md67ot7|y$ED<(JQ9o^iMLqlwS5e{XYP3_(_9kaxm)i*F?YCW zwZQ1Ce4Mlk^chm7FH-6Va}LZMhIyMn-w%qLzD@bpGnC2gs6f5sM)QSee*yiLx`Y^N zGhD8ii&rG;4yRTu7Es!X?E>{yWSn~iU!sz+YQ`n(5B@x3j~^$&r}KYwG{rw$oEQtBu2!&x?G@M;^2xm z2qT6iDh7H=X+>Ga+f^pb~+4XCkph^rImmd2sEt( zv|gZTC7?qBO)CK%5olTo=s|&|m4IFrXp#iP)c%G*Cy-+L?=z#GtQ7MW#g{iDyO7|b zWsHdh7q2ihj?{t^4}lnh?#+uV4}8_k&cq^10lm~6|Ln9Pixx{LD07lx$tjxGm;SfG z`CYKc@;dStX^n&xtStgfQn2{wIv~)rCQxRS_ehx}M#(DLQGrgNqGi#~U(l#0tD@a0 z72f1|%xCHgQai1RHtXxAGb!>CPgt$M(@t2wKqr{6JETn7342hW6HM3}Qf9IfcH}`b zsJAp>$E0@J3CsGQ@g|JbrwV~5u@>CI!8zO@(5FD1`bG{@C)<6`6=;&7oR{K|K+`%Z zPSZl(JyM43g7xKaNAn?Xs8gWNqxIRXWE&85o;Sd2Qs8&E^Gx@^R%mxnULmPHup4M~ zg9Vkn51D!RKExQr_(7)9`;3Y1ut5KgmS);{aA8%E_re$l=<@C(QslGf>S`lUuu}hw zfUW=t`o4}XWKiH?)2s&7v7W>`zeGUaLYwf_%B|@lZANGi=+_A+oRJA4%wB}VY%dtN66zJ~%?H_&y$0yqckDOoddG3z2oDf+rp0K!-+>k53}Zh6G?_jv?h zstwv>h>NgWjcCq=?vz6Bf=~<l5!I3^)!~kER*ejMxZ}{$ULQ! zlv${^tDMo1%3bgc(~0YHVH7IZrDnp(R;ZwrOvT-N{SP`MkR;ZbDpR47IIqT5N03eoCN|eJQB%Ps^gZP6X?${p81{Rw!&37bgaP{l2&=XWsrOp#TKnoQ{ev+H!4qR zhm^P_wFFPyAt~`cC{fr+cNjtDtBi8MSdL1WBttuU2woNF2cc6Tz+k@7X1H$PQPam) zKr>~yREa%wb^>uofiI#!O%wTRqnZ<5iiC zae+srzz0zP6t#hLMYYw0$MXJuL&_xWZ^lskZ8Nk-u=`KCz@y|5z3md{{lrG5b<%D2 z0z>i4A0ChrNj#R7@K*(TJND{~bzUtm@Ez0eRRHDTVui|F;f0ru3umuryTBiq0!^k# zO@n3*`vwd&2>0ypVmcxvQ(EG<%|``(2#a@Wr`l{7AVXghC3-m_ffM!-1bVxucQaUZ?odW&; zuB=;Bu1?#pPVRHfb8k_~g>AT85G^X!`lh`{_!n>bH@WSr zyX!}$*ApGQ4@#l52k$X~CLO$NZ#^#12@lm7SG~pKl+IFwL+G=#5HaJV2RVeuD|hg5 zGsL8Wl%cl>blem2sFX-^LK;$+5=rM9uluYYoAw_DpCUW0;bP2;N(7q3j98d$6=+&v zmXDxIq)d`6j78l$1)5gWeMF$+iMp>!ffI|m=RRS^nRFELQFch6nRmP(#9y-Pbw9Rf`|OTz*kZ1FeZX76=>S?vq7LK=O@+OCD0_hF`qmK z1o~c#YgQ-u*z^wNv-dWE{=ati);w?KCGFYUD$sGy-pi##nzNU$K;11R-Un6^#C6*; zRc{m&UcXnRKoYNEsP%K98A$t{00G{}1p-aGk+%pm=}2MB2LzhbE@QqpLCpe6(HFV@ zae=2js16G>9a9_cpbETbdXsceafd1dn%dVb0ve~U!vas+*XsoOX8LNqG*Mqm1$r~6 zbw2L58XFgnWQ#x_0kkrtGK>A1888dnCD5N^qh#7}fhgnJ3^+#m`;iqUI=ah0Ra#O!kG z)~`+9k`#e}wu+Vr^dHVW{(uSs=@tPTcitAuGQ(a0TtRP8n+`*2TrIm>`FHYr1Gwk4 z^x|@IMUj&lp@E2X5+f?NyGsh(gT00K*1-sCb{-kUFA?Y`aYz@D@PSKkxWj=Lr_DuV zODC*ebWs@h49wY0v-O-*8qYU~SMs7*!*5L29u9#cY^4|emL!kbn#xLUiQ+#u0JG=$}r_3&1K>O{RTGMDR_0YdCdYtZxQIVxR`hPK9y})56|W? zfhLWZ+3{-vtw0Q~4m8z-&D=igkET;kf!kM~OV)C{a9EkZWDYHBmojhQDlG1f!7U_r z{aC*`C_Id1O}fxZe(RY7)B1a2ZYNL|I8 zn8!KqHPcyd&<%r11>}tqV##d1fRZFj=8<~^idU`{b<)+OQ^^#|3&#lVkRnM^ZG|R@ zV*(}4J}u<9T)AJb3e+p51@wvs{$xf&O6Mtv-R__$%;k=&l-`WmAZ7jps#t-rF9T&^ zykDSNDsFKi=9p*QAkg0ve%E2j-1BaMCV9S?W*!r0((dKDF9>uzt8Ui+nW1T`?s={| z6#`VUH&qJ`rpHn(Q93bqmVT?TjOgWkY`t7^d3H)+U z^%~qtHB`-~={*9)QKP0n;3JWnQ)UKCEVKSw>Cb0yw ztpu8MNtoB=Hi4$BOM>O*xD-oTTweOX-_kEVL+1%Jt?#ixph@0EuDeU1Y1VVbnV|w*U}EUL!e26=7s7P zXo_i%;Wv#7=e8da_;Z->nmWY%^0e?4d`_S;X%4p}G3IrFCe>Y}NbaBY4>PLC$^BgE zz?-YYd+8ae^l31H`dYQcjDexAPY9j$Pt(hnu}UiuK$1|mbQ~xjy$u4TfM=Yz#u!T! zb1(^{<#Dcchk)LLT2**MH-2TMlUWiMcvTAAKzi}Ao%FUbyn+BPu0U|rG&cBB8*vLi zAVqrF$AM^lvpTgNZ^pn2-Jo2r)31Z@pGnHE_7%haK&Imi_=|H^lEYBMs(^lD{L6ys z&zM2H( zO>OZ|#pvFykyuZ3I6e~DRx>ml@9Xay+_Sn}e>KEx#6+tA@M!Mj}mZp=jHxXgD11I}mQcgQeRDRYs#;%$0j$p{n-S;ONju`-Q`?$iQ%a zxOv;^XmrouShV}V0hDhZ>fRR}9_sJwzA#)F4sWaqHw;?QGrRf;BkHf@>d0@|)`tG@ zV?%7T8|}td?vHiHhejfM(YL+fu<1o88l_%FcXy4(BCQy1O?3P2XnZ6Viw+L;#B@IT zOpR@CYO6%&w?;=|{V^1041$(A5UQ*n?T!uhw8cj-MS2oYHN0{pHrjVlEIa@VJbaX` zX&H`5&ubdG;$1Wex|4+0GZb`WzZH#+4fdT+OA_tFMAZ%r zkFHtMGQ4$TB^HFHuC!n@-m_*+Ppr3VtUn&@L676H)MD!j){Va!rqRi-#MWrv;Am_l z9*vzp*3}>FAG#nmqG!?C9E)%1?(W|_GBh?kYF5jc0E`HQO`2TDs~U`4~LxnmR)m~o_qOgI&~#i0Iu2EV_=!f|)`U-6=ikU%LLnx)k*>i#vGDe`dfi-8%Cz-k_xEEcEB3_V?%0{Y z+TzaUkDMnH&~zTiir8SZ4aC?T4~@nn7#Fgt`eUP`k@MW?31NErW4-Z#q0zWtl=+-s zxvF+|b?=k%q3Wc)4Sp35RV8lZNPQF>Ot0w*Jx<;?+iC0(Fpz3Zf4W2~abGUtz+@7-Tg5`$J~$oR`<|gPhY%mXt1llHa;>ID=k3I zXq=f;d~CSi;Z0^Ao;o1|GljstmL^~#t}qxI9qZn^bbP+HdhMG(EeDoD^%Ot)jx_==^q;0QvgQB%Y#Lbj8oTH ze45tx^o(rn8U)ue48z?rlbe@Sbbt;GIU6Lj(&0cjcDwrGqY=y?Z5Q_#42Nq5x(-D3 zA&Qw{Rx-(N6F2raDh9SmSZev{|d#sH_h3>$xpK&ahd0*wMm2<|(B1c#`m8DX1g#HE^Tz&bfPPPYTK zfIzZOEuCbt)?DBXDE(CHh*-tX#%2s9Gy?;DNd z++`th&6-VpvHqUOVDFIGuMZ zN3>zb*4AiCYjoR=tu*H(KjEZBmC;RIBmrL7phc+2V8qA{*bJjFVo~_R5eCPf6=z>2 z%deB>EZhNos6+mAHe#fCcSX2)cL--oY1mq?ZUdyZP%1+oG zNkC08-H`MRkKivuC$2#6Sz||2SXWST>M13sfNitb>6L;*)jNhEsKm4|rA2mPfm$5) zO21kn#;GoJGSRU*LOV!Hj^2}xM()u}Al)RL?GRX8H77->A#nzK(b=bC2WYiizOK(T zXUZZZ{t&&eWE)z+a{;y!j~$4Isv+??BI&lV0rYmqwx(?@XKjl%M7EM_$zp4wa7mg$ z525HA92*)NU_U$d(qmgZA);C8QqMIVk;b>cA zC;GP~*43k>%G!$30tW{zGT4GX8ss>waLY!T2Z&NrWRq>0;;LGPTf0WO2Fy_%)^trG z3u;s+FySbKUL1_kvC-HlOJo&hhb3s9AePlyoX{MPFo8hgH5bIXpc6thB_$1~^59T> z@5s;vQ7xJ{3r#W{vkzKqM@q1udL>BQ)UfAVS&<+hN4lw1O;99PqMS?aW}oT}DQYZH z@rl_p@A(R7i6ANnrQATm)~F=KV|#25SZ6G~ny5vZ4P(8%aw>cG$4b^O9CZ|G_<)(= zP_&(dFReskJuAYEt$O)Zw+zd|rCDK`>TsA2^3e;rh9PWMGpj+Tt94ISfpWKX4a8D+ z-&+u?tM!Svp_*&}nl+BU*+?uW!M`mEaiMQuOb^q;Eg+$=a8|t=vpGoJiwXfjb6c|} zGB_9;!EqD=@92)1ZCYAT;#eWptnpeQPN_`4FDgKr=h4FIN!p9ug-HUt?dj|7jrR@2 z_JvBrqVONR&9c`+*ZOVq3Ilh%6GM#Az9W zc7=#8S}Xn+xm|T^U^sqZDp^*pYPfK)YoM=Nvuq*H4HrfRdtwK4&(9mcK%;Hp=J3Y$ zXk=?^b98G+>ewf%NxKrMfFxOg17cr@4Z@KV z+1}N%3T)LIp*N1jV_MaMni8tQ zE{x!aK;|e*Y-rw{+eE#UP8&Ka`3O7VX4jVT6)11@7_Nc|?Hz@oipGew8b{`EjPjw? z+o5iD$J)jQT*fxB6+ON90T%$8g?$36q^(@wtLErr!3$@w*2Ciiq&iL9J+NUBiD>5E zgh=FYa(99qGS$XNZS9Lf$%X-KfTXzwOq{F2Cy6(qaAO*2hUL{2(2%fMMCyTjvLvpT)#^w-v zrPst}q~Q=YP@<|0TPGb%B>it}+1g4XKW)Y625d||m|M16n_9MSt#6NRsc+k2apVj(qfV$hfgdTVXL%_?cO8iHlB&MRW>1++0pW_LH0 zp#>uC^gf^J-VtbMbh>P!Q<}}|3Cp_z87SNp zkjaJRI^wi+1Y4R>zsO8p9cAf~1%w2e(yXp!qz{6!Uhh;1FqJ~R-4{RG@X#=H%kF)K zNsP-_s^~1ya-$yJ=&F&}FtOwlvQ6^)gy}?p3nhjAyY*xl`6o&H#sYW^bm8-K7qLjJ z#e^z1p+_yl8!prb2F5nJ-DN~r9mj*Ed84~9LLTC4AaT#QO=NeHOQhe5jD`;k!_K2c zW?t0F3X$ET`&_dnt)cK?BUP~@(G099HZmCNH`1YYBqbOQ;G_t*w)0YBcw(#%(FBmE zs-bTnJRoAW^q!8g6uD!>vk^RsGAvTD1CSHoe~4l{(XJlYyU*-{nVHY63UXJD#k8Uh z-$fcO3_&y;?%uzfsmvpnr0YgacNd&^FuikW&!RX-p+|>sn6oxL$29dD4_2g+b=m!1 ztv{XN9L3;835OeoTiT6C7)m-_9OXHbbe5zWt=6EKYwJx99^KHnt$u4{V{{vIq-c9* ztD`6-`u)<$O^^$;?I7Adob1!m#+VA%7~>k%J+nr9iB3*U=QLef2$7>k$fagm?1D{0 za2H+x=Qhhs;Y4|7yRj=wnuwtj8;6mH(FoB@$i`^I`@8yK`7snjV-S~msFI{KlF_`Z zbvN%Yp>Nrpgo)({mw7;MhLdoAdz5Uc@yZG#3OjZ^GQ$!!G#Xl&Y%i!>C5QI*Sbtxv zr)6+^Y;c(W|#2RDwe$y0kUGif)ef4iAlr zJ<*k3FbYV=i8dJzmp0P!n=uuShOILr+uL{4H#^%OtYcg*lWbufm(38{i+A;ry$FUn z<15joC+#U|YY(>?TJ~(9WZ82(vh{Ae)JPUX24SnAUCW=%;f@uRhT6xMh^fQIXhvdj zWVDT}3Neoj8)l`*w$>f(V3zIh`Lu7`!bp?$w)j~L%mvb_?H1JkT zCFDDRP_@^I5}?B}+7Dia^Km3*Oph3UKU~KWp<>jM(gJdxC%MXmk5O<2yK~ugNTF63 z_bQ4@fehZy+@fnR9@(w+4zmm?@dj!2q49_dLYj_+awg~BB!O3U#X-KXB=wGHTa7o8 zWWZI)QrtCS7{pw_VH;+GXmjnQ-rcZeBeWzjRCxH6nc$UP*$4BH;GJ;g4x@NeT-?S= z1Y=Z0(`)7X!-&Xs|vBKFU0W>f{w+&+>!4}LB zk&q*`lH!SsOuyVl2%XsG$t7+(INaruh^LTL`in(Xkdr_gk{`F2OP}3Zr=w zyMKjaDsZ-Is0Oi`5TM!+oIqg+8xVXET0w>jCz~uU7I-vvgAU2@a0W+`kq|BuX6PE< zxUX_7X?Zcdz2MEe1Z0o@>(q@ywimMU1>K%wdSw;NJ_96&vSV12RRQ_P*qexeAYEtF zn!pR>St-~aL^|S#IpNG~lz=MKVj>p2zKF>QSqOIEBNa;pLUqn(n50bvFLlJDuBOxQ zbol6SGkcqiCFum6c47%}OE@a|Ll+S2=b#Qwxl_Qj9^) zpx+LcpSG=frRQ|9Yp{2W7rbWprF&Xc;3Q*<#At#lkYYrkFjEj7`|$gR_VjflAZmoI zXC^v0CCV{&KH=m;k9>Z743ZC;?KWxjE%59(bh-iB^0XpEHi_OT+NzU|=Sh$dPrw1S zH~WM(Eyu&rwmNFHZK-b!Bf4o@c)Qls8loF^M4B6nH&r{~hbib1CoIYN5;&M3pkO#| zyqGZ|oiKW05`4?`r0Z~|L|cWHvJ(soWcNrDo~+d*9S7B8v_%s9HO3^NU?LlS()lg^ zM;zYqAvg)TMxt@}A3SOV0>)aKH*ej%ot;!BGA6OWrusfz zTHmV0_F$rRC?FReIrb^CB^9cAlWUH1w5|mGi3pm`A!9(_FxJ=KgXj)ddDrnfTO)04 zk!_o!_3iE3dBSAPoU;k6HLa`wt0}e({J&ynq#sz-VCa}3V+RAg)bb=G1-`&YZ z1)v)&{gxK^_72fCH}%++T5zzqg>1 z8~5yXqv&|)A}InaiIi6vu@I`M=v;0`$e|-b4lqypE*0(8gv$o?2uOtGCPlYJewa!^ zOdF(NrwOGWI^o{#h&6G~l5Qg-#i*fZW7C1R(7uF%grl{_i7HHFQm*En&R!4u1qE_> zIh<7ZV?z~V(BLrYy~O{hubTnFe5{z=Fkd{M1@XkdwM!sptE^M&=|)KuLDtB zrg|Re1~Rf0B{7ZZ;@`ZM)lsq@Y^-Dxi5vRoD#dByCnolBYazwm^pjIq^qEv0ZP6Pi z#a&C@%<=4Y2&y6_4PovyVV+ZfI8(B>u1a5+kSMD0x4$bGPN;}Dp(4X3NHwYXaXjHk zy+|umcuYvHIH5Pwo-u?Vk-bjexZFoVy}ly~^Osi0d%+8ghe9MDnu>Ay5?V337l-k_ zCZzqV(0DO`W%VLw5G_RlBz1cLL3>x;R1zs`|+cYwyMJe+1VIFCR!dx7x zz*L=y;C@IAY@BsBo+BE%K?*yyZ0D&SYDTm%eIkfr@Kg;&BSsh^;?;gaM`|(mclZ*4 zlbdv>fOK-s8t*1Sx=41pGQix3B1)3H^Eh`-=$wzh-m1L@^$m?X+7R$^RPrJOWiI1O zl6KzGwF=kaOH&=e8Kk2~#mr)~t;8S>ilW(uYqs_AA%r4_jgJ@lr1x^tL>wXYuB=u@ zDSlSpoP}&Bx~Rio(w)sR#Z^6|!7|hJC>TkCBpu0)x0kj=f&?{b{sEVUM+R+(TKn}4 zVI8EUodGF|1zGSk#J&2RY$pgok2aU8u?#{q6B-NPl|jh-Xms~juh~nfY9KBhljhei zdS7Y@eZPVPNP{EsZayv|0|6#B!OcZQHDOeSC{(krKh};YZ9XID0!E0OC=N9z%I~I` zbdK%O@bEC*lHBTz!lCkSbxFzlZjw@gj_VE10U`9N!u-P+ErV}v9F3~awB>f}-AZ)P@iSoC|azizXFp(Uo6UiuuK1>ckIs zTiT5Q!=$Mo5i(@J@dUDngs%lPcV6EHR#~krz+g?{m~ti#-A@(+VLxs$1=C(bt0Ymu zYsF_H72i7%3f0%(M(-y< zkOQlUAW0Amc|yJ_+lP|kwBS^Oh-hxZ8cs4!9Kf4#7;EHeB!$e^MP+_`&;n3*f>eG74_(l0{0$BZa%k6M zxe)0HN@yG16w!Ayu{-sxwei(m+@RxmczX$lLS^`>i8k4e=f`T>7#+v)WfsTFPCRnA zHw46aZ4i#Pq@ca<0A0(WP(4N`+T)w>XoIzbZ>367aHVRb6CIGAvzi4^*c~)MfQ4vg z=#`-581OptT_Ky!daepL)HKiR|yy`mMW z3fnGMQrIq0K=Mf#s@XBPZ*b@WzRT3I zL1rlA#8M?jB~^s^;&mt`)Jg6LVI3!Fg-RCy!F~e16b*KV*>Nv^)208E7l=(vg6@mP zNR4!TlH1#(;xE+!jiVk|YyI{%+&;n;B$`P~wcN639_s2LBi1G;Z%`1Eta*;H>a89f zaxS@u(i;KYBjznAKKe|oIgx^+tyfxBqwB~}4?H&r6J%3Jf*kb$no1FkRaBg<@c_By~kK>=bL;^_&!~6PnH-6ryNNX8b5i13GYG#RZy?q zW`VRuJn1YUg2bIUtPwUsJOHmX0khBno%;BPLqdyZp3{0|6c;)4i+G{~u>qJ>T>Fp? zn4%DAaz2VITCHEA6)~@G2qlY~U>?bKcWn=Zbpf&*m}QDbnrB#+*x5Ui=jWrk0W_RO zIzgm6O}}TnN#?PBk68=%lA=8@M0eqh492-mMl4a?iNK=WV_FrTw67|ac8Q)`4uJ7a zBDmiZcZP8~wY5yCqvkjm6R)hqMo9N&j<@U3bl$4TFV0Fr%eLm-eS=*i7e?is0c?W* zm;LW=mmj~hVE52a|2hlXg!vS%$}kB|?kw#zXOUGTXS=`SzZF=VOPek@3GT* zSN`9^`#~M)!|=(S2ZPDR-aV0c%r$$uXS4UEETK1}i|a^ezV$&bgyOkOeYqfuNDu?v z6P+}Qw9JAo+wy&@l-EXi-;V#D<3jrdJzb!^lwmlp!ZTen9hdBs4hw+0iKC8BH>;Okd8X|_yebsKkWLqa;TK{6 zoflnvOMqOIdL7LRJpUi!-o3YtE7=z3M+xu)1~YT#0w(2`f}8M-ra1{at_X%nZ%aJ?)|98s#UA-HzLHiSxIj#gK)#* z2z;ZWvjOzsGz~yPI}HEkjzbDAOxBGF0DT3%Qj15?ePSqAvN(8RvHnTlw1)+MOW|}~Q$zj;SSymnQpb+v0g-x)_)(VtgwEyb zYwModV#Pp%z$bw0u0nRwoMn}^Lg=3zlw^zt`<3>JRP(5fHw1EmeVbqPa#2senT}eI zf~nm1Q}VQZ!I&`(x<#}NLev{aS3k2o%AML0BQ*5gwvKv2gIQ!7;~r%-iE3$qp2&_3|0hvlDWU2vNioIF~5)4_ftZUyh?VIUkNjDd&FNf*fk%h_(%609t;RYR*WDneOq*U3p~nGuQuY*?UJ zEdz#1#RGi@B40Edbt~=@2~0&qihqOrk3*@RS6KY$t%8M?2)h6gg&Hx#U(vWV*;v?p zd<*0O6~3p$`calq?ZwgpNp(co85HHlk(O*1o`K4YNCg$E>R9uy(J7QrT8ep*8{n6m zU$@7Qr?o;040UWyl>aK01r_{(V?8)PgY~aiP4MXusT@_}tP$8YF=*#$e(E0J}d~qyg|gRmy8EpIIAlcQwVDD!*Y84{&MZo-5>mK{FnbHNod7CMKu-=8~My43nu9y%y|29J9{{( zmgdIDtLN=h;YG>+<)~WkXbcxx(A5rD%&Whu+7l1D9E#xW;@Wtf9U=1$K3PKDDE-U* zxHRNk4?(z&kMZc|!T9yb=$Fpm*K;&IqF4Ht!SKg7LgC?g%N6ru-i=p>ld~D4!{rT= zRt3)^A;c|C-iW^4s=wGJK9|ojVo7ipd!!$F+s=he&Qur-R3*(#XaBihST!enMJXg| z51nAe+VhgzmRR0oODv!^tHlYAy~oNpMHynQFtUjv$`7T&b517srST)wzgElLA~O+! zYH?ujNiWU-X0A4KY%$zW4gkRx$or}FwV)lYRrk`$!mj$YZ=o$V}Be%$?ovIh$CNb-PPm{0Sa#Ir%5vmFOnNpqtkn*M!4S zftU%73VA?!RGh_+1-+%+iIU#okc)i9(Fqxn|0>287HN8$&45Hg4)2{^URtUDjXcLM z*_iOy*_<`5ml{&qkPRQ+-mgE36c#X7)`5z9Ca`2S!$>IWr2!LdIG)-=8<>DmR+GkG z+fsas+_tb(a9ry54w53ZaSa*bG&{H8w7ZMq>eS5*~ zN4n^!-VrsuJJpOr>k~W{rTPS|blll5C#M+=2}|WzPTT}wHb0Gl?GJvUnDXE!{2vgU zBu~H@C!=)u6LJQI82IX5A^eL%!nWa0zph<2F*(MM@!#ZPbc%RowRoxP8kW`48Y+yc z3?ZvWsznH2M1UgdJ8rDb{}F?2YP8}rUcOT83j?k^9u<1?BOn^iJ0nOe?BLKJfFUr> zpXhCS-P^@{Hvhbkei|o_M2T^qBVqBe>ReiW#NdG%qG#s?mAwSO+3qEsi|nlDo5zLG zDe?A5pZHz1r%+M@ob0b_Ni@(kO5w>O?>>_=j4by3Tn2aATLWaF6CWx8#p4Ui;7a$ zjX(wt8yL7GOAcLi$=vqu#63?L(+I)X(DHh@no2~CrHpg923ZhW;(FhsbOK4bLz`@><0$_U|o)Gxj^B^Gl!z@m;gBUXol$V#pIPLw?4fZ zMk?}F?jwGoT*H%@VS@vZW{pi@D3JG}45RS4irW^GUxpA?^NbyN1{Z=9)BE4iYl`wE zuES+xN(m1uGKzXQGI(G#)uTD$!ct;A2txSIO_rHXkP|`%r8@iLtFQwAN#)LdIIngA zhJHJCpdA~qW`WT+Zrg^A9%FSJet&1k^zkmU%gTxb z6mWZM6&xj0!6?xAJxqGT8qI&VgtUVV`Tgona2Y2|gwQp@7Gi<)!eb1BABT|391o7w znzgXEIIaRNM3g*Ma`dqnICJl$q!6+=ZmeB-MnJSD)fuulixowv7=q8t%Z*e8@_+`v z4H^KFwIU}%j1F_)G=;5>1L<2q2DumNc#_SCyNROU1;>63#@jow6kNUZm!1(H({VD^ za^)0nBQnb6J_uingFtCS7M4jA;P*AJuMI^?9?L3rytJ|Q zw`V*`EL93xEkKP1r{WMu#UuFsT&Tc~W>7=kKtOv5nM4}#UUAL99i@L-+F4C3kpD)^ zcNMt<1ZS~N(fraIF@b5~R3CXG4`}j7ZvBFTX$LWeMm=X`0Fi{0hG#9Q%nZz|Xrztv zopPiblp8CRdOvPV_C77dK1bTY@yrjM&GjvG+2@_X>2Wc7je!XNeK9!gOGq6#tc+7e zQiA``SJK?OSvvx3aH;U*>6tKC#{VgyDh+4o3m9nJ3f(O_q&~u<^r=z9(gpFP@lrZ# zlyU3&Yta;ihjGZffjqW1N!@Wr@v`hRDXB%nf~upc%bWj+F< z0V?+KViV0?!yW;_Mq3;>e)G!?3Lmd^QcH)TkqiuVgBovVMCwZ1n9M$t`R8;hp2+aO zb6~kK1RT3DDC2lIJzR)tIJ(0rWW5Wfl3d1!N)oMq-T;MJbU1J^igAhZ=}>uFEqP$f zUnPf?qk${&c}7-)Nxj=r=g)zsU~HcsX!fIo9_Fo=v8s;eS8|&X_v)49r4X{5QwB%V zPQ-Xo;)@&1rD)JWIuwLW-i(TX3gLJnvq>A(J9?3AO!BAU&Bm14n-{{nr?=j`9r{)i zs?c!UEUAkUL~+lzxYj6|8L)cXV=?3QZgo5Tfb5L^HdZ-*==|PgWNHdhCC{4+rDeO3 zrv^;4*3f*T%sIm-jX9kqYxiv)qDO`Xe2O)~nxkAn7LrwVnF1#!5#A+8s?ro;Cy7F) zLdMLt4*9p>wcXFfnBsra`r#G|=zjo`Y9ZXP#%M~VK>Mq~O4Z7AY zaAZEK+2LXFc|DunKsbzo4!2)KsoN0mIKq#-O0QMJ8kW`zQ-_-(N=8meRliW<$=(lw zxc}ojYus{V^6&@JYP!Pkp6v&I_i+v)w;G(p+s4jg{xZkl^$5uiwd5Wm*4lxF5s-P;#01)=DI#3%!3qCmsq1Q{D z9T!C$Utbb~^+3#y`DPv}z!pGd(uXD`EH$*%U^(FNw@XWi;DAtwyl$bD%^sVw^zFU? z;m{vmVTl1J#5CWdjyI?HGD=7OR_QA}j>rNITI{PZa;75dFS#*=LO1bHcTRMo)ad}T zqPClyorg^0F^*mG!cT8twwOWL(J2H%D%^vJLiMa8sG8YhqqHPQ53wbYG%V_#4zv zIUiYOgSdztV~MYUGXit`yx4q<5WtM`wYU|YNxLL1yBXQcq*DSAjj^ZKtJNm=pr&K5 z`-H)sV4kkyad&dAB8s|;QQi?&JGhoypKH0h%c*59*t2(UgQ<9B6lsh4fLSr*rP44o ze%&6rnMnX}QYXnqb)a&ujAUPZ05g1d+%T&U;1NU(Y!hU-D>^hzP!j6Bk}DlL)A$2bU$1@R;DNOrO46hHubs# z845DLOo36V(1dpK&j0+KHZ`=Agd?(VZ2Na^OC>kwhLxVs-*IBnmE``upib8wjh zQuRn-YKwUgl_(>cBu0G9&RZ43l@9Lk6J{RF%*4fbVC(646pe9G`|gdKT+7k`4hO?g zMkAdN`vb*zY}hQAQnQazeylfx!Lin0q$SG;UJFkJpH&B>$M|e=Az$j^IUC zlahMk*yPWtnlQFOC}vfYkL=(wOckXQ$(r*i#SjA6K7xa>DQ$j3Ij|z<2)H`?fL}nHAA_D>DVi@jE_E%N*x z>~HN54r;f_OmQPVmFR$u9FY8|V+XW!7%yg}!STD4tkn`AgFBk^!BRcwJ~`vMFf_8E z69-s8clemRhuM$S}JrIACk!F4DvE7inoDH{Rp?7N^>*0tyl(Y6#ulIrX~y{7XiVvCh#@ z+K9zr>1nG;k;~aNoN$)LP|A?;V^v!iId=VAHT1$tWZWY%PHrZMeqaXT zLQvI0w)I6Af@1|cQ$V9P)fO=sq~iqs(EK;Qdzf>wnk%7w zBLI;+-Z3BwJ#D)lU-&sUmhF<&kFng=8qs4L>Y`%RMip}H&d5b1AXL3?nM|fnMD#i- z-FDM?PXd6J?1uiPxkY20`F5T3uhXMw#sW!@DMW@u6Q)co2|Js?PDYp9)#~mu2bG2! zrbYhf#3HZ>4%9xr?Wy4Rky0`6vMF@abq*m9!Zk-5k>Op)-*An?p8H~q zR4i&Ku40$fsC&PdU50#@owV7(ay0+$;RhgpNNwSfB*l-cMnXd2T{%6!U)NtBsv05@e_o&Qeg`BYk@1Zfcb}F9@xn+6&ncWNq1umJ^T~Bemb~Y z$B|%D#=~DDS+!_aYH}lCS{eg0%2w#Xy3a~|#yltQrZ>|MAWqWRaO2arGHO9h-OLZk zmIBptACTJKM}RpM81GCfIf=yV<*oxM>C^_!#9AGL=WR>aI>IQyC6cnp-n@Obwi z?YyG=ick;b2-rxOL_ZNf!VQd*IgulY`cAkyu_#wb;}(vpL)K&jo97yFLIw;1P9z{U!coh4n_-5G2kHAGD(5I`;9`nZg;u*48!vt^y*6u z?y&A&|Hwtjm9x`5z)$IclCT?>l+4`gTeK*sU-l*g_uJw(i)i48dA7re(lL;ddg*V6 zt!r5Y2p2+P0K`GswkP^H2X#Z25Jq=E>MM<36St+Hg+Y5LFS%|zb8$5oVE93}sK4aZ zk;meGOd?%V8NyqUlmHWKdd@bJ8bRU_|9H zllvI8%vUFD%(*~Q2n%1M@xQpat++i(xIkLBl0t@Bu-uGdrQI&sisQ0mY?A&? zZ;ZA9Onav5TuT5*6cQJT^t;i-amc^X;oF1^Mhw5W_lPfV&&U-~X zP~{@&_8n-Os3VYdIc3cM$tAFc9pl&tdHibl&qbhE)kBYnxO@gAd?@m~pDsC%>V2II z-4h5X>teMKU+6yXPnWav_3Yy-+=)+sxd*@frsKi5&*0=yvN^B0g`tNk*ep8(lhLMC zGngCLqBJRm`in$9@b|$^mt1V?rmNlbq}Y&pe~UVyb66rV8*IM@L*P)@Ew z5+;>Yr2GSdMyIiP4YL-D@f&QeaBJ7d2QzK`+>3T>0_z>r8zI@l{bo*w!6>fF;s^gl z{4l<_gJE#|&UNP1U3PZEN= zd`In0kkPG?5g))-XfB>chAA6~r>a+s-8}CG?9mJ(6?O;el=4FV4mij_BY2UhN3q$| z%^u$S7`>Eg1l|EdIg6D~FHTPU^^@fyL4w!#y5oSMtph7qnsXPuqD>r!Th)!lf?OlM zmMWZ4JzFqlU12oAAdHzMqMdWt8$X=EkPJkGnZT`0lUN*V4m9W;XE^W|)cIq!=NXC(nq^y%)UblmwHmu>lLkhYUN9bnJck6pTZCOy|=o!H&nza8F}_Tdgp*Wb)!lV6T*d6JG?p za4C7Q#IM8_h=8;@c$2~&v1lSDS&1QwWcVP2BO{C6$ta7XCY)4;75Le^kQm~7rD;Y-$Pl;ZOPzWE~X-(91#3;gfje_%0;9wu7UvaQbI zMs^q5S!|yMGR>A>4Pp#uV+f=joehir==Al;un(4@C^op*11lFhgshpfgCZrB4~SyU zow6X+D7?oleGr$(2Ppm%{13^K3J&1x;!Z1MR%SN?m&iQ(d8+aK{41}r!OnmA+dn(6 z(P3!xT&|dalhOF7Zg04r%#c&uQK4Gb!j~d?2Yn}~g9Ng_1gYKunqhapF8KpE)f^E? z^ydJ83HT?2)8cGAJU#bB*Cfm%)S>m-D$-#r4JDY1ulJC)u+B4ac-k|QWGog2Yl7_< zWONei+Y{On_~Lr~m;m~i)GDL)GP?X+<9koLtl;g+t0a(mvsgO~Y>U_e=_#6rbceKl z5MSkN7ZiS#WCagnY{%T4R&=X#($$tcPY5->#?y7Xv_-1^=gg2pMxPFTzeT!_Kz=PSeisM( zH3kp47KPM%vjAa)$+A3(IT3z}t{$$g5)?Ti!1V!218vGKOLW&NW}Bc zB%hDd`IfLNd3wwF)#iF-CW*$_%$mQIyk_`+Uq?dbH*_TeZnyyol6LmGtdBu*^Bk~U zaI9*`;z|&J+x13-NHrn?LnZhk3kps~N5`&ohnmLte0VMq?9uSV1bQ>^4_-j|W5Au9 zd=z1dES=A)d@-z9@w+aM*v*Fs36dqPF!B};@tE~||Li%it;eGr_YJ$k7U=Y0nXP6G z(Iu2g`$95wH=_(xi0H3i5jHc8@P*7lC*h7r>h3h$BmuBZdI#nJT8Jtwvs^KH52Vm+}V@z)p;t@82q7cMNA zcpB9;?wf%T*-ZP}BjV+J6Jvy+<8$5lM3a1hG!4pPE@*l)nm}m&^yi{~c7bXdR8?+0 z9biw(%tJ{?G^@Ig#`((0YMjw->+BO?IfoC>vtQl$?6_%njI$BH%^oQkQ~f!Lm4YB( zx2M2^@vk~YJBc#ECA|9rD<)P4$k|NdJrim zuza)(a#ZSxkLsO-7+v2;CUS}T*vVu1x*yJK#9#af`}a|i_ISncLmqWO__t3j8y#W= zB#J(6lnN455eqq%TaY~Foyfd z2neA)4%ZlX9BvTgP?l`f@wtRCTuT{-vvj)YZ49^|gP7)QEuLRbR|ouP5r|t}RBz?E zYo0lRg;bi|Fd`iO{?!Ldj`1m%oNI)I02$`)16z!WPxCpz)`c0$Ewv;&dcts$vJ&T5 zAK|l{`+P1CMWp&5;ig0M>O*(?+#Tg(>Zdihwnq>iwlEr=rKNE;zq z#0+Y-=R!h#XRC^?nn9E;og7jmOGzNuk0F!JM3g>|!$SA_UKG1vKY@2ayn6N7s$rN| zu)4!*!VL)>50mOuG*Chi=VkPNSowI6Vpg%bx?0b1hG~+&QQ6)Iw^)DEBx+*^qF)0h zTICpO{LI`=azLa+-JZ;<09=ESFjwN7`n%*xB4ycR_z~&;Hz%D}tkM(%IHZF1|&1~B-h5$}t9p(o~ zu>{r+?`D=eMifv5RlB=+Y2xFg1ttTqO7BsnI^j+1h#6;nuVRCXA9hMIxN07yf*hL6 zMq*mPr12GEwJy_B%OrJuh?oL?V$uh<`AkS`gDZ~l5mVEdiF}(kGqN#}F|B0n6`o3j z1+ytIu4dq2Y$y$JO)2nYpGTwC`aHgMqn6uWwoipEt}P=>*2z?Y3i#Ms8BQTbBr$fb zv4Wtx-_0*Y4rw}@k!uv~U2cp`GnPycOMomr_-RXrd@XK*cbqw(=OwZYtCw+FKZdJsuc#Rh*V&nXU7St@X%@sDHFA)5_^o-Ru4 z?V~|K&s_Q|IfQgA$UlV(A?Sz*)BsaKzF$RF+W%_EpKaCM8tmS~i#Ha`YF*siU&~d- zN%s{ql#6vJdZw&a>dcnYXph4~Q2mu4Dv@d)1@oRY5p-a(dC48B7kozMEKypupd|NL z!&CgDu$|13^RMtn$g;uLLnog4H}Ccco9xRDVoo9=-I}Ahd11|pg-CzIyx4-@^ zF1gpVke9%GY)KY!#=?kZF<}Ze8lm{0Rv}$qY(}-HpvNCUVOHo)jA!H$8(0?zJlbCs z(RUyZHM65-xK=WsaLqH@i404{@2ZYRu3J`ou!-aB1}TPlif|!fGCTzi?%k4TeTC=& zxz0&g=J|BkDC{Bf0_&WJc<$m}WWB%AnoF5rj~dJs?DLhvOMHU}_I|F@g<&VL_)fA1 z|70aP{A0M}d;{KkEBSOu(T%`&?xwK!w*3&@q1d3P!~^Oee$Bo&Vhn16lyJL6e4nW5 z@P;HtQ3;1_1CWAPkV%(YYj3N(`N_318C1s@6FQavQZ3Y^^OKK~XQ&g5JisqHMmJ$c zxt~nBVr5XCz{9NJzcACS%z6$NF zV4URGKiDSC3>ypk)bm)9jj!)mi^%MUX*v)$3wCoAu&#`1AU}f>Ay!AADlwsUsSQ!s zVbCcq`N*-}gHbRPCKltfYFm8YaRlr~NzZI=QE^pTLs1mh;eBA>^V-fpO+C4slS&*O ztMfR{Zqw;kthah?a1BD`P}y3O;lBqlP8U`%A4?qG-mgC*Set#~%K&4-ruvJVO%rL4 zLiQNv%Sq_RjZ)vp4@If}{XHQ~Y!0z0bY+q2SV;)MH6D!efB|YbiWiK45b`nAqo_Hx zx+Oj}eb3P0E>@t{p|hBwECKJ(trQ!&httJ0Gn$0u0=%gNrzAai$9xZ)<~wSjAr>LR zJjJwz+s&v7>qTzL`I7=fZ|HJh&Yg~eoowd+!QSQB*?=fA3du?+MdBchW@L50aO_+l zLn&v6_qqJ-abKsb@Nl#>feseg%p=2ni@WGeqF!JGy2ckMCoA3vWW2e2GIQ&n2}tWU z`Y?ds=9a|HtO2?4vgi3%E>Fc-%LjS-U1d~%>g31pk!>M8O0;9w4(9Q0m9*xyfp_lo8c>9pE?@&FK z!;IYup(f`zmj*)9zW+wV50li17Miy!v1afwB~kwt88o$ z&FmDU_Dt3pauV9(1Z;8a8W zXoI@MwNEyZbDwRIs^-bOFp;@vsufBL1u)M{2~ZL#7a?F$1I&aP2|#krM&N@T03vgM zhRs(gcD%Af8R-Q4j33IBapN-Z#B(GWOGHHu1RY70LvL-hEOaKxz@bkMnW<;d78e#W zh%1=8DY4oblCJ2UGaniRyKJ1ddUMqnx1S&{eQTfK*&|E1!k&Vc8^=Q(D zDTE_|TFE+l2bHe{HlMEprr1sMOc<9+Xo?W=(EZ@zYWVBTW_@>xr{Y3=oUV)c`f8)F zFk)Ct*Lf!8Y|Powu>S1a`4-!XG>|t}fbg7FJPQG_W!n|2SWrZCqBkm->{5ETPhPC| z?T`g&0XU7tMbmWy69aqdi+jOt@sN@iY-$J2Pm^b2e^p_6#eb<_=jYjawpzNkDlu2L zsfv4LOF8egOY&_p=9Y1JV=7}1GxiY0LORL_CgxfR@IW($t!M_(cno^QRYw^FUKx+S zCUqJl?J-}u`@%&<8rO1|*g)!H40|G+PmhMLoYaIGU)MJRXWV>W<1#8tIhIK_JRkU= zjvog(PYO^x&E_4Q@Hd0QJGfjt41Txrdo3&Pc~IUBZ6M8*H+N@c>udr7zPj0Lb+P!H z;%NC{Arci37fckOc_5C~Gq4WD1b7%rM3ZPi2bQK89Zcd0}~m=8VZYu+4F}s<}*Ec6T7|-{%*q7FLOo%eBuCGv_9U zIi+bl2QF=}jc$0Q0AqVGKuh!i9Jc9j8IL)vzIHi&!^P3`iMiHZ=U%U#NoCdrUll2I z-gp$SBYsh&M+*qRg?Fmc_I4nGI@yiPyb%x|h-#wGpe zyuZqRYd#f5q~WHxKCEqyE91V}cP&)*F>>n*~qD4A{rYm=EvM(+W zn}q)&RQrU+c6tXl&~`*%{R-`45Q3*eGcBUB>3Sx$m~w0?HB^i8{z*=twWTtZhG?RC zXtUKZh+$DL&ikaG(z`*$%uFuM&o0;|^lL%XpTTckGNfOy3+GY_QGbkX&!%_NYm|37 z7SkGGnx%V}d4~|8TLM$Tkc)JP;FH!Lk)T0VxAex|(`UfO9VcRRS%Gcjc8gIJYRR|t zLoS~G6TWGO)igD7tvWTBjD0QyPAQXGpoLIQs)duJbZ9)tKnSTwD(ud3)O9F(;Vp+t zM@v<^V#O>)Zd40P1R7|vw*=vey@Tt!=vaiB$!^O&<>l?_R%>x)=^Sp)7A_hPsc`4Y z`ft-@nU#ITx4${3yAjU>2Y%!!-!B)dwdDU#hv09(Jt9o?xl#$Sh!U$7tF5tt1N8B$ z0nt8yQ7n-sqK2Tr0MyOKV*v;K4CkUmiQt5=pm^E?udw7W_|j0zSRcxP_1RNYVG%WF zbO-QoR!=V-ZXefMu}8m8_^a)~LuN&G(%o+X(7~{=PAdkUTsvw3>Wn0WctVzzGu+U{ zyG;1L(AisDeK}e#nGCv%ToqEm&c=zkoDIBkHpG(v42R-&wFX@X^2BRs#+FPa4omqG z8oRCmOVu}PJo!_SNDC~u#m;M3LHw(*jO@=ke>l3n7%pCKY^>dmY$(looS&F7U{ACBmYVcR zll?Pi)YXf`q&08heQpE8hyU9g7Q;()_(1qdTSOdF7R5a=jaovk5DcBGmjxuiAK{9K zXvg!-{oM@_WV4MyWCi*mPvA`PBDMu8UJ5&k)l#$J@SyOhgh0(m!PxH;?xiVtEg;zM z)gbnAG9w8+-s&_C*oJ8zG9{9Y_x^Fe18d>1KRAs+BlF&j`FJ2=`pm(&e+_Xa_D_@eO<`8KL(ouV6Ua&dMx8be46cA_C~wVQzl zZ@(c)JcDX8hm&N0P>F%1)SVV7dN0Q)$1l+M!w~3~#pWZgyKi6Ng;fGX?0xsB|KpCe zCM1yEZ2gWi=#OZdD0$c2V~h{R@O)QBOJ|WGZiI1 zu)VZ~G{*e)0jAHQ*Q^c^Xrl!Te}X|JrTHYEG}JX&bXnClg6ap@nf~f-j)4J33(iFS zG`cySKP+bRv!1jX#-YJWAX<{1h`(Smma>Z{1#0lak$QlNO_CFcxi>PmY&>5s=9i-z z1JzM^RR(09APOF_`@WU7O;(OffHW)TT;99xGGzo_CNI7;hy2tnM7iy z(S<1f+Tqh|3v`Dz6C2@sJcUip#EvO%xTfJo>=Q1u0(FfeI9bQf+-%_d-SliZF>Pl2 z$rn^Zqm(ZlPWT#_#pw3c7ZtmNhoj^45hwhnO>lti4tQQtg7JjGOjyy*hHD?Sl&-$Y z7er$scax3^#3J=?7QaNaBK?ajsYw4yC`BgB-F+?!Sr}TgLF2jft8R(GpO_OcQ{|y3 zcsN|=YOs$3tvAYkBje$$;H46E0e-YXe&AMxGS1g_k-9bdmS3UE92>yy3xP3SqjAlL z_%wsjY^>iXr%elp)?x~NK-J{=(-3q5S8~J|$%n2!%r~E1njbH48Q+9i(7+AfR?R0$ zE^{AP04J%w8{YMe`MfgANK|T%=_uJb3s$W3kl)I$Cs_@^e{6&wjChG^Oj^qa^5 z^ZwrCK!)^@;fLY&L9U-iv?oa@5~Tp<(W6_{NpkV*+3Vkc+QkQI07KX<4>`g#ru#d{ z&CDQ?|K<9^Isk)}eThBxn<5453SfW>rwuj12NvVOe_ss8 zkeki(rF763^Yq<(Y9LpIh6Hz&om@TCw%DDaatmLnYlk<&s#{G?#Mto~muC5m8RwpoP1#WsSZY7$KzaE< zC5YABG8j1->&L$?lZ}d@gy%3P(agUQ=;rS2Q=*y=SnxT_uFNXoe%s8IcnvZML>(f6 z$Z!oihatww$pk)fh4w9H(5%#Yi$sw$)t%)PjLRC=M;pM5D9XemNp0ATC-;L{-$BHy z=wn3b>42v*_AU;quYWad!S@Jb*g%yNmO|uf_4;_0h%2cBJ*| z=+J1fIbpS=Qt(T_*yl@dmo;*VQQvG2;xeR-F8LmyyV!EUq5r{!b;E8>wXQHIp^Y48OubVFQdLKwwuXQsq!M{2i*W`4Ou6y>6tSQ{cf zl?!iqS&SdqydCJylH1 z)}l4p1&18%*UDEyUqM|Tb)7jnE+}$G8>8h2U7HZBwtTi=%7{D+5x$5fgs>4zj!dkD zZ`Ohpz}q~mKFtfjrD(A$FbbFi7G`gb!yUJfXxfYSOG{+koU73zlP1GnqyiuD%-PD- zT>%1S0YL!R&|GBi%{c=nSSr|C0dkvefy=5X5$P6?GafdNwe6gyf zXsH{l4BnWO?iWkg{bMrr1{~rkSxhCbJ3PAN^krm?#0-gJbrA)|{H8%in@R9ffhSyB zhm-hTE7{oG_(0TzE>f^lE`%MUe4CJ69C8eBby5qiY8(g*v@5gg)Q)sr=!OOhy`w3k z!MP>am}5UJoDJx(#-rPcPjasKndu0nx5m4i41d@SJGi(3e7?8=xHaQ6ALqeRQ%DxY zZ^ohU#vx9!Q5r*uE(UCpF&x-JN8=EXSvoSW*7Nx%e%;%)AbOZOi)Fxy3~#vqcdI4I zr+x}0AH==JpM8zG@x)M1<6lFOWPU5L^cqAf;8maIPEmIF%1h8?l zS~xve9JM@ld0o zqviSLayh>LS;T*Qw`G07+(y!(&AxHc(kvke>&#N2lLmC%O>7ZCZ&Pu4@eXlW zm|*P!vk69HIN%>CDPl_LBgBJm#EpIbeWuy0;Vxu;8X)Ii<53t9IrDEl9;ZL_{C1dL zTu#5Z<5iQcBXXmVDQ=J@_U7x%PsN#woi5y@^hR0*l7@6ZSv_m%_0^<|guHgHd_7c( z)VaC7GB8H>mWQrt0kQ{G3XlH9L^*fM=SYGJo3zLIf66XfdhFq)bO$#CmiyEbDpA`@ zAGP5Kyevk7Tt`2}G{WQ%z?AjA2&amVhLD5}D#NoSm=j=x;UwV`kiZQ(lP}l*LoSt^ ztjjyJfAHZ2U=9hPz7HDdB#KD)QNjZ_MA>VcVJ1W&_KSubAW*LoidD0t+m@O`%kptP zy#&4{>K#5W4W_~?AT{22l6D>R=V`lm!1TU{{_jjwSI2G;brrfICU>qQB&>(ADKZpb zEToI!lUngV{V-{P^A%gJ_Kp38Mhy4v;^x!M>hleBwZMW9u!no*!_zDx(tYv)M-;sY zs0;bHH-vP1l>hI~&8~eig1=PYQMP-Fq77=%+LRTu zdnIlo1x%gRj$L)wo`0y&@ON64SJHmXi`HORE^_!ghKt2qT#L}xsw1V_o zjarVEJjKxuOqr@RuyYtX5){-47uzmP{B`i4xJ=4+X)+_ZrU3kWwu~WBirSL5VoXS; zFgGran%T3!lLmn7(cyx-msCeQ;S%q&9xs?q;HoCgF5}V3pg2Ezh5zQ{V;_l_y+VYv ze;d6R6gbW=)1i_+K0i+Enf)w@dkuilI zCc3y)@538TNhgH!#^Sf66BT&G0wA$I$?|)98sYBE(NzEG@D$Nv*8W0)2=QcrGV}>h zS9ZN&-Q;N^$ow$Cce_{wHyv=ztO9A5bk>Vkv$?>CcTd*{X;TjVetDXpC)* z054&lVHv6S46aV~*$Nsa?QJ_5v5rNA#XZU~qp3IupzQ6L0F?>@~9Txm8+@N-zS4A%(( zK8%bJY)E=YxFar8Zd<$0YD7m@J6AiJfp3LIdq_&R?7<7$8I70MeOAoa;~pcEgK! zV9Hnr={H;AMB=XQ*PI|FwVLp#NZOF(u=&i*48z8AV<4tnmhcT>WjmLHxNTcrqNF~z zTn8yW{!CU1>50MPI69`m2h7_63iWG<`;JHa2YRV_;T%nd3YQ)0&Hg%>53XtUj!^`ybVUpiCqM462ou`b3 zB7YqvVJo!rtQdMUcpyO0ABQ1z^|v+QLV+}^74Ww=xp36PHxPh}mPIZ}fi zSoedH_&InDC#zn*95Bl5`#Y&^gl|i#voJzfjRBJNtms(QJIa>j8gsyKk*cls8RE%W zFNj*nsx-WCooWJ-0BL0K%*RAOIhj;rN1h6r5LlbC?g!3+Kd)8aOk=Ozas{*w{@+~f zPy+rx46v;hf2NUQcE|jWa69@v7t0V>k*Q?-hB&pz#UFOj1&sAi&kzxh3*HW75g48D zlkmni2QlII!(5c<{UMy3fxY@+b@wHnZi(K!>-jZCvGQZETrR{meT1b z1BaHOVi~o0Mdd<`I@I&330G6&O2-pb@z%hgrbDfgtxB5%0}Rfzlzi2t#cq#lOb2$% zCG6XFDQiW-VZ(CR>GIpPd*<3m2~Pru>hyBB9+_S)hqr!9X%CFfARww|dsxxhggtPT zLd4K63^Ms)Jd2BDUVRanVciA8%v-y&*6d{5doYvnwN8Lk627?jiDTXn{&mwzEkKV1 z>lmC0&M`biHc-5}7@i#K`-J7$BcR#=rEt*|wl1y1?@mb)xw3fT*dx>g9d&;5%j)ja z`WC}Sxj1noSSk-W^gXiF&Y^btgYkI*2^Gn=aGhq6c;YubJI7*xqDzx$Go1})1B93p zTpDe<4SiSX%hF5vaF>=j^QLkf!}0l3!aa#sUe}d@I6B(d%52gVd#O0=C9Oe1U%V2n za#hKMWR-V73Ls+<>}8X4meXUp9)vc#PY_POpWkI!n0dqOBB~%gC@XFe9FJ#B_qOB$ z^ibC*Fu4UOIgf@h8r=#|0r#!BwxO9jb|(^Yb|N+i108&Dd~|;Fn$v`j2WKave_@c( z>rrubbpGZM>=I*8w&_Zq=Z~nk3gH}fimXZiFg?a)#ts3ADAE#*iu?Q_UlH&h-&PSO z8C!#UmD9`gi-dXTgr~V??}q;dYJrJKZh@{G`(XH55KQbEo}cV8<2x!@ORz~F*G7)9 zl1FBVptB_wQR@NCwnfaP2l7MrddbwJ%FT_Dwk4a~p(m=n zsQkVxoIEzJ&5JV#CapGe4cs*M_BeAEH$G%#`Eo-B^>1|1o{__UalAcJ%^1RQd*FRj z`dX-%Nx!A#X_?Ub>!AR=mTg%Q|NJQyx~kq4E=cJC_96(d4I>u5IO7c}M}r{a$)EeL z4p-k(*lML6D&`MgkcC`AIi)a3NkPYX03;8v%noM+^iP}L895L-U4La5dozO$SW0~r zKg~<(9#9Hzo9SZ7luoTd91oYaqjf~P6A@U*)5(Tq_G=&EV1HqA@L_td$RX+>Xn_0r zW8%jfQLW|GRJ-!yW!WuF7@iN_0c9WjI-E%VOQTYtsR`8e9jIl`BgPiIXxCE&+C|aJ zWb@)mwTOn}T+fujanjs4U@rp|nK7g-o!2vD$D~f`&>XvFe6*kLHh$~irCM+r@dLjp zaM^8|D>FjS(DcoH<)9W5imR%;`6-j1KB$iN*jzL;-AzCacpji#ooX?_?M_^sP?y<~ zQ{$#`m~Ea=Mswr@lv1N$ZC7Rz46nosr!~9fqu1;Nq>L+A1ci3udZOm?d3uXL8P_fK z_Up~%_umVfBchlplKhYF1X=b)V|2m02#dR1JvTF7*^!{QY$R0630^JAzo3^maQ+l(&T;F)$uT0f*0Y*OXVBr&2l!5+Cqe!J-o*U$I`mz zmo(Gv=G7d_w(Ycti`t{28XMAUDAY$+-882;tEXdu0N_*2K4EiJYO@ zjR+qu9y@Q5-&8M~B|WbFxy5f(fbkZ;L+-WkuXSYNJJ9^~{$}&_Wtya8Vht`05ABryr;v0jhgC(hi%Kz}V7}ek&M<^f;xX-MQDe1T7E@ z-*XPVIb5Po?B^|LPe0C=w; z`cjo}C!75e#r${t4g?ZG6}TinpER4>>1HOXnM}yL5#6ZU{h7LR$MaiKt4X-__dqL(8OV6138G6{GNq=y9e9(RJs^eSK+&(pO&O~exhtqo1 zqO(*gI+uU}HLR|Fk|tp+Ik`}yrA_x-840D}x&zPSEksfVC&keT`_%tcj0Zm=LLX2{ z0_m7jE`&d{?p8>KW1FFk60o?u2XismPtradv%4s5@)lsj@$E>5HAgH*L=njDP;19? zA{R4$rO!|QoTf~#s)2hb32M!>M6j66muO$hgKr2sR-Envd&rRYd ztL+KM!_?xN5wNr-ZsQ1uClu?>#)JNF0^Ca#$@@nq!&hSg!Z0xP^mV}6*Em^7X|cQ} zFui+L7a<7}_rm!bouH=m0DCGggzc^35co?4+<-c zmn8YLvC`AAEfqW-`WKyl;TKDVzXA9C)lp+^Ip1lpt+6-4;m z>)z%%Vw&JUm^}vviuKtAZ7BzGs3odjL9hm)x{p&%IVf(?YsmphCF52?sP`!t>^uP- zwS#CBj!z<_C#eM9>;h%EbMk1P$Iu-!;|JsMXpGt^BHPm=_pj-l@S&#>=V1@3cp73; z5%TikJ+)IL9qgF^+y}eT?VHRU%h}#g0y%tx_&r2hatNH%m(Idu|#h} zvPeH8c7$Zr=ooo{&h`%P__A6Uuv#g;*w+)Jdgqr^PqKwurJv$etSQj%($Sb0)&s;3 z8gvuMV7Lnx5>XP2g@RP>6j|@9FQbYYvkx{jRt_HfpcuMeXRabl|Hr?MFddkbcE6F> zP0I7-J>~sVD^tbx4J#wSAl|DP)Yt71%-q^nSz>doKk1}izl#WICL+C585_Fb&#Veuok#8c&PmB?QYJ z93Y}OFKM0;u;9r8uE7@(<39-)#UEni)qshnxt=?jZ>t=cl67+Ua+3bJ4xhZC@Jd#kHS|gTgmYZgVOy zQ@W37KX;Q|_H6cU!AvvDSrj zN!`@^C(p@4Wc3GZ>z`Gi#xqnr4J*|AbH9jTd6iKBDHW>CIG`>)ZO5i%HAxGwiEcx|} zF$!@`Y!b4?0ZMKAgf8Q}K-$0tff@d|uB%+VcSU}SV`uL$N zZ>HP*KsMEUIfsIwLrw6rnH6(FNG;Y&D~F65*3aF{44TD`S5Q1dNq^j0e&`Y1g76uXBZ+DN;V{pg4W$bCf-z&Gpii>sotLxjva(=$J zo-2^dx@Y$}^fZ#5iA4Dkoy3@a!`Ii4OmGOLNfn!gW%*Gttdf*Rf5)PSJA0n3h4UQW z?($YWyShW6!=2Q~Qk4Lv)XYcIu*EFES~6y5QyuUNYwi?PblupNJxLuefweyKr!>3?5(ttEU`CtJ{D`7jd4AJc5rm5q&Mx!I- zHplGWZg&HrR$N2jt73Pc5jLBF!s5U+L8$n5;9Xs?B5P?03McmAY^>DT8<+gzwS4EWVr1*h4Z+z ztYTp-Qc7<;=}Qk_J;%6BP`l~J0woFO;OWu*W<`s?_;A0vU)#EyDa_^6c)d8n-SVSm zFPVAPuGq6!7nBv$RI^zQgQ*QTmc2TuF0&N>ClsXf!@P*liQ#fN6MSRq#Iaqk-V3L` z&P6LQ^K1iIAvv{vNkRbWNg6)wLkj6eD+V&Go6;y@ZbIy+#;K4)E^ekUKI_S-JXHdzjA zen?+|UaB-lwjnCkr)CmnB*7YTU3uJ*aG_$+zY2k~mggPyR?z0!&2oVrLa-9Nw#;jR*#reTe*t6@tc7?aD<3YUmc_42PqJOxNQ7Na+ra&KsZSf78hT47I%=#zeAu} ztf8%ZySn2PHb%$5k2>eWli}%)#iajcaC{LOzXUsslArGLPs5uBM245J@`A_=s?m_d zdA{HjaDW~4^jtE<6sk1~&fx@MH`s3Z=21LIV=FT$L%23Da-X+TJj7=`@ zo<+AEs6D^>=XZbo```Xbg=0CVri7JB48Y9@1qz$D7R(HYSIIm_Qfr9MvD@2&O59rY zZP5bZT9)(9*wLg>(H_0ph{!ZK*Ca{D$riUOwzQ&DzLE*L1=>fhryDa$`FOpGj#@}Z z$ORF9(wy=_H5Q`m2Wu+Tt8DfYR>aq`e3|n{HbO$(ScrY+{{liXJe8WB*w8iPc0|p1 zYyL+NkaZKhH(wntiLSC@oa$i`{B$1KDp>|i`a+F_^jO#3ugEDSrQm7UHE{R7c$nWU zuD*1n&rq5Pki$KKdr%;#A)rV-LXwM_Mn()bG<6oa6VT9FbQpsXVYlPhkEtUyPQZT4cnZwnzB`0QUuk#w5j9r z%UAIf;Kr$J3r-N0OAGY4u7ghcj zxM+AY9~fQX&Rl7Uu`%p#o6q}z|1#(lTM(8Wa9&oHvtG_>_^F;P@oa`U5drXT{xH4HS*D#~w$!bE9h9BQ9 zB8Yq~<_OJV;5gP|U7Q)}zHrT6t`4+=#klljPE4EGjGUC5Egs zS&!@N0!>R2W^ArCMqpj~E=+CXC;#!?)pWVWpm6!0 zQi1MW@ylq8B)FIi|E;^X23?8a%k38ocmuRFIGb&;(qI^93M@7(GRm2fwxJSHL7Rq9 z97nCQJM^(RYa-cXd7xgIQym>w0YCZ7V>}!fFuy}`l{T*6iy^Ws&6P9eYTh6pP2Q-K z|H)|d7RuM7i*ryZ@YB;T@8{?mX3~NYmgV#%BoY`JfyGk*$>wL8W3<~8mxh~lT56F^ z_u7t~p`l8t8qaPoL7fN>Jan#>t0`h%aot?@`t8D|f(9sqtIt@gD)dUpm33y#4N z@YmvaI3~x53-j0S}m*q@0#?~1#q@j@lTcE2&<$*6q{#l-S{{?TH8@%>!4g`Y7!D9k zW1`E+=*JP;o^z|#KROFYD^PaUtUd1-tdx?~7MSQ3skmNtjR%fa)PwI<=*PGY9I%=GS#lrEBX zL=*qAK;-U{snfpyr-~{qAI{1PuonC9KV|13`Dg`FLcZNdVJJB$BF-Uad2FmgIqc}8%+j6^JHdb-$BevL*T&e*D3qe(mdRrfYZIXzP*{ks76ssJd`VMsayaU|6m-s zG@_~99Rd#jhKZZvE^e)-DYwd6i!m~75~g?xV$n>^lI%^KiK|&NPdxMlz|KZokFW)0 zau9C{kW?#(I#JDtGr;KUnPuCqCXA6vkQT1Y34++Lr)QvOzdr>J_8*Upyu;fMqFoT#F%Sdv@`1wqD;xtEqj4_t!NNAr!(CiJA zXviIC@}h$U$i>FPZY^l@6a(@*kx;IPCcX|ZV#_5wFT?=*%sf!*C1b(M#kepTvW$fW zkh?8ByN!QfmWeV@_j3Y6JC0YDH@*G%>VCljXcTz{rz7^qJan8Mhad5N3GepmWYm8fkc+4yhdN1%dQAn1 z;&@V+qec#F@@73Q$kB2+yyI$6us38T=%f|QPR?8 zRUeDXy~VxmUd@Wy*0|`rl!nqiScny(0FdY-Y=w6L$KDDvPjLgIOhrXY;wRdJg2Ib- zx57la%IlS)yw-$Gf=gh038Sxz67~drdZ#!M-6wsdCWr(2*SE4+l!otiV;x#8G)M5> zwy0d~ZwYpIXm-6OD=MbDDfC3&jfVrw#JjTKQ>h3(bl~5LTZ}lqE#5;oL538R1G`i7 zHlM$9o?;L5xf-VOr8Pq>VN^YumHQ2HdL`-frZ6zCXK_=7QmTWl|u<>=S83o7LlOKjB*H2({f3u+5q1!m~nHpm)oF|wR z(Nx-Rg&l+IGD2mJfhYT5hcOp#RE%+B2ei`|jUtdt1u*`acCGC^EcTG@Z4TUw@@jXh zc5}X(qFQu4y_tT1l%T}_KP;!$?=Po+6|_RK_P>)Ds7Eo+E6&zRE1fJobh038m3xr{ z74)wTl`=Og{#E9;V~5jPuX{1+Ljg|&yxg;k;`Paq^g$)=P33u<=z2kRhEnacSjNvWTxS1f_ zO5jLnGp-s}s$n5qtrGbSk7H8=a*_9o%f%gtAK8B~h(_Gy-lz;fo%>LkNG{4iZ+agFwaYt$F&+S=vFR<2f*V!$)R>)WMAknNW! zQwU1o*E11S1n$P41a6JQbwVf2q>o)dG^99MA=VW@(9PqF^9J zEL2fLVSp(!xHRB@g9OgVIVKw$b-AiD#qWui2;o0MR}W+Jg2yX`wN779Fm&ur6whg4 zLt1gIM&!?WwymVwlN+FbzA4Wj?!7*HU{=mJA$~+ZUzWRA1=y3nzT(52EZ!g8E;xT_ z!qA3TVe^LyK2-mmVn^%$+IibOVkAd{X+#K7S4Sku=Z8JrQnk=v24HAl0;)oh7BFRk z@4KV(zRbl*fE(?DEIPwefG^-dUku<9Mn~rdz2dy{X6n-0lF7p+Ra$>y?L?fVAkQFi zdc3W@-o@=D!Zdf+JYLAs$Zv`uyPkc*e#nTlDt+yHBg~~jp8OUr_>;-5(oS+P)n?(r z)VhjcYe*huF6q;du+rO2Jh5F^+V6dUWwoQz-?!S)DCQ|=^ZwSwWIgyQTxcp|h=1Tg zqRl(><0GF^z}75VK0d+83!EL64}5!_4aqBa-M&Dq@*J^>RY@kWfWLxx@oscJ0Pp_v z;$3k@+QB&#b>DTU-vI)Z{qU~?u%l0o`h$0aQ&ipa4=m>iXE?+K?XrHG;*5{w`HhYk zZqLZ^d-1|G{R%Eo$Bws8EGv=RE3D2DR_E;e4HbopcNgb_UqQ*4oEN7uMY_=pVkRTvD?-Q-p1? zT-aIf_fu-SGo%-=T6kp;{X5f}=2AP38jL9T z%$kZ1H}^A4KTugYENJ3fB)j#2JWd+16^J4rcl@MjF}A)cnX*d=j-!t1RPYjKw)OV?ZPdmC-=%lxtO>T6RV8EaZ zAJ0o2`ebcr4E~bqi?sO;IUL^^Zp%Wr5-4&!fK2qyb|B*DpJ&!s%cjh&p$z`UVG3}g z63*6EM@fm+QWgK{w@yWqK(a|Fw6DMaKAUAa-Y|dLK_B_tFZ`*)Q(;Wyi0LcIB1C>B zM@CqNDA*;GUYsHN&CHqcj#7H|3H8^|a%^ErU`P__u6;SXqK*Q)WPD^ z^j-Q98nt(jmM+D*;eyoc7S>*55E=b2M$_*W-&&{neMq(iCIeCVTY;ePE$$k|y)(WE zM9o?hEA4Rwo=Nw$c6h={VmUL&q4qff2npQ1wxrE+7c!rjkt+O}e%Rrg*=+ga-Rl09 zDFXj`vexL9DXR$eBecvA@APSrJGtBCAR8&Xd|jau<(p>EUVH&uZQTDRPfk>BD~99g zvWDQun|$3P!{0SOGI)g;NI_@L=@TyV492sR>$Ja#ynk)WD*~{oTz_1?%-Q*jBeMDM z_{LHJ&1XniTw?3O1k_s#8D(!0Bg$M(KNY|SC4SU0MrBBOx9eJ#Bv_V=CN3j% z58PjCO+$@ty~$jrN!ZyE7Q*BIHDhi(EnEr*_e;VjuvL`$|N$;o!SFww5YieSOC-rN9x2+b??Ca`7kG~+P&Cd z!0zpLiyJKQ8$uTj!Epd1btfsN;9Oh{hElN@wt_hIHMyvT5<@UwM5b3 z>sJ5!wEG-E?}maC#dJNx>7I3;q1|5oM7bAzZ&zTka=1zI3|>mCTs+HcjNKExpJB=$ z|J2|H+a6G^2KEvG*u>ewo?KFYU(P6a~r(hVJy03;Fc zN4Ei3F$yEapU^Eab<17fzu|d*D;KR?Oeu-Q)nbX(w|1(CntP#|wPcYG$At%ih}D5~ zetER&EMNIVJIpddC!8{eK!~HW|GpRiohE|FnN2F+7#Y!AjF5O8Uj;(u!#&~|^9RWh z6f&L~$G$u@Da|K*Y!T>a;dAlotpTJQkfUuLdc+JPsROlhzmM!qsy(pfN$z-B z%tNT2XM!}Km$}0eA3nr4eTb)y@K)$*qOI3P${N5NeM&Da>q6=%V>g+%1?=w78XY!f z%yA5}jw8D`gTbNij9~foC;UHF2TlWYiE~L|q^(!%&fOd`E^IE!=vv1e4q~Dq?BW#4 z!AiojNg$v78-cCcVV1CLBSEIKA0#P#_HP~_;Q(>Da(9&Tv&eE}D1~I`!)@su&>lby zGaJlA(-gwtp}3s@Wk#El{FJ{{`AjN-Q+6-X&@6f4P3U~nMw-JG{h$XeI%vctA(WFc z{M7;>DeCZq78F{EuAPew;-n>JY$$Mpb^ITK81yo|(=)&kp*ZL6WK&VW-lpRL=ad zQ$P@oCyfZgL?`7ylw4#d@Ovl~U?jQx8w{GJd(nDTV9b!iwTDVvtgj$K?M}M4&sl7| zVbp*JZ?9uB#4V&Qb|gR)8Q%_;ZhsyBOM#pcyfuSbdXi=Nv?bu_aDT>UapK>30MXA zSe^)V(h7~SJ=ToaC?aRM&6T#aIvj!MA`nGYN=WoGzxO;j}mQo*;p zaK&Sw*8Ea4u%&C5#Dp%+L9R&Rg^wXjL=KN+X>jX%)lQNZyUo|FRtjI~G^w{OlFcr! zPamy!m`YCi5w@14aZD_bKVt9lU@YDqUsbYe-N8@z!}9gjK)ftzi%6$>RFG#`@ayuo zILuAY1G2Lc&o27yNCwHf`#>$hStb@N&QG}%2b0ZobH9E)ogqj6@-j$Y3|=B{+)NR8 zNgfPoIC7yuK<5xC$VQf=gL3B}5wy}T#SsXwbUX5g*l%=Bf81QJq}LKyr*;SFRSuuG zM}b7m1eJ=!Dzr;=uZMnsOsjKnRD3LLx|)-E7nBd1LsSkPp{P74-PXu*;SA-SBbBEC zO|0izi;OUwl4F~(EXA5t1{n^P#sQE23=?*adA_PXk=+%XAVF*fJEI-=O~wmi+UzYW zJ!S2jqDc{HToD$)Kb!%1F(jXZJYZ$rL-_)Dl{3;JlJ-Ga8QrviLBlg|A6jX^F{X>N zX7mrg6^d-5Kg|U?C2xs?<~E>Jfaib6(I9*P5E&NQIKu|9qOG0Hj_pLaP9M&(N zc#%%<7!jb6cvHI*w{M!41;OTxxc#tk#iu#CeJ&v{A1}PJLyre%C!>GqOmx|SUjIU`%>W&UfT>M*{~8=Z_V?iUbDNC^y`zm zjSbLIDGl?e(L={YZ;(vl?rqlPc|Ij2G#-`6pXEqI5Zzo45aCaX+q>26^aFUreuSHr zsq!)0dSDGb6WoX|X05|Xi1UNPjEZGk+tk#qW>O-pFG}g-oWil{WJ^0GXDy8|+o$tK zsb1016vsq5nHnWiH`pQ}LIbV`j++JlRV~Mw@q!_1Z@i4drfPiAW|Z>VG&u0%BEqeU z6Dd9)9c3EJA+HL{AITdPV&;WDMWp z8XmF=smvKXD>M45P3HzNuQn=(R5DJX?3*LF%P6Q;lb~qvq;E2(jihJW`m_}G;eaVG z8HI(9pfA9%Y(s(E45kSX8w4R6pU>KjB?;MY@#t%dp4V_J%%#SVS~S)p#{5esF8)ol z;bKYs1V}8fbXoEbg#Q@jGTA8D4y4gNafjrd#nm~D>b0n`yDh~7O4U;QAkHgmncNsW zS%WG}bY)S{mK0c)xiEzo#NLkP_mP>D2Ai=2ZFahURZZ1@W_Vu8bCO+);hIww_r4q0#}A^8K|!NgddW@xZbI$Kx0e zE+%MN9K3_1-Z3VMT8*y+QG{7bt)pXqjqpgUCAz{feT))Y#X1Ty-36W`q!O)!h&m65Cqh+-Ol6BL_J7#9Nla|rTgA8F9!-ODe8|1FcpCIAGMG{X{ z>Rhe1O_yi~G02R=VfpeJnpfF?8GUzVb}V*}xKaquqHz^b0N^X_CVpDpp>W!>L3Xn_ z&{Iv^-OI)^usp%rKqCn0sxK+4eMsw@TfUkH)Np{5#)sqQ`Zv%c3pn?X|MoMlyYQXj zV1pp*u@y|r+dP}0_RRTm*t|HB*aK?xqXv8gxK`i}SUJAdy>^Tr5aDp@M(vO&ECVOu zO@cfaVTi?zbQk2-HA+!^Z0v6P=B1RU*(c8{lN>$jLJVu$Ob78mlh~{^avTx8Sw*w_F&&3zsVhl6tufVGtVMT!}7IA#;a> zm~V~4ZXRfn3w(-)S4LQI2fw!!3MPsp8CI$I?0bJf)4YZZ%v@ok1-zfUIKFS~7zG8B zk~4}NLT>|_8=LRHpO9Z_z>SCW*b*N{h~6ZHh@e{El|wJrGs_VK&qyaGGk&*~$%mFH zh~n|Ey(AX8h}|IVh^C_tC>voPxhQx7D}e3Lqmn*W_9ZR(5He=8AYB@M=LA5#^d&tl z0->0NP0PvSOA!0jx7@}By0)pu`B0bdcz8-9>#u%RPJ!D?@a2WG1PYTFhsoXj9BEY! zBpizM>1vi}9{bT=$2~zQfZyUsn|*kc_TVr#S#F22Junk~l2n2ZR17D*idMBZuZuHI z3wt%aUqUtY_LeT#Dz7DDQH}HMLvRi7JAU9x)GP`^yDtF(F{jnJ5FRg6Ctoecd zC2FEi84eBDaoK-)@L1{>uP$D{25+8~3-S&L^H^PkagFLOjc#MzRd=;*<8{Pl?gx2O zAJ(65F)?y;#Wn%>;`>>hBo|aW)mJ`_0Yby>d%@aRn9=vVdDj`;ah(!Yci>0T0#+sXrR%g7XU2W^=K!%uOAY?$Y-Yg0fQCd!PJ4X; zTNlLO5;_ig#EI=#1!fP7x=)}aitOCKmplrcB%jf`w;fT161{bD^j9}m3ps(_F@}fl z_X1g_!P|xRuA$Y+{ZzXg+g*u418LVFP}4m$yLUXlN@eNvzN}+@5aP;Gvc5%^Qs@#N zP+_()#yIk^Bs8>x)v@GQmt}8lT{^+!(0z?=BeZ9Yw?oXyM=$j#J(E3@x)7D}dD8U4GL#Litr_OMUSqQH?pMYdS3WgsQEp`cBT}B-O z!bNi9g8}s4LgU|ArAViT=E#-!*_h`3kv~}7hRjuL%KvckbNpW3iE5PB8uPSPjX!;( zVJ&bOq3rS&Xf75ANjxVzITdzWIo_24z)S#}kc0R2sge~C-|*CRIk%%AB(OcU2g_)d zIT*TNBmKq%-iM1Z{clBg(xL{nhz0ce-3fSFux3u}MB$yJB|`oT+;aDM(B9L+r+90` z_?AhfIaFP-MSM68s#AfC5KuP(EFKN6&*$Hz>1bMa0nS~9h>Gn>KP%)56!OrJqfW=# z$yx4&9w(EqDrG4_p)JApcEHr2V)yr^c=l@2xqO%=poOv_+Ej8nTb0+gD%c z({w@h0CI5b^M^y5cvT_4-ss|YGj02EE7kfZoFkAd1`lVxjcSKG9L?Mnb_1}3c(C=` zL@Doq30IgypYae@{hXDFK$S+o?jkYO~NPdd-7CmM{tg6G3iojiXY8G(gbKW)5Ve| zSiKK^G({c6`Q%Lurp8ofW@6J_%l#>u?YUQ6k{5%!yVc$4%IeXs(eXHfYu0 z&BG!HNYgT;o&{st?9-NW(4t-K5B4K=RxZu_um6gijmNf8Zu@b5vicw|ipRp4!^OiM z<5w5cB`V67N-~-v23VdgaSO%oKP5$5YMS&dc)>)JGb*-6CyPA9ZK51)J-(6h;GE@( z_PQEv&M!60L~aE=cbqjm8hwdz-k|6s=ep3TdCkm-9i6pE!ePCrIj~%Q=~zxEALHW$ zUexBVt!nUc$ksnQqRF9ViP_Gf?|agy4U8kzM-9ah9OK9WX3}QZYtkZLlxdOD{OU%& z;pPWXm~JCXrkcn|8p(45@};DO0=DO21+`T_&JjOB0m)iby7Dwk@XW3pK`VNnmKI%t zX&i%64M>>+k^o96NG*LdxBF1XmY|1U;onAz+1E)dfy`7hz9tPuAIN%uFL7O$PJ7@$ zLq|LE2Y6RG0-D^y@zC~DUTD2J=y{&oS3zDcP2bZ3r!|Plk=FEw%|}$eT++?ht{Oe0 zQIZ~EZDL>%-9gc!isJO-VR-Q|35YQ%R89aY6nNsyM}Hp+-P@q5Jkm9*s(4rtLY^L6VM;l8I6ZO z4o@*mP1*RbF*ekBEDtIoypC16@n-N^A(Vach?bHy)+Lt81RE5c$-(A=Pb>H-=~jFzPZn>z}76U*gu`8wFPH{_*6a3#`u8+I<-I+bPzA3(I6 z9ku>U>waGohY%ct0b9tK8ogH~wX<`tDQrEw;$I^J%2Y+gXkB7RYY!e%w@Ph@;`VO; z2`|joeu;q)4N;Ldbd(-HqPj^xKN3aIXeot2pBK-DJLrvc?;sJhSL4bkS+FJK8EgTL za7+bp(A9wl3;of~M6|A)ma;5gIECp@VzUI7zLN!))cp8Y4(Y>TZbo9Z6$bK&i3Zb& zOjJJ8$!eB^CbEKR0R_mv|K6uX5)tAU)lV4R%aF3zDg{@@7#|FF!bO*3;d5=rT+)KX zUbvf2J=G7?X56h2>4*lVA%Z`|$uy0~EoSF{=mpTAO|Adh@@~leCzopQ>p3*cAnSjD zSf@BUI+qy~^d+7Z-bTGf4DfI>zb1&L?dF|})3>LiUrvk3n=jRRWek!OAIa?yt3y9377At%-$CdDuf)X#3GYqo_L(t>eQa^r+^C?>nCy zh6jK_4g)U7i!-F0tIZs?T1Z-(YmV;XnWMol221tBoSKxshK;7pw@C$@;w4}TE2znA z=<-+kL0yPilKE3js+6tmnW|A@PpY-FC4w;AS``+ZJ6V$18ePTn*&J-la39OPOQmUV z&7n}G5-RXiW`c@XD_4wAz{ibHd3#=Xk5R$wORfQLn$6H;+ucK!9i`m83@XWyf_%2Ip>*5Ay>^lZ)Mrt)hZ9inFX^HM~lE>OrW!K^IA! zC19Q%XI}dTVj&q>Dh82*kt%x%uS>G;Cm=o=q1nOS{!o6SuOSJX9TJ4g zx%$}RT35Hv&@jtv@%W&g-QPh2K_uJsTi580kiHE0YMiAs24OFOskP#G*E9>kE5xG_ z1tY1mFVR-IFs4G9ISiO+-KT^CK7JyT>eP2T1}QAuSvl>5s=p4)-*)TmMaan@{n~Wh}o^wR)D?U&Sw$uS~^Y*;5}!8#(Z)@_~u(8 z4_V=|A+y6luw1{%2O;yF6ql=jB(utZ0yzG|ngd=gk1Ia`t{mvWnBa>JVx-onABg_9 z9>260-Qw2qVC1joQtA=d_;sOXhdxw%uF78 z)fCH^=jb#cclOy>hNas7WGRJ+O9DurGeQ|UOy4A(Iv!hp91`Kya zlC)!E@EC$1_ZH+0>8-4@8LUNpx~>ZF0;K12E{wHz2xmCo)f6~jZS znVL#3j&8Sr#3h$?SRCDaksfB!dZx1($WRX4Nf#oGWqgg!n*&HI9ACgDVwxchNX(S_RLBUV+?i1=c}4$m$`LqPX!ps}QQBX|?FCWO=jEduCZEgmoj7o->_81wBFbHSCh-&O5|}DhL14811@hZAXYG3z=oHNW=J5X z7-1JI+6T0=e4H=g+YvWA%?u!OW6%xAT1mplUlH^Fg!uOO_MBeI+1E7m_GhphRpt(% zfXJ|WtE*h$OAIfL+96BU7btbDdrv0wJFxq-(2g*HZP**WkpqGE2&>|de9biAk{9f3 z)_Isy+*dZ-Tv7Hk*k8H;Lobmw=rANw)|0=n$%3*9@>3?Z*DL_eC7LaWs9Z_u^jP!F z1F(ACfLc@ZZOk&R+6avnBYNd3ISN>EGf%|ik&6xlcrd2@*s4jT6waTcN-iV^2~Xin zMuao$6W3DMAr5WNn5C8p<3PXU&;3$MKar3XTqulU=k)!WgERD>2!iN8)z2qztdn$` zGp7Nb2b&)VBtICpJ0c)Cp zeZ6r$R^W61l^8$(q=v{pN)t4!6{)SMg0IZ-qg#7Pg(Q>=VjR#>0E8*%Vp=)#qi`9xx^`y2!yGb?yu`zsiHbd z1Qty1*azN}pV^GS@lpRAiOauFi}9)U-{aSEl`G#b&!yJb_*q}|bEMyjotn?EF`CYw zOY3GPRIOorSmn)s0MP}vt8K#9ZZ~!yM6~$J2wYqcQDZUiHmOyV%3m4`SP~ zLm>xssbCZkc}7zptTvH2+@MoG@3bi7`&M@y6hRm3%e4uHeodoiW~51+AntJm{2m`I zKP+xQ6i2oPTpu|eBAqBJ(#UH5ADU&;DlK`odTL1o5Bef~D?g`P8-^>zFT?XUj9oC3 zZ*q=Xa&~cEh7i);Q8CrzrX{lwErNlmj(EITjW{L_cw2*75tJ7!AUU!mo<9?p@L*}Y zXen!J9y43vLcU?%4*|ftj!gQ&$JxXV*W_+y%qi}pEr=Z{{tLtzPtJ<%p zX=7D%p0S^h`@2NS%`qaS4rbuf2+IP)Kt#sLrtLnvT#&rOnQuZopdtzXv*|sDoED@B zoMG`LMs%V{zq-_otQi>fwe`mT2qOG2)CoND+uH#I4&p;V$0FXLLIn&2;uiA1Lf6$# zXL8%(HxPB`1C`HR1}ea8Ql<-;qN^?B?tM+}jQP6i{-2~rs?|%|GFj@=&O4==YU-WD z97Sp`z4Mh}Hc`z&oR~|pEu;*s1kq*Bb!eqW2S*WS6m_8K^7Hh|x{!y`8-WvzZv3FW zD8f+9!6pRTjTK~ydez$pcNF+^iL5=G5*c8@MPP_LdX&|P^1%3 zdrq@%?IXJsybF2m9Wt$S+f3%^ihqUe*YNA?Xnb^XGB^==G$A7!x7t!q_j~amcja{O z<8jhzXz^Q?zj0LwM+qb)2l_K;V#p@l10Nk97bED4y*?TJB2SP2=e$!<$#{WdL$Tdb zy~lnp{o^QJ&|w(PPm70ux3j3ND(fXl(EVm5>Fo!mw|bj-AP#+JZuiM>Z9?k$_i3r5 z41Pp&1)5-%EejoCF0Sl^EvqnV$VZHTQT#~O?mlDwuo-xLBrx~jG#0_4fXin=xW;5r z4{f*Wk~YcpF$mHXBhOdyAx;l%21GJTBj2O%f-#~PK8DSXqlhE zBW>!y2OVJVyfSWIYrwqSctxXLHimW>wTPvCC0;kWV*a8;=G6|1lTY2G zJ4D(N+)euI;FS;vuqdg(6kfQ7huF@#)vC(o2p>Y&XYK|Q6kEmkj99qX(^O8R8b0XG z-C(FT?wp>UppwP zgFV0pv+M2?tWdy(Deo8pKhI3}j1S#rocMwc7tk76OF-l*8NLziR$@%<3ScS$kCMlT zoJDZ`cG)tDc`d_K?orZ2cItjh{Z<8EN%e9og0@R_DryX_n1>{(#XPC>TQsOUf{YmD$B__=t3y!}`FZR2Ig2nLPfM`Gy?&=B!CJ^fuoh z)>n#9K?Effmk`YeuSxv054poy0Uhf=*q$3 zmg3^oEOok%ppay(#&LvoP^?X{QL9u`IT6l1$o21aNisMu*L((77`%0GyB>d-PkEVe zvC}eYWrazpf(!J4J~z1?wV5qP;+NCFP|#`Sn9qsw**@jMW^2oI-eJUEI9 zu!ckW2t6renhj4+pq3HNkPp?d*|64?$Q+Yo`sTZUaKPLqu$-UbK&29yW>QouIaZfY z@v=CI7<-GkXyR+J*vM=%$RE{=`Hc2)MxTV{0+~X35z!(>s`wTb<@<=Tr5E%V>HE>i!Or2X<|#O&8ign*_jw6K zj}R2udpLT?st^(F_1~QRINI<3jI_qO69-r0%V=;d;hbKt7E4-|XK$C&)OwmV#*#-k zoYYOJ*;qp2Yk|emh-BcUpT1m4e#!}>CP?iwX&0o|lBK)rbA^D$+i?&9bUV=@*u z9e5XLYfq+EQvf;m!Eg8NPy1!stJF)NiEdL(<>%bagxV z2puwIyV38#>zhQ4-J`;Z(A8qcmXshRWXG;&0Z4lAl%=S|tm2VTV-`{D=wx~mQ0t3x z^&}&pj!fllZ^RJc@vs~(o}q(u7fWBI9#p+d`dahzeKDo(^Dj(us?J`h5Wfj+zc|TO93+s5w4be zWu^d=i!5maa0-WUg0S@8xag^XEk_U{k4iTilK{V!v&xcFPr+>dJ6yzR(WcwmoMq26 zH(U+S+<-`fUZo(_@$=5ffZYe9on4X6G^;GCD%_DG;o5z3={5WjM_IBoI!nFqLzth8 z`$EjDu6X;5wFO(OgXxyPQfG4b}Y!&{d(5Tx==ngTuB5J+oxwtuJ6o+Js=ckUcOjKi z%TXeAyikq@qNM~SS?kN8)3_2W829x}|l)>5^1J<*W&1? zzz9vcr9U2?eY5)?|IzJ!)9wD(v;TVX&9_(c*?K*nehaOq+4vg&KK?NK$Nc8Svv0n= z{N`IY&woth=fAx;9_)Ve?ZtTY<$404&TCY1zrDTw4D!ggf>*8Zmq3UnpT4~Ttz4Q} z@aySl5v*h)b{;I0YX;a+fmu}ZJ|U#Y*;1{Fmdr~cAc8b=JBkh1(%>9xh=_bA%MtPHiR zkBeKOGP}?3V5b7!#BgW;aWOlmPe^k5E7jKH{* z^hARpJE9za>U0mNp`-dRR}ejGp!^e;sH9}!wW+cF|MdX5Luq13C#25 zV)-Qu0ZY{!=psvJH*p=pJ*5UpZbRnjV-(;h1nu4c8eJv=`@L1^11p$VEWCoF#ZI>2 z!UEV+;v;w5+yRC(Zw2R8NbkUO0(9fcz20{kF0*ah%dj$fCar3$;Kp9?*5$0m580}4 zAB)`S7T&{A>)pXeD4xhw%oKQA6Ws7|I$MMvbPvmE^;$ed1{4EpPYxlUFdft~K^r9z zr0C~i3~O;3XJRc`X`uuPJn8?WHL%y4)q`k9RmbG?_GS)96GrL#nlT3va21~Y|NO6J z){efIa2Q`+ZlEv%NYap9ZE^KdwRnTdee$=+47z7S+5Y${Q4RwtPTz)=N+F8$3CU(?a@NIXW$YMvrq+?zpwP@p+2^SDT* zf;G6&1u3Jle4QDKLMRTkOH4BZQgrkHWqHxN^YhOBKonE3MzyQ|b;5}lrHw8y&NcL} zXN=#y!rgvEUlH-I7v~-MpNr0#mLf(~1GcB2)&NB{=AMRQ=WUn29{g#Vkj%#+ifj8> z;YayF@_3<@IXlS=EgYCDih~??DPda(On?C)v-whJ)<^JyKLid)L`^f0tmRIr2u0@& zUX5iTqkef#vFUkBWz0oQ1f)Vmzytkw61g$0+gdQoD@>@y6H_uhjA|y!AGz}c&nY@M zX<|aytm(b`JU2VyS}}>GphGlgeP-=W1YLu~P$hF=#|*WM*>kD@31R(LO^&;tCjn9@k4P z+|ZBMm(W-hJ&k&#qB4{$Df5d$KbAsKII<~Iel+1o-Nc7Fj!NcS7w~jjQYskrU^AH> zBl^a=-dfQV{|@Z;Was$Z=!7a|XE&oGG(umXt-2#!nj`Hy4of+Auomrth@`g>W*2}p zz`ic7c#@zsfJ`w8;HhzaRuZx!c9MgGQxHKT(EE`CTaAysSc>wQN$Gb24Jn-!sTAPM zdagssW#+@Wq-+qFNNna;vM#=t>l5>YY*h}pII*=$q=Qo(4&m}kWgQm)kj1*%mP21 ztp&+R!0p2g)=OWUFEk_q7EFJ1TQuSE7JoIYqOAMfVDf=a4Bu&BCdRLx3FpG9-SK>K zx|)1^gZ9r)=m}F}@h86|Zf$gNx4#3+Y4?_eTPF%VUod`h2JuV`ie|GL?aK;$CWk*t zV3F!`jBuJ-@WZCJpG*1Z*o2+Ov?FSZhiALHP~h$?VKVNhMiC_(UJAiMZV3r5n0naj@hXY1 z?|3fzp=)lGd5dy#2+J!w3>(?jxOE5yV1hrf>N<>ryXlpK<|7_M5PqFxQ*_17xFcE| z1db^U9RLEc>sXZ%OTF2iZlGn|M>0P-Ae3qFXsEfgPo7s;AxMBR7XEZRzg=OAm?uD8 zE%;6|U}{qX-5oxlwvp3@KfD>QW|Qc*e9mL2PQlvYYLP;s*$py22{G(0N`O#fT5I z0MzOb@`qfuc3%+^x)c%I<9=`B-?5rvo8oe(5Y_>jTz8tbLN0IRnoui-RtA&>K42mz zlr&nrFv7W@FM-8jKH$Us7dos)Pc3n{YVD!ds+rZg<*{qs7veW5^kHt3>;M$Tt}mzO zNPh*rSl%39isp-UZJ$F;uhd{ zNz_)p*QKnAW()rx4@sZLHP@8biobaZ24E>d)skrc+ju}yM?@jieJzL zKZV4rhK00AUCQhfXWHKx$MfA01e*GXKf|#SD7c>edqmE>cl%!WzR~gfA1u3mSATi( zpWhT}Ej5^G;b*?FdQ8wZ%OgX)v$%X=PA%rVq4DMoXmK*mX7FRtEA91v9afOXmJ29w{yTcXE$-r??6y3b+_T)x9$O{!uDwI@lQgyI-oOmev; zq~ShAq%@umw=AV=kjNPp^?C#YNlN!BdP{5Uk}9C74@;_Qidfq~Hn1xq2$3iNsY5Q* zMuQm;(L8XXg!x=i-$c!VFL$ph^K&ud$gcomN(#y}bRdfLWn0EC+1^K5*OqdK5Hf_} z3JeqW;QssPoQQ+iK(pQc3@&Wesiq2wB}*@Vl()*v9Q`}&VfK&15>>p1hDjC5b$>F~ z%~4}f3QY1!$-?;#-om;nSKXJCP=Xfgas?6C#TqO$i4Fv&(pu~bt;P0#U!ycalDI)$zC?G&zXpZswkHLXHLVIX4i4YD8k1? z5lg6>&L}(Al<}xvM>mws>`lQ~W5k{-XGJ1sF?EWrtW;63I<$Uu&>%hBqxR_N&0q&1 zg7~OyrN~g1l#m#=K^Za7IJe_BIP+c- z_Hf>{A?yUF5zh-z5^D;^epy7#cu;3=2*hjMt(ySeipDCBj%`NcL57{l22adO^#neo z8D6g!?0yInrF8^M!}p_8?Q`1OI|;_Yo;Ki@hR|W1bUjKx7O%dY%aUh$gkU2;;U=Kl zu(_+$=c`d=jP03~1yWxzlEu$ulNd%gI0Sl!Tkc`)CA(idP*TBQieJdtrD)|hbTAy9 z4g2pf+)_6wg|o12!X$}!bMNVHQVre(-Fx+R%&`Vvy05I(nEsws$Et%HjvSA(f7kCU z!bHda_Yd5ofSSyw7f2|Fs0ohOx63KRLBa3e0Zy4u#VN5%hheT!U5Zw_-W=rsuRD|z zKETJjPBV(6BipKqA2C#O*Ij?bQ;gSPh!N-H8&NXrCb476IGfA?K`^(A=#sC_U)0>Z(6sFczf0jm&(QaU@e2NrapTZ);fZZ}g9`6aEh;Zrc;RP>TV zqQbPrwB7m7h{omT(-D_H{l@+(x8)!`V5D8R#T!Iu9{H<%?~8SaJ1Q)e#$28PZV0mz)5GcXd;rEhW@$mxK|7gz z7<&)UKG04DdW2t3%)mC8DhYR5-i;r7vTmxGBIJGJD|!3;^60-gStXFL<6ws_3D1PX3H zTta;0V+6iwy&T*Y)yJqfWKI_l%JlciR7&iOd%8~x|0<*CIQHbi-XY7zbc6#0*EnB{ zs4t{_ELnwEhsEDBI+WQE@CH!5SYgPcYn;d(@MlG~#TG~0;rl%9#aJqmg&S>o?Wvv(GfQPuJl2=b6hx`G@Wk7TKtAQ z1FOgL_Gya#lk?eC=uv9Y4Y5%uGMe3Lp}1{X4sH$-yON&U@oU_sC}apX zp^zF*bR931t_1&|uny8&Q#v6=5D|_*8TQ&mZ~dIE3(||{=&3nCV1PH?I~{ROX&v&D zM}G4SEI1+R=2@2nasDc3LRP)~>&+cj?a9lShKBsd&;< z@yYx&aTDJ25TepRtP+6`P+UxSpmEIh(Dz01V$(tk8>$R^*Xl{g_n(w%nGmX zqAZ>x%0*s{uYt5Lm3+_uLl(ne$Ew%Do4YLO%*LoV#*16unk(MlnqHPlmsYefzK#Z5W_*ozm1Y_d%7yQocmcVB*(;EB&bVsevTK zHXz(0x2rh|MNXHDM8}jXHuCUS4BSNr5>|(lfx&OGiFOR6HK|`5xmb1M+f=Kw4YFkx zwzY1YpkqXuH{83`RYl}cox!Lj?)tus;HFN+;)G(VE-_s9M_B_IFOt zPWq!aI~Y)K(tnHBc_)+V%i~=9>@s5o)XW)yIqp8utHEp0oYY3ilJf{Clq2T|pS1{P z+yGhWo@zo<0@I3haolwn@`DoVn+F2RiQuaP%H^@|$d65ipPAE?JE1=mtj!AlnG zr&6(>*(c5h@no99fsBeP9E4fq7X# zoIU~x{sjG15FIE8Z6^6Y{(}KE;_03~;mQCB{nKaRZ(nsr;E1N*`bXztImKsObFS(4 z;IX+?v7W5X#pl_%7(<^T^q$zHm~snSSfU~kqF^pT`GEUjD4Y0s%%O~yA9^!G^kIeV zqN+mp8O9t&!ji+0k`&&%LP_oZ&NqA7tayv>F(?2$+)YzIOZD)7{Y#chGnSrf=%+2$9EfFSLW7qT3249W7!?aAf*vKZ|aV(U|kN!HRiLi;~iT ztWvR_zNZC3ZO;_&i>;?HIWXX4CF13^FU9~5UXoaT3biS6J=1B*qMArDyHCzBWiHgv zn91@fucDRu_FH#Hdf_SM9$bUb=Hl2kTffjv##I%BR!0HuxgOk z7OTMx!c*&6=Ssql^W?&!z5IE)T(K(iTW6pRSm(dY)*tO$rf^$nw*f9EBU&PhK#5zw zvO;~XS`l-t2_5!cjGu=FaC16Sh;kaUL}i4I8WPS~EijyCt4^!Il}aus8L--2$9 zhjnpwrcKK~d7u4;J?bt)itlE8NjXF)tc#+r+#-Y<_fBauNrHQ_N(SJ-N);$89` zOnz$H;2J$=jJKegz8)>vkRopVmSb#@QcM{mPe+x~O;7a%@bMn#iA=o9cLQoB?jjaA(GJvo5XxGyrdor{U8e^#L+uXf46 z+SM)fYNrQz1YC(uGK>q+;II3l{4MPk>V?0gtTT$7z3lZ0!*j-;rsudRV2+{z?_lJ{ zq4UpX{I4MHV&pdQ;f~5De#aUgo}(gnBxLdcFw$|E!wVL$S`%+OUJ4LUw7J->q7p0< zW4ZNej4GDBMWU5#dZAJ2BSL(gdP_BGz6CCQ?QVY^*fTQEDE{`=YbPdh6E-*-K+uLH9|i7`VsRs zJdZ}60Ugv1az9`KjsZH*(*q&PRh2AJC&!!10>Z5?wBklS zd9lc2baGsR(dWrWAq8#)BV}*CK=Vp{ix`HO4W(C?; zb)6AK$X~L@HBCO1Zjri6!LuEZB~I zJ-65&u6U*qBse_^M%{JQSpVy#{FooYh&}kvf$xHroK3^gJbkOKEH%rB%P5ZQw=C{B%mPHkmCqGro3N-=zZPakM)Mzxc_Ee) z6JuwSR~)H77~GL1PLe`@iG&ogIKMfV-_#V57WD~`Ym&6LbGjqO!i;$wq|zm0jRuj` zl*d`^)SKvdGz?GdKozWbJ-@sGyOD!YGqDPDrk(@R}qlBU! z_~kL&8^qbglLr^)cfIF{eyNJ83z!@`O-W5wn|3>uwZl-2L&&=h&)y7o(Ma5Pa}5Je zpO5G)9?E3M)UI#mbHuNRWv9yl#RxyZKFXH6AFbq^fubN)r&K1D05Cn39-)H)ICqCX z%1l}LT%Q^65~Kq}z{HC!bf1W>tAtJ|WWd!ZLJAFwWf!4HwtR|jRm@-7S8GVc)Y4z^ zp6hb_>9KvOi^Oe5uE6;|GbTw2p4fB&qM}K)HEDRE`%oTw)^-?@Xi1N(D;Jc>jRFZ$ z$UQ*q0|!z+Lyik>LQEsMZ$6C_BVRc+++LOG2z2$zxi86{W87c5dcmmnZ#Z6=h6t2u zP+OPF8Spzk5zb%x$fy$fBR+CScLc?YCpyOUc?e7AU}vO&zK1+21nMp(^Tn!C)#*M3 z0y(?*g0NJM{f7=RwDMp-DftO)D78_;HdwvrFEEl?6$H^SjNyxQzx!wK7NTJ}_WGy& zlY_w_DmpbADD5i?@DIR9VR!WA1S0@ofHS7+huK_=HX&$XpW#}L!&aps0# zzt2J2)v1v;6rLd@_Xd3DPk@B4@mKPg>DJiyd001!At`UrZZRd{lHMw_Ex4iC^&Q%5 z03&LJxvJlQgXi@e!hy{G;SbiBdbqpy?iVkmN)6vq@4_~BIa?Fb`}}b_J_ij?@3VNg z=c3}^W{&qMY;rLEJp@azYxq32YAlw$=lH8VRV_4%)tlQHJ4U$l)Gn0#J}lvDz-a+U z(=b2$i{6vskgHcl>#8ZxNT8zEh7nFR(F8yP5+ZRLJPB09Kw2Z3ce{qTBJBvjwD~Mf z`jd9JQ}J%Oq!N#n#Y>oK#!Cfi=#71i~qxF_H*jfF7fT%pO$2MY=cv&9jpYTa|HaH>>M8NmcS-y-94Q$r2zHWGkh58Lar23a|N49eQH3kEx z7VoVKVX*)|Pa=WuzDso$F0%hJ+8+b7 zB75Tb^y)_FfcnD%!m?(X9<2*mWK+s1kmXp`MR4OkA#YHMhlPGoeZXS!`t|7U^J+4_ z7S%t0+V7LQvpRPL)Zps&s;-O^OvJVd5jgy@y%!HZTaIXCx1F|yQ((0I8d2^R7BHYE z2_S26o|}b=xjZkLzvr0C}9!*@1&rPf|f2$cWsQA zhG*mtCB0k-BlUe+tfT%yo63ttM~udBNl?o!5ADSf1U?x^ksM_qbCGuj`yg84E@Dqg zIY(p)w&Y1y*@FIl;kn{7%0(_)cvMsxYykdNKA#19nzkKDnPFjG$Me$bnXxI7^Qpq0 z>`-{uVm9RMH+PSMk64bfG&sFdiH0r`!pWjlSFx!RrKC0k+lCE43T8V+zI?j$0``2U zgyP$(5FQ^M3j}A9P}KEuJX^0c@Qr_}|5{VHdQ@hABbS@RPHqZbQZ=V2znYs^S+F;Df=dzk!m$%*&q^S&OUHT84>$X2H?bj5DHxxIkc8gTJU5)cn8L;&fjER3!*(nDCf2pWkq=!jbl!33nQ|Dm+*`Nj0D!9K?_id$QRAeU$up z%`ZonJY7OpAUsd?X!>i$qYi=xnObUnin;w=W7ZrjDbDx=B1e)Sm~mlxD7OfGX$$-v z1jf-ne2%6NbRpD`i$f$#_G&9t1U<04eep6m##*M}eEeP(llRyXvf7Gk!CLXM)AVtT z^u#gykbE62MwZAy$TaOS9?PEue4HLrI0g4%4W{|)@CdLcuu725dJpJdUZ=sAcDq_8 z7CI1rPbM_`MwNh*c^_Iekr7DG9xOUv z+T9(4MSF9E{yBZj=68YvDj=AxrR&+!Z}MjwzM@f;q>zi}aAHx69zdXyXI85^PmBGW zgemr>NS_!yuhz2(LfizUNo^~}elULk0+(0FKcbjUg%2-jaOeWJzYLc;-q4s_!{6uy zE-D4EF5cSxPck7$wH6p_X;he!WG%L zlU!J;w_gQ|Z@E+J3wsCvyeYea;3>`{>^8Z02t?k9F{N_6Ye7B7BOL$ZbaU@9YU&c>W;FJWx>giS#6)q$JDcF8AXWII0{-A(}@HPM2hqpl3_R)YGO!T9AS52o0Sf^!t%HTSbd{*uPOleynF!=|Uk!0;CQ{$$ z?S3;}O~vb&$@}3Sj(_rIXK#d{`3NE~ilS3jN=e zV*$&j0v53oz;`_OqE40bs?DAZTI=eZNO!~RQl3dsdkJjT$LM`hV+EHMW@vnR|x28FJ#7z$+ST#c|Jy<)C*iJMr;bBq>sMLn#7~pqR zw7vUOegZYjRboV8w<~P&%}xQP!vU3F$pECgjEAglMc_x2K-9X^>(FWK^ct;2=O-kn zh3>`fhHjEdLaH%F0l@PqY5I#wQkwoMrlt3yAY0Pb$brJJxg+iOgu}8@csS7-ldV60bHssF(qRF2fvV!@iH_x# z4=r;aLqKEM{C(Uio4!D*`?$VBz+(XuNI+$kWIAE&CnBmi*DS9p5ODpFp{<>{*TVJ246*jFKqrIp;R8^&P3E*>+&!iZ;l8@i;r zDT+XlTn&&j}XV{>2=dAeE{DO&({qDQaH^q&x?6_19jwzoUGg^&o%2{*(s*Ap&x^Us#3AX2>*Q$*x%6ccEy|CDT+uF|#-@wXS-QhyKm(H@xwE zoKSqihR^*vTj|xng%La8NQ-?*8_0< z%9@jSe)j(1i9Ueh&&lBkrUI|B!DHR$u0u8_#<8WCJKmv$+UAs2U;;E_S}{|fq1b`_ zy&Qqwv{+s*&;q%;3#m$1TzDI#AI}blXUE4!C#Pgp?kq1?z%}_lJw@k$y$uROd_X+E zk8a(6enZex^It)*dc6|#x2uybdgL|KAu(!}u~k(sX~Yn5BXJ~)!K~xU9jX^bO1w0*Eb!duKIAiijcE&rC0(YYta|I7&E}My-ni9Pl{*%fj zPP!xhI*+q!4iM-1)7A}Ij+xM)HDy4rS`4pbz!*VGM=qbTU}21`vl|CI%05U^@4i}S4wS8~Q**#O(YTbKC| zND1kho?0b!^}0dwwKQCtmocaM_uj?EIhR6q(=(*AZ1snd_PUcqZ#Uh*w&FK+@e=Rq2!sxt#4T?7dSryhEs39BmI%VeeoI?7K}(6c;a%tS(rd@K9oRVTTT|b}~qV zFoAbCycNZwTRBzJ9{Mz4!uVE4!eY~rTZ?69a7Y<#=t>_$VtVKBM~zcL6|1n8!V(s6 z;y8#ez%>S6fe8Ni{i$)UYu&_sf-l^$BeZAWioFgc$xuzTf|J;iyN*aQK>)$VEql;^ zi;;hZXriC{bcE>PtS^H>UOXF}auygUb9!{Y(lxh3w>RQs+Aq`bvIBKxUZM;o#?oh5 zq9CGAhf?XV8+;G|JlMS=9FPbmqIizOm_RCgFpRZCoEmpReM=CTS|HNo-9nsGh=rbI za&sy@L%IsDsUO^UUzQp-3)|`D%Z9f}xk?}nmo?tIuMTe4Y~YqNeJUfkHG;*x{aV}0 zQwpX_Y&Wty&A1qID+?mZW(Q07jo&aMVAtNb_Qo6sr#04UbGj;>WF?R)*56VeY`ZR^ zO*{-GG3j}d!7)J-{*NDt#%YSA=L5N$l?6#G<2WABCVa)nw}%F+&Sf2)uTW+}WfNmi z*`xdNVzK-@UY^5OCd<<_Wf7@#n6g-r>z8Umd@j}vwg)8tZYmaO?_1W9$oR*#v&xK9 zJhAj77gP401%xexX%uOiP2SGOmzdg!RG}adfy?Z3@OBTj89=w46n;eH@5@H7R1cJ` z2HFTP#_&dYjC-8`q>-PZj^C0#iC>29Yd}< zzA}sg!fc%nH(y+$@-L7DodN<7c@+j!;r7XLmq6nN(W?^ECbB~DrL7d(7!xTIDJJYW z9=EHXxaq6do?ylBPZAGeCmPDxv4NyHvtyJck(QLRWkJlPHKG@>*y6I9vN3&N7FXXO z;PtRD)(1~rjy7>_MVUxWbrDz=Teitw%bAX8vajDkdV$qBWfXXu!9TUE1nA(`aby*M zbk7kjvH&SdjeMISR6xt)FYw21`)YW1#rm!^;M57&z`d@ZwK9f;HByft>xENV4B+zF zOEb#jtd8U!feUC5Q8C%H18m#ja~KIdVR|W~h9}F1o}3#Q4ppVc$s=c)b!6s>bvY^6 zfKE6bbQ6idO!I0Z`oMo`cvnTcTp-Etkmn4EY-~b{*L1l1@)}k1B-FvmpwC&|*8Y;DPQK@Qwt^o%D}^S34y?UXVWrccP<( z&AI~XZ2fU@yF$PQG50CBm?`G`zB&KX!4Z6C@Hv=sFFyPh^rE84N*XWN+5iyNLb$I} z)?K%VLLc>vy^784KE;`rny0WF`JNRtVLlhCISVJ-9!`etaNRNx-m#x5o#J9{3N`P{ znl$@F2G!c>v5W4z%f<2w4q5d2<6ItJs>Dm0v~0<~5F$8;td!wcy|a5{w>dqb@r$1GZtOf}Bs zB>LF^Owj(-)m3uh&M4<_+5B^+qm2$8SPs@9gP@@YB&7FFW7!oKDo5z3imp92x9L&e z(2Pmd9Jj6)<9=bAV*Mtv5sd=E$hOMo^^U(EJ$_{NLX2vTX6njlxl(Az9%Zpocm&{q z&-I^qrQIr3B3T!AG5byUvlKko4k63pJ|Y)QB}){WEH$2LoO4q2{FcTD;i{yo`T-~L zLo}_0DGfDKHgH#H?d0JL-$P@r=Qe(kuu|k!S^v#*9nT(9xck}k? zmbHIpEkrmIt)05>*p05;o08owFAZvBcuOMb>V>`%?uTN9fPTCz@w+Up_7~A2a7S7z zLMeYrT9jJlvbdK_PHBR^Kz9hxm!rn&0+(y2IE8Jg;sKn4ox?JwuI0`ry;$Id@hb|) zx(qpE^*XoGp^QSoD|VC}0MQt$^lV!^0cI|>MB^)Q^kEyu=-a|T*2M*tWO{?ZEw}RMuTD^1bWYZ39%H@SuQCUzu(%~tjDT?w{;Z+8hoFa< zrKO+z=PI>b{*)RfM%*svHBFLZNZ#iJq$zftL*A zeM*ilI+-CW9N?O1$9nAcsqlAu-2p^~F$^6dT~i>efi5Mh0V?ktTV_E)@#JB(Xp~^M zv`qDU_v3hW&Cw=5bKuzE_^@|@t|MU4BA`p;cGYLw3)O8;M=}~Wb*=MrQu*$gvB-6e z%ns!IjcghkNMdh~yFsPsExG5KW*ZMDDz4`~ESC}#fTd`zh$z95GPzBbAMXcqdtU%7 z?4PDGPm+vM_v!9^i$8#yFUm?*`s&g3p8dwhYR_q{Hplk6eJdib!A(HpUnbXYQY*9 zb?FIg(~+>~)w#HwuET7#;wrx4D!zfxEqw~KSZAx>Zm(68+(#@-r=+aH&m&nLHCf!D zb5iVAh#Uo-cWa)zPPxGfS3y9la(QfrJg5uwL@R`+H)UL+%tPrG=~*YY^Qo#97H1t7 z4N&$wiL;ae^{erXsCVtGCMf;G%%QGD&${~VyP_sfaCXwv#puBQLe=9r+%#UP>TG;hdIpReLItj*?%kc*qBhu~VE9K$5 z`j5m&A2ZgJ6Bj8POzG)4_4yPS34EO1$t@btucmY}D@yp`euIDGTSm?R@P}>8M=C7holhro^3eXu8B7>U`8QJNRfYur=CYZ{ zgKm`S4F`Q|$~NCt#KDkrLtpknj}@N0#HnveTypgVm%ND7)zhA8&TOI@7yMZak{I?` z{0jUhOrNb}4y7g|?Gu!+dAOeb8y6275;H&RUM~TrL6PF2r~{5tGwQJSM3>qHATP>_ zg6Yv+z?0Elv-wt~L+h#XOiN>!r_L2~2AK=FakR&DU+lvj0 za1Wu1EfG#2H!)gqXE7J(Z1LRIEkH!?)hHB4F=?xRhtf87?~j-gb!OLqCG6>F#)`29 z-nANQINuZVCn&Qe2=AtjGN>%w8bs?4iZ`<&(`kP z!G*iQ6tqb36H?ooe)MLIxZZs<;`}a`Q^J^x*T50*3I|Zk`d#uTtk}`bn=k9BwPDqm znbZ!!5g~rw^Yf9*HDgB3a4}!>;I$AR9e>Kx708gB z76yefBB98$_&7K_@#rAI@U|PPP~acKl;H10QBQT6Xj`H%yqx3saJ+qX8)Hz^8RjYkY{5Vfmr;DO|BuS+o z=ZhX|2?DBp&X^VBvd&J~>vH<*v3fjz79RsO=6Rb>FHDuH(uEP`9Hk7^T}~H9p~VCs zvNI+%ClMw@MIs89s+~orey=r@B^nphKhF;LkDzNRL$%bR+a<#X>n2E5xFtWep5uH`SY^+%o;6zJCtdE_n_ZF@hUoOnI zOEA2UC_~6FhQZRdBHx1%+R_%u*QH+eT1Hl9A7R57lh`(&?)1^I7`zcDEg$Th?!MEn z+y%^7mp(@^pXHwwP6_UAA^{T5N9?(#%U0E<$Yb%DytlW zXH8WRKdV{OI9z?Z|1f{`H^9h^gPoQbYw zxeQ|DgD}>l{MQv6yZi&L{t-ih5Wg2{N2OseUXVSQw9?($dM=z9d-Ve^v`VY(-`p_S zKm9`bJ?H}e0kfc-Yc)h=N?dqbaN`|0p58`;qrUOQ@vxI2cid(Qv@IF9i<+NgB=MDQr^&rmeK6SGHC(hDP>Ogqc}1pjR}U`-;|x* zBV>?d7qLPlah%L<0Rn+L;-5jEUOI+D zN3Y~9@pNj~SyobfCUM^J#M$0l#aXoUYpR?4V7XEpu`QQOY^uC&Ok1sZ?PxVI9D;Q) zqba}iD2c6EYm<%m(;vVX)!R!@gz^hYB9ZX~E@Ok3LYB{cjc?ug(+yO+s?U=j!o)C}c<}tkmJ7hsY6XXo%S# zm8?Wl%S_|mBz5cIXRsx;33cvJa0`nTNMogd&w~^vVJ-T&CXf;d7Q@R`qXvNBSHz;g z4ZFeV8Lw}xy5|E*D^wfM@q7{lob;(ahSq4;XM45ir)F z3SjS&MUm1B+2ANPBOC`IbI4o7_l;qYOS0@eUfk%m|l@IZcXO zI``cVf1A4waf_feH=4{Bt6S>iij}Ey6kfMw_=>%-ovN50rM{He`LsuO9m$00a7@v? zW;CS$(>|IAuylr5u}!<76mR79OITg`X=|;jol~|GY@dNjEaY57N*!Z*_ro`T{rlhk z`ZsegZBx@NKAC0z^u_nhS-1K^3!I{Pb=S!5w89zIvjjZCPq62it<(J@cA+e?sQK5Q zPp=SNm=}vC?9b6Tj;t0I%05C05tg$E>8It7X@-G^0h!JGL=3HW z$2+H}M1r&|O_U5KljsWWQZej(f{%tHOA4kmB?t*WPF1|SX#HzA(nb;Y)#{wVEK1Se zU3|Vl*U9>#v%eUhzg;e_-ePWSqYrz%S^dR~0^Z{jxavC8qVYq!Z4Hhj;as25-FPl6 zi1E#MGFvCPOe=v1>auDk{Mv&mQLRWcR6#JwLw)m1KuMZzE^>(B=zM`(8mT)ZVFVpP zhJpW(PKEuir=au9Tni1LffH!NG8U%#uN?P}Rw11h|6{Z&!Z0%~n^=AS7FCAXi_qa` zA}JXjT}SIuk&5zvPy%PDD?RQ)O-^ww3l{?@k;;Z)RoYZ=OKSM-(fHg8fUParf%?DqOR_f6X6W-rKICd;Y?_8;(O%zJCktp#aK$^k)pZ7 z5riMtUvT-LkrimiFfLv%qx%F4&Lg{?Uh$i;k)7e~2g&w!S?P+w81Ium1jTHew&4lQ zgzO&2(S>w1VOxXu)O;P z<-f+p2hb`9Y(n?p72WfHk$L9z_6tNAN z;GZ082^-w8H0wld`OYDLe5!Ypi5E(7T`7IZ@sVq0eB$&T_khk@WYBVTvLPByP1&j! zi=s9Bb>7@?yLfM<^Swm-4k#Le3i!CW26%E9(%aHL*w+Eu_&Nx~L+~1SxX`Bx9|s0V zvD#nN^MK?+GS4yGX2IM{3x^Gj&_Kg@1yhG`R6?tk^hg@MV^Ts_>Epccsqoa@!m-c5 zr8MOVt*x==+SreG_9#_SYsf3Y7zAyq>b1CK8#sQ#o~b_k%V^l0=fPgJfP zmc5ojMEVQqdZN-ZT}L@;xIy@+*XiG7)1xYR5KwI2JbuLX!H`Bq2!&X8C4nsbtvCkf zW|~DdHNFVWM=D(Ujr#27$m>rzQ<`!eM@|@zfk~L7jx1nOixdn|6Koxdh?5B@Uh4O< zI6vH9m;`)Fqv9o(SvDV00J`Ah+DM&k{)E|SAyMWT}3bFIxEKe${X?iz~%OD8N& zRoCbam^~jWkI@1Z$-DZnU@&M9QH@=saW@=?TDgXjKAB-_ZR!t!c{Z6o&{1IglIWOV zxJE83hie*-`h~rKWxLSm%%YhTpK+JUt#z+S!PSz!psKbWinPk9!rg1b56JEAtz$aS z3}w@d4Z>GZMqG~RaJrm9nMULr`{M-1YE2%+2HL|FY0tNo&G z>Nu0;&Zp_}dO8n7K;ezfV9~pDOZEymKNXZIoB z;|gez$J7USXkJS%(2Qwdc)VAg+w1Z2%gBaR6$wJ2IuFAoVX#BnOPQ>hE=g#DC#TWk zzQhX^{JnSLC~~DXwa^Hl6ewgJ?&m|26n%;JeMq4+7NGN!K1Y}~WW2viiT3-yjz*W) zx1-7LzhhSQKG_mCi}`Hw75boiEUE$a64BR)7$3G^747t3^w3m ztXK47Uvr#iek;Teg7P>2MkT6f@jIcBPj{_U?ru_fC@qHz zvBL?tR}mVKrIMpZ=jd4?DxnwMIeUp*iyBClJ($SIaC|pCUA&QQKR!)NI(koc!?nSu z?_#9Y>g{*}R?nAi7e?P?@NtOID>WI<$4mNv&L3Kb4?o)ZBa~Ww0L~tKfjn>#at@T9 zYjgo+Oia59*?Fzv3hWJq&G0d>NXPw?x1;_3&nhg7L-z<N2QAsGO&!}U8 z|3?W!hzA-ISsV^!@35KNu1$$GqIH-O^u~wo@?eB&ljHj^^$KQztl3_gbhfzY8(sEM zztgve7L1X1NL(N~|7UUu?m9SJDtfSoW6RD9y<$zi&k-X;=JSu5gU_rLWWPB|8mLak zE-7>b&Tpo1;H?9#Y>Hcm-1px7vU?ad$DT)mOncPWG#;8;anBrRtgjXHWpOB;$4rDR ziPNPXgMy>C$QgZhtLgG?YA8{uM>GEr>dSkGxRfgZyV3@ne@210=-Y~xEw^z3g++$y z6-Tj+#=p-nJ|QbnTvJzbdkAA-;72+6j>av|5^i>wVryUzd}(no9GwmO?|w$ZzzB~_ z4%dXk+!WCeAvp0XkC0Cln=c;xfsg%h5|?Uej&!W<6Ll=CQ_?l9SP(F$p;xk0UTt6% zR_Hi!NRu!l@X06R&&gS_17@|x1qF3w1(X~{b_~bGZRo66cvOp~?dETuBL?pBeH-{)VOF<`^mAq6 zl|b72_@UBxvtXKh&e`srdL}OEsdon8Y~tQYFP^Y8d|Z=<2t;3BvQFRK`5JCY53KLF zDMI|#ZIk6*!Wc>Vu=xQ*O>y&&$t0uAKNhK&1x7Hb5x*HR!qS?e>CgKZJzBtH*BCCP zl=0xBRzS6z`Om-uI?UK;0KKEj5tRM_HgMwhO3~;i zVwV~NE}Y=jcoS|%0*TGvXFXtUgjX$Q)7*ToDJ%+gl3&6y4#7`3haM`8o7&ylVA{AT zjdp2;fZGU4W%r8X)0&L82^NunuS9pN_yO!-Hn9vSg^K5LC2R83ZJ5bP84jxo`WXta z=T;MVKmD?DgQyOV4pHI|l#&4G3c#v#bfRWGXpS*_v#(+-c=|^+ph_^73bK}@{xHl* z&qrxjH(-Q)35)QoSQWKssH~h*b)TbKfbyUrJ&Y_Z`r(LJ_j+eH2;Qe&S&ec85;m~u zo%Q>mL&87iQ#!X;0l*xBsN@m@UR0a!b@XH`r_+yZ7OP|B4q|n0AXbN4O|N%4qKhNY zB?=nT6($phf9iGiem&ed80?Pr1_wi3Q@j2(R}$f&0hWYnV@>@Jp5fRp;N zwFYL3@P{;w#Lw_xXrVzTTrH5uP&-+RV##;kg-8%sX&|NQW3@_p(hm`Rwx&g#k=mDf zWdnWbkTI<2!vvYj_2nG=<&SV|=Ti`ecK1>JJvllVp;h^Ku+M!Ro}Rsto@RZxhDdM~ zCr~xng7$6+=CB}f)+k(p;^Okd2!ZtM;tO9;p={o(u-DXR-o`7otHQ)yx8$-nm5O6k z@T)X&v7UvDVs$$gND9F((Fx&x_Ssl1tFc1Y!7#B=N8{VyA|4%?u(IbP*+iRver|7 zo!cq>rLK2f&hfETkhU;tHP-~+C8*O&^QS|1x3T~sEoZQv)3W{>El(e0&8epxus;G2ZulJ><{+90y)_^kX>Ds(6jXKlIghjt%M@jpy3S+0s=p6 zFvm{a%*Pmgof7vv6vcNz%&{*tKwmBEL+`~gsYC@-ZNt-EhwcRm7DE;HO)mvYF?_dk z+>iPhyuWHGo~lL-Op?&bp5rEaDI2}S_3t?6-YDWG%`cS>7?@482ywutmNpfKN&6TI zOOg)AXvoB74!LH!RP9oG2}l8sx_U@$NVtvX>i3Bm0Q^O?q02&3X_$eLKDJVZ(6wWY zp->{`vE$7}@dN-&29W7`1!y8MkOEfWGb-^f*Z4roI`FW@E}>XXyJr6|z#z^s(8F`G zbBKeqfAkAFDfS`$2Y-{41Re+G+^9g1UGh?W4L_633ayQR>n#iXz}-6!FgLa;ozeSH z9?C(M;2TBwB!?TwK?h7C&3rz4^2F!|x!X2T(~e6__|P6{Y+4baV%SllP$$dc=4Sfnp<<*9BFlbi6yO8EbOu_Z zu(_1jukZ*xKD(_q0}4E93@2c`jWLk_{t71Ue{zy5s+z0<&kwMQlN-t#NN%(Pa`m^i60+QqLl>!Y7 zUH53xE^o(6(P@cXxZQWZ@Y(HlY!_CTJ$Nnl0Ovc)Yu@Cky*FlTeAN-+f!M=Xp|cu< z6P+O4F0}1iN?UQBU?~3QHy<#rNvkVqBho{8+#hF5G``6=(hh-;pmabt2F`h|94Ou} z2dKzU8X=KOw*vzFcz|tPs}sH}V`0_{#5QZ;Ug2CSeaeLm4WXdGG6cR*T%}|EET7YH z0{p(Q>jxLBogEI(j*pK{PWyYKpN{)soPnLgEf~+wSj@(YymV!y<(qkA?xman;><{cVp#nw@QC6z->)fIm-o`n}9{l~QG2|jD#PN92 z5*`xS<8q49?ly(cXoI^?Z(QgQN#B9+1*eilBp%9AfTuvR#-VNwUQAZW9lg52C? zz^Z+{Kbg9gOo{?XqE=vS8^~NN;PG~e{uspR&U}7!lLj&t8UT0*6S|S2pu%=;VVV;022S^9GEct0KpYR+eVW9%8OV*-!ljPl ztm42z9|i69ILif9{f?_SuRU>SsK;$T@6~k%kzJz}BVtKf*J2NH~=r=4OD8;jXgQ`S$oXKByIBXz77WtX=KOP$K zoF%RasHN*!IZ2|s0v9`5ebfz0=@OpO?ks6LUk4|Hk-+Sg#oaV8C0mGZhaSg#IL#(n z0dmb+A)1a6Hs7$CrpS-4Qgd6?s%}W95)$g1t0QL9aggUx>Wy|kY@S%c5A->`**Sba zIy>ImIqkb)P^}IiocX=NgQ#q7-%<<@&=O2=jJWycap3q>2D_me4O>#F@qWyhav26_ zfj_Pgx6KOz6|-(J=5dp`#QaLhyNz@z*+-daN-^o$Zx6+3I3w%m+1=-J{0z1dBq*|e zO)OA8AWR;R6)SaiKR$Y z$BK2}G;|h5K{EbOX-H?7%V4g|?FRN4+=ba1?J3}Kq3n!ELADB?qQ#2lkJvP$r|hLx z6(mq&*s}KSE6#J4J5TvtOmmJ{Xd4&c??(Byt?*v>4+pN{v^C`{tgs;5DlSp3*$QMrYYK+lE((o&l&agxV;F(;)VUUnpJJ7@B7CuJp66 zwmV#3Pl?%piBxXvD^x2Gj!>^SjGRO|ay|W=?vv*A@e{a^F4h0~rAcK(C3hcGirdPy zbi0?RB3Xlylr;)2EW$xpDKBsM8!q8*TKrP@sY|{xD4(a8sG8uVZu_x&JW!Sp#(6BI zzVOwno5c-|Fof*nQ9b-xiYM-4yq>297#xfG21YYP9CBJ|U#u|xR7~w=C>llzo5|DT z;caLM>ge-6an|RS#0N7yKz+CS{CviVOw(&PNCFOh&hqo(r`P^rahxDGS zFH0AxWJ{rbqgCes3UvJ$_9^{Q!8mhew%#vU`JsX)JEYPn32XBRywPmCgw zq9ofDs7sI_8;>PS7KpRLvpNS335xFd?PNNp*Me;l&5Lu0Um`4)@x!^ zLev3_WI0Z33>PPztubUQCCT-E;Addll@xU*UrW29&M>d5ae5n$&Oo!`njigSo6td9FwsL z$c+rW7njEUJD4OIraFIKiO>9_4oa*;hzcg$X-Iei$H0m(Y5>o zQe=`uAd>Agc74DHnsjviCfkYBMs@Qx*p4zwU!n{-(`k)c#yBiFc&0?YSEVMup!F5w zRsRn2zAG08wo23SzXvfXZb=9Qb!XzAx;!#tfdf{D%aDSIJY*j*3GJI}dSQv!L>y;u zO*W$E69Q8b8X;J&hi?Z`jgv6Ar0dq}1+D_hjh}`X(2M!JBsD`cPPX}Bq$$MW&B-Pv zjw?=5=UPoq5ofWAD$J!&A49V2YIb`d?jXEIeH`7I{oe%KA#%Sry%E*OQEL2+YCfS9 z{6nW3Mv0x=UOPj~i%}{WZkgj5=%qyvx5qhFV>&NBkB%-4OGgVUePvez?JLvhTr7`* zP$b9On9LH(O!%VW!$FVLU2mF_Cp2uh{p6xLY+2 zbt{7iderUHu<9MOF6UEO>s9a}Hu^mtfShx0yf@5|#hNza1XLD?iJawcRsYkb|7Lbqti(fVsK~18uU;zuLg8Yq)*nsh6HyBBSTjukBi~r>xXr>Rby1s5L4)K z4?B6+3@L*+3eRc~K*CDO(asJ?O2IZ?IwZzy$oYuI1yFA#Z$wIRGY=yo@VOCpj^GyV zH%BcQWh)|}5*w{=Z_w5qJgWb7QAJBvudL%4GO4g!#oRY{iz*Q-B?)5bIt!{GRftCz z9YCR&6E-=`@k87jVnIQLza}VYz_OxU-PQU}14F|%OXt0RLldS?k(2D|S6_(`2*Z89 z0y-OO6guCLfZy@FuR@L}sWD4O^2SZ}<#^Xdnw(L)5V#F|_tx#@|*G-Bbw%G;! z;|B{4$VzMhnpaZWF!#5xtCnYAeTy}S4b@bbAvP2YRtKmGbI}VaT)VZU@M57i%8BP> z765QYtHwwUU1*EyIjFQ*d3-1i}w10lwy&J5ZR&b1m>Eojvh=`0IUOuk&; z>UI%hv6V*{Ik2Ddl+ID*V$1i?kh3f)SjYakQK{YUmK}8!O@`qsmAmyZdx)Las6fzR ztgzKGCFped#k?^+d05X(i0`d(-*LGrPYt76lOtf&eDwQj=X&ySu{0(z)xYsnzbVdC z8`%R^+QdmpJ;^!|-P8)B(|_@-6L^%>N}sdITivy`PFc{l(%TU<9Mo0DNouxseHERt zK!xCqK5ovib6AYPUPZUe-8V{%GP4PcmX*M9@$E3;+QanXP??qx?LvrGRX~4wUhI}( z(Cmr#(zbkcRmh69y>90elAQv~!D`U!sO*!V9|C^tiU`84YKrSIc9h6x1Go+}8ft0I z!%gjM6%PthPpy}|FM^hge`JaRK72$2otQdJESTQY^2=jy#SUNr^i_){Sz$dpqKu?B zWa@Hrk*+4nJeUkJ(PRH;XHS}E_t~d)IyfC1A?(>1?Dr|e14uSLfCoYK0gAwQh!y3l zG%5|{$705svLnq`>&;X)bME8wLpqZ@cqyH{PpJ}44+W7Ws-dhnXUligk=bAZ9>=xA z6F?gjLs&?7=oDJ|L+gQ9U6*3%R645hY)Y###N|}*vv}VW?Rab5{^VRx#slHEAu(b( zXNlf!sqOLPN;`e)@!orFV}ULMlNk?*?5nbLXaR)(85F=^>lz~d}$l!2Z z2mE}P+0ZrVqXP_9(0r;Zd`(pWwA8MetJF}^qlIFiet`Q4+XrrHe{EMO*0!R676e3wkR9r7)iQ8|o47mBp+-5^=li<02+ej0squ_7LeP}42%Tx%YN+26DohB5e(FdR>4(n(MSXKnz3(#5n;Ijo`z zx@_j^&I$kaq2A3;!PY-)QKXgV(h=5p#+;(|XNV1u?Op$6tyQWD^c93zFm7P+ScNoG8vx&*yHbX#^YH~h;#4HZ~5TG^?4n? zZG*)ZS6Qi{mG&F!Rfbp$(NhtsbRF~bG|W3p$OewLq6seZMvPPshf5)~?GH!pOq)pq zkwMeuha-=s%@6C8KtCc43_ymuv_ufkVEo5M7P)@qDI+ZlLVYYd7E@*6x-Z}_*I+qc zfo?QGay;oiN8BNQqB-I&e*E~bcQNfg0;h&4 zZ5Zk+kpX;4|k9aFl!;L8= zmmW(u)ji~e7%gt4^xN>P>62b(_z`K;kvweHFST|RMq>B1#!T0<%t$aXo0N!@QiQKV zHq_cOE|j!o;C18oyF3$)b$Wdl8G@KLgT(<>4KSx#!2my%wobc{gT7zQ_Ef=dF{D)t=T54E(#XFAw1G`6(gT1L9cQIdIt+$4P4vk@mTuQ{!iIlGur`a_ob z>zXp#orCqO&zKBFD>IEId( zU7=-~b$GW6{kWa|ACFE3r|+aEmsj0@v{KBCgXHZHu2(V&{5BDx2nIpzvLj>)emP?i z)GU_#2}9}kb0bHT{87*|0bV>mhW1~B9t|Gd8I3^r^THU~Xf05; z{Ij|?Wn`>01U8n-I6rp!`wf^Yqx0F-DvSUs9P>DKVgrMqa%0$e+%d!OJxR$wbP5K~ z#jL)cH^J5?{p0@5>FDj?5Yl33#5>sA*X~Q5KTWGvySDej6I1X>fMGCv6=x_N(FRnb zQ?m;GLGFQ#xu{paI1O()!i-;e$~sHYX7zz7 zf9|5ci6t-A773So+&@G~+Y+-tFFjB-H?$y45myDT;I2yPa89bIa`DROlaw^PTYJE# zD3n_Gm5mDZ0p0Uuu5t_%B**~4rr%?&RdTkmeuh}tbjidEAlI5f+FHgx ziXJz@-EV&QJE}NJjSTUyS!mV~nhQk!Cu8VruaUVBmMd9>5yztnN)l-1f(ZI0cAoSG z2oej0nUdT{GCz#ZF#!T|UWD#2pI%?CMVQ3d66XpYEL|(M1y5TcGQZx;@bR@4UmDt` zGKA&u31bX|tEpmv9pke_@xP@$4(Y+&y}0D?1DF&9S-&7ZJvuub4NgW-71=rcRTO96 zLN4^=Y+trTT=a9@{Iip=Yul3j@A!zGFctWN9w=a3+^jk(u-p@5qJYQZTF z@s5!BKRDX!?_+ZGu&9m7u)f7{hV4W_d5V^5_#;p_@UNhP!t_efrBnb9m#j@<8h$2M z|E@RJNat0|AEDF5>{5z>G{feA{q)A*pkS+c!w|wV5|RH+nGXm%?j(q^vYIOZ@eWXN zW;;_Z-Ie)viv5%xM4e3TsRJk=zg2A1raTmmn2xIfg%2e|Y^`=Z1bErDEtI)>V{os; zs$eb9hBN(rGR3q3#14Rpx=#!L8eu>dO^Pp>GtFIg5tff1ezV%tEDtSM2cH;s`l~sm z)RQ~}yJ|Q%{k0R(t(p=KYtf!q747+>W(rspH1tg`L~Golm|B%&VF{$8XsUKlGZ>z| z8Sb78-XxP0;VvBGh-Aqcrx&j9f%;D-n-RHm4bwYL_q_w$>@4CSs{?0PNt}x(gejG4EYT$pLDal z%~$woespYWde|nH(Ut&uC`%=TmP)|`(0$8iXM*L%n^x>ARjL%!%-FAuqpq;7sMp&& zVlwE>X!>DcV=A9i0P9q8&D2PO|M;OpXLmMKAcZTe*|srvaBn28poA+l1&`nUc6`U3 zeW|4#1*-#19QI3Nw4#43;?yJzBtuj%cU!0@Vi9rSGGXEi3}j($ga3l6k9>SJKI^uu zE8<)5IVcK8lrSx6tSkS}LF~Mod|X07A+9quZ`q!NfK}GhN{ZY(Rm0UsgVPBnSmy{( z?)0Je7qyt?`ahfvI^!t07?>Ma%AzZ6a}>>4J?xIr@?XMJGFyS=59ZE#+DeYrI6gMx z?=&QMDZtx!@^qrcW@Zb+HJJ^SJ!MQr`hXolO!jbnx4EJq)09#G7H=R=$pe7^CfUoy zg6(xUV)PS2l&W+B`BCjy^W_yJkYhhk+1Xo~cQ@sHXsLhsSfFBW%D*p(BnRw(qkeU> z{*tUqk%Zmt4OWBe`RsbCnrfZ-911aVd5Dv$rFp&!6>T07yx#yV7hn;rVkPPx($E@w z%9DvU;YZqUg?PRP;hT6>xj_C7Dq;2tstXz)PMtal)xtdx31zRh*b)mViDf&ww z3C)cjh*GfXiueWp`;<6gNjJsSd`#M1KQpg`x?vPtM)Y+0@2CpS4Jo$4>V^rVj7Wgg zv-#|bZ4Rk_ppYZ*b(miWcf!yBwY|nqEAxBsD@JZ)B~$X5W}|2P9;h+SE@smuYt7b0 zlI(O_6{`11hN@^epMY7yEYm>%nvjUYDr;ciNMt5euA6%1-x&h?ZV{W^~i1D`% zjEmifD*kSA0!C+aXq?wZkBbkHgT*o1cg4BBIeBzIo-1^#t-tXGOV{f@_ETabIDZSY za2oING2JJ3GIgCq< z!=hdY)G?XXn<2$AW=!->q1rpra?Em^C(6MjFDFZPHwB*a)xami$#_0qQhf`DLuzdg zD;n!@M{U4L(l+D~lU!-SWI{HSFX4UIpWg|g&jn}nRpK4_Qz9a1LKcDueud^x&-%h# zAV^Ku)_wNrVEnuOnFKmTTh*|=@-&juU?b{qhETMjQ>XyaTMe%wa)s4~U6qSso|#Xp z9>?k_cwS?oGU;?T<`#XLc<#dd+i2OIX+T$<7h7 zp8Ph;;oPoX8URyrC}wM$5!b9bZ0MJy8q&G;*S|>^8EJmKr@M(-vO5PWHFTRPGzH@@ z6QS)w`0&zOb&DR}e37xf5=2N`DtA^(7`BI1d_iTR%#v+4mPqkOrrMEr!Nta-h7`x( zHQwMv0vqgKWz+Gd6O0#7=h32(N)sWu+vdMp$8YWCrj+2GQc_=Yh-<=C1hGNR*bXZE zUGhU=B%VsgG7a9G8Dz2>S~`D%9Fvk!8P5!ygOg$MBgx$LjK?-p{BY^qa5ekgP}-+v4Vojr8T zR+51d_C!Qg(ZK0*W^7=HQ2+Nq4 zzH_;A#u?)5071r)LiiCj8z(umqTrm!4b5^vfm;Vl%WYRG!H+Z&v2xz#*YHRsr=4iP zEpcT@EQ6SrQDPpnV{#TIqBJ2$D#rXE*y?q&=+!WG*-%Oh?R$He?}J0zM`l_**+7%Y zm%&jO-K{^&x$3GigcZciSs_Yl<2AMn!4i}$V zbjL_b#T{eTGixaoMJ1(0{LuM4Sxr_q;^HgG!i&Kr5X~vmx!L9I;#R9b!}ZI+j~SfQ zD1uT59o%>zy%^=D#$LgdY`Qky!VZ?FFF;+Cr7}3IqqE<14FsaE2^fY4hOQE z$*9Jt4>9~Lvt zy=`Yfi&_aUeuHKp0?uNgKhz{{;$MnL%Uqks^0RQ=BSD1fZaS4jf=u z))Lo?`FZ$XIX|$RRgg$jP*0|sO9liB#+IeoLN_4bX#COh@=uEYtB-IdUH~~Lqj=@I z-DfsPZvP7WhM$yonXJg(%_$tq3CfFupYYG(WoY%p#*buC2S5FDbwf5L9MD_*82=5v z24o3wEbWqn$ita|m8kJYnq19tl$IihzAzDJQusukiAn)yE}=TEwjq`Pq07 z3;k-s;BFb6qH!$R8l77vOK&C~Nnj>^f)&N-kYba>RQcHm+{p|o;6>BHcfAfR2$KJcGd*nnCVf%|v z6D!w*n2fYx*u0WtrUkl7on%uJ?BDfYA&6d&F&HS?LJtrCbPORCcnhd$0cn4$v_qbqWC(Gz^{e%`32q`wh$RB7D zipe`tH`CwGRE63)n8bZ{=DCEu!R(hoF~9)A>~;N(pBDh}ZZHcpEDNLkU@Y1+0wI4< z5<_X$G`_s%uD3*Fu$yKyvQ6#KZ7J07IiT?vqpUdEUQjZ(Fb!4L?Ft6{;TzOv+1F;> zY$wBAu!jRI=dn|3CN-38%ZVh69DN>CkSB9Yrb_YkFHJd3*ejzl^H`F@MZ(Z7fEuv3 zc4ia)n~JY0rI!bz4DG0kH$Pt3YTElSFk_2gBr4Kc=)@O$+QaN1|7>z1Tv@35gaurb zbMfSIuT$6cb5rFkzAVmeIox$QETbl z9Q4t61lVuA09J$n8n>Wo=*!>3qDFne0zzF%nBx_q!uEEPivwqLLm9QbN?f6O?kr5% z^sZ9RdGa)^BY}2BymGjQu74cfhKKS*6TQGV6Q7jAr8Qi@7NAI<-gNm%M9GS1&IW2h zLBb6mfY2fa3K7spmX0VlZnqV+poDymly13Nj~0RzipB9N8eO8)(#hzi%mf!<*Di;G z)++5;#p`~+277kp*pnV!akR!jP_mhw@xDjeUmPuj=7FPH)tkqAsCBRH{H)O?i7Z zq-29kVpsk+Yh;E3@3oK`3O_?QOyhxU2-Z4bLR&@BT|q&tIiOn28aQ>-gdZeAly6UiwzgdYnvy&x$zIMnW2DIDC+I|sLGs`U9$ zRI+&fIz?wd_sIG{VR*tHv9+o4iyMhB)%pX&DN`ZBqBK$4Q<{l~RmRE7!RlvBc;kSB zKhot22do@68%i8I0-}R)VM;DL6V`N(tm%S)h$uD(;9XpQ2xrUFQhJ2#G_W!7j-rN@ zi2{yq-d2XDV4=LVD~EvfK|wGMX`-dzx)7n&RgCye%K_uKnM84G^rn#V^J5e7DV`-q zZYzd)jH2!*(ye7`xGF5aP*piYJ=DTbNa2HQ*mw(^bd4w=0;H>S3dFTz`!Q}ux_~f( z2A@pN80tmPMZ_yu2HwAuT0ejOhX1whTzyzCK1&hJ-@%f+A05vJzKBc)()K3Zph|Z5 z$|4F0piFWy6Ia?J#f+woQ&$Y0Gf$@C$hjEngnR)XkAZZLCC!^fCI>g zsxocQ&U`*tl0Qe00rIj~Z(Vh;H0QI63z)Ka#E6$!b3{6satzS|kyJUY5wf)Ka*i`U zZA#!xx3C144M#Z0gCqK#a??|=pM}9pHT5|X;R+tA+@M&orPY&%Gq3QM%^84aN)g-H z;qdJE_~_)czbDcuBdX|hx?Kj%h;S~ib#QsYD((p>!inj78%mM8H@GCYqg8r4sIRFM zE0_ot*VA4^8%RSPq1TOOtHtE?>(SlC=hb9<9W}?Rgcaf`Lg9s>@JZBO|9JoCSJB$x z5&Xpp1lHT@8SJhM(>IhOEm-bFU)@05|HF9liRLL|R2mHvRw-%B`$Wn?TlB4@t#~?j z8OTasa?e6-K!31hh+a)nXfz&mYb2TRMCS8Vl^LR!Xyl^k*?M}tS|kQ1E}A7HyzAW; zZ`tVte)1kH9sfkvjoC~oYKwmLKJO&e^h>n;2QEJkouBleTUAORw*oW74Tza3dR5jf zrASGEGx-{`yjwVPeE1QxSMksx$@cb2@a^I4hf5B?5<`kL{DY6O`Cb~16u>?r5?72o z1dU*Tj0&d|J6@13-8kpyZ42-7;Xu7jaWn! z@Ynu`VqxYPzQzhOgKJ7-;Sb*4&gU}u4WkVgA~UcWUEf{>C*!2P#UPhqOuVnW?eCTL z3V-;p5Lk-Wqrv$U-0k%jGRSRd5~W;wSES?~?#KGoY_XEt{A_>?!EK3AI&P#1bYjuW zW6{jms@ZZQl#O+Re)u*4Eb#KfkK>yu3VvQkTrt={5D(dAI5kCbmQ>%$d8xrey8dM( z!Qm?uw=kzwdrj}f=SyXJ#@kUu+8inp(e4W=kf6Pe!Yr(jkYa&mALo2rkQ_sLFzqt5 z6{E?f7%=lgVO`*7YSNV=Ty4n;HdI<(aL6tJ0+5Z0)(1Q+*r%+lJ{7L%2>hKZ9Ie4W zK}$_65inDQf2suk6IgV$(6z3v^)MOnKJKb>^;{HCrh3}NhhdWLp+Zx1^~4r3AXX_o zLzJ-sUi>A(@F`r-T&W;qy!;1QwD5|purtFJ?8?y4RFyiMn5kAitEi`31-VSL=}jq7 zkhb><_dF8`M^!$kuc3x^1#5k(Ed;eyeIja@h>A^srEc@!2y1*ko!kKzikWt1nPFS- z3*|L6GgR1ALXpZ*r9mZ8RU%Pix@Fidb+dO}r_@x&w~S^NlGF35ikJZqZaCQ-ZQ5|u zrv3V%^9eI_CUU*r0amBW7>Z(ru0ShKr<4h!7Q;qoxJt$Qj~~fWVHHCDqil6M`$s>b z?d9kGeur8cBS7Y7=!!WydxHYcsXnPcQl`i?ADQ_f>a#dMUP2XraZle{tsMwZCu16Pg^I2r+ZD}LdEq)IOfoXoVb^_H zAM0W1&jSF(x#A-K5DPdGi#eB=>Jh!A=9x#Y5!|WnXwJ!3lvL(D$07p`sc@KuXQ0Xj$vMtF+ z46T*E<3a8|r(X$4HDd_j{Nm4!?xssRU7dJV_G7I=j(`Ky#|>qqyw?0`K`Ne0Ll#=! zoVJ)Q#q_FshI`Q>iwY&m6X!hrShHr zBO?{$eq!L zDc8{Y1QFJ4-CgD;UgOu|mnR~>nXc;VwX|7%|8}KS+Cc9UbD}YQ)}tZwE6gA^YM(4* z>8n!ewM_-zKZAi}aQihQvppt$e6%-0!?u*tor8A# zfrrg5U~EL@I&4VcYhzdY8&oP7C+pvauDlJ`x+Z6dTWGhoi(9*A=(60|lv2up^V{tJ z5dvSd`bhYNvr=qxO+%*GT{m62%1dC#Kxun;bat}aAHCZ-+|#iI*;JziVNlbI03gOa zmdckLkOX!3zl<^8S8@!Au9Yk8AST1|0w}?4mL@Gh4Q3a(?kaR2Yt62+%vD@qBFbIt zuuRe}czkNeNs9Z?szOE!LT?2Q7BlxP#N|~1|AB1yMbBy0skFf@IPXj$ldqTSm zlZ#qy!I_j4+`tGtIyu0^w|6_kcc(i{9`}!q-k%+h-VIKN8^!cfLJ$$NcqD3IFLxFV z^0GqK!$jU(rNNtkFo{YzjdB~E{i#$OQcHMy2jx4fQ&w&ikwneVw>{U6O)J zL@VxmL9C{z#jPb-c4Y8^W$8FlEnBCOoH&qiEKA3hV*RTm|49kO>kVAP&4yRn&0{GT z$iQ@AGc3FF?oGih0n8->vjs41Xftlc3=73T#taRx@AL2X{@&-j=jcdr;9h?|Z61Bk zd*1WDzdz6K`Tx*wkRnORuJM8}p%gpR_>PMASpgZcRCZ;S%3!6`JLbZmPU9xS zvbt#;$o$RKR`9&ed6rodno=w!rY9E?y^p2|>yh{{bpB5A7NAQ^VCB3nDdxP^_uJJ) z*G`Sk9ji`SB8zsHvEw>c%xO~UTVTxOi$U_oJbiC<*AgaP|F0@Q+ zdQZJG9>*?mEsEc=0F`;|gRoq;l8%qowe8Sglr-uiR_=?EsY$ZrjBm1hA1BWbyguTh zqLDPs7qT@4jFOK`l#YhlY_ozd?H=Airq1g2S-~r2d~1j4)ixZ^ec(c)%0m;OqNo-5 zoSs8%Bys@o0T>1DnT$=wR}S106G|hVSCjjIpTsJ{s)TiRaA^d&$dPE0{k7d{mm_)>FPnU!yl&g%wVD2fr4l z-cz_VN?paUQ&M%PX3 z$wTR(Xl1bjPo(7k?QyiJncuSi&?Z2F|@|b zzhM1Ucu8oR;K575-6I zzA@La$wsgOL4@=L8k5*hDRx^k#>ZYU^2%wBzsottN+@&#Z(pop!LenTaxnNWdE#t0 zt%3hah>W%~(GjS_>1t*JVq$40uS8nRkW>+;LgH%aBsGMD1%;|?st_QO1zgJ&sp*N% zDY)2z0J8v=)s;D6i>gHj*RCY|0;J!;(FzjosY+yT|N9S)!qo9#WvKTdO2St@tadzZ zzY6n9PzlVawF>38dl5bexAokia_uYBgd=N1(YnDr?)(G@ASlV&&96W(tE{ALqAqf9C+D($mWO2m|i@uey~b&X`GoHUx; z%gvp9uzPkK6o}upO!geyOFd@~9NbTvI+6vW-c2MB604yCBm1kf9JxqgYeyh12#rHE=n0ZFbhqVaK2HRTv@749lDoT zIX1QEKV*@T2o!lq)1fjZ?-Y+WMr0y)iZ)*ZkIb9Nf)K-Jbh9;_XfR1f4KI=zmy+4z z%hR*s%(RSkJ&J19f!e}yhq1)9h;bsPjjxy(Mr$N&9*X3sAkxcO6q5T#ddmZq{iXfz z9hF9U$4XKE9bD}nv0mb*%5&^IA`uv`K&3hJsg|UhOSa_*4o7lO=hsY~-~%inNRk{- zCrp;#!fZv9AdrP(lQN5Q8xtI4A`!Ogg%Z(P&_dix;DzH*y+j-K@!hg8#5;xuSZ!fm zi`K`vrJT=;V*TF_)k^D6=h<4GK@c-wJ1@m7QkK8v*pY4m;}ZN} za|kI=N9n*Y)S}V8fl~iLZUL~r_fTbQ0MP{l!$T6wyR>6`VS!W|Qt^VAR!39J*~DCt z!EJ~}?2>3iyj~N|^$`Aw<)tS5AVd7k1g>HCAOgfG2inSFQwzTnA zrBQHUqn3P|;TmIQahKs0q@uhPJvPFd*~0w3Vjus&38W5D!(6TfU_2$v7@0X}h?q;; z^35VN!h{y?rJcmgCzmD5_`?>n&L?>14)X?7#+N3*N+&wEBhQ5W1JZ-KkI#ruNAx5f zP5HBwHKCs7-5e&rE{nu@;OfHNOY`UTDh9@uq066tImb2Yp{N1ISSsVkg;i3TG9C&mud74JSOIBdogMm&BhT zYd&n($fSfzYNI~rayqrLx=mCzq@KoC^!}7spFg*QjjVtjM4i!av*I9P<_4zf@%{^X zQM7;Kpgq~8$|WTz8Y&DjX)i zBx{qMP3%J(=<6F|Z`wha$E?Kh3Anq_6l{s&b7e*wtm8Mv zj_FJM+QFA&5tBIW2kT{cHxa2(HWSDW_13mST} zEJ%qi8l0PyV$_Yr9DKE`x|mbpU~&ynq*#F~TUWs$=%`iuK1*oZ4$h4)J{n}OlgV+B z_+`kebd8Qc?EZN4N+ zh0PziT|x|XVbOv666r6Y@7{#!EP-y$!R&KMrDKX~@>l69USnK~0Oj$p0IUX^t*68Ra=aUgm^kXnM+cH_CHaz;M)-SaQVFV|og8Y-&8F zSgnQTj98n6auKXP%oBEuCGLC#g2zBq+FttnU8!Gi4$c68DHj;%^H!skW*p`c| z#$e`zWc47ajjgWyl?!snF$Qw@kkgqI*OHEQ!THu~s4gvFEnBb@gt#zih1*=Ch)z#0 z@$t8^K7>u-?Fe;WJgPUT)z0$57FFMICRGYhqE**~z_X8y|Cs2kps_u^EgNRSwOf-+ zh)r(F5PD6g6nk&zT!mmWaeBNGJRzYyXm&(4_-Uv_`%%<>W=2CKSL{InnaKDx*%7rj8OhTgReJ7uIg1MAN4+=w=l42c<|%heCo zDKJ+$LSmcOHL17`3ZfCOMd&uQQXfOi%Y~i|8Cm1YCzke(qtnOYqxOkr zYl+YWApp%kFw6ANYzsS9vMiY{jw&urqCl}dI+SNetQuUj zTLYIYING)!UBnwj4C zC)krs#1TQPTiK0BT$+l3)#}7*ytm{Sm-}~@Za+YJ{FhG`;v$TDY6Vk|Mqg=o? zTSFTW?n0rC5yPf+9AzSP=F*43b~E!cpYOT3p%gVO{l=n@9!^a};m~ul;9fTjM^;`f zdtaN;0Pk&up=$Vi#0Kb8iUN2F4_TBx%ZmSDEG;OizQCRhVXeq6yV2$jn;a?#^oefL zC$JwiA9n9ZZ{HY-LVRnMhRsKKk#V)gkD+Fo*fv9fB0Rva%TOpwl1h?rRG`gRY+frk z`ORFJom$gSj&UztJ=r5+k=V(>k^+e!xj1_q3)yO~Y4A&j27W|4hEcI?+@QhQ#Pw+Z z#;Y7ZlwWzHON}K7ZLL5e?Hpo~7U_^4L`3WZ<1;7NKH!ZkoU(av?)cpNDN(K@!-I?d zlBf0djzXt2l{|v9H8{=jcm5wZWlMD;GjlC z(9TttPE1TuGl3O62<%X}4ZgnH=QZ>@Bcv2yLocC0Rb?lMq0G&(BN{U3H)b`V>6=2xCp#L;sPzs(R6I;Xe|ql3 z{D~zwnNixjG&GG?-xNr%N`g&UP?%&Of-aVq-ZRm%(3rl0W3I1jP*(#&VM&F64zi#g za?NB#$Umxim9iAWeVGwN?P#dzLT$|G_*Y%|7<|`K$`Wl`=eW2pL>7$2>@+&C;|N8S z%UKkdwxQ)17nM_Q7yrS|)BcKM$g3V6kv5BcGu81$Op&iALt2fz4vd&q-=CQPN1sz3 z6$GK8P&~fKF^ploFto!Bjs9cJW&po(%hY(ul|yd<8J zH)17X8cS~){zY0WVf^qm$RDO-IATZ*RBfx+s;;|jIeV{k*IOW0!1xS%OZma=khPtb z?V$qoY^5q1dG~P0go1lKi*=W3HJCR{cvGJG6-1DkY*na&MAjV+I?ap7boSV`q?yWT zsq8-*Ul^Z2+k|9zfjbtf<51*44OzuQ2iBh@lR*WfAH{^4cO+coqs7+}I>jC-S<*{O zU?pJ1y^V|0QxMF=iN(dr(xbCS=Gk@WmQbyNVzww2du=)Bkn)I9pj23!B5l-(UWinu zH#nwANV%t*xLnxw(Fb*;_k(f@V!#K;SBkqBqc@BK=-j|FWJb?ZHr3VI4E_ASeGzmoo zLQ!w)d}fW$;var+cmy^6IZ>U?T(w~>;jHI4;bids1H&Vtr$gnfwf^Ll0$YL@xHT-` zPG?(%Qc)l^EKkoMq#1R5rmHiPl-*Wie_zdd5ygci>CRjnjw~mUf-&i}9%<{rhYz)g zQPPAZO9TH$P^m?!xyNw3V}j9R}QSE zM?Xn|A^Lt;aicx3TCq@-ehh0{)i&x$s$u3VJvSXW5{fI5Z~$&8V&&kXIzuVP^kkM# zY(b#P$1_ohbPfBExp%|3Yr5Ka9b&I@fAVN8A=jI;uu!{#9IVL%I!vLP7z#_WTTA2K z$dU;Wb|)326lQ*BIc91&brN zCWE}@3F<3e;$9GDXpU^02oNWz&4@0eLQk$4N~xb!^UJ(cT18+L3h>Tr2ypwmcd-{m z64GickoTFJ1TN0PO1M!risd+l!2f#j;uafgVa1ux6~A8{G{;(A*#+|RY< zk*!LH#aME-SM~;6%=5#Qz3Q^#szEwa#o~GsTpf=*Or8i`I*4RKLDER!2zD5>RH`n{ zRc8m4bgKnj4jEM6mxkW!9th|HbufPSWZoT5A{Xs?2P3sHf+@& zZdi+-(nTjZ1m-^F9wn3F^)d&7O{z^bKyP3ZXn8hE@`ryylVEa zv(t6r*fJFy3NRVb$n#mE3Vxjho(pM$(Yc+PAy-kl3VkogH$g%P)Y^XC%XZcUK|`ad zPmWh+z|na6NZ>WbNk`iG4X%n36tvLBD!27gJ>dIM(oY%PLL5(H7y0H{kEN*0+GCs*U47sGi3Ug+%8>)y?$Cx z5i9XeLz)7Hr3VWJ5vC%{OtO2EZJq273XG^+yx%Df2Prf)oEctg*13NLvumV6okLFf*QCo22N7wAj(I_|ziiAac_dII$;6Y9qzyX`z)U5O<_hE}<0?6@wn^9UA;readV! zn`57(baUqb(NI{_u-DJVx?msXQZ~urV9q8|O(MOz4>tGm@?ziYLR73Q6HQP-%&ZXM z2(aG|Dp=2ix>#{!((x5*I?cVN%ePQ7Hr7`@XDPoKN$ujgWc3XoSWg-*bMN31CwNz=6`F?$EuovuF&ojzimYY1f~;4l`=IN6;JkTFlU3W67qDsM!gMR@KS z6D%?QT=B1r)$`&YBc=Hhpyv|L4)YcYsj%(FJw&nnbfu+8(>8jFd_xGP;b zUUW2N;%6aSx!~y6XF0;)G`1XNQ8Bs5x~|&DI@8rOwl4g69|d4MR4$S8vjW3NWpICa zh&B3L#g#^W(dJEus@X|=z~cDy@{&{xtI_!A3fA%@fG8Fxu_{D@6owGnYvc$fVK$^e z&_&{u+TJ%mivad2M_|C$&_m8Pjsb-^10~=JOr$2hM`lubFtsD);)$YzEQ`6#d>v6Q zl_Mz7A!i%j%JO@&RkalzcFa>kcY5HI+UXQmy_Gq5VV1S$gHcRG2={dE0Bimyuecg)zR&HVm?LA z9`T$I=VOjK5;$KJn}ir+82n(kdp}jGgV~P^e>jHCDW z|Dh$Z{gvP=k-ym8l4wvW53_dY+&eRVj817&QdB#BNKMb z(lLD&bBf6BLK8F`rSqkh+$Xs{_)e&$(I7K{rNppSDFVHSv%txj@K z_KBmyWotb0t3NYzBNV%^Ywdvbq!RENW~_MeZc5;RiDF^~^2Z~A^{j#A6~w7wVl8yf zs^sx@u)8;{=QO8%Y3ZJZIoQ%fn;c@R>}0WG{}tn;S|8R)r}d_S^n}R&Y9q6n9!yK* zYt;E%l9raF=~3k-9O+fHCunHCmlZm@vkoo4)kIEzSVaMf67=8DCW`cW?s zQle^6B=O^{Cov_?j*vt|+Uo2r%XPutPL{l>>cnw9X7L0evehEOGAS(tgVso)1=kQK z#&6asG!ztpqK>RK4kqXrkB;TDtOeDIGJ)3P0UPx;aX?~}W{ab+)tosxG8=}Me-C2W z3f`Bp#lqrN-^dC9R62}isI0@*t#)t?zqb!oO2))Y=r1+MuFNjV!u^UPU~y&Jec$v= zm0s#6%SU=)-cd~iG2+G0VyaS|KT0R`p56odDhJE`=m?~zP~NV%f|pLjTUKDqAToGz z2xoW~37R#%tX9LEt)5CG{W$d^V=j^49m30UR;tdh&?)?L&!gNl8)64B9ZjDk})mfV`#S3IF2{j zyI8G4Eu1+rKEZ8p#G=X)J5`(*ofw}P4@m|-U@NnFG<&LvzAAp7c+{K#*R%kzDnn-% z*$(v7;-YqXqS4t^D7a8qdZ-1#gG>nLH z&conj7Uc!C?%`&`F`RQD*B5qmVG6=xc4C^$kwg<7SvcN!YYrXQ2<#KXU?d;Z=9kW7 z;sf{IMvl*M6XJ@}YnpBmv{HVJMker4!90V^(&n9zpzmBjLXGIq^fxWRHVgFFA>0k` z2{9(?4#aB+`hNWlq?)|UuobVXTT4>)0A{)prG!(fmvu~uQYsqYwUzy{jauMsfc1*F z9hJ?U=U(<&>pk9P(&OS=OC!UTzTq-97WbRScwj7w-0$UmdH*6s7v@St@s<=W~k_e{?(adc%j)w9YrO@l&O##d!oh`X~mN(!7- zIaFR+pT+iymR6ve`G6;D^E*PN6HW2;`x(GmH#u$&6rD)FK5 zI!`Z=wr5_h%WCNlZDqq2jt<jLxF{fcNwukX*S{huH;4BB{p6wH-Pj_+$((DB|vnWI$ z4$l%V+YEK*>C_!1LnLnv&Y>M4Gigdfp?Wk(6=L&C#_mJxQmEJ-pFcaijX5-$ zS)I^a%KWUk#MIuwGU@!3!&%x7H)?{35xYF9LN8Gn9ZU;WB=ps`cg$*N zcIUI+?2L;A37i3rJ=*aV)*6;{UXW{e>LJLrK)ll|xR4&2ZQ`uDGl!FC;2SLg_m~#r zW6vi6`&2imGC^igDI!y!X}i}fg-)>esfcwKoFUW!vWu+4xsa8}(rsduA14fM%~RJ2 z{|lBoD{95MRY2?57gdm7b*Mq!&b1A@FA80)-_a`fH45T7KxPz{iJ}p#IsD@21u?ZD z;OPSg2M>((@I2?`5R+5L=q6H4y|hB%6BzU;#~RTBjr{|BwBR>}s&mJdr`$TTb2YYB z@0hR>>wI*qy1O_3VBhfmGP=r+Rvs)3-ajw~74N`adHf(s*58Ry!)}s~%xD@JxC;v0 z=n+y7t>3IU#`Pot8_0*Hh0;pS5?GXf3!cE?hGe3gn4dx4uh{LLtB{o$6$-*oSW%6Q zH}^GYBuzXdT9-vZ2Sxc=v(w1WI=WO{UYO?`Jz^T zW4N==WnD{JKo@!Ls*n-Jku*F-Rj$Nkgs2+4#j3*x@Zv?87*LoSdav=hL>RE;F5VIn zvPCKWNDVl0;;0OytM1-k0t57?%mb z(9}aZe4tRRjk_d;!RGj3jS{jgC?Vi2=*NS{8(reS z4sxPT;5g)x1>=Jg5Pu8Sc3xM%ZBpcxwh-VM9k4ZmU-UY($vBeJSvtrjPA?S=m9uZG zg++@JVqHf0I9VfiK1o)~%=RI#5qK{@c^$DRvP-Z;Bzq4*9%}VRx-L#*&bg}GKhj%f zrA^Pe&JvdksZNS#M6Ci`)RjbT+RAeD!!F!;FLh@@v#`abWxVNfW&UUh^?1BdAUek5 z{gR9CtqD_Dvwnd=gCeC{h&kP0W2Ute%UO<5yjX#3*ib6u53~Im3C2MOzfXgc8-->T zvM95(vE$YvP@_d(Bvs~)vS752Ls=JwLNC9f!{7fXR4fYOnno4%iE(sAh~BUd##2d& zBT3i?ZWm%w0h`_YiDdKGn&dVPT%9npB4j-5Hf+qMYjM>$e`iawfkG}@t(jiK?V8nZ zxb>hkZ{&h1Sb+=klNw2(rkw}4vKC8FmYO7w5vo1a(TQsEfbu**7{_YND%o>{>W1lLYwspTz<6>>% zSIBc3Mc$df3_D2Yb|^X09aVbw1jWxsM`g7)b-zdk0m*^+wtSu2Lm(#A*Eld=dIbAh z2HHgOXbFW7y3k7m`yjZt=xbygl8}|iZAs3nyay@D_p{6jgu;waE@Ex^jjyRtT=yEk zP8p@7eXY#GH3J=&c8yOW7Ep_c;B72|vv@}rALoG^6@RHV4m)B4;k%BLHOlEKDiwtg zbjKR&RG_PoW6=C7?|Gs+FcD{23T=L9es8mkmNhn`ffp`jxk#a`4e9GB;f2b|;iF|v zsUj`2^WFej864#r#9reHg;*L(*1OIbX@hSi!#Qh6Rn!4k?qE_MfgQdyM5kqS@g$VC zqf}cJoeJf-x(ZL*c3?H}N!-E68P+%#rno3TN2O@DB&pf$5=bXSX~GW%ek zSrsnzRn$_nyeoDTLiB?~r`ZwYe#nVuIY+|2CfY))H3zNdq60v7t=$Q=HoF2-&eLE6->rEnYTI!_%-FXHYIoJ7H9z4R_ zjear;LZQZu`>Tt`suF!r8lf`*GFlwoirGYoB$8|^(?=m|WS%e-wp zgT^-6m&&+p5z;j^ZkNzcS#lGiKFM?vRAM==5l4`9K?hB}?~v`qj6U;O7;WB3u|kBj zY!Up{yw>yFwX03^Hxls8LqxR63u0pPK_6Y+n$f{SZ`BxS|G-)hD_P5nC#t&2r1Gk+ zFqtDwY+E6bYmk=oiaBshYP6NQZnqg#F`V(le=8&LNqWfJRz&jV@Nyt%LFJKCB&|qWo%iKClQWgG+*N^11I5WZ8B3hOIN$zqEz9B6pOuzKaEMVIxU=;zvv- z2<Ya9}!@%(vWV{prls9@Q*zNpah`*II61+cIEsqYE;HB?*P_@>`hKHHsnMd{vVvg6%v*T( zw!E{7;xdFahPI3JsPs(ize3@JF*yGYE=-~ZRGx?CMOX7^#74qR9u*-C}i?Oc)5uS{>tOee9{i65tk zMnvPxm8iQ0KPPt=%SH9LARlOrSyV-~Hk;G1#)3qzi532}f2`W`~4KxKHpK9$o;i_f^M8WgQ092p{+F}vR0$8B-DC>wmFx-@@c z5q&z)s4gx)VP@V0p{u2l2hi^K0o;UQ(ODF8fe#Jp^Lg2)s953qVbZ5CSo$QvR~K#eJmv(5Mt+|WOuKsMtXz0t#WPM zi_8i*D3}}j1}3H{kr~uN7pcg7eEb(hG9W&dQrU)Q;+2YSdfJUI>+BV3s=_70wJdG$ z&00$=n;CeJOiJbQ6iU+NWso`#5oSnVMBB=fiN+L?LbERkS>BEUpAx^+No+Of8tAbM z2gIrIMReyuL*#K-2`cEZEK9uk%u}^PM$2Xuuc9W*CVq`qn4JjG(MVEKUhpgN`4~h# zI%cufY66)%i(HDhuuwM%k!{pLla31+rP^dYwbjt1v$8{8A1ls5k5Q*=mFE-no+Hat zVn$?3Ko>_hB+79+HL`Gm9U(#JM6VvV&R3@rZ%259rb<=F z9EF!teLVL726~JJD5QUfk7bp_hFW2x~_T zuPT^HBkP};g2~n_!QG@k(6VauOa+$UAZ21&RjMW#5gS0NH0%uGBc|2X6rB+eyr|@x zEOxW7HGS+iSA|3NG(vo&@hXHE^YZE*%R8Lv2tnZ@Qg1ll%L;(fU9j`)wM>ACt(~#Y zH!}>c#*(<0OO>(TD&ow%v&=nNEMsNTbzG{al%1|5*I5^#%;5+*P9_)3qjPrrcvY9u ziow;W=7+Du0X2v*P>YAujtG|a0=~qCzu2B26N(Ug&g_Ra>8eZ?7!)Zuu?S{+L!p5b zKf+opTOH%_U^{y!CvnokG;2$}-uLzFsarxrI6bCHW#c}Q{vggzLZ71MZa7Zk39cWl zQPXP;szwxz6I*1VT+pUNv_R%(r4^0W#i;|8Lf#G~bY@DE$EpyQD-ZTUe$15?jF+Da zLJCR)X+gH-#upYSM2sbpm{Ymbcwz`$l_RpBmbNdF5sb#Tx$kid#)@}mKhcU;W%i4@ z0x6!WX+8x_PsSH{%6zQWJEdK|SHWgr`6_ov%j)wEYL*H_LyQEcqO%c$VLpAf64&Nq z#%>y2)7}!86|d?tp3l-ry*FTsV3s;A_N~l^rlS;djEH9if29rUie)2<*`RT1O6H~- zwz&X$N@*`c#pT5Z_MS;Qv`kGc!E~%8ik>#d;`}_BOyuxrLOzv;oFoZFld{CLXXiWJ zsqs|XQ`5;*qH`C^utxepK-39H>@oxKM$hbvw#Q{n!@82`+Elb^h;?mMWP-6bi_&b; zeP5JxVQNGa4DiN=+!v=~6zLz@Oj{;2$6&SvV;vjU9zo>o_#)yjmQ~Ues~B01sdp2s z$9;3${}O@%+!VyHHAIT+Lc+U!3Q&XPgYTe1TsA}SvuFbRaJe*sLW6nlN)U6nuuy#b z*sOyi7R5`$vdTS5-$0vg%~2ca5}kP*9VS*kifY7xh_b9G z5mv$cXhGLZtfQf*bJodYz;cmQ6>nzah>Rw7c4@Z4T0Fajxv)I1rD#hx6S5hG>$ugcZ6@d6QWjI1(Cnmsy-jR9OI(L#jd<>!9TvB8D*opZQT6#YFRT`{X ze!*u_{MPxl_Z+=PHsw%8hlEBop;C&UJWG>jq?Kf#X^Sk`6hWPpo5W%*h**zDh#L&3 zLPz^H7a~@p=+PB$K$vql4r+hhH?8?G=BTgxwpnOA&6(AxlO?@`O```CMLoe`x~SQf zyc={_`Ji7R2kFETYDsXFPF~bvCoM>Kz}ng`y@ohOsL(fH8+(;CSfc7+*r;gfoj)&& zc)I-(t8$rw7Z=VSv}~j1c6`Jlibm8McN&kXOcETbc#{T>y=Ys;si?#gk#5JjH*Jy~ z@aIXtW@tB5Du+Ue_Kz{5NOi@@7!waK`qCf-!aZZ*~dQ7n{bk*&I3?rcyrLwg3Ud@S?({ygL5RRoQj#+lb z5nm#0CEo}K>C!01v2Uh4Q^K0UDkHxaj<8yz1CXUbpcrd!l&p9gNM$05G* zx=usk+f4;U)991`6mua_ZSf%;;y1vvqU5hERb=keY?BVxv`&^}tt|kC8vJk$J9T184j!tLA)O|y z6hX9Pi#7LLwklSxW+P)eas1gxK|R~T11Wy1S&P5JuLssm)-Kq)c82a9^@1f!_L3MF`k<36MVYZNAFE*1cW z(qpqn7BQZ7s^sl!7WiV(wqpym$$6`NwN=?QEvJ+1Aen7~^R8I?vIZ|4bx6@CG8u)J zT77_sNt&V?y1JSWR-YA4L_SpWpSsOeM?;G zi@o;Ct7sPlHJf|0Nu?ybQ;z%6Zx7b(ng|v|7Gsjc;k!I7DZQxf*TUA*YO1f}DaW5Q`&Qoe{GXr!seS9H>?&?gDP6 z2*k5Yqm$1uh##UXL&|xb)!|@LYJ5mY@FZr9H7d%|Sc@;DR_l6~@iDP0Xn;G`L(V;l zvE3PLPFxEhiwavp1!>fMDN_nbW&ilx_%XDelMpIY|5o;H)`ZnWrQ{2^uH_DLj?vz; zjw4~SHsV}6isNC51Y174R~4CwHOQ9HFo0qU>>5Ed)%0wYL>|-zgYcv27keJf<evRB4?yoD&(CUtXu+J8=Vyi?w z8U?^bhrtlCf?JSd)ON=k+r(wc*vu74&{L-^J~rsNmc_z9@AMtIb8GFC_e0E zHQJ39)(!ugO!R<9Owxk+Kz4Ie;0`5o=u&YEXG5XVwl5hw%w#8FJu(#kpBx#u<*6ih zR6<{i-`~qRf(Y{xx6(;<(Ih^DVTn7B#b@tK!6;HJKrlndk^)m$UDeHLY~^X%%3M=$ zvU=nM=ekA9x?mRbvMoEcVJ{o4%+FOcJ{sXhX3WouxifRMnXGkRG-pN^eGggD5_rR9 zqPZ+P+4HdUxmI3mf)S~P4X$|)W4(*(7%KvMD-0R2ux^-w4j$NdVEDlUmHxr~(w<3s z9&~kO)6QXJeLDBF>7%*l&#br&nJgQn`C~XFe6q;;)VZ^~Se=-rLsgQv)c8avptP>f zBx6Y>hZ!g&rfBUf9=SK%x!#}>_mXwI!TM2CMBGD&1#S*ZFqaW|mSsHQ&7+*@JqPbc zGc0bK#mXu1DN$nb3Uy7Lv{+Z@ife6_P(F>Nyc(NgWQRbW^zgxvJ~Ziq&b6OfrqK__ zT25F~QBIRt8K+Mx6R0_|R_Hun4IfxMpCl8)GCH->oad~X+0@%FBEB2_!>1Of=Z;sF z=MjZMvHtw^DsID5;E*A}C?os1PTy1c&1>WFUBK>v69KOc3Z&@Y# zD^v|Z3&2ndQmgZVgm?}ulz2AkX+%Z$=T6Mbpdt??`7TBuv%x;z*)-0@UYnkY@rCh; z>E%aN3XGQ%dqU#&MHK0QCA*YNYN4Eb&%v57sbG9XX<#pn#zkvh_l*4iFI=3~&}iid z`ZOI+%3}i~CDiQNe{igHi1P&dD+kJsJDawiONzxRM}i*;n%z5v&s`_9up<#%DiV z&$v(R$|D02Zh=EKGj$@y=>8Hid67pvOx`OlH8hLx ztf{EFK0Q~aDiAZxOaHL_G^r=(mGEy$nPmF^;Kc7QJunD)Z|otIV8u|^Y;k(jXqObI zR>pKRzY|(iGtEYegnu(a@|@*PO`JGQx44gO9q~!k)e#?4LGU3KrpeH^!H&AqrQk%n zwMc4`0!Oy~p$8hgO?z%m$rVy^F^vOjbgv^E<0ngwNWOuF&Dn8vNz7f}&9{8IRSG+{R?CA(DT8 z?^rK)jtqr=m?^NPu?Zi%tMSFR#rVoRt(x(jGDk7@DeRJJc zvSkt&bWPBTud^Z~35gs;4C}?xazEA9aqnG6rJ-Eb zk$tj-mhix&&4b-@6>e1Gt0KOG?iNDA`QWM-_f9=eb5YSKVy{A36O#rfDjHi(Lz2%- z%ux>j*3l}GGSrDOfsQ951bu{-q|K7;Zc6uDNj1lNi@7EmQF`M}6a~%=0p5mfE;XS} z6oCoh2M03jpXld_{I_WN7cmifPvMT^n_ZoJqxTz;rBd~mFMaIDhX-#@|+mcJLKHM*DFYUD^V zJH8MpTiDt)oqyxq4$rhUK`YKbEgsl{n}QL51MdYdA70q=C>KDcv25az+1}F3g(Ac^ zaYy#tG;_zMy*N<`SYq;)R~ZZDYcMvjdp@qdF@m%#tiHPL|KzwhJWz*oqB>heO->x0 z*+Ekt8Qx1iwSz;YQS?9_Jy19=~^f0S9( zbq}w_$5}A+IF;)SJ=Le*JJP$q^x*KwJ`q_lYQ)QzqMYeWB*>iKP-@Zet)o(G2tSDe zfe2$owWQ?up6TT=93<5}k1mHSomI#LHD_mR+pCc;G2wPdvGUf~`s2jJ(#Qxa80ZQ+ z*pGJfrGupqii@KY$uQH4qFbykg&PbXQ!Pmqv??*a1r=Q}V8r7Vz|tu|A9N^G)dX`d zlKv$&*wis6u{Nm9>BKM&8IpIXv!if?FX4Z|w4Cz|=hqS@C=U0;ZAIOaVX0@@YdYbf zudA6=scl?vh+4_2+D;nkVzjymPGaOg>zyI|VYY#y*$ex}nvb?wjO=Z>mn^P~pR9p( zH!`q9&I1#NV!K%P5t!Am(vRo3I8SW$NOYV>5io0Eak6G`%YCCeRRXJF*EMW#7?y>) zY%qk_xjoW>#rcR?5ICxK{B(7xvRs{8LXr-6IUgEqOi8kOADHjk=zwg-vWF3&Rvj1+ zvqp7xlF(@3J`<&`>Id;IER^)tAqH^wgHR45IH!6nIgXxLEe_Ga-n!Ya6>sB|V}UuZl{S z5Z*G+u+H)QrE`3XWGl3kX;e^32NS^Xi*r z9tD(CVxBwZ(UUXflQ;u395a@6N!&*o3JFF_@9fZf*Ny60MN>OD8_a%;z1eg`T5}~V zvj8)eby%s&Hj3mu?&PQ|KCQ7q3r($^oyVdawv!1huZXJ#&E7K8{OaFUMF(t^wv1KK zCaCdYMHy;~C&y=2E{058h4PDtz399&>fVeIMhP>v+e?>&*nmd%f4PS}W6?Updf_+0 z|HB5!6|z@cdET zEXp+mt3kvPO3f}OQ0ir_iTmpi2j0at_WB%6-VQ@u{Du1U%(Q<;L3q?QTWWmZT5wDz zT0mE8CIvUkKj$Ta?P~(=Ffvc;H@Kt$h-S-Mk0W-X9U1ar9<*PJoxz+j=h}OmnpmW; z>cmc3Gp^G^>?_d6xB^??gR&ur+pZ8fME1Uk)8o-1S;kc3>zQIr0p^w7u`%+zuwo=~ zPrl?*;o>M+kYWS;urCmB5n95njgwYjEpQqCfcqL8qrOirfq+i^wp4| zz;%tr-^*)~5Z$;17FZAfnDIC|tau#dWF_YA?nA4<&WkM1zBuS3+m>sv5kw_ihH-NIbsC`_+MmP#B=J@4h%je`Ls^gUF+6Eyl za>|J#ha%YMV8a}CcJ;{fHfh&@s?eDkHdHv=;p=X5=1eB5%1$O;pPzCHvL0PVZ0j+- zqP{$51zu2&%-pH6=; zjj%{D8wg}0n*!yGW-ygz2|-20Y$iXdEAg88`^nv>rjj|TT4MIaUHmsu2tf?yNOz7M zmm1H5njA6Ox4+UiFj(4)$Z`tz;r$cMsM8KGz?s@X1ML0DQP0YK&_a?221mvY_72Hb z@r-_z2L>dFZbx`wF>@Y+XGTnPkXh7L^tHum#Y`^M|!Xx#CTz zXnf3xC6nA5l9t!G19A_GBjJoI?|q~!2EMM2+$RW2phB>4Ze@B5)ei@w8{#4>2>A^0 zZClGQTaO>BR{F;0=C;B|wY>Gfe1$q$Oro6j)*~mTXC^E2Czg{HF2tEOh4X0ZVs-Mw z1X_%on0?>G!a|eZO17R@THJ~qIdfvNx^?0kzj144XA!pb$TS)d^2OBDZf2`AYTr7( zL=wz2mJ0F9uxzN z&fl{r+p*e*fY})wd+P#T3bxT%`M$lH4AoZ5_Nwp8FP6XCIEA?G=zcGL@Wko&9-BL% zQxOfj`(eqJ%FSNwO|nVTZ|k#8AK7|rVq$CU7dks_?pAs}y7g94+I3afCsg$ zoV5+<*7vRPdnd@ju3| ziN_}*K7wyg;!crIMOX6LoJ7o0cEJo1@)qz}#t15M8Gn7IBGuLDkKkj+A6XQV)Q7?^ zaS{bF>IHr%_BwIxe_Sp;D81uSbr}?P*!aSw( zdQV)34Fm=P-}7;7*Xj(u&ny(5-~v?L;irgDd86<&JPgst@+BG<8q4Sd+r<^(SQGdG z9gpRS37&)TnPc;0-oPiAmMq2_e{;m1I<@Fen8>Cnivl!zm)J3YKWHi~w_E?TBC$EhNC2tjf<4vb0 zaN3Yiia&8;u=hWENko)oe@x?mK}_DP&9(gi5AyQjI2{h)hy0(<40)3=<@7&=yM4530aKCXR3Vt z^nCuMWM1k0j-Hyt9c*I8XA-=QZ5uoYy+oof_&)j;KE_x0rm(+99#(n|s%V6#S)8B4 zHhmPQ+pN}3q-UMQ@;;5LVEQ_R>cU#n(#K(f#)r{))F09|w@kV@q!S~ByO=wWF;fKJ|Fw@0qDuqA>yz0#e?|?q zK**H8mzQAp69nyk-UXnmrxzfIAx>i!?}r5f$QUCD1LHKPDw|ZsslXNfR^A1xHt{q7 zF$?1)_2?z|Z(IZMjf@$_|3qY3B-WxF5x)|B4VU93V3C*rn`Q=tX~V@hO>9XMIZtbE zK>}$(-SO2)@}^`%LjT^h`*-eOVtsO9-TLR&ow*}PAHPGO>)*dFefa%Cx2DU1dP1r8 z^ckggr8kvYPAB)tH||aslxj&I57c?3cBj{s>PR;X$v4ieOV2C$)Vg%nenH#PhXeIk zpq>oWvw?asP_HS~pYA>&cNt4Rrqr2rY0I#H&#g10QkdQDK2-%UIRjNOIUa8jfWu*qvEwggnSb9dO*7SU!E(Pjppk7ky zbb4q`zB`a!P-;{9tWulPmjbnZUao6RHz~C_-5sz)N-d|)hfi-RHI(jJkne6z4=c5h zUQ_C0>(a>&%E$fbMWxE=Eu}W6n-=BMwsepxC)cGL zKP+H-+M`rkdPu2<(`Uk`FNRNFQ>vT}eV2R}3*$v4ccrao1nf!6fjX;HYkDDI*Oh8Z zZw0FLAINuKT$jG8WLw(u5dpi?fj~W`R9pIFz^*B^Iek^BP3gw}O}^Wa?p6vbck*!o z+tVkM8c1IV)TZy2PY2S;Ks_C(R|B={d+fT$mD-eEP^u+;CVcu@p!)xJ`9@nh8K}pV z!Ww8lD<7BB(@M3a=L2Pa_! z)E@tgQisy(O0}e~DE0W8)0-c+$J+Q$gxZqsQmQ2_E43?qLaDa&>2TfkaNR56y7qr+ z_ZtY*lv3U4lS;Lumy~)qz5Bd;V^=z$6lNz-3re-8=ass!F75ee@|D)KtW-~WR;f$) z_y_G74kqzHvX_ZYll*;=|G?k2kLa7&MDQBJ{73T;nQmY zdpS_I0(JL=@SaMwrMs1CPp6bBrMoZV6Po zQf=vgQtj!2QswlDQmyHArFznhKNf!Es*)|~i%M-tH#{XDcceW^K`>AX{G#<=$j9Kw zN_C`Xlxj~eDzz(pS*cBF^5gQ2-RW+nTGK;Hy@ZwY6Y}w1m|~(kn{g1(X7d zSE@a2yC~mnNxK6z5U7WhT1cN)>P(srJuP3EOfM;Q?vC`zPYKwazN%D9y5V05)|$2j zswYrorP|Zefx4j7q4ZY3+WxiN)sl`WRZgE$ zsy%%^eEO179qGoOk?*#oo0aNF#{xDLsK=CQPoE0cy`WTU`ifGU(~bW|?l+V^tQ6#Z zr8cMMm6}XnQ>s1P{EU3#`E}_{C0o+<|5iWpBWyK}oz*Vm=VzY}m%x=AU>ZAuNKXO(JAFDTWPUQwz&y`fY~`kGP;>C9!h-?cZV z&;H*+PNr?o3iZSt>6TB~?+qx`k)Bp+SNe=nt?Bat+wimU4Q!*QmF!7hR;nXy`8oNx zJ>8{LM>?a_uJoc(t?8A3y`~gyc;SkCxhK7@6f~(%+YLLEYDxQ*+LRs+pPp4}OZtpb zcol~kieNL&?^u_S$`k$BUHmB`MZA$wCHWjERlzJ9Y!*lYL$@FQZ zTGQtO^`cV!Y1=Qzbr0H!DX_gj4JZZfAFeyA)aLYQrLdM?`&GM5%dZL5lC~>_!*cAJ zfc@!tr8?590lWLx&sgK>6KK_DS z*qT16R7d)Jpk51~w)}=%hsRc`JuNG>C4Ee(j`V4zu#m!auPC*g9{x?aOM7}&DM$}W zwWcqGPhV4NOWOWh@(rvlrCQSkr64*fwVd94-R|726qub-t?8LSomXm8`ixS`Y5Q-> zcekWtO0}d@fqG0S@NcE2(z`z^-+)-96vQf}2GZx1+LYcEiaa1Y%%Aw!48_pab56h2M}p1 zQV?bXHKi0@VAm^hA#8wwdQ7Rw^rb-c|DjyBC0$TzGJQd*j&%JO<q>1(UsVcc$e+qLhSD*mI?~6LYEPe5 z3LI0Zv9$G7d(tg|+N~7S8Krio7nSNruZQbiQ3~hYf0w)LPWzQ=PiF%4F{L)8my~Kt zuPFr^gi@Q+4Syzgd177qF(q5li%LN*QVQanQoGX4|HB@?N2$Z<`G7qgu)A;Bb!|!w zq*DQVOsU=Jvr563SN?PR%A``*I)Qpdsl#c@U)Xi+NbY>;OG>q-w*uDkS8|uh^mL$JRBBUtD^M+eE!VZCTLRUu)b8|g zr8cJ*mFiDlQR?ivbUC?`-5AU14W%}v>(>be*-NRGbhlEQ`RWG$cW1ILxw@|Qf;*Et zlADG2oyq0DQ*{0MRkW7*1^A~4*s=u@U|M9R?Yh4kN?_#ATGnZlBd?mPPNbP0&z!@ z;Vt@sTwl8m1+QIKt@vL3-+fEc=GLv!lV5N4UQ@~(^zjoKF?uh< z2lNBG{&b!DoY_=-|JJW5#y5U#F}~22$4mVC*e}19$L)Epyfcs6^*>(c`sC~L*V}yt z-c^iWYA?nwzq=T}QU_1IvH1E8TZ-|Gb?__iEx!IrM=|dC8_g%pui;~FlL@wQ*xglp zpPSqA`1k02PV2rfE+OOpw&c3wOM<^O*LEFQ2dZyZ}CpZ)HK6mNC-Clv2+_+`Zh9RACSA9nan#ZNo@ z?QfFzJ?HSLSKQ|Jyy7o8{FfEK;qb3~vpmmD#cjSGQoIdeEA-Fq z|4GH$6}RjET=7GS+cBxOw^W-}8NH$?QIcTVR>TEzHd07IbF#E`6S|K9AftNxoh2Lk?e7{IJ9S5#!)4|3lu$ z_>9fF;r6>fuGhD^>p!J) zE8gz#PwM`CrAPRo?aEIpe$(NCE;g2c4 z!QmGbzuV!zqWDIKe^K!kho^6q=WKQO*DJos;eCp?IebF#%?>}Kc)P$WT{Vcy%hRbs&$>$ZnrShTSUs62z zO<944Z-RokF1aV!;P73FZ*=%WinluaLyEUK{09|pclc$+I~@L7iuXAD&lTV8@UQ&} zdHw;1->Z1p;fEDJ<_&JAv zQ1SB)|3SqsIQ*9szv%EkRs52}H^UG?>*2D)$&Nz!6^B2r_*IAhq~g~c{_BcgclaMG z{*uG*`AYfS8xH>##cw+NgNomB_{SAbek;HJuPDC3;a^mIqr*4dBhS<7@RH(f4u3@P zc87nT;vEkEDaCsn{#nI$JN!-V9+DI__V{{qxczzk1~Ewa>2dVyy6!f z{!zs*IsCHXmmU6j#jiO0PAE#W4zD`AUGZxUA5{Fh!;dQdlEc57@wX=DzD492urL1i zl;Rf@HxJ6M>wRvx`+QOHn-0Glt{r;*TMqA3Jh`6d8{ek*28W+ie51oZp?IsqKc#q^ z!+)1?*rVM1z8S72S`X(O{w~GOJN#P|zu@qrjNg;AyWjm@#XB5+LGd1k|D58x9sawD z4>)`STw*lNWrzP=#Sc0BKE)3^yrTG&!#|?uEY@#MGj`)gA14G#Za#Wyy4)0a`u*0VmpK|yUiZ3|)-z$FF z;eVj`8Hc~)>*RUPI{ZGx&pCWi@$(Mg zcQ-n`NAXsNR~2t__&LSf9sViBI~@LJiuXAD>%Lx|XSc(L6(4Z;NyW+nBR{G7wz@eT4k=N;as_yvcbX1q1I z_~+{r`e*X?KUDmZ!+%Wi%MQPy_!Wo$hT>Np{)*z)9R8PzUw8P%c6zVYlm+$KeMQ-{A0nrT9jN|Dxip4*!DUZ4UpE;_VLqs&~u#b~yZf ziuX9YPx0LjKdAVC!xt1UJN)|&3i zR{X5PM;X5-x%k=qe9i0i=iK#AD1P4IKdSfzhd-ASNw*Uo5P<}yxrmdm*O1`zs@-9NT1C==U*v))!|?N zUV5*4l4}khRQ$Tbrxbt5;oqV74TpbJ@tY3+8O3io{68t4d@ld|f28;ZhkyC|WL|pQ zIJ{f&-45TQ_<+M7R=n)+M-@Nh@PDHCVTb>W;!_U4ruc%x|A6s(l8v9szwev3%6px5 z*MFVjXB1n;mhk9kAIWm8yxww>v!Tmgnqn`1=&^arlFZ?{@fiDL&xvA6C5V@Sj)w zki);I_+f{C*>;)tbMAe&G2WU?x$Db{FF5>!-sil#&qww8)9(78)$1>~>p!RXMTfs> zhdk#chj%D`+2Ic`-kO|ozk6Eovkw1fil1}%vx=X0_!ktv;PCbL%Di86_;$rFIsA~~ zmmU6L#jiO06O7{=cklZd#jiU2rsCHe{#89Pp4T0|Q}LG^KF)Y+a@9T0cPoC);XkSP zb%+0o;x9S;&lSJn@OSQ%@x1Bqy^PT7nb7N7^?Do={O{w64>2Q0VHjUS{AF=yC?yfidsXDmTx$^h1qF09h zK9A2^lb7`zm(w9h{zAv?qK?lx{leS7ndb4W$qje?yBKdxF1hP__4-%b_4fQ$ddr^2 za4W>+aVyK^aVyg0aVy#7aVy~EaVzKLaVzfSaVz!ZaVz}gaVrDnaVrYuaVrt#aVr?+ zaVsC@aVsX~aVst6aVs?DaVtCKaVtXRaVtsYaVt>fajRD5ajRWs__yi0x~c2R*5|C^ zw;X;(@#Os?uiEvt-mD^;-T$L{{d&FL_QlUAzQN)DQSrMS{+i+&9lm*&?4uTkk1F2k z@b6T7lf(a|;%yH9O~p4m{La58zuWHcF2%PvyrOuA!#|>Ux5Ix-@g9f&lH$7@{zb)i zJNzB@$#eEQ{O>6~;P7u(e8}M+R=n)+A5nbF;lH5xA&38=;txA~)3?ZT9(MRn#U~y9 zt%^@M{FLG|4*#U$3l9Ih;>!--xLcm*w8Q%qf6U=?il1@#_bdLm!+%=wvkt$e_!ADl zrT96Azr9zU^J5NwkK*SY{>_R%>F`5}UvT)c;!ipJ^C@EwYGJN%&HJq|yu_%4TkT=Crw|F??wJN!2kA8_~| zD?a4#x7{z#Uv~I=6(4i>h~kGFzNGlW4*wCw4?FzRicdQHzbZcE@Rk92&KZYyE56|H z{faL;d`9up4*x#IA9MK6D1OG_FDU-F!@s2XS%-hkpgjK*4&STzIfqXv{xOGtkK*SY z{t3mObojqh{DQ-OUGb+J{)*xk9sbt$%kw|&@D9Zr-rx2n$`w;IqMw~EjnxBAc?w`$QIx6;ubw?fh$x3bb6w<6OXx02Hyw*u52w{p}T zx8l?uw^G#}x5CvPw=&iqx1!b_w-VPLw}RImxANB>w_4a9x60Taw>sG#x2oA5w-VYO zw}RS+?*-qc^JSOv`6u*)k1Bpu@fOAZQt=lZJ~AZtxv4nJ3;gfr72mQ!_~#kL-@9L~ ze_HXgivMfH{qq>VwKCv(c{pFJD7eS1M7YPTV7SMve7MK0n7GHSvbe{s&bY^|>bS?P z1i8np9=XS@I=RQKR=LNma=FK?j=9IJs=3Fl#<|C>;<@2a7w~Um^3%U8dXwQck5(4l z<5ncy<5n`=<5oc3<5o`H<5pbV<5p_j<5qax<5q^<<5ra2<5r^G<5sZU<5s@i<5tYw z<5t?;<5uV0<5uS3m&(I3m&)b3m&*FM6<+Sd%$b6Z+_YV$;T(_Y37X8BSEB>V7&nf=1!(=x= zT+oYRG1#d1e*sQ%>ESPv`)^YG-DSZaQ~ZkJCRbRe2!(@uXni9*Ze1iiZY?D|ZVe_p zZtW&KZp|k=ZmlRhZjC8CZfz<&ZcQsZZXGN zZXHxSZv9j|ZrxQpZoO7KZk<;=ZhcrhZe3YCZarE&ZXH`ZZv9(4ZrxlwZoOSRZjD|% zZf##YZcSi3ZY^OvZVh5QZtY?`Zp~vnZmncIZjEI;Ze3t zZmnuOZjEa^Zf$HlZar;0ZXIqsZvAdNZryJ@ZoP0kZk=&FZhdk*Ze4RcZY^{?ZVh!j zZtZmp{|S|scHNbiqh3+`km6?FGdaqd^Vogf^8t~&X595>6hEW*S^a|D$6EW?eg2zX zzv1q@-1zMya{qqCH@o{-V<5Ya-QU^-dEA-?dE8nEdE6QbdED9ydEA-}dE8nLdE6Qi zdED9(dEA;5dE8nSdE6QpdED9=dE9y%dE7c3dEELQdEB}ndE9y;dE6Q#dEDA1dEA;O zdE8nldE6Q+dEDA8dEA;VdE8nsdE6Q@dEDAFdEA;cdE8nzdE6Q~dEDAMdEA;jdE8n) zdE6R6dEDATdEA;qdE8n>dE6RDdEDAadEA;xdE8n|dE6RKdEDAhdEA;&dE8o4dE6RR zdEDAodEA;xHXsaxV4(|xHX>hxV544xHYBoxV5PBxHYWvxV5kIxHYr$ zxOKMkxb?a7xOKhrxb?vExOK$yxb?^LxOL0(xb@ESxOLL=xb@ZZxOLg{xb@ugxOL$3 zxb@@nxOM0Axb^DuxOMLHxb^Y#xOMgOxb^t+xOM#Vxb^?@xOD^cxb+6~xOEEjxb+S6 zxOEZqxb+nDxOEuxxb++KxHTX2xV0kmxb-FUxOFM?xb-abxOFh}xb-vqpT)fkfTTxN zFFqj=0`dqLOppi*1`Mxdy63So816r_GrhZ=?Rhvov)SaLUwUVHcY8B4J#_bMb}{nM zcmd%8LWHP@0fHbe5%iKPQKN|DLXbow7m=re0wTtXVn8nW|4!BU)mLA2eLX!hyVupw zyT7l#`s#7&oKvSxofG2BZW!Xsbr|Bzd>GrhB&h>hB$LDhBz}ahB(tRhB%WohB#9hB&jD zhB$MahBz~xhB)(|hB&jKhB$MhhBysfzVC=J^r7 zOaG$qyEo_5e@9UNQx~kg=w7u8t>9j|{Gt7aS%58?;>-yg;>-{n;>;Hu;!GYK;!GtR z;!G?Y;!HCf;!HYBoa6SsobkCo7$26uBd7cYL0-8-I-XZtnLU@Z^*nmu?r1)^iw5rd zw)GRsw)0T~cLaIOI;cNCPb>0&jb{DQ?ROtFaB-h`@+VFGY2Lka zv_W4tcz6E0e>e4~<2k71FIbduNaxG0lXP9YZ!RWJyYoIj6ZJe9et`6^zEJD`NyV8@ z_6lw2%M_>o>cv|AF2%VYxlHlDSDg1R?o)j7ko_+GRQcVG;`IAvJ#SE)_V!_|=N`qm zzQ~uJe3h-A`)=aDra1Kze)sW*ZF$<&*{_qpAEV#$e_o{J>5s>DzD;rFLAzC7`V7k- zwev!M&PQBrzstN`yR`gs6sLWa^S-J$^95h4^YS{ydC!jZyjgMj=d-^Ly2gH&aeEf@ zyH5ok>+htNzd`e+vHlk;&U=5vU&Zn-u>IwHeN=J!1zoJ)z39Kjzq=c_&?oKEH){EH z#d&@=rTCxc)bk}RPkr)QEr0p*;@@2aF5jiR<~haBDbD@x0j=jfiZdS6YuFyexi91R zU-?tEe){{3Y57+uPXB>r#qRz`@Va2(x z;dpK+PP^F^rZnoV*?M>{`>qGu2bU@S#(t8=&>*qaC_UjhK z>6gxSeo}Gz6LOp%w=^)YOY8K1Mt~ds{A#<7o_UUa`on0L;5K-uvJ@-lI70p|fBAra13Svpt2C_`H;X%e?TOJNuO=PQU$2wViKK z{DN9`{6D97sJA?F)z;5*9L~!@;IVc0Jm8N;Jcm1jJkh_R^)N2MoVMqW6lZ=+u8VId zPQU$iwtr3gtLv2Izot0P#W-#gOG#6+ENs~Nc}_w4Zz#_Exx4fuuTuQdp#Iwxr+@M#TK?Y@ zXWWlL#h-f8ewX&=D-{22#TmbX zrS&}J1@^nVhsE){N^$0~W*Cg#s)fJeto%U}Fr+pjS#|IioO?=oHl`AJ1_`Z;slUZ6PR?aXOCuLBTK-LnGtMXL`3uE)?s8JNht>@#w-wgX9^SqOHeOt?i`-pR2V(Wk3WmaCCuXOk_#hJgJ^YtgDycY6)KAnSqQ|sZq1Jciv z{+n$l?{#wAu2G!#e0S+Lepzwe`(}SXsyO{3IBx&0IO7X({0lF&-{t){jzdFn#?LvR z-+hyhg|Ki;9Qq`rMb>@?ZSAcjJjGycYy*7FYFF**3xTAugrIWG@?h1UN8 z+kURc8-U07&#SdO?}Kxk|4?!I&tInP`486rR$KpViXVQZ{Vx6MC{Ir-&N$C(=bIGg zeNXbG&nX_-Vb1;Uwto7hvz^ZY{v_~2p0ga$_S~Z78Atk3#s5@s#u;Ee|496oY`=&< z<5fDIs{cPz>*)aBrGNK-eqPJd@0#QGX2o9|==q;eocEzv{yxR&uL8DX{yg{9wmppR z&G9_0IOA#T((*4?ocExK|GwhPlg@g+qWJT!wBtbhpMb~c=YrSR_An0B0sZc*;=I?n ztoSQ{3*S5c5thGkJ$_Wn^L{12`>rWI9_bG2toN=q>^t&Ge9&7(UXnDpb zd7qa5<=5Kp-tjEk&hOdb7})(fi}QXK=j*kKzwcUGaF^EeDVG18EL}bFCR-2vH(1Y$ zi0cPA?|-Z~&yhJk-&UOQK=|Ds`{g*_7zZx=@b)uH|3(di!0TM^o887H!E&ne$^*{R8;`A^L+{kgYlXDziqWF5vj{myW|3<~{8_KTV zDJWV}594XDp0?tQUo@umyk7Bj>SKz37Wf7FcmLUc?2epZvSx^yj%m>v_s=*z)w_<-9Z$=Y8sBEq|Bd;rYcA zZn5i&`999q@)h9HU;0^bopylBK7!}(9K*M3dB&3*)_T6FIQ_lZ&L_Ru)=z&_(qUV1 z`lns0_1va-cpmyUiZd<^>wnl=Z2h4gJEb`9lTK;E^#Tl29{e8dU^p7IH`X|ND56+d&y){ms7Xg>~Vmwu@-+9HEe}v=n z^QN9392mIpT+_~59&9`CF;iYU)}1DL4Ef0x5el22F2+Q$?twx@wu8EpIutd z*A!=*4c1@$OQ4ldR`v#d#m?xR!s~du(~$M|g+gH!05hP3-Sy z6sI3lN6Y{8du=_8OU7}yNpZ%%8q@NB3_RAaujb%S`t5l6A>gvEd9RA&JgqqWtGQlY znp4kjYI(--;JAHEao!i>d_ACeXjd70U%Z_sfJ-}>A7@U-;oXYU&-Q@gKk_@aJn!QZ zKdd964m>uV|ET2|--+d){eD|N@9lDaU!wT)0(t#u#TkENP}_OY2W&mOpT+v; z6lWaBVJ-h&#lv;_WyS9pwEXr4-&ZvJ}3c`u%H z_#wr4zvf=8|Jfgm&--i+ege4AA>-j(s`b2Eao+1^J3pcLYnCnlzg){dpg7}4k)E%< z&DI~%$<2z>Uz+^t2mYrm&wF9)?~{PX==q?Q=e<|zd%vJK?{To6cN70v+x|Cd`@f|) z{nBqz{PgeJ_Pp{twmj?kh~lAL@%xH1zUwZn=ZPP(^)Ox{>zM~0>sM3Dhx*JfD9(Ey zoR<$O&Um35hx-)|?V``P-L@z6^I1`x@nhNk8-d5#`5rCLcw(ggbN|5B&$y;sM^`J( z`#~)Kdf>78KcwXu-eU)cvGCm*C`(Q*FEY_b^L$PewX7p1YGPY zUsb!x`C9+FmScryuwwTK>Y1=zInHou2?McEVeJ#LBz7wfxJqJmcVT-0o7G zc{DE7@{js6TR-o~vV2`}=Ji|G@~>5#aecq6_!ktvqG;Pgeg4QtZT-AoPkMfp;*3Yf z@BW$MjMF=;^?zRR3uo;(W4O$p$K7eiVeC=%yB)>;s?O27L_#d%+b^ZvMx+4>omp6#zF z&U=f*8;Uco-KVwwe^#7vKiHmUf85s3`+ApY`9Dycag|yATZ)J4<%xG`J3pSK|0%_p z4}#--Qt{Bgks|b{=4FgGtY7OGsVMmx^w>A*28!m&(!)$iZhQ4 z$Nxsf83&&A-=#S3uMvODCvE-Alkys^|60WvXKYyUS18W>1swn1R-ExINpJtGIP+HQ z(s~|xxBYIY7oAl6@QR%m*7F9%nIB-nJK%um7kKdJcGdu=`BSI@r3ewXpFpLvc} z^cQh{UH~rZk#Wgb&np#Y+!c=h?<+p`b^Bem=g0rj*2DN?tmoy5GfoBR=bsg4{@E#Q z=7smh+c^td+8O#OEi2BvJe;q0D89bS@*lmnH1KJ~8J}cWzx(vRvh_1g5!=6@_~pUA z>BGQ<&%aOkTje}k(RrVedbT4WmdW4enE+@$3h$849D`MBbtU(o%E zhkEHV{u`EJ1Xy~jVb=Gz+>a^h`+Yq<$X`qbG71(`?0L`+^RU^dG1pDUd2Oyyr+N0)_>EC zrRNuG`I6#{%XhKj?@)Z;DYn1#*ZrvCp}qIJitqXvTR+$1bN)vA^+y&b-6o1Nug$Ic z-CGq8{hdCeIOE)2s^uU2SzCX2E_NmG*f`gLU!d>$KeuQ-yqC>(eqZs>p8TB8+3zwR zG23%gapoPqNk8&h;IfY9)L-R%#qZSe%;UC8@oy>~j{hS*Z@(L!OTJL?aDIP9ao*Qv zzy45h#?vGIO~pgMktck?emC6bK1XrJF=jn)Qk?N*F42Ddwc?BuMS33oqOCu?FYrR( zv3Y!>mJjV4A5olnv`NqZqB!FiR0iyyu`k*0GQZC*#g8h^dz3Fz{I3-c{g)2>t%&_9ynlO;`QjD&-R~>TIEU09p8j|7diDYrITHGveq3?p`Qp6% zhvJL}NPf8ZWn0hpR4z#06=z-~j>8v#$Hw#Dv^?W1v7Wtuuj3P(zsxGmxI-On|H~8~3+^fWmf`~+wDZOB zeE2`u`Wg4*fYvjjc&JyrMe!??KQCzc4=WztANd;bZ`kiHYx)23Rr}p=J-!9_qqU6x z^C>OQ`~IZQfv?$m!t;X56lb0+maizzye-6EtvKU>T&5qtLvh9#>suMnjQaj?boE@ zjAu@I{#C^pXM^K&r{c^Df2r2tS3_mY-1kd%8~Nw6SZ7-x%28UqSq(cHC~&@^>rF_}GJrUv!`SF7p}fQhZYJ z@Sbc#amE#Vo|bzVo&+aAX4Bt5@KamH2P_`gT-`>wS8 z?Pxt8QJis}Z&&<9|HsxJ+LJ%7IP<&lyZ0&1c!T`z?r+(87|d$c^`8ZBt~^S>?p>IVk~&p+27_nv1TOaK>t#r!gC=Z%Upj{xhxTk*S^+4cS( ziZkEPh5Fs+{=2O|yl=InIP;YZYx&PA9_}}H-EZp&{mNz)56{^fiidLH-HJ1xCfoV< ztp9gyzlcBKJ8?c=1uo-um)aRF*7pBwPWfB4Jo8?${Jn}ZUNPzFJBl-32Fw5GckOq> z^O`BenKyGz+jBzk&>r#%#l!m)e-2#eit#RUh3F@$h{AFM-F_-8Zy6t`*=6nT13C3P z{b9Bq#&7Rv`I_Qy4D7dWQk?l=S^p;$XI!{3t>-B}XzORZDayfDDIVVAd%NPH9(b4H zj3>!;^gYGH^XsvP+wX?=I$y0gW&QUd9w>-Up6nQ}OWr;O{8T__3U?hde4y zS2Mtcu9$b2eES!2%Kw&@591eo82B#jyZ`e!EzkJCH|oP5g9EdCm-(0Z?wsQHt6bpt z+@N?E=iw&BnXm8)t^ZSsGY%)~nSZqX?y0xi`6Yk&pyJGTLpr%namGz0-?-v2ww^0= zzKAEl#m>NZZp7c9<(cQ2{r!mIp?&Ntiih{MF8m?;UB(+HpZqDs8Q-4x`xR&WJ<`Kt zFSPZ9eqvL=V|=Nm>Eg#0q zs$XR5VIBnXjSnau>W9z1*p?6Pr`Hr`{s@lGuPGkx3;tN~kdOVq<81xRb2qI0x)ykB ze%o3;ykGMh#MLjFboE8WnXipu^^X0B{qD`Hc0AesHz*#)bNG?R+wvhF*su7Q(hukH zTE#>EsP`(){NoxnW#Gw|*!r0-fbE}DJhVd|Q=EBw+5Ve}|BdYz>HKe5zs3h({Xg=f z_PfkS$?>l#9_p*VqWEnZ_v3t>udgZo?w8x|lK-Fk1Y1Aj%#*MFq~gqfK|1_R#Tl=d z?fi)+YCG?-^%H-q;>?@O{@$y27{}&*#hL%~#dg^Yyn0uh-aZFh)*bWKaeg2FB#XaN z=bhvK6N)qc&Q0go0s3{t@4eBspZxqYiZhNk+yCq*+xi)Qn|%JL;-UTgrHY65zTd1k z^MY~Q{#^0l>vX=fo!?bF^j}^3G25OCg8Qc*R6M*VevjhJW61A5=2BbFfjhJF_=}1& zFBQk(PZVc9O48>uo?`1^esju;j^fP6S|NQZetV!dKJuyYc^@=5`~mbF^9HSF4Y<(5 z1;1h2zf1Ao$f@T;T0Ybh{y}l(BOB9trhh!%p5wsfyWu|W4T>}W1?ljvoO(X5<->jM zxtH1c!~1td#m7_+AsxO=@nOBEO#IxZ*?K}h)yD&m@$+YCdFE4N``e07)$KT6uH*AI z#hI^)bajv7_kZ7(XM4V4J{L`Lp+Zo=IT2*}D8J00%`(yt6o#HqCw`~27eTL4< zUs#;&Kdw0Qsga)FuQ>BN6CZ#hfz0oh13$Vk#hG7kO2^@M6%XUEJ?&XqkJ2aW|0%`8 zc#_vC&UnkztAA7R@Vx#m#Y6so$!`1I&~Iu~apuS2`239G%)583_Ulu`^}KJF;#1E) zXF&Ws?+fnFt^=2G3-=vwS3Hc1_+7;>euACff7SXQI~b?WX8@P_nNO2)>L(Nr@2Q;x zF7`~uLmt-p->c=rbKZ|B9{PKH8+dHJ3>R#B!uuvI;IZ<*q~$~T_$P{o^7^xiGtVs7 z-6ci)UFJz4T`egdj^_&%5A9m-QJi@hxK95`@i1=fV}|T^nQw^e_o(7wT(93(JoLl- zE^yiJFmCpk&P#FF)*t#ItSWwaATK_vIP(}%pIjV?kN=B+3;l$0?SqPk{#W-Xev8@z zNk5m3+IpCusH5#)Qap@H`C7#pznb&)w~8|_A@#K3J+^-4q2@aMMa9E=6Yo+yj3@lJ ziZeeW*p&Hm{g|!){5M-Zd7HNXQ;IVmD8Ku-aa*48^V$9h#l!Q9qlz;QJn8D4ir=bo ziu~=($b6w3#6@~q2k{b4-7Ur?NJ=GmU#QT+Uh?bmB`UcRJw7-#i6iiiC0q0f!e z|C50W{a>a5L9f;N2bNl$#_s08rKbj#YAY+r_4V3y$JWvt2LEAFS5OOQqfGwN__$Vc^nb6dW!jNxM_)G?tRaTBFmbtu$VMe>K;V+S+om zTyJ+;8%yTjgN?@SrRG|@v)*d1?=B1$2a^4j*}W4LRIqU*DJSbIwa(FIYc;90m+EWF zOS_lW*YSmGW(uR>qe@|Pf4wu=Y}IErR`;G>IK5sk&CL{#)(b;(sAV5&DX$%Ewo6A! zg<_KITb!9(D9_Fy%&ydTu)D&-h`c9XpD-VvER0UpR+bjpOUL)FG?%WMYOIz{oH()V z+J?~FYIEsOz17CplumBDBCp?v>PwwwYx{K-i)d7(ab#k>aaFT*U3I;-RIfH(P>+TjR91lKJ2BpQTjnc|UWnyosl2qp^<%Q&6 z>FSaYc=zWkg<&l?JDHSc_RZ#&%T#!1qLNpzSg;jN&d!&T$(e;@qAY*SD_$52icc=? z?Yr!u(xfSiMNlb>RMCY)rTMB5eRW~pJt+=OloQjO>C*J<{ME_)#6qd+9v6yyT%Ggk z8=st8OeQBL57?%gPYg~~C-C;n)a`bL&s58k$<)HtbERZ@Vos(ynVFbQ8(rMP?nR2b%7zO5hkKPQ z3{6xjiJi34%#^EvgoM$NM%eL<5!{e{*Y8fGSW$~r56sRlB;M4@2lpT9lc9C9ph2+X zll4{yi?n~fxLGyQp6)(uiC2W}`p>H_pYaSGBTo`Rqw}zZhHjzet&C@Jl+98(raakk z%%RSzO!n4hY13MZgKjwVyE-aowC%ZHIm5j%W3nt=5y}jn&oDc*Xmd(YP{2lWVG-N@0Ax zQD3TG-#}xH!X+9Q=3E{PLECFCp$jd%cg%vLjbm%jr0|cK@gzC6wvjBII#nq`v0JVm zt!=Dy648K?_2x=r>9pl>$Lf{hQ1!qB7%fD={!&tzy{a^yRLaxk1y`a_Se!XHGkeuc zGF4U?f%gg{9-7Q7dQXP<#MGSDQzVXW9ZccE)Z+B?)k(H+v3T87ty2??P;{BSjn3@R zqwRVpeQoqQfKVG}kIt^u_nz+5(?`SdXyJIPZt%8wFxFh}G*%jG$0|d^$Dk4~Z$L}h zSap9{Fc0OMLMFj0!+VY;_U&a9==t{X`pSB}CGTUN#*(Dbl=@^+iZW`&{qqxZ2aa-wnc0P8@_@{c_s+O|Ha9UpF%4-A{iU2f9UA1DQ>Emp z^1^}HMN~06Q(ZvOxy5vLp*@-w&CH_UOsO=L%$MdSyfzfICjCNEo=>Jq``lm;4b9HE z56H8Lg$X0Mp+A6><`*j}x6z&Au-{~9(d<4;c&<7Yfm)Ny&Xq*1=^8ApWo8jVdyYzx zjFyfF-kqGgy6d&{X|=QvJ}nk()21gD4nRe!gwG3O_W8urR5A-WzfV?*n^k={y;$jf z$N`>jZmcaYt|zk))kjyF*Soiih1of?tFd30Uz|y%F&XZ8VN9P-l@66BONorGdsr;$ z!_wi>WKsq3h^pujf~(yW&?>y=u6FbM%Gte{mov4OtI1-ubYPO2qRc4UZr;`chf*>u zjQh=#b)Ttz(0@8NJLRc)QaMP=42(8?t}=Udc4&%w{1T@6g^9ftkPMcW8zZc)lBn!Z ze)m--_B(ti^ZC-@h0^>?GFMsLU&asUz!l6kq%>nb0j@QdmdK2QJPK;)eqLQD^?W}= z1KDvl^~*v_zn_^X^Sm-~bxAi2GM1T%@VbD-ymv7jlkAAv4@rUSxCbL=2c$eRiS5DO z#d0N`|Dj=jg1i!T8>p9P7OXZ9!i=H_N+u%EP_-n{(Yobts{zwv4P*=fwoLRu*Ncy_uEOiqFy`IMU_ z$ccs7X>6D>C9-2VRjwMEoiAYlPbGHGn2u$pRXUankWex{(zNOFH4`#1?v3Jz-`T0F zu{%QpvVvtOOOjefrVG+1Ag63~AZ%M#)hY#nh#1P0*5+d7uTCIQAlee}=#=oYq-t5L zp&4|mgcs62WhPL&jqR>zM`qdf|~P8H|oWkCLp?jzxLa)Q1f)_WT)QbtELRF0rNa zI#n1~BAl$0Ccr&sE9FURpAoI6II8dY#MD)2unNrqWTa(-I)>Q6eWi(oMPW1(7>fDQ zzWEZS2s}TXBNCofcPiz5rOB(&E>~bUGt-sX{bdpODjFv%i{Q+n<3z+wW}yTxdNMW3 zY-LcT`tJI&l$~cEz~lyi%#j@GP|@)riGShlpkj4G{b5qr=eYzOZ$>?%3!l! zb0y|rx=6p4;i;~SZF^cOBLh(Cs@eI27-9conHfooWZGQdx))oJ7>3*z9Br6|Ep{?! z#MP^3CX;ZHXSqS?PzlDoXu(3JYjf3%+LG;%5=?5@5{l2f?kOf2-V~IYh2mn>mu#ub z;COXaN*+hf7D}ti6ynM-y~>q34yrLhtw+MMyOPE z^czfHhJ$ci(uI_2@KtdC!;t;cvkN8A0ytO#Q-L`kfoLGj3~}iiK2gQWo?0|2t-Rdb z0Vj;9h8VFu3)UYoiWNp-kvrNrw$Z95VpwXfRSM8wjNtJYYOGk{KxtwsXltz8*u*%T zNRrLUje?yV5^Il$oy`gl?}N>&Bmyk6%p>0~7NFae_ri`Ob`c@C%`3^Un7qd-IFbv94eCjW2J|yV1Cdtq-)-O zGFEhOVSWNabCY6YVy)VwOkosT3$dt8AKd)A#leNWPzX{Z%;vREO&xS+q?#?befc>=PDT?8mZfC_hI#u?Le{* zr>*kRW|T1`hC0{!Uac9PSX`J*AQ`jU@<>Aph2YdujM}ks#Y5%!g+)xdFNGro$ITh` zCWQ((>^9|kbJp=nL2W<1Iyr13 z?)3OZVT{`|80jZ*FyI+3BjZ&VuTC7o`kgOBamMf(jjvbr%v;L!e`eBDSgA85Qv)THy>V*qe}Uam*N9lKt4~Ec8ZHGb$4Ypr4J1F*%tC9ozhI;bX(McE&V2ry4n+PH5UZYnWA(e<^A~_ln)oVhr z3Dz;sYEQ8~_A<&u$`^ZDU?MLRMy$~sgt$4O5C7!i1ojJJ#obJo8Mj6EmM5xiV0w+o z&{PQ~n`x-QRTz+Zl}txZ20XQBMmkp8U>9#kjJBkL9UGIP4_hXXG&I zimykUf@U9hN)C>pjoflOGPmMTU0m70Xm_hNl`cgFJ;+mAD!r8yyqTwx;M?5_h#bN9 zRyWYg9OVLMo;_3vdxF+Walm9m)dYonuw?_SY$Cp z1#3z?{jzNVuY>&rhve31k9#kZ(qn$>=Ak6%~s{2*(^piiYIt;uUAU>ME5X zG-uHEi=ow?QkhPKwQb>P#uZ}RDmxkbU{TBki?C@NC{3nLEn*FUD9<%3%CUX;+}Dag z`o_2i(++f?teTg$QW>1(9_bRu)#0!@@Y#sQ=FeYNFoJ5Prz$vX!O6W?%>tG^274Fm zQ}$TCg4U|Htuf+?ik0`Gur2d!aSj`%?2ZhrF-!^W6bt2y&WB;~xJz&@2>F(yV}eBb z(I~+qu7n{?r!5`N9IXyKk>r^Jv2cavq3?m#ph9J= zm$^C^SbJ100ujVDF)YR&dKa8`Hr0nl%z+BWV7$?Cwy~&P*e?*18vgVAdG|}nstZqt z{O6-Em{QyrLW;DtID$f!$|k0+gg&1@nF5JJ0>?^Al`5S3Do#$F@2cQ6Se2;AcMD_e z$KDCqH~Os3s~{~_o`&a3Zm}Y3!-?^ga16LMtB8M32zN>S(fb;?6ptui$!z}|8Wmd?-fg16*F*n z1$%0lez}4!1z&aYpXaGSUYX6b9k1wERrHK8x*>3&9d$@^8;g{S*x$uhiP&52eLm3?)#*XBZPS(c?i00u5{JbI& z<-~7Du88*v^(XAT7xK(Tevy1p@0W@QegAQ;{_GX%LlO5%lRm}hY$RWldFLtTenq`( zMSi(FlTT14x>fSa#FZ1TL?1`qe(Bza-(JbQV{os?CP(&u$vzJ6z2bSQmtUlp5|$~4 z1(oOE;Fn7$Kdae$Wj0ss{KE40BO8qs+?K$N&-L~7W()TqRMm4kasQ1myn)N6?S5Y< z4C{Rhd$j86tnBG_kUy5xTdihmt(k<+Mnfn2(X?#%Xas&D;*4G`{p2FdZpOqX_bdi+ zbpoxHixaSZ2vWdRj-=D{p~2cR8cGD-ZWHj=EX~iuGy;`N&X1gbJ}L>H8%0JO{N)s1 zo)2Z;H_wfo-)_Lv58sp=&V0!$S)M|5=0<>&8!qIPGkimIN56P}1H>=MFF8DzS22ch z5tU||F|?<x`bE3)0o7KZ=Rer#L4(HM%?o$Aqk z;bOM%M0rlcm}uOk>A8igrLDM)=+Cz)BJ)`~40E*UOm>t^0qL^;ouQ#jC0N@F6IFY< zohddF7K0}p4yBB(DpRnSDL7ZzKfQmxi-3Zrn*$mlL`OLRE!$nR|2#W9Jp1&k7|Qlu zy*rJ+sX3H4Ba|g%=Pl~r|B!M4A*2FwIvM4#cJnzDyWNoMf1VYvwik zc1o$HCE1BEOD`=Ui+-VOTn;R!F|S0{wRuH-qN49)2PXZDp^oSqd0$aNiM#fHzV$r*dh1J*5=N(obiH^EBNmRp;L-U1SzG0dhp ziZsu>QLtPK1fMD3z08`$hGSm#*27isk%H}uPrPdVx6H0Rd=>ME*@?Ysj78IB+ysJ$ z=ETCneAr}DKpyzZ)Ms@3xUsj|V@9dNpBffP?=Yn0e5S#2b{@-yx%*s4PMF~^FNeIA z)J$VNhHm?5UN?_C`hvF=WrwUXIE9BL>{mni=F_Mx5suc7*8pv~T$;l+5sp*B{mpQA zlWYs=<~LKy@2o8)k5xvQ_Ik4}Y#+xp+3)zxMFA@Vv)}NzFiLFJ3=}c5pRL2|4GPG! zeY1-*cEY^XglA^KrhLsGti_q?A}+|lM|{fM1T@_-z4X|UikZykecfO${En=53^XVy zHDB5fQHtA4wl!W=%G5Hg^@T*Hs)>qF3}Pi@svGk7kyaNk7$a+{Ibj!-D?sAFS+;DV zKU91{s0V)1?%Xosq6h--F5?lWF(%`Pwz79(654{j(qbCp^-3GFPdrAj&ces$1NQ2L zs3zvIM^M%rF1)0=u(;POQd7iZp8Mx#7cI%)W~F)PO;P#~Zo}3oIHLj!2T9zBFV2|v zJz_M^rHybk3+pxvs>i$Lx%aM5s;1u9JoziuHf~O0ZOp(MdeZdH*Lod)!|~MYoFxbG zNA1lGXQ4%k6<_)@;UFNW(5@^Vs79?6}pzOcTAQ)bive7QDU}h4S{#==#mDaIXg` zXZ2`{-*J8QbPcZ?ycOhiH*AxcOR!+vNR}2kMrC^DwFw?P^I|I(r)hf?zPsh zwKH}U9TG?G@;*~^WOjY3e$+%KDox_}sydkDe5X2;z$xHlsf0x+AF6f=!-))!372)G z)Q2ghUsLj*-7fF>z&hyYg~0WDV2`QA2gq;cJ?6D)%CU3 zaz9lH3zf!=w(6@*1i@&DX`{ZjR4+@V!yO5}b;jCX7(x3@zzx&%X3Kn}baKAh8BZqG zPA3vbAsw(i>3|(az_FEjt9u$Yor2Q1`R2*ybtcA{{~^qgcJ0i3$;4CB=|p%Y?^6h_ zwkN?Tk0lzi1%|PD%Y;(1E$B&TI0pTHOlUG@ORajXW67X9Ed)Tptp`Mj zTkDjMRE`v^BitDwcdVG{#dAM)o3Rtn~i0h)0axpJ^ULT zmk>)0yo@R8fV^E>>TSeUDK88rS5B=j6!3~&N(ie}DwRe~)>by^CHaSiXRG^?srA|F zej&((KGvXo>g{%Ut`9~cHyKXaI?e!F>Ph#bJ?K6&on9CE>H)Z&bOFPT zU^ZayEp)zlw0y9SmvPf&zB(df?J>*wK3?p>Ek`()woOBh6dH&LWM_2T#g&0ksXyw( zPCx_)$*S2oUT@8Usz5BDsxvo(U5pt^O@vAwYu>pmv%x1NgkET6Mp1m;a1m#T@nk`%}E)gv!&>sVLZ>4iIs$-o>ddcb7dJT zFd0sUCBSH6{D$EYIVCYUlZEL?{$0Xfxteg5RATPf%gqBuFF@)2GmA+H9%XWuD>*O) zJ5^GvwU&;L4tGcCLJ+HV6R_w8UOCg4VerG}L!DU}n7V2=w3^+Bes$_p0q z^rw@E(&dN6Dh#dFuTNYMt#Y+pnktr*PmZ265jg=OPAZ;2{}VAVD(Z|0j4CHW2oomH zF!h6GaT?`zWb!z|N5RRr-kGz448kHQ79@<-vgoaiwTua-)c#vp_Qn3R5c zq_csrV&yC651znh3#Hj=QJ4N$GJhoLAf#0pBCXmPUavJ;<%7^|SEX%(NwvO$Ru`mI zSk0-LUl>H2T63M&LlrngK|9N$4H%6; zwQV$MY-24Quw@9)_0wp2w#GTMzXTo!-Us1f*t8eBtgAI{7g9+1YZ|w!RN7XZR%9x>*6~AG{q~e8AD`E<< zMUYZ9wl4Grd>CVp5m!>t4%>llZPE^*rTOZZbR6Hu%r>A+nK*HX7FR#kY;h7sCAe;_ zW3-~eh%41;)f%0)Xg=V~;j7X+Owww7b!q){g3x$ovr|YGglH2Z{VJ=2B~Y)ZT|&P~ zVd=z;RZSpaapjiKg0d|_oLL0bb+Bx?R;B9nrP#a_h7b)dshxsu)|OzmC$u%i#ICMH zHeMKTyHMs%Vwqt4g)Y!6DnvtOBgB3}pK{+E-`A+GEK3t*ZcA<%+Umd=I$c~MT^{(5 z<0oi=e58y`LSe9trD(}-Q?kQ$Qsh+kW(`wAO>#8lJcXfy_10Q_MK{Oe;6Sq*o%M}Q z31f*sfVJcZLL06npn|32S4wo*3s}=_ z`^m$HlcC+ix{h*J^&X7$@p?_f$FOBH!+rC1xh*I7h1}Y9p;O*Fl*(jW#4rx4S7-B}nwB0H@_Uky2 zuto@e%s=+svYW<|YN+JvY592x(_}G^H&(5c4kIV{;u7 z6iPIVT~!QOf|CWPBv5opLPO|fArhH10S~8IfQ>L1Eo4Pm_QZHkt4x;;M!_xeZ7MNl z2E=Ay*3@TWAt86V`4ETJ= z8_Z%zpzuQ1HIj7h;0iQ&+eFZ{UC_Ux;Q?xN;QuvN%0KmUs(1ci38$f(Xkw6T?T3=Tw zpHCiU{q4YxkgtRqWhP7JJ(fjw?UlwdFRop`8qpa!qvh?07df42tigXdhT>3^BqgM2$@Kh>@Wqb?UN;$FZP3>lP21~w(y?IaxrWU)*b*otLQxM{Y6g?Zf z=s2lOfvlm2n2V5VhU~Jc;2gvzHxt>7CDcstQ8BuBd?;19(TyIw2UFnl9>=+`@5KLY zzJ<-vFJ#R{H3pbJRACS!Ms{1Zg7v)u4LGuaQg4EcDWfm~6}Y?xQ-(9Cf^DQ4FwCbo zA2MT>zi^!nkJjWHCaI0Y%#wX2n;Jq>HJjB$jrk3 zeGXJL8L1lQ3vZA_LAD2{BW6@pL9TWnR8PSsExrX{oRrwT87Gt{Y-S-jayWvn`z!(Y z3rO?^*?pumBHJ(;n)4?#;DBTlyyPKpH{vJYtfJ~gKQxWOcBbT$vb9D zhPK6Rp8aoa%aB!9V=O8xncz(*6V|EoW zjCgxvw=Z^7BTJalEY-YZF@fvnskBDIM>X2sGcYbQuxxx|HrZ*TS)odj<@2KYW(mXS zuZ2qONPT5uZTVpRv=K_8s**gw3|wE&#KF(lb@kKOlj0~yo08TpazIT!(5$;jAHj~& z#COoNvqo97Ik84rZ2pAGfw*%fbAIiKEjixmUs?s^!)9h|`f8!cU;mNmf%NhXA#K?) zTZxu2l6o`HpR}a9i|UMpw1;xAQi@ra$v9L}g1w^kF`0lbs3n(EXBe_I*MY5W&0M!9 zG}i?KpXIqS$3m)UA)j-*NkYpVjrF}+tyqaJS8s-4EJebjRk$TN<7NB=$2+WnU{i_X z?@FwaLah&{gPUrPz4ca1fDVt&K#po@ckG-(H%@0_r5guAv5wBjreDovl4jDdAdG=A z0-Jv!!C%4UF%$Wvo@*vK=bR_ku&~?M-6mmnPK(W&IJmVHsev}+v`gFAb|}L%tVWWT z!to5}wc#1ExOK%3Fh`afN7cnKF&tb>ZutM6Mmx))J=-@~aVjSwXP7Kxw5WCLv4oj= zM^s#%Mhpq%nSu9rc;bn+f(%|b9>h7&k&UBnpJ5KcN}~{qAWZXOwbO?Y&aNRiBibHy z8%>2m&%U`F})!F*B0KNy0bNxsDl1j6p-? z=YQ6)QsGUtc`J3!3NJB=B2re#S%74*iXLD>-sfxr=x1_{fjpsgj#5M5HT)h8FBh3)utCl!>7+lv8pHPiKskdZ6jieUc-;N~RZMSh^SSa{> zQeBVnZL0LXP;we{0ldYTaIpmKVTr7j@!9o>PN#*ND8qZ3&6Uy-(4y!VjkSoSrq?&n zF$`Px9zs-j_eCiYBXU^l(rt?P0T_Z#JEh#jU*vYp7DlULyMq$OGwjmbz7u+DDCb&_ z+KP8Z#p2|=smo1jm)@Fjnf=5>V9|;RHKib#Q_vBMSVLXBr$)UtCO9`Zp%pWt6t**( zU`qMLp-Jy3XQkGrhfQIOyfu9;Ty}0BraR-2R!w{*?4(SDS!&6u?*@?F1&U9A-Q=30 zzVBVOpdk*S%H(L*mu9&Eg2aaoBJT1K_rk%Bn} zGj0J3J66!Kx_j?bZPPR32XfAyJam({HwacrsMm~TpF_yj6xB|!FzojXW8GwvHiIXt#3Y}M{?H)T2Sa%#-*Q(Qz z#uDVTZ`X~xYZ}I^u+{~YGKUimSd3NQ!zu zGF@NYdp!h?7!wL|Vgf*%o=Wp7TA+RQTrpYZf>S8)A?t90wgnFzGxij!C})*ZF1cQ$ zyYq+*bcE&*O^;p}PCFz%&G}stBg>GyEq>R=MB)g%xza8*!kt7_&`uYcr^rXRYN{=5 zO}vqM`l5hzUm=XZjdYLO5PBk|Hy`wB*Nn_ss{G~dx}mC2IZIa(xIrI0i*56WAa~pE z>+G9;IUEjR%5y?cOlWqomTlZ+vuX`Ad$Vf_ zo#QvEMi=U9Z5XpdCgN>Q`(p}S5|oOJF@^DLP8x0*`f5HskUSoVIFf$3$V_#Wh&Z%>;?Klxyn6K@A{~nx?2>#}EG7CFdq(8KTGP z3I!2{we{K(?n0;xO?9>?`MAc42c>lzG#-OsS*n@3$OqkF8I&nz&K0rw>hoZ6p}JEB z(U)=^871tAWyfdq1*7idNy`)A^}uw&8k?6-BQlc4kwT^&Y$;h#UnaTyMIIHr-+M~( zREp%-YI6-1&>FnK?BPO}#s!(_Nos2CJ&wCA>&bNvRL?*miC!zlTg}#SnG(<*yQDS@ zUgl9hnvqGIh;MZ2a#SX&SwYlPvomjtG0w`Nyd4ci^QHn=CdOyc`tf4b+LDci3Hy#FL$+}Q=t0{qs>~s|0M&BO`9jfC% zz_hNf9e^}NU8Jmd(s#H1;p~+!u^yx<;Wl=Fq2+G7dZwj)NNAq^dn_iMxub_l@ zN69@7U%F3^afKNF-^c0kme_3O2!?yYd@dK|+3rO7tcx^U>9Qw9Y9`2UXoMev>>@l^ z3TAcPxEDuhScINq7tuQsq%_0umu+E4N!+DfOp&B##$_rP1~9zU-8EieLMi)I}3 z9*~4xs=@p>2yVSHhYMA>Wr>5uVIeHLZk()i&GVFPaty6m7HL#dj|@HAW+h=pX&>r) zFDUv&buX`}z`uS({Og^L4|_NikFs6?KLHb&v~b9TG)S+(6EbEpL5J`hCdBV)SAE8hls z3`}%*aoTBRi(n<)JpT%e0{0eT5dG3qF-Rw=XMud8k$0!XSsBG)fs2>-W3;d zz6-OFSn4VY7`tO*Pj zupS{#QhS)NGkBqy2{Y_Z%pQ>=%68WGz1rR*9;`UJHLE`~k#;kW!Vs7TxJ7NnH#--J zWbDr5zjVFKIW{$SF|4mmx(sy9)Q_f%CDlm5rpSZOn0xIR(u%+~gKk5%MsM-i9_LO| zx)s1g;?yp6(GZu)skPomQBcirXxnJRfk&l$u45ts?4%qMl!?!|k;bVS;@OF;$#F*t z2}a4#+)-00yp4l@Y7D3?UAfV77vFu%wR+pvvTW?Wt@-Z@=SXe3u|rKrdhY^H+Db6O zl#I6*d&oGGsTwc4^gORIY$akX)8khE)Gd0Jlr2?l(*?sXmKQr-hod0(&seET{q~)W|`U@ zOsWIhSYM*hWn*YbJdubv^fkVWVDt&Jzh-e%xukO#rdW*SYKOZVri5wociz|oEp@9XH*3mfqs#_ zp(uf7GG;tzJ$g$KU(c%Yh5lP^T*91=&gm1>`deYdo#i|*Lby5hB4MRPgn3YFQM+VT z%_~YwJI_p7I@NJ@zwUGLVv&0_Jtyal0(Z?o@iI;(Y?I;KejH(FmxW1cKw2xP-EBOX zwwQNXWG;tIH` zr^AbOx{W(=J>Ax=(K)6f#Ey8=dEAajja)(rbR&>lc+$-NTRT!DYC$kweNY!R8!ozl z`tX;rHeiDufpd@-+y!T*-1nogIHajSp-J0Nlbp6c5g0v>mlzvh! zYj@?b^-9ZLdYH7Mxs~nPO8qEUYn<1aEfd4G8AGIr!Rgr{qr=R}w+2q^c=D_7aZZQ3 z_-3y~i#+Zb_;IFE*6H&zFc)LfL4We4CpFa^shn@T{qR(^vb|a$-YPE65nzs_q^!B7nRnVk4eTj zJ<_*v8XH4zQwzfwE}ePCX<7F;`vHS-&JY@uR?P7wQ6}v(qf^Qbr@uo9FsYJ;uthX4 zdg!F2)}Mq0kASmADo_$7TcH*)tS%z`m1>JWpu11a;x{EpCWNeFpA5OmX zgXNh@<+hx%yu({{Uh6u(g(T|^lZ!JFIf-ymzo!fXiFSpI z1d)W|#oGr{sz8Nwdo3A`!r<)sT&-1Gg$Ds=B((wh`n1#_25X@OLkc-p8TNn^StD?I zmqF@DwJoWE>a7hhmfljA6C>PJm%Gvklba19DQ7|^ili}GNpH(*%dk6WpzOnK8(-3f zPm_PiA(gtB_qFlI=tFOf1UlR58t!%Dy4qQ38>`6@A^`LH7(yhYyM-aB1&yTy>mK`` z)$)=Ykl|qM;8I|y^!%LCLDEpmy_}wc(D!M#wxKi{g-PL|Mz?{UEMc87pQ$0Dy#NfxVMKw;%zP=^FzO&pJwp~LH?%>p%fNY)M-2O#~v1{|_ zj%V4ov%C|7(Nbgzgu5PQMDjv}g1SB2zP`2&#vBWZ9ou_y%^6%Vk zB6jb36qzX+YtFsa>{e0>JZ)(BOn=+OWj)&V#aVwcRc@hrAppBN#*hvXw{3S%w&(uB zPDq}C&FJr`iXqoX+#ox)mEIr5@ki}seWAH`LqhPBP+ThT&tZ2My~%S1+}>E`%WoUJ z$Zu<)p#-wiD8<=}o(CgdDE0)URZm^Yd)X|>J}tMg^ckNUo`~D6x^W|y^dGPZxi9tN z7%?fGdMiO>Gmp-eDq-`jo!Bi`g>&qN!ss#wjdGPEz3~@W$z2A9eZcg$+aI9y6s0{l&U$ijkaRevlEF{rWf6J9(8O;Iu3eA(T?k8roNP!JGdYR8EhfR)CiHAo)J=l5jy0NXGx@`EI4cT$V29|jb&IMs zE*M6-5(|>@$;1UQ?8*xYQrMHiYUcK=PxkIGPWiBO8R@E@SOSj!M7JfJEz7Ii7N$SV z!7zVX3~U~lUJGMqJDz;~EVtEkWHcr~GiKrx%=S9fo9p75X*2`)*?nexdo<2!xnyZ?v>)N>RS(nR z8{dX)h5ez8Amx|PletvSoC|HQAabS&7{%;~BVF%f7dUz?{jSM?6rzO>tBT{d*i)MG3H7BbaU09p95(u~(PHcgmeZWAfnMP2?v*cjxSNObf`&ej zV*x+Ll)Rs#B<@U5q2;{=RaW7&2mK;U`=Q6sc-@Z{Ly;0K3(jMAl$OaVd(ST0?mNRc zt%T~&)BS$TDk%lZL@2WZA$d12gT1s&Q1s$y_jOEID>dSe;n2F{>C1YA#5uiL&~~$f z?yTc&DKnl;RS1QN$><{$Wm0g_WiMN`xM&`ZmZoM5gaiUGpH*|bXX>teKxEI zDXsW98C?c~GaMvf$C=)shj?B}=uhlO3Bm-cI@R673+;IB4g zZx0|thc9KhhtDue)=0;*%QMP@yxEiyDI@KtJ)75|>E8|kyP3pe^)Egcqntn--%hbxblN9VThtsBHL&zPcwFA0J>}ePI}W4uyE+Cb9AFzw5q@47E_j%pe;VG#l ze{07`dA9SQP01wf>lskGp!!9;nY-A$zXkQW964-tgy#20_s+r>QZCb_1ahE3&B8uR z1V%NLdN-K@o!TZMHKgV(Am5$U@t2$c0si8V`FAqWD8p%cBU}-E?7s~Zc5^EEQ zQmtJpfB1UPo^n)71HNaZ2+qUFOoqe#(OewOuV4gUn9w<6WG zI`#ZWn+o+d?(#0qS@!*Wx<%&a%)JsD4F(jyDdAWi!2t;!!wPf^lU3-JIac9MGK zP=7{Q3ARUeXngr|26%E-9;NJl8#@)@+cdqkM-jvorh22y_kU1qOce5tou)h!`4Cp4 zy;k4?F=Ez0G`MAfcrKlK(mZmaj*Ry{S@qcGf$ zb}tQLXW}weDEs&Hk25g;o(7WHgg9vch~)Z?vKPsKv0s!Yls#7jdjjO!h(~cG~Ik3 z6mzPfk>GHzys*cL`2VaVUc#y5nwo|^>+diiy*cG`h`yIGvdC?CS-eBN)cU@qY~5W- zKwE_hEpLi%D_627|DnzUmPb8~i!zlJXIXBYB}EsWT=v#p-m#UTufWvl$tRgXcbk4? z#e}&nAebHWI@oT_%aR7*M95fW#i-9o(_JT$LEU7dkv)XcOyhWO#o1rI<=smUkGKQp zuwYlSPp#Y7Pi5lgIPsN+Z@^$d8I)6DJrgFaS&uDasW->LIwfa)qv|>yTTHk*Z5ETU z>AM0^)z7Nu+3>dgt@g~2#TPmVW@|do))Sisk>BO8s@>Qm_&b^vxE=(@{4N%eFC_wk zH96m%ijhy)Ab#C(<(JuXVX+D+*q4ElVbuL)v5jesuY^eY=G>4hBkL~1YojyWIVEhz zM0kp&Vj93D#iiAC%a1$>idkj!-Q3h_={_aP_LS=(1ABA5zUHd7DcF5uV_-oxXFQ_X zVTEAWyUm=LJ-AzB=}u+)E2}TQ?@?1kQ)&n1ram@}B7%(>FPle39a|hFY$udlue+-e z^F>6In{)%m;J4G|R-$JX-Hx3md5%@@tsAJ}hIzV0s`vCWRA8`qL*+a6M<#{_BV(EK zHCTjF0|jQs-k1OwNYYCH)H}GOvs(CJe)KTFZ(YF9B1{O@AafMuPSSH&1R<;>E zWe$#Ojr8?)Hrvnyf{QSqmmWu@nc2i1sE-@;vDu;ih>!KUCrjf@)|^Of7wdOZKGox} zz`DBmYK<^B?~uzs66i-6M0+f`^uE1jcYbI&M6%m=Z|6>7veG!R1mVASYy}bIO|-B2 za?0Q*yUO8 ze<2?iU!(qfF@R_gy_9>OiM_sj*fo(AjMI0C|a&m7m5r$8`;4Jc`5& z%ebLaTUx5O+g&+$@>`3RbSw0M#Z(&&@!gM)VVM5Hj<(l=%|xXia20bDxcF^*l$0qr zt6avJ$T6@px_tVGo`pemygt<|ow3BJrV<4?*=UQunl)G&jw`8$pf6RsGM$pf;NAg6 z8*A6Ic6(+`dm~sZn(0YMKknWp5O(T8VA_(Ms;%e4u=A6S|271A<`!4{q$Ty0wu!&2 zFI?BL8kS?~*Fdq`Lo-chF)H-W4tYV2!qnSpt{cW2b@y?KQfNc#No#J67{43W_`V1= z-3x)AX9FRsV(PJifOSTgQAX`@mJr_oV+^MKLy}8ILQ!<-)tcE2(NhwmqHO8oP>QLq zx$(+Rk1R>cGQq_2e5?uuL_Dq?S*c5iBda+bboHmZN|VpQ<@YkJHz$p8zmse>Ozo|a zGoda1guA_@XC^2W+4HsoBW&yp4l0J(HAmtScmj>2!3nVowVokI6W^3qhLe7{VQvNxhJ#>is#AuM~q>sVS$l_Y2X^<&KzO{gg^%~x*rbiFKEEgkdw(LC6d z^m^#91c9^8ZE)L5C)N3_6mWcAX&y5U$mZnHN};oTh|tASd1i=XMkFmig}seQ0qpLk z_Pa3!_r;*)Is;4ZdU3#=^&1+0MUvKb9kO}16S%_IVewds7mMpNQSIY#U_-n-)<+_TRc4d4wqmQl|>lf4jfb_TJIyt6V=~ha4j7PtB0td`B=Q$pl?49g)X8!?Sf;GHbEe_IoUqCS1M^104?BpM2jVmJ3CjTSUhHhwG(Bv={^*clz9pY+elWt69%U7O(ZW?EBi1RaBP3TYz#pUceylIsDRCv2%c=X%N6C(3( zEtyxki5Rsfi`+)26?E$%Epzv+kr=A3-S9!#@zq5+=gJRKMiWsR5gY648TUcxP{Kh% z?&0YZ(9zPpos*~GE{0sqY~p0)rd(z-H+#p*`rDhQXS6sTYsAMv&vaR?Z5 z6F%PkxRG>^t@zj6g%R1d3nY|Z;!G*-IY z;$t|^(@XO^k3FXSw6z|C8vujVn%Fxh;JrT&onFFSXADx34faa(W@=s3eRDdTFXZrY zZ@J>ke&J{25;Uj-IxEBoeb1f3*H6}|;_xJ*b9d_L#el5M5MPWL^u_$&Y3K$;aw5`8 zMveuMRh8^7WcBGv^LAfup^E&JG46J?pk*t2Pa(3u5$O`UdTb&S=fvPpRW~b?vgc;5 ziIE5#&UzwL?h<#IPcMY}NtKinq}Pa|kSiYFzGw zjwNT3^`-G@56&r5p&H)-315SL)aCgQRMVr|cB|@NTpaE@f01##*_%4v_=o!tt64%P z0}k~D8ZpAF=yH25L0WlSqFFkAU2<%r)=E9Ecnv1qz4YgZ3?>gZBcm3jK1QN|$DD@R zCFe8Lx2u8%F_~yAc_!YotjWtJS%kb$g1cUeDc>$1NN-9A6EF-QpF(%K>+W%slc#Bt zVw_fIoCl0a$VDuIeqP6kXY+JY+c;%hvS7kN)+mG7R1(g1tOr0=S9EqQ~{?Tv_D`D@9CZoaVjOffVZw^Lk=~3Se zP#^brY1g*lTeG7S@z9zWch7R(VnI^CHde3=TCH0y49Zw?E)OQqkWnj4zo`Q5e0wQZ z-t9$B>?CEYfG|+&HsmWm(y1L2<5lVrB`<6$p(p}v|E$SS?tn{1J(bpd7@e)Gvf?AY zucEo8KYIwaX0jXM&SayO7aUKqlpoRZQb)PmJuN01dx4zbpSb6V5S3{dwu}pOpJOd%FYd7* zy6{g}@nKbS3oysBy6MU{cC*bR)pBD6+m#_%JrIHn7BS?GFEO5hXBMpo`SXW&Hqp>h z@w7U3kSlk)vMyEkBq<_OFj`TNCqQ>5&NtuJ^;E=n#9GZ}s^?`|v`#voKR?0x*?dAx z?o^$owDGc0qUH^vS(R%BTa1&pBRK))CP50(S1i_Xw||%C?8*?xxT`U2Pz4pd_A*-r)SeFEc0}u@p`+P?Y$|ngXDCb; zuX`F%o?V{!J?cSIj(Q+)!tI`;hcm(+-x;BY`M@7r&t1(>TZDB(+Sv`d6_a*{lAbE~ zd@Ck?*nBHGDT<&c7P6773L}g!so^F)cf+0W4sh4rb_@xkDcXihA10S@wii4%sUMy8T0*)XE)(Y|MLI9hA0xP25Y4mr+o)QIePjfy+BmrVPZ zy6ibw0M#v7ZszH8XnjxTAeUA2K&SUCqWIWYTX4+4w8(46vl&2B>sUiO|e}QKJx%ru(9L z{&1$Y!PErpyL`#=Wu78OfYBX5!DMM%#)31uVY6(6?ozb~2R*e;v*j9XVy%`a0#P<| zM4Fym%BE1S6Vf)&vsx=!(?A15NUMOzaa>)x-w;lmcY)r7aYI0om@&dsv|ekp%2+k# z3df*#wJ4^71|Nplz^PszJ`Tp^r&y5TTn+=@mRE5By6awsPjB1M?2JgsW@AU&ZESKw zY+bu5v3kymb}-s2K6zJ)7HpD>h4n^#seXL}m&DR5o1I?1mDt@o?^4e@)26=cp$KBY z-Fs(xN#bbR#jon`UK8y$S>sSDw>DGGiv9R9Rj@5VxG3R4xtDM<&M+GIl^1cqSzx%f zIvZv;8*GY+V6yBsnjx$=%Sbu%88R8r*xRL)bBF0K5G-Wygz==jTt^(o&S~j#uv9_b zMh(nl{)R^t3^OLwzKwX|rJUuZkhl*EMluYNVr(5S~60Dh5+H|{L(r+O5$4YjYP#oY3rPje4KpZY><3`yI>^Ch2D5G$dM2u|GvevNfT&~Up4N7b zh0z2VY916BNi;*{Px6x|IR@0ttH@hA>MuyY)>RV{o+nQpBF%#aa0m16VhAEqJC$r|_ z+D)GV3!;L$cS>mFFz!+G6Ef&x#H3c-%lhD0q_2Pl5yJDwHf7UB3U4nsT5x7Rg2;Ts zbOg}lYji5RexVZTVMJVncdg$&;rb1hpT9CVa$q)Hsf;XjNUZHG$4#`44%y52T&-1GHTpbu@T0TqoknwQ6WeYcFSBPZ z-4cgu#23wHV6Q~oB7f;*`J|T@l_vtdUv<2kUqZ)sbPYl_l<;n(NjambZbz9HpC{C3 zwbCxzd4F`(S4ar|SlDM`snXTONAXBjaaTS~urr7k9>8yP6&P=DwZ5CAA~Vn(pukPI zWFtoJ$WdhSq~eqW&K56T%S70hEcrOTC5E8L4N)Tw#DNkc+Ut&}*jal!9Yp0t>V1G= zg?8#^FEk+p9krqfHYN`Wb_c%I%k~J^WONf-nGjLNtr^P`5}=1;^RVaGEbCf(RK^f{ znid3!jEEdLdVxPv$(m6cIKbX&L)K=>{^dlrQ&MJ!_czd{-o|kVb=3i|iQUExf$p4k zzW8$*gBkgrgrIkht=HC0yS?d|fLU6IZLxFQQ=KeMDBIEFrlf4mRH7AktHk+hsLN>O)@{s= zZ9GZRt(R~bk;Q42P-r3;55s}XZpK(oEk}|&FG7=D+n#hKxo>;ynG4DVNFUhUKD~-S zANYky*8Cpl-*DZuzWdnP#_l5p!0kU9pkn^LcH~H_ev$~$D`xpLRsyKhn<6rc5H-5kUzynRbf1ke3-#Z^?3!bax&(~l6jNvao zi2wNhZPFn8;qQId*ni7+r4GJ-v4sb&P@M0-n? zOYrw5865m!`}rOIF5=nuz4u?dY~Sba9r7~%Nc-hKwqG#$vyA@)XMI=H?fd+_SUbw^ z^L_SzP2b;(U-@(RXYKp^y=}_k^8OFwzwrH2z~qew<3IUx!JpXo`OELvr?##9yZj0v z`tJ|w`~1D{S$=8MpZ({+3xoG}DdF&UV83k-Ukl&AF?@fI9jRUVdm&%cUm0uv&oAO1 z@&%6nn7+r~$tU@x)A1wv+Ti^g4%_eZ_pZmXr2P%Qe@pQGfi?R+e;=;&&ssQt{P#P9 z_ZRN8@ALQ9AIg&UH~jwXfFFtf>{|l^cm9>-!S^B1QQA-JiAXzx%U_=)|($e4ljm zb-e3;|L)K0`=7V(Un~#3KYX9R|BPq;`(OQnegCUp(C=U5y^O!|J^tPwzW;4~|J(L` zwv)B+J^uUqTBm+(;C_AoetrLo!Tg8spNqyz`v+N}{__1&fO9zb`*3|fC^qoif441q z&5viF@I9iB&w2k7Pq5?gx(C=Z`$qWwkLSF9?GtQIOTqYu?~mlX|F#kPe(O56H2(bw zeLoz(i{5PCe`EUxG8ORq{H^4?|A7l-RSpcSJS_9NnJYo~zKARS-7opXC))QPtn!!7 z!m{#j@;;W4-^<4A`|tQGi#{1YyU-QV59NZ8S9XSM`MVz>Tw!2f@wwSAX8$!X@Mx5Y Rz5kShmhxAE7lMBd{Qtm7Zu + +ORIG_UMASK=`umask` + +CRCsum="3041702791" +MD5="00000000000000000000000000000000" +SHA="83564fdb0efb6398c2c16910aa031cf959b4e60afe89867f33033a9c0e1bdeaa" +SIGNATURE="" +TMPROOT=${TMPDIR:="$HOME"} +if ! test -d "$TMPROOT"; then + TMPROOT="$PWD" +fi +export TMPDIR="$TMPROOT" +USER_PWD="$PWD" +if ! test -d "$USER_PWD"; then + exit 1 +fi +export USER_PWD +ARCHIVE_DIR=`dirname "$0"` +export ARCHIVE_DIR + +name_of_file="$0 " +pwd_of_file="$PWD" +label="version:1.0" +script="./install.sh" +scriptargs="" +cleanup_script="" +licensetxt="" +helpheader=' --install-path Install operator package to specific dir path +' +targetdir="makeself-397763-20240915013443" +filesizes="132381" +totalsize="132381" +keep="n" +nooverwrite="n" +quiet="n" +accept="n" +nodiskspace="n" +export_conf="n" +decrypt_cmd="" +skip="672" + +print_cmd_arg="" +if type printf > /dev/null; then + print_cmd="printf" +elif test -x /usr/ucb/echo; then + print_cmd="/usr/ucb/echo" +else + print_cmd="echo" +fi + +if test -d /usr/xpg4/bin; then + PATH=/usr/xpg4/bin:$PATH + export PATH +fi + +if test -d /usr/sfw/bin; then + PATH=$PATH:/usr/sfw/bin + export PATH +fi + +unset CDPATH + +MS_Printf() +{ + $print_cmd $print_cmd_arg "$1" +} + +MS_PrintLicense() +{ + PAGER=${PAGER:=more} + if test x"$licensetxt" != x; then + PAGER_PATH=`exec <&- 2>&-; which $PAGER || command -v $PAGER || type $PAGER` + if test -x "$PAGER_PATH"; then + echo "$licensetxt" | $PAGER + else + echo "$licensetxt" + fi + if test x"$accept" != xy; then + while true + do + MS_Printf "Please type y to accept, n otherwise: " + read yn + if test x"$yn" = xn; then + keep=n + eval $finish; exit 1 + break; + elif test x"$yn" = xy; then + break; + fi + done + fi + fi +} + +MS_diskspace() +{ + ( + df -kP "$1" | tail -1 | awk '{ if ($4 ~ /%/) {print $3} else {print $4} }' + ) +} + +MS_dd() +{ + blocks=`expr $3 / 1024` + bytes=`expr $3 % 1024` + # Test for ibs, obs and conv feature + if dd if=/dev/zero of=/dev/null count=1 ibs=512 obs=512 conv=sync 2> /dev/null; then + dd if="$1" ibs=$2 skip=1 obs=1024 conv=sync 2> /dev/null | \ + { test $blocks -gt 0 && dd ibs=1024 obs=1024 count=$blocks ; \ + test $bytes -gt 0 && dd ibs=1 obs=1024 count=$bytes ; } 2> /dev/null + else + dd if="$1" bs=$2 skip=1 2> /dev/null + fi +} + +MS_dd_Progress() +{ + if test x"$noprogress" = xy; then + MS_dd "$@" + return $? + fi + file="$1" + offset=$2 + length=$3 + pos=0 + bsize=4194304 + while test $bsize -gt $length; do + bsize=`expr $bsize / 4` + done + blocks=`expr $length / $bsize` + bytes=`expr $length % $bsize` + ( + dd ibs=$offset skip=1 2>/dev/null + pos=`expr $pos \+ $bsize` + MS_Printf " 0%% " 1>&2 + if test $blocks -gt 0; then + while test $pos -le $length; do + dd bs=$bsize count=1 2>/dev/null + pcent=`expr $length / 100` + pcent=`expr $pos / $pcent` + if test $pcent -lt 100; then + MS_Printf "\b\b\b\b\b\b\b" 1>&2 + if test $pcent -lt 10; then + MS_Printf " $pcent%% " 1>&2 + else + MS_Printf " $pcent%% " 1>&2 + fi + fi + pos=`expr $pos \+ $bsize` + done + fi + if test $bytes -gt 0; then + dd bs=$bytes count=1 2>/dev/null + fi + MS_Printf "\b\b\b\b\b\b\b" 1>&2 + MS_Printf " 100%% " 1>&2 + ) < "$file" +} + +MS_Help() +{ + cat << EOH >&2 +Usage: $0 [options] +Options: + --help | -h Print this message + --info Print embedded info : title, default target directory, embedded script ... + --list Print the list of files in the archive + --check Checks integrity and version dependency of the archive + --quiet Quiet install mode, skip human-computer interactions + --nox11 Do not spawn an xterm + --noexec Do not run embedded script + --extract= Extract directly to a target directory (absolute or relative) + Usually used with --noexec to just extract files without running + --tar arg1 [arg2 ...] Access the contents of the archive through the tar command +${helpheader} +EOH +} + +MS_Verify_Sig() +{ + GPG_PATH=`exec <&- 2>&-; which gpg || command -v gpg || type gpg` + MKTEMP_PATH=`exec <&- 2>&-; which mktemp || command -v mktemp || type mktemp` + test -x "$GPG_PATH" || GPG_PATH=`exec <&- 2>&-; which gpg || command -v gpg || type gpg` + test -x "$MKTEMP_PATH" || MKTEMP_PATH=`exec <&- 2>&-; which mktemp || command -v mktemp || type mktemp` + offset=`head -n "$skip" "$1" | wc -c | tr -d " "` + temp_sig=`mktemp -t XXXXX` + echo $SIGNATURE | base64 --decode > "$temp_sig" + gpg_output=`MS_dd "$1" $offset $totalsize | LC_ALL=C "$GPG_PATH" --verify "$temp_sig" - 2>&1` + gpg_res=$? + rm -f "$temp_sig" + if test $gpg_res -eq 0 && test `echo $gpg_output | grep -c Good` -eq 1; then + if test `echo $gpg_output | grep -c $sig_key` -eq 1; then + test x"$quiet" = xn && echo "GPG signature is good" >&2 + else + echo "GPG Signature key does not match" >&2 + exit 2 + fi + else + test x"$quiet" = xn && echo "GPG signature failed to verify" >&2 + exit 2 + fi +} + +MS_Check() +{ + OLD_PATH="$PATH" + PATH=${GUESS_MD5_PATH:-"$OLD_PATH:/bin:/usr/bin:/sbin:/usr/local/ssl/bin:/usr/local/bin:/opt/openssl/bin"} + MD5_ARG="" + MD5_PATH=`exec <&- 2>&-; which md5sum || command -v md5sum || type md5sum` + test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which md5 || command -v md5 || type md5` + test -x "$MD5_PATH" || MD5_PATH=`exec <&- 2>&-; which digest || command -v digest || type digest` + PATH="$OLD_PATH" + + SHA_PATH=`exec <&- 2>&-; which shasum || command -v shasum || type shasum` + test -x "$SHA_PATH" || SHA_PATH=`exec <&- 2>&-; which sha256sum || command -v sha256sum || type sha256sum` + + if test x"$quiet" = xn; then + MS_Printf "Verifying archive integrity..." + fi + offset=`head -n "$skip" "$1" | wc -c | tr -d " "` + fsize=`cat "$1" | wc -c | tr -d " "` + if test $totalsize -ne `expr $fsize - $offset`; then + echo " Unexpected archive size." >&2 + exit 2 + fi + verb=$2 + i=1 + for s in $filesizes + do + crc=`echo $CRCsum | cut -d" " -f$i` + if test -x "$SHA_PATH"; then + if test x"`basename $SHA_PATH`" = xshasum; then + SHA_ARG="-a 256" + fi + sha=`echo $SHA | cut -d" " -f$i` + if test x"$sha" = x0000000000000000000000000000000000000000000000000000000000000000; then + test x"$verb" = xy && echo " $1 does not contain an embedded SHA256 checksum." >&2 + else + shasum=`MS_dd_Progress "$1" $offset $s | eval "$SHA_PATH $SHA_ARG" | cut -b-64`; + if test x"$shasum" != x"$sha"; then + echo "Error in SHA256 checksums: $shasum is different from $sha" >&2 + exit 2 + elif test x"$quiet" = xn; then + MS_Printf " SHA256 checksums are OK." >&2 + fi + crc="0000000000"; + fi + fi + if test -x "$MD5_PATH"; then + if test x"`basename $MD5_PATH`" = xdigest; then + MD5_ARG="-a md5" + fi + md5=`echo $MD5 | cut -d" " -f$i` + if test x"$md5" = x00000000000000000000000000000000; then + test x"$verb" = xy && echo " $1 does not contain an embedded MD5 checksum." >&2 + else + md5sum=`MS_dd_Progress "$1" $offset $s | eval "$MD5_PATH $MD5_ARG" | cut -b-32`; + if test x"$md5sum" != x"$md5"; then + echo "Error in MD5 checksums: $md5sum is different from $md5" >&2 + exit 2 + elif test x"$quiet" = xn; then + MS_Printf " MD5 checksums are OK." >&2 + fi + crc="0000000000"; verb=n + fi + fi + if test x"$crc" = x0000000000; then + test x"$verb" = xy && echo " $1 does not contain a CRC checksum." >&2 + else + sum1=`MS_dd_Progress "$1" $offset $s | CMD_ENV=xpg4 cksum | awk '{print $1}'` + if test x"$sum1" != x"$crc"; then + echo "Error in checksums: $sum1 is different from $crc" >&2 + exit 2 + elif test x"$quiet" = xn; then + MS_Printf " CRC checksums are OK." >&2 + fi + fi + i=`expr $i + 1` + offset=`expr $offset + $s` + done + if test x"$quiet" = xn; then + echo " All good." + fi +} + +MS_Decompress() +{ + if test x"$decrypt_cmd" != x""; then + { eval "$decrypt_cmd" || echo " ... Decryption failed." >&2; } | eval "gzip -cd" + else + eval "gzip -cd" + fi + + if test $? -ne 0; then + echo " ... Decompression failed." >&2 + fi +} + +UnTAR() +{ + if test x"$quiet" = xn; then + tar $1vf - 2>&1 || { echo " ... Extraction failed." >&2; kill -15 $$; } + else + tar $1f - 2>&1 || { echo Extraction failed. >&2; kill -15 $$; } + fi +} + +MS_exec_cleanup() { + if test x"$cleanup" = xy && test x"$cleanup_script" != x""; then + cleanup=n + cd "$tmpdir" + eval "\"$cleanup_script\" $scriptargs $cleanupargs" + fi +} + +MS_cleanup() +{ + echo 'Signal caught, cleaning up' >&2 + MS_exec_cleanup + cd "$TMPROOT" + rm -rf "$tmpdir" + eval $finish; exit 15 +} + +Script_Args_Check() +{ + script_supported_args=$(echo ${helpheader} | grep -o -E "\-\-[^ ]+" | awk -F"=" {'print $1'}) + arg_to_test=$(echo $1|awk -F"=" {'print $1'}) + + for arg in ${script_supported_args}; + do + if test x"$arg_to_test" = x"$arg" ;then + return + fi + done + + MS_Help + exit 1 +} + +finish=true +xterm_loop= +noprogress=n +nox11=n +copy=none +ownership=n +verbose=n +cleanup=y +cleanupargs= +sig_key= + +initargs="$@" + +while [ -n "$*" ] +do + case "$1" in + -h | --help) + MS_Help + exit 0 + ;; + -q | --quiet) + quiet=y + noprogress=y + shift + ;; + --info) + echo Identification: "$label" + echo Target directory: "$targetdir" + echo Uncompressed size: 380 KB + echo Compression: gzip + if test x"n" != x""; then + echo Encryption: n + fi + echo Date of packaging: Sun Sep 15 01:34:43 CST 2024 + echo Built with Makeself version 2.4.5 + echo Build command was: "/Package_Cann/test/No_standard/cmake/util/makeself/makeself.sh \\ + \"--header\" \\ + \"/Package_Cann/test/No_standard/cmake/util/makeself/makeself-header.sh\" \\ + \"--help-header\" \\ + \"./help.info\" \\ + \"--gzip\" \\ + \"--complevel\" \\ + \"4\" \\ + \"--nomd5\" \\ + \"--sha256\" \\ + \"./\" \\ + \"custom_opp_ubuntu_aarch64.run\" \\ + \"version:1.0\" \\ + \"./install.sh\"" + if test x"$script" != x; then + echo Script run after extraction: + echo " " $script $scriptargs + fi + if test x"" = xcopy; then + echo "Archive will copy itself to a temporary location" + fi + if test x"n" = xy; then + echo "Root permissions required for extraction" + fi + if test x"n" = xy; then + echo "directory $targetdir is permanent" + else + echo "$targetdir will be removed after extraction" + fi + exit 0 + ;; + --list) + echo Target directory: $targetdir + offset=`head -n "$skip" "$0" | wc -c | tr -d " "` + for s in $filesizes + do + MS_dd "$0" $offset $s | MS_Decompress | UnTAR t + offset=`expr $offset + $s` + done + exit 0 + ;; + --tar) + offset=`head -n "$skip" "$0" | wc -c | tr -d " "` + arg1="$2" + shift 2 || { MS_Help; exit 1; } + for s in $filesizes + do + MS_dd "$0" $offset $s | MS_Decompress | tar "$arg1" - "$@" + offset=`expr $offset + $s` + done + exit 0 + ;; + --check) + MS_Check "$0" y + scriptargs="$scriptargs $1" + shift + ;; + --noexec) + script="" + cleanup_script="" + shift + ;; + --extract=*) + keep=y + targetdir=`echo $1 | cut -d"=" -f2 ` + if ! shift; then MS_Help; exit 1; fi + ;; + --nox11) + nox11=y + shift + ;; + --xwin) + if test "n" = n; then + finish="echo Press Return to close this window...; read junk" + fi + xterm_loop=1 + shift + ;; + --phase2) + copy=phase2 + shift + ;; + --repack | --repack-path=*) + Script_Args_Check $1 + scriptargs="$scriptargs '$1'" + shift + if [[ ! "$1" =~ ^-.* ]]; then + scriptargs="$scriptargs '$1'" + shift + fi + ;; + *) + Script_Args_Check $1 + scriptargs="$scriptargs '$1'" + shift + ;; + esac +done + +quiet_para="" +if test x"$quiet" = xy; then + quiet_para="--quiet " +fi +scriptargs="--$name_of_file""--\"$pwd_of_file\""" $quiet_para""$scriptargs" + +if test x"$quiet" = xy -a x"$verbose" = xy; then + echo Cannot be verbose and quiet at the same time. >&2 + exit 1 +fi + +if test x"n" = xy -a `id -u` -ne 0; then + echo "Administrative privileges required for this archive (use su or sudo)" >&2 + exit 1 +fi + +if test x"$copy" \!= xphase2; then + MS_PrintLicense +fi + +case "$copy" in +copy) + tmpdir="$TMPROOT"/makeself.$RANDOM.`date +"%y%m%d%H%M%S"`.$$ + mkdir "$tmpdir" || { + echo "Could not create temporary directory $tmpdir" >&2 + exit 1 + } + SCRIPT_COPY="$tmpdir/makeself" + echo "Copying to a temporary location..." >&2 + cp "$0" "$SCRIPT_COPY" + chmod +x "$SCRIPT_COPY" + cd "$TMPROOT" + exec "$SCRIPT_COPY" --phase2 -- $initargs + ;; +phase2) + finish="$finish ; rm -rf `dirname $0`" + ;; +esac + +if test x"$nox11" = xn; then + if tty -s; then # Do we have a terminal? + : + else + if test x"$DISPLAY" != x -a x"$xterm_loop" = x; then # No, but do we have X? + if xset q > /dev/null 2>&1; then # Check for valid DISPLAY variable + GUESS_XTERMS="xterm gnome-terminal rxvt dtterm eterm Eterm xfce4-terminal lxterminal kvt konsole aterm terminology" + for a in $GUESS_XTERMS; do + if type $a >/dev/null 2>&1; then + XTERM=$a + break + fi + done + chmod a+x $0 || echo Please add execution rights on $0 + if test `echo "$0" | cut -c1` = "/"; then # Spawn a terminal! + exec $XTERM -e "$0 --xwin $initargs" + else + exec $XTERM -e "./$0 --xwin $initargs" + fi + fi + fi + fi +fi + +if test x"$targetdir" = x.; then + tmpdir="." +else + if test x"$keep" = xy; then + if test x"$nooverwrite" = xy && test -d "$targetdir"; then + echo "Target directory $targetdir already exists, aborting." >&2 + exit 1 + fi + if test x"$quiet" = xn; then + echo "Creating directory $targetdir" >&2 + fi + tmpdir="$targetdir" + dashp="-p" + else + tmpdir="$TMPROOT/selfgz$$$RANDOM" + dashp="" + fi + mkdir $dashp "$tmpdir" || { + echo 'Cannot create target directory' $tmpdir >&2 + echo 'You should try option --extract=' >&2 + eval $finish + exit 1 + } +fi + +location="`pwd`" +if test x"$SETUP_NOCHECK" != x1; then + MS_Check "$0" +fi +offset=`head -n "$skip" "$0" | wc -c | tr -d " "` + +if test x"$verbose" = xy; then + MS_Printf "About to extract 380 KB in $tmpdir ... Proceed ? [Y/n] " + read yn + if test x"$yn" = xn; then + eval $finish; exit 1 + fi +fi + +if test x"$quiet" = xn; then + # Decrypting with openssl will ask for password, + # the prompt needs to start on new line + if test x"n" = x"openssl"; then + echo "Decrypting and uncompressing $label..." + else + MS_Printf "Uncompressing $label" + fi +fi +res=3 +if test x"$keep" = xn; then + trap MS_cleanup 1 2 3 15 +fi + +if test x"$nodiskspace" = xn; then + leftspace=`MS_diskspace "$tmpdir"` + if test -n "$leftspace"; then + if test "$leftspace" -lt 380; then + echo + echo "Not enough space left in "`dirname $tmpdir`" ($leftspace KB) to decompress $0 (380 KB)" >&2 + if test x"$keep" = xn; then + echo "Consider setting TMPDIR to a directory with more free space." + fi + eval $finish; exit 1 + fi + fi +fi + +for s in $filesizes +do + if MS_dd_Progress "$0" $offset $s | MS_Decompress | ( cd "$tmpdir"; umask $ORIG_UMASK ; UnTAR xp ) 1>/dev/null; then + if test x"$ownership" = xy; then + (cd "$tmpdir"; chown -R `id -u` .; chgrp -R `id -g` .) + fi + else + echo >&2 + echo "Unable to decompress $0" >&2 + eval $finish; exit 1 + fi + offset=`expr $offset + $s` +done +if test x"$quiet" = xn; then + echo +fi + +cd "$tmpdir" +res=0 +if test x"$script" != x; then + if test x"$export_conf" = x"y"; then + MS_BUNDLE="$0" + MS_LABEL="$label" + MS_SCRIPT="$script" + MS_SCRIPTARGS="$scriptargs" + MS_ARCHDIRNAME="$archdirname" + MS_KEEP="$KEEP" + MS_NOOVERWRITE="$NOOVERWRITE" + MS_COMPRESS="$COMPRESS" + MS_CLEANUP="$cleanup" + export MS_BUNDLE MS_LABEL MS_SCRIPT MS_SCRIPTARGS + export MS_ARCHDIRNAME MS_KEEP MS_NOOVERWRITE MS_COMPRESS + fi + + if test x"$verbose" = x"y"; then + yn="x" + while test x"$yn" != x -a x"$yn" != xy -a x"$yn" != xY -a x"$yn" != xn -a x"$yn" != xN + do + MS_Printf "OK to execute: $script $scriptargs $* ? [Y/n] " + read yn + if test x"$yn" = x -o x"$yn" = xy -o x"$yn" = xY; then + eval "\"$script\" $scriptargs \"\$@\""; res=$?; + elif test x"$yn" = xn -o x"$yn" = xN; then + echo "Unable to decompress $script ,because of aborting! ";res=$? + else + echo "Input value is unacceptable,please try again." + fi + done + else + eval "\"$script\" $scriptargs \"\$@\""; res=$? + fi + if test "$res" -ne 0; then + test x"$verbose" = xy && echo "The program '$script' returned an error code ($res)" >&2 + fi +fi + +MS_exec_cleanup + +if test x"$keep" = xn; then + cd "$TMPROOT" + rm -rf "$tmpdir" +fi +eval $finish; exit $res +3f< u{+!c KB; 8tN*sܝb%Bݎ;!d&.(\Ag vat!F吘P@T +D SQhcٞϝ^~ޛ9-ƠI>)H,mI%@LR$ղTsKKK$STHɠO +XeNMڃ$b6fcyH`-m̼f)iIyEݮ icJv^SA]:Li_ M)|`7PLdfMK6֪]̜~ ilDYSUv[ℙϳv2&#,X =_]`fOىFHMk[Hd8gX-6#T֤Ɣn5Q5g[A(1sb] }=kZjjľnԂ#֨lUc%V,N쮥mY6`ivMaE.,98Z6.؂\lAZZfEQ~TtU0=m4r֭R1)f@7Qi +hHEj@*%K[EZػU*,*-nxA +9pJs莔r(KK5|"ch +RpHk;F[ WQƕ`MJICHK +,ti0PXQgY-+L{_g׆Ur禾==[ +CȨb,ѪTf궪"fk%cDG$IgX=ƚӉp&OpFRDwN:=~}םo=cw}OGo;~csGw8 CTFhy-ʸEjVJ[F<l!q88D*mtRi ;˂ +'MQ9L|+m+C$8s(nTUm EmYAgV9l`P1Ay>MRyg1LI̾i-9l=CG-{~L{gh=PӺelm\Xd)[P5.%-ae:DVQI+d,I06z_wUV7x}&R0glfΣ&M#P)gO,G$)a%w;PԢ"Um%!$ì(ż' MP_aU8l?rJ^ S{B|tXʚ3to:a=UW+:C.5ݐݫ'越xGSXީX2Z]M67-L+R7U=2U׼-(}%ٕM-lPAv} 6G; +᭘{`NTFA팆[Ҁ6}p + |Ly6x'b4U5:D e{eTԩsomE'.^|}sϙB9 +b1!_0|.a(')U•LOMA*_ h TA*F*,L?r6VM;$qVi !Rg[ +"x"C9Ӑ:LfiChVάihxF*d!>ٞ(zdDC$2w&ΑSPsd,sXjƐݻDd 됝jv!vYl +f)|% 1u|JqT+Iy5y+ >.k ^ᡱctc~4 i ۗkoj_JF!\;X0T$]墛.A$ +W5R)L/BG*Յ3\|pېJČ(.Lv.-弩$"d5V2M<518(YRj/O;;xtnޱVNśIPt -7S {?!CY=5D`EOU0dq9a혼0EߙQfwBy훁YY h|p6-_ +̡ ~&sC:o E:YUs#^|8./'%Ɓzb~a ӜC@,|o?[g9>/x1#RpN+q/G^ +pP|J_,|])9p%!cɇOn/tssícRH?nۣmn}BGP?B=4_APuT)/ ϱ~ؿP?twm'{kMwd_;jh-o]8Ccu8O%cxnP%mţݤ&{~^ۼQwx꿺ctnѺKƏ]<ӉOq@oHƐ hC~G?G Sy.@{`Tn!Ȟ^Ľ;U׺:v<ï&fxt_Pq dwh<}}Prhw[16 Ck?艹ۊw>3wdL7]X&&.qe.=PG^\?c0\IC8 t?Q'0o rnxvx8=^ǞsYx/v][,u;]I+*|$rY8qo0q?"sގr BE';pLcz<"6<&fBI8Np|܇,?_}rvoFHOu[ ipmaR,NZ` RuͭH m(3.o/$cȯۊ 5 A_A*%. U[|#;Kr2!ن'WKTcJIkR"=BխLh6,0!NOL^"@ <%2gWP}r ?eOB7/.}I֎8|:N"|r{ "H7^vƨ4|M=C@y <_@[wl\/,@(q=\~sC2]"T@zps܇C]Oh" I>S|r\SYXdzLgXQ{2~6s)XEVNv {~)2,Ogs>m;gk~-y/Zk@grԁs?ͬ~Q#%3ZB4M p:^>^~x~'8~oF(s?KmBm4n? ~~?8 ?_BP r9v>`>D=#?.xgt" ̥{h=ho?/"<%7wyt!( {ox_тw~I#y%bxA/Ѣ8c8?ϕhyEaK/- +'}qÙi ]_hi&CV3L%?ߧwQ$rQJ֖pMa;ss%tCZBQ$bc23Pc75- MKKSӀ>%Uչ咓mÊ- iކjiI)PY8hW:$K)Y2VVN #};}Fd  +V`D L̘l"ʤPHexJ=hZm.|Y|%恉m{a4tkh +-F 8zeoNA)TXV77 13[ .%k,gaH]vp0OAbmJ 7%`nve0]/ab{sNn<'fcQ(dwMMMV~閝2A46<#g-uS|¨cqTSB b2$)7) +vU*C>*unE O8T?iMLcopJծ%˜ԙU:v.#R -Q2W-G9!0<Ԃpi L "oc;U"֤D-gOkWjDzJ'+1a.q_: vqtNdgGTn VS;I7֏B +rD/5Xp孂>Ğd(7 @f=H.yvs![)d8`!FHIvr2໪NVskp!( Р %OA !->fpFذzW C +>(1龍C*]'qC8A#<:NIĞ·ptp<<`Aq#J׹K}X Bл}F +Y*tڟS\4ߪ)IWR*TÂB g]2Mex6:NƳyKDF{^USpV.ѩ$~4V6ItIDd|*:_'/d|\2N>$)d|5t2N^:y^u2.N{2N1:/'uS^r%G%{"69>,aķ0m ķI&C|䗰~obN \cr*%95u7յ33SQra,◢AzXՕ7ig%h,>vv]320>Q_~EԉZ~~8ȏxA;֌9pg=X~E c~\CwA"`wX{Y?axkwBwsW,77֓$ 7#UE46\>mml6qeg4:pβC6WxnW6kuf6s ǁFyWttxtz5myfJm󉆺ǯҎv䮫#@>>4O7Tf3c+#(͆gW*'WW9F]e7ȹ~I5BZc֎xa 9,RIeL}vB}u"Dgz2AB_@i`;E5|ihE"\QJ歚JaR_G| 㿊wT=A^̴V62iZǂG']@籿~nq*[_WY֞U_@uU=>tnqϊ47BP?߀|2 aʋ? ~هG.`iUQ>~W>n-k#ZPqU][y'ך?_ſq}K> g aXg +w(}yPX@{t8WF]ozSO_Kz/_j_ye'~CO@{ƶzN +DZX]Z]z'/q|[*u`k l-wy~f;E_[B?۠H(sbCeU,>z{7`oZ Do0W5VSqy1|l7QoaaqqH{fQ݂l8;mH5=$I5zWz55 &vJ1)fQMh[”y}"^+̧EUV%'{H|)kHmħo y嫱-ǎq~spq޹sx Dž\a 5p \#sbϝ!ςw[`>ּWA^f%Lw/b{ӝg./gUn'9].G/{lYO4$ٿL1:X=Lޢr+(:w]h+/'/{jY}R +>:]hd79^v2 +']FdpQ8ٽ@~gOmmmmȖ[C]K3ȖEv0<%ɖE0<ݐ jЇlI$dCR\?7&n6^~P(HzR⹮ ax_ΰJmpJGW)=١}9١}dV%o6~-&4 G(>t=-.ʠa5oWWɩIůѸE-N}_qAO?3A:ŧq4N_qrh^ ߭$;Gɩ5ZmЍq{Tkk"]}8{@v>9gSWkψ ]}MWk$W˛ҧ_uQl5mS5wI:ORk~M-0Uk]8U? F_P׋_.-t}!DG[K8~Qf{]tnw*@<~mCkkmontb8¨ 9n#S#tܤiBgY4epU@!|̗!0LQ?*ap |90tF£FWC +$hgdA&r*W Z^"U I{[&ɥk Mh^ R%np;N}JIFz +Q -ď O㦓Kٝ0]5cT]lz1o8K{$7Gd"V,s6<Js<=XL `_ȹmۍ<A yjlD3psrfDC0[WyԶĨnfZX 2@֦[(B27|ӧ?ӧ** }ͧͿx߾[/tɣo|w^G%a[-4"9oN1j*Ā66}R9'i'&Y+`x=-b<8Z(oЋ-  >rocyrօ8_'3&MǍaU~#vHv>yѠyy͋)%;Zw$E0I5ȎOtkkkTưdY&E}I" +ܪaX5]ahꬽsi)sm'^d -*R7dڑbVrQ5-uYaۄ|)&Ȁi +ҫN`d7n +:ꩃnw9x$~L)>hیTw8{ĉ+Mp]C) +`3UIL& X޴F[/*} ⴒͷllQ-Z.Ԣ]ruz37-tLE%{R؅,]\Y +v[i)Zf'>i4|nnr_*.NL3&d@Kb""Pd._'BVsmlùC{!$r!U֋e.|>'*F?ȳ@OYU~&^12`@&F# C&Aʦ'wG7#laU<0\r 1ǫXUeE U簣?5Ev5Vrh@EszvIV0]o&@_'_*;CˈI KMO,Y].aI򒇱([]ik? 7nr;UƊ\O#H_ef2|Npli%op(uXׁzoV47=u.FB9hJ#28)XMh Qob1sYnA&0EXŢ7u_a>w4:ú&B-:Fa˷KM9ƜR-: `֔(2䰦%=vĈc`Ym8:CX˷%<{7Ť;w0ngЎ644Sf +YZ S*#*AylAgYT5k7 W5^=W~G{@J` %(= KÅ: ez) ru_[(Eg XV¤Ͻ KVTDN ++DdXjJ`f}=ܤT>1G~S5E=:oY.Mв\ {%lqWn; *(tҗe(Y|q/ *op`FZsY^q;)_,<×&S^ZNX:US 8_ΆUyBlMŶRŁ1Ք{arZ/J?2 {tVx /nbs;ayQGBwsU!2.fP2VVD)ݠ5wKkQҡ>,{wҙ;;pnφWv̄4RMC 5%HI;NevZ2R Eu?Xՠ>Lu1 U?X7eiag:ج帏6;Fx|ca#[͡yG\aD>#Ю(7$㥐-B1 7s!5BüÍ\耗785/#-H x +@9xZXƣ_tNɁMt- Z$q#TȭgcCBhKhxw{~tg{kZrTò1=)ι8Gs1ܲO9hR3yMX] ~59m($aGm1><{8r _0#Gs<&or"p\0~3'8h>?7Q[ o|a{'8ٷ9X+G³ ϣ4#,vmƿ圾c؈ϣhrz?[) >ڧ6 m&QuHC&vycfkGN_4rڧx )kX<*_cNC_]o <Jf4=ٶ栭:;v l3HN_~>Ea!˧d[Gs|~ & s0y=G^0w;ʥ|"DvyHFq "dP [ BV-}C,&VnaMLJu)"rrei%+Dm(~c`3^*hPrd,i-w>-N4(i4װy?]ӄJ $3ooZ|0:^E݇pcxv;Vffv/{wǀwЮ;{K^l5Fzz=JA[b.4Otə˾J܎SD0=eKl2oJ ;}?Bc=qJ/5rNMi+Ii?W7X3FZTMT-L*~NY|51%?Fk ΨۜӌNي$lY1+Z(kJ*eft*adb$ Tx5Iׇb)Qd|zN?}_BD_?qtڶ$$;#JZ0+QZTV N&U2dB2ńI*YiYv2܌e T1^q5! F3=<FKV +P8  +<9f/)S3E7777;cl)G0YRoזԄlIY,pMV-&M[!+_IXF^wLNղȤ91S #0,#QI+!Zh Yʨ('Y˶9ievs/0p.%EO\(Ee#afD-dRPYYLEf֐L& 5HURdB$%s3Jw棞Yh-t,m-`g&r*@o^|16є#iÌ-7g314l:I&D6IsM?r3?6k ΨӌNM;Z?J$;Ḯ%eNKV& < +b)*{Cl?7?/0+RHW'.tx?A{ QT5c( KK##ۆe(x,ZiU5䬡&djȈiR=9Q,k4CLf:{x6`3q xr_S_*ooo4<g _4H0:K iv6`mVd]{X~H4Ybp00;g7<`0Ăa$\?+GK1 dX`1T>뚸H{ l֗iτzA|?;[8uL8z6M-׺L8ws^~9uל.*0i&oWX8>ŝI WOJ U.]㌁}v`.4(Ҳ&є tt[PО?]BwiO51i61]4Gӎb~bexE?<vG]>}(`1ؿM<]ſ?4E ǝCΩqԒï/uѪKve׌]/k躛[tU_ڞn=G%B?>=l<~I#b/Ԋs'L!a$LDf&30g&!QVv hE*˺ڲ躖}llJmuGj眛{䁙{sq8w;?+Q{[7ٽv[,6<3/MSۯzzu7oWW/ۡگRK+=6瓽g}_fgv}wmhIUҋOQuo>+|ӌͫ9|Ot/zl߁rTOT;ؑ`m')=%'R쨸Ao /uc/֤39:7fM6/|[0[1%1Cs-"F⭷-¾{7& ]ZJHE!%#P&zvv>EЖaąOWhMt2U>R(iD~ ]Zd,7S$fϽ-$g/Mʴ`(Nq3V#QIΎŚŲB S+\_/7잁+dsTO>uH[CVG:u+JKv o k ̔]>;IN9v~C|D.+n~;ZRGR&54X-Vg +G4JH u,۷`w:M}\7 bE­07Zٰ,l]v̊ڹUne猝ȶ,XPGѼ˷DT|mZ@8XK졣jY}u}I[pZZ D Mr&6ќujYz;. j yZD.eМ(W,zڇS\e_SLBX'JW˻h:(E] +7XӬ5$9rAF[(3<Ȇu;:vrPLka)&91R5>sR K>4TA9Lw_@՛`jˈsRN@%F‘ZOMNb:gW+~S:LϜԁ sDU{_ 't;f Er#M)r4Y ҤA-I`9Ж&mKx. 0J8tc5+IvuTGu;LG$Fjb#־ىA +Ԯ4վ"s.,nnMgc 9CMAvT{'$EWܦҐ$t {Po\4ޤ~;&lO8?< Nq;k%< sf~Dkw烥E;-\ҜG6 +|B&T0sg\O"bZp֛0OxG/y;>1d&jzL-2VF/)=?jWH9釚z8,NeX>SZuFw8דYiB7й8U_R +? R!W砓%5X,$ɏ8spdjakv&/9KN? E ,Sv5k4(bq[|EP/;n2)r9 멮JrE63oǩbAɅ6.yݽ +2wJq}W<0؄tE +N .hv+r:t)\{ts.sv" XYXU )[!ý{F\Z\;D-қI%,=In跓x̽+H瓘Yϲ'rLLI^tZm_6oaKSi257[53&}_,3Pl(huvSeά-C vrc,ߘ?)m)1iyJ9V[yOﱊ+c!;81ƑwoR"r0O|qi:{W3_in1&+)j{#{BRIJB㌱j{ 7smw)m\>>߬t5ޫ\=dzqoV 5x-sm8}7vewKoTϋm-[mE|DE<sg7x#E|Hg__V.ߢxE_?*SN|~ߪZZ7?,yoW|/QzUQx\х|V9Pī_Q?+>KA W1> +ËﶗbYUC81tC;ooTC~i; +vC |)ǁk9 5nX Fok(ܰB[87l3ݰr;^6 #8SuCN.>2A2/ɰXFy]*z*Q`ߤpC5g)z~EpF?B;/]K8p|=]a8{vは>0pOk|=7WR65nd[olο . |:gLQn~6*^ S^ \3<|!v yMx;p!7,>#a)8pxxC_ wܰx=g<|3[oa+oUہn{ +0 _ +ܘFg| +[Wo>Wn0oX2K/C87/>*l_ z|#Ϝa N[g7lvZ;_ |W]#"$_ [r[_ + |p^Cǀo | Kǁǁ'g/>< |8*naw_ <|=pui@x9[k8l|;~; j{.^>x~a 7P6| >MGwzeWm8uui;8Ol }=W.o#=@I +Ay~/llll>>g>LOAA~A~//>>w>>>߱}П}es~IO=tI@Kz%Ho= z:7=}6}=}lEl%ltzz.}Aw}Ћ>>诱}]ll2:Ag>~z&z%ۯmlllzyaQq {lll l/}/}?d_ew}?a_gY%6ۗ}1r̻llGl>>yd?񤧃@ $]% 7JH=7xl<z&d>>K>&}З}Эlt탾/t7N}Y탾탾^>;>;>5l=l:/lb1j㌡5K 197Ç&e(?߾1iMww4uz՟mU>+F=*_f G/~>f4k\|QU{fUr%f&AQЊrDM-j+heBlmK[+R@ҟK2$8Rne +X2pQ6}dַ[Z9~}}1 5Q7R3SNOkrK|)䯁N!V6ɔJG|*څ2~AEҋaHon+C! 9ө7ucha/]]M_y6/%K 3Գ7ɑ?A[JD2 kj-7vtʈ\})/T {2d3B!7K>f k|dA>9)C>LyT'}U{+{͓.JJWFWCo}+=>n1w+ fܝUa>tCCJW&G]i]vF,M~y//8r67#_]6>W6)oOCnj.=-o3o/Q _%_2o'_"__'q4_/O%_]67/se_6uڭ_ el\_d3o T)K ?Ps4f71P~S/n@y_6*7_bA// S[U{,(ew~_ϑ|9D/{n9_6_/z* Pce)w/q<~g "w/7' +Kiw/R(_!_#o;/ϓ).+ג/O)eN7~|G\-~||bSe?g|]nD(eG%nel"%~|nx&elg|REelߺjel'|29QoptE(e?GN=C~|?\;"C%c;Yʕy| N{*<@eloelin}#)3nD7$%\<3e?GN%|<5eM"_wˊ*y)'r/TޖzJT[Yo{v|_~||rKKf-wZ +~q4"7_" /'_]6O>W-/q׸3rƴe,Z# ]t6g#]t)אA).& ݏtˑCғHHS8Vi-H#݀RHG#݌tҗ"ݎkH'#݉zV%hW|Γ8߇}8^kr]Ъk*ZG1^79h` aUb~)d%0vfFμPĎaY%׺t,S#_TU٣|k}MjdYamJ4{Z#{jes,)a4'O?L&0//AX+ ׍ace3"d$a%;;g 0 1+x;zكحW/v#>Lb,JVYX=}|v}1sclY'"z:@*`V I9[Y>c{ kesMe|h=a9abl ܂ku;t=),¶"a}h0>M?T'KUE9H|dX]v5 ˳|YƼنz k@Ǝ\ k5:x;uӞɽӅCۡ7|p$Nso/ף b 4 +d"tCVׂn_Fx^&oYy>qy~=ΧU-:jX1\{*(k,>m<O3pwk\MErv⸥PᲓ2 PnL ;mpeNB xP幯zp\sLrmpwM_ʍl_^C\[QoE<`)䎠|9fEjup+zp7z kbXl+O^cBtL__T/Au:°GCˤ_WBDd01(VjqZڍUb 彴lPIg)Wj]$o'Xٸ2ddZ}mpmomcFb +Mw ݃nѦ2D=m~2dx7sSmf2h'6?vc +yuef1\a^nu Yc2#v;خ?<~c8+d q/h5jXrwL_x_Ȫ |#m/hP>5Km=Kr1 >~>!+􇍏,~uR,ѿ5>>u[YgBw|IEog_% ~>+Q#}R㎐FPID/?Xw۾hz~fHI;:kw8rmD=T%Zrq/N[ν>ɸw'ޭ{73&ޭκw{7h{[,U2],3>Rn;f_kUoOVXh ޑf/ϻxټ_D{3ռ-Xf^IXJMgn^8Z`sq8us,}u鳋L9׹ȼ2efJK]sWa3ϧg)ؑiر5kb"=H*п~9z˙Ts~/SNq_@c-!5ٺzЧbrplr&z-'#=d>&~>߃0k_d[t`<zB;mJFʬedX/G?ߥS-1Z+|y#쾶=W=l5\ה+)ÓyOXZrU̽ulht8Q^ $j%[<y*]!$EyMNvzG7)er#:*\'}mLׇr۝<6%rI0<>\7#3.>7 /ۄr^>:;>>y|rhɫ>:gGC)N}>y)95>vIח#5;ka}v9lK|-rˑlg;˵ˑ>\(ϩ/W"u t}(ݩ}y5N$˳˕<\?<.r>y96\Ϯ/OD^S}ۘ]N@^)WrF7y|N}(7ũyM/߮tʅq>\ CEv9#_}NvW _}9z>'o^_il_b^%c7lr݈ck9;Z13'vGX=HXczkHb֐Z+/Oog]|/Z (,.~Q]|я3vLw.ʱ+\}6tdn\'64B|w" .pM|,|cDC xn91oolda1vcnɑs 1֘(}NY[60y;ci}.3(cq-铁p5?Q-#=j5 D)WnΠ}F +aW֠Ly#~|['d%eNZ,bE]_c—T_v̓Qz{x9 Γa +[Š-vaEpa!]9~{ƅ  +46tR+>6![q꭮yj\➓'$&`:Z| ~faӣ3Ԛ +^7<ιCa=uZUÎ/*džAr^Z{$+79&崿$={Y?Ϣ4 C ?Hp[bZ~,oKp^Zin̳\vki9Uk2o٠tG e(/%5ǜՙîdX= s[<ڰl7{qIu7gְq:ް)' +6QVORxوW63Zϛp|}|#27ฟ}|=2_[u8kq,_=9_μ{^ĉwa!/Vy/0uo< U|^\/G1uϫ@a1 TƛSsݾ\yy.ߠ`96_>, r~[.qw8zt?cNsxzz rO<ç[n/;OV{_^&1.O>䖍rMyr[r\K-`ܷ7:@suN{3O~-)59uj]>sd|~jZlb|;]-1;na-VFg>Kln>İ|9n>ql'/?Aw{ϑ$_#@9o/q㚲tCTߒͷl|Pަ7_Pqlnxln>Nϑ|Q7_Hu|Er_6|b9R/o/\,~|?tEe_6|b9@/V7DW|i/%򣃴_6ߵn>Q*)J7_T$_ڿh|R||er3:sEɗ+:+(˽]E>ۢ^`-srs+;:rG|B3w.R3ʞ|oGʞ| +٬/R!w+teOW[W97_RNVks+eP/n>r_6ߣnȹel|se_6}nyr_6| e?OT\e?GNTɓƫ MT +^/Y7W/bqr;Ծ^nH@7|~7_" 7O֨c|r Uik{jVu[bﯸ&6 +.C:ba]Կ߰>iAk-ӂֳ~HYp͍ quyde_zP +LZ)A b]S7/ Z; k=A3s% AkĢubu7ˉjl +zŵ?͋#O]0|5|= Z/-Ϗ/tZi^/\HXܿa.[lr_Z05jL(3!!, i߬A7-y6&WXn0yUMNa`A+HaFV[Z#'||ȊrK!WcoAy5K \ȋob yd hz滐xNF^GVk(&d O9x?+S{ Ƨ ^ú[sj]wuOg;G(S2*FD&+ +\Řoc;GlG\;敁,S11&S}}Ⱦjor'5J.=lOJ]*.v?WWq?9lOH|8d-lOn">m&|kl|>Ob ̇63CRm6e'Bos}+Gm\نkBVzP%q9bxF|qex^8o>ܦ,Qf_j;)G>ḆݶL|l`9gMH#,,GF=˺U!|CBFeao/}}n߅r2CEZ` +ȥ}GHU/7ϸH^A'g_R +h[ڧl$ú 2^؅fz։5bRo 6C)ۼ \ܧ}7F0vP6nj3^soo{5FHe(iRPD?YGx>.|aۂ8omFevk7ݔs6wl!-ޠsmNG=p>Ű^Aڦv-p>Ͱ^Q醵CBw5fWjͰ:yG4 v[o,5c=6?E\M|ma2srC%}rb-6xB oxEeNܷeR~ H|?I=Er!W~{xpOzJ[O2$#ɋ5{GVމڇه:Dn+>6ilE(~x~ +6@>A8/lP?{PD㳀Ɨk8+/mKի0E^O4`j +hBȟk?R>۱Cr՟+J;"8Ns(Mi{(| !@>xE>#c 8mX |P>xߴ}'4 +p_Z +t_~ƃģ F:0>Gj`DUl|#$?|{#JWZ?q +iGR;#J 셴~9}V+< MI}>ƻG5CwPV᳀֮;uXT˾TB|-hzV*eLT*Ɨ).?l5Esm*sgxxD!w97| +6H +x_sT +|wj<_vy +/>џxDC_O5qqM j<4y +GyU +?17k06>W!cO%wW8$(xcO%7rZ;u'+}5 + |[a +1W_Xƃ _Z |ï5~%/#xvHܯ%a]ģo=BяO܎џ8_yt\|?g!sT<:v]_;[/v^~t'M;7t{qW:ν77;"Ds'9?џ_ǿO܎Oqq%'4^:G/^qqU>?W2G >_8G5>*GB{u'xx?񈎧>џ_ӯKyџOW7y\Q/#n+'m|#Moxq_9䉯xqY 6>xT?Ɨ)yƻ+gxoT_e]wWκ6_w_nݕ|?ƿ G%xwsWGaƵ+g}O'4%-#_W<9{.Ʃ+g] GqÌ_WκLG%ˁџxYVԫ k|Oh9"}u:x0]78qj>Izqtqt ~Q^q^cusmxD㻁ڸCy GBǣOrN8P}&uQPmm +_/wN7A e~[8WX\W_km1^s?I m^~H#׬J_h!5.wx9m~&ƹfP|?p# |zz_U;^u>8î= kԗNE>/ħO?~>|ϧO?~>|ޑyFdp=`GVi0:9&jO|?p>!:_/|Z]:j'ד*]~6zVG,L(^oq]PyG .߅8?H>stN֬1mGɃeWh _u$*Wdv_s ~UGC ] +0>'! +j. =-oRxƏϐ;Կ;5)mWӳl7>A6eB}arB5s'~\slEr>E{ETqrg3N$RԘȯyV k1X.o!us:h}sY5˜o%kb=uw'YXjNn,5ZXywAI;uYgL`H{Pny38;XVXp CXQQjv/ȋ%!? +Yi=cºs,{;dž9$d>r|O69e9#m>eoBȮ9+K{ƞ,~K?loKgMd{dWjqkuvaS/N]v{h܌>^%2];cЮ%r^f~y_")YPyr}w_K߿OilE v#qX|}X%X~&_C_+v.`2>l>2sv!e/ Fj|) y';cXsLsXbǔv||?{r|gϙgӗ%>9؜^?'c: +}oŢh~]m~wa,<_.}Pytq}3rWͱ>ڎE^x?rz1):< DGU#b_SǗ[hEb.ee3G7,gAc5ǒȐGV^y(}mbʦ;Di[XQ Üyn1N ݘ8n^$=qA uO[?9qTU7wAz;踒4^Mc폗-K1o8 +_D}9n[dJ==mM +1ON =%~`ϰֻh q΃ګG.'G4 +aM=J_ QzZj>sO+r?VAɩq$t[6r JMZcxuy^楈W/Kx@0ܥ8Gɹyxm.ZrK>GjaOC +U911='S|אEK<^J%&SO)_V/}al4g9?7܋wGU/bTU VX9*3At>x:,d(9#_V>*Z-,eoT}M%S; [*dH7W﬐~% +y! ׼`,;>ac0-.o~?✍(=ƽW ޗS5@p?#Lav~(yG^% o?RoӱK@/_胨W|K`ݣs1 +K ..; 1S(i#GRk'sqƾ7u,| x#7,ognOԟBti>KHxĘ ^y?K ~OKŶ2 Xp0 crՔn#o;~PoBwo>Rգj:qYSLʧ6u=#~uVb#F=6]xl+3:2ߪ'1'ZG%kE3LGr<`|5+W C)9V`+Iqݏ޻*ɘqA `ةM'Y|8b?47NjՑ1cȳ?AEZ>^+/!{v]O(B](-;/nwC7_+刃?-uu9i;?[ +0WĘ.7 κAתQ+SOx: ˇԕ2{:+.UhQ⤧ְu'*8]UOvAp|wod\5SeW(IZbcЖif]-lvP؏}f;/ ?dX)ShwUA'hȽ~,^QfX2^' HꮞP }ڪ|7&1]X{a1ѤGΘz}0kLS`.}YU^KWUTj98w:.#nWT1 qkO}#F8jP$zBtǟ\C߂WWzLbm\+PcG?>Gc2De2P&.:f eo;ee_.*Sl[2B٠4]H٠Ԭe˜<ý{ ~}t7)K2qŢA~߯Zw!m|M|w6U({j-CA^}(ddl/U1z~7OCx!d#h8m{)/Xz̘ wf1F"m#ָf1cH0TmtlQ.yaSΝy9"wfs%Q57G0N\wFC^mZ&>n'Gc]!AߞL>crm}:b>7M6scAp +56yl[z7F0Pkq<2ZX90X]S-3}EC/Ϝ~\**`jڷpEc0|Gz&[kj^™ ZxG +9^wj1kCMFiQ5ͦ-ܲwA̛z>6}"Q̈ߣ("mYȿyOή\H݇g  FfV5^_.k $l:ZOW!.@,O=1y1w@>֋?̝JsIjmV \#sfb#/s !;Kl?SF~,E륜o ؃;+ac[W>,ϸ15g.6Wq %O +}c7z poV(1Z &q:]3C($XѶi$=z/L~mmTb{!2I>MK[3 HQPA@- XZ`ZkgL&!<{{z?zZ KGf2:X/: +c QNZ56orVê=pS(utw +dB< ~q ʝ{#qZ΋EVߝ4`.-xg;c7|{8r@&9I>N5ײ? 8,$-xϭ7٧\a@Þ(,`bI~1~Ol~tCmftIrGΗqO$#,KnxYs @ +"Ray“wFN0=:_b=>L;AY9ЭDlEC{|y Os#B}n+쎷u --_Zt>m!uu7e2[M\InmCmvw9fn:HMr]bn'\(s{&6m &GG9׫yropڥDGj +{\@:s|PG~<;e'cSx(tg=g܏UJ@LJW{xh;i+^dIJ:!ga7SY/>fm^ sxԖ b'*7hU *_ 5xz2kieBLuJ@59J(4WE=r_w~w~+J5 6Hx" ԻD{@x1I42^\. PO˦PpjUn:xkd^|l/4(/qG&mf2М{'=g=ϼY7Lhm=cJ_Re|X۾s^Q괓.y +e|Do.S6x(Q{tAeG^_̧s&=ntܯw+: 6\C<,{g~ݧ8n_: yu-9'D[Ę:}/S· @V^aYWZp'ꊜ.c}ve(ctwZmMzvms}Y*B%B.lm/ v`9m7:4ߜtDuG(2jL6MMݪL}9F³+l[waui{K ˓:dömX:x,Cicu_rت޸ w ~G|m;|_ڲe_3ϦvoxBc›iІ1O45:iٝvlaۺZ1ml-leڶ "9/exu{ap.lA]e`7yaANز&)Nf?5[v R׾ږ͠mYaǴe;ߨ +7^QWp;֌X%;=-<]iҵ]M~}q#ۭ}'7~~<2KAfO?N86ynKe'I {j +(|1/|Ǿdfއdm;ϝ#|0ǽ{rpOT1PT5k3C?D=;[`GO ӫw֓gGY~*ȼexPwO*bߓOc-*;,9ۛ9-}x/u:sIö͓d֟ݙ}V3 +ߜH]i__D[]0Q9?m0?Kt>u5bT_>ʼncfS?K?hUcm<6]N`G(.xxknN?* WT䈶J]p*NUZW\#:9.Ƴ_rk+V+ ;>+u^Jw:ֆgl ,\>z4FfjV ae^pTL5GЇG~(u(0KnԡlI/vhg~c͚a¡>{x16ƍL7T|sNE_?2Erno0Bd{yPB GuEǦ*g%Z:.)8saxQoHt-tqY M?ږ ))܄zP&]RWhÕPuE+_Cy$Ǝ`U]m١x>Ve +XF.er"}T?;;,\l;W +ؗOw0q+qX9xx<9Ao<ǐH+ҍt$MW]2p{0:ħENCnцvݏI ;~0qFj݉gq۳}p h9Ε0&[4GF_={u栟ӏ'yX>w"A5E]uˍTxqיD>Dm,cܒMh1yJфxddI]+.ćs_1J}r8?zPq;"&b^2c6&}t7՘Et 7kEO/Zǫ d6woeŪM6HT]_'=9:j (cxw5%+D^zomz:Rԑom|P78x'g,}sJ+SVhf;`8fzf{&'1)%Aw7מ&i[`>lex_Z>vs3 (L؇z}-y^T>գ.y/qm]j&~J8ڸ:>AĎ}ȝe#SW]ZOp-b( Os upL:7]HէIh=8t :ƭӟkz# vc">ߒs`v6a|O6zag̏p>Pt朆 կW.A޷]2aJ?:O6Qɣ^syS +6ط3l^bhuPп~:g޺Ge92ss#+t~q!bn'{Zw~nCD7ro VqwQďw{͎4oܴe{r*6 +}0m=N?3u9п}xj'oYs\0 Hi!ZpyT ?~Ooi c? qzF<#Я$Fu (r}CІ+>xʱ.eե`VPɿH[ \u`)}9c$s9p憩9:FEG@πc-_)&F:{9uKYh~xu/瘯 ׁ.Y{|\(׻ugc%i8'xc#Qц:isV~&DCD+.NO 5<"~R`J5*^X&g>"uۏWJ>Ӻ~bv+ Y.G|otJ1_9}eHg?Y=\FH{ pC;μ$o(srNe;Qe^/쯈MW?:OM3"{; .?eζ8i=uQke +={[g%{f%}W) î8 f=-ש&6['+9+| I?]w/Y-bA2- \%b Rr!xܖ?7\nqM.Rm_f\nOm#Kц\ <ex`Qf)Ô!9 23g|zX4t,ͧ}%C|zH|si>ͽ4ޑ4_)zU ]WՁKEb6g!AU7|b<#:<1NIi]AR:uzֽNY״ R:|ƪbi%_oQg9'57Jw\~(lUu© +^NG~d ߖB?}9!g. iLE;:P|فJ7/yEJǷW>1 zm}dDDDo]&yv˓~b-58/>ic%dZPw*O&mX2ƾ̾67R#ګkQ~锯2/O\k|JZ+g~Jˇh+I垑-;e/KhxY]զjuRFF3%wsS?;+ +5}Cj _dq\"&='5WY!<6S5W#>}|n}jNs["/wi^ײ271vr.曈Q[{ ?~ ?'քe=Qe)Os@}ϓ8>3re6w/Yyw]$5V9˲DcBW9xheYTbu,r\nz3ͼHo4_lE0 p?`1V V{Zh}8#O!=4>>0nZҵ*?^BЩp-B2=62︀k*HWF>974fU\oB}G*GHx:y7r!y1^u!{wz1w+ǃbw%w%-$sb+Dž/6-nb;={ǘeb~;| +I;G;2&>cmn_zz0>K[C;=*pK;~ZD;S3LӕCή)cGyO0>ξ)0oAz(t+ۧ}fi< ,0Uk'_Ζ I8? wb\&߯_g&2SH@{m0"o0`񧎣n&5_>½#_a}h=U;7K'%'<||ASSϦ$]ܟުFpϳ_S/hupUX?k2w,*<:u \_N=g"|j6Ǐ`z~r\\41;צJ|F~(T㬜vUP7/Z[1&l9a8YZo⼚ǣ  +2EwFunC ͽ°"8W˿#BUiQukJ6zec/Hro<pr']u9b!kyqc{ X#/-% pSf"Ƙ& +d<4MyL0]3nc2v= N6a67v eEWNۡR<@>cw{xyvx xn7OL/~3|qĹI}͔Oj懲[K 8tdEw_.Qdk#]W^xm3캊AC]*FIX;yY⛺f#!ܿpYj]3y&ȡ\oZ~~:H\S;>t[X!5k +\M;?d1Zٟ\_Q`g}U>J_Eq/g%vʸU߷BRI76qI1<:;~nH?| 5O^y>/>=bNY)>uo [~<>zG雷FkOj6)Ŀ}yECcS^FO}q~u~ s})?oq_ZefŦu7Gt?[QE<׍ܳ>m㾱\%:k:7d̐ >I'};9U"\KZ_!G1ʻ& ~( +{P"5n]qkKS>p{scs±psA;3w"p29@Ls6,Ag8sd=_jmLUdפ Vv1 I)<)=o7ϳe^kw+`]qTݬ٪{nS'J;3{KݳL5nvN3`k.m2a)`Ecd8珳>|9c:k=*TluFkY6u_}?`]-dl]bkҀÇ䡒Uu1 ~$aɀ֯߷xߌ#ig?h|ĜOA//"=ڰM)`) 7}V||9֣Y6+}}vzw mC%6h3}\l0)eOhCo?ۡhr_G/qOKkSnGڅ kOA杖X'x[4ߠFo$:Ox5 gK1డZ4="k5FuDsnpFꇋGa".bX/wh}y< ҎuwvSPBޠ>tq{݋ 5QUjؠ:yYϽoۊڡیHSr95Q-k +><O?d5%A]- oJq}~G._}SiXƱ"H_:q]M>)q档mO y 8szjO+udMN!}%0i<=2m̓u'>c^ NMm،оzg3Wxt*3l?m!Ei+ԛCkH0^_R3]"٪㚓N\3PqLA\0F\;5&j9q oyL"]鷗 qhGs+ 4(K>ݰ(i3hlu?wϦz@cӠP(u2ʱ1a~'zzfʹ57%=]G0GN}|K~$}g x;bᅄ>ʧ6pkb=O _tdZ_S=qr7T}ΟE{S0T~3ߣb[?K&]*z>Hz1W9(AzSƆˍ瀟8}2x_zCqljo`KBSDmx?r!&| 1Ytޱݕ.#ͷ)H]q8|{#yvxv|ϼeK9mǩ91S=D=?I;\^ϟ~ߖr8RG38Y.}qZ}i+Iߟ07Tr|;>:gAu5w%}'1WxC<Ϭ>w5 Cf7{Hc-ޯ&<4Ͳc~5z\w~oCN~t_ݮ<||[W_:_;V2K}?hY;Im՝oQ?*Z EduMy@ x"v@<Wu (RkG2J[_3h ""؊yW9}xQW9J"h:Vښ)m=mvc;|z#l}upa=V`LWXPxX:k_(#oX sB]FݝSX:1Ni}S>ŴQ3 ]G`}zI#c0#0qC|DhMW ףgFM =+G'i0;9M2>g{W%9/8fDn/PgN7J[<=}cutٟrNkm + mWn'dCe"m" A| +5>F:En_8k-ջewWP<Ub +t_F_"k6ⴭӌ):e|8ԼR0 Hc6uvAr7$0wyιXG43EΰhsW@ׂ}}']9GְZ^F+\d9`~H=Ÿ?GW\iU6ԏe"[=uz+s*qO7s+;j۔a[yrN'W?rQUqA |xy'/.缀fh +eOuu;< ܿy:w/IL>HY߷pS_9ŹH}ܿ샓D#fF3J'JQҹSz|D]> -Y/v>\}E (]|MX?f=nvgn}_Xqoَ 8Z{Yߢr_Yqs +/]cs\wOY'O{}DU/,W[EEЧf0^Ϝt|d^oWO6TMOË߼^e Wx5*«v +rL0kI]]h5Vv%p~rH]'IОwK B IZ`QΦMKh/}w~L2? yɍɻlrIOr{z06oR#.n~g0l%1Jg Qcci:50e2)wEV#px^~s8ss%K s 1ǩ +ip亼'W¯6,_ʱQCܵkO5/Rr#džcـ2"̤{ij1ʑw(״6;[; ņ6{aqy>* ׇg8{E#4|MkM0uy)ZYsz^sVU~o=tYmgFh9ނ>Dܴs8 xÞ'}[*_xwU/3OTOx͊ +ٷȆ/d1O`%>b7h;~!ׂ.saTj ZK\yTdl55Ft`HU[W,7^ $u9Ey^Yqɀݹ_L=ki&fIK?،÷>#[~-x31<9 = Poɼ'OimQqK7uklHobQ>ҙ킍9<.Cȴ$ޣ( %vFS[^ىitT< "}#s k^kgn4JS[I}QzX 5À늴ynz=Eݠu/4t&ܮh\E iOzX܆yߊ߁O y'>B|;'@hݖ!ޒwԀO!N3Aӌ>I{7}|3dyoWO!_07[yaNQ[}%k~7~k=Yk2WlVA-y >f?\U61fU636ԧVEW{ߔ]&}3^1;~4ri=W@ Ci~z[ۦk6E l9f˙6r-\ilh~sAO;ngYI{dZi]adb,N"E9=n7ERO^^!&ؾ/"7(ܭARGX)ylή8rhQ+A~ 6itKg##=ߠ+ZMkmX֦؞{FM)  ч=v[y]8_aNBџl53M|DCw87j|Lfm _7agS7ӡ\=9|R]k?DEM6T_[,(yO?t}:%WS/Ef9 bv,שljaˊfJ2h-i_ +iKt6ud[Z.(Ƃ-^张C{KL7a\ ND)H<pv?6HZf6fi zu}k\xľ#;[e E,j<bٽW`BL::BE `x8σ l +k:Xһdz |>ܸ:{ +@Sǁr8 CQG]3,?ƌ: |꣒Ԅg\PC[>6 +^ c2AF)`Z0w "ӳ- R9GV <`&T(IE3]^vɩV>oMm[shZ1ڲ4nk~Ҏh2ob<d79%(o+y9{G7evj A_!~\⨀$nn.,rki5[Ɔ Ǧ}3F'V'GYSNZ(q:uՒgN-(-EH YCT`?0a|iTB?/㯱욡[Όʍcc^6 Lͧ\#ŏH9҃ծ~u[}Qx;fWcf<R']anRFe(0>b|γBݎMWnSB\M.ET}ߨ5yFE꼐W.E?Qֿ?ګ'򟩍+kGR n4;WkOg cssqn^/gN6:vi:=)n~L AbϞmo`#JSrBg; ΋hov[Em\D-עSb}Fm!~R=p^>axU} +;I0 Wj޿mhݠKiv7lGuEORcxeZ#eFke~b֚πhUO:Z|~h]ARO0:7_jEpl->(m7nw\1 df~ԁ2#QUJ)~ϻG+!x:;31e9=im+֚8jbQR@Yf.w̵VVvXM{^Ѵ]X9ǫĿy]iL)99M8 +oCl0]SPMq%觫#1E,AṌ:Z8a.ng귯l%|+,Ԯ+- ozfgb;t+a\`qx`Zc^;g(ւs%nK$0cfq +3BHòI”='F-5R.)&G,Hp*(\?tѥE?h:^(ovg PL:?Қwd>j + + (ET-ˑL W^#ۢQ+[az| +3Y ?Z/_vMX2TrN Nz ]oa$A7|D&×CSHIXηhmGBMLm{,sݴkQ(V!"!R{QH +_]LIKBi&){B[_H_G;D%jRk\GS>B3CQ탕ӊU/K1/:+E&d9"j,M9aaJZNGۢSH".ǺdXPC]s_ޘ2뇘=4ozAa/V?!%*DG: zT\DD}wӢgPk^DQz^^Tf# ,4/˴?VI\IS'0e2yTCYgNg43a_eĭLDf(bpU;X"eLCϕ2'ɘR=h %;tx}7NbPa}<#vL"!I%<戚\'&帊ýխ@~IdZzr1j1= +E~)MQzp*Jf:1RӢ`$/R{(IxCj*UihKwUT! !97S UygCȖ9az\<7esΘDگL~)C}~62;65go- #Zr3afCW"դ=U9t! +*-;X . +E uqOFT0$˹ZM4- 㥾kiUĨb)|:Wі?}=lo|3L{S yRǬ!~$$[Oc<<=SwrRt}yNhNe&OsuRTbkiԗA%7.Ar{a47A W㓻PFWaq/92cUvn9Ab _no%Mu,z@g d2q'jH+ T#!V1MıFO+3' TyR7g4[W~{K;*+kJ/7J\>FFțA~?G /_~Q8m@7 2 ch0~vp p2F-#w^ø 1øM~{go I&"@p6k?_ayx~xL]-k{KͲ`K>eo|,{#Yv0'MG컀8|2˚Oe?eC3xY?,{ ,{G Yv6Og;7I;#l.Ms xKY$Y ->}0,Yo=eI,ne{u1>|% `pO0oJ +?,yx ݯΟG?Ǹ?пh||xu xv)/WYv8Mk#;6`}`[ =m!%zm84z'>C-E'8|g?{VLyN' _??J(AK9я低?G訮s\f$! cc IXsgF h$#4fƱ%QF,$-U /UKqWՇnIK^x$z{4N^W}Xs{>{Ϲ{!V:6v~7.oσ<v~!t)\>TqkDﯵSާ6(!mĒq6\کxuj|Ư!%\-9/vɈg~>_e?!ڪ0[ \3Wu>tb<5YD\r^)~OLN݌vVi2!?|o^mx߁:d K|7pz2Ħcc2ć1$jrs#{,;+'W]q}rDޙikm; r> 8x~mT&, J~U~a"=_VL#J\OHd- #T| Hg[f\Mvt/%z;|zrj|@OUW.[@D!@3." +ڗ@_hYD!GdeQzu>Y 3A1/=Q|*'Tw^J&S'WcD3i Qn'Iwg +䖇-Eބ*g=i [׮ї#a}w]Dym bҚͿ#qhC쓆jh<&0I? B~!S4~!=rdŀbhNCtaF) +T")zmQ0U]п$Wr6qAGGӂ#گS@c3sh7O!O]cE>fd1zyᝅyWsHd:'ul~'J=/$ݍErX3(6 i69a{`ZfI̝+p؜ΈNW,j 2XA^ƯU:rn 2JT}8?A6XcbUoRgӠYuPѫcLT" }H+߬#]z.UE=&w'YkoB_|wIgKT{r%e< 13 FCG ~?m$/ܣ?c)11ƼJSp )eIXs{{yF.SiTJ0Sr#\jzC#%)gs-i (&c%0͂1lhAa2矚lX!rx= ]'F -߯+)1֏a`rj0q} !ěuJxNT@?;@6 }@Fo&읞2'0Q ?r?&+6aN@_.v1 ե7czd ϣ-5z:{A8NOyaA]& )KwmoX..F-Wgcx䋵cMY6`@BTCy8`XC;Ú>d}Jq]q~F`WYK?c +xB\% #O ruC[B4S3Vvg !J&3e> +]k[3И?S _ꓫ 6${uhdGJ +Жu#rZO|'VJ=ekNB,coЈA;"_3?gf ?Dm!9o ~hc)෉0Gzt:g7[Of~XPGSjmu4/]]ݳF6c&HJ5k{K_U`fZ_)H4`LQ ')_ ~ |֕ hۨ|])a/ +etT'̆jc0ӹוa><`eŕ NJ? 4w[s` q9q) r cZo}6!:[諭]k}k<-ٿBI󯖭z9p`jzꞴephe84#pLiڟ/, J)Jgל[Mre +3ͻ[_VЛZԳܗ"b< 39O~OF%DD +Yڛڗ|=ԳTKْ})ٽX[E}B޸8Vd*1|F7q6)<!5ܼFP80+ x6p<+m>x.x7 OlI+_؅٫T68xB͆R;F7MNlhhֱ PXԾ +lW` f.y&OK![Q+4Ž1qja! iA·J2fk4D*C#y:m9;W%Y SgݝkES)/;[\R5G-"$l0O.űI蠠[*2z昘iF"`yC`` X'Qv>}vãDC}YܩzkfZ\U!x T@G__tua磟~Q{kU84KŢPАnSS:C_.GSEbl=3i1%ї)jW!\o\A-)ƞEeEݥ<=^b@J^+$c+Ѷ/yxρƓW.^Fbz90 olyy]hg}ns*X@,.cko\gAǬpW(n' Wl6iz ~/F{H]a\St& pC `dN-pXbk_KI݄>lǜ𬅶7duhE!sA0*vʓꖎo'd_|w7OqΞS^}jW|*gAO>7F~jf +էуYCh)EpB)Yh8@Ji߭hKA<~h8օ!\[(ۤ[}̝++=)K +w/-%j[S_vCN + QQoppDa=,Vb(}>YY\ -x[<Ih^? f *fsoRབ+p)%O:vh[., c,אiV)>1hK4h[C6cqzp3ꥐS)ݠtvpwտ$ki/;u_Oq +LަJ۵;՗_gZZ:nf䧧-0cTIz[UlNZj{Ӗa)q[:m ϔsPv%ָ6~k+{%8}`[sy}[jvF+A +P*(]}1o|$nڤaU㨉[!$!>/AJh?3і'a#;Y:v~AOo-AAkŠ8/SaqUE㳢M\ +~W/s[{bnq>yܳ3Nsl΢ȆA[&$ l̄oFi{b?~ˉqOOT)`h:1  +?.t/Q {z{ >+&~QKv~ݔ̄YɌȥ W|`\.YQ7lB3ݴj_ +znh~r%| gg`]y4{GhYXڥ x/R.'vIJ 2@F%5ܔ!+m dDF2:`ꔫN's:e8QxrIA1EO)8( R2@( Nr/\S >EN_ѓ)=;]WH%g[)d*' !1 ]ARΗTB=%!Ҫ1蟎ܕ14 rSi˗۰DI.<;#[1?_6);I[I,N.>K.e+%7sIv lWrɅSݮ\29ww{Bnʵg6W*| c$d !X22T+TS^I8w%iJy >J/)%lb\ɰ׬s'*媂tE{2ezS(R+dHA+hƦURdYym:R zҎ1W֓xxW\2ˆ4X{F2+zr& Id, %)W֓+KVF8D]O)px!EIfi77W7K0qw,3^@6e;F2xHFoI9#"}HV(sujT1顲A +QHi'=^+PBxSy*ݒ]lR@(eOX=>7FR>㉒0;ub5+Vy-J+4r~TFz8|r2.~!Vsމ +/8_q(?q3?ϰ-bu?ƍ!(8&Z~~ Ž4ܷwkx`u,?j|%B[Szv$sޟƲ'rq.O=ޯX^r?ź7#TrANE?qň~ z13$}ΙG_?&y _T)O8LЧpN_ )a"1>fu@ӿtmٺQ}qvPjroc{޹p6a +cV_wX|_}Rd@ٱcDؔÔE2v2fB JCs6~m"'D|i9i׬(M.}gwѩw1mu Ձ<ޭ>r9Y$Y;QHC󈱴^V^ZYj/8li@_}QՄ_Z!xo`JxA/K6OekQI-[هs?n..H}xXǜF{Mq਺\[Gng(FrA_XAŸH )O4͖Lt XwD9VGy0_ vSbZ>$0gdl&t;aE M"EX.UFfa%щZd.M >e?6 uttm]f/jgZyb\_Ze? 1>;/jAZA'y{ZzbXUPCˣ?G?nA,Z(6k_[lj%wRdeMT4f6cllk~ކ9RP +Y>/+¯~~I;9ƏAسo?%|~oo_6a럿wWg/,宑̬}CM܇ί7o߿cy =s+o~g~מ;+tiOܶU\o;7z~u؍vzoώśo~7_懟o?Ñ{ooo/[r70lU-w,ܳ~_T]0=Pxژc]a$:?%RtI_bKH /F rtk:&:G.J +sE3J.:~ܽ6:[ ;4V >hzøhBIgK86NhҐ?CCo| +oBy:%:a:ao_4iDm =FF~1./hߩ'_/W|t|ƸN?> >?*?#i̔[ѯ$autO5+[τ}{24\?Zq7hg={s51eJc7j[F5Fh& 7iī 4߫f JհZ >׀RC?oj/4$oҊ; ,^`to + +}O +%3x#aQHJq$汫3 &fPRKqU,LW=@2K!oYZP>ۭ'vvF(U Nfp|,7|o@YKG>rfOC+,&tl|8#4HU~ D紆_ ,g忢!kkq繿႗X^@.p48pb\>MZkK=$2\K\|$>zxO9`6~kܞ#Mg#׳?@j @ (#ݮ1^z {0kUD,]nBC{\ρk=jӏ6^T^B*Z] Ja`$Oԗ%N{Eu49k +v¶ݎZYJܞ㍀RRζ;ξk;~|OF;W7 +4:юuu6d6N]GN\ٞjru‰鱻gcc͎=;~ މ\3MvT!:eʡ#9~IhR Chr;noIѽdW=H]B]NΌµ"aqUįl{ MYs`'XL9v}\0ЊZ6 ͱ*v[ElD GVgQɔY8tGp UDJ-Y:J?-qf=cF}QcO3]&5O`苞=7:Ꚋ<[PSIj)Ȅ~znwѳ4 < +s憺皝Fem[Q i!ffV܀aYPT -pj .%t&_yvڋ@<L$j49gݥhu<u>NWVUu2jn.^,ߧ/񴐌2q]FnOG ur=^R]|dnEAi9J#2VtHt|Փ07"kyYͬoN$n~ KE/y`@MEWjUV ˏ?Wed*TǠlyKrg.rap6Le:}Ϸ0kH@.7ʘc]rD6giyA۫W.+5wl.6T 断(\KP2 + W҆?ʰoIqA.rAiL漐\dNKW]˭*s6sheU&L/}ks,\A?5ڼk}i~W䖑iGt+OtUkhekϦḍBs!f-U5cFqG|exextWE rJV嬨n"9|gR h~uIS$j\vm-뚌Ly.ww[}L :ZTGpJrN+Ejw镪V(J~;V>E9+.($өs/.e=Vu*W-L/-^I`?O+*+ 3/gdɏJh/ΩZwѼYknXWTf2|+oM]YV號"YjQ$ҲY 2XUX|*~kWt+3WXӄft!ʌ:uBy΅ZUK௬h.ͭ.'`6Z9ǹ_IG`{mqLX^A6r\DԱDK}?VmmI6Ϻk.ery_6KҲX"K5FxVn~Qf? i})jq +o Qx>OPnqOZ<]=Uxf+3xUn/Txŗ(|_=g~{~=O췫T_Ӭv+-j +r/"Yyl>~Q +j +Oxz +OLW~/QkeK&9n7mnϷ]-&y$x`I幗Va𷿳)Z4SU]?Sw vu-|nՙ羶6 'b?8~ܚ2Jp~n{7g] ;7o^|7[ |?p~>nW? d[x3.lN繕|38tq&9w>y8ܥ܆-hl8B*p{Un9a)f,k| p~n5ŵܰqp558=.fࣀ~aJj-YsS~8Oy.Oxp~.B)』>x*c{ +6K-8?Sd7D3/n? m!t~^< <_5l ek |'< <x nMA(<< a]yn:pmb>x!{x*Ӂ3v>|+g/~3q?9V'k<|v?V;o>nZ|?p&n ax YKZZ8x)! +x: +ׁW |1bw_| p?x e_< x-x#x3Zແϔqk~aY Z';;Y#gB!nC?<F끧t skDs~]z$+fC + ?rJZ\&u'@o I'~#-r~Џs~Op~Oq~;8Ĩ~q~/r~/s~Яr~Яq~пr~~~~>AAAqIQA?As~Ю(zT%ziAA%0;@ @'qNq~it&AOq~>Ο7q~7s~зp~зr~ 8?;8?8?rΟՋ9?{8?J󃾟~'GF!z+8翠~~Dst~~~~-gG;A#Du'}#}>A(nT%ziAA%0;@ @'qNq~it&AOq~>?5oooop~wp~wq~??s~p~+8?蕜t}? 9?8?G8?譜Խk+#Z`s49~VdtT?H|y+q_i8]ҘQdX'x_7gjcau +M$iѶeG׆8clhX_CG)6J6r=<P|~?\S iĥ֩u0>;9Fur맽cG-/Οݖ]'FQGCgǧoK\bLq,K3R,ի99/R"qB;\du,2_P3:ɟ}Gֿ~U?m]8N~ɪ>IeBu_$*~U$񢬟/Vų~N3gt񄬟et ;y2FYVY?;@k+e~WLDG3]~NQb/)ns=YBsmSD/U?d1Aώ3Ud$[KqMB"xLc{GcaNH~ 9:Fd=e6Nvu{lq,7Wgr=~NoKhc?<_W/َ3&~zx +~UWi5w]鹢~T\񜬟su8牭~C~~C'QJ}ϧ]SE~6S?#.[_`x_!}'c.%}e/,0+qEi:׎]`tӹ~LR+|FSSt6߇IJT-~]3_ ib< kL=GcP7Ezg{fjƫA绰5m.t Fi?]Fg撱4fj~E3"oi˽~MXz9ꦱ[ -~3i|s[:v8y}W31C{k:g<"aQT[ږ#>1zޖuF;{>cOkFg`Ѹ9BcȦ.>D~t^]c,c&}c8N :);\F8i8A #,獚8f˞mkzq\n:oҌc_PX΁u6 ~F/>Ⱥ>膷g~ sL>Px_ӌOh4^E7'hͻj@91c {z=1w165a %ovkF{fZiyn|Nע^#t8nn$i8J׶G+4# F\Ưyx&#0[m^bK dVKg/tsowGS\5^t'Ņi_Mro+m3]c,yTO}Eu3'}X f=t)Ce= aۮ5NqX[ ՚ #9.6!11:&á=ɤ6/1_=n|; D l&7SO[1[3SA)^]HC/$'{|_=޿-I{lQয়S4&;EEiu^iwP]O;?pi̥y~kOxz{]z'U v~Hܝi9OQkBci;l֟ϟx:|IIJѴ4=9STӴ>2zʵ׆:s<5['[j |?ߙ IX$+2IP7d2Ժ`!j_mB,+jK#XZ[&δV* ek؊56 d{g$ߟ'<{{ɰqk˰ N_ ~j̸?;E/u>ei|W4~Wumi,?JQ ֔ƇxoG&?JC[L;4^]=xq`_i[w}vți" 4wDq7ai ?.\hhJ.qomK,linf|\m[EE{j`[YqehJ/+U.MA?{ ?a>m{*iH;i-N]ohh3B{fBn} p`j]_w/B(}8ʾ{q\]aߥ9VGXӈfZ.f(}T*6ྡ\Ps: .kzm"a{~t~ܤȴ|[Z#-g i_F9s,CaMǸBRj{ oEG>4r,79rvJ$ɵO\vX;(0xu"QpxRD?,VJ; +C<=9+k3 oi\#R8iCctT&J}WO׿Va\ب׿6vZڠֿ>]cJ^Զ[|Wnrm%\:.Q_f+OɎ$'ziΌW<uY!ZoK|Tee%׭W,vuҹKEnXcd1ʋ.Nsk/`ܝױVey;zΣױֱtu,k[jaZ~fYuG#aֱ4miih֗Xbk-|:ևX~֏s,9Oֱޒx\xbnM{u׏u,#::_%m:OZSſ8X:NZa  ;'0;NNP'%WbNzgXH,gZg^e:Nz3IoE:z'ؙV_:yNzbK/^I7R~w 2]nw3x^8Oze&8β^!tz8βW;I{mH7I/p8Lw^lk#H'FXF~&gϮ#Iwu_:7XwI{IN/.'=wmw kmqk=׺N/3#Nz+ I/pU*NNz󬋤=:_/wB[ä'.IӻIw_/'V_Vo9^`;L5,76z:=ԃKu,ױcg׃KU􎓞=s^+Ku$(zw/{Wxރ&<\x>Aװ\B6j k*}2Zê BQkX7v^O[z{*3pz]ְ8w-װ^ְs*+fBħwZ<{Eu|\v|"߯Ps\j25mְuOěK[vkIG5!|ְ +Z%M%ۯm#r 7qOWsXO>A~~w#5!-sú`݂ǗzzXw:N|e=Xl\_t!WT~\F^Y|G54ou#a\[U?~=a /|l`0O;ד`ǯ;m׮ǧv6-Wcr| +(O4|s +vjq +vBl׮%-#/,kWr=vs:i<⻶9^|i9%թ͡ Ovpt\4H_>\v<.W &x[\p^t'f*7lt9ۮ˓brŬ[](Lϥ,j-%Pu86mcDyVko·;ʍ>Ma}L*ּl[gcD>1LO:SN(SkBOJy' H8f]\W2t((HYY?ѵ =䙩 L}wkez,!(`oߤZW J3b[/Aa%\!V :-CX ]-2-0ĚJo]*_x5 iLRհIkb}v<{uҶ'CӬiH;``yn]iWrVASii;3t>|ӭVd@.tk4tچs{ty["-,c5ZO`Lye,ON\! SPLy,/C7O$˰jMyCɷ|^f4/ȷڔ絎BG X^]:WgZ#6t>o6Җ%C" |X^.zi~+DViy<(O[ϲ1̺K|u>0k%gm`y=U>0n/Y^Osu'gҖ6iaͬگM㋈ {G-2"O_7M?qc Dž5.\,rq]*wlCwb:XϓSAC`@IDcD +qT's7 kY|(;MŻ&E! ~m:rCma}/c )Iv0pw< ܰGߍ+/ζ£E|t0tc`}o\ovg,X`k\tr[ lv*`;`0vX_OH/;Ep`@֠_M̔cc{–~?Bc}Xہ>ؓ%T-L6ݘwHc!?P?[[-{Ere7|'=FC;>0kϱ/=C-I:M8F nL9u5-!чeگ$qBZ,{JCc3%'IS<N3⨆0İ϶-@hǦ~޾8Jf2$??C)~o~+W8񻖿7b{𻒿|F +3$!ѻ +{pv.#l(z]Կ}]5lWN _uw7~"ӝ}9 DyWA٧e싟i-`.f4ؼLsuU^u.}^4Gߗi3adƈ9lLxӟi4miiuJQpDDx{F?vs~4P44I>ZA֣ *o;{ _SCC AZkDmH,3 eW d\wg:7i[s~T?jnz&~_{o}K;}oٴ㽩ky +xCgry%nǰ1'6X8̋>~mABϽ<^Gcߧ.vo\%[ ">=_;N\ɽ}e"~F=XwK΋~-WB^럀ې·Iϋ|4x8'pHw^k<ܓW-^S +BҫL7'ǡ[UrN->rE}0x3x^?-3xk%rK7qu^m'=0ēNoI<9vod;m0x{"> x˽vrIiΰ\9טxZ.OEȽq)4%񌾜i͐kT{Dδ.g{0*Nδ&I2qg'.1=Sx?tn>]COYp=y.qGlU=~,ZgY}iL҉8r;VdZC|!a)kC/3U{LkJ:*7o&)K岊1m{Rr.Ue^xOۍ,k70z:Y;YnG|M,WUL6Bzrbp҃^zs>{SKizuWܫI\kɽ)z8yϳnrNW'yRɽ)zO9Γ*==_8W1Eo^|k_:_: >{S~(=x)z;/.3x޽NzH}T{SrNKWiH^H_:B+NӻI/pi;NJ'V;%W'FYmENzQˤ/NzQ_H20'QNKEooBzw KcB/ޱtqFPʏ{R>Sݰ1Wtt͞_ +O{Q&اͰgo{ #gֲoE~gygE^//Ğ㏿}鑶șx9/ϻ?w?~z||j}i['r{DF2#R4 tM~yyV 3B>#r?pv=;^tW8^/cK܃(WkcBa4P*BYl+3z*DE5,</aF -Q6$ءaac)E<_X ]V Ǘrlz߅rl|.etYp[>.7滑𢰰W ee0#E}İA]Vp~:{Npb>"Tn ¯\a=֫Um5HwEUp@*i>1q[1:ᲞwGȽh;fģ~7zy'`Kog(n6riqvdX;_<<wko*=0zo^Ӟ=[fgӊH}BrjCX3JscB{=fN0W#6:=#C(akx?95?Bw;Or_a]V.1u??veXxnlkEZvl65:0 e3zX^RF'{h=q]N4ܘ#n/ք'qC.O6*ʛ y~t 9:7~uGUݏ~Yw3ga:ݝ:a8Qv-?6un_YRi QW/m`$_%7iY&>{S}uFwl8okg_ڵ}' e}-|?L>^oRi+}G^\*mV_|Q|"7lT#a;ED}lE`h~BZS&v_| q~{QXABJW'ŗ3}ȳCA[wRiWanCSyCN{I3sZk=@f侞@R'"A'I\E>rЛ=5xٟg5X˒DW}+<`&Y6rN4Jk! _hxV^ùo4!S o ))O+kOHpo F.}$g'<>/H N_ Ù%xo_R>KxI=Uܓb3|)O?.=ɕXË+op?< oeRrA [Xq]$/ K@/$B NxXg3m^5ɟ|NLѹNI~IeB)KŀT]Rel]#Ը#|y1OH)F2ÿuv?a\._dLx@{^mx%;T3 1?)x% _?OIH +#gC +6S [I EG H_?OxH|Oo? `ÿẀ3~[< +xO?3%!=?C%'Y~?kvɏv o#<- w  /"UoU !uW/#s|_?W¿ ½Iu73pq O|V1KHE5K|e'<:I(wt],>ߐ(R)(?"ךzVQ[µ{.+ ng]?!z_j'ܫAj'\%sIxLcEx@n…skn4{ȧZ?B>M1NOkxpL×S o ~Xlh$<@? * > ~MOWSҧXWIXM) F.WKOc5OxXG~_ӯ}f7K| +?>՜c +^-_M7E?>3VL >V#0K|X_CS9 C_AO } +.S }½'\I|)tc8dk?YNK| +d{?OK xX^ O} S5r_Vpk )tq V~j2Ckx,Wo|9mF;u wY K^D-OxHhEkJcY{톬Ҹj}%:-ۗ?D9k3Oqj<5/DW]yy:o~t#ljDAx?=]ˋv*3?:erCym›=>7-ԸO%mL~η +GExNBϢxy>=t_$ĮcK,[Yt̿z;ݩ2;WWGF7c%ʹ&YF_I$zEhzTLP'v_.y<{UK?Ph ~yƟkv])>n=QލX6Qj[o8RrNO)&| +~J_ J%."mh>{x`j[%'"g?B=t(_>O)Ǧ Z>'닿-elkwnjmD/OK !{Pog+hqua澇h?;ur'uez\#ɲD;W}׈ݐQ^=x.H>~|~_vZ?9mĸt\6_Hqzɵ&ߎ_H]w/|6C:?$AӠT~0~bC2X#(u٢IIߚ%.L4M smI=G;|z#}3o'x>3?unN$77eJ9ruل15ܧq|Go9v|FoEAg>8XˀqvK hxO}wQt5'TQ?i)߮ڏ /qD܃=c&"euoPM}hi}2U棏;+"C#ILQw*G66eF'Ȏ$Acϼ~Wb ͎ K(|ʭLPq} YT- [e+\ޝ +YɒC|ˆ~{~]s]1YӺ[ݟ lunw:Vysk4y:';ۜV{_)/y{}?{:f![;3IlM;z.շV{Q%>ƹ-=eu>{z,*s5ݢ, ;KZwލU KzC!ycM8c=+m7T%inn,r!GGsO6}~3>bsn!ysᘂ|?oa1qaybɣ~2?O,GҎϦ-kǖ%"K{'@\0f?@c]^ߋ{5՝o^ r4c仔H#Mgz/¶rF붥< 8z>! O_zm'aw.qljqA>DQ˕~_Ey,[4dB{+}c_qeGDv+<x }Ƅo\N%~K*D|NBԂߵ͟}m.`k{ 63geNNJ;ov܅i!^(C2, yy/D)T Iݱ^ rEʰ sFЭWmm` sclƖ\qBrbe.81ۿȓs +U$!8_/hx3#W_ CY;I}?bU}࿍]~w%uy ^}77xPixźCfoX?~o_Ʊ{LŲt<%eP#C\:csD]g\lxNJ?E\U(G¥FDQ~1^}Ӗ \Ru2u"SߘcmATsF^vkQ/Dwˎ;&їdF~{6{5M>JSį̧N"MƮ4BBb_?m;pƱ[GA74apt /GB>lwt b\moN<nM{o6?,ПZ!؈CG{x7agK A?BHiOǂ/`,* "_]gA.&x'fuy|uHbL9'Dm14eS>3^?4L>)O.g$^Sϋ2ڻܑ%="h"Z ZJ~.1f)_v8֨ó$_`'#q/;w]C|cO1=+zP$cҿhVGH5Nqj 귳/^ 2p?En]}c}JOqhNvhz + 7n1Dːg 4f +ΫxB粊2\+E _KhuƏ}nqNYr'wAVMOawo55^9̝aġ_4r8W/Bϼr_oESo/C1ÀY)f<}a%?k(;> GBݐc(l|␨OL"pts߷KmlD}bX{7kw _}BQ߾O௹@'w>_KcEy䥨'C|읃ˊf.).`G^O +cÆWOΈtQvʾF٭1 gz N^e_gTF.3;cֿF +_)C|AhGYد y#r[!V1mn\}CRu?7xҺ; x\VxR1hkuWK[CFG]-ö2noLk++c|µ2ꊳ/s+ܡ=˄k׭–c6)Wz`?.6>0h{&r;FQudv@ȏ] BQ򂯉8eJ;Vr zC ;xoSJmeax'"<&O(FNLJ\3z;dH\mT &Tmi1w7 +ԥq%VȪX_?k[5n~YS#,mdqj|tkw(Q.i} :k{WjʋnFO+lgYGvZ 1h9AЁ<:N'К'q\!n򴾦_3y?_MC[ -DrD#0} +:JOXAp WH2퇰D_U|UO+rc53kg,fG*}-ۄg^Ȼ=5rRإǼFuvz##(/x}-uZX7 \bMù9+z0Tϻ1;)<`Z&~?.%V nwp+1UE kt}5׉ױN{Ds繉۫iqDzJQ=mb'<#%H [ȨvUFD^gsGW,ԍ}i/xwMeoϹXXпJNl:ƧDŽ˲D9HIUr#:ps29>+$c mU(BYSqVa<=a;SƣbGnGг C] _NQ?6<͏'9CZRkkЇFp.k:u3ڗ.ܠc'f(.ž2c(5ꎘ|3G G>[<}&_Rw~xc;WdMGdB3vX@<9_ ʤy{rkBq{DW,xW=u.>6`odžm<>=vᘧc|,4zih] "/mfw5Kϓ=ZR<>HyxӶy䉺ٟ]l_Y/ϻy^w,u>ZkgÈ[7Xm=~~&6?;'z"V%}Ժ_(Ęp/_ |7. ^r^ӭz!V!_ո#G+pҁ2g?!ܿôE| x}rkJoߡ0`EJ D|_eYWh|P%Z%.bf6 +vvԟzax}l(Enۡp;6uU;xTa,|l@^ӷ@32 +;e2ne "8uTڃ95;N^t^">ڝ^F*BlS(lR{\ +unǥQp-#6\2(zF]}Ue}(OZ}Լ -@^zŤ}s. 5&ʓlQ#? 6k \ sXs!;m~%6~J4L%޹oޯ{=ޕWگS<2=m1tydŷ){07gig9~<78x3;[jne=|6yWT64Wփ彉,ӲCYeZ '>b)otvz_8OaQ]W oQ2.ul_~Oe\XC](uwe~5߽P&CE!u^`^6'ʍyt?ڊrCnk@}Wɕ)ꕰ6Tzˮgz9&h|X07Z83CJ6z{}=_^^w9y}_ϫw?=\_G ;yVB<WZ8PLx^x-۠'&n!652~\(_v۬nsi;yQ!?YިNt[pM|q'N Oxxhi,AZy(ּ=zn `KֶjA9<~۞vi+@e]4ʏsy,˲ c3V rjP+)X}sg#Ibp]?(TОօEM^%gfBDލLwgZ&-]H; )VvǭCdYnt5>V CSkvw9D}yG Ub83M6ކ1<؅rgf /IJAӴ_\9.F}w@1mX>uCesYc*B_1n +>q` 9ۉѶʮsW" j 6 LW[mqFktue x]̸[gN7҇Zޣqk h[?}~m/b.kV~/zgvq#[ [Pm[W~7Q7uzg09<+Wl3gpdp̼ x21SgZ2@z<T = 47odчis:ogcquyiK?krzۂ8sD|>xhAL~:Pw yeF7F~CGw(߶4;rl݀q&Wt򣛐sJcAѿ%)Yz>Iqw(w"{ }пq؋@?zo.l=ƖVK8iVQ7u Az[ڙ~ȶҟQm_/ʛuK c{}DhQޥ`7>c FUOqN*i>wp%R} NhLG'ik>UzEr`# +h*EN%Sw+Ε0*hp c{1]q']0121yM %}-Ѕ}AZ&֣(<_BSf9<99ws8/OC'pTmĖ ~^/}޴3mfÆ{76fw^o=[Y܊uҌ]Omgv7ijS=߄3zlN\[G'Jٖ$Sw{t +}a95Zg1G&B.]hF/c"?}v[cb3;/~_RyX)>*ơNq~7s[^ 1S6mk;g#8_0ƪ|Pk. ܗ(Il/R(`^|Ɠa{lt~􌽾pܤY 냵z+k˳0ʽ9hRY6ƪa&y!MIAVē#?^1s3RTlx>` ϿR^k\/M¦=3EhpO 0LF~QVHbZonl4P}]d#e{66vY{R=d=v38TdB\cor jON qkhq]O>zIwźPYC=:@?/Ms~Pfz vy +7X(粝GPꔒ ȥˠ(YvYŽ̰ѫ8^<=9:˶ӢQ&G["+ib xee8cf/T56n8Y=(l{6z\>y[З9 YЭ]Dg7Vy1ܕ-s"MOAk~87h5#N MU4fM0ƸIvN~K%˪-wfIJA{[f2i;U6;.h8ibJ\:I=jӳ,L{gm8KDܟS60])}+<| 0^~ ?\;)=#d;yz~|VogliyWly/ Z9εd7sːwBؿf Y QV/ۥ+Dv{20-ZiisJ3g]"kwɹUiݡG$nټh ^垱Kt(k3O>_;CidWA]5\%Z~C -M_}/³<-?sʶp.2,/M!bu֏2 9kʏ}z6Cvߛ=.2LvQ22ˏ; ̶> <ú=NY3nn;y&CrƻOǽޔ1whI}78euR&*mtNo8.~yhW<{el:FЗPgˏ>l;/|G" k۟>Aƥb<غ_DqH뽽͆vfMh#˅ռ>cA;dX6KɅ6k]TWO@_'ۣ +RT춇vka^>Xޓ'ׯ9O3ovt/hw:яՇS}ZGPGobS/y(ݹϊ6;v ڮvog鐊V-ۣ_WX_2PTp=͹{:h+c&2KdxxelBc/QF:ZU<|oLMOUIynsK4SFPgG{!رX;>y>gtI?+}?!Y3gG];p嘺w҃'lBz|~>I:Ǖn1AĄ9c㜱猹~gUE1gؽҗɍIagYW{&K4"WAlyy8k1geU7=P#X?Qζ/cFqxΉu+'4'xO ϐ{;ƅݫЩ|˟dzवKa`3u&u'oteN71S_Y-x +h ;f!槾Q.ˆw~xap-L +~n׬cF.3J\olOSD9:<1sGx!8^+/JLg23zyWýȚH}e{s|>C}9/3+4Omn7pAݮ}YО: O<$z=`>:o!ߏZo.Ѫ~8%ʛ;99V}+̼s/_y4}A{}ML^JSpM|:}v̬RrOv62T\cnf%se˞eKy ,{;ԋnX3;}.D玞jVxWzcmm? w*7xAjTQ_|eGQ>o#ߌv O?8 + Ʋg-7vhg~ jyM/ #΄.o>(cx 7$V,ZЗVeЀE߂]8O Mlh.B=Bo6M?}oJ>t{?K4qseƀ7B xg2))>߲<K$6~?&tjUc S#l?ƍ_G;m?/lQهs:A>H3]2iPVwx`$ >mx)}g'hOY_X~y}3 _qWȏ 2#ʊX/o(Y{g,˦Ocf@?_Vy7,aBnr㽿z}ރ0^@od/tt6\u%MT|>.]q/^5,BO ቆq0|qg}֛귾^m]5;o w~[(CeE=߭Jaef_N〰؇w?up>uv6CڱvO4?o:rʹ兏~.ny8z|e@}'ϟwcqs~ȵ}~~Xʉ>Snt7c&L et5օ_~BO"if4͓Pup'2FaqbDh:i87 w(=]gMOcUۙiOiLSôƾROww/`쌕>9͢_lo^gm\amO+;mm] +e9ѹ n({h٤1F%dfqۻ)ac[sGG;n|W])xvӿRcKu=տu#1\_>8eu1~c/{x:nMO8jy9m?HxLݼuH;۹OqV2FWgܷzIo4Zrn{-?s6>{8O mWgu'gwkxrf C>9_CXF]ޮuy9˽JCjA1n^(<SwP ?ڦ'`j>`w>n=p 嵟#q~VRa;-sb'^<<;Bz9^``vr(O8<z'ʍ|/KKyE[SαuDžvL7eLuU'~Ɣ9О{7YG֏簺-j-3od/sW=u1M|xwp'rq>(>/3z~zcFDPT(E&Mmbw؞>p)V"5çӯ;qo70=tY-y/05c g9qfqqMi"8uFLNL3Ǚ3 D+R *9R9%w{"?'-<>ɶ)]VuNy/~1:y|NwO?Ѕ~ۑۍ~]6=j=RwhcQjΑb049VrM zb͆ÉFm49.hHN|vy2~>| ᬔNzv։6MtS΅Z'|eu:ҋѻy%⿷uS}C~caݿп[Ar<ey;c[)~V8q‰[) ~nysb(ہ>{vS蕒?'wWɭP߁ǒ}>铻>Ug])7:e6NC< e6SޝoJyK0M{Q?6h_^wԪrA9Ona{3Nrs%a v{r&)?:^8F[OԹD㏬G.&}ԍzuTk6٥@g~n|o8vK׺FtY/a<78{/auVȭK$m6W]%nE/! -{ .Ѿ>p ;ȐIKyLJPu3N]a:j +/oK䟴7x"oPNA';/oHd߇瓰'k{e4/H=}*uJ[XdߊRn'Vuog_z[kI[FfOF7<6:U'o}oNzͷߓ{ؿ)=8U_0ˑ^gB?翽’Mz/(Q߿j)ǝZkzqZSL֚^xbi/=!WF1gb4_CXwo_?og~~S?]4P?<)`Agwӧ=3mD٫h3a͸e\QoMH'ѧnkrK&2qɥhWޓh_ a c&髑'd;ysxWm]m6q}Moos}>}%o1);5y~fT߱S=w侗wWK +"[۳<wq!u@̎æ ow1~__ֿ =&=!pO|/}:hA,iF{Qgp +,_X܁]yvί?n*fcOR)ֽdL~+a?ty3+[)`hvNxRUr}y?Pww:kЖjE~ͶYDv "6p=r>HP}~㫧J~t{sDPVss>{G +#v7u0>𑆣~s:065G< hәr;c y?ױ/= 3w,;c|dz fj(u[\/჆+KŘktˠwC;/EsNXi/K$ʴ4Jc_-X=[x85+ʷ<$i> mEosF:^:ČlS:yB ͨ3sPnA; Ȗs{b܄,oo&bZf ;r]{}z_ͪ-Ky1hBn<2kSr5Aɋ=W5Uq+Sn(/#firZ cj wHaU{ 'k{s؏s&E+z&ZܢQD>VvC};\@g'ܣLuEq]c ![U x{^'سY_=rQۣ#=go7WRrlCOxN9k)[Cyug-[^>z}(bnOO_{A~̹ t^|qXgW{8S:=֌u&7{іNyxMKпLfP[ Cxzs|m?#N^Qۭ}CM~;uKܳBolfw-m>=k4gYY;csj?!3xGrx?+GNRdHk);ȖsD\iPd9Zѝ{@=__?:MXțQ!BMug~;Azspz99z9Y%MJ8 sfD{/SĻM<}EM/`<75:ȝu2N8l{YBQN{|zWz,H \4,ߤ_4C?[^-Z:vjX/lƖ%vz\QxO* SП2ۉ<ܴ";։:Я5nD_佝G+P\AOn1<עL”'x`|Isv ȉw@7JG+dGu;||܌о" 6?d&tM~h26봰9]7\݅ ~.mڜA[jWs{'ʯnцCƠot;veZosDZl[mf[Yܰww.o{ܜtŔ62oqZ챌cryC Q~ w86yJ_|ɫz6d(睲-C<! K]&܃ڳrڏO{_Ǔlk};|̥_=g&^S1|~q]Ţ'Wh7C(ok# yw=QN{fk>qMwzB;F2Qq.~cdk:D;O]WҽޘNޟ3G >n~G-mЎ,H 9&_ϳ{6sׅ66VߕPuܾ}(N|Fw]?cosa>w2(wɺʺ]>|Z[ސ%>O7EG/-V |?oo坘}d!x2~uqɭ;%8={ʛ)W*ABx,m$d@0Q}[a^ܫ=(eWOP/ןʐ!frUqe27(x2>x/O7>n)qޢ%D**[TN[MEmtCde?( iBM]{?gRB68@g"'$d?%M쏧i}[!%҇).Nni<p| ;jlm%y/wo]<#1w~LjxQyY! $\Y)q~cG7C=(~Q7oo60:W^QMukr=O%ݦVCs7**0>]g -nAM5^1_MBΕb2q{'홌"ޝcoeyi|ҽ7<9ؖVW-/=UPy~WsG_>JsCyA~͟Kܞm'Cn)vrwYW?de3|em^ߵbFlTy! g& ^xi:6 1hy$7h`6!ԕ mߍYV?xe}Bg?SD7rKa Uuh61R"KSF7R6!:;:v$M_B;:| <);lyS8Uw껨BdxGø{<_ND +s +VڧK+ G{C">1RoJS$퍲G>lX˻9Lж6\pD3!6 SW}]-D^k?OZkQl"ApK[dxs\eކLw~h~5W×H)21_Ǘl/, b ]e߫3!xojrgx6bL/%͉PߊPgVY uKn>`:e~~u;voH1 c[_d#xw[7Ϫp^6V~ۀZr.ygj\o+c׬ +P]Um>Кiyq OϑW+?:Y4$~w?x='lh YRtritv)W~2\@=jmYɺX.:u10!>6:hlP=]?wc]9AOw}} +yXavQ ++7ۂ;'-Eq[Q~saoJDˀC8TdyGkZH +y6s}QLߪ}o (m}ؾTxurGj5ubn+{'. t+|N~H 3a/7Aw+ +ڹ6} 胲GƢA +987 ہggt\9"#7_'e}cvvfk z Kx4bR3)y=|/e:?XZO ċEJ[:Ơ{#!֋Y/C|{%Oxp1WGN +xؔч{\Yypom3ߋoX{2ua#J~N9K{G "s3+;G%?)3Eɮ~$ķg2>|e/̺k<8.Hߒ' A?Lu~9=5ov֟g8ou_xc2lGƂ(ȇoQ{_bYq_Ĭi.'=}xr#GD[E"\W6%:i&}ߡB*GsT{ 6-9nk=/Eg+/]Ƥ7m-G~ؾנDuYzT +z}H>9/#W_ypU[I|t+?&S#qkubґaGH+ˁfIQ53iJsZg[j~sZnkQpb}XiI/HZ~9э6֞;onXmu75N[v4s_'˨J#Ew/no71nxN*ד0WCw@\ݹ;?sE޺4ݑ?('2iS/d n%,(x:O +9z;'V +˻,lϚ /31f@x&5k~7tydzEQHzW[6 ';`g[\YM/͛!r_c #*nَvm8l׆]#6} cc;m+T򼺼}XoE[!??QU:5R ^~g?\&2ݗr/b"⿦FֻNo%%+ڛavUhoK/9۬Txre{oG[e֢ͷg`;MWm87mN< ;,W3 +.pۨSmw*+煾^mB{)s܆6e;ؼXDٹc&@Tx u-@zTDӜאԨWo +yeA\џA;t[P~Av1 fп[ύgC Wt@9E1?}VtлDӫû𧉦=HF0K5 1+ZR>N{_x߽1ܝo3Օu5 \|qŌE V_Y]X?w:ճ4YU39UW-E5i*}.j|ԓ򪅵Tx Q쌹AYfDRY. R-xnQ9-[Ty>oί ]!Ub[]*_x)wfU5kTlnpB!2eWUϙ[gG@W_4=%TUεH4LP|T/"t2kN%ĿE+fUͬcjZM5O˯򊫧M2bƔˮp_< H ̚_13pM[UV.Uۯꅳmg,SϮ_W,MN{fApa^KUS + RT ;uIs(G3fUK)8rS_tK٣H>X]W4)<`SI|hv(Uz!TĐ2~┙Vt P_XQfVke;q]59s16KeÐBWޥhmJ5s ]  Duim ~.Ԧ%b-WգQ^7|RN5fD-+fWiM5:x] WyjMpܤ#| _%k+Ȃ~[1 + ]nT"Y8m,:Pmtl [vI@x>3|fU-Z8 bj++AF,tKe󪪀.LŠ)'QJ\9U_\#jR*գT]4 P>j: /MSMUΟ~3*.iǦLH=Ly9,8=fݿJN4ޕ3&cַwNUi;A%5^ϫ{FmzV{>,yWzgڹϒ*ii7^Bw…#J^R55U h4;|awfMѹAW9 ю1N224z;~=?xW4n/is+OiǦpu5#/trq_$D 3q4jƕ]7zȲS>ě1ybyZ6촊ѪvwY5)39t//.,ux/^&d {mmb`4TQPO /`vwO)؞n 1W̮ɼ_&sE gIPণ_P :g΢ "X[HbƢuS9\F +0Mʭ6\P+9`+NbՓE5u*RX⊲Uzn_|KER2_Q mgS_X.IbE2ή^8Fh/.I&|{ͩ"h: ko8Ƥ 0'_9)W{/_~jt.}D< :dӑ{ ^ye._(gH*OazRь\}pt۔^VPKqTni9tԪӥQs+J"nRJ)DIO8ndAm.5頋jzOsFM>Ԗѳ]Ust4J~a%CL5څJet;1wwJM͢] _3j2r-B{Sљw6̰sVyegU-AJPHםKL%˛ Мw"eRepT-It 8Awix*޲)^59F4B*֤։VYQ[UHҴ/:TVio\tnt.U-2?I ZE)y/_Ƭ\LoRS0Tx^E|ҟ:2Y:D)# ֵ#YU]&'fənG%^\n^55ķb7I.^sb]K]7u +[;8,BIT:[t"96r"v|*dPDM$lT!Z9_ +3Tη RIqv ѻ@YaϬ,ZXJ<Dz̭iqMltY / Jpqƭ\2KRkUǴiACV!Ycɲ%kTJn4On!M9u[aDjGWϮLB)X v~]_Τ* K^wWo1m'SM2~ !*<ң71>ӝ~歪Z\޲~j,b/?ߴV/9Emu5UN̦¤b{ZY0%Yj{E)*:XiL&5/2a\7)^DfBdUm%CtGN"ڒU +>~j9,Mŧ,X\w+9Ĵ238p$j1 )aUS^SMm+_f$tشICNNAXruB*'&Ѫe*R<Ā_KJORK¯dRŤ.D9.пij MZQgXm-uȮ[@U/Y-v [xEsᒨ)àTWZ% C:6;Y/t ȜFY:wYop[ur\:טz"WHZFj5ҩc\n 4wkĸN8ǁ$|֢*emFW76_:^D!-qU&~L -^յ ZW) ]}Ԟ:afW/T$u=A=24=\P(=M2FsIۢ3VrXH҅tclfsw. +ˏl5]V`KK|.d(@_e\"Uݤ,+__+7:]Zt ߗԣqf§gG^jV5WK僀2*ebj;WM[\f48@L>ƗJdbH#E\D:RBL[<]y82LJO*74Uk%pÏ!*IYYXJkwZH&L.>ӅH I$Ft}E5u)kZ;1!}%\N4bW%F_;~8HT &"%#*1^D:/lÔYFGebMmJ%h5ri:xNZfJ'_aAO DLcuPo6SW󤺡w骼4%irO{ǵupNTu{(AN>yZZF,fufTUuFKǓ8'(VEvVr'ɷ$5Nr:%ZWtNGLK4z rA_(;MMO͢xu8D>hh $$q .g3я^̉-{ tƇ;/WkRKKK!wj*8R;%[uDL9@`mz9t Im':tg[`ő_筅/I!hLUV`pS#Ur_d'[m1hN0S0r$IO 4z9vOfFV["͏Xku:$}5&gjP\t͎9(drnq":PM X[4zI<[;zIgߎ _~5F%uiO77WѡF)Ԯ˽f5HҕqJHKC-=]<]8ҹ9t&̄4*u23gmܓ˅y7k;)2o4$=FƬșA>2䂙b'|!yϯ^8OͷYDE] VQgN%3_“qVϦe"CdN/cQ +͇GoAHdTX7u>Z'-e&λq|LQi6d^XG+BvEʫs{pK}fƋFͲ.Γ-CUM̙VB4ԝ!K*]61d'~N.Ju%+)rf9obl +zCvzU/;EjkCJZ{Kίq g9>]=!ģ;3T!O|݅Bx886Duw':Zx.#<w'6)<7.1<n;x< x^g+(x= :?؊x65Oύx>g'O񜏧dzBHswD<}?ύD݊ !O$!Dx>g :NK$6y:sh"q.c^Gx³(X;81,x +g'ٹ !xuV"1_xD`Dxnx52؊1EЃ‰ w!{/M$9t&x /99rOI$~ vQqi~u hn#^6%2$dkK AT>0Z4r1޿q\ |+zoCl]YVG;0 p #ò.pp? 8F;`CzvYA{-? 9}`I?G`goC3sYڏ-` 0`5J }`/;>w?@ c_!`ʛ.17p'˟;4 q/<=h;?CQ Cjv@Go#T +p}z'0mHo+:*>mT/ePUj_ S0>h'8O[ >#`VvV5PxYJ{><`ht'y̛w%q ~xwƉěO|Yajr*Mʧ>زز*|8i?%qʯɾN?;+ :gzD$.v%v'xI&&=!tcj|7mߥ_3_Emϭck4 +bLy!c1#d% HakfV]Ip D'{{=;ssE]>GdijZ`߻gGpȞWMถXOpr4_+ ٠¶}*ڇe"*$"=AA |Z)}oPy`s+{} 5'qg'&&T>3 g><]n,ETq-o@n+isSKNoqs3a(&r|OB~z_sv44_SW^wYMӕiOj>˅]C^V'%].L?trθXEÑ('g#Xf<@R<=z/ mZ08P*'X2QLصAy?^ d,hS)/ 7pG>ǎ9n(Lx:ʵZ>5^"Ui#Aa`KQGަfX=.yǽ~&cl=L{}nnb _/d"}TӘTyXƑḒ1]?ev=ٽNGA]|L}V2ݕS40=>֗ >! + 4UL-&%Ss >ѳڍA~![2Qg }|3qk"#џS /p~ge4b <TZ ĆZ ou\1Bo+}O?S"-fOz1ƠWg +>֓޿>yť<[^ǵu;Bt\Bm |{ٙTܻg/$SR(gc4ݙ=;jTؗ曙;BЋ_waɓȁpͿ#:Z)_x支_FJ|'D;BW6j8THўkk:c/SsdS2 w*OJ6gD|WÔISHTk'f/v>I5y{)"ӂIנ_~c\CJ?~7!~a_ogHE jv%;[OjLIQ11SO"8y#f oQrm#b>AV93-+_iqWG˜oRmmcn3☶Q]B#m>G$Uʹۣ"vi^rby~SSgjQ $" &407HBC-LPgݘ7sqɶAqv|E]as@1mhی6#m^ѵݶ1m'=-}g? ]1x4wvKXLof4xde-v/9J͐B!˼&p!2 {,T^~YĠer|_( |>QynPCƀ2jGl\8L酌t +ٗ?ҬdgKɦ39 m>/xE0d@ip>DuS}=iůYwKs7jòXm6nW$nWrqkJ0ȟ_D4p.@hh2g(I:vw &/zqy,|I:܀}J7[ƒbKByNwqL19n3r4L{>t~vnzFl FΏOLЭ>y)Qqz8AO?{XoE ߗy1661$ÒAs +tW~ =Oχ}w\wuBi{dg݂|V F_| '?: (-;btzfWwaz&v]̽%b;5E;khDYUڳ'>ޛxmv·fKE}aH0o/EE>}94^Z{ O Z$Ck}^ٯ9:=s%Qgk1<\)DJq],V"S:Yf'DtYx$4%/DӋ<ͤGg)SI$H [bO*gp_f"C|O8NUݭc{>.N /UMw&v:~O>+s!}|72hN#W'&GTҼǴ~X ڛೀ&}Q|ĿדֻksTKiS6,FNKQNIxC\AZ"so~ZG#v%wO`lŦݻV<3DytJs!NЅtMq 褃h/ve"KV<}h3+}0L+b"h>Lrmr5fae)h#膴+ l|E]i^I=ŊQaWfʧOT;c⶧{CFO ӓӗ܇CבʗW͘W)/(WVӮe_rK +/K#yY2Klq3Le|hGl *kbv3"VR.7uґڔêk&n%H} "[%NH{3{7bf;h$~^񤏎?#pr\n!!+{y)@cWzߑ|>r>z8kT +u&SAxv٩\= -䦹Y'5vĆ@2d1qIt63ZO%ȯWbgLh#ӡЉ!Dhъ ܎H~ȯQfQgG_O[pSG3uP~CŲv- +RVI~3kF2dv[lQɬےو|N~ N>bN>bN~.sbÜ09_t;pLfc ?K+.v-_j;m$F&kK]#:eu[_[;6)|)M\樴n)x%;/+ ?Aۮ=:9};N/8(.jXSkߤ]>֑n޶e^޺V.法_gK϶N.~9 +^_l~o[˪퉰-F9G6tj+C\;er N۵j|Auhe)Vv K?ogv:· vӝآF +ZGS8p\ong뀰nghO#Yp=.緷3.^Z5mH6nƭcla1:673حMƍ ɸg]l,uy]߲u`[6v O'So9Fi6$V9 &vtdv#9iPoZ%n;q]t1'1˓D4%фI37gIQ}"qxы\fWGmI*q_WxpU馟X+2x#z|1[W/͓ |.@n;S+NFEXֱizYu`4d)bqJaVZܾW4^P.|nT)#Ts$+Aݴ= xB.-,A^!fߜRbd2.&jJ"& MTJWTBy" ` g0 >thbg&2tjݰtRrh$`XNڐA7%;G['knGn2ِΑ[ܢ~u8ޑQD z4]w^NBNSv P"uz/////(^FR;J \V.q +XeA?UP;KZ[r+&akY/<&JC*ZR+kӹ =]~%/ڿzI ݒjT6?zRB>SIL}"3UmoKN,)SR+cq*+hsAwsKx_*[*%[$LT[ c ytmk>+Rۿ1QyTA%VȧayL!dl~ɺVnY=B_7U +xaa`[zE@Uv~JK^t?Wnkn1v"gON^NլPx>goncOy{m9MM͍ͧf9u59gZrߔ>WDtS-˩Xt= SXs4!,-iozaӟsd95ޡz1\3gNmh>%^"y:xa_BA۽oXMM,BV7kΏ׆.G~%\ClHأmvMo)6l !ɥ&(Ov{lh9v(<†oٰŮy T;Oo]=ʛlhMy $L<Ն6]b Wc:l Աh42H8=b4"چvjX?d>Ά.;~&lHS5`?t6ܜn?}ߵI^ٰNU=_>dy +[ weYާHX}cGߦRY*zWOLMomY@Mo,o{Fc/Vhк'c%V6>Mѧ)_;N6=ŧb3t((i_6>5MU76`&W9^X¯PP%v?ey{vcF-B*]ſ~LboZ`oh8xJ A*v^JNnK5Hc ߳vݓ\|&7}.mlt00ٚss[s%$s=MgtL d /=+MfD]?_6knii̹hkRïtù(L#qB|{YGD&I*oɕTEq0#3,‘An-acoFKU +ƚMx[ CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.i + +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.s" + cd /Package_Cann/test/No_standard/build_out/framework/tf_plugin && /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /Package_Cann/test/No_standard/framework/tf_plugin/tensorflow_reduce_sum_plugin.cc -o CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.s + +# Object files for target cust_tf_parsers +cust_tf_parsers_OBJECTS = \ +"CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o" + +# External object files for target cust_tf_parsers +cust_tf_parsers_EXTERNAL_OBJECTS = + +framework/tf_plugin/libcust_tf_parsers.so: framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o +framework/tf_plugin/libcust_tf_parsers.so: framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make +framework/tf_plugin/libcust_tf_parsers.so: framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/Package_Cann/test/No_standard/build_out/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX shared library libcust_tf_parsers.so" + cd /Package_Cann/test/No_standard/build_out/framework/tf_plugin && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cust_tf_parsers.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build: framework/tf_plugin/libcust_tf_parsers.so +.PHONY : framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build + +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/clean: + cd /Package_Cann/test/No_standard/build_out/framework/tf_plugin && $(CMAKE_COMMAND) -P CMakeFiles/cust_tf_parsers.dir/cmake_clean.cmake +.PHONY : framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/clean + +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Package_Cann/test/No_standard /Package_Cann/test/No_standard/framework/tf_plugin /Package_Cann/test/No_standard/build_out /Package_Cann/test/No_standard/build_out/framework/tf_plugin /Package_Cann/test/No_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/depend + diff --git a/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/cmake_clean.cmake b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/cmake_clean.cmake new file mode 100644 index 0000000..a373111 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o" + "CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o.d" + "libcust_tf_parsers.pdb" + "libcust_tf_parsers.so" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/cust_tf_parsers.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.internal b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.internal new file mode 100644 index 0000000..430fb11 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.internal @@ -0,0 +1,225 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o + /Package_Cann/test/No_standard/framework/tf_plugin/tensorflow_reduce_sum_plugin.cc + /usr/include/stdc-predef.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/register.h + /usr/include/c++/11/functional + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h + /usr/include/features.h + /usr/include/features-time64.h + /usr/include/aarch64-linux-gnu/bits/wordsize.h + /usr/include/aarch64-linux-gnu/bits/timesize.h + /usr/include/aarch64-linux-gnu/sys/cdefs.h + /usr/include/aarch64-linux-gnu/bits/long-double.h + /usr/include/aarch64-linux-gnu/gnu/stubs.h + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h + /usr/include/c++/11/bits/stl_function.h + /usr/include/c++/11/backward/binders.h + /usr/include/c++/11/new + /usr/include/c++/11/bits/exception.h + /usr/include/c++/11/tuple + /usr/include/c++/11/utility + /usr/include/c++/11/bits/stl_relops.h + /usr/include/c++/11/bits/stl_pair.h + /usr/include/c++/11/bits/move.h + /usr/include/c++/11/type_traits + /usr/include/c++/11/initializer_list + /usr/include/c++/11/array + /usr/include/c++/11/bits/functexcept.h + /usr/include/c++/11/bits/exception_defines.h + /usr/include/c++/11/bits/stl_algobase.h + /usr/include/c++/11/bits/cpp_type_traits.h + /usr/include/c++/11/ext/type_traits.h + /usr/include/c++/11/ext/numeric_traits.h + /usr/include/c++/11/bits/stl_iterator_base_types.h + /usr/include/c++/11/bits/stl_iterator_base_funcs.h + /usr/include/c++/11/bits/concept_check.h + /usr/include/c++/11/debug/assertions.h + /usr/include/c++/11/bits/stl_iterator.h + /usr/include/c++/11/bits/ptr_traits.h + /usr/include/c++/11/debug/debug.h + /usr/include/c++/11/bits/predefined_ops.h + /usr/include/c++/11/bits/range_access.h + /usr/include/c++/11/bits/uses_allocator.h + /usr/include/c++/11/bits/invoke.h + /usr/include/c++/11/bits/functional_hash.h + /usr/include/c++/11/bits/hash_bytes.h + /usr/include/c++/11/bits/refwrap.h + /usr/include/c++/11/bits/std_function.h + /usr/include/c++/11/typeinfo + /usr/include/c++/11/map + /usr/include/c++/11/bits/stl_tree.h + /usr/include/c++/11/bits/allocator.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h + /usr/include/c++/11/ext/new_allocator.h + /usr/include/c++/11/bits/memoryfwd.h + /usr/include/c++/11/ext/alloc_traits.h + /usr/include/c++/11/bits/alloc_traits.h + /usr/include/c++/11/bits/stl_construct.h + /usr/include/c++/11/ext/aligned_buffer.h + /usr/include/c++/11/bits/stl_map.h + /usr/include/c++/11/bits/stl_multimap.h + /usr/include/c++/11/bits/erase_if.h + /usr/include/c++/11/memory + /usr/include/c++/11/bits/stl_uninitialized.h + /usr/include/c++/11/bits/stl_tempbuf.h + /usr/include/c++/11/bits/stl_raw_storage_iter.h + /usr/include/c++/11/bits/align.h + /usr/include/c++/11/bit + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h + /usr/include/stdint.h + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h + /usr/include/aarch64-linux-gnu/bits/types.h + /usr/include/aarch64-linux-gnu/bits/typesizes.h + /usr/include/aarch64-linux-gnu/bits/time64.h + /usr/include/aarch64-linux-gnu/bits/wchar.h + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h + /usr/include/c++/11/bits/unique_ptr.h + /usr/include/c++/11/bits/shared_ptr.h + /usr/include/c++/11/iosfwd + /usr/include/c++/11/bits/stringfwd.h + /usr/include/c++/11/bits/postypes.h + /usr/include/c++/11/cwchar + /usr/include/wchar.h + /usr/include/aarch64-linux-gnu/bits/floatn.h + /usr/include/aarch64-linux-gnu/bits/floatn-common.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h + /usr/include/aarch64-linux-gnu/bits/types/FILE.h + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h + /usr/include/aarch64-linux-gnu/bits/wchar2.h + /usr/include/c++/11/bits/shared_ptr_base.h + /usr/include/c++/11/bits/allocated_ptr.h + /usr/include/c++/11/ext/atomicity.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h + /usr/include/pthread.h + /usr/include/sched.h + /usr/include/aarch64-linux-gnu/bits/types/time_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h + /usr/include/aarch64-linux-gnu/bits/endian.h + /usr/include/aarch64-linux-gnu/bits/endianness.h + /usr/include/aarch64-linux-gnu/bits/sched.h + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/aarch64-linux-gnu/bits/cpu-set.h + /usr/include/time.h + /usr/include/aarch64-linux-gnu/bits/time.h + /usr/include/aarch64-linux-gnu/bits/timex.h + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h + /usr/include/aarch64-linux-gnu/bits/setjmp.h + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h + /usr/include/aarch64-linux-gnu/sys/single_threaded.h + /usr/include/c++/11/ext/concurrence.h + /usr/include/c++/11/exception + /usr/include/c++/11/bits/exception_ptr.h + /usr/include/c++/11/bits/cxxabi_init_exception.h + /usr/include/c++/11/bits/nested_exception.h + /usr/include/c++/11/bits/shared_ptr_atomic.h + /usr/include/c++/11/bits/atomic_base.h + /usr/include/c++/11/bits/atomic_lockfree_defines.h + /usr/include/c++/11/backward/auto_ptr.h + /usr/include/c++/11/set + /usr/include/c++/11/bits/stl_set.h + /usr/include/c++/11/bits/stl_multiset.h + /usr/include/c++/11/string + /usr/include/c++/11/bits/char_traits.h + /usr/include/c++/11/cstdint + /usr/include/c++/11/bits/localefwd.h + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h + /usr/include/c++/11/clocale + /usr/include/locale.h + /usr/include/aarch64-linux-gnu/bits/locale.h + /usr/include/c++/11/cctype + /usr/include/ctype.h + /usr/include/c++/11/bits/ostream_insert.h + /usr/include/c++/11/bits/cxxabi_forced.h + /usr/include/c++/11/bits/basic_string.h + /usr/include/c++/11/ext/string_conversions.h + /usr/include/c++/11/cstdlib + /usr/include/stdlib.h + /usr/include/aarch64-linux-gnu/bits/waitflags.h + /usr/include/aarch64-linux-gnu/bits/waitstatus.h + /usr/include/aarch64-linux-gnu/sys/types.h + /usr/include/endian.h + /usr/include/aarch64-linux-gnu/bits/byteswap.h + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h + /usr/include/aarch64-linux-gnu/sys/select.h + /usr/include/aarch64-linux-gnu/bits/select.h + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h + /usr/include/aarch64-linux-gnu/bits/select2.h + /usr/include/alloca.h + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h + /usr/include/aarch64-linux-gnu/bits/stdlib.h + /usr/include/c++/11/bits/std_abs.h + /usr/include/c++/11/cstdio + /usr/include/stdio.h + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h + /usr/include/aarch64-linux-gnu/bits/stdio.h + /usr/include/aarch64-linux-gnu/bits/stdio2.h + /usr/include/c++/11/cerrno + /usr/include/errno.h + /usr/include/aarch64-linux-gnu/bits/errno.h + /usr/include/linux/errno.h + /usr/include/aarch64-linux-gnu/asm/errno.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/errno-base.h + /usr/include/aarch64-linux-gnu/bits/types/error_t.h + /usr/include/c++/11/bits/charconv.h + /usr/include/c++/11/bits/basic_string.tcc + /usr/include/c++/11/unordered_map + /usr/include/c++/11/bits/hashtable.h + /usr/include/c++/11/bits/hashtable_policy.h + /usr/include/c++/11/bits/enable_special_members.h + /usr/include/c++/11/bits/unordered_map.h + /usr/include/c++/11/vector + /usr/include/c++/11/bits/stl_vector.h + /usr/include/c++/11/bits/stl_bvector.h + /usr/include/c++/11/bits/vector.tcc + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/include/c++/11/atomic + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_error_codes.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_fmk_types.h + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_types.h + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + diff --git a/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.make b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.make new file mode 100644 index 0000000..d0c6fcf --- /dev/null +++ b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.make @@ -0,0 +1,650 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o: ../framework/tf_plugin/tensorflow_reduce_sum_plugin.cc \ + /usr/include/stdc-predef.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/register.h \ + /usr/include/c++/11/functional \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h \ + /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h \ + /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h \ + /usr/include/c++/11/tuple \ + /usr/include/c++/11/utility \ + /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/bits/stl_pair.h \ + /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits \ + /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/array \ + /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h \ + /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h \ + /usr/include/c++/11/bits/refwrap.h \ + /usr/include/c++/11/bits/std_function.h \ + /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/map \ + /usr/include/c++/11/bits/stl_tree.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/bits/stl_map.h \ + /usr/include/c++/11/bits/stl_multimap.h \ + /usr/include/c++/11/bits/erase_if.h \ + /usr/include/c++/11/memory \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h \ + /usr/include/c++/11/bit \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h \ + /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/bits/shared_ptr.h \ + /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h \ + /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar \ + /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h \ + /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h \ + /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/backward/auto_ptr.h \ + /usr/include/c++/11/set \ + /usr/include/c++/11/bits/stl_set.h \ + /usr/include/c++/11/bits/stl_multiset.h \ + /usr/include/c++/11/string \ + /usr/include/c++/11/bits/char_traits.h \ + /usr/include/c++/11/cstdint \ + /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale \ + /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h \ + /usr/include/c++/11/cctype \ + /usr/include/ctype.h \ + /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/string_conversions.h \ + /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h \ + /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h \ + /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h \ + /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h \ + /usr/include/c++/11/cstdio \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/stdio2.h \ + /usr/include/c++/11/cerrno \ + /usr/include/errno.h \ + /usr/include/aarch64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h \ + /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/basic_string.tcc \ + /usr/include/c++/11/unordered_map \ + /usr/include/c++/11/bits/hashtable.h \ + /usr/include/c++/11/bits/hashtable_policy.h \ + /usr/include/c++/11/bits/enable_special_members.h \ + /usr/include/c++/11/bits/unordered_map.h \ + /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/vector.tcc \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/include/c++/11/atomic \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_fmk_types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h + + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/resource_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/tensor.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/inference_context.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/register_types.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h: + +/usr/include/c++/11/bits/vector.tcc: + +/usr/include/c++/11/bits/stl_bvector.h: + +/usr/include/c++/11/bits/unordered_map.h: + +/usr/include/c++/11/bits/enable_special_members.h: + +/usr/include/c++/11/bits/hashtable_policy.h: + +/usr/include/c++/11/bits/basic_string.tcc: + +/usr/include/asm-generic/errno.h: + +/usr/include/aarch64-linux-gnu/bits/types/error_t.h: + +/usr/include/linux/errno.h: + +/usr/include/aarch64-linux-gnu/bits/stdio_lim.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h: + +/usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/register_error_codes.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/ge_error_codes.h: + +/usr/include/stdio.h: + +/usr/include/c++/11/bits/std_abs.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/aarch64-linux-gnu/sys/select.h: + +/usr/include/aarch64-linux-gnu/bits/uintn-identity.h: + +/usr/include/aarch64-linux-gnu/bits/waitflags.h: + +/usr/include/stdlib.h: + +/usr/include/c++/11/bits/basic_string.h: + +/usr/include/c++/11/bits/ostream_insert.h: + +/usr/include/c++/11/unordered_map: + +/usr/include/aarch64-linux-gnu/asm/errno.h: + +/usr/include/c++/11/cctype: + +/usr/include/aarch64-linux-gnu/bits/locale.h: + +/usr/include/locale.h: + +/usr/include/c++/11/cerrno: + +/usr/include/aarch64-linux-gnu/bits/stdio.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h: + +/usr/include/c++/11/bits/localefwd.h: + +/usr/include/c++/11/cstdint: + +/usr/include/c++/11/string: + +/usr/include/c++/11/bits/stl_multiset.h: + +/usr/include/c++/11/bits/stl_set.h: + +/usr/include/c++/11/set: + +/usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h: + +/usr/include/c++/11/bits/atomic_lockfree_defines.h: + +/usr/include/c++/11/bits/shared_ptr_atomic.h: + +/usr/include/c++/11/bits/nested_exception.h: + +/usr/include/c++/11/ext/string_conversions.h: + +/usr/include/c++/11/bits/exception_ptr.h: + +/usr/include/c++/11/ext/concurrence.h: + +/usr/include/aarch64-linux-gnu/sys/single_threaded.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h: + +/usr/include/endian.h: + +/usr/include/c++/11/ext/aligned_buffer.h: + +/usr/include/c++/11/iosfwd: + +/usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h: + +/usr/include/aarch64-linux-gnu/bits/struct_rwlock.h: + +/usr/include/c++/11/bits/alloc_traits.h: + +/usr/include/c++/11/bits/cxxabi_forced.h: + +/usr/include/c++/11/ext/alloc_traits.h: + +/usr/include/c++/11/bits/stl_tempbuf.h: + +/usr/include/c++/11/bits/invoke.h: + +/usr/include/c++/11/map: + +/usr/include/c++/11/bits/range_access.h: + +/usr/include/c++/11/bits/exception.h: + +/usr/include/aarch64-linux-gnu/bits/sched.h: + +/usr/include/aarch64-linux-gnu/bits/types/locale_t.h: + +/usr/include/c++/11/debug/assertions.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h: + +/usr/include/aarch64-linux-gnu/bits/byteswap.h: + +/usr/include/c++/11/bits/concept_check.h: + +/usr/include/aarch64-linux-gnu/bits/long-double.h: + +/usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h: + +/usr/include/stdint.h: + +/usr/include/aarch64-linux-gnu/bits/libc-header-start.h: + +/usr/include/c++/11/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/11/ext/new_allocator.h: + +/usr/include/c++/11/backward/auto_ptr.h: + +/usr/include/c++/11/bits/stl_uninitialized.h: + +/usr/include/c++/11/memory: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/c++/11/bits/stl_map.h: + +/usr/include/c++/11/bits/refwrap.h: + +/usr/include/aarch64-linux-gnu/bits/select.h: + +/usr/include/aarch64-linux-gnu/bits/timesize.h: + +/usr/include/c++/11/exception: + +/usr/include/aarch64-linux-gnu/sys/cdefs.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h: + +/usr/include/c++/11/debug/debug.h: + +/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h: + +/usr/include/c++/11/bits/uses_allocator.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h: + +/usr/include/errno.h: + +/usr/include/c++/11/utility: + +/usr/include/c++/11/bits/atomic_base.h: + +/usr/include/c++/11/ext/numeric_traits.h: + +/usr/include/c++/11/bits/functional_hash.h: + +/usr/include/features-time64.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h: + +/usr/include/aarch64-linux-gnu/bits/stdint-intn.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs.h: + +/usr/include/c++/11/typeinfo: + +/usr/include/aarch64-linux-gnu/bits/types/wint_t.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h: + +/usr/include/aarch64-linux-gnu/bits/types/clock_t.h: + +/usr/include/c++/11/bits/predefined_ops.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h: + +/usr/include/c++/11/bits/stl_relops.h: + +/usr/include/c++/11/bits/move.h: + +/usr/include/c++/11/bits/unique_ptr.h: + +/usr/include/c++/11/bits/stl_vector.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h: + +/usr/include/c++/11/array: + +/usr/include/c++/11/bits/ptr_traits.h: + +/usr/include/c++/11/bits/stl_iterator.h: + +/usr/include/c++/11/new: + +/usr/include/c++/11/ext/type_traits.h: + +/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/register.h: + +/usr/include/features.h: + +/usr/include/c++/11/bits/stl_multimap.h: + +/usr/include/aarch64-linux-gnu/bits/errno.h: + +/usr/include/aarch64-linux-gnu/bits/stdio2.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h: + +/usr/include/c++/11/bits/stl_tree.h: + +/usr/include/c++/11/tuple: + +/usr/include/c++/11/type_traits: + +/usr/include/ctype.h: + +/usr/include/aarch64-linux-gnu/bits/endianness.h: + +/usr/include/c++/11/bits/stl_function.h: + +/usr/include/c++/11/bits/stl_pair.h: + +/usr/include/c++/11/ext/atomicity.h: + +/usr/include/stdc-predef.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/c++/11/bits/char_traits.h: + +/usr/include/c++/11/functional: + +/usr/include/aarch64-linux-gnu/bits/wordsize.h: + +/usr/include/c++/11/bits/cpp_type_traits.h: + +/usr/include/pthread.h: + +/usr/include/c++/11/bits/stl_construct.h: + +/usr/include/aarch64-linux-gnu/bits/typesizes.h: + +/usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h: + +/usr/include/aarch64-linux-gnu/bits/waitstatus.h: + +../framework/tf_plugin/tensorflow_reduce_sum_plugin.cc: + +/usr/include/c++/11/atomic: + +/usr/include/c++/11/bits/exception_defines.h: + +/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h: + +/usr/include/c++/11/bits/stl_raw_storage_iter.h: + +/usr/include/c++/11/vector: + +/usr/include/c++/11/bits/align.h: + +/usr/include/c++/11/cstdlib: + +/usr/include/c++/11/bits/stl_iterator_base_types.h: + +/usr/include/c++/11/bit: + +/usr/include/alloca.h: + +/usr/include/aarch64-linux-gnu/bits/time64.h: + +/usr/include/aarch64-linux-gnu/bits/stdlib-float.h: + +/usr/include/aarch64-linux-gnu/bits/select2.h: + +/usr/include/c++/11/bits/functexcept.h: + +/usr/include/aarch64-linux-gnu/bits/time.h: + +/usr/include/c++/11/cstdio: + +/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h: + +/usr/include/aarch64-linux-gnu/sys/types.h: + +/usr/include/c++/11/bits/shared_ptr.h: + +/usr/include/c++/11/bits/memoryfwd.h: + +/usr/include/c++/11/bits/stringfwd.h: + +/usr/include/c++/11/bits/postypes.h: + +/usr/include/c++/11/bits/stl_algobase.h: + +/usr/include/c++/11/cwchar: + +/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h: + +/usr/include/c++/11/bits/cxxabi_init_exception.h: + +/usr/include/wchar.h: + +/usr/include/aarch64-linux-gnu/bits/timex.h: + +/usr/include/c++/11/backward/binders.h: + +/usr/include/aarch64-linux-gnu/bits/floatn.h: + +/usr/include/c++/11/bits/hash_bytes.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h: + +/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h: + +/usr/include/c++/11/bits/charconv.h: + +/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/__FILE.h: + +/usr/include/aarch64-linux-gnu/bits/types/FILE.h: + +/usr/include/aarch64-linux-gnu/bits/wchar.h: + +/usr/include/c++/11/bits/shared_ptr_base.h: + +/usr/include/aarch64-linux-gnu/bits/wchar2.h: + +/usr/include/aarch64-linux-gnu/bits/floatn-common.h: + +/usr/include/c++/11/bits/allocated_ptr.h: + +/usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h: + +/usr/include/sched.h: + +/usr/include/aarch64-linux-gnu/bits/types/time_t.h: + +/usr/include/aarch64-linux-gnu/bits/endian.h: + +/usr/include/aarch64-linux-gnu/bits/cpu-set.h: + +/usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h: + +/usr/include/time.h: + +/usr/include/c++/11/initializer_list: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h: + +/usr/include/c++/11/bits/allocator.h: + +/usr/include/c++/11/bits/std_function.h: + +/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h: + +/usr/include/c++/11/clocale: + +/usr/include/aarch64-linux-gnu/bits/types/timer_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h: + +/usr/include/c++/11/bits/hashtable.h: + +/usr/include/aarch64-linux-gnu/bits/setjmp.h: + +/usr/include/aarch64-linux-gnu/bits/types.h: + +/usr/include/aarch64-linux-gnu/bits/struct_mutex.h: + +/usr/local/Ascend/ascend-toolkit/latest/include/register/register_fmk_types.h: + +/usr/include/c++/11/bits/erase_if.h: + +/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h: diff --git a/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.ts b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.ts new file mode 100644 index 0000000..ab564b3 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for cust_tf_parsers. diff --git a/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/depend.make b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/depend.make new file mode 100644 index 0000000..e471fdc --- /dev/null +++ b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for cust_tf_parsers. +# This may be replaced when dependencies are built. diff --git a/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/flags.make b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/flags.make new file mode 100644 index 0000000..c535bf4 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# compile CXX with /usr/bin/c++ +CXX_DEFINES = -D_FORTIFY_SOURCE=2 -D_GLIBCXX_USE_CXX11_ABI=0 -Dcust_tf_parsers_EXPORTS -Dgoogle=ascend_private + +CXX_INCLUDES = -I/usr/local/Ascend/ascend-toolkit/latest/include + +CXX_FLAGS = -fPIC -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -O2 -std=c++11 -fstack-protector-strong + diff --git a/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/link.txt b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/link.txt new file mode 100644 index 0000000..d3cf003 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -fPIC -s -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -shared -Wl,-soname,libcust_tf_parsers.so -o libcust_tf_parsers.so CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o -L/usr/local/Ascend/ascend-toolkit/latest/lib64 -Wl,-rpath,/usr/local/Ascend/ascend-toolkit/latest/lib64: -lgraph diff --git a/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/progress.make b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/progress.make new file mode 100644 index 0000000..b700c2c --- /dev/null +++ b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 9 +CMAKE_PROGRESS_2 = 10 + diff --git a/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o new file mode 100644 index 0000000000000000000000000000000000000000..5ad5be28c1be93f2fd8bfad12a78050930390a13 GIT binary patch literal 10440 zcmbtZYiu0V6~4P;LK;Fa*bafTW$lEL2(s)t2{H7wer#+vj_r6I0-@4myq-8q_F-nn zi5(XbRgp>sKkQ;C6_C=xk2s}LR8i6XsG62ar4mw6p(&LLvVnh80>pDgt@NBb=j`6S zvy!^JLl@TbLsop~61}HaD{YEIi2G84uIJ01c&MX??Gb18V zdLK#=zTrG{5hY3qA)bdu<2l1TKN1q#%sO%3IU$D4mEyhwPzrHk2>Y5r9{etG8|pLQ z!>o!KD-$InB%WWI{{8$S*d77dB}2>}5Z^w(H2sIus0W`57eERqZRPU?HPGiEyx_mGv3mI<_wN7I@dw2G@l~Sq)3A7Vr6Gnt0>3_iSS%QgXF$bVlW2VCKvK3Ii`21;D%$|p5(P%o;0_}Hp;QWcXsS(5) zV9eJ-Jl0CzHiAvmzhGPk`BKea{G*sf-bLtR{;o2AgOA_iZ7B0%%ptF5Ebs;GV_qP( zm}GbH218QCgb*i=1ba$GOvW@%&-m=NB$q3-h>k z^d!vGXQ9zLg(Fm5{*gg{Xq&H8xnPsUk$BaeS=(+ zaJ@m|68UbCh__~86|n?XfD-bz!XG*|*e5k!{si`{N4*iK;DfXY9vQ68HT6%0Plb|i zzJbf4_y#;(SOGclKukM;X3ib z1%HnahPa{@4EX8*{K^1ahM=ksh5+Qp5jErvg0%{H{J69D$q=~9RFlW=$C1krxD!>A z$M46H%aFTPHNS^9`9L`@!jF6W80~8E?D}!!GRj$6En|r5ssU(ucKtXq8sd5%zh~Ev zUk;pMg&%W`$q--WYE@|nSX7b6 z@5hnJ5O~6RFmhYA4e`j zu12-^H`mN)L->v%Vor*OtCc|OmlE-;tDS$AjmuQ1TsOo`<+@ri>Z@32` zWdP^8hj_o^0sKFdcxBy7kPw^^MRT~4&k@3}h7h-eE9)NaUr09t-W;yv6_30X@LK+K z2k3#b59qI~Z)ZLA;?V#-PXypU55Ug_;C}_YmR$oG-MjBrn754`BM^Jsrjc+q|PUO>WrjR#BtfF1%(L_48CxQF6Og`ggtSsE> z95V}6K-m9}WF6Q<{`tIz9R|Y0@(i+JeiDO#vh)fqI1YYff z1*s%;kr!mRT1)(P(;P2k^0u-@c^p1G zX#A%G`2VEfs{Yp$T-EbDMQ3d@RU=YgxP+ix?moixJjZ(jlAh-$6g_)A7Ww~99hqwku3Rgt&@F=1q#iEEJ5cLjV%RC5P>R1XVx2&b;*N#Z? zgsStzm+8a*b{JKh@}2DQ)EOO1r%ih@ZI8Pq#4l@8fb?5{JS{=qE>{bU!|xNER2_F>+;4{*$IFgsIgT|200$%ZwB(Ie#tae!Bp`Ib=Oi?xF zxc67S-c+{nVtdy?oC+PpJ%aH#b$*b|heTeOH8D#$?$*cb3{=;%y2FcIVu#fv1%W)Yb&-;dI zKd}t?XUV=QkNX(g<#Ih>u+<3t%jj8>*9+uTsTmrGK^j-l7nQ#Wq;QUc;q>0!6an#%qc@V@H>F@t0l4pCYnA==t0{oAWgX|~z zkN-}x9OK8>e{BFUvd?_FeQrNP@`fhgL-KmO**?pk0y$*md||wY495sS|0D3QJp1)B z+1K;$F0#+x=SfXjp4*=U_&-VVXj3J&&)5e6{!fyFJ;aFqZ-9s8+5a11;xQ-m_&rYc znV-~@<+&XJ`C9QiM+Vpq+Q)ylSRdni$UeuJ^*&AZaeq;X^Owv0B(L&d{biEZah7Ae zK=KgAD#HI|km@x7_TTFj;$9v<1600F1AL#_IR4G>usn|+)$6uVWPvWv50U`J0neYh iJl>hX1s@%vg>S!l2?s81IC4*_CI1p7?g_0^m;W#N{2z`0 literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o.d b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o.d new file mode 100644 index 0000000..a171645 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o.d @@ -0,0 +1,184 @@ +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o: \ + /Package_Cann/test/No_standard/framework/tf_plugin/tensorflow_reduce_sum_plugin.cc \ + /usr/include/stdc-predef.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/register.h \ + /usr/include/c++/11/functional \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/os_defines.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/cpu_defines.h \ + /usr/include/c++/11/bits/stl_function.h \ + /usr/include/c++/11/backward/binders.h /usr/include/c++/11/new \ + /usr/include/c++/11/bits/exception.h /usr/include/c++/11/tuple \ + /usr/include/c++/11/utility /usr/include/c++/11/bits/stl_relops.h \ + /usr/include/c++/11/bits/stl_pair.h /usr/include/c++/11/bits/move.h \ + /usr/include/c++/11/type_traits /usr/include/c++/11/initializer_list \ + /usr/include/c++/11/array /usr/include/c++/11/bits/functexcept.h \ + /usr/include/c++/11/bits/exception_defines.h \ + /usr/include/c++/11/bits/stl_algobase.h \ + /usr/include/c++/11/bits/cpp_type_traits.h \ + /usr/include/c++/11/ext/type_traits.h \ + /usr/include/c++/11/ext/numeric_traits.h \ + /usr/include/c++/11/bits/stl_iterator_base_types.h \ + /usr/include/c++/11/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/11/bits/concept_check.h \ + /usr/include/c++/11/debug/assertions.h \ + /usr/include/c++/11/bits/stl_iterator.h \ + /usr/include/c++/11/bits/ptr_traits.h /usr/include/c++/11/debug/debug.h \ + /usr/include/c++/11/bits/predefined_ops.h \ + /usr/include/c++/11/bits/range_access.h \ + /usr/include/c++/11/bits/uses_allocator.h \ + /usr/include/c++/11/bits/invoke.h \ + /usr/include/c++/11/bits/functional_hash.h \ + /usr/include/c++/11/bits/hash_bytes.h /usr/include/c++/11/bits/refwrap.h \ + /usr/include/c++/11/bits/std_function.h /usr/include/c++/11/typeinfo \ + /usr/include/c++/11/map /usr/include/c++/11/bits/stl_tree.h \ + /usr/include/c++/11/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++allocator.h \ + /usr/include/c++/11/ext/new_allocator.h \ + /usr/include/c++/11/bits/memoryfwd.h \ + /usr/include/c++/11/ext/alloc_traits.h \ + /usr/include/c++/11/bits/alloc_traits.h \ + /usr/include/c++/11/bits/stl_construct.h \ + /usr/include/c++/11/ext/aligned_buffer.h \ + /usr/include/c++/11/bits/stl_map.h \ + /usr/include/c++/11/bits/stl_multimap.h \ + /usr/include/c++/11/bits/erase_if.h /usr/include/c++/11/memory \ + /usr/include/c++/11/bits/stl_uninitialized.h \ + /usr/include/c++/11/bits/stl_tempbuf.h \ + /usr/include/c++/11/bits/stl_raw_storage_iter.h \ + /usr/include/c++/11/bits/align.h /usr/include/c++/11/bit \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdint.h /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/11/bits/unique_ptr.h \ + /usr/include/c++/11/bits/shared_ptr.h /usr/include/c++/11/iosfwd \ + /usr/include/c++/11/bits/stringfwd.h /usr/include/c++/11/bits/postypes.h \ + /usr/include/c++/11/cwchar /usr/include/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/11/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/11/bits/shared_ptr_base.h \ + /usr/include/c++/11/bits/allocated_ptr.h \ + /usr/include/c++/11/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/11/ext/concurrence.h /usr/include/c++/11/exception \ + /usr/include/c++/11/bits/exception_ptr.h \ + /usr/include/c++/11/bits/cxxabi_init_exception.h \ + /usr/include/c++/11/bits/nested_exception.h \ + /usr/include/c++/11/bits/shared_ptr_atomic.h \ + /usr/include/c++/11/bits/atomic_base.h \ + /usr/include/c++/11/bits/atomic_lockfree_defines.h \ + /usr/include/c++/11/backward/auto_ptr.h /usr/include/c++/11/set \ + /usr/include/c++/11/bits/stl_set.h \ + /usr/include/c++/11/bits/stl_multiset.h /usr/include/c++/11/string \ + /usr/include/c++/11/bits/char_traits.h /usr/include/c++/11/cstdint \ + /usr/include/c++/11/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/11/bits/c++locale.h \ + /usr/include/c++/11/clocale /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h /usr/include/c++/11/cctype \ + /usr/include/ctype.h /usr/include/c++/11/bits/ostream_insert.h \ + /usr/include/c++/11/bits/cxxabi_forced.h \ + /usr/include/c++/11/bits/basic_string.h \ + /usr/include/c++/11/ext/string_conversions.h /usr/include/c++/11/cstdlib \ + /usr/include/stdlib.h /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h /usr/include/endian.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/select2.h /usr/include/alloca.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/11/bits/std_abs.h /usr/include/c++/11/cstdio \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/stdio2.h /usr/include/c++/11/cerrno \ + /usr/include/errno.h /usr/include/aarch64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/include/c++/11/bits/charconv.h \ + /usr/include/c++/11/bits/basic_string.tcc \ + /usr/include/c++/11/unordered_map /usr/include/c++/11/bits/hashtable.h \ + /usr/include/c++/11/bits/hashtable_policy.h \ + /usr/include/c++/11/bits/enable_special_members.h \ + /usr/include/c++/11/bits/unordered_map.h /usr/include/c++/11/vector \ + /usr/include/c++/11/bits/stl_vector.h \ + /usr/include/c++/11/bits/stl_bvector.h \ + /usr/include/c++/11/bits/vector.tcc \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/operator.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./inference_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./tensor.h \ + /usr/include/c++/11/atomic \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/././types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ascend_string.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./resource_context.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./ge_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./tensor.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/./types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_error_codes.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_fmk_types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/register/register_types.h \ + /usr/local/Ascend/ascend-toolkit/latest/include/graph/ascend_string.h diff --git a/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/progress.marks b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/progress.marks new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/framework/tf_plugin/CMakeFiles/progress.marks @@ -0,0 +1 @@ +2 diff --git a/precision_Problem/Is_standard/build_out/framework/tf_plugin/Makefile b/precision_Problem/Is_standard/build_out/framework/tf_plugin/Makefile new file mode 100644 index 0000000..7a6d8cd --- /dev/null +++ b/precision_Problem/Is_standard/build_out/framework/tf_plugin/Makefile @@ -0,0 +1,253 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /Package_Cann/test/No_standard + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /Package_Cann/test/No_standard/build_out + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target package +package: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..." + cd /Package_Cann/test/No_standard/build_out && /usr/bin/cpack --config ./CPackConfig.cmake +.PHONY : package + +# Special rule for the target package +package/fast: package +.PHONY : package/fast + +# Special rule for the target package_source +package_source: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..." + cd /Package_Cann/test/No_standard/build_out && /usr/bin/cpack --config ./CPackSourceConfig.cmake /Package_Cann/test/No_standard/build_out/CPackSourceConfig.cmake +.PHONY : package_source + +# Special rule for the target package_source +package_source/fast: package_source +.PHONY : package_source/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components +.PHONY : list_install_components/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# The main all target +all: cmake_check_build_system + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles /Package_Cann/test/No_standard/build_out/framework/tf_plugin//CMakeFiles/progress.marks + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 framework/tf_plugin/all + $(CMAKE_COMMAND) -E cmake_progress_start /Package_Cann/test/No_standard/build_out/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 framework/tf_plugin/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 framework/tf_plugin/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 framework/tf_plugin/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/rule: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/rule +.PHONY : framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/rule + +# Convenience name for target. +cust_tf_parsers: framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/rule +.PHONY : cust_tf_parsers + +# fast build rule for target. +cust_tf_parsers/fast: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build +.PHONY : cust_tf_parsers/fast + +tensorflow_reduce_sum_plugin.o: tensorflow_reduce_sum_plugin.cc.o +.PHONY : tensorflow_reduce_sum_plugin.o + +# target to build an object file +tensorflow_reduce_sum_plugin.cc.o: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.o +.PHONY : tensorflow_reduce_sum_plugin.cc.o + +tensorflow_reduce_sum_plugin.i: tensorflow_reduce_sum_plugin.cc.i +.PHONY : tensorflow_reduce_sum_plugin.i + +# target to preprocess a source file +tensorflow_reduce_sum_plugin.cc.i: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.i +.PHONY : tensorflow_reduce_sum_plugin.cc.i + +tensorflow_reduce_sum_plugin.s: tensorflow_reduce_sum_plugin.cc.s +.PHONY : tensorflow_reduce_sum_plugin.s + +# target to generate assembly for a file +tensorflow_reduce_sum_plugin.cc.s: + cd /Package_Cann/test/No_standard/build_out && $(MAKE) $(MAKESILENT) -f framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/build.make framework/tf_plugin/CMakeFiles/cust_tf_parsers.dir/tensorflow_reduce_sum_plugin.cc.s +.PHONY : tensorflow_reduce_sum_plugin.cc.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... install" + @echo "... install/local" + @echo "... install/strip" + @echo "... list_install_components" + @echo "... package" + @echo "... package_source" + @echo "... rebuild_cache" + @echo "... cust_tf_parsers" + @echo "... tensorflow_reduce_sum_plugin.o" + @echo "... tensorflow_reduce_sum_plugin.i" + @echo "... tensorflow_reduce_sum_plugin.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /Package_Cann/test/No_standard/build_out && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/precision_Problem/Is_standard/build_out/framework/tf_plugin/cmake_install.cmake b/precision_Problem/Is_standard/build_out/framework/tf_plugin/cmake_install.cmake new file mode 100644 index 0000000..655b0de --- /dev/null +++ b/precision_Problem/Is_standard/build_out/framework/tf_plugin/cmake_install.cmake @@ -0,0 +1,67 @@ +# Install script for directory: /Package_Cann/test/No_standard/framework/tf_plugin + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/Package_Cann/test/No_standard/build_out") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so") + file(RPATH_CHECK + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so" + RPATH "") + endif() + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow" TYPE SHARED_LIBRARY FILES "/Package_Cann/test/No_standard/build_out/framework/tf_plugin/libcust_tf_parsers.so") + if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so" AND + NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so") + file(RPATH_CHANGE + FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so" + OLD_RPATH "/usr/local/Ascend/ascend-toolkit/latest/lib64:" + NEW_RPATH "") + if(CMAKE_INSTALL_DO_STRIP) + execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so") + endif() + endif() +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT) +endif() + diff --git a/precision_Problem/Is_standard/build_out/framework/tf_plugin/libcust_tf_parsers.so b/precision_Problem/Is_standard/build_out/framework/tf_plugin/libcust_tf_parsers.so new file mode 100644 index 0000000000000000000000000000000000000000..5d20870e402471988c823bea01c8b1bb8b7a46a9 GIT binary patch literal 10160 zcmeHNdvH|M8UOBXcnAoQrwYh|Ob4ngyMZd=gJeSpj67lz+Dx@x?mkGiY{N9wI$EaJ!pmYAWeWv-9Ltypw36u%vg z)of(f*{sIn>e$rY>FPGtG2UGO@{wMdFR=CNq*uCXzLG zhsazT-xQ69&DuyR(+sa%$`Cz_-FMQd7W?dm73 zbTkoPYNf48f0ga<3sn3ImL;v`$fiVcLw##Yq^kDr)pceu_=Q3IWower#%O#^i|ydD zfVWm;(uq}8OG`A~7-(J7vMkO4${Hi6Yy|a8B&%xc{7C;7)Ua$pjg?GAaI>0I?8Gs& zUDc%*t%W!eXHv=eu|&v<&96v>BJuEi%O>;Ei9~EeG(A6t zzLx@t25(uoSPfAZ8N`=?Illx?CHP}x818&I_u=*v&-n(usOAo zTkcbGANZp$ZoslWj6PFXdhU~0N=slts=a8tb-pf!h6-^d8P;-sV3VCMfefLlZR(Cv_KYc#fzM` zNbEx9=5A%jI9FZpBQqR72K?yj|8WhMJqgF_*6>jbsB%WbCkY7JtKm~L{DOvGtKlP6 zJGh>_KajFq>AO%*^~!8fjfP7qSkR#1`hIVnhK~^EpiLTnm4>%yxZd8ZhU;65HVs!@ z!S?oj4Zm9R->%`Ri`deqHC)~m3-)QazRvB}aJ7ZC{d8%#p3j3Cj@?jyIi%tG`kojvX;o!#!qoo^NjyJsUN`|oyN*Qx725B=0(%CYV#$XNds z=r8TppKzJ}GthT*C)m0#Lbn@!(a*Z9ZSLIj;Dgjw%h;(pBiHjS`px%%v8)SpJM=KM zwqxA32k6e+_A}M_&>^P{9~6dnoPKOX$2RC)i?*L~QzzYMaryV*9>Ooi8Uk@C117+uVnNAE9!};T;~C3A%*nqeFbwR0UboRn z==W?>tUr_JPqQv=Jz6p5k;i6Utl04e^tZt_aIrccv~6Aewj8f-%j@P1R{g31FAouG6blcg{-0s76yJh_S9c__krl;*(7PqURZQ}|^tXD-`tsf~m)p-5e(*qWqME@3 zursE*Z*KtQ_3CkS?smM8m3@T*#u7aUit$LVf?~d*F`pL-uYyhkeHZi&&@-SbK`(+n z4tg`}Uj?lJEd|EK*j!5`*&B?hV`kVGui@`rEEIgU)Y0SLR=vRPP?!g_9M?3&UJgnX zV?BFH_PPT*T&qu>IBG9{yhep_Er*W2o^#v>ag_t-SX>xu$Hi^qXD&>Cii_>bLAi*& zvAJfYUF#9gym7TbQ@QRQ$oXo3{v6N}OuAG#wsencuTgdKgk2}D|599G=yb8pCfq8< z`t}UpJ1nrHWT(6GDc3HeZq&&W?;Sh(?pUfAU9CMMr%>OH>s-E2*pD2RRN40J#-8ze zuc_Kmx^rCRQ)72s9oRkQ>Cu%x9Ob$P)_?o!ad8G^qC&yoYt*9qb{g~o@7BOg4sVCM z3&xmzZrbmfxZO?9_U{L6tD)Oa28J>)l!2iP3}s*_149`Y%D`8Z0XZ*}^FcWel={dy zpzw13Cw%|8o&xr{oCoax?80ZIT!iPdOr7VmPcCxCbVBjd9hj!8Lp3?GlJ916R@JUH z*w-n2IS-wxc-ennuXs8CoThj=Lp=X^A;D0us;HdJHDO1~Mb02gRsH15ZKbN8oVCfG zUcuy(b1TOUwJHB{<|Su+Qzn7#*sTBIvNEr4;amk1c~ecPbTVxP$&26S5pQEW;|*q_vGBZTm~5`eN;Q!;+!{}{ zHaj$(bR_sBl)^`(%NP@~WF%&>fqH6*rO6wOvlkvGz0uII05 zW>Xlp!og`MWJa=~NDIEn*q;<_AEuQ|TCI)`d1gNx6fW%wTFucA>=Ov(gb1cmr&V#s4GBF0zq+E-;UmPteE3UdFvpnIB{v%eWHzIe6eYh`r1U zLK~ETnhJoL%4MN;`zo?lyF%`#7DfyUe-^c-O_MnP;Ad*;IjBiLDn-_A0%FJ|J|(Y zCI9=Cz0g)MR8;aO@U|lR;{VIJPZSj`j^AEn-=@9`3e6VfuQ>jXitI0pcLE9JGdjH# zxuX{#@$2boCrr8(tj6wq5mkdm+!XZaZDtR zI1oGGKg0uLQvXslU`joXMuS88@5T22goNu~oF}orso&ChU|lXcmDrBNx!>+_=vf`a Iv)BpzU$4$1T>t<8 literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/build_out/install_manifest.txt b/precision_Problem/Is_standard/build_out/install_manifest.txt new file mode 100644 index 0000000..c1f120f --- /dev/null +++ b/precision_Problem/Is_standard/build_out/install_manifest.txt @@ -0,0 +1,35 @@ +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/framework/tensorflow/libcust_tf_parsers.so +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_proto/lib/linux/aarch64/libcust_opsproto_rt2.0.so +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_proto/inc/op_proto.h +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/lib/linux/aarch64/libcust_opmaster_rt2.0.so +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/op_tiling/liboptiling.so +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/lib/libcust_opapi.so +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_api/include/aclnn_reduce_sum.h +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/config/ascend310b/aic-ascend310b-ops-info.json +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/customize_impl/dynamic/reduce_sum.py +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/config/ascend310b/reduce_sum.json +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/kernel/config/ascend310b/binary_info_config.json +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/config/ascend310b/binary_info_config.json +/Package_Cann/test/No_standard/op_kernel/../build_out/kernel/config/ascend310b/reduce_sum.json +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/framework/tensorflow/npu_supported_ops.json +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/op_impl/ai_core/tbe/customize_impl/dynamic/reduce_sum.cpp +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/./upgrade.sh +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/./install.sh +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/./help.info +/Package_Cann/test/No_standard/build_out/_CPack_Packages/Linux/External/custom_opp_ubuntu_aarch64.run/packages/vendors/customize/version.info \ No newline at end of file diff --git a/precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json b/precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json new file mode 100644 index 0000000..e506342 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json @@ -0,0 +1,93 @@ +{ + "binFileName": "ReduceSum_aab7d211a4f4f395b4f928b8c56a621d", + "binFileSuffix": ".o", + "blockDim": -1, + "coreType": "VectorCore", + "core_type": "AIV", + "kernelName": "ReduceSum_aab7d211a4f4f395b4f928b8c56a621d", + "magic": "RT_DEV_BINARY_MAGIC_ELF", + "memoryStamping": [], + "opParaSize": 48, + "parameters": [], + "sha256": "a8b6c56680c52ac8c16779bd3080aa56e93d69905a5136f88f78511144dd5f8a", + "workspace": { + "num": 1, + "size": [ + -1 + ], + "type": [ + 0 + ] + }, + "kernelList": [ + { + "kernelName": "ReduceSum_aab7d211a4f4f395b4f928b8c56a621d_0" + } + ], + "optionalInputMode": "gen_placeholder", + "compileInfo": {}, + "supportInfo": { + "implMode": "", + "int64Mode": false, + "simplifiedKeyMode": 0, + "simplifiedKey": [ + "ReduceSum/d=0,p=0/2,2/3,2/2,2", + "ReduceSum/d=1,p=0/2,2/3,2/2,2" + ], + "staticKey": "b820d3c72c6fdb74e25428934a95a506cabe6b179f17c862ac790f6c318f240f", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "int8", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "int8", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "opMode": "dynamic", + "optionalInputMode": "gen_placeholder", + "deterministic": "ignore" + } +} \ No newline at end of file diff --git a/precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o b/precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o new file mode 100644 index 0000000000000000000000000000000000000000..090d55623cf4869aa662cdbc2c38a87b57f18b85 GIT binary patch literal 4008 zcmd5BLa_A;diwE)nDiok z?6C!sCoy>E($v(Nyghf=;y&aYdt3*Z+rQWCbviYLquHl`no!IE7+yXd#F$2510PwN z@j_FE={;;em_q{0D}q>20g-6|C_Uig_TrmV2P{WXh%@QK6TuvHn#*nGx!e{Gn=+Im zPfA@$>z-eS^&X1DF#q)&mX=fdQ8e! zCM6R}?o-lMvR}y|B}bIJqU5-e(@K7#Bw&6rPCh?{MQ?^a&iZxxkU{OWK+IE{xz1k@6}Vn@pfjt8myyq{=GLe^7lIdB1&~C%5_E^O8)j<0DfCa;chui z#V8!ijxt7XQ%3JnFb9~wWD;QLGy^k)^&iCRJ+7ORELB5+Oiu;CEaj=qrO=P#z&y*| z_FfSFlJ~*xGbmg+!%{0v&@i5iA;(Gka5k)iW$@HH<6aqyLWo~Py}c5QR7(W>$0vaH zivYtMi-fNGk4^yepJg&fu!203ork&K#Xa#B=5ved_5|i*LTYr}3j+5`4H*98w}E^k z0(3+K{6}x&Lv@xt%$DhSF6NZ_6><}pLyG}2uK)NL(3s?o0ocWywDX?msmPlhx#gy0~9e&}X(l?y;QSab5AP;l7PVHcboWEGeB^4}&R1kAX1ThzrFBkwk ze=LDV3+6Mf$-SmkUJFaR#4&qPgMmpYS$hHkxC!&T6WJ0i6%64KRLY0#a(raxa|$o> z$Jsj?fmb-`59-KaZ0HBtsdtV27QIOgu!f=FI z^nF_KC_-an#(e2hm%e^eisy|%&yWbGXitqsaFUJTA~GGe`%Fy9;Lt1gQ6_9LN2Gp= z>pK_(`%Z|GeNh2+lLq}wcovLn!*D@l>~T$l>tTRNO~xG=LWzEc=mjxE9bvySN$pGK z6MuOh@F1+Qt0Is4o3x$xZ$0r@X-{bOTa#2=oS=xAW`&r2iBW1fVZe3o$`)zFI)*j6 zg6meqVsKTn7mra`E2&1k3 z2+4DvMb72p1-u4v{iy=(L~QgC_&IV-sOHA^3pkDArSE$=mCJfZe2BRIbV2`&^pP&$ z=OtFYw;)cRBybMLrZL73Q7(cgPrp&%{snzN<+S)S%FCEr6z%m`;}(>LP2f!_u`gpg zZfwI5e~^5Pyru~?uYHn>I>{YyxgJNniTLvO2z(XwrHb2! z=T;hZlH2EU@!2?mc#h(zrhi;u70T_YFv!9 zin|=tuTWSsr^3rzeaOLDMMb4+v!=q&x;QcwUgYw0M^w0Yjw9wP{6WwW^IRNuM5)Wc zbtq9-tDFj(uHJM+G2+Pds3y-6f@g`1>jBKc|01JI>QBl35(m#m#-%Rbk4y`|JZGLy z0HWdl`O0CN(*Vu}h+G+mWfw~3>d?)>zNtgQb%2I4Jg^&gb-kMGuCp2&U$m-fqOoWV z#AEU5<*`-EW2-mCtLpGqwd#wp+PYZG>e$`ZwZnQX+1;~iZG4|F734(w@dYinQC8Lz5ptKMF{{rS~3?bX{?$7|bb zJ8D+8t&CT7w#HybYtNycm-lwR+Ow~%BiWqnNp`=M>_l~M)2@BVrrvIq@Bb=fW#r|V z<;eYRd-8qe+Mkv(uaPflsfxLFB`4MTtevHIhr3dK_PKZ_HBwyYHO*8aezG1)kMG6L z=%i_<8ZZ6NY_nrkqLI!dDC~|OR(&~7xm(=$@?V>5a^9cabpWRNE`A};dU~53zwY0R NZ&u@H&wuv#e*sO$9z*~D literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json b/precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json new file mode 100644 index 0000000..999f4f8 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json @@ -0,0 +1,93 @@ +{ + "binFileName": "ReduceSum_aba912fd1d17807efc5a7debff52df92", + "binFileSuffix": ".o", + "blockDim": -1, + "coreType": "VectorCore", + "core_type": "AIV", + "kernelName": "ReduceSum_aba912fd1d17807efc5a7debff52df92", + "magic": "RT_DEV_BINARY_MAGIC_ELF", + "memoryStamping": [], + "opParaSize": 48, + "parameters": [], + "sha256": "4c18f6864ed2c98b13f4d0d0ef028655cb35953ab386a4afacea612aab6c7500", + "workspace": { + "num": 1, + "size": [ + -1 + ], + "type": [ + 0 + ] + }, + "kernelList": [ + { + "kernelName": "ReduceSum_aba912fd1d17807efc5a7debff52df92_0" + } + ], + "optionalInputMode": "gen_placeholder", + "compileInfo": {}, + "supportInfo": { + "implMode": "", + "int64Mode": false, + "simplifiedKeyMode": 0, + "simplifiedKey": [ + "ReduceSum/d=0,p=0/1,2/3,2/1,2", + "ReduceSum/d=1,p=0/1,2/3,2/1,2" + ], + "staticKey": "99fec46c7fb0c696b2b7d64cf7e55d7ea2f4477ec7431c03cb97e71ecceef43a", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "float16", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "float16", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "opMode": "dynamic", + "optionalInputMode": "gen_placeholder", + "deterministic": "ignore" + } +} \ No newline at end of file diff --git a/precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o b/precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o new file mode 100644 index 0000000000000000000000000000000000000000..86f4262d4913f82bbb071d0142af3d3782c96c5d GIT binary patch literal 4008 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 K&z}G6@&5uZp&qRO literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json b/precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json new file mode 100644 index 0000000..ab16727 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json @@ -0,0 +1,93 @@ +{ + "binFileName": "ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a", + "binFileSuffix": ".o", + "blockDim": -1, + "coreType": "VectorCore", + "core_type": "AIV", + "kernelName": "ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a", + "magic": "RT_DEV_BINARY_MAGIC_ELF", + "memoryStamping": [], + "opParaSize": 48, + "parameters": [], + "sha256": "cf9debf69c81f9b99c329ea5e1b68f91ebde2e3004e6aa2c062f78c218fdda0a", + "workspace": { + "num": 1, + "size": [ + -1 + ], + "type": [ + 0 + ] + }, + "kernelList": [ + { + "kernelName": "ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a_0" + } + ], + "optionalInputMode": "gen_placeholder", + "compileInfo": {}, + "supportInfo": { + "implMode": "", + "int64Mode": false, + "simplifiedKeyMode": 0, + "simplifiedKey": [ + "ReduceSum/d=0,p=0/0,2/3,2/0,2", + "ReduceSum/d=1,p=0/0,2/3,2/0,2" + ], + "staticKey": "80602307177ba63e857667cbab2faea65a5120e0167977a2da73ed1c8cc3b00e", + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "float32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "float32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "opMode": "dynamic", + "optionalInputMode": "gen_placeholder", + "deterministic": "ignore" + } +} \ No newline at end of file diff --git a/precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o b/precision_Problem/Is_standard/build_out/kernel/ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o new file mode 100644 index 0000000000000000000000000000000000000000..ad0758e3affa845d1fc9d1a4e3784a2b5825b52f GIT binary patch literal 4008 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 L)%fZ2pFaLyx*Q&N literal 0 HcmV?d00001 diff --git a/precision_Problem/Is_standard/build_out/kernel/config/ascend310b/binary_info_config.json b/precision_Problem/Is_standard/build_out/kernel/config/ascend310b/binary_info_config.json new file mode 100644 index 0000000..c7e0f17 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/kernel/config/ascend310b/binary_info_config.json @@ -0,0 +1,48 @@ +{ + "ReduceSum": { + "dynamicRankSupport": true, + "simplifiedKeyMode": 0, + "binaryList": [ + { + "coreType": 2, + "simplifiedKey": "ReduceSum/d=0,p=0/0,2/3,2/0,2", + "binPath": "ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o" + }, + { + "coreType": 2, + "simplifiedKey": "ReduceSum/d=1,p=0/0,2/3,2/0,2", + "binPath": "ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.o" + }, + { + "coreType": 2, + "simplifiedKey": "ReduceSum/d=0,p=0/2,2/3,2/2,2", + "binPath": "ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o" + }, + { + "coreType": 2, + "simplifiedKey": "ReduceSum/d=1,p=0/2,2/3,2/2,2", + "binPath": "ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.o" + }, + { + "coreType": 2, + "simplifiedKey": "ReduceSum/d=0,p=0/3,2/3,2/3,2", + "binPath": "ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o" + }, + { + "coreType": 2, + "simplifiedKey": "ReduceSum/d=1,p=0/3,2/3,2/3,2", + "binPath": "ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.o" + }, + { + "coreType": 2, + "simplifiedKey": "ReduceSum/d=0,p=0/1,2/3,2/1,2", + "binPath": "ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o" + }, + { + "coreType": 2, + "simplifiedKey": "ReduceSum/d=1,p=0/1,2/3,2/1,2", + "binPath": "ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.o" + } + ] + } +} \ No newline at end of file diff --git a/precision_Problem/Is_standard/build_out/kernel/config/ascend310b/reduce_sum.json b/precision_Problem/Is_standard/build_out/kernel/config/ascend310b/reduce_sum.json new file mode 100644 index 0000000..fb9b121 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/kernel/config/ascend310b/reduce_sum.json @@ -0,0 +1,252 @@ +{ + "binList": [ + { + "simplifiedKey": [ + "ReduceSum/d=0,p=0/0,2/3,2/0,2", + "ReduceSum/d=1,p=0/0,2/3,2/0,2" + ], + "staticKey": "80602307177ba63e857667cbab2faea65a5120e0167977a2da73ed1c8cc3b00e", + "int64Mode": false, + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "float32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "float32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "binInfo": { + "jsonFilePath": "ascend310b/reduce_sum/ReduceSum_f92b0ed06094ccd956a40fd4f3d5b39a.json" + } + }, + { + "simplifiedKey": [ + "ReduceSum/d=0,p=0/2,2/3,2/2,2", + "ReduceSum/d=1,p=0/2,2/3,2/2,2" + ], + "staticKey": "b820d3c72c6fdb74e25428934a95a506cabe6b179f17c862ac790f6c318f240f", + "int64Mode": false, + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "int8", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "int8", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "binInfo": { + "jsonFilePath": "ascend310b/reduce_sum/ReduceSum_aab7d211a4f4f395b4f928b8c56a621d.json" + } + }, + { + "simplifiedKey": [ + "ReduceSum/d=0,p=0/3,2/3,2/3,2", + "ReduceSum/d=1,p=0/3,2/3,2/3,2" + ], + "staticKey": "b2a3cb0846b58c37dd20590607cda1c8ed3efcd02d17798c63659432b4190830", + "int64Mode": false, + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "binInfo": { + "jsonFilePath": "ascend310b/reduce_sum/ReduceSum_f173a8c22ef4278e2efc1f7e4f04cf1f.json" + } + }, + { + "simplifiedKey": [ + "ReduceSum/d=0,p=0/1,2/3,2/1,2", + "ReduceSum/d=1,p=0/1,2/3,2/1,2" + ], + "staticKey": "99fec46c7fb0c696b2b7d64cf7e55d7ea2f4477ec7431c03cb97e71ecceef43a", + "int64Mode": false, + "inputs": [ + { + "name": "x", + "index": 0, + "dtype": "float16", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + }, + { + "name": "axis", + "index": 1, + "dtype": "int32", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "outputs": [ + { + "name": "y", + "index": 0, + "dtype": "float16", + "format": "ND", + "paramType": "required", + "shape": [ + -2 + ] + } + ], + "attrs": [ + { + "name": "keep_dims", + "dtype": "bool", + "value": false + }, + { + "name": "ignore_nan", + "dtype": "bool", + "value": false + }, + { + "name": "dtype", + "dtype": "str", + "value": "" + } + ], + "binInfo": { + "jsonFilePath": "ascend310b/reduce_sum/ReduceSum_aba912fd1d17807efc5a7debff52df92.json" + } + } + ] +} \ No newline at end of file diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/CMakeDirectoryInformation.cmake b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..84340a0 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/Package_Cann/test/No_standard") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/Package_Cann/test/No_standard/build_out") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/DependInfo.cmake b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/DependInfo.cmake new file mode 100644 index 0000000..fb60b21 --- /dev/null +++ b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/DependInfo.cmake @@ -0,0 +1,20 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/Package_Cann/test/No_standard/build_out/autogen/op_proto.cc" "op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o" "gcc" "op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o.d" + "/Package_Cann/test/No_standard/op_host/reduce_sum.cpp" "op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o" "gcc" "op_host/CMakeFiles/cust_op_proto.dir/reduce_sum.cpp.o.d" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o b/precision_Problem/Is_standard/build_out/op_host/CMakeFiles/cust_op_proto.dir/__/autogen/op_proto.cc.o new file mode 100644 index 0000000000000000000000000000000000000000..a0df07eb92b0bc7316c508805f32a797cbe0eea5 GIT binary patch literal 65680 zcmeIb4}4VBwJ&~VCSU}FC_$)t%LJ&RwKNF1%GR}yQP)iue74liW&$iE&Oij10}g)`F+